diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 3905b2673..7c60ca843 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -16,7 +16,5 @@ jobs: - name: Run linter uses: golangci/golangci-lint-action@v3 with: - # Optional: version of golangci-lint to use in form of v1.2 or v1.2.3 or `latest` to use the latest version - version: v1.54.2 - only-new-issues: true + version: v1.56.2 diff --git a/.github/workflows/publish-packages.yml b/.github/workflows/publish-packages.yml index 8b5f534bf..f64dfcb8c 100644 --- a/.github/workflows/publish-packages.yml +++ b/.github/workflows/publish-packages.yml @@ -12,10 +12,10 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up Ruby 2.6 + - name: Set up Ruby 3.3 uses: ruby/setup-ruby@v1 with: - ruby-version: 2.6 + ruby-version: 3.3 - name: Install fpm run: gem install fpm diff --git a/.github/workflows/swagger-validate.yml b/.github/workflows/swagger-validate.yml index a39d7daba..e4cb03f0c 100644 --- a/.github/workflows/swagger-validate.yml +++ b/.github/workflows/swagger-validate.yml @@ -22,7 +22,7 @@ jobs: - uses: actions/setup-node@v3 with: - node-version: '16.16.0' + node-version: '20.11.0' - run: npm install --location=global @openapitools/openapi-generator-cli - run: make spec - run: make validate-spec diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 03de5fa18..6bfc03317 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,6 +27,7 @@ jobs: cache-dependency-path: go.sum - name: Run tests - run: make test + run: make ci-test + - name: Upload coverage to Codecov run: bash <(curl -s https://codecov.io/bash) diff --git a/.golangci.yml b/.golangci.yml index cff12d45a..d47c96dd7 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -28,19 +28,30 @@ linters: - asciicheck - bidichk - bodyclose + - decorder - dogsled - errcheck + - errorlint + - exportloopref - goconst + - gocheckcompilerdirectives - gocyclo + - goconst + - godot - gofmt + - gofumpt + - goheader - goimports - gomnd - gosimple - govet + - grouper - ineffassign + - loggercheck - makezero - misspell - nilerr + - noctx - prealloc - promlinter - staticcheck @@ -55,8 +66,12 @@ issues: - path: _test\.go linters: - gomnd + - errcheck + - goconst run: timeout: 5m + skip-files: + - notifier/registrator.go skip-dirs: - vendor diff --git a/Dockerfile.api b/Dockerfile.api index 1a1e228ae..4d3226d3d 100644 --- a/Dockerfile.api +++ b/Dockerfile.api @@ -1,4 +1,4 @@ -FROM golang:1.19 as builder +FROM golang:1.21 as builder COPY go.mod go.sum /go/src/github.com/moira-alert/moira/ WORKDIR /go/src/github.com/moira-alert/moira diff --git a/Dockerfile.checker b/Dockerfile.checker index d6628c867..db0f03494 100644 --- a/Dockerfile.checker +++ b/Dockerfile.checker @@ -1,4 +1,4 @@ -FROM golang:1.19 as builder +FROM golang:1.21 as builder COPY go.mod go.sum /go/src/github.com/moira-alert/moira/ WORKDIR /go/src/github.com/moira-alert/moira diff --git a/Dockerfile.cli b/Dockerfile.cli index 44bb49c5c..c256f5b7a 100644 --- a/Dockerfile.cli +++ b/Dockerfile.cli @@ -1,4 +1,4 @@ -FROM golang:1.19 as builder +FROM golang:1.21 as builder COPY go.mod go.sum /go/src/github.com/moira-alert/moira/ WORKDIR /go/src/github.com/moira-alert/moira diff --git a/Dockerfile.filter b/Dockerfile.filter index 3b61a26d8..6aa7dc9fb 100644 --- a/Dockerfile.filter +++ b/Dockerfile.filter @@ -1,4 +1,4 @@ -FROM golang:1.19 as builder +FROM golang:1.21 as builder COPY go.mod go.sum /go/src/github.com/moira-alert/moira/ WORKDIR /go/src/github.com/moira-alert/moira diff --git a/Dockerfile.notifier b/Dockerfile.notifier index 3c6dd5063..b936ba814 100644 --- a/Dockerfile.notifier +++ b/Dockerfile.notifier @@ -1,4 +1,4 @@ -FROM golang:1.19 as builder +FROM golang:1.21 as builder COPY go.mod go.sum /go/src/github.com/moira-alert/moira/ WORKDIR /go/src/github.com/moira-alert/moira diff --git a/Makefile b/Makefile index 97df83ae3..a8a46d544 100644 --- a/Makefile +++ b/Makefile @@ -57,6 +57,10 @@ validate-spec: test: echo 'mode: atomic' > coverage.txt && go list ./... | xargs -n1 -I{} sh -c 'go test -race -v -bench=. -covermode=atomic -coverprofile=coverage.tmp {} && tail -n +2 coverage.tmp >> coverage.txt' && rm coverage.tmp +.PHONY: ci-test +ci-test: + echo 'mode: atomic' > coverage.txt && go list ./... | xargs -n1 -I{} sh -c 'go test -race -v -covermode=atomic -coverprofile=coverage.tmp {} && tail -n +2 coverage.tmp >> coverage.txt' && rm coverage.tmp + .PHONY: build build: for service in "filter" $(SERVICES) ; do \ diff --git a/README.md b/README.md index 063be0f6e..1c298c460 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Moira 2.0 ![Build Status](https://github.com/moira-alert/moira/actions/workflows/test.yml/badge.svg?branch=master) [![codecov](https://codecov.io/gh/moira-alert/moira/branch/master/graph/badge.svg)](https://codecov.io/gh/moira-alert/moira) [![Documentation Status](https://readthedocs.org/projects/moira/badge/?version=latest)](http://moira.readthedocs.io/en/latest/?badge=latest) [![Telegram](https://img.shields.io/badge/telegram-join%20chat-3796cd.svg)](https://t.me/moira_alert) [![Go Report Card](https://goreportcard.com/badge/github.com/moira-alert/moira)](https://goreportcard.com/report/github.com/moira-alert/moira) -Moira is a real-time alerting tool, based on [Graphite](https://graphite.readthedocs.io) data. +Moira is a real-time alerting tool, based on [Graphite](https://graphite.readthedocs.io) or [Prometheus](https://prometheus.io/)/[VictoriaMetrics](https://victoriametrics.com/) metrics. ## Installation @@ -41,6 +41,7 @@ Code in this repository is the backend part of Moira monitoring application. * [doc](https://github.com/moira-alert/doc) is the documentation (hosted on [Read the Docs](https://moira.readthedocs.io)). * [moira-trigger-role](https://github.com/moira-alert/moira-trigger-role) is the Ansible role you can use to manage triggers. * [python-moira-client](https://github.com/moira-alert/python-moira-client) is the Python API client. +* [go-client](https://github.com/moira-alert/client-go) is the GO API client. ## Contact us diff --git a/api/authorization.go b/api/authorization.go new file mode 100644 index 000000000..234bece71 --- /dev/null +++ b/api/authorization.go @@ -0,0 +1,42 @@ +package api + +// Authorization contains authorization configuration. +type Authorization struct { + AdminList map[string]struct{} + Enabled bool + AllowedContactTypes map[string]struct{} +} + +// IsEnabled returns true if auth is enabled and false otherwise. +func (auth *Authorization) IsEnabled() bool { + return auth.Enabled +} + +// IsAdmin checks whether given user is considered an administrator. +func (auth *Authorization) IsAdmin(login string) bool { + if !auth.IsEnabled() { + return false + } + _, ok := auth.AdminList[login] + return ok +} + +// The Role is an enumeration that represents the scope of user's permissions. +type Role string + +var ( + RoleUndefined Role = "" + RoleUser Role = "user" + RoleAdmin Role = "admin" +) + +// Returns the role of the given user. +func (auth *Authorization) GetRole(login string) Role { + if !auth.IsEnabled() { + return RoleUndefined + } + if auth.IsAdmin(login) { + return RoleAdmin + } + return RoleUser +} diff --git a/api/config.go b/api/config.go index a65340214..7750b68d5 100644 --- a/api/config.go +++ b/api/config.go @@ -1,36 +1,62 @@ package api -import "time" +import ( + "net/http" + "time" + + "github.com/moira-alert/moira" +) + +// WebContact is container for web ui contact validation. +type WebContact struct { + ContactType string `json:"type" example:"webhook"` + ContactLabel string `json:"label" example:"Webhook"` + LogoURI string `json:"logo_uri,omitempty" example:"discord-logo.svg"` + ValidationRegex string `json:"validation,omitempty" example:"^(http|https):\\/\\/.*(moira.ru)(:[0-9]{2,5})?\\/"` + Placeholder string `json:"placeholder,omitempty" example:"https://moira.ru/webhooks"` + Help string `json:"help,omitempty" example:"### Domains whitelist:\n - moira.ru\n"` +} + +// FeatureFlags is struct to manage feature flags. +type FeatureFlags struct { + IsPlottingDefaultOn bool `json:"isPlottingDefaultOn" example:"false"` + IsPlottingAvailable bool `json:"isPlottingAvailable" example:"true"` + IsSubscriptionToAllTagsAvailable bool `json:"isSubscriptionToAllTagsAvailable" example:"false"` + IsReadonlyEnabled bool `json:"isReadonlyEnabled" example:"false"` +} + +// Sentry - config for sentry settings. +type Sentry struct { + DSN string `json:"dsn,omitempty" example:"https://secret@sentry.host"` + Platform string `json:"platform,omitempty" example:"dev"` +} // Config for api configuration variables. type Config struct { - EnableCORS bool - Listen string - GraphiteLocalMetricTTL time.Duration - GraphiteRemoteMetricTTL time.Duration - PrometheusRemoteMetricTTL time.Duration + EnableCORS bool + Listen string + MetricsTTL map[moira.ClusterKey]time.Duration + Flags FeatureFlags + Authorization Authorization } // WebConfig is container for web ui configuration parameters. type WebConfig struct { - SupportEmail string `json:"supportEmail,omitempty"` - RemoteAllowed bool `json:"remoteAllowed"` - Contacts []WebContact `json:"contacts"` - FeatureFlags FeatureFlags `json:"featureFlags"` + SupportEmail string `json:"supportEmail,omitempty" example:"opensource@skbkontur.com"` + RemoteAllowed bool `json:"remoteAllowed" example:"true"` + MetricSourceClusters []MetricSourceCluster `json:"metric_source_clusters"` + Contacts []WebContact `json:"contacts"` + FeatureFlags FeatureFlags `json:"featureFlags"` + Sentry Sentry `json:"sentry"` } -// WebContact is container for web ui contact validation. -type WebContact struct { - ContactType string `json:"type"` - ContactLabel string `json:"label"` - ValidationRegex string `json:"validation,omitempty"` - Placeholder string `json:"placeholder,omitempty"` - Help string `json:"help,omitempty"` +// MetricSourceCluster contains data about supported metric source cluster. +type MetricSourceCluster struct { + TriggerSource moira.TriggerSource `json:"trigger_source" example:"graphite_remote"` + ClusterId moira.ClusterId `json:"cluster_id" example:"default"` + ClusterName string `json:"cluster_name" example:"Graphite Remote Prod"` } -// FeatureFlags is struct to manage feature flags. -type FeatureFlags struct { - IsPlottingDefaultOn bool `json:"isPlottingDefaultOn"` - IsPlottingAvailable bool `json:"isPlottingAvailable"` - IsSubscriptionToAllTagsAvailable bool `json:"isSubscriptionToAllTagsAvailable"` +func (WebConfig) Render(w http.ResponseWriter, r *http.Request) error { + return nil } diff --git a/api/controller/contact.go b/api/controller/contact.go index 1011a3518..d829343b9 100644 --- a/api/controller/contact.go +++ b/api/controller/contact.go @@ -2,6 +2,7 @@ package controller import ( "bytes" + "errors" "fmt" "time" @@ -14,7 +15,10 @@ import ( "github.com/moira-alert/moira/database" ) -// GetAllContacts gets all moira contacts +// ErrNotAllowedContactType means that this type of contact is not allowed to be created. +var ErrNotAllowedContactType = errors.New("cannot create contact with not allowed contact type") + +// GetAllContacts gets all moira contacts. func GetAllContacts(database moira.Database) (*dto.ContactList, *api.ErrorResponse) { contacts, err := database.GetAllContacts() if err != nil { @@ -26,7 +30,7 @@ func GetAllContacts(database moira.Database) (*dto.ContactList, *api.ErrorRespon return &contactsList, nil } -// GetContactById gets notification contact by its id string +// GetContactById gets notification contact by its id string. func GetContactById(database moira.Database, contactID string) (*dto.Contact, *api.ErrorResponse) { contact, err := database.GetContact(contactID) if err != nil { @@ -35,6 +39,7 @@ func GetContactById(database moira.Database, contactID string) (*dto.Contact, *a contactToReturn := &dto.Contact{ ID: contact.ID, + Name: contact.Name, User: contact.User, TeamID: contact.Team, Type: contact.Type, @@ -44,14 +49,31 @@ func GetContactById(database moira.Database, contactID string) (*dto.Contact, *a return contactToReturn, nil } -// CreateContact creates new notification contact for current user -func CreateContact(dataBase moira.Database, contact *dto.Contact, userLogin, teamID string) *api.ErrorResponse { +// CreateContact creates new notification contact for current user. +func CreateContact( + dataBase moira.Database, + auth *api.Authorization, + contact *dto.Contact, + userLogin, + teamID string, +) *api.ErrorResponse { if userLogin != "" && teamID != "" { return api.ErrorInternalServer(fmt.Errorf("CreateContact: cannot create contact when both userLogin and teamID specified")) } + + if !isAllowedToUseContactType(auth, userLogin, contact.Type) { + return api.ErrorInvalidRequest(ErrNotAllowedContactType) + } + + // Only admins are allowed to create contacts for other users + if !auth.IsAdmin(userLogin) || contact.User == "" { + contact.User = userLogin + } + contactData := moira.ContactData{ ID: contact.ID, - User: userLogin, + Name: contact.Name, + User: contact.User, Team: teamID, Type: contact.Type, Value: contact.Value, @@ -75,16 +97,26 @@ func CreateContact(dataBase moira.Database, contact *dto.Contact, userLogin, tea if err := dataBase.SaveContact(&contactData); err != nil { return api.ErrorInternalServer(err) } - contact.User = userLogin + contact.User = contactData.User contact.ID = contactData.ID contact.TeamID = contactData.Team return nil } -// UpdateContact updates notification contact for current user -func UpdateContact(dataBase moira.Database, contactDTO dto.Contact, contactData moira.ContactData) (dto.Contact, *api.ErrorResponse) { +// UpdateContact updates notification contact for current user. +func UpdateContact( + dataBase moira.Database, + auth *api.Authorization, + contactDTO dto.Contact, + contactData moira.ContactData, +) (dto.Contact, *api.ErrorResponse) { + if !isAllowedToUseContactType(auth, contactDTO.User, contactDTO.Type) { + return contactDTO, api.ErrorInvalidRequest(ErrNotAllowedContactType) + } + contactData.Type = contactDTO.Type contactData.Value = contactDTO.Value + contactData.Name = contactDTO.Name if err := dataBase.SaveContact(&contactData); err != nil { return contactDTO, api.ErrorInternalServer(err) } @@ -94,9 +126,9 @@ func UpdateContact(dataBase moira.Database, contactDTO dto.Contact, contactData return contactDTO, nil } -// RemoveContact deletes notification contact for current user and remove contactID from all subscriptions +// RemoveContact deletes notification contact for current user and remove contactID from all subscriptions. func RemoveContact(database moira.Database, contactID string, userLogin string, teamID string) *api.ErrorResponse { //nolint:gocyclo - subscriptionIDs := []string{} + subscriptionIDs := make([]string, 0) if userLogin != "" { userSubscriptionIDs, err := database.GetUserSubscriptionIDs(userLogin) if err != nil { @@ -159,7 +191,7 @@ func RemoveContact(database moira.Database, contactID string, userLogin string, return nil } -// SendTestContactNotification push test notification to verify the correct contact settings +// SendTestContactNotification push test notification to verify the correct contact settings. func SendTestContactNotification(dataBase moira.Database, contactID string) *api.ErrorResponse { eventData := &moira.NotificationEvent{ ContactID: contactID, @@ -175,15 +207,23 @@ func SendTestContactNotification(dataBase moira.Database, contactID string) *api return nil } -// CheckUserPermissionsForContact checks contact for existence and permissions for given user -func CheckUserPermissionsForContact(dataBase moira.Database, contactID string, userLogin string) (moira.ContactData, *api.ErrorResponse) { +// CheckUserPermissionsForContact checks contact for existence and permissions for given user. +func CheckUserPermissionsForContact( + dataBase moira.Database, + contactID string, + userLogin string, + auth *api.Authorization, +) (moira.ContactData, *api.ErrorResponse) { contactData, err := dataBase.GetContact(contactID) if err != nil { - if err == database.ErrNil { + if errors.Is(err, database.ErrNil) { return moira.ContactData{}, api.ErrorNotFound(fmt.Sprintf("contact with ID '%s' does not exists", contactID)) } return moira.ContactData{}, api.ErrorInternalServer(err) } + if auth.IsAdmin(userLogin) { + return contactData, nil + } if contactData.Team != "" { teamContainsUser, err := dataBase.IsTeamContainUser(contactData.Team, userLogin) if err != nil { @@ -201,7 +241,7 @@ func CheckUserPermissionsForContact(dataBase moira.Database, contactID string, u func isContactExists(dataBase moira.Database, contactID string) (bool, error) { _, err := dataBase.GetContact(contactID) - if err == database.ErrNil { + if errors.Is(err, database.ErrNil) { return false, nil } if err != nil { @@ -209,3 +249,11 @@ func isContactExists(dataBase moira.Database, contactID string) (bool, error) { } return true, nil } + +func isAllowedToUseContactType(auth *api.Authorization, userLogin string, contactType string) bool { + isAuthEnabled := auth.IsEnabled() + isAdmin := auth.IsAdmin(userLogin) + _, isAllowedContactType := auth.AllowedContactTypes[contactType] + + return isAllowedContactType || isAdmin || !isAuthEnabled +} diff --git a/api/controller/contact_events.go b/api/controller/contact_events.go index e204e6e25..a6e5f3174 100644 --- a/api/controller/contact_events.go +++ b/api/controller/contact_events.go @@ -10,12 +10,11 @@ import ( func GetContactEventsByIdWithLimit(database moira.Database, contactID string, from int64, to int64) (*dto.ContactEventItemList, *api.ErrorResponse) { events, err := database.GetNotificationsByContactIdWithLimit(contactID, from, to) - if err != nil { return nil, api.ErrorInternalServer(fmt.Errorf("GetContactEventsByIdWithLimit: can't get notifications for contact with id %v", contactID)) } - var eventsList = dto.ContactEventItemList{ + eventsList := dto.ContactEventItemList{ List: make([]dto.ContactEventItem, 0), } for _, i := range events { diff --git a/api/controller/contact_events_test.go b/api/controller/contact_events_test.go index cf57ec8ad..9c594dae1 100644 --- a/api/controller/contact_events_test.go +++ b/api/controller/contact_events_test.go @@ -8,9 +8,9 @@ import ( "github.com/moira-alert/moira/api/dto" - "github.com/golang/mock/gomock" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func TestGetContactEventsByIdWithLimit(t *testing.T) { diff --git a/api/controller/contact_test.go b/api/controller/contact_test.go index ec749ebac..961deba9f 100644 --- a/api/controller/contact_test.go +++ b/api/controller/contact_test.go @@ -8,13 +8,13 @@ import ( "testing" "github.com/gofrs/uuid" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" "github.com/moira-alert/moira/api" "github.com/moira-alert/moira/api/dto" "github.com/moira-alert/moira/database" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func TestGetAllContacts(t *testing.T) { @@ -67,6 +67,7 @@ func TestGetContactById(t *testing.T) { Convey("Get contact by id should be success", t, func() { contact := moira.ContactData{ ID: uuid.Must(uuid.NewV4()).String(), + Name: "awesome_name", Type: "slack", User: "awesome_moira_user", Value: "awesome_moira_user@gmail.com", @@ -79,6 +80,7 @@ func TestGetContactById(t *testing.T) { ShouldResemble, &dto.Contact{ ID: contact.ID, + Name: contact.Name, Type: contact.Type, User: contact.User, Value: contact.Value, @@ -109,17 +111,30 @@ func TestCreateContact(t *testing.T) { mockCtrl := gomock.NewController(t) dataBase := mock_moira_alert.NewMockDatabase(mockCtrl) defer mockCtrl.Finish() - const userLogin = "user" - const teamID = "team" + + const ( + userLogin = "user" + teamID = "team" + contactType = "mail" + notAllowedContactType = "mattermost" + contactValue = "some@mail.com" + ) + + auth := &api.Authorization{ + Enabled: true, + AllowedContactTypes: map[string]struct{}{ + contactType: {}, + }, + } Convey("Create for user", t, func() { Convey("Success", func() { contact := &dto.Contact{ - Value: "some@mail.com", - Type: "mail", + Value: contactValue, + Type: contactType, } dataBase.EXPECT().SaveContact(gomock.Any()).Return(nil) - err := CreateContact(dataBase, contact, userLogin, "") + err := CreateContact(dataBase, auth, contact, userLogin, "") So(err, ShouldBeNil) So(contact.User, ShouldResemble, userLogin) }) @@ -127,8 +142,8 @@ func TestCreateContact(t *testing.T) { Convey("Success with id", func() { contact := dto.Contact{ ID: uuid.Must(uuid.NewV4()).String(), - Value: "some@mail.com", - Type: "mail", + Value: contactValue, + Type: contactType, } expectedContact := moira.ContactData{ ID: contact.ID, @@ -138,7 +153,7 @@ func TestCreateContact(t *testing.T) { } dataBase.EXPECT().GetContact(contact.ID).Return(moira.ContactData{}, database.ErrNil) dataBase.EXPECT().SaveContact(&expectedContact).Return(nil) - err := CreateContact(dataBase, &contact, userLogin, "") + err := CreateContact(dataBase, auth, &contact, userLogin, "") So(err, ShouldBeNil) So(contact.User, ShouldResemble, userLogin) So(contact.ID, ShouldResemble, contact.ID) @@ -147,34 +162,71 @@ func TestCreateContact(t *testing.T) { Convey("Contact exists by id", func() { contact := &dto.Contact{ ID: uuid.Must(uuid.NewV4()).String(), - Value: "some@mail.com", - Type: "mail", + Value: contactValue, + Type: contactType, } dataBase.EXPECT().GetContact(contact.ID).Return(moira.ContactData{}, nil) - err := CreateContact(dataBase, contact, userLogin, "") + err := CreateContact(dataBase, auth, contact, userLogin, "") So(err, ShouldResemble, api.ErrorInvalidRequest(fmt.Errorf("contact with this ID already exists"))) }) Convey("Error get contact", func() { contact := &dto.Contact{ ID: uuid.Must(uuid.NewV4()).String(), - Value: "some@mail.com", - Type: "mail", + Value: contactValue, + Type: contactType, } err := fmt.Errorf("oooops! Can not write contact") dataBase.EXPECT().GetContact(contact.ID).Return(moira.ContactData{}, err) - expected := CreateContact(dataBase, contact, userLogin, "") + expected := CreateContact(dataBase, auth, contact, userLogin, "") So(expected, ShouldResemble, api.ErrorInternalServer(err)) }) + Convey("Error create now allowed contact", func() { + contact := &dto.Contact{ + ID: uuid.Must(uuid.NewV4()).String(), + Value: contactValue, + Type: notAllowedContactType, + } + expectedErr := api.ErrorInvalidRequest(ErrNotAllowedContactType) + err := CreateContact(dataBase, auth, contact, userLogin, "") + So(err, ShouldResemble, expectedErr) + }) + + Convey("Successfully create not allowed contact with disabled auth", func() { + auth.Enabled = false + defer func() { + auth.Enabled = true + }() + + contact := &dto.Contact{ + ID: uuid.Must(uuid.NewV4()).String(), + Value: contactValue, + Type: notAllowedContactType, + } + + expectedContact := moira.ContactData{ + ID: contact.ID, + Value: contact.Value, + Type: contact.Type, + User: userLogin, + } + + dataBase.EXPECT().GetContact(contact.ID).Return(moira.ContactData{}, database.ErrNil) + dataBase.EXPECT().SaveContact(&expectedContact).Return(nil) + + err := CreateContact(dataBase, auth, contact, userLogin, "") + So(err, ShouldBeNil) + }) + Convey("Error save contact", func() { contact := &dto.Contact{ - Value: "some@mail.com", - Type: "mail", + Value: contactValue, + Type: contactType, } err := fmt.Errorf("oooops! Can not write contact") dataBase.EXPECT().SaveContact(gomock.Any()).Return(err) - expected := CreateContact(dataBase, contact, userLogin, "") + expected := CreateContact(dataBase, auth, contact, userLogin, "") So(expected, ShouldResemble, &api.ErrorResponse{ ErrorText: err.Error(), HTTPStatusCode: http.StatusInternalServerError, @@ -187,11 +239,11 @@ func TestCreateContact(t *testing.T) { Convey("Create for team", t, func() { Convey("Success", func() { contact := &dto.Contact{ - Value: "some@mail.com", - Type: "mail", + Value: contactValue, + Type: contactType, } dataBase.EXPECT().SaveContact(gomock.Any()).Return(nil) - err := CreateContact(dataBase, contact, "", teamID) + err := CreateContact(dataBase, auth, contact, "", teamID) So(err, ShouldBeNil) So(contact.TeamID, ShouldResemble, teamID) }) @@ -199,8 +251,8 @@ func TestCreateContact(t *testing.T) { Convey("Success with id", func() { contact := dto.Contact{ ID: uuid.Must(uuid.NewV4()).String(), - Value: "some@mail.com", - Type: "mail", + Value: contactValue, + Type: contactType, } expectedContact := moira.ContactData{ ID: contact.ID, @@ -210,43 +262,102 @@ func TestCreateContact(t *testing.T) { } dataBase.EXPECT().GetContact(contact.ID).Return(moira.ContactData{}, database.ErrNil) dataBase.EXPECT().SaveContact(&expectedContact).Return(nil) - err := CreateContact(dataBase, &contact, "", teamID) + err := CreateContact(dataBase, auth, &contact, "", teamID) So(err, ShouldBeNil) So(contact.TeamID, ShouldResemble, teamID) So(contact.ID, ShouldResemble, contact.ID) }) + Convey("Success with custom name", func() { + contact := dto.Contact{ + ID: uuid.Must(uuid.NewV4()).String(), + Value: contactValue, + Type: contactType, + Name: "some-name", + } + expectedContact := moira.ContactData{ + ID: contact.ID, + Value: contact.Value, + Type: contact.Type, + Name: contact.Name, + Team: teamID, + } + dataBase.EXPECT().GetContact(contact.ID).Return(moira.ContactData{}, database.ErrNil) + dataBase.EXPECT().SaveContact(&expectedContact).Return(nil) + err := CreateContact(dataBase, auth, &contact, "", teamID) + So(err, ShouldBeNil) + So(contact.TeamID, ShouldResemble, teamID) + So(contact.Name, ShouldResemble, expectedContact.Name) + }) + Convey("Contact exists by id", func() { contact := &dto.Contact{ ID: uuid.Must(uuid.NewV4()).String(), - Value: "some@mail.com", - Type: "mail", + Value: contactValue, + Type: contactType, } dataBase.EXPECT().GetContact(contact.ID).Return(moira.ContactData{}, nil) - err := CreateContact(dataBase, contact, "", teamID) + err := CreateContact(dataBase, auth, contact, "", teamID) So(err, ShouldResemble, api.ErrorInvalidRequest(fmt.Errorf("contact with this ID already exists"))) }) Convey("Error get contact", func() { contact := &dto.Contact{ ID: uuid.Must(uuid.NewV4()).String(), - Value: "some@mail.com", - Type: "mail", + Value: contactValue, + Type: contactType, } err := fmt.Errorf("oooops! Can not write contact") dataBase.EXPECT().GetContact(contact.ID).Return(moira.ContactData{}, err) - expected := CreateContact(dataBase, contact, "", teamID) + expected := CreateContact(dataBase, auth, contact, "", teamID) So(expected, ShouldResemble, api.ErrorInternalServer(err)) }) + Convey("Error create not allowed contact", func() { + contact := &dto.Contact{ + ID: uuid.Must(uuid.NewV4()).String(), + Value: contactValue, + Type: notAllowedContactType, + } + expectedErr := api.ErrorInvalidRequest(ErrNotAllowedContactType) + err := CreateContact(dataBase, auth, contact, "", teamID) + So(err, ShouldResemble, expectedErr) + }) + + Convey("Successfully create not allowed contact with disabled auth", func() { + auth.Enabled = false + defer func() { + auth.Enabled = true + }() + + contact := &dto.Contact{ + ID: uuid.Must(uuid.NewV4()).String(), + Value: contactValue, + Type: notAllowedContactType, + } + + expectedContact := moira.ContactData{ + ID: contact.ID, + Value: contact.Value, + Type: contact.Type, + Team: teamID, + } + + dataBase.EXPECT().GetContact(contact.ID).Return(moira.ContactData{}, database.ErrNil) + dataBase.EXPECT().SaveContact(&expectedContact).Return(nil) + + err := CreateContact(dataBase, auth, contact, "", teamID) + So(err, ShouldBeNil) + }) + Convey("Error save contact", func() { contact := &dto.Contact{ - Value: "some@mail.com", - Type: "mail", + Value: contactValue, + Type: contactType, } err := fmt.Errorf("oooops! Can not write contact") dataBase.EXPECT().SaveContact(gomock.Any()).Return(err) - expected := CreateContact(dataBase, contact, "", teamID) + expected := CreateContact(dataBase, auth, contact, "", teamID) So(expected, ShouldResemble, &api.ErrorResponse{ ErrorText: err.Error(), HTTPStatusCode: http.StatusInternalServerError, @@ -255,47 +366,190 @@ func TestCreateContact(t *testing.T) { }) }) }) + Convey("Error on create with both: userLogin and teamID specified", t, func() { contact := &dto.Contact{ - Value: "some@mail.com", - Type: "mail", + Value: contactValue, + Type: contactType, } - err := CreateContact(dataBase, contact, userLogin, teamID) + err := CreateContact(dataBase, auth, contact, userLogin, teamID) So(err, ShouldResemble, api.ErrorInternalServer(fmt.Errorf("CreateContact: cannot create contact when both userLogin and teamID specified"))) }) } +func TestAdminsCreatesContact(t *testing.T) { + mockCtrl := gomock.NewController(t) + dataBase := mock_moira_alert.NewMockDatabase(mockCtrl) + defer mockCtrl.Finish() + + const ( + userLogin = "user" + adminLogin = "admin" + contactType = "mail" + notAllowedContactType = "mattermost" + contactValue = "some@mail.com" + ) + + auth := &api.Authorization{ + Enabled: true, + AdminList: map[string]struct{}{adminLogin: {}}, + AllowedContactTypes: map[string]struct{}{ + contactType: {}, + }, + } + + Convey("Create for user", t, func() { + Convey("The same user", func() { + contact := &dto.Contact{ + Value: contactValue, + Type: contactType, + User: userLogin, + } + dataBase.EXPECT().SaveContact(gomock.Any()).Return(nil) + err := CreateContact(dataBase, auth, contact, userLogin, "") + So(err, ShouldBeNil) + So(contact.User, ShouldResemble, userLogin) + }) + + Convey("The same user by admin", func() { + contact := &dto.Contact{ + Value: contactValue, + Type: contactType, + User: adminLogin, + } + dataBase.EXPECT().SaveContact(gomock.Any()).Return(nil) + err := CreateContact(dataBase, auth, contact, adminLogin, "") + So(err, ShouldBeNil) + So(contact.User, ShouldResemble, adminLogin) + }) + + Convey("Non admin can not create contact for other user", func() { + contact := &dto.Contact{ + Value: contactValue, + Type: contactType, + User: adminLogin, + } + dataBase.EXPECT().SaveContact(gomock.Any()).Return(nil) + err := CreateContact(dataBase, auth, contact, userLogin, "") + So(err, ShouldBeNil) + So(contact.User, ShouldResemble, userLogin) + }) + + Convey("Admin can create contact for other user", func() { + contact := &dto.Contact{ + Value: contactValue, + Type: contactType, + User: userLogin, + } + dataBase.EXPECT().SaveContact(gomock.Any()).Return(nil) + err := CreateContact(dataBase, auth, contact, adminLogin, "") + So(err, ShouldBeNil) + So(contact.User, ShouldResemble, userLogin) + }) + + Convey("Admin can create not allowed contact", func() { + contact := &dto.Contact{ + Value: contactValue, + Type: notAllowedContactType, + User: userLogin, + } + dataBase.EXPECT().SaveContact(gomock.Any()).Return(nil) + err := CreateContact(dataBase, auth, contact, adminLogin, "") + So(err, ShouldBeNil) + So(contact.User, ShouldResemble, userLogin) + }) + }) +} + func TestUpdateContact(t *testing.T) { mockCtrl := gomock.NewController(t) dataBase := mock_moira_alert.NewMockDatabase(mockCtrl) defer mockCtrl.Finish() - const userLogin = "user" - const teamID = "team" + + const ( + userLogin = "user" + teamID = "team" + contactType = "mail" + contactValue = "some@mail.com" + notAllowedContactType = "mattermost" + ) + + auth := &api.Authorization{ + Enabled: true, + AllowedContactTypes: map[string]struct{}{ + contactType: {}, + }, + } Convey("User update", t, func() { Convey("Success", func() { contactDTO := dto.Contact{ - Value: "some@mail.com", - Type: "mail", + Value: contactValue, + Name: "some-name", + Type: contactType, + } + contactID := uuid.Must(uuid.NewV4()).String() + contact := moira.ContactData{ + Value: contactDTO.Value, + Type: contactDTO.Type, + Name: contactDTO.Name, + ID: contactID, + User: userLogin, + } + dataBase.EXPECT().SaveContact(&contact).Return(nil) + expectedContact, err := UpdateContact(dataBase, auth, contactDTO, moira.ContactData{ID: contactID, User: userLogin}) + So(err, ShouldBeNil) + So(expectedContact.User, ShouldResemble, userLogin) + So(expectedContact.ID, ShouldResemble, contactID) + So(expectedContact.Name, ShouldResemble, contactDTO.Name) + }) + + Convey("Error update not allowed contact", func() { + contactDTO := dto.Contact{ + Value: contactValue, + Type: notAllowedContactType, + } + expectedErr := api.ErrorInvalidRequest(ErrNotAllowedContactType) + contactID := uuid.Must(uuid.NewV4()).String() + expectedContact, err := UpdateContact(dataBase, auth, contactDTO, moira.ContactData{ID: contactID, User: userLogin}) + So(err, ShouldResemble, expectedErr) + So(expectedContact.User, ShouldResemble, contactDTO.User) + So(expectedContact.ID, ShouldResemble, contactDTO.ID) + So(expectedContact.Name, ShouldResemble, contactDTO.Name) + }) + + Convey("Successfully update not allowed contact with disabled auth", func() { + auth.Enabled = false + defer func() { + auth.Enabled = true + }() + + contactDTO := dto.Contact{ + Value: contactValue, + Name: "some-name", + Type: notAllowedContactType, } contactID := uuid.Must(uuid.NewV4()).String() contact := moira.ContactData{ Value: contactDTO.Value, Type: contactDTO.Type, + Name: contactDTO.Name, ID: contactID, User: userLogin, } + dataBase.EXPECT().SaveContact(&contact).Return(nil) - expectedContact, err := UpdateContact(dataBase, contactDTO, moira.ContactData{ID: contactID, User: userLogin}) + expectedContact, err := UpdateContact(dataBase, auth, contactDTO, moira.ContactData{ID: contactID, User: userLogin}) So(err, ShouldBeNil) So(expectedContact.User, ShouldResemble, userLogin) So(expectedContact.ID, ShouldResemble, contactID) + So(expectedContact.Name, ShouldResemble, contactDTO.Name) }) Convey("Error save", func() { contactDTO := dto.Contact{ - Value: "some@mail.com", - Type: "mail", + Value: contactValue, + Type: contactType, } contactID := uuid.Must(uuid.NewV4()).String() contact := moira.ContactData{ @@ -306,17 +560,18 @@ func TestUpdateContact(t *testing.T) { } err := fmt.Errorf("oooops") dataBase.EXPECT().SaveContact(&contact).Return(err) - expectedContact, actual := UpdateContact(dataBase, contactDTO, contact) + expectedContact, actual := UpdateContact(dataBase, auth, contactDTO, contact) So(actual, ShouldResemble, api.ErrorInternalServer(err)) So(expectedContact.User, ShouldResemble, contactDTO.User) So(expectedContact.ID, ShouldResemble, contactDTO.ID) }) }) + Convey("Team update", t, func() { Convey("Success", func() { contactDTO := dto.Contact{ - Value: "some@mail.com", - Type: "mail", + Value: contactValue, + Type: contactType, } contactID := uuid.Must(uuid.NewV4()).String() contact := moira.ContactData{ @@ -326,7 +581,7 @@ func TestUpdateContact(t *testing.T) { Team: teamID, } dataBase.EXPECT().SaveContact(&contact).Return(nil) - expectedContact, err := UpdateContact(dataBase, contactDTO, moira.ContactData{ID: contactID, Team: teamID}) + expectedContact, err := UpdateContact(dataBase, auth, contactDTO, moira.ContactData{ID: contactID, Team: teamID}) So(err, ShouldBeNil) So(expectedContact.TeamID, ShouldResemble, teamID) So(expectedContact.ID, ShouldResemble, contactID) @@ -334,8 +589,8 @@ func TestUpdateContact(t *testing.T) { Convey("Error save", func() { contactDTO := dto.Contact{ - Value: "some@mail.com", - Type: "mail", + Value: contactValue, + Type: contactType, } contactID := uuid.Must(uuid.NewV4()).String() contact := moira.ContactData{ @@ -346,7 +601,7 @@ func TestUpdateContact(t *testing.T) { } err := fmt.Errorf("oooops") dataBase.EXPECT().SaveContact(&contact).Return(err) - expectedContact, actual := UpdateContact(dataBase, contactDTO, contact) + expectedContact, actual := UpdateContact(dataBase, auth, contactDTO, contact) So(actual, ShouldResemble, api.ErrorInternalServer(err)) So(expectedContact.TeamID, ShouldResemble, contactDTO.TeamID) So(expectedContact.ID, ShouldResemble, contactDTO.ID) @@ -354,6 +609,59 @@ func TestUpdateContact(t *testing.T) { }) } +func TestIsAllowedContactType(t *testing.T) { + const ( + admin = "admin" + user = "user" + allowedContactType = "slack" + notAllowedContactType = "mattermost" + ) + + auth := &api.Authorization{ + Enabled: true, + AdminList: map[string]struct{}{ + admin: {}, + }, + AllowedContactTypes: map[string]struct{}{ + allowedContactType: {}, + }, + } + + Convey("Test isAllowedContactType", t, func() { + Convey("Test with user and allowed contact type", func() { + isAllowed := isAllowedToUseContactType(auth, user, allowedContactType) + So(isAllowed, ShouldBeTrue) + }) + + Convey("Test with user and not allowed contact type", func() { + isAllowed := isAllowedToUseContactType(auth, user, notAllowedContactType) + So(isAllowed, ShouldBeFalse) + }) + + Convey("Test with admin and allowed contact type", func() { + isAllowed := isAllowedToUseContactType(auth, admin, allowedContactType) + So(isAllowed, ShouldBeTrue) + }) + + Convey("Test with admin and not allowed contact type", func() { + isAllowed := isAllowedToUseContactType(auth, admin, notAllowedContactType) + So(isAllowed, ShouldBeTrue) + }) + + Convey("Test with disabled auth and not allowed contact type", func() { + auth.Enabled = false + isAllowed := isAllowedToUseContactType(auth, admin, notAllowedContactType) + So(isAllowed, ShouldBeTrue) + }) + + Convey("Test with disabled auth and allowed contact type", func() { + auth.Enabled = false + isAllowed := isAllowedToUseContactType(auth, admin, allowedContactType) + So(isAllowed, ShouldBeTrue) + }) + }) +} + func TestRemoveContact(t *testing.T) { const userLogin = "user" const teamID = "team" @@ -497,17 +805,18 @@ func TestCheckUserPermissionsForContact(t *testing.T) { userLogin := uuid.Must(uuid.NewV4()).String() teamID := uuid.Must(uuid.NewV4()).String() id := uuid.Must(uuid.NewV4()).String() + auth := &api.Authorization{} Convey("No contact", t, func() { dataBase.EXPECT().GetContact(id).Return(moira.ContactData{}, database.ErrNil) - expectedContact, expected := CheckUserPermissionsForContact(dataBase, id, userLogin) + expectedContact, expected := CheckUserPermissionsForContact(dataBase, id, userLogin, auth) So(expected, ShouldResemble, api.ErrorNotFound(fmt.Sprintf("contact with ID '%s' does not exists", id))) So(expectedContact, ShouldResemble, moira.ContactData{}) }) Convey("Different user", t, func() { dataBase.EXPECT().GetContact(id).Return(moira.ContactData{User: "diffUser"}, nil) - expectedContact, expected := CheckUserPermissionsForContact(dataBase, id, userLogin) + expectedContact, expected := CheckUserPermissionsForContact(dataBase, id, userLogin, auth) So(expected, ShouldResemble, api.ErrorForbidden("you are not permitted")) So(expectedContact, ShouldResemble, moira.ContactData{}) }) @@ -515,7 +824,7 @@ func TestCheckUserPermissionsForContact(t *testing.T) { Convey("Has contact", t, func() { actualContact := moira.ContactData{ID: id, User: userLogin} dataBase.EXPECT().GetContact(id).Return(actualContact, nil) - expectedContact, expected := CheckUserPermissionsForContact(dataBase, id, userLogin) + expectedContact, expected := CheckUserPermissionsForContact(dataBase, id, userLogin, auth) So(expected, ShouldBeNil) So(expectedContact, ShouldResemble, actualContact) }) @@ -523,7 +832,7 @@ func TestCheckUserPermissionsForContact(t *testing.T) { Convey("Error get contact", t, func() { err := fmt.Errorf("oooops! Can not read contact") dataBase.EXPECT().GetContact(id).Return(moira.ContactData{User: userLogin}, err) - expectedContact, expected := CheckUserPermissionsForContact(dataBase, id, userLogin) + expectedContact, expected := CheckUserPermissionsForContact(dataBase, id, userLogin, auth) So(expected, ShouldResemble, api.ErrorInternalServer(err)) So(expectedContact, ShouldResemble, moira.ContactData{}) }) @@ -533,14 +842,14 @@ func TestCheckUserPermissionsForContact(t *testing.T) { expectedSub := moira.ContactData{ID: id, Team: teamID} dataBase.EXPECT().GetContact(id).Return(expectedSub, nil) dataBase.EXPECT().IsTeamContainUser(teamID, userLogin).Return(true, nil) - actual, err := CheckUserPermissionsForContact(dataBase, id, userLogin) + actual, err := CheckUserPermissionsForContact(dataBase, id, userLogin, auth) So(err, ShouldBeNil) So(actual, ShouldResemble, expectedSub) }) Convey("User is not in team", func() { dataBase.EXPECT().GetContact(id).Return(moira.ContactData{ID: id, Team: teamID}, nil) dataBase.EXPECT().IsTeamContainUser(teamID, userLogin).Return(false, nil) - actual, err := CheckUserPermissionsForContact(dataBase, id, userLogin) + actual, err := CheckUserPermissionsForContact(dataBase, id, userLogin, auth) So(err, ShouldResemble, api.ErrorForbidden("you are not permitted")) So(actual, ShouldResemble, moira.ContactData{}) }) @@ -548,13 +857,48 @@ func TestCheckUserPermissionsForContact(t *testing.T) { errReturned := errors.New("test error") dataBase.EXPECT().GetContact(id).Return(moira.ContactData{ID: id, Team: teamID}, nil) dataBase.EXPECT().IsTeamContainUser(teamID, userLogin).Return(false, errReturned) - actual, err := CheckUserPermissionsForContact(dataBase, id, userLogin) + actual, err := CheckUserPermissionsForContact(dataBase, id, userLogin, auth) So(err, ShouldResemble, api.ErrorInternalServer(errReturned)) So(actual, ShouldResemble, moira.ContactData{}) }) }) } +func TestCheckAdminPermissionsForContact(t *testing.T) { + mockCtrl := gomock.NewController(t) + defer mockCtrl.Finish() + + dataBase := mock_moira_alert.NewMockDatabase(mockCtrl) + teamID := uuid.Must(uuid.NewV4()).String() + id := uuid.Must(uuid.NewV4()).String() + adminLogin := "admin_login" + auth := &api.Authorization{Enabled: true, AdminList: map[string]struct{}{adminLogin: {}}} + + Convey("Same user", t, func() { + expectedContact := moira.ContactData{ID: id, User: adminLogin} + dataBase.EXPECT().GetContact(id).Return(expectedContact, nil) + actualContact, errorResponse := CheckUserPermissionsForContact(dataBase, id, adminLogin, auth) + So(errorResponse, ShouldBeNil) + So(actualContact, ShouldResemble, expectedContact) + }) + + Convey("Different user", t, func() { + expectedContact := moira.ContactData{ID: id, User: "diffUser"} + dataBase.EXPECT().GetContact(id).Return(expectedContact, nil) + actualContact, errorResponse := CheckUserPermissionsForContact(dataBase, id, adminLogin, auth) + So(errorResponse, ShouldBeNil) + So(actualContact, ShouldResemble, expectedContact) + }) + + Convey("Team contact", t, func() { + expectedContact := moira.ContactData{ID: id, Team: teamID} + dataBase.EXPECT().GetContact(id).Return(expectedContact, nil) + actualContact, errorResponse := CheckUserPermissionsForContact(dataBase, id, adminLogin, auth) + So(errorResponse, ShouldBeNil) + So(actualContact, ShouldResemble, expectedContact) + }) +} + func Test_isContactExists(t *testing.T) { mockCtrl := gomock.NewController(t) defer mockCtrl.Finish() diff --git a/api/controller/events.go b/api/controller/events.go index e292c6046..218c8ecfe 100644 --- a/api/controller/events.go +++ b/api/controller/events.go @@ -6,7 +6,7 @@ import ( "github.com/moira-alert/moira/api/dto" ) -// GetTriggerEvents gets trigger event from current page and all trigger event count +// GetTriggerEvents gets trigger event from current page and all trigger event count. func GetTriggerEvents(database moira.Database, triggerID string, page int64, size int64) (*dto.EventsList, *api.ErrorResponse) { events, err := database.GetNotificationEvents(triggerID, page*size, size-1) if err != nil { @@ -28,7 +28,7 @@ func GetTriggerEvents(database moira.Database, triggerID string, page int64, siz return eventsList, nil } -// DeleteAllEvents deletes all notification events +// DeleteAllEvents deletes all notification events. func DeleteAllEvents(database moira.Database) *api.ErrorResponse { if err := database.RemoveAllNotificationEvents(); err != nil { return api.ErrorInternalServer(err) diff --git a/api/controller/events_test.go b/api/controller/events_test.go index 22debd5c9..5cf3e3f34 100644 --- a/api/controller/events_test.go +++ b/api/controller/events_test.go @@ -5,12 +5,12 @@ import ( "testing" "github.com/gofrs/uuid" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" "github.com/moira-alert/moira/api" "github.com/moira-alert/moira/api/dto" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func TestGetEvents(t *testing.T) { diff --git a/api/controller/health.go b/api/controller/health.go index 909f429d8..0452ea649 100644 --- a/api/controller/health.go +++ b/api/controller/health.go @@ -6,7 +6,7 @@ import ( "github.com/moira-alert/moira/api/dto" ) -// GetNotifierState return current notifier state +// GetNotifierState return current notifier state. func GetNotifierState(database moira.Database) (*dto.NotifierState, *api.ErrorResponse) { state, err := database.GetNotifierState() if err != nil { @@ -21,7 +21,7 @@ func GetNotifierState(database moira.Database) (*dto.NotifierState, *api.ErrorRe return ¬ifierState, nil } -// UpdateNotifierState update current notifier state +// UpdateNotifierState update current notifier state. func UpdateNotifierState(database moira.Database, state *dto.NotifierState) *api.ErrorResponse { err := database.SetNotifierState(state.State) if err != nil { diff --git a/api/controller/health_test.go b/api/controller/health_test.go index 1caa5f044..82274b9d8 100644 --- a/api/controller/health_test.go +++ b/api/controller/health_test.go @@ -3,11 +3,11 @@ package controller import ( "testing" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" "github.com/moira-alert/moira/api/dto" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func TestGetNotifierState(t *testing.T) { diff --git a/api/controller/notification.go b/api/controller/notification.go index 436ee0ac8..2e75fb6e3 100644 --- a/api/controller/notification.go +++ b/api/controller/notification.go @@ -6,7 +6,7 @@ import ( "github.com/moira-alert/moira/api/dto" ) -// GetNotifications gets all notifications from current page, if end==-1 && start==0 gets all notifications +// GetNotifications gets all notifications from current page, if end==-1 && start==0 gets all notifications. func GetNotifications(database moira.Database, start int64, end int64) (*dto.NotificationsList, *api.ErrorResponse) { notifications, total, err := database.GetNotifications(start, end) if err != nil { @@ -19,7 +19,7 @@ func GetNotifications(database moira.Database, start int64, end int64) (*dto.Not return ¬ificationsList, nil } -// DeleteNotification removes all notifications by notification key +// DeleteNotification removes all notifications by notification key. func DeleteNotification(database moira.Database, notificationKey string) (*dto.NotificationDeleteResponse, *api.ErrorResponse) { result, err := database.RemoveNotification(notificationKey) if err != nil { @@ -28,7 +28,7 @@ func DeleteNotification(database moira.Database, notificationKey string) (*dto.N return &dto.NotificationDeleteResponse{Result: result}, nil } -// DeleteAllNotifications removes all notifications +// DeleteAllNotifications removes all notifications. func DeleteAllNotifications(database moira.Database) *api.ErrorResponse { if err := database.RemoveAllNotifications(); err != nil { return api.ErrorInternalServer(err) diff --git a/api/controller/notification_test.go b/api/controller/notification_test.go index 5e74181cd..9f20b0561 100644 --- a/api/controller/notification_test.go +++ b/api/controller/notification_test.go @@ -4,12 +4,12 @@ import ( "fmt" "testing" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" "github.com/moira-alert/moira/api" "github.com/moira-alert/moira/api/dto" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func TestGetNotifications(t *testing.T) { diff --git a/api/controller/pattern.go b/api/controller/pattern.go index c6b86dc4e..22742624b 100644 --- a/api/controller/pattern.go +++ b/api/controller/pattern.go @@ -6,7 +6,7 @@ import ( "github.com/moira-alert/moira/api/dto" ) -// GetAllPatterns get all patterns and triggers and metrics info corresponding to this pattern +// GetAllPatterns get all patterns and triggers and metrics info corresponding to this pattern. func GetAllPatterns(database moira.Database, logger moira.Logger) (*dto.PatternList, *api.ErrorResponse) { patterns, err := database.GetPatterns() if err != nil { @@ -64,7 +64,7 @@ func GetAllPatterns(database moira.Database, logger moira.Logger) (*dto.PatternL return &pattersList, nil } -// DeletePattern deletes trigger pattern +// DeletePattern deletes trigger pattern. func DeletePattern(database moira.Database, pattern string) *api.ErrorResponse { if err := database.RemovePattern(pattern); err != nil { return api.ErrorInternalServer(err) diff --git a/api/controller/pattern_test.go b/api/controller/pattern_test.go index f923504aa..bea1c81bd 100644 --- a/api/controller/pattern_test.go +++ b/api/controller/pattern_test.go @@ -5,13 +5,13 @@ import ( "testing" "github.com/gofrs/uuid" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" "github.com/moira-alert/moira/api" "github.com/moira-alert/moira/api/dto" logging "github.com/moira-alert/moira/logging/zerolog_adapter" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func TestDeletePattern(t *testing.T) { diff --git a/api/controller/subscription.go b/api/controller/subscription.go index 4444a7b43..be6754307 100644 --- a/api/controller/subscription.go +++ b/api/controller/subscription.go @@ -1,6 +1,7 @@ package controller import ( + "errors" "fmt" "time" @@ -13,7 +14,7 @@ import ( "github.com/moira-alert/moira/database" ) -// GetUserSubscriptions get all user subscriptions +// GetUserSubscriptions get all user subscriptions. func GetUserSubscriptions(database moira.Database, userLogin string) (*dto.SubscriptionList, *api.ErrorResponse) { subscriptionIDs, err := database.GetUserSubscriptionIDs(userLogin) if err != nil { @@ -34,8 +35,8 @@ func GetUserSubscriptions(database moira.Database, userLogin string) (*dto.Subsc return subscriptionsList, nil } -// CreateSubscription create or update subscription -func CreateSubscription(dataBase moira.Database, userLogin, teamID string, subscription *dto.Subscription) *api.ErrorResponse { +// CreateSubscription create or update subscription. +func CreateSubscription(dataBase moira.Database, auth *api.Authorization, userLogin, teamID string, subscription *dto.Subscription) *api.ErrorResponse { if userLogin != "" && teamID != "" { return api.ErrorInternalServer(fmt.Errorf("CreateSubscription: cannot create subscription when both userLogin and teamID specified")) } @@ -55,7 +56,10 @@ func CreateSubscription(dataBase moira.Database, userLogin, teamID string, subsc } } - subscription.User = userLogin + // Only admins are allowed to create subscriptions for other users + if !auth.IsAdmin(userLogin) || subscription.User == "" { + subscription.User = userLogin + } subscription.TeamID = teamID data := moira.SubscriptionData(*subscription) if err := dataBase.SaveSubscription(&data); err != nil { @@ -64,7 +68,17 @@ func CreateSubscription(dataBase moira.Database, userLogin, teamID string, subsc return nil } -// UpdateSubscription updates existing subscription +// GetSubscription returns subscription by it's id. +func GetSubscription(dataBase moira.Database, subscriptionID string) (*dto.Subscription, *api.ErrorResponse) { + subscription, err := dataBase.GetSubscription(subscriptionID) + if err != nil { + return nil, api.ErrorInternalServer(err) + } + dto := dto.Subscription(subscription) + return &dto, nil +} + +// UpdateSubscription updates existing subscription. func UpdateSubscription(dataBase moira.Database, subscriptionID string, userLogin string, subscription *dto.Subscription) *api.ErrorResponse { subscription.ID = subscriptionID if subscription.TeamID == "" { @@ -77,7 +91,7 @@ func UpdateSubscription(dataBase moira.Database, subscriptionID string, userLogi return nil } -// RemoveSubscription deletes subscription +// RemoveSubscription deletes subscription. func RemoveSubscription(database moira.Database, subscriptionID string) *api.ErrorResponse { if err := database.RemoveSubscription(subscriptionID); err != nil { return api.ErrorInternalServer(err) @@ -85,7 +99,7 @@ func RemoveSubscription(database moira.Database, subscriptionID string) *api.Err return nil } -// SendTestNotification push test notification to verify the correct notification settings +// SendTestNotification push test notification to verify the correct notification settings. func SendTestNotification(database moira.Database, subscriptionID string) *api.ErrorResponse { eventData := &moira.NotificationEvent{ SubscriptionID: &subscriptionID, @@ -103,15 +117,23 @@ func SendTestNotification(database moira.Database, subscriptionID string) *api.E return nil } -// CheckUserPermissionsForSubscription checks subscription for existence and permissions for given user -func CheckUserPermissionsForSubscription(dataBase moira.Database, subscriptionID string, userLogin string) (moira.SubscriptionData, *api.ErrorResponse) { +// CheckUserPermissionsForSubscription checks subscription for existence and permissions for given user. +func CheckUserPermissionsForSubscription( + dataBase moira.Database, + subscriptionID string, + userLogin string, + auth *api.Authorization, +) (moira.SubscriptionData, *api.ErrorResponse) { subscription, err := dataBase.GetSubscription(subscriptionID) if err != nil { - if err == database.ErrNil { + if errors.Is(err, database.ErrNil) { return moira.SubscriptionData{}, api.ErrorNotFound(fmt.Sprintf("subscription with ID '%s' does not exists", subscriptionID)) } return moira.SubscriptionData{}, api.ErrorInternalServer(err) } + if auth.IsAdmin(userLogin) { + return subscription, nil + } if subscription.TeamID != "" { teamContainsUser, err := dataBase.IsTeamContainUser(subscription.TeamID, userLogin) if err != nil { @@ -129,7 +151,7 @@ func CheckUserPermissionsForSubscription(dataBase moira.Database, subscriptionID func isSubscriptionExists(dataBase moira.Database, subscriptionID string) (bool, error) { _, err := dataBase.GetSubscription(subscriptionID) - if err == database.ErrNil { + if errors.Is(err, database.ErrNil) { return false, nil } if err != nil { diff --git a/api/controller/subscription_test.go b/api/controller/subscription_test.go index f56e8b519..faeb44406 100644 --- a/api/controller/subscription_test.go +++ b/api/controller/subscription_test.go @@ -6,13 +6,13 @@ import ( "testing" "github.com/gofrs/uuid" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" "github.com/moira-alert/moira/api" "github.com/moira-alert/moira/api/dto" "github.com/moira-alert/moira/database" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func TestGetUserSubscriptions(t *testing.T) { @@ -176,12 +176,13 @@ func TestCreateSubscription(t *testing.T) { dataBase := mock_moira_alert.NewMockDatabase(mockCtrl) const login = "user" const teamID = "testTeam" + auth := &api.Authorization{Enabled: false} Convey("Create for user", t, func() { Convey("Success create", func() { subscription := dto.Subscription{ID: ""} dataBase.EXPECT().SaveSubscription(gomock.Any()).Return(nil) - err := CreateSubscription(dataBase, login, "", &subscription) + err := CreateSubscription(dataBase, auth, login, "", &subscription) So(err, ShouldBeNil) }) @@ -191,7 +192,7 @@ func TestCreateSubscription(t *testing.T) { } dataBase.EXPECT().GetSubscription(sub.ID).Return(moira.SubscriptionData{}, database.ErrNil) dataBase.EXPECT().SaveSubscription(gomock.Any()).Return(nil) - err := CreateSubscription(dataBase, login, "", sub) + err := CreateSubscription(dataBase, auth, login, "", sub) So(err, ShouldBeNil) So(sub.User, ShouldResemble, login) So(sub.ID, ShouldResemble, sub.ID) @@ -202,7 +203,7 @@ func TestCreateSubscription(t *testing.T) { ID: uuid.Must(uuid.NewV4()).String(), } dataBase.EXPECT().GetSubscription(subscription.ID).Return(moira.SubscriptionData{}, nil) - err := CreateSubscription(dataBase, login, "", subscription) + err := CreateSubscription(dataBase, auth, login, "", subscription) So(err, ShouldResemble, api.ErrorInvalidRequest(fmt.Errorf("subscription with this ID already exists"))) }) @@ -212,7 +213,7 @@ func TestCreateSubscription(t *testing.T) { } err := fmt.Errorf("oooops! Can not write contact") dataBase.EXPECT().GetSubscription(subscription.ID).Return(moira.SubscriptionData{}, err) - expected := CreateSubscription(dataBase, login, "", subscription) + expected := CreateSubscription(dataBase, auth, login, "", subscription) So(expected, ShouldResemble, api.ErrorInternalServer(err)) }) @@ -220,7 +221,7 @@ func TestCreateSubscription(t *testing.T) { subscription := dto.Subscription{ID: ""} expected := fmt.Errorf("oooops! Can not create subscription") dataBase.EXPECT().SaveSubscription(gomock.Any()).Return(expected) - err := CreateSubscription(dataBase, login, "", &subscription) + err := CreateSubscription(dataBase, auth, login, "", &subscription) So(err, ShouldResemble, api.ErrorInternalServer(expected)) }) }) @@ -228,7 +229,7 @@ func TestCreateSubscription(t *testing.T) { Convey("Success create", func() { subscription := dto.Subscription{ID: ""} dataBase.EXPECT().SaveSubscription(gomock.Any()).Return(nil) - err := CreateSubscription(dataBase, "", teamID, &subscription) + err := CreateSubscription(dataBase, auth, "", teamID, &subscription) So(err, ShouldBeNil) }) @@ -238,7 +239,7 @@ func TestCreateSubscription(t *testing.T) { } dataBase.EXPECT().GetSubscription(sub.ID).Return(moira.SubscriptionData{}, database.ErrNil) dataBase.EXPECT().SaveSubscription(gomock.Any()).Return(nil) - err := CreateSubscription(dataBase, "", teamID, sub) + err := CreateSubscription(dataBase, auth, "", teamID, sub) So(err, ShouldBeNil) So(sub.TeamID, ShouldResemble, teamID) So(sub.ID, ShouldResemble, sub.ID) @@ -249,7 +250,7 @@ func TestCreateSubscription(t *testing.T) { ID: uuid.Must(uuid.NewV4()).String(), } dataBase.EXPECT().GetSubscription(subscription.ID).Return(moira.SubscriptionData{}, nil) - err := CreateSubscription(dataBase, "", teamID, subscription) + err := CreateSubscription(dataBase, auth, "", teamID, subscription) So(err, ShouldResemble, api.ErrorInvalidRequest(fmt.Errorf("subscription with this ID already exists"))) }) @@ -259,7 +260,7 @@ func TestCreateSubscription(t *testing.T) { } err := fmt.Errorf("oooops! Can not write contact") dataBase.EXPECT().GetSubscription(subscription.ID).Return(moira.SubscriptionData{}, err) - expected := CreateSubscription(dataBase, "", teamID, subscription) + expected := CreateSubscription(dataBase, auth, "", teamID, subscription) So(expected, ShouldResemble, api.ErrorInternalServer(err)) }) @@ -267,17 +268,71 @@ func TestCreateSubscription(t *testing.T) { subscription := dto.Subscription{ID: ""} expected := fmt.Errorf("oooops! Can not create subscription") dataBase.EXPECT().SaveSubscription(gomock.Any()).Return(expected) - err := CreateSubscription(dataBase, "", teamID, &subscription) + err := CreateSubscription(dataBase, auth, "", teamID, &subscription) So(err, ShouldResemble, api.ErrorInternalServer(expected)) }) }) Convey("Error on create with both: userLogin and teamID specified", t, func() { subscription := &dto.Subscription{} - err := CreateSubscription(dataBase, login, teamID, subscription) + err := CreateSubscription(dataBase, auth, login, teamID, subscription) So(err, ShouldResemble, api.ErrorInternalServer(fmt.Errorf("CreateSubscription: cannot create subscription when both userLogin and teamID specified"))) }) } +func TestAdminsCreatesSubscription(t *testing.T) { + mockCtrl := gomock.NewController(t) + defer mockCtrl.Finish() + dataBase := mock_moira_alert.NewMockDatabase(mockCtrl) + const userLogin = "user" + const adminLogin = "admin" + auth := &api.Authorization{ + Enabled: true, + AdminList: map[string]struct{}{adminLogin: {}}, + } + + Convey("Create for user", t, func() { + Convey("For same user", func() { + subscription := dto.Subscription{ + User: userLogin, + } + dataBase.EXPECT().SaveSubscription(gomock.Any()).Return(nil) + err := CreateSubscription(dataBase, auth, userLogin, "", &subscription) + So(err, ShouldBeNil) + So(subscription.User, ShouldEqual, userLogin) + }) + + Convey("For same admin", func() { + subscription := dto.Subscription{ + User: adminLogin, + } + dataBase.EXPECT().SaveSubscription(gomock.Any()).Return(nil) + err := CreateSubscription(dataBase, auth, adminLogin, "", &subscription) + So(err, ShouldBeNil) + So(subscription.User, ShouldEqual, adminLogin) + }) + + Convey("User can not create subscription for other user", func() { + subscription := dto.Subscription{ + User: adminLogin, + } + dataBase.EXPECT().SaveSubscription(gomock.Any()).Return(nil) + err := CreateSubscription(dataBase, auth, userLogin, "", &subscription) + So(err, ShouldBeNil) + So(subscription.User, ShouldEqual, userLogin) + }) + + Convey("Admin can create subscription for other user", func() { + subscription := dto.Subscription{ + User: userLogin, + } + dataBase.EXPECT().SaveSubscription(gomock.Any()).Return(nil) + err := CreateSubscription(dataBase, auth, adminLogin, "", &subscription) + So(err, ShouldBeNil) + So(subscription.User, ShouldEqual, userLogin) + }) + }) +} + func TestCheckUserPermissionsForSubscription(t *testing.T) { mockCtrl := gomock.NewController(t) defer mockCtrl.Finish() @@ -285,10 +340,11 @@ func TestCheckUserPermissionsForSubscription(t *testing.T) { userLogin := uuid.Must(uuid.NewV4()).String() teamID := uuid.Must(uuid.NewV4()).String() id := uuid.Must(uuid.NewV4()).String() + auth := &api.Authorization{} Convey("No subscription", t, func() { dataBase.EXPECT().GetSubscription(id).Return(moira.SubscriptionData{}, database.ErrNil) - expectedSub, expected := CheckUserPermissionsForSubscription(dataBase, id, userLogin) + expectedSub, expected := CheckUserPermissionsForSubscription(dataBase, id, userLogin, auth) So(expected, ShouldResemble, api.ErrorNotFound(fmt.Sprintf("subscription with ID '%s' does not exists", id))) So(expectedSub, ShouldResemble, moira.SubscriptionData{}) }) @@ -296,7 +352,7 @@ func TestCheckUserPermissionsForSubscription(t *testing.T) { Convey("Different user", t, func() { actualSub := moira.SubscriptionData{User: "diffUser"} dataBase.EXPECT().GetSubscription(id).Return(actualSub, nil) - expectedSub, expected := CheckUserPermissionsForSubscription(dataBase, id, userLogin) + expectedSub, expected := CheckUserPermissionsForSubscription(dataBase, id, userLogin, auth) So(expected, ShouldResemble, api.ErrorForbidden("you are not permitted")) So(expectedSub, ShouldResemble, moira.SubscriptionData{}) }) @@ -304,7 +360,7 @@ func TestCheckUserPermissionsForSubscription(t *testing.T) { Convey("Has subscription", t, func() { actualSub := moira.SubscriptionData{ID: id, User: userLogin} dataBase.EXPECT().GetSubscription(id).Return(actualSub, nil) - expectedSub, expected := CheckUserPermissionsForSubscription(dataBase, id, userLogin) + expectedSub, expected := CheckUserPermissionsForSubscription(dataBase, id, userLogin, auth) So(expected, ShouldBeNil) So(expectedSub, ShouldResemble, actualSub) }) @@ -312,7 +368,7 @@ func TestCheckUserPermissionsForSubscription(t *testing.T) { Convey("Error get contact", t, func() { err := fmt.Errorf("oooops! Can not read contact") dataBase.EXPECT().GetSubscription(id).Return(moira.SubscriptionData{}, err) - expectedSub, expected := CheckUserPermissionsForSubscription(dataBase, id, userLogin) + expectedSub, expected := CheckUserPermissionsForSubscription(dataBase, id, userLogin, auth) So(expected, ShouldResemble, api.ErrorInternalServer(err)) So(expectedSub, ShouldResemble, moira.SubscriptionData{}) }) @@ -322,14 +378,14 @@ func TestCheckUserPermissionsForSubscription(t *testing.T) { expectedSub := moira.SubscriptionData{ID: id, TeamID: teamID} dataBase.EXPECT().GetSubscription(id).Return(expectedSub, nil) dataBase.EXPECT().IsTeamContainUser(teamID, userLogin).Return(true, nil) - actual, err := CheckUserPermissionsForSubscription(dataBase, id, userLogin) + actual, err := CheckUserPermissionsForSubscription(dataBase, id, userLogin, auth) So(err, ShouldBeNil) So(actual, ShouldResemble, expectedSub) }) Convey("User is not in team", func() { dataBase.EXPECT().GetSubscription(id).Return(moira.SubscriptionData{ID: id, TeamID: teamID}, nil) dataBase.EXPECT().IsTeamContainUser(teamID, userLogin).Return(false, nil) - actual, err := CheckUserPermissionsForSubscription(dataBase, id, userLogin) + actual, err := CheckUserPermissionsForSubscription(dataBase, id, userLogin, auth) So(err, ShouldResemble, api.ErrorForbidden("you are not permitted")) So(actual, ShouldResemble, moira.SubscriptionData{}) }) @@ -337,13 +393,48 @@ func TestCheckUserPermissionsForSubscription(t *testing.T) { errReturned := errors.New("test error") dataBase.EXPECT().GetSubscription(id).Return(moira.SubscriptionData{ID: id, TeamID: teamID}, nil) dataBase.EXPECT().IsTeamContainUser(teamID, userLogin).Return(false, errReturned) - actual, err := CheckUserPermissionsForSubscription(dataBase, id, userLogin) + actual, err := CheckUserPermissionsForSubscription(dataBase, id, userLogin, auth) So(err, ShouldResemble, api.ErrorInternalServer(errReturned)) So(actual, ShouldResemble, moira.SubscriptionData{}) }) }) } +func TestCheckAdminPermissionsForSubscription(t *testing.T) { + mockCtrl := gomock.NewController(t) + defer mockCtrl.Finish() + + dataBase := mock_moira_alert.NewMockDatabase(mockCtrl) + teamID := uuid.Must(uuid.NewV4()).String() + id := uuid.Must(uuid.NewV4()).String() + adminLogin := "admin_login" + auth := &api.Authorization{Enabled: true, AdminList: map[string]struct{}{adminLogin: {}}} + + Convey("Same user", t, func() { + expectedSub := moira.SubscriptionData{ID: id, User: adminLogin} + dataBase.EXPECT().GetSubscription(id).Return(expectedSub, nil) + actualContact, errorResponse := CheckUserPermissionsForSubscription(dataBase, id, adminLogin, auth) + So(errorResponse, ShouldBeNil) + So(actualContact, ShouldResemble, expectedSub) + }) + + Convey("Different user", t, func() { + expectedSub := moira.SubscriptionData{ID: id, User: "diffUser"} + dataBase.EXPECT().GetSubscription(id).Return(expectedSub, nil) + actualContact, errorResponse := CheckUserPermissionsForSubscription(dataBase, id, adminLogin, auth) + So(errorResponse, ShouldBeNil) + So(actualContact, ShouldResemble, expectedSub) + }) + + Convey("Team contact", t, func() { + expectedSub := moira.SubscriptionData{ID: id, TeamID: teamID} + dataBase.EXPECT().GetSubscription(id).Return(expectedSub, nil) + actualContact, errorResponse := CheckUserPermissionsForSubscription(dataBase, id, adminLogin, auth) + So(errorResponse, ShouldBeNil) + So(actualContact, ShouldResemble, expectedSub) + }) +} + func Test_isSubscriptionExists(t *testing.T) { mockCtrl := gomock.NewController(t) defer mockCtrl.Finish() diff --git a/api/controller/tag.go b/api/controller/tag.go index 17413c970..3c950368d 100644 --- a/api/controller/tag.go +++ b/api/controller/tag.go @@ -10,7 +10,7 @@ import ( "github.com/moira-alert/moira/api/dto" ) -// GetAllTagsAndSubscriptions get tags subscriptions and triggerIDs +// GetAllTagsAndSubscriptions get tags subscriptions and triggerIDs. func GetAllTagsAndSubscriptions(database moira.Database, logger moira.Logger) (*dto.TagsStatistics, *api.ErrorResponse) { tagsNames, err := database.GetTagNames() if err != nil { @@ -59,7 +59,7 @@ func GetAllTagsAndSubscriptions(database moira.Database, logger moira.Logger) (* return &tagsStatistics, nil } -// GetAllTags gets all tag names +// GetAllTags gets all tag names. func GetAllTags(database moira.Database) (*dto.TagsData, *api.ErrorResponse) { tagsNames, err := getTagNamesSorted(database) if err != nil { @@ -82,7 +82,16 @@ func getTagNamesSorted(database moira.Database) ([]string, error) { return tagsNames, nil } -// RemoveTag deletes tag by name +// CreateTags create tags with tag names. +func CreateTags(database moira.Database, tags *dto.TagsData) *api.ErrorResponse { + if err := database.CreateTags(tags.TagNames); err != nil { + return api.ErrorInternalServer(err) + } + + return nil +} + +// RemoveTag deletes tag by name. func RemoveTag(database moira.Database, tagName string) (*dto.MessageResponse, *api.ErrorResponse) { triggerIDs, err := database.GetTagTriggerIDs(tagName) if err != nil { diff --git a/api/controller/tag_test.go b/api/controller/tag_test.go index 4f994e736..47b1db519 100644 --- a/api/controller/tag_test.go +++ b/api/controller/tag_test.go @@ -4,8 +4,8 @@ import ( "fmt" "testing" - "github.com/golang/mock/gomock" logging "github.com/moira-alert/moira/logging/zerolog_adapter" + "go.uber.org/mock/gomock" "github.com/moira-alert/moira" "github.com/moira-alert/moira/api" @@ -36,6 +36,41 @@ func TestGetAllTags(t *testing.T) { }) } +func TestCreateTags(t *testing.T) { + mockCtrl := gomock.NewController(t) + defer mockCtrl.Finish() + database := mock_moira_alert.NewMockDatabase(mockCtrl) + + emptyTags := &dto.TagsData{ + TagNames: make([]string, 0), + } + tags := &dto.TagsData{ + TagNames: []string{"test1", "test2"}, + } + + Convey("Success with empty tags", t, func() { + database.EXPECT().CreateTags(emptyTags.TagNames).Return(nil).Times(1) + + err := CreateTags(database, emptyTags) + So(err, ShouldBeNil) + }) + + Convey("Success with many tags", t, func() { + database.EXPECT().CreateTags(tags.TagNames).Return(nil).Times(1) + + err := CreateTags(database, tags) + So(err, ShouldBeNil) + }) + + Convey("Error from database", t, func() { + expectedErr := fmt.Errorf("some error") + database.EXPECT().CreateTags(tags.TagNames).Return(expectedErr).Times(1) + + err := CreateTags(database, tags) + So(err, ShouldResemble, api.ErrorInternalServer(expectedErr)) + }) +} + func TestDeleteTag(t *testing.T) { mockCtrl := gomock.NewController(t) defer mockCtrl.Finish() diff --git a/api/controller/team.go b/api/controller/team.go index e239e8d08..3c35ac0e2 100644 --- a/api/controller/team.go +++ b/api/controller/team.go @@ -1,6 +1,7 @@ package controller import ( + "errors" "fmt" "strings" @@ -15,7 +16,7 @@ import ( const teamIDCreateRetries = 3 -// CreateTeam is a controller function that creates a new team in Moira +// CreateTeam is a controller function that creates a new team in Moira. func CreateTeam(dataBase moira.Database, team dto.TeamModel, userID string) (dto.SaveTeamResponse, *api.ErrorResponse) { var teamID string if team.ID != "" { // if teamID is specified in request data then check that team with this id is not exist @@ -24,7 +25,7 @@ func CreateTeam(dataBase moira.Database, team dto.TeamModel, userID string) (dto if err == nil { return dto.SaveTeamResponse{}, api.ErrorInvalidRequest(fmt.Errorf("team with ID you specified already exists %s", teamID)) } - if err != nil && err != database.ErrNil { + if err != nil && !errors.Is(err, database.ErrNil) { return dto.SaveTeamResponse{}, api.ErrorInternalServer(fmt.Errorf("cannot check id for team: %w", err)) } } else { // on the other hand try to create an UUID for teamID @@ -36,7 +37,7 @@ func CreateTeam(dataBase moira.Database, team dto.TeamModel, userID string) (dto } teamID = generatedUUID.String() _, err = dataBase.GetTeam(teamID) - if err == database.ErrNil { + if errors.Is(err, database.ErrNil) { createdSuccessfully = true break } @@ -66,12 +67,11 @@ func CreateTeam(dataBase moira.Database, team dto.TeamModel, userID string) (dto return dto.SaveTeamResponse{ID: teamID}, nil } -// GetTeam is a controller function that returns a team by it's ID +// GetTeam is a controller function that returns a team by it's ID. func GetTeam(dataBase moira.Database, teamID string) (dto.TeamModel, *api.ErrorResponse) { team, err := dataBase.GetTeam(teamID) - if err != nil { - if err == database.ErrNil { + if errors.Is(err, database.ErrNil) { return dto.TeamModel{}, api.ErrorNotFound(fmt.Sprintf("cannot find team: %s", teamID)) } return dto.TeamModel{}, api.ErrorInternalServer(fmt.Errorf("cannot get team from database: %w", err)) @@ -81,12 +81,12 @@ func GetTeam(dataBase moira.Database, teamID string) (dto.TeamModel, *api.ErrorR return teamModel, nil } -// GetUserTeams is a controller function that returns a teams in which user is a member bu user ID +// GetUserTeams is a controller function that returns a teams in which user is a member bu user ID. func GetUserTeams(dataBase moira.Database, userID string) (dto.UserTeams, *api.ErrorResponse) { teams, err := dataBase.GetUserTeams(userID) result := []dto.TeamModel{} - if err != nil && err != database.ErrNil { + if err != nil && !errors.Is(err, database.ErrNil) { return dto.UserTeams{}, api.ErrorInternalServer(fmt.Errorf("cannot get user teams from database: %w", err)) } @@ -102,12 +102,11 @@ func GetUserTeams(dataBase moira.Database, userID string) (dto.UserTeams, *api.E return dto.UserTeams{Teams: result}, nil } -// GetTeamUsers is a controller function that returns a users of team by team ID +// GetTeamUsers is a controller function that returns a users of team by team ID. func GetTeamUsers(dataBase moira.Database, teamID string) (dto.TeamMembers, *api.ErrorResponse) { users, err := dataBase.GetTeamUsers(teamID) - if err != nil { - if err == database.ErrNil { + if errors.Is(err, database.ErrNil) { return dto.TeamMembers{}, api.ErrorNotFound(fmt.Sprintf("cannot find team users: %s", teamID)) } return dto.TeamMembers{}, api.ErrorInternalServer(fmt.Errorf("cannot get team users from database: %w", err)) @@ -151,8 +150,8 @@ func addTeamsForNewUsers(dataBase moira.Database, teamID string, newUsers map[st if _, ok := teamsMap[userID]; ok { continue } - fetchedUserTeams, err := dataBase.GetUserTeams(userID) //nolint:govet - if err != nil && err != database.ErrNil { + fetchedUserTeams, err := dataBase.GetUserTeams(userID) + if err != nil && !errors.Is(err, database.ErrNil) { return nil, api.ErrorInternalServer(fmt.Errorf("cannot get team users from database: %w", err)) } fetchedUserTeams = append(fetchedUserTeams, teamID) @@ -161,11 +160,11 @@ func addTeamsForNewUsers(dataBase moira.Database, teamID string, newUsers map[st return teamsMap, nil } -// SetTeamUsers is a controller function that sets all users for team +// SetTeamUsers is a controller function that sets all users for team. func SetTeamUsers(dataBase moira.Database, teamID string, allUsers []string) (dto.TeamMembers, *api.ErrorResponse) { existingUsers, err := dataBase.GetTeamUsers(teamID) if err != nil { - if err == database.ErrNil { + if errors.Is(err, database.ErrNil) { return dto.TeamMembers{}, api.ErrorNotFound(fmt.Sprintf("cannot find team users: %s", teamID)) } return dto.TeamMembers{}, api.ErrorInternalServer(fmt.Errorf("cannot get team users from database: %w", err)) @@ -237,11 +236,11 @@ func addUserTeam(teamID string, teams []string) ([]string, error) { return teams, nil } -// AddTeamUsers is a controller function that adds a users to certain team +// AddTeamUsers is a controller function that adds a users to certain team. func AddTeamUsers(dataBase moira.Database, teamID string, newUsers []string) (dto.TeamMembers, *api.ErrorResponse) { existingUsers, err := dataBase.GetTeamUsers(teamID) if err != nil { - if err == database.ErrNil { + if errors.Is(err, database.ErrNil) { return dto.TeamMembers{}, api.ErrorNotFound(fmt.Sprintf("cannot find team users: %s", teamID)) } return dto.TeamMembers{}, api.ErrorInternalServer(fmt.Errorf("cannot get team users from database: %w", err)) @@ -253,7 +252,7 @@ func AddTeamUsers(dataBase moira.Database, teamID string, newUsers []string) (dt for _, userID := range existingUsers { userTeams, err := dataBase.GetUserTeams(userID) //nolint:govet if err != nil { - if err == database.ErrNil { + if errors.Is(err, database.ErrNil) { return dto.TeamMembers{}, api.ErrorNotFound(fmt.Sprintf("cannot find user teams: %s", userID)) } return dto.TeamMembers{}, api.ErrorInternalServer(fmt.Errorf("cannot get user teams from database: %w", err)) @@ -268,7 +267,7 @@ func AddTeamUsers(dataBase moira.Database, teamID string, newUsers []string) (dt } userTeams, err := dataBase.GetUserTeams(userID) //nolint:govet - if err != nil && err != redis.Nil { + if err != nil && !errors.Is(err, redis.Nil) { return dto.TeamMembers{}, api.ErrorInternalServer(fmt.Errorf("cannot get user teams from database: %w", err)) } @@ -292,7 +291,7 @@ func AddTeamUsers(dataBase moira.Database, teamID string, newUsers []string) (dt return result, nil } -// UpdateTeam is a controller function that updates an existing team in Moira +// UpdateTeam is a controller function that updates an existing team in Moira. func UpdateTeam(dataBase moira.Database, teamID string, team dto.TeamModel) (dto.SaveTeamResponse, *api.ErrorResponse) { err := dataBase.SaveTeam(teamID, team.ToMoiraTeam()) if err != nil { @@ -301,7 +300,7 @@ func UpdateTeam(dataBase moira.Database, teamID string, team dto.TeamModel) (dto return dto.SaveTeamResponse{ID: teamID}, nil } -// DeleteTeam is a controller function that removes an existing team in Moira +// DeleteTeam is a controller function that removes an existing team in Moira. func DeleteTeam(dataBase moira.Database, teamID, userLogin string) (dto.SaveTeamResponse, *api.ErrorResponse) { teamUsers, err := dataBase.GetTeamUsers(teamID) if err != nil { @@ -331,11 +330,11 @@ func DeleteTeam(dataBase moira.Database, teamID, userLogin string) (dto.SaveTeam return dto.SaveTeamResponse{ID: teamID}, nil } -// DeleteTeamUser is a controller function that removes a user from certain team +// DeleteTeamUser is a controller function that removes a user from certain team. func DeleteTeamUser(dataBase moira.Database, teamID string, removeUserID string) (dto.TeamMembers, *api.ErrorResponse) { existingUsers, err := dataBase.GetTeamUsers(teamID) if err != nil { - if err == database.ErrNil { + if errors.Is(err, database.ErrNil) { return dto.TeamMembers{}, api.ErrorNotFound(fmt.Sprintf("cannot find team users: %s", teamID)) } return dto.TeamMembers{}, api.ErrorInternalServer(fmt.Errorf("cannot get team users from database: %w", err)) @@ -361,7 +360,7 @@ func DeleteTeamUser(dataBase moira.Database, teamID string, removeUserID string) for _, userID := range existingUsers { userTeams, err := dataBase.GetUserTeams(userID) //nolint:govet if err != nil { - if err == database.ErrNil { + if errors.Is(err, database.ErrNil) { return dto.TeamMembers{}, api.ErrorNotFound(fmt.Sprintf("cannot find user teams: %s", userID)) } return dto.TeamMembers{}, api.ErrorInternalServer(fmt.Errorf("cannot get user teams from database: %w", err)) @@ -399,10 +398,18 @@ func removeUserTeam(teams []string, teamID string) ([]string, error) { return []string{}, fmt.Errorf("cannot find team in user teams: %s", teamID) } -func CheckUserPermissionsForTeam(dataBase moira.Database, teamID, userID string) *api.ErrorResponse { +func CheckUserPermissionsForTeam( + dataBase moira.Database, + teamID, userID string, + auth *api.Authorization, +) *api.ErrorResponse { + if auth.IsAdmin(userID) { + return nil + } + _, err := dataBase.GetTeam(teamID) if err != nil { - if err == database.ErrNil { + if errors.Is(err, database.ErrNil) { return api.ErrorNotFound(fmt.Sprintf("team with ID '%s' does not exists", teamID)) } return api.ErrorInternalServer(err) @@ -418,7 +425,7 @@ func CheckUserPermissionsForTeam(dataBase moira.Database, teamID, userID string) return nil } -// GetTeamSettings gets team contacts and subscriptions +// GetTeamSettings gets team contacts and subscriptions. func GetTeamSettings(database moira.Database, teamID string) (dto.TeamSettings, *api.ErrorResponse) { teamSettings := dto.TeamSettings{ TeamID: teamID, diff --git a/api/controller/team_test.go b/api/controller/team_test.go index d74b7c870..0eb937e4f 100644 --- a/api/controller/team_test.go +++ b/api/controller/team_test.go @@ -6,13 +6,13 @@ import ( "testing" "github.com/gofrs/uuid" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" "github.com/moira-alert/moira/api" "github.com/moira-alert/moira/api/dto" "github.com/moira-alert/moira/database" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func TestCreateTeam(t *testing.T) { @@ -591,6 +591,7 @@ func TestSetTeamUsers(t *testing.T) { func TestCheckUserPermissionsForTeam(t *testing.T) { const teamID = "testTeam" const userID = "userID" + auth := &api.Authorization{} Convey("CheckUserPermissionsForTeam", t, func() { mockCtrl := gomock.NewController(t) @@ -600,31 +601,31 @@ func TestCheckUserPermissionsForTeam(t *testing.T) { Convey("user in team", func() { dataBase.EXPECT().GetTeam(teamID).Return(moira.Team{}, nil) dataBase.EXPECT().IsTeamContainUser(teamID, userID).Return(true, nil) - err := CheckUserPermissionsForTeam(dataBase, teamID, userID) + err := CheckUserPermissionsForTeam(dataBase, teamID, userID, auth) So(err, ShouldBeNil) }) Convey("user is not in team", func() { dataBase.EXPECT().GetTeam(teamID).Return(moira.Team{}, nil) dataBase.EXPECT().IsTeamContainUser(teamID, userID).Return(false, nil) - err := CheckUserPermissionsForTeam(dataBase, teamID, userID) + err := CheckUserPermissionsForTeam(dataBase, teamID, userID, auth) So(err, ShouldResemble, api.ErrorForbidden("you are not permitted to manipulate with this team")) }) Convey("error while checking user", func() { returnErr := errors.New("returning error") dataBase.EXPECT().GetTeam(teamID).Return(moira.Team{}, nil) dataBase.EXPECT().IsTeamContainUser(teamID, userID).Return(false, returnErr) - err := CheckUserPermissionsForTeam(dataBase, teamID, userID) + err := CheckUserPermissionsForTeam(dataBase, teamID, userID, auth) So(err, ShouldResemble, api.ErrorInternalServer(returnErr)) }) Convey("error while getting team", func() { returnErr := errors.New("returning error") dataBase.EXPECT().GetTeam(teamID).Return(moira.Team{}, returnErr) - err := CheckUserPermissionsForTeam(dataBase, teamID, userID) + err := CheckUserPermissionsForTeam(dataBase, teamID, userID, auth) So(err, ShouldResemble, api.ErrorInternalServer(returnErr)) }) Convey("team is not exist", func() { dataBase.EXPECT().GetTeam(teamID).Return(moira.Team{}, database.ErrNil) - err := CheckUserPermissionsForTeam(dataBase, teamID, userID) + err := CheckUserPermissionsForTeam(dataBase, teamID, userID, auth) So(err, ShouldResemble, api.ErrorNotFound("team with ID 'testTeam' does not exists")) }) }) diff --git a/api/controller/trigger.go b/api/controller/trigger.go index fa0c7d1a7..c523126de 100644 --- a/api/controller/trigger.go +++ b/api/controller/trigger.go @@ -1,6 +1,7 @@ package controller import ( + "errors" "fmt" "time" @@ -11,13 +12,13 @@ import ( "github.com/moira-alert/moira/support" ) -const maxTriggerLockAttempts = 10 +const maxTriggerLockAttempts = 30 -// UpdateTrigger update trigger data and trigger metrics in last state +// UpdateTrigger update trigger data and trigger metrics in last state. func UpdateTrigger(dataBase moira.Database, trigger *dto.TriggerModel, triggerID string, timeSeriesNames map[string]bool) (*dto.SaveTriggerResponse, *api.ErrorResponse) { _, err := dataBase.GetTrigger(triggerID) if err != nil { - if err == database.ErrNil { + if errors.Is(err, database.ErrNil) { return nil, api.ErrorNotFound(fmt.Sprintf("trigger with ID = '%s' does not exists", triggerID)) } return nil, api.ErrorInternalServer(err) @@ -25,18 +26,18 @@ func UpdateTrigger(dataBase moira.Database, trigger *dto.TriggerModel, triggerID return saveTrigger(dataBase, trigger.ToMoiraTrigger(), triggerID, timeSeriesNames) } -// saveTrigger create or update trigger data and update trigger metrics in last state +// saveTrigger create or update trigger data and update trigger metrics in last state. func saveTrigger(dataBase moira.Database, trigger *moira.Trigger, triggerID string, timeSeriesNames map[string]bool) (*dto.SaveTriggerResponse, *api.ErrorResponse) { if err := dataBase.AcquireTriggerCheckLock(triggerID, maxTriggerLockAttempts); err != nil { return nil, api.ErrorInternalServer(err) } defer dataBase.DeleteTriggerCheckLock(triggerID) //nolint lastCheck, err := dataBase.GetTriggerLastCheck(triggerID) - if err != nil && err != database.ErrNil { + if err != nil && !errors.Is(err, database.ErrNil) { return nil, api.ErrorInternalServer(err) } - if err != database.ErrNil { + if !errors.Is(err, database.ErrNil) { for metric := range lastCheck.Metrics { if _, ok := timeSeriesNames[metric]; !ok { lastCheck.RemoveMetricState(metric) @@ -55,7 +56,7 @@ func saveTrigger(dataBase moira.Database, trigger *moira.Trigger, triggerID stri lastCheck.UpdateScore() } - if err = dataBase.SetTriggerLastCheck(triggerID, &lastCheck, trigger.TriggerSource); err != nil { + if err = dataBase.SetTriggerLastCheck(triggerID, &lastCheck, trigger.ClusterKey()); err != nil { return nil, api.ErrorInternalServer(err) } @@ -70,11 +71,11 @@ func saveTrigger(dataBase moira.Database, trigger *moira.Trigger, triggerID stri return &resp, nil } -// GetTrigger gets trigger with his throttling - next allowed message time +// GetTrigger gets trigger with his throttling - next allowed message time. func GetTrigger(dataBase moira.Database, triggerID string) (*dto.Trigger, *api.ErrorResponse) { trigger, err := dataBase.GetTrigger(triggerID) if err != nil { - if err == database.ErrNil { + if errors.Is(err, database.ErrNil) { return nil, api.ErrorNotFound("trigger not found") } return nil, api.ErrorInternalServer(err) @@ -94,7 +95,7 @@ func GetTrigger(dataBase moira.Database, triggerID string) (*dto.Trigger, *api.E return &triggerResponse, nil } -// RemoveTrigger deletes trigger by given triggerID +// RemoveTrigger deletes trigger by given triggerID. func RemoveTrigger(database moira.Database, triggerID string) *api.ErrorResponse { if err := database.RemoveTrigger(triggerID); err != nil { return api.ErrorInternalServer(err) @@ -102,7 +103,7 @@ func RemoveTrigger(database moira.Database, triggerID string) *api.ErrorResponse return nil } -// GetTriggerThrottling gets trigger throttling timestamp +// GetTriggerThrottling gets trigger throttling timestamp. func GetTriggerThrottling(database moira.Database, triggerID string) (*dto.ThrottlingResponse, *api.ErrorResponse) { throttling, _ := database.GetTriggerThrottling(triggerID) throttlingUnix := throttling.Unix() @@ -112,33 +113,21 @@ func GetTriggerThrottling(database moira.Database, triggerID string) (*dto.Throt return &dto.ThrottlingResponse{Throttling: throttlingUnix}, nil } -// Need to not show the user metrics that should have been deleted due to ttlState = Del, -// but remained in the database because their Maintenance did not expire -func getAliveMetrics(metrics map[string]moira.MetricState) map[string]moira.MetricState { - aliveMetrics := make(map[string]moira.MetricState, len(metrics)) - for metricName, metricState := range metrics { - if !metricState.DeletedButKept { - aliveMetrics[metricName] = metricState - } - } - return aliveMetrics -} - -// GetTriggerLastCheck gets trigger last check data +// GetTriggerLastCheck gets trigger last check data. func GetTriggerLastCheck(dataBase moira.Database, triggerID string) (*dto.TriggerCheck, *api.ErrorResponse) { lastCheck := &moira.CheckData{} var err error *lastCheck, err = dataBase.GetTriggerLastCheck(triggerID) if err != nil { - if err != database.ErrNil { + if !errors.Is(err, database.ErrNil) { return nil, api.ErrorInternalServer(err) } lastCheck = nil } - if lastCheck != nil && len(lastCheck.Metrics) != 0 { - lastCheck.Metrics = getAliveMetrics(lastCheck.Metrics) + if lastCheck != nil { + lastCheck.RemoveDeadMetrics() } triggerCheck := dto.TriggerCheck{ @@ -149,7 +138,7 @@ func GetTriggerLastCheck(dataBase moira.Database, triggerID string) (*dto.Trigge return &triggerCheck, nil } -// DeleteTriggerThrottling deletes trigger throttling +// DeleteTriggerThrottling deletes trigger throttling. func DeleteTriggerThrottling(database moira.Database, triggerID string) *api.ErrorResponse { if err := database.DeleteTriggerThrottling(triggerID); err != nil { return api.ErrorInternalServer(err) @@ -172,7 +161,7 @@ func DeleteTriggerThrottling(database moira.Database, triggerID string) *api.Err return nil } -// SetTriggerMaintenance sets maintenance to metrics and whole trigger +// SetTriggerMaintenance sets maintenance to metrics and whole trigger. func SetTriggerMaintenance(database moira.Database, triggerID string, triggerMaintenance dto.TriggerMaintenance, userLogin string, timeCallMaintenance int64) *api.ErrorResponse { if err := database.AcquireTriggerCheckLock(triggerID, maxTriggerLockAttempts); err != nil { return api.ErrorInternalServer(err) @@ -184,7 +173,7 @@ func SetTriggerMaintenance(database moira.Database, triggerID string, triggerMai return nil } -// GetTriggerDump returns raw trigger from database +// GetTriggerDump returns raw trigger from database. func GetTriggerDump(database moira.Database, logger moira.Logger, triggerID string) (*dto.TriggerDump, *api.ErrorResponse) { trigger, err := support.HandlePullTrigger(logger, database, triggerID) if err != nil { diff --git a/api/controller/trigger_metrics.go b/api/controller/trigger_metrics.go index bb74c88d9..06ba2e517 100644 --- a/api/controller/trigger_metrics.go +++ b/api/controller/trigger_metrics.go @@ -1,6 +1,7 @@ package controller import ( + "errors" "fmt" "github.com/moira-alert/moira" @@ -11,7 +12,7 @@ import ( ) // GetTriggerEvaluationResult evaluates every target in trigger and returns -// result, separated on main and additional targets metrics +// result, separated on main and additional targets metrics. func GetTriggerEvaluationResult(dataBase moira.Database, metricSourceProvider *metricSource.SourceProvider, from, to int64, triggerID string, fetchRealtimeData bool) (map[string][]metricSource.MetricData, *moira.Trigger, error) { trigger, err := dataBase.GetTrigger(triggerID) if err != nil { @@ -36,22 +37,22 @@ func GetTriggerEvaluationResult(dataBase moira.Database, metricSourceProvider *m return triggerMetrics, &trigger, nil } -// DeleteTriggerMetric deletes metric from last check and all trigger patterns metrics +// DeleteTriggerMetric deletes metric from last check and all trigger patterns metrics. func DeleteTriggerMetric(dataBase moira.Database, metricName string, triggerID string) *api.ErrorResponse { return deleteTriggerMetrics(dataBase, metricName, triggerID, false) } // DeleteTriggerNodataMetrics deletes all metric from last check which are in NODATA state. -// It also deletes all trigger patterns of those metrics +// It also deletes all trigger patterns of those metrics. func DeleteTriggerNodataMetrics(dataBase moira.Database, triggerID string) *api.ErrorResponse { return deleteTriggerMetrics(dataBase, "", triggerID, true) } -// GetTriggerMetrics gets all trigger metrics values, default values from: now - 10min, to: now +// GetTriggerMetrics gets all trigger metrics values, default values from: now - 10min, to: now. func GetTriggerMetrics(dataBase moira.Database, metricSourceProvider *metricSource.SourceProvider, from, to int64, triggerID string) (*dto.TriggerMetrics, *api.ErrorResponse) { tts, _, err := GetTriggerEvaluationResult(dataBase, metricSourceProvider, from, to, triggerID, false) if err != nil { - if err == database.ErrNil { + if errors.Is(err, database.ErrNil) { return nil, api.ErrorInvalidRequest(fmt.Errorf("trigger not found")) } return nil, api.ErrorInternalServer(err) @@ -79,7 +80,7 @@ func GetTriggerMetrics(dataBase moira.Database, metricSourceProvider *metricSour func deleteTriggerMetrics(dataBase moira.Database, metricName string, triggerID string, removeAllNodataMetrics bool) *api.ErrorResponse { trigger, err := dataBase.GetTrigger(triggerID) if err != nil { - if err == database.ErrNil { + if errors.Is(err, database.ErrNil) { return api.ErrorInvalidRequest(fmt.Errorf("trigger not found")) } return api.ErrorInternalServer(err) @@ -92,7 +93,7 @@ func deleteTriggerMetrics(dataBase moira.Database, metricName string, triggerID lastCheck, err := dataBase.GetTriggerLastCheck(triggerID) if err != nil { - if err == database.ErrNil { + if errors.Is(err, database.ErrNil) { return api.ErrorInvalidRequest(fmt.Errorf("trigger check not found")) } return api.ErrorInternalServer(err) @@ -109,12 +110,15 @@ func deleteTriggerMetrics(dataBase moira.Database, metricName string, triggerID delete(lastCheck.Metrics, metricName) } } + lastCheck.UpdateScore() if err = dataBase.RemovePatternsMetrics(trigger.Patterns); err != nil { return api.ErrorInternalServer(err) } - if err = dataBase.SetTriggerLastCheck(triggerID, &lastCheck, trigger.TriggerSource); err != nil { + + if err = dataBase.SetTriggerLastCheck(triggerID, &lastCheck, trigger.ClusterKey()); err != nil { return api.ErrorInternalServer(err) } + return nil } diff --git a/api/controller/trigger_metrics_test.go b/api/controller/trigger_metrics_test.go index d96d0d766..5cd76b3b3 100644 --- a/api/controller/trigger_metrics_test.go +++ b/api/controller/trigger_metrics_test.go @@ -5,11 +5,11 @@ import ( "testing" "github.com/gofrs/uuid" - "github.com/golang/mock/gomock" metricSource "github.com/moira-alert/moira/metric_source" "github.com/moira-alert/moira/metric_source/remote" mock_metric_source "github.com/moira-alert/moira/mock/metric_source" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" "github.com/moira-alert/moira" "github.com/moira-alert/moira/api" @@ -36,11 +36,11 @@ func TestDeleteTriggerMetric(t *testing.T) { Convey("Success delete from last check", t, func() { expectedLastCheck := lastCheck dataBase.EXPECT().GetTrigger(triggerID).Return(trigger, nil) - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10).Return(nil) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30).Return(nil) dataBase.EXPECT().DeleteTriggerCheckLock(triggerID) dataBase.EXPECT().GetTriggerLastCheck(triggerID).Return(expectedLastCheck, nil) dataBase.EXPECT().RemovePatternsMetrics(trigger.Patterns).Return(nil) - dataBase.EXPECT().SetTriggerLastCheck(triggerID, &expectedLastCheck, trigger.TriggerSource) + dataBase.EXPECT().SetTriggerLastCheck(triggerID, &expectedLastCheck, trigger.ClusterKey()) err := DeleteTriggerMetric(dataBase, "super.metric1", triggerID) So(err, ShouldBeNil) So(expectedLastCheck, ShouldResemble, emptyLastCheck) @@ -49,11 +49,11 @@ func TestDeleteTriggerMetric(t *testing.T) { Convey("Success delete nothing to delete", t, func() { expectedLastCheck := emptyLastCheck dataBase.EXPECT().GetTrigger(triggerID).Return(trigger, nil) - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10).Return(nil) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30).Return(nil) dataBase.EXPECT().DeleteTriggerCheckLock(triggerID) dataBase.EXPECT().GetTriggerLastCheck(triggerID).Return(expectedLastCheck, nil) dataBase.EXPECT().RemovePatternsMetrics(trigger.Patterns).Return(nil) - dataBase.EXPECT().SetTriggerLastCheck(triggerID, &expectedLastCheck, trigger.TriggerSource) + dataBase.EXPECT().SetTriggerLastCheck(triggerID, &expectedLastCheck, trigger.ClusterKey()) err := DeleteTriggerMetric(dataBase, "super.metric1", triggerID) So(err, ShouldBeNil) So(expectedLastCheck, ShouldResemble, emptyLastCheck) @@ -67,7 +67,7 @@ func TestDeleteTriggerMetric(t *testing.T) { Convey("No last check", t, func() { dataBase.EXPECT().GetTrigger(triggerID).Return(trigger, nil) - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10).Return(nil) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30).Return(nil) dataBase.EXPECT().DeleteTriggerCheckLock(triggerID) dataBase.EXPECT().GetTriggerLastCheck(triggerID).Return(moira.CheckData{}, database.ErrNil) err := DeleteTriggerMetric(dataBase, "super.metric1", triggerID) @@ -84,7 +84,7 @@ func TestDeleteTriggerMetric(t *testing.T) { Convey("AcquireTriggerCheckLock error", t, func() { expected := fmt.Errorf("acquire error") dataBase.EXPECT().GetTrigger(triggerID).Return(trigger, nil) - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10).Return(expected) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30).Return(expected) err := DeleteTriggerMetric(dataBase, "super.metric1", triggerID) So(err, ShouldResemble, api.ErrorInternalServer(expected)) }) @@ -92,7 +92,7 @@ func TestDeleteTriggerMetric(t *testing.T) { Convey("GetTriggerLastCheck error", t, func() { expected := fmt.Errorf("last check error") dataBase.EXPECT().GetTrigger(triggerID).Return(trigger, nil) - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10).Return(nil) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30).Return(nil) dataBase.EXPECT().DeleteTriggerCheckLock(triggerID) dataBase.EXPECT().GetTriggerLastCheck(triggerID).Return(moira.CheckData{}, expected) err := DeleteTriggerMetric(dataBase, "super.metric1", triggerID) @@ -102,7 +102,7 @@ func TestDeleteTriggerMetric(t *testing.T) { Convey("RemovePatternsMetrics error", t, func() { expected := fmt.Errorf("removePatternsMetrics err") dataBase.EXPECT().GetTrigger(triggerID).Return(trigger, nil) - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10).Return(nil) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30).Return(nil) dataBase.EXPECT().DeleteTriggerCheckLock(triggerID) dataBase.EXPECT().GetTriggerLastCheck(triggerID).Return(lastCheck, nil) dataBase.EXPECT().RemovePatternsMetrics(trigger.Patterns).Return(expected) @@ -113,11 +113,11 @@ func TestDeleteTriggerMetric(t *testing.T) { Convey("SetTriggerLastCheck error", t, func() { expected := fmt.Errorf("removePatternsMetrics err") dataBase.EXPECT().GetTrigger(triggerID).Return(trigger, nil) - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10).Return(nil) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30).Return(nil) dataBase.EXPECT().DeleteTriggerCheckLock(triggerID) dataBase.EXPECT().GetTriggerLastCheck(triggerID).Return(lastCheck, nil) dataBase.EXPECT().RemovePatternsMetrics(trigger.Patterns).Return(nil) - dataBase.EXPECT().SetTriggerLastCheck(triggerID, &lastCheck, trigger.TriggerSource).Return(expected) + dataBase.EXPECT().SetTriggerLastCheck(triggerID, &lastCheck, trigger.ClusterKey()).Return(expected) err := DeleteTriggerMetric(dataBase, "super.metric1", triggerID) So(err, ShouldResemble, api.ErrorInternalServer(expected)) }) @@ -171,11 +171,11 @@ func TestDeleteTriggerNodataMetrics(t *testing.T) { Convey("Success delete from last check, one NODATA", t, func() { expectedLastCheck := lastCheckSingleNodata dataBase.EXPECT().GetTrigger(triggerID).Return(trigger, nil) - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10).Return(nil) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30).Return(nil) dataBase.EXPECT().DeleteTriggerCheckLock(triggerID) dataBase.EXPECT().GetTriggerLastCheck(triggerID).Return(expectedLastCheck, nil) dataBase.EXPECT().RemovePatternsMetrics(trigger.Patterns).Return(nil) - dataBase.EXPECT().SetTriggerLastCheck(triggerID, &expectedLastCheck, trigger.TriggerSource) + dataBase.EXPECT().SetTriggerLastCheck(triggerID, &expectedLastCheck, trigger.ClusterKey()) err := DeleteTriggerNodataMetrics(dataBase, triggerID) So(err, ShouldBeNil) So(expectedLastCheck, ShouldResemble, emptyLastCheck) @@ -184,11 +184,11 @@ func TestDeleteTriggerNodataMetrics(t *testing.T) { Convey("Success delete from last check, many NODATA", t, func() { expectedLastCheck := lastCheckWithNodataOnly dataBase.EXPECT().GetTrigger(triggerID).Return(trigger, nil) - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10).Return(nil) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30).Return(nil) dataBase.EXPECT().DeleteTriggerCheckLock(triggerID) dataBase.EXPECT().GetTriggerLastCheck(triggerID).Return(expectedLastCheck, nil) dataBase.EXPECT().RemovePatternsMetrics(trigger.Patterns).Return(nil) - dataBase.EXPECT().SetTriggerLastCheck(triggerID, &expectedLastCheck, trigger.TriggerSource) + dataBase.EXPECT().SetTriggerLastCheck(triggerID, &expectedLastCheck, trigger.ClusterKey()) err := DeleteTriggerNodataMetrics(dataBase, triggerID) So(err, ShouldBeNil) So(expectedLastCheck, ShouldResemble, emptyLastCheck) @@ -197,11 +197,11 @@ func TestDeleteTriggerNodataMetrics(t *testing.T) { Convey("Success delete from last check, many NODATA + other statuses", t, func() { expectedLastCheck := lastCheckWithManyStates dataBase.EXPECT().GetTrigger(triggerID).Return(trigger, nil) - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10).Return(nil) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30).Return(nil) dataBase.EXPECT().DeleteTriggerCheckLock(triggerID) dataBase.EXPECT().GetTriggerLastCheck(triggerID).Return(expectedLastCheck, nil) dataBase.EXPECT().RemovePatternsMetrics(trigger.Patterns).Return(nil) - dataBase.EXPECT().SetTriggerLastCheck(triggerID, &lastCheckWithoutNodata, trigger.TriggerSource) + dataBase.EXPECT().SetTriggerLastCheck(triggerID, &lastCheckWithoutNodata, trigger.ClusterKey()) err := DeleteTriggerNodataMetrics(dataBase, triggerID) So(err, ShouldBeNil) So(expectedLastCheck, ShouldResemble, lastCheckWithoutNodata) @@ -210,11 +210,11 @@ func TestDeleteTriggerNodataMetrics(t *testing.T) { Convey("Success delete nothing to delete", t, func() { expectedLastCheck := emptyLastCheck dataBase.EXPECT().GetTrigger(triggerID).Return(trigger, nil) - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10).Return(nil) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30).Return(nil) dataBase.EXPECT().DeleteTriggerCheckLock(triggerID) dataBase.EXPECT().GetTriggerLastCheck(triggerID).Return(expectedLastCheck, nil) dataBase.EXPECT().RemovePatternsMetrics(trigger.Patterns).Return(nil) - dataBase.EXPECT().SetTriggerLastCheck(triggerID, &expectedLastCheck, trigger.TriggerSource) + dataBase.EXPECT().SetTriggerLastCheck(triggerID, &expectedLastCheck, trigger.ClusterKey()) err := DeleteTriggerNodataMetrics(dataBase, triggerID) So(err, ShouldBeNil) So(expectedLastCheck, ShouldResemble, emptyLastCheck) @@ -228,7 +228,7 @@ func TestDeleteTriggerNodataMetrics(t *testing.T) { Convey("No last check", t, func() { dataBase.EXPECT().GetTrigger(triggerID).Return(trigger, nil) - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10).Return(nil) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30).Return(nil) dataBase.EXPECT().DeleteTriggerCheckLock(triggerID) dataBase.EXPECT().GetTriggerLastCheck(triggerID).Return(moira.CheckData{}, database.ErrNil) err := DeleteTriggerNodataMetrics(dataBase, triggerID) @@ -245,7 +245,7 @@ func TestDeleteTriggerNodataMetrics(t *testing.T) { Convey("AcquireTriggerCheckLock error", t, func() { expected := fmt.Errorf("acquire error") dataBase.EXPECT().GetTrigger(triggerID).Return(trigger, nil) - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10).Return(expected) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30).Return(expected) err := DeleteTriggerMetric(dataBase, "super.metric1", triggerID) So(err, ShouldResemble, api.ErrorInternalServer(expected)) }) @@ -253,7 +253,7 @@ func TestDeleteTriggerNodataMetrics(t *testing.T) { Convey("GetTriggerLastCheck error", t, func() { expected := fmt.Errorf("last check error") dataBase.EXPECT().GetTrigger(triggerID).Return(trigger, nil) - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10).Return(nil) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30).Return(nil) dataBase.EXPECT().DeleteTriggerCheckLock(triggerID) dataBase.EXPECT().GetTriggerLastCheck(triggerID).Return(moira.CheckData{}, expected) err := DeleteTriggerNodataMetrics(dataBase, triggerID) @@ -269,7 +269,7 @@ func TestGetTriggerMetrics(t *testing.T) { localSource := mock_metric_source.NewMockMetricSource(mockCtrl) remoteSource := mock_metric_source.NewMockMetricSource(mockCtrl) fetchResult := mock_metric_source.NewMockFetchResult(mockCtrl) - sourceProvider := metricSource.CreateMetricSourceProvider(localSource, remoteSource, nil) + sourceProvider := metricSource.CreateTestMetricSourceProvider(localSource, remoteSource, nil) pattern := "super.puper.pattern" metric := "super.puper.metric" @@ -277,27 +277,16 @@ func TestGetTriggerMetrics(t *testing.T) { var until int64 = 67 var retention int64 = 10 - Convey("Trigger is remote but remote is not configured", t, func() { - dataBase.EXPECT().GetTrigger(triggerID).Return(moira.Trigger{ - ID: triggerID, - Targets: []string{pattern}, - TriggerSource: moira.GraphiteRemote, - }, nil) - remoteSource.EXPECT().IsConfigured().Return(false, nil) - triggerMetrics, err := GetTriggerMetrics(dataBase, sourceProvider, from, until, triggerID) - So(err, ShouldResemble, api.ErrorInternalServer(metricSource.ErrMetricSourceIsNotConfigured)) - So(triggerMetrics, ShouldBeNil) - }) - - Convey("Trigger is remote but remote has bad config", t, func() { - dataBase.EXPECT().GetTrigger(triggerID).Return(moira.Trigger{ + Convey("Trigger is prometheus remote but prometheus remote is not in a registered source", t, func() { + trigger := moira.Trigger{ ID: triggerID, Targets: []string{pattern}, - TriggerSource: moira.GraphiteRemote, - }, nil) - remoteSource.EXPECT().IsConfigured().Return(false, remote.ErrRemoteStorageDisabled) + TriggerSource: moira.PrometheusRemote, + ClusterId: moira.DefaultCluster, + } + dataBase.EXPECT().GetTrigger(triggerID).Return(trigger, nil) triggerMetrics, err := GetTriggerMetrics(dataBase, sourceProvider, from, until, triggerID) - So(err, ShouldResemble, api.ErrorInternalServer(remote.ErrRemoteStorageDisabled)) + So(err, ShouldResemble, api.ErrorInternalServer(fmt.Errorf("unknown metric source with cluster key `%s`", trigger.ClusterKey().String()))) So(triggerMetrics, ShouldBeNil) }) @@ -306,8 +295,8 @@ func TestGetTriggerMetrics(t *testing.T) { ID: triggerID, Targets: []string{pattern}, TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, }, nil) - localSource.EXPECT().IsConfigured().Return(true, nil) localSource.EXPECT().Fetch(pattern, from, until, false).Return(fetchResult, nil) fetchResult.EXPECT().GetMetricsData().Return([]metricSource.MetricData{*metricSource.MakeMetricData(metric, []float64{0, 1, 2, 3, 4}, retention, from)}) triggerMetrics, err := GetTriggerMetrics(dataBase, sourceProvider, from, until, triggerID) @@ -339,8 +328,8 @@ func TestGetTriggerMetrics(t *testing.T) { ID: triggerID, Targets: []string{pattern}, TriggerSource: moira.GraphiteRemote, + ClusterId: moira.DefaultCluster, }, nil) - remoteSource.EXPECT().IsConfigured().Return(true, nil) remoteSource.EXPECT().Fetch(pattern, from, until, false).Return(nil, expectedError) triggerMetrics, err := GetTriggerMetrics(dataBase, sourceProvider, from, until, triggerID) diff --git a/api/controller/trigger_test.go b/api/controller/trigger_test.go index 9208e4064..001e370aa 100644 --- a/api/controller/trigger_test.go +++ b/api/controller/trigger_test.go @@ -6,13 +6,13 @@ import ( "time" "github.com/gofrs/uuid" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" "github.com/moira-alert/moira/api" "github.com/moira-alert/moira/api/dto" "github.com/moira-alert/moira/database" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func TestUpdateTrigger(t *testing.T) { @@ -24,10 +24,10 @@ func TestUpdateTrigger(t *testing.T) { triggerModel := dto.TriggerModel{ID: uuid.Must(uuid.NewV4()).String()} trigger := triggerModel.ToMoiraTrigger() dataBase.EXPECT().GetTrigger(triggerModel.ID).Return(*trigger, nil) - dataBase.EXPECT().AcquireTriggerCheckLock(gomock.Any(), 10) + dataBase.EXPECT().AcquireTriggerCheckLock(gomock.Any(), 30) dataBase.EXPECT().DeleteTriggerCheckLock(gomock.Any()) dataBase.EXPECT().GetTriggerLastCheck(gomock.Any()).Return(moira.CheckData{}, database.ErrNil) - dataBase.EXPECT().SetTriggerLastCheck(gomock.Any(), gomock.Any(), trigger.TriggerSource).Return(nil) + dataBase.EXPECT().SetTriggerLastCheck(gomock.Any(), gomock.Any(), trigger.ClusterKey()).Return(nil) dataBase.EXPECT().SaveTrigger(gomock.Any(), trigger).Return(nil) resp, err := UpdateTrigger(dataBase, &triggerModel, triggerModel.ID, make(map[string]bool)) So(err, ShouldBeNil) @@ -74,10 +74,10 @@ func TestSaveTrigger(t *testing.T) { Convey("No timeSeries", t, func() { Convey("No last check", func() { - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30) dataBase.EXPECT().DeleteTriggerCheckLock(triggerID) dataBase.EXPECT().GetTriggerLastCheck(triggerID).Return(moira.CheckData{}, database.ErrNil) - dataBase.EXPECT().SetTriggerLastCheck(triggerID, gomock.Any(), trigger.TriggerSource).Return(nil) + dataBase.EXPECT().SetTriggerLastCheck(triggerID, gomock.Any(), trigger.ClusterKey()).Return(nil) dataBase.EXPECT().SaveTrigger(triggerID, &trigger).Return(nil) resp, err := saveTrigger(dataBase, &trigger, triggerID, make(map[string]bool)) So(err, ShouldBeNil) @@ -85,10 +85,10 @@ func TestSaveTrigger(t *testing.T) { }) Convey("Has last check", func() { actualLastCheck := lastCheck - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30) dataBase.EXPECT().DeleteTriggerCheckLock(triggerID) dataBase.EXPECT().GetTriggerLastCheck(triggerID).Return(actualLastCheck, nil) - dataBase.EXPECT().SetTriggerLastCheck(triggerID, &emptyLastCheck, trigger.TriggerSource).Return(nil) + dataBase.EXPECT().SetTriggerLastCheck(triggerID, &emptyLastCheck, trigger.ClusterKey()).Return(nil) dataBase.EXPECT().SaveTrigger(triggerID, &trigger).Return(nil) resp, err := saveTrigger(dataBase, &trigger, triggerID, make(map[string]bool)) So(err, ShouldBeNil) @@ -98,10 +98,10 @@ func TestSaveTrigger(t *testing.T) { Convey("Has timeSeries", t, func() { actualLastCheck := lastCheck - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30) dataBase.EXPECT().DeleteTriggerCheckLock(triggerID) dataBase.EXPECT().GetTriggerLastCheck(triggerID).Return(moira.CheckData{}, database.ErrNil) - dataBase.EXPECT().SetTriggerLastCheck(triggerID, gomock.Any(), trigger.TriggerSource).Return(nil) + dataBase.EXPECT().SetTriggerLastCheck(triggerID, gomock.Any(), trigger.ClusterKey()).Return(nil) dataBase.EXPECT().SaveTrigger(triggerID, &trigger).Return(nil) resp, err := saveTrigger(dataBase, &trigger, triggerID, map[string]bool{"super.metric1": true, "super.metric2": true}) So(err, ShouldBeNil) @@ -112,7 +112,7 @@ func TestSaveTrigger(t *testing.T) { Convey("Errors", t, func() { Convey("AcquireTriggerCheckLock error", func() { expected := fmt.Errorf("acquireTriggerCheckLock error") - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10).Return(expected) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30).Return(expected) resp, err := saveTrigger(dataBase, &trigger, triggerID, make(map[string]bool)) So(err, ShouldResemble, api.ErrorInternalServer(expected)) So(resp, ShouldBeNil) @@ -120,7 +120,7 @@ func TestSaveTrigger(t *testing.T) { Convey("GetTriggerLastCheck error", func() { expected := fmt.Errorf("getTriggerLastCheck error") - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30) dataBase.EXPECT().DeleteTriggerCheckLock(triggerID) dataBase.EXPECT().GetTriggerLastCheck(triggerID).Return(moira.CheckData{}, expected) resp, err := saveTrigger(dataBase, &trigger, triggerID, make(map[string]bool)) @@ -130,10 +130,10 @@ func TestSaveTrigger(t *testing.T) { Convey("SetTriggerLastCheck error", func() { expected := fmt.Errorf("setTriggerLastCheck error") - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30) dataBase.EXPECT().DeleteTriggerCheckLock(triggerID) dataBase.EXPECT().GetTriggerLastCheck(triggerID).Return(moira.CheckData{}, database.ErrNil) - dataBase.EXPECT().SetTriggerLastCheck(triggerID, gomock.Any(), trigger.TriggerSource).Return(expected) + dataBase.EXPECT().SetTriggerLastCheck(triggerID, gomock.Any(), trigger.ClusterKey()).Return(expected) resp, err := saveTrigger(dataBase, &trigger, triggerID, make(map[string]bool)) So(err, ShouldResemble, api.ErrorInternalServer(expected)) So(resp, ShouldBeNil) @@ -141,10 +141,10 @@ func TestSaveTrigger(t *testing.T) { Convey("saveTrigger error", func() { expected := fmt.Errorf("saveTrigger error") - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30) dataBase.EXPECT().DeleteTriggerCheckLock(triggerID) dataBase.EXPECT().GetTriggerLastCheck(triggerID).Return(moira.CheckData{}, database.ErrNil) - dataBase.EXPECT().SetTriggerLastCheck(triggerID, gomock.Any(), trigger.TriggerSource).Return(nil) + dataBase.EXPECT().SetTriggerLastCheck(triggerID, gomock.Any(), trigger.ClusterKey()).Return(nil) dataBase.EXPECT().SaveTrigger(triggerID, &trigger).Return(expected) resp, err := saveTrigger(dataBase, &trigger, triggerID, make(map[string]bool)) So(err, ShouldResemble, api.ErrorInternalServer(expected)) @@ -172,10 +172,10 @@ func TestVariousTtlState(t *testing.T) { lastCheck.State = moira.StateNODATA lastCheck.Score = 1000 - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30) dataBase.EXPECT().DeleteTriggerCheckLock(triggerID) dataBase.EXPECT().GetTriggerLastCheck(triggerID).Return(moira.CheckData{}, database.ErrNil) - dataBase.EXPECT().SetTriggerLastCheck(triggerID, &lastCheck, trigger.TriggerSource).Return(nil) + dataBase.EXPECT().SetTriggerLastCheck(triggerID, &lastCheck, trigger.ClusterKey()).Return(nil) dataBase.EXPECT().SaveTrigger(triggerID, &trigger).Return(nil) resp, err := saveTrigger(dataBase, &trigger, triggerID, make(map[string]bool)) So(err, ShouldBeNil) @@ -187,10 +187,10 @@ func TestVariousTtlState(t *testing.T) { lastCheck.State = moira.StateERROR lastCheck.Score = 100 - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30) dataBase.EXPECT().DeleteTriggerCheckLock(triggerID) dataBase.EXPECT().GetTriggerLastCheck(triggerID).Return(moira.CheckData{}, database.ErrNil) - dataBase.EXPECT().SetTriggerLastCheck(triggerID, &lastCheck, trigger.TriggerSource).Return(nil) + dataBase.EXPECT().SetTriggerLastCheck(triggerID, &lastCheck, trigger.ClusterKey()).Return(nil) dataBase.EXPECT().SaveTrigger(triggerID, &trigger).Return(nil) resp, err := saveTrigger(dataBase, &trigger, triggerID, make(map[string]bool)) So(err, ShouldBeNil) @@ -202,10 +202,10 @@ func TestVariousTtlState(t *testing.T) { lastCheck.State = moira.StateWARN lastCheck.Score = 1 - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30) dataBase.EXPECT().DeleteTriggerCheckLock(triggerID) dataBase.EXPECT().GetTriggerLastCheck(triggerID).Return(moira.CheckData{}, database.ErrNil) - dataBase.EXPECT().SetTriggerLastCheck(triggerID, &lastCheck, trigger.TriggerSource).Return(nil) + dataBase.EXPECT().SetTriggerLastCheck(triggerID, &lastCheck, trigger.ClusterKey()).Return(nil) dataBase.EXPECT().SaveTrigger(triggerID, &trigger).Return(nil) resp, err := saveTrigger(dataBase, &trigger, triggerID, make(map[string]bool)) So(err, ShouldBeNil) @@ -217,10 +217,10 @@ func TestVariousTtlState(t *testing.T) { lastCheck.State = moira.StateOK lastCheck.Score = 0 - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30) dataBase.EXPECT().DeleteTriggerCheckLock(triggerID) dataBase.EXPECT().GetTriggerLastCheck(triggerID).Return(moira.CheckData{}, database.ErrNil) - dataBase.EXPECT().SetTriggerLastCheck(triggerID, &lastCheck, trigger.TriggerSource).Return(nil) + dataBase.EXPECT().SetTriggerLastCheck(triggerID, &lastCheck, trigger.ClusterKey()).Return(nil) dataBase.EXPECT().SaveTrigger(triggerID, &trigger).Return(nil) resp, err := saveTrigger(dataBase, &trigger, triggerID, make(map[string]bool)) So(err, ShouldBeNil) @@ -232,10 +232,10 @@ func TestVariousTtlState(t *testing.T) { lastCheck.State = moira.StateOK lastCheck.Score = 0 - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30) dataBase.EXPECT().DeleteTriggerCheckLock(triggerID) dataBase.EXPECT().GetTriggerLastCheck(triggerID).Return(moira.CheckData{}, database.ErrNil) - dataBase.EXPECT().SetTriggerLastCheck(triggerID, &lastCheck, trigger.TriggerSource).Return(nil) + dataBase.EXPECT().SetTriggerLastCheck(triggerID, &lastCheck, trigger.ClusterKey()).Return(nil) dataBase.EXPECT().SaveTrigger(triggerID, &trigger).Return(nil) resp, err := saveTrigger(dataBase, &trigger, triggerID, make(map[string]bool)) So(err, ShouldBeNil) @@ -456,7 +456,7 @@ func TestSetTriggerMaintenance(t *testing.T) { var maintenanceTS int64 = 12347 Convey("Success setting metrics maintenance only", t, func() { - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30) dataBase.EXPECT().ReleaseTriggerCheckLock(triggerID) dataBase.EXPECT().SetTriggerCheckMaintenance(triggerID, triggerMaintenance.Metrics, triggerMaintenance.Trigger, "", int64(0)).Return(nil) err := SetTriggerMaintenance(dataBase, triggerID, triggerMaintenance, "", 0) @@ -466,7 +466,7 @@ func TestSetTriggerMaintenance(t *testing.T) { Convey("Success setting trigger maintenance only", t, func() { triggerMaintenance.Trigger = &maintenanceTS triggerMaintenance.Metrics = dto.MetricsMaintenance{} - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30) dataBase.EXPECT().ReleaseTriggerCheckLock(triggerID) dataBase.EXPECT().SetTriggerCheckMaintenance(triggerID, triggerMaintenance.Metrics, triggerMaintenance.Trigger, "", int64(0)).Return(nil) err := SetTriggerMaintenance(dataBase, triggerID, triggerMaintenance, "", 0) @@ -476,7 +476,7 @@ func TestSetTriggerMaintenance(t *testing.T) { Convey("Success setting metrics and trigger maintenance at once", t, func() { triggerMaintenance.Trigger = &maintenanceTS triggerMaintenance.Metrics = metricsMaintenance - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30) dataBase.EXPECT().ReleaseTriggerCheckLock(triggerID) dataBase.EXPECT().SetTriggerCheckMaintenance(triggerID, triggerMaintenance.Metrics, triggerMaintenance.Trigger, "", int64(0)).Return(nil) err := SetTriggerMaintenance(dataBase, triggerID, triggerMaintenance, "", 0) @@ -485,7 +485,7 @@ func TestSetTriggerMaintenance(t *testing.T) { Convey("Error", t, func() { expected := fmt.Errorf("oooops! Error set") - dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 10) + dataBase.EXPECT().AcquireTriggerCheckLock(triggerID, 30) dataBase.EXPECT().ReleaseTriggerCheckLock(triggerID) dataBase.EXPECT().SetTriggerCheckMaintenance(triggerID, triggerMaintenance.Metrics, triggerMaintenance.Trigger, "", int64(0)).Return(expected) err := SetTriggerMaintenance(dataBase, triggerID, triggerMaintenance, "", 0) diff --git a/api/controller/triggers.go b/api/controller/triggers.go index 5d4d45c56..4c6ec7075 100644 --- a/api/controller/triggers.go +++ b/api/controller/triggers.go @@ -1,6 +1,7 @@ package controller import ( + "errors" "fmt" "math" "regexp" @@ -17,7 +18,7 @@ const pageSizeUnlimited int64 = -1 var idValidationPattern = regexp.MustCompile(`^[A-Za-z0-9._~-]+$`) -// CreateTrigger creates new trigger +// CreateTrigger creates new trigger. func CreateTrigger(dataBase moira.Database, trigger *dto.TriggerModel, timeSeriesNames map[string]bool) (*dto.SaveTriggerResponse, *api.ErrorResponse) { if trigger.ID == "" { uuid4, err := uuid.NewV4() @@ -44,7 +45,7 @@ func CreateTrigger(dataBase moira.Database, trigger *dto.TriggerModel, timeSerie return resp, err } -// GetAllTriggers gets all moira triggers +// GetAllTriggers gets all moira triggers. func GetAllTriggers(database moira.Database) (*dto.TriggersList, *api.ErrorResponse) { triggerIDs, err := database.GetAllTriggerIDs() if err != nil { @@ -62,7 +63,7 @@ func GetAllTriggers(database moira.Database) (*dto.TriggersList, *api.ErrorRespo return triggersList, nil } -// SearchTriggers gets trigger page and filter trigger by tags and search request terms +// SearchTriggers gets trigger page and filter trigger by tags and search request terms. func SearchTriggers(database moira.Database, searcher moira.Searcher, options moira.SearchOptions) (*dto.TriggersList, *api.ErrorResponse) { //nolint var searchResults []*moira.SearchResult var total int64 @@ -138,10 +139,13 @@ func SearchTriggers(database moira.Database, searcher moira.Searcher, options mo for triggerCheckInd := range triggerChecks { triggerCheck := triggerChecks[triggerCheckInd] if triggerCheck != nil { + triggerCheck.LastCheck.RemoveDeadMetrics() + highlights := make(map[string]string) for _, highlight := range searchResults[triggerCheckInd].Highlights { highlights[highlight.Field] = highlight.Value } + triggerCheck.Highlights = highlights triggersList.List = append(triggersList.List, *triggerCheck) } @@ -191,6 +195,7 @@ func getTriggerChecks(database moira.Database, triggerIDs []string) ([]moira.Tri list := make([]moira.TriggerCheck, 0, len(triggerChecks)) for _, triggerCheck := range triggerChecks { if triggerCheck != nil { + triggerCheck.LastCheck.RemoveDeadMetrics() list = append(list, *triggerCheck) } } @@ -200,7 +205,7 @@ func getTriggerChecks(database moira.Database, triggerIDs []string) ([]moira.Tri func triggerExists(database moira.Database, triggerID string) (bool, error) { _, err := database.GetTrigger(triggerID) - if err == db.ErrNil { + if errors.Is(err, db.ErrNil) { return false, nil } if err != nil { diff --git a/api/controller/triggers_test.go b/api/controller/triggers_test.go index 6c7f03db2..30b174d54 100644 --- a/api/controller/triggers_test.go +++ b/api/controller/triggers_test.go @@ -6,13 +6,13 @@ import ( "testing" "github.com/gofrs/uuid" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" "github.com/moira-alert/moira/api" "github.com/moira-alert/moira/api/dto" "github.com/moira-alert/moira/database" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func TestCreateTrigger(t *testing.T) { @@ -22,7 +22,7 @@ func TestCreateTrigger(t *testing.T) { Convey("Success with trigger.ID empty", t, func() { triggerModel := dto.TriggerModel{} - dataBase.EXPECT().AcquireTriggerCheckLock(gomock.Any(), 10) + dataBase.EXPECT().AcquireTriggerCheckLock(gomock.Any(), 30) dataBase.EXPECT().DeleteTriggerCheckLock(gomock.Any()) dataBase.EXPECT().GetTriggerLastCheck(gomock.Any()).Return(moira.CheckData{}, database.ErrNil) dataBase.EXPECT().SetTriggerLastCheck(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) @@ -36,7 +36,7 @@ func TestCreateTrigger(t *testing.T) { triggerID := uuid.Must(uuid.NewV4()).String() triggerModel := dto.TriggerModel{ID: triggerID} dataBase.EXPECT().GetTrigger(triggerModel.ID).Return(moira.Trigger{}, database.ErrNil) - dataBase.EXPECT().AcquireTriggerCheckLock(gomock.Any(), 10) + dataBase.EXPECT().AcquireTriggerCheckLock(gomock.Any(), 30) dataBase.EXPECT().DeleteTriggerCheckLock(gomock.Any()) dataBase.EXPECT().GetTriggerLastCheck(gomock.Any()).Return(moira.CheckData{}, database.ErrNil) dataBase.EXPECT().SetTriggerLastCheck(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) @@ -51,7 +51,7 @@ func TestCreateTrigger(t *testing.T) { triggerID := "Valid.Custom_Trigger~Name-42" triggerModel := dto.TriggerModel{ID: triggerID} dataBase.EXPECT().GetTrigger(triggerModel.ID).Return(moira.Trigger{}, database.ErrNil) - dataBase.EXPECT().AcquireTriggerCheckLock(gomock.Any(), 10) + dataBase.EXPECT().AcquireTriggerCheckLock(gomock.Any(), 30) dataBase.EXPECT().DeleteTriggerCheckLock(gomock.Any()) dataBase.EXPECT().GetTriggerLastCheck(gomock.Any()).Return(moira.CheckData{}, database.ErrNil) dataBase.EXPECT().SetTriggerLastCheck(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) @@ -94,7 +94,7 @@ func TestCreateTrigger(t *testing.T) { triggerModel := dto.TriggerModel{ID: uuid.Must(uuid.NewV4()).String()} expected := fmt.Errorf("soo bad trigger") dataBase.EXPECT().GetTrigger(triggerModel.ID).Return(moira.Trigger{}, database.ErrNil) - dataBase.EXPECT().AcquireTriggerCheckLock(gomock.Any(), 10) + dataBase.EXPECT().AcquireTriggerCheckLock(gomock.Any(), 30) dataBase.EXPECT().DeleteTriggerCheckLock(gomock.Any()) dataBase.EXPECT().GetTriggerLastCheck(gomock.Any()).Return(moira.CheckData{}, database.ErrNil) dataBase.EXPECT().SetTriggerLastCheck(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) @@ -145,6 +145,76 @@ func TestGetAllTriggers(t *testing.T) { So(err, ShouldResemble, api.ErrorInternalServer(expected)) So(list, ShouldBeNil) }) + + Convey("Has triggers with metrics which DeletedButKept is true", t, func() { + triggerIDs := []string{"1", "2", "3"} + triggers := []*moira.TriggerCheck{ + { + Throttling: 1, + LastCheck: moira.CheckData{ + Metrics: map[string]moira.MetricState{ + "test1": { + DeletedButKept: true, + }, + }, + }, + }, + { + Throttling: 2, + LastCheck: moira.CheckData{ + Metrics: map[string]moira.MetricState{ + "test2": { + DeletedButKept: false, + }, + }, + }, + }, + { + Throttling: 3, + LastCheck: moira.CheckData{ + Metrics: map[string]moira.MetricState{ + "test3": { + DeletedButKept: true, + }, + }, + }, + }, + } + + expected := &dto.TriggersList{ + List: []moira.TriggerCheck{ + { + Throttling: 1, + LastCheck: moira.CheckData{ + Metrics: make(map[string]moira.MetricState), + }, + }, + { + Throttling: 2, + LastCheck: moira.CheckData{ + Metrics: map[string]moira.MetricState{ + "test2": { + DeletedButKept: false, + }, + }, + }, + }, + { + Throttling: 3, + LastCheck: moira.CheckData{ + Metrics: make(map[string]moira.MetricState), + }, + }, + }, + } + + mockDatabase.EXPECT().GetAllTriggerIDs().Return(triggerIDs, nil) + mockDatabase.EXPECT().GetTriggerChecks(triggerIDs).Return(triggers, nil) + + actual, err := GetAllTriggers(mockDatabase) + So(err, ShouldBeNil) + So(actual, ShouldResemble, expected) + }) } func TestSearchTriggers(t *testing.T) { @@ -161,6 +231,7 @@ func TestSearchTriggers(t *testing.T) { Value: value, }) } + triggerSearchResults := make([]*moira.SearchResult, 0) for _, triggerCheck := range triggerChecks { triggerSearchResults = append(triggerSearchResults, &moira.SearchResult{ @@ -168,6 +239,7 @@ func TestSearchTriggers(t *testing.T) { Highlights: testHighlights, }) } + triggerIDs := make([]string, len(triggerChecks)) triggersPointers := make([]*moira.TriggerCheck, len(triggerChecks)) for i, trigger := range triggerChecks { @@ -190,6 +262,84 @@ func TestSearchTriggers(t *testing.T) { } Convey("No tags, no text, onlyErrors = false, ", t, func() { + Convey("With triggers which have metrics on Maintenance", func() { + triggers := []*moira.TriggerCheck{ + { + Throttling: 1, + LastCheck: moira.CheckData{ + Metrics: map[string]moira.MetricState{ + "test1": { + DeletedButKept: true, + }, + }, + }, + }, + { + Throttling: 2, + LastCheck: moira.CheckData{ + Metrics: map[string]moira.MetricState{ + "test2": {}, + }, + }, + }, + { + Throttling: 3, + LastCheck: moira.CheckData{ + Metrics: map[string]moira.MetricState{ + "test3": { + DeletedButKept: true, + }, + }, + }, + }, + } + + mockIndex.EXPECT().SearchTriggers(searchOptions).Return([]*moira.SearchResult{ + { + ObjectID: "1", + }, + { + ObjectID: "2", + }, + { + ObjectID: "3", + }, + }, exp, nil) + mockDatabase.EXPECT().GetTriggerChecks([]string{"1", "2", "3"}).Return(triggers, nil) + list, err := SearchTriggers(mockDatabase, mockIndex, searchOptions) + So(err, ShouldBeNil) + So(list, ShouldResemble, &dto.TriggersList{ + List: []moira.TriggerCheck{ + { + Throttling: 1, + LastCheck: moira.CheckData{ + Metrics: map[string]moira.MetricState{}, + }, + Highlights: map[string]string{}, + }, + { + Throttling: 2, + LastCheck: moira.CheckData{ + Metrics: map[string]moira.MetricState{ + "test2": {}, + }, + }, + Highlights: map[string]string{}, + }, + { + Throttling: 3, + LastCheck: moira.CheckData{ + Metrics: map[string]moira.MetricState{}, + }, + Highlights: map[string]string{}, + }, + }, + Total: &exp, + Page: &searchOptions.Page, + Size: &searchOptions.Size, + }) + }) + Convey("Page is bigger than triggers number", func() { mockIndex.EXPECT().SearchTriggers(searchOptions).Return(triggerSearchResults, exp, nil) mockDatabase.EXPECT().GetTriggerChecks(triggerIDs).Return(triggersPointers, nil) @@ -471,6 +621,7 @@ func TestSearchTriggers(t *testing.T) { Pager: &searchOptions.PagerID, }) }) + Convey("Use pager", func() { searchOptions.PagerID = "TestPagerID" searchOptions.Page = 0 @@ -491,6 +642,7 @@ func TestSearchTriggers(t *testing.T) { Pager: &searchOptions.PagerID, }) }) + Convey("Use pager and page size higher than amount of search results", func() { searchOptions.PagerID = "TestPagerID" var exp int64 = 2 @@ -968,4 +1120,74 @@ func TestGetUnusedTriggerIDs(t *testing.T) { So(err, ShouldResemble, api.ErrorInternalServer(expected)) So(list, ShouldBeNil) }) + + Convey("Has triggers with metrics which DeletedButKept is true", t, func() { + triggerIDs := []string{"1", "2", "3"} + triggers := []*moira.TriggerCheck{ + { + Throttling: 1, + LastCheck: moira.CheckData{ + Metrics: map[string]moira.MetricState{ + "test1": { + DeletedButKept: true, + }, + }, + }, + }, + { + Throttling: 2, + LastCheck: moira.CheckData{ + Metrics: map[string]moira.MetricState{ + "test2": { + DeletedButKept: false, + }, + }, + }, + }, + { + Throttling: 3, + LastCheck: moira.CheckData{ + Metrics: map[string]moira.MetricState{ + "test3": { + DeletedButKept: true, + }, + }, + }, + }, + } + + expected := &dto.TriggersList{ + List: []moira.TriggerCheck{ + { + Throttling: 1, + LastCheck: moira.CheckData{ + Metrics: make(map[string]moira.MetricState), + }, + }, + { + Throttling: 2, + LastCheck: moira.CheckData{ + Metrics: map[string]moira.MetricState{ + "test2": { + DeletedButKept: false, + }, + }, + }, + }, + { + Throttling: 3, + LastCheck: moira.CheckData{ + Metrics: make(map[string]moira.MetricState), + }, + }, + }, + } + + mockDatabase.EXPECT().GetUnusedTriggerIDs().Return(triggerIDs, nil) + mockDatabase.EXPECT().GetTriggerChecks(triggerIDs).Return(triggers, nil) + + actual, err := GetUnusedTriggerIDs(mockDatabase) + So(err, ShouldBeNil) + So(actual, ShouldResemble, expected) + }) } diff --git a/api/controller/user.go b/api/controller/user.go index a9ae895e0..0b3d969d6 100644 --- a/api/controller/user.go +++ b/api/controller/user.go @@ -6,10 +6,14 @@ import ( "github.com/moira-alert/moira/api/dto" ) -// GetUserSettings gets user contacts and subscriptions -func GetUserSettings(database moira.Database, userLogin string) (*dto.UserSettings, *api.ErrorResponse) { +// GetUserSettings gets user contacts and subscriptions. +func GetUserSettings(database moira.Database, userLogin string, auth *api.Authorization) (*dto.UserSettings, *api.ErrorResponse) { userSettings := &dto.UserSettings{ - User: dto.User{Login: userLogin}, + User: dto.User{ + Login: userLogin, + AuthEnabled: auth.IsEnabled(), + Role: auth.GetRole(userLogin), + }, Contacts: make([]moira.ContactData, 0), Subscriptions: make([]moira.SubscriptionData, 0), } diff --git a/api/controller/user_test.go b/api/controller/user_test.go index d53a0d5cf..23f913927 100644 --- a/api/controller/user_test.go +++ b/api/controller/user_test.go @@ -5,12 +5,12 @@ import ( "testing" "github.com/gofrs/uuid" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" "github.com/moira-alert/moira/api" "github.com/moira-alert/moira/api/dto" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func TestGetUserSettings(t *testing.T) { @@ -18,6 +18,7 @@ func TestGetUserSettings(t *testing.T) { defer mockCtrl.Finish() database := mock_moira_alert.NewMockDatabase(mockCtrl) login := "user" + auth := &api.Authorization{} Convey("Success get user data", t, func() { subscriptionIDs := []string{uuid.Must(uuid.NewV4()).String(), uuid.Must(uuid.NewV4()).String()} @@ -28,7 +29,7 @@ func TestGetUserSettings(t *testing.T) { database.EXPECT().GetSubscriptions(subscriptionIDs).Return(subscriptions, nil) database.EXPECT().GetUserContactIDs(login).Return(contactIDs, nil) database.EXPECT().GetContacts(contactIDs).Return(contacts, nil) - settings, err := GetUserSettings(database, login) + settings, err := GetUserSettings(database, login, auth) So(err, ShouldBeNil) So(settings, ShouldResemble, &dto.UserSettings{ User: dto.User{Login: login}, @@ -42,7 +43,7 @@ func TestGetUserSettings(t *testing.T) { database.EXPECT().GetSubscriptions(make([]string, 0)).Return(make([]*moira.SubscriptionData, 0), nil) database.EXPECT().GetUserContactIDs(login).Return(make([]string, 0), nil) database.EXPECT().GetContacts(make([]string, 0)).Return(make([]*moira.ContactData, 0), nil) - settings, err := GetUserSettings(database, login) + settings, err := GetUserSettings(database, login, auth) So(err, ShouldBeNil) So(settings, ShouldResemble, &dto.UserSettings{ User: dto.User{Login: login}, @@ -51,11 +52,44 @@ func TestGetUserSettings(t *testing.T) { }) }) + Convey("Admin auth enabled", t, func() { + adminLogin := "admin_login" + authFull := &api.Authorization{Enabled: true, AdminList: map[string]struct{}{adminLogin: {}}} + + Convey("User is not admin", func() { + database.EXPECT().GetUserSubscriptionIDs(login).Return(make([]string, 0), nil) + database.EXPECT().GetSubscriptions(make([]string, 0)).Return(make([]*moira.SubscriptionData, 0), nil) + database.EXPECT().GetUserContactIDs(login).Return(make([]string, 0), nil) + database.EXPECT().GetContacts(make([]string, 0)).Return(make([]*moira.ContactData, 0), nil) + settings, err := GetUserSettings(database, login, authFull) + So(err, ShouldBeNil) + So(settings, ShouldResemble, &dto.UserSettings{ + User: dto.User{Login: login, Role: api.RoleUser, AuthEnabled: true}, + Contacts: make([]moira.ContactData, 0), + Subscriptions: make([]moira.SubscriptionData, 0), + }) + }) + + Convey("User is admin", func() { + database.EXPECT().GetUserSubscriptionIDs(adminLogin).Return(make([]string, 0), nil) + database.EXPECT().GetSubscriptions(make([]string, 0)).Return(make([]*moira.SubscriptionData, 0), nil) + database.EXPECT().GetUserContactIDs(adminLogin).Return(make([]string, 0), nil) + database.EXPECT().GetContacts(make([]string, 0)).Return(make([]*moira.ContactData, 0), nil) + settings, err := GetUserSettings(database, adminLogin, authFull) + So(err, ShouldBeNil) + So(settings, ShouldResemble, &dto.UserSettings{ + User: dto.User{Login: adminLogin, Role: api.RoleAdmin, AuthEnabled: true}, + Contacts: make([]moira.ContactData, 0), + Subscriptions: make([]moira.SubscriptionData, 0), + }) + }) + }) + Convey("Errors", t, func() { Convey("GetUserSubscriptionIDs", func() { expected := fmt.Errorf("can not read ids") database.EXPECT().GetUserSubscriptionIDs(login).Return(nil, expected) - settings, err := GetUserSettings(database, login) + settings, err := GetUserSettings(database, login, auth) So(err, ShouldResemble, api.ErrorInternalServer(expected)) So(settings, ShouldBeNil) }) @@ -63,7 +97,7 @@ func TestGetUserSettings(t *testing.T) { expected := fmt.Errorf("can not read subscriptions") database.EXPECT().GetUserSubscriptionIDs(login).Return(make([]string, 0), nil) database.EXPECT().GetSubscriptions(make([]string, 0)).Return(nil, expected) - settings, err := GetUserSettings(database, login) + settings, err := GetUserSettings(database, login, auth) So(err, ShouldResemble, api.ErrorInternalServer(expected)) So(settings, ShouldBeNil) }) @@ -72,7 +106,7 @@ func TestGetUserSettings(t *testing.T) { database.EXPECT().GetUserSubscriptionIDs(login).Return(make([]string, 0), nil) database.EXPECT().GetSubscriptions(make([]string, 0)).Return(make([]*moira.SubscriptionData, 0), nil) database.EXPECT().GetUserContactIDs(login).Return(nil, expected) - settings, err := GetUserSettings(database, login) + settings, err := GetUserSettings(database, login, auth) So(err, ShouldResemble, api.ErrorInternalServer(expected)) So(settings, ShouldBeNil) }) @@ -85,7 +119,7 @@ func TestGetUserSettings(t *testing.T) { database.EXPECT().GetSubscriptions(subscriptionIDs).Return(subscriptions, nil) database.EXPECT().GetUserContactIDs(login).Return(contactIDs, nil) database.EXPECT().GetContacts(contactIDs).Return(nil, expected) - settings, err := GetUserSettings(database, login) + settings, err := GetUserSettings(database, login, auth) So(err, ShouldResemble, api.ErrorInternalServer(expected)) So(settings, ShouldBeNil) }) diff --git a/api/dto/contact.go b/api/dto/contact.go index 12e9fd1da..84ffe2f57 100644 --- a/api/dto/contact.go +++ b/api/dto/contact.go @@ -18,6 +18,7 @@ func (*ContactList) Render(w http.ResponseWriter, r *http.Request) error { type Contact struct { Type string `json:"type" example:"mail"` + Name string `json:"name,omitempty" example:"Mail Alerts"` Value string `json:"value" example:"devops@example.com"` ID string `json:"id,omitempty" example:"1dd38765-c5be-418d-81fa-7a5f879c2315"` User string `json:"user,omitempty" example:""` diff --git a/api/dto/subscription.go b/api/dto/subscription.go index 36617e770..38178db3a 100644 --- a/api/dto/subscription.go +++ b/api/dto/subscription.go @@ -10,22 +10,21 @@ import ( "github.com/moira-alert/moira/api/middleware" ) -// ErrSubscriptionContainsTeamAndUser used when user try to save subscription team and user attributes specified -type ErrSubscriptionContainsTeamAndUser struct { -} +// ErrSubscriptionContainsTeamAndUser used when user try to save subscription team and user attributes specified. +type ErrSubscriptionContainsTeamAndUser struct{} -// Error is an error interface implementation method +// Error is an error interface implementation method. func (ErrSubscriptionContainsTeamAndUser) Error() string { return "cannot create subscription that contains contact and team attributes" } -// ErrProvidedContactsForbidden used when user try to save subscription with another users contacts +// ErrProvidedContactsForbidden used when user try to save subscription with another users contacts. type ErrProvidedContactsForbidden struct { contactIds []string contactNames []string } -// Error is implementation of golang error interface for ErrProvidedContactsForbidden struct +// Error is implementation of golang error interface for ErrProvidedContactsForbidden struct. func (err ErrProvidedContactsForbidden) Error() string { if len(err.contactNames) == 1 { return fmt.Sprintf("user not permitted to use contact '%s'", err.contactNames[0]) @@ -71,9 +70,17 @@ func (subscription *Subscription) checkContacts(request *http.Request) error { database := middleware.GetDatabase(request) userLogin := middleware.GetLogin(request) teamID := middleware.GetTeamID(request) + auth := middleware.GetAuth(request) + if teamID == "" && subscription.TeamID != "" { teamID = subscription.TeamID } + + // Only admins are allowed to create subscriptions for other users + if auth.IsAdmin(userLogin) && subscription.User != "" { + userLogin = subscription.User + } + if subscription.User != "" && teamID != "" { return ErrSubscriptionContainsTeamAndUser{} } @@ -123,7 +130,7 @@ func (subscription *Subscription) checkContacts(request *http.Request) error { } func normalizeTags(tags []string) []string { - var normalized = make([]string, 0) + normalized := make([]string, 0) for _, subTag := range tags { if subTag != "" { normalized = append(normalized, subTag) diff --git a/api/dto/subscription_test.go b/api/dto/subscription_test.go index 69a1e556c..d0c2d1ed3 100644 --- a/api/dto/subscription_test.go +++ b/api/dto/subscription_test.go @@ -8,11 +8,12 @@ import ( "strings" "testing" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" + "github.com/moira-alert/moira/api" "github.com/moira-alert/moira/api/middleware" mock "github.com/moira-alert/moira/mock/moira-alert" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func TestSubscription_checkContacts(t *testing.T) { @@ -21,6 +22,8 @@ func TestSubscription_checkContacts(t *testing.T) { defer mockCtrl.Finish() dataBase := mock.NewMockDatabase(mockCtrl) + auth := &api.Authorization{Enabled: false} + subscription := Subscription{} const userID = "userID" const teamID = "teamID" @@ -30,6 +33,7 @@ func TestSubscription_checkContacts(t *testing.T) { Convey("For user", func() { request := httptest.NewRequest(http.MethodPost, "/api/subscriptions", strings.NewReader("")) + request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "auth", auth)) middleware.DatabaseContext(dataBase)(http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) { request = req })).ServeHTTP(responseWriter, request) @@ -56,6 +60,7 @@ func TestSubscription_checkContacts(t *testing.T) { Convey("For team", func() { request := httptest.NewRequest(http.MethodPost, fmt.Sprintf("/api/teams/%s/subscriptions", teamID), strings.NewReader("")) + request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "auth", auth)) middleware.DatabaseContext(dataBase)(http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) { request = req })).ServeHTTP(responseWriter, request) @@ -82,6 +87,7 @@ func TestSubscription_checkContacts(t *testing.T) { Convey("Error bot teamID and userID specified in JSON", func() { request := httptest.NewRequest(http.MethodPost, fmt.Sprintf("/api/teams/%s/subscriptions", teamID), strings.NewReader("")) + request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "auth", auth)) middleware.DatabaseContext(dataBase)(http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) { request = req })).ServeHTTP(responseWriter, request) diff --git a/api/dto/tag.go b/api/dto/tag.go index 9fd435bf4..0188791c7 100644 --- a/api/dto/tag.go +++ b/api/dto/tag.go @@ -11,10 +11,17 @@ type TagsData struct { TagNames []string `json:"list" example:"cpu"` } +// Render is a function that implements chi Renderer interface for TagsData. func (*TagsData) Render(w http.ResponseWriter, r *http.Request) error { return nil } +// Bind is a method that implements Binder interface from chi and checks that validity of data in request. +func (tags *TagsData) Bind(request *http.Request) error { + tags.TagNames = normalizeTags(tags.TagNames) + return nil +} + type MessageResponse struct { Message string `json:"message" example:"tag deleted"` } diff --git a/api/dto/target.go b/api/dto/target.go index 39044d3ac..0d877185e 100644 --- a/api/dto/target.go +++ b/api/dto/target.go @@ -2,13 +2,14 @@ package dto import ( "fmt" + "strings" "time" "github.com/go-graphite/carbonapi/expr/functions" "github.com/go-graphite/carbonapi/expr/metadata" - "github.com/moira-alert/moira" - "github.com/go-graphite/carbonapi/pkg/parser" + "github.com/moira-alert/moira" + "github.com/moira-alert/moira/filter" ) func init() { @@ -181,7 +182,7 @@ func DoesAnyTreeHaveError(trees []TreeOfProblems) bool { // checkExpression validates expression. func checkExpression(expression parser.Expr, ttl time.Duration, triggerSource moira.TriggerSource) *ProblemOfTarget { - if !expression.IsFunc() { + if !expression.IsFunc() && !strings.HasPrefix(expression.Target(), "seriesByTag") { return nil } @@ -204,7 +205,7 @@ func checkExpression(expression parser.Expr, ttl time.Duration, triggerSource mo } for position, argument := range expression.Args() { - if !argument.IsFunc() { + if !argument.IsFunc() && !strings.HasPrefix(argument.Target(), "seriesByTag") { continue } @@ -227,6 +228,25 @@ func checkFunction(funcName string, triggerSource moira.TriggerSource) *ProblemO return nil } + if strings.HasPrefix(funcName, "seriesByTag") { + valid, err := validateSeriesByTag(funcName) + if err != nil { + return &ProblemOfTarget{ + Argument: funcName, + Type: isBad, + Description: "Incorrect seriesByTag syntax.", + } + } + if !valid { + return &ProblemOfTarget{ + Argument: funcName, + Type: isBad, + Description: "seriesByTag function requires at least one argument with strict equality.", + } + } + funcName = "seriesByTag" + } + if _, isUnstable := unstableFunctions[funcName]; isUnstable { return &ProblemOfTarget{ Argument: funcName, @@ -264,7 +284,7 @@ func checkFunction(funcName string, triggerSource moira.TriggerSource) *ProblemO return nil } -// functionArgumentsInTheRangeTTL: Checking function arguments that they are in the range of TTL +// functionArgumentsInTheRangeTTL: Checking function arguments that they are in the range of TTL. func functionArgumentsInTheRangeTTL(expression parser.Expr, ttl time.Duration) (string, bool) { if _, ok := timedFunctions[expression.Target()]; ok && len(expression.Args()) > 1 { argument, argumentDuration := positiveDuration(expression.Args()[1]) @@ -279,7 +299,26 @@ func funcIsSupported(funcName string) bool { return ok || funcName == "" } -// positiveDuration: +// checks if a seriesByTag expression has at least one argument with a strict equality. +func validateSeriesByTag(target string) (bool, error) { + tagArgs, err := filter.ParseSeriesByTag(target) + if err != nil { + return false, err + } + + for _, arg := range tagArgs { + if arg.Operator == filter.EqualOperator && !hasWildcard(arg.Value) { + return true, nil + } + } + + return false, nil +} + +func hasWildcard(target string) bool { + return strings.ContainsAny(target, "[]{}*?") +} + func positiveDuration(argument parser.Expr) (string, time.Duration) { var secondTimeDuration time.Duration var value string diff --git a/api/dto/target_test.go b/api/dto/target_test.go index 849527d7c..a83b6c536 100644 --- a/api/dto/target_test.go +++ b/api/dto/target_test.go @@ -118,6 +118,53 @@ func TestTargetVerification(t *testing.T) { So(problems[0].SyntaxOk, ShouldBeFalse) So(problems[0].TreeOfProblems, ShouldBeNil) }) + + Convey("Check seriesByTag target without non-regex args, regex has anchors", func() { + targets := []string{"seriesByTag('name=~^tag\\..*$')"} + problems, err := TargetVerification(targets, 0, moira.GraphiteLocal) + So(err, ShouldBeNil) + So(problems[0].SyntaxOk, ShouldBeTrue) + So(problems[0].TreeOfProblems.Argument, ShouldEqual, "seriesByTag('name=~^tag\\..*$')") + So(problems[0].TreeOfProblems.Type, ShouldEqual, isBad) + }) + + Convey("Check seriesByTag target with a wildcard argument", func() { + targets := []string{"seriesByTag('name=ab.bc.*.cd.*.ef')"} + problems, err := TargetVerification(targets, 0, moira.GraphiteLocal) + So(err, ShouldBeNil) + So(problems[0].SyntaxOk, ShouldBeTrue) + So(problems[0].TreeOfProblems.Argument, ShouldEqual, "seriesByTag('name=ab.bc.*.cd.*.ef')") + So(problems[0].TreeOfProblems.Type, ShouldEqual, isBad) + }) + + Convey("Check nested seriesByTag target without non-regex args", func() { + targets := []string{"aliasByTags(seriesByTag('name=~*'),'tag')"} + + problems, err := TargetVerification(targets, 0, moira.GraphiteLocal) + So(err, ShouldBeNil) + So(problems[0].SyntaxOk, ShouldBeTrue) + So(problems[0].TreeOfProblems.Problems[0].Argument, ShouldEqual, "seriesByTag('name=~*')") + So(problems[0].TreeOfProblems.Problems[0].Type, ShouldEqual, isBad) + }) + + Convey("Check nested seriesByTag target without arguments that have strict equality", func() { + targets := []string{"aliasByTags(seriesByTag('name=~*', 'tag1~=*val1*', 'tag2=*val2*'),'tag')"} + + problems, err := TargetVerification(targets, 0, moira.GraphiteLocal) + So(err, ShouldBeNil) + So(problems[0].SyntaxOk, ShouldBeTrue) + So(problems[0].TreeOfProblems.Problems[0].Argument, ShouldEqual, "seriesByTag('name=~*', 'tag1~=*val1*', 'tag2=*val2*')") + So(problems[0].TreeOfProblems.Problems[0].Type, ShouldEqual, isBad) + }) + + Convey("Check nested seriesByTag target with an argument that has strict equality", func() { + targets := []string{"aliasByTags(seriesByTag('name=~*', 'tag1=val1', 'tag2=val2', 'tag3=val3*'),'tag')"} + + problems, err := TargetVerification(targets, 0, moira.GraphiteLocal) + So(err, ShouldBeNil) + So(problems[0].SyntaxOk, ShouldBeTrue) + So(problems[0].TreeOfProblems, ShouldBeNil) + }) }) } diff --git a/api/dto/team.go b/api/dto/team.go index 53b129967..9b08cb7ee 100644 --- a/api/dto/team.go +++ b/api/dto/team.go @@ -13,14 +13,14 @@ const ( teamDescriptionLimit = 1000 ) -// TeamModel is a structure that represents team entity in HTTP transfer +// TeamModel is a structure that represents team entity in HTTP transfer. type TeamModel struct { ID string `json:"id" example:"d5d98eb3-ee18-4f75-9364-244f67e23b54"` Name string `json:"name" example:"Infrastructure Team"` Description string `json:"description" example:"Team that holds all members of infrastructure division"` } -// NewTeamModel is a constructor function that creates a new TeamModel using moira.Team +// NewTeamModel is a constructor function that creates a new TeamModel using moira.Team. func NewTeamModel(team moira.Team) TeamModel { return TeamModel{ ID: team.ID, @@ -29,7 +29,7 @@ func NewTeamModel(team moira.Team) TeamModel { } } -// Bind is a method that implements Binder interface from chi and checks that validity of data in request +// Bind is a method that implements Binder interface from chi and checks that validity of data in request. func (t TeamModel) Bind(request *http.Request) error { if t.Name == "" { return fmt.Errorf("team name cannot be empty") @@ -43,12 +43,12 @@ func (t TeamModel) Bind(request *http.Request) error { return nil } -// Render is a function that implements chi Renderer interface for TeamModel +// Render is a function that implements chi Renderer interface for TeamModel. func (TeamModel) Render(w http.ResponseWriter, r *http.Request) error { return nil } -// ToMoiraTeam is a method that converts dto.Team to general moira.Team datatype +// ToMoiraTeam is a method that converts dto.Team to general moira.Team datatype. func (t TeamModel) ToMoiraTeam() moira.Team { return moira.Team{ ID: t.ID, @@ -57,32 +57,32 @@ func (t TeamModel) ToMoiraTeam() moira.Team { } } -// SaveTeamResponse is a structure to return team creation result in HTTP response +// SaveTeamResponse is a structure to return team creation result in HTTP response. type SaveTeamResponse struct { ID string `json:"id" example:"d5d98eb3-ee18-4f75-9364-244f67e23b54"` } -// Render is a function that implements chi Renderer interface for SaveTeamResponse +// Render is a function that implements chi Renderer interface for SaveTeamResponse. func (SaveTeamResponse) Render(w http.ResponseWriter, r *http.Request) error { return nil } -// UserTeams is a structure that represents a set of teams of user +// UserTeams is a structure that represents a set of teams of user. type UserTeams struct { Teams []TeamModel `json:"teams"` } -// Render is a function that implements chi Renderer interface for UserTeams +// Render is a function that implements chi Renderer interface for UserTeams. func (UserTeams) Render(w http.ResponseWriter, r *http.Request) error { return nil } -// TeamMembers is a structure that represents a team members in HTTP transfer +// TeamMembers is a structure that represents a team members in HTTP transfer. type TeamMembers struct { Usernames []string `json:"usernames" example:"anonymous"` } -// Bind is a method that implements Binder interface from chi and checks that validity of data in request +// Bind is a method that implements Binder interface from chi and checks that validity of data in request. func (m TeamMembers) Bind(request *http.Request) error { if len(m.Usernames) == 0 { return fmt.Errorf("at least one user should be specified") @@ -90,7 +90,7 @@ func (m TeamMembers) Bind(request *http.Request) error { return nil } -// Render is a function that implements chi Renderer interface for TeamMembers +// Render is a function that implements chi Renderer interface for TeamMembers. func (TeamMembers) Render(w http.ResponseWriter, r *http.Request) error { return nil } diff --git a/api/dto/triggers.go b/api/dto/triggers.go index 78755b53f..b35ce20ef 100644 --- a/api/dto/triggers.go +++ b/api/dto/triggers.go @@ -17,9 +17,12 @@ import ( metricSource "github.com/moira-alert/moira/metric_source" ) -var targetNameRegex = regexp.MustCompile("t(\\d+)") +var targetNameRegex = regexp.MustCompile("^t\\d+$") -// TODO(litleleprikon): Remove after https://github.com/moira-alert/moira/issues/550 will be resolved +// ErrBadAloneMetricName is used when any key in map TriggerModel.AloneMetric doesn't match targetNameRegex. +var ErrBadAloneMetricName = fmt.Errorf("alone metrics' target name must match the pattern: ^t\\d+$, for example: 't1'") + +// TODO(litleleprikon): Remove after https://github.com/moira-alert/moira/issues/550 will be resolved. var asteriskPattern = "*" type TriggersList struct { @@ -39,7 +42,7 @@ type Trigger struct { Throttling int64 `json:"throttling" example:"0" format:"int64"` } -// TriggerModel is moira.Trigger api representation +// TriggerModel is moira.Trigger api representation. type TriggerModel struct { // Trigger unique ID ID string `json:"id" example:"292516ed-4924-4154-a62c-ebe312431fce"` @@ -71,8 +74,10 @@ type TriggerModel struct { // // Deprecated: Use TriggerSource field instead IsRemote bool `json:"is_remote" example:"false"` - // Shows the source from where the metrics are fetched + // Shows the type of source from where the metrics are fetched TriggerSource moira.TriggerSource `json:"trigger_source" example:"graphite_local"` + // Shows the exact cluster from where the metrics are fetched + ClusterId moira.ClusterId `json:"cluster_id" example:"default"` // If true, first event NODATA → OK will be omitted MuteNewMetrics bool `json:"mute_new_metrics" example:"false"` // A list of targets that have only alone metrics @@ -87,7 +92,12 @@ type TriggerModel struct { UpdatedBy string `json:"updated_by"` } -// ToMoiraTrigger transforms TriggerModel to moira.Trigger +// ClusterKey returns cluster key composed of trigger source and cluster id associated with the trigger. +func (model *TriggerModel) ClusterKey() moira.ClusterKey { + return moira.MakeClusterKey(model.TriggerSource, model.ClusterId) +} + +// ToMoiraTrigger transforms TriggerModel to moira.Trigger. func (model *TriggerModel) ToMoiraTrigger() *moira.Trigger { return &moira.Trigger{ ID: model.ID, @@ -104,13 +114,14 @@ func (model *TriggerModel) ToMoiraTrigger() *moira.Trigger { Expression: &model.Expression, Patterns: model.Patterns, TriggerSource: model.TriggerSource, + ClusterId: model.ClusterId, MuteNewMetrics: model.MuteNewMetrics, AloneMetrics: model.AloneMetrics, UpdatedBy: model.UpdatedBy, } } -// CreateTriggerModel transforms moira.Trigger to TriggerModel +// CreateTriggerModel transforms moira.Trigger to TriggerModel. func CreateTriggerModel(trigger *moira.Trigger) TriggerModel { return TriggerModel{ ID: trigger.ID, @@ -128,6 +139,7 @@ func CreateTriggerModel(trigger *moira.Trigger) TriggerModel { Patterns: trigger.Patterns, IsRemote: trigger.TriggerSource == moira.GraphiteRemote, TriggerSource: trigger.TriggerSource, + ClusterId: trigger.ClusterId, MuteNewMetrics: trigger.MuteNewMetrics, AloneMetrics: trigger.AloneMetrics, CreatedAt: getDateTime(trigger.CreatedAt), @@ -142,32 +154,43 @@ func (trigger *Trigger) Bind(request *http.Request) error { if len(trigger.Targets) == 0 { return api.ErrInvalidRequestContent{ValidationError: fmt.Errorf("targets is required")} } + if len(trigger.Tags) == 0 { return api.ErrInvalidRequestContent{ValidationError: fmt.Errorf("tags is required")} } + if trigger.Name == "" { return api.ErrInvalidRequestContent{ValidationError: fmt.Errorf("trigger name is required")} } + if err := checkWarnErrorExpression(trigger); err != nil { return api.ErrInvalidRequestContent{ValidationError: err} } + if len(trigger.Targets) <= 1 { // we should have empty alone metrics dictionary when there is only one target trigger.AloneMetrics = map[string]bool{} } + for targetName := range trigger.AloneMetrics { if !targetNameRegex.MatchString(targetName) { - return api.ErrInvalidRequestContent{ValidationError: fmt.Errorf("alone metrics target name should be in pattern: t\\d+")} + return api.ErrInvalidRequestContent{ValidationError: ErrBadAloneMetricName} } - targetIndexStr := targetNameRegex.FindStringSubmatch(targetName)[1] + + targetIndexStr := targetName[1:] targetIndex, err := strconv.Atoi(targetIndexStr) if err != nil { return api.ErrInvalidRequestContent{ValidationError: fmt.Errorf("alone metrics target index should be valid number: %w", err)} } + if targetIndex < 0 || targetIndex > len(trigger.Targets) { return api.ErrInvalidRequestContent{ValidationError: fmt.Errorf("alone metrics target index should be in range from 1 to length of targets")} } } + if trigger.TTLState == nil { + trigger.TTLState = &moira.TTLStateNODATA + } + triggerExpression := expression.TriggerExpression{ AdditionalTargetsValues: make(map[string]float64), WarnValue: trigger.WarnValue, @@ -178,13 +201,17 @@ func (trigger *Trigger) Bind(request *http.Request) error { } trigger.TriggerSource = trigger.TriggerSource.FillInIfNotSet(trigger.IsRemote) + trigger.ClusterId = trigger.ClusterId.FillInIfNotSet() metricsSourceProvider := middleware.GetTriggerTargetsSourceProvider(request) - metricsSource, err := metricsSourceProvider.GetMetricSource(trigger.TriggerSource) + metricsSource, err := metricsSourceProvider.GetMetricSource(trigger.ClusterKey()) if err != nil { return err } + if trigger.TTL == 0 { + trigger.TTL = moira.DefaultTTL + } if err := checkTTLSanity(trigger, metricsSource); err != nil { return api.ErrInvalidRequestContent{ValidationError: err} } @@ -193,6 +220,7 @@ func (trigger *Trigger) Bind(request *http.Request) error { if err != nil { return err } + // TODO(litleleprikon): Remove after https://github.com/moira-alert/moira/issues/550 will be resolved for _, pattern := range trigger.Patterns { if pattern == asteriskPattern { @@ -200,6 +228,10 @@ func (trigger *Trigger) Bind(request *http.Request) error { } } + if trigger.Schedule == nil { + trigger.Schedule = moira.NewDefaultScheduleData() + } + middleware.SetTimeSeriesNames(request, metricsDataNames) if _, err := triggerExpression.Evaluate(); err != nil { @@ -364,8 +396,8 @@ func (trigger *Trigger) PopulatedDescription(events moira.NotificationEvents) er return nil } - templatingEvents := moira.NotificationEventsToTemplatingEvents(events) - description, err := templating.Populate(trigger.Name, *trigger.Desc, templatingEvents) + triggerDescriptionPopulater := templating.NewTriggerDescriptionPopulater(trigger.Name, events.ToTemplateEvents()) + description, err := triggerDescriptionPopulater.Populate(*trigger.Desc) if err != nil { return fmt.Errorf("you have an error in your Go template: %v", err) } diff --git a/api/dto/triggers_test.go b/api/dto/triggers_test.go index ddd710437..90b8a87d0 100644 --- a/api/dto/triggers_test.go +++ b/api/dto/triggers_test.go @@ -13,8 +13,8 @@ import ( metricSource "github.com/moira-alert/moira/metric_source" mock_metric_source "github.com/moira-alert/moira/mock/metric_source" - "github.com/golang/mock/gomock" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func TestTriggerValidation(t *testing.T) { @@ -25,7 +25,7 @@ func TestTriggerValidation(t *testing.T) { localSource := mock_metric_source.NewMockMetricSource(mockCtrl) remoteSource := mock_metric_source.NewMockMetricSource(mockCtrl) fetchResult := mock_metric_source.NewMockFetchResult(mockCtrl) - sourceProvider := metricSource.CreateMetricSourceProvider(localSource, remoteSource, nil) + sourceProvider := metricSource.CreateTestMetricSourceProvider(localSource, remoteSource, nil) request, _ := http.NewRequest("PUT", "/api/trigger", nil) request.Header.Set("Content-Type", "application/json") @@ -46,12 +46,13 @@ func TestTriggerValidation(t *testing.T) { Tags: tags, TTLState: &moira.TTLStateNODATA, TTL: 600, + Schedule: moira.NewDefaultScheduleData(), TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, MuteNewMetrics: false, } Convey("Test FallingTrigger", func() { - localSource.EXPECT().IsConfigured().Return(true, nil).AnyTimes() localSource.EXPECT().GetMetricsTTLSeconds().Return(int64(3600)).AnyTimes() localSource.EXPECT().Fetch(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(fetchResult, nil).AnyTimes() fetchResult.EXPECT().GetPatterns().Return(make([]string, 0), nil).AnyTimes() @@ -94,7 +95,6 @@ func TestTriggerValidation(t *testing.T) { }) }) Convey("Test RisingTrigger", func() { - localSource.EXPECT().IsConfigured().Return(true, nil).AnyTimes() localSource.EXPECT().GetMetricsTTLSeconds().Return(int64(3600)).AnyTimes() localSource.EXPECT().Fetch(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(fetchResult, nil).AnyTimes() fetchResult.EXPECT().GetPatterns().Return(make([]string, 0), nil).AnyTimes() @@ -137,7 +137,6 @@ func TestTriggerValidation(t *testing.T) { }) }) Convey("Test ExpressionTrigger", func() { - localSource.EXPECT().IsConfigured().Return(true, nil).AnyTimes() localSource.EXPECT().GetMetricsTTLSeconds().Return(int64(3600)).AnyTimes() localSource.EXPECT().Fetch(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(fetchResult, nil).AnyTimes() fetchResult.EXPECT().GetPatterns().Return(make([]string, 0), nil).AnyTimes() @@ -173,7 +172,6 @@ func TestTriggerValidation(t *testing.T) { }) Convey("Test alone metrics", func() { - localSource.EXPECT().IsConfigured().Return(true, nil).AnyTimes() localSource.EXPECT().GetMetricsTTLSeconds().Return(int64(3600)).AnyTimes() localSource.EXPECT().Fetch(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(fetchResult, nil).AnyTimes() fetchResult.EXPECT().GetPatterns().Return(make([]string, 0), nil).AnyTimes() @@ -205,7 +203,13 @@ func TestTriggerValidation(t *testing.T) { trigger.AloneMetrics = map[string]bool{"ttt": true} tr := Trigger{trigger, throttling} err := tr.Bind(request) - So(err, ShouldResemble, api.ErrInvalidRequestContent{ValidationError: fmt.Errorf("alone metrics target name should be in pattern: t\\d+")}) + So(err, ShouldResemble, api.ErrInvalidRequestContent{ValidationError: ErrBadAloneMetricName}) + }) + Convey("have more than 1 metric name but only 1 need", func() { + trigger.AloneMetrics = map[string]bool{"t1 t2": true} + tr := Trigger{trigger, throttling} + err := tr.Bind(request) + So(err, ShouldResemble, api.ErrInvalidRequestContent{ValidationError: ErrBadAloneMetricName}) }) Convey("have target higher than total amount of targets", func() { trigger.AloneMetrics = map[string]bool{"t3": true} @@ -216,7 +220,6 @@ func TestTriggerValidation(t *testing.T) { }) Convey("Test patterns", func() { - localSource.EXPECT().IsConfigured().Return(true, nil).AnyTimes() localSource.EXPECT().GetMetricsTTLSeconds().Return(int64(3600)).AnyTimes() localSource.EXPECT().Fetch(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(fetchResult, nil).AnyTimes() fetchResult.EXPECT().GetMetricsData().Return([]metricSource.MetricData{*metricSource.MakeMetricData("", []float64{}, 0, 0)}).AnyTimes() @@ -272,6 +275,7 @@ func TestTriggerModel_ToMoiraTrigger(t *testing.T) { Expression: expression, Patterns: []string{"pattern-1", "pattern-2"}, TriggerSource: moira.GraphiteRemote, + ClusterId: moira.DefaultCluster, MuteNewMetrics: true, AloneMetrics: map[string]bool{ "t1": true, @@ -305,6 +309,7 @@ func TestTriggerModel_ToMoiraTrigger(t *testing.T) { Expression: &expression, Patterns: []string{"pattern-1", "pattern-2"}, TriggerSource: moira.GraphiteRemote, + ClusterId: moira.DefaultCluster, MuteNewMetrics: true, AloneMetrics: map[string]bool{ "t1": true, @@ -346,6 +351,7 @@ func TestCreateTriggerModel(t *testing.T) { Expression: &expression, Patterns: []string{"pattern-1", "pattern-2"}, TriggerSource: moira.GraphiteRemote, + ClusterId: moira.DefaultCluster, MuteNewMetrics: true, AloneMetrics: map[string]bool{ "t1": true, @@ -377,6 +383,7 @@ func TestCreateTriggerModel(t *testing.T) { Expression: expression, Patterns: []string{"pattern-1", "pattern-2"}, TriggerSource: moira.GraphiteRemote, + ClusterId: moira.DefaultCluster, IsRemote: true, MuteNewMetrics: true, AloneMetrics: map[string]bool{ diff --git a/api/dto/user.go b/api/dto/user.go index 68d45eca2..e86438486 100644 --- a/api/dto/user.go +++ b/api/dto/user.go @@ -5,6 +5,7 @@ import ( "net/http" "github.com/moira-alert/moira" + "github.com/moira-alert/moira/api" ) type UserSettings struct { @@ -18,7 +19,9 @@ func (*UserSettings) Render(w http.ResponseWriter, r *http.Request) error { } type User struct { - Login string `json:"login" example:"john"` + Login string `json:"login" example:"john"` + Role api.Role `json:"role,omitempty" example:"user"` + AuthEnabled bool `json:"auth_enabled,omitempty" example:"true"` } func (*User) Render(w http.ResponseWriter, r *http.Request) error { diff --git a/api/error.go b/api/error.go index e3c408fa7..9da089a25 100644 --- a/api/error.go +++ b/api/error.go @@ -1,11 +1,11 @@ package api -// ErrInvalidRequestContent used as custom error for dto logical validations +// ErrInvalidRequestContent used as custom error for dto logical validations. type ErrInvalidRequestContent struct { ValidationError error } -// Error is a representation of Error interface method +// Error is a representation of Error interface method. func (err ErrInvalidRequestContent) Error() string { return err.ValidationError.Error() } diff --git a/api/error_response.go b/api/error_response.go index 08dfec426..a52999472 100644 --- a/api/error_response.go +++ b/api/error_response.go @@ -7,7 +7,7 @@ import ( "github.com/go-chi/render" ) -// ErrorResponse represents custom error response with statusText and error description +// ErrorResponse represents custom error response with statusText and error description. type ErrorResponse struct { Err error `json:"-"` // low-level runtime error HTTPStatusCode int `json:"-"` // http response status code @@ -16,13 +16,13 @@ type ErrorResponse struct { ErrorText string `json:"error,omitempty"` // application-level error message, for debugging } -// Render realization method for render.renderer +// Render realization method for render.renderer. func (e *ErrorResponse) Render(w http.ResponseWriter, r *http.Request) error { render.Status(r, e.HTTPStatusCode) return nil } -// ErrorInternalServer returns error response with status=500 and given error +// ErrorInternalServer returns error response with status=500 and given error. func ErrorInternalServer(err error) *ErrorResponse { return &ErrorResponse{ Err: err, @@ -32,7 +32,7 @@ func ErrorInternalServer(err error) *ErrorResponse { } } -// ErrorInvalidRequest return error response with status = 400 and given error +// ErrorInvalidRequest return error response with status = 400 and given error. func ErrorInvalidRequest(err error) *ErrorResponse { return &ErrorResponse{ Err: err, @@ -42,7 +42,7 @@ func ErrorInvalidRequest(err error) *ErrorResponse { } } -// ErrorRender return 422 render error and used for response rendering errors +// ErrorRender return 422 render error and used for response rendering errors. func ErrorRender(err error) *ErrorResponse { return &ErrorResponse{ Err: err, @@ -52,7 +52,7 @@ func ErrorRender(err error) *ErrorResponse { } } -// ErrorNotFound return 404 with given error text +// ErrorNotFound return 404 with given error text. func ErrorNotFound(errorText string) *ErrorResponse { return &ErrorResponse{ HTTPStatusCode: http.StatusNotFound, @@ -61,7 +61,7 @@ func ErrorNotFound(errorText string) *ErrorResponse { } } -// ErrorForbidden return 403 with given error text +// ErrorForbidden return 403 with given error text. func ErrorForbidden(errorText string) *ErrorResponse { return &ErrorResponse{ HTTPStatusCode: http.StatusForbidden, @@ -70,7 +70,7 @@ func ErrorForbidden(errorText string) *ErrorResponse { } } -// ErrorRemoteServerUnavailable return 503 when remote trigger check failed +// ErrorRemoteServerUnavailable return 503 when remote trigger check failed. func ErrorRemoteServerUnavailable(err error) *ErrorResponse { return &ErrorResponse{ Err: err, @@ -80,14 +80,13 @@ func ErrorRemoteServerUnavailable(err error) *ErrorResponse { } } -// ErrNotFound is default router page not found +// ErrNotFound is default router page not found. var ErrNotFound = &ErrorResponse{HTTPStatusCode: http.StatusNotFound, StatusText: "Page not found."} -// ErrMethodNotAllowed is default 405 router method not allowed +// ErrMethodNotAllowed is default 405 router method not allowed. var ErrMethodNotAllowed = &ErrorResponse{HTTPStatusCode: http.StatusMethodNotAllowed, StatusText: "Method not allowed."} -// Examples for `swaggo`: - +// Following types are declared to generate examples with `swaggo`. type ErrorInternalServerExample struct { StatusText string `json:"status" example:"Internal Server Error"` ErrorText string `json:"error" example:"server error during request handling"` diff --git a/api/handler/config.go b/api/handler/config.go index bfa6a84f1..780d3509a 100644 --- a/api/handler/config.go +++ b/api/handler/config.go @@ -1,31 +1,26 @@ package handler -import "net/http" +import ( + "net/http" -type ContactExample struct { - Type string `json:"type" example:"webhook kontur"` - Label string `json:"label" example:"Webhook Kontur"` - Validation string `json:"validation" example:"^(http|https):\\/\\/.*(moira.ru)(:[0-9]{2,5})?\\/"` - Placeholder string `json:"placeholder" example:"https://moira.ru/webhooks/moira"` - Help string `json:"help" example:"### Domains whitelist:\n - moira.ru\n"` -} - -type ConfigurationResponse struct { - RemoteAllowed bool `json:"remoteAllowed" example:"false"` - Contacts []ContactExample `json:"contacts"` -} + "github.com/go-chi/render" + "github.com/moira-alert/moira/api" +) // nolint: gofmt,goimports // -// @summary Get available configuration +// @summary Get web configuration // @id get-web-config // @tags config // @produce json -// @success 200 {object} ConfigurationResponse "Configuration fetched successfully" +// @success 200 {object} api.WebConfig "Configuration fetched successfully" +// @failure 422 {object} api.ErrorRenderExample "Render error" // @router /config [get] -func getWebConfig(configContent []byte) http.HandlerFunc { +func getWebConfig(webConfig *api.WebConfig) http.HandlerFunc { return http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) { - writer.Header().Set("Content-Type", "application/json") - writer.Write(configContent) //nolint + if err := render.Render(writer, request, webConfig); err != nil { + render.Render(writer, request, api.ErrorRender(err)) //nolint + return + } }) } diff --git a/api/handler/contact.go b/api/handler/contact.go index 084c5f3f5..ba31d1f2d 100644 --- a/api/handler/contact.go +++ b/api/handler/contact.go @@ -15,7 +15,7 @@ import ( ) func contact(router chi.Router) { - router.Get("/", getAllContacts) + router.With(middleware.AdminOnlyMiddleware()).Get("/", getAllContacts) router.Put("/", createNewContact) router.Route("/{contactId}", func(router chi.Router) { router.Use(middleware.ContactContext) @@ -98,9 +98,11 @@ func createNewContact(writer http.ResponseWriter, request *http.Request) { render.Render(writer, request, api.ErrorInvalidRequest(err)) //nolint return } + userLogin := middleware.GetLogin(request) + auth := middleware.GetAuth(request) - if err := controller.CreateContact(database, contact, userLogin, contact.TeamID); err != nil { + if err := controller.CreateContact(database, auth, contact, userLogin, contact.TeamID); err != nil { render.Render(writer, request, err) //nolint return } @@ -111,12 +113,13 @@ func createNewContact(writer http.ResponseWriter, request *http.Request) { } } -// contactFilter is middleware for check contact existence and user permissions +// contactFilter is middleware for check contact existence and user permissions. func contactFilter(next http.Handler) http.Handler { return http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) { contactID := middleware.GetContactID(request) userLogin := middleware.GetLogin(request) - contactData, err := controller.CheckUserPermissionsForContact(database, contactID, userLogin) + auth := middleware.GetAuth(request) + contactData, err := controller.CheckUserPermissionsForContact(database, contactID, userLogin, auth) if err != nil { render.Render(writer, request, err) //nolint return @@ -148,13 +151,17 @@ func updateContact(writer http.ResponseWriter, request *http.Request) { render.Render(writer, request, api.ErrorInvalidRequest(err)) //nolint return } + contactData := request.Context().Value(contactKey).(moira.ContactData) - contactDTO, err := controller.UpdateContact(database, contactDTO, contactData) + auth := middleware.GetAuth(request) + + contactDTO, err := controller.UpdateContact(database, auth, contactDTO, contactData) if err != nil { render.Render(writer, request, err) //nolint return } + if err := render.Render(writer, request, &contactDTO); err != nil { render.Render(writer, request, api.ErrorRender(err)) //nolint } diff --git a/api/handler/contact_test.go b/api/handler/contact_test.go index 03aae2e77..6f469b23b 100644 --- a/api/handler/contact_test.go +++ b/api/handler/contact_test.go @@ -9,7 +9,6 @@ import ( "net/http/httptest" "testing" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" "github.com/moira-alert/moira/api" "github.com/moira-alert/moira/api/dto" @@ -17,14 +16,17 @@ import ( db "github.com/moira-alert/moira/database" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) const ( ContactIDKey = "contactID" ContactKey = "contact" + AuthKey = "auth" LoginKey = "login" defaultContact = "testContact" defaultLogin = "testLogin" + defaultTeamID = "testTeamID" ) func TestGetAllContacts(t *testing.T) { @@ -43,7 +45,7 @@ func TestGetAllContacts(t *testing.T) { ID: defaultContact, Type: "mail", Value: "moira@skbkontur.ru", - User: "moira", + User: defaultLogin, Team: "", }, }, nil).Times(1) @@ -55,7 +57,7 @@ func TestGetAllContacts(t *testing.T) { ID: defaultContact, Type: "mail", Value: "moira@skbkontur.ru", - User: "moira", + User: defaultLogin, Team: "", }, }, @@ -120,7 +122,7 @@ func TestGetContactById(t *testing.T) { ID: contactID, Type: "mail", Value: "moira@skbkontur.ru", - User: "test", + User: defaultLogin, Team: "", }, nil).Times(1) database = mockDb @@ -129,7 +131,7 @@ func TestGetContactById(t *testing.T) { ID: contactID, Type: "mail", Value: "moira@skbkontur.ru", - User: "test", + User: defaultLogin, TeamID: "", } @@ -194,8 +196,16 @@ func TestCreateNewContact(t *testing.T) { login := defaultLogin testErr := errors.New("test error") + auth := &api.Authorization{ + Enabled: false, + AllowedContactTypes: map[string]struct{}{ + "mail": {}, + }, + } + newContactDto := &dto.Contact{ ID: defaultContact, + Name: "Mail Alerts", Type: "mail", Value: "moira@skbkontur.ru", User: login, @@ -209,6 +219,7 @@ func TestCreateNewContact(t *testing.T) { mockDb.EXPECT().GetContact(defaultContact).Return(moira.ContactData{}, db.ErrNil).Times(1) mockDb.EXPECT().SaveContact(&moira.ContactData{ ID: newContactDto.ID, + Name: newContactDto.Name, Type: newContactDto.Type, Value: newContactDto.Value, User: newContactDto.User, @@ -218,6 +229,7 @@ func TestCreateNewContact(t *testing.T) { testRequest := httptest.NewRequest(http.MethodPut, "/contact", bytes.NewBuffer(jsonContact)) testRequest = testRequest.WithContext(middleware.SetContextValueForTest(testRequest.Context(), LoginKey, login)) + testRequest = testRequest.WithContext(middleware.SetContextValueForTest(testRequest.Context(), AuthKey, auth)) testRequest.Header.Add("content-type", "application/json") createNewContact(responseWriter, testRequest) @@ -249,6 +261,7 @@ func TestCreateNewContact(t *testing.T) { testRequest := httptest.NewRequest(http.MethodPut, "/contact", bytes.NewBuffer(jsonContact)) testRequest = testRequest.WithContext(middleware.SetContextValueForTest(testRequest.Context(), LoginKey, login)) + testRequest = testRequest.WithContext(middleware.SetContextValueForTest(testRequest.Context(), "auth", auth)) testRequest.Header.Add("content-type", "application/json") createNewContact(responseWriter, testRequest) @@ -266,6 +279,7 @@ func TestCreateNewContact(t *testing.T) { So(actual.Type, ShouldEqual, newContactDto.Type) So(actual.User, ShouldEqual, newContactDto.User) So(actual.Value, ShouldEqual, newContactDto.Value) + So(actual.Name, ShouldEqual, newContactDto.Name) So(response.StatusCode, ShouldEqual, http.StatusOK) }) @@ -288,6 +302,7 @@ func TestCreateNewContact(t *testing.T) { testRequest := httptest.NewRequest(http.MethodPut, "/contact", bytes.NewBuffer(jsonContact)) testRequest = testRequest.WithContext(middleware.SetContextValueForTest(testRequest.Context(), LoginKey, login)) + testRequest = testRequest.WithContext(middleware.SetContextValueForTest(testRequest.Context(), "auth", auth)) testRequest.Header.Add("content-type", "application/json") createNewContact(responseWriter, testRequest) @@ -318,6 +333,7 @@ func TestCreateNewContact(t *testing.T) { testRequest := httptest.NewRequest(http.MethodPut, "/contact", bytes.NewBuffer(jsonContact)) testRequest = testRequest.WithContext(middleware.SetContextValueForTest(testRequest.Context(), LoginKey, login)) + testRequest = testRequest.WithContext(middleware.SetContextValueForTest(testRequest.Context(), "auth", auth)) testRequest.Header.Add("content-type", "application/json") createNewContact(responseWriter, testRequest) @@ -336,7 +352,7 @@ func TestCreateNewContact(t *testing.T) { }) Convey("Trying to create a contact when both userLogin and teamID specified", func() { - newContactDto.TeamID = "test" + newContactDto.TeamID = defaultTeamID defer func() { newContactDto.TeamID = "" }() @@ -350,6 +366,7 @@ func TestCreateNewContact(t *testing.T) { testRequest := httptest.NewRequest(http.MethodPut, "/contact", bytes.NewBuffer(jsonContact)) testRequest = testRequest.WithContext(middleware.SetContextValueForTest(testRequest.Context(), LoginKey, login)) + testRequest = testRequest.WithContext(middleware.SetContextValueForTest(testRequest.Context(), "auth", auth)) testRequest.Header.Add("content-type", "application/json") createNewContact(responseWriter, testRequest) @@ -381,9 +398,10 @@ func TestUpdateContact(t *testing.T) { contactID := defaultContact updatedContactDto := &dto.Contact{ ID: contactID, + Name: "Mail Alerts", Type: "mail", Value: "moira@skbkontur.ru", - User: "test", + User: defaultLogin, TeamID: "", } @@ -393,6 +411,7 @@ func TestUpdateContact(t *testing.T) { mockDb.EXPECT().SaveContact(&moira.ContactData{ ID: updatedContactDto.ID, + Name: updatedContactDto.Name, Type: updatedContactDto.Type, Value: updatedContactDto.Value, User: updatedContactDto.User, @@ -400,12 +419,20 @@ func TestUpdateContact(t *testing.T) { database = mockDb testRequest := httptest.NewRequest(http.MethodPut, "/contact/"+contactID, bytes.NewBuffer(jsonContact)) + testRequest = testRequest.WithContext(middleware.SetContextValueForTest(testRequest.Context(), ContactKey, moira.ContactData{ ID: contactID, + Name: updatedContactDto.Name, Type: updatedContactDto.Type, Value: updatedContactDto.Value, User: updatedContactDto.User, })) + testRequest = testRequest.WithContext(middleware.SetContextValueForTest(testRequest.Context(), AuthKey, &api.Authorization{ + AllowedContactTypes: map[string]struct{}{ + updatedContactDto.Type: {}, + }, + })) + testRequest.Header.Add("content-type", "application/json") updateContact(responseWriter, testRequest) @@ -433,6 +460,7 @@ func TestUpdateContact(t *testing.T) { mockDb.EXPECT().SaveContact(&moira.ContactData{ ID: updatedContactDto.ID, + Name: updatedContactDto.Name, Type: updatedContactDto.Type, Value: updatedContactDto.Value, User: updatedContactDto.User, @@ -446,6 +474,12 @@ func TestUpdateContact(t *testing.T) { Value: updatedContactDto.Value, User: updatedContactDto.User, })) + testRequest = testRequest.WithContext(middleware.SetContextValueForTest(testRequest.Context(), AuthKey, &api.Authorization{ + AllowedContactTypes: map[string]struct{}{ + updatedContactDto.Type: {}, + }, + })) + testRequest.Header.Add("content-type", "application/json") updateContact(responseWriter, testRequest) @@ -502,7 +536,7 @@ func TestRemoveContact(t *testing.T) { }) Convey("Successful deletion of a contact without team id and subscriptions", func() { - mockDb.EXPECT().GetUserSubscriptionIDs("test").Return([]string{}, nil).Times(1) + mockDb.EXPECT().GetUserSubscriptionIDs(defaultLogin).Return([]string{}, nil).Times(1) mockDb.EXPECT().GetSubscriptions([]string{}).Return([]*moira.SubscriptionData{}, nil).Times(1) mockDb.EXPECT().RemoveContact(contactID).Return(nil).Times(1) database = mockDb @@ -512,7 +546,7 @@ func TestRemoveContact(t *testing.T) { ID: contactID, Type: "mail", Value: "moira@skbkontur.ru", - User: "test", + User: defaultLogin, })) testRequest.Header.Add("content-type", "application/json") @@ -529,7 +563,7 @@ func TestRemoveContact(t *testing.T) { }) Convey("Successful deletion of a contact without user id and subscriptions", func() { - mockDb.EXPECT().GetTeamSubscriptionIDs("test").Return([]string{}, nil).Times(1) + mockDb.EXPECT().GetTeamSubscriptionIDs(defaultTeamID).Return([]string{}, nil).Times(1) mockDb.EXPECT().GetSubscriptions([]string{}).Return([]*moira.SubscriptionData{}, nil).Times(1) mockDb.EXPECT().RemoveContact(contactID).Return(nil).Times(1) database = mockDb @@ -539,7 +573,7 @@ func TestRemoveContact(t *testing.T) { ID: contactID, Type: "mail", Value: "moira@skbkontur.ru", - Team: "test", + Team: defaultTeamID, })) testRequest.Header.Add("content-type", "application/json") @@ -556,8 +590,8 @@ func TestRemoveContact(t *testing.T) { }) Convey("Successful deletion of a contact without subscriptions", func() { - mockDb.EXPECT().GetUserSubscriptionIDs("test").Return([]string{}, nil).Times(1) - mockDb.EXPECT().GetTeamSubscriptionIDs("test").Return([]string{}, nil).Times(1) + mockDb.EXPECT().GetUserSubscriptionIDs(defaultLogin).Return([]string{}, nil).Times(1) + mockDb.EXPECT().GetTeamSubscriptionIDs(defaultTeamID).Return([]string{}, nil).Times(1) mockDb.EXPECT().GetSubscriptions([]string{}).Return([]*moira.SubscriptionData{}, nil).Times(1) mockDb.EXPECT().RemoveContact(contactID).Return(nil).Times(1) database = mockDb @@ -567,8 +601,8 @@ func TestRemoveContact(t *testing.T) { ID: contactID, Type: "mail", Value: "moira@skbkontur.ru", - User: "test", - Team: "test", + User: defaultLogin, + Team: defaultTeamID, })) testRequest.Header.Add("content-type", "application/json") @@ -590,7 +624,7 @@ func TestRemoveContact(t *testing.T) { ErrorText: "this contact is being used in following subscriptions: (tags: test)", } - mockDb.EXPECT().GetUserSubscriptionIDs("test").Return([]string{"test"}, nil).Times(1) + mockDb.EXPECT().GetUserSubscriptionIDs(defaultLogin).Return([]string{"test"}, nil).Times(1) mockDb.EXPECT().GetSubscriptions([]string{"test"}).Return([]*moira.SubscriptionData{ { Contacts: []string{"testContact"}, @@ -604,7 +638,7 @@ func TestRemoveContact(t *testing.T) { ID: contactID, Type: "mail", Value: "moira@skbkontur.ru", - User: "test", + User: defaultLogin, })) testRequest.Header.Add("content-type", "application/json") @@ -629,7 +663,7 @@ func TestRemoveContact(t *testing.T) { ErrorText: "this contact is being used in following subscriptions: (tags: test)", } - mockDb.EXPECT().GetTeamSubscriptionIDs("test").Return([]string{"test"}, nil).Times(1) + mockDb.EXPECT().GetTeamSubscriptionIDs(defaultTeamID).Return([]string{"test"}, nil).Times(1) mockDb.EXPECT().GetSubscriptions([]string{"test"}).Return([]*moira.SubscriptionData{ { Contacts: []string{"testContact"}, @@ -643,7 +677,7 @@ func TestRemoveContact(t *testing.T) { ID: contactID, Type: "mail", Value: "moira@skbkontur.ru", - Team: "test", + Team: defaultTeamID, })) testRequest.Header.Add("content-type", "application/json") @@ -668,8 +702,8 @@ func TestRemoveContact(t *testing.T) { ErrorText: "this contact is being used in following subscriptions: (tags: test1), (tags: test2)", } - mockDb.EXPECT().GetUserSubscriptionIDs("test1").Return([]string{"test1"}, nil).Times(1) - mockDb.EXPECT().GetTeamSubscriptionIDs("test2").Return([]string{"test2"}, nil).Times(1) + mockDb.EXPECT().GetUserSubscriptionIDs(defaultLogin).Return([]string{"test1"}, nil).Times(1) + mockDb.EXPECT().GetTeamSubscriptionIDs(defaultTeamID).Return([]string{"test2"}, nil).Times(1) mockDb.EXPECT().GetSubscriptions([]string{"test1", "test2"}).Return([]*moira.SubscriptionData{ { Contacts: []string{"testContact"}, @@ -687,8 +721,8 @@ func TestRemoveContact(t *testing.T) { ID: contactID, Type: "mail", Value: "moira@skbkontur.ru", - Team: "test2", - User: "test1", + Team: defaultTeamID, + User: defaultLogin, })) testRequest.Header.Add("content-type", "application/json") diff --git a/api/handler/event.go b/api/handler/event.go index 398ad96a8..c5d8602d5 100644 --- a/api/handler/event.go +++ b/api/handler/event.go @@ -12,7 +12,7 @@ import ( func event(router chi.Router) { router.With(middleware.TriggerContext, middleware.Paginate(0, 100)).Get("/{triggerId}", getEventsList) - router.Delete("/all", deleteAllEvents) + router.With(middleware.AdminOnlyMiddleware()).Delete("/all", deleteAllEvents) } // nolint: gofmt,goimports diff --git a/api/handler/handler.go b/api/handler/handler.go index 332010a30..27647a8c3 100644 --- a/api/handler/handler.go +++ b/api/handler/handler.go @@ -17,14 +17,25 @@ import ( _ "github.com/moira-alert/moira/docs" // docs is generated by Swag CLI, you have to import it. ) -var database moira.Database -var searchIndex moira.Searcher +var ( + database moira.Database + searchIndex moira.Searcher +) -const contactKey moiramiddle.ContextKey = "contact" -const subscriptionKey moiramiddle.ContextKey = "subscription" +const ( + contactKey moiramiddle.ContextKey = "contact" + subscriptionKey moiramiddle.ContextKey = "subscription" +) -// NewHandler creates new api handler request uris based on github.com/go-chi/chi -func NewHandler(db moira.Database, log moira.Logger, index moira.Searcher, config *api.Config, metricSourceProvider *metricSource.SourceProvider, webConfigContent []byte) http.Handler { +// NewHandler creates new api handler request uris based on github.com/go-chi/chi. +func NewHandler( + db moira.Database, + log moira.Logger, + index moira.Searcher, + apiConfig *api.Config, + metricSourceProvider *metricSource.SourceProvider, + webConfig *api.WebConfig, +) http.Handler { database = db searchIndex = index router := chi.NewRouter() @@ -85,26 +96,32 @@ func NewHandler(db moira.Database, log moira.Logger, index moira.Searcher, confi // @tag.description APIs for interacting with Moira users router.Route("/api", func(router chi.Router) { router.Use(moiramiddle.DatabaseContext(database)) - router.Get("/config", getWebConfig(webConfigContent)) - router.Route("/user", user) - router.With(moiramiddle.Triggers(config.GraphiteLocalMetricTTL, config.GraphiteRemoteMetricTTL, config.PrometheusRemoteMetricTTL)).Route("/trigger", triggers(metricSourceProvider, searchIndex)) - router.Route("/tag", tag) - router.Route("/pattern", pattern) - router.Route("/event", event) - router.Route("/subscription", subscription) - router.Route("/notification", notification) + router.Use(moiramiddle.AuthorizationContext(&apiConfig.Authorization)) router.Route("/health", health) - router.Route("/teams", teams) - router.Route("/contact", func(router chi.Router) { - contact(router) - contactEvents(router) + router.Route("/", func(router chi.Router) { + router.Use(moiramiddle.ReadOnlyMiddleware(apiConfig)) + router.Get("/config", getWebConfig(webConfig)) + router.Route("/user", user) + router.With(moiramiddle.Triggers( + apiConfig.MetricsTTL, + )).Route("/trigger", triggers(metricSourceProvider, searchIndex)) + router.Route("/tag", tag) + router.Route("/pattern", pattern) + router.Route("/event", event) + router.Route("/subscription", subscription) + router.Route("/notification", notification) + router.Route("/teams", teams) + router.Route("/contact", func(router chi.Router) { + contact(router) + contactEvents(router) + }) + router.Get("/swagger/*", httpSwagger.Handler( + httpSwagger.URL("/api/swagger/doc.json"), + )) }) - router.Get("/swagger/*", httpSwagger.Handler( - httpSwagger.URL("/api/swagger/doc.json"), - )) }) - if config.EnableCORS { + if apiConfig.EnableCORS { return cors.AllowAll().Handler(router) } return router diff --git a/api/handler/handler_test.go b/api/handler/handler_test.go new file mode 100644 index 000000000..615ebc416 --- /dev/null +++ b/api/handler/handler_test.go @@ -0,0 +1,206 @@ +package handler + +import ( + "bytes" + "encoding/json" + "io" + "net/http" + "net/http/httptest" + "strings" + "testing" + + "github.com/moira-alert/moira" + "github.com/moira-alert/moira/api" + "github.com/moira-alert/moira/api/dto" + "github.com/moira-alert/moira/logging/zerolog_adapter" + mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" + . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" +) + +func TestReadonlyMode(t *testing.T) { + Convey("Test readonly mode enabled", t, func() { + mockCtrl := gomock.NewController(t) + defer mockCtrl.Finish() + + responseWriter := httptest.NewRecorder() + mockDb := mock_moira_alert.NewMockDatabase(mockCtrl) + database = mockDb + + logger, _ := zerolog_adapter.GetLogger("Test") + config := &api.Config{Flags: api.FeatureFlags{IsReadonlyEnabled: true}} + webConfig := &api.WebConfig{ + SupportEmail: "test", + Contacts: []api.WebContact{}, + } + handler := NewHandler(mockDb, logger, nil, config, nil, webConfig) + + Convey("Get notifier health", func() { + mockDb.EXPECT().GetNotifierState().Return("OK", nil).Times(1) + + expected := &dto.NotifierState{ + State: "OK", + } + + testRequest := httptest.NewRequest(http.MethodGet, "/api/health/notifier", nil) + + handler.ServeHTTP(responseWriter, testRequest) + + response := responseWriter.Result() + defer response.Body.Close() + content, _ := io.ReadAll(response.Body) + actual := &dto.NotifierState{} + err := json.Unmarshal(content, actual) + So(err, ShouldBeNil) + + So(actual, ShouldResemble, expected) + So(response.StatusCode, ShouldEqual, http.StatusOK) + }) + + Convey("Put notifier health", func() { + mockDb.EXPECT().SetNotifierState("OK").Return(nil).Times(1) + + state := &dto.NotifierState{ + State: "OK", + } + + stateBytes, err := json.Marshal(state) + So(err, ShouldBeNil) + + testRequest := httptest.NewRequest(http.MethodPut, "/api/health/notifier", bytes.NewReader(stateBytes)) + + handler.ServeHTTP(responseWriter, testRequest) + + response := responseWriter.Result() + defer response.Body.Close() + So(response.StatusCode, ShouldEqual, http.StatusOK) + }) + + Convey("Put new trigger", func() { + trigger := &dto.Trigger{} + triggerBytes, err := json.Marshal(trigger) + So(err, ShouldBeNil) + + testRequest := httptest.NewRequest(http.MethodPut, "/api/trigger", bytes.NewReader(triggerBytes)) + + handler.ServeHTTP(responseWriter, testRequest) + + response := responseWriter.Result() + defer response.Body.Close() + So(response.StatusCode, ShouldEqual, http.StatusForbidden) + }) + + Convey("Get contact", func() { + testRequest := httptest.NewRequest(http.MethodGet, "/api/config", nil) + + handler.ServeHTTP(responseWriter, testRequest) + + response := responseWriter.Result() + defer response.Body.Close() + actual, err := io.ReadAll(response.Body) + So(err, ShouldBeNil) + actualStr := strings.TrimSpace(string(actual)) + + expected, err := json.Marshal(webConfig) + So(err, ShouldBeNil) + expectedStr := strings.TrimSpace(string(expected)) + + So(response.StatusCode, ShouldEqual, http.StatusOK) + So(actualStr, ShouldResemble, expectedStr) + }) + }) +} + +func TestAdminOnly(t *testing.T) { + mockCtrl := gomock.NewController(t) + defer mockCtrl.Finish() + + mockDb := mock_moira_alert.NewMockDatabase(mockCtrl) + database = mockDb + + logger, _ := zerolog_adapter.GetLogger("Test") + + adminLogin := "admin_login" + userLogin := "user_login" + config := &api.Config{Authorization: api.Authorization{Enabled: true, AdminList: map[string]struct{}{adminLogin: {}}}} + webConfig := &api.WebConfig{ + SupportEmail: "test", + Contacts: []api.WebContact{}, + } + handler := NewHandler(mockDb, logger, nil, config, nil, webConfig) + + Convey("Get all contacts", t, func() { + Convey("For non-admin", func() { + trigger := &dto.Trigger{} + triggerBytes, err := json.Marshal(trigger) + So(err, ShouldBeNil) + + testRequest := httptest.NewRequest(http.MethodGet, "/api/contact", bytes.NewReader(triggerBytes)) + testRequest.Header.Add("x-webauth-user", userLogin) + + responseWriter := httptest.NewRecorder() + handler.ServeHTTP(responseWriter, testRequest) + + response := responseWriter.Result() + defer response.Body.Close() + So(response.StatusCode, ShouldEqual, http.StatusForbidden) + }) + + Convey("For admin", func() { + trigger := &dto.Trigger{} + triggerBytes, err := json.Marshal(trigger) + So(err, ShouldBeNil) + + mockDb.EXPECT().GetAllContacts().Return([]*moira.ContactData{}, nil) + + testRequest := httptest.NewRequest(http.MethodGet, "/api/contact", bytes.NewReader(triggerBytes)) + testRequest.Header.Add("x-webauth-user", adminLogin) + + responseWriter := httptest.NewRecorder() + handler.ServeHTTP(responseWriter, testRequest) + + response := responseWriter.Result() + defer response.Body.Close() + + So(response.StatusCode, ShouldEqual, http.StatusOK) + }) + }) + + Convey("Get unused triggers", t, func() { + Convey("For non-admin", func() { + trigger := &dto.Trigger{} + triggerBytes, err := json.Marshal(trigger) + So(err, ShouldBeNil) + + testRequest := httptest.NewRequest(http.MethodGet, "/api/trigger/unused", bytes.NewReader(triggerBytes)) + testRequest.Header.Add("x-webauth-user", userLogin) + + responseWriter := httptest.NewRecorder() + handler.ServeHTTP(responseWriter, testRequest) + + response := responseWriter.Result() + defer response.Body.Close() + So(response.StatusCode, ShouldEqual, http.StatusForbidden) + }) + + Convey("For admin", func() { + trigger := &dto.Trigger{} + triggerBytes, err := json.Marshal(trigger) + So(err, ShouldBeNil) + + mockDb.EXPECT().GetUnusedTriggerIDs().Return([]string{"tag_1"}, nil) + mockDb.EXPECT().GetTriggerChecks([]string{"tag_1"}).Return([]*moira.TriggerCheck{}, nil) + + testRequest := httptest.NewRequest(http.MethodGet, "/api/trigger/unused", bytes.NewReader(triggerBytes)) + testRequest.Header.Add("x-webauth-user", adminLogin) + + responseWriter := httptest.NewRecorder() + handler.ServeHTTP(responseWriter, testRequest) + + response := responseWriter.Result() + defer response.Body.Close() + + So(response.StatusCode, ShouldEqual, http.StatusOK) + }) + }) +} diff --git a/api/handler/health.go b/api/handler/health.go index e8affaa7f..16bbd01f7 100644 --- a/api/handler/health.go +++ b/api/handler/health.go @@ -8,11 +8,14 @@ import ( "github.com/moira-alert/moira/api" "github.com/moira-alert/moira/api/controller" "github.com/moira-alert/moira/api/dto" + "github.com/moira-alert/moira/api/middleware" ) func health(router chi.Router) { router.Get("/notifier", getNotifierState) - router.Put("/notifier", setNotifierState) + + router.With(middleware.AdminOnlyMiddleware()). + Put("/notifier", setNotifierState) } // nolint: gofmt,goimports @@ -38,6 +41,17 @@ func getNotifierState(writer http.ResponseWriter, request *http.Request) { } } +// nolint: gofmt,goimports +// +// @summary Set notifier state +// @id set-notifier-state +// @tags health +// @produce json +// @success 200 {object} dto.NotifierState "Notifier state retrieved" +// @failure 403 {object} api.ErrorForbiddenExample "Forbidden" +// @failure 422 {object} api.ErrorRenderExample "Render error" +// @failure 500 {object} api.ErrorInternalServerExample "Internal server error" +// @router /health/notifier [put] func setNotifierState(writer http.ResponseWriter, request *http.Request) { state := &dto.NotifierState{} if err := render.Bind(request, state); err != nil { diff --git a/api/handler/health_test.go b/api/handler/health_test.go new file mode 100644 index 000000000..74a794131 --- /dev/null +++ b/api/handler/health_test.go @@ -0,0 +1,79 @@ +package handler + +import ( + "bytes" + "encoding/json" + "net/http" + "net/http/httptest" + "testing" + + "github.com/moira-alert/moira/api" + "github.com/moira-alert/moira/api/dto" + "github.com/moira-alert/moira/logging/zerolog_adapter" + mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" + . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" +) + +func TestSetHealthWithAuth(t *testing.T) { + Convey("Authorization enabled", t, func() { + mockCtrl := gomock.NewController(t) + defer mockCtrl.Finish() + + responseWriter := httptest.NewRecorder() + mockDb := mock_moira_alert.NewMockDatabase(mockCtrl) + database = mockDb + + logger, _ := zerolog_adapter.GetLogger("Test") + + adminLogin := "admin_login" + config := &api.Config{Authorization: api.Authorization{ + Enabled: true, + AdminList: map[string]struct{}{adminLogin: {}}, + }} + webConfig := &api.WebConfig{ + SupportEmail: "test", + Contacts: []api.WebContact{}, + } + handler := NewHandler(mockDb, logger, nil, config, nil, webConfig) + + Convey("Admin tries to set notifier state", func() { + mockDb.EXPECT().SetNotifierState("OK").Return(nil).Times(1) + + state := &dto.NotifierState{ + State: "OK", + } + + stateBytes, err := json.Marshal(state) + So(err, ShouldBeNil) + + testRequest := httptest.NewRequest(http.MethodPut, "/api/health/notifier", bytes.NewReader(stateBytes)) + testRequest.Header.Set("x-webauth-user", adminLogin) + + handler.ServeHTTP(responseWriter, testRequest) + + response := responseWriter.Result() + defer response.Body.Close() + So(response.StatusCode, ShouldEqual, http.StatusOK) + }) + + Convey("Non-admin tries to set notifier state", func() { + state := &dto.NotifierState{ + State: "OK", + } + + stateBytes, err := json.Marshal(state) + So(err, ShouldBeNil) + + testRequest := httptest.NewRequest(http.MethodPut, "/api/health/notifier", bytes.NewReader(stateBytes)) + testRequest.Header.Set("x-webauth-user", "non-admin") + + handler.ServeHTTP(responseWriter, testRequest) + + response := responseWriter.Result() + defer response.Body.Close() + + So(response.StatusCode, ShouldEqual, http.StatusForbidden) + }) + }) +} diff --git a/api/handler/notification.go b/api/handler/notification.go index 92d879f00..996a92352 100644 --- a/api/handler/notification.go +++ b/api/handler/notification.go @@ -10,12 +10,17 @@ import ( "github.com/go-chi/render" "github.com/moira-alert/moira/api" "github.com/moira-alert/moira/api/controller" + "github.com/moira-alert/moira/api/middleware" ) func notification(router chi.Router) { router.Get("/", getNotification) - router.Delete("/", deleteNotification) - router.Delete("/all", deleteAllNotifications) + + router.Route("/", func(r chi.Router) { + r.Use(middleware.AdminOnlyMiddleware()) + r.Delete("/", deleteNotification) + r.Delete("/all", deleteAllNotifications) + }) } // nolint: gofmt,goimports @@ -68,6 +73,7 @@ func getNotification(writer http.ResponseWriter, request *http.Request) { // @produce json // @success 200 {object} dto.NotificationDeleteResponse "Notification have been deleted" // @failure 400 {object} api.ErrorInvalidRequestExample "Bad request from client" +// @failure 403 {object} api.ErrorForbiddenExample "Forbidden" // @failure 422 {object} api.ErrorRenderExample "Render error" // @failure 500 {object} api.ErrorInternalServerExample "Internal server error" // @router /notification [delete] @@ -95,6 +101,16 @@ func deleteNotification(writer http.ResponseWriter, request *http.Request) { } } +// nolint: gofmt,goimports +// +// @summary Delete all notifications +// @id delete-all-notifications +// @tags notification +// @produce json +// @success 200 {object} dto.NotificationsList "Notification have been deleted" +// @failure 403 {object} api.ErrorForbiddenExample "Forbidden" +// @failure 500 {object} api.ErrorInternalServerExample "Internal server error" +// @router /notification [delete] func deleteAllNotifications(writer http.ResponseWriter, request *http.Request) { if errorResponse := controller.DeleteAllNotifications(database); errorResponse != nil { render.Render(writer, request, errorResponse) //nolint diff --git a/api/handler/notification_test.go b/api/handler/notification_test.go index f10200da0..cbf6030ac 100644 --- a/api/handler/notification_test.go +++ b/api/handler/notification_test.go @@ -6,10 +6,10 @@ import ( "net/http/httptest" "testing" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func TestGetNotifications(t *testing.T) { diff --git a/api/handler/pattern.go b/api/handler/pattern.go index 148c6b98f..149ccfe0d 100644 --- a/api/handler/pattern.go +++ b/api/handler/pattern.go @@ -12,6 +12,8 @@ import ( ) func pattern(router chi.Router) { + router.Use(middleware.AdminOnlyMiddleware()) + router.Get("/", getAllPatterns) router.Delete("/{pattern}", deletePattern) } @@ -23,6 +25,7 @@ func pattern(router chi.Router) { // @tags pattern // @produce json // @success 200 {object} dto.PatternList "Patterns fetched successfully" +// @failure 403 {object} api.ErrorForbiddenExample "Forbidden" // @Failure 422 {object} api.ErrorRenderExample "Render error" // @Failure 500 {object} api.ErrorInternalServerExample "Internal server error" // @router /pattern [get] @@ -46,6 +49,7 @@ func getAllPatterns(writer http.ResponseWriter, request *http.Request) { // @produce json // @param pattern path string true "Trigger pattern to operate on" default(DevOps.my_server.hdd.freespace_mbytes) // @success 200 "Pattern deleted successfully" +// @failure 403 {object} api.ErrorForbiddenExample "Forbidden" // @failure 400 {object} api.ErrorInvalidRequestExample "Bad request from client" // @failure 500 {object} api.ErrorInternalServerExample "Internal server error" // @router /pattern/{pattern} [delete] diff --git a/api/handler/subscription.go b/api/handler/subscription.go index 833abbfb5..efca95735 100644 --- a/api/handler/subscription.go +++ b/api/handler/subscription.go @@ -20,6 +20,7 @@ func subscription(router chi.Router) { router.Route("/{subscriptionId}", func(router chi.Router) { router.Use(middleware.SubscriptionContext) router.Use(subscriptionFilter) + router.Get("/", getSubscription) router.Put("/", updateSubscription) router.Delete("/", removeSubscription) router.Put("/test", sendTestNotification) @@ -38,12 +39,13 @@ func subscription(router chi.Router) { // @router /subscription [get] func getUserSubscriptions(writer http.ResponseWriter, request *http.Request) { userLogin := middleware.GetLogin(request) - contacts, err := controller.GetUserSubscriptions(database, userLogin) + subscriptions, err := controller.GetUserSubscriptions(database, userLogin) if err != nil { render.Render(writer, request, err) //nolint return } - if err := render.Render(writer, request, contacts); err != nil { + + if err := render.Render(writer, request, subscriptions); err != nil { render.Render(writer, request, api.ErrorRender(err)) //nolint return } @@ -69,6 +71,7 @@ func createSubscription(writer http.ResponseWriter, request *http.Request) { return } userLogin := middleware.GetLogin(request) + auth := middleware.GetAuth(request) if subscription.AnyTags && len(subscription.Tags) > 0 { writer.WriteHeader(http.StatusBadRequest) @@ -76,7 +79,7 @@ func createSubscription(writer http.ResponseWriter, request *http.Request) { errors.New("if any_tags is true, then the tags must be empty"))) return } - if err := controller.CreateSubscription(database, userLogin, "", subscription); err != nil { + if err := controller.CreateSubscription(database, auth, userLogin, "", subscription); err != nil { render.Render(writer, request, err) //nolint return } @@ -86,12 +89,13 @@ func createSubscription(writer http.ResponseWriter, request *http.Request) { } } -// subscriptionFilter is middleware for check subscription existence and user permissions +// subscriptionFilter is middleware for check subscription existence and user permissions. func subscriptionFilter(next http.Handler) http.Handler { return http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) { - contactID := middleware.GetSubscriptionID(request) + subscriptionID := middleware.GetSubscriptionID(request) userLogin := middleware.GetLogin(request) - subscriptionData, err := controller.CheckUserPermissionsForSubscription(database, contactID, userLogin) + auth := middleware.GetAuth(request) + subscriptionData, err := controller.CheckUserPermissionsForSubscription(database, subscriptionID, userLogin, auth) if err != nil { render.Render(writer, request, err) //nolint return @@ -101,6 +105,31 @@ func subscriptionFilter(next http.Handler) http.Handler { }) } +// nolint: gofmt,goimports +// +// @summary Get subscription by id +// @id get-subscription +// @tags subscription +// @produce json +// @param subscriptionID path string true "ID of the subscription to get" default(bcba82f5-48cf-44c0-b7d6-e1d32c64a88c) +// @success 200 {object} dto.Subscription "Subscription fetched successfully" +// @failure 403 {object} api.ErrorForbiddenExample "Forbidden" +// @failure 422 {object} api.ErrorRenderExample "Render error" +// @failure 500 {object} api.ErrorInternalServerExample "Internal server error" +// @router /subscription/{subscriptionID} [get] +func getSubscription(writer http.ResponseWriter, request *http.Request) { + subscriptionID := middleware.GetSubscriptionID(request) + subscription, err := controller.GetSubscription(database, subscriptionID) + if err != nil { + render.Render(writer, request, err) //nolint + return + } + if err := render.Render(writer, request, subscription); err != nil { + render.Render(writer, request, api.ErrorRender(err)) //nolint + return + } +} + // nolint: gofmt,goimports // // @summary Update a subscription @@ -120,7 +149,7 @@ func subscriptionFilter(next http.Handler) http.Handler { func updateSubscription(writer http.ResponseWriter, request *http.Request) { subscription := &dto.Subscription{} if err := render.Bind(request, subscription); err != nil { - switch err.(type) { + switch err.(type) { // nolint:errorlint case dto.ErrProvidedContactsForbidden: render.Render(writer, request, api.ErrorForbidden(err.Error())) //nolint default: diff --git a/api/handler/tag.go b/api/handler/tag.go index 6faaea6ae..a2703cfb0 100644 --- a/api/handler/tag.go +++ b/api/handler/tag.go @@ -7,14 +7,17 @@ import ( "github.com/go-chi/render" "github.com/moira-alert/moira/api" "github.com/moira-alert/moira/api/controller" + "github.com/moira-alert/moira/api/dto" "github.com/moira-alert/moira/api/middleware" ) func tag(router chi.Router) { + router.Post("/", createTags) router.Get("/", getAllTags) router.Get("/stats", getAllTagsAndSubscriptions) router.Route("/{tag}", func(router chi.Router) { router.Use(middleware.TagContext) + router.Use(middleware.AdminOnlyMiddleware()) router.Delete("/", removeTag) }) } @@ -42,6 +45,31 @@ func getAllTags(writer http.ResponseWriter, request *http.Request) { } } +// nolint: gofmt,goimports +// +// @summary Create new tags +// @id create-tags +// @tags tag +// @accept json +// @produce json +// @param tags body dto.TagsData true "Tags data" +// @success 200 "Create tags successfully" +// @failure 400 {object} api.ErrorInvalidRequestExample "Bad request from client" +// @failure 422 {object} api.ErrorRenderExample "Render error" +// @failure 500 {object} api.ErrorInternalServerExample "Internal server error" +// @router /tag [post] +func createTags(writer http.ResponseWriter, request *http.Request) { + tags := dto.TagsData{} + if err := render.Bind(request, &tags); err != nil { + render.Render(writer, request, api.ErrorInvalidRequest(err)) //nolint:errcheck + return + } + + if err := controller.CreateTags(database, &tags); err != nil { + render.Render(writer, request, err) //nolint + } +} + // nolint: gofmt,goimports // // @summary Get all tags and their subscriptions diff --git a/api/handler/tag_test.go b/api/handler/tag_test.go new file mode 100644 index 000000000..253b6d99b --- /dev/null +++ b/api/handler/tag_test.go @@ -0,0 +1,292 @@ +package handler + +import ( + "bytes" + "context" + "encoding/json" + "io" + "net/http" + "net/http/httptest" + "testing" + + chi_middleware "github.com/go-chi/chi/middleware" + "github.com/moira-alert/moira" + "github.com/moira-alert/moira/api/dto" + "github.com/moira-alert/moira/api/middleware" + logging "github.com/moira-alert/moira/logging/zerolog_adapter" + mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" + . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" +) + +const ( + tagRoute = "/tag/" + tagStatsRoute = "/tag/stats" +) + +func TestCreateTags(t *testing.T) { + Convey("Test create tags", t, func() { + mockCtrl := gomock.NewController(t) + defer mockCtrl.Finish() + + responseWriter := httptest.NewRecorder() + mockDb := mock_moira_alert.NewMockDatabase(mockCtrl) + + emptyTags := dto.TagsData{ + TagNames: make([]string, 0), + } + tags := dto.TagsData{ + TagNames: []string{"test1", "test2"}, + } + + Convey("Success with empty tags", func() { + jsonTags, err := json.Marshal(emptyTags) + So(err, ShouldBeNil) + + mockDb.EXPECT().CreateTags(emptyTags.TagNames).Return(nil).Times(1) + database = mockDb + + testRequest := httptest.NewRequest(http.MethodPost, tagRoute, bytes.NewBuffer(jsonTags)) + testRequest.Header.Add("content-type", "application/json") + + createTags(responseWriter, testRequest) + + response := responseWriter.Result() + defer response.Body.Close() + So(response.StatusCode, ShouldEqual, http.StatusOK) + }) + + Convey("Success with tags", func() { + jsonTags, err := json.Marshal(tags) + So(err, ShouldBeNil) + + mockDb.EXPECT().CreateTags(tags.TagNames).Return(nil).Times(1) + database = mockDb + + testRequest := httptest.NewRequest(http.MethodPost, tagRoute, bytes.NewBuffer(jsonTags)) + testRequest.Header.Add("content-type", "application/json") + + createTags(responseWriter, testRequest) + + response := responseWriter.Result() + defer response.Body.Close() + So(response.StatusCode, ShouldEqual, http.StatusOK) + }) + }) +} + +func TestGetAllTags(t *testing.T) { + Convey("Test get all tags", t, func() { + mockCtrl := gomock.NewController(t) + defer mockCtrl.Finish() + + responseWriter := httptest.NewRecorder() + mockDb := mock_moira_alert.NewMockDatabase(mockCtrl) + + expectedEmptyTags := &dto.TagsData{ + TagNames: make([]string, 0), + } + expectedTags := &dto.TagsData{ + TagNames: []string{"test1", "test2"}, + } + + Convey("Successfully get empty tags", func() { + mockDb.EXPECT().GetTagNames().Return([]string{}, nil).Times(1) + database = mockDb + + testRequest := httptest.NewRequest(http.MethodGet, tagRoute, http.NoBody) + + getAllTags(responseWriter, testRequest) + + response := responseWriter.Result() + defer response.Body.Close() + contentBytes, _ := io.ReadAll(response.Body) + contents := string(contentBytes) + actualTags := &dto.TagsData{} + err := json.Unmarshal([]byte(contents), actualTags) + So(err, ShouldBeNil) + + So(actualTags, ShouldResemble, expectedEmptyTags) + So(response.StatusCode, ShouldEqual, http.StatusOK) + }) + + Convey("Successfully get tags", func() { + mockDb.EXPECT().GetTagNames().Return([]string{"test1", "test2"}, nil).Times(1) + database = mockDb + + testRequest := httptest.NewRequest(http.MethodGet, tagRoute, http.NoBody) + + getAllTags(responseWriter, testRequest) + + response := responseWriter.Result() + defer response.Body.Close() + contentBytes, _ := io.ReadAll(response.Body) + contents := string(contentBytes) + actualTags := &dto.TagsData{} + err := json.Unmarshal([]byte(contents), actualTags) + So(err, ShouldBeNil) + + So(actualTags, ShouldResemble, expectedTags) + So(response.StatusCode, ShouldEqual, http.StatusOK) + }) + }) +} + +func TestGetAllTagsAndSubscriptions(t *testing.T) { + Convey("Test get all tags and subcriptions", t, func() { + mockCtrl := gomock.NewController(t) + defer mockCtrl.Finish() + + logger, _ := logging.GetLogger("Test") + + responseWriter := httptest.NewRecorder() + mockDb := mock_moira_alert.NewMockDatabase(mockCtrl) + + expectedEmptyTagsAndSubscriptions := &dto.TagsStatistics{ + List: make([]dto.TagStatistics, 0), + } + expectedTagsAndSubscriptions := &dto.TagsStatistics{ + List: []dto.TagStatistics{ + { + TagName: defaultTag, + Triggers: []string{"test1", "test2"}, + Subscriptions: []moira.SubscriptionData{ + { + ID: "test-sub", + }, + }, + }, + }, + } + + Convey("Successfully get empty tags and subscriptions", func() { + mockDb.EXPECT().GetTagNames().Return([]string{}, nil).Times(1) + database = mockDb + + testRequest := httptest.NewRequest(http.MethodGet, tagStatsRoute, http.NoBody) + apiLogEntry := middleware.NewLogEntry(logger, testRequest) + testRequest = testRequest.WithContext(context.WithValue(testRequest.Context(), chi_middleware.LogEntryCtxKey, apiLogEntry)) + + getAllTagsAndSubscriptions(responseWriter, testRequest) + + response := responseWriter.Result() + defer response.Body.Close() + contentBytes, _ := io.ReadAll(response.Body) + contents := string(contentBytes) + actualTagsStatisctics := &dto.TagsStatistics{} + err := json.Unmarshal([]byte(contents), actualTagsStatisctics) + So(err, ShouldBeNil) + + So(actualTagsStatisctics, ShouldResemble, expectedEmptyTagsAndSubscriptions) + So(response.StatusCode, ShouldEqual, http.StatusOK) + }) + + Convey("Successfully get all tags and subscriptions", func() { + mockDb.EXPECT().GetTagNames().Return([]string{defaultTag}, nil).Times(1) + mockDb.EXPECT().GetTagsSubscriptions([]string{defaultTag}).Return([]*moira.SubscriptionData{ + { + ID: "test-sub", + }, + }, nil).Times(1) + mockDb.EXPECT().GetTagTriggerIDs(defaultTag).Return([]string{"test1", "test2"}, nil).Times(1) + database = mockDb + + testRequest := httptest.NewRequest(http.MethodGet, tagStatsRoute, http.NoBody) + apiLogEntry := middleware.NewLogEntry(logger, testRequest) + testRequest = testRequest.WithContext(context.WithValue(testRequest.Context(), chi_middleware.LogEntryCtxKey, apiLogEntry)) + + getAllTagsAndSubscriptions(responseWriter, testRequest) + + response := responseWriter.Result() + defer response.Body.Close() + contentBytes, _ := io.ReadAll(response.Body) + contents := string(contentBytes) + actualTagsStatistics := &dto.TagsStatistics{} + err := json.Unmarshal([]byte(contents), actualTagsStatistics) + So(err, ShouldBeNil) + + So(actualTagsStatistics, ShouldResemble, expectedTagsAndSubscriptions) + So(response.StatusCode, ShouldEqual, http.StatusOK) + }) + }) +} + +func TestRemoveTag(t *testing.T) { + Convey("Test remove tag", t, func() { + mockCtrl := gomock.NewController(t) + defer mockCtrl.Finish() + + responseWriter := httptest.NewRecorder() + mockDb := mock_moira_alert.NewMockDatabase(mockCtrl) + + deletedTagMsg := &dto.MessageResponse{ + Message: "tag deleted", + } + + Convey("Successfully remove tag", func() { + mockDb.EXPECT().GetTagTriggerIDs(defaultTag).Return([]string{}, nil).Times(1) + mockDb.EXPECT().GetTagsSubscriptions([]string{defaultTag}).Return([]*moira.SubscriptionData{}, nil).Times(1) + mockDb.EXPECT().RemoveTag(defaultTag).Return(nil).Times(1) + database = mockDb + + testRequest := httptest.NewRequest(http.MethodDelete, tagRoute+defaultTag, http.NoBody) + testRequest = testRequest.WithContext(middleware.SetContextValueForTest(testRequest.Context(), "tag", defaultTag)) + + removeTag(responseWriter, testRequest) + + response := responseWriter.Result() + defer response.Body.Close() + contentBytes, _ := io.ReadAll(response.Body) + contents := string(contentBytes) + actualMsg := &dto.MessageResponse{} + err := json.Unmarshal([]byte(contents), actualMsg) + So(err, ShouldBeNil) + + So(actualMsg, ShouldResemble, deletedTagMsg) + So(response.StatusCode, ShouldEqual, http.StatusOK) + }) + + Convey("Failed to remove tag with an existing trigger", func() { + mockDb.EXPECT().GetTagTriggerIDs(defaultTag).Return([]string{defaultTag}, nil).Times(1) + database = mockDb + + testRequest := httptest.NewRequest(http.MethodDelete, tagRoute+defaultTag, http.NoBody) + testRequest = testRequest.WithContext(middleware.SetContextValueForTest(testRequest.Context(), "tag", defaultTag)) + + removeTag(responseWriter, testRequest) + + response := responseWriter.Result() + defer response.Body.Close() + contentBytes, _ := io.ReadAll(response.Body) + contents := string(contentBytes) + tagExistInTriggerErr := `{"status":"Invalid request","error":"this tag is assigned to 1 triggers. Remove tag from triggers first"} +` + So(contents, ShouldEqual, tagExistInTriggerErr) + So(response.StatusCode, ShouldEqual, http.StatusBadRequest) + }) + + Convey("Failed to remove tag with an existing subscription", func() { + mockDb.EXPECT().GetTagTriggerIDs(defaultTag).Return([]string{}, nil).Times(1) + mockDb.EXPECT().GetTagsSubscriptions([]string{defaultTag}).Return([]*moira.SubscriptionData{ + { + ID: "test-sub", + }, + }, nil).Times(1) + database = mockDb + + testRequest := httptest.NewRequest(http.MethodDelete, tagRoute+defaultTag, http.NoBody) + testRequest = testRequest.WithContext(middleware.SetContextValueForTest(testRequest.Context(), "tag", defaultTag)) + + removeTag(responseWriter, testRequest) + + response := responseWriter.Result() + defer response.Body.Close() + contentBytes, _ := io.ReadAll(response.Body) + contents := string(contentBytes) + tagExistInSubscriptionErr := `{"status":"Invalid request","error":"this tag is assigned to 1 subscriptions. Remove tag from subscriptions first"} +` + So(contents, ShouldEqual, tagExistInSubscriptionErr) + So(response.StatusCode, ShouldEqual, http.StatusBadRequest) + }) + }) +} diff --git a/api/handler/team.go b/api/handler/team.go index bc079e6b4..294c09817 100644 --- a/api/handler/team.go +++ b/api/handler/team.go @@ -32,12 +32,13 @@ func teams(router chi.Router) { }) } -// usersFilterForTeams is middleware that checks that user exists in this +// usersFilterForTeams is middleware that checks that user exists in this. func usersFilterForTeams(next http.Handler) http.Handler { return http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) { - userID := middleware.GetLogin(request) + userLogin := middleware.GetLogin(request) teamID := middleware.GetTeamID(request) - err := controller.CheckUserPermissionsForTeam(database, teamID, userID) + auth := middleware.GetAuth(request) + err := controller.CheckUserPermissionsForTeam(database, teamID, userLogin, auth) if err != nil { render.Render(writer, request, err) //nolint return @@ -251,7 +252,7 @@ func setTeamUsers(writer http.ResponseWriter, request *http.Request) { teamID := middleware.GetTeamID(request) response, apiErr := controller.SetTeamUsers(database, teamID, members.Usernames) - if err != nil { + if apiErr != nil { render.Render(writer, request, apiErr) // nolint:errcheck return } @@ -288,7 +289,7 @@ func addTeamUsers(writer http.ResponseWriter, request *http.Request) { teamID := middleware.GetTeamID(request) response, apiErr := controller.AddTeamUsers(database, teamID, members.Usernames) - if err != nil { + if apiErr != nil { render.Render(writer, request, apiErr) // nolint:errcheck return } diff --git a/api/handler/team_contact.go b/api/handler/team_contact.go index 1ed5874ab..8d515afba 100644 --- a/api/handler/team_contact.go +++ b/api/handler/team_contact.go @@ -37,9 +37,11 @@ func createNewTeamContact(writer http.ResponseWriter, request *http.Request) { render.Render(writer, request, api.ErrorInvalidRequest(err)) //nolint:errcheck return } + teamID := middleware.GetTeamID(request) + auth := middleware.GetAuth(request) - if err := controller.CreateContact(database, contact, "", teamID); err != nil { + if err := controller.CreateContact(database, auth, contact, "", teamID); err != nil { render.Render(writer, request, err) //nolint:errcheck return } diff --git a/api/handler/team_subscription.go b/api/handler/team_subscription.go index c913fff79..99f6c6666 100644 --- a/api/handler/team_subscription.go +++ b/api/handler/team_subscription.go @@ -39,6 +39,7 @@ func createTeamSubscription(writer http.ResponseWriter, request *http.Request) { return } teamID := middleware.GetTeamID(request) + auth := middleware.GetAuth(request) if subscription.AnyTags && len(subscription.Tags) > 0 { writer.WriteHeader(http.StatusBadRequest) @@ -46,7 +47,7 @@ func createTeamSubscription(writer http.ResponseWriter, request *http.Request) { errors.New("if any_tags is true, then the tags must be empty"))) return } - if err := controller.CreateSubscription(database, "", teamID, subscription); err != nil { + if err := controller.CreateSubscription(database, auth, "", teamID, subscription); err != nil { render.Render(writer, request, err) //nolint:errcheck return } diff --git a/api/handler/trigger.go b/api/handler/trigger.go index a02e59d89..d17b09cc9 100644 --- a/api/handler/trigger.go +++ b/api/handler/trigger.go @@ -58,7 +58,6 @@ func updateTrigger(writer http.ResponseWriter, request *http.Request) { var problems []dto.TreeOfProblems if needValidate(request) { problems, err = validateTargets(request, trigger) - if err != nil { render.Render(writer, request, err) //nolint return @@ -95,9 +94,12 @@ func needValidate(request *http.Request) bool { // validateTargets checks targets of trigger. // Returns tree of problems if there is any invalid child, else returns nil. func validateTargets(request *http.Request, trigger *dto.Trigger) ([]dto.TreeOfProblems, *api.ErrorResponse) { - ttl := getMetricTTLByTrigger(request, trigger) - treesOfProblems, err := dto.TargetVerification(trigger.Targets, ttl, trigger.TriggerSource) + ttl, err := getMetricTTLByTrigger(request, trigger) + if err != nil { + return nil, api.ErrorInvalidRequest(err) + } + treesOfProblems, err := dto.TargetVerification(trigger.Targets, ttl, trigger.TriggerSource) if err != nil { return nil, api.ErrorInvalidRequest(err) } diff --git a/api/handler/trigger_metric_test.go b/api/handler/trigger_metric_test.go index 8a727ab31..2518fe678 100644 --- a/api/handler/trigger_metric_test.go +++ b/api/handler/trigger_metric_test.go @@ -6,11 +6,11 @@ import ( "net/http/httptest" "testing" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" "github.com/moira-alert/moira/api/middleware" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func TestDeleteTriggerMetric(t *testing.T) { diff --git a/api/handler/trigger_render_test.go b/api/handler/trigger_render_test.go index 02efbd345..d31de3d53 100644 --- a/api/handler/trigger_render_test.go +++ b/api/handler/trigger_render_test.go @@ -6,13 +6,13 @@ import ( "net/http/httptest" "testing" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" "github.com/moira-alert/moira/api/middleware" metricSource "github.com/moira-alert/moira/metric_source" mock_metric_source "github.com/moira-alert/moira/mock/metric_source" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func TestRenderTrigger(t *testing.T) { @@ -22,7 +22,7 @@ func TestRenderTrigger(t *testing.T) { localSource := mock_metric_source.NewMockMetricSource(mockCtrl) remoteSource := mock_metric_source.NewMockMetricSource(mockCtrl) - sourceProvider := metricSource.CreateMetricSourceProvider(localSource, remoteSource, nil) + sourceProvider := metricSource.CreateTestMetricSourceProvider(localSource, remoteSource, nil) responseWriter := httptest.NewRecorder() mockDb := mock_moira_alert.NewMockDatabase(mockCtrl) @@ -53,8 +53,8 @@ func TestRenderTrigger(t *testing.T) { ID: "triggerID-0000000000001", Targets: []string{"t1"}, TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, }, nil).Times(1) - localSource.EXPECT().IsConfigured().Return(true, nil).AnyTimes().Times(1) fetchResult := mock_metric_source.NewMockFetchResult(mockCtrl) fetchResult.EXPECT().GetMetricsData().Return([]metricSource.MetricData{*metricSource.MakeMetricData("", []float64{}, 0, 0)}).Times(1) localSource.EXPECT().Fetch(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(fetchResult, nil).Times(1) @@ -86,8 +86,8 @@ func TestRenderTrigger(t *testing.T) { ID: "triggerID-0000000000001", Targets: []string{"t1"}, TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, }, nil).Times(1) - localSource.EXPECT().IsConfigured().Return(true, nil).Times(1) fetchResult := mock_metric_source.NewMockFetchResult(mockCtrl) fetchResult.EXPECT().GetMetricsData().Return([]metricSource.MetricData{*metricSource.MakeMetricData("", []float64{}, 0, 0)}).Times(1) localSource.EXPECT().Fetch(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(fetchResult, nil).Times(1) diff --git a/api/handler/trigger_test.go b/api/handler/trigger_test.go index d0ce8b2b9..1e32507d8 100644 --- a/api/handler/trigger_test.go +++ b/api/handler/trigger_test.go @@ -10,7 +10,6 @@ import ( "testing" "time" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" "github.com/moira-alert/moira/api/dto" "github.com/moira-alert/moira/api/middleware" @@ -19,9 +18,13 @@ import ( mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" . "github.com/smartystreets/goconvey/convey" "github.com/xiam/to" + "go.uber.org/mock/gomock" ) -const triggerIDKey = "triggerID" +const ( + triggerIDKey = "triggerID" + defaultTag = "test" +) func TestGetTrigger(t *testing.T) { Convey("Get trigger by id", t, func() { @@ -35,6 +38,7 @@ func TestGetTrigger(t *testing.T) { mockDb.EXPECT().GetTrigger("triggerID-0000000000001").Return(moira.Trigger{ ID: "triggerID-0000000000001", TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, }, nil) mockDb.EXPECT().GetTriggerThrottling("triggerID-0000000000001").Return(throttlingTime, throttlingTime) database = mockDb @@ -51,7 +55,7 @@ func TestGetTrigger(t *testing.T) { contentBytes, _ := io.ReadAll(response.Body) contents := string(contentBytes) - expected := "{\"id\":\"triggerID-0000000000001\",\"name\":\"\",\"targets\":null,\"warn_value\":null,\"error_value\":null,\"trigger_type\":\"\",\"tags\":null,\"expression\":\"\",\"patterns\":null,\"is_remote\":false,\"trigger_source\":\"graphite_local\",\"mute_new_metrics\":false,\"alone_metrics\":null,\"created_at\":null,\"updated_at\":null,\"created_by\":\"\",\"updated_by\":\"\",\"throttling\":0}\n" + expected := "{\"id\":\"triggerID-0000000000001\",\"name\":\"\",\"targets\":null,\"warn_value\":null,\"error_value\":null,\"trigger_type\":\"\",\"tags\":null,\"expression\":\"\",\"patterns\":null,\"is_remote\":false,\"trigger_source\":\"graphite_local\",\"cluster_id\":\"default\",\"mute_new_metrics\":false,\"alone_metrics\":null,\"created_at\":null,\"updated_at\":null,\"created_by\":\"\",\"updated_by\":\"\",\"throttling\":0}\n" So(contents, ShouldEqual, expected) }) @@ -64,6 +68,7 @@ func TestGetTrigger(t *testing.T) { ID: "triggerID-0000000000001", CreatedAt: &triggerTime, TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, UpdatedAt: &triggerTime, }, nil) @@ -82,7 +87,7 @@ func TestGetTrigger(t *testing.T) { contentBytes, _ := io.ReadAll(response.Body) contents := string(contentBytes) - expected := "{\"id\":\"triggerID-0000000000001\",\"name\":\"\",\"targets\":null,\"warn_value\":null,\"error_value\":null,\"trigger_type\":\"\",\"tags\":null,\"expression\":\"\",\"patterns\":null,\"is_remote\":false,\"trigger_source\":\"graphite_local\",\"mute_new_metrics\":false,\"alone_metrics\":null,\"created_at\":\"2022-06-07T10:00:00Z\",\"updated_at\":\"2022-06-07T10:00:00Z\",\"created_by\":\"\",\"updated_by\":\"\",\"throttling\":0}\n" + expected := "{\"id\":\"triggerID-0000000000001\",\"name\":\"\",\"targets\":null,\"warn_value\":null,\"error_value\":null,\"trigger_type\":\"\",\"tags\":null,\"expression\":\"\",\"patterns\":null,\"is_remote\":false,\"trigger_source\":\"graphite_local\",\"cluster_id\":\"default\",\"mute_new_metrics\":false,\"alone_metrics\":null,\"created_at\":\"2022-06-07T10:00:00Z\",\"updated_at\":\"2022-06-07T10:00:00Z\",\"created_by\":\"\",\"updated_by\":\"\",\"throttling\":0}\n" So(contents, ShouldEqual, expected) }) @@ -113,9 +118,8 @@ func TestUpdateTrigger(t *testing.T) { localSource := mock_metric_source.NewMockMetricSource(mockCtrl) remoteSource := mock_metric_source.NewMockMetricSource(mockCtrl) - sourceProvider := metricSource.CreateMetricSourceProvider(localSource, remoteSource, nil) + sourceProvider := metricSource.CreateTestMetricSourceProvider(localSource, remoteSource, nil) - localSource.EXPECT().IsConfigured().Return(true, nil).AnyTimes() localSource.EXPECT().GetMetricsTTLSeconds().Return(int64(3600)).AnyTimes() fetchResult := mock_metric_source.NewMockFetchResult(mockCtrl) localSource.EXPECT().Fetch(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(fetchResult, nil).AnyTimes() @@ -128,7 +132,7 @@ func TestUpdateTrigger(t *testing.T) { database = mockDb const triggerIDKey = "triggerID" - const triggerID = "test" + const triggerID = "testID" Convey("When updateTrigger was called with normal input", t, func() { urls := []string{ @@ -152,6 +156,7 @@ func TestUpdateTrigger(t *testing.T) { ErrorValue: &triggerErrorValue, Targets: []string{"my.metric"}, TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, } mockDb.EXPECT().GetTrigger(gomock.Any()).Return(trigger, nil) @@ -159,7 +164,7 @@ func TestUpdateTrigger(t *testing.T) { testRequest := httptest.NewRequest("", url, bytes.NewBuffer(jsonTrigger)) testRequest.Header.Add("content-type", "application/json") testRequest = testRequest.WithContext(middleware.SetContextValueForTest(testRequest.Context(), "metricSourceProvider", sourceProvider)) - testRequest = testRequest.WithContext(middleware.SetContextValueForTest(testRequest.Context(), "localMetricTTL", to.Duration("65m"))) + testRequest = testRequest.WithContext(middleware.SetContextValueForTest(testRequest.Context(), "clustersMetricTTL", MakeTestTTLs())) testRequest = testRequest.WithContext(middleware.SetContextValueForTest(testRequest.Context(), triggerIDKey, triggerID)) @@ -193,6 +198,7 @@ func TestUpdateTrigger(t *testing.T) { ErrorValue: &triggerErrorValue, Targets: []string{}, TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, }, } @@ -200,7 +206,7 @@ func TestUpdateTrigger(t *testing.T) { request := httptest.NewRequest("", url, bytes.NewBuffer(jsonTrigger)) request.Header.Add("content-type", "application/json") request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "metricSourceProvider", sourceProvider)) - request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "localMetricTTL", to.Duration("65m"))) + request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "clustersMetricTTL", MakeTestTTLs())) request = request.WithContext(middleware.SetContextValueForTest(request.Context(), triggerIDKey, triggerID)) responseWriter := httptest.NewRecorder() @@ -239,7 +245,7 @@ func TestUpdateTrigger(t *testing.T) { request := httptest.NewRequest("", "/", bytes.NewBuffer(jsonTrigger)) request.Header.Add("content-type", "application/json") request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "metricSourceProvider", sourceProvider)) - request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "localMetricTTL", to.Duration("65m"))) + request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "clustersMetricTTL", MakeTestTTLs())) request = request.WithContext(middleware.SetContextValueForTest(request.Context(), triggerIDKey, triggerID)) responseWriter := httptest.NewRecorder() @@ -264,7 +270,7 @@ func TestUpdateTrigger(t *testing.T) { request := httptest.NewRequest("", fmt.Sprintf("/trigger?%s", validateFlag), bytes.NewBuffer(jsonTrigger)) request.Header.Add("content-type", "application/json") request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "metricSourceProvider", sourceProvider)) - request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "localMetricTTL", to.Duration("65m"))) + request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "clustersMetricTTL", MakeTestTTLs())) request = request.WithContext(middleware.SetContextValueForTest(request.Context(), triggerIDKey, triggerID)) responseWriter := httptest.NewRecorder() @@ -327,7 +333,7 @@ func TestUpdateTrigger(t *testing.T) { request := httptest.NewRequest("", "/", bytes.NewBuffer(jsonTrigger)) request.Header.Add("content-type", "application/json") request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "metricSourceProvider", sourceProvider)) - request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "localMetricTTL", to.Duration("65m"))) + request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "clustersMetricTTL", MakeTestTTLs())) request = request.WithContext(middleware.SetContextValueForTest(request.Context(), triggerIDKey, triggerID)) responseWriter := httptest.NewRecorder() @@ -345,7 +351,7 @@ func TestUpdateTrigger(t *testing.T) { request := httptest.NewRequest("", fmt.Sprintf("/trigger?%s", validateFlag), bytes.NewBuffer(jsonTrigger)) request.Header.Add("content-type", "application/json") request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "metricSourceProvider", sourceProvider)) - request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "localMetricTTL", to.Duration("65m"))) + request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "clustersMetricTTL", MakeTestTTLs())) request = request.WithContext(middleware.SetContextValueForTest(request.Context(), triggerIDKey, triggerID)) responseWriter := httptest.NewRecorder() @@ -405,7 +411,7 @@ func TestGetTriggerWithTriggerSource(t *testing.T) { WarnValue: newFloat64(1.0), ErrorValue: newFloat64(2.0), TriggerType: moira.RisingTrigger, - Tags: []string{"test"}, + Tags: []string{defaultTag}, TTLState: &moira.TTLStateOK, TTL: 600, Schedule: &moira.ScheduleData{}, @@ -449,7 +455,7 @@ func TestGetTriggerWithTriggerSource(t *testing.T) { WarnValue: newFloat64(1.0), ErrorValue: newFloat64(2.0), TriggerType: moira.RisingTrigger, - Tags: []string{"test"}, + Tags: []string{defaultTag}, TTLState: &moira.TTLStateOK, TTL: 600, Schedule: &moira.ScheduleData{}, @@ -493,7 +499,7 @@ func TestGetTriggerWithTriggerSource(t *testing.T) { WarnValue: newFloat64(1.0), ErrorValue: newFloat64(2.0), TriggerType: moira.RisingTrigger, - Tags: []string{"test"}, + Tags: []string{defaultTag}, TTLState: &moira.TTLStateOK, TTL: 600, Schedule: &moira.ScheduleData{}, @@ -540,3 +546,10 @@ func isTriggerUpdated(response *http.Response) bool { return actual.Message == expected } + +func MakeTestTTLs() map[moira.ClusterKey]time.Duration { + return map[moira.ClusterKey]time.Duration{ + moira.MakeClusterKey(moira.GraphiteLocal, moira.DefaultCluster): to.Duration("65m"), + moira.DefaultGraphiteRemoteCluster: to.Duration("168h"), + } +} diff --git a/api/handler/triggers.go b/api/handler/triggers.go index c16f56bdd..090ed6607 100644 --- a/api/handler/triggers.go +++ b/api/handler/triggers.go @@ -27,8 +27,10 @@ func triggers(metricSourceProvider *metricSource.SourceProvider, searcher moira. return func(router chi.Router) { router.Use(middleware.MetricSourceProvider(metricSourceProvider)) router.Use(middleware.SearchIndexContext(searcher)) - router.Get("/", getAllTriggers) - router.Get("/unused", getUnusedTriggers) + + router.With(middleware.AdminOnlyMiddleware()).Get("/", getAllTriggers) + router.With(middleware.AdminOnlyMiddleware()).Get("/unused", getUnusedTriggers) + router.Put("/", createTrigger) router.Put("/check", triggerCheck) router.Route("/{triggerId}", trigger) @@ -151,7 +153,7 @@ func createTrigger(writer http.ResponseWriter, request *http.Request) { func getTriggerFromRequest(request *http.Request) (*dto.Trigger, *api.ErrorResponse) { trigger := &dto.Trigger{} if err := render.Bind(request, trigger); err != nil { - switch err.(type) { + switch err.(type) { // nolint:errorlint case local.ErrParseExpr, local.ErrEvalExpr, local.ErrUnknownFunction: return nil, api.ErrorInvalidRequest(fmt.Errorf("invalid graphite targets: %s", err.Error())) case expression.ErrInvalidExpression: @@ -177,21 +179,16 @@ func getTriggerFromRequest(request *http.Request) (*dto.Trigger, *api.ErrorRespo } // getMetricTTLByTrigger gets metric ttl duration time from request context for local or remote trigger. -func getMetricTTLByTrigger(request *http.Request, trigger *dto.Trigger) time.Duration { - var ttl time.Duration - - switch trigger.TriggerSource { - case moira.GraphiteLocal: - ttl = middleware.GetLocalMetricTTL(request) - - case moira.GraphiteRemote: - ttl = middleware.GetRemoteMetricTTL(request) +func getMetricTTLByTrigger(request *http.Request, trigger *dto.Trigger) (time.Duration, error) { + metricTTLs := middleware.GetMetricTTL(request) + key := trigger.ClusterKey() - case moira.PrometheusRemote: - ttl = middleware.GetPrometheusMetricTTL(request) + ttl, ok := metricTTLs[key] + if !ok { + return 0, fmt.Errorf("can't get ttl: unknown cluster %s", key.String()) } - return ttl + return ttl, nil } // nolint: gofmt,goimports @@ -211,7 +208,7 @@ func triggerCheck(writer http.ResponseWriter, request *http.Request) { response := dto.TriggerCheckResponse{} if err := render.Bind(request, trigger); err != nil { - switch err.(type) { + switch err.(type) { // nolint:errorlint case expression.ErrInvalidExpression, local.ErrParseExpr, local.ErrEvalExpr, local.ErrUnknownFunction: // TODO write comment, why errors are ignored, it is not obvious. // In getTriggerFromRequest these types of errors lead to 400. @@ -221,12 +218,15 @@ func triggerCheck(writer http.ResponseWriter, request *http.Request) { } } - ttl := getMetricTTLByTrigger(request, trigger) + ttl, err := getMetricTTLByTrigger(request, trigger) + if err != nil { + render.Render(writer, request, api.ErrorInvalidRequest(err)) //nolint + return + } if len(trigger.Targets) > 0 { var err error response.Targets, err = dto.TargetVerification(trigger.Targets, ttl, trigger.TriggerSource) - if err != nil { render.Render(writer, request, api.ErrorInvalidRequest(err)) //nolint return @@ -335,9 +335,9 @@ func getOnlyProblemsFlag(request *http.Request) bool { return false } -// Checks if the createdBy field has been set: -// if the field has been set, searches for triggers with a specific author createdBy -// if the field has not been set, searches for triggers with any author +// Checks if the createdBy field has been set. +// If the field has been set, searches for triggers with a specific author createdBy. +// If the field has not been set, searches for triggers with any author. func getTriggerCreatedBy(request *http.Request) (string, bool) { if createdBy, ok := request.Form["createdBy"]; ok { return createdBy[0], true diff --git a/api/handler/triggers_test.go b/api/handler/triggers_test.go index 4246f7de0..83d0a1bea 100644 --- a/api/handler/triggers_test.go +++ b/api/handler/triggers_test.go @@ -2,6 +2,7 @@ package handler import ( "bytes" + "context" "encoding/json" "fmt" "io" @@ -11,7 +12,6 @@ import ( "testing" "time" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" "github.com/moira-alert/moira/api" dataBase "github.com/moira-alert/moira/database" @@ -19,11 +19,11 @@ import ( "github.com/moira-alert/moira/metric_source/local" mock_metric_source "github.com/moira-alert/moira/mock/metric_source" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" + "go.uber.org/mock/gomock" "github.com/moira-alert/moira/api/dto" "github.com/moira-alert/moira/api/middleware" . "github.com/smartystreets/goconvey/convey" - "github.com/xiam/to" ) func TestGetSearchRequestString(t *testing.T) { @@ -39,7 +39,7 @@ func TestGetSearchRequestString(t *testing.T) { {"QueRy", "query"}, } for _, testCase := range testCases { - req, _ := http.NewRequest("GET", fmt.Sprintf("/api/trigger/search?onlyProblems=false&p=0&size=20&text=%s", testCase.text), nil) + req, _ := http.NewRequestWithContext(context.Background(), http.MethodGet, fmt.Sprintf("/api/trigger/search?onlyProblems=false&p=0&size=20&text=%s", testCase.text), nil) searchRequest := getSearchRequestString(req) So(searchRequest, ShouldEqual, testCase.expectedSearchRequest) } @@ -54,9 +54,8 @@ func TestGetTriggerFromRequest(t *testing.T) { localSource := mock_metric_source.NewMockMetricSource(mockCtrl) remoteSource := mock_metric_source.NewMockMetricSource(mockCtrl) fetchResult := mock_metric_source.NewMockFetchResult(mockCtrl) - sourceProvider := metricSource.CreateMetricSourceProvider(localSource, remoteSource, nil) + sourceProvider := metricSource.CreateTestMetricSourceProvider(localSource, remoteSource, nil) - localSource.EXPECT().IsConfigured().Return(true, nil).AnyTimes() localSource.EXPECT().GetMetricsTTLSeconds().Return(int64(3600)).AnyTimes() localSource.EXPECT().Fetch(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(fetchResult, nil).AnyTimes() fetchResult.EXPECT().GetPatterns().Return(make([]string, 0), nil).AnyTimes() @@ -82,6 +81,7 @@ func TestGetTriggerFromRequest(t *testing.T) { Expression: "", Patterns: []string{}, TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, MuteNewMetrics: false, AloneMetrics: map[string]bool{}, CreatedAt: &time.Time{}, @@ -97,7 +97,10 @@ func TestGetTriggerFromRequest(t *testing.T) { request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "metricSourceProvider", sourceProvider)) Convey("It should be parsed successfully", func() { + triggerDTO.TTL = moira.DefaultTTL + trigger, err := getTriggerFromRequest(request) + So(err, ShouldBeNil) So(trigger, ShouldResemble, &triggerDTO) }) @@ -140,26 +143,31 @@ func TestGetTriggerFromRequest(t *testing.T) { func TestGetMetricTTLByTrigger(t *testing.T) { request := httptest.NewRequest("", "/", strings.NewReader("")) - request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "localMetricTTL", to.Duration("65m"))) - request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "remoteMetricTTL", to.Duration("168h"))) + request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "clustersMetricTTL", MakeTestTTLs())) Convey("Given a local trigger", t, func() { trigger := dto.Trigger{TriggerModel: dto.TriggerModel{ TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, }} Convey("It's metric ttl should be equal to local", func() { - So(getMetricTTLByTrigger(request, &trigger), ShouldEqual, 65*time.Minute) + ttl, err := getMetricTTLByTrigger(request, &trigger) + So(err, ShouldBeNil) + So(ttl, ShouldEqual, 65*time.Minute) }) }) Convey("Given a remote trigger", t, func() { trigger := dto.Trigger{TriggerModel: dto.TriggerModel{ TriggerSource: moira.GraphiteRemote, + ClusterId: moira.DefaultCluster, }} Convey("It's metric ttl should be equal to remote", func() { - So(getMetricTTLByTrigger(request, &trigger), ShouldEqual, 168*time.Hour) + ttl, err := getMetricTTLByTrigger(request, &trigger) + So(err, ShouldBeNil) + So(ttl, ShouldEqual, 168*time.Hour) }) }) } @@ -173,15 +181,13 @@ func TestTriggerCheckHandler(t *testing.T) { localSource := mock_metric_source.NewMockMetricSource(mockCtrl) remoteSource := mock_metric_source.NewMockMetricSource(mockCtrl) fetchResult := mock_metric_source.NewMockFetchResult(mockCtrl) - sourceProvider := metricSource.CreateMetricSourceProvider(localSource, remoteSource, nil) + sourceProvider := metricSource.CreateTestMetricSourceProvider(localSource, remoteSource, nil) - localSource.EXPECT().IsConfigured().Return(true, nil).AnyTimes() localSource.EXPECT().GetMetricsTTLSeconds().Return(int64(3600)).AnyTimes() localSource.EXPECT().Fetch(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(fetchResult, nil).AnyTimes() fetchResult.EXPECT().GetPatterns().Return(make([]string, 0), nil).AnyTimes() fetchResult.EXPECT().GetMetricsData().Return([]metricSource.MetricData{*metricSource.MakeMetricData("", []float64{}, 0, 0)}).AnyTimes() - remoteSource.EXPECT().IsConfigured().Return(true, nil).AnyTimes() remoteSource.EXPECT().GetMetricsTTLSeconds().Return(int64(604800)).AnyTimes() remoteSource.EXPECT().Fetch(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(fetchResult, nil).AnyTimes() @@ -244,8 +250,7 @@ func TestTriggerCheckHandler(t *testing.T) { testRequest := httptest.NewRequest("", "/", bytes.NewBuffer(jsonTrigger)) testRequest.Header.Add("content-type", "application/json") testRequest = testRequest.WithContext(middleware.SetContextValueForTest(testRequest.Context(), "metricSourceProvider", sourceProvider)) - testRequest = testRequest.WithContext(middleware.SetContextValueForTest(testRequest.Context(), "localMetricTTL", to.Duration("65m"))) - testRequest = testRequest.WithContext(middleware.SetContextValueForTest(testRequest.Context(), "remoteMetricTTL", to.Duration("168h"))) + testRequest = testRequest.WithContext(middleware.SetContextValueForTest(testRequest.Context(), "clustersMetricTTL", MakeTestTTLs())) triggerCheck(responseWriter, testRequest) @@ -267,9 +272,8 @@ func TestCreateTriggerHandler(t *testing.T) { localSource := mock_metric_source.NewMockMetricSource(mockCtrl) remoteSource := mock_metric_source.NewMockMetricSource(mockCtrl) - sourceProvider := metricSource.CreateMetricSourceProvider(localSource, remoteSource, nil) + sourceProvider := metricSource.CreateTestMetricSourceProvider(localSource, remoteSource, nil) - localSource.EXPECT().IsConfigured().Return(true, nil).AnyTimes() localSource.EXPECT().GetMetricsTTLSeconds().Return(int64(3600)).AnyTimes() fetchResult := mock_metric_source.NewMockFetchResult(mockCtrl) localSource.EXPECT().Fetch(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(fetchResult, nil).AnyTimes() @@ -310,7 +314,7 @@ func TestCreateTriggerHandler(t *testing.T) { testRequest := httptest.NewRequest("", url, bytes.NewBuffer(jsonTrigger)) testRequest.Header.Add("content-type", "application/json") testRequest = testRequest.WithContext(middleware.SetContextValueForTest(testRequest.Context(), "metricSourceProvider", sourceProvider)) - testRequest = testRequest.WithContext(middleware.SetContextValueForTest(testRequest.Context(), "localMetricTTL", to.Duration("65m"))) + testRequest = testRequest.WithContext(middleware.SetContextValueForTest(testRequest.Context(), "clustersMetricTTL", MakeTestTTLs())) responseWriter := httptest.NewRecorder() createTrigger(responseWriter, testRequest) @@ -347,7 +351,7 @@ func TestCreateTriggerHandler(t *testing.T) { request := httptest.NewRequest("", url, bytes.NewBuffer(jsonTrigger)) request.Header.Add("content-type", "application/json") request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "metricSourceProvider", sourceProvider)) - request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "localMetricTTL", to.Duration("65m"))) + request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "clustersMetricTTL", MakeTestTTLs())) responseWriter := httptest.NewRecorder() createTrigger(responseWriter, request) @@ -385,7 +389,7 @@ func TestCreateTriggerHandler(t *testing.T) { request := httptest.NewRequest("", "/", bytes.NewBuffer(jsonTrigger)) request.Header.Add("content-type", "application/json") request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "metricSourceProvider", sourceProvider)) - request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "localMetricTTL", to.Duration("65m"))) + request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "clustersMetricTTL", MakeTestTTLs())) responseWriter := httptest.NewRecorder() createTrigger(responseWriter, request) @@ -408,7 +412,7 @@ func TestCreateTriggerHandler(t *testing.T) { request := httptest.NewRequest("", fmt.Sprintf("/trigger?%s", validateFlag), bytes.NewBuffer(jsonTrigger)) request.Header.Add("content-type", "application/json") request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "metricSourceProvider", sourceProvider)) - request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "localMetricTTL", to.Duration("65m"))) + request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "clustersMetricTTL", MakeTestTTLs())) responseWriter := httptest.NewRecorder() createTrigger(responseWriter, request) @@ -470,7 +474,7 @@ func TestCreateTriggerHandler(t *testing.T) { request := httptest.NewRequest("", "/", bytes.NewBuffer(jsonTrigger)) request.Header.Add("content-type", "application/json") request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "metricSourceProvider", sourceProvider)) - request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "localMetricTTL", to.Duration("65m"))) + request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "clustersMetricTTL", MakeTestTTLs())) responseWriter := httptest.NewRecorder() createTrigger(responseWriter, request) @@ -487,7 +491,7 @@ func TestCreateTriggerHandler(t *testing.T) { request := httptest.NewRequest("", fmt.Sprintf("/trigger?%s", validateFlag), bytes.NewBuffer(jsonTrigger)) request.Header.Add("content-type", "application/json") request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "metricSourceProvider", sourceProvider)) - request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "localMetricTTL", to.Duration("65m"))) + request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "clustersMetricTTL", MakeTestTTLs())) responseWriter := httptest.NewRecorder() createTrigger(responseWriter, request) @@ -530,11 +534,12 @@ func TestCreateTriggerHandler(t *testing.T) { func TestTriggersCreatedWithTriggerSource(t *testing.T) { mockCtrl := gomock.NewController(t) + defer mockCtrl.Finish() localSource := mock_metric_source.NewMockMetricSource(mockCtrl) remoteSource := mock_metric_source.NewMockMetricSource(mockCtrl) prometheusSource := mock_metric_source.NewMockMetricSource(mockCtrl) - sourceProvider := metricSource.CreateMetricSourceProvider(localSource, remoteSource, prometheusSource) + sourceProvider := metricSource.CreateTestMetricSourceProvider(localSource, remoteSource, prometheusSource) db := mock_moira_alert.NewMockDatabase(mockCtrl) database = db @@ -548,7 +553,7 @@ func TestTriggersCreatedWithTriggerSource(t *testing.T) { request := newTriggerCreateRequest(sourceProvider, triggerId, jsonTrigger) Convey("Expect trigger to be graphite local", func() { - setupExpectationsForCreateTrigger(localSource, db, target, triggerId, moira.GraphiteLocal) + setupExpectationsForCreateTrigger(localSource, db, target, triggerId, moira.MakeClusterKey(moira.GraphiteLocal, moira.DefaultCluster)) responseWriter := httptest.NewRecorder() createTrigger(responseWriter, request) @@ -562,7 +567,7 @@ func TestTriggersCreatedWithTriggerSource(t *testing.T) { request := newTriggerCreateRequest(sourceProvider, triggerId, jsonTrigger) Convey("Expect trigger to be graphite remote", func() { - setupExpectationsForCreateTrigger(remoteSource, db, target, triggerId, moira.GraphiteRemote) + setupExpectationsForCreateTrigger(remoteSource, db, target, triggerId, moira.DefaultGraphiteRemoteCluster) responseWriter := httptest.NewRecorder() createTrigger(responseWriter, request) @@ -576,7 +581,7 @@ func TestTriggersCreatedWithTriggerSource(t *testing.T) { request := newTriggerCreateRequest(sourceProvider, triggerId, jsonTrigger) Convey("Expect trigger to be graphite local", func() { - setupExpectationsForCreateTrigger(localSource, db, target, triggerId, moira.GraphiteLocal) + setupExpectationsForCreateTrigger(localSource, db, target, triggerId, moira.MakeClusterKey(moira.GraphiteLocal, moira.DefaultCluster)) responseWriter := httptest.NewRecorder() createTrigger(responseWriter, request) @@ -590,7 +595,7 @@ func TestTriggersCreatedWithTriggerSource(t *testing.T) { request := newTriggerCreateRequest(sourceProvider, triggerId, jsonTrigger) Convey("Expect trigger to be graphite remote", func() { - setupExpectationsForCreateTrigger(remoteSource, db, target, triggerId, moira.GraphiteRemote) + setupExpectationsForCreateTrigger(remoteSource, db, target, triggerId, moira.DefaultGraphiteRemoteCluster) responseWriter := httptest.NewRecorder() createTrigger(responseWriter, request) @@ -604,7 +609,7 @@ func TestTriggersCreatedWithTriggerSource(t *testing.T) { request := newTriggerCreateRequest(sourceProvider, triggerId, jsonTrigger) Convey("Expect trigger to be prometheus remote", func() { - setupExpectationsForCreateTrigger(prometheusSource, db, target, triggerId, moira.PrometheusRemote) + setupExpectationsForCreateTrigger(prometheusSource, db, target, triggerId, moira.MakeClusterKey(moira.PrometheusRemote, moira.DefaultCluster)) responseWriter := httptest.NewRecorder() createTrigger(responseWriter, request) @@ -618,7 +623,41 @@ func TestTriggersCreatedWithTriggerSource(t *testing.T) { request := newTriggerCreateRequest(sourceProvider, triggerId, jsonTrigger) Convey("Expect trigger to be graphite local", func() { - setupExpectationsForCreateTrigger(localSource, db, target, triggerId, moira.GraphiteLocal) + setupExpectationsForCreateTrigger(localSource, db, target, triggerId, moira.MakeClusterKey(moira.GraphiteLocal, moira.DefaultCluster)) + + responseWriter := httptest.NewRecorder() + createTrigger(responseWriter, request) + + So(responseWriter.Code, ShouldEqual, 200) + }) + }) +} + +func TestTriggersCreatedWithNonDefaultClusterId(t *testing.T) { + mockCtrl := gomock.NewController(t) + defer mockCtrl.Finish() + + localSource := mock_metric_source.NewMockMetricSource(mockCtrl) + + remoteStagingCluster := moira.MakeClusterKey(moira.GraphiteLocal, moira.ClusterId("staging")) + remoteStagingSource := mock_metric_source.NewMockMetricSource(mockCtrl) + + sourceProvider := metricSource.CreateTestMetricSourceProvider(localSource, nil, nil) + sourceProvider.RegisterSource(remoteStagingCluster, remoteStagingSource) + + db := mock_moira_alert.NewMockDatabase(mockCtrl) + database = db + defer func() { database = nil }() + + triggerId := "test" + target := `test_target_value` + + Convey("Given cluster_id is set", t, func() { + jsonTrigger := makeTestTriggerJson(target, triggerId, `"trigger_source": "graphite_local", "cluster_id": "staging"`) + request := newTriggerCreateRequest(sourceProvider, triggerId, jsonTrigger) + + Convey("Expect trigger have non default cluster id", func() { + setupExpectationsForCreateTrigger(remoteStagingSource, db, target, triggerId, remoteStagingCluster) responseWriter := httptest.NewRecorder() createTrigger(responseWriter, request) @@ -649,9 +688,8 @@ func setupExpectationsForCreateTrigger( source *mock_metric_source.MockMetricSource, db *mock_moira_alert.MockDatabase, target, triggerId string, - triggerSource moira.TriggerSource, + clusterKey moira.ClusterKey, ) { - source.EXPECT().IsConfigured().Return(true, nil) source.EXPECT().GetMetricsTTLSeconds().Return(int64(3600)) source.EXPECT().Fetch(target, gomock.Any(), gomock.Any(), gomock.Any()).Return(&local.FetchResult{}, nil) @@ -659,7 +697,7 @@ func setupExpectationsForCreateTrigger( db.EXPECT().AcquireTriggerCheckLock(triggerId, gomock.Any()).Return(nil) db.EXPECT().DeleteTriggerCheckLock(triggerId).Return(nil) db.EXPECT().GetTriggerLastCheck(triggerId).Return(moira.CheckData{}, dataBase.ErrNil) - db.EXPECT().SetTriggerLastCheck(triggerId, gomock.Any(), triggerSource).Return(nil) + db.EXPECT().SetTriggerLastCheck(triggerId, gomock.Any(), clusterKey).Return(nil) db.EXPECT().SaveTrigger(triggerId, gomock.Any()).Return(nil) } @@ -671,7 +709,7 @@ func newTriggerCreateRequest( request := httptest.NewRequest("PUT", "/trigger", bytes.NewBuffer(jsonTrigger)) request.Header.Add("content-type", "application/json") request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "metricSourceProvider", sourceProvider)) - request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "localMetricTTL", to.Duration("65m"))) + request = request.WithContext(middleware.SetContextValueForTest(request.Context(), "clustersMetricTTL", MakeTestTTLs())) request = request.WithContext(middleware.SetContextValueForTest(request.Context(), triggerIDKey, triggerId)) return request diff --git a/api/handler/user.go b/api/handler/user.go index 17c856698..b9bf11ea4 100644 --- a/api/handler/user.go +++ b/api/handler/user.go @@ -27,7 +27,12 @@ func user(router chi.Router) { // @router /user [get] func getUserName(writer http.ResponseWriter, request *http.Request) { userLogin := middleware.GetLogin(request) - if err := render.Render(writer, request, &dto.User{Login: userLogin}); err != nil { + auth := middleware.GetAuth(request) + if err := render.Render(writer, request, &dto.User{ + Login: userLogin, + Role: auth.GetRole(userLogin), + AuthEnabled: auth.IsEnabled(), + }); err != nil { render.Render(writer, request, api.ErrorRender(err)) //nolint return } @@ -45,7 +50,8 @@ func getUserName(writer http.ResponseWriter, request *http.Request) { // @router /user/settings [get] func getUserSettings(writer http.ResponseWriter, request *http.Request) { userLogin := middleware.GetLogin(request) - userSettings, err := controller.GetUserSettings(database, userLogin) + auth := middleware.GetAuth(request) + userSettings, err := controller.GetUserSettings(database, userLogin, auth) if err != nil { render.Render(writer, request, err) //nolint return diff --git a/api/middleware/authorization.go b/api/middleware/authorization.go new file mode 100644 index 000000000..ac282741a --- /dev/null +++ b/api/middleware/authorization.go @@ -0,0 +1,25 @@ +package middleware + +import ( + "net/http" + + "github.com/go-chi/render" + "github.com/moira-alert/moira/api" +) + +// AdminOnlyMiddleware returns 403 if request for made by non-admin user. +func AdminOnlyMiddleware() func(next http.Handler) http.Handler { + return func(next http.Handler) http.Handler { + fn := func(w http.ResponseWriter, r *http.Request) { + auth := GetAuth(r) + userLogin := GetLogin(r) + + if auth.IsEnabled() && !auth.IsAdmin(userLogin) { + render.Render(w, r, api.ErrorForbidden("Only administrators can use this")) //nolint:errcheck + return + } + next.ServeHTTP(w, r) + } + return http.HandlerFunc(fn) + } +} diff --git a/api/middleware/context.go b/api/middleware/context.go index e0020fbd0..5dbc88e34 100644 --- a/api/middleware/context.go +++ b/api/middleware/context.go @@ -15,7 +15,7 @@ import ( metricSource "github.com/moira-alert/moira/metric_source" ) -// DatabaseContext sets to requests context configured database +// DatabaseContext sets to requests context configured database. func DatabaseContext(database moira.Database) func(next http.Handler) http.Handler { return func(next http.Handler) http.Handler { return http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) { @@ -25,7 +25,7 @@ func DatabaseContext(database moira.Database) func(next http.Handler) http.Handl } } -// SearchIndexContext sets to requests context configured moira.index.searchIndex +// SearchIndexContext sets to requests context configured moira.index.searchIndex. func SearchIndexContext(searcher moira.Searcher) func(next http.Handler) http.Handler { return func(next http.Handler) http.Handler { return http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) { @@ -35,7 +35,7 @@ func SearchIndexContext(searcher moira.Searcher) func(next http.Handler) http.Ha } } -// UserContext get x-webauth-user header and sets it in request context, if header is empty sets empty string +// UserContext get x-webauth-user header and sets it in request context, if header is empty sets empty string. func UserContext(next http.Handler) http.Handler { return http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) { userLogin := request.Header.Get("x-webauth-user") @@ -44,7 +44,7 @@ func UserContext(next http.Handler) http.Handler { }) } -// TriggerContext gets triggerId from parsed URI corresponding to trigger routes and set it to request context +// TriggerContext gets triggerId from parsed URI corresponding to trigger routes and set it to request context. func TriggerContext(next http.Handler) http.Handler { return http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) { triggerID := chi.URLParam(request, "triggerId") @@ -57,7 +57,7 @@ func TriggerContext(next http.Handler) http.Handler { }) } -// ContactContext gets contactID from parsed URI corresponding to trigger routes and set it to request context +// ContactContext gets contactID from parsed URI corresponding to trigger routes and set it to request context. func ContactContext(next http.Handler) http.Handler { return http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) { contactID := chi.URLParam(request, "contactId") @@ -70,7 +70,7 @@ func ContactContext(next http.Handler) http.Handler { }) } -// TagContext gets tagName from parsed URI corresponding to tag routes and set it to request context +// TagContext gets tagName from parsed URI corresponding to tag routes and set it to request context. func TagContext(next http.Handler) http.Handler { return http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) { tag := chi.URLParam(request, "tag") @@ -83,7 +83,7 @@ func TagContext(next http.Handler) http.Handler { }) } -// SubscriptionContext gets subscriptionId from parsed URI corresponding to subscription routes and set it to request context +// SubscriptionContext gets subscriptionId from parsed URI corresponding to subscription routes and set it to request context. func SubscriptionContext(next http.Handler) http.Handler { return http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) { subscriptionID := chi.URLParam(request, "subscriptionId") @@ -96,7 +96,7 @@ func SubscriptionContext(next http.Handler) http.Handler { }) } -// MetricSourceProvider adds metrics source provider to context +// MetricSourceProvider adds metrics source provider to context. func MetricSourceProvider(sourceProvider *metricSource.SourceProvider) func(next http.Handler) http.Handler { return func(next http.Handler) http.Handler { return http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) { @@ -106,7 +106,7 @@ func MetricSourceProvider(sourceProvider *metricSource.SourceProvider) func(next } } -// Paginate gets page and size values from URI query and set it to request context. If query has not values sets given values +// Paginate gets page and size values from URI query and set it to request context. If query has not values sets given values. func Paginate(defaultPage, defaultSize int64) func(next http.Handler) http.Handler { return func(next http.Handler) http.Handler { return http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) { @@ -133,7 +133,7 @@ func Paginate(defaultPage, defaultSize int64) func(next http.Handler) http.Handl } } -// Pager is a function that takes pager id from query +// Pager is a function that takes pager id from query. func Pager(defaultCreatePager bool, defaultPagerID string) func(next http.Handler) http.Handler { return func(next http.Handler) http.Handler { return http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) { @@ -160,7 +160,7 @@ func Pager(defaultCreatePager bool, defaultPagerID string) func(next http.Handle } } -// Populate gets bool value populate from URI query and set it to request context. If query has not values sets given values +// Populate gets bool value populate from URI query and set it to request context. If query has not values sets given values. func Populate(defaultPopulated bool) func(next http.Handler) http.Handler { return func(next http.Handler) http.Handler { return http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) { @@ -181,22 +181,20 @@ func Populate(defaultPopulated bool) func(next http.Handler) http.Handler { } } -// Triggers gets string value target from URI query and set it to request context. If query has not values sets given values -func Triggers(localMetricTTL, remoteMetricTTL, prometheusMetricTTL time.Duration) func(next http.Handler) http.Handler { +// Triggers gets string value target from URI query and set it to request context. If query has not values sets given values. +func Triggers(metricTTL map[moira.ClusterKey]time.Duration) func(next http.Handler) http.Handler { return func(next http.Handler) http.Handler { return http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) { ctx := request.Context() - ctx = context.WithValue(ctx, localMetricTTLKey, localMetricTTL) - ctx = context.WithValue(ctx, remoteMetricTTLKey, remoteMetricTTL) - ctx = context.WithValue(ctx, prometheusMetricTTLKey, prometheusMetricTTL) + ctx = context.WithValue(ctx, clustersMetricTTLKey, metricTTL) next.ServeHTTP(writer, request.WithContext(ctx)) }) } } -// DateRange gets from and to values from URI query and set it to request context. If query has not values sets given values +// DateRange gets from and to values from URI query and set it to request context. If query has not values sets given values. func DateRange(defaultFrom, defaultTo string) func(next http.Handler) http.Handler { return func(next http.Handler) http.Handler { return http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) { @@ -244,7 +242,7 @@ func TargetName(defaultTargetName string) func(next http.Handler) http.Handler { } } -// TeamContext gets teamId from parsed URI corresponding to team routes and set it to request context +// TeamContext gets teamId from parsed URI corresponding to team routes and set it to request context. func TeamContext(next http.Handler) http.Handler { return http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) { teamID := chi.URLParam(request, "teamId") @@ -257,7 +255,7 @@ func TeamContext(next http.Handler) http.Handler { }) } -// TeamUserIDContext gets userId from parsed URI corresponding to team routes and set it to request context +// TeamUserIDContext gets userId from parsed URI corresponding to team routes and set it to request context. func TeamUserIDContext(next http.Handler) http.Handler { return http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) { userID := chi.URLParam(request, "teamUserId") @@ -269,3 +267,13 @@ func TeamUserIDContext(next http.Handler) http.Handler { next.ServeHTTP(writer, request.WithContext(ctx)) }) } + +// AuthorizationContext sets given authorization configuration to request context. +func AuthorizationContext(auth *api.Authorization) func(next http.Handler) http.Handler { + return func(next http.Handler) http.Handler { + return http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) { + ctx := context.WithValue(request.Context(), authKey, auth) + next.ServeHTTP(writer, request.WithContext(ctx)) + }) + } +} diff --git a/api/middleware/context_test.go b/api/middleware/context_test.go index 5535c6c70..1c4e9e7c9 100644 --- a/api/middleware/context_test.go +++ b/api/middleware/context_test.go @@ -1,4 +1,4 @@ -package middleware_test +package middleware import ( "io" @@ -6,7 +6,6 @@ import ( "net/http/httptest" "testing" - "github.com/moira-alert/moira/api/middleware" . "github.com/smartystreets/goconvey/convey" ) @@ -26,7 +25,7 @@ func TestPaginateMiddleware(t *testing.T) { testRequest := httptest.NewRequest(http.MethodGet, "/test?"+param, nil) handler := func(w http.ResponseWriter, r *http.Request) {} - middlewareFunc := middleware.Paginate(defaultPage, defaultSize) + middlewareFunc := Paginate(defaultPage, defaultSize) wrappedHandler := middlewareFunc(http.HandlerFunc(handler)) wrappedHandler.ServeHTTP(responseWriter, testRequest) @@ -41,7 +40,7 @@ func TestPaginateMiddleware(t *testing.T) { testRequest := httptest.NewRequest(http.MethodGet, "/test?p=0%&size=100", nil) handler := func(w http.ResponseWriter, r *http.Request) {} - middlewareFunc := middleware.Paginate(defaultPage, defaultSize) + middlewareFunc := Paginate(defaultPage, defaultSize) wrappedHandler := middlewareFunc(http.HandlerFunc(handler)) wrappedHandler.ServeHTTP(responseWriter, testRequest) @@ -69,7 +68,7 @@ func TestPagerMiddleware(t *testing.T) { testRequest := httptest.NewRequest(http.MethodGet, "/test?"+param, nil) handler := func(w http.ResponseWriter, r *http.Request) {} - middlewareFunc := middleware.Pager(defaultCreatePager, defaultPagerID) + middlewareFunc := Pager(defaultCreatePager, defaultPagerID) wrappedHandler := middlewareFunc(http.HandlerFunc(handler)) wrappedHandler.ServeHTTP(responseWriter, testRequest) @@ -84,7 +83,7 @@ func TestPagerMiddleware(t *testing.T) { testRequest := httptest.NewRequest(http.MethodGet, "/test?pagerID=test%&createPager=true", nil) handler := func(w http.ResponseWriter, r *http.Request) {} - middlewareFunc := middleware.Pager(defaultCreatePager, defaultPagerID) + middlewareFunc := Pager(defaultCreatePager, defaultPagerID) wrappedHandler := middlewareFunc(http.HandlerFunc(handler)) wrappedHandler.ServeHTTP(responseWriter, testRequest) @@ -108,7 +107,7 @@ func TestPopulateMiddleware(t *testing.T) { testRequest := httptest.NewRequest(http.MethodGet, "/test?populated=true", nil) handler := func(w http.ResponseWriter, r *http.Request) {} - middlewareFunc := middleware.Populate(defaultPopulated) + middlewareFunc := Populate(defaultPopulated) wrappedHandler := middlewareFunc(http.HandlerFunc(handler)) wrappedHandler.ServeHTTP(responseWriter, testRequest) @@ -122,7 +121,7 @@ func TestPopulateMiddleware(t *testing.T) { testRequest := httptest.NewRequest(http.MethodGet, "/test?populated%=true", nil) handler := func(w http.ResponseWriter, r *http.Request) {} - middlewareFunc := middleware.Populate(defaultPopulated) + middlewareFunc := Populate(defaultPopulated) wrappedHandler := middlewareFunc(http.HandlerFunc(handler)) wrappedHandler.ServeHTTP(responseWriter, testRequest) @@ -150,7 +149,7 @@ func TestDateRangeMiddleware(t *testing.T) { testRequest := httptest.NewRequest(http.MethodGet, "/test?"+param, nil) handler := func(w http.ResponseWriter, r *http.Request) {} - middlewareFunc := middleware.DateRange(defaultFrom, defaultTo) + middlewareFunc := DateRange(defaultFrom, defaultTo) wrappedHandler := middlewareFunc(http.HandlerFunc(handler)) wrappedHandler.ServeHTTP(responseWriter, testRequest) @@ -165,7 +164,7 @@ func TestDateRangeMiddleware(t *testing.T) { testRequest := httptest.NewRequest(http.MethodGet, "/test?from=-2hours%&to=now", nil) handler := func(w http.ResponseWriter, r *http.Request) {} - middlewareFunc := middleware.DateRange(defaultFrom, defaultTo) + middlewareFunc := DateRange(defaultFrom, defaultTo) wrappedHandler := middlewareFunc(http.HandlerFunc(handler)) wrappedHandler.ServeHTTP(responseWriter, testRequest) @@ -189,7 +188,7 @@ func TestTargetNameMiddleware(t *testing.T) { testRequest := httptest.NewRequest(http.MethodGet, "/test?target=test", nil) handler := func(w http.ResponseWriter, r *http.Request) {} - middlewareFunc := middleware.TargetName(defaultTargetName) + middlewareFunc := TargetName(defaultTargetName) wrappedHandler := middlewareFunc(http.HandlerFunc(handler)) wrappedHandler.ServeHTTP(responseWriter, testRequest) @@ -203,7 +202,7 @@ func TestTargetNameMiddleware(t *testing.T) { testRequest := httptest.NewRequest(http.MethodGet, "/test?target%=test", nil) handler := func(w http.ResponseWriter, r *http.Request) {} - middlewareFunc := middleware.TargetName(defaultTargetName) + middlewareFunc := TargetName(defaultTargetName) wrappedHandler := middlewareFunc(http.HandlerFunc(handler)) wrappedHandler.ServeHTTP(responseWriter, testRequest) diff --git a/api/middleware/logger.go b/api/middleware/logger.go index f10dad4b5..aac401a26 100644 --- a/api/middleware/logger.go +++ b/api/middleware/logger.go @@ -25,22 +25,22 @@ type apiLoggerEntry struct { msg string } -// GetLoggerEntry gets logger entry with configured logger +// GetLoggerEntry gets logger entry with configured logger. func GetLoggerEntry(request *http.Request) moira.Logger { apiLoggerEntry := request.Context().Value(middleware.LogEntryCtxKey).(*apiLoggerEntry) return apiLoggerEntry.logger } -// WithLogEntry sets to context configured logger entry +// WithLogEntry sets to context configured logger entry. func WithLogEntry(r *http.Request, entry *apiLoggerEntry) *http.Request { return r.WithContext(context.WithValue(r.Context(), middleware.LogEntryCtxKey, entry)) } -// RequestLogger is overload method of go-chi.middleware RequestLogger with custom response logging +// RequestLogger is overload method of go-chi.middleware RequestLogger with custom response logging. func RequestLogger(logger moira.Logger) func(next http.Handler) http.Handler { return func(next http.Handler) http.Handler { fn := func(writer http.ResponseWriter, request *http.Request) { - entry := newLogEntry(logger, request) + entry := NewLogEntry(logger, request) wrapWriter := middleware.NewWrapResponseWriter(&responseWriterWithBody{ResponseWriter: writer}, request.ProtoMajor) t1 := time.Now() @@ -64,7 +64,7 @@ func RequestLogger(logger moira.Logger) func(next http.Handler) http.Handler { func getErrorResponseIfItHas(writer http.ResponseWriter) *api.ErrorResponse { writerWithBody := writer.(*responseWriterWithBody) - var errResp = &api.ErrorResponse{} + errResp := &api.ErrorResponse{} if err := json.NewDecoder(&writerWithBody.body).Decode(errResp); err != nil { return &api.ErrorResponse{ HTTPStatusCode: http.StatusInternalServerError, @@ -76,7 +76,8 @@ func getErrorResponseIfItHas(writer http.ResponseWriter) *api.ErrorResponse { return errResp } -func newLogEntry(logger moira.Logger, request *http.Request) *apiLoggerEntry { +// NewLogEntry is a function that creates an api logger entry. +func NewLogEntry(logger moira.Logger, request *http.Request) *apiLoggerEntry { entry := &apiLoggerEntry{ logger: logger.Clone(), request: request, diff --git a/api/middleware/middleware.go b/api/middleware/middleware.go index b6b088674..a520f01b4 100644 --- a/api/middleware/middleware.go +++ b/api/middleware/middleware.go @@ -6,10 +6,11 @@ import ( "time" "github.com/moira-alert/moira" + "github.com/moira-alert/moira/api" metricSource "github.com/moira-alert/moira/metric_source" ) -// ContextKey used as key of api request context values +// ContextKey used as key of api request context values. type ContextKey string func (key ContextKey) String() string { @@ -17,37 +18,36 @@ func (key ContextKey) String() string { } var ( - databaseKey ContextKey = "database" - searcherKey ContextKey = "searcher" - triggerIDKey ContextKey = "triggerID" - localMetricTTLKey ContextKey = "localMetricTTL" - remoteMetricTTLKey ContextKey = "remoteMetricTTL" - prometheusMetricTTLKey ContextKey = "prometheusMetricTTL" - populateKey ContextKey = "populated" - contactIDKey ContextKey = "contactID" - tagKey ContextKey = "tag" - subscriptionIDKey ContextKey = "subscriptionID" - pageKey ContextKey = "page" - sizeKey ContextKey = "size" - pagerIDKey ContextKey = "pagerID" - createPagerKey ContextKey = "createPager" - fromKey ContextKey = "from" - toKey ContextKey = "to" - loginKey ContextKey = "login" - timeSeriesNamesKey ContextKey = "timeSeriesNames" - metricSourceProvider ContextKey = "metricSourceProvider" - targetNameKey ContextKey = "target" - teamIDKey ContextKey = "teamID" - teamUserIDKey ContextKey = "teamUserIDKey" - anonymousUser = "anonymous" + databaseKey ContextKey = "database" + searcherKey ContextKey = "searcher" + triggerIDKey ContextKey = "triggerID" + clustersMetricTTLKey ContextKey = "clustersMetricTTL" + populateKey ContextKey = "populated" + contactIDKey ContextKey = "contactID" + tagKey ContextKey = "tag" + subscriptionIDKey ContextKey = "subscriptionID" + pageKey ContextKey = "page" + sizeKey ContextKey = "size" + pagerIDKey ContextKey = "pagerID" + createPagerKey ContextKey = "createPager" + fromKey ContextKey = "from" + toKey ContextKey = "to" + loginKey ContextKey = "login" + timeSeriesNamesKey ContextKey = "timeSeriesNames" + metricSourceProvider ContextKey = "metricSourceProvider" + targetNameKey ContextKey = "target" + teamIDKey ContextKey = "teamID" + teamUserIDKey ContextKey = "teamUserIDKey" + authKey ContextKey = "auth" + anonymousUser = "anonymous" ) -// GetDatabase gets moira.Database realization from request context +// GetDatabase gets moira.Database realization from request context. func GetDatabase(request *http.Request) moira.Database { return request.Context().Value(databaseKey).(moira.Database) } -// GetLogin gets user login string from request context, which was sets in UserContext middleware +// GetLogin gets user login string from request context, which was sets in UserContext middleware. func GetLogin(request *http.Request) string { if request.Context() != nil && request.Context().Value(loginKey) != nil { if login := request.Context().Value(loginKey).(string); login != "" { @@ -58,98 +58,88 @@ func GetLogin(request *http.Request) string { return anonymousUser } -// GetTriggerID gets TriggerID string from request context, which was sets in TriggerContext middleware +// GetTriggerID gets TriggerID string from request context, which was sets in TriggerContext middleware. func GetTriggerID(request *http.Request) string { return request.Context().Value(triggerIDKey).(string) } -// GetLocalMetricTTL gets local metric ttl duration time from request context, which was sets in TriggerContext middleware -func GetLocalMetricTTL(request *http.Request) time.Duration { - return request.Context().Value(localMetricTTLKey).(time.Duration) +// GetLocalMetricTTL gets local metric ttl duration time from request context, which was sets in TriggerContext middleware. +func GetMetricTTL(request *http.Request) map[moira.ClusterKey]time.Duration { + return request.Context().Value(clustersMetricTTLKey).(map[moira.ClusterKey]time.Duration) } -// GetRemoteMetricTTL gets remote metric ttl duration time from request context, which was sets in TriggerContext middleware -func GetRemoteMetricTTL(request *http.Request) time.Duration { - return request.Context().Value(remoteMetricTTLKey).(time.Duration) -} - -// GetRemoteMetricTTL gets remote metric ttl duration time from request context, which was sets in TriggerContext middleware -func GetPrometheusMetricTTL(request *http.Request) time.Duration { - return request.Context().Value(prometheusMetricTTLKey).(time.Duration) -} - -// GetPopulated get populate bool from request context, which was sets in TriggerContext middleware +// GetPopulated get populate bool from request context, which was sets in TriggerContext middleware. func GetPopulated(request *http.Request) bool { return request.Context().Value(populateKey).(bool) } -// GetTag gets tag string from request context, which was sets in TagContext middleware +// GetTag gets tag string from request context, which was sets in TagContext middleware. func GetTag(request *http.Request) string { return request.Context().Value(tagKey).(string) } -// GetSubscriptionID gets subscriptionId string from request context, which was sets in SubscriptionContext middleware +// GetSubscriptionID gets subscriptionId string from request context, which was sets in SubscriptionContext middleware. func GetSubscriptionID(request *http.Request) string { return request.Context().Value(subscriptionIDKey).(string) } -// GetContactID gets ContactID string from request context, which was sets in TriggerContext middleware +// GetContactID gets ContactID string from request context, which was sets in TriggerContext middleware. func GetContactID(request *http.Request) string { return request.Context().Value(contactIDKey).(string) } -// GetPage gets page value from request context, which was sets in Paginate middleware +// GetPage gets page value from request context, which was sets in Paginate middleware. func GetPage(request *http.Request) int64 { return request.Context().Value(pageKey).(int64) } -// GetSize gets size value from request context, which was sets in Paginate middleware +// GetSize gets size value from request context, which was sets in Paginate middleware. func GetSize(request *http.Request) int64 { return request.Context().Value(sizeKey).(int64) } -// GetPagerID is a function that gets pagerID value from request context, which was sets in Pager middleware +// GetPagerID is a function that gets pagerID value from request context, which was sets in Pager middleware. func GetPagerID(request *http.Request) string { return request.Context().Value(pagerIDKey).(string) } -// GetCreatePager is a function that gets createPager value from request context, which was sets in Pager middleware +// GetCreatePager is a function that gets createPager value from request context, which was sets in Pager middleware. func GetCreatePager(request *http.Request) bool { return request.Context().Value(createPagerKey).(bool) } -// GetFromStr gets 'from' value from request context, which was sets in DateRange middleware +// GetFromStr gets 'from' value from request context, which was sets in DateRange middleware. func GetFromStr(request *http.Request) string { return request.Context().Value(fromKey).(string) } -// GetToStr gets 'to' value from request context, which was sets in DateRange middleware +// GetToStr gets 'to' value from request context, which was sets in DateRange middleware. func GetToStr(request *http.Request) string { return request.Context().Value(toKey).(string) } -// SetTimeSeriesNames sets to requests context timeSeriesNames from saved trigger +// SetTimeSeriesNames sets to requests context timeSeriesNames from saved trigger. func SetTimeSeriesNames(request *http.Request, timeSeriesNames map[string]bool) { ctx := context.WithValue(request.Context(), timeSeriesNamesKey, timeSeriesNames) *request = *request.WithContext(ctx) } -// GetTimeSeriesNames gets from requests context timeSeriesNames from saved trigger +// GetTimeSeriesNames gets from requests context timeSeriesNames from saved trigger. func GetTimeSeriesNames(request *http.Request) map[string]bool { return request.Context().Value(timeSeriesNamesKey).(map[string]bool) } -// GetTriggerTargetsSourceProvider gets trigger targets source provider +// GetTriggerTargetsSourceProvider gets trigger targets source provider. func GetTriggerTargetsSourceProvider(request *http.Request) *metricSource.SourceProvider { return request.Context().Value(metricSourceProvider).(*metricSource.SourceProvider) } -// GetTargetName gets target name +// GetTargetName gets target name. func GetTargetName(request *http.Request) string { return request.Context().Value(targetNameKey).(string) } -// GetTeamID gets team id +// GetTeamID gets team id. func GetTeamID(request *http.Request) string { teamID := request.Context().Value(teamIDKey) if teamID == nil { @@ -158,12 +148,17 @@ func GetTeamID(request *http.Request) string { return teamID.(string) } -// GetTeamUserID gets team user id +// GetTeamUserID gets team user id. func GetTeamUserID(request *http.Request) string { return request.Context().Value(teamUserIDKey).(string) } -// SetContextValueForTest is a helper function that is needed for testing purposes and sets context values with local ContextKey type +// SetContextValueForTest is a helper function that is needed for testing purposes and sets context values with local ContextKey type. func SetContextValueForTest(ctx context.Context, key string, value interface{}) context.Context { return context.WithValue(ctx, ContextKey(key), value) } + +// GetAuth gets authorization configuration. +func GetAuth(request *http.Request) *api.Authorization { + return request.Context().Value(authKey).(*api.Authorization) +} diff --git a/api/middleware/middleware_test.go b/api/middleware/middleware_test.go index 02b6cd88b..bf8fbb47b 100644 --- a/api/middleware/middleware_test.go +++ b/api/middleware/middleware_test.go @@ -10,13 +10,13 @@ import ( func TestGetLogin(t *testing.T) { Convey("Request does not contain login, should get anonymous", t, func() { - req, err := http.NewRequest(http.MethodGet, "https://testurl.com", http.NoBody) + req, err := http.NewRequestWithContext(context.Background(), http.MethodGet, "https://testurl.com", http.NoBody) So(err, ShouldBeNil) So(anonymousUser, ShouldEqual, GetLogin(req)) }) Convey("Request contains login, but empty, should get anonymous", t, func() { - req, err := http.NewRequest(http.MethodGet, "https://testurl.com", http.NoBody) + req, err := http.NewRequestWithContext(context.Background(), http.MethodGet, "https://testurl.com", http.NoBody) ctx := context.WithValue(req.Context(), loginKey, "") req = req.WithContext(ctx) So(err, ShouldBeNil) @@ -24,7 +24,7 @@ func TestGetLogin(t *testing.T) { }) Convey("Request contains login header, should get that", t, func() { - req, err := http.NewRequest(http.MethodGet, "https://testurl.com", http.NoBody) + req, err := http.NewRequestWithContext(context.Background(), http.MethodGet, "https://testurl.com", http.NoBody) ctx := context.WithValue(req.Context(), loginKey, "awesome_user") req = req.WithContext(ctx) So(err, ShouldBeNil) diff --git a/api/middleware/readonly_mode.go b/api/middleware/readonly_mode.go new file mode 100644 index 000000000..86dfdcb93 --- /dev/null +++ b/api/middleware/readonly_mode.go @@ -0,0 +1,29 @@ +package middleware + +import ( + "net/http" + + "github.com/go-chi/render" + "github.com/moira-alert/moira/api" +) + +// ReadOnlyMiddleware returns 403 for mutating queries if readonly mode is enabled. +func ReadOnlyMiddleware(config *api.Config) func(next http.Handler) http.Handler { + return func(next http.Handler) http.Handler { + fn := func(w http.ResponseWriter, r *http.Request) { + if config.Flags.IsReadonlyEnabled && isMutatingMethod(r.Method) { + render.Render(w, r, api.ErrorForbidden("Moira is currently in read-only mode")) //nolint:errcheck + return + } + next.ServeHTTP(w, r) + } + return http.HandlerFunc(fn) + } +} + +func isMutatingMethod(method string) bool { + return method == http.MethodPut || + method == http.MethodPost || + method == http.MethodPatch || + method == http.MethodDelete +} diff --git a/api/middleware/readonly_mode_test.go b/api/middleware/readonly_mode_test.go new file mode 100644 index 000000000..36a601a2e --- /dev/null +++ b/api/middleware/readonly_mode_test.go @@ -0,0 +1,73 @@ +package middleware + +import ( + "net/http" + "net/http/httptest" + "testing" + + "github.com/moira-alert/moira/api" + . "github.com/smartystreets/goconvey/convey" +) + +func TestReadonlyModeMiddleware(t *testing.T) { + Convey("Given readonly mode is disabled", t, func() { + config := &api.Config{Flags: api.FeatureFlags{IsReadonlyEnabled: false}} + + Convey("Performing get request", func() { + actual := PerformRequestWithReadonlyModeMiddleware(config, http.MethodGet) + + So(actual, ShouldEqual, http.StatusOK) + }) + Convey("Performing put request", func() { + actual := PerformRequestWithReadonlyModeMiddleware(config, http.MethodPut) + + So(actual, ShouldEqual, http.StatusOK) + }) + }) + + Convey("Given readonly mode is enabled", t, func() { + config := &api.Config{Flags: api.FeatureFlags{IsReadonlyEnabled: true}} + + Convey("Performing get request", func() { + actual := PerformRequestWithReadonlyModeMiddleware(config, http.MethodGet) + + So(actual, ShouldEqual, http.StatusOK) + }) + Convey("Performing put request", func() { + actual := PerformRequestWithReadonlyModeMiddleware(config, http.MethodPut) + + So(actual, ShouldEqual, http.StatusForbidden) + }) + Convey("Performing post request", func() { + actual := PerformRequestWithReadonlyModeMiddleware(config, http.MethodPost) + + So(actual, ShouldEqual, http.StatusForbidden) + }) + Convey("Performing patch request", func() { + actual := PerformRequestWithReadonlyModeMiddleware(config, http.MethodPatch) + + So(actual, ShouldEqual, http.StatusForbidden) + }) + Convey("Performing delete request", func() { + actual := PerformRequestWithReadonlyModeMiddleware(config, http.MethodDelete) + + So(actual, ShouldEqual, http.StatusForbidden) + }) + }) +} + +func PerformRequestWithReadonlyModeMiddleware(config *api.Config, method string) int { + responseWriter := httptest.NewRecorder() + + testRequest := httptest.NewRequest(method, "/test", nil) + + handler := func(w http.ResponseWriter, r *http.Request) {} + middlewareFunc := ReadOnlyMiddleware(config) + wrappedHandler := middlewareFunc(http.HandlerFunc(handler)) + + wrappedHandler.ServeHTTP(responseWriter, testRequest) + response := responseWriter.Result() + defer response.Body.Close() + + return response.StatusCode +} diff --git a/checker/check.go b/checker/check.go index b1493a82b..7c295792e 100644 --- a/checker/check.go +++ b/checker/check.go @@ -16,7 +16,7 @@ const ( checkPointGap int64 = 120 ) -// Check handle trigger and last check and write new state of trigger, if state were change then write new NotificationEvent +// Check handle trigger and last check and write new state of trigger, if state were change then write new NotificationEvent. func (triggerChecker *TriggerChecker) Check() error { triggerChecker.logger.Debug().Msg("Checking trigger") @@ -59,7 +59,7 @@ func (triggerChecker *TriggerChecker) Check() error { return triggerChecker.database.SetTriggerLastCheck( triggerChecker.triggerID, &checkData, - triggerChecker.trigger.TriggerSource, + triggerChecker.trigger.ClusterKey(), ) } @@ -71,11 +71,11 @@ const ( MustStopCheck ErrorSeverity = 2 ) -// handlePrepareError is a function that checks error returned from prepareMetrics function. If error -// is not serious and check process can be continued first return value became CanContinueCheck and Filled CheckData returned. -// in the other case first return value became MustStopCheck and error passed to this function is handled. +// handlePrepareError is a function that checks error returned from prepareMetrics function. +// If error is not serious and check process can be continued first return value became CanContinueCheck and Filled CheckData returned. +// In the other case first return value became MustStopCheck and error passed to this function is handled. func (triggerChecker *TriggerChecker) handlePrepareError(checkData moira.CheckData, err error) (ErrorSeverity, moira.CheckData, error) { - switch err.(type) { + switch err.(type) { // nolint:errorlint case ErrTriggerHasSameMetricNames: checkData.State = moira.StateEXCEPTION checkData.Message = err.Error() @@ -105,14 +105,15 @@ func (triggerChecker *TriggerChecker) handlePrepareError(checkData moira.CheckDa err = triggerChecker.database.SetTriggerLastCheck( triggerChecker.triggerID, &checkData, - triggerChecker.trigger.TriggerSource, + triggerChecker.trigger.ClusterKey(), ) + return MustStopCheck, checkData, err } // handleFetchError is a function that checks error returned from fetchTriggerMetrics function. func (triggerChecker *TriggerChecker) handleFetchError(checkData moira.CheckData, err error) error { - switch err.(type) { + switch err.(type) { // nolint:errorlint case ErrTriggerHasEmptyTargets, ErrTriggerHasOnlyWildcards: triggerChecker.logger.Debug(). String(moira.LogFieldNameTriggerID, triggerChecker.triggerID). @@ -129,7 +130,7 @@ func (triggerChecker *TriggerChecker) handleFetchError(checkData moira.CheckData return triggerChecker.database.SetTriggerLastCheck( triggerChecker.triggerID, &checkData, - triggerChecker.trigger.TriggerSource, + triggerChecker.trigger.ClusterKey(), ) } case remote.ErrRemoteTriggerResponse: @@ -137,8 +138,17 @@ func (triggerChecker *TriggerChecker) handleFetchError(checkData moira.CheckData if timeSinceLastSuccessfulCheck >= triggerChecker.ttl { checkData.State = moira.StateEXCEPTION checkData.Message = fmt.Sprintf("Remote server unavailable. Trigger is not checked for %d seconds", timeSinceLastSuccessfulCheck) - checkData, err = triggerChecker.compareTriggerStates(checkData) + + var comparingErr error + checkData, comparingErr = triggerChecker.compareTriggerStates(checkData) + if comparingErr != nil { + triggerChecker.logger.Error(). + Error(comparingErr). + String(moira.LogFieldNameTriggerID, triggerChecker.triggerID). + Msg("cannot compare trigger states") + } } + logTriggerCheckException(triggerChecker.logger, triggerChecker.triggerID, err) case local.ErrUnknownFunction, local.ErrEvalExpr: checkData.State = moira.StateEXCEPTION @@ -147,15 +157,17 @@ func (triggerChecker *TriggerChecker) handleFetchError(checkData moira.CheckData default: return triggerChecker.handleUndefinedError(checkData, err) } + checkData, err = triggerChecker.compareTriggerStates(checkData) if err != nil { return err } + checkData.UpdateScore() return triggerChecker.database.SetTriggerLastCheck( triggerChecker.triggerID, &checkData, - triggerChecker.trigger.TriggerSource, + triggerChecker.trigger.ClusterKey(), ) } @@ -167,6 +179,8 @@ func (triggerChecker *TriggerChecker) handleUndefinedError(checkData moira.Check triggerChecker.logger.Error(). String(moira.LogFieldNameTriggerID, triggerChecker.triggerID). + String("trigger.cluster_id", triggerChecker.trigger.ClusterId.String()). + String("trigger.source", triggerChecker.trigger.TriggerSource.String()). Error(err). Msg("Trigger check failed") @@ -174,11 +188,12 @@ func (triggerChecker *TriggerChecker) handleUndefinedError(checkData moira.Check if err != nil { return err } + checkData.UpdateScore() return triggerChecker.database.SetTriggerLastCheck( triggerChecker.triggerID, &checkData, - triggerChecker.trigger.TriggerSource, + triggerChecker.trigger.ClusterKey(), ) } @@ -189,17 +204,19 @@ func logTriggerCheckException(logger moira.Logger, triggerID string, err error) Msg("Trigger check failed") } -// Set new last check timestamp that equal to "until" targets fetch interval -// Do not copy message, it will be set if needed +// Set new last check timestamp that equal to "until" targets fetch interval. +// Do not copy message, it will be set if needed. func newCheckData(lastCheck *moira.CheckData, checkTimeStamp int64) moira.CheckData { lastMetrics := make(map[string]moira.MetricState, len(lastCheck.Metrics)) for k, v := range lastCheck.Metrics { lastMetrics[k] = v } + metricsToTargetRelation := make(map[string]string, len(lastCheck.MetricsToTargetRelation)) for k, v := range lastCheck.MetricsToTargetRelation { metricsToTargetRelation[k] = v } + newCheckData := *lastCheck newCheckData.Metrics = lastMetrics newCheckData.Timestamp = checkTimeStamp @@ -232,11 +249,11 @@ func newMetricState(oldMetricState moira.MetricState, newState moira.State, newT // prepareMetrics is a function that takes fetched metrics and prepare it to check. // The sequence of check is following: -// Call preparePatternMetrics that converts fetched metrics to TriggerPatternMetrics -> -// Populate metrics -> -// Filter alone metrics -> -// Check that targets with alone metrics declared in trigger -> -// Convert to TriggerMetricsToCheck +// Call preparePatternMetrics that converts fetched metrics to TriggerPatternMetrics ->. +// Populate metrics ->. +// Filter alone metrics ->. +// Check that targets with alone metrics declared in trigger ->. +// Convert to TriggerMetricsToCheck. func (triggerChecker *TriggerChecker) prepareMetrics(fetchedMetrics map[string][]metricSource.MetricData) (map[string]map[string]metricSource.MetricData, map[string]metricSource.MetricData, error) { from := triggerChecker.from to := triggerChecker.until @@ -252,7 +269,6 @@ func (triggerChecker *TriggerChecker) prepareMetrics(fetchedMetrics map[string][ } multiMetricTargets, aloneMetrics, err := preparedPatternMetrics.FilterAloneMetrics(triggerChecker.trigger.AloneMetrics) - if err != nil { return nil, nil, err } @@ -268,14 +284,15 @@ func (triggerChecker *TriggerChecker) prepareMetrics(fetchedMetrics map[string][ if len(duplicates) > 0 { return converted, populatedAloneMetrics, NewErrTriggerHasSameMetricNames(duplicates) } + return converted, populatedAloneMetrics, nil } // preparePatternMetrics is a function that takes PatternMetrics and applies following operations on it: -// PatternMetrics -> -// Remove wildcards -> -// Remove duplicated metrics and collect the names of duplicated metrics -> -// Convert to TriggerPatternMetrics +// PatternMetrics ->. +// Remove wildcards ->. +// Remove duplicated metrics and collect the names of duplicated metrics ->. +// Convert to TriggerPatternMetrics. func (triggerChecker *TriggerChecker) preparePatternMetrics(fetchedMetrics conversion.FetchedTargetMetrics) (conversion.TriggerTargetMetrics, []string) { withoutWildcards := fetchedMetrics.CleanWildcards() deduplicated, duplicates := withoutWildcards.Deduplicate() @@ -285,32 +302,65 @@ func (triggerChecker *TriggerChecker) preparePatternMetrics(fetchedMetrics conve return result, duplicates } -// Checks if the metric has changed since the previous check -func isMetricChanged(metrics map[string]moira.MetricState, metricName string, metricState moira.MetricState) bool { - prevMetricState := metrics[metricName] - return prevMetricState.Timestamp != metricState.Timestamp -} +/* +check - function that calculates the state of metrics in the trigger + +2 cases are possible: + +1) The trigger has only alone targets, in this case a metric with the name of the first target +is created and then the values of other alone metrics are added to it -// check is the function that handles check on prepared metrics. +2) The trigger has regular metrics, in this case all alone metrics are simply added to +all regular metrics. +*/ func (triggerChecker *TriggerChecker) check( - metrics map[string]map[string]metricSource.MetricData, + regularMetrics map[string]map[string]metricSource.MetricData, aloneMetrics map[string]metricSource.MetricData, checkData moira.CheckData, logger moira.Logger, ) (moira.CheckData, error) { // Case when trigger have only alone metrics - if len(metrics) == 0 { - if len(aloneMetrics) == 0 { - return checkData, nil - } - if metrics == nil { - metrics = make(map[string]map[string]metricSource.MetricData, 1) - } - metricName := conversion.MetricName(aloneMetrics) - metrics[metricName] = make(map[string]metricSource.MetricData) + if len(regularMetrics) == 0 { + return triggerChecker.handleAloneMetrics(aloneMetrics, checkData, logger) + } + + return triggerChecker.checkRegularMetrics(regularMetrics, aloneMetrics, checkData, logger) +} + +func (triggerChecker *TriggerChecker) handleAloneMetrics( + aloneMetrics map[string]metricSource.MetricData, + checkData moira.CheckData, + logger moira.Logger, +) (moira.CheckData, error) { + // We should not create a metric if the number of alone metrics does not match + // the number of targets, otherwise errors may occur during the calculation of + // the expression + if len(aloneMetrics) != len(triggerChecker.trigger.Targets) { + return checkData, nil + } + + // Create a regular metric with first alone metric name + metricName := conversion.MetricName(aloneMetrics) + regularMetrics := map[string]map[string]metricSource.MetricData{ + metricName: make(map[string]metricSource.MetricData), } - for metricName, targets := range metrics { + return triggerChecker.checkRegularMetrics(regularMetrics, aloneMetrics, checkData, logger) +} + +// Checks if the metric has changed since the previous check. +func isMetricChanged(metrics map[string]moira.MetricState, metricName string, metricState moira.MetricState) bool { + prevMetricState := metrics[metricName] + return prevMetricState.Timestamp != metricState.Timestamp +} + +func (triggerChecker *TriggerChecker) checkRegularMetrics( + regularMetrics map[string]map[string]metricSource.MetricData, + aloneMetrics map[string]metricSource.MetricData, + checkData moira.CheckData, + logger moira.Logger, +) (moira.CheckData, error) { + for metricName, targets := range regularMetrics { log := logger.Clone(). String(moira.LogFieldNameMetricName, metricName) @@ -319,7 +369,8 @@ func (triggerChecker *TriggerChecker) check( metricState, needToDeleteMetric, err := triggerChecker.checkTargets(metricName, targets, log) if needToDeleteMetric { - log.Debug().String("metric_name", metricName).Msg("Remove metric") + log.Debug().Msg("Remove metric") + checkData.RemoveMetricState(metricName) err = triggerChecker.database.RemovePatternsMetrics(triggerChecker.trigger.Patterns) } else { @@ -334,10 +385,11 @@ func (triggerChecker *TriggerChecker) check( return checkData, err } } + return checkData, nil } -// checkTargets is a function which determines the last state of the metric and information about whether it should be deleted +// checkTargets is a function which determines the last state of the metric and information about whether it should be deleted. func (triggerChecker *TriggerChecker) checkTargets( metricName string, metrics map[string]metricSource.MetricData, @@ -472,10 +524,11 @@ func (triggerChecker *TriggerChecker) getMetricDataState( return nil, nil } - triggerExpression, values, noEmptyValues := getExpressionValues(metrics, valueTimestamp) + triggerExpression, values, noEmptyValues := getExpressionValues(metrics, valueTimestamp, logger) if !noEmptyValues { return nil, nil } + logger.Debug(). Interface("timestamp", valueTimestamp). Interface("main_target_value", triggerExpression.MainTargetValue). @@ -501,7 +554,11 @@ func (triggerChecker *TriggerChecker) getMetricDataState( ), nil } -func getExpressionValues(metrics map[string]metricSource.MetricData, valueTimestamp *int64) ( +func getExpressionValues( + metrics map[string]metricSource.MetricData, + valueTimestamp *int64, + logger moira.Logger, +) ( triggerExpression *expression.TriggerExpression, values map[string]float64, noEmptyValues bool, @@ -509,23 +566,34 @@ func getExpressionValues(metrics map[string]metricSource.MetricData, valueTimest expression := &expression.TriggerExpression{ AdditionalTargetsValues: make(map[string]float64, len(metrics)-1), } + values = make(map[string]float64, len(metrics)) for i := 0; i < len(metrics); i++ { targetName := fmt.Sprintf("t%d", i+1) - metric := metrics[targetName] + metric, ok := metrics[targetName] + if !ok { + logger.Error(). + String("target", targetName). + Msg("Failed to get metric by target") + + return nil, nil, false + } value := metric.GetTimestampValue(*valueTimestamp) values[targetName] = value if !moira.IsFiniteNumber(value) { - return expression, values, false + return nil, nil, false } + if i == 0 { expression.MainTargetValue = value continue } + expression.AdditionalTargetsValues[targetName] = value } + return expression, values, true } diff --git a/checker/check_test.go b/checker/check_test.go index b75e335c9..772f1eb0b 100644 --- a/checker/check_test.go +++ b/checker/check_test.go @@ -6,13 +6,13 @@ import ( "testing" "time" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" "github.com/moira-alert/moira/checker/metrics/conversion" "github.com/moira-alert/moira/expression" logging "github.com/moira-alert/moira/logging/zerolog_adapter" metricSource "github.com/moira-alert/moira/metric_source" "github.com/moira-alert/moira/metric_source/local" + "go.uber.org/mock/gomock" "github.com/moira-alert/moira/metrics" mock_metric_source "github.com/moira-alert/moira/mock/metric_source" @@ -20,14 +20,18 @@ import ( . "github.com/smartystreets/goconvey/convey" ) +var defaultLocalClusterKey = moira.MakeClusterKey(moira.GraphiteLocal, "default") + func TestGetMetricDataState(t *testing.T) { logger, _ := logging.GetLogger("Test") var warnValue float64 = 10 var errValue float64 = 20 - checkerMetrics := metrics.ConfigureCheckerMetrics(metrics.NewDummyRegistry(), false, false) + checkerMetrics, _ := metrics. + ConfigureCheckerMetrics(metrics.NewDummyRegistry(), []moira.ClusterKey{defaultLocalClusterKey}). + GetCheckMetricsBySource(defaultLocalClusterKey) triggerChecker := TriggerChecker{ logger: logger, - metrics: checkerMetrics.LocalMetrics, + metrics: checkerMetrics, until: 67, from: 17, trigger: &moira.Trigger{ @@ -214,7 +218,8 @@ func TestTriggerChecker_PrepareMetrics(t *testing.T) { "first": {Values: map[string]float64{"t1": 0}}, "second": {Values: map[string]float64{"t1": 0}}, "third": {Values: map[string]float64{"t1": 0}}, - }} + }, + } Convey("last check has aloneMetrics", func() { triggerChecker.trigger.AloneMetrics = map[string]bool{"t2": true} triggerChecker.lastCheck = &moira.CheckData{ @@ -223,7 +228,8 @@ func TestTriggerChecker_PrepareMetrics(t *testing.T) { "first": {Values: map[string]float64{"t1": 0, "t2": 0}}, "second": {Values: map[string]float64{"t1": 0, "t2": 0}}, "third": {Values: map[string]float64{"t1": 0, "t2": 0}}, - }} + }, + } Convey("fetched metrics is empty", func() { triggerChecker.trigger.AloneMetrics = map[string]bool{"t2": true} prepared, alone, err := triggerChecker.prepareMetrics(map[string][]metricSource.MetricData{}) @@ -535,9 +541,11 @@ func TestCheckForNODATA(t *testing.T) { var ttl int64 = 600 - checkerMetrics := metrics.ConfigureCheckerMetrics(metrics.NewDummyRegistry(), false, false) + checkerMetrics, _ := metrics. + ConfigureCheckerMetrics(metrics.NewDummyRegistry(), []moira.ClusterKey{defaultLocalClusterKey}). + GetCheckMetricsBySource(defaultLocalClusterKey) triggerChecker := TriggerChecker{ - metrics: checkerMetrics.LocalMetrics, + metrics: checkerMetrics, logger: logger, ttl: ttl, lastCheck: &moira.CheckData{ @@ -656,14 +664,16 @@ func TestCheck(t *testing.T) { var ttl int64 = 30 - checkerMetrics := metrics.ConfigureCheckerMetrics(metrics.NewDummyRegistry(), false, false) + checkerMetrics, _ := metrics. + ConfigureCheckerMetrics(metrics.NewDummyRegistry(), []moira.ClusterKey{defaultLocalClusterKey}). + GetCheckMetricsBySource(defaultLocalClusterKey) triggerChecker := TriggerChecker{ triggerID: "SuperId", database: dataBase, source: source, logger: logger, config: &Config{}, - metrics: checkerMetrics.LocalMetrics, + metrics: checkerMetrics, from: 17, until: 67, ttl: ttl, @@ -713,7 +723,7 @@ func TestCheck(t *testing.T) { dataBase.EXPECT().SetTriggerLastCheck( triggerChecker.triggerID, &lastCheck, - triggerChecker.trigger.TriggerSource, + triggerChecker.trigger.ClusterKey(), ).Return(nil), ) err := triggerChecker.Check() @@ -748,7 +758,7 @@ func TestCheck(t *testing.T) { dataBase.EXPECT().SetTriggerLastCheck( triggerChecker.triggerID, &lastCheck, - triggerChecker.trigger.TriggerSource, + triggerChecker.trigger.ClusterKey(), ).Return(nil), ) err := triggerChecker.Check() @@ -797,7 +807,7 @@ func TestCheck(t *testing.T) { dataBase.EXPECT().SetTriggerLastCheck( triggerChecker.triggerID, &lastCheck, - triggerChecker.trigger.TriggerSource, + triggerChecker.trigger.ClusterKey(), ).Return(nil), ) err := triggerChecker.Check() @@ -845,7 +855,7 @@ func TestCheck(t *testing.T) { dataBase.EXPECT().SetTriggerLastCheck( triggerChecker.triggerID, &lastCheck, - triggerChecker.trigger.TriggerSource, + triggerChecker.trigger.ClusterKey(), ).Return(nil), ) err := triggerChecker.Check() @@ -891,7 +901,7 @@ func TestCheck(t *testing.T) { dataBase.EXPECT().SetTriggerLastCheck( triggerChecker.triggerID, &lastCheck, - triggerChecker.trigger.TriggerSource, + triggerChecker.trigger.ClusterKey(), ).Return(nil) err := triggerChecker.Check() So(err, ShouldBeNil) @@ -965,7 +975,7 @@ func TestCheck(t *testing.T) { dataBase.EXPECT().SetTriggerLastCheck( triggerChecker.triggerID, &lastCheck, - triggerChecker.trigger.TriggerSource, + triggerChecker.trigger.ClusterKey(), ).Return(nil), ) err := triggerChecker.Check() @@ -1121,239 +1131,364 @@ func TestHandleTrigger(t *testing.T) { lastCheck: &lastCheck, } - Convey("First Event", t, func() { - aloneMetrics := map[string]metricSource.MetricData{"t1": *metricSource.MakeMetricData(metric, []float64{0, 1, 2, 3, 4}, retention, triggerChecker.from)} - lastCheck.MetricsToTargetRelation = conversion.GetRelations(aloneMetrics, triggerChecker.trigger.AloneMetrics) - checkData := newCheckData(&lastCheck, triggerChecker.until) - metricsToCheck := map[string]map[string]metricSource.MetricData{} - dataBase.EXPECT().PushNotificationEvent(&moira.NotificationEvent{ - TriggerID: triggerChecker.triggerID, - Timestamp: 3617, - State: moira.StateOK, - OldState: moira.StateNODATA, - Metric: metric, - Values: map[string]float64{"t1": 0}, - Message: nil}, true).Return(nil) - checkData, err := triggerChecker.check(metricsToCheck, aloneMetrics, checkData, logger) - So(err, ShouldBeNil) - So(checkData, ShouldResemble, moira.CheckData{ - Metrics: map[string]moira.MetricState{ - metric: { - Timestamp: 3657, - EventTimestamp: 3617, - State: moira.StateOK, - Value: nil, - Values: map[string]float64{"t1": 4}, + Convey("Simple mode", t, func() { + Convey("First Event", func() { + aloneMetrics := map[string]metricSource.MetricData{"t1": *metricSource.MakeMetricData(metric, []float64{0, 1, 2, 3, 4}, retention, triggerChecker.from)} + lastCheck.MetricsToTargetRelation = conversion.GetRelations(aloneMetrics, triggerChecker.trigger.AloneMetrics) + checkData := newCheckData(&lastCheck, triggerChecker.until) + metricsToCheck := map[string]map[string]metricSource.MetricData{} + dataBase.EXPECT().PushNotificationEvent( + &moira.NotificationEvent{ + TriggerID: triggerChecker.triggerID, + Timestamp: 3617, + State: moira.StateOK, + OldState: moira.StateNODATA, + Metric: metric, + Values: map[string]float64{"t1": 0}, + Message: nil, + }, true).Return(nil) + + checkData, err := triggerChecker.check(metricsToCheck, aloneMetrics, checkData, logger) + So(err, ShouldBeNil) + So(checkData, ShouldResemble, moira.CheckData{ + Metrics: map[string]moira.MetricState{ + metric: { + Timestamp: 3657, + EventTimestamp: 3617, + State: moira.StateOK, + Value: nil, + Values: map[string]float64{"t1": 4}, + }, }, - }, - MetricsToTargetRelation: map[string]string{}, - Timestamp: triggerChecker.until, - State: moira.StateNODATA, - Score: 0, + MetricsToTargetRelation: map[string]string{}, + Timestamp: triggerChecker.until, + State: moira.StateNODATA, + Score: 0, + }) }) - }) - - lastCheck = moira.CheckData{ - Metrics: map[string]moira.MetricState{ - metric: { - Timestamp: 3647, - EventTimestamp: 3607, - State: moira.StateOK, - Values: map[string]float64{"t1": 3}, - }, - }, - State: moira.StateOK, - Timestamp: 3655, - } - - Convey("Last check is not empty", t, func() { - aloneMetrics := map[string]metricSource.MetricData{"t1": *metricSource.MakeMetricData(metric, []float64{0, 1, 2, 3, 4}, retention, triggerChecker.from)} - lastCheck.MetricsToTargetRelation = conversion.GetRelations(aloneMetrics, triggerChecker.trigger.AloneMetrics) - checkData := newCheckData(&lastCheck, triggerChecker.until) - metricsToCheck := map[string]map[string]metricSource.MetricData{} - checkData, err := triggerChecker.check(metricsToCheck, aloneMetrics, checkData, logger) - So(err, ShouldBeNil) - So(checkData, ShouldResemble, moira.CheckData{ + lastCheck = moira.CheckData{ Metrics: map[string]moira.MetricState{ metric: { - Timestamp: 3657, + Timestamp: 3647, EventTimestamp: 3607, State: moira.StateOK, - Value: nil, - Values: map[string]float64{"t1": 4}, + Values: map[string]float64{"t1": 3}, }, }, - MetricsToTargetRelation: map[string]string{}, - Timestamp: triggerChecker.until, - State: moira.StateOK, - Score: 0, - }) - }) - - Convey("No data too long", t, func() { - triggerChecker.from = 4217 - triggerChecker.until = 4267 - lastCheck.Timestamp = 4267 - dataBase.EXPECT().PushNotificationEvent(&moira.NotificationEvent{ - TriggerID: triggerChecker.triggerID, - Timestamp: lastCheck.Timestamp, - State: moira.StateNODATA, - OldState: moira.StateOK, - Metric: metric, - Values: map[string]float64{}, - Message: nil}, true).Return(nil) - aloneMetrics := map[string]metricSource.MetricData{"t1": *metricSource.MakeMetricData(metric, []float64{}, retention, triggerChecker.from)} - lastCheck.MetricsToTargetRelation = conversion.GetRelations(aloneMetrics, triggerChecker.trigger.AloneMetrics) - checkData := newCheckData(&lastCheck, triggerChecker.until) - metricsToCheck := map[string]map[string]metricSource.MetricData{} + State: moira.StateOK, + Timestamp: 3655, + } - checkData, err := triggerChecker.check(metricsToCheck, aloneMetrics, checkData, logger) + Convey("Last check is not empty", func() { + aloneMetrics := map[string]metricSource.MetricData{"t1": *metricSource.MakeMetricData(metric, []float64{0, 1, 2, 3, 4}, retention, triggerChecker.from)} + lastCheck.MetricsToTargetRelation = conversion.GetRelations(aloneMetrics, triggerChecker.trigger.AloneMetrics) + checkData := newCheckData(&lastCheck, triggerChecker.until) + metricsToCheck := map[string]map[string]metricSource.MetricData{} - So(err, ShouldBeNil) - So(checkData, ShouldResemble, moira.CheckData{ - Metrics: map[string]moira.MetricState{ - metric: { - Timestamp: lastCheck.Timestamp, - EventTimestamp: lastCheck.Timestamp, - State: moira.StateNODATA, - Values: map[string]float64{}, + checkData, err := triggerChecker.check(metricsToCheck, aloneMetrics, checkData, logger) + So(err, ShouldBeNil) + So(checkData, ShouldResemble, moira.CheckData{ + Metrics: map[string]moira.MetricState{ + metric: { + Timestamp: 3657, + EventTimestamp: 3607, + State: moira.StateOK, + Value: nil, + Values: map[string]float64{"t1": 4}, + }, }, - }, - MetricsToTargetRelation: map[string]string{}, - Timestamp: triggerChecker.until, - State: moira.StateOK, - Score: 0, + MetricsToTargetRelation: map[string]string{}, + Timestamp: triggerChecker.until, + State: moira.StateOK, + Score: 0, + }) }) - }) - Convey("No data too long and ttlState is delete, the metric is not on Maintenance, so it will be removed", t, func() { - triggerChecker.from = 4217 - triggerChecker.until = 4267 - triggerChecker.ttlState = moira.TTLStateDEL - lastCheck.Timestamp = 4267 + Convey("No data too long", func() { + triggerChecker.from = 4217 + triggerChecker.until = 4267 + lastCheck.Timestamp = 4267 + dataBase.EXPECT().PushNotificationEvent(&moira.NotificationEvent{ + TriggerID: triggerChecker.triggerID, + Timestamp: lastCheck.Timestamp, + State: moira.StateNODATA, + OldState: moira.StateOK, + Metric: metric, + Values: map[string]float64{}, + Message: nil, + }, true).Return(nil) + aloneMetrics := map[string]metricSource.MetricData{"t1": *metricSource.MakeMetricData(metric, []float64{}, retention, triggerChecker.from)} + lastCheck.MetricsToTargetRelation = conversion.GetRelations(aloneMetrics, triggerChecker.trigger.AloneMetrics) + checkData := newCheckData(&lastCheck, triggerChecker.until) + metricsToCheck := map[string]map[string]metricSource.MetricData{} + + checkData, err := triggerChecker.check(metricsToCheck, aloneMetrics, checkData, logger) + So(err, ShouldBeNil) + So(checkData, ShouldResemble, moira.CheckData{ + Metrics: map[string]moira.MetricState{ + metric: { + Timestamp: lastCheck.Timestamp, + EventTimestamp: lastCheck.Timestamp, + State: moira.StateNODATA, + Values: map[string]float64{}, + }, + }, + MetricsToTargetRelation: map[string]string{}, + Timestamp: triggerChecker.until, + State: moira.StateOK, + Score: 0, + }) + }) - dataBase.EXPECT().RemovePatternsMetrics(triggerChecker.trigger.Patterns).Return(nil) + Convey("No data too long and ttlState is delete, the metric is not on Maintenance, so it will be removed", func() { + triggerChecker.from = 4217 + triggerChecker.until = 4267 + triggerChecker.ttlState = moira.TTLStateDEL + lastCheck.Timestamp = 4267 - aloneMetrics := map[string]metricSource.MetricData{"t1": *metricSource.MakeMetricData(metric, []float64{}, retention, triggerChecker.from)} - lastCheck.MetricsToTargetRelation = conversion.GetRelations(aloneMetrics, triggerChecker.trigger.AloneMetrics) - checkData := newCheckData(&lastCheck, triggerChecker.until) - metricsToCheck := map[string]map[string]metricSource.MetricData{} + dataBase.EXPECT().RemovePatternsMetrics(triggerChecker.trigger.Patterns).Return(nil) - checkData, err := triggerChecker.check(metricsToCheck, aloneMetrics, checkData, logger) + aloneMetrics := map[string]metricSource.MetricData{"t1": *metricSource.MakeMetricData(metric, []float64{}, retention, triggerChecker.from)} + lastCheck.MetricsToTargetRelation = conversion.GetRelations(aloneMetrics, triggerChecker.trigger.AloneMetrics) + checkData := newCheckData(&lastCheck, triggerChecker.until) + metricsToCheck := map[string]map[string]metricSource.MetricData{} - So(err, ShouldBeNil) - So(checkData, ShouldResemble, moira.CheckData{ - Metrics: make(map[string]moira.MetricState), - Timestamp: triggerChecker.until, - State: moira.StateOK, - Score: 0, - LastSuccessfulCheckTimestamp: 0, - MetricsToTargetRelation: map[string]string{}, + checkData, err := triggerChecker.check(metricsToCheck, aloneMetrics, checkData, logger) + So(err, ShouldBeNil) + So(checkData, ShouldResemble, moira.CheckData{ + Metrics: make(map[string]moira.MetricState), + Timestamp: triggerChecker.until, + State: moira.StateOK, + Score: 0, + LastSuccessfulCheckTimestamp: 0, + MetricsToTargetRelation: map[string]string{}, + }) }) - }) - metricState := lastCheck.Metrics[metric] - metricState.Maintenance = 5000 - lastCheck.Metrics[metric] = metricState + metricState := lastCheck.Metrics[metric] + metricState.Maintenance = 5000 + lastCheck.Metrics[metric] = metricState - Convey("No data too long and ttlState is delete, but the metric is on maintenance and DeletedButKept is false, so it won't be deleted", t, func() { - triggerChecker.from = 4217 - triggerChecker.until = 4267 - triggerChecker.ttlState = moira.TTLStateDEL - lastCheck.Timestamp = 4267 + Convey("No data too long and ttlState is delete, but the metric is on maintenance and DeletedButKept is false, so it won't be deleted", func() { + triggerChecker.from = 4217 + triggerChecker.until = 4267 + triggerChecker.ttlState = moira.TTLStateDEL + lastCheck.Timestamp = 4267 - aloneMetrics := map[string]metricSource.MetricData{"t1": *metricSource.MakeMetricData(metric, []float64{}, retention, triggerChecker.from)} - lastCheck.MetricsToTargetRelation = conversion.GetRelations(aloneMetrics, triggerChecker.trigger.AloneMetrics) - checkData := newCheckData(&lastCheck, triggerChecker.until) - metricsToCheck := map[string]map[string]metricSource.MetricData{} - oldMetricState := lastCheck.Metrics[metric] + aloneMetrics := map[string]metricSource.MetricData{"t1": *metricSource.MakeMetricData(metric, []float64{}, retention, triggerChecker.from)} + lastCheck.MetricsToTargetRelation = conversion.GetRelations(aloneMetrics, triggerChecker.trigger.AloneMetrics) + checkData := newCheckData(&lastCheck, triggerChecker.until) + metricsToCheck := map[string]map[string]metricSource.MetricData{} + oldMetricState := lastCheck.Metrics[metric] - checkData, err := triggerChecker.check(metricsToCheck, aloneMetrics, checkData, logger) + checkData, err := triggerChecker.check(metricsToCheck, aloneMetrics, checkData, logger) + So(err, ShouldBeNil) + So(checkData, ShouldResemble, moira.CheckData{ + Metrics: map[string]moira.MetricState{ + metric: { + Timestamp: oldMetricState.Timestamp, + EventTimestamp: oldMetricState.EventTimestamp, + State: oldMetricState.State, + Values: oldMetricState.Values, + Maintenance: oldMetricState.Maintenance, + DeletedButKept: true, + }, + }, + MetricsToTargetRelation: map[string]string{}, + Timestamp: triggerChecker.until, + State: moira.StateOK, + Score: 0, + }) + }) - So(err, ShouldBeNil) - So(checkData, ShouldResemble, moira.CheckData{ - Metrics: map[string]moira.MetricState{ - metric: { - Timestamp: oldMetricState.Timestamp, - EventTimestamp: oldMetricState.EventTimestamp, - State: oldMetricState.State, - Values: oldMetricState.Values, - Maintenance: oldMetricState.Maintenance, - DeletedButKept: true, + metricState = lastCheck.Metrics[metric] + metricState.DeletedButKept = true + lastCheck.Metrics[metric] = metricState + + Convey("Metric on maintenance, DeletedButKept is true, ttlState is delete, but a new metric comes in and DeletedButKept becomes false", func() { + triggerChecker.from = 4217 + triggerChecker.until = 4267 + triggerChecker.ttlState = moira.TTLStateDEL + lastCheck.Timestamp = 4227 + + aloneMetrics := map[string]metricSource.MetricData{"t1": *metricSource.MakeMetricData(metric, []float64{5}, retention, triggerChecker.from)} + lastCheck.MetricsToTargetRelation = conversion.GetRelations(aloneMetrics, triggerChecker.trigger.AloneMetrics) + checkData := newCheckData(&lastCheck, triggerChecker.until) + metricsToCheck := map[string]map[string]metricSource.MetricData{} + oldMetricState := lastCheck.Metrics[metric] + + checkData, err := triggerChecker.check(metricsToCheck, aloneMetrics, checkData, logger) + So(err, ShouldBeNil) + So(checkData, ShouldResemble, moira.CheckData{ + Metrics: map[string]moira.MetricState{ + metric: { + Timestamp: triggerChecker.from, + EventTimestamp: oldMetricState.EventTimestamp, + State: oldMetricState.State, + Values: map[string]float64{"t1": 5}, + Maintenance: oldMetricState.Maintenance, + DeletedButKept: false, + }, }, - }, - MetricsToTargetRelation: map[string]string{}, - Timestamp: triggerChecker.until, - State: moira.StateOK, - Score: 0, + MetricsToTargetRelation: map[string]string{}, + Timestamp: triggerChecker.until, + State: moira.StateOK, + Score: 0, + }) }) - }) - metricState = lastCheck.Metrics[metric] - metricState.DeletedButKept = true - lastCheck.Metrics[metric] = metricState + metricState = lastCheck.Metrics[metric] + metricState.Maintenance = 4000 + lastCheck.Metrics[metric] = metricState - Convey("Metric on maintenance, DeletedButKept is true, ttlState is delete, but a new metric comes in and DeletedButKept becomes false", t, func() { - triggerChecker.from = 4217 - triggerChecker.until = 4267 - triggerChecker.ttlState = moira.TTLStateDEL - lastCheck.Timestamp = 4227 + Convey("No data too long and ttlState is delete, the time for Maintenance of metric is over, so it will be deleted", func() { + triggerChecker.from = 4217 + triggerChecker.until = 4267 + triggerChecker.ttlState = moira.TTLStateDEL + lastCheck.Timestamp = 4267 - aloneMetrics := map[string]metricSource.MetricData{"t1": *metricSource.MakeMetricData(metric, []float64{5}, retention, triggerChecker.from)} - lastCheck.MetricsToTargetRelation = conversion.GetRelations(aloneMetrics, triggerChecker.trigger.AloneMetrics) - checkData := newCheckData(&lastCheck, triggerChecker.until) - metricsToCheck := map[string]map[string]metricSource.MetricData{} - oldMetricState := lastCheck.Metrics[metric] + dataBase.EXPECT().RemovePatternsMetrics(triggerChecker.trigger.Patterns).Return(nil) - checkData, err := triggerChecker.check(metricsToCheck, aloneMetrics, checkData, logger) + aloneMetrics := map[string]metricSource.MetricData{"t1": *metricSource.MakeMetricData(metric, []float64{}, retention, triggerChecker.from)} + lastCheck.MetricsToTargetRelation = conversion.GetRelations(aloneMetrics, triggerChecker.trigger.AloneMetrics) + checkData := newCheckData(&lastCheck, triggerChecker.until) + metricsToCheck := map[string]map[string]metricSource.MetricData{} - So(err, ShouldBeNil) - So(checkData, ShouldResemble, moira.CheckData{ - Metrics: map[string]moira.MetricState{ - metric: { - Timestamp: triggerChecker.from, - EventTimestamp: oldMetricState.EventTimestamp, - State: oldMetricState.State, - Values: map[string]float64{"t1": 5}, - Maintenance: oldMetricState.Maintenance, - DeletedButKept: false, - }, - }, - MetricsToTargetRelation: map[string]string{}, - Timestamp: triggerChecker.until, - State: moira.StateOK, - Score: 0, + checkData, err := triggerChecker.check(metricsToCheck, aloneMetrics, checkData, logger) + So(err, ShouldBeNil) + So(checkData, ShouldResemble, moira.CheckData{ + Metrics: make(map[string]moira.MetricState), + Timestamp: triggerChecker.until, + State: moira.StateOK, + Score: 0, + LastSuccessfulCheckTimestamp: 0, + MetricsToTargetRelation: map[string]string{}, + }) }) }) - metricState = lastCheck.Metrics[metric] - metricState.Maintenance = 4000 - lastCheck.Metrics[metric] = metricState + Convey("Advanced Mode", t, func() { + expression := "t1 + t2 > 10 ? OK : ERROR" - Convey("No data too long and ttlState is delete, the time for Maintenance of metric is over, so it will be deleted", t, func() { - triggerChecker.from = 4217 - triggerChecker.until = 4267 - triggerChecker.ttlState = moira.TTLStateDEL - lastCheck.Timestamp = 4267 + triggerChecker.trigger = &moira.Trigger{ + TriggerType: "expression", + Expression: &expression, + Targets: []string{"test1", "test2"}, + Patterns: []string{"test1", "test2"}, + } - dataBase.EXPECT().RemovePatternsMetrics(triggerChecker.trigger.Patterns).Return(nil) + triggerChecker.lastCheck = &moira.CheckData{ + Metrics: make(map[string]moira.MetricState), + State: moira.StateNODATA, + Timestamp: 66, + } - aloneMetrics := map[string]metricSource.MetricData{"t1": *metricSource.MakeMetricData(metric, []float64{}, retention, triggerChecker.from)} - lastCheck.MetricsToTargetRelation = conversion.GetRelations(aloneMetrics, triggerChecker.trigger.AloneMetrics) - checkData := newCheckData(&lastCheck, triggerChecker.until) - metricsToCheck := map[string]map[string]metricSource.MetricData{} + Convey("Without any metrics", func() { + aloneMetrics := map[string]metricSource.MetricData{} + checkData := newCheckData(triggerChecker.lastCheck, triggerChecker.until) + metricsToCheck := map[string]map[string]metricSource.MetricData{} - checkData, err := triggerChecker.check(metricsToCheck, aloneMetrics, checkData, logger) + checkData, err := triggerChecker.check(metricsToCheck, aloneMetrics, checkData, logger) + So(err, ShouldBeNil) + So(checkData, ShouldResemble, moira.CheckData{ + Metrics: map[string]moira.MetricState{}, + MetricsToTargetRelation: map[string]string{}, + Timestamp: triggerChecker.until, + State: moira.StateNODATA, + Score: 0, + }) + }) - So(err, ShouldBeNil) - So(checkData, ShouldResemble, moira.CheckData{ - Metrics: make(map[string]moira.MetricState), - Timestamp: triggerChecker.until, - State: moira.StateOK, - Score: 0, - LastSuccessfulCheckTimestamp: 0, - MetricsToTargetRelation: map[string]string{}, + Convey("With empty regular metrics and the number of alone metrics does not equal the number of targets", func() { + aloneMetrics := map[string]metricSource.MetricData{"t1": *metricSource.MakeMetricData(metric, []float64{5}, retention, triggerChecker.from)} + checkData := newCheckData(triggerChecker.lastCheck, triggerChecker.until) + metricsToCheck := map[string]map[string]metricSource.MetricData{} + + checkData, err := triggerChecker.check(metricsToCheck, aloneMetrics, checkData, logger) + So(err, ShouldBeNil) + So(checkData, ShouldResemble, moira.CheckData{ + Metrics: map[string]moira.MetricState{}, + MetricsToTargetRelation: map[string]string{}, + Timestamp: triggerChecker.until, + State: moira.StateNODATA, + Score: 0, + }) + }) + + Convey("With regular and alone metrics, first event", func() { + aloneMetrics := map[string]metricSource.MetricData{"t1": *metricSource.MakeMetricData(metric, []float64{5}, retention, triggerChecker.from)} + checkData := newCheckData(triggerChecker.lastCheck, triggerChecker.until) + metricsToCheck := map[string]map[string]metricSource.MetricData{ + "test2": { + "t2": *metricSource.MakeMetricData(metric, []float64{5}, retention, triggerChecker.from), + }, + } + dataBase.EXPECT().PushNotificationEvent( + &moira.NotificationEvent{ + TriggerID: triggerChecker.triggerID, + Timestamp: 4217, + State: moira.StateERROR, + OldState: moira.StateNODATA, + Metric: "test2", + Values: map[string]float64{"t1": 5, "t2": 5}, + Message: nil, + }, true).Return(nil) + + checkData, err := triggerChecker.check(metricsToCheck, aloneMetrics, checkData, logger) + So(err, ShouldBeNil) + So(checkData, ShouldResemble, moira.CheckData{ + Metrics: map[string]moira.MetricState{ + "test2": { + EventTimestamp: 4217, + State: moira.StateERROR, + Timestamp: 4217, + Values: map[string]float64{"t1": 5, "t2": 5}, + }, + }, + MetricsToTargetRelation: map[string]string{}, + Timestamp: triggerChecker.until, + State: moira.StateNODATA, + Score: 0, + }) + }) + + Convey("With only regular metrics", func() { + aloneMetrics := map[string]metricSource.MetricData{} + checkData := newCheckData(triggerChecker.lastCheck, triggerChecker.until) + metricsToCheck := map[string]map[string]metricSource.MetricData{ + "test1": { + "t1": *metricSource.MakeMetricData(metric, []float64{10}, retention, triggerChecker.from), + "t2": *metricSource.MakeMetricData(metric, []float64{5}, retention, triggerChecker.from), + }, + } + dataBase.EXPECT().PushNotificationEvent( + &moira.NotificationEvent{ + TriggerID: triggerChecker.triggerID, + Timestamp: 4217, + State: moira.StateOK, + OldState: moira.StateNODATA, + Metric: "test1", + Values: map[string]float64{"t1": 10, "t2": 5}, + Message: nil, + }, true).Return(nil) + + checkData, err := triggerChecker.check(metricsToCheck, aloneMetrics, checkData, logger) + So(err, ShouldBeNil) + So(checkData, ShouldResemble, moira.CheckData{ + Metrics: map[string]moira.MetricState{ + "test1": { + EventTimestamp: 4217, + State: moira.StateOK, + Timestamp: 4217, + Values: map[string]float64{"t1": 10, "t2": 5}, + }, + }, + MetricsToTargetRelation: map[string]string{}, + Timestamp: triggerChecker.until, + State: moira.StateNODATA, + Score: 0, + }) }) }) } @@ -1375,13 +1510,16 @@ func TestTriggerChecker_Check(t *testing.T) { var ttl int64 = 30 + checkerMetrics, _ := metrics. + ConfigureCheckerMetrics(metrics.NewDummyRegistry(), []moira.ClusterKey{defaultLocalClusterKey}). + GetCheckMetricsBySource(defaultLocalClusterKey) triggerChecker := TriggerChecker{ triggerID: "SuperId", database: dataBase, source: source, logger: logger, config: &Config{}, - metrics: metrics.ConfigureCheckerMetrics(metrics.NewDummyRegistry(), false, false).LocalMetrics, + metrics: checkerMetrics, from: 17, until: 67, ttl: ttl, @@ -1435,7 +1573,7 @@ func TestTriggerChecker_Check(t *testing.T) { dataBase.EXPECT().SetTriggerLastCheck( triggerChecker.triggerID, &lastCheck, - triggerChecker.trigger.TriggerSource, + triggerChecker.trigger.ClusterKey(), ).Return(nil) _ = triggerChecker.Check() } @@ -1458,13 +1596,16 @@ func BenchmarkTriggerChecker_Check(b *testing.B) { var ttl int64 = 30 + checkerMetrics, _ := metrics. + ConfigureCheckerMetrics(metrics.NewDummyRegistry(), []moira.ClusterKey{defaultLocalClusterKey}). + GetCheckMetricsBySource(defaultLocalClusterKey) triggerChecker := TriggerChecker{ triggerID: "SuperId", database: dataBase, source: source, logger: logger, config: &Config{}, - metrics: metrics.ConfigureCheckerMetrics(metrics.NewDummyRegistry(), false, false).LocalMetrics, + metrics: checkerMetrics, from: 17, until: 67, ttl: ttl, @@ -1518,7 +1659,7 @@ func BenchmarkTriggerChecker_Check(b *testing.B) { dataBase.EXPECT().SetTriggerLastCheck( triggerChecker.triggerID, &lastCheck, - triggerChecker.trigger.TriggerSource, + triggerChecker.trigger.ClusterKey(), ).Return(nil).AnyTimes() for n := 0; n < b.N; n++ { @@ -1530,6 +1671,8 @@ func BenchmarkTriggerChecker_Check(b *testing.B) { } func TestGetExpressionValues(t *testing.T) { + logger, _ := logging.GetLogger("Test") + Convey("Has only main metric data", t, func() { metricData := metricSource.MetricData{ Name: "m", @@ -1549,25 +1692,27 @@ func TestGetExpressionValues(t *testing.T) { expectedValues := map[string]float64{"t1": 0} var valueTimestamp int64 = 17 - expression, values, noEmptyValues := getExpressionValues(metrics, &valueTimestamp) + expression, values, noEmptyValues := getExpressionValues(metrics, &valueTimestamp, logger) So(noEmptyValues, ShouldBeTrue) So(expression, ShouldResemble, expectedExpression) So(values, ShouldResemble, expectedValues) }) + Convey("last value is empty", func() { var valueTimestamp int64 = 67 - _, _, noEmptyValues := getExpressionValues(metrics, &valueTimestamp) + _, _, noEmptyValues := getExpressionValues(metrics, &valueTimestamp, logger) So(noEmptyValues, ShouldBeFalse) }) + Convey("value before first value", func() { var valueTimestamp int64 = 11 - _, _, noEmptyValues := getExpressionValues(metrics, &valueTimestamp) + _, _, noEmptyValues := getExpressionValues(metrics, &valueTimestamp, logger) So(noEmptyValues, ShouldBeFalse) }) Convey("value in the middle is empty ", func() { var valueTimestamp int64 = 44 - _, _, noEmptyValues := getExpressionValues(metrics, &valueTimestamp) + _, _, noEmptyValues := getExpressionValues(metrics, &valueTimestamp, logger) So(noEmptyValues, ShouldBeFalse) }) @@ -1579,7 +1724,7 @@ func TestGetExpressionValues(t *testing.T) { expectedValues := map[string]float64{"t1": 3} var valueTimestamp int64 = 53 - expression, values, noEmptyValues := getExpressionValues(metrics, &valueTimestamp) + expression, values, noEmptyValues := getExpressionValues(metrics, &valueTimestamp, logger) So(noEmptyValues, ShouldBeTrue) So(expression, ShouldResemble, expectedExpression) So(values, ShouldResemble, expectedValues) @@ -1608,13 +1753,13 @@ func TestGetExpressionValues(t *testing.T) { Convey("t1 value in the middle is empty ", func() { var valueTimestamp int64 = 29 - _, _, noEmptyValues := getExpressionValues(metrics, &valueTimestamp) + _, _, noEmptyValues := getExpressionValues(metrics, &valueTimestamp, logger) So(noEmptyValues, ShouldBeFalse) }) Convey("t1 and t2 values in the middle is empty ", func() { var valueTimestamp int64 = 42 - _, _, noEmptyValues := getExpressionValues(metrics, &valueTimestamp) + _, _, noEmptyValues := getExpressionValues(metrics, &valueTimestamp, logger) So(noEmptyValues, ShouldBeFalse) }) @@ -1622,12 +1767,31 @@ func TestGetExpressionValues(t *testing.T) { expectedValues := map[string]float64{"t1": 0, "t2": 4} var valueTimestamp int64 = 17 - expression, values, noEmptyValues := getExpressionValues(metrics, &valueTimestamp) + expression, values, noEmptyValues := getExpressionValues(metrics, &valueTimestamp, logger) So(noEmptyValues, ShouldBeTrue) So(expression.MainTargetValue, ShouldBeIn, []float64{0, 4}) So(values, ShouldResemble, expectedValues) }) }) + + Convey("Don't evaluate the expression if we couldn't get the metric by target", t, func() { + metricData := metricSource.MetricData{ + Name: "test", + StartTime: 17, + StopTime: 67, + StepTime: 10, + Values: []float64{0.0, math.NaN(), math.NaN(), 3.0, math.NaN()}, + } + metrics := map[string]metricSource.MetricData{ + "t2": metricData, + } + + Convey("Couldn't get a metric by t1", func() { + var valueTimestamp int64 = 17 + _, _, noEmptyValues := getExpressionValues(metrics, &valueTimestamp, logger) + So(noEmptyValues, ShouldBeFalse) + }) + }) } func TestTriggerChecker_handlePrepareError(t *testing.T) { @@ -1639,6 +1803,7 @@ func TestTriggerChecker_handlePrepareError(t *testing.T) { trigger := &moira.Trigger{ TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, } triggerChecker := TriggerChecker{ triggerID: "test trigger", @@ -1658,6 +1823,7 @@ func TestTriggerChecker_handlePrepareError(t *testing.T) { Message: err.Error(), }) }) + Convey("with ErrUnexpectedAloneMetric", func() { err := conversion.ErrUnexpectedAloneMetric{} checkData.Timestamp = int64(15) @@ -1681,12 +1847,13 @@ func TestTriggerChecker_handlePrepareError(t *testing.T) { Metric: triggerChecker.trigger.Name, MessageEventInfo: nil, }, true) - dataBase.EXPECT().SetTriggerLastCheck("test trigger", &expectedCheckData, moira.GraphiteLocal) + dataBase.EXPECT().SetTriggerLastCheck("test trigger", &expectedCheckData, trigger.ClusterKey()) pass, checkDataReturn, errReturn := triggerChecker.handlePrepareError(checkData, err) So(errReturn, ShouldBeNil) So(pass, ShouldEqual, MustStopCheck) So(checkDataReturn, ShouldResemble, expectedCheckData) }) + Convey("with ErrEmptyAloneMetricsTarget-this error is handled as NODATA", func() { err := conversion.NewErrEmptyAloneMetricsTarget("t2") triggerChecker.lastCheck = &moira.CheckData{ @@ -1698,7 +1865,7 @@ func TestTriggerChecker_handlePrepareError(t *testing.T) { State: moira.StateNODATA, EventTimestamp: 10, } - dataBase.EXPECT().SetTriggerLastCheck("test trigger", &expectedCheckData, moira.GraphiteLocal) + dataBase.EXPECT().SetTriggerLastCheck("test trigger", &expectedCheckData, trigger.ClusterKey()) pass, checkDataReturn, errReturn := triggerChecker.handlePrepareError(checkData, err) So(errReturn, ShouldBeNil) So(pass, ShouldEqual, MustStopCheck) diff --git a/checker/config.go b/checker/config.go index a8ae75cdf..5d442b760 100644 --- a/checker/config.go +++ b/checker/config.go @@ -2,21 +2,27 @@ package checker import ( "time" + + "github.com/moira-alert/moira" ) -// Config represent checker config +// Config represent checker config. type Config struct { - Enabled bool - NoDataCheckInterval time.Duration - CheckInterval time.Duration - LazyTriggersCheckInterval time.Duration - StopCheckingIntervalSeconds int64 - MaxParallelLocalChecks int - MaxParallelRemoteChecks int - MaxParallelPrometheusChecks int - LogFile string - LogLevel string - LogTriggersToLevel map[string]string - MetricEventPopBatchSize int64 - MetricEventPopDelay time.Duration + Enabled bool + LazyTriggersCheckInterval time.Duration + SourceCheckConfigs map[moira.ClusterKey]SourceCheckConfig + StopCheckingIntervalSeconds int64 + LogFile string + LogLevel string + LogTriggersToLevel map[string]string + MetricEventPopBatchSize int64 + MetricEventPopDelay time.Duration + CriticalTimeOfCheck time.Duration + MetricEventTriggerCheckInterval time.Duration +} + +// SourceCheckConfig represents check parameters for a single metric source. +type SourceCheckConfig struct { + CheckInterval time.Duration + MaxParallelChecks int } diff --git a/checker/errors.go b/checker/errors.go index ad6fe5b52..e1d33cb2a 100644 --- a/checker/errors.go +++ b/checker/errors.go @@ -5,18 +5,18 @@ import ( "strings" ) -// ErrTriggerNotExists used if trigger to check does not exists +// ErrTriggerNotExists used if trigger to check does not exists. var ErrTriggerNotExists = fmt.Errorf("trigger does not exists") -// ErrTriggerHasOnlyWildcards used if trigger has only wildcard metrics +// ErrTriggerHasOnlyWildcards used if trigger has only wildcard metrics. type ErrTriggerHasOnlyWildcards struct{} -// ErrTriggerHasOnlyWildcards implementation with constant error message +// ErrTriggerHasOnlyWildcards implementation with constant error message. func (err ErrTriggerHasOnlyWildcards) Error() string { return "Trigger never received metrics" } -// ErrTriggerHasSameMetricNames used if trigger has two metric data with same name +// ErrTriggerHasSameMetricNames used if trigger has two metric data with same name. type ErrTriggerHasSameMetricNames struct { duplicates map[string][]string } @@ -28,7 +28,7 @@ func NewErrTriggerHasSameMetricNames(duplicates map[string][]string) ErrTriggerH } } -// ErrTriggerHasSameMetricNames implementation with constant error message +// ErrTriggerHasSameMetricNames implementation with constant error message. func (err ErrTriggerHasSameMetricNames) Error() string { var builder strings.Builder builder.WriteString("Targets have metrics with identical name: ") @@ -41,12 +41,12 @@ func (err ErrTriggerHasSameMetricNames) Error() string { return builder.String() } -// ErrTriggerHasEmptyTargets used if additional trigger target has not metrics data after fetch from source +// ErrTriggerHasEmptyTargets used if additional trigger target has not metrics data after fetch from source. type ErrTriggerHasEmptyTargets struct { targets []string } -// ErrTriggerHasEmptyTargets implementation with error message +// ErrTriggerHasEmptyTargets implementation with error message. func (err ErrTriggerHasEmptyTargets) Error() string { - return fmt.Sprintf("target t%v has no metrics", strings.Join(err.targets, ", ")) + return fmt.Sprintf("target %v has no metrics", strings.Join(err.targets, ", ")) } diff --git a/checker/event_test.go b/checker/event_test.go index 1e63113dc..389614d50 100644 --- a/checker/event_test.go +++ b/checker/event_test.go @@ -4,11 +4,11 @@ import ( "fmt" "testing" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" logging "github.com/moira-alert/moira/logging/zerolog_adapter" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func newMocks(t *testing.T) (dataBase *mock_moira_alert.MockDatabase, mockCtrl *gomock.Controller) { @@ -406,7 +406,6 @@ func TestCheckMetricStateSuppressedState(t *testing.T) { actual, err := triggerChecker.compareMetricStates("super.awesome.metric", secondState, firstState) So(err, ShouldBeNil) secondState.EventTimestamp = firstState.EventTimestamp - //secondState.SuppressedState = firstState.SuppressedState So(actual, ShouldResemble, secondState) Convey("Test state change state after suppressed", func() { @@ -647,7 +646,7 @@ func TestTriggerMaintenance(t *testing.T) { func TestIsStateChanged(t *testing.T) { Convey("isStateChanged tests", t, func() { - var lastCheckTest = moira.CheckData{ + lastCheckTest := moira.CheckData{ Score: 6000, State: moira.StateOK, Suppressed: true, @@ -656,7 +655,7 @@ func TestIsStateChanged(t *testing.T) { Maintenance: 1000, } - var currentCheckTest = moira.CheckData{ + currentCheckTest := moira.CheckData{ State: moira.StateWARN, Timestamp: 1504509981, } diff --git a/checker/fetch.go b/checker/fetch.go index 2d0e9e629..0b13b8b46 100644 --- a/checker/fetch.go +++ b/checker/fetch.go @@ -18,6 +18,7 @@ func (triggerChecker *TriggerChecker) fetchTriggerMetrics() (map[string][]metric if hasEmptyTargets, emptyTargets := conversion.HasEmptyTargets(triggerMetricsData); hasEmptyTargets { return nil, ErrTriggerHasEmptyTargets{targets: emptyTargets} } + if conversion.HasOnlyWildcards(triggerMetricsData) { return triggerMetricsData, ErrTriggerHasOnlyWildcards{} } diff --git a/checker/fetch_test.go b/checker/fetch_test.go index dcada384d..cee779ba6 100644 --- a/checker/fetch_test.go +++ b/checker/fetch_test.go @@ -4,12 +4,12 @@ import ( "fmt" "testing" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" metricSource "github.com/moira-alert/moira/metric_source" mockmetricsource "github.com/moira-alert/moira/mock/metric_source" mockmoiraalert "github.com/moira-alert/moira/mock/moira-alert" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func TestFetchTriggerMetrics(t *testing.T) { diff --git a/checker/metrics/conversion/alone_metrics.go b/checker/metrics/conversion/alone_metrics.go index 16a13edca..04fae3cb0 100644 --- a/checker/metrics/conversion/alone_metrics.go +++ b/checker/metrics/conversion/alone_metrics.go @@ -6,7 +6,7 @@ import ( type AloneMetrics map[string]metricSource.MetricData -// NewAloneMetricsWithCapacity is a constructor function for AloneMetrics +// NewAloneMetricsWithCapacity is a constructor function for AloneMetrics. func NewAloneMetricsWithCapacity(capacity int) AloneMetrics { return make(map[string]metricSource.MetricData, capacity) } @@ -19,7 +19,7 @@ func NewAloneMetricsWithCapacity(capacity int) AloneMetrics { // "t3": "metric.name.2", // } // -// and current alone metrics are +// and current alone metrics are. // // { // "t2": metricSource.MetricData{Name: "metric.name.1"} @@ -42,12 +42,18 @@ func (m AloneMetrics) Populate(lastCheckMetricsToTargetRelation map[string]strin break } - for targetName := range declaredAloneMetrics { + for targetName, isAlone := range declaredAloneMetrics { + // We don't need to populate metrics from not alone targets + if !isAlone { + continue + } + metricName, existInLastCheck := lastCheckMetricsToTargetRelation[targetName] metric, existInCurrentAloneMetrics := m[targetName] if !existInCurrentAloneMetrics && !existInLastCheck { return AloneMetrics{}, NewErrEmptyAloneMetricsTarget(targetName) } + if !existInCurrentAloneMetrics { step := defaultStep if len(m) > 0 && firstMetric.StepTime != 0 { @@ -55,6 +61,7 @@ func (m AloneMetrics) Populate(lastCheckMetricsToTargetRelation map[string]strin } metric = *metricSource.MakeEmptyMetricData(metricName, step, from, to) } + result[targetName] = metric } diff --git a/checker/metrics/conversion/alone_metrics_test.go b/checker/metrics/conversion/alone_metrics_test.go index 8f9caaea5..3f361b176 100644 --- a/checker/metrics/conversion/alone_metrics_test.go +++ b/checker/metrics/conversion/alone_metrics_test.go @@ -44,6 +44,7 @@ func TestAloneMetrics_Populate(t *testing.T) { So(populated["t2"].StepTime, ShouldResemble, int64(60)) So(populated["t2"].Values, ShouldHaveLength, 60) }) + Convey("Missing one metric and no other metrics provided. Use default values", func() { m := AloneMetrics{} lastCheckMetricsToTargetRelation := map[string]string{ @@ -54,6 +55,7 @@ func TestAloneMetrics_Populate(t *testing.T) { } const from = 0 const to = 3600 + populated, err := m.Populate(lastCheckMetricsToTargetRelation, declaredAloneMetrics, from, to) So(err, ShouldBeNil) // We assume alone metrics to be like this @@ -68,6 +70,7 @@ func TestAloneMetrics_Populate(t *testing.T) { So(populated["t1"].StepTime, ShouldResemble, int64(60)) So(populated["t1"].Values, ShouldHaveLength, 60) }) + Convey("One declared alone metrics target do not have metrics and metrics in last check", func() { m := AloneMetrics{} lastCheckMetricsToTargetRelation := map[string]string{} @@ -76,9 +79,33 @@ func TestAloneMetrics_Populate(t *testing.T) { } const from = 0 const to = 3600 + populated, err := m.Populate(lastCheckMetricsToTargetRelation, declaredAloneMetrics, from, to) So(err, ShouldResemble, ErrEmptyAloneMetricsTarget{targetName: "t1"}) So(populated, ShouldResemble, AloneMetrics{}) }) + + Convey("Checking that we're not trying to populate metrics from not alone targets that are in declaredAloneMetrics", func() { + m := AloneMetrics{} + lastCheckMetricsToTargetRelation := map[string]string{ + "t2": "metric.test.2", + } + declaredAloneMetrics := map[string]bool{ + "t1": false, + "t2": true, + "t3": false, + } + const from = 0 + const to = 3600 + + populated, err := m.Populate(lastCheckMetricsToTargetRelation, declaredAloneMetrics, from, to) + So(err, ShouldBeNil) + So(populated, ShouldHaveLength, 1) + So(populated, ShouldContainKey, "t2") + So(populated["t2"].StartTime, ShouldResemble, int64(0)) + So(populated["t2"].StopTime, ShouldResemble, int64(3600)) + So(populated["t2"].StepTime, ShouldResemble, int64(60)) + So(populated["t2"].Values, ShouldHaveLength, 60) + }) }) } diff --git a/checker/metrics/conversion/errors.go b/checker/metrics/conversion/errors.go index 80c1c5333..dfcfd5f63 100644 --- a/checker/metrics/conversion/errors.go +++ b/checker/metrics/conversion/errors.go @@ -86,7 +86,7 @@ func (err ErrUnexpectedAloneMetric) Error() string { return builder.String() } -// NewErrEmptyAloneMetricsTarget constructor function for ErrEmptyAloneMetricsTarget +// NewErrEmptyAloneMetricsTarget constructor function for ErrEmptyAloneMetricsTarget. func NewErrEmptyAloneMetricsTarget(targetName string) error { return ErrEmptyAloneMetricsTarget{ targetName: targetName, @@ -99,7 +99,7 @@ type ErrEmptyAloneMetricsTarget struct { targetName string } -// Error is an error interface implementation for ErrEmptyAloneMetricsTarget +// Error is an error interface implementation for ErrEmptyAloneMetricsTarget. func (e ErrEmptyAloneMetricsTarget) Error() string { return fmt.Sprintf("target %s declared as alone metrics target but do not have any metrics and saved state in last check", e.targetName) } diff --git a/checker/metrics/conversion/errors_test.go b/checker/metrics/conversion/errors_test.go index d8d3b2fbd..2c8820e38 100644 --- a/checker/metrics/conversion/errors_test.go +++ b/checker/metrics/conversion/errors_test.go @@ -1,6 +1,7 @@ package conversion import ( + "errors" "strings" "testing" @@ -65,11 +66,13 @@ func TestErrUnexpectedAloneMetricBuilder(t *testing.T) { builder.setDeclared(map[string]bool{"t1": true}) builder.addUnexpected("t1", map[string]metricsource.MetricData{"metric.test.1": {Name: "metric.test.1"}, "metric.test.unexpected": {Name: "metric.test.unexpected"}}) err := builder.build() - So(err.(ErrUnexpectedAloneMetric).declared, ShouldResemble, map[string]bool{"t1": true}) - So(err.(ErrUnexpectedAloneMetric).unexpected, ShouldContainKey, "t1") - So(err.(ErrUnexpectedAloneMetric).unexpected["t1"], ShouldHaveLength, 2) - So(err.(ErrUnexpectedAloneMetric).unexpected["t1"], ShouldContain, "metric.test.1") - So(err.(ErrUnexpectedAloneMetric).unexpected["t1"], ShouldContain, "metric.test.unexpected") + var convertedErr ErrUnexpectedAloneMetric + errors.As(err, &convertedErr) + So(convertedErr.declared, ShouldResemble, map[string]bool{"t1": true}) + So(convertedErr.unexpected, ShouldContainKey, "t1") + So(convertedErr.unexpected["t1"], ShouldHaveLength, 2) + So(convertedErr.unexpected["t1"], ShouldContain, "metric.test.1") + So(convertedErr.unexpected["t1"], ShouldContain, "metric.test.unexpected") }) Convey("nil returned", func() { err := builder.build() diff --git a/checker/metrics/conversion/fetched_metrics.go b/checker/metrics/conversion/fetched_metrics.go index 3261946c4..2eb1dfc02 100644 --- a/checker/metrics/conversion/fetched_metrics.go +++ b/checker/metrics/conversion/fetched_metrics.go @@ -51,7 +51,7 @@ func (m FetchedTargetMetrics) Deduplicate() (FetchedTargetMetrics, []string) { return deduplicated, duplicates } -// FetchedMetrics represent collections of metrics associated with target name +// FetchedMetrics represent collections of metrics associated with target name. // There is a map where keys are target names and values are maps of metrics with metric names as keys. type FetchedMetrics map[string]FetchedTargetMetrics diff --git a/checker/metrics/conversion/trigger_metrics.go b/checker/metrics/conversion/trigger_metrics.go index deeaef8f9..16027069a 100644 --- a/checker/metrics/conversion/trigger_metrics.go +++ b/checker/metrics/conversion/trigger_metrics.go @@ -109,6 +109,7 @@ func (triggerMetrics TriggerMetrics) Populate(lastMetrics map[string]moira.Metri targetMetrics = targetMetrics.Populate(metrics, from, to) result[targetName] = targetMetrics } + return result } @@ -124,18 +125,18 @@ func (triggerMetrics TriggerMetrics) Populate(lastMetrics map[string]moira.Metri // "t3": {"m4": {metrics}}, // } // -// and declared alone metrics +// and declared alone metrics. // // {"t3": true} // -// These methods will return +// These methods will return. // // { // "t1": {"m1", "m2", "m3"}, // "t2": {"m1", "m2", "m3"}, // } // -// and +// and. // // { // "t3": {metrics}, @@ -166,11 +167,14 @@ func (triggerMetrics TriggerMetrics) FilterAloneMetrics(declaredAloneMetrics map errorBuilder.addUnexpected(targetName, targetMetrics) continue } + aloneMetrics[targetName] = targetMetrics[metricName] } + if err := errorBuilder.build(); err != nil { return TriggerMetrics{}, AloneMetrics{}, err } + return result, aloneMetrics, nil } diff --git a/checker/metrics/conversion/trigger_metrics_test.go b/checker/metrics/conversion/trigger_metrics_test.go index e6baf929d..50ce9ce3c 100644 --- a/checker/metrics/conversion/trigger_metrics_test.go +++ b/checker/metrics/conversion/trigger_metrics_test.go @@ -4,6 +4,8 @@ import ( "math" "testing" + "github.com/pkg/errors" + "github.com/moira-alert/moira" metricSource "github.com/moira-alert/moira/metric_source" . "github.com/smartystreets/goconvey/convey" @@ -100,6 +102,7 @@ func TestTriggerTargetMetrics_Populate(t *testing.T) { } }) } + func TestNewTriggerMetricsWithCapacity(t *testing.T) { Convey("NewTriggerMetricsWithCapacity", t, func() { capacity := 10 @@ -307,10 +310,13 @@ func TestTriggerMetrics_FilterAloneMetrics(t *testing.T) { So(filtered, ShouldBeEmpty) So(alone, ShouldBeEmpty) So(err, ShouldBeError) - So(err.(ErrUnexpectedAloneMetric).unexpected, ShouldContainKey, "t2") - So(err.(ErrUnexpectedAloneMetric).unexpected["t2"], ShouldHaveLength, 2) - So(err.(ErrUnexpectedAloneMetric).unexpected["t2"], ShouldContain, "metric.test.3") - So(err.(ErrUnexpectedAloneMetric).unexpected["t2"], ShouldContain, "metric.test.4") + + var convertedErr ErrUnexpectedAloneMetric + errors.As(err, &convertedErr) + So(convertedErr.unexpected, ShouldContainKey, "t2") + So(convertedErr.unexpected["t2"], ShouldHaveLength, 2) + So(convertedErr.unexpected["t2"], ShouldContain, "metric.test.3") + So(convertedErr.unexpected["t2"], ShouldContain, "metric.test.4") }) Convey("origin has targets that declared as alone metrics but it is empty", func() { m := TriggerMetrics{ diff --git a/checker/trigger_checker.go b/checker/trigger_checker.go index 5cb738f0f..dfd3e94a5 100644 --- a/checker/trigger_checker.go +++ b/checker/trigger_checker.go @@ -1,6 +1,7 @@ package checker import ( + "errors" "time" "github.com/moira-alert/moira" @@ -9,7 +10,7 @@ import ( "github.com/moira-alert/moira/metrics" ) -// TriggerChecker represents data, used for handling new trigger state +// TriggerChecker represents data, used for handling new trigger state. type TriggerChecker struct { database moira.Database logger moira.Logger @@ -28,9 +29,9 @@ type TriggerChecker struct { ttlState moira.TTLState } -// MakeTriggerChecker initialize new triggerChecker data -// if trigger does not exists then return ErrTriggerNotExists error -// if trigger metrics source does not configured then return ErrMetricSourceIsNotConfigured error. +// MakeTriggerChecker initialize new triggerChecker data. +// If trigger does not exists then return ErrTriggerNotExists error. +// If trigger metrics source does not configured then return ErrMetricSourceIsNotConfigured error. func MakeTriggerChecker( triggerID string, dataBase moira.Database, @@ -42,7 +43,7 @@ func MakeTriggerChecker( until := time.Now().Unix() trigger, err := dataBase.GetTrigger(triggerID) if err != nil { - if err == database.ErrNil { + if errors.Is(err, database.ErrNil) { return nil, ErrTriggerNotExists } return nil, err @@ -60,18 +61,23 @@ func MakeTriggerChecker( triggerLogger := logger.Clone().String(moira.LogFieldNameTriggerID, triggerID) if logLevel, ok := config.LogTriggersToLevel[triggerID]; ok { - if _, err := triggerLogger.Level(logLevel); err != nil { + if _, err = triggerLogger.Level(logLevel); err != nil { triggerLogger.Warning(). String("log_level", logLevel). Msg("Incorrect log level") } } + triggerMetrics, err := metrics.GetCheckMetrics(&trigger) + if err != nil { + return nil, err + } + triggerChecker := &TriggerChecker{ database: dataBase, logger: triggerLogger, config: config, - metrics: metrics.GetCheckMetrics(&trigger), + metrics: triggerMetrics, source: source, from: calculateFrom(lastCheck.Timestamp, trigger.TTL), @@ -89,11 +95,11 @@ func MakeTriggerChecker( func getLastCheck(dataBase moira.Database, triggerID string, emptyLastCheckTimestamp int64) (*moira.CheckData, error) { lastCheck, err := dataBase.GetTriggerLastCheck(triggerID) - if err != nil && err != database.ErrNil { + if err != nil && !errors.Is(err, database.ErrNil) { return nil, err } - if err == database.ErrNil { + if errors.Is(err, database.ErrNil) { lastCheck = moira.CheckData{ Metrics: make(map[string]moira.MetricState), State: moira.StateOK, diff --git a/checker/trigger_checker_test.go b/checker/trigger_checker_test.go index 91273ad0d..234ea9da0 100644 --- a/checker/trigger_checker_test.go +++ b/checker/trigger_checker_test.go @@ -4,7 +4,6 @@ import ( "fmt" "testing" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" "github.com/moira-alert/moira/database" logging "github.com/moira-alert/moira/logging/zerolog_adapter" @@ -13,6 +12,7 @@ import ( "github.com/moira-alert/moira/metrics" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func TestInitTriggerChecker(t *testing.T) { @@ -22,6 +22,10 @@ func TestInitTriggerChecker(t *testing.T) { dataBase := mock_moira_alert.NewMockDatabase(mockCtrl) localSource := local.Create(dataBase) triggerID := "superId" + checkerMetrics := metrics.ConfigureCheckerMetrics( + metrics.NewDummyRegistry(), + []moira.ClusterKey{moira.DefaultLocalCluster}, + ) defer mockCtrl.Finish() Convey("Test errors", t, func() { @@ -29,8 +33,9 @@ func TestInitTriggerChecker(t *testing.T) { getTriggerError := fmt.Errorf("Oppps! Can't read trigger") dataBase.EXPECT().GetTrigger(triggerID).Return(moira.Trigger{ TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, }, getTriggerError) - _, err := MakeTriggerChecker(triggerID, dataBase, logger, config, metricSource.CreateMetricSourceProvider(localSource, nil, nil), &metrics.CheckerMetrics{}) + _, err := MakeTriggerChecker(triggerID, dataBase, logger, config, metricSource.CreateTestMetricSourceProvider(localSource, nil, nil), checkerMetrics) So(err, ShouldBeError) So(err, ShouldResemble, getTriggerError) }) @@ -38,8 +43,9 @@ func TestInitTriggerChecker(t *testing.T) { Convey("No trigger error", func() { dataBase.EXPECT().GetTrigger(triggerID).Return(moira.Trigger{ TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, }, database.ErrNil) - _, err := MakeTriggerChecker(triggerID, dataBase, logger, config, metricSource.CreateMetricSourceProvider(localSource, nil, nil), &metrics.CheckerMetrics{}) + _, err := MakeTriggerChecker(triggerID, dataBase, logger, config, metricSource.CreateTestMetricSourceProvider(localSource, nil, nil), checkerMetrics) So(err, ShouldBeError) So(err, ShouldResemble, ErrTriggerNotExists) }) @@ -49,9 +55,10 @@ func TestInitTriggerChecker(t *testing.T) { dataBase.EXPECT().GetTrigger(triggerID).Return(moira.Trigger{ TriggerType: moira.RisingTrigger, TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, }, nil) dataBase.EXPECT().GetTriggerLastCheck(triggerID).Return(moira.CheckData{}, readLastCheckError) - _, err := MakeTriggerChecker(triggerID, dataBase, logger, config, metricSource.CreateMetricSourceProvider(localSource, nil, nil), &metrics.CheckerMetrics{}) + _, err := MakeTriggerChecker(triggerID, dataBase, logger, config, metricSource.CreateTestMetricSourceProvider(localSource, nil, nil), checkerMetrics) So(err, ShouldBeError) So(err, ShouldResemble, readLastCheckError) }) @@ -73,8 +80,11 @@ func TestInitTriggerChecker(t *testing.T) { Patterns: []string{"Egais.elasticsearch.*.*.jvm.gc.collection.time"}, TTL: ttl, TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, } + metrics, _ := checkerMetrics.GetCheckMetrics(&trigger) + lastCheck := moira.CheckData{ Timestamp: 1502694487, State: moira.StateOK, @@ -107,7 +117,7 @@ func TestInitTriggerChecker(t *testing.T) { Convey("Test trigger checker with lastCheck", t, func() { dataBase.EXPECT().GetTrigger(triggerID).Return(trigger, nil) dataBase.EXPECT().GetTriggerLastCheck(triggerID).Return(lastCheck, nil) - actual, err := MakeTriggerChecker(triggerID, dataBase, logger, config, metricSource.CreateMetricSourceProvider(localSource, nil, nil), &metrics.CheckerMetrics{}) + actual, err := MakeTriggerChecker(triggerID, dataBase, logger, config, metricSource.CreateTestMetricSourceProvider(localSource, nil, nil), checkerMetrics) So(err, ShouldBeNil) expected := TriggerChecker{ @@ -122,14 +132,15 @@ func TestInitTriggerChecker(t *testing.T) { lastCheck: &lastCheck, from: lastCheck.Timestamp - ttl, until: actual.until, + metrics: metrics, } - So(*actual, ShouldResemble, expected) + So(actual, ShouldResemble, &expected) }) Convey("Test trigger checker without lastCheck", t, func() { dataBase.EXPECT().GetTrigger(triggerID).Return(trigger, nil) dataBase.EXPECT().GetTriggerLastCheck(triggerID).Return(moira.CheckData{}, database.ErrNil) - actual, err := MakeTriggerChecker(triggerID, dataBase, logger, config, metricSource.CreateMetricSourceProvider(localSource, nil, nil), &metrics.CheckerMetrics{}) + actual, err := MakeTriggerChecker(triggerID, dataBase, logger, config, metricSource.CreateTestMetricSourceProvider(localSource, nil, nil), checkerMetrics) So(err, ShouldBeNil) expected := TriggerChecker{ @@ -146,8 +157,9 @@ func TestInitTriggerChecker(t *testing.T) { State: moira.StateOK, Timestamp: actual.until - 3600, }, - from: actual.until - 3600 - ttl, - until: actual.until, + from: actual.until - 3600 - ttl, + until: actual.until, + metrics: metrics, } So(*actual, ShouldResemble, expected) }) @@ -158,7 +170,7 @@ func TestInitTriggerChecker(t *testing.T) { Convey("Test trigger checker without lastCheck and ttl", t, func() { dataBase.EXPECT().GetTrigger(triggerID).Return(trigger, nil) dataBase.EXPECT().GetTriggerLastCheck(triggerID).Return(moira.CheckData{}, database.ErrNil) - actual, err := MakeTriggerChecker(triggerID, dataBase, logger, config, metricSource.CreateMetricSourceProvider(localSource, nil, nil), &metrics.CheckerMetrics{}) + actual, err := MakeTriggerChecker(triggerID, dataBase, logger, config, metricSource.CreateTestMetricSourceProvider(localSource, nil, nil), checkerMetrics) So(err, ShouldBeNil) expected := TriggerChecker{ @@ -175,8 +187,9 @@ func TestInitTriggerChecker(t *testing.T) { State: moira.StateOK, Timestamp: actual.until - 3600, }, - from: actual.until - 3600 - 600, - until: actual.until, + from: actual.until - 3600 - 600, + until: actual.until, + metrics: metrics, } So(*actual, ShouldResemble, expected) }) @@ -184,7 +197,7 @@ func TestInitTriggerChecker(t *testing.T) { Convey("Test trigger checker with lastCheck and without ttl", t, func() { dataBase.EXPECT().GetTrigger(triggerID).Return(trigger, nil) dataBase.EXPECT().GetTriggerLastCheck(triggerID).Return(lastCheck, nil) - actual, err := MakeTriggerChecker(triggerID, dataBase, logger, config, metricSource.CreateMetricSourceProvider(localSource, nil, nil), &metrics.CheckerMetrics{}) + actual, err := MakeTriggerChecker(triggerID, dataBase, logger, config, metricSource.CreateTestMetricSourceProvider(localSource, nil, nil), checkerMetrics) So(err, ShouldBeNil) @@ -200,6 +213,7 @@ func TestInitTriggerChecker(t *testing.T) { lastCheck: &lastCheck, from: lastCheck.Timestamp - 600, until: actual.until, + metrics: metrics, } So(*actual, ShouldResemble, expected) }) diff --git a/checker/worker/handler.go b/checker/worker/handler.go deleted file mode 100644 index dddb81c6d..000000000 --- a/checker/worker/handler.go +++ /dev/null @@ -1,83 +0,0 @@ -package worker - -import ( - "fmt" - "runtime/debug" - "time" - - "github.com/moira-alert/moira" - "github.com/moira-alert/moira/checker" - "github.com/moira-alert/moira/metrics" -) - -const sleepAfterCheckingError = time.Second * 2 - -// startTriggerHandler is a blocking func -func (check *Checker) startTriggerHandler(triggerIDsToCheck <-chan string, metrics *metrics.CheckMetrics) error { - for { - triggerID, ok := <-triggerIDsToCheck - if !ok { - return nil - } - - err := check.handleTrigger(triggerID, metrics) - if err != nil { - metrics.HandleError.Mark(1) - - check.Logger.Error(). - String(moira.LogFieldNameTriggerID, triggerID). - Error(err). - Msg("Failed to handle trigger") - - <-time.After(sleepAfterCheckingError) - } - } -} - -func (check *Checker) handleTrigger(triggerID string, metrics *metrics.CheckMetrics) (err error) { - defer func() { - if r := recover(); r != nil { - err = fmt.Errorf("panic: '%s' stack: %s", r, debug.Stack()) - } - }() - err = check.handleTriggerInLock(triggerID, metrics) - return err -} - -func (check *Checker) handleTriggerInLock(triggerID string, metrics *metrics.CheckMetrics) error { - acquired, err := check.Database.SetTriggerCheckLock(triggerID) - if err != nil { - return err - } - - if !acquired { - return nil - } - - startedAt := time.Now() - defer metrics.TriggersCheckTime.UpdateSince(startedAt) - - err = check.checkTrigger(triggerID) - return err -} - -func (check *Checker) checkTrigger(triggerID string) error { - defer check.Database.DeleteTriggerCheckLock(triggerID) //nolint - - triggerChecker, err := checker.MakeTriggerChecker( - triggerID, - check.Database, - check.Logger, - check.Config, - check.SourceProvider, - check.Metrics, - ) - - if err == checker.ErrTriggerNotExists { - return nil - } - if err != nil { - return err - } - return triggerChecker.Check() -} diff --git a/checker/worker/lazy_triggers.go b/checker/worker/lazy_triggers.go index 2104ae66f..515cd4c36 100644 --- a/checker/worker/lazy_triggers.go +++ b/checker/worker/lazy_triggers.go @@ -1,38 +1,46 @@ package worker import ( + "fmt" "math/rand" "time" + + "github.com/moira-alert/moira" ) const ( lazyTriggersWorkerTicker = time.Second * 10 ) -func (check *Checker) lazyTriggersWorker() error { - if check.Config.LazyTriggersCheckInterval <= check.Config.CheckInterval { - check.Logger.Info(). - Interface("lazy_triggers_check_interval", check.Config.LazyTriggersCheckInterval). - Interface("check_interval", check.Config.CheckInterval). +func (manager *WorkerManager) lazyTriggersWorker() error { + localConfig, ok := manager.Config.SourceCheckConfigs[moira.DefaultLocalCluster] + if !ok { + return fmt.Errorf("can not initialize lazyTriggersWorker: default local source is not configured") + } + + if manager.Config.LazyTriggersCheckInterval <= localConfig.CheckInterval { + manager.Logger.Info(). + Interface("lazy_triggers_check_interval", manager.Config.LazyTriggersCheckInterval). + Interface("check_interval", localConfig.CheckInterval). Msg("Lazy triggers worker won't start because lazy triggers interval is less or equal to check interval") return nil } checkTicker := time.NewTicker(lazyTriggersWorkerTicker) - check.Logger.Info(). - Interface("lazy_triggers_check_interval", check.Config.LazyTriggersCheckInterval). + manager.Logger.Info(). + Interface("lazy_triggers_check_interval", manager.Config.LazyTriggersCheckInterval). Interface("update_lazy_triggers_every", lazyTriggersWorkerTicker). Msg("Start lazy triggers worker") for { select { - case <-check.tomb.Dying(): + case <-manager.tomb.Dying(): checkTicker.Stop() - check.Logger.Info().Msg("Lazy triggers worker stopped") + manager.Logger.Info().Msg("Lazy triggers worker stopped") return nil case <-checkTicker.C: - err := check.fillLazyTriggerIDs() + err := manager.fillLazyTriggerIDs() if err != nil { - check.Logger.Error(). + manager.Logger.Error(). Error(err). Msg("Failed to get lazy triggers") } @@ -40,8 +48,8 @@ func (check *Checker) lazyTriggersWorker() error { } } -func (check *Checker) fillLazyTriggerIDs() error { - triggerIDs, err := check.Database.GetUnusedTriggerIDs() +func (manager *WorkerManager) fillLazyTriggerIDs() error { + triggerIDs, err := manager.Database.GetUnusedTriggerIDs() if err != nil { return err } @@ -49,13 +57,13 @@ func (check *Checker) fillLazyTriggerIDs() error { for _, triggerID := range triggerIDs { newLazyTriggerIDs[triggerID] = true } - check.lazyTriggerIDs.Store(newLazyTriggerIDs) - check.Metrics.UnusedTriggersCount.Update(int64(len(newLazyTriggerIDs))) + manager.lazyTriggerIDs.Store(newLazyTriggerIDs) + manager.Metrics.UnusedTriggersCount.Update(int64(len(newLazyTriggerIDs))) return nil } -func (check *Checker) getRandomLazyCacheDuration() time.Duration { - maxLazyCacheSeconds := check.Config.LazyTriggersCheckInterval.Seconds() +func (manager *WorkerManager) getRandomLazyCacheDuration() time.Duration { + maxLazyCacheSeconds := manager.Config.LazyTriggersCheckInterval.Seconds() min := maxLazyCacheSeconds / 2 //nolint i := rand.Float64()*min + min return time.Duration(i) * time.Second diff --git a/checker/worker/local.go b/checker/worker/local.go deleted file mode 100644 index 4febcb5b1..000000000 --- a/checker/worker/local.go +++ /dev/null @@ -1,103 +0,0 @@ -package worker - -import ( - "time" - - "github.com/moira-alert/moira/metrics" - w "github.com/moira-alert/moira/worker" -) - -const ( - nodataCheckerLockName = "moira-nodata-checker" - nodataCheckerLockTTL = time.Second * 15 - nodataWorkerName = "NODATA checker" -) - -type localChecker struct { - check *Checker -} - -func newLocalChecker(check *Checker) checkerWorker { - return &localChecker{ - check: check, - } -} - -func (ch *localChecker) Name() string { - return "Local" -} - -func (ch *localChecker) IsEnabled() bool { - return true -} - -func (ch *localChecker) MaxParallelChecks() int { - return ch.check.Config.MaxParallelLocalChecks -} - -func (ch *localChecker) Metrics() *metrics.CheckMetrics { - return ch.check.Metrics.LocalMetrics -} - -// localTriggerGetter starts NODATA checker and manages its subscription in Redis -// to make sure there is always only one working checker -func (ch *localChecker) StartTriggerGetter() error { - w.NewWorker( - nodataWorkerName, - ch.check.Logger, - ch.check.Database.NewLock(nodataCheckerLockName, nodataCheckerLockTTL), - ch.localChecker, - ).Run(ch.check.tomb.Dying()) - - return nil -} - -func (ch *localChecker) GetTriggersToCheck(count int) ([]string, error) { - return ch.check.Database.GetLocalTriggersToCheck(count) -} - -func (ch *localChecker) localChecker(stop <-chan struct{}) error { - checkTicker := time.NewTicker(ch.check.Config.NoDataCheckInterval) - ch.check.Logger.Info().Msg("Local checker started") - for { - select { - case <-stop: - ch.check.Logger.Info().Msg("Local checker stopped") - checkTicker.Stop() - return nil - - case <-checkTicker.C: - if err := ch.addLocalTriggersToCheckQueue(); err != nil { - ch.check.Logger.Error(). - Error(err). - Msg("Local check failed") - } - } - } -} - -func (ch *localChecker) addLocalTriggersToCheckQueue() error { - now := time.Now().UTC().Unix() - if ch.check.lastData+ch.check.Config.StopCheckingIntervalSeconds < now { - ch.check.Logger.Info(). - Int64("no_metrics_for_sec", now-ch.check.lastData). - Msg("Checking Local disabled. No metrics for some seconds") - return nil - } - - ch.check.Logger.Info().Msg("Checking Local") - triggerIds, err := ch.check.Database.GetLocalTriggerIDs() - if err != nil { - return err - } - ch.check.addLocalTriggerIDsIfNeeded(triggerIds) - - return nil -} - -func (check *Checker) addLocalTriggerIDsIfNeeded(triggerIDs []string) { - needToCheckTriggerIDs := check.getTriggerIDsToCheck(triggerIDs) - if len(needToCheckTriggerIDs) > 0 { - check.Database.AddLocalTriggersToCheck(needToCheckTriggerIDs) //nolint - } -} diff --git a/checker/worker/metric_events.go b/checker/worker/metric_events.go new file mode 100644 index 000000000..c7a5d44e5 --- /dev/null +++ b/checker/worker/metric_events.go @@ -0,0 +1,123 @@ +package worker + +import ( + "errors" + "fmt" + "time" + + "github.com/moira-alert/moira" + "github.com/patrickmn/go-cache" +) + +const defaultMetricEventPopBatchSize = 100 + +func (manager *WorkerManager) startLocalMetricEvents() error { + if manager.Config.MetricEventPopBatchSize < 0 { + return errors.New("MetricEventPopBatchSize param was less than zero") + } + + manager.Logger.Info().Msg("Starting local metric event handler") + + if manager.Config.MetricEventPopBatchSize == 0 { + manager.Config.MetricEventPopBatchSize = defaultMetricEventPopBatchSize + } + + subscribeMetricEventsParams := moira.SubscribeMetricEventsParams{ + BatchSize: manager.Config.MetricEventPopBatchSize, + Delay: manager.Config.MetricEventPopDelay, + } + + metricEventsChannel, err := manager.Database.SubscribeMetricEvents(&manager.tomb, &subscribeMetricEventsParams) + if err != nil { + return err + } + + defaultLocalKey := moira.DefaultLocalCluster + localConfig, ok := manager.Config.SourceCheckConfigs[defaultLocalKey] + if !ok { + return fmt.Errorf("can not initialize localMetricEvents: default local source is not configured") + } + + for i := 0; i < localConfig.MaxParallelChecks; i++ { + manager.tomb.Go(func() error { + return manager.newMetricsHandler(metricEventsChannel) + }) + } + + manager.tomb.Go(func() error { + return manager.checkMetricEventsChannelLen(metricEventsChannel) + }) + + manager.Logger.Info().Msg("Checking new events started") + + go func() { + <-manager.tomb.Dying() + manager.Logger.Info().Msg("Checking for new events stopped") + }() + + return nil +} + +func (manager *WorkerManager) newMetricsHandler(metricEventsChannel <-chan *moira.MetricEvent) error { + for { + metricEvent, ok := <-metricEventsChannel + if !ok { + return nil + } + pattern := metricEvent.Pattern + if manager.needHandlePattern(pattern) { + if err := manager.handleMetricEvent(pattern); err != nil { + manager.Logger.Error(). + Error(err). + Msg("Failed to handle metricEvent") + } + } + } +} + +func (manager *WorkerManager) needHandlePattern(pattern string) bool { + err := manager.PatternCache.Add(pattern, true, cache.DefaultExpiration) + return err == nil +} + +func (manager *WorkerManager) handleMetricEvent(pattern string) error { + start := time.Now() + defer manager.Metrics.MetricEventsHandleTime.UpdateSince(start) + + now := time.Now().UTC().Unix() + manager.lastData = now + + triggerIds, err := manager.Database.GetPatternTriggerIDs(pattern) + if err != nil { + return err + } + + // Cleanup pattern and its metrics if this pattern doesn't match to any trigger + if len(triggerIds) == 0 { + if err := manager.Database.RemovePatternWithMetrics(pattern); err != nil { + return err + } + } + + manager.scheduleLocalTriggerIDsIfNeeded(triggerIds) + return nil +} + +func (manager *WorkerManager) scheduleLocalTriggerIDsIfNeeded(triggerIDs []string) { + needToCheckTriggerIDs := manager.filterOutLazyTriggerIDs(triggerIDs) + if len(needToCheckTriggerIDs) > 0 { + manager.Database.AddTriggersToCheck(moira.DefaultLocalCluster, needToCheckTriggerIDs) //nolint + } +} + +func (manager *WorkerManager) checkMetricEventsChannelLen(ch <-chan *moira.MetricEvent) error { + checkTicker := time.NewTicker(time.Millisecond * 100) //nolint + for { + select { + case <-manager.tomb.Dying(): + return nil + case <-checkTicker.C: + manager.Metrics.MetricEventsChannelLen.Update(int64(len(ch))) + } + } +} diff --git a/checker/worker/metrics.go b/checker/worker/metrics.go deleted file mode 100644 index 086bf674d..000000000 --- a/checker/worker/metrics.go +++ /dev/null @@ -1,51 +0,0 @@ -package worker - -import ( - "time" - - "github.com/moira-alert/moira" - "github.com/patrickmn/go-cache" -) - -func (check *Checker) newMetricsHandler(metricEventsChannel <-chan *moira.MetricEvent) error { - for { - metricEvent, ok := <-metricEventsChannel - if !ok { - return nil - } - pattern := metricEvent.Pattern - if check.needHandlePattern(pattern) { - if err := check.handleMetricEvent(pattern); err != nil { - check.Logger.Error(). - Error(err). - Msg("Failed to handle metricEvent") - } - } - } -} - -func (check *Checker) needHandlePattern(pattern string) bool { - err := check.PatternCache.Add(pattern, true, cache.DefaultExpiration) - return err == nil -} - -func (check *Checker) handleMetricEvent(pattern string) error { - start := time.Now() - defer check.Metrics.MetricEventsHandleTime.UpdateSince(start) - - check.lastData = time.Now().UTC().Unix() - triggerIds, err := check.Database.GetPatternTriggerIDs(pattern) - if err != nil { - return err - } - - // Cleanup pattern and its metrics if this pattern doesn't match to any trigger - if len(triggerIds) == 0 { - if err := check.Database.RemovePatternWithMetrics(pattern); err != nil { - return err - } - } - - check.addLocalTriggerIDsIfNeeded(triggerIds) - return nil -} diff --git a/checker/worker/prometheus.go b/checker/worker/prometheus.go deleted file mode 100644 index b8fdca815..000000000 --- a/checker/worker/prometheus.go +++ /dev/null @@ -1,106 +0,0 @@ -package worker - -import ( - "time" - - "github.com/moira-alert/moira/metrics" - w "github.com/moira-alert/moira/worker" -) - -const ( - prometheusTriggerLockName = "moira-prometheus-checker" - prometheusTriggerName = "Prometheus checker" -) - -type prometheusChecker struct { - check *Checker -} - -func newPrometheusChecker(check *Checker) checkerWorker { - return &prometheusChecker{ - check: check, - } -} - -func (ch *prometheusChecker) Name() string { - return "Prometheus" -} - -func (ch *prometheusChecker) IsEnabled() bool { - return ch.check.PrometheusConfig.Enabled -} - -func (ch *prometheusChecker) MaxParallelChecks() int { - return ch.check.Config.MaxParallelPrometheusChecks -} - -func (ch *prometheusChecker) Metrics() *metrics.CheckMetrics { - return ch.check.Metrics.PrometheusMetrics -} - -func (ch *prometheusChecker) StartTriggerGetter() error { - w.NewWorker( - remoteTriggerName, - ch.check.Logger, - ch.check.Database.NewLock(prometheusTriggerLockName, nodataCheckerLockTTL), - ch.prometheusTriggerChecker, - ).Run(ch.check.tomb.Dying()) - - return nil -} - -func (ch *prometheusChecker) GetTriggersToCheck(count int) ([]string, error) { - return ch.check.Database.GetPrometheusTriggersToCheck(count) -} - -func (ch *prometheusChecker) prometheusTriggerChecker(stop <-chan struct{}) error { - checkTicker := time.NewTicker(ch.check.PrometheusConfig.CheckInterval) - ch.check.Logger.Info().Msg(prometheusTriggerName + " started") - for { - select { - case <-stop: - ch.check.Logger.Info().Msg(prometheusTriggerName + " stopped") - checkTicker.Stop() - return nil - case <-checkTicker.C: - if err := ch.checkPrometheus(); err != nil { - ch.check.Logger.Error(). - Error(err). - Msg("Prometheus trigger failed") - } - } - } -} - -func (ch *prometheusChecker) checkPrometheus() error { - source, err := ch.check.SourceProvider.GetPrometheus() - if err != nil { - return err - } - - available, err := source.IsAvailable() - if !available { - ch.check.Logger.Info(). - Error(err). - Msg("Prometheus API is unavailable. Stop checking prometheus triggers") - return nil - } - - ch.check.Logger.Debug().Msg("Checking prometheus triggers") - triggerIds, err := ch.check.Database.GetPrometheusTriggerIDs() - - if err != nil { - return err - } - - ch.addPrometheusTriggerIDsIfNeeded(triggerIds) - - return nil -} - -func (ch *prometheusChecker) addPrometheusTriggerIDsIfNeeded(triggerIDs []string) { - needToCheckPrometheusTriggerIDs := ch.check.getTriggerIDsToCheck(triggerIDs) - if len(needToCheckPrometheusTriggerIDs) > 0 { - ch.check.Database.AddPrometheusTriggersToCheck(needToCheckPrometheusTriggerIDs) //nolint - } -} diff --git a/checker/worker/remote.go b/checker/worker/remote.go deleted file mode 100644 index f7f59f07e..000000000 --- a/checker/worker/remote.go +++ /dev/null @@ -1,106 +0,0 @@ -package worker - -import ( - "time" - - "github.com/moira-alert/moira/metrics" - w "github.com/moira-alert/moira/worker" -) - -const ( - remoteTriggerLockName = "moira-remote-checker" - remoteTriggerName = "Remote checker" -) - -type remoteChecker struct { - check *Checker -} - -func newRemoteChecker(check *Checker) checkerWorker { - return &remoteChecker{ - check: check, - } -} - -func (ch *remoteChecker) Name() string { - return "Remote" -} - -func (ch *remoteChecker) IsEnabled() bool { - return ch.check.RemoteConfig.Enabled -} - -func (ch *remoteChecker) MaxParallelChecks() int { - return ch.check.Config.MaxParallelRemoteChecks -} - -func (ch *remoteChecker) Metrics() *metrics.CheckMetrics { - return ch.check.Metrics.RemoteMetrics -} - -func (ch *remoteChecker) StartTriggerGetter() error { - w.NewWorker( - remoteTriggerName, - ch.check.Logger, - ch.check.Database.NewLock(remoteTriggerLockName, nodataCheckerLockTTL), - ch.remoteTriggerChecker, - ).Run(ch.check.tomb.Dying()) - - return nil -} - -func (ch *remoteChecker) GetTriggersToCheck(count int) ([]string, error) { - return ch.check.Database.GetRemoteTriggersToCheck(count) -} - -func (ch *remoteChecker) remoteTriggerChecker(stop <-chan struct{}) error { - checkTicker := time.NewTicker(ch.check.RemoteConfig.CheckInterval) - ch.check.Logger.Info().Msg(remoteTriggerName + " started") - for { - select { - case <-stop: - ch.check.Logger.Info().Msg(remoteTriggerName + " stopped") - checkTicker.Stop() - return nil - - case <-checkTicker.C: - if err := ch.checkRemote(); err != nil { - ch.check.Logger.Error(). - Error(err). - Msg("Remote trigger failed") - } - } - } -} - -func (ch *remoteChecker) checkRemote() error { - source, err := ch.check.SourceProvider.GetRemote() - if err != nil { - return err - } - - available, err := source.IsAvailable() - if !available { - ch.check.Logger.Info(). - Error(err). - Msg("Remote API is unavailable. Stop checking remote triggers") - return nil - } - - ch.check.Logger.Debug().Msg("Checking remote triggers") - - triggerIds, err := ch.check.Database.GetRemoteTriggerIDs() - if err != nil { - return err - } - ch.addRemoteTriggerIDsIfNeeded(triggerIds) - - return nil -} - -func (ch *remoteChecker) addRemoteTriggerIDsIfNeeded(triggerIDs []string) { - needToCheckRemoteTriggerIDs := ch.check.getTriggerIDsToCheck(triggerIDs) - if len(needToCheckRemoteTriggerIDs) > 0 { - ch.check.Database.AddRemoteTriggersToCheck(needToCheckRemoteTriggerIDs) //nolint - } -} diff --git a/checker/worker/scheduler.go b/checker/worker/scheduler.go new file mode 100644 index 000000000..c1b5f46c5 --- /dev/null +++ b/checker/worker/scheduler.go @@ -0,0 +1,117 @@ +package worker + +import ( + "time" + + "github.com/moira-alert/moira" + "github.com/moira-alert/moira/checker" + "github.com/moira-alert/moira/metrics" + w "github.com/moira-alert/moira/worker" +) + +const checkerLockTTL = time.Second * 15 + +type scheduler struct { + manager *WorkerManager + clusterKey moira.ClusterKey + sourceCheckConfig checker.SourceCheckConfig + name string + lockName string + validateSource func() error + metrics *metrics.CheckMetrics +} + +func newScheduler(manager *WorkerManager, clusterKey moira.ClusterKey, validateSource func() error) (*scheduler, error) { + metrics, err := manager.Metrics.GetCheckMetricsBySource(clusterKey) + if err != nil { + return nil, err + } + + name := clusterKey.String() + lockName := "moira-" + name + "-lock" + + return &scheduler{ + manager: manager, + sourceCheckConfig: manager.Config.SourceCheckConfigs[clusterKey], + metrics: metrics, + name: name, + lockName: lockName, + clusterKey: clusterKey, + validateSource: validateSource, + }, nil +} + +func (ch *scheduler) getMaxParallelChecks() int { + return ch.sourceCheckConfig.MaxParallelChecks +} + +func (ch *scheduler) startTriggerScheduler() error { + w.NewWorker( + ch.name, + ch.manager.Logger, + ch.manager.Database.NewLock(ch.lockName, checkerLockTTL), + ch.triggerScheduler, + ).Run(ch.manager.tomb.Dying()) + + return nil +} + +func (ch *scheduler) getTriggersToCheck(count int) ([]string, error) { + return ch.manager.Database.GetTriggersToCheck(ch.clusterKey, count) +} + +func (ch *scheduler) triggerScheduler(stop <-chan struct{}) error { + checkTicker := time.NewTicker(ch.sourceCheckConfig.CheckInterval) + + ch.manager.Logger.Info().Msg(ch.name + " started") + for { + select { + case <-stop: + ch.manager.Logger.Info().Msg(ch.name + " stopped") + checkTicker.Stop() + return nil + + case <-checkTicker.C: + if err := ch.scheduleTriggersToCheck(); err != nil { + ch.manager.Logger.Error(). + Error(err). + Msg(ch.name + " trigger failed") + } + } + } +} + +func (ch *scheduler) scheduleTriggersToCheck() error { + err := ch.validateSource() + if err != nil { + ch.manager.Logger.Warning(). + Error(err). + String("cluster_key", ch.clusterKey.String()). + Msg("Source is invalid. Stop scheduling trigger checks") + return nil + } + + ch.manager.Logger.Debug(). + String("cluster_key", ch.clusterKey.String()). + Msg("Scheduling triggers") + + triggerIds, err := ch.manager.Database.GetTriggerIDs(ch.clusterKey) + if err != nil { + return err + } + + err = ch.scheduleTriggerIDsIfNeeded(ch.clusterKey, triggerIds) + if err != nil { + return err + } + + return nil +} + +func (ch *scheduler) scheduleTriggerIDsIfNeeded(clusterKey moira.ClusterKey, triggerIDs []string) error { + needToCheckTriggerIDs := ch.manager.filterOutLazyTriggerIDs(triggerIDs) + if len(needToCheckTriggerIDs) > 0 { + return ch.manager.Database.AddTriggersToCheck(clusterKey, needToCheckTriggerIDs) + } + return nil +} diff --git a/checker/worker/trigger_handler.go b/checker/worker/trigger_handler.go new file mode 100644 index 000000000..7ae1bde84 --- /dev/null +++ b/checker/worker/trigger_handler.go @@ -0,0 +1,94 @@ +package worker + +import ( + "errors" + "fmt" + "runtime/debug" + "time" + + "github.com/moira-alert/moira" + "github.com/moira-alert/moira/checker" + "github.com/moira-alert/moira/metrics" +) + +const sleepAfterCheckingError = time.Second * 2 + +// startTriggerHandler is a blocking func. +func (manager *WorkerManager) startTriggerHandler(triggerIDsToCheck <-chan string, metrics *metrics.CheckMetrics) error { + for { + triggerID, ok := <-triggerIDsToCheck + if !ok { + return nil + } + + err := manager.handleTrigger(triggerID, metrics) + if err != nil { + metrics.HandleError.Mark(1) + + manager.Logger.Error(). + String(moira.LogFieldNameTriggerID, triggerID). + Error(err). + Msg("Failed to handle trigger") + + <-time.After(sleepAfterCheckingError) + } + } +} + +func (manager *WorkerManager) handleTrigger(triggerID string, metrics *metrics.CheckMetrics) (err error) { + defer func() { + if r := recover(); r != nil { + err = fmt.Errorf("panic: '%s' stack: %s", r, debug.Stack()) + } + }() + err = manager.handleTriggerInLock(triggerID, metrics) + return err +} + +func (manager *WorkerManager) handleTriggerInLock(triggerID string, metrics *metrics.CheckMetrics) error { + acquired, err := manager.Database.SetTriggerCheckLock(triggerID) + if err != nil { + return err + } + + if !acquired { + return nil + } + + defer manager.Database.DeleteTriggerCheckLock(triggerID) //nolint + + startedAt := time.Now() + defer metrics.TriggersCheckTime.UpdateSince(startedAt) + + err = manager.checkTrigger(triggerID) + + timeSince := time.Since(startedAt) + if timeSince > manager.Config.CriticalTimeOfCheck { + manager.Logger.Warning(). + String("trigger_id", triggerID). + Error(err). + String("time_of_check", timeSince.String()). + Msg("It took too long to check trigger") + } + + return err +} + +func (manager *WorkerManager) checkTrigger(triggerID string) error { + triggerChecker, err := checker.MakeTriggerChecker( + triggerID, + manager.Database, + manager.Logger, + manager.Config, + manager.SourceProvider, + manager.Metrics, + ) + + if errors.Is(err, checker.ErrTriggerNotExists) { + return nil + } + if err != nil { + return err + } + return triggerChecker.Check() +} diff --git a/checker/worker/trigger_queue_pipe.go b/checker/worker/trigger_queue_pipe.go new file mode 100644 index 000000000..16c5d0e31 --- /dev/null +++ b/checker/worker/trigger_queue_pipe.go @@ -0,0 +1,81 @@ +package worker + +import ( + "time" + + "github.com/patrickmn/go-cache" +) + +const ( + sleepAfterGetTriggerIDError = time.Second * 1 + sleepWhenNoTriggerToCheck = time.Millisecond * 500 +) + +func (manager *WorkerManager) pipeTriggerToCheckQueue(fetch func(int) ([]string, error), batchSize int) <-chan string { + triggerIDsToCheck := make(chan string, batchSize*2) //nolint + manager.tomb.Go(func() error { + return manager.pipeTriggerToCheckQueueToChan(fetch, batchSize, triggerIDsToCheck) + }) + return triggerIDsToCheck +} + +func (manager *WorkerManager) pipeTriggerToCheckQueueToChan(fetch func(int) ([]string, error), batchSize int, triggerIDsToCheck chan<- string) error { + var fetchDelay time.Duration + for { + startFetch := time.After(fetchDelay) + + select { + case <-manager.tomb.Dying(): + close(triggerIDsToCheck) + return nil + + case <-startFetch: + triggerIDs, err := fetch(batchSize) + fetchDelay = manager.handleFetchResponse(triggerIDs, err, triggerIDsToCheck) + } + } +} + +func (manager *WorkerManager) handleFetchResponse(triggerIDs []string, fetchError error, triggerIDsToCheck chan<- string) time.Duration { + if fetchError != nil { + manager.Logger.Error(). + Error(fetchError). + Msg("Failed to handle trigger loop") + + return sleepAfterGetTriggerIDError + } + + if len(triggerIDs) == 0 { + return sleepWhenNoTriggerToCheck + } + + for _, triggerID := range triggerIDs { + triggerIDsToCheck <- triggerID + } + + return time.Duration(0) +} + +func (manager *WorkerManager) filterOutLazyTriggerIDs(triggerIDs []string) []string { + triggerIDsToCheck := make([]string, 0, len(triggerIDs)) + + lazyTriggerIDs := manager.lazyTriggerIDs.Load().(map[string]bool) + + for _, triggerID := range triggerIDs { + if _, ok := lazyTriggerIDs[triggerID]; ok { + randomDuration := manager.getRandomLazyCacheDuration() + cacheContainsIdErr := manager.LazyTriggersCache.Add(triggerID, true, randomDuration) + + if cacheContainsIdErr != nil { + continue + } + } + + cacheContainsIdErr := manager.TriggerCache.Add(triggerID, true, cache.DefaultExpiration) + if cacheContainsIdErr == nil { + triggerIDsToCheck = append(triggerIDsToCheck, triggerID) + } + } + + return triggerIDsToCheck +} diff --git a/checker/worker/trigger_to_check.go b/checker/worker/trigger_to_check.go deleted file mode 100644 index fc8dbe501..000000000 --- a/checker/worker/trigger_to_check.go +++ /dev/null @@ -1,72 +0,0 @@ -package worker - -import ( - "time" - - "github.com/patrickmn/go-cache" -) - -const sleepAfterGetTriggerIDError = time.Second * 1 -const sleepWhenNoTriggerToCheck = time.Millisecond * 500 - -func (check *Checker) startTriggerToCheckGetter(fetch func(int) ([]string, error), batchSize int) <-chan string { - triggerIDsToCheck := make(chan string, batchSize*2) //nolint - check.tomb.Go(func() error { - return check.triggerToCheckGetter(fetch, batchSize, triggerIDsToCheck) - }) - return triggerIDsToCheck -} - -func (check *Checker) triggerToCheckGetter(fetch func(int) ([]string, error), batchSize int, triggerIDsToCheck chan<- string) error { - var fetchDelay time.Duration - for { - startFetch := time.After(fetchDelay) - select { - case <-check.tomb.Dying(): - close(triggerIDsToCheck) - return nil - case <-startFetch: - triggerIDs, err := fetch(batchSize) - fetchDelay = check.handleFetchResponse(triggerIDs, err, triggerIDsToCheck) - } - } -} - -func (check *Checker) handleFetchResponse(triggerIDs []string, fetchError error, triggerIDsToCheck chan<- string) time.Duration { - if fetchError != nil { - check.Logger.Error(). - Error(fetchError). - Msg("Failed to handle trigger loop") - return sleepAfterGetTriggerIDError - } - if len(triggerIDs) == 0 { - return sleepWhenNoTriggerToCheck - } - for _, triggerID := range triggerIDs { - triggerIDsToCheck <- triggerID - } - return time.Duration(0) -} - -func (check *Checker) getTriggerIDsToCheck(triggerIDs []string) []string { - triggerIDsToCheck := make([]string, 0, len(triggerIDs)) - - lazyTriggerIDs := check.lazyTriggerIDs.Load().(map[string]bool) - for _, triggerID := range triggerIDs { - if _, ok := lazyTriggerIDs[triggerID]; ok { - randomDuration := check.getRandomLazyCacheDuration() - cacheContainsIdErr := check.LazyTriggersCache.Add(triggerID, true, randomDuration) - - if cacheContainsIdErr != nil { - continue - } - } - - cacheContainsIdErr := check.TriggerCache.Add(triggerID, true, cache.DefaultExpiration) - if cacheContainsIdErr == nil { - triggerIDsToCheck = append(triggerIDsToCheck, triggerID) - } - } - - return triggerIDsToCheck -} diff --git a/checker/worker/worker.go b/checker/worker/worker.go deleted file mode 100644 index c072de4b5..000000000 --- a/checker/worker/worker.go +++ /dev/null @@ -1,214 +0,0 @@ -package worker - -import ( - "errors" - "runtime" - "sync/atomic" - "time" - - "github.com/moira-alert/moira/metrics" - - metricSource "github.com/moira-alert/moira/metric_source" - "github.com/moira-alert/moira/metric_source/prometheus" - "github.com/moira-alert/moira/metric_source/remote" - "github.com/patrickmn/go-cache" - "gopkg.in/tomb.v2" - - "github.com/moira-alert/moira" - "github.com/moira-alert/moira/checker" -) - -// Checker represents workers for periodically triggers checking based by new events -type Checker struct { - Logger moira.Logger - Database moira.Database - Config *checker.Config - RemoteConfig *remote.Config - PrometheusConfig *prometheus.Config - SourceProvider *metricSource.SourceProvider - Metrics *metrics.CheckerMetrics - TriggerCache *cache.Cache - LazyTriggersCache *cache.Cache - PatternCache *cache.Cache - lazyTriggerIDs atomic.Value - lastData int64 - tomb tomb.Tomb -} - -// Start start schedule new MetricEvents and check for NODATA triggers -func (check *Checker) Start() error { - var err error - - err = check.startLazyTriggers() - if err != nil { - return err - } - - err = check.startLocalMetricEvents() - if err != nil { - return err - } - - err = check.startCheckerWorker(newRemoteChecker(check)) - if err != nil { - return err - } - - err = check.startCheckerWorker(newPrometheusChecker(check)) - if err != nil { - return err - } - - err = check.startCheckerWorker(newLocalChecker(check)) - if err != nil { - return err - } - - return nil -} - -func (check *Checker) startLocalMetricEvents() error { - if check.Config.MetricEventPopBatchSize < 0 { - return errors.New("MetricEventPopBatchSize param was less than zero") - } - - if check.Config.MetricEventPopBatchSize == 0 { - check.Config.MetricEventPopBatchSize = 100 - } - - subscribeMetricEventsParams := moira.SubscribeMetricEventsParams{ - BatchSize: check.Config.MetricEventPopBatchSize, - Delay: check.Config.MetricEventPopDelay, - } - - metricEventsChannel, err := check.Database.SubscribeMetricEvents(&check.tomb, &subscribeMetricEventsParams) - if err != nil { - return err - } - - for i := 0; i < check.Config.MaxParallelLocalChecks; i++ { - check.tomb.Go(func() error { - return check.newMetricsHandler(metricEventsChannel) - }) - } - - check.tomb.Go(func() error { - return check.checkMetricEventsChannelLen(metricEventsChannel) - }) - - check.Logger.Info().Msg("Checking new events started") - - go func() { - <-check.tomb.Dying() - check.Logger.Info().Msg("Checking for new events stopped") - }() - - return nil -} - -type checkerWorker interface { - // Returns the name of the worker for logging - Name() string - // Returns true if worker is enabled, false otherwise - IsEnabled() bool - // Returns the max number of parallel checks for this worker - MaxParallelChecks() int - // Returns the metrics for this worker - Metrics() *metrics.CheckMetrics - // Starts separate goroutine that fetches triggers for this worker from database and adds them to the check queue - StartTriggerGetter() error - // Fetches triggers from the queue - GetTriggersToCheck(count int) ([]string, error) -} - -func (check *Checker) startCheckerWorker(w checkerWorker) error { - if !w.IsEnabled() { - check.Logger.Info().Msg(w.Name() + " checker disabled") - return nil - } - - maxParallelChecks := w.MaxParallelChecks() - if maxParallelChecks == 0 { - maxParallelChecks = runtime.NumCPU() - - check.Logger.Info(). - Int("number_of_cpu", maxParallelChecks). - Msg("MaxParallel" + w.Name() + "Checks is not configured, set it to the number of CPU") - } - - const maxParallelChecksMaxValue = 1024 * 8 - if maxParallelChecks > maxParallelChecksMaxValue { - return errors.New("MaxParallel" + w.Name() + "Checks value is too large") - } - - check.tomb.Go(w.StartTriggerGetter) - check.Logger.Info().Msg(w.Name() + "checker started") - - triggerIdsToCheckChan := check.startTriggerToCheckGetter( - w.GetTriggersToCheck, - maxParallelChecks, - ) - - for i := 0; i < maxParallelChecks; i++ { - check.tomb.Go(func() error { - return check.startTriggerHandler( - triggerIdsToCheckChan, - w.Metrics(), - ) - }) - } - - return nil -} - -func (check *Checker) startLazyTriggers() error { - check.lastData = time.Now().UTC().Unix() - - check.lazyTriggerIDs.Store(make(map[string]bool)) - check.tomb.Go(check.lazyTriggersWorker) - - check.tomb.Go(check.checkTriggersToCheckCount) - - return nil -} - -func (check *Checker) checkTriggersToCheckCount() error { - checkTicker := time.NewTicker(time.Millisecond * 100) //nolint - var triggersToCheckCount, remoteTriggersToCheckCount int64 - var err error - for { - select { - case <-check.tomb.Dying(): - return nil - case <-checkTicker.C: - triggersToCheckCount, err = check.Database.GetLocalTriggersToCheckCount() - if err == nil { - check.Metrics.LocalMetrics.TriggersToCheckCount.Update(triggersToCheckCount) - } - if check.RemoteConfig.Enabled { - remoteTriggersToCheckCount, err = check.Database.GetRemoteTriggersToCheckCount() - if err == nil { - check.Metrics.RemoteMetrics.TriggersToCheckCount.Update(remoteTriggersToCheckCount) - } - } - } - } -} - -func (check *Checker) checkMetricEventsChannelLen(ch <-chan *moira.MetricEvent) error { - checkTicker := time.NewTicker(time.Millisecond * 100) //nolint - for { - select { - case <-check.tomb.Dying(): - return nil - case <-checkTicker.C: - check.Metrics.MetricEventsChannelLen.Update(int64(len(ch))) - } - } -} - -// Stop stops checks triggers -func (check *Checker) Stop() error { - check.tomb.Kill(nil) - return check.tomb.Wait() -} diff --git a/checker/worker/worker_manager.go b/checker/worker/worker_manager.go new file mode 100644 index 000000000..d4df70f8b --- /dev/null +++ b/checker/worker/worker_manager.go @@ -0,0 +1,168 @@ +package worker + +import ( + "errors" + "fmt" + "sync/atomic" + "time" + + "github.com/moira-alert/moira/metrics" + + metricSource "github.com/moira-alert/moira/metric_source" + "github.com/patrickmn/go-cache" + "gopkg.in/tomb.v2" + + "github.com/moira-alert/moira" + "github.com/moira-alert/moira/checker" +) + +// WorkerManager represents workers for periodically triggers checking based by new events. +type WorkerManager struct { + Logger moira.Logger + Database moira.Database + + Config *checker.Config + SourceProvider *metricSource.SourceProvider + Metrics *metrics.CheckerMetrics + + TriggerCache *cache.Cache + LazyTriggersCache *cache.Cache + PatternCache *cache.Cache + lazyTriggerIDs atomic.Value + lastData int64 + tomb tomb.Tomb +} + +// StartWorkers start schedule new MetricEvents and check for NODATA triggers. +func (manager *WorkerManager) StartWorkers() error { + var err error + + err = manager.startLazyTriggers() + if err != nil { + return err + } + + err = manager.startLocalMetricEvents() + if err != nil { + return err + } + + for clusterKey := range manager.Config.SourceCheckConfigs { + validator, err := manager.makeSourceValidator(clusterKey) + if err != nil { + return err + } + + checker, err := newScheduler(manager, clusterKey, validator) + if err != nil { + return err + } + err = manager.startCheckerWorker(checker) + if err != nil { + return err + } + } + + return nil +} + +func (manager *WorkerManager) makeSourceValidator(clusterKey moira.ClusterKey) (func() error, error) { + if clusterKey.TriggerSource == moira.GraphiteLocal { + return manager.validateGraphiteLocal, nil + } + + source, err := manager.SourceProvider.GetMetricSource(clusterKey) + if err != nil { + return nil, err + } + + return func() error { + if available, err := source.IsAvailable(); !available { + return fmt.Errorf("source is not available: %w", err) + } + return nil + }, nil +} + +func (manager *WorkerManager) validateGraphiteLocal() error { + now := time.Now().UTC().Unix() + + if manager.lastData+manager.Config.StopCheckingIntervalSeconds > now { + return nil + } + + return fmt.Errorf("graphite local source invalid: no metrics for %d second", now-manager.lastData) +} + +func (manager *WorkerManager) startCheckerWorker(w *scheduler) error { + const maxParallelChecksMaxValue = 1024 * 8 + if w.getMaxParallelChecks() > maxParallelChecksMaxValue { + return errors.New("MaxParallel" + w.name + "Checks value is too large") + } + + manager.tomb.Go(w.startTriggerScheduler) + manager.Logger.Info().Msg(w.name + " scheduler started") + + triggerIdsToCheckChan := manager.pipeTriggerToCheckQueue( + w.getTriggersToCheck, + w.getMaxParallelChecks(), + ) + + for i := 0; i < w.getMaxParallelChecks(); i++ { + manager.tomb.Go(func() error { + return manager.startTriggerHandler( + triggerIdsToCheckChan, + w.metrics, + ) + }) + } + + return nil +} + +func (manager *WorkerManager) startLazyTriggers() error { + manager.lastData = time.Now().UTC().Unix() + + manager.lazyTriggerIDs.Store(make(map[string]bool)) + manager.tomb.Go(manager.lazyTriggersWorker) + + manager.tomb.Go(manager.checkTriggersToCheckCount) + + return nil +} + +func (manager *WorkerManager) checkTriggersToCheckCount() error { + checkTicker := time.NewTicker(time.Millisecond * 100) //nolint + defer checkTicker.Stop() + + for { + select { + case <-manager.tomb.Dying(): + return nil + + case <-checkTicker.C: + for clusterKey := range manager.Config.SourceCheckConfigs { + metrics, err := manager.Metrics.GetCheckMetricsBySource(clusterKey) + if err != nil { + continue + } + + triggersToCheck, err := getTriggersToCheck(manager.Database, clusterKey) + if err != nil { + continue + } + metrics.TriggersToCheckCount.Update(triggersToCheck) + } + } + } +} + +func getTriggersToCheck(database moira.Database, clusterKey moira.ClusterKey) (int64, error) { + return database.GetTriggersToCheckCount(clusterKey) +} + +// Stop stops checks triggers. +func (manager *WorkerManager) Stop() error { + manager.tomb.Kill(nil) + return manager.tomb.Wait() +} diff --git a/cmd/api/config.go b/cmd/api/config.go index 50ec41623..bfd5ca3eb 100644 --- a/cmd/api/config.go +++ b/cmd/api/config.go @@ -1,9 +1,9 @@ package main import ( - "encoding/json" - "fmt" + "time" + "github.com/moira-alert/moira" "github.com/moira-alert/moira/notifier" "github.com/xiam/to" @@ -18,40 +18,83 @@ type config struct { API apiConfig `yaml:"api"` Web webConfig `yaml:"web"` Telemetry cmd.TelemetryConfig `yaml:"telemetry"` - Remote cmd.RemoteConfig `yaml:"remote"` - Prometheus cmd.PrometheusConfig `yaml:"prometheus"` + Remotes cmd.RemotesConfig `yaml:",inline"` NotificationHistory cmd.NotificationHistoryConfig `yaml:"notification_history"` } +// ClustersMetricTTL parses TTLs of all clusters provided in config. +func (config *config) ClustersMetricTTL() map[moira.ClusterKey]time.Duration { + result := make(map[moira.ClusterKey]time.Duration) + + result[moira.DefaultLocalCluster] = to.Duration(config.Redis.MetricsTTL) + + for _, remote := range config.Remotes.Graphite { + key := moira.MakeClusterKey(moira.GraphiteRemote, remote.ClusterId) + result[key] = to.Duration(remote.MetricsTTL) + } + + for _, remote := range config.Remotes.Prometheus { + key := moira.MakeClusterKey(moira.PrometheusRemote, remote.ClusterId) + result[key] = to.Duration(remote.MetricsTTL) + } + + return result +} + type apiConfig struct { // Api local network address. Default is ':8081' so api will be available at http://moira.company.com:8081/api. Listen string `yaml:"listen"` // If true, CORS for cross-domain requests will be enabled. This option can be used only for debugging purposes. EnableCORS bool `yaml:"enable_cors"` + // Authorization contains authorization configuration. + Authorization authorization `yaml:"authorization"` +} + +type authorization struct { + // True if should limit non-admins and give admins additional privileges. + Enabled bool `yaml:"enabled"` + // List of logins of users who are considered to be admins. + AdminList []string `yaml:"admin_list"` +} + +type sentryConfig struct { + DSN string `yaml:"dsn"` + Platform string `yaml:"platform"` +} + +func (config *sentryConfig) getSettings() api.Sentry { + return api.Sentry{ + DSN: config.DSN, + Platform: config.Platform, + } } type webConfig struct { // Moira administrator email address. SupportEmail string `yaml:"supportEmail"` - // If true, users will be able to choose Graphite as trigger metrics data source + // If true, users will be able to choose Graphite as trigger metrics data source. RemoteAllowed bool - // List of enabled contact types - Contacts []webContact `yaml:"contacts"` - // struct to manage feature flags. + // List of enabled contacts template. + ContactsTemplate []webContact `yaml:"contacts_template"` + // Struct to manage feature flags. FeatureFlags featureFlags `yaml:"feature_flags"` + // Returns the sentry configuration for the frontend. + Sentry sentryConfig `yaml:"sentry"` } type webContact struct { // Contact type. Use sender name for script and webhook senders, in other cases use sender type. - // See senders section of notifier config for more details: https://moira.readthedocs.io/en/latest/installation/configuration.html#notifier + // See senders section of notifier config for more details: https://moira.readthedocs.io/en/latest/installation/configuration.html#notifier. ContactType string `yaml:"type"` - // Contact type label that will be shown in web ui + // Contact type label that will be shown in web ui. ContactLabel string `yaml:"label"` - // Regular expression to match valid contact values + // Logo URI sets the uri to the image with the contact's logo. + LogoURI string `yaml:"logo_uri"` + // Regular expression to match valid contact values. ValidationRegex string `yaml:"validation"` - // Short description/example of valid contact value + // Short description/example of valid contact value. Placeholder string `yaml:"placeholder"` - // More detailed contact description + // More detailed contact description. Help string `yaml:"help"` } @@ -59,39 +102,90 @@ type featureFlags struct { IsPlottingDefaultOn bool `yaml:"is_plotting_default_on"` IsPlottingAvailable bool `yaml:"is_plotting_available"` IsSubscriptionToAllTagsAvailable bool `yaml:"is_subscription_to_all_tags_available"` + IsReadonlyEnabled bool `yaml:"is_readonly_enabled"` } -func (config *apiConfig) getSettings(localMetricTTL, remoteMetricTTL string) *api.Config { +func (config *apiConfig) getSettings( + metricsTTL map[moira.ClusterKey]time.Duration, + flags api.FeatureFlags, + webConfig *webConfig, +) *api.Config { return &api.Config{ - EnableCORS: config.EnableCORS, - Listen: config.Listen, - GraphiteLocalMetricTTL: to.Duration(localMetricTTL), - GraphiteRemoteMetricTTL: to.Duration(remoteMetricTTL), + EnableCORS: config.EnableCORS, + Listen: config.Listen, + MetricsTTL: metricsTTL, + Flags: flags, + Authorization: config.Authorization.toApiConfig(webConfig), } } -func (config *webConfig) getSettings(isRemoteEnabled bool) ([]byte, error) { - webContacts := make([]api.WebContact, 0, len(config.Contacts)) - for _, configContact := range config.Contacts { +func (auth *authorization) toApiConfig(webConfig *webConfig) api.Authorization { + adminList := make(map[string]struct{}, len(auth.AdminList)) + for _, admin := range auth.AdminList { + adminList[admin] = struct{}{} + } + + allowedContactTypes := make(map[string]struct{}, len(webConfig.ContactsTemplate)) + + for _, contactTemplate := range webConfig.ContactsTemplate { + allowedContactTypes[contactTemplate.ContactType] = struct{}{} + } + + return api.Authorization{ + Enabled: auth.Enabled, + AdminList: adminList, + AllowedContactTypes: allowedContactTypes, + } +} + +func (config *webConfig) getSettings(isRemoteEnabled bool, remotes cmd.RemotesConfig) *api.WebConfig { + webContacts := make([]api.WebContact, 0, len(config.ContactsTemplate)) + + for _, contactTemplate := range config.ContactsTemplate { contact := api.WebContact{ - ContactType: configContact.ContactType, - ContactLabel: configContact.ContactLabel, - ValidationRegex: configContact.ValidationRegex, - Placeholder: configContact.Placeholder, - Help: configContact.Help, + ContactType: contactTemplate.ContactType, + ContactLabel: contactTemplate.ContactLabel, + LogoURI: contactTemplate.LogoURI, + ValidationRegex: contactTemplate.ValidationRegex, + Placeholder: contactTemplate.Placeholder, + Help: contactTemplate.Help, } + webContacts = append(webContacts, contact) } - configContent, err := json.Marshal(api.WebConfig{ - SupportEmail: config.SupportEmail, - RemoteAllowed: isRemoteEnabled, - Contacts: webContacts, - FeatureFlags: config.getFeatureFlags(), - }) - if err != nil { - return make([]byte, 0), fmt.Errorf("failed to parse web config: %s", err.Error()) + + clusters := []api.MetricSourceCluster{{ + TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, + ClusterName: "Graphite Local", + }} + + for _, remote := range remotes.Graphite { + cluster := api.MetricSourceCluster{ + TriggerSource: moira.GraphiteRemote, + ClusterId: remote.ClusterId, + ClusterName: remote.ClusterName, + } + clusters = append(clusters, cluster) + } + + for _, remote := range remotes.Prometheus { + cluster := api.MetricSourceCluster{ + TriggerSource: moira.PrometheusRemote, + ClusterId: remote.ClusterId, + ClusterName: remote.ClusterName, + } + clusters = append(clusters, cluster) + } + + return &api.WebConfig{ + SupportEmail: config.SupportEmail, + RemoteAllowed: isRemoteEnabled, + MetricSourceClusters: clusters, + Contacts: webContacts, + FeatureFlags: config.getFeatureFlags(), + Sentry: config.Sentry.getSettings(), } - return configContent, nil } func (config *webConfig) getFeatureFlags() api.FeatureFlags { @@ -99,6 +193,7 @@ func (config *webConfig) getFeatureFlags() api.FeatureFlags { IsPlottingDefaultOn: config.FeatureFlags.IsPlottingDefaultOn, IsPlottingAvailable: config.FeatureFlags.IsPlottingAvailable, IsSubscriptionToAllTagsAvailable: config.FeatureFlags.IsSubscriptionToAllTagsAvailable, + IsReadonlyEnabled: config.FeatureFlags.IsReadonlyEnabled, } } @@ -142,15 +237,6 @@ func getDefault() config { }, Pprof: cmd.ProfilerConfig{Enabled: false}, }, - Remote: cmd.RemoteConfig{ - Timeout: "60s", - MetricsTTL: "7d", - }, - Prometheus: cmd.PrometheusConfig{ - Timeout: "60s", - MetricsTTL: "7d", - Retries: 1, - RetryTimeout: "10s", - }, + Remotes: cmd.RemotesConfig{}, } } diff --git a/cmd/api/config_test.go b/cmd/api/config_test.go index 75cd644ab..782fcf301 100644 --- a/cmd/api/config_test.go +++ b/cmd/api/config_test.go @@ -4,6 +4,7 @@ import ( "testing" "time" + "github.com/moira-alert/moira" "github.com/moira-alert/moira/cmd" "github.com/moira-alert/moira/api" @@ -13,19 +14,38 @@ import ( func Test_apiConfig_getSettings(t *testing.T) { Convey("Settings successfully filled", t, func() { + metricTTLs := map[moira.ClusterKey]time.Duration{ + moira.MakeClusterKey(moira.GraphiteLocal, moira.DefaultCluster): time.Hour, + moira.DefaultGraphiteRemoteCluster: 24 * time.Hour, + } + + webConfig := &webConfig{ + ContactsTemplate: []webContact{ + { + ContactType: "test", + }, + }, + } + apiConf := apiConfig{ Listen: "0000", EnableCORS: true, } expectedResult := &api.Config{ - EnableCORS: true, - Listen: "0000", - GraphiteLocalMetricTTL: time.Hour, - GraphiteRemoteMetricTTL: 24 * time.Hour, + EnableCORS: true, + Listen: "0000", + MetricsTTL: metricTTLs, + Flags: api.FeatureFlags{IsReadonlyEnabled: true}, + Authorization: api.Authorization{ + AdminList: make(map[string]struct{}), + AllowedContactTypes: map[string]struct{}{ + "test": {}, + }, + }, } - result := apiConf.getSettings("1h", "24h") + result := apiConf.getSettings(metricTTLs, api.FeatureFlags{IsReadonlyEnabled: true}, webConfig) So(result, ShouldResemble, expectedResult) }) } @@ -88,16 +108,7 @@ func Test_webConfig_getDefault(t *testing.T) { }, Pprof: cmd.ProfilerConfig{Enabled: false}, }, - Remote: cmd.RemoteConfig{ - Timeout: "60s", - MetricsTTL: "7d", - }, - Prometheus: cmd.PrometheusConfig{ - Timeout: "60s", - MetricsTTL: "7d", - Retries: 1, - RetryTimeout: "10s", - }, + Remotes: cmd.RemotesConfig{}, NotificationHistory: cmd.NotificationHistoryConfig{ NotificationHistoryTTL: "48h", NotificationHistoryQueryLimit: -1, @@ -110,30 +121,49 @@ func Test_webConfig_getDefault(t *testing.T) { } func Test_webConfig_getSettings(t *testing.T) { - Convey("Empty config, fill it", t, func() { - wC := webConfig{} + metricSourceClustersDefault := []api.MetricSourceCluster{{ + TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, + ClusterName: "Graphite Local", + }} + remotesDefault := cmd.RemotesConfig{} - result, err := wC.getSettings(true) - So(err, ShouldBeEmpty) - So(string(result), ShouldResemble, "{\"remoteAllowed\":true,\"contacts\":[],\"featureFlags\":{\"isPlottingDefaultOn\":false,\"isPlottingAvailable\":false,\"isSubscriptionToAllTagsAvailable\":false}}") + Convey("Empty config, fill it", t, func() { + config := webConfig{} + + settings := config.getSettings(true, remotesDefault) + So(settings, ShouldResemble, &api.WebConfig{ + RemoteAllowed: true, + Contacts: []api.WebContact{}, + MetricSourceClusters: metricSourceClustersDefault, + }) }) Convey("Default config, fill it", t, func() { config := getDefault() - result, err := config.Web.getSettings(true) - So(err, ShouldBeEmpty) - So(string(result), ShouldResemble, "{\"remoteAllowed\":true,\"contacts\":[],\"featureFlags\":{\"isPlottingDefaultOn\":true,\"isPlottingAvailable\":true,\"isSubscriptionToAllTagsAvailable\":true}}") + settings := config.Web.getSettings(true, remotesDefault) + So(settings, ShouldResemble, &api.WebConfig{ + RemoteAllowed: true, + Contacts: []api.WebContact{}, + FeatureFlags: api.FeatureFlags{ + IsPlottingDefaultOn: true, + IsPlottingAvailable: true, + IsSubscriptionToAllTagsAvailable: true, + }, + MetricSourceClusters: metricSourceClustersDefault, + }) }) Convey("Not empty config, fill it", t, func() { - wC := webConfig{ + config := webConfig{ SupportEmail: "lalal@mail.la", RemoteAllowed: false, - Contacts: []webContact{ + ContactsTemplate: []webContact{ { ContactType: "slack", ContactLabel: "label", + LogoURI: "/test/test.svg", ValidationRegex: "t(\\d+)", Placeholder: "", Help: "help", @@ -141,13 +171,81 @@ func Test_webConfig_getSettings(t *testing.T) { }, FeatureFlags: featureFlags{ IsPlottingDefaultOn: true, - IsPlottingAvailable: false, + IsPlottingAvailable: true, IsSubscriptionToAllTagsAvailable: true, + IsReadonlyEnabled: false, + }, + Sentry: sentryConfig{ + DSN: "test dsn", + Platform: "dev", }, } - result, err := wC.getSettings(true) - So(err, ShouldBeEmpty) - So(string(result), ShouldResemble, "{\"supportEmail\":\"lalal@mail.la\",\"remoteAllowed\":true,\"contacts\":[{\"type\":\"slack\",\"label\":\"label\",\"validation\":\"t(\\\\d+)\",\"help\":\"help\"}],\"featureFlags\":{\"isPlottingDefaultOn\":true,\"isPlottingAvailable\":false,\"isSubscriptionToAllTagsAvailable\":true}}") + settings := config.getSettings(true, remotesDefault) + So(settings, ShouldResemble, &api.WebConfig{ + SupportEmail: "lalal@mail.la", + RemoteAllowed: true, + Contacts: []api.WebContact{ + { + ContactType: "slack", + ContactLabel: "label", + LogoURI: "/test/test.svg", + ValidationRegex: "t(\\d+)", + Help: "help", + }, + }, + FeatureFlags: api.FeatureFlags{ + IsPlottingDefaultOn: true, + IsPlottingAvailable: true, + IsSubscriptionToAllTagsAvailable: true, + IsReadonlyEnabled: false, + }, + Sentry: api.Sentry{ + DSN: "test dsn", + Platform: "dev", + }, + MetricSourceClusters: metricSourceClustersDefault, + }) + }) + + Convey("Empty config, non default cluster list", t, func() { + config := webConfig{} + remotes := cmd.RemotesConfig{ + Graphite: []cmd.GraphiteRemoteConfig{{ + RemoteCommonConfig: cmd.RemoteCommonConfig{ + ClusterId: "default", + ClusterName: "Graphite Remote 123", + }, + }}, + Prometheus: []cmd.PrometheusRemoteConfig{{ + RemoteCommonConfig: cmd.RemoteCommonConfig{ + ClusterId: "default", + ClusterName: "Prometheus Remote 888", + }, + }}, + } + + settings := config.getSettings(true, remotes) + So(settings, ShouldResemble, &api.WebConfig{ + RemoteAllowed: true, + Contacts: []api.WebContact{}, + MetricSourceClusters: []api.MetricSourceCluster{ + { + TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, + ClusterName: "Graphite Local", + }, + { + TriggerSource: moira.GraphiteRemote, + ClusterId: moira.DefaultCluster, + ClusterName: "Graphite Remote 123", + }, + { + TriggerSource: moira.PrometheusRemote, + ClusterId: moira.DefaultCluster, + ClusterName: "Prometheus Remote 888", + }, + }, + }) }) } diff --git a/cmd/api/main.go b/cmd/api/main.go index bbf76fffd..9f87d2fd9 100644 --- a/cmd/api/main.go +++ b/cmd/api/main.go @@ -15,12 +15,9 @@ import ( "github.com/moira-alert/moira/api/handler" "github.com/moira-alert/moira/cmd" "github.com/moira-alert/moira/database/redis" + "github.com/moira-alert/moira/database/stats" "github.com/moira-alert/moira/index" logging "github.com/moira-alert/moira/logging/zerolog_adapter" - metricSource "github.com/moira-alert/moira/metric_source" - "github.com/moira-alert/moira/metric_source/local" - "github.com/moira-alert/moira/metric_source/prometheus" - "github.com/moira-alert/moira/metric_source/remote" _ "go.uber.org/automaxprocs" ) @@ -32,7 +29,7 @@ var ( printDefaultConfigFlag = flag.Bool("default-config", false, "Print default config and exit") ) -// Moira api bin version +// Moira api bin version. var ( MoiraVersion = "unknown" GitCommit = "unknown" @@ -61,10 +58,13 @@ func main() { os.Exit(1) } - apiConfig := applicationConfig.API.getSettings(applicationConfig.Redis.MetricsTTL, applicationConfig.Remote.MetricsTTL) + apiConfig := applicationConfig.API.getSettings( + applicationConfig.ClustersMetricTTL(), + applicationConfig.Web.getFeatureFlags(), + &applicationConfig.Web, + ) logger, err := logging.ConfigureLog(applicationConfig.Logger.LogFile, applicationConfig.Logger.LogLevel, serviceName, applicationConfig.Logger.LogPrettyFormat) - if err != nil { fmt.Fprintf(os.Stderr, "Can not configure log: %s\n", err.Error()) os.Exit(1) @@ -83,7 +83,7 @@ func main() { databaseSettings := applicationConfig.Redis.GetSettings() notificationHistorySettings := applicationConfig.NotificationHistory.GetSettings() - database := redis.NewDatabase(logger, databaseSettings, notificationHistorySettings, redis.API) + database := redis.NewDatabase(logger, databaseSettings, notificationHistorySettings, redis.NotificationConfig{}, redis.API) // Start Index right before HTTP listener. Fail if index cannot start searchIndex := index.NewSearchIndex(logger, database, telemetry.Metrics) @@ -99,10 +99,6 @@ func main() { } defer searchIndex.Stop() //nolint - stats := newTriggerStats(logger, database, telemetry.Metrics) - stats.Start() - defer stats.Stop() //nolint - if !searchIndex.IsReady() { logger.Fatal().Msg("Search index is not ready, exit") } @@ -119,32 +115,32 @@ func main() { String("listen_address", apiConfig.Listen). Msg("Start listening") - remoteConfig := applicationConfig.Remote.GetRemoteSourceSettings() - prometheusConfig := applicationConfig.Prometheus.GetPrometheusSourceSettings() - - localSource := local.Create(database) - remoteSource := remote.Create(remoteConfig) - prometheusSource, err := prometheus.Create(prometheusConfig, logger) + metricSourceProvider, err := cmd.InitMetricSources(applicationConfig.Remotes, database, logger) if err != nil { logger.Fatal(). Error(err). - Msg("Failed to initialize prometheus metric source") + Msg("Failed to initialize metric sources") } - metricSourceProvider := metricSource.CreateMetricSourceProvider( - localSource, - remoteSource, - prometheusSource, + // Start stats manager + statsManager := stats.NewStatsManager( + stats.NewTriggerStats(telemetry.Metrics, database, logger, metricSourceProvider.GetClusterList()), + stats.NewContactStats(telemetry.Metrics, database, logger), + ) + statsManager.Start() + defer statsManager.Stop() //nolint + + webConfig := applicationConfig.Web.getSettings(len(metricSourceProvider.GetAllSources()) > 0, applicationConfig.Remotes) + + httpHandler := handler.NewHandler( + database, + logger, + searchIndex, + apiConfig, + metricSourceProvider, + webConfig, ) - webConfigContent, err := applicationConfig.Web.getSettings(remoteConfig.Enabled || prometheusConfig.Enabled) - if err != nil { - logger.Fatal(). - Error(err). - Msg("Failed to get web applicationConfig content ") - } - - httpHandler := handler.NewHandler(database, logger, searchIndex, apiConfig, metricSourceProvider, webConfigContent) server := &http.Server{ Handler: httpHandler, } @@ -166,7 +162,7 @@ func main() { Msg("Moira API shutting down.") } -// Stop Moira API HTTP server +// Stop Moira API HTTP server. func Stop(logger moira.Logger, server *http.Server) { ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) //nolint defer cancel() diff --git a/cmd/api/trigger_stats_test.go b/cmd/api/trigger_stats_test.go deleted file mode 100644 index 2186bd006..000000000 --- a/cmd/api/trigger_stats_test.go +++ /dev/null @@ -1,49 +0,0 @@ -package main - -import ( - "testing" - - "github.com/golang/mock/gomock" - "github.com/moira-alert/moira" - "github.com/moira-alert/moira/logging/zerolog_adapter" - mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" - mock_metrics "github.com/moira-alert/moira/mock/moira-alert/metrics" - . "github.com/smartystreets/goconvey/convey" -) - -func TestTriggerStatsCheckTriggerCount(t *testing.T) { - Convey("Given db returns correct results", t, func() { - mockCtrl := gomock.NewController(t) - defer mockCtrl.Finish() - - registry := mock_metrics.NewMockRegistry(mockCtrl) - - graphiteLocalCount := int64(12) - graphiteRemoteCount := int64(24) - promethteusRemoteCount := int64(42) - - graphiteLocalMeter := mock_metrics.NewMockMeter(mockCtrl) - graphiteRemoteMeter := mock_metrics.NewMockMeter(mockCtrl) - promethteusRemoteMeter := mock_metrics.NewMockMeter(mockCtrl) - - registry.EXPECT().NewMeter("triggers", string(moira.GraphiteLocal), "count").Return(graphiteLocalMeter) - registry.EXPECT().NewMeter("triggers", string(moira.GraphiteRemote), "count").Return(graphiteRemoteMeter) - registry.EXPECT().NewMeter("triggers", string(moira.PrometheusRemote), "count").Return(promethteusRemoteMeter) - - dataBase := mock_moira_alert.NewMockDatabase(mockCtrl) - dataBase.EXPECT().GetTriggerCount().Return(map[moira.TriggerSource]int64{ - moira.GraphiteLocal: graphiteLocalCount, - moira.GraphiteRemote: graphiteRemoteCount, - moira.PrometheusRemote: promethteusRemoteCount, - }, nil) - - graphiteLocalMeter.EXPECT().Mark(graphiteLocalCount) - graphiteRemoteMeter.EXPECT().Mark(graphiteRemoteCount) - promethteusRemoteMeter.EXPECT().Mark(promethteusRemoteCount) - - logger, _ := zerolog_adapter.GetLogger("Test") - triggerStats := newTriggerStats(logger, dataBase, registry) - - triggerStats.checkTriggerCount() - }) -} diff --git a/cmd/checker/config.go b/cmd/checker/config.go index 149de43a3..5d0cf97ba 100644 --- a/cmd/checker/config.go +++ b/cmd/checker/config.go @@ -1,6 +1,8 @@ package main import ( + "runtime" + "github.com/moira-alert/moira" "github.com/moira-alert/moira/checker" "github.com/moira-alert/moira/cmd" @@ -8,12 +10,12 @@ import ( ) type config struct { - Redis cmd.RedisConfig `yaml:"redis"` - Logger cmd.LoggerConfig `yaml:"log"` - Checker checkerConfig `yaml:"checker"` - Telemetry cmd.TelemetryConfig `yaml:"telemetry"` - Remote cmd.RemoteConfig `yaml:"remote"` - Prometheus cmd.PrometheusConfig `yaml:"prometheus"` + Redis cmd.RedisConfig `yaml:"redis"` + Logger cmd.LoggerConfig `yaml:"log"` + Checker checkerConfig `yaml:"checker"` + Telemetry cmd.TelemetryConfig `yaml:"telemetry"` + Local localCheckConfig `yaml:"local"` + Remotes cmd.RemotesConfig `yaml:",inline"` } type triggerLogConfig struct { @@ -25,47 +27,101 @@ type triggersLogConfig struct { TriggersToLevel []triggerLogConfig `yaml:"triggers"` } +type localCheckConfig struct { + CheckInterval string `yaml:"check_interval"` + MaxParallelChecks int `yaml:"max_parallel_checks"` +} + type checkerConfig struct { - // Period for every trigger to perform forced check on - NoDataCheckInterval string `yaml:"nodata_check_interval"` + // Delay between trigger checks, scheduled due to metric events + MetricEventTriggerCheckInterval string `yaml:"metric_event_trigger_check_interval"` // Period for every trigger to cancel forced check (earlier than 'NoDataCheckInterval') if no metrics were received StopCheckingInterval string `yaml:"stop_checking_interval"` - // Min period to perform triggers re-check. Note: Reducing of this value leads to increasing of CPU and memory usage values - CheckInterval string `yaml:"check_interval"` // Max period to perform lazy triggers re-check. Note: lazy triggers are triggers which has no subscription for it. Moira will check its state less frequently. // Delay for check lazy trigger is random between LazyTriggersCheckInterval/2 and LazyTriggersCheckInterval. LazyTriggersCheckInterval string `yaml:"lazy_triggers_check_interval"` - // Max concurrent checkers to run. Equals to the number of processor cores found on Moira host by default or when variable is defined as 0. - MaxParallelChecks int `yaml:"max_parallel_checks"` - // Max concurrent remote checkers to run. Equals to the number of processor cores found on Moira host by default or when variable is defined as 0. - MaxParallelRemoteChecks int `yaml:"max_parallel_remote_checks"` // Specify log level by entities SetLogLevel triggersLogConfig `yaml:"set_log_level"` // Metric event pop operation batch size MetricEventPopBatchSize int `yaml:"metric_event_pop_batch_size"` // Metric event pop operation delay MetricEventPopDelay string `yaml:"metric_event_pop_delay"` + // Duration of check that is considered critical and must be logged + CriticalTimeOfCheck string `yaml:"critical_time_of_check"` } -func (config *checkerConfig) getSettings(logger moira.Logger) *checker.Config { +func handleParallelChecks(parallelChecks *int) bool { + if parallelChecks != nil && *parallelChecks == 0 { + *parallelChecks = runtime.NumCPU() + return true + } + + return false +} + +func (config *config) getSettings(logger moira.Logger) *checker.Config { logTriggersToLevel := make(map[string]string) - for _, v := range config.SetLogLevel.TriggersToLevel { + for _, v := range config.Checker.SetLogLevel.TriggersToLevel { logTriggersToLevel[v.ID] = v.Level } logger.Info(). Int("number_of_triggers", len(logTriggersToLevel)). Msg("Found dynamic log rules in config for some triggers") + sourceCheckConfigs := make(map[moira.ClusterKey]checker.SourceCheckConfig) + + localCheckConfig := checker.SourceCheckConfig{ + CheckInterval: to.Duration(config.Local.CheckInterval), + MaxParallelChecks: config.Local.MaxParallelChecks, + } + if handleParallelChecks(&localCheckConfig.MaxParallelChecks) { + logger.Info(). + Int("number_of_cpu", localCheckConfig.MaxParallelChecks). + String("trigger_source", moira.GraphiteLocal.String()). + String("cluster_id", "default"). + Msg("MaxParallelChecks is not configured, set it to the number of CPU") + } + sourceCheckConfigs[moira.DefaultLocalCluster] = localCheckConfig + + for _, remote := range config.Remotes.Graphite { + checkConfig := checker.SourceCheckConfig{ + CheckInterval: to.Duration(remote.CheckInterval), + MaxParallelChecks: remote.MaxParallelChecks, + } + if handleParallelChecks(&checkConfig.MaxParallelChecks) { + logger.Info(). + Int("number_of_cpu", checkConfig.MaxParallelChecks). + String("trigger_source", moira.GraphiteRemote.String()). + String("cluster_id", remote.ClusterId.String()). + Msg("MaxParallelChecks is not configured, set it to the number of CPU") + } + sourceCheckConfigs[moira.MakeClusterKey(moira.GraphiteRemote, remote.ClusterId)] = checkConfig + } + + for _, remote := range config.Remotes.Prometheus { + checkConfig := checker.SourceCheckConfig{ + CheckInterval: to.Duration(remote.CheckInterval), + MaxParallelChecks: remote.MaxParallelChecks, + } + if handleParallelChecks(&checkConfig.MaxParallelChecks) { + logger.Info(). + Int("number_of_cpu", checkConfig.MaxParallelChecks). + String("trigger_source", moira.PrometheusRemote.String()). + String("cluster_id", remote.ClusterId.String()). + Msg("MaxParallelChecks is not configured, set it to the number of CPU") + } + sourceCheckConfigs[moira.MakeClusterKey(moira.PrometheusRemote, remote.ClusterId)] = checkConfig + } + return &checker.Config{ - CheckInterval: to.Duration(config.CheckInterval), - LazyTriggersCheckInterval: to.Duration(config.LazyTriggersCheckInterval), - NoDataCheckInterval: to.Duration(config.NoDataCheckInterval), - StopCheckingIntervalSeconds: int64(to.Duration(config.StopCheckingInterval).Seconds()), - MaxParallelLocalChecks: config.MaxParallelChecks, - MaxParallelRemoteChecks: config.MaxParallelRemoteChecks, - LogTriggersToLevel: logTriggersToLevel, - MetricEventPopBatchSize: int64(config.MetricEventPopBatchSize), - MetricEventPopDelay: to.Duration(config.MetricEventPopDelay), + SourceCheckConfigs: sourceCheckConfigs, + LazyTriggersCheckInterval: to.Duration(config.Checker.LazyTriggersCheckInterval), + StopCheckingIntervalSeconds: int64(to.Duration(config.Checker.StopCheckingInterval).Seconds()), + LogTriggersToLevel: logTriggersToLevel, + MetricEventPopBatchSize: int64(config.Checker.MetricEventPopBatchSize), + MetricEventPopDelay: to.Duration(config.Checker.MetricEventPopDelay), + CriticalTimeOfCheck: to.Duration(config.Checker.CriticalTimeOfCheck), + MetricEventTriggerCheckInterval: to.Duration(config.Checker.MetricEventTriggerCheckInterval), } } @@ -82,12 +138,10 @@ func getDefault() config { LogPrettyFormat: false, }, Checker: checkerConfig{ - NoDataCheckInterval: "60s", - CheckInterval: "5s", - LazyTriggersCheckInterval: "10m", - StopCheckingInterval: "30s", - MaxParallelChecks: 0, - MaxParallelRemoteChecks: 0, + LazyTriggersCheckInterval: "10m", + StopCheckingInterval: "30s", + CriticalTimeOfCheck: "1h", + MetricEventTriggerCheckInterval: "30s", }, Telemetry: cmd.TelemetryConfig{ Listen: ":8092", @@ -100,17 +154,9 @@ func getDefault() config { }, Pprof: cmd.ProfilerConfig{Enabled: false}, }, - Remote: cmd.RemoteConfig{ - CheckInterval: "60s", - Timeout: "60s", - MetricsTTL: "7d", - }, - Prometheus: cmd.PrometheusConfig{ + Local: localCheckConfig{ CheckInterval: "60s", - Timeout: "60s", - MetricsTTL: "7d", - Retries: 1, - RetryTimeout: "10s", }, + Remotes: cmd.RemotesConfig{}, } } diff --git a/cmd/checker/main.go b/cmd/checker/main.go index 5de14c9ea..cf1c56fe3 100644 --- a/cmd/checker/main.go +++ b/cmd/checker/main.go @@ -10,9 +10,6 @@ import ( "github.com/moira-alert/moira/checker/worker" metricSource "github.com/moira-alert/moira/metric_source" - "github.com/moira-alert/moira/metric_source/local" - "github.com/moira-alert/moira/metric_source/prometheus" - "github.com/moira-alert/moira/metric_source/remote" "github.com/patrickmn/go-cache" "github.com/moira-alert/moira" @@ -34,7 +31,7 @@ var ( triggerID = flag.String("t", "", "Check single trigger by id and exit") ) -// Moira checker bin version +// Moira checker bin version. var ( MoiraVersion = "unknown" GitCommit = "unknown" @@ -83,56 +80,40 @@ func main() { logger.Info().Msg("Debug: checker started") databaseSettings := config.Redis.GetSettings() - database := redis.NewDatabase(logger, databaseSettings, redis.NotificationHistoryConfig{}, redis.Checker) + database := redis.NewDatabase(logger, databaseSettings, redis.NotificationHistoryConfig{}, redis.NotificationConfig{}, redis.Checker) - remoteConfig := config.Remote.GetRemoteSourceSettings() - prometheusConfig := config.Prometheus.GetPrometheusSourceSettings() - - localSource := local.Create(database) - remoteSource := remote.Create(remoteConfig) - prometheusSource, err := prometheus.Create(prometheusConfig, logger) + metricSourceProvider, err := cmd.InitMetricSources(config.Remotes, database, logger) if err != nil { logger.Fatal(). Error(err). - Msg("Failed to initialize prometheus metric source") + Msg("Failed to initialize metric sources") } - // TODO: Abstractions over sources, so that they all are handled the same way - metricSourceProvider := metricSource.CreateMetricSourceProvider( - localSource, - remoteSource, - prometheusSource, - ) - - remoteConfigured, _ := remoteSource.IsConfigured() - prometheusConfigured, _ := prometheusSource.IsConfigured() - - checkerMetrics := metrics.ConfigureCheckerMetrics(telemetry.Metrics, remoteConfigured, prometheusConfigured) - checkerSettings := config.Checker.getSettings(logger) + checkerMetrics := metrics.ConfigureCheckerMetrics(telemetry.Metrics, clusterKeyList(metricSourceProvider)) + checkerSettings := config.getSettings(logger) if triggerID != nil && *triggerID != "" { checkSingleTrigger(database, checkerMetrics, checkerSettings, metricSourceProvider) } - checkerWorker := &worker.Checker{ + cacheExpiration := checkerSettings.MetricEventTriggerCheckInterval + checkerWorkerManager := &worker.WorkerManager{ Logger: logger, Database: database, Config: checkerSettings, - RemoteConfig: remoteConfig, - PrometheusConfig: prometheusConfig, SourceProvider: metricSourceProvider, Metrics: checkerMetrics, - TriggerCache: cache.New(checkerSettings.CheckInterval, time.Minute*60), //nolint - LazyTriggersCache: cache.New(time.Minute*10, time.Minute*60), //nolint - PatternCache: cache.New(checkerSettings.CheckInterval, time.Minute*60), //nolint + TriggerCache: cache.New(cacheExpiration, time.Minute*60), //nolint + LazyTriggersCache: cache.New(time.Minute*10, time.Minute*60), //nolint + PatternCache: cache.New(cacheExpiration, time.Minute*60), //nolint } - err = checkerWorker.Start() + err = checkerWorkerManager.StartWorkers() if err != nil { logger.Fatal(). Error(err). Msg("Failed to start worker check") } - defer stopChecker(checkerWorker) + defer stopChecker(checkerWorkerManager) logger.Info(). String("moira_version", MoiraVersion). @@ -165,10 +146,18 @@ func checkSingleTrigger(database moira.Database, metrics *metrics.CheckerMetrics os.Exit(0) } -func stopChecker(service *worker.Checker) { +func stopChecker(service *worker.WorkerManager) { if err := service.Stop(); err != nil { logger.Error(). Error(err). Msg("Failed to Stop Moira Checker") } } + +func clusterKeyList(provider *metricSource.SourceProvider) []moira.ClusterKey { + keys := make([]moira.ClusterKey, 0, len(provider.GetAllSources())) + for ck := range provider.GetAllSources() { + keys = append(keys, ck) + } + return keys +} diff --git a/cmd/cli/cluster.go b/cmd/cli/cluster.go index 15f7a4bdb..efabf399a 100644 --- a/cmd/cli/cluster.go +++ b/cmd/cli/cluster.go @@ -7,16 +7,18 @@ import ( "github.com/moira-alert/moira/database/redis" ) -var anyTagsSubscriptionsKeyOld = "moira-any-tags-subscriptions" -var anyTagsSubscriptionsKeyNew = "{moira-tag-subscriptions}:moira-any-tags-subscriptions" -var triggersListKeyOld = "moira-triggers-list" -var triggersListKeyNew = "{moira-triggers-list}:moira-triggers-list" -var remoteTriggersListKeyOld = "moira-remote-triggers-list" -var remoteTriggersListKeyNew = "{moira-triggers-list}:moira-remote-triggers-list" -var tagSubscriptionsKeyPrefixOld = "moira-tag-subscriptions:" -var tagSubscriptionsKeyPrefixNew = "{moira-tag-subscriptions}:" -var tagTriggersKeyKeyPrefixOld = "moira-tag-triggers:" -var tagTriggersKeyKeyPrefixNew = "{moira-tag-triggers}:" +var ( + anyTagsSubscriptionsKeyOld = "moira-any-tags-subscriptions" + anyTagsSubscriptionsKeyNew = "{moira-tag-subscriptions}:moira-any-tags-subscriptions" + triggersListKeyOld = "moira-triggers-list" + triggersListKeyNew = "{moira-triggers-list}:moira-triggers-list" + remoteTriggersListKeyOld = "moira-remote-triggers-list" + remoteTriggersListKeyNew = "{moira-triggers-list}:moira-remote-triggers-list" + tagSubscriptionsKeyPrefixOld = "moira-tag-subscriptions:" + tagSubscriptionsKeyPrefixNew = "{moira-tag-subscriptions}:" + tagTriggersKeyKeyPrefixOld = "moira-tag-triggers:" + tagTriggersKeyKeyPrefixNew = "{moira-tag-triggers}:" +) func renameKey(database moira.Database, oldValue, newValue string) error { switch d := database.(type) { @@ -32,6 +34,8 @@ func renameKey(database moira.Database, oldValue, newValue string) error { if err != nil { return err } + default: + return makeUnknownDBError(database) } return nil @@ -51,6 +55,8 @@ func changeKeysPrefix(database moira.Database, oldPrefix string, newPrefix strin if err != nil { return err } + default: + return makeUnknownDBError(database) } return nil diff --git a/cmd/cli/config.go b/cmd/cli/config.go index 7dd121a29..0870ecaf1 100644 --- a/cmd/cli/config.go +++ b/cmd/cli/config.go @@ -13,10 +13,11 @@ type config struct { } type cleanupConfig struct { - Whitelist []string `yaml:"whitelist"` - Delete bool `yaml:"delete"` - AddAnonymousToWhitelist bool `json:"add_anonymous_to_whitelist"` - CleanupMetricsDuration string `yaml:"cleanup_metrics_duration"` + Whitelist []string `yaml:"whitelist"` + Delete bool `yaml:"delete"` + AddAnonymousToWhitelist bool `json:"add_anonymous_to_whitelist"` + CleanupMetricsDuration string `yaml:"cleanup_metrics_duration"` + CleanupFutureMetricsDuration string `yaml:"cleanup_future_metrics_duration"` } func getDefault() config { @@ -30,8 +31,9 @@ func getDefault() config { DialTimeout: "500ms", }, Cleanup: cleanupConfig{ - Whitelist: []string{}, - CleanupMetricsDuration: "-168h", + Whitelist: []string{}, + CleanupMetricsDuration: "-168h", + CleanupFutureMetricsDuration: "60m", }, } } diff --git a/cmd/cli/errors.go b/cmd/cli/errors.go new file mode 100644 index 000000000..8f89b9858 --- /dev/null +++ b/cmd/cli/errors.go @@ -0,0 +1,22 @@ +package main + +import ( + "fmt" + "reflect" + + "github.com/moira-alert/moira" +) + +type unknownDBError struct { + database reflect.Type +} + +func makeUnknownDBError(database moira.Database) unknownDBError { + return unknownDBError{ + database: reflect.TypeOf(database), + } +} + +func (err unknownDBError) Error() string { + return fmt.Sprintf("Unknown implementation of moira.Database: %s", err.database.Name()) +} diff --git a/cmd/cli/from_2.11_to_2.12.go b/cmd/cli/from_2.11_to_2.12.go new file mode 100644 index 000000000..7f32cabb9 --- /dev/null +++ b/cmd/cli/from_2.11_to_2.12.go @@ -0,0 +1,29 @@ +package main + +import ( + "github.com/moira-alert/moira" +) + +func updateFrom211(logger moira.Logger, database moira.Database) error { + logger.Info().Msg("Update 2.11 -> 2.12 was started") + + if err := updateTelegramUsersRecords(logger, database); err != nil { + return err + } + + logger.Info().Msg("Update 2.11 -> 2.12 was finished") + + return nil +} + +func downgradeTo211(logger moira.Logger, database moira.Database) error { + logger.Info().Msg("Downgrade 2.12 -> 2.11 started") + + if err := downgradeTelegramUsersRecords(logger, database); err != nil { + return err + } + + logger.Info().Msg("Downgrade 2.12 -> 2.11 was finished") + + return nil +} diff --git a/cmd/cli/from_2.9_to_2.10.go b/cmd/cli/from_2.9_to_2.10.go new file mode 100644 index 000000000..3542dfc6a --- /dev/null +++ b/cmd/cli/from_2.9_to_2.10.go @@ -0,0 +1,88 @@ +package main + +import ( + "context" + + "github.com/moira-alert/moira" + "github.com/moira-alert/moira/database/redis" +) + +func updateFrom29(logger moira.Logger, database moira.Database) error { + logger.Info().Msg("Update 2.9 -> 2.10 was started") + + ctx := context.Background() + err := createKeyForLocalTriggers(ctx, logger, database) + if err != nil { + return err + } + + logger.Info().Msg("Update 2.9 -> 2.10 was finished") + return nil +} + +func downgradeTo29(logger moira.Logger, database moira.Database) error { + logger.Info().Msg("Downgrade 2.10 -> 2.9 started") + + ctx := context.Background() + err := revertCreateKeyForLocalTriggers(ctx, logger, database) + if err != nil { + return err + } + + logger.Info().Msg("Downgrade 2.10 -> 2.9 was finished") + return nil +} + +var ( + triggersListKey = "{moira-triggers-list}:moira-triggers-list" + localTriggersListKey = "{moira-triggers-list}:moira-local-triggers-list" + remoteTriggersListKey = "{moira-triggers-list}:moira-remote-triggers-list" + prometheusTriggersListKey = "{moira-triggers-list}:moira-prometheus-triggers-list" +) + +func createKeyForLocalTriggers(ctx context.Context, logger moira.Logger, database moira.Database) error { + logger.Info().Msg("Start createKeyForLocalTriggers") + + switch d := database.(type) { + case *redis.DbConnector: + client := d.Client() + + localTriggerIds, err := client.SDiff(ctx, triggersListKey, remoteTriggersListKey, prometheusTriggersListKey).Result() + if err != nil { + return err + } + + logger.Info().Msg("Finish getting local trigger IDs") + + _, err = client.SAdd(ctx, localTriggersListKey, localTriggerIds).Result() + if err != nil { + return err + } + default: + return makeUnknownDBError(database) + } + + logger.Info().Msg("Successfully finished createKeyForLocalTriggers") + + return nil +} + +func revertCreateKeyForLocalTriggers(ctx context.Context, logger moira.Logger, database moira.Database) error { + logger.Info().Msg("Start revertCreateKeyForLocalTriggers") + + switch d := database.(type) { + case *redis.DbConnector: + client := d.Client() + + err := client.Del(ctx, localTriggersListKey).Err() + if err != nil { + return err + } + default: + return makeUnknownDBError(database) + } + + logger.Info().Msg("Successfully finished revertCreateKeyForLocalTriggers") + + return nil +} diff --git a/cmd/cli/main.go b/cmd/cli/main.go index 5fda18983..54a054c96 100644 --- a/cmd/cli/main.go +++ b/cmd/cli/main.go @@ -14,16 +14,18 @@ import ( logging "github.com/moira-alert/moira/logging/zerolog_adapter" "github.com/moira-alert/moira/support" _ "go.uber.org/automaxprocs" + + "github.com/xiam/to" ) -// Moira version +// Moira version. var ( MoiraVersion = "unknown" GitCommit = "unknown" GoVersion = "unknown" ) -var moiraValidVersions = []string{"2.3", "2.6", "2.7"} +var moiraValidVersions = []string{"2.3", "2.6", "2.7", "2.9", "2.11"} var ( configFileName = flag.String("config", "/etc/moira/cli.yml", "Path to configuration file") @@ -41,19 +43,21 @@ var ( downgradeToVersion = flag.String("to-version", "", "determines Moira version, TO which need to DOWNGRADE database structures") ) -var ( - plotting = flag.Bool("plotting", false, "enable images in all notifications") -) +var plotting = flag.Bool("plotting", false, "enable images in all notifications") + +var removeSubscriptions = flag.String("remove-subscriptions", "", "Remove given subscriptions separated by semicolons.") var ( - cleanupUsers = flag.Bool("cleanup-users", false, "Disable/delete contacts and subscriptions of missing users") - cleanupLastChecks = flag.Bool("cleanup-last-checks", false, "Delete abandoned triggers last checks.") - cleanupTags = flag.Bool("cleanup-tags", false, "Delete abandoned tags.") - cleanupMetrics = flag.Bool("cleanup-metrics", false, "Delete outdated metrics.") - cleanupRetentions = flag.Bool("cleanup-retentions", false, "Delete abandoned retentions.") - userDel = flag.String("user-del", "", "Delete all contacts and subscriptions for a user") - fromUser = flag.String("from-user", "", "Transfer subscriptions and contacts from user.") - toUser = flag.String("to-user", "", "Transfer subscriptions and contacts to user.") + cleanupUsers = flag.Bool("cleanup-users", false, "Disable/delete contacts and subscriptions of missing users") + cleanupLastChecks = flag.Bool("cleanup-last-checks", false, "Delete abandoned triggers last checks.") + cleanupTags = flag.Bool("cleanup-tags", false, "Delete abandoned tags.") + cleanupMetrics = flag.Bool("cleanup-metrics", false, "Delete outdated metrics.") + cleanupPatternMetrics = flag.Bool("cleanup-pattern-metrics", false, "Delete outdated pattern metrics.") + cleanupFutureMetrics = flag.Bool("cleanup-future-metrics", false, "Delete metrics with future timestamps.") + cleanupRetentions = flag.Bool("cleanup-retentions", false, "Delete abandoned retentions.") + userDel = flag.String("user-del", "", "Delete all contacts and subscriptions for a user") + fromUser = flag.String("from-user", "", "Transfer subscriptions and contacts from user.") + toUser = flag.String("to-user", "", "Transfer subscriptions and contacts to user.") ) var ( @@ -69,35 +73,50 @@ var ( var ( removeTriggersStartWith = flag.String("remove-triggers-start-with", "", "Remove triggers which have ID starting with string parameter") removeUnusedTriggersStartWith = flag.String("remove-unused-triggers-start-with", "", "Remove unused triggers which have ID starting with string parameter") + removeUnusedTriggersWithTTL = flag.String("remove-unused-triggers-with-ttl", "", "Remove unused triggers which have no subscription and no modify more that duration") ) func main() { //nolint - confCleanup, logger, dataBase := initApp() + confCleanup, logger, database := initApp() if *update { fromVersion := checkValidVersion(logger, updateFromVersion, true) switch fromVersion { case "2.3": - err := updateFrom23(logger, dataBase) + err := updateFrom23(logger, database) if err != nil { logger.Fatal(). Error(err). Msg("Fail to update from version 2.3") } case "2.6": - err := updateFrom26(logger, dataBase) + err := updateFrom26(logger, database) if err != nil { logger.Fatal(). Error(err). Msg("Fail to update from version 2.6") } case "2.7": - err := updateFrom27(logger, dataBase) + err := updateFrom27(logger, database) if err != nil { logger.Fatal(). Error(err). Msg("Fail to update from version 2.7") } + case "2.9": + err := updateFrom29(logger, database) + if err != nil { + logger.Fatal(). + Error(err). + Msg("Fail to update from version 2.9") + } + case "2.11": + err := updateFrom211(logger, database) + if err != nil { + logger.Fatal(). + Error(err). + Msg("Fail to update from version 2.11") + } } } @@ -105,31 +124,45 @@ func main() { //nolint toVersion := checkValidVersion(logger, downgradeToVersion, false) switch toVersion { case "2.3": - err := downgradeTo23(logger, dataBase) + err := downgradeTo23(logger, database) if err != nil { logger.Fatal(). Error(err). Msg("Fail to update to version 2.3") } case "2.6": - err := downgradeTo26(logger, dataBase) + err := downgradeTo26(logger, database) if err != nil { logger.Fatal(). Error(err). Msg("Fail to update to version 2.6") } case "2.7": - err := downgradeTo27(logger, dataBase) + err := downgradeTo27(logger, database) if err != nil { logger.Fatal(). Error(err). Msg("Fail to update to version 2.7") } + case "2.9": + err := downgradeTo29(logger, database) + if err != nil { + logger.Fatal(). + Error(err). + Msg("Fail to update to version 2.9") + } + case "2.11": + err := downgradeTo211(logger, database) + if err != nil { + logger.Fatal(). + Error(err). + Msg("Fail to update to version 2.11") + } } } if *plotting { - if err := enablePlottingInAllSubscriptions(logger, dataBase); err != nil { + if err := enablePlottingInAllSubscriptions(logger, database); err != nil { logger.Error(). Error(err). Msg("Failed to enable images in all notifications") @@ -137,7 +170,7 @@ func main() { //nolint } if *fromUser != "" || *toUser != "" { - if err := transferUserSubscriptionsAndContacts(dataBase, *fromUser, *toUser); err != nil { + if err := transferUserSubscriptionsAndContacts(database, *fromUser, *toUser); err != nil { logger.Error(). Error(err). Msg("Failed to transfer user subscriptions and contacts") @@ -145,7 +178,7 @@ func main() { //nolint } if *userDel != "" { - if err := deleteUser(dataBase, *userDel); err != nil { + if err := deleteUser(database, *userDel); err != nil { logger.Error(). Error(err). Msg("Failed to delete user") @@ -158,7 +191,7 @@ func main() { //nolint String("prefix", *removeMetricsByPrefix). Msg("Removing metrics by prefix started") - if err := handleRemoveMetricsByPrefix(dataBase, *removeMetricsByPrefix); err != nil { + if err := handleRemoveMetricsByPrefix(database, *removeMetricsByPrefix); err != nil { log.Error(). Error(err). Msg("Failed to remove metrics by prefix") @@ -171,7 +204,7 @@ func main() { //nolint if *removeAllMetrics { log := logger.String(moira.LogFieldNameContext, "cleanup") log.Info().Msg("Removing all metrics started") - if err := handleRemoveAllMetrics(dataBase); err != nil { + if err := handleRemoveAllMetrics(database); err != nil { log.Error(). Error(err). Msg("Failed to remove all metrics") @@ -181,7 +214,7 @@ func main() { //nolint if *removeTriggersStartWith != "" { log := logger.String(moira.LogFieldNameContext, "remove-triggers-start-with") - if err := handleRemoveTriggersStartWith(logger, dataBase, *removeTriggersStartWith); err != nil { + if err := handleRemoveTriggersStartWith(logger, database, *removeTriggersStartWith); err != nil { log.Error(). Error(err). Msg("Failed to remove triggers by prefix") @@ -190,57 +223,104 @@ func main() { //nolint if *removeUnusedTriggersStartWith != "" { log := logger.String(moira.LogFieldNameContext, "remove-unused-triggers-start-with") - if err := handleRemoveUnusedTriggersStartWith(logger, dataBase, *removeUnusedTriggersStartWith); err != nil { + if err := handleRemoveUnusedTriggersStartWith(logger, database, *removeUnusedTriggersStartWith); err != nil { log.Error(). Error(err). Msg("Failed to remove unused triggers by prefix") } } + if *removeUnusedTriggersWithTTL != "" { + log := logger.String(moira.LogFieldNameContext, "remove-unused-triggers-with-ttl") + ttl := int64(to.Duration(*removeUnusedTriggersWithTTL).Seconds()) + if err := handleRemoveUnusedTriggersWithTTL(logger, database, ttl); err != nil { + log.Error(). + Error(err). + Msg("Failed to remove unused triggers with ttl") + } + } + if *cleanupUsers { log := logger.String(moira.LogFieldNameContext, "cleanup-users") log.Info(). Interface("user_whitelist", confCleanup.Whitelist). - Msg("Cleanup started") + Msg("Cleanup users started") - if err := handleCleanup(logger, dataBase, confCleanup); err != nil { + if err := handleCleanup(logger, database, confCleanup); err != nil { log.Error(). Error(err). Msg("Failed to cleanup") } - log.Info().Msg("Cleanup finished") + + log.Info().Msg("Cleanup users finished") } if *cleanupMetrics { log := logger.String(moira.LogFieldNameContext, "cleanup-metrics") log.Info().Msg("Cleanup of outdated metrics started") - err := handleCleanUpOutdatedMetrics(confCleanup, dataBase) - if err != nil { + + if err := handleCleanUpOutdatedMetrics(confCleanup, database); err != nil { log.Error(). Error(err). Msg("Failed to cleanup outdated metrics") } + + log.Info().Msg("Cleanup of outdated metrics finished") + } + + if *cleanupPatternMetrics { + log := logger.String(moira.LogFieldNameContext, "cleanup-pattern-metrics") + + log.Info().Msg("Cleanup of outdated pattern metrics started") + + count, err := handleCleanUpOutdatedPatternMetrics(database) + if err != nil { + log.Error(). + Error(err). + Msg("Failed to cleanup outdated pattern metrics") + } + + log.Info(). + Int64("deleted_pattern_metrics", count). + Msg("Cleaned up outdated pattern metrics") + + log.Info().Msg("Cleanup of outdated pattern metrics finished") + } + + if *cleanupFutureMetrics { + log := logger.String(moira.LogFieldNameContext, "cleanup-future-metrics") + + log.Info().Msg("Cleanup of future metrics started") + + if err := handleCleanUpFutureMetrics(confCleanup, database); err != nil { + log.Error(). + Error(err). + Msg("Failed to cleanup future metrics") + } + + log.Info().Msg("Cleanup of future metrics finished") } if *cleanupLastChecks { log := logger.String(moira.LogFieldNameContext, "cleanup-last-checks") log.Info().Msg("Cleanup abandoned triggers last checks started") - err := handleCleanUpAbandonedTriggerLastCheck(dataBase) + err := handleCleanUpAbandonedTriggerLastCheck(database) if err != nil { log.Error(). Error(err). Msg("Failed to cleanup abandoned triggers last checks") } + log.Info().Msg("Cleanup abandoned triggers last checks finished") } if *cleanupTags { log := logger.String(moira.LogFieldNameContext, "cleanup-tags") log.Info().Msg("Cleanup abandoned tags started") - count, err := handleCleanUpAbandonedTags(dataBase) + count, err := handleCleanUpAbandonedTags(database) if err != nil { log.Error(). Error(err). @@ -255,7 +335,7 @@ func main() { //nolint log := logger.String(moira.LogFieldNameContext, "cleanup-retentions") log.Info().Msg("Cleanup of abandoned retentions started") - err := handleCleanUpAbandonedRetentions(dataBase) + err := handleCleanUpAbandonedRetentions(database) if err != nil { log.Error(). Error(err). @@ -283,22 +363,22 @@ func main() { //nolint } logger.Info().Msg(GetDumpBriefInfo(dump)) - if err := support.HandlePushTrigger(logger, dataBase, &dump.Trigger); err != nil { + if err := support.HandlePushTrigger(logger, database, &dump.Trigger); err != nil { logger.Fatal(). Error(err). Msg("Failed to handle push trigger") } - if err := support.HandlePushTriggerMetrics(logger, dataBase, dump.Trigger.ID, dump.Metrics); err != nil { + if err := support.HandlePushTriggerMetrics(logger, database, dump.Trigger.ID, dump.Metrics); err != nil { logger.Fatal(). Error(err). Msg("Failed to handle push trigger metrics") } if err := support.HandlePushTriggerLastCheck( logger, - dataBase, + database, dump.Trigger.ID, &dump.LastCheck, - dump.Trigger.TriggerSource, + dump.Trigger.ClusterKey(), ); err != nil { logger.Fatal(). Error(err). @@ -306,6 +386,31 @@ func main() { //nolint } logger.Info().Msg("Dump was pushed") } + + if *removeSubscriptions != "" { + logger.Info().Msg("Start deletion of subscriptions") + subscriptionIDs := strings.Split(*removeSubscriptions, ";") + deleted := 0 + + logger.Debug(). + Interface("subscription_ids", subscriptionIDs). + Msg("Remove subscription IDs") + + for _, subscriptionID := range subscriptionIDs { + if err := database.RemoveSubscription(strings.TrimSpace(subscriptionID)); err != nil { + logger.Error(). + Error(err). + String("subscription_id", subscriptionID). + Msg("Failed to remove subscription") + continue + } + deleted++ + } + + logger.Info(). + Int("deleted", deleted). + Msg("Deletion of subscriptions finished") + } } func GetDumpBriefInfo(dump *dto.TriggerDump) string { @@ -320,7 +425,7 @@ func GetDumpBriefInfo(dump *dto.TriggerDump) string { func initApp() (cleanupConfig, moira.Logger, moira.Database) { flag.Parse() if *printVersion { - fmt.Println("Moira - alerting system based on graphite data") + fmt.Println("Moira - alerting system based on graphite or prometheus data") fmt.Println("Version:", MoiraVersion) fmt.Println("Git Commit:", GitCommit) fmt.Println("Go Version:", GoVersion) @@ -345,7 +450,7 @@ func initApp() (cleanupConfig, moira.Logger, moira.Database) { } databaseSettings := config.Redis.GetSettings() - dataBase := redis.NewDatabase(logger, databaseSettings, redis.NotificationHistoryConfig{}, redis.Cli) + dataBase := redis.NewDatabase(logger, databaseSettings, redis.NotificationHistoryConfig{}, redis.NotificationConfig{}, redis.Cli) return config.Cleanup, logger, dataBase } @@ -359,6 +464,7 @@ func checkValidVersion(logger moira.Logger, updateFromVersion *string, isUpdate logger.Fatal(). String("valid_version", strings.Join(moiraValidVersions, ", ")). String("flag", validFlag). + String("your_version", *updateFromVersion). Msg("You must set valid flag") } return moira.UseString(updateFromVersion) @@ -377,7 +483,7 @@ func openFile(filePath string, mode int) (*os.File, error) { if filePath == "" { return nil, fmt.Errorf("file is not specified") } - file, err := os.OpenFile(filePath, mode, 0666) + file, err := os.OpenFile(filePath, mode, 0o666) //nolint:gofumpt,gomnd if err != nil { return nil, fmt.Errorf("cannot open file: %w", err) } diff --git a/cmd/cli/metrics.go b/cmd/cli/metrics.go index 822b0468b..b4b0d61ff 100644 --- a/cmd/cli/metrics.go +++ b/cmd/cli/metrics.go @@ -12,11 +12,23 @@ func handleCleanUpOutdatedMetrics(config cleanupConfig, database moira.Database) return err } - err = database.CleanUpOutdatedMetrics(duration) + if err = database.CleanUpOutdatedMetrics(duration); err != nil { + return err + } + + return nil +} + +func handleCleanUpFutureMetrics(config cleanupConfig, database moira.Database) error { + duration, err := time.ParseDuration(config.CleanupFutureMetricsDuration) if err != nil { return err } + if err = database.CleanUpFutureMetrics(duration); err != nil { + return err + } + return nil } @@ -39,3 +51,7 @@ func handleRemoveMetricsByPrefix(database moira.Database, prefix string) error { func handleRemoveAllMetrics(database moira.Database) error { return database.RemoveAllMetrics() } + +func handleCleanUpOutdatedPatternMetrics(database moira.Database) (int64, error) { + return database.CleanupOutdatedPatternMetrics() +} diff --git a/cmd/cli/metrics_test.go b/cmd/cli/metrics_test.go index 012547b6b..24f106593 100644 --- a/cmd/cli/metrics_test.go +++ b/cmd/cli/metrics_test.go @@ -4,10 +4,11 @@ import ( "testing" "time" + "github.com/moira-alert/moira/database/redis" mocks "github.com/moira-alert/moira/mock/moira-alert" - "github.com/golang/mock/gomock" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func TestCleanUpOutdatedMetrics(t *testing.T) { @@ -16,9 +17,40 @@ func TestCleanUpOutdatedMetrics(t *testing.T) { defer mockCtrl.Finish() db := mocks.NewMockDatabase(mockCtrl) - Convey("Test cleanup", t, func() { - db.EXPECT().CleanUpOutdatedMetrics(-168 * time.Hour).Return(nil) - err := handleCleanUpOutdatedMetrics(conf.Cleanup, db) - So(err, ShouldBeNil) + Convey("Test cleanup outdated metrics", t, func() { + Convey("With valid duration", func() { + db.EXPECT().CleanUpOutdatedMetrics(-168 * time.Hour).Return(nil) + err := handleCleanUpOutdatedMetrics(conf.Cleanup, db) + So(err, ShouldBeNil) + }) + + Convey("With invalid duration", func() { + conf.Cleanup.CleanupMetricsDuration = "168h" + db.EXPECT().CleanUpOutdatedMetrics(168 * time.Hour).Return(redis.ErrCleanUpDurationGreaterThanZero) + err := handleCleanUpOutdatedMetrics(conf.Cleanup, db) + So(err, ShouldEqual, redis.ErrCleanUpDurationGreaterThanZero) + }) + }) +} + +func TestCleanUpFutureMetrics(t *testing.T) { + conf := getDefault() + mockCtrl := gomock.NewController(t) + defer mockCtrl.Finish() + db := mocks.NewMockDatabase(mockCtrl) + + Convey("Test cleanup future metrics", t, func() { + Convey("With valid duration", func() { + db.EXPECT().CleanUpFutureMetrics(60 * time.Minute).Return(nil) + err := handleCleanUpFutureMetrics(conf.Cleanup, db) + So(err, ShouldBeNil) + }) + + Convey("With invalid duration", func() { + conf.Cleanup.CleanupFutureMetricsDuration = "-60m" + db.EXPECT().CleanUpFutureMetrics(-60 * time.Minute).Return(redis.ErrCleanUpDurationLessThanZero) + err := handleCleanUpFutureMetrics(conf.Cleanup, db) + So(err, ShouldEqual, redis.ErrCleanUpDurationLessThanZero) + }) }) } diff --git a/cmd/cli/telegram_utils.go b/cmd/cli/telegram_utils.go new file mode 100644 index 000000000..cd1fa5fad --- /dev/null +++ b/cmd/cli/telegram_utils.go @@ -0,0 +1,172 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + "strconv" + "strings" + + goredis "github.com/go-redis/redis/v8" + "github.com/moira-alert/moira" + "github.com/moira-alert/moira/database/redis" + "github.com/moira-alert/moira/senders/telegram" +) + +const ( + telegramUsersKey = "moira-telegram-users:" + telegramLockPrefix = "moira-telegram-users:moira-bot-host:" +) + +// callFunc calls the fn dependent of Redis client type (cluster or standalone). +func callFunc(connector *redis.DbConnector, fn func(connector *redis.DbConnector, client goredis.UniversalClient) error) error { + client := connector.Client() + ctx := connector.Context() + + switch c := client.(type) { + case *goredis.ClusterClient: + return c.ForEachMaster(ctx, func(ctx context.Context, shard *goredis.Client) error { + return fn(connector, shard) + }) + default: + return fn(connector, client) + } +} + +func updateTelegramUsersRecords(logger moira.Logger, database moira.Database) error { + logger.Info().Msg("Start updateTelegramUsersRecords") + + switch d := database.(type) { + case *redis.DbConnector: + if err := callFunc(d, func(connector *redis.DbConnector, client goredis.UniversalClient) error { + return updateTelegramUsersRecordsOnRedisNode(connector, client, logger) + }); err != nil { + return err + } + + default: + return makeUnknownDBError(database) + } + + logger.Info().Msg("Successfully finished updateTelegramUsersRecords") + + return nil +} + +func updateTelegramUsersRecordsOnRedisNode(connector *redis.DbConnector, client goredis.UniversalClient, logger moira.Logger) error { + ctx := connector.Context() + iter := client.Scan(ctx, 0, telegramUsersKey+"*", 0).Iterator() + + for iter.Next(ctx) { + key := iter.Val() + if strings.HasPrefix(key, telegramLockPrefix) { + continue + } + + oldValue, err := client.Get(ctx, key).Result() + if err != nil { + return fmt.Errorf("failed to get value by key: %s, err: %w", key, err) + } + + chatID, err := strconv.ParseInt(oldValue, 10, 64) + if err != nil { + logger.Warning(). + String("old_value", oldValue). + Error(err). + Msg("failed to parse chatID as int") + + continue + } + + chat := &telegram.Chat{ + ID: chatID, + } + + chatRaw, err := json.Marshal(chat) + if err != nil { + return fmt.Errorf("failed to marshal chat: %w", err) + } + + if err := client.Set(ctx, key, string(chatRaw), goredis.KeepTTL).Err(); err != nil { + return fmt.Errorf("failed to set %s with value: %s, err: %w", key, string(chatRaw), err) + } + } + + if err := iter.Err(); err != nil { + return fmt.Errorf("iterator error: %w", err) + } + + return nil +} + +func downgradeTelegramUsersRecords(logger moira.Logger, database moira.Database) error { + logger.Info().Msg("Start downgradeTelegramUsersRecords") + + switch d := database.(type) { + case *redis.DbConnector: + if err := callFunc(d, func(connector *redis.DbConnector, client goredis.UniversalClient) error { + return downgradeTelegramUsersRecordsOnRedisNode(connector, client, logger) + }); err != nil { + return err + } + + default: + return makeUnknownDBError(database) + } + + logger.Info().Msg("Successfully finished downgradeTelegramUsersRecords") + + return nil +} + +func downgradeTelegramUsersRecordsOnRedisNode(connector *redis.DbConnector, client goredis.UniversalClient, logger moira.Logger) error { + ctx := connector.Context() + iter := client.Scan(ctx, 0, telegramUsersKey+"*", 0).Iterator() + + for iter.Next(ctx) { + key := iter.Val() + if strings.HasPrefix(key, telegramLockPrefix) { + continue + } + + oldValue, err := client.Get(ctx, key).Result() + if err != nil { + return fmt.Errorf("failed to get value by key: %s, err: %w", key, err) + } + + chat := &telegram.Chat{} + if err = json.Unmarshal([]byte(oldValue), chat); err != nil { + logger.Warning(). + String("old_value", oldValue). + Error(err). + Msg("failed to unmarshal old value chat json") + + continue + } + + // Do not downgrade records with filled ThreadID, because without this field they will stop working. + if chat.ThreadID != 0 { + continue + } + + if chat.ID == 0 { + logger.Warning(). + String("old_value", oldValue). + Msg("chat ID is null") + + continue + } + + newValue := strconv.FormatInt(chat.ID, 10) + + if err := client.Set(ctx, key, newValue, goredis.KeepTTL).Err(); err != nil { + return fmt.Errorf("failed to set %s with value: %s, err: %w", key, newValue, err) + } + } + + if err := iter.Err(); err != nil { + return fmt.Errorf("iterator error: %w", err) + } + + return nil +} diff --git a/cmd/cli/telegram_utils_test.go b/cmd/cli/telegram_utils_test.go new file mode 100644 index 000000000..4f037cbae --- /dev/null +++ b/cmd/cli/telegram_utils_test.go @@ -0,0 +1,140 @@ +package main + +import ( + "testing" + + "github.com/moira-alert/moira" + "github.com/moira-alert/moira/database/redis" + logging "github.com/moira-alert/moira/logging/zerolog_adapter" + + goredis "github.com/go-redis/redis/v8" + . "github.com/smartystreets/goconvey/convey" +) + +func TestUpdateTelegramUsersRecords(t *testing.T) { + if testing.Short() { + t.Skip("skipping test in short mode.") + } + + conf := getDefault() + logger, err := logging.ConfigureLog(conf.LogFile, "error", "cli", conf.LogPrettyFormat) + if err != nil { + t.Fatal(err) + } + + database := redis.NewTestDatabase(logger) + database.Flush() + defer database.Flush() + + client := database.Client() + ctx := database.Context() + + Convey("Test data migration forwards", t, func() { + Convey("Given old database", func() { + createOldTelegramUserRecords(database) + + Convey("When migration was applied", func() { + err := updateTelegramUsersRecords(logger, database) + So(err, ShouldBeNil) + + Convey("Database should be new", func() { + result, err := client.Get(ctx, "moira-telegram-users:some telegram group").Result() + So(err, ShouldBeNil) + So(result, ShouldEqual, `{"chat_id":-1001494975744}`) + + result, err = client.Get(ctx, "moira-telegram-users:some telegram group failed migration").Result() + So(err, ShouldBeNil) + So(result, ShouldEqual, `{"chat_id":-1001494975755}`) + + result, err = client.Get(ctx, "moira-telegram-users:@durov").Result() + So(err, ShouldBeNil) + So(result, ShouldEqual, `{"chat_id":1}`) + + result, err = client.Get(ctx, "moira-telegram-users:moira-bot-host:123").Result() + So(err, ShouldBeNil) + So(result, ShouldEqual, "D4VdnzZDTS/xXF87THARWw==") + }) + }) + }) + }) +} + +func TestDowngradeTelegramUsersRecords(t *testing.T) { + if testing.Short() { + t.Skip("skipping test in short mode.") + } + + conf := getDefault() + logger, err := logging.ConfigureLog(conf.LogFile, "error", "cli", conf.LogPrettyFormat) + if err != nil { + t.Fatal(err) + } + + database := redis.NewTestDatabase(logger) + database.Flush() + defer database.Flush() + client := database.Client() + ctx := database.Context() + + Convey("Test data migration backwards", t, func() { + Convey("Given new database", func() { + createNewTelegramUserRecords(database) + + Convey("When migration was applied", func() { + err := downgradeTelegramUsersRecords(logger, database) + So(err, ShouldBeNil) + + Convey("Database should be old", func() { + result, err := client.Get(ctx, "moira-telegram-users:some telegram group").Result() + So(err, ShouldBeNil) + So(result, ShouldEqual, "-1001494975744") + + result, err = client.Get(ctx, "moira-telegram-users:some telegram group with topic").Result() + So(err, ShouldBeNil) + So(result, ShouldEqual, `{"chat_id":-1001494975766,"thread_id":1}`) + + result, err = client.Get(ctx, "moira-telegram-users:@durov").Result() + So(err, ShouldBeNil) + So(result, ShouldEqual, "1") + + result, err = client.Get(ctx, "moira-telegram-users:@failed_migration").Result() + So(err, ShouldBeNil) + So(result, ShouldEqual, "2") + + result, err = client.Get(ctx, "moira-telegram-users:moira-bot-host:123").Result() + So(err, ShouldBeNil) + So(result, ShouldEqual, "D4VdnzZDTS/xXF87THARWw==") + }) + }) + }) + }) +} + +func createOldTelegramUserRecords(database moira.Database) { + switch d := database.(type) { + case *redis.DbConnector: + d.Flush() + client := d.Client() + ctx := d.Context() + + client.Set(ctx, "moira-telegram-users:some telegram group", "-1001494975744", goredis.KeepTTL) + client.Set(ctx, "moira-telegram-users:some telegram group failed migration", `{"chat_id":-1001494975755}`, goredis.KeepTTL) + client.Set(ctx, "moira-telegram-users:@durov", "1", goredis.KeepTTL) + client.Set(ctx, "moira-telegram-users:moira-bot-host:123", "D4VdnzZDTS/xXF87THARWw==", goredis.KeepTTL) + } +} + +func createNewTelegramUserRecords(database moira.Database) { + switch d := database.(type) { + case *redis.DbConnector: + d.Flush() + client := d.Client() + ctx := d.Context() + + client.Set(ctx, "moira-telegram-users:some telegram group", `{"chat_id":-1001494975744}`, goredis.KeepTTL) + client.Set(ctx, "moira-telegram-users:some telegram group with topic", `{"chat_id":-1001494975766,"thread_id":1}`, goredis.KeepTTL) + client.Set(ctx, "moira-telegram-users:@durov", `{"chat_id":1}`, goredis.KeepTTL) + client.Set(ctx, "moira-telegram-users:@failed_migration", "2", goredis.KeepTTL) + client.Set(ctx, "moira-telegram-users:moira-bot-host:123", "D4VdnzZDTS/xXF87THARWw==", goredis.KeepTTL) + } +} diff --git a/cmd/cli/triggers.go b/cmd/cli/triggers.go index c2d7c3597..60efc730b 100644 --- a/cmd/cli/triggers.go +++ b/cmd/cli/triggers.go @@ -7,7 +7,7 @@ import ( "github.com/moira-alert/moira" ) -// Added delay because command is potentially dangerous and can delete unwanted triggers +// Added delay because command is potentially dangerous and can delete unwanted triggers. var delay = 10 * time.Second func handleRemoveTriggersStartWith(logger moira.Logger, database moira.Database, prefix string) error { @@ -16,7 +16,7 @@ func handleRemoveTriggersStartWith(logger moira.Logger, database moira.Database, return fmt.Errorf("can't get trigger IDs start with prefix %s: %w", prefix, err) } - return deleteTriggers(logger, triggers, prefix, database) + return deleteTriggers(logger, triggers, database) } func handleRemoveUnusedTriggersStartWith(logger moira.Logger, database moira.Database, prefix string) error { @@ -41,21 +41,55 @@ func handleRemoveUnusedTriggersStartWith(logger moira.Logger, database moira.Dat } } - return deleteTriggers(logger, triggersToDelete, prefix, database) + return deleteTriggers(logger, triggersToDelete, database) } -func deleteTriggers(logger moira.Logger, triggers []string, prefix string, database moira.Database) error { +func handleRemoveUnusedTriggersWithTTL(logger moira.Logger, database moira.Database, ttl int64) error { + unusedTriggers, err := database.GetUnusedTriggerIDs() + if err != nil { + return fmt.Errorf("can't get unused trigger IDs; err: %w", err) + } + + triggersToDelete := make([]string, 0) + nowInSec := time.Now().Unix() + for _, id := range unusedTriggers { + unusedTrigger, err := database.GetTrigger(id) + if err != nil { + logger.Error(). + String(moira.LogFieldNameTriggerID, id). + Error(err). + Msg("cannot get trigger") + + continue + } + + if needDeleteTrigger(unusedTrigger.UpdatedAt, nowInSec, ttl) { + triggersToDelete = append(triggersToDelete, id) + } + } + + return deleteTriggers(logger, triggersToDelete, database) +} + +func needDeleteTrigger(timestamp *int64, nowInSec, ttl int64) bool { + if timestamp != nil { + return *timestamp+ttl < nowInSec + } + + return true +} + +func deleteTriggers(logger moira.Logger, triggers []string, database moira.Database) error { logger.Info(). Int("triggers_to_delete", len(triggers)). - String("prefix", prefix). String("delay", delay.String()). - Msg("Triggers that start with given prefix would be removed after delay") + Msg("Triggers would be removed after delay") + logger.Info().Msg("You can cancel execution by Ctrl+C") time.Sleep(delay) logger.Info(). - String("prefix", prefix). - Msg("Removing triggers start with given prefix has started") + Msg("Removing triggers start with has started") deletedTriggersCount := 0 for _, id := range triggers { @@ -66,7 +100,6 @@ func deleteTriggers(logger moira.Logger, triggers []string, prefix string, datab deletedTriggersCount++ } logger.Info(). - String("prefix", prefix). Int("deleted_triggers_count", len(triggers)). Interface("deleted_triggers", triggers). Msg("Removing triggers start with given prefix has finished") diff --git a/cmd/cli/triggers_test.go b/cmd/cli/triggers_test.go index e3d28cb0b..892efb596 100644 --- a/cmd/cli/triggers_test.go +++ b/cmd/cli/triggers_test.go @@ -5,9 +5,10 @@ import ( "testing" "time" - "github.com/golang/mock/gomock" + "github.com/moira-alert/moira" logging "github.com/moira-alert/moira/logging/zerolog_adapter" mocks "github.com/moira-alert/moira/mock/moira-alert" + "go.uber.org/mock/gomock" . "github.com/smartystreets/goconvey/convey" ) @@ -24,7 +25,7 @@ func Test_deleteTriggers(t *testing.T) { db.EXPECT().RemoveTrigger("trigger-2").Return(nil) triggersToDelete := []string{"trigger-1", "trigger-2"} - err := deleteTriggers(logger, triggersToDelete, "trigger", db) + err := deleteTriggers(logger, triggersToDelete, db) So(err, ShouldBeNil) }) @@ -33,7 +34,7 @@ func Test_deleteTriggers(t *testing.T) { db.EXPECT().RemoveTrigger("trigger-2").Return(errors.New("oops")) triggersToDelete := []string{"trigger-1", "trigger-2"} - err := deleteTriggers(logger, triggersToDelete, "trigger", db) + err := deleteTriggers(logger, triggersToDelete, db) So(err, ShouldNotBeNil) So(err.Error(), ShouldResemble, "can't remove trigger with id trigger-2: oops") }) @@ -101,3 +102,62 @@ func Test_handleRemoveUnusedTriggersStartWith(t *testing.T) { So(err.Error(), ShouldResemble, "can't get unused trigger IDs; err: oops") }) } + +func Test_handleRemoveUnusedTriggersWithTTL(t *testing.T) { + logger, _ := logging.ConfigureLog("stdout", "debug", "test", true) + mockCtrl := gomock.NewController(t) + defer mockCtrl.Finish() + db := mocks.NewMockDatabase(mockCtrl) + delay = 1 * time.Millisecond + nowTime := time.Now() + + Convey("Success delete triggers: updated at is set", t, func() { + updatedAt := nowTime.Add(-24 * time.Hour).Unix() + db.EXPECT().GetTrigger("trigger-1").Return(moira.Trigger{UpdatedAt: &updatedAt}, nil) + db.EXPECT().GetUnusedTriggerIDs().Return([]string{"trigger-1"}, nil) + db.EXPECT().RemoveTrigger("trigger-1").Return(nil) + + ttl := int64(2 * time.Hour.Seconds()) + err := handleRemoveUnusedTriggersWithTTL(logger, db, ttl) + So(err, ShouldBeNil) + }) + + Convey("Success delete triggers: updated_at is no set", t, func() { + db.EXPECT().GetTrigger("trigger-1").Return(moira.Trigger{}, nil) + db.EXPECT().GetUnusedTriggerIDs().Return([]string{"trigger-1"}, nil) + db.EXPECT().RemoveTrigger("trigger-1").Return(nil) + + ttl := int64(2 * time.Hour.Seconds()) + err := handleRemoveUnusedTriggersWithTTL(logger, db, ttl) + So(err, ShouldBeNil) + }) + + Convey("Error delete triggers: error while getting unused triggers, has error", t, func() { + db.EXPECT().GetUnusedTriggerIDs().Return([]string{"trigger-1"}, errors.New("error")) + + ttl := int64(2 * time.Hour.Seconds()) + err := handleRemoveUnusedTriggersWithTTL(logger, db, ttl) + So(err, ShouldNotBeNil) + So(err.Error(), ShouldResemble, "can't get unused trigger IDs; err: error") + }) + + Convey("Error delete triggers: error while get one trigger, has no error", t, func() { + db.EXPECT().GetUnusedTriggerIDs().Return([]string{"trigger-1"}, nil) + db.EXPECT().GetTrigger("trigger-1").Return(moira.Trigger{}, errors.New("error")) + + ttl := int64(2 * time.Hour.Seconds()) + err := handleRemoveUnusedTriggersWithTTL(logger, db, ttl) + So(err, ShouldBeNil) + }) + + Convey("Error delete triggers: error while delete one trigger, has error", t, func() { + db.EXPECT().GetUnusedTriggerIDs().Return([]string{"trigger-1"}, nil) + db.EXPECT().GetTrigger("trigger-1").Return(moira.Trigger{}, nil) + db.EXPECT().RemoveTrigger("trigger-1").Return(errors.New("error")) + + ttl := int64(2 * time.Hour.Seconds()) + err := handleRemoveUnusedTriggersWithTTL(logger, db, ttl) + So(err, ShouldNotBeNil) + So(err.Error(), ShouldResemble, "can't remove trigger with id trigger-1: error") + }) +} diff --git a/cmd/cli/user_test.go b/cmd/cli/user_test.go index f39335f92..de96ac75f 100644 --- a/cmd/cli/user_test.go +++ b/cmd/cli/user_test.go @@ -14,6 +14,8 @@ import ( . "github.com/smartystreets/goconvey/convey" ) +const subscriptionPrefix = "subscription_" + func TestUpdateUsers(t *testing.T) { if testing.Short() { t.Skip("skipping test in short mode.") @@ -44,7 +46,7 @@ func TestUpdateUsers(t *testing.T) { Convey("Test off notifications", func() { So(usersCleanup(logger, database, users, conf.Cleanup), ShouldBeNil) for _, contact := range contacts { - subscription, err := database.GetSubscription("subscription_" + contact.ID) + subscription, err := database.GetSubscription(subscriptionPrefix + contact.ID) So(err, ShouldBeNil) @@ -64,7 +66,7 @@ func TestUpdateUsers(t *testing.T) { continue } - _, err := database.GetSubscription("subscription_" + contact.ID) + _, err := database.GetSubscription(subscriptionPrefix + contact.ID) So(err, ShouldNotBeNil) _, err = database.GetContact(contact.ID) @@ -91,7 +93,8 @@ func createDefaultData(database moira.Database) error { } subscriptions = append(subscriptions, - &moira.SubscriptionData{ID: "subscription_" + contact.ID, + &moira.SubscriptionData{ + ID: subscriptionPrefix + contact.ID, User: contact.User, Enabled: true, Tags: []string{"Tag" + contact.User}, @@ -113,7 +116,7 @@ func cleanData(database moira.Database) error { return err } - if err := database.RemoveSubscription("subscription_" + contact.ID); err != nil { + if err := database.RemoveSubscription(subscriptionPrefix + contact.ID); err != nil { return err } } diff --git a/cmd/config.go b/cmd/config.go index 267db3edc..7a5ce2321 100644 --- a/cmd/config.go +++ b/cmd/config.go @@ -1,26 +1,28 @@ package cmd import ( + "errors" "fmt" "os" "strings" + "github.com/moira-alert/moira" "github.com/moira-alert/moira/metrics" "github.com/moira-alert/moira/image_store/s3" - "github.com/moira-alert/moira/metric_source/prometheus" - remoteSource "github.com/moira-alert/moira/metric_source/remote" + prometheusRemoteSource "github.com/moira-alert/moira/metric_source/prometheus" + graphiteRemoteSource "github.com/moira-alert/moira/metric_source/remote" "github.com/xiam/to" "gopkg.in/yaml.v2" "github.com/moira-alert/moira/database/redis" ) -// RedisConfig is a redis config structure that initialises at the start of moira +// RedisConfig is a redis config structure that initialises at the start of moira. // Redis configuration depends on fields specified in redis config section: -// 1. Use fields MasterName and Addrs to enable Redis Sentinel support -// 2. Specify two or more comma-separated Addrs to enable cluster support -// 3. Otherwise, standalone configuration is enabled +// 1. Use fields MasterName and Addrs to enable Redis Sentinel support. +// 2. Specify two or more comma-separated Addrs to enable cluster support. +// 3. Otherwise, standalone configuration is enabled. type RedisConfig struct { // Redis Sentinel master name MasterName string `yaml:"master_name"` @@ -45,25 +47,36 @@ type RedisConfig struct { WriteTimeout string `yaml:"write_timeout"` // MaxRetries count of retries. MaxRetries int `yaml:"max_retries"` + // Enables read-only commands on slave nodes. + ReadOnly bool `yaml:"read_only"` + // Allows routing read-only commands to the **closest** master or slave node. + // It automatically enables ReadOnly. + RouteByLatency bool `yaml:"route_by_latency"` + // Allows routing read-only commands to the **random** master or slave node. + // It automatically enables ReadOnly. + RouteRandomly bool `yaml:"route_randomly"` } -// GetSettings returns redis config parsed from moira config files +// GetSettings returns redis config parsed from moira config files. func (config *RedisConfig) GetSettings() redis.DatabaseConfig { return redis.DatabaseConfig{ - MasterName: config.MasterName, - Addrs: strings.Split(config.Addrs, ","), - Username: config.Username, - Password: config.Password, - MaxRetries: config.MaxRetries, - MetricsTTL: to.Duration(config.MetricsTTL), - DialTimeout: to.Duration(config.DialTimeout), - ReadTimeout: to.Duration(config.ReadTimeout), - WriteTimeout: to.Duration(config.WriteTimeout), + MasterName: config.MasterName, + Addrs: strings.Split(config.Addrs, ","), + Username: config.Username, + Password: config.Password, + MaxRetries: config.MaxRetries, + MetricsTTL: to.Duration(config.MetricsTTL), + DialTimeout: to.Duration(config.DialTimeout), + ReadTimeout: to.Duration(config.ReadTimeout), + WriteTimeout: to.Duration(config.WriteTimeout), + ReadOnly: config.ReadOnly, + RouteByLatency: config.RouteByLatency, + RouteRandomly: config.RouteRandomly, } } -// NotificationHistoryConfig is the config which coordinates interaction with notification statistics -// e.g. how much time should we store it, or how many history items can we request from database +// NotificationHistoryConfig is the config which coordinates interaction with notification statistics. +// E.g. how much time should we store it, or how many history items can we request from database. type NotificationHistoryConfig struct { // Time which moira should store contacts and theirs events history NotificationHistoryTTL string `yaml:"ttl"` @@ -71,7 +84,7 @@ type NotificationHistoryConfig struct { NotificationHistoryQueryLimit int `yaml:"query_limit"` } -// GetSettings returns notification history storage policy configuration +// GetSettings returns notification history storage policy configuration. func (notificationHistoryConfig *NotificationHistoryConfig) GetSettings() redis.NotificationHistoryConfig { return redis.NotificationHistoryConfig{ NotificationHistoryTTL: to.Duration(notificationHistoryConfig.NotificationHistoryTTL), @@ -79,7 +92,35 @@ func (notificationHistoryConfig *NotificationHistoryConfig) GetSettings() redis. } } -// GraphiteConfig is graphite metrics config structure that initialises at the start of moira +// NotificationConfig is a config that stores the necessary configuration of the notifier. +type NotificationConfig struct { + // Need to determine if notification is delayed - the difference between creation time and sending time + // is greater than DelayedTime + DelayedTime string `yaml:"delayed_time"` + // TransactionTimeout defines the timeout between fetch notifications transactions + TransactionTimeout string `yaml:"transaction_timeout"` + // TransactionMaxRetries defines the maximum number of attempts to make a transaction + TransactionMaxRetries int `yaml:"transaction_max_retries"` + // TransactionHeuristicLimit maximum allowable limit, after this limit all notifications + // without limit will be taken + TransactionHeuristicLimit int64 `yaml:"transaction_heuristic_limit"` + // ResaveTime is the time by which the timestamp of notifications with triggers + // or metrics on Maintenance is incremented + ResaveTime string `yaml:"resave_time"` +} + +// GetSettings returns notification storage configuration. +func (notificationConfig *NotificationConfig) GetSettings() redis.NotificationConfig { + return redis.NotificationConfig{ + DelayedTime: to.Duration(notificationConfig.DelayedTime), + TransactionTimeout: to.Duration(notificationConfig.TransactionTimeout), + TransactionMaxRetries: notificationConfig.TransactionMaxRetries, + TransactionHeuristicLimit: notificationConfig.TransactionHeuristicLimit, + ResaveTime: to.Duration(notificationConfig.ResaveTime), + } +} + +// GraphiteConfig is graphite metrics config structure that initialises at the start of moira. type GraphiteConfig struct { // If true, graphite sender will be enabled. Enabled bool `yaml:"enabled"` @@ -93,7 +134,7 @@ type GraphiteConfig struct { Interval string `yaml:"interval"` } -// GetSettings returns graphite metrics config parsed from moira config files +// GetSettings returns graphite metrics config parsed from moira config files. func (graphiteConfig *GraphiteConfig) GetSettings() metrics.GraphiteRegistryConfig { return metrics.GraphiteRegistryConfig{ Enabled: graphiteConfig.Enabled, @@ -104,66 +145,122 @@ func (graphiteConfig *GraphiteConfig) GetSettings() metrics.GraphiteRegistryConf } } -// LoggerConfig is logger settings structure that initialises at the start of moira +// LoggerConfig is logger settings structure that initialises at the start of moira. type LoggerConfig struct { LogFile string `yaml:"log_file"` LogLevel string `yaml:"log_level"` LogPrettyFormat bool `yaml:"log_pretty_format"` } -// TelemetryConfig is settings for listener, pprof, graphite +// TelemetryConfig is settings for listener, pprof, graphite. type TelemetryConfig struct { Listen string `yaml:"listen"` Pprof ProfilerConfig `yaml:"pprof"` Graphite GraphiteConfig `yaml:"graphite"` } -// ProfilerConfig is pprof settings structure that initialises at the start of moira +// ProfilerConfig is pprof settings structure that initialises at the start of moira. type ProfilerConfig struct { Enabled bool `yaml:"enabled"` } -// RemoteConfig is remote graphite settings structure -type RemoteConfig struct { +// RemotesConfig is designed to be embedded in config files to configure all remote sources. +type RemotesConfig struct { + Graphite []GraphiteRemoteConfig `yaml:"graphite_remote"` + Prometheus []PrometheusRemoteConfig `yaml:"prometheus_remote"` +} + +// Validate returns nil if config is valid, or error if it is malformed. +func (remotes *RemotesConfig) Validate() error { + errs := make([]error, 0) + + errs = append(errs, validateRemotes[GraphiteRemoteConfig](remotes.Graphite)...) + errs = append(errs, validateRemotes[PrometheusRemoteConfig](remotes.Prometheus)...) + + if len(errs) == 0 { + return nil + } + return errors.Join(errs...) +} + +func validateRemotes[T remoteCommon](remotes []T) []error { + errs := make([]error, 0) + + keys := make(map[moira.ClusterId]int) + for _, remote := range remotes { + common := remote.getRemoteCommon() + if common.ClusterId == moira.ClusterNotSet { + err := fmt.Errorf("cluster id must be set for remote source (name: `%s`, url: `%s`)", + common.ClusterName, common.URL, + ) + errs = append(errs, err) + } + keys[common.ClusterId]++ + } + + for key, count := range keys { + if count > 1 { + err := fmt.Errorf("cluster id must be unique, non unique cluster id found: %s", key.String()) + errs = append(errs, err) + } + } + + return errs +} + +// RemoteCommonConfig is designed to be embedded in remote configs, It contains fields that are similar for all remotes. +type RemoteCommonConfig struct { + // Unique id of the cluster + ClusterId moira.ClusterId `yaml:"cluster_id"` + // Human-readable name of the cluster + ClusterName string `yaml:"cluster_name"` // graphite url e.g http://graphite/render URL string `yaml:"url"` // Min period to perform triggers re-check. Note: Reducing of this value leads to increasing of CPU and memory usage values CheckInterval string `yaml:"check_interval"` + // Number of checks that can be run in parallel + // If empty will be set to number of cpu cores + MaxParallelChecks int `yaml:"max_parallel_checks"` // Moira won't fetch metrics older than this value from remote storage. Note that Moira doesn't delete old data from // remote storage. Large values will lead to OOM problems in checker. // See https://github.com/moira-alert/moira/pull/519 MetricsTTL string `yaml:"metrics_ttl"` +} + +type remoteCommon interface { + getRemoteCommon() *RemoteCommonConfig +} + +// GraphiteRemoteConfig is remote graphite settings structure. +type GraphiteRemoteConfig struct { + RemoteCommonConfig `yaml:",inline"` // Timeout for remote requests Timeout string `yaml:"timeout"` // Username for basic auth User string `yaml:"user"` // Password for basic auth Password string `yaml:"password"` - // If true, remote worker will be enabled. - Enabled bool `yaml:"enabled"` } -// GetRemoteSourceSettings returns remote config parsed from moira config files -func (config *RemoteConfig) GetRemoteSourceSettings() *remoteSource.Config { - return &remoteSource.Config{ +func (config GraphiteRemoteConfig) getRemoteCommon() *RemoteCommonConfig { + return &config.RemoteCommonConfig +} + +// GetRemoteSourceSettings returns remote config parsed from moira config files. +func (config *GraphiteRemoteConfig) GetRemoteSourceSettings() *graphiteRemoteSource.Config { + return &graphiteRemoteSource.Config{ URL: config.URL, CheckInterval: to.Duration(config.CheckInterval), MetricsTTL: to.Duration(config.MetricsTTL), Timeout: to.Duration(config.Timeout), User: config.User, Password: config.Password, - Enabled: config.Enabled, } } -type PrometheusConfig struct { - // Url of prometheus API - URL string `yaml:"url"` - // Min period to perform triggers re-check - CheckInterval string `yaml:"check_interval"` - // Moira won't fetch metrics older than this value from prometheus remote storage. - // Large values will lead to OOM problems in checker. - MetricsTTL string `yaml:"metrics_ttl"` +// PrometheusRemoteConfig is remote prometheus settings structure. +type PrometheusRemoteConfig struct { + RemoteCommonConfig `yaml:",inline"` // Timeout for prometheus api requests Timeout string `yaml:"timeout"` // Number of retries for prometheus api requests @@ -174,14 +271,15 @@ type PrometheusConfig struct { User string `yaml:"user"` // Password for basic auth Password string `yaml:"password"` - // If true, prometheus remote worker will be enabled. - Enabled bool `yaml:"enabled"` } -// GetRemoteSourceSettings returns remote config parsed from moira config files -func (config *PrometheusConfig) GetPrometheusSourceSettings() *prometheus.Config { - return &prometheus.Config{ - Enabled: config.Enabled, +func (config PrometheusRemoteConfig) getRemoteCommon() *RemoteCommonConfig { + return &config.RemoteCommonConfig +} + +// GetPrometheusSourceSettings returns remote config parsed from moira config files. +func (config *PrometheusRemoteConfig) GetPrometheusSourceSettings() *prometheusRemoteSource.Config { + return &prometheusRemoteSource.Config{ URL: config.URL, CheckInterval: to.Duration(config.CheckInterval), MetricsTTL: to.Duration(config.MetricsTTL), @@ -193,12 +291,12 @@ func (config *PrometheusConfig) GetPrometheusSourceSettings() *prometheus.Config } } -// ImageStoreConfig defines the configuration for all the image stores to be initialized by InitImageStores +// ImageStoreConfig defines the configuration for all the image stores to be initialized by InitImageStores. type ImageStoreConfig struct { S3 s3.Config `yaml:"s3"` } -// ReadConfig parses config file by the given path into Moira-used type +// ReadConfig parses config file by the given path into Moira-used type. func ReadConfig(configFileName string, config interface{}) error { configYaml, err := os.ReadFile(configFileName) if err != nil { @@ -211,7 +309,7 @@ func ReadConfig(configFileName string, config interface{}) error { return nil } -// PrintConfig prints config to stdout +// PrintConfig prints config to stdout. func PrintConfig(config interface{}) { d, _ := yaml.Marshal(&config) fmt.Println(string(d)) diff --git a/cmd/filter/compatibility.go b/cmd/filter/compatibility.go index a010d6bbc..0f5b98a0b 100644 --- a/cmd/filter/compatibility.go +++ b/cmd/filter/compatibility.go @@ -5,15 +5,15 @@ import ( ) // Compatibility struct contains feature-flags that give user control over -// features supported by different versions of graphit compatible with moira +// features supported by different versions of graphite compatible with moira. type compatibility struct { - // Controls how regices in tag matching are treated - // If false (default value), regex will match start of the string strictly. 'tag~=foo' is equivalent to 'tag~=^foo.*' - // If true, regex will match start of the string loosely. 'tag~=foo' is equivalent to 'tag~=.*foo.*' + // Controls how regices in tag matching are treated. + // If false (default value), regex will match start of the string strictly. 'tag~=foo' is equivalent to 'tag~=^foo.*'. + // If true, regex will match start of the string loosely. 'tag~=foo' is equivalent to 'tag~=.*foo.*'. AllowRegexLooseStartMatch bool `yaml:"allow_regex_loose_start_match"` - // Controls how absent tags are treated - // If true (default value), empty tags in regices will be matched - // If false, empty tags will be discarded + // Controls how absent tags are treated. + // If true (default value), empty tags in regices will be matched. + // If false, empty tags will be discarded. AllowRegexMatchEmpty bool `yaml:"allow_regex_match_empty"` } diff --git a/cmd/filter/config.go b/cmd/filter/config.go index ab99965a1..71de1934c 100644 --- a/cmd/filter/config.go +++ b/cmd/filter/config.go @@ -2,6 +2,7 @@ package main import ( "github.com/moira-alert/moira/cmd" + "github.com/moira-alert/moira/filter" ) type config struct { @@ -28,8 +29,23 @@ type filterConfig struct { PatternsUpdatePeriod string `yaml:"patterns_update_period"` // DropMetricsTTL this is time window how older metric we can get from now. DropMetricsTTL string `yaml:"drop_metrics_ttl"` - // Flags for compatibility with different graphite behaviours + // Flags for compatibility with different graphite behaviours. Compatibility compatibility `yaml:"graphite_compatibility"` + // Time after which the batch of metrics is forced to be saved, default is 1s. + BatchForcedSaveTimeout string `yaml:"batch_forced_save_timeout"` + // PatternStorageCfg defines the configuration for pattern storage. + PatternStorageCfg patternStorageConfig `yaml:"pattern_storage"` +} + +type patternStorageConfig struct { + // PatternMatchingCacheSize determines the size of the pattern matching cache. + PatternMatchingCacheSize int `yaml:"pattern_matching_cache_size"` +} + +func (cfg patternStorageConfig) toFilterPatternStorageConfig() filter.PatternStorageConfig { + return filter.PatternStorageConfig{ + PatternMatchingCacheSize: cfg.PatternMatchingCacheSize, + } } func getDefault() config { @@ -45,16 +61,20 @@ func getDefault() config { LogPrettyFormat: false, }, Filter: filterConfig{ - Listen: ":2003", - RetentionConfig: "/etc/moira/storage-schemas.conf", - CacheCapacity: 10, //nolint - MaxParallelMatches: 0, - PatternsUpdatePeriod: "1s", - DropMetricsTTL: "1h", + Listen: ":2003", + RetentionConfig: "/etc/moira/storage-schemas.conf", + CacheCapacity: 10, //nolint + MaxParallelMatches: 0, + PatternsUpdatePeriod: "1s", + DropMetricsTTL: "1h", + BatchForcedSaveTimeout: "1s", Compatibility: compatibility{ AllowRegexLooseStartMatch: false, AllowRegexMatchEmpty: true, }, + PatternStorageCfg: patternStorageConfig{ + PatternMatchingCacheSize: 100, + }, }, Telemetry: cmd.TelemetryConfig{ Listen: ":8094", diff --git a/cmd/filter/main.go b/cmd/filter/main.go index ced22bb6e..93ed637de 100644 --- a/cmd/filter/main.go +++ b/cmd/filter/main.go @@ -31,7 +31,7 @@ var ( printDefaultConfigFlag = flag.Bool("default-config", false, "Print default config and exit") ) -// Moira filter bin version +// Moira filter bin version. var ( MoiraVersion = "unknown" GitCommit = "unknown" @@ -87,7 +87,7 @@ func main() { } filterMetrics := metrics.ConfigureFilterMetrics(telemetry.Metrics) - database := redis.NewDatabase(logger, config.Redis.GetSettings(), redis.NotificationHistoryConfig{}, redis.Filter) + database := redis.NewDatabase(logger, config.Redis.GetSettings(), redis.NotificationHistoryConfig{}, redis.NotificationConfig{}, redis.Filter) retentionConfigFile, err := os.Open(config.Filter.RetentionConfig) if err != nil { @@ -105,7 +105,8 @@ func main() { Msg("Failed to initialize cache storage with given config") } - patternStorage, err := filter.NewPatternStorage(database, filterMetrics, logger, compatibility) + filterPatternStorageCfg := config.Filter.PatternStorageCfg.toFilterPatternStorageConfig() + patternStorage, err := filter.NewPatternStorage(filterPatternStorageCfg, database, filterMetrics, logger, compatibility) if err != nil { logger.Fatal(). Error(err). @@ -143,7 +144,8 @@ func main() { // Start metrics matcher cacheCapacity := config.Filter.CacheCapacity - metricsMatcher := matchedmetrics.NewMetricsMatcher(filterMetrics, logger, database, cacheStorage, cacheCapacity) + batchForcedSaveTimeout := to.Duration(config.Filter.BatchForcedSaveTimeout) + metricsMatcher := matchedmetrics.NewMetricsMatcher(filterMetrics, logger, database, cacheStorage, cacheCapacity, batchForcedSaveTimeout) metricsMatcher.Start(metricsChan) defer metricsMatcher.Wait() // First stop listener defer stopListener(listener) // Then waiting for metrics matcher handle all received events diff --git a/cmd/image_store.go b/cmd/image_store.go index 8bdb84a43..49a46c21f 100644 --- a/cmd/image_store.go +++ b/cmd/image_store.go @@ -10,7 +10,7 @@ const ( s3ImageStore = "s3" ) -// InitImageStores initializes the image storage provider with settings from the yaml config +// InitImageStores initializes the image storage provider with settings from the yaml config. func InitImageStores(imageStores ImageStoreConfig, logger moira.Logger) map[string]moira.ImageStore { var err error imageStoreMap := make(map[string]moira.ImageStore) diff --git a/cmd/notifier/config.go b/cmd/notifier/config.go index e3679ade9..8277024b9 100644 --- a/cmd/notifier/config.go +++ b/cmd/notifier/config.go @@ -17,10 +17,10 @@ type config struct { Logger cmd.LoggerConfig `yaml:"log"` Notifier notifierConfig `yaml:"notifier"` Telemetry cmd.TelemetryConfig `yaml:"telemetry"` - Remote cmd.RemoteConfig `yaml:"remote"` - Prometheus cmd.PrometheusConfig `yaml:"prometheus"` + Remotes cmd.RemotesConfig `yaml:",inline"` ImageStores cmd.ImageStoreConfig `yaml:"image_store"` NotificationHistory cmd.NotificationHistoryConfig `yaml:"notification_history"` + Notification cmd.NotificationConfig `yaml:"notification"` } type entityLogConfig struct { @@ -38,6 +38,8 @@ type notifierConfig struct { SenderTimeout string `yaml:"sender_timeout"` // Hard timeout to stop retrying to send notification after multiple failed attempts ResendingTimeout string `yaml:"resending_timeout"` + // Delay before performing one more send attempt + ReschedulingDelay string `yaml:"rescheduling_delay"` // Senders configuration section. See https://moira.readthedocs.io/en/latest/installation/configuration.html for more explanation Senders []map[string]interface{} `yaml:"senders"` // Self state monitor configuration section. Note: No inner subscriptions is required. It's own notification mechanism will be used. @@ -93,9 +95,17 @@ func getDefault() config { NotificationHistoryTTL: "48h", NotificationHistoryQueryLimit: int(notifier.NotificationsLimitUnlimited), }, + Notification: cmd.NotificationConfig{ + DelayedTime: "50s", + TransactionTimeout: "100ms", + TransactionMaxRetries: 10, + TransactionHeuristicLimit: 10000, + ResaveTime: "30s", + }, Notifier: notifierConfig{ - SenderTimeout: "10s", - ResendingTimeout: "1:00", + SenderTimeout: "10s", + ResendingTimeout: "1:00", + ReschedulingDelay: "60s", SelfState: selfStateConfig{ Enabled: false, RedisDisconnectDelay: "30s", @@ -119,16 +129,7 @@ func getDefault() config { }, Pprof: cmd.ProfilerConfig{Enabled: false}, }, - Remote: cmd.RemoteConfig{ - Timeout: "60s", - MetricsTTL: "24h", - }, - Prometheus: cmd.PrometheusConfig{ - Timeout: "60s", - MetricsTTL: "7d", - Retries: 1, - RetryTimeout: "10s", - }, + Remotes: cmd.RemotesConfig{}, ImageStores: cmd.ImageStoreConfig{}, } } @@ -193,6 +194,7 @@ func (config *notifierConfig) getSettings(logger moira.Logger) notifier.Config { SelfStateContacts: config.SelfState.Contacts, SendingTimeout: to.Duration(config.SenderTimeout), ResendingTimeout: to.Duration(config.ResendingTimeout), + ReschedulingDelay: to.Duration(config.ReschedulingDelay), Senders: config.Senders, FrontURL: config.FrontURI, Location: location, diff --git a/cmd/notifier/main.go b/cmd/notifier/main.go index 8a75bb410..37e1ac7f7 100644 --- a/cmd/notifier/main.go +++ b/cmd/notifier/main.go @@ -7,10 +7,7 @@ import ( "os/signal" "syscall" - metricSource "github.com/moira-alert/moira/metric_source" - "github.com/moira-alert/moira/metric_source/local" - "github.com/moira-alert/moira/metric_source/prometheus" - "github.com/moira-alert/moira/metric_source/remote" + "github.com/moira-alert/moira/clock" "github.com/moira-alert/moira" "github.com/moira-alert/moira/cmd" @@ -33,7 +30,7 @@ var ( printDefaultConfigFlag = flag.Bool("default-config", false, "Print default config and exit") ) -// Moira notifier bin version +// Moira notifier bin version. var ( MoiraVersion = "unknown" GitCommit = "unknown" @@ -81,27 +78,26 @@ func main() { databaseSettings := config.Redis.GetSettings() notificationHistorySettings := config.NotificationHistory.GetSettings() - database := redis.NewDatabase(logger, databaseSettings, notificationHistorySettings, redis.Notifier) + notificationSettings := config.Notification.GetSettings() + database := redis.NewDatabase(logger, databaseSettings, notificationHistorySettings, notificationSettings, redis.Notifier) - remoteConfig := config.Remote.GetRemoteSourceSettings() - prometheusConfig := config.Prometheus.GetPrometheusSourceSettings() - - localSource := local.Create(database) - remoteSource := remote.Create(remoteConfig) - prometheusSource, err := prometheus.Create(prometheusConfig, logger) + metricSourceProvider, err := cmd.InitMetricSources(config.Remotes, database, logger) if err != nil { logger.Fatal(). Error(err). - Msg("Failed to initialize prometheus metric source") + Msg("Failed to initialize metric sources") } - metricSourceProvider := metricSource.CreateMetricSourceProvider(localSource, remoteSource, prometheusSource) - // Initialize the image store imageStoreMap := cmd.InitImageStores(config.ImageStores, logger) notifierConfig := config.Notifier.getSettings(logger) + systemClock := clock.NewSystemClock() + schedulerConfig := notifier.SchedulerConfig{ + ReschedulingDelay: notifierConfig.ReschedulingDelay, + } + notifierMetrics := metrics.ConfigureNotifierMetrics(telemetry.Metrics, serviceName) sender := notifier.NewNotifier( database, @@ -110,6 +106,8 @@ func main() { notifierMetrics, metricSourceProvider, imageStoreMap, + systemClock, + schedulerConfig, ) // Register moira senders @@ -137,17 +135,23 @@ func main() { Logger: logger, Database: database, Notifier: sender, + Metrics: notifierMetrics, } fetchNotificationsWorker.Start() defer stopNotificationsFetcher(fetchNotificationsWorker) // Start moira new events fetcher fetchEventsWorker := &events.FetchEventsWorker{ - Logger: logger, - Database: database, - Scheduler: notifier.NewScheduler(database, logger, notifierMetrics), - Metrics: notifierMetrics, - Config: notifierConfig, + Logger: logger, + Database: database, + Scheduler: notifier.NewScheduler( + database, + logger, + notifierMetrics, + schedulerConfig, + systemClock), + Metrics: notifierMetrics, + Config: notifierConfig, } fetchEventsWorker.Start() defer stopFetchEvents(fetchEventsWorker) diff --git a/cmd/source_provider.go b/cmd/source_provider.go new file mode 100644 index 000000000..cbd8cf063 --- /dev/null +++ b/cmd/source_provider.go @@ -0,0 +1,42 @@ +package cmd + +import ( + "fmt" + + "github.com/moira-alert/moira" + metricSource "github.com/moira-alert/moira/metric_source" + "github.com/moira-alert/moira/metric_source/local" + "github.com/moira-alert/moira/metric_source/prometheus" + "github.com/moira-alert/moira/metric_source/remote" +) + +// InitMetricSources initializes SourceProvider from given remote source configs. +func InitMetricSources(remotes RemotesConfig, database moira.Database, logger moira.Logger) (*metricSource.SourceProvider, error) { + err := remotes.Validate() + if err != nil { + return nil, fmt.Errorf("remotes config validation failed: %w", err) + } + + provider := metricSource.CreateMetricSourceProvider() + provider.RegisterSource(moira.DefaultLocalCluster, local.Create(database)) + + for _, graphite := range remotes.Graphite { + config := graphite.GetRemoteSourceSettings() + source, err := remote.Create(config) + if err != nil { + return nil, err + } + provider.RegisterSource(moira.MakeClusterKey(moira.GraphiteRemote, graphite.ClusterId), source) + } + + for _, prom := range remotes.Prometheus { + config := prom.GetPrometheusSourceSettings() + source, err := prometheus.Create(config, logger) + if err != nil { + return nil, err + } + provider.RegisterSource(moira.MakeClusterKey(moira.PrometheusRemote, prom.ClusterId), source) + } + + return provider, nil +} diff --git a/database/database.go b/database/database.go index 1791d67f5..825dab56d 100644 --- a/database/database.go +++ b/database/database.go @@ -2,17 +2,17 @@ package database import "fmt" -// ErrNil return from database data storing methods if no object in DB +// ErrNil return from database data storing methods if no object in DB. var ErrNil = fmt.Errorf("nil returned") var ( - // ErrLockAlreadyHeld is returned if we attempt to double acquire + // ErrLockAlreadyHeld is returned if we attempt to double acquire. ErrLockAlreadyHeld = fmt.Errorf("lock was already held") - // ErrLockAcquireInterrupted is returned if we cancel the acquire + // ErrLockAcquireInterrupted is returned if we cancel the acquire. ErrLockAcquireInterrupted = fmt.Errorf("lock's request was interrupted") ) -// ErrLockNotAcquired if we cannot acquire +// ErrLockNotAcquired if we cannot acquire. type ErrLockNotAcquired struct { Err error } diff --git a/database/redis/bot.go b/database/redis/bot.go index b9863c141..431a2e4e9 100644 --- a/database/redis/bot.go +++ b/database/redis/bot.go @@ -1,6 +1,7 @@ package redis import ( + "errors" "fmt" "strings" @@ -8,28 +9,30 @@ import ( "github.com/moira-alert/moira/database" ) -// GetIDByUsername read ID of user by messenger username -func (connector *DbConnector) GetIDByUsername(messenger, username string) (string, error) { +// GetChatByUsername read chat of user by messenger username. +func (connector *DbConnector) GetChatByUsername(messenger, username string) (string, error) { if strings.HasPrefix(username, "#") { result := "@" + username[1:] return result, nil } + c := *connector.client result, err := c.Get(connector.context, usernameKey(messenger, username)).Result() - if err == redis.Nil { + if errors.Is(err, redis.Nil) { return result, database.ErrNil } + return result, err } -// SetUsernameID store id of username -func (connector *DbConnector) SetUsernameID(messenger, username, id string) error { +// SetUsernameChat store id of username. +func (connector *DbConnector) SetUsernameChat(messenger, username, chatRaw string) error { c := *connector.client - err := c.Set(connector.context, usernameKey(messenger, username), id, redis.KeepTTL).Err() + err := c.Set(connector.context, usernameKey(messenger, username), chatRaw, redis.KeepTTL).Err() return err } -// RemoveUser removes username from messenger data +// RemoveUser removes username from messenger data. func (connector *DbConnector) RemoveUser(messenger, username string) error { c := *connector.client err := c.Del(connector.context, usernameKey(messenger, username)).Err() diff --git a/database/redis/bot_test.go b/database/redis/bot_test.go index a0ade7c5e..85978b37f 100644 --- a/database/redis/bot_test.go +++ b/database/redis/bot_test.go @@ -18,28 +18,28 @@ func TestBotDataStoring(t *testing.T) { Convey("Messengers manipulation", t, func() { Convey("Get-set usernames", func() { Convey("Just set username to one of messengers", func() { - err := dataBase.SetUsernameID(messenger1, user1, "id1") + err := dataBase.SetUsernameChat(messenger1, user1, "id1") So(err, ShouldBeNil) }) Convey("Check it for existing", func() { - actual, err := dataBase.GetIDByUsername(messenger1, user1) + actual, err := dataBase.GetChatByUsername(messenger1, user1) So(err, ShouldBeNil) So(actual, ShouldResemble, "id1") }) Convey("Check for not existing in two another messengers", func() { - actual, err := dataBase.GetIDByUsername(messenger2, user1) + actual, err := dataBase.GetChatByUsername(messenger2, user1) So(err, ShouldResemble, database.ErrNil) So(actual, ShouldBeEmpty) - actual, err = dataBase.GetIDByUsername(messenger3, user1) + actual, err = dataBase.GetChatByUsername(messenger3, user1) So(err, ShouldResemble, database.ErrNil) So(actual, ShouldBeEmpty) }) Convey("Get username with # prefix should return @username", func() { - actual, err := dataBase.GetIDByUsername(messenger1, "#"+user1) + actual, err := dataBase.GetChatByUsername(messenger1, "#"+user1) So(err, ShouldBeNil) So(actual, ShouldResemble, "@"+user1) }) @@ -50,7 +50,7 @@ func TestBotDataStoring(t *testing.T) { }) Convey("Check it for unexisting", func() { - actual, err := dataBase.GetIDByUsername(messenger1, user1) + actual, err := dataBase.GetChatByUsername(messenger1, user1) So(err, ShouldResemble, database.ErrNil) So(actual, ShouldBeEmpty) }) @@ -64,11 +64,11 @@ func TestBotDataStoringErrorConnection(t *testing.T) { dataBase.Flush() defer dataBase.Flush() Convey("Should throw error when no connection", t, func() { - actual1, err := dataBase.GetIDByUsername(messenger1, user1) + actual1, err := dataBase.GetChatByUsername(messenger1, user1) So(actual1, ShouldBeEmpty) So(err, ShouldNotBeNil) - err = dataBase.SetUsernameID(messenger2, user1, "id1") + err = dataBase.SetUsernameChat(messenger2, user1, "id1") So(err, ShouldNotBeNil) err = dataBase.RemoveUser(messenger2, user1) @@ -76,6 +76,8 @@ func TestBotDataStoringErrorConnection(t *testing.T) { }) } -var messenger1 = "messenger1" -var messenger2 = "messenger2" -var messenger3 = "messenger3" +var ( + messenger1 = "messenger1" + messenger2 = "messenger2" + messenger3 = "messenger3" +) diff --git a/database/redis/config.go b/database/redis/config.go index 045ed7b21..7c840c15b 100644 --- a/database/redis/config.go +++ b/database/redis/config.go @@ -2,7 +2,7 @@ package redis import "time" -// DatabaseConfig - Redis database connection config +// DatabaseConfig - Redis database connection config. type DatabaseConfig struct { MasterName string Addrs []string @@ -15,9 +15,29 @@ type DatabaseConfig struct { ReadTimeout time.Duration WriteTimeout time.Duration MaxRetries int + ReadOnly bool + RouteByLatency bool + RouteRandomly bool } type NotificationHistoryConfig struct { NotificationHistoryTTL time.Duration NotificationHistoryQueryLimit int } + +// Notifier configuration in redis. +type NotificationConfig struct { + // Need to determine if notification is delayed - the difference between creation time and sending time + // is greater than DelayedTime + DelayedTime time.Duration + // TransactionTimeout defines the timeout between fetch notifications transactions + TransactionTimeout time.Duration + // TransactionMaxRetries defines the maximum number of attempts to make a transaction + TransactionMaxRetries int + // TransactionHeuristicLimit maximum allowable limit, after this limit all notifications + // without limit will be taken + TransactionHeuristicLimit int64 + // ResaveTime is the time by which the timestamp of notifications with triggers + // or metrics on Maintenance is incremented + ResaveTime time.Duration +} diff --git a/database/redis/contact.go b/database/redis/contact.go index 7521b0680..b58a8f501 100644 --- a/database/redis/contact.go +++ b/database/redis/contact.go @@ -3,6 +3,7 @@ package redis import ( "context" "encoding/json" + "errors" "fmt" "strings" @@ -12,14 +13,14 @@ import ( "github.com/moira-alert/moira/database/redis/reply" ) -// GetContact returns contact data by given id, if no value, return database.ErrNil error +// GetContact returns contact data by given id, if no value, return database.ErrNil error. func (connector *DbConnector) GetContact(id string) (moira.ContactData, error) { c := *connector.client var contact moira.ContactData result := c.Get(connector.context, contactKey(id)) - if result.Err() == redis.Nil { + if errors.Is(result.Err(), redis.Nil) { return contact, database.ErrNil } contact, err := reply.Contact(result) @@ -31,7 +32,7 @@ func (connector *DbConnector) GetContact(id string) (moira.ContactData, error) { } // GetContacts returns contacts data by given ids, len of contactIDs is equal to len of returned values array. -// If there is no object by current ID, then nil is returned +// If there is no object by current ID, then nil is returned. func (connector *DbConnector) GetContacts(contactIDs []string) ([]*moira.ContactData, error) { results := make([]*redis.StringCmd, 0, len(contactIDs)) @@ -42,7 +43,7 @@ func (connector *DbConnector) GetContacts(contactIDs []string) ([]*moira.Contact results = append(results, result) } _, err := pipe.Exec(connector.context) - if err != nil && err != redis.Nil { + if err != nil && !errors.Is(err, redis.Nil) { return nil, err } @@ -68,7 +69,6 @@ func getContactsKeysOnRedisNode(ctx context.Context, client redis.UniversalClien var keysResult []string var err error keysResult, cursor, err = client.Scan(ctx, cursor, contactKey("*"), scanCount).Result() - if err != nil { return nil, err } @@ -82,7 +82,7 @@ func getContactsKeysOnRedisNode(ctx context.Context, client redis.UniversalClien return keys, nil } -// GetAllContacts returns full contact list +// GetAllContacts returns full contact list. func (connector *DbConnector) GetAllContacts() ([]*moira.ContactData, error) { var keys []string @@ -105,10 +105,10 @@ func (connector *DbConnector) GetAllContacts() ([]*moira.ContactData, error) { return connector.GetContacts(contactIDs) } -// SaveContact writes contact data and updates user contacts +// SaveContact writes contact data and updates user contacts. func (connector *DbConnector) SaveContact(contact *moira.ContactData) error { existing, getContactErr := connector.GetContact(contact.ID) - if getContactErr != nil && getContactErr != database.ErrNil { + if getContactErr != nil && !errors.Is(getContactErr, database.ErrNil) { return getContactErr } contactString, err := json.Marshal(contact) @@ -120,10 +120,10 @@ func (connector *DbConnector) SaveContact(contact *moira.ContactData) error { pipe := c.TxPipeline() pipe.Set(connector.context, contactKey(contact.ID), contactString, redis.KeepTTL) - if getContactErr != database.ErrNil && contact.User != existing.User { + if !errors.Is(getContactErr, database.ErrNil) && contact.User != existing.User { pipe.SRem(connector.context, userContactsKey(existing.User), contact.ID) } - if getContactErr != database.ErrNil && contact.Team != existing.Team { + if !errors.Is(getContactErr, database.ErrNil) && contact.Team != existing.Team { pipe.SRem(connector.context, teamContactsKey(existing.Team), contact.ID) } if contact.User != "" { @@ -139,10 +139,10 @@ func (connector *DbConnector) SaveContact(contact *moira.ContactData) error { return nil } -// RemoveContact deletes contact data and contactID from user contacts +// RemoveContact deletes contact data and contactID from user contacts. func (connector *DbConnector) RemoveContact(contactID string) error { existing, err := connector.GetContact(contactID) - if err != nil && err != database.ErrNil { + if err != nil && !errors.Is(err, database.ErrNil) { return err } c := *connector.client @@ -158,7 +158,7 @@ func (connector *DbConnector) RemoveContact(contactID string) error { return nil } -// GetUserContactIDs returns contacts ids by given login +// GetUserContactIDs returns contacts ids by given login. func (connector *DbConnector) GetUserContactIDs(login string) ([]string, error) { c := *connector.client @@ -169,7 +169,7 @@ func (connector *DbConnector) GetUserContactIDs(login string) ([]string, error) return contacts, nil } -// GetTeamContactIDs returns contacts ids by given team +// GetTeamContactIDs returns contacts ids by given team. func (connector *DbConnector) GetTeamContactIDs(login string) ([]string, error) { c := *connector.client contacts, err := c.SMembers(connector.context, teamContactsKey(login)).Result() diff --git a/database/redis/contact_notification_history.go b/database/redis/contact_notification_history.go index 2e5f3ffa6..6b15c27aa 100644 --- a/database/redis/contact_notification_history.go +++ b/database/redis/contact_notification_history.go @@ -38,14 +38,12 @@ func (connector *DbConnector) GetNotificationsByContactIdWithLimit(contactID str Max: strconv.FormatInt(to, 10), Count: int64(connector.notificationHistory.NotificationHistoryQueryLimit), }).Result() - if err != nil { return notifications, err } for _, notification := range notificationStings { notificationObj, err := getNotificationStruct(notification) - if err != nil { return notifications, err } @@ -58,8 +56,8 @@ func (connector *DbConnector) GetNotificationsByContactIdWithLimit(contactID str return notifications, nil } -// PushContactNotificationToHistory converts ScheduledNotification to NotificationEventHistoryItem and -// saves it, and deletes items older than specified ttl +// PushContactNotificationToHistory converts ScheduledNotification to NotificationEventHistoryItem and saves it, +// and deletes items older than specified ttl. func (connector *DbConnector) PushContactNotificationToHistory(notification *moira.ScheduledNotification) error { notificationItemToSave := &moira.NotificationEventHistoryItem{ Metric: notification.Event.Metric, @@ -85,7 +83,8 @@ func (connector *DbConnector) PushContactNotificationToHistory(notification *moi contactNotificationKey, &redis.Z{ Score: float64(notification.Timestamp), - Member: notificationBytes}) + Member: notificationBytes, + }) pipe.ZRemRangeByScore( connector.context, @@ -95,7 +94,6 @@ func (connector *DbConnector) PushContactNotificationToHistory(notification *moi ) _, err := pipe.Exec(connector.Context()) - if err != nil { return fmt.Errorf("failed to push contact event history item: %s", err.Error()) } diff --git a/database/redis/contact_notification_history_test.go b/database/redis/contact_notification_history_test.go index cb1961828..b57e60c17 100644 --- a/database/redis/contact_notification_history_test.go +++ b/database/redis/contact_notification_history_test.go @@ -46,6 +46,7 @@ var inputScheduledNotification = moira.ScheduledNotification{ Throttled: false, SendFail: 1, Timestamp: time.Now().Unix(), + CreatedAt: time.Now().Unix(), } var eventsShouldBeInDb = []*moira.NotificationEventHistoryItem{ diff --git a/database/redis/contact_test.go b/database/redis/contact_test.go index f9dd02a5c..938cf0ad2 100644 --- a/database/redis/contact_test.go +++ b/database/redis/contact_test.go @@ -10,10 +10,12 @@ import ( . "github.com/smartystreets/goconvey/convey" ) -const user1 = "user1" -const user2 = "user2" -const team1 = "team1" -const team2 = "team2" +const ( + user1 = "user1" + user2 = "user2" + team1 = "team1" + team2 = "team2" +) func TestContacts(t *testing.T) { logger, _ := logging.GetLogger("dataBase") diff --git a/database/redis/database.go b/database/redis/database.go index f760049b2..0633b3098 100644 --- a/database/redis/database.go +++ b/database/redis/database.go @@ -20,10 +20,10 @@ const ( cacheValueExpirationDuration = time.Minute ) -// DBSource is type for describing who create database instance +// DBSource is type for describing who create database instance. type DBSource string -// All types of database users +// All types of database users. const ( API DBSource = "API" Checker DBSource = "Checker" @@ -33,7 +33,7 @@ const ( testSource DBSource = "test" ) -// DbConnector contains redis client +// DbConnector contains redis client. type DbConnector struct { client *redis.UniversalClient logger moira.Logger @@ -46,9 +46,11 @@ type DbConnector struct { source DBSource clock moira.Clock notificationHistory NotificationHistoryConfig + // Notifier configuration in redis + notification NotificationConfig } -func NewDatabase(logger moira.Logger, config DatabaseConfig, nh NotificationHistoryConfig, source DBSource) *DbConnector { +func NewDatabase(logger moira.Logger, config DatabaseConfig, nh NotificationHistoryConfig, n NotificationConfig, source DBSource) *DbConnector { client := redis.NewUniversalClient(&redis.UniversalOptions{ MasterName: config.MasterName, Addrs: config.Addrs, @@ -60,6 +62,9 @@ func NewDatabase(logger moira.Logger, config DatabaseConfig, nh NotificationHist ReadTimeout: config.ReadTimeout, WriteTimeout: config.WriteTimeout, MaxRetries: config.MaxRetries, + ReadOnly: config.ReadOnly, + RouteByLatency: config.RouteByLatency, + RouteRandomly: config.RouteRandomly, }) ctx := context.Background() @@ -78,11 +83,13 @@ func NewDatabase(logger moira.Logger, config DatabaseConfig, nh NotificationHist source: source, clock: clock.NewSystemClock(), notificationHistory: nh, + notification: n, } + return &connector } -// NewTestDatabase use it only for tests +// NewTestDatabase use it only for tests. func NewTestDatabase(logger moira.Logger) *DbConnector { return NewDatabase(logger, DatabaseConfig{ Addrs: []string{"0.0.0.0:6379"}, @@ -90,10 +97,18 @@ func NewTestDatabase(logger moira.Logger) *DbConnector { NotificationHistoryConfig{ NotificationHistoryTTL: time.Hour * 48, NotificationHistoryQueryLimit: 1000, - }, testSource) + }, + NotificationConfig{ + DelayedTime: time.Minute, + TransactionTimeout: 100 * time.Millisecond, + TransactionMaxRetries: 10, + TransactionHeuristicLimit: 10000, + ResaveTime: 30 * time.Second, + }, + testSource) } -// NewTestDatabaseWithIncorrectConfig use it only for tests +// NewTestDatabaseWithIncorrectConfig use it only for tests. func NewTestDatabaseWithIncorrectConfig(logger moira.Logger) *DbConnector { return NewDatabase(logger, DatabaseConfig{Addrs: []string{"0.0.0.0:0000"}}, @@ -101,10 +116,18 @@ func NewTestDatabaseWithIncorrectConfig(logger moira.Logger) *DbConnector { NotificationHistoryTTL: time.Hour * 48, NotificationHistoryQueryLimit: 1000, }, + NotificationConfig{ + DelayedTime: time.Minute, + TransactionTimeout: 100 * time.Millisecond, + TransactionMaxRetries: 10, + TransactionHeuristicLimit: 10000, + ResaveTime: 30 * time.Second, + }, testSource) } -// Flush deletes all the keys of the DB, use it only for tests +// Flush deletes all the keys of the DB, use it only for tests. +// nolint:unused func (connector *DbConnector) Flush() { err := connector.callFunc(func(connector *DbConnector, client redis.UniversalClient) error { return client.FlushDB(connector.context).Err() @@ -114,12 +137,14 @@ func (connector *DbConnector) Flush() { } } -// Get key ttl, use it only for tests +// Get key ttl, use it only for tests. +// nolint:unused func (connector *DbConnector) getTTL(key string) time.Duration { return (*connector.client).PTTL(connector.context, key).Val() } -// Delete the key, use it only for tests +// Delete the key, use it only for tests. +// nolint:unused func (connector *DbConnector) delete(key string) { (*connector.client).Del(connector.context, key) } diff --git a/database/redis/database_test.go b/database/redis/database_test.go index c5a98b7d1..270109b44 100644 --- a/database/redis/database_test.go +++ b/database/redis/database_test.go @@ -17,13 +17,13 @@ func TestNewDatabase(t *testing.T) { So(database, ShouldNotBeEmpty) So(database.source, ShouldEqual, "test") So(database.logger, ShouldEqual, logger) - So(database.context, ShouldEqual, context.Background()) + So(database.context, ShouldResemble, context.Background()) database.Flush() defer database.Flush() Convey("Redis client must be workable", func() { - var ctx = context.Background() + ctx := context.Background() Convey("Can get the value of key that does not exists", func() { err := (*database.client).Get(ctx, "key").Err() diff --git a/database/redis/last_check.go b/database/redis/last_check.go index 21ac48aeb..ab351c3ed 100644 --- a/database/redis/last_check.go +++ b/database/redis/last_check.go @@ -3,6 +3,7 @@ package redis import ( "context" "encoding/json" + "errors" "fmt" "strings" "time" @@ -14,7 +15,7 @@ import ( "github.com/moira-alert/moira/database/redis/reply" ) -// GetTriggerLastCheck gets trigger last check data by given triggerID, if no value, return database.ErrNil error +// GetTriggerLastCheck gets trigger last check data by given triggerID, if no value, return database.ErrNil error. func (connector *DbConnector) GetTriggerLastCheck(triggerID string) (moira.CheckData, error) { ctx := connector.context c := *connector.client @@ -27,9 +28,9 @@ func (connector *DbConnector) GetTriggerLastCheck(triggerID string) (moira.Check return lastCheck, nil } -// SetTriggerLastCheck sets trigger last check data -func (connector *DbConnector) SetTriggerLastCheck(triggerID string, checkData *moira.CheckData, triggerSource moira.TriggerSource) error { - selfStateCheckCountKey := connector.getSelfStateCheckCountKey(triggerSource) +// SetTriggerLastCheck sets trigger last check data. +func (connector *DbConnector) SetTriggerLastCheck(triggerID string, checkData *moira.CheckData, clusterKey moira.ClusterKey) error { + selfStateCheckCountKey := connector.getSelfStateCheckCountKey(clusterKey) bytes, err := reply.GetCheckBytes(*checkData) if err != nil { return err @@ -57,7 +58,6 @@ func (connector *DbConnector) SetTriggerLastCheck(triggerID string, checkData *m } _, err = pipe.Exec(ctx) - if err != nil { return fmt.Errorf("failed to EXEC: %s", err.Error()) } @@ -65,23 +65,32 @@ func (connector *DbConnector) SetTriggerLastCheck(triggerID string, checkData *m return nil } -func (connector *DbConnector) getSelfStateCheckCountKey(triggerSource moira.TriggerSource) string { +func (connector *DbConnector) getSelfStateCheckCountKey(clusterKey moira.ClusterKey) string { if connector.source != Checker { return "" } - switch triggerSource { + + var key string + + switch clusterKey.TriggerSource { case moira.GraphiteLocal: - return selfStateChecksCounterKey + key = selfStateChecksCounterKey case moira.GraphiteRemote: - return selfStateRemoteChecksCounterKey + key = selfStateRemoteChecksCounterKey case moira.PrometheusRemote: - return selfStatePrometheusChecksCounterKey + key = selfStatePrometheusChecksCounterKey default: return "" } + + if clusterKey.ClusterId != moira.DefaultCluster { + key = key + ":" + clusterKey.ClusterId.String() + } + + return key } func appendRemoveTriggerLastCheckToRedisPipeline(ctx context.Context, pipe redis.Pipeliner, triggerID string) redis.Pipeliner { @@ -93,13 +102,12 @@ func appendRemoveTriggerLastCheckToRedisPipeline(ctx context.Context, pipe redis return pipe } -// RemoveTriggerLastCheck removes trigger last check data +// RemoveTriggerLastCheck removes trigger last check data. func (connector *DbConnector) RemoveTriggerLastCheck(triggerID string) error { ctx := connector.context pipe := (*connector.client).TxPipeline() pipe = appendRemoveTriggerLastCheckToRedisPipeline(ctx, pipe, triggerID) _, err := pipe.Exec(ctx) - if err != nil { return fmt.Errorf("failed to EXEC: %s", err.Error()) } @@ -114,7 +122,7 @@ func cleanUpAbandonedTriggerLastCheckOnRedisNode(connector *DbConnector, client lastCheckKey := lastCheckIterator.Val() triggerID := strings.TrimPrefix(lastCheckKey, metricLastCheckKey("")) _, err := connector.GetTrigger(triggerID) - if err == database.ErrNil { + if errors.Is(err, database.ErrNil) { err = connector.RemoveTriggerLastCheck(triggerID) if err != nil { return err @@ -144,7 +152,7 @@ func (connector *DbConnector) CleanUpAbandonedTriggerLastCheck() error { } // SetTriggerCheckMaintenance sets maintenance for whole trigger and to given metrics, -// If CheckData does not contain one of given metrics it will ignore this metric +// If CheckData does not contain one of given metrics it will ignore this metric. func (connector *DbConnector) SetTriggerCheckMaintenance(triggerID string, metrics map[string]int64, triggerMaintenance *int64, userLogin string, timeCallMaintenance int64) error { ctx := connector.context c := *connector.client @@ -152,13 +160,13 @@ func (connector *DbConnector) SetTriggerCheckMaintenance(triggerID string, metri lastCheckString, readingErr := c.Get(ctx, metricLastCheckKey(triggerID)).Result() if readingErr != nil { - if readingErr != redis.Nil { + if !errors.Is(readingErr, redis.Nil) { return readingErr } return nil } - var lastCheck = moira.CheckData{} + lastCheck := moira.CheckData{} err := json.Unmarshal([]byte(lastCheckString), &lastCheck) if err != nil { return fmt.Errorf("failed to parse lastCheck json %s: %s", lastCheckString, err.Error()) @@ -185,7 +193,7 @@ func (connector *DbConnector) SetTriggerCheckMaintenance(triggerID string, metri return c.Set(ctx, metricLastCheckKey(triggerID), newLastCheck, redis.KeepTTL).Err() } -// checkDataScoreChanged returns true if checkData.Score changed since last check +// checkDataScoreChanged returns true if checkData.Score changed since last check. func (connector *DbConnector) checkDataScoreChanged(triggerID string, checkData *moira.CheckData) bool { ctx := connector.context c := *connector.client @@ -198,8 +206,32 @@ func (connector *DbConnector) checkDataScoreChanged(triggerID string, checkData return oldScore != float64(checkData.Score) } -var badStateTriggersKey = "moira-bad-state-triggers" -var triggersChecksKey = "moira-triggers-checks" +// getTriggersLastCheck returns an array of trigger checks by the passed ids, if the trigger does not exist, it is nil. +func (connector *DbConnector) getTriggersLastCheck(triggerIDs []string) ([]*moira.CheckData, error) { + ctx := connector.context + pipe := (*connector.client).TxPipeline() + + results := make([]*redis.StringCmd, len(triggerIDs)) + for i, id := range triggerIDs { + var result *redis.StringCmd + if id != "" { + result = pipe.Get(ctx, metricLastCheckKey(id)) + } + results[i] = result + } + + _, err := pipe.Exec(ctx) + if err != nil && !errors.Is(err, redis.Nil) { + return nil, err + } + + return reply.Checks(results) +} + +var ( + badStateTriggersKey = "moira-bad-state-triggers" + triggersChecksKey = "moira-triggers-checks" +) func metricLastCheckKey(triggerID string) string { return "moira-metric-last-check:" + triggerID diff --git a/database/redis/last_check_test.go b/database/redis/last_check_test.go index 5d7cebceb..92dd43c32 100644 --- a/database/redis/last_check_test.go +++ b/database/redis/last_check_test.go @@ -19,10 +19,11 @@ func TestLastCheck(t *testing.T) { defer dataBase.Flush() var triggerMaintenanceTS int64 + defaultLocalCluster := moira.MakeClusterKey(moira.GraphiteLocal, moira.DefaultCluster) Convey("LastCheck manipulation", t, func() { Convey("Test read write delete", func() { triggerID := uuid.Must(uuid.NewV4()).String() - err := dataBase.SetTriggerLastCheck(triggerID, &lastCheckTest, moira.GraphiteLocal) + err := dataBase.SetTriggerLastCheck(triggerID, &lastCheckTest, defaultLocalCluster) So(err, ShouldBeNil) actual, err := dataBase.GetTriggerLastCheck(triggerID) @@ -54,7 +55,7 @@ func TestLastCheck(t *testing.T) { Convey("While no metrics", func() { triggerID := uuid.Must(uuid.NewV4()).String() - err := dataBase.SetTriggerLastCheck(triggerID, &lastCheckWithNoMetrics, moira.GraphiteLocal) + err := dataBase.SetTriggerLastCheck(triggerID, &lastCheckWithNoMetrics, defaultLocalCluster) So(err, ShouldBeNil) err = dataBase.SetTriggerCheckMaintenance(triggerID, map[string]int64{"metric1": 1, "metric5": 5}, nil, "", 0) @@ -67,7 +68,7 @@ func TestLastCheck(t *testing.T) { Convey("While no metrics to change", func() { triggerID := uuid.Must(uuid.NewV4()).String() - err := dataBase.SetTriggerLastCheck(triggerID, &lastCheckTest, moira.GraphiteLocal) + err := dataBase.SetTriggerLastCheck(triggerID, &lastCheckTest, defaultLocalCluster) So(err, ShouldBeNil) err = dataBase.SetTriggerCheckMaintenance(triggerID, map[string]int64{"metric11": 1, "metric55": 5}, nil, "", 0) @@ -81,7 +82,7 @@ func TestLastCheck(t *testing.T) { Convey("Has metrics to change", func() { checkData := lastCheckTest triggerID := uuid.Must(uuid.NewV4()).String() - err := dataBase.SetTriggerLastCheck(triggerID, &checkData, moira.GraphiteLocal) + err := dataBase.SetTriggerLastCheck(triggerID, &checkData, defaultLocalCluster) So(err, ShouldBeNil) err = dataBase.SetTriggerCheckMaintenance(triggerID, map[string]int64{"metric1": 1, "metric5": 5}, nil, "", 0) @@ -108,7 +109,7 @@ func TestLastCheck(t *testing.T) { Convey("Set metrics maintenance while no metrics", func() { triggerID := uuid.Must(uuid.NewV4()).String() - err := dataBase.SetTriggerLastCheck(triggerID, &lastCheckWithNoMetrics, moira.GraphiteLocal) + err := dataBase.SetTriggerLastCheck(triggerID, &lastCheckWithNoMetrics, defaultLocalCluster) So(err, ShouldBeNil) err = dataBase.SetTriggerCheckMaintenance(triggerID, map[string]int64{"metric1": 1, "metric5": 5}, nil, "", 0) @@ -121,7 +122,7 @@ func TestLastCheck(t *testing.T) { Convey("Set trigger maintenance while no metrics", func() { triggerID := uuid.Must(uuid.NewV4()).String() - err := dataBase.SetTriggerLastCheck(triggerID, &lastCheckWithNoMetrics, moira.GraphiteLocal) + err := dataBase.SetTriggerLastCheck(triggerID, &lastCheckWithNoMetrics, defaultLocalCluster) So(err, ShouldBeNil) triggerMaintenanceTS = 1000 @@ -136,7 +137,7 @@ func TestLastCheck(t *testing.T) { Convey("Set metrics maintenance while no metrics to change", func() { triggerID := uuid.Must(uuid.NewV4()).String() - err := dataBase.SetTriggerLastCheck(triggerID, &lastCheckTest, moira.GraphiteLocal) + err := dataBase.SetTriggerLastCheck(triggerID, &lastCheckTest, defaultLocalCluster) So(err, ShouldBeNil) err = dataBase.SetTriggerCheckMaintenance(triggerID, map[string]int64{"metric11": 1, "metric55": 5}, nil, "", 0) @@ -151,7 +152,7 @@ func TestLastCheck(t *testing.T) { newLastCheckTest := lastCheckTest newLastCheckTest.Maintenance = 1000 triggerID := uuid.Must(uuid.NewV4()).String() - err := dataBase.SetTriggerLastCheck(triggerID, &lastCheckTest, moira.GraphiteLocal) + err := dataBase.SetTriggerLastCheck(triggerID, &lastCheckTest, defaultLocalCluster) So(err, ShouldBeNil) triggerMaintenanceTS = 1000 @@ -166,7 +167,7 @@ func TestLastCheck(t *testing.T) { Convey("Set metrics maintenance while has metrics to change", func() { checkData := lastCheckTest triggerID := uuid.Must(uuid.NewV4()).String() - err := dataBase.SetTriggerLastCheck(triggerID, &checkData, moira.GraphiteLocal) + err := dataBase.SetTriggerLastCheck(triggerID, &checkData, defaultLocalCluster) So(err, ShouldBeNil) err = dataBase.SetTriggerCheckMaintenance(triggerID, map[string]int64{"metric1": 1, "metric5": 5}, nil, "", 0) @@ -186,7 +187,7 @@ func TestLastCheck(t *testing.T) { Convey("Set trigger and metrics maintenance while has metrics to change", func() { checkData := lastCheckTest triggerID := uuid.Must(uuid.NewV4()).String() - err := dataBase.SetTriggerLastCheck(triggerID, &checkData, moira.GraphiteLocal) + err := dataBase.SetTriggerLastCheck(triggerID, &checkData, defaultLocalCluster) So(err, ShouldBeNil) triggerMaintenanceTS = 1000 @@ -208,7 +209,7 @@ func TestLastCheck(t *testing.T) { Convey("Set trigger maintenance to 0 and metrics maintenance", func() { checkData := lastCheckTest triggerID := uuid.Must(uuid.NewV4()).String() - err := dataBase.SetTriggerLastCheck(triggerID, &checkData, moira.GraphiteLocal) + err := dataBase.SetTriggerLastCheck(triggerID, &checkData, defaultLocalCluster) So(err, ShouldBeNil) triggerMaintenanceTS = 0 @@ -230,7 +231,7 @@ func TestLastCheck(t *testing.T) { So(dataBase.checkDataScoreChanged(triggerID, &lastCheckWithNoMetrics), ShouldBeTrue) // set new last check. Should add a trigger to a reindex set - err := dataBase.SetTriggerLastCheck(triggerID, &lastCheckWithNoMetrics, moira.GraphiteLocal) + err := dataBase.SetTriggerLastCheck(triggerID, &lastCheckWithNoMetrics, defaultLocalCluster) So(err, ShouldBeNil) So(dataBase.checkDataScoreChanged(triggerID, &lastCheckWithNoMetrics), ShouldBeFalse) @@ -243,7 +244,7 @@ func TestLastCheck(t *testing.T) { time.Sleep(time.Second) - err = dataBase.SetTriggerLastCheck(triggerID, &lastCheckTest, moira.GraphiteLocal) + err = dataBase.SetTriggerLastCheck(triggerID, &lastCheckTest, defaultLocalCluster) So(err, ShouldBeNil) actual, err = dataBase.FetchTriggersToReindex(time.Now().Unix() - 10) @@ -282,7 +283,7 @@ func TestLastCheck(t *testing.T) { Value: &value, }, }, - }, moira.GraphiteLocal) + }, defaultLocalCluster) So(err, ShouldBeNil) actual, err := dataBase.GetTriggerLastCheck(triggerID) @@ -312,27 +313,34 @@ func TestCleanUpAbandonedTriggerLastCheck(t *testing.T) { dataBase := NewTestDatabase(logger) dataBase.Flush() defer dataBase.Flush() + + defaultLocalCluster := moira.MakeClusterKey(moira.GraphiteLocal, moira.DefaultCluster) Convey("Test clean up abandoned trigger last check", t, func() { Convey("Given trigger with last check", func() { trigger := moira.Trigger{ - ID: "triggerID-0000000000001", - Name: "test trigger 1 v1.0", - Targets: []string{"test.target.1"}, - Tags: []string{"test-tag-1"}, - Patterns: []string{"test.pattern.1"}, - TriggerType: moira.RisingTrigger, - TTLState: &moira.TTLStateNODATA, - AloneMetrics: map[string]bool{}, + ID: "triggerID-0000000000001", + Name: "test trigger 1 v1.0", + Targets: []string{"test.target.1"}, + Tags: []string{"test-tag-1"}, + Patterns: []string{"test.pattern.1"}, + TriggerType: moira.RisingTrigger, + TTLState: &moira.TTLStateNODATA, + AloneMetrics: map[string]bool{}, + TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, } - _ = dataBase.SaveTrigger(trigger.ID, &trigger) + err := dataBase.SaveTrigger(trigger.ID, &trigger) + So(err, ShouldBeNil) + + err = dataBase.SetTriggerLastCheck(trigger.ID, &lastCheckTest, defaultLocalCluster) + So(err, ShouldBeNil) - _ = dataBase.SetTriggerLastCheck(trigger.ID, &lastCheckTest, moira.GraphiteLocal) - _, err := dataBase.GetTriggerLastCheck(trigger.ID) + _, err = dataBase.GetTriggerLastCheck(trigger.ID) So(err, ShouldBeNil) Convey("Given abandoned last check (without saved trigger)", func() { removedTriggerID := uuid.Must(uuid.NewV4()).String() - err = dataBase.SetTriggerLastCheck(removedTriggerID, &lastCheckTest, moira.GraphiteLocal) + err = dataBase.SetTriggerLastCheck(removedTriggerID, &lastCheckTest, defaultLocalCluster) So(err, ShouldBeNil) _, err = dataBase.GetTriggerLastCheck(removedTriggerID) @@ -360,11 +368,12 @@ func TestRemoteLastCheck(t *testing.T) { dataBase := NewTestDatabase(logger) dataBase.Flush() defer dataBase.Flush() + defaultRemoteCluster := moira.DefaultGraphiteRemoteCluster Convey("LastCheck manipulation", t, func() { Convey("Test read write delete", func() { triggerID := uuid.Must(uuid.NewV4()).String() - err := dataBase.SetTriggerLastCheck(triggerID, &lastCheckTest, moira.GraphiteRemote) + err := dataBase.SetTriggerLastCheck(triggerID, &lastCheckTest, defaultRemoteCluster) So(err, ShouldBeNil) actual, err := dataBase.GetTriggerLastCheck(triggerID) @@ -396,7 +405,7 @@ func TestRemoteLastCheck(t *testing.T) { Convey("While no metrics", func() { triggerID := uuid.Must(uuid.NewV4()).String() - err := dataBase.SetTriggerLastCheck(triggerID, &lastCheckWithNoMetrics, moira.GraphiteRemote) + err := dataBase.SetTriggerLastCheck(triggerID, &lastCheckWithNoMetrics, defaultRemoteCluster) So(err, ShouldBeNil) err = dataBase.SetTriggerCheckMaintenance(triggerID, map[string]int64{"metric1": 1, "metric5": 5}, nil, "", 0) @@ -409,7 +418,7 @@ func TestRemoteLastCheck(t *testing.T) { Convey("While no metrics to change", func() { triggerID := uuid.Must(uuid.NewV4()).String() - err := dataBase.SetTriggerLastCheck(triggerID, &lastCheckTest, moira.GraphiteRemote) + err := dataBase.SetTriggerLastCheck(triggerID, &lastCheckTest, defaultRemoteCluster) So(err, ShouldBeNil) err = dataBase.SetTriggerCheckMaintenance(triggerID, map[string]int64{"metric11": 1, "metric55": 5}, nil, "", 0) @@ -423,7 +432,7 @@ func TestRemoteLastCheck(t *testing.T) { Convey("Has metrics to change", func() { checkData := lastCheckTest triggerID := uuid.Must(uuid.NewV4()).String() - err := dataBase.SetTriggerLastCheck(triggerID, &checkData, moira.GraphiteRemote) + err := dataBase.SetTriggerLastCheck(triggerID, &checkData, defaultRemoteCluster) So(err, ShouldBeNil) err = dataBase.SetTriggerCheckMaintenance(triggerID, map[string]int64{"metric1": 1, "metric5": 5}, nil, "", 0) @@ -448,12 +457,14 @@ func TestLastCheckErrorConnection(t *testing.T) { dataBase := NewTestDatabaseWithIncorrectConfig(logger) dataBase.Flush() defer dataBase.Flush() + defaultLocalCluster := moira.MakeClusterKey(moira.GraphiteLocal, moira.DefaultCluster) + Convey("Should throw error when no connection", t, func() { actual1, err := dataBase.GetTriggerLastCheck("123") So(actual1, ShouldResemble, moira.CheckData{}) So(err, ShouldNotBeNil) - err = dataBase.SetTriggerLastCheck("123", &lastCheckTest, moira.GraphiteLocal) + err = dataBase.SetTriggerLastCheck("123", &lastCheckTest, defaultLocalCluster) So(err, ShouldNotBeNil) err = dataBase.RemoveTriggerLastCheck("123") @@ -469,12 +480,116 @@ func TestLastCheckErrorConnection(t *testing.T) { }) } +func TestGetTriggersLastCheck(t *testing.T) { + logger, _ := logging.GetLogger("dataBase") + dataBase := NewTestDatabase(logger) + dataBase.Flush() + defer dataBase.Flush() + + defaultSourceNotSetCluster := moira.MakeClusterKey(moira.TriggerSourceNotSet, moira.DefaultCluster) + + _ = dataBase.SetTriggerLastCheck("test1", &moira.CheckData{ + Timestamp: 1, + }, defaultSourceNotSetCluster) + + _ = dataBase.SetTriggerLastCheck("test2", &moira.CheckData{ + Timestamp: 2, + }, defaultSourceNotSetCluster) + + _ = dataBase.SetTriggerLastCheck("test3", &moira.CheckData{ + Timestamp: 3, + }, defaultSourceNotSetCluster) + + Convey("getTriggersLastCheck manipulations", t, func() { + Convey("Test with nil id array", func() { + actual, err := dataBase.getTriggersLastCheck(nil) + So(err, ShouldBeNil) + So(actual, ShouldResemble, []*moira.CheckData{}) + }) + + Convey("Test with correct id array", func() { + actual, err := dataBase.getTriggersLastCheck([]string{"test1", "test2", "test3"}) + So(err, ShouldBeNil) + So(actual, ShouldResemble, []*moira.CheckData{ + { + Timestamp: 1, + MetricsToTargetRelation: map[string]string{}, + }, + { + Timestamp: 2, + MetricsToTargetRelation: map[string]string{}, + }, + { + Timestamp: 3, + MetricsToTargetRelation: map[string]string{}, + }, + }) + }) + + Convey("Test with deleted trigger", func() { + dataBase.RemoveTriggerLastCheck("test2") //nolint + defer func() { + _ = dataBase.SetTriggerLastCheck("test2", &moira.CheckData{ + Timestamp: 2, + }, defaultSourceNotSetCluster) + }() + + actual, err := dataBase.getTriggersLastCheck([]string{"test1", "test2", "test3"}) + So(err, ShouldBeNil) + So(actual, ShouldResemble, []*moira.CheckData{ + { + Timestamp: 1, + MetricsToTargetRelation: map[string]string{}, + }, + nil, + { + Timestamp: 3, + MetricsToTargetRelation: map[string]string{}, + }, + }) + }) + + Convey("Test with a nonexistent trigger id", func() { + actual, err := dataBase.getTriggersLastCheck([]string{"test1", "test2", "test4"}) + So(err, ShouldBeNil) + So(actual, ShouldResemble, []*moira.CheckData{ + { + Timestamp: 1, + MetricsToTargetRelation: map[string]string{}, + }, + { + Timestamp: 2, + MetricsToTargetRelation: map[string]string{}, + }, + nil, + }) + }) + + Convey("Test with an empty trigger id", func() { + actual, err := dataBase.getTriggersLastCheck([]string{"", "test2", "test3"}) + So(err, ShouldBeNil) + So(actual, ShouldResemble, []*moira.CheckData{ + nil, + { + Timestamp: 2, + MetricsToTargetRelation: map[string]string{}, + }, + { + Timestamp: 3, + MetricsToTargetRelation: map[string]string{}, + }, + }) + }) + }) +} + func TestMaintenanceUserSave(t *testing.T) { logger, _ := logging.GetLogger("dataBase") dataBase := NewTestDatabase(logger) dataBase.Flush() defer dataBase.Flush() var triggerMaintenanceTS int64 + defaultLocalCluster := moira.MakeClusterKey(moira.GraphiteLocal, moira.DefaultCluster) Convey("Check user saving for trigger maintenance", t, func() { userLogin := "test" @@ -486,7 +601,7 @@ func TestMaintenanceUserSave(t *testing.T) { newLastCheckTest.MaintenanceInfo.StartUser = &userLogin newLastCheckTest.MaintenanceInfo.StartTime = &startTime triggerID := uuid.Must(uuid.NewV4()).String() - err := dataBase.SetTriggerLastCheck(triggerID, &lastCheckTest, moira.GraphiteLocal) + err := dataBase.SetTriggerLastCheck(triggerID, &lastCheckTest, defaultLocalCluster) So(err, ShouldBeNil) triggerMaintenanceTS = 1000 @@ -504,7 +619,7 @@ func TestMaintenanceUserSave(t *testing.T) { newLastCheckTest.MaintenanceInfo.StopUser = &userLogin newLastCheckTest.MaintenanceInfo.StopTime = &startTime triggerID := uuid.Must(uuid.NewV4()).String() - err := dataBase.SetTriggerLastCheck(triggerID, &lastCheckTest, moira.GraphiteLocal) + err := dataBase.SetTriggerLastCheck(triggerID, &lastCheckTest, defaultLocalCluster) So(err, ShouldBeNil) triggerMaintenanceTS = 1000 @@ -522,8 +637,8 @@ func TestMaintenanceUserSave(t *testing.T) { triggerID := uuid.Must(uuid.NewV4()).String() checkData.MaintenanceInfo = moira.MaintenanceInfo{} userLogin := "test" - var timeCallMaintenance = int64(3) - err := dataBase.SetTriggerLastCheck(triggerID, &checkData, moira.GraphiteLocal) + timeCallMaintenance := int64(3) + err := dataBase.SetTriggerLastCheck(triggerID, &checkData, defaultLocalCluster) So(err, ShouldBeNil) triggerMaintenanceTS = 1000 diff --git a/database/redis/locks.go b/database/redis/locks.go index f4b7c3a89..5d9eccafb 100644 --- a/database/redis/locks.go +++ b/database/redis/locks.go @@ -1,6 +1,7 @@ package redis import ( + "errors" "sync" "time" @@ -9,13 +10,13 @@ import ( "github.com/moira-alert/moira/database" ) -// NewLock returns the implementation of moira.Lock which can be used to Acquire or Release the lock +// NewLock returns the implementation of moira.Lock which can be used to Acquire or Release the lock. func (connector *DbConnector) NewLock(name string, ttl time.Duration) moira.Lock { mutex := connector.sync.NewMutex(name, redsync.WithExpiry(ttl), redsync.WithTries(1)) return &Lock{name: name, ttl: ttl, mutex: mutex} } -// Lock is used to hide low-level details of redsync.Mutex such as an extension of it +// Lock is used to hide low-level details of redsync.Mutex such as an extension of it. type Lock struct { name string ttl time.Duration @@ -25,9 +26,9 @@ type Lock struct { isHeld bool } -// Acquire attempts to acquire the lock and blocks while doing so -// Providing a non-nil stop channel can be used to abort the acquire attempt -// Returns lost channel that is closed if the lock is lost or an error +// Acquire attempts to acquire the lock and blocks while doing so. +// Providing a non-nil stop channel can be used to abort the acquire attempt. +// Returns lost channel that is closed if the lock is lost or an error. func (lock *Lock) Acquire(stop <-chan struct{}) (<-chan struct{}, error) { for { lost, err := lock.tryAcquire() @@ -35,13 +36,13 @@ func (lock *Lock) Acquire(stop <-chan struct{}) (<-chan struct{}, error) { return lost, nil } - if err == database.ErrLockAlreadyHeld { + if errors.Is(err, database.ErrLockAlreadyHeld) { return nil, database.ErrLockAlreadyHeld } - switch e := err.(type) { + switch e := err.(type) { // nolint:errorlint case *database.ErrLockNotAcquired: - if e.Err != redsync.ErrFailed { + if !errors.Is(e.Err, redsync.ErrFailed) { return nil, err } } @@ -59,7 +60,7 @@ func (lock *Lock) Acquire(stop <-chan struct{}) (<-chan struct{}, error) { } } -// Release releases the lock +// Release releases the lock. func (lock *Lock) Release() { lock.m.Lock() defer lock.m.Unlock() diff --git a/database/redis/locks_test.go b/database/redis/locks_test.go index 5d4a285f2..6850264cd 100644 --- a/database/redis/locks_test.go +++ b/database/redis/locks_test.go @@ -1,22 +1,20 @@ package redis import ( + "errors" + "math/rand" "strconv" + "testing" + "time" "github.com/go-redsync/redsync/v4" - "errors" - "github.com/moira-alert/moira/database" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" - "math/rand" - "testing" - "time" - - "github.com/golang/mock/gomock" logging "github.com/moira-alert/moira/logging/zerolog_adapter" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func Test(t *testing.T) { diff --git a/database/redis/metric.go b/database/redis/metric.go index a0e349d8a..0e12806a6 100644 --- a/database/redis/metric.go +++ b/database/redis/metric.go @@ -18,17 +18,36 @@ import ( "gopkg.in/tomb.v2" ) -// GetPatterns gets updated patterns array +var ( + ErrCleanUpDurationLessThanZero = errors.New("clean up duration value must be greater than zero, otherwise the current metrics may be deleted") + ErrCleanUpDurationGreaterThanZero = errors.New("clean up duration value must be less than zero, otherwise all metrics will be removed") +) + +func (connector *DbConnector) addPatterns(patterns ...string) error { + ctx := connector.context + client := *connector.client + + if _, err := client.SAdd(ctx, patternsListKey, patterns).Result(); err != nil { + return fmt.Errorf("failed to add moira patterns, error: %w", err) + } + + return nil +} + +// GetPatterns gets updated patterns array. func (connector *DbConnector) GetPatterns() ([]string, error) { - c := *connector.client - patterns, err := c.SMembers(connector.context, patternsListKey).Result() + ctx := connector.context + client := *connector.client + + patterns, err := client.SMembers(ctx, patternsListKey).Result() if err != nil { return nil, fmt.Errorf("failed to get moira patterns, error: %w", err) } + return patterns, nil } -// GetMetricsValues gets metrics values for given interval +// GetMetricsValues gets metrics values for given interval. func (connector *DbConnector) GetMetricsValues(metrics []string, from int64, until int64) (map[string][]*moira.MetricValue, error) { c := *connector.client resultByMetrics := make([]*redis.ZSliceCmd, 0, len(metrics)) @@ -52,7 +71,7 @@ func (connector *DbConnector) GetMetricsValues(metrics []string, from int64, unt return res, nil } -// GetMetricRetention gets given metric retention, if retention is empty then return default retention value(60) +// GetMetricRetention gets given metric retention, if retention is empty then return default retention value(60). func (connector *DbConnector) GetMetricRetention(metric string) (int64, error) { retention, ok := connector.getCachedRetention(metric) if ok { @@ -60,7 +79,7 @@ func (connector *DbConnector) GetMetricRetention(metric string) (int64, error) { } retention, err := connector.getMetricRetention(metric) if err != nil { - if err == database.ErrNil { + if errors.Is(err, database.ErrNil) { return retention, nil } return retention, err @@ -83,7 +102,7 @@ func (connector *DbConnector) getMetricRetention(metric string) (int64, error) { retentionStr, err := c.Get(connector.context, metricRetentionKey(metric)).Result() if err != nil { - if err == redis.Nil { + if errors.Is(err, redis.Nil) { return 60, database.ErrNil //nolint } return 0, fmt.Errorf("failed GET metric retention:%s, error: %w", metric, err) @@ -95,7 +114,7 @@ func (connector *DbConnector) getMetricRetention(metric string) (int64, error) { return retention, nil } -// SaveMetrics saves new metrics +// SaveMetrics saves new metrics. func (connector *DbConnector) SaveMetrics(metrics map[string]*moira.MatchedMetric) error { if len(metrics) == 0 { return nil @@ -105,7 +124,7 @@ func (connector *DbConnector) SaveMetrics(metrics map[string]*moira.MatchedMetri c := *connector.client ctx := connector.context - rand.Seed(time.Now().UnixNano()) + rand := rand.New(rand.NewSource(time.Now().UnixNano())) pipe := c.TxPipeline() for _, metric := range metrics { @@ -131,12 +150,11 @@ func (connector *DbConnector) SaveMetrics(metrics map[string]*moira.MatchedMetri Metric: metric.Metric, Pattern: pattern, }) - if err != nil { continue } - var metricEventsChannel = metricEventsChannels[rand.Intn(len(metricEventsChannels))] + metricEventsChannel := metricEventsChannels[rand.Intn(len(metricEventsChannels))] pipe.SAdd(ctx, metricEventsChannel, event) } } @@ -151,7 +169,7 @@ func (connector *DbConnector) SaveMetrics(metrics map[string]*moira.MatchedMetri return nil } -// SubscribeMetricEvents creates subscription for new metrics and return channel for this events +// SubscribeMetricEvents creates subscription for new metrics and return channel for this events. func (connector *DbConnector) SubscribeMetricEvents(tomb *tomb.Tomb, params *moira.SubscribeMetricEventsParams) (<-chan *moira.MetricEvent, error) { responseChannel := make(chan string, metricEventChannelSize) metricChannel := make(chan *moira.MetricEvent, metricEventChannelSize) @@ -217,7 +235,7 @@ const ( func (connector *DbConnector) handlePopResponse(data []string, popError error, responseChannel chan string, defaultDelay time.Duration) time.Duration { if popError != nil { - if popError != redis.Nil { + if !errors.Is(popError, redis.Nil) { connector.logger.Error(). Error(popError). Msg("Failed to pop new metric events") @@ -234,51 +252,52 @@ func (connector *DbConnector) handlePopResponse(data []string, popError error, r return defaultDelay } -// AddPatternMetric adds new metrics by given pattern +// AddPatternMetric adds new metrics by given pattern. func (connector *DbConnector) AddPatternMetric(pattern, metric string) error { c := *connector.client if _, err := c.SAdd(connector.context, patternMetricsKey(pattern), metric).Result(); err != nil { - return fmt.Errorf("failed to SADD pattern-metrics, pattern: %s, metric: %s, error: %v", pattern, metric, err) + return fmt.Errorf("failed to SADD pattern-metrics, pattern: %s, metric: %s, error: %w", pattern, metric, err) } + return nil } -// GetPatternMetrics gets all metrics by given pattern +// GetPatternMetrics gets all metrics by given pattern. func (connector *DbConnector) GetPatternMetrics(pattern string) ([]string, error) { c := *connector.client metrics, err := c.SMembers(connector.context, patternMetricsKey(pattern)).Result() if err != nil { - if err == redis.Nil { + if errors.Is(err, redis.Nil) { return make([]string, 0), nil } - return nil, fmt.Errorf("failed to get pattern metrics for pattern %s, error: %v", pattern, err) + return nil, fmt.Errorf("failed to get pattern metrics for pattern %s, error: %w", pattern, err) } return metrics, nil } -// RemovePattern removes pattern from patterns list +// RemovePattern removes pattern from patterns list. func (connector *DbConnector) RemovePattern(pattern string) error { c := *connector.client if _, err := c.SRem(connector.context, patternsListKey, pattern).Result(); err != nil { - return fmt.Errorf("failed to remove pattern: %s, error: %v", pattern, err) + return fmt.Errorf("failed to remove pattern: %s, error: %w", pattern, err) } return nil } -// RemovePatternsMetrics removes metrics by given patterns +// RemovePatternsMetrics removes metrics by given patterns. func (connector *DbConnector) RemovePatternsMetrics(patterns []string) error { pipe := (*connector.client).TxPipeline() for _, pattern := range patterns { pipe.Del(connector.context, patternMetricsKey(pattern)) //nolint } if _, err := pipe.Exec(connector.context); err != nil { - return fmt.Errorf("failed to EXEC: %v", err) + return fmt.Errorf("failed to EXEC: %w", err) } return nil } -// RemovePatternWithMetrics removes pattern metrics with data and given pattern +// RemovePatternWithMetrics removes pattern metrics with data and given pattern. func (connector *DbConnector) RemovePatternWithMetrics(pattern string) error { metrics, err := connector.GetPatternMetrics(pattern) if err != nil { @@ -292,7 +311,7 @@ func (connector *DbConnector) RemovePatternWithMetrics(pattern string) error { } pipe.Del(connector.context, patternMetricsKey(pattern)) if _, err = pipe.Exec(connector.context); err != nil { - return fmt.Errorf("failed to EXEC: %v", err) + return fmt.Errorf("failed to EXEC: %w", err) } return nil } @@ -301,32 +320,34 @@ func (connector *DbConnector) RemovePatternWithMetrics(pattern string) error { func (connector *DbConnector) RemoveMetricRetention(metric string) error { c := *connector.client if _, err := c.Del(connector.context, metricRetentionKey(metric)).Result(); err != nil { - return fmt.Errorf("failed to remove retention, error: %v", err) + return fmt.Errorf("failed to remove retention, error: %w", err) } return nil } -// RemoveMetricValues remove metric timestamps values from 0 to given time -func (connector *DbConnector) RemoveMetricValues(metric string, toTime int64) (int64, error) { +// RemoveMetricValues remove values by metrics from the interval of passed parameters, if they are not in the metricsCache. +// In from and to, expect either -inf, +inf, or timestamps as strings. +func (connector *DbConnector) RemoveMetricValues(metric string, from, to string) (int64, error) { if !connector.needRemoveMetrics(metric) { return 0, nil } + c := *connector.client - result, err := c.ZRemRangeByScore(connector.context, metricDataKey(metric), "-inf", strconv.FormatInt(toTime, 10)).Result() + result, err := c.ZRemRangeByScore(connector.context, metricDataKey(metric), from, to).Result() if err != nil { - return 0, fmt.Errorf("failed to remove metrics from -inf to %v, error: %v", toTime, err) + return 0, fmt.Errorf("failed to remove metrics from %s to %s, error: %w", from, to, err) } return result, nil } -// GetMetricsTTLSeconds returns maximum time in seconds to store metrics in Redis +// GetMetricsTTLSeconds returns maximum time in seconds to store metrics in Redis. func (connector *DbConnector) GetMetricsTTLSeconds() int64 { return connector.metricsTTLSeconds } -// RemoveMetricsValues remove metrics timestamps values from 0 to given time +// RemoveMetricsValues remove metrics timestamps values from 0 to given time. func (connector *DbConnector) RemoveMetricsValues(metrics []string, toTime int64) error { pipe := (*connector.client).TxPipeline() for _, metric := range metrics { @@ -335,7 +356,7 @@ func (connector *DbConnector) RemoveMetricsValues(metrics []string, toTime int64 } } if _, err := pipe.Exec(connector.context); err != nil { - return fmt.Errorf("failed to EXEC remove metrics: %v", err) + return fmt.Errorf("failed to EXEC remove metrics: %w", err) } return nil } @@ -345,23 +366,25 @@ func (connector *DbConnector) needRemoveMetrics(metric string) bool { return err == nil } -func cleanUpOutdatedMetricsOnRedisNode(connector *DbConnector, client redis.UniversalClient, duration time.Duration) error { +func cleanUpMetricsOnRedisNode(connector *DbConnector, client redis.UniversalClient, from, to string) error { metricsIterator := client.ScanType(connector.context, 0, metricDataKey("*"), 0, "zset").Iterator() var count int64 for metricsIterator.Next(connector.context) { key := metricsIterator.Val() metric := strings.TrimPrefix(key, metricDataKey("")) - deletedCount, err := flushMetric(connector, metric, duration) + + deletedCount, err := connector.RemoveMetricValues(metric, from, to) if err != nil { return err } + count += deletedCount } connector.logger.Info(). Int64("count deleted metrics", count). - Msg("Cleaned up usefully metrics for trigger") + Msg("Cleaned up metrics") return nil } @@ -374,7 +397,7 @@ func cleanUpAbandonedRetentionsOnRedisNode(connector *DbConnector, client redis. result, err := (*connector.client).Exists(connector.context, metricDataKey(metric)).Result() if err != nil { - return fmt.Errorf("failed to check metric data existence, error: %v", err) + return fmt.Errorf("failed to check metric data existence, error: %w", err) } if isMetricExists := result == 1; !isMetricExists { err = connector.RemoveMetricRetention(metric) @@ -389,14 +412,106 @@ func cleanUpAbandonedRetentionsOnRedisNode(connector *DbConnector, client redis. func (connector *DbConnector) CleanUpOutdatedMetrics(duration time.Duration) error { if duration >= 0 { - return errors.New("clean up duration value must be less than zero, otherwise all metrics will be removed") + return ErrCleanUpDurationGreaterThanZero } + from := "-inf" + toTs := time.Now().UTC().Add(duration).Unix() + to := strconv.FormatInt(toTs, 10) + return connector.callFunc(func(connector *DbConnector, client redis.UniversalClient) error { - return cleanUpOutdatedMetricsOnRedisNode(connector, client, duration) + return cleanUpMetricsOnRedisNode(connector, client, from, to) }) } +func (connector *DbConnector) CleanUpFutureMetrics(duration time.Duration) error { + if duration <= 0 { + return ErrCleanUpDurationLessThanZero + } + + fromTs := connector.clock.Now().Add(duration).Unix() + from := strconv.FormatInt(fromTs, 10) + to := "+inf" + + return connector.callFunc(func(connector *DbConnector, client redis.UniversalClient) error { + return cleanUpMetricsOnRedisNode(connector, client, from, to) + }) +} + +// CleanupOutdatedPatternMetrics removes already deleted metrics from the moira-pattern-metrics key. +func (connector *DbConnector) CleanupOutdatedPatternMetrics() (int64, error) { + var count int64 + + ctx := connector.context + client := *connector.client + + patterns, err := connector.GetPatterns() + if err != nil { + return count, fmt.Errorf("failed to get patterns: %w", err) + } + + pipe := client.TxPipeline() + + for _, pattern := range patterns { + nonExistentMetrics, err := connector.getNonExistentPatternMetrics(pattern) + if err != nil { + return count, fmt.Errorf("failed to get non existent metrics by pattern: %w", err) + } + + for _, metric := range nonExistentMetrics { + pipe.SRem(ctx, patternMetricsKey(pattern), metric) + count++ + } + } + + if _, err := pipe.Exec(ctx); err != nil { + return count, fmt.Errorf("failed to remove outdated pattern metrics: %w", err) + } + + return count, nil +} + +func (connector *DbConnector) getNonExistentPatternMetrics(pattern string) ([]string, error) { + ctx := connector.context + client := *connector.client + + metrics, err := connector.GetPatternMetrics(pattern) + if err != nil { + return nil, fmt.Errorf("failed to get pattern metrics: %w", err) + } + + pipe := client.TxPipeline() + + for _, metric := range metrics { + pipe.Exists(ctx, metricDataKey(metric)) + } + + exec, err := pipe.Exec(ctx) + if err != nil { + return nil, fmt.Errorf("failed to Exec Exists metric by pattern: %w", err) + } + + nonExistentMetrics := make([]string, 0) + + for i, cmder := range exec { + cmd, ok := cmder.(*redis.IntCmd) + if !ok { + return nil, fmt.Errorf("failed to convert cmder to intcmd result: %w", err) + } + + res, err := cmd.Result() + if err != nil { + return nil, err + } + + if res == 0 { + nonExistentMetrics = append(nonExistentMetrics, metrics[i]) + } + } + + return nonExistentMetrics, nil +} + // CleanUpAbandonedRetentions removes metric retention keys that have no corresponding metric data. func (connector *DbConnector) CleanUpAbandonedRetentions() error { return connector.callFunc(cleanUpAbandonedRetentionsOnRedisNode) @@ -476,16 +591,6 @@ func (connector *DbConnector) RemoveAllMetrics() error { return connector.callFunc(removeAllMetricsOnRedisNode) } -func flushMetric(database moira.Database, metric string, duration time.Duration) (int64, error) { - lastTs := time.Now().UTC() - toTs := lastTs.Add(duration).Unix() - deletedCount, err := database.RemoveMetricValues(metric, toTs) - if err != nil { - return deletedCount, err - } - return deletedCount, nil -} - var patternsListKey = "moira-pattern-list" var metricEventsChannels = []string{ diff --git a/database/redis/metric_test.go b/database/redis/metric_test.go index 665470f8c..47f392284 100644 --- a/database/redis/metric_test.go +++ b/database/redis/metric_test.go @@ -3,16 +3,25 @@ package redis import ( "errors" "fmt" + "strconv" "testing" "time" "github.com/moira-alert/moira" logging "github.com/moira-alert/moira/logging/zerolog_adapter" + mock_clock "github.com/moira-alert/moira/mock/clock" "github.com/patrickmn/go-cache" . "github.com/smartystreets/goconvey/convey" + "github.com/stretchr/testify/assert" + "go.uber.org/mock/gomock" "gopkg.in/tomb.v2" ) +const ( + toInf = "+inf" + fromInf = "-inf" +) + func TestMetricsStoring(t *testing.T) { logger, _ := logging.GetLogger("dataBase") dataBase := NewTestDatabase(logger) @@ -29,7 +38,7 @@ func TestMetricsStoring(t *testing.T) { So(err, ShouldBeNil) So(actual, ShouldBeEmpty) - //But you still can add new metrics by this pattern + // But you still can add new metrics by this pattern err = dataBase.AddPatternMetric(pattern, metric1) So(err, ShouldBeNil) @@ -44,7 +53,7 @@ func TestMetricsStoring(t *testing.T) { So(err, ShouldBeNil) So(actualMetric, ShouldHaveLength, 2) - //And nothing to remove + // And nothing to remove err = dataBase.RemovePattern(pattern) So(err, ShouldBeNil) @@ -52,14 +61,14 @@ func TestMetricsStoring(t *testing.T) { So(err, ShouldBeNil) So(actual, ShouldBeEmpty) - //Now save trigger with this pattern + // Now save trigger with this pattern dataBase.SaveTrigger(trigger.ID, &trigger) //nolint actual, err = dataBase.GetPatterns() So(err, ShouldBeNil) So(actual, ShouldResemble, trigger.Patterns) - //And you still can get metrics by this pattern + // And you still can get metrics by this pattern actualMetric, err = dataBase.GetPatternMetrics(pattern) So(err, ShouldBeNil) So(actualMetric, ShouldHaveLength, 2) @@ -68,7 +77,7 @@ func TestMetricsStoring(t *testing.T) { err = dataBase.RemovePattern(pattern) So(err, ShouldBeNil) - //But you still can get metrics by this pattern + // But you still can get metrics by this pattern actualMetric, err = dataBase.GetPatternMetrics(pattern) So(err, ShouldBeNil) So(actualMetric, ShouldHaveLength, 2) @@ -77,17 +86,17 @@ func TestMetricsStoring(t *testing.T) { So(err, ShouldBeNil) }) - Convey("You can remove remove pattern with metrics in one request", func() { + Convey("You can remove pattern with metrics in one request", func() { err = dataBase.RemovePatternWithMetrics(pattern) So(err, ShouldBeNil) }) - //Now it have not patterns and metrics for this + // Now it have not patterns and metrics for this actual, err = dataBase.GetPatterns() So(err, ShouldBeNil) So(actual, ShouldBeEmpty) - //And you still can get metrics by this pattern + // And you still can get metrics by this pattern actualMetric, err = dataBase.GetPatternMetrics(pattern) So(err, ShouldBeNil) So(actualMetric, ShouldBeEmpty) @@ -173,11 +182,11 @@ func TestMetricsStoring(t *testing.T) { So(err, ShouldBeNil) So(actualValues, ShouldResemble, map[string][]*moira.MetricValue{metric1: {}}) - //Save metric with changed retention + // Save metric with changed retention err = dataBase.SaveMetrics(map[string]*moira.MatchedMetric{metric1: val3}) So(err, ShouldBeNil) - //But retention still old, because cache + // But retention still old, because cache actualRet, err = dataBase.GetMetricRetention(metric1) So(err, ShouldBeNil) So(actualRet, ShouldEqual, 10) @@ -236,48 +245,51 @@ func TestRemoveMetricValues(t *testing.T) { dataBase.metricsCache = cache.New(time.Second*2, time.Minute*60) dataBase.Flush() defer dataBase.Flush() - metric1 := "my.test.super.metric" - pattern := "my.test.*.metric*" - met1 := &moira.MatchedMetric{ - Patterns: []string{pattern}, - Metric: metric1, - Retention: 10, - RetentionTimestamp: 10, - Timestamp: 15, - Value: 1, - } - met2 := &moira.MatchedMetric{ - Patterns: []string{pattern}, - Metric: metric1, - Retention: 10, - RetentionTimestamp: 20, - Timestamp: 24, - Value: 2, - } - met3 := &moira.MatchedMetric{ - Patterns: []string{pattern}, - Metric: metric1, - Retention: 10, - RetentionTimestamp: 30, - Timestamp: 34, - Value: 3, - } - met4 := &moira.MatchedMetric{ - Patterns: []string{pattern}, - Metric: metric1, - Retention: 10, - RetentionTimestamp: 40, - Timestamp: 46, - Value: 4, - } - - Convey("Test", t, func() { + + Convey("Test that old metrics will be deleted", t, func() { + metric1 := "my.test.super.metric" + pattern := "my.test.*.metric*" + met1 := &moira.MatchedMetric{ + Patterns: []string{pattern}, + Metric: metric1, + Retention: 10, + RetentionTimestamp: 10, + Timestamp: 15, + Value: 1, + } + met2 := &moira.MatchedMetric{ + Patterns: []string{pattern}, + Metric: metric1, + Retention: 10, + RetentionTimestamp: 20, + Timestamp: 24, + Value: 2, + } + met3 := &moira.MatchedMetric{ + Patterns: []string{pattern}, + Metric: metric1, + Retention: 10, + RetentionTimestamp: 30, + Timestamp: 34, + Value: 3, + } + met4 := &moira.MatchedMetric{ + Patterns: []string{pattern}, + Metric: metric1, + Retention: 10, + RetentionTimestamp: 40, + Timestamp: 46, + Value: 4, + } + + from := fromInf + err := dataBase.SaveMetrics(map[string]*moira.MatchedMetric{metric1: met1}) - So(err, ShouldBeNil) //Save metric with changed retention + So(err, ShouldBeNil) // Save metric with changed retention err = dataBase.SaveMetrics(map[string]*moira.MatchedMetric{metric1: met2}) - So(err, ShouldBeNil) //Save metric with changed retention + So(err, ShouldBeNil) // Save metric with changed retention err = dataBase.SaveMetrics(map[string]*moira.MatchedMetric{metric1: met3}) - So(err, ShouldBeNil) //Save metric with changed retention + So(err, ShouldBeNil) // Save metric with changed retention err = dataBase.SaveMetrics(map[string]*moira.MatchedMetric{metric1: met4}) So(err, ShouldBeNil) @@ -292,7 +304,9 @@ func TestRemoveMetricValues(t *testing.T) { }, }) - deletedCount, err := dataBase.RemoveMetricValues(metric1, 11) + var toTs int64 = 11 + to := strconv.FormatInt(toTs, 10) + deletedCount, err := dataBase.RemoveMetricValues(metric1, from, to) So(err, ShouldBeNil) So(deletedCount, ShouldResemble, int64(1)) @@ -306,7 +320,9 @@ func TestRemoveMetricValues(t *testing.T) { }, }) - deletedCount, err = dataBase.RemoveMetricValues(metric1, 22) + toTs = 22 + to = strconv.FormatInt(toTs, 10) + deletedCount, err = dataBase.RemoveMetricValues(metric1, from, to) So(err, ShouldBeNil) So(deletedCount, ShouldResemble, int64(0)) @@ -333,7 +349,7 @@ func TestRemoveMetricValues(t *testing.T) { }, }) - time.Sleep(time.Second * 2) + dataBase.metricsCache.Flush() err = dataBase.RemoveMetricsValues([]string{metric1}, 22) So(err, ShouldBeNil) @@ -347,9 +363,11 @@ func TestRemoveMetricValues(t *testing.T) { }, }) - time.Sleep(time.Second * 2) + dataBase.metricsCache.Flush() - deletedCount, err = dataBase.RemoveMetricValues(metric1, 30) + toTs = 30 + to = strconv.FormatInt(toTs, 10) + deletedCount, err = dataBase.RemoveMetricValues(metric1, from, to) So(err, ShouldBeNil) So(deletedCount, ShouldResemble, int64(1)) @@ -361,9 +379,11 @@ func TestRemoveMetricValues(t *testing.T) { }, }) - time.Sleep(time.Second * 2) + dataBase.metricsCache.Flush() - deletedCount, err = dataBase.RemoveMetricValues(metric1, 39) + toTs = 39 + to = strconv.FormatInt(toTs, 10) + deletedCount, err = dataBase.RemoveMetricValues(metric1, from, to) So(err, ShouldBeNil) So(deletedCount, ShouldResemble, int64(0)) @@ -375,9 +395,11 @@ func TestRemoveMetricValues(t *testing.T) { }, }) - time.Sleep(time.Second * 2) + dataBase.metricsCache.Flush() - deletedCount, err = dataBase.RemoveMetricValues(metric1, 49) + toTs = 49 + to = strconv.FormatInt(toTs, 10) + deletedCount, err = dataBase.RemoveMetricValues(metric1, from, to) So(err, ShouldBeNil) So(deletedCount, ShouldResemble, int64(1)) @@ -385,6 +407,215 @@ func TestRemoveMetricValues(t *testing.T) { So(err, ShouldBeNil) So(actualValues, ShouldResemble, map[string][]*moira.MetricValue{metric1: {}}) }) + + Convey("Test remove metric values", t, func() { + metric := "metric1" + + metric1 := &moira.MatchedMetric{ + Metric: metric, + RetentionTimestamp: 10, + Timestamp: 10, + Retention: 10, + Value: 1, + } + + metric2 := &moira.MatchedMetric{ + Metric: metric, + RetentionTimestamp: 20, + Timestamp: 20, + Retention: 10, + Value: 2, + } + + metric3 := &moira.MatchedMetric{ + Metric: metric, + RetentionTimestamp: 30, + Timestamp: 30, + Retention: 10, + Value: 3, + } + + metric4 := &moira.MatchedMetric{ + Metric: metric, + RetentionTimestamp: 40, + Timestamp: 40, + Retention: 10, + Value: 4, + } + + metric5 := &moira.MatchedMetric{ + Metric: metric, + RetentionTimestamp: 50, + Timestamp: 50, + Retention: 10, + Value: 5, + } + + Convey("Deleting metrics over the entire interval (from -inf to +inf)", func() { + defer func() { + dataBase.metricsCache.Flush() + }() + + from := fromInf + to := toInf + + err := dataBase.SaveMetrics(map[string]*moira.MatchedMetric{metric: metric1}) + So(err, ShouldBeNil) + err = dataBase.SaveMetrics(map[string]*moira.MatchedMetric{metric: metric2}) + So(err, ShouldBeNil) + err = dataBase.SaveMetrics(map[string]*moira.MatchedMetric{metric: metric3}) + So(err, ShouldBeNil) + err = dataBase.SaveMetrics(map[string]*moira.MatchedMetric{metric: metric4}) + So(err, ShouldBeNil) + err = dataBase.SaveMetrics(map[string]*moira.MatchedMetric{metric: metric5}) + So(err, ShouldBeNil) + + dataBase.metricsCache.Flush() + + actualValues, err := dataBase.GetMetricsValues([]string{metric}, 1, 99) + So(err, ShouldBeNil) + So(actualValues, ShouldResemble, map[string][]*moira.MetricValue{ + metric: { + &moira.MetricValue{Timestamp: 10, RetentionTimestamp: 10, Value: 1}, + &moira.MetricValue{Timestamp: 20, RetentionTimestamp: 20, Value: 2}, + &moira.MetricValue{Timestamp: 30, RetentionTimestamp: 30, Value: 3}, + &moira.MetricValue{Timestamp: 40, RetentionTimestamp: 40, Value: 4}, + &moira.MetricValue{Timestamp: 50, RetentionTimestamp: 50, Value: 5}, + }, + }) + + deletedMetrics, err := dataBase.RemoveMetricValues(metric, from, to) + So(err, ShouldBeNil) + So(deletedMetrics, ShouldEqual, 5) + + actualValues, err = dataBase.GetMetricsValues([]string{metric}, 1, 99) + So(err, ShouldBeNil) + So(actualValues, ShouldResemble, map[string][]*moira.MetricValue{metric: {}}) + }) + + Convey("Deletion of metrics on the interval up to the first metric (from -inf to 5)", func() { + defer func() { + dataBase.metricsCache.Flush() + + deletedMetrics, err := dataBase.RemoveMetricValues(metric, fromInf, toInf) + So(err, ShouldBeNil) + So(deletedMetrics, ShouldEqual, 5) + }() + + from := fromInf + to := "5" + + err := dataBase.SaveMetrics(map[string]*moira.MatchedMetric{metric: metric1}) + So(err, ShouldBeNil) + err = dataBase.SaveMetrics(map[string]*moira.MatchedMetric{metric: metric2}) + So(err, ShouldBeNil) + err = dataBase.SaveMetrics(map[string]*moira.MatchedMetric{metric: metric3}) + So(err, ShouldBeNil) + err = dataBase.SaveMetrics(map[string]*moira.MatchedMetric{metric: metric4}) + So(err, ShouldBeNil) + err = dataBase.SaveMetrics(map[string]*moira.MatchedMetric{metric: metric5}) + So(err, ShouldBeNil) + + dataBase.metricsCache.Flush() + + deletedMetrics, err := dataBase.RemoveMetricValues(metric, from, to) + So(err, ShouldBeNil) + So(deletedMetrics, ShouldEqual, 0) + + actualValues, err := dataBase.GetMetricsValues([]string{metric}, 1, 99) + So(err, ShouldBeNil) + So(actualValues, ShouldResemble, map[string][]*moira.MetricValue{ + metric: { + &moira.MetricValue{Timestamp: 10, RetentionTimestamp: 10, Value: 1}, + &moira.MetricValue{Timestamp: 20, RetentionTimestamp: 20, Value: 2}, + &moira.MetricValue{Timestamp: 30, RetentionTimestamp: 30, Value: 3}, + &moira.MetricValue{Timestamp: 40, RetentionTimestamp: 40, Value: 4}, + &moira.MetricValue{Timestamp: 50, RetentionTimestamp: 50, Value: 5}, + }, + }) + }) + + Convey("Deleting metrics on the interval after the last metric (from 60 to +inf)", func() { + defer func() { + dataBase.metricsCache.Flush() + + deletedMetrics, err := dataBase.RemoveMetricValues(metric, fromInf, toInf) + So(err, ShouldBeNil) + So(deletedMetrics, ShouldEqual, 5) + }() + + from := "60" + to := toInf + + err := dataBase.SaveMetrics(map[string]*moira.MatchedMetric{metric: metric1}) + So(err, ShouldBeNil) + err = dataBase.SaveMetrics(map[string]*moira.MatchedMetric{metric: metric2}) + So(err, ShouldBeNil) + err = dataBase.SaveMetrics(map[string]*moira.MatchedMetric{metric: metric3}) + So(err, ShouldBeNil) + err = dataBase.SaveMetrics(map[string]*moira.MatchedMetric{metric: metric4}) + So(err, ShouldBeNil) + err = dataBase.SaveMetrics(map[string]*moira.MatchedMetric{metric: metric5}) + So(err, ShouldBeNil) + + dataBase.metricsCache.Flush() + + deletedMetrics, err := dataBase.RemoveMetricValues(metric, from, to) + So(err, ShouldBeNil) + So(deletedMetrics, ShouldEqual, 0) + + actualValues, err := dataBase.GetMetricsValues([]string{metric}, 1, 99) + So(err, ShouldBeNil) + So(actualValues, ShouldResemble, map[string][]*moira.MetricValue{ + metric: { + &moira.MetricValue{Timestamp: 10, RetentionTimestamp: 10, Value: 1}, + &moira.MetricValue{Timestamp: 20, RetentionTimestamp: 20, Value: 2}, + &moira.MetricValue{Timestamp: 30, RetentionTimestamp: 30, Value: 3}, + &moira.MetricValue{Timestamp: 40, RetentionTimestamp: 40, Value: 4}, + &moira.MetricValue{Timestamp: 50, RetentionTimestamp: 50, Value: 5}, + }, + }) + }) + + Convey("Deleting metrics inside the metric interval (from 20 to 40)", func() { + defer func() { + dataBase.metricsCache.Flush() + + deletedMetrics, err := dataBase.RemoveMetricValues(metric, fromInf, toInf) + So(err, ShouldBeNil) + So(deletedMetrics, ShouldEqual, 2) + }() + + from := "20" + to := "40" + + err := dataBase.SaveMetrics(map[string]*moira.MatchedMetric{metric: metric1}) + So(err, ShouldBeNil) + err = dataBase.SaveMetrics(map[string]*moira.MatchedMetric{metric: metric2}) + So(err, ShouldBeNil) + err = dataBase.SaveMetrics(map[string]*moira.MatchedMetric{metric: metric3}) + So(err, ShouldBeNil) + err = dataBase.SaveMetrics(map[string]*moira.MatchedMetric{metric: metric4}) + So(err, ShouldBeNil) + err = dataBase.SaveMetrics(map[string]*moira.MatchedMetric{metric: metric5}) + So(err, ShouldBeNil) + + dataBase.metricsCache.Flush() + + deletedMetrics, err := dataBase.RemoveMetricValues(metric, from, to) + So(err, ShouldBeNil) + So(deletedMetrics, ShouldEqual, 3) + + actualValues, err := dataBase.GetMetricsValues([]string{metric}, 1, 99) + So(err, ShouldBeNil) + So(actualValues, ShouldResemble, map[string][]*moira.MetricValue{ + metric: { + &moira.MetricValue{Timestamp: 10, RetentionTimestamp: 10, Value: 1}, + &moira.MetricValue{Timestamp: 50, RetentionTimestamp: 50, Value: 5}, + }, + }) + }) + }) } func TestMetricSubscription(t *testing.T) { @@ -495,7 +726,10 @@ func TestMetricsStoringErrorConnection(t *testing.T) { err = dataBase.RemovePatternWithMetrics("123") So(err, ShouldNotBeNil) - deletedCount, err := dataBase.RemoveMetricValues("123", 1) + from := fromInf + var toTs int64 = 1 + to := strconv.FormatInt(toTs, 10) + deletedCount, err := dataBase.RemoveMetricValues("123", from, to) So(err, ShouldNotBeNil) So(deletedCount, ShouldResemble, int64(0)) @@ -657,6 +891,452 @@ func TestCleanupOutdatedMetrics(t *testing.T) { }) } +func TestCleanupFutureMetrics(t *testing.T) { + logger, _ := logging.ConfigureLog("stdout", "warn", "test", true) + dataBase := NewTestDatabase(logger) + dataBase.Flush() + defer dataBase.Flush() + + mockCtrl := gomock.NewController(t) + defer mockCtrl.Finish() + mockClock := mock_clock.NewMockClock(mockCtrl) + + dataBase.clock = mockClock + + testTime := time.Date(2022, time.June, 6, 10, 0, 0, 0, time.UTC) + testTimeUnix := testTime.Unix() + + retention := 10 + + Convey("Test clean up future metrics", t, func() { + const ( + metric1 = "metric1" + metric2 = "metric2" + metric3 = "metric3" + ) + + matchedMetric1 := &moira.MatchedMetric{ + Metric: metric1, + Value: 1, + Timestamp: testTimeUnix, + RetentionTimestamp: testTimeUnix, + Retention: retention, + } + + matchedMetric2 := &moira.MatchedMetric{ + Metric: metric1, + Value: 2, + Timestamp: testTimeUnix + int64(retention), + RetentionTimestamp: testTimeUnix + int64(retention), + Retention: retention, + } + + matchedMetric3 := &moira.MatchedMetric{ + Metric: metric2, + Value: 3, + Timestamp: testTimeUnix, + RetentionTimestamp: testTimeUnix, + Retention: retention, + } + + matchedMetric4 := &moira.MatchedMetric{ + Metric: metric2, + Value: 4, + Timestamp: testTimeUnix + int64(retention), + RetentionTimestamp: testTimeUnix + int64(retention), + Retention: retention, + } + + matchedMetric5 := &moira.MatchedMetric{ + Metric: metric3, + Value: 5, + Timestamp: testTimeUnix, + RetentionTimestamp: testTimeUnix, + Retention: retention, + } + + Convey("Without future metrics", func() { + defer func() { + dataBase.metricsCache.Flush() + }() + + err := dataBase.SaveMetrics(map[string]*moira.MatchedMetric{ + metric1: matchedMetric1, + metric2: matchedMetric3, + metric3: matchedMetric5, + }) + So(err, ShouldBeNil) + + err = dataBase.SaveMetrics(map[string]*moira.MatchedMetric{ + metric1: matchedMetric2, + metric2: matchedMetric4, + }) + So(err, ShouldBeNil) + + mockClock.EXPECT().Now().Return(testTime).Times(1) + + err = dataBase.CleanUpFutureMetrics(time.Hour) + So(err, ShouldBeNil) + + actualMetrics, err := dataBase.GetMetricsValues([]string{metric1, metric2, metric3}, testTimeUnix, testTimeUnix+int64(retention)) + So(actualMetrics, ShouldResemble, map[string][]*moira.MetricValue{ + metric1: { + { + RetentionTimestamp: testTimeUnix, + Timestamp: testTimeUnix, + Value: 1, + }, + { + RetentionTimestamp: testTimeUnix + int64(retention), + Timestamp: testTimeUnix + int64(retention), + Value: 2, + }, + }, + metric2: { + { + RetentionTimestamp: testTimeUnix, + Timestamp: testTimeUnix, + Value: 3, + }, + { + RetentionTimestamp: testTimeUnix + int64(retention), + Timestamp: testTimeUnix + int64(retention), + Value: 4, + }, + }, + metric3: { + { + RetentionTimestamp: testTimeUnix, + Timestamp: testTimeUnix, + Value: 5, + }, + }, + }) + So(err, ShouldBeNil) + }) + + Convey("With future metrics", func() { + defer func() { + dataBase.metricsCache.Flush() + }() + + err := dataBase.SaveMetrics(map[string]*moira.MatchedMetric{ + metric1: matchedMetric1, + metric2: matchedMetric3, + metric3: matchedMetric5, + }) + So(err, ShouldBeNil) + + err = dataBase.SaveMetrics(map[string]*moira.MatchedMetric{ + metric1: matchedMetric2, + metric2: matchedMetric4, + }) + So(err, ShouldBeNil) + + mockClock.EXPECT().Now().Return(testTime).Times(1) + + err = dataBase.CleanUpFutureMetrics(5 * time.Second) + So(err, ShouldBeNil) + + actualMetrics, err := dataBase.GetMetricsValues([]string{metric1, metric2, metric3}, testTimeUnix, testTimeUnix+int64(retention)) + So(actualMetrics, ShouldResemble, map[string][]*moira.MetricValue{ + metric1: { + { + RetentionTimestamp: testTimeUnix, + Timestamp: testTimeUnix, + Value: 1, + }, + }, + metric2: { + { + RetentionTimestamp: testTimeUnix, + Timestamp: testTimeUnix, + Value: 3, + }, + }, + metric3: { + { + RetentionTimestamp: testTimeUnix, + Timestamp: testTimeUnix, + Value: 5, + }, + }, + }) + So(err, ShouldBeNil) + }) + }) +} + +func TestCleanupOutdatedPatternMetrics(t *testing.T) { + logger, _ := logging.ConfigureLog("stdout", "warn", "test", true) + dataBase := NewTestDatabase(logger) + dataBase.Flush() + defer dataBase.Flush() + + const ( + pattern1 = "pattern1" + pattern2 = "pattern2" + pattern3 = "pattern3" + + metric1 = "metric1" + metric2 = "metric2" + metric3 = "metric3" + metric4 = "metric4" + metric5 = "metric5" + ) + + Convey("Test clean up outdated pattern metrics", t, func() { + Convey("Without outdated metrics", func() { + defer func() { + err := dataBase.RemovePatternWithMetrics(pattern1) + So(err, ShouldBeNil) + + err = dataBase.RemovePatternWithMetrics(pattern2) + So(err, ShouldBeNil) + + err = dataBase.RemovePatternWithMetrics(pattern3) + So(err, ShouldBeNil) + }() + + matchedMetric1 := &moira.MatchedMetric{ + Patterns: []string{pattern1}, + Metric: metric1, + } + matchedMetric2 := &moira.MatchedMetric{ + Patterns: []string{pattern1}, + Metric: metric2, + } + matchedMetric3 := &moira.MatchedMetric{ + Patterns: []string{pattern2}, + Metric: metric3, + } + matchedMetric4 := &moira.MatchedMetric{ + Patterns: []string{pattern2}, + Metric: metric4, + } + matchedMetric5 := &moira.MatchedMetric{ + Patterns: []string{pattern3}, + Metric: metric5, + } + + err := dataBase.addPatterns(pattern1, pattern2, pattern3) + So(err, ShouldBeNil) + + err = dataBase.SaveMetrics(map[string]*moira.MatchedMetric{ + metric1: matchedMetric1, + metric2: matchedMetric2, + metric3: matchedMetric3, + metric4: matchedMetric4, + metric5: matchedMetric5, + }) + So(err, ShouldBeNil) + + count, err := dataBase.CleanupOutdatedPatternMetrics() + So(err, ShouldBeNil) + So(count, ShouldEqual, 0) + + pattern1Metrics, err := dataBase.GetPatternMetrics(pattern1) + So(err, ShouldBeNil) + assert.ElementsMatch(t, pattern1Metrics, []string{metric1, metric2}) + + pattern2Metrics, err := dataBase.GetPatternMetrics(pattern2) + So(err, ShouldBeNil) + assert.ElementsMatch(t, pattern2Metrics, []string{metric3, metric4}) + + pattern3Metrics, err := dataBase.GetPatternMetrics(pattern3) + So(err, ShouldBeNil) + assert.ElementsMatch(t, pattern3Metrics, []string{metric5}) + }) + + Convey("With outdated metrics", func() { + defer func() { + err := dataBase.RemovePatternWithMetrics(pattern1) + So(err, ShouldBeNil) + + err = dataBase.RemovePatternWithMetrics(pattern2) + So(err, ShouldBeNil) + + err = dataBase.RemovePatternWithMetrics(pattern3) + So(err, ShouldBeNil) + }() + + matchedMetric1 := &moira.MatchedMetric{ + Patterns: []string{pattern1}, + Metric: metric1, + } + matchedMetric3 := &moira.MatchedMetric{ + Patterns: []string{pattern2}, + Metric: metric3, + } + + err := dataBase.addPatterns(pattern1, pattern2, pattern3) + So(err, ShouldBeNil) + + err = dataBase.SaveMetrics(map[string]*moira.MatchedMetric{ + metric1: matchedMetric1, + metric3: matchedMetric3, + }) + So(err, ShouldBeNil) + + err = dataBase.AddPatternMetric(pattern1, metric2) + So(err, ShouldBeNil) + + err = dataBase.AddPatternMetric(pattern2, metric4) + So(err, ShouldBeNil) + + err = dataBase.AddPatternMetric(pattern3, metric5) + So(err, ShouldBeNil) + + count, err := dataBase.CleanupOutdatedPatternMetrics() + So(err, ShouldBeNil) + So(count, ShouldEqual, 3) + + pattern1Metrics, err := dataBase.GetPatternMetrics(pattern1) + So(err, ShouldBeNil) + assert.ElementsMatch(t, pattern1Metrics, []string{metric1}) + + pattern2Metrics, err := dataBase.GetPatternMetrics(pattern2) + So(err, ShouldBeNil) + assert.ElementsMatch(t, pattern2Metrics, []string{metric3}) + + pattern3Metrics, err := dataBase.GetPatternMetrics(pattern3) + So(err, ShouldBeNil) + assert.ElementsMatch(t, pattern3Metrics, []string{}) + }) + }) +} + +func TestGetNonExistentPatternMetrics(t *testing.T) { + logger, _ := logging.ConfigureLog("stdout", "warn", "test", true) + dataBase := NewTestDatabase(logger) + dataBase.Flush() + defer dataBase.Flush() + + const ( + pattern1 = "pattern1" + pattern2 = "pattern2" + pattern3 = "pattern3" + + metric1 = "metric1" + metric2 = "metric2" + metric3 = "metric3" + metric4 = "metric4" + metric5 = "metric5" + ) + + Convey("Test get non existent pattern metrics", t, func() { + Convey("Without non existent metrics", func() { + defer func() { + err := dataBase.RemovePatternWithMetrics(pattern1) + So(err, ShouldBeNil) + + err = dataBase.RemovePatternWithMetrics(pattern2) + So(err, ShouldBeNil) + + err = dataBase.RemovePatternWithMetrics(pattern3) + So(err, ShouldBeNil) + }() + + matchedMetric1 := &moira.MatchedMetric{ + Patterns: []string{pattern1}, + Metric: metric1, + } + matchedMetric2 := &moira.MatchedMetric{ + Patterns: []string{pattern1}, + Metric: metric2, + } + matchedMetric3 := &moira.MatchedMetric{ + Patterns: []string{pattern2}, + Metric: metric3, + } + matchedMetric4 := &moira.MatchedMetric{ + Patterns: []string{pattern2}, + Metric: metric4, + } + matchedMetric5 := &moira.MatchedMetric{ + Patterns: []string{pattern3}, + Metric: metric5, + } + + err := dataBase.addPatterns(pattern1, pattern2, pattern3) + So(err, ShouldBeNil) + + err = dataBase.SaveMetrics(map[string]*moira.MatchedMetric{ + metric1: matchedMetric1, + metric2: matchedMetric2, + metric3: matchedMetric3, + metric4: matchedMetric4, + metric5: matchedMetric5, + }) + So(err, ShouldBeNil) + + pattern1Metrics, err := dataBase.getNonExistentPatternMetrics(pattern1) + So(err, ShouldBeNil) + assert.ElementsMatch(t, pattern1Metrics, []string{}) + + pattern2Metrics, err := dataBase.getNonExistentPatternMetrics(pattern2) + So(err, ShouldBeNil) + assert.ElementsMatch(t, pattern2Metrics, []string{}) + + pattern3Metrics, err := dataBase.getNonExistentPatternMetrics(pattern3) + So(err, ShouldBeNil) + assert.ElementsMatch(t, pattern3Metrics, []string{}) + }) + + Convey("With outdated metrics", func() { + defer func() { + err := dataBase.RemovePatternWithMetrics(pattern1) + So(err, ShouldBeNil) + + err = dataBase.RemovePatternWithMetrics(pattern2) + So(err, ShouldBeNil) + + err = dataBase.RemovePatternWithMetrics(pattern3) + So(err, ShouldBeNil) + }() + + matchedMetric1 := &moira.MatchedMetric{ + Patterns: []string{pattern1}, + Metric: metric1, + } + matchedMetric3 := &moira.MatchedMetric{ + Patterns: []string{pattern2}, + Metric: metric3, + } + + err := dataBase.addPatterns(pattern1, pattern2, pattern3) + So(err, ShouldBeNil) + + err = dataBase.SaveMetrics(map[string]*moira.MatchedMetric{ + metric1: matchedMetric1, + metric3: matchedMetric3, + }) + So(err, ShouldBeNil) + + err = dataBase.AddPatternMetric(pattern1, metric2) + So(err, ShouldBeNil) + + err = dataBase.AddPatternMetric(pattern2, metric4) + So(err, ShouldBeNil) + + err = dataBase.AddPatternMetric(pattern3, metric5) + So(err, ShouldBeNil) + + pattern1Metrics, err := dataBase.getNonExistentPatternMetrics(pattern1) + So(err, ShouldBeNil) + assert.ElementsMatch(t, pattern1Metrics, []string{metric2}) + + pattern2Metrics, err := dataBase.getNonExistentPatternMetrics(pattern2) + So(err, ShouldBeNil) + assert.ElementsMatch(t, pattern2Metrics, []string{metric4}) + + pattern3Metrics, err := dataBase.getNonExistentPatternMetrics(pattern3) + So(err, ShouldBeNil) + assert.ElementsMatch(t, pattern3Metrics, []string{metric5}) + }) + }) +} + func TestCleanupAbandonedRetention(t *testing.T) { logger, _ := logging.ConfigureLog("stdout", "warn", "test", true) dataBase := NewTestDatabase(logger) @@ -757,7 +1437,8 @@ func TestRemoveMetricsByPrefix(t *testing.T) { RetentionTimestamp: 10, Timestamp: 5, Value: 1, - }}) + }, + }) So(err, ShouldBeNil) } @@ -771,7 +1452,8 @@ func TestRemoveMetricsByPrefix(t *testing.T) { RetentionTimestamp: 10, Timestamp: 5, Value: 1, - }}) + }, + }) So(err, ShouldBeNil) } @@ -822,7 +1504,8 @@ func TestRemoveAllMetrics(t *testing.T) { RetentionTimestamp: 10, Timestamp: 5, Value: 1, - }}) + }, + }) So(err, ShouldBeNil) } @@ -836,7 +1519,8 @@ func TestRemoveAllMetrics(t *testing.T) { RetentionTimestamp: 10, Timestamp: 5, Value: 1, - }}) + }, + }) So(err, ShouldBeNil) } diff --git a/database/redis/notification.go b/database/redis/notification.go index f22871a95..a8f9c3f3c 100644 --- a/database/redis/notification.go +++ b/database/redis/notification.go @@ -1,6 +1,7 @@ package redis import ( + "context" "errors" "fmt" "strconv" @@ -15,19 +16,11 @@ import ( "github.com/moira-alert/moira/database/redis/reply" ) -const ( - transactionTriesLimit = 10 - transactionHeuristicLimit = 10000 -) - -// Custom error for transaction error -type transactionError struct{} - -func (e transactionError) Error() string { - return "Transaction Error" +type notificationTypes struct { + Valid, ToRemove, ToResaveNew, ToResaveOld []*moira.ScheduledNotification } -// Drops all notifications with last timestamp +// Drops all notifications with last timestamp. func limitNotifications(notifications []*moira.ScheduledNotification) []*moira.ScheduledNotification { if len(notifications) == 0 { return notifications @@ -48,14 +41,13 @@ func limitNotifications(notifications []*moira.ScheduledNotification) []*moira.S return notifications[:i+1] } -// GetNotifications gets ScheduledNotifications in given range and full range +// GetNotifications gets ScheduledNotifications in given range and full range. func (connector *DbConnector) GetNotifications(start, end int64) ([]*moira.ScheduledNotification, int64, error) { ctx := connector.context pipe := (*connector.client).TxPipeline() pipe.ZRange(ctx, notifierNotificationsKey, start, end) pipe.ZCard(ctx, notifierNotificationsKey) response, err := pipe.Exec(ctx) - if err != nil { return nil, 0, fmt.Errorf("failed to EXEC: %s", err.Error()) } @@ -77,7 +69,7 @@ func (connector *DbConnector) GetNotifications(start, end int64) ([]*moira.Sched return notifications, total, nil } -// RemoveAllNotifications delete all notifications +// RemoveAllNotifications delete all notifications. func (connector *DbConnector) RemoveAllNotifications() error { ctx := connector.context c := *connector.client @@ -89,7 +81,7 @@ func (connector *DbConnector) RemoveAllNotifications() error { return nil } -// RemoveNotification delete notifications by key = timestamp + contactID + subID +// RemoveNotification delete notifications by key = timestamp + contactID + subID. func (connector *DbConnector) RemoveNotification(notificationKey string) (int64, error) { notifications, _, err := connector.GetNotifications(0, -1) if err != nil { @@ -106,16 +98,15 @@ func (connector *DbConnector) RemoveNotification(notificationKey string) (int64, foundNotifications = append(foundNotifications, notification) } } - return connector.removeNotifications(foundNotifications) + + return connector.removeNotifications(connector.context, (*connector.client).TxPipeline(), foundNotifications) } -func (connector *DbConnector) removeNotifications(notifications []*moira.ScheduledNotification) (int64, error) { +func (connector *DbConnector) removeNotifications(ctx context.Context, pipe redis.Pipeliner, notifications []*moira.ScheduledNotification) (int64, error) { if len(notifications) == 0 { return 0, nil } - ctx := connector.context - pipe := (*connector.client).TxPipeline() for _, notification := range notifications { notificationString, err := reply.GetNotificationBytes(*notification) if err != nil { @@ -124,12 +115,11 @@ func (connector *DbConnector) removeNotifications(notifications []*moira.Schedul pipe.ZRem(ctx, notifierNotificationsKey, notificationString) } response, err := pipe.Exec(ctx) - if err != nil { - return 0, fmt.Errorf("failed to remove notifier-notification: %s", err.Error()) + return 0, fmt.Errorf("failed to remove notifications: %w", err) } - total := int64(0) + var total int64 for _, val := range response { intVal, _ := val.(*redis.IntCmd).Result() total += intVal @@ -138,7 +128,166 @@ func (connector *DbConnector) removeNotifications(notifications []*moira.Schedul return total, nil } -// FetchNotifications fetch notifications by given timestamp and delete it +// getDelayedTimeInSeconds returns the time, if the difference between notification +// creation and sending time is greater than this time, the notification will be considered delayed. +func (connector *DbConnector) getDelayedTimeInSeconds() int64 { + return int64(connector.notification.DelayedTime.Seconds()) +} + +// filterNotificationsByDelay filters notifications into delayed and not delayed notifications. +func filterNotificationsByDelay(notifications []*moira.ScheduledNotification, delayedTime int64) (delayedNotifications []*moira.ScheduledNotification, notDelayedNotifications []*moira.ScheduledNotification) { + delayedNotifications = make([]*moira.ScheduledNotification, 0, len(notifications)) + notDelayedNotifications = make([]*moira.ScheduledNotification, 0, len(notifications)) + + for _, notification := range notifications { + if notification == nil { + continue + } + + if notification.IsDelayed(delayedTime) { + delayedNotifications = append(delayedNotifications, notification) + } else { + notDelayedNotifications = append(notDelayedNotifications, notification) + } + } + + return delayedNotifications, notDelayedNotifications +} + +// getNotificationsTriggerChecks returns notifications trigger checks, optimized for the case when there are many notifications at one trigger. +func (connector *DbConnector) getNotificationsTriggerChecks(notifications []*moira.ScheduledNotification) ([]*moira.CheckData, error) { + checkDataMap := make(map[string]*moira.CheckData, len(notifications)) + for _, notification := range notifications { + if notification != nil { + checkDataMap[notification.Trigger.ID] = nil + } + } + + triggerIDs := make([]string, 0, len(checkDataMap)) + for triggerID := range checkDataMap { + triggerIDs = append(triggerIDs, triggerID) + } + + triggersLastCheck, err := connector.getTriggersLastCheck(triggerIDs) + if err != nil { + return nil, err + } + + for i, triggerID := range triggerIDs { + checkDataMap[triggerID] = triggersLastCheck[i] + } + + result := make([]*moira.CheckData, 0, len(notifications)) + for _, notification := range notifications { + result = append(result, checkDataMap[notification.Trigger.ID]) + } + + return result, nil +} + +// Helper function for logging information on to remove notifications. +func logToRemoveNotifications(logger moira.Logger, toRemoveNotifications []*moira.ScheduledNotification) { + if len(toRemoveNotifications) == 0 { + return + } + + triggerIDsSet := make(map[string]struct{}, len(toRemoveNotifications)) + for _, removedNotification := range toRemoveNotifications { + if removedNotification == nil { + continue + } + + if _, ok := triggerIDsSet[removedNotification.Trigger.ID]; !ok { + triggerIDsSet[removedNotification.Trigger.ID] = struct{}{} + } + } + + triggerIDs := make([]string, 0, len(triggerIDsSet)) + for triggerID := range triggerIDsSet { + triggerIDs = append(triggerIDs, triggerID) + } + + logger.Info(). + Interface("notification_trigger_ids", triggerIDs). + Int("to_remove_count", len(toRemoveNotifications)). + Msg("To remove notifications") +} + +// filterNotificationsByState filters notifications based on their state to the corresponding arrays. +func (connector *DbConnector) filterNotificationsByState(notifications []*moira.ScheduledNotification) (notificationTypes, error) { + types := notificationTypes{ + Valid: make([]*moira.ScheduledNotification, 0, len(notifications)), + ToRemove: make([]*moira.ScheduledNotification, 0, len(notifications)), + ToResaveNew: make([]*moira.ScheduledNotification, 0, len(notifications)), + ToResaveOld: make([]*moira.ScheduledNotification, 0, len(notifications)), + } + + triggerChecks, err := connector.getNotificationsTriggerChecks(notifications) + if err != nil { + return notificationTypes{}, fmt.Errorf("failed to get notifications trigger checks: %w", err) + } + + for i, notification := range notifications { + if notification != nil { + switch notification.GetState(triggerChecks[i]) { + case moira.ValidNotification: + types.Valid = append(types.Valid, notification) + + case moira.RemovedNotification: + types.ToRemove = append(types.ToRemove, notification) + + case moira.ResavedNotification: + types.ToResaveOld = append(types.ToResaveOld, notification) + + updatedNotification := *notification + updatedNotification.Timestamp = time.Now().Add(connector.notification.ResaveTime).Unix() + types.ToResaveNew = append(types.ToResaveNew, &updatedNotification) + } + } + } + + logToRemoveNotifications(connector.logger, types.ToRemove) + + return types, nil +} + +/* +handleNotifications filters notifications into delayed and not delayed, +then filters delayed notifications by notification state, then merges the 2 arrays +of not delayed and valid delayed notifications into a single sorted array + +Returns valid notifications in sorted order by timestamp and notifications to remove. +*/ +func (connector *DbConnector) handleNotifications(notifications []*moira.ScheduledNotification) (notificationTypes, error) { + if len(notifications) == 0 { + return notificationTypes{}, nil + } + + delayedNotifications, notDelayedNotifications := filterNotificationsByDelay(notifications, connector.getDelayedTimeInSeconds()) + + if len(delayedNotifications) == 0 { + return notificationTypes{ + Valid: notDelayedNotifications, + ToRemove: notDelayedNotifications, + }, nil + } + + types, err := connector.filterNotificationsByState(delayedNotifications) + if err != nil { + return notificationTypes{}, fmt.Errorf("failed to filter delayed notifications by state: %w", err) + } + + types.Valid, err = moira.MergeToSorted[*moira.ScheduledNotification](types.Valid, notDelayedNotifications) + if err != nil { + return notificationTypes{}, fmt.Errorf("failed to merge valid and not delayed notifications into sorted array: %w", err) + } + + types.ToRemove = append(types.ToRemove, types.Valid...) + + return types, nil +} + +// FetchNotifications fetch notifications by given timestamp and delete it. func (connector *DbConnector) FetchNotifications(to int64, limit int64) ([]*moira.ScheduledNotification, error) { if limit == 0 { return nil, fmt.Errorf("limit mustn't be 0") @@ -146,7 +295,7 @@ func (connector *DbConnector) FetchNotifications(to int64, limit int64) ([]*moir // No limit if limit == notifier.NotificationsLimitUnlimited { - return connector.fetchNotificationsNoLimit(to) + return connector.fetchNotifications(to, notifier.NotificationsLimitUnlimited) } count, err := connector.notificationsCount(to) @@ -155,11 +304,11 @@ func (connector *DbConnector) FetchNotifications(to int64, limit int64) ([]*moir } // Hope count will be not greater then limit when we call fetchNotificationsNoLimit - if limit > transactionHeuristicLimit && count < limit/2 { - return connector.fetchNotificationsNoLimit(to) + if limit > connector.notification.TransactionHeuristicLimit && count < limit/2 { + return connector.fetchNotifications(to, notifier.NotificationsLimitUnlimited) } - return connector.fetchNotificationsWithLimit(to, limit) + return connector.fetchNotifications(to, limit) } func (connector *DbConnector) notificationsCount(to int64) (int64, error) { @@ -167,7 +316,6 @@ func (connector *DbConnector) notificationsCount(to int64) (int64, error) { c := *connector.client count, err := c.ZCount(ctx, notifierNotificationsKey, "-inf", strconv.FormatInt(to, 10)).Result() - if err != nil { return 0, fmt.Errorf("failed to ZCOUNT to notificationsCount: %w", err) } @@ -175,106 +323,166 @@ func (connector *DbConnector) notificationsCount(to int64) (int64, error) { return count, nil } -// fetchNotificationsWithLimit reads and drops notifications from DB with limit -func (connector *DbConnector) fetchNotificationsWithLimit(to int64, limit int64) ([]*moira.ScheduledNotification, error) { - // fetchNotifecationsWithLimitDo uses WATCH, so transaction may fail and will retry it +// fetchNotificationsWithLimit reads and drops notifications from DB with limit. +func (connector *DbConnector) fetchNotifications(to int64, limit int64) ([]*moira.ScheduledNotification, error) { + // fetchNotificationsDo uses WATCH, so transaction may fail and will retry it // see https://redis.io/topics/transactions - for i := 0; i < transactionTriesLimit; i++ { - res, err := connector.fetchNotificationsWithLimitDo(to, limit) + for i := 0; i < connector.notification.TransactionMaxRetries; i++ { + res, err := connector.fetchNotificationsDo(to, limit) if err == nil { return res, nil } - if !errors.As(err, &transactionError{}) { + if !errors.Is(err, redis.TxFailedErr) { return nil, err } - time.Sleep(200 * time.Millisecond) //nolint + connector.logger.Info(). + Error(err). + Int("transaction_retries", i+1). + Msg("Transaction error. Retry") + + time.Sleep(connector.notification.TransactionTimeout) } return nil, fmt.Errorf("transaction tries limit exceeded") } -// same as fetchNotificationsWithLimit, but only once -func (connector *DbConnector) fetchNotificationsWithLimitDo(to int64, limit int64) ([]*moira.ScheduledNotification, error) { - // see https://redis.io/topics/transactions - - ctx := connector.context - c := *connector.client - - // start optimistic transaction and get notifications with LIMIT - var response *redis.StringSliceCmd - - err := c.Watch(ctx, func(tx *redis.Tx) error { - rng := &redis.ZRangeBy{Min: "-inf", Max: strconv.FormatInt(to, 10), Offset: 0, Count: limit} - response = tx.ZRangeByScore(ctx, notifierNotificationsKey, rng) - - return response.Err() - }, notifierNotificationsKey) - - if err != nil { - return nil, fmt.Errorf("failed to ZRANGEBYSCORE: %s", err) +// getNotificationsInTxWithLimit receives notifications from the database by a certain time +// sorted by timestamp in one transaction with or without limit, depending on whether limit is nil. +func getNotificationsInTxWithLimit(ctx context.Context, tx *redis.Tx, to int64, limit int64) ([]*moira.ScheduledNotification, error) { + var rng *redis.ZRangeBy + if limit != notifier.NotificationsLimitUnlimited { + rng = &redis.ZRangeBy{Min: "-inf", Max: strconv.FormatInt(to, 10), Offset: 0, Count: limit} + } else { + rng = &redis.ZRangeBy{Min: "-inf", Max: strconv.FormatInt(to, 10)} } - notifications, err := reply.Notifications(response) - if err != nil { - return nil, fmt.Errorf("failed to EXEC: %s", err) + response := tx.ZRangeByScore(ctx, notifierNotificationsKey, rng) + if response.Err() != nil { + return nil, fmt.Errorf("failed to ZRANGEBYSCORE: %w", response.Err()) } + return reply.Notifications(response) +} + +/* +getLimitedNotifications restricts the list of notifications by last timestamp. There are two possible cases +with arrays of notifications with timestamps: + + - [1, 2, 3, 3], after limitNotifications we get the array [1, 2], + further, since the array size is not equal to the passed one, we return [1, 2] + + - [1, 1, 1], after limitNotifications we will get array [1, 1, 1], its size is equal to the initial one, + so we will get all notifications from the database with the last timestamp <= 1, i.e., + if the database at this moment has [1, 1, 1, 1, 1], then the output will be [1, 1, 1, 1, 1] + +This is to ensure that notifications with the same timestamp are always clumped into a single stack. +*/ +func getLimitedNotifications( + ctx context.Context, + tx *redis.Tx, + limit int64, + notifications []*moira.ScheduledNotification, +) ([]*moira.ScheduledNotification, error) { if len(notifications) == 0 { return notifications, nil } - // ZRANGEBYSCORE with LIMIT may return not all notification with last timestamp - // (e.g. if we have notifications with timestamps [1, 2, 3, 3, 3] and limit == 3) - // but ZREMRANGEBYSCORE does not have LIMIT, so will delete all notifications with last timestamp - // (ts 3 in our example) and then run ZRANGEBYSCORE with our new last timestamp (2 in our example). + limitedNotifications := notifications - notificationsLimited := limitNotifications(notifications) - lastTs := notificationsLimited[len(notificationsLimited)-1].Timestamp + if limit != notifier.NotificationsLimitUnlimited { + limitedNotifications = limitNotifications(notifications) + lastTs := limitedNotifications[len(limitedNotifications)-1].Timestamp - if len(notifications) == len(notificationsLimited) { - // this means that all notifications have same timestamp, - // we hope that all notifications with same timestamp should fit our memory - return connector.fetchNotificationsNoLimit(lastTs) + if len(notifications) == len(limitedNotifications) { + // this means that all notifications have same timestamp, + // we hope that all notifications with same timestamp should fit our memory + var err error + limitedNotifications, err = getNotificationsInTxWithLimit(ctx, tx, lastTs, notifier.NotificationsLimitUnlimited) + if err != nil { + return nil, fmt.Errorf("failed to get notification without limit in transaction: %w", err) + } + } } - pipe := c.TxPipeline() - pipe.ZRemRangeByScore(ctx, notifierNotificationsKey, "-inf", strconv.FormatInt(lastTs, 10)) - rangeResponse, errDelete := pipe.Exec(ctx) + return limitedNotifications, nil +} - if errDelete != nil { - return nil, fmt.Errorf("failed to EXEC: %w", errDelete) - } +// fetchNotificationsDo performs fetching of notifications within a single transaction. +func (connector *DbConnector) fetchNotificationsDo(to int64, limit int64) ([]*moira.ScheduledNotification, error) { + // See https://redis.io/topics/transactions - // someone has changed notifierNotificationsKey while we do our job - // and transaction fail (no notifications were deleted) :( - deleteCount, errConvert := rangeResponse[0].(*redis.IntCmd).Result() - if errConvert != nil || deleteCount == 0 { - return nil, &transactionError{} - } + ctx := connector.context + c := *connector.client - return notificationsLimited, nil -} + result := make([]*moira.ScheduledNotification, 0) -// FetchNotifications fetch notifications by given timestamp and delete it -func (connector *DbConnector) fetchNotificationsNoLimit(to int64) ([]*moira.ScheduledNotification, error) { - ctx := connector.context - pipe := (*connector.client).TxPipeline() - pipe.ZRangeByScore(ctx, notifierNotificationsKey, &redis.ZRangeBy{Min: "-inf", Max: strconv.FormatInt(to, 10)}) - pipe.ZRemRangeByScore(ctx, notifierNotificationsKey, "-inf", strconv.FormatInt(to, 10)) - response, err := pipe.Exec(ctx) + // it is necessary to do these operations in one transaction to avoid data race + err := c.Watch(ctx, func(tx *redis.Tx) error { + notifications, err := getNotificationsInTxWithLimit(ctx, tx, to, limit) + if err != nil { + return fmt.Errorf("failed to get notifications with limit in transaction: %w", err) + } + + if len(notifications) == 0 { + return nil + } + // ZRANGEBYSCORE with LIMIT may return not all notifications with last timestamp + // (e.g. we have notifications with timestamps [1, 2, 3, 3, 3] and limit = 3, + // we will get [1, 2, 3]) other notifications with timestamp 3 remain in the database, so then + // limit notifications by last timestamp and return and delete valid notifications with our new timestamp [1, 2] + limitedNotifications, err := getLimitedNotifications(ctx, tx, limit, notifications) + if err != nil { + return fmt.Errorf("failed to get limited notifications: %w", err) + } + + types, err := connector.handleNotifications(limitedNotifications) + if err != nil { + return fmt.Errorf("failed to handle notifications: %w", err) + } + + result = types.Valid + + _, err = tx.TxPipelined(ctx, func(pipe redis.Pipeliner) error { + // someone has changed notifierNotificationsKey while we do our job + // and transaction fail (no notifications were deleted) :( + var deleted int64 + deleted, err = connector.removeNotifications(ctx, pipe, types.ToRemove) + if err != nil { + return fmt.Errorf("failed to remove notifications in transaction: %w", err) + } + + if int(deleted) != len(types.ToRemove) { + return fmt.Errorf("number of deleted: %d does not match the number of notifications to be deleted: %d", int(deleted), len(types.ToRemove)) + } + + var affected int + affected, err = connector.resaveNotifications(ctx, pipe, types.ToResaveOld, types.ToResaveNew) + if err != nil { + return fmt.Errorf("failed to resave notifications in transaction: %w", err) + } + + if affected != len(types.ToResaveOld)+len(types.ToResaveNew) { + return fmt.Errorf("number of affected: %d does not match the number of notifications to be affected: %d", affected, len(types.ToResaveOld)+len(types.ToResaveNew)) + } + + return nil + }) + + return err + }, notifierNotificationsKey) if err != nil { - return nil, fmt.Errorf("failed to EXEC: %s", err) + return nil, err } - return reply.Notifications(response[0].(*redis.StringSliceCmd)) + return result, nil } -// AddNotification store notification at given timestamp +// AddNotification store notification at given timestamp. func (connector *DbConnector) AddNotification(notification *moira.ScheduledNotification) error { bytes, err := reply.GetNotificationBytes(*notification) if err != nil { @@ -293,7 +501,7 @@ func (connector *DbConnector) AddNotification(notification *moira.ScheduledNotif return err } -// AddNotifications store notification at given timestamp +// AddNotifications store notification at given timestamp. func (connector *DbConnector) AddNotifications(notifications []*moira.ScheduledNotification, timestamp int64) error { ctx := connector.context pipe := (*connector.client).TxPipeline() @@ -307,7 +515,6 @@ func (connector *DbConnector) AddNotifications(notifications []*moira.ScheduledN pipe.ZAdd(ctx, notifierNotificationsKey, z) } _, err := pipe.Exec(ctx) - if err != nil { return fmt.Errorf("failed to EXEC: %s", err.Error()) } @@ -315,4 +522,51 @@ func (connector *DbConnector) AddNotifications(notifications []*moira.ScheduledN return nil } +func (connector *DbConnector) resaveNotifications( + ctx context.Context, + pipe redis.Pipeliner, + oldNotifications []*moira.ScheduledNotification, + newNotifications []*moira.ScheduledNotification, +) (int, error) { + for _, notification := range oldNotifications { + if notification != nil { + notificationString, err := reply.GetNotificationBytes(*notification) + if err != nil { + return 0, err + } + + pipe.ZRem(ctx, notifierNotificationsKey, notificationString) + } + } + + for _, notification := range newNotifications { + if notification != nil { + notificationString, err := reply.GetNotificationBytes(*notification) + if err != nil { + return 0, err + } + + z := &redis.Z{Score: float64(notification.Timestamp), Member: notificationString} + pipe.ZAdd(ctx, notifierNotificationsKey, z) + } + } + + response, err := pipe.Exec(ctx) + if err != nil { + return 0, fmt.Errorf("failed to EXEC: %w", err) + } + + var total int + for _, val := range response { + intVal, err := val.(*redis.IntCmd).Result() + if err != nil { + return 0, fmt.Errorf("failed to get result of intCmd response value: %w", err) + } + + total += int(intVal) + } + + return total, nil +} + var notifierNotificationsKey = "moira-notifier-notifications" diff --git a/database/redis/notification_event.go b/database/redis/notification_event.go index 96438b8f8..4a5974969 100644 --- a/database/redis/notification_event.go +++ b/database/redis/notification_event.go @@ -1,6 +1,7 @@ package redis import ( + "errors" "fmt" "strconv" "time" @@ -13,15 +14,14 @@ import ( var eventsTTL int64 = 3600 * 24 * 30 -// GetNotificationEvents gets NotificationEvents by given triggerID and interval +// GetNotificationEvents gets NotificationEvents by given triggerID and interval. func (connector *DbConnector) GetNotificationEvents(triggerID string, start int64, size int64) ([]*moira.NotificationEvent, error) { ctx := connector.context c := *connector.client eventsData, err := reply.Events(c.ZRevRange(ctx, triggerEventsKey(triggerID), start, start+size)) - if err != nil { - if err == redis.Nil { + if errors.Is(err, redis.Nil) { return make([]*moira.NotificationEvent, 0), nil } return nil, fmt.Errorf("failed to get range for trigger events, triggerID: %s, error: %s", triggerID, err.Error()) @@ -30,8 +30,8 @@ func (connector *DbConnector) GetNotificationEvents(triggerID string, start int6 return eventsData, nil } -// PushNotificationEvent adds new NotificationEvent to events list and to given triggerID events list and deletes events who are older than 30 days -// If ui=true, then add to ui events list +// PushNotificationEvent adds new NotificationEvent to events list and to given triggerID events list and deletes events who are older than 30 days. +// If ui=true, then add to ui events list. func (connector *DbConnector) PushNotificationEvent(event *moira.NotificationEvent, ui bool) error { eventBytes, err := reply.GetEventBytes(*event) if err != nil { @@ -55,7 +55,6 @@ func (connector *DbConnector) PushNotificationEvent(event *moira.NotificationEve } _, err = pipe.Exec(ctx) - if err != nil { return fmt.Errorf("failed to EXEC: %s", err.Error()) } @@ -63,7 +62,7 @@ func (connector *DbConnector) PushNotificationEvent(event *moira.NotificationEve return nil } -// GetNotificationEventCount returns planned notifications count from given timestamp +// GetNotificationEventCount returns planned notifications count from given timestamp. func (connector *DbConnector) GetNotificationEventCount(triggerID string, from int64) int64 { ctx := connector.context c := *connector.client @@ -72,7 +71,7 @@ func (connector *DbConnector) GetNotificationEventCount(triggerID string, from i return count } -// FetchNotificationEvent waiting for event in events list +// FetchNotificationEvent waiting for event in events list. func (connector *DbConnector) FetchNotificationEvent() (moira.NotificationEvent, error) { var event moira.NotificationEvent ctx := connector.context @@ -81,7 +80,7 @@ func (connector *DbConnector) FetchNotificationEvent() (moira.NotificationEvent, response := c.BRPop(ctx, time.Second, notificationEventsList) err := response.Err() - if err == redis.Nil { + if errors.Is(err, redis.Nil) { return event, database.ErrNil } @@ -91,7 +90,7 @@ func (connector *DbConnector) FetchNotificationEvent() (moira.NotificationEvent, event, _ = reply.BRPopToEvent(response) - if event.Values == nil { //TODO(litleleprikon): remove in moira v2.8.0. Compatibility with moira < v2.6.0 + if event.Values == nil { // TODO(litleleprikon): remove in moira v2.8.0. Compatibility with moira < v2.6.0 event.Values = make(map[string]float64) } @@ -103,7 +102,7 @@ func (connector *DbConnector) FetchNotificationEvent() (moira.NotificationEvent, return event, nil } -// RemoveAllNotificationEvents removes all notification events from database +// RemoveAllNotificationEvents removes all notification events from database. func (connector *DbConnector) RemoveAllNotificationEvents() error { ctx := connector.context c := *connector.client @@ -115,8 +114,10 @@ func (connector *DbConnector) RemoveAllNotificationEvents() error { return nil } -var notificationEventsList = "moira-trigger-events" -var notificationEventsUIList = "moira-trigger-events-ui" +var ( + notificationEventsList = "moira-trigger-events" + notificationEventsUIList = "moira-trigger-events-ui" +) func triggerEventsKey(triggerID string) string { return "moira-trigger-events:" + triggerID diff --git a/database/redis/notification_event_test.go b/database/redis/notification_event_test.go index 28bb2ac0e..c6ee30dd2 100644 --- a/database/redis/notification_event_test.go +++ b/database/redis/notification_event_test.go @@ -11,12 +11,17 @@ import ( "github.com/moira-alert/moira/database" ) -const triggerID = "81588c33-eab3-4ad4-aa03-82a9560adad9" -const triggerID1 = "7854DE02-0E4B-4430-A570-B0C0162755E4" -const triggerID2 = "26D3C4E4-507E-4930-9B1E-FD5AD369445C" -const triggerID3 = "F0F4A5B9-637C-4933-AA0D-88B9798A2630" //nolint -var now = time.Now().Unix() -var value = float64(0) +const ( + triggerID = "81588c33-eab3-4ad4-aa03-82a9560adad9" + triggerID1 = "7854DE02-0E4B-4430-A570-B0C0162755E4" + triggerID2 = "26D3C4E4-507E-4930-9B1E-FD5AD369445C" + triggerID3 = "F0F4A5B9-637C-4933-AA0D-88B9798A2630" //nolint +) + +var ( + now = time.Now().Unix() + value = float64(0) +) // nolint func TestNotificationEvents(t *testing.T) { @@ -62,7 +67,8 @@ func TestNotificationEvents(t *testing.T) { TriggerID: triggerID, Metric: "my.metric", Values: map[string]float64{"t1": 0}, - }}) + }, + }) total := dataBase.GetNotificationEventCount(triggerID, 0) So(total, ShouldEqual, 1) @@ -297,7 +303,7 @@ func TestNotificationEventErrorConnection(t *testing.T) { defer dataBase.Flush() // TODO(litleleprikon): check why notification is event created here again - var newNotificationEvent = moira.NotificationEvent{ + newNotificationEvent := moira.NotificationEvent{ Timestamp: time.Now().Unix(), State: moira.StateNODATA, OldState: moira.StateNODATA, diff --git a/database/redis/notification_test.go b/database/redis/notification_test.go index 7b262ea5d..06048b813 100644 --- a/database/redis/notification_test.go +++ b/database/redis/notification_test.go @@ -6,74 +6,79 @@ import ( "testing" "time" + "github.com/go-redis/redis/v8" "github.com/moira-alert/moira" logging "github.com/moira-alert/moira/logging/zerolog_adapter" "github.com/moira-alert/moira/notifier" + "github.com/stretchr/testify/assert" . "github.com/smartystreets/goconvey/convey" ) func TestScheduledNotification(t *testing.T) { - logger, _ := logging.GetLogger("dataBase") - dataBase := NewTestDatabase(logger) - dataBase.Flush() - defer dataBase.Flush() + logger, _ := logging.GetLogger("database") + database := NewTestDatabase(logger) + database.Flush() + defer database.Flush() Convey("ScheduledNotification manipulation", t, func() { - now := time.Now().Unix() + now = time.Now().Unix() notificationNew := moira.ScheduledNotification{ SendFail: 1, - Timestamp: now + 3600, + Timestamp: now + database.getDelayedTimeInSeconds(), + CreatedAt: now, } notification := moira.ScheduledNotification{ SendFail: 2, Timestamp: now, + CreatedAt: now, } notificationOld := moira.ScheduledNotification{ SendFail: 3, - Timestamp: now - 3600, + Timestamp: now - database.getDelayedTimeInSeconds(), + CreatedAt: now, } Convey("Test add and get by pages", func() { - addNotifications(dataBase, []moira.ScheduledNotification{notification, notificationNew, notificationOld}) - actual, total, err := dataBase.GetNotifications(0, -1) + addNotifications(database, []moira.ScheduledNotification{notification, notificationNew, notificationOld}) + actual, total, err := database.GetNotifications(0, -1) So(err, ShouldBeNil) So(total, ShouldEqual, 3) So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ificationOld, ¬ification, ¬ificationNew}) - actual, total, err = dataBase.GetNotifications(0, 0) + actual, total, err = database.GetNotifications(0, 0) So(err, ShouldBeNil) So(total, ShouldEqual, 3) So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ificationOld}) - actual, total, err = dataBase.GetNotifications(1, 2) + actual, total, err = database.GetNotifications(1, 2) So(err, ShouldBeNil) So(total, ShouldEqual, 3) So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ification, ¬ificationNew}) }) Convey("Test fetch notifications", func() { - actual, err := dataBase.FetchNotifications(now-3600, notifier.NotificationsLimitUnlimited) //nolint + actual, err := database.FetchNotifications(now-database.getDelayedTimeInSeconds(), notifier.NotificationsLimitUnlimited) //nolint So(err, ShouldBeNil) So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ificationOld}) - actual, total, err := dataBase.GetNotifications(0, -1) + actual, total, err := database.GetNotifications(0, -1) So(err, ShouldBeNil) So(total, ShouldEqual, 2) So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ification, ¬ificationNew}) - actual, err = dataBase.FetchNotifications(now+3600, notifier.NotificationsLimitUnlimited) //nolint + actual, err = database.FetchNotifications(now+database.getDelayedTimeInSeconds(), notifier.NotificationsLimitUnlimited) //nolint So(err, ShouldBeNil) So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ification, ¬ificationNew}) - actual, total, err = dataBase.GetNotifications(0, -1) + actual, total, err = database.GetNotifications(0, -1) So(err, ShouldBeNil) So(total, ShouldEqual, 0) So(actual, ShouldResemble, make([]*moira.ScheduledNotification, 0)) }) Convey("Test fetch notifications limit 0", func() { - actual, err := dataBase.FetchNotifications(now-3600, 0) //nolint + actual, err := database.FetchNotifications(now-database.getDelayedTimeInSeconds(), 0) //nolint So(err, ShouldBeError) So(actual, ShouldBeNil) //nolint }) @@ -96,33 +101,33 @@ func TestScheduledNotification(t *testing.T) { Contact: moira.ContactData{ID: id1}, Event: moira.NotificationEvent{SubscriptionID: &id1}, SendFail: 3, - Timestamp: now + 3600, + Timestamp: now + database.getDelayedTimeInSeconds(), } - addNotifications(dataBase, []moira.ScheduledNotification{notification1, notification2, notification3}) - actual, total, err := dataBase.GetNotifications(0, -1) + addNotifications(database, []moira.ScheduledNotification{notification1, notification2, notification3}) + actual, total, err := database.GetNotifications(0, -1) So(err, ShouldBeNil) So(total, ShouldEqual, 3) So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ification1, ¬ification2, ¬ification3}) - total, err = dataBase.RemoveNotification(strings.Join([]string{fmt.Sprintf("%v", now), id1, id1}, "")) + total, err = database.RemoveNotification(strings.Join([]string{fmt.Sprintf("%v", now), id1, id1}, "")) So(err, ShouldBeNil) So(total, ShouldEqual, 2) - actual, total, err = dataBase.GetNotifications(0, -1) + actual, total, err = database.GetNotifications(0, -1) So(err, ShouldBeNil) So(total, ShouldEqual, 1) So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ification3}) - total, err = dataBase.RemoveNotification(strings.Join([]string{fmt.Sprintf("%v", now+3600), id1, id1}, "")) //nolint + total, err = database.RemoveNotification(strings.Join([]string{fmt.Sprintf("%v", now+database.getDelayedTimeInSeconds()), id1, id1}, "")) //nolint So(err, ShouldBeNil) So(total, ShouldEqual, 1) - actual, total, err = dataBase.GetNotifications(0, -1) + actual, total, err = database.GetNotifications(0, -1) So(err, ShouldBeNil) So(total, ShouldEqual, 0) So(actual, ShouldResemble, []*moira.ScheduledNotification{}) - actual, err = dataBase.FetchNotifications(now+3600, notifier.NotificationsLimitUnlimited) //nolint + actual, err = database.FetchNotifications(now+database.getDelayedTimeInSeconds(), notifier.NotificationsLimitUnlimited) //nolint So(err, ShouldBeNil) So(actual, ShouldResemble, []*moira.ScheduledNotification{}) }) @@ -145,289 +150,960 @@ func TestScheduledNotification(t *testing.T) { Contact: moira.ContactData{ID: id1}, Event: moira.NotificationEvent{SubscriptionID: &id1}, SendFail: 3, - Timestamp: now + 3600, + Timestamp: now + database.getDelayedTimeInSeconds(), } - addNotifications(dataBase, []moira.ScheduledNotification{notification1, notification2, notification3}) - actual, total, err := dataBase.GetNotifications(0, -1) + addNotifications(database, []moira.ScheduledNotification{notification1, notification2, notification3}) + actual, total, err := database.GetNotifications(0, -1) So(err, ShouldBeNil) So(total, ShouldEqual, 3) So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ification1, ¬ification2, ¬ification3}) - err = dataBase.RemoveAllNotifications() + err = database.RemoveAllNotifications() So(err, ShouldBeNil) - actual, total, err = dataBase.GetNotifications(0, -1) + actual, total, err = database.GetNotifications(0, -1) So(err, ShouldBeNil) So(total, ShouldEqual, 0) So(actual, ShouldResemble, []*moira.ScheduledNotification{}) - actual, err = dataBase.FetchNotifications(now+3600, notifier.NotificationsLimitUnlimited) //nolint + actual, err = database.FetchNotifications(now+database.getDelayedTimeInSeconds(), notifier.NotificationsLimitUnlimited) //nolint So(err, ShouldBeNil) So(actual, ShouldResemble, []*moira.ScheduledNotification{}) }) }) } -func addNotifications(dataBase *DbConnector, notifications []moira.ScheduledNotification) { +func addNotifications(database *DbConnector, notifications []moira.ScheduledNotification) { for _, notification := range notifications { - err := dataBase.AddNotification(¬ification) + err := database.AddNotification(¬ification) So(err, ShouldBeNil) } } func TestScheduledNotificationErrorConnection(t *testing.T) { - logger, _ := logging.GetLogger("dataBase") - dataBase := NewTestDatabaseWithIncorrectConfig(logger) - dataBase.Flush() - defer dataBase.Flush() + logger, _ := logging.GetLogger("database") + database := NewTestDatabaseWithIncorrectConfig(logger) + database.Flush() + defer database.Flush() Convey("Should throw error when no connection", t, func() { - actual1, total, err := dataBase.GetNotifications(0, 1) + actual1, total, err := database.GetNotifications(0, 1) So(actual1, ShouldBeNil) So(total, ShouldEqual, 0) So(err, ShouldNotBeNil) - total, err = dataBase.RemoveNotification("123") + total, err = database.RemoveNotification("123") So(err, ShouldNotBeNil) So(total, ShouldEqual, 0) - actual2, err := dataBase.FetchNotifications(0, notifier.NotificationsLimitUnlimited) + actual2, err := database.FetchNotifications(0, notifier.NotificationsLimitUnlimited) So(err, ShouldNotBeNil) So(actual2, ShouldBeNil) notification := moira.ScheduledNotification{} - err = dataBase.AddNotification(¬ification) + err = database.AddNotification(¬ification) So(err, ShouldNotBeNil) - err = dataBase.AddNotifications([]*moira.ScheduledNotification{¬ification}, 0) + err = database.AddNotifications([]*moira.ScheduledNotification{¬ification}, 0) So(err, ShouldNotBeNil) - err = dataBase.RemoveAllNotifications() + err = database.RemoveAllNotifications() So(err, ShouldNotBeNil) }) } func TestFetchNotifications(t *testing.T) { - logger, _ := logging.GetLogger("dataBase") - dataBase := NewTestDatabase(logger) - dataBase.Flush() - defer dataBase.Flush() + logger, _ := logging.GetLogger("database") + database := NewTestDatabase(logger) + database.Flush() + defer database.Flush() Convey("FetchNotifications manipulation", t, func() { - now := time.Now().Unix() + now = time.Now().Unix() notificationNew := moira.ScheduledNotification{ SendFail: 1, - Timestamp: now + 3600, + Timestamp: now + database.getDelayedTimeInSeconds(), + CreatedAt: now, } notification := moira.ScheduledNotification{ SendFail: 2, Timestamp: now, + CreatedAt: now, } notificationOld := moira.ScheduledNotification{ SendFail: 3, - Timestamp: now - 3600, + Timestamp: now - database.getDelayedTimeInSeconds(), + CreatedAt: now, } Convey("Test fetch notifications with limit if all notifications has diff timestamp", func() { - addNotifications(dataBase, []moira.ScheduledNotification{notification, notificationNew, notificationOld}) - actual, err := dataBase.FetchNotifications(now+6000, 1) //nolint + addNotifications(database, []moira.ScheduledNotification{notification, notificationNew, notificationOld}) + actual, err := database.FetchNotifications(now+database.getDelayedTimeInSeconds(), 1) //nolint So(err, ShouldBeNil) So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ificationOld}) - actual, total, err := dataBase.GetNotifications(0, -1) + actual, total, err := database.GetNotifications(0, -1) So(err, ShouldBeNil) So(total, ShouldEqual, 2) So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ification, ¬ificationNew}) - err = dataBase.RemoveAllNotifications() + err = database.RemoveAllNotifications() So(err, ShouldBeNil) }) Convey("Test fetch notifications with limit little bit greater than count if all notifications has diff timestamp", func() { - addNotifications(dataBase, []moira.ScheduledNotification{notification, notificationNew, notificationOld}) - actual, err := dataBase.FetchNotifications(now+6000, 4) //nolint + addNotifications(database, []moira.ScheduledNotification{notification, notificationNew, notificationOld}) + actual, err := database.FetchNotifications(now+database.getDelayedTimeInSeconds(), 4) //nolint So(err, ShouldBeNil) - So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ificationOld, ¬ification}) - actual, total, err := dataBase.GetNotifications(0, -1) + actual, total, err := database.GetNotifications(0, -1) So(err, ShouldBeNil) So(total, ShouldEqual, 1) So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ificationNew}) - err = dataBase.RemoveAllNotifications() + err = database.RemoveAllNotifications() So(err, ShouldBeNil) }) Convey("Test fetch notifications with limit greater than count if all notifications has diff timestamp", func() { - addNotifications(dataBase, []moira.ScheduledNotification{notification, notificationNew, notificationOld}) - actual, err := dataBase.FetchNotifications(now+6000, 200000) //nolint + addNotifications(database, []moira.ScheduledNotification{notification, notificationNew, notificationOld}) + actual, err := database.FetchNotifications(now+database.getDelayedTimeInSeconds(), 200000) //nolint So(err, ShouldBeNil) So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ificationOld, ¬ification, ¬ificationNew}) - actual, total, err := dataBase.GetNotifications(0, -1) + actual, total, err := database.GetNotifications(0, -1) So(err, ShouldBeNil) So(actual, ShouldResemble, []*moira.ScheduledNotification{}) So(total, ShouldEqual, 0) - err = dataBase.RemoveAllNotifications() + err = database.RemoveAllNotifications() So(err, ShouldBeNil) }) Convey("Test fetch notifications without limit", func() { - addNotifications(dataBase, []moira.ScheduledNotification{notification, notificationNew, notificationOld}) - actual, err := dataBase.FetchNotifications(now+6000, notifier.NotificationsLimitUnlimited) //nolint + addNotifications(database, []moira.ScheduledNotification{notification, notificationNew, notificationOld}) + actual, err := database.FetchNotifications(now+database.getDelayedTimeInSeconds(), notifier.NotificationsLimitUnlimited) //nolint So(err, ShouldBeNil) So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ificationOld, ¬ification, ¬ificationNew}) - actual, total, err := dataBase.GetNotifications(0, -1) + actual, total, err := database.GetNotifications(0, -1) So(err, ShouldBeNil) So(actual, ShouldResemble, []*moira.ScheduledNotification{}) So(total, ShouldEqual, 0) - err = dataBase.RemoveAllNotifications() + err = database.RemoveAllNotifications() So(err, ShouldBeNil) }) }) } -func TestNotificationsCount(t *testing.T) { - logger, _ := logging.GetLogger("dataBase") - dataBase := NewTestDatabase(logger) - dataBase.Flush() - defer dataBase.Flush() +func TestGetNotificationsInTxWithLimit(t *testing.T) { + logger, _ := logging.GetLogger("database") + database := NewTestDatabase(logger) + database.Flush() + defer database.Flush() - Convey("notificationsCount in db", t, func() { - now := time.Now().Unix() + client := *database.client + ctx := database.context + + Convey("Test getNotificationsInTxWithLimit", t, func() { + var limit int64 = 0 + now = time.Now().Unix() notificationNew := moira.ScheduledNotification{ SendFail: 1, - Timestamp: now + 3600, + Timestamp: now + database.getDelayedTimeInSeconds(), + CreatedAt: now, } notification := moira.ScheduledNotification{ SendFail: 2, Timestamp: now, + CreatedAt: now, } notificationOld := moira.ScheduledNotification{ SendFail: 3, - Timestamp: now - 3600, + Timestamp: now - database.getDelayedTimeInSeconds(), + CreatedAt: now, } - Convey("Test all notification with different ts in db", func() { - addNotifications(dataBase, []moira.ScheduledNotification{notification, notificationNew, notificationOld}) - actual, err := dataBase.notificationsCount(now + 6000) + Convey("Test with zero notifications without limit", func() { + addNotifications(database, []moira.ScheduledNotification{}) + err := client.Watch(ctx, func(tx *redis.Tx) error { + actual, err := getNotificationsInTxWithLimit(ctx, tx, now+database.getDelayedTimeInSeconds()*2, notifier.NotificationsLimitUnlimited) + So(err, ShouldBeNil) + So(actual, ShouldResemble, []*moira.ScheduledNotification{}) + return nil + }, notifierNotificationsKey) So(err, ShouldBeNil) - So(actual, ShouldResemble, int64(3)) - err = dataBase.RemoveAllNotifications() + err = database.RemoveAllNotifications() So(err, ShouldBeNil) }) - Convey("Test get 0 notification with ts in db", func() { - addNotifications(dataBase, []moira.ScheduledNotification{notification, notificationNew, notificationOld}) - actual, err := dataBase.notificationsCount(now - 7000) + Convey("Test all notifications without limit", func() { + addNotifications(database, []moira.ScheduledNotification{notification, notificationNew, notificationOld}) + err := client.Watch(ctx, func(tx *redis.Tx) error { + actual, err := getNotificationsInTxWithLimit(ctx, tx, now+database.getDelayedTimeInSeconds()*2, notifier.NotificationsLimitUnlimited) + So(err, ShouldBeNil) + So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ificationOld, ¬ification, ¬ificationNew}) + return nil + }, notifierNotificationsKey) So(err, ShouldBeNil) - So(actual, ShouldResemble, int64(0)) - err = dataBase.RemoveAllNotifications() + err = database.RemoveAllNotifications() So(err, ShouldBeNil) }) - Convey("Test part notification in db with ts", func() { - addNotifications(dataBase, []moira.ScheduledNotification{notification, notificationNew, notificationOld}) - actual, err := dataBase.notificationsCount(now) + Convey("Test all notifications with limit != count", func() { + limit = 1 + addNotifications(database, []moira.ScheduledNotification{notification, notificationNew, notificationOld}) + err := client.Watch(ctx, func(tx *redis.Tx) error { + actual, err := getNotificationsInTxWithLimit(ctx, tx, now+database.getDelayedTimeInSeconds()*2, limit) + So(err, ShouldBeNil) + So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ificationOld}) + return nil + }, notifierNotificationsKey) So(err, ShouldBeNil) - So(actual, ShouldResemble, int64(2)) - err = dataBase.RemoveAllNotifications() + err = database.RemoveAllNotifications() So(err, ShouldBeNil) }) - Convey("Test 0 notification in db", func() { - addNotifications(dataBase, []moira.ScheduledNotification{}) - actual, err := dataBase.notificationsCount(now) + Convey("Test all notifications with limit = count", func() { + limit = 3 + addNotifications(database, []moira.ScheduledNotification{notification, notificationNew, notificationOld}) + err := client.Watch(ctx, func(tx *redis.Tx) error { + actual, err := getNotificationsInTxWithLimit(ctx, tx, now+database.getDelayedTimeInSeconds()*2, limit) + So(err, ShouldBeNil) + So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ificationOld, ¬ification, ¬ificationNew}) + return nil + }, notifierNotificationsKey) So(err, ShouldBeNil) - So(actual, ShouldResemble, int64(0)) - err = dataBase.RemoveAllNotifications() + err = database.RemoveAllNotifications() So(err, ShouldBeNil) }) }) } -func TestFetchNotificationsWithLimitDo(t *testing.T) { - logger, _ := logging.GetLogger("dataBase") - dataBase := NewTestDatabase(logger) - dataBase.Flush() - defer dataBase.Flush() +func TestGetLimitedNotifications(t *testing.T) { + logger, _ := logging.GetLogger("database") + database := NewTestDatabase(logger) + database.Flush() + defer database.Flush() - Convey("notificationsCount in db", t, func() { - now := time.Now().Unix() + client := *database.client + ctx := database.context + + Convey("Test getLimitedNotifications", t, func() { + var limit int64 + now = time.Now().Unix() notificationNew := moira.ScheduledNotification{ SendFail: 1, - Timestamp: now + 3600, + Timestamp: now + database.getDelayedTimeInSeconds(), + CreatedAt: now, } notification := moira.ScheduledNotification{ SendFail: 2, Timestamp: now, + CreatedAt: now, } notificationOld := moira.ScheduledNotification{ SendFail: 3, - Timestamp: now - 3600, + Timestamp: now - database.getDelayedTimeInSeconds(), + CreatedAt: now, } - notification4 := moira.ScheduledNotification{ - SendFail: 4, - Timestamp: now - 3600, + + Convey("Test all notifications with different timestamps without limit", func() { + notifications := []*moira.ScheduledNotification{¬ificationOld, ¬ification, ¬ificationNew} + err := client.Watch(ctx, func(tx *redis.Tx) error { + actual, err := getLimitedNotifications(ctx, tx, notifier.NotificationsLimitUnlimited, notifications) + So(err, ShouldBeNil) + So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ificationOld, ¬ification, ¬ificationNew}) + return nil + }, notifierNotificationsKey) + So(err, ShouldBeNil) + + err = database.RemoveAllNotifications() + So(err, ShouldBeNil) + }) + + Convey("Test all notifications with different timestamps and limit", func() { + notifications := []*moira.ScheduledNotification{¬ificationOld, ¬ification, ¬ificationNew} + err := client.Watch(ctx, func(tx *redis.Tx) error { + actual, err := getLimitedNotifications(ctx, tx, limit, notifications) + So(err, ShouldBeNil) + So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ificationOld, ¬ification}) + return nil + }, notifierNotificationsKey) + So(err, ShouldBeNil) + + err = database.RemoveAllNotifications() + So(err, ShouldBeNil) + }) + + Convey("Test all notifications with same timestamp and limit", func() { + notification.Timestamp = now + notificationNew.Timestamp = now + notificationOld.Timestamp = now + defer func() { + notificationNew.Timestamp = now + database.getDelayedTimeInSeconds() + notificationOld.Timestamp = now - database.getDelayedTimeInSeconds() + }() + + addNotifications(database, []moira.ScheduledNotification{notificationOld, notification, notificationNew}) + notifications := []*moira.ScheduledNotification{¬ificationOld, ¬ification, ¬ificationNew} + expected := []*moira.ScheduledNotification{¬ificationOld, ¬ification, ¬ificationNew} + err := client.Watch(ctx, func(tx *redis.Tx) error { + actual, err := getLimitedNotifications(ctx, tx, limit, notifications) + So(err, ShouldBeNil) + assert.ElementsMatch(t, actual, expected) + return nil + }, notifierNotificationsKey) + So(err, ShouldBeNil) + + err = database.RemoveAllNotifications() + So(err, ShouldBeNil) + }) + + Convey("Test not all notifications with same timestamp and limit", func() { + notification.Timestamp = now + notificationNew.Timestamp = now + notificationOld.Timestamp = now + defer func() { + notificationNew.Timestamp = now + database.getDelayedTimeInSeconds() + notificationOld.Timestamp = now - database.getDelayedTimeInSeconds() + }() + + addNotifications(database, []moira.ScheduledNotification{notificationOld, notification, notificationNew}) + notifications := []*moira.ScheduledNotification{¬ificationOld, ¬ification} + expected := []*moira.ScheduledNotification{¬ificationOld, ¬ification, ¬ificationNew} + err := client.Watch(ctx, func(tx *redis.Tx) error { + actual, err := getLimitedNotifications(ctx, tx, limit, notifications) + So(err, ShouldBeNil) + assert.ElementsMatch(t, actual, expected) + return nil + }, notifierNotificationsKey) + So(err, ShouldBeNil) + + err = database.RemoveAllNotifications() + So(err, ShouldBeNil) + }) + }) +} + +func TestFilterNotificationsByState(t *testing.T) { + logger, _ := logging.GetLogger("database") + database := NewTestDatabase(logger) + database.Flush() + defer database.Flush() + defaultSourceNotSetCluster := moira.MakeClusterKey(moira.TriggerSourceNotSet, moira.DefaultCluster) + + notificationOld := &moira.ScheduledNotification{ + Trigger: moira.TriggerData{ + ID: "test2", + }, + Event: moira.NotificationEvent{ + Metric: "test", + }, + SendFail: 1, + Timestamp: now - database.getDelayedTimeInSeconds(), + CreatedAt: now - database.getDelayedTimeInSeconds(), + } + notification := &moira.ScheduledNotification{ + Trigger: moira.TriggerData{ + ID: "test2", + }, + Event: moira.NotificationEvent{ + Metric: "test1", + }, + SendFail: 2, + Timestamp: now, + CreatedAt: now, + } + notificationNew := &moira.ScheduledNotification{ + Trigger: moira.TriggerData{ + ID: "test1", + }, + Event: moira.NotificationEvent{ + Metric: "test1", + }, + SendFail: 3, + Timestamp: now + database.getDelayedTimeInSeconds(), + CreatedAt: now, + } + + _ = database.SetTriggerLastCheck("test1", &moira.CheckData{}, defaultSourceNotSetCluster) + + _ = database.SetTriggerLastCheck("test2", &moira.CheckData{ + Metrics: map[string]moira.MetricState{ + "test": {}, + }, + }, defaultSourceNotSetCluster) + + Convey("Test filter notifications by state", t, func() { + Convey("With empty notifications", func() { + types, err := database.filterNotificationsByState([]*moira.ScheduledNotification{}) + So(err, ShouldBeNil) + So(types.Valid, ShouldResemble, []*moira.ScheduledNotification{}) + So(types.ToRemove, ShouldResemble, []*moira.ScheduledNotification{}) + So(types.ToResaveOld, ShouldResemble, []*moira.ScheduledNotification{}) + So(types.ToResaveNew, ShouldResemble, []*moira.ScheduledNotification{}) + }) + + Convey("With all valid notifications", func() { + types, err := database.filterNotificationsByState([]*moira.ScheduledNotification{notificationOld, notification, notificationNew}) + So(err, ShouldBeNil) + So(types.Valid, ShouldResemble, []*moira.ScheduledNotification{notificationOld, notification, notificationNew}) + So(types.ToRemove, ShouldResemble, []*moira.ScheduledNotification{}) + So(types.ToResaveOld, ShouldResemble, []*moira.ScheduledNotification{}) + So(types.ToResaveNew, ShouldResemble, []*moira.ScheduledNotification{}) + }) + + Convey("With removed check data", func() { + database.RemoveTriggerLastCheck("test1") //nolint + defer func() { + _ = database.SetTriggerLastCheck("test1", &moira.CheckData{}, defaultSourceNotSetCluster) + }() + + types, err := database.filterNotificationsByState([]*moira.ScheduledNotification{notificationOld, notification, notificationNew}) + So(err, ShouldBeNil) + So(types.Valid, ShouldResemble, []*moira.ScheduledNotification{notificationOld, notification}) + So(types.ToRemove, ShouldResemble, []*moira.ScheduledNotification{notificationNew}) + So(types.ToResaveOld, ShouldResemble, []*moira.ScheduledNotification{}) + So(types.ToResaveNew, ShouldResemble, []*moira.ScheduledNotification{}) + }) + + Convey("With metric on maintenance", func() { + database.SetTriggerCheckMaintenance("test2", map[string]int64{"test": time.Now().Add(time.Hour).Unix()}, nil, "test", 100) //nolint + defer database.SetTriggerCheckMaintenance("test2", map[string]int64{"test": 0}, nil, "test", 100) //nolint + + types, err := database.filterNotificationsByState([]*moira.ScheduledNotification{notificationOld, notification, notificationNew}) + So(err, ShouldBeNil) + So(types.Valid, ShouldResemble, []*moira.ScheduledNotification{notification, notificationNew}) + So(types.ToRemove, ShouldResemble, []*moira.ScheduledNotification{}) + So(len(types.ToResaveOld), ShouldResemble, 1) + So(types.ToResaveOld[0], ShouldResemble, notificationOld) + So(len(types.ToResaveNew), ShouldResemble, 1) + So(types.ToResaveNew[0].SendFail, ShouldResemble, notificationOld.SendFail) + }) + + Convey("With trigger on maintenance", func() { + var triggerMaintenance int64 = time.Now().Add(time.Hour).Unix() + database.SetTriggerCheckMaintenance("test1", map[string]int64{}, &triggerMaintenance, "test", 100) //nolint + defer func() { + triggerMaintenance = 0 + database.SetTriggerCheckMaintenance("test1", map[string]int64{}, &triggerMaintenance, "test", 100) //nolint + }() + + types, err := database.filterNotificationsByState([]*moira.ScheduledNotification{notificationOld, notification, notificationNew}) + So(err, ShouldBeNil) + So(types.Valid, ShouldResemble, []*moira.ScheduledNotification{notificationOld, notification}) + So(types.ToRemove, ShouldResemble, []*moira.ScheduledNotification{}) + So(len(types.ToResaveOld), ShouldResemble, 1) + So(types.ToResaveOld[0], ShouldResemble, notificationNew) + So(len(types.ToResaveNew), ShouldResemble, 1) + So(types.ToResaveNew[0].SendFail, ShouldResemble, notificationNew.SendFail) + }) + }) +} + +func TestHandleNotifications(t *testing.T) { + logger, _ := logging.GetLogger("database") + database := NewTestDatabase(logger) + database.Flush() + defer database.Flush() + defaultSourceNotSetCluster := moira.MakeClusterKey(moira.TriggerSourceNotSet, moira.DefaultCluster) + + notificationOld := &moira.ScheduledNotification{ + Trigger: moira.TriggerData{ + ID: "test2", + }, + SendFail: 1, + Timestamp: now - database.getDelayedTimeInSeconds(), + CreatedAt: now - database.getDelayedTimeInSeconds(), + } + notification := &moira.ScheduledNotification{ + Trigger: moira.TriggerData{ + ID: "test1", + }, + SendFail: 2, + Timestamp: now, + CreatedAt: now, + } + notificationNew := &moira.ScheduledNotification{ + Trigger: moira.TriggerData{ + ID: "test1", + }, + SendFail: 3, + Timestamp: now + database.getDelayedTimeInSeconds(), + CreatedAt: now, + } + + // create delayed notifications + notificationOld2 := &moira.ScheduledNotification{ + Trigger: moira.TriggerData{ + ID: "test2", + }, + Event: moira.NotificationEvent{ + Metric: "test", + }, + SendFail: 4, + Timestamp: now - database.getDelayedTimeInSeconds() + 1, + CreatedAt: now - 2*database.getDelayedTimeInSeconds(), + } + notificationNew2 := &moira.ScheduledNotification{ + Trigger: moira.TriggerData{ + ID: "test1", + }, + Event: moira.NotificationEvent{ + Metric: "test", + }, + SendFail: 5, + Timestamp: now + database.getDelayedTimeInSeconds() + 1, + CreatedAt: now, + } + notificationNew3 := &moira.ScheduledNotification{ + Trigger: moira.TriggerData{ + ID: "test2", + }, + Event: moira.NotificationEvent{ + Metric: "test2", + }, + SendFail: 6, + Timestamp: now + database.getDelayedTimeInSeconds() + 2, + CreatedAt: now, + } + + _ = database.SetTriggerLastCheck("test1", &moira.CheckData{}, defaultSourceNotSetCluster) + + _ = database.SetTriggerLastCheck("test2", &moira.CheckData{ + Metrics: map[string]moira.MetricState{ + "test": {}, + }, + }, defaultSourceNotSetCluster) + + Convey("Test handle notifications", t, func() { + Convey("Without delayed notifications", func() { + types, err := database.handleNotifications([]*moira.ScheduledNotification{notificationOld, notification, notificationNew}) + So(err, ShouldBeNil) + So(types.Valid, ShouldResemble, []*moira.ScheduledNotification{notificationOld, notification, notificationNew}) + So(types.ToRemove, ShouldResemble, []*moira.ScheduledNotification{notificationOld, notification, notificationNew}) + var toResaveNotificationsExpected []*moira.ScheduledNotification + So(types.ToResaveOld, ShouldResemble, toResaveNotificationsExpected) + So(types.ToResaveNew, ShouldResemble, toResaveNotificationsExpected) + }) + + Convey("With both delayed and not delayed valid notifications", func() { + types, err := database.handleNotifications([]*moira.ScheduledNotification{notificationOld, notificationOld2, notification, notificationNew, notificationNew2, notificationNew3}) + So(err, ShouldBeNil) + So(types.Valid, ShouldResemble, []*moira.ScheduledNotification{notificationOld, notificationOld2, notification, notificationNew, notificationNew2, notificationNew3}) + So(types.ToRemove, ShouldResemble, []*moira.ScheduledNotification{notificationOld, notificationOld2, notification, notificationNew, notificationNew2, notificationNew3}) + So(types.ToResaveOld, ShouldResemble, []*moira.ScheduledNotification{}) + So(types.ToResaveNew, ShouldResemble, []*moira.ScheduledNotification{}) + }) + + Convey("With both delayed and not delayed notifications and removed check data", func() { + database.RemoveTriggerLastCheck("test1") //nolint + defer func() { + _ = database.SetTriggerLastCheck("test1", &moira.CheckData{}, defaultSourceNotSetCluster) + }() + + types, err := database.handleNotifications([]*moira.ScheduledNotification{notificationOld, notificationOld2, notification, notificationNew, notificationNew2, notificationNew3}) + So(err, ShouldBeNil) + So(types.Valid, ShouldResemble, []*moira.ScheduledNotification{notificationOld, notificationOld2, notification, notificationNew, notificationNew3}) + So(types.ToRemove, ShouldResemble, []*moira.ScheduledNotification{notificationNew2, notificationOld, notificationOld2, notification, notificationNew, notificationNew3}) + So(types.ToResaveOld, ShouldResemble, []*moira.ScheduledNotification{}) + So(types.ToResaveNew, ShouldResemble, []*moira.ScheduledNotification{}) + }) + + Convey("With both delayed and not delayed valid notifications and metric on maintenance", func() { + database.SetTriggerCheckMaintenance("test2", map[string]int64{"test": time.Now().Add(time.Hour).Unix()}, nil, "test", 100) //nolint + defer database.SetTriggerCheckMaintenance("test2", map[string]int64{"test": 0}, nil, "test", 100) //nolint + + types, err := database.handleNotifications([]*moira.ScheduledNotification{notificationOld, notificationOld2, notification, notificationNew, notificationNew2, notificationNew3}) + So(err, ShouldBeNil) + So(types.Valid, ShouldResemble, []*moira.ScheduledNotification{notificationOld, notification, notificationNew, notificationNew2, notificationNew3}) + So(types.ToRemove, ShouldResemble, []*moira.ScheduledNotification{notificationOld, notification, notificationNew, notificationNew2, notificationNew3}) + So(len(types.ToResaveNew), ShouldResemble, 1) + So(types.ToResaveNew[0].SendFail, ShouldResemble, notificationOld2.SendFail) + So(len(types.ToResaveOld), ShouldResemble, 1) + So(types.ToResaveOld[0], ShouldResemble, notificationOld2) + }) + + Convey("With both delayed and not delayed valid notifications and trigger on maintenance", func() { + var triggerMaintenance int64 = time.Now().Add(time.Hour).Unix() + database.SetTriggerCheckMaintenance("test1", map[string]int64{}, &triggerMaintenance, "test", 100) //nolint + defer func() { + triggerMaintenance = 0 + database.SetTriggerCheckMaintenance("test1", map[string]int64{}, &triggerMaintenance, "test", 100) //nolint + }() + + types, err := database.handleNotifications([]*moira.ScheduledNotification{notificationOld, notificationOld2, notification, notificationNew, notificationNew2, notificationNew3}) + So(err, ShouldBeNil) + So(types.Valid, ShouldResemble, []*moira.ScheduledNotification{notificationOld, notificationOld2, notification, notificationNew, notificationNew3}) + So(types.ToRemove, ShouldResemble, []*moira.ScheduledNotification{notificationOld, notificationOld2, notification, notificationNew, notificationNew3}) + So(len(types.ToResaveNew), ShouldResemble, 1) + So(types.ToResaveNew[0].SendFail, ShouldResemble, notificationNew2.SendFail) + So(len(types.ToResaveOld), ShouldResemble, 1) + So(types.ToResaveOld[0], ShouldResemble, notificationNew2) + }) + }) +} + +func TestNotificationsCount(t *testing.T) { + logger, _ := logging.GetLogger("database") + database := NewTestDatabase(logger) + database.Flush() + defer database.Flush() + + Convey("notificationsCount in db", t, func() { + now = time.Now().Unix() + notificationNew := moira.ScheduledNotification{ + SendFail: 1, + Timestamp: now + database.getDelayedTimeInSeconds(), + CreatedAt: now, + } + notification := moira.ScheduledNotification{ + SendFail: 2, + Timestamp: now, + CreatedAt: now, + } + notificationOld := moira.ScheduledNotification{ + SendFail: 3, + Timestamp: now - database.getDelayedTimeInSeconds(), + CreatedAt: now - database.getDelayedTimeInSeconds(), } - Convey("Test all notification with ts and limit in db", func() { - addNotifications(dataBase, []moira.ScheduledNotification{notification, notificationNew, notificationOld}) - actual, err := dataBase.fetchNotificationsWithLimitDo(now+6000, 1) //nolint + Convey("Test all notification with different ts in db", func() { + addNotifications(database, []moira.ScheduledNotification{notification, notificationNew, notificationOld}) + actual, err := database.notificationsCount(now + database.getDelayedTimeInSeconds()*2) So(err, ShouldBeNil) - So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ificationOld}) + So(actual, ShouldResemble, int64(3)) - err = dataBase.RemoveAllNotifications() + err = database.RemoveAllNotifications() So(err, ShouldBeNil) }) - Convey("Test 0 notification with ts and limit in empty db", func() { - addNotifications(dataBase, []moira.ScheduledNotification{}) - actual, err := dataBase.fetchNotificationsWithLimitDo(now+6000, 10) //nolint + Convey("Test get 0 notification with ts in db", func() { + addNotifications(database, []moira.ScheduledNotification{notification, notificationNew, notificationOld}) + actual, err := database.notificationsCount(now - database.getDelayedTimeInSeconds()*2) So(err, ShouldBeNil) - So(actual, ShouldResemble, []*moira.ScheduledNotification{}) + So(actual, ShouldResemble, int64(0)) + + err = database.RemoveAllNotifications() + So(err, ShouldBeNil) + }) + + Convey("Test part notification in db with ts", func() { + addNotifications(database, []moira.ScheduledNotification{notification, notificationNew, notificationOld}) + actual, err := database.notificationsCount(now) + So(err, ShouldBeNil) + So(actual, ShouldResemble, int64(2)) + + err = database.RemoveAllNotifications() + So(err, ShouldBeNil) + }) + + Convey("Test 0 notification in db", func() { + addNotifications(database, []moira.ScheduledNotification{}) + actual, err := database.notificationsCount(now) + So(err, ShouldBeNil) + So(actual, ShouldResemble, int64(0)) + + err = database.RemoveAllNotifications() + So(err, ShouldBeNil) + }) + }) +} + +func TestFetchNotificationsDo(t *testing.T) { + logger, _ := logging.GetLogger("database") + database := NewTestDatabase(logger) + database.Flush() + defer database.Flush() + + var limit int64 + + defaultSourceNotSetCluster := moira.MakeClusterKey(moira.TriggerSourceNotSet, moira.DefaultCluster) + + _ = database.SetTriggerLastCheck("test1", &moira.CheckData{ + Metrics: map[string]moira.MetricState{ + "test1": {}, + }, + }, defaultSourceNotSetCluster) + + _ = database.SetTriggerLastCheck("test2", &moira.CheckData{ + Metrics: map[string]moira.MetricState{ + "test1": {}, + "test2": {}, + }, + }, defaultSourceNotSetCluster) + + now := time.Now().Unix() + notificationOld := moira.ScheduledNotification{ + SendFail: 1, + Timestamp: now - database.getDelayedTimeInSeconds() + 1, + CreatedAt: now - database.getDelayedTimeInSeconds() + 1, + } + notification4 := moira.ScheduledNotification{ + SendFail: 2, + Timestamp: now - database.getDelayedTimeInSeconds() + 2, + CreatedAt: now - database.getDelayedTimeInSeconds() + 2, + } + notificationNew := moira.ScheduledNotification{ + SendFail: 3, + Timestamp: now + database.getDelayedTimeInSeconds(), + CreatedAt: now, + } + notification := moira.ScheduledNotification{ + SendFail: 4, + Timestamp: now, + CreatedAt: now, + } + + // create delayed notifications + notificationOld2 := moira.ScheduledNotification{ + Trigger: moira.TriggerData{ + ID: "test2", + }, + Event: moira.NotificationEvent{ + Metric: "test1", + }, + SendFail: 5, + Timestamp: now - database.getDelayedTimeInSeconds() + 3, + CreatedAt: now - 2*database.getDelayedTimeInSeconds(), + } + notificationNew2 := moira.ScheduledNotification{ + Trigger: moira.TriggerData{ + ID: "test1", + }, + Event: moira.NotificationEvent{ + Metric: "test1", + }, + SendFail: 6, + Timestamp: now + database.getDelayedTimeInSeconds() + 1, + CreatedAt: now, + } + notificationNew3 := moira.ScheduledNotification{ + Trigger: moira.TriggerData{ + ID: "test2", + }, + Event: moira.NotificationEvent{ + Metric: "test2", + }, + SendFail: 7, + Timestamp: now + database.getDelayedTimeInSeconds() + 2, + CreatedAt: now, + } + + Convey("Test fetchNotificationsDo", t, func() { + Convey("Test all notifications with diff ts in db", func() { + Convey("With limit", func() { + addNotifications(database, []moira.ScheduledNotification{notification, notificationNew, notificationOld}) + limit = 1 + actual, err := database.fetchNotificationsDo(now+database.getDelayedTimeInSeconds(), limit) + So(err, ShouldBeNil) + So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ificationOld}) + + err = database.RemoveAllNotifications() + So(err, ShouldBeNil) + }) + + Convey("Without limit", func() { + addNotifications(database, []moira.ScheduledNotification{notification, notificationNew, notificationOld}) + actual, err := database.fetchNotificationsDo(now+database.getDelayedTimeInSeconds(), notifier.NotificationsLimitUnlimited) + So(err, ShouldBeNil) + So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ificationOld, ¬ification, ¬ificationNew}) + + err = database.RemoveAllNotifications() + So(err, ShouldBeNil) + }) + }) + + Convey("Test zero notifications with ts in empty db", func() { + Convey("With limit", func() { + addNotifications(database, []moira.ScheduledNotification{}) + limit = 10 + actual, err := database.fetchNotificationsDo(now+database.getDelayedTimeInSeconds(), limit) + So(err, ShouldBeNil) + So(actual, ShouldResemble, []*moira.ScheduledNotification{}) + + err = database.RemoveAllNotifications() + So(err, ShouldBeNil) + }) + + Convey("Without limit", func() { + addNotifications(database, []moira.ScheduledNotification{}) + actual, err := database.fetchNotificationsDo(now+database.getDelayedTimeInSeconds(), notifier.NotificationsLimitUnlimited) + So(err, ShouldBeNil) + So(actual, ShouldResemble, []*moira.ScheduledNotification{}) + + err = database.RemoveAllNotifications() + So(err, ShouldBeNil) + }) + }) - err = dataBase.RemoveAllNotifications() + Convey("Test all notification with ts and without limit in db", func() { + addNotifications(database, []moira.ScheduledNotification{notification, notificationNew, notificationOld, notification4}) + actual, err := database.fetchNotificationsDo(now+database.getDelayedTimeInSeconds(), notifier.NotificationsLimitUnlimited) + So(err, ShouldBeNil) + So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ificationOld, ¬ification4, ¬ification, ¬ificationNew}) + + err = database.RemoveAllNotifications() So(err, ShouldBeNil) }) - Convey("Test all notification with ts and big limit in db", func() { - addNotifications(dataBase, []moira.ScheduledNotification{notification, notificationNew, notificationOld}) - actual, err := dataBase.fetchNotificationsWithLimitDo(now+6000, 100) //nolint + Convey("Test all notifications with ts and big limit in db", func() { + addNotifications(database, []moira.ScheduledNotification{notification, notificationNew, notificationOld}) + limit = 100 + actual, err := database.fetchNotificationsDo(now+database.getDelayedTimeInSeconds(), limit) //nolint So(err, ShouldBeNil) So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ificationOld, ¬ification}) - err = dataBase.RemoveAllNotifications() + err = database.RemoveAllNotifications() So(err, ShouldBeNil) }) - Convey("Test notification with ts and small limit in db", func() { - addNotifications(dataBase, []moira.ScheduledNotification{notification, notificationNew, notificationOld, notification4}) - actual, err := dataBase.fetchNotificationsWithLimitDo(now+6000, 3) //nolint + Convey("Test notifications with ts and small limit in db", func() { + addNotifications(database, []moira.ScheduledNotification{notification, notificationNew, notificationOld, notification4}) + limit = 3 + actual, err := database.fetchNotificationsDo(now+database.getDelayedTimeInSeconds(), limit) //nolint So(err, ShouldBeNil) So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ificationOld, ¬ification4}) - err = dataBase.RemoveAllNotifications() + err = database.RemoveAllNotifications() So(err, ShouldBeNil) }) - Convey("Test notification with ts and limit = count", func() { - addNotifications(dataBase, []moira.ScheduledNotification{notification, notificationNew, notificationOld}) - actual, err := dataBase.fetchNotificationsWithLimitDo(now+6000, 3) //nolint + Convey("Test notifications with ts and limit = count", func() { + addNotifications(database, []moira.ScheduledNotification{notification, notificationNew, notificationOld}) + limit = 3 + actual, err := database.fetchNotificationsDo(now+database.getDelayedTimeInSeconds(), limit) //nolint So(err, ShouldBeNil) So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ificationOld, ¬ification}) - err = dataBase.RemoveAllNotifications() + err = database.RemoveAllNotifications() So(err, ShouldBeNil) }) + + Convey("Test delayed notifications with ts and deleted trigger", func() { + database.RemoveTriggerLastCheck("test1") //nolint + defer func() { + _ = database.SetTriggerLastCheck("test1", &moira.CheckData{ + Metrics: map[string]moira.MetricState{ + "test1": {}, + }, + }, defaultSourceNotSetCluster) + }() + + Convey("With big limit", func() { + addNotifications(database, []moira.ScheduledNotification{notificationOld, notificationOld2, notification, notificationNew, notificationNew2, notificationNew3}) + limit = 100 + actual, err := database.fetchNotificationsDo(now+database.getDelayedTimeInSeconds()+3, limit) + So(err, ShouldBeNil) + So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ificationOld, ¬ificationOld2, ¬ification, ¬ificationNew}) + + allNotifications, count, err := database.GetNotifications(0, -1) + So(err, ShouldBeNil) + So(allNotifications, ShouldResemble, []*moira.ScheduledNotification{¬ificationNew3}) + So(count, ShouldEqual, 1) + + err = database.RemoveAllNotifications() + So(err, ShouldBeNil) + }) + + Convey("Without limit", func() { + addNotifications(database, []moira.ScheduledNotification{notificationOld, notificationOld2, notification, notificationNew, notificationNew2, notificationNew3}) + actual, err := database.fetchNotificationsDo(now+database.getDelayedTimeInSeconds()+3, notifier.NotificationsLimitUnlimited) + So(err, ShouldBeNil) + So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ificationOld, ¬ificationOld2, ¬ification, ¬ificationNew, ¬ificationNew3}) + + allNotifications, count, err := database.GetNotifications(0, -1) + So(err, ShouldBeNil) + So(allNotifications, ShouldResemble, []*moira.ScheduledNotification{}) + So(count, ShouldEqual, 0) + + err = database.RemoveAllNotifications() + So(err, ShouldBeNil) + }) + }) + + Convey("Test notifications with ts and metric on maintenance", func() { + database.SetTriggerCheckMaintenance("test2", map[string]int64{"test2": time.Now().Add(time.Hour).Unix()}, nil, "test", 100) //nolint + defer database.SetTriggerCheckMaintenance("test2", map[string]int64{"test2": 0}, nil, "test", 100) //nolint + + Convey("With limit = count", func() { + addNotifications(database, []moira.ScheduledNotification{notificationOld, notificationOld2, notification, notificationNew, notificationNew2, notificationNew3}) + limit = 6 + actual, err := database.fetchNotificationsDo(now+database.getDelayedTimeInSeconds()+3, limit) + So(err, ShouldBeNil) + So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ificationOld, ¬ificationOld2, ¬ification, ¬ificationNew, ¬ificationNew2}) + + allNotifications, count, err := database.GetNotifications(0, -1) + So(err, ShouldBeNil) + So(allNotifications, ShouldResemble, []*moira.ScheduledNotification{¬ificationNew3}) + So(count, ShouldEqual, 1) + + err = database.RemoveAllNotifications() + So(err, ShouldBeNil) + }) + + Convey("Without limit", func() { + addNotifications(database, []moira.ScheduledNotification{notificationOld, notificationOld2, notification, notificationNew, notificationNew2, notificationNew3}) + actual, err := database.fetchNotificationsDo(now+database.getDelayedTimeInSeconds()+3, notifier.NotificationsLimitUnlimited) + So(err, ShouldBeNil) + So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ificationOld, ¬ificationOld2, ¬ification, ¬ificationNew, ¬ificationNew2}) + + allNotifications, count, err := database.GetNotifications(0, -1) + So(err, ShouldBeNil) + So(count, ShouldEqual, 1) + So(allNotifications[0].SendFail, ShouldResemble, notificationNew3.SendFail) + + err = database.RemoveAllNotifications() + So(err, ShouldBeNil) + }) + }) + + Convey("Test delayed notifications with ts and trigger on maintenance", func() { + var triggerMaintenance int64 = time.Now().Add(time.Hour).Unix() + database.SetTriggerCheckMaintenance("test1", map[string]int64{}, &triggerMaintenance, "test", 100) //nolint + defer func() { + triggerMaintenance = 0 + database.SetTriggerCheckMaintenance("test1", map[string]int64{}, &triggerMaintenance, "test", 100) //nolint + }() + + Convey("With small limit", func() { + addNotifications(database, []moira.ScheduledNotification{notificationOld, notificationOld2, notification, notificationNew, notificationNew2, notificationNew3}) + limit = 3 + actual, err := database.fetchNotificationsDo(now+database.getDelayedTimeInSeconds()+3, limit) + So(err, ShouldBeNil) + So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ificationOld, ¬ificationOld2}) + + allNotifications, count, err := database.GetNotifications(0, -1) + So(err, ShouldBeNil) + So(allNotifications, ShouldResemble, []*moira.ScheduledNotification{¬ification, ¬ificationNew, ¬ificationNew2, ¬ificationNew3}) + So(count, ShouldEqual, 4) + + err = database.RemoveAllNotifications() + So(err, ShouldBeNil) + }) + + Convey("without limit", func() { + addNotifications(database, []moira.ScheduledNotification{notificationOld, notificationOld2, notification, notificationNew, notificationNew2, notificationNew3}) + actual, err := database.fetchNotificationsDo(now+database.getDelayedTimeInSeconds()+3, notifier.NotificationsLimitUnlimited) + So(err, ShouldBeNil) + So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ificationOld, ¬ificationOld2, ¬ification, ¬ificationNew, ¬ificationNew3}) + + allNotifications, count, err := database.GetNotifications(0, -1) + So(err, ShouldBeNil) + So(count, ShouldEqual, 1) + So(allNotifications[0].SendFail, ShouldResemble, notificationNew2.SendFail) + + err = database.RemoveAllNotifications() + So(err, ShouldBeNil) + }) + }) }) } @@ -487,59 +1163,312 @@ func TestLimitNotifications(t *testing.T) { //nolint }) } -func TestFetchNotificationsNoLimit(t *testing.T) { - logger, _ := logging.GetLogger("dataBase") - dataBase := NewTestDatabase(logger) - dataBase.Flush() - defer dataBase.Flush() +func TestFilterNotificationsByDelay(t *testing.T) { + Convey("filterNotificationsByDelay manipulations", t, func() { + notification1 := &moira.ScheduledNotification{ + Timestamp: 105, + CreatedAt: 100, + } + notification2 := &moira.ScheduledNotification{ + Timestamp: 110, + CreatedAt: 100, + } + notification3 := &moira.ScheduledNotification{ + Timestamp: 120, + CreatedAt: 100, + } - Convey("fetchNotificationsNoLimit manipulation", t, func() { - now := time.Now().Unix() - notificationNew := moira.ScheduledNotification{ - SendFail: 1, - Timestamp: now + 3600, + Convey("Test with zero notifications", func() { + notifications := []*moira.ScheduledNotification{} + delayed, notDelayed := filterNotificationsByDelay(notifications, 1) + So(delayed, ShouldResemble, []*moira.ScheduledNotification{}) + So(notDelayed, ShouldResemble, []*moira.ScheduledNotification{}) + }) + + Convey("Test with zero delayed notifications", func() { + notifications := []*moira.ScheduledNotification{notification1, notification2, notification3} + delayed, notDelayed := filterNotificationsByDelay(notifications, 50) + So(delayed, ShouldResemble, []*moira.ScheduledNotification{}) + So(notDelayed, ShouldResemble, notifications) + }) + + Convey("Test with zero not delayed notifications", func() { + notifications := []*moira.ScheduledNotification{notification1, notification2, notification3} + delayed, notDelayed := filterNotificationsByDelay(notifications, 2) + So(delayed, ShouldResemble, notifications) + So(notDelayed, ShouldResemble, []*moira.ScheduledNotification{}) + }) + + Convey("Test with one delayed and two not delayed notifications", func() { + notifications := []*moira.ScheduledNotification{notification1, notification2, notification3} + delayed, notDelayed := filterNotificationsByDelay(notifications, 15) + So(delayed, ShouldResemble, []*moira.ScheduledNotification{notification3}) + So(notDelayed, ShouldResemble, []*moira.ScheduledNotification{notification1, notification2}) + }) + }) +} + +func TestGetNotificationsTriggerChecks(t *testing.T) { + logger, _ := logging.GetLogger("database") + database := NewTestDatabase(logger) + database.Flush() + defer database.Flush() + defaultSourceNotSetCluster := moira.MakeClusterKey(moira.TriggerSourceNotSet, moira.DefaultCluster) + + _ = database.SetTriggerLastCheck("test1", &moira.CheckData{ + Timestamp: 1, + }, defaultSourceNotSetCluster) + _ = database.SetTriggerLastCheck("test2", &moira.CheckData{ + Timestamp: 2, + }, defaultSourceNotSetCluster) + + Convey("getNotificationsTriggerChecks manipulations", t, func() { + notification1 := &moira.ScheduledNotification{ + Trigger: moira.TriggerData{ + ID: "test1", + }, } - notification := moira.ScheduledNotification{ - SendFail: 2, - Timestamp: now, + notification2 := &moira.ScheduledNotification{ + Trigger: moira.TriggerData{ + ID: "test1", + }, } - notificationOld := moira.ScheduledNotification{ - SendFail: 3, - Timestamp: now - 3600, + notification3 := &moira.ScheduledNotification{ + Trigger: moira.TriggerData{ + ID: "test2", + }, } - notification4 := moira.ScheduledNotification{ - SendFail: 4, - Timestamp: now - 3600, + + Convey("Test with zero notifications", func() { + notifications := []*moira.ScheduledNotification{} + triggerChecks, err := database.getNotificationsTriggerChecks(notifications) + So(err, ShouldBeNil) + So(triggerChecks, ShouldResemble, []*moira.CheckData{}) + + err = database.RemoveAllNotifications() + So(err, ShouldBeNil) + }) + + Convey("Test with correct notifications", func() { + notifications := []*moira.ScheduledNotification{notification1, notification2, notification3} + triggerChecks, err := database.getNotificationsTriggerChecks(notifications) + So(err, ShouldBeNil) + So(triggerChecks, ShouldResemble, []*moira.CheckData{ + { + Timestamp: 1, + MetricsToTargetRelation: map[string]string{}, + }, + { + Timestamp: 1, + MetricsToTargetRelation: map[string]string{}, + }, + { + Timestamp: 2, + MetricsToTargetRelation: map[string]string{}, + }, + }) + + err = database.RemoveAllNotifications() + So(err, ShouldBeNil) + }) + + Convey("Test notifications with removed test1 trigger check", func() { + database.RemoveTriggerLastCheck("test1") //nolint + defer func() { + _ = database.SetTriggerLastCheck("test1", &moira.CheckData{ + Timestamp: 1, + }, defaultSourceNotSetCluster) + }() + + notifications := []*moira.ScheduledNotification{notification1, notification2, notification3} + triggerChecks, err := database.getNotificationsTriggerChecks(notifications) + So(err, ShouldBeNil) + So(triggerChecks, ShouldResemble, []*moira.CheckData{nil, nil, {Timestamp: 2, MetricsToTargetRelation: map[string]string{}}}) + + err = database.RemoveAllNotifications() + So(err, ShouldBeNil) + }) + + Convey("Test notifications with removed all trigger checks", func() { + database.RemoveTriggerLastCheck("test1") //nolint + database.RemoveTriggerLastCheck("test2") //nolint + + notifications := []*moira.ScheduledNotification{notification1, notification2, notification3} + triggerChecks, err := database.getNotificationsTriggerChecks(notifications) + So(err, ShouldBeNil) + So(triggerChecks, ShouldResemble, []*moira.CheckData{nil, nil, nil}) + + err = database.RemoveAllNotifications() + So(err, ShouldBeNil) + }) + }) +} + +func TestResaveNotifications(t *testing.T) { + logger, _ := logging.GetLogger("database") + database := NewTestDatabase(logger) + database.Flush() + defer database.Flush() + + client := database.client + ctx := database.context + pipe := (*client).TxPipeline() + + Convey("Test resaveNotifications", t, func() { + notificationOld1 := &moira.ScheduledNotification{ + Timestamp: 1, + } + notificationOld2 := &moira.ScheduledNotification{ + Timestamp: 2, + } + notificationOld3 := &moira.ScheduledNotification{ + Timestamp: 3, } - Convey("Test all notifications with diff ts in db", func() { - addNotifications(dataBase, []moira.ScheduledNotification{notification, notificationNew, notificationOld}) - actual, err := dataBase.fetchNotificationsNoLimit(now + 6000) + notificationNew1 := &moira.ScheduledNotification{ + Timestamp: 4, + } + notificationNew2 := &moira.ScheduledNotification{ + Timestamp: 5, + } + notificationNew3 := &moira.ScheduledNotification{ + Timestamp: 6, + } + + Convey("Test resave with zero notifications", func() { + affected, err := database.resaveNotifications(ctx, pipe, []*moira.ScheduledNotification{}, []*moira.ScheduledNotification{}) So(err, ShouldBeNil) - So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ificationOld, ¬ification, ¬ificationNew}) + So(affected, ShouldResemble, 0) + + allNotifications, count, err := database.GetNotifications(0, -1) + So(err, ShouldBeNil) + So(allNotifications, ShouldResemble, []*moira.ScheduledNotification{}) + So(count, ShouldEqual, 0) - err = dataBase.RemoveAllNotifications() + err = database.RemoveAllNotifications() So(err, ShouldBeNil) }) - Convey("Test zero notifications in db", func() { - addNotifications(dataBase, []moira.ScheduledNotification{}) - actual, err := dataBase.fetchNotificationsNoLimit(now + 6000) + Convey("Test resave notifications with empty database", func() { + affected, err := database.resaveNotifications(ctx, pipe, []*moira.ScheduledNotification{notificationOld1, notificationOld2}, []*moira.ScheduledNotification{notificationNew1, notificationNew2}) So(err, ShouldBeNil) - So(actual, ShouldResemble, []*moira.ScheduledNotification{}) + So(affected, ShouldResemble, 2) + + allNotifications, count, err := database.GetNotifications(0, -1) + So(err, ShouldBeNil) + So(allNotifications, ShouldResemble, []*moira.ScheduledNotification{notificationNew1, notificationNew2}) + So(count, ShouldEqual, 2) + + err = database.RemoveAllNotifications() + So(err, ShouldBeNil) + }) + + Convey("Test resave one notification when other notifications exist in the database", func() { + addNotifications(database, []moira.ScheduledNotification{*notificationOld1, *notificationOld3}) + + affected, err := database.resaveNotifications(ctx, pipe, []*moira.ScheduledNotification{notificationOld2}, []*moira.ScheduledNotification{notificationNew2}) + So(err, ShouldBeNil) + So(affected, ShouldResemble, 1) - err = dataBase.RemoveAllNotifications() + allNotifications, count, err := database.GetNotifications(0, -1) + So(err, ShouldBeNil) + So(allNotifications, ShouldResemble, []*moira.ScheduledNotification{notificationOld1, notificationOld3, notificationNew2}) + So(count, ShouldEqual, 3) + + err = database.RemoveAllNotifications() So(err, ShouldBeNil) }) - Convey("Test all notifications with various ts in db", func() { - addNotifications(dataBase, []moira.ScheduledNotification{notification, notificationNew, notificationOld, notification4}) - actual, err := dataBase.fetchNotificationsNoLimit(now + 6000) + Convey("Test resave all notifications", func() { + addNotifications(database, []moira.ScheduledNotification{*notificationOld1, *notificationOld2, *notificationOld3}) + + affected, err := database.resaveNotifications(ctx, pipe, []*moira.ScheduledNotification{notificationOld1, notificationOld2, notificationOld3}, []*moira.ScheduledNotification{notificationNew1, notificationNew2, notificationNew3}) So(err, ShouldBeNil) - So(actual, ShouldResemble, []*moira.ScheduledNotification{¬ificationOld, ¬ification4, ¬ification, ¬ificationNew}) + So(affected, ShouldResemble, 6) + + allNotifications, count, err := database.GetNotifications(0, -1) + So(err, ShouldBeNil) + So(allNotifications, ShouldResemble, []*moira.ScheduledNotification{notificationNew1, notificationNew2, notificationNew3}) + So(count, ShouldEqual, 3) + + err = database.RemoveAllNotifications() + So(err, ShouldBeNil) + }) + }) +} + +func TestRemoveNotifications(t *testing.T) { + logger, _ := logging.GetLogger("database") + database := NewTestDatabase(logger) + database.Flush() + defer database.Flush() + + client := database.client + ctx := database.context + pipe := (*client).TxPipeline() + + notification1 := &moira.ScheduledNotification{ + Timestamp: 1, + } + notification2 := &moira.ScheduledNotification{ + Timestamp: 2, + } + notification3 := &moira.ScheduledNotification{ + Timestamp: 3, + } + + Convey("Test removeNotifications", t, func() { + Convey("Test remove empty notifications", func() { + count, err := database.removeNotifications(ctx, pipe, []*moira.ScheduledNotification{}) + So(err, ShouldBeNil) + So(count, ShouldEqual, 0) + + allNotifications, countAllNotifications, err := database.GetNotifications(0, -1) + So(err, ShouldBeNil) + So(countAllNotifications, ShouldEqual, 0) + So(allNotifications, ShouldResemble, []*moira.ScheduledNotification{}) + }) + + Convey("Test remove one notification", func() { + addNotifications(database, []moira.ScheduledNotification{*notification1, *notification2, *notification3}) + + count, err := database.removeNotifications(ctx, pipe, []*moira.ScheduledNotification{notification2}) + So(err, ShouldBeNil) + So(count, ShouldEqual, 1) + + allNotifications, countAllNotifications, err := database.GetNotifications(0, -1) + So(err, ShouldBeNil) + So(countAllNotifications, ShouldEqual, 2) + So(allNotifications, ShouldResemble, []*moira.ScheduledNotification{notification1, notification3}) + }) + + Convey("Test remove all notifications", func() { + addNotifications(database, []moira.ScheduledNotification{*notification1, *notification2, *notification3}) + + count, err := database.removeNotifications(ctx, pipe, []*moira.ScheduledNotification{notification1, notification2, notification3}) + So(err, ShouldBeNil) + So(count, ShouldEqual, 3) + + allNotifications, countAllNotifications, err := database.GetNotifications(0, -1) + So(err, ShouldBeNil) + So(countAllNotifications, ShouldEqual, 0) + So(allNotifications, ShouldResemble, []*moira.ScheduledNotification{}) + }) + + Convey("Test remove a nonexistent notification", func() { + notification4 := &moira.ScheduledNotification{ + Timestamp: 4, + } + addNotifications(database, []moira.ScheduledNotification{*notification1, *notification2, *notification3}) + + count, err := database.removeNotifications(ctx, pipe, []*moira.ScheduledNotification{notification4}) + So(err, ShouldBeNil) + So(count, ShouldEqual, 0) - err = dataBase.RemoveAllNotifications() + allNotifications, countAllNotifications, err := database.GetNotifications(0, -1) So(err, ShouldBeNil) + So(countAllNotifications, ShouldEqual, 3) + So(allNotifications, ShouldResemble, []*moira.ScheduledNotification{notification1, notification2, notification3}) }) }) } diff --git a/database/redis/reply/check.go b/database/redis/reply/check.go index 72f0c6167..f3f19ce78 100644 --- a/database/redis/reply/check.go +++ b/database/redis/reply/check.go @@ -2,6 +2,7 @@ package reply import ( "encoding/json" + "errors" "fmt" "github.com/go-redis/redis/v8" @@ -9,11 +10,10 @@ import ( "github.com/moira-alert/moira/database" ) -// TODO(litleleprikon): START remove in moira v2.8.0. Compatibility with moira < v2.6.0 +// TODO(litleleprikon): START remove in moira v2.8.0. Compatibility with moira < v2.6.0. const firstTarget = "t1" -//TODO(litleleprikon): END remove in moira v2.8.0. Compatibility with moira < v2.6.0 - +// TODO(litleleprikon): END remove in moira v2.8.0. Compatibility with moira < v2.6.0. type checkDataStorageElement struct { Metrics map[string]moira.MetricState `json:"metrics"` MetricsToTargetRelation map[string]string `json:"metrics_to_target_relation"` @@ -30,7 +30,7 @@ type checkDataStorageElement struct { } func toCheckDataStorageElement(check moira.CheckData) checkDataStorageElement { - //TODO(litleleprikon): START remove in moira v2.8.0. Compatibility with moira < v2.6.0 + // TODO(litleleprikon): START remove in moira v2.8.0. Compatibility with moira < v2.6.0 for metricName, metricState := range check.Metrics { if metricState.Value == nil { if value, ok := metricState.Values[firstTarget]; ok { @@ -39,7 +39,7 @@ func toCheckDataStorageElement(check moira.CheckData) checkDataStorageElement { } } } - //TODO(litleleprikon): END remove in moira v2.8.0. Compatibility with moira < v2.6.0 + // TODO(litleleprikon): END remove in moira v2.8.0. Compatibility with moira < v2.6.0 return checkDataStorageElement{ Metrics: check.Metrics, MetricsToTargetRelation: check.MetricsToTargetRelation, @@ -57,7 +57,7 @@ func toCheckDataStorageElement(check moira.CheckData) checkDataStorageElement { } func (d checkDataStorageElement) toCheckData() moira.CheckData { - //TODO(litleleprikon): START remove in moira v2.8.0. Compatibility with moira < v2.6.0 + // TODO(litleleprikon): START remove in moira v2.8.0. Compatibility with moira < v2.6.0 for metricName, metricState := range d.Metrics { if metricState.Values == nil { metricState.Values = make(map[string]float64) @@ -71,7 +71,7 @@ func (d checkDataStorageElement) toCheckData() moira.CheckData { if d.MetricsToTargetRelation == nil { d.MetricsToTargetRelation = make(map[string]string) } - //TODO(litleleprikon): END remove in moira v2.8.0. Compatibility with moira < v2.6.0 + // TODO(litleleprikon): END remove in moira v2.8.0. Compatibility with moira < v2.6.0 return moira.CheckData{ Metrics: d.Metrics, MetricsToTargetRelation: d.MetricsToTargetRelation, @@ -88,12 +88,11 @@ func (d checkDataStorageElement) toCheckData() moira.CheckData { } } -// Check converts redis DB reply to moira.CheckData +// Check converts redis DB reply to moira.CheckData. func Check(rep *redis.StringCmd) (moira.CheckData, error) { bytes, err := rep.Bytes() - if err != nil { - if err == redis.Nil { + if errors.Is(err, redis.Nil) { return moira.CheckData{}, database.ErrNil } @@ -102,7 +101,6 @@ func Check(rep *redis.StringCmd) (moira.CheckData, error) { checkSE := checkDataStorageElement{} err = json.Unmarshal(bytes, &checkSE) - if err != nil { return moira.CheckData{}, fmt.Errorf("failed to parse lastCheck json %s: %s", string(bytes), err.Error()) } @@ -110,6 +108,27 @@ func Check(rep *redis.StringCmd) (moira.CheckData, error) { return checkSE.toCheckData(), nil } +// Checks converts an array of redis DB reply to moira.CheckData objects, if reply is nil, then checkdata is nil. +func Checks(replies []*redis.StringCmd) ([]*moira.CheckData, error) { + checks := make([]*moira.CheckData, len(replies)) + + for i, value := range replies { + if value != nil { + check, err := Check(value) + if err != nil { + if !errors.Is(err, database.ErrNil) { + return nil, err + } + continue + } + + checks[i] = &check + } + } + + return checks, nil +} + // GetCheckBytes is a function that takes moira.CheckData and turns it to bytes that will be saved in redis. func GetCheckBytes(check moira.CheckData) ([]byte, error) { checkSE := toCheckDataStorageElement(check) diff --git a/database/redis/reply/contact.go b/database/redis/reply/contact.go index b5b9c39e4..5f3a7f290 100644 --- a/database/redis/reply/contact.go +++ b/database/redis/reply/contact.go @@ -2,6 +2,7 @@ package reply import ( "encoding/json" + "errors" "fmt" "github.com/moira-alert/moira/database" @@ -13,7 +14,7 @@ import ( func unmarshalContact(bytes []byte, err error) (moira.ContactData, error) { contact := moira.ContactData{} if err != nil { - if err == redis.Nil { + if errors.Is(err, redis.Nil) { return contact, database.ErrNil } return contact, fmt.Errorf("failed to read contact: %s", err.Error()) @@ -27,19 +28,20 @@ func unmarshalContact(bytes []byte, err error) (moira.ContactData, error) { return contact, nil } -// Contact converts redis DB reply to moira.ContactData object +// Contact converts redis DB reply to moira.ContactData object. func Contact(rep *redis.StringCmd) (moira.ContactData, error) { return unmarshalContact(rep.Bytes()) } -// Contacts converts redis DB reply to moira.ContactData objects array +// Contacts converts redis DB reply to moira.ContactData objects array. func Contacts(rep []*redis.StringCmd) ([]*moira.ContactData, error) { contacts := make([]*moira.ContactData, len(rep)) for i, value := range rep { contact, err := unmarshalContact(value.Bytes()) - if err != nil && err != database.ErrNil { + if err != nil && !errors.Is(err, database.ErrNil) { return nil, err - } else if err == database.ErrNil { + } + if errors.Is(err, database.ErrNil) { contacts[i] = nil } else { contacts[i] = &contact diff --git a/database/redis/reply/event.go b/database/redis/reply/event.go index d518c6a00..5c72418fe 100644 --- a/database/redis/reply/event.go +++ b/database/redis/reply/event.go @@ -2,6 +2,7 @@ package reply import ( "encoding/json" + "errors" "fmt" "github.com/go-redis/redis/v8" @@ -25,13 +26,13 @@ type notificationEventStorageElement struct { } func toNotificationEventStorageElement(event moira.NotificationEvent) notificationEventStorageElement { - //TODO(litleleprikon): START remove in moira v2.8.0. Compatibility with moira < v2.6.0 + // TODO(litleleprikon): START remove in moira v2.8.0. Compatibility with moira < v2.6.0 if event.Value == nil { if value, ok := event.Values[firstTarget]; ok { event.Value = &value } } - //TODO(litleleprikon): END remove in moira v2.8.0. Compatibility with moira < v2.6.0 + // TODO(litleleprikon): END remove in moira v2.8.0. Compatibility with moira < v2.6.0 return notificationEventStorageElement{ IsTriggerEvent: event.IsTriggerEvent, Timestamp: event.Timestamp, @@ -49,7 +50,7 @@ func toNotificationEventStorageElement(event moira.NotificationEvent) notificati } func (e notificationEventStorageElement) toNotificationEvent() moira.NotificationEvent { - //TODO(litleleprikon): START remove in moira v2.8.0. Compatibility with moira < v2.6.0 + // TODO(litleleprikon): START remove in moira v2.8.0. Compatibility with moira < v2.6.0 if e.Values == nil { e.Values = make(map[string]float64) } @@ -57,7 +58,7 @@ func (e notificationEventStorageElement) toNotificationEvent() moira.Notificatio e.Values[firstTarget] = *e.Value e.Value = nil } - //TODO(litleleprikon): END remove in moira v2.8.0. Compatibility with moira < v2.6.0 + // TODO(litleleprikon): END remove in moira v2.8.0. Compatibility with moira < v2.6.0 return moira.NotificationEvent{ IsTriggerEvent: e.IsTriggerEvent, Timestamp: e.Timestamp, @@ -86,7 +87,7 @@ func GetEventBytes(event moira.NotificationEvent) ([]byte, error) { func unmarshalEvent(data string, err error) (moira.NotificationEvent, error) { if err != nil { - if err == redis.Nil { + if errors.Is(err, redis.Nil) { return moira.NotificationEvent{}, database.ErrNil } return moira.NotificationEvent{}, fmt.Errorf("failed to read event: %s", err.Error()) @@ -101,19 +102,18 @@ func unmarshalEvent(data string, err error) (moira.NotificationEvent, error) { return eventSE.toNotificationEvent(), nil } -// BRPopToEvent converts redis DB reply to moira.NotificationEvent object +// BRPopToEvent converts redis DB reply to moira.NotificationEvent object. func BRPopToEvent(response *redis.StringSliceCmd) (moira.NotificationEvent, error) { data, err := response.Result() return unmarshalEvent(data[1], err) } -// Events converts redis DB reply to moira.NotificationEvent objects array +// Events converts redis DB reply to moira.NotificationEvent objects array. func Events(response *redis.StringSliceCmd) ([]*moira.NotificationEvent, error) { values, err := response.Result() - if err != nil { - if err == redis.Nil { + if errors.Is(err, redis.Nil) { return make([]*moira.NotificationEvent, 0), nil } return nil, fmt.Errorf("failed to read events: %s", err.Error()) @@ -122,9 +122,10 @@ func Events(response *redis.StringSliceCmd) ([]*moira.NotificationEvent, error) events := make([]*moira.NotificationEvent, len(values)) for i, value := range values { event, err2 := unmarshalEvent(value, err) - if err2 != nil && err2 != database.ErrNil { + if err2 != nil && !errors.Is(err2, database.ErrNil) { return nil, err2 - } else if err2 == database.ErrNil { + } + if errors.Is(err2, database.ErrNil) { events[i] = nil } else { events[i] = &event diff --git a/database/redis/reply/metric.go b/database/redis/reply/metric.go index 4a9896864..af43a12c5 100644 --- a/database/redis/reply/metric.go +++ b/database/redis/reply/metric.go @@ -1,6 +1,7 @@ package reply import ( + "errors" "fmt" "strconv" "strings" @@ -9,11 +10,11 @@ import ( "github.com/moira-alert/moira" ) -// MetricValues converts redis DB reply struct "RetentionTimestamp Value" "Timestamp" to moira.MetricValue object +// MetricValues converts redis DB reply struct "RetentionTimestamp Value" "Timestamp" to moira.MetricValue object. func MetricValues(values *redis.ZSliceCmd) ([]*moira.MetricValue, error) { resultByMetricArr, err := values.Result() if err != nil { - if err == redis.Nil { + if errors.Is(err, redis.Nil) { return make([]*moira.MetricValue, 0), nil } return nil, fmt.Errorf("failed to read metricValues: %s", err.Error()) diff --git a/database/redis/reply/notification.go b/database/redis/reply/notification.go index 399be8f0e..718c0e1ce 100644 --- a/database/redis/reply/notification.go +++ b/database/redis/reply/notification.go @@ -2,6 +2,7 @@ package reply import ( "encoding/json" + "errors" "fmt" "github.com/go-redis/redis/v8" @@ -9,7 +10,7 @@ import ( "github.com/moira-alert/moira/database" ) -// scheduledNotificationStorageElement represent notification object +// scheduledNotificationStorageElement represent notification object. type scheduledNotificationStorageElement struct { Event moira.NotificationEvent `json:"event"` Trigger moira.TriggerData `json:"trigger"` @@ -18,6 +19,7 @@ type scheduledNotificationStorageElement struct { Throttled bool `json:"throttled"` SendFail int `json:"send_fail"` Timestamp int64 `json:"timestamp"` + CreatedAt int64 `json:"created_at,omitempty"` } func toScheduledNotificationStorageElement(notification moira.ScheduledNotification) scheduledNotificationStorageElement { @@ -29,6 +31,7 @@ func toScheduledNotificationStorageElement(notification moira.ScheduledNotificat Throttled: notification.Throttled, SendFail: notification.SendFail, Timestamp: notification.Timestamp, + CreatedAt: notification.CreatedAt, } } @@ -41,6 +44,7 @@ func (n scheduledNotificationStorageElement) toScheduledNotification() moira.Sch Throttled: n.Throttled, SendFail: n.SendFail, Timestamp: n.Timestamp, + CreatedAt: n.CreatedAt, } } @@ -49,48 +53,52 @@ func GetNotificationBytes(notification moira.ScheduledNotification) ([]byte, err notificationSE := toScheduledNotificationStorageElement(notification) bytes, err := json.Marshal(notificationSE) if err != nil { - return nil, fmt.Errorf("failed to marshal notification: %s", err.Error()) + return nil, fmt.Errorf("failed to marshal notification: %w", err) } return bytes, nil } -// unmarshalNotification converts JSON to moira.ScheduledNotification object +// unmarshalNotification converts JSON to moira.ScheduledNotification object. func unmarshalNotification(bytes []byte, err error) (moira.ScheduledNotification, error) { if err != nil { - if err == redis.Nil { + if errors.Is(err, redis.Nil) { return moira.ScheduledNotification{}, database.ErrNil } - return moira.ScheduledNotification{}, fmt.Errorf("failed to read scheduledNotification: %s", err.Error()) + return moira.ScheduledNotification{}, fmt.Errorf("failed to read scheduledNotification: %w", err) } + notificationSE := scheduledNotificationStorageElement{} err = json.Unmarshal(bytes, ¬ificationSE) if err != nil { - return moira.ScheduledNotification{}, fmt.Errorf("failed to parse notification json %s: %s", string(bytes), err.Error()) + return moira.ScheduledNotification{}, fmt.Errorf("failed to parse notification json %s: %w", string(bytes), err) } + return notificationSE.toScheduledNotification(), nil } -// Notifications converts redis DB reply to moira.ScheduledNotification objects array +// Notifications converts redis DB reply to moira.ScheduledNotification objects array. func Notifications(responses *redis.StringSliceCmd) ([]*moira.ScheduledNotification, error) { - if responses == nil || responses.Err() == redis.Nil { + if responses == nil || errors.Is(responses.Err(), redis.Nil) { return make([]*moira.ScheduledNotification, 0), nil } data, err := responses.Result() if err != nil { - return nil, fmt.Errorf("failed to read ScheduledNotifications: %s", err.Error()) + return nil, fmt.Errorf("failed to read ScheduledNotifications: %w", err) } notifications := make([]*moira.ScheduledNotification, len(data)) for i, value := range data { notification, err2 := unmarshalNotification([]byte(value), err) - if err2 != nil && err2 != database.ErrNil { + if err2 != nil && !errors.Is(err2, database.ErrNil) { return nil, err2 - } else if err2 == database.ErrNil { + } + if errors.Is(err2, database.ErrNil) { notifications[i] = nil } else { notifications[i] = ¬ification } } + return notifications, nil } diff --git a/database/redis/reply/notification_test.go b/database/redis/reply/notification_test.go new file mode 100644 index 000000000..f875dc4e2 --- /dev/null +++ b/database/redis/reply/notification_test.go @@ -0,0 +1,113 @@ +package reply + +import ( + "errors" + "fmt" + "testing" + + "github.com/go-redis/redis/v8" + "github.com/moira-alert/moira" + "github.com/moira-alert/moira/database" + . "github.com/smartystreets/goconvey/convey" +) + +const expectedBytes = `{"event":{"timestamp":0,"metric":"","state":"","trigger_id":"","old_state":"","event_message":null},"trigger":{"id":"","name":"","desc":"","targets":null,"warn_value":0,"error_value":0,"is_remote":false,"__notifier_trigger_tags":null},"contact":{"type":"","value":"","id":"","user":"","team":""},"plotting":{"enabled":false,"theme":""},"throttled":false,"send_fail":0,"timestamp":0}` + +func TestGetNotificationBytes(t *testing.T) { + Convey("Test GetNotificationBytes", t, func() { + Convey("Test without created_at", func() { + notification := moira.ScheduledNotification{ + Event: moira.NotificationEvent{}, + Trigger: moira.TriggerData{}, + Contact: moira.ContactData{}, + Plotting: moira.PlottingData{}, + Throttled: false, + SendFail: 0, + Timestamp: 0, + } + + bytes, err := GetNotificationBytes(notification) + So(err, ShouldBeNil) + So(string(bytes), ShouldEqual, expectedBytes) + }) + + Convey("Test with zero created_at", func() { + notification := moira.ScheduledNotification{ + Event: moira.NotificationEvent{}, + Trigger: moira.TriggerData{}, + Contact: moira.ContactData{}, + Plotting: moira.PlottingData{}, + Throttled: false, + SendFail: 0, + Timestamp: 0, + CreatedAt: 0, + } + + bytes, err := GetNotificationBytes(notification) + So(err, ShouldBeNil) + So(string(bytes), ShouldEqual, expectedBytes) + }) + }) +} + +func TestUnmarshalNotification(t *testing.T) { + Convey("Test unmarshal notification", t, func() { + Convey("Test without error", func() { + notification, err := unmarshalNotification([]byte(expectedBytes), nil) + So(err, ShouldBeNil) + So(notification, ShouldResemble, moira.ScheduledNotification{ + Event: moira.NotificationEvent{}, + Trigger: moira.TriggerData{}, + Contact: moira.ContactData{}, + Plotting: moira.PlottingData{}, + Throttled: false, + SendFail: 0, + Timestamp: 0, + CreatedAt: 0, + }) + }) + + Convey("Test with redis.Nil error", func() { + notification, err := unmarshalNotification([]byte(expectedBytes), redis.Nil) + So(err, ShouldResemble, database.ErrNil) + So(notification, ShouldResemble, moira.ScheduledNotification{}) + }) + + Convey("Test with some error", func() { + testErr := errors.New("Test err") + notification, err := unmarshalNotification([]byte(expectedBytes), testErr) + So(err, ShouldResemble, fmt.Errorf("failed to read scheduledNotification: %w", testErr)) + So(notification, ShouldResemble, moira.ScheduledNotification{}) + }) + }) +} + +func TestNotifications(t *testing.T) { + Convey("Test Notifications", t, func() { + Convey("Test with nil responses", func() { + notifications, err := Notifications(nil) + So(err, ShouldBeNil) + So(notifications, ShouldResemble, []*moira.ScheduledNotification{}) + }) + + Convey("Test with notification", func() { + responses := &redis.StringSliceCmd{} + responses.SetVal([]string{expectedBytes}) + + notifications, err := Notifications(responses) + So(err, ShouldBeNil) + So(notifications, ShouldResemble, []*moira.ScheduledNotification{ + { + Event: moira.NotificationEvent{}, + Trigger: moira.TriggerData{}, + Contact: moira.ContactData{}, + Plotting: moira.PlottingData{}, + Throttled: false, + SendFail: 0, + Timestamp: 0, + CreatedAt: 0, + }, + }) + }) + }) +} diff --git a/database/redis/reply/search_result.go b/database/redis/reply/search_result.go index 8485a0c56..f4eb7cee8 100644 --- a/database/redis/reply/search_result.go +++ b/database/redis/reply/search_result.go @@ -2,6 +2,7 @@ package reply import ( "encoding/json" + "errors" "fmt" "github.com/go-redis/redis/v8" @@ -59,7 +60,7 @@ func unmarshalSearchResult(bytes []byte, err error) (moira.SearchResult, error) storageElement := searchResultStorageElement{} if err != nil { - if err == redis.Nil { + if errors.Is(err, redis.Nil) { return searchResult, database.ErrNil } return searchResult, fmt.Errorf("failed to read searchResult: %w", err) @@ -77,7 +78,7 @@ func SearchResults(rep *redis.StringSliceCmd, repTotal *redis.IntCmd) ([]*moira. total := repTotal.Val() values, err := rep.Result() if err != nil { - if err == redis.Nil { + if errors.Is(err, redis.Nil) { return make([]*moira.SearchResult, 0), 0, nil } return nil, 0, fmt.Errorf("failed to read SearchResults: %w", err) @@ -85,9 +86,10 @@ func SearchResults(rep *redis.StringSliceCmd, repTotal *redis.IntCmd) ([]*moira. searchResults := make([]*moira.SearchResult, len(values)) for i, value := range values { searchResult, err2 := unmarshalSearchResult([]byte(value), err) - if err2 != nil && err2 != database.ErrNil { + if err2 != nil && !errors.Is(err2, database.ErrNil) { return nil, 0, err2 - } else if err2 == database.ErrNil { + } + if errors.Is(err2, database.ErrNil) { searchResults[i] = nil } else { searchResults[i] = &searchResult diff --git a/database/redis/reply/subscription.go b/database/redis/reply/subscription.go index 8fbfc54aa..cb5fdbf0d 100644 --- a/database/redis/reply/subscription.go +++ b/database/redis/reply/subscription.go @@ -2,6 +2,7 @@ package reply import ( "encoding/json" + "errors" "fmt" "github.com/go-redis/redis/v8" @@ -9,7 +10,7 @@ import ( "github.com/moira-alert/moira/database" ) -// Subscription converts redis DB reply to moira.SubscriptionData object +// Subscription converts redis DB reply to moira.SubscriptionData object. func Subscription(rep *redis.StringCmd) (moira.SubscriptionData, error) { subscription := moira.SubscriptionData{ // TODO not sure if this is still necessary, maybe we should just convert database and forget about it @@ -17,7 +18,7 @@ func Subscription(rep *redis.StringCmd) (moira.SubscriptionData, error) { } bytes, err := rep.Bytes() if err != nil { - if err == redis.Nil { + if errors.Is(err, redis.Nil) { return subscription, database.ErrNil } return subscription, fmt.Errorf("failed to read subscription: %s", err.Error()) diff --git a/database/redis/reply/team.go b/database/redis/reply/team.go index 23e8284bf..d7c58eb80 100644 --- a/database/redis/reply/team.go +++ b/database/redis/reply/team.go @@ -2,6 +2,7 @@ package reply import ( "encoding/json" + "errors" "fmt" "github.com/go-redis/redis/v8" @@ -9,7 +10,7 @@ import ( "github.com/moira-alert/moira/database" ) -// teamStorageElement is a representation of team in database +// teamStorageElement is a representation of team in database. type teamStorageElement struct { Name string `json:"name"` Description string `json:"description"` @@ -29,7 +30,7 @@ func (t *teamStorageElement) toTeam() moira.Team { } } -// MarshallTeam is a function that converts team to the bytes that can be held in database +// MarshallTeam is a function that converts team to the bytes that can be held in database. func MarshallTeam(team moira.Team) ([]byte, error) { teamSE := newTeamStorageElement(team) bytes, err := json.Marshal(teamSE) @@ -39,11 +40,11 @@ func MarshallTeam(team moira.Team) ([]byte, error) { return bytes, nil } -// NewTeam is a function that creates a team entity from a bytes received from database +// NewTeam is a function that creates a team entity from a bytes received from database. func NewTeam(rep *redis.StringCmd) (moira.Team, error) { bytes, err := rep.Bytes() if err != nil { - if err == redis.Nil { + if errors.Is(err, redis.Nil) { return moira.Team{}, database.ErrNil } return moira.Team{}, fmt.Errorf("failed to read team: %w", err) diff --git a/database/redis/reply/trigger.go b/database/redis/reply/trigger.go index 268ce3537..ed830e27f 100644 --- a/database/redis/reply/trigger.go +++ b/database/redis/reply/trigger.go @@ -2,6 +2,7 @@ package reply import ( "encoding/json" + "errors" "fmt" "strconv" @@ -10,7 +11,7 @@ import ( "github.com/moira-alert/moira/database" ) -// Duty hack for moira.Trigger TTL int64 and stored trigger TTL string compatibility +// Duty hack for moira.Trigger TTL int64 and stored trigger TTL string compatibility. type triggerStorageElement struct { ID string `json:"id"` Name string `json:"name"` @@ -28,6 +29,7 @@ type triggerStorageElement struct { TTL string `json:"ttl,omitempty"` IsRemote bool `json:"is_remote"` TriggerSource moira.TriggerSource `json:"trigger_source,omitempty"` + ClusterId moira.ClusterId `json:"cluster_id,omitempty"` MuteNewMetrics bool `json:"mute_new_metrics,omitempty"` AloneMetrics map[string]bool `json:"alone_metrics"` CreatedAt *int64 `json:"created_at"` @@ -37,7 +39,7 @@ type triggerStorageElement struct { } func (storageElement *triggerStorageElement) toTrigger() moira.Trigger { - //TODO(litleleprikon): START remove in moira v2.8.0. Compatibility with moira < v2.6.0 + // TODO(litleleprikon): START remove in moira v2.8.0. Compatibility with moira < v2.6.0 if storageElement.AloneMetrics == nil { aloneMetricsLen := len(storageElement.Targets) storageElement.AloneMetrics = make(map[string]bool, aloneMetricsLen) @@ -46,9 +48,10 @@ func (storageElement *triggerStorageElement) toTrigger() moira.Trigger { storageElement.AloneMetrics[targetName] = true } } - //TODO(litleleprikon): END remove in moira v2.8.0. Compatibility with moira < v2.6.0 + // TODO(litleleprikon): END remove in moira v2.8.0. Compatibility with moira < v2.6.0 triggerSource := storageElement.TriggerSource.FillInIfNotSet(storageElement.IsRemote) + clusterId := storageElement.ClusterId.FillInIfNotSet() return moira.Trigger{ ID: storageElement.ID, Name: storageElement.Name, @@ -65,6 +68,7 @@ func (storageElement *triggerStorageElement) toTrigger() moira.Trigger { Patterns: storageElement.Patterns, TTL: getTriggerTTL(storageElement.TTL), TriggerSource: triggerSource, + ClusterId: clusterId, MuteNewMetrics: storageElement.MuteNewMetrics, AloneMetrics: storageElement.AloneMetrics, CreatedAt: storageElement.CreatedAt, @@ -92,6 +96,7 @@ func toTriggerStorageElement(trigger *moira.Trigger, triggerID string) *triggerS TTL: getTriggerTTLString(trigger.TTL), IsRemote: trigger.TriggerSource == moira.GraphiteRemote, TriggerSource: trigger.TriggerSource, + ClusterId: trigger.ClusterId, MuteNewMetrics: trigger.MuteNewMetrics, AloneMetrics: trigger.AloneMetrics, CreatedAt: trigger.CreatedAt, @@ -113,11 +118,11 @@ func getTriggerTTLString(ttl int64) string { return fmt.Sprintf("%v", ttl) } -// Trigger converts redis DB reply to moira.Trigger object +// Trigger converts redis DB reply to moira.Trigger object. func Trigger(rep *redis.StringCmd) (moira.Trigger, error) { bytes, err := rep.Bytes() if err != nil { - if err == redis.Nil { + if errors.Is(err, redis.Nil) { return moira.Trigger{}, database.ErrNil } return moira.Trigger{}, fmt.Errorf("failed to read trigger: %s", err.Error()) @@ -132,7 +137,7 @@ func Trigger(rep *redis.StringCmd) (moira.Trigger, error) { return trigger, nil } -// GetTriggerBytes marshal moira.Trigger to bytes array +// GetTriggerBytes marshal moira.Trigger to bytes array. func GetTriggerBytes(triggerID string, trigger *moira.Trigger) ([]byte, error) { triggerSE := toTriggerStorageElement(trigger, triggerID) bytes, err := json.Marshal(triggerSE) diff --git a/database/redis/selfstate.go b/database/redis/selfstate.go index 1b6ebf1e6..e16b3d08c 100644 --- a/database/redis/selfstate.go +++ b/database/redis/selfstate.go @@ -1,62 +1,64 @@ package redis import ( + "errors" + "github.com/go-redis/redis/v8" "github.com/moira-alert/moira" ) -// UpdateMetricsHeartbeat increments redis counter +// UpdateMetricsHeartbeat increments redis counter. func (connector *DbConnector) UpdateMetricsHeartbeat() error { c := *connector.client err := c.Incr(connector.context, selfStateMetricsHeartbeatKey).Err() return err } -// GetMetricsUpdatesCount return metrics count received by Moira-Filter +// GetMetricsUpdatesCount return metrics count received by Moira-Filter. func (connector *DbConnector) GetMetricsUpdatesCount() (int64, error) { c := *connector.client ts, err := c.Get(connector.context, selfStateMetricsHeartbeatKey).Int64() - if err == redis.Nil { + if errors.Is(err, redis.Nil) { return 0, nil } return ts, err } -// GetChecksUpdatesCount return checks count by Moira-Checker +// GetChecksUpdatesCount return checks count by Moira-Checker. func (connector *DbConnector) GetChecksUpdatesCount() (int64, error) { c := *connector.client ts, err := c.Get(connector.context, selfStateChecksCounterKey).Int64() - if err == redis.Nil { + if errors.Is(err, redis.Nil) { return 0, nil } return ts, err } -// GetRemoteChecksUpdatesCount return remote checks count by Moira-Checker +// GetRemoteChecksUpdatesCount return remote checks count by Moira-Checker. func (connector *DbConnector) GetRemoteChecksUpdatesCount() (int64, error) { c := *connector.client ts, err := c.Get(connector.context, selfStateRemoteChecksCounterKey).Int64() - if err == redis.Nil { + if errors.Is(err, redis.Nil) { return 0, nil } return ts, err } -// GetRemoteChecksUpdatesCount return remote checks count by Moira-Checker +// GetPrometheusChecksUpdatesCount return remote checks count by Moira-Checker. func (connector *DbConnector) GetPrometheusChecksUpdatesCount() (int64, error) { c := *connector.client ts, err := c.Get(connector.context, selfStatePrometheusChecksCounterKey).Int64() - if err == redis.Nil { + if errors.Is(err, redis.Nil) { return 0, nil } return ts, err } -// GetNotifierState return current notifier state: +// GetNotifierState return current notifier state: . func (connector *DbConnector) GetNotifierState() (string, error) { c := *connector.client ts, err := c.Get(connector.context, selfStateNotifierHealth).Result() - if err == redis.Nil { + if errors.Is(err, redis.Nil) { ts = moira.SelfStateOK err = connector.SetNotifierState(ts) } else if err != nil { @@ -65,14 +67,16 @@ func (connector *DbConnector) GetNotifierState() (string, error) { return ts, err } -// SetNotifierState update current notifier state: +// SetNotifierState update current notifier state: . func (connector *DbConnector) SetNotifierState(health string) error { c := *connector.client return c.Set(connector.context, selfStateNotifierHealth, health, redis.KeepTTL).Err() } -var selfStateMetricsHeartbeatKey = "moira-selfstate:metrics-heartbeat" -var selfStateChecksCounterKey = "moira-selfstate:checks-counter" -var selfStateRemoteChecksCounterKey = "moira-selfstate:remote-checks-counter" -var selfStatePrometheusChecksCounterKey = "moira-selfstate:prometheus-checks-counter" -var selfStateNotifierHealth = "moira-selfstate:notifier-health" +var ( + selfStateMetricsHeartbeatKey = "moira-selfstate:metrics-heartbeat" + selfStateChecksCounterKey = "moira-selfstate:checks-counter" + selfStateRemoteChecksCounterKey = "moira-selfstate:remote-checks-counter" + selfStatePrometheusChecksCounterKey = "moira-selfstate:prometheus-checks-counter" + selfStateNotifierHealth = "moira-selfstate:notifier-health" +) diff --git a/database/redis/selfstate_test.go b/database/redis/selfstate_test.go index 191ab2a62..3b7dae737 100644 --- a/database/redis/selfstate_test.go +++ b/database/redis/selfstate_test.go @@ -15,6 +15,9 @@ func TestSelfCheckWithWritesInChecker(t *testing.T) { dataBase.source = Checker dataBase.Flush() defer dataBase.Flush() + defaultLocalCluster := moira.MakeClusterKey(moira.GraphiteLocal, moira.DefaultCluster) + defaultRemoteCluster := moira.DefaultGraphiteRemoteCluster + Convey("Self state triggers manipulation", t, func() { Convey("Empty config", func() { count, err := dataBase.GetMetricsUpdatesCount() @@ -40,14 +43,14 @@ func TestSelfCheckWithWritesInChecker(t *testing.T) { }) Convey("Update metrics checks updates count", func() { - err := dataBase.SetTriggerLastCheck("123", &lastCheckTest, moira.GraphiteLocal) + err := dataBase.SetTriggerLastCheck("123", &lastCheckTest, defaultLocalCluster) So(err, ShouldBeNil) count, err := dataBase.GetChecksUpdatesCount() So(count, ShouldEqual, 1) So(err, ShouldBeNil) - err = dataBase.SetTriggerLastCheck("12345", &lastCheckTest, moira.GraphiteRemote) + err = dataBase.SetTriggerLastCheck("12345", &lastCheckTest, defaultRemoteCluster) So(err, ShouldBeNil) count, err = dataBase.GetRemoteChecksUpdatesCount() @@ -70,16 +73,19 @@ func testSelfCheckWithWritesInDBSource(t *testing.T, dbSource DBSource) { dataBase.source = dbSource dataBase.Flush() defer dataBase.Flush() + defaultLocalCluster := moira.MakeClusterKey(moira.GraphiteLocal, moira.DefaultCluster) + defaultRemoteCluster := moira.DefaultGraphiteRemoteCluster + Convey(fmt.Sprintf("Self state triggers manipulation in %s", dbSource), t, func() { Convey("Update metrics checks updates count", func() { - err := dataBase.SetTriggerLastCheck("123", &lastCheckTest, moira.GraphiteLocal) + err := dataBase.SetTriggerLastCheck("123", &lastCheckTest, defaultLocalCluster) So(err, ShouldBeNil) count, err := dataBase.GetChecksUpdatesCount() So(count, ShouldEqual, 0) So(err, ShouldBeNil) - err = dataBase.SetTriggerLastCheck("12345", &lastCheckTest, moira.GraphiteRemote) + err = dataBase.SetTriggerLastCheck("12345", &lastCheckTest, defaultRemoteCluster) So(err, ShouldBeNil) count, err = dataBase.GetRemoteChecksUpdatesCount() diff --git a/database/redis/subscription.go b/database/redis/subscription.go index 88f2f297d..905ac0095 100644 --- a/database/redis/subscription.go +++ b/database/redis/subscription.go @@ -3,6 +3,7 @@ package redis import ( "context" "encoding/json" + "errors" "fmt" "github.com/go-redis/redis/v8" @@ -12,7 +13,7 @@ import ( "github.com/moira-alert/moira/database/redis/reply" ) -// GetSubscription returns subscription data by given id, if no value, return database.ErrNil error +// GetSubscription returns subscription data by given id, if no value, return database.ErrNil error. func (connector *DbConnector) GetSubscription(id string) (moira.SubscriptionData, error) { c := *connector.client @@ -28,7 +29,7 @@ func (connector *DbConnector) GetSubscription(id string) (moira.SubscriptionData } // GetSubscriptions returns subscriptions data by given ids, len of subscriptionIDs is equal to len of returned values array. -// If there is no object by current ID, then nil is returned +// If there is no object by current ID, then nil is returned. func (connector *DbConnector) GetSubscriptions(subscriptionIDs []string) ([]*moira.SubscriptionData, error) { c := *connector.client subscriptions := make([]*moira.SubscriptionData, 0, len(subscriptionIDs)) @@ -41,7 +42,7 @@ func (connector *DbConnector) GetSubscriptions(subscriptionIDs []string) ([]*moi } _, err := pipe.Exec(connector.context) - if err != nil && err != redis.Nil { + if err != nil && !errors.Is(err, redis.Nil) { return nil, fmt.Errorf("failed to EXEC: %s", err.Error()) } for i, result := range results { @@ -62,13 +63,13 @@ func (connector *DbConnector) GetSubscriptions(subscriptionIDs []string) ([]*moi return subscriptions, nil } -// SaveSubscription writes subscription data, updates tags subscriptions and user subscriptions +// SaveSubscription writes subscription data, updates tags subscriptions and user subscriptions. func (connector *DbConnector) SaveSubscription(subscription *moira.SubscriptionData) error { var oldSubscription *moira.SubscriptionData if subscription, err := connector.GetSubscription(subscription.ID); err == nil { oldSubscription = &subscription - } else if err != database.ErrNil { + } else if !errors.Is(err, database.ErrNil) { return err } oldTriggers, err := connector.getSubscriptionTriggers(oldSubscription) @@ -97,7 +98,7 @@ func (connector *DbConnector) updateSubscription(newSubscription *moira.Subscrip return nil } -// SaveSubscriptions writes subscriptions, updates tags subscriptions and user subscriptions +// SaveSubscriptions writes subscriptions, updates tags subscriptions and user subscriptions. func (connector *DbConnector) SaveSubscriptions(newSubscriptions []*moira.SubscriptionData) error { ids := make([]string, len(newSubscriptions)) for i, subscription := range newSubscriptions { @@ -138,11 +139,11 @@ func (connector *DbConnector) updateSubscriptions(oldSubscriptions []*moira.Subs return nil } -// RemoveSubscription deletes subscription data and removes subscriptionID from users and tags subscriptions +// RemoveSubscription deletes subscription data and removes subscriptionID from users and tags subscriptions. func (connector *DbConnector) RemoveSubscription(subscriptionID string) error { subscription, err := connector.GetSubscription(subscriptionID) if err != nil { - if err == database.ErrNil { + if errors.Is(err, database.ErrNil) { return nil } return err @@ -177,7 +178,7 @@ func (connector *DbConnector) removeSubscription(subscription *moira.Subscriptio return nil } -// GetUserSubscriptionIDs returns subscriptions ids by given login +// GetUserSubscriptionIDs returns subscriptions ids by given login. func (connector *DbConnector) GetUserSubscriptionIDs(login string) ([]string, error) { c := *connector.client @@ -188,7 +189,7 @@ func (connector *DbConnector) GetUserSubscriptionIDs(login string) ([]string, er return subscriptions, nil } -// GetTeamSubscriptionIDs returns subscriptions ids by given team id +// GetTeamSubscriptionIDs returns subscriptions ids by given team id. func (connector *DbConnector) GetTeamSubscriptionIDs(teamID string) ([]string, error) { c := *connector.client @@ -200,7 +201,7 @@ func (connector *DbConnector) GetTeamSubscriptionIDs(teamID string) ([]string, e } // GetTagsSubscriptions gets all subscriptionsIDs by given tag list and read subscriptions. -// Len of subscriptionIDs is equal to len of returned values array. If there is no object by current ID, then nil is returned +// Len of subscriptionIDs is equal to len of returned values array. If there is no object by current ID, then nil is returned. func (connector *DbConnector) GetTagsSubscriptions(tags []string) ([]*moira.SubscriptionData, error) { subscriptionsIDs, err := connector.getSubscriptionsIDsByTags(tags) if err != nil { diff --git a/database/redis/subscription_test.go b/database/redis/subscription_test.go index daef03505..e5403c8aa 100644 --- a/database/redis/subscription_test.go +++ b/database/redis/subscription_test.go @@ -386,9 +386,11 @@ func TestSubscriptionErrorConnection(t *testing.T) { }) } -var tag1 = "tag1" -var tag2 = "tag2" -var tag3 = "tag3" +var ( + tag1 = "tag1" + tag2 = "tag2" + tag3 = "tag3" +) var subscriptions = []*moira.SubscriptionData{ { diff --git a/database/redis/tag.go b/database/redis/tag.go index d1bff737a..cdcbc4c6d 100644 --- a/database/redis/tag.go +++ b/database/redis/tag.go @@ -1,22 +1,41 @@ package redis import ( + "errors" "fmt" "github.com/go-redis/redis/v8" ) -// GetTagNames returns all tags from set with tag data +// GetTagNames returns all tags from set with tag data. func (connector *DbConnector) GetTagNames() ([]string, error) { c := *connector.client + tagNames, err := c.SMembers(connector.context, tagsKey).Result() if err != nil { - return nil, fmt.Errorf("failed to retrieve tags: %s", err.Error()) + return nil, fmt.Errorf("failed to retrieve tags: %w", err) } + return tagNames, nil } -// RemoveTag deletes tag from tags list, deletes triggerIDs and subscriptionsIDs lists by given tag +// CreateTags creates an array of tags without binding to a subscription or trigger. +func (connector *DbConnector) CreateTags(tags []string) error { + pipe := (*connector.client).TxPipeline() + ctx := connector.context + + for _, tag := range tags { + pipe.SAdd(ctx, tagsKey, tag) + } + + if _, err := pipe.Exec(ctx); err != nil { + return fmt.Errorf("failed to EXEC: %w", err) + } + + return nil +} + +// RemoveTag deletes tag from tags list, deletes triggerIDs and subscriptionsIDs lists by given tag. func (connector *DbConnector) RemoveTag(tagName string) error { pipe := (*connector.client).TxPipeline() pipe.SRem(connector.context, tagsKey, tagName) @@ -25,22 +44,25 @@ func (connector *DbConnector) RemoveTag(tagName string) error { _, err := pipe.Exec(connector.context) if err != nil { - return fmt.Errorf("failed to EXEC: %s", err.Error()) + return fmt.Errorf("failed to EXEC: %w", err) } + return nil } -// GetTagTriggerIDs gets all triggersIDs by given tagName +// GetTagTriggerIDs gets all triggersIDs by given tagName. func (connector *DbConnector) GetTagTriggerIDs(tagName string) ([]string, error) { c := *connector.client triggerIDs, err := c.SMembers(connector.context, tagTriggersKey(tagName)).Result() if err != nil { - if err == redis.Nil { + if errors.Is(err, redis.Nil) { return make([]string, 0), nil } - return nil, fmt.Errorf("failed to retrieve tag triggers:%s, err: %s", tagName, err.Error()) + + return nil, fmt.Errorf("failed to retrieve tag triggers: %s, err: %w", tagName, err) } + return triggerIDs, nil } @@ -56,16 +78,18 @@ func (connector *DbConnector) CleanUpAbandonedTags() (int, error) { result, err := client.Exists(connector.context, tagTriggersKey(tag)).Result() if err != nil { - return count, fmt.Errorf("failed to check tag triggers existence, error: %v", err) + return count, fmt.Errorf("failed to check tag triggers existence, error: %w", err) } + if isTriggerExists := result == 1; isTriggerExists { continue } result, err = client.Exists(connector.context, tagSubscriptionKey(tag)).Result() if err != nil { - return count, fmt.Errorf("failed to check tag subscription existence, error: %v", err) + return count, fmt.Errorf("failed to check tag subscription existence, error: %w", err) } + if isSubscriptionExists := result == 1; isSubscriptionExists { continue } @@ -74,6 +98,7 @@ func (connector *DbConnector) CleanUpAbandonedTags() (int, error) { if err != nil { return count, err } + count++ } diff --git a/database/redis/tag_test.go b/database/redis/tag_test.go index 65f0e7e54..e3ab6964d 100644 --- a/database/redis/tag_test.go +++ b/database/redis/tag_test.go @@ -55,6 +55,36 @@ func TestTagStoring(t *testing.T) { }) } +func TestCreateTags(t *testing.T) { + logger, _ := logging.GetLogger("dataBase") + dataBase := NewTestDatabase(logger) + dataBase.Flush() + defer dataBase.Flush() + + Convey("Test CreateTags", t, func() { + emptyTags := make([]string, 0) + tags := []string{"test1", "test2"} + + Convey("Success with empty tags", func() { + err := dataBase.CreateTags(emptyTags) + So(err, ShouldBeNil) + + allTags, err := dataBase.GetTagNames() + So(err, ShouldBeNil) + So(allTags, ShouldHaveLength, 0) + }) + + Convey("Success with many tags", func() { + err := dataBase.CreateTags(tags) + So(err, ShouldBeNil) + + allTags, err := dataBase.GetTagNames() + So(err, ShouldBeNil) + So(allTags, ShouldHaveLength, 2) + }) + }) +} + func TestTagErrorConnection(t *testing.T) { logger, _ := logging.GetLogger("dataBase") dataBase := NewTestDatabaseWithIncorrectConfig(logger) diff --git a/database/redis/teams.go b/database/redis/teams.go index 6e4c12fea..be94b4c58 100644 --- a/database/redis/teams.go +++ b/database/redis/teams.go @@ -7,7 +7,7 @@ import ( "github.com/moira-alert/moira/database/redis/reply" ) -// SaveTeam saves team into redis +// SaveTeam saves team into redis. func (connector *DbConnector) SaveTeam(teamID string, team moira.Team) error { c := *connector.client @@ -23,7 +23,7 @@ func (connector *DbConnector) SaveTeam(teamID string, team moira.Team) error { return nil } -// GetTeam retrieves team from redis by it's id +// GetTeam retrieves team from redis by it's id. func (connector *DbConnector) GetTeam(teamID string) (moira.Team, error) { c := *connector.client @@ -84,7 +84,7 @@ func (connector *DbConnector) GetUserTeams(userID string) ([]string, error) { return teams, nil } -// GetTeamUsers returns all users of certain team +// GetTeamUsers returns all users of certain team. func (connector *DbConnector) GetTeamUsers(teamID string) ([]string, error) { c := *connector.client diff --git a/database/redis/throttling.go b/database/redis/throttling.go index bf1b189ba..56cf99cee 100644 --- a/database/redis/throttling.go +++ b/database/redis/throttling.go @@ -7,7 +7,7 @@ import ( "github.com/go-redis/redis/v8" ) -// GetTriggerThrottling get throttling or scheduled notifications delay for given triggerID +// GetTriggerThrottling get throttling or scheduled notifications delay for given triggerID. func (connector *DbConnector) GetTriggerThrottling(triggerID string) (time.Time, time.Time) { c := *connector.client @@ -17,14 +17,14 @@ func (connector *DbConnector) GetTriggerThrottling(triggerID string) (time.Time, return time.Unix(next, 0), time.Unix(beginning, 0) } -// SetTriggerThrottling store throttling or scheduled notifications delay for given triggerID +// SetTriggerThrottling store throttling or scheduled notifications delay for given triggerID. func (connector *DbConnector) SetTriggerThrottling(triggerID string, next time.Time) error { c := *connector.client err := c.Set(connector.context, notifierNextKey(triggerID), next.Unix(), redis.KeepTTL).Err() return err } -// DeleteTriggerThrottling deletes throttling and scheduled notifications delay for given triggerID +// DeleteTriggerThrottling deletes throttling and scheduled notifications delay for given triggerID. func (connector *DbConnector) DeleteTriggerThrottling(triggerID string) error { c := *connector.client diff --git a/database/redis/throttling_test.go b/database/redis/throttling_test.go index 89bb4e680..338308cbe 100644 --- a/database/redis/throttling_test.go +++ b/database/redis/throttling_test.go @@ -2,11 +2,10 @@ package redis import ( "testing" + "time" logging "github.com/moira-alert/moira/logging/zerolog_adapter" . "github.com/smartystreets/goconvey/convey" - - "time" ) func TestThrottlingErrorConnection(t *testing.T) { diff --git a/database/redis/trigger.go b/database/redis/trigger.go index b8868dbdd..86ca752fd 100644 --- a/database/redis/trigger.go +++ b/database/redis/trigger.go @@ -1,6 +1,7 @@ package redis import ( + "errors" "fmt" "strconv" "strings" @@ -13,85 +14,70 @@ import ( "github.com/moira-alert/moira/database/redis/reply" ) -// GetAllTriggerIDs gets all moira triggerIDs +// GetAllTriggerIDs gets all moira triggerIDs. func (connector *DbConnector) GetAllTriggerIDs() ([]string, error) { c := *connector.client - triggerIds, err := c.SMembers(connector.context, triggersListKey).Result() + triggerIds, err := c.SMembers(connector.context, allTriggersListKey).Result() if err != nil { return nil, fmt.Errorf("failed to get all triggers-list: %s", err.Error()) } return triggerIds, nil } -// GetLocalTriggerIDs gets moira local triggerIDs -func (connector *DbConnector) GetLocalTriggerIDs() ([]string, error) { +// GetTriggerIDs returns list of ids of triggers with given cluster key. +func (connector *DbConnector) GetTriggerIDs(clusterKey moira.ClusterKey) ([]string, error) { c := *connector.client - triggerIds, err := c.SDiff(connector.context, triggersListKey, remoteTriggersListKey, prometheusTriggersListKey).Result() + key, err := makeTriggerListKey(clusterKey) if err != nil { - return nil, fmt.Errorf("failed to get triggers-list: %s", err.Error()) + return nil, fmt.Errorf("failed to get triggers-list: %w", err) } - return triggerIds, nil -} -// GetRemoteTriggerIDs gets moira remote triggerIDs -func (connector *DbConnector) GetRemoteTriggerIDs() ([]string, error) { - c := *connector.client - triggerIds, err := c.SMembers(connector.context, remoteTriggersListKey).Result() + triggerIds, err := c.SMembers(connector.context, key).Result() if err != nil { - return nil, fmt.Errorf("failed to get remote triggers-list: %s", err.Error()) + return nil, fmt.Errorf("failed to get triggers-list: %w", err) } return triggerIds, nil } -func (connector *DbConnector) GetPrometheusTriggerIDs() ([]string, error) { - c := *connector.client - triggerIds, err := c.SMembers(connector.context, prometheusTriggersListKey).Result() - if err != nil { - return nil, fmt.Errorf("failed to get prometheus triggers-list: %s", err.Error()) - } - return triggerIds, nil -} - -func (connector *DbConnector) GetTriggerCount() (map[moira.TriggerSource]int64, error) { +func (connector *DbConnector) GetTriggerCount(clusterKeys []moira.ClusterKey) (map[moira.ClusterKey]int64, error) { pipe := (*connector.client).TxPipeline() - total := pipe.SCard(connector.context, triggersListKey) - remote := pipe.SCard(connector.context, remoteTriggersListKey) - prometheus := pipe.SCard(connector.context, prometheusTriggersListKey) + cmds := make(map[moira.ClusterKey]*redis.IntCmd, len(clusterKeys)) + for _, key := range clusterKeys { + redisKey, err := makeTriggerListKey(key) + if err != nil { + return nil, err + } - _, err := pipe.Exec(connector.context) - if err != nil { - return nil, err + cmds[key] = pipe.SCard(connector.context, redisKey) } - totalCount, err := total.Result() - if err != nil { - return nil, err - } - remoteCount, err := remote.Result() + _, err := pipe.Exec(connector.context) if err != nil { return nil, err } - prometheusCount, err := prometheus.Result() - if err != nil { - return nil, err + + res := make(map[moira.ClusterKey]int64, len(clusterKeys)) + for key, cmd := range cmds { + value, err := cmd.Result() + if err != nil { + return nil, err + } + + res[key] = value } - return map[moira.TriggerSource]int64{ - moira.GraphiteLocal: totalCount - remoteCount - prometheusCount, - moira.GraphiteRemote: remoteCount, - moira.PrometheusRemote: prometheusCount, - }, nil + return res, nil } -// GetTrigger gets trigger and trigger tags by given ID and return it in merged object +// GetTrigger gets trigger and trigger tags by given ID and return it in merged object. func (connector *DbConnector) GetTrigger(triggerID string) (moira.Trigger, error) { pipe := (*connector.client).TxPipeline() trigger := pipe.Get(connector.context, triggerKey(triggerID)) triggerTags := pipe.SMembers(connector.context, triggerTagsKey(triggerID)) _, err := pipe.Exec(connector.context) if err != nil { - if err == redis.Nil { + if errors.Is(err, redis.Nil) { return moira.Trigger{}, database.ErrNil } return moira.Trigger{}, fmt.Errorf("failed to EXEC: %s", err.Error()) @@ -101,7 +87,7 @@ func (connector *DbConnector) GetTrigger(triggerID string) (moira.Trigger, error } // GetTriggers returns triggers data by given ids, len of triggerIDs is equal to len of returned values array. -// If there is no object by current ID, then nil is returned +// If there is no object by current ID, then nil is returned. func (connector *DbConnector) GetTriggers(triggerIDs []string) ([]*moira.Trigger, error) { pipe := (*connector.client).TxPipeline() for _, triggerID := range triggerIDs { @@ -109,7 +95,7 @@ func (connector *DbConnector) GetTriggers(triggerIDs []string) ([]*moira.Trigger pipe.SMembers(connector.context, triggerTagsKey(triggerID)) } rawResponse, err := pipe.Exec(connector.context) - if err != nil && err != redis.Nil { + if err != nil && !errors.Is(err, redis.Nil) { return nil, fmt.Errorf("failed to EXEC: %s", err.Error()) } @@ -119,7 +105,7 @@ func (connector *DbConnector) GetTriggers(triggerIDs []string) ([]*moira.Trigger triggerCmd, tagCmd := rawResponse[i].(*redis.StringCmd), rawResponse[i+1].(*redis.StringSliceCmd) trigger, err := connector.getTriggerWithTags(triggerCmd, tagCmd, triggerID) if err != nil { - if err == database.ErrNil { + if errors.Is(err, database.ErrNil) { continue } return nil, err @@ -129,7 +115,7 @@ func (connector *DbConnector) GetTriggers(triggerIDs []string) ([]*moira.Trigger return triggers, nil } -// GetPatternTriggerIDs gets trigger list by given pattern +// GetPatternTriggerIDs gets trigger list by given pattern. func (connector *DbConnector) GetPatternTriggerIDs(pattern string) ([]string, error) { c := *connector.client @@ -140,26 +126,26 @@ func (connector *DbConnector) GetPatternTriggerIDs(pattern string) ([]string, er return triggerIds, nil } -// RemovePatternTriggerIDs removes all triggerIDs list accepted to given pattern +// RemovePatternTriggerIDs removes all triggerIDs list accepted to given pattern. func (connector *DbConnector) RemovePatternTriggerIDs(pattern string) error { c := *connector.client _, err := c.Del(connector.context, patternTriggersKey(pattern)).Result() if err != nil { - return fmt.Errorf("failed delete pattern-triggers: %s, error: %s", pattern, err) + return fmt.Errorf("failed delete pattern-triggers: %s, error: %w", pattern, err) } return nil } -// SaveTrigger sets trigger data by given trigger and triggerID +// SaveTrigger sets trigger data by given trigger and triggerID. // If trigger already exists, then merge old and new trigger patterns and tags list -// and cleanup not used tags and patterns from lists +// and cleanup not used tags and patterns from lists. // If given trigger contains new tags then create it. -// If given trigger has no subscription on it, add it to triggers-without-subscriptions +// If given trigger has no subscription on it, add it to triggers-without-subscriptions. func (connector *DbConnector) SaveTrigger(triggerID string, trigger *moira.Trigger) error { var oldTrigger *moira.Trigger if existing, err := connector.GetTrigger(triggerID); err == nil { oldTrigger = &existing - } else if err != database.ErrNil { + } else if !errors.Is(err, database.ErrNil) { return fmt.Errorf("failed to get trigger: %s", err.Error()) } @@ -167,7 +153,7 @@ func (connector *DbConnector) SaveTrigger(triggerID string, trigger *moira.Trigg err := connector.updateTrigger(triggerID, trigger, oldTrigger) if err != nil { - return fmt.Errorf("failed to update trigger: %s", err.Error()) + return fmt.Errorf("failed to update trigger: %w", err) } hasSubscriptions, err := connector.triggerHasSubscriptions(trigger) @@ -208,7 +194,7 @@ func (connector *DbConnector) GetTriggerIDsStartWith(prefix string) ([]string, e return matchedTriggers, nil } -func (connector *DbConnector) updateTrigger(triggerID string, newTrigger *moira.Trigger, oldTrigger *moira.Trigger) error { +func (connector *DbConnector) updateTrigger(triggerID string, newTrigger *moira.Trigger, oldTrigger *moira.Trigger) error { // nolint:gocyclo bytes, err := reply.GetTriggerBytes(triggerID, newTrigger) if err != nil { return err @@ -224,27 +210,24 @@ func (connector *DbConnector) updateTrigger(triggerID string, newTrigger *moira. pipe.SRem(connector.context, tagTriggersKey(tag), triggerID) } - if newTrigger.TriggerSource != oldTrigger.TriggerSource { - switch oldTrigger.TriggerSource { - case moira.GraphiteRemote: - pipe.SRem(connector.context, remoteTriggersListKey, triggerID) - - case moira.PrometheusRemote: - pipe.SRem(connector.context, prometheusTriggersListKey, triggerID) + if newTrigger.ClusterKey() != oldTrigger.ClusterKey() { + var oldTriggersListKey string + oldTriggersListKey, err = makeTriggerListKey(oldTrigger.ClusterKey()) + if err != nil { + return fmt.Errorf("could not update trigger: %w", err) } + pipe.SRem(connector.context, oldTriggersListKey, triggerID) } } pipe.Set(connector.context, triggerKey(triggerID), bytes, redis.KeepTTL) - pipe.SAdd(connector.context, triggersListKey, triggerID) - - switch newTrigger.TriggerSource { - case moira.GraphiteRemote: - pipe.SAdd(connector.context, remoteTriggersListKey, triggerID) + pipe.SAdd(connector.context, allTriggersListKey, triggerID) - case moira.PrometheusRemote: - pipe.SAdd(connector.context, prometheusTriggersListKey, triggerID) - - case moira.GraphiteLocal: + newTriggersListKey, err := makeTriggerListKey(newTrigger.ClusterKey()) + if err != nil { + return fmt.Errorf("could not update trigger: %w", err) + } + pipe.SAdd(connector.context, newTriggersListKey, triggerID) + if newTrigger.TriggerSource == moira.GraphiteLocal { for _, pattern := range newTrigger.Patterns { pipe.SAdd(connector.context, patternsListKey, pattern) pipe.SAdd(connector.context, patternTriggersKey(pattern), triggerID) @@ -283,12 +266,12 @@ func (connector *DbConnector) preSaveTrigger(newTrigger *moira.Trigger, oldTrigg } // RemoveTrigger deletes trigger data by given triggerID, delete trigger tag list, -// Deletes triggerID from containing tags triggers list and from containing patterns triggers list -// If containing patterns doesn't used in another triggers, then delete this patterns with metrics data +// deletes triggerID from containing tags triggers list and from containing patterns triggers list. +// If containing patterns doesn't used in another triggers, then delete this patterns with metrics data. func (connector *DbConnector) RemoveTrigger(triggerID string) error { trigger, err := connector.GetTrigger(triggerID) if err != nil { - if err == database.ErrNil { + if errors.Is(err, database.ErrNil) { return nil } return err @@ -306,15 +289,13 @@ func (connector *DbConnector) removeTrigger(triggerID string, trigger *moira.Tri pipe.Del(connector.context, triggerKey(triggerID)) pipe.Del(connector.context, triggerTagsKey(triggerID)) pipe.Del(connector.context, triggerEventsKey(triggerID)) - pipe.SRem(connector.context, triggersListKey, triggerID) - - switch trigger.TriggerSource { - case moira.GraphiteRemote: - pipe.SRem(connector.context, remoteTriggersListKey, triggerID) + pipe.SRem(connector.context, allTriggersListKey, triggerID) - case moira.PrometheusRemote: - pipe.SRem(connector.context, prometheusTriggersListKey, triggerID) + triggerListKey, err := makeTriggerListKey(trigger.ClusterKey()) + if err != nil { + return fmt.Errorf("could not remove trigger: %w", err) } + pipe.SRem(connector.context, triggerListKey, triggerID) pipe.SRem(connector.context, unusedTriggersKey, triggerID) for _, tag := range trigger.Tags { @@ -334,9 +315,9 @@ func (connector *DbConnector) removeTrigger(triggerID string, trigger *moira.Tri return nil } -// GetTriggerChecks gets triggers data with tags, lastCheck data and throttling by given triggersIDs +// GetTriggerChecks gets triggers data with tags, lastCheck data and throttling by given triggersIDs. // Len of triggerIDs is equal to len of returned values array. -// If there is no object by current ID, then nil is returned +// If there is no object by current ID, then nil is returned. func (connector *DbConnector) GetTriggerChecks(triggerIDs []string) ([]*moira.TriggerCheck, error) { pipe := (*connector.client).TxPipeline() for _, triggerID := range triggerIDs { @@ -347,8 +328,8 @@ func (connector *DbConnector) GetTriggerChecks(triggerIDs []string) ([]*moira.Tr } rawResponse, err := pipe.Exec(connector.context) - if err != nil && err != redis.Nil { - return nil, fmt.Errorf("failed to EXEC: %s", err) + if err != nil && !errors.Is(err, redis.Nil) { + return nil, fmt.Errorf("failed to EXEC: %w", err) } var slices [][]interface{} for i := 0; i < len(rawResponse); i += 4 { @@ -363,13 +344,13 @@ func (connector *DbConnector) GetTriggerChecks(triggerIDs []string) ([]*moira.Tr triggerCmd, tagCmd := slice[1].(*redis.StringCmd), slice[2].(*redis.StringSliceCmd) trigger, err := connector.getTriggerWithTags(triggerCmd, tagCmd, triggerID) if err != nil { - if err == database.ErrNil { + if errors.Is(err, database.ErrNil) { continue } return nil, err } lastCheck, err := reply.Check(slice[3].(*redis.StringCmd)) - if err != nil && err != database.ErrNil { + if err != nil && !errors.Is(err, database.ErrNil) { return nil, err } throttlingStr, _ := slice[4].(*redis.StringCmd).Result() @@ -442,9 +423,36 @@ func (connector *DbConnector) triggerHasSubscriptions(trigger *moira.Trigger) (b return false, nil } -var triggersListKey = "{moira-triggers-list}:moira-triggers-list" -var remoteTriggersListKey = "{moira-triggers-list}:moira-remote-triggers-list" -var prometheusTriggersListKey = "{moira-triggers-list}:moira-prometheus-triggers-list" +var ( + allTriggersListKey = "{moira-triggers-list}:moira-triggers-list" + localTriggersListKey = "{moira-triggers-list}:moira-local-triggers-list" + remoteTriggersListKey = "{moira-triggers-list}:moira-remote-triggers-list" + prometheusTriggersListKey = "{moira-triggers-list}:moira-prometheus-triggers-list" +) + +func makeTriggerListKey(clusterKey moira.ClusterKey) (string, error) { + var key string + + switch clusterKey.TriggerSource { + case moira.GraphiteLocal: + key = localTriggersListKey + + case moira.GraphiteRemote: + key = remoteTriggersListKey + + case moira.PrometheusRemote: + key = prometheusTriggersListKey + + default: + return "", fmt.Errorf("unknown trigger source %s", clusterKey.TriggerSource) + } + + if clusterKey.ClusterId != moira.DefaultCluster { + key = key + ":" + clusterKey.ClusterId.String() + } + + return key, nil +} func triggerKey(triggerID string) string { return "moira-trigger:" + triggerID diff --git a/database/redis/trigger_test.go b/database/redis/trigger_test.go index ffabae0fc..957b2c2ca 100644 --- a/database/redis/trigger_test.go +++ b/database/redis/trigger_test.go @@ -4,7 +4,7 @@ import ( "testing" "time" - "github.com/golang/mock/gomock" + "go.uber.org/mock/gomock" mock_clock "github.com/moira-alert/moira/mock/clock" @@ -54,7 +54,7 @@ func TestTriggerStoring(t *testing.T) { Convey("Test save-get-remove", func() { trigger := &testTriggers[0] - //Check for not existing not written trigger + // Check for not existing not written trigger actual, err := dataBase.GetTrigger(trigger.ID) So(err, ShouldResemble, database.ErrNil) So(actual, ShouldResemble, moira.Trigger{}) @@ -62,16 +62,16 @@ func TestTriggerStoring(t *testing.T) { err = dataBase.RemoveTrigger(trigger.ID) So(err, ShouldBeNil) - //Now write it + // Now write it err = dataBase.SaveTrigger(trigger.ID, trigger) So(err, ShouldBeNil) - //And check for existing by several pointers like id or tag + // And check for existing by several pointers like id or tag actual, err = dataBase.GetTrigger(trigger.ID) So(err, ShouldBeNil) So(actual, ShouldResemble, *trigger) - ids, err := dataBase.GetLocalTriggerIDs() + ids, err := dataBase.GetTriggerIDs(moira.DefaultLocalCluster) So(err, ShouldBeNil) So(ids, ShouldResemble, []string{trigger.ID}) @@ -87,17 +87,17 @@ func TestTriggerStoring(t *testing.T) { So(err, ShouldBeNil) So(actualTriggers, ShouldResemble, []*moira.Trigger{trigger}) - //Also we write new patterns + // Also we write new patterns actualPatterns, err := dataBase.GetPatterns() So(err, ShouldBeNil) So(actualPatterns, ShouldResemble, trigger.Patterns) - //And tags + // And tags actualTags, err := dataBase.GetTagNames() So(err, ShouldBeNil) So(actualTags, ShouldResemble, trigger.Tags) - //Now just add tag and pattern in trigger and save it + // Now just add tag and pattern in trigger and save it trigger = nil changedTrigger := &testTriggers[1] err = dataBase.SaveTrigger(changedTrigger.ID, changedTrigger) @@ -107,7 +107,7 @@ func TestTriggerStoring(t *testing.T) { So(err, ShouldBeNil) So(actual.Name, ShouldResemble, changedTrigger.Name) - //Now we can get this trigger by two tags + // Now we can get this trigger by two tags ids, err = dataBase.GetTagTriggerIDs(changedTrigger.Tags[0]) So(err, ShouldBeNil) So(ids, ShouldResemble, []string{changedTrigger.ID}) @@ -116,12 +116,12 @@ func TestTriggerStoring(t *testing.T) { So(err, ShouldBeNil) So(ids, ShouldResemble, []string{changedTrigger.ID}) - //And we have new tag in tags list + // And we have new tag in tags list actualTags, err = dataBase.GetTagNames() So(err, ShouldBeNil) So(actualTags, ShouldHaveLength, 2) - //Also we can get this trigger by new pattern + // Also we can get this trigger by new pattern ids, err = dataBase.GetPatternTriggerIDs(changedTrigger.Patterns[0]) So(err, ShouldBeNil) So(ids, ShouldResemble, []string{changedTrigger.ID}) @@ -130,12 +130,12 @@ func TestTriggerStoring(t *testing.T) { So(err, ShouldBeNil) So(ids, ShouldResemble, []string{changedTrigger.ID}) - //And we have new pattern in patterns list + // And we have new pattern in patterns list actualPatterns, err = dataBase.GetPatterns() So(err, ShouldBeNil) So(actualPatterns, ShouldHaveLength, 2) - //Now remove old tag and pattern in trigger and save it + // Now remove old tag and pattern in trigger and save it oldTag := changedTrigger.Tags[1] oldPattern := changedTrigger.Patterns[1] changedTrigger = nil @@ -147,7 +147,7 @@ func TestTriggerStoring(t *testing.T) { So(err, ShouldBeNil) So(actual.Name, ShouldResemble, changedAgainTrigger.Name) - //Now we can't find trigger by old tag but can get it by new one tag + // Now we can't find trigger by old tag but can get it by new one tag ids, err = dataBase.GetTagTriggerIDs(oldTag) So(err, ShouldBeNil) So(ids, ShouldBeEmpty) @@ -160,12 +160,12 @@ func TestTriggerStoring(t *testing.T) { So(err, ShouldBeNil) So(ids, ShouldResemble, []string{changedAgainTrigger.ID}) - //But we still has this tag in tags list with new one + // But we still has this tag in tags list with new one actualTags, err = dataBase.GetTagNames() So(err, ShouldBeNil) So(actualTags, ShouldHaveLength, 3) - //Same story like tags and trigger with pattern and trigger + // Same story like tags and trigger with pattern and trigger ids, err = dataBase.GetPatternTriggerIDs(oldPattern) So(err, ShouldBeNil) So(ids, ShouldBeEmpty) @@ -178,21 +178,21 @@ func TestTriggerStoring(t *testing.T) { So(err, ShouldBeNil) So(ids, ShouldResemble, []string{changedAgainTrigger.ID}) - //But this pattern no more in pattern list, it is not needed + // But this pattern no more in pattern list, it is not needed actualTags, err = dataBase.GetPatterns() So(err, ShouldBeNil) So(actualTags, ShouldHaveLength, 2) - //Stop it!! Remove trigger and check for no existing it by pointers + // Stop it!! Remove trigger and check for no existing it by pointers err = dataBase.RemoveTrigger(changedAgainTrigger.ID) So(err, ShouldBeNil) - //And check for existing by several pointers like id or tag + // And check for existing by several pointers like id or tag actual, err = dataBase.GetTrigger(changedAgainTrigger.ID) So(err, ShouldResemble, database.ErrNil) So(actual, ShouldResemble, moira.Trigger{}) - ids, err = dataBase.GetLocalTriggerIDs() + ids, err = dataBase.GetTriggerIDs(moira.DefaultLocalCluster) So(err, ShouldBeNil) So(ids, ShouldBeEmpty) @@ -216,12 +216,12 @@ func TestTriggerStoring(t *testing.T) { So(err, ShouldBeNil) So(actualTriggers, ShouldResemble, []*moira.Trigger{nil}) - //Also we delete all patterns + // Also we delete all patterns actualPatterns, err = dataBase.GetPatterns() So(err, ShouldBeNil) So(actualPatterns, ShouldBeEmpty) - //But has all tags + // But has all tags actualTags, err = dataBase.GetTagNames() So(err, ShouldBeNil) So(actualTags, ShouldHaveLength, 3) @@ -247,8 +247,8 @@ func TestTriggerStoring(t *testing.T) { So(err, ShouldBeNil) So(actualTriggerChecks, ShouldResemble, []*moira.TriggerCheck{triggerCheck}) - //Add check data - err = dataBase.SetTriggerLastCheck(trigger.ID, &lastCheckTest, moira.GraphiteLocal) + // Add check data + err = dataBase.SetTriggerLastCheck(trigger.ID, &lastCheckTest, moira.MakeClusterKey(moira.GraphiteLocal, moira.DefaultCluster)) So(err, ShouldBeNil) triggerCheck.LastCheck = lastCheckTest @@ -256,16 +256,16 @@ func TestTriggerStoring(t *testing.T) { So(err, ShouldBeNil) So(actualTriggerChecks, ShouldResemble, []*moira.TriggerCheck{triggerCheck}) - //And throttling + // And throttling err = dataBase.SetTriggerThrottling(trigger.ID, time.Now().Add(-time.Minute)) So(err, ShouldBeNil) - //But it is foul + // But it is foul actualTriggerChecks, err = dataBase.GetTriggerChecks([]string{trigger.ID}) So(err, ShouldBeNil) So(actualTriggerChecks, ShouldResemble, []*moira.TriggerCheck{triggerCheck}) - //Now good throttling + // Now good throttling th := time.Now().Add(time.Minute) err = dataBase.SetTriggerThrottling(trigger.ID, th) So(err, ShouldBeNil) @@ -275,7 +275,7 @@ func TestTriggerStoring(t *testing.T) { So(err, ShouldBeNil) So(actualTriggerChecks, ShouldResemble, []*moira.TriggerCheck{triggerCheck}) - //Remove throttling + // Remove throttling err = dataBase.DeleteTriggerThrottling(trigger.ID) So(err, ShouldBeNil) @@ -284,7 +284,7 @@ func TestTriggerStoring(t *testing.T) { So(err, ShouldBeNil) So(actualTriggerChecks, ShouldResemble, []*moira.TriggerCheck{triggerCheck}) - //Can not remove check data, but can remove trigger! + // Can not remove check data, but can remove trigger! err = dataBase.RemoveTrigger(trigger.ID) So(err, ShouldBeNil) @@ -292,7 +292,7 @@ func TestTriggerStoring(t *testing.T) { So(err, ShouldBeNil) So(actualTriggerChecks, ShouldResemble, []*moira.TriggerCheck{nil}) - //Trigger last is also removed with trigger + // Trigger last is also removed with trigger _, err = dataBase.GetTriggerLastCheck(trigger.ID) So(err, ShouldResemble, database.ErrNil) }) @@ -312,6 +312,7 @@ func TestTriggerStoring(t *testing.T) { Patterns: []string{pattern1}, TriggerType: moira.RisingTrigger, TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, AloneMetrics: map[string]bool{}, } @@ -323,6 +324,7 @@ func TestTriggerStoring(t *testing.T) { Patterns: []string{pattern2}, TriggerType: moira.RisingTrigger, TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, AloneMetrics: map[string]bool{}, } @@ -343,16 +345,16 @@ func TestTriggerStoring(t *testing.T) { Value: 2, } - //Add trigger + // Add trigger err := dataBase.SaveTrigger(triggerVer1.ID, triggerVer1) So(err, ShouldBeNil) - //And check for existing by several pointers like id or tag + // And check for existing by several pointers like id or tag actual, err := dataBase.GetTrigger(triggerVer1.ID) So(err, ShouldBeNil) So(actual, ShouldResemble, *triggerVer1) - ids, err := dataBase.GetLocalTriggerIDs() + ids, err := dataBase.GetTriggerIDs(moira.DefaultLocalCluster) So(err, ShouldBeNil) So(ids, ShouldResemble, []string{triggerVer1.ID}) @@ -368,18 +370,20 @@ func TestTriggerStoring(t *testing.T) { So(err, ShouldBeNil) So(actualTriggers, ShouldResemble, []*moira.Trigger{triggerVer1}) - //Save metrics + // Save metrics err = dataBase.SaveMetrics(map[string]*moira.MatchedMetric{metric1: val1}) So(err, ShouldBeNil) - //And check it + // And check it actualValues, err := dataBase.GetMetricsValues([]string{metric1}, 0, 100) So(err, ShouldBeNil) So(actualValues, ShouldResemble, map[string][]*moira.MetricValue{metric1: { &moira.MetricValue{ Timestamp: val1.Timestamp, RetentionTimestamp: val1.RetentionTimestamp, - Value: val1.Value}}}) + Value: val1.Value, + }, + }}) actualPatternMetrics, err := dataBase.GetPatternMetrics(pattern1) So(err, ShouldBeNil) @@ -389,16 +393,16 @@ func TestTriggerStoring(t *testing.T) { So(err, ShouldBeNil) So(actualPatternMetrics, ShouldResemble, []string{}) - //Update trigger, change its pattern + // Update trigger, change its pattern err = dataBase.SaveTrigger(triggerVer2.ID, triggerVer2) So(err, ShouldBeNil) - //And check for existing by several pointers like id or tag + // And check for existing by several pointers like id or tag actual, err = dataBase.GetTrigger(triggerVer2.ID) So(err, ShouldBeNil) So(actual, ShouldResemble, *triggerVer2) - ids, err = dataBase.GetLocalTriggerIDs() + ids, err = dataBase.GetTriggerIDs(moira.DefaultLocalCluster) So(err, ShouldBeNil) So(ids, ShouldResemble, []string{triggerVer2.ID}) @@ -414,20 +418,22 @@ func TestTriggerStoring(t *testing.T) { So(err, ShouldBeNil) So(actualTriggers, ShouldResemble, []*moira.Trigger{triggerVer2}) - //Save metrics for a new pattern metrics + // Save metrics for a new pattern metrics err = dataBase.SaveMetrics(map[string]*moira.MatchedMetric{metric2: val2}) So(err, ShouldBeNil) - //And check it + // And check it actualValues, err = dataBase.GetMetricsValues([]string{metric2}, 0, 100) So(err, ShouldBeNil) So(actualValues, ShouldResemble, map[string][]*moira.MetricValue{metric2: { &moira.MetricValue{ Timestamp: val2.Timestamp, RetentionTimestamp: val2.RetentionTimestamp, - Value: val2.Value}}}) + Value: val2.Value, + }, + }}) - //And check old metrics, it must be empty + // And check old metrics, it must be empty actualValues, err = dataBase.GetMetricsValues([]string{metric1}, 0, 100) So(err, ShouldBeNil) So(actualValues, ShouldResemble, map[string][]*moira.MetricValue{metric1: {}}) @@ -440,7 +446,7 @@ func TestTriggerStoring(t *testing.T) { So(err, ShouldBeNil) So(actualPatternMetrics, ShouldResemble, []string{metric2}) - //It's time to remove trigger and check all data + // It's time to remove trigger and check all data err = dataBase.RemoveTrigger(triggerVer2.ID) So(err, ShouldBeNil) @@ -448,7 +454,7 @@ func TestTriggerStoring(t *testing.T) { So(err, ShouldResemble, database.ErrNil) So(actual, ShouldResemble, moira.Trigger{}) - ids, err = dataBase.GetLocalTriggerIDs() + ids, err = dataBase.GetTriggerIDs(moira.DefaultLocalCluster) So(err, ShouldBeNil) So(ids, ShouldResemble, []string{}) @@ -541,6 +547,7 @@ func TestRemoteTrigger(t *testing.T) { Targets: []string{"test.target.remote1"}, Patterns: []string{pattern}, TriggerSource: moira.GraphiteRemote, + ClusterId: moira.DefaultCluster, TriggerType: moira.RisingTrigger, AloneMetrics: map[string]bool{}, } @@ -568,12 +575,12 @@ func TestRemoteTrigger(t *testing.T) { So(valueStoredAtKey, ShouldResemble, []string{trigger.ID}) }) Convey("Trigger should not be added to local triggers collection", func() { - ids, err := dataBase.GetLocalTriggerIDs() + ids, err := dataBase.GetTriggerIDs(moira.DefaultLocalCluster) So(err, ShouldBeNil) So(ids, ShouldResemble, []string{}) }) Convey("Trigger should be added to remote triggers collection", func() { - ids, err := dataBase.GetRemoteTriggerIDs() + ids, err := dataBase.GetTriggerIDs(moira.DefaultGraphiteRemoteCluster) So(err, ShouldBeNil) So(ids, ShouldResemble, []string{trigger.ID}) valueStoredAtKey := client.SMembers(dataBase.context, "{moira-triggers-list}:moira-remote-triggers-list").Val() @@ -606,7 +613,7 @@ func TestRemoteTrigger(t *testing.T) { So(*actual.CreatedAt, ShouldResemble, time.Date(2022, time.June, 7, 10, 0, 0, 0, time.UTC).Unix()) }) Convey("Trigger should be added to triggers collection", func() { - ids, err := dataBase.GetLocalTriggerIDs() + ids, err := dataBase.GetTriggerIDs(moira.DefaultLocalCluster) So(err, ShouldBeNil) So(ids, ShouldResemble, []string{trigger.ID}) }) @@ -616,7 +623,7 @@ func TestRemoteTrigger(t *testing.T) { So(ids, ShouldResemble, []string{trigger.ID}) }) Convey("Trigger shouldn't be added to remote triggers collection", func() { - ids, err := dataBase.GetRemoteTriggerIDs() + ids, err := dataBase.GetTriggerIDs(moira.DefaultGraphiteRemoteCluster) So(err, ShouldBeNil) So(ids, ShouldResemble, []string{}) }) @@ -649,7 +656,7 @@ func TestRemoteTrigger(t *testing.T) { So(*actual.UpdatedAt, ShouldResemble, time.Date(2022, time.June, 7, 10, 0, 0, 0, time.UTC).Unix()) }) Convey("Trigger should be deleted from local triggers collection", func() { - ids, err := dataBase.GetLocalTriggerIDs() + ids, err := dataBase.GetTriggerIDs(moira.DefaultLocalCluster) So(err, ShouldBeNil) So(ids, ShouldResemble, []string{}) }) @@ -659,7 +666,7 @@ func TestRemoteTrigger(t *testing.T) { So(ids, ShouldResemble, []string{trigger.ID}) }) Convey("Trigger should be added to remote triggers collection", func() { - ids, err := dataBase.GetRemoteTriggerIDs() + ids, err := dataBase.GetTriggerIDs(moira.DefaultGraphiteRemoteCluster) So(err, ShouldBeNil) So(ids, ShouldResemble, []string{trigger.ID}) }) @@ -689,7 +696,7 @@ func TestTriggerErrorConnection(t *testing.T) { }) Convey("Should throw error when no connection", t, func() { - actual, err := dataBase.GetLocalTriggerIDs() + actual, err := dataBase.GetTriggerIDs(moira.DefaultLocalCluster) So(err, ShouldNotBeNil) So(actual, ShouldBeNil) @@ -804,16 +811,22 @@ func TestDbConnector_GetTriggerIDsStartWith(t *testing.T) { Convey("Given 3 triggers in DB", t, func() { const prefix = "prefix" - var triggerWithPrefix1 = moira.Trigger{ - ID: prefix + "1", + triggerWithPrefix1 := moira.Trigger{ + ID: prefix + "1", + TriggerSource: moira.GraphiteLocal, + ClusterId: moira.ClusterNotSet, } - var triggerWithPrefix2 = moira.Trigger{ - ID: prefix + "2", + triggerWithPrefix2 := moira.Trigger{ + ID: prefix + "2", + TriggerSource: moira.GraphiteLocal, + ClusterId: moira.ClusterNotSet, } - var triggerWithoutPrefix = moira.Trigger{ - ID: "without-prefix", + triggerWithoutPrefix := moira.Trigger{ + ID: "without-prefix", + TriggerSource: moira.GraphiteLocal, + ClusterId: moira.ClusterNotSet, } - var triggers = []moira.Trigger{ + triggers := []moira.Trigger{ triggerWithPrefix1, triggerWithPrefix2, triggerWithoutPrefix, @@ -850,8 +863,9 @@ var testTriggers = []moira.Trigger{ TriggerType: moira.RisingTrigger, TTLState: &moira.TTLStateNODATA, AloneMetrics: map[string]bool{}, - //TODO: Test that empty TriggerSource is filled on getting vale from db + // TODO: Test that empty TriggerSource is filled on getting vale from db TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, }, { ID: "triggerID-0000000000001", @@ -862,6 +876,7 @@ var testTriggers = []moira.Trigger{ TriggerType: moira.RisingTrigger, AloneMetrics: map[string]bool{"t2": true}, TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, }, { ID: "triggerID-0000000000001", @@ -872,6 +887,7 @@ var testTriggers = []moira.Trigger{ TriggerType: moira.RisingTrigger, AloneMetrics: map[string]bool{}, TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, }, { ID: "triggerID-0000000000004", @@ -881,6 +897,7 @@ var testTriggers = []moira.Trigger{ TriggerType: moira.RisingTrigger, AloneMetrics: map[string]bool{}, TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, }, { ID: "triggerID-0000000000005", @@ -890,6 +907,7 @@ var testTriggers = []moira.Trigger{ TriggerType: moira.RisingTrigger, AloneMetrics: map[string]bool{}, TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, }, { ID: "triggerID-0000000000006", @@ -899,6 +917,7 @@ var testTriggers = []moira.Trigger{ TriggerType: moira.RisingTrigger, AloneMetrics: map[string]bool{}, TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, }, { ID: "triggerID-0000000000007", @@ -908,6 +927,7 @@ var testTriggers = []moira.Trigger{ TriggerType: moira.RisingTrigger, AloneMetrics: map[string]bool{}, TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, }, { ID: "triggerID-0000000000008", @@ -917,6 +937,7 @@ var testTriggers = []moira.Trigger{ TriggerType: moira.RisingTrigger, AloneMetrics: map[string]bool{}, TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, }, { ID: "triggerID-0000000000009", @@ -926,5 +947,6 @@ var testTriggers = []moira.Trigger{ TriggerType: moira.RisingTrigger, AloneMetrics: map[string]bool{}, TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, }, } diff --git a/database/redis/triggers_lock.go b/database/redis/triggers_lock.go index 3f54995fe..9121c18b8 100644 --- a/database/redis/triggers_lock.go +++ b/database/redis/triggers_lock.go @@ -1,13 +1,14 @@ package redis import ( + "errors" "fmt" "time" "github.com/go-redis/redis/v8" ) -// AcquireTriggerCheckLock sets trigger lock by given id. If lock does not take, try again and repeat it for given attempts +// AcquireTriggerCheckLock sets trigger lock by given id. If lock does not take, try again and repeat it for given attempts. func (connector *DbConnector) AcquireTriggerCheckLock(triggerID string, maxAttemptsCount int) error { acquired, err := connector.SetTriggerCheckLock(triggerID) if err != nil { @@ -16,7 +17,7 @@ func (connector *DbConnector) AcquireTriggerCheckLock(triggerID string, maxAttem attemptsCount := 0 for !acquired && attemptsCount < maxAttemptsCount { attemptsCount++ - <-time.After(time.Millisecond * 500) //nolint + <-time.After(time.Second) //nolint acquired, err = connector.SetTriggerCheckLock(triggerID) if err != nil { return err @@ -28,12 +29,12 @@ func (connector *DbConnector) AcquireTriggerCheckLock(triggerID string, maxAttem return nil } -// SetTriggerCheckLock create to database lock object with 30sec TTL and return true if object successfully created, or false if object already exists +// SetTriggerCheckLock create to database lock object with 30sec TTL and return true if object successfully created, or false if object already exists. func (connector *DbConnector) SetTriggerCheckLock(triggerID string) (bool, error) { c := *connector.client err := c.SetArgs(connector.context, metricCheckLockKey(triggerID), time.Now().Unix(), redis.SetArgs{TTL: 30 * time.Second, Mode: "NX"}).Err() if err != nil { - if err == redis.Nil { + if errors.Is(err, redis.Nil) { return false, nil } return false, fmt.Errorf("failed to set check lock: %s error: %s", triggerID, err.Error()) @@ -41,7 +42,7 @@ func (connector *DbConnector) SetTriggerCheckLock(triggerID string) (bool, error return true, nil } -// DeleteTriggerCheckLock deletes trigger check lock for given triggerID +// DeleteTriggerCheckLock deletes trigger check lock for given triggerID. func (connector *DbConnector) DeleteTriggerCheckLock(triggerID string) error { c := *connector.client err := c.Del(connector.context, metricCheckLockKey(triggerID)).Err() @@ -51,7 +52,7 @@ func (connector *DbConnector) DeleteTriggerCheckLock(triggerID string) error { return nil } -// ReleaseTriggerCheckLock deletes trigger check lock for given triggerID and logs an error if needed +// ReleaseTriggerCheckLock deletes trigger check lock for given triggerID and logs an error if needed. func (connector *DbConnector) ReleaseTriggerCheckLock(triggerID string) { if err := connector.DeleteTriggerCheckLock(triggerID); err != nil { connector.logger.Warning(). diff --git a/database/redis/triggers_lock_test.go b/database/redis/triggers_lock_test.go index 031924046..af3024d1b 100644 --- a/database/redis/triggers_lock_test.go +++ b/database/redis/triggers_lock_test.go @@ -3,8 +3,8 @@ package redis import ( "testing" - "github.com/golang/mock/gomock" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" + "go.uber.org/mock/gomock" logging "github.com/moira-alert/moira/logging/zerolog_adapter" . "github.com/smartystreets/goconvey/convey" diff --git a/database/redis/triggers_search_results.go b/database/redis/triggers_search_results.go index 25b9f0597..4f287061c 100644 --- a/database/redis/triggers_search_results.go +++ b/database/redis/triggers_search_results.go @@ -11,7 +11,7 @@ import ( const triggersSearchResultsExpire = time.Second * 1800 -// SaveTriggersSearchResults is a function that takes an ID of pager and saves it to redis +// SaveTriggersSearchResults is a function that takes an ID of pager and saves it to redis. func (connector *DbConnector) SaveTriggersSearchResults(searchResultsID string, searchResults []*moira.SearchResult) error { ctx := connector.context pipe := (*connector.client).TxPipeline() @@ -40,7 +40,7 @@ func (connector *DbConnector) SaveTriggersSearchResults(searchResultsID string, return nil } -// GetTriggersSearchResults is a function that receives a saved pager from redis +// GetTriggersSearchResults is a function that receives a saved pager from redis. func (connector *DbConnector) GetTriggersSearchResults(searchResultsID string, page, size int64) ([]*moira.SearchResult, int64, error) { ctx := connector.context pipe := (*connector.client).TxPipeline() @@ -68,14 +68,13 @@ func (connector *DbConnector) GetTriggersSearchResults(searchResultsID string, p return reply.SearchResults(rangeResult, lenResult) } -// IsTriggersSearchResultsExist is a function that checks if there exists pager for triggers search by it's ID +// IsTriggersSearchResultsExist is a function that checks if there exists pager for triggers search by it's ID. func (connector *DbConnector) IsTriggersSearchResultsExist(pagerID string) (bool, error) { ctx := connector.context c := *connector.client pagerIDKey := triggersSearchResultsKey(pagerID) response, err := c.Exists(ctx, pagerIDKey).Result() - if err != nil { return false, fmt.Errorf("failed to check if pager exists: %w", err) } @@ -83,14 +82,13 @@ func (connector *DbConnector) IsTriggersSearchResultsExist(pagerID string) (bool return response == 1, nil } -// DeleteTriggersSearchResults is a function that checks if there exists pager for triggers search by it's ID +// DeleteTriggersSearchResults is a function that checks if there exists pager for triggers search by it's ID. func (connector *DbConnector) DeleteTriggersSearchResults(pagerID string) error { ctx := connector.context c := *connector.client pagerIDKey := triggersSearchResultsKey(pagerID) err := c.Del(ctx, pagerIDKey).Err() - if err != nil { return fmt.Errorf("failed to check if pager exists: %w", err) } diff --git a/database/redis/triggers_to_check.go b/database/redis/triggers_to_check.go index 0281d9453..b6a990a74 100644 --- a/database/redis/triggers_to_check.go +++ b/database/redis/triggers_to_check.go @@ -1,18 +1,44 @@ package redis import ( + "errors" "fmt" "github.com/go-redis/redis/v8" + "github.com/moira-alert/moira" "github.com/moira-alert/moira/database" ) -// AddLocalTriggersToCheck gets trigger IDs and save it to Redis Set +func (connector *DbConnector) AddTriggersToCheck(clusterKey moira.ClusterKey, triggerIDs []string) error { + key, err := makeTriggersToCheckKey(clusterKey) + if err != nil { + return err + } + return connector.addTriggersToCheck(key, triggerIDs) +} + +func (connector *DbConnector) GetTriggersToCheck(clusterKey moira.ClusterKey, count int) ([]string, error) { + key, err := makeTriggersToCheckKey(clusterKey) + if err != nil { + return nil, err + } + return connector.getTriggersToCheck(key, count) +} + +func (connector *DbConnector) GetTriggersToCheckCount(clusterKey moira.ClusterKey) (int64, error) { + key, err := makeTriggersToCheckKey(clusterKey) + if err != nil { + return 0, err + } + return connector.getTriggersToCheckCount(key) +} + +// AddLocalTriggersToCheck gets trigger IDs and save it to Redis Set. func (connector *DbConnector) AddLocalTriggersToCheck(triggerIDs []string) error { return connector.addTriggersToCheck(localTriggersToCheckKey, triggerIDs) } -// AddRemoteTriggersToCheck gets remote trigger IDs and save it to Redis Set +// AddRemoteTriggersToCheck gets remote trigger IDs and save it to Redis Set. func (connector *DbConnector) AddRemoteTriggersToCheck(triggerIDs []string) error { return connector.addTriggersToCheck(remoteTriggersToCheckKey, triggerIDs) } @@ -21,12 +47,12 @@ func (connector *DbConnector) AddPrometheusTriggersToCheck(triggerIDs []string) return connector.addTriggersToCheck(prometheusTriggersToCheckKey, triggerIDs) } -// GetLocalTriggersToCheck return random trigger ID from Redis Set +// GetLocalTriggersToCheck return random trigger ID from Redis Set. func (connector *DbConnector) GetLocalTriggersToCheck(count int) ([]string, error) { return connector.getTriggersToCheck(localTriggersToCheckKey, count) } -// GetRemoteTriggersToCheck return random remote trigger ID from Redis Set +// GetRemoteTriggersToCheck return random remote trigger ID from Redis Set. func (connector *DbConnector) GetRemoteTriggersToCheck(count int) ([]string, error) { return connector.getTriggersToCheck(remoteTriggersToCheckKey, count) } @@ -35,12 +61,12 @@ func (connector *DbConnector) GetPrometheusTriggersToCheck(count int) ([]string, return connector.getTriggersToCheck(prometheusTriggersToCheckKey, count) } -// GetLocalTriggersToCheckCount return number of triggers ID to check from Redis Set +// GetLocalTriggersToCheckCount return number of triggers ID to check from Redis Set. func (connector *DbConnector) GetLocalTriggersToCheckCount() (int64, error) { return connector.getTriggersToCheckCount(localTriggersToCheckKey) } -// GetRemoteTriggersToCheckCount return number of remote triggers ID to check from Redis Set +// GetRemoteTriggersToCheckCount return number of remote triggers ID to check from Redis Set. func (connector *DbConnector) GetRemoteTriggersToCheckCount() (int64, error) { return connector.getTriggersToCheckCount(remoteTriggersToCheckKey) } @@ -70,7 +96,7 @@ func (connector *DbConnector) getTriggersToCheck(key string, count int) ([]strin triggerIDs, err := c.SPopN(ctx, key, int64(count)).Result() if err != nil { - if err == redis.Nil { + if errors.Is(err, redis.Nil) { return make([]string, 0), database.ErrNil } return make([]string, 0), fmt.Errorf("failed to pop trigger to check: %s", err.Error()) @@ -84,7 +110,7 @@ func (connector *DbConnector) getTriggersToCheckCount(key string) (int64, error) triggersToCheckCount, err := c.SCard(ctx, key).Result() if err != nil { - if err == redis.Nil { + if errors.Is(err, redis.Nil) { return 0, nil } return 0, fmt.Errorf("failed to get trigger to check count: %s", err.Error()) @@ -92,6 +118,32 @@ func (connector *DbConnector) getTriggersToCheckCount(key string) (int64, error) return triggersToCheckCount, nil } -var remoteTriggersToCheckKey = "moira-remote-triggers-to-check" -var prometheusTriggersToCheckKey = "moira-prometheus-triggers-to-check" -var localTriggersToCheckKey = "moira-triggers-to-check" +const ( + remoteTriggersToCheckKey = "moira-remote-triggers-to-check" + prometheusTriggersToCheckKey = "moira-prometheus-triggers-to-check" + localTriggersToCheckKey = "moira-triggers-to-check" +) + +func makeTriggersToCheckKey(clusterKey moira.ClusterKey) (string, error) { + var key string + + switch clusterKey.TriggerSource { + case moira.GraphiteLocal: + key = localTriggersToCheckKey + + case moira.GraphiteRemote: + key = remoteTriggersToCheckKey + + case moira.PrometheusRemote: + key = prometheusTriggersToCheckKey + + default: + return "", fmt.Errorf("unknown trigger source `%s`", clusterKey.TriggerSource.String()) + } + + if clusterKey.ClusterId != moira.DefaultCluster { + key = key + ":" + clusterKey.ClusterId.String() + } + + return key, nil +} diff --git a/database/redis/triggers_to_reindex.go b/database/redis/triggers_to_reindex.go index 1f173b0e8..cb6b83545 100644 --- a/database/redis/triggers_to_reindex.go +++ b/database/redis/triggers_to_reindex.go @@ -1,21 +1,21 @@ package redis import ( + "errors" "fmt" "strconv" "github.com/go-redis/redis/v8" ) -// FetchTriggersToReindex returns trigger IDs updated since 'from' param -// The trigger could be changed by user, or it's score was changed during trigger check +// FetchTriggersToReindex returns trigger IDs updated since 'from' param. +// The trigger could be changed by user, or it's score was changed during trigger check. func (connector *DbConnector) FetchTriggersToReindex(from int64) ([]string, error) { ctx := connector.context c := *connector.client rng := &redis.ZRangeBy{Min: strconv.FormatInt(from, 10), Max: "+inf"} response, err := c.ZRangeByScore(ctx, triggersToReindexKey, rng).Result() - if err != nil { return nil, fmt.Errorf("failed to fetch triggers to reindex: %s", err.Error()) } @@ -26,14 +26,14 @@ func (connector *DbConnector) FetchTriggersToReindex(from int64) ([]string, erro return response, nil } -// RemoveTriggersToReindex removes outdated triggerIDs from redis +// RemoveTriggersToReindex removes outdated triggerIDs from redis. func (connector *DbConnector) RemoveTriggersToReindex(to int64) error { ctx := connector.context c := *connector.client _, err := c.ZRemRangeByScore(ctx, triggersToReindexKey, "-inf", strconv.FormatInt(to, 10)).Result() - if err != nil && err != redis.Nil { + if err != nil && !errors.Is(err, redis.Nil) { return fmt.Errorf("failed to remove triggers to reindex: %s", err.Error()) } diff --git a/database/redis/triggers_to_reindex_test.go b/database/redis/triggers_to_reindex_test.go index 018a0fb84..2e0addf33 100644 --- a/database/redis/triggers_to_reindex_test.go +++ b/database/redis/triggers_to_reindex_test.go @@ -42,7 +42,7 @@ func TestTriggersToReindex(t *testing.T) { err = addTriggersToReindex(dataBase, triggerID1) So(err, ShouldBeNil) - //current time ≈ startTime + 2 + // current time ≈ startTime + 2 time.Sleep(time.Second) actual, err = dataBase.FetchTriggersToReindex(time.Now().Unix()) So(err, ShouldBeNil) @@ -52,7 +52,7 @@ func TestTriggersToReindex(t *testing.T) { So(err, ShouldBeNil) So(actual, ShouldResemble, []string{triggerID1}) - //current time ≈ startTime + 3 + // current time ≈ startTime + 3 time.Sleep(time.Second) err = addTriggersToReindex(dataBase, triggerID2, triggerID3) So(err, ShouldBeNil) @@ -75,7 +75,7 @@ func TestTriggersToReindex(t *testing.T) { So(err, ShouldBeNil) So(actual, ShouldBeEmpty) - //try to save 2 similar triggers + // try to save 2 similar triggers err = addTriggersToReindex(dataBase, triggerID1, triggerID1) So(err, ShouldBeNil) @@ -84,7 +84,7 @@ func TestTriggersToReindex(t *testing.T) { So(actual, ShouldResemble, []string{triggerID1}) // and again - //current time ≈ startTime + 4 + // current time ≈ startTime + 4 time.Sleep(time.Second) err = addTriggersToReindex(dataBase, triggerID1, triggerID1) So(err, ShouldBeNil) @@ -101,7 +101,7 @@ func TestTriggersToReindex(t *testing.T) { So(err, ShouldBeNil) So(actual, ShouldResemble, []string{triggerID1}) - //add other triggers several times + // add other triggers several times err = addTriggersToReindex(dataBase, triggerID1, triggerID1) So(err, ShouldBeNil) @@ -148,7 +148,6 @@ func addTriggersToReindex(connector *DbConnector, triggerIDs ...string) error { } _, err := pipe.Exec(ctx) - if err != nil { return fmt.Errorf("failed to add triggers to reindex: %s", err.Error()) } diff --git a/database/redis/unused_triggers.go b/database/redis/unused_triggers.go index 2ec7c55ba..15d1b2fb6 100644 --- a/database/redis/unused_triggers.go +++ b/database/redis/unused_triggers.go @@ -1,13 +1,14 @@ package redis import ( + "errors" "fmt" "github.com/go-redis/redis/v8" "github.com/moira-alert/moira" ) -// MarkTriggersAsUnused adds unused trigger IDs to Redis set +// MarkTriggersAsUnused adds unused trigger IDs to Redis set. func (connector *DbConnector) MarkTriggersAsUnused(triggerIDs ...string) error { if len(triggerIDs) == 0 { return nil @@ -26,14 +27,14 @@ func (connector *DbConnector) MarkTriggersAsUnused(triggerIDs ...string) error { return nil } -// GetUnusedTriggerIDs returns all unused trigger IDs +// GetUnusedTriggerIDs returns all unused trigger IDs. func (connector *DbConnector) GetUnusedTriggerIDs() ([]string, error) { ctx := connector.context c := *connector.client triggerIds, err := c.SMembers(ctx, unusedTriggersKey).Result() if err != nil { - if err == redis.Nil { + if errors.Is(err, redis.Nil) { return make([]string, 0), nil } return nil, fmt.Errorf("failed to get all unused triggers: %s", err.Error()) @@ -41,7 +42,7 @@ func (connector *DbConnector) GetUnusedTriggerIDs() ([]string, error) { return triggerIds, nil } -// MarkTriggersAsUsed removes trigger IDs from Redis set +// MarkTriggersAsUsed removes trigger IDs from Redis set. func (connector *DbConnector) MarkTriggersAsUsed(triggerIDs ...string) error { if len(triggerIDs) == 0 { return nil @@ -60,10 +61,10 @@ func (connector *DbConnector) MarkTriggersAsUsed(triggerIDs ...string) error { return nil } -// refreshUnusedTriggers gets two triggers lists: newTriggers and oldTriggers +// refreshUnusedTriggers gets two triggers lists: newTriggers and oldTriggers. // It filters triggers which are presented in oldTriggers but not in newTriggers. // For every trigger in that diff-list it checks whether this trigger has any subscription and mark it unused if not. -// At the end, refreshUnusedTriggers mark all newTriggers as used +// At the end, refreshUnusedTriggers mark all newTriggers as used. func (connector *DbConnector) refreshUnusedTriggers(newTriggers, oldTriggers []*moira.Trigger) error { unusedTriggerIDs := make([]string, 0) usedTriggerIDs := make([]string, 0) diff --git a/database/redis/unused_triggers_test.go b/database/redis/unused_triggers_test.go index bb0c117a9..dbed460f1 100644 --- a/database/redis/unused_triggers_test.go +++ b/database/redis/unused_triggers_test.go @@ -86,30 +86,36 @@ func TestUnusedTriggers(t *testing.T) { Convey("Check triggers are marked used and unused properly", t, func() { trigger1Ver1 := &moira.Trigger{ - ID: "triggerID-0000000000001", - Name: "test trigger 1 v1.0", - Targets: []string{"test.target.1"}, - Tags: []string{"test-tag-1"}, - Patterns: []string{"test.pattern.1"}, - TriggerType: moira.RisingTrigger, + ID: "triggerID-0000000000001", + Name: "test trigger 1 v1.0", + Targets: []string{"test.target.1"}, + Tags: []string{"test-tag-1"}, + Patterns: []string{"test.pattern.1"}, + TriggerType: moira.RisingTrigger, + TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, } trigger1Ver2 := &moira.Trigger{ - ID: "triggerID-0000000000001", - Name: "test trigger 1 v2.0", - Targets: []string{"test.target.1"}, - Tags: []string{"test-tag-2", "test-tag-1"}, - Patterns: []string{"test.pattern.1"}, - TriggerType: moira.RisingTrigger, + ID: "triggerID-0000000000001", + Name: "test trigger 1 v2.0", + Targets: []string{"test.target.1"}, + Tags: []string{"test-tag-2", "test-tag-1"}, + Patterns: []string{"test.pattern.1"}, + TriggerType: moira.RisingTrigger, + TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, } trigger1Ver3 := &moira.Trigger{ - ID: "triggerID-0000000000001", - Name: "test trigger 1 v3.0", - Targets: []string{"test.target.1"}, - Tags: []string{"test-tag-2", "test-tag-3"}, - Patterns: []string{"test.pattern.1"}, - TriggerType: moira.RisingTrigger, + ID: "triggerID-0000000000001", + Name: "test trigger 1 v3.0", + Targets: []string{"test.target.1"}, + Tags: []string{"test-tag-2", "test-tag-3"}, + Patterns: []string{"test.pattern.1"}, + TriggerType: moira.RisingTrigger, + TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, } subscription1Ver1 := &moira.SubscriptionData{ @@ -180,52 +186,64 @@ func TestUnusedTriggers(t *testing.T) { triggers := []*moira.Trigger{ { - ID: "new-trigger-1", - Name: "Very New trigger 1", - Targets: []string{"new.target.1"}, - Tags: []string{"new-tag-1"}, - Patterns: []string{"test.pattern.1"}, - TriggerType: moira.RisingTrigger, + ID: "new-trigger-1", + Name: "Very New trigger 1", + Targets: []string{"new.target.1"}, + Tags: []string{"new-tag-1"}, + Patterns: []string{"test.pattern.1"}, + TriggerType: moira.RisingTrigger, + TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, }, { - ID: "new-trigger-2", - Name: "Very New trigger 2", - Targets: []string{"new.target.2"}, - Tags: []string{"new-tag-2"}, - Patterns: []string{"test.pattern.1"}, - TriggerType: moira.RisingTrigger, + ID: "new-trigger-2", + Name: "Very New trigger 2", + Targets: []string{"new.target.2"}, + Tags: []string{"new-tag-2"}, + Patterns: []string{"test.pattern.1"}, + TriggerType: moira.RisingTrigger, + TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, }, { - ID: "new-trigger-3", - Name: "Very New trigger 3", - Targets: []string{"new.target.3"}, - Tags: []string{"new-tag-3"}, - Patterns: []string{"test.pattern.1"}, - TriggerType: moira.RisingTrigger, + ID: "new-trigger-3", + Name: "Very New trigger 3", + Targets: []string{"new.target.3"}, + Tags: []string{"new-tag-3"}, + Patterns: []string{"test.pattern.1"}, + TriggerType: moira.RisingTrigger, + TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, }, { - ID: "new-trigger-4", - Name: "Very New trigger 4", - Targets: []string{"new.target.4"}, - Tags: []string{"new-tag-1", "new-tag-2", "new-tag-3"}, - Patterns: []string{"test.pattern.1"}, - TriggerType: moira.RisingTrigger, + ID: "new-trigger-4", + Name: "Very New trigger 4", + Targets: []string{"new.target.4"}, + Tags: []string{"new-tag-1", "new-tag-2", "new-tag-3"}, + Patterns: []string{"test.pattern.1"}, + TriggerType: moira.RisingTrigger, + TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, }, { - ID: "new-trigger-5", - Name: "Very New trigger 5", - Targets: []string{"new.target.5"}, - Tags: []string{"new-tag-1", "new-tag-2"}, - Patterns: []string{"test.pattern.1"}, - TriggerType: moira.RisingTrigger, + ID: "new-trigger-5", + Name: "Very New trigger 5", + Targets: []string{"new.target.5"}, + Tags: []string{"new-tag-1", "new-tag-2"}, + Patterns: []string{"test.pattern.1"}, + TriggerType: moira.RisingTrigger, + TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, }, { - ID: "new-trigger-6", - Name: "Very New trigger 6", - Targets: []string{"new.target.6"}, - Tags: []string{"new-tag-5", "new-tag-6"}, - Patterns: []string{"test.pattern.1"}, - TriggerType: moira.RisingTrigger, + ID: "new-trigger-6", + Name: "Very New trigger 6", + Targets: []string{"new.target.6"}, + Tags: []string{"new-tag-5", "new-tag-6"}, + Patterns: []string{"test.pattern.1"}, + TriggerType: moira.RisingTrigger, + TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, }, } subscriptions := []*moira.SubscriptionData{ diff --git a/database/stats/contact.go b/database/stats/contact.go new file mode 100644 index 000000000..fba1c0daf --- /dev/null +++ b/database/stats/contact.go @@ -0,0 +1,68 @@ +package stats + +import ( + "time" + + "github.com/moira-alert/moira" + "github.com/moira-alert/moira/metrics" +) + +type contactStats struct { + metrics *metrics.ContactsMetrics + database moira.Database + logger moira.Logger +} + +// NewContactStats creates and initializes a new contactStats object. +func NewContactStats( + metricsRegistry metrics.Registry, + database moira.Database, + logger moira.Logger, +) *contactStats { + return &contactStats{ + metrics: metrics.NewContactsMetrics(metricsRegistry), + database: database, + logger: logger, + } +} + +// StartReport starts reporting statistics about contacts. +func (stats *contactStats) StartReport(stop <-chan struct{}) { + checkTicker := time.NewTicker(time.Minute) + defer checkTicker.Stop() + + stats.logger.Info().Msg("Start contact statistics reporter") + + for { + select { + case <-stop: + stats.logger.Info().Msg("Stop contact statistics reporter") + return + + case <-checkTicker.C: + stats.checkContactsCount() + } + } +} + +func (stats *contactStats) checkContactsCount() { + contacts, err := stats.database.GetAllContacts() + if err != nil { + stats.logger.Warning(). + Error(err). + Msg("Failed to get all contacts") + return + } + + contactsCounter := make(map[string]int64) + + for _, contact := range contacts { + if contact != nil { + contactsCounter[contact.Type]++ + } + } + + for contact, count := range contactsCounter { + stats.metrics.Mark(contact, count) + } +} diff --git a/database/stats/contact_test.go b/database/stats/contact_test.go new file mode 100644 index 000000000..611b514a8 --- /dev/null +++ b/database/stats/contact_test.go @@ -0,0 +1,107 @@ +package stats + +import ( + "errors" + "testing" + + "go.uber.org/mock/gomock" + + "github.com/moira-alert/moira" + logging "github.com/moira-alert/moira/logging/zerolog_adapter" + "github.com/moira-alert/moira/metrics" + mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" + mock_metrics "github.com/moira-alert/moira/mock/moira-alert/metrics" + . "github.com/smartystreets/goconvey/convey" +) + +const metricPrefix = "contacts" + +var testContacts = []*moira.ContactData{ + { + Type: "test1", + }, + { + Type: "test1", + }, + { + Type: "test2", + }, + { + Type: "test3", + }, + { + Type: "test2", + }, + { + Type: "test1", + }, +} + +func TestNewContactsStats(t *testing.T) { + mockCtrl := gomock.NewController(t) + defer mockCtrl.Finish() + + registry := mock_metrics.NewMockRegistry(mockCtrl) + database := mock_moira_alert.NewMockDatabase(mockCtrl) + logger, _ := logging.GetLogger("Test") + + Convey("Successfully created new contacts stats", t, func() { + stats := NewContactStats(registry, database, logger) + + So(stats, ShouldResemble, &contactStats{ + metrics: metrics.NewContactsMetrics(registry), + database: database, + logger: logger, + }) + }) +} + +func TestCheckingContactsCount(t *testing.T) { + mockCtrl := gomock.NewController(t) + defer mockCtrl.Finish() + + registry := mock_metrics.NewMockRegistry(mockCtrl) + database := mock_moira_alert.NewMockDatabase(mockCtrl) + logger := mock_moira_alert.NewMockLogger(mockCtrl) + eventBuilder := mock_moira_alert.NewMockEventBuilder(mockCtrl) + + test1Meter := mock_metrics.NewMockMeter(mockCtrl) + test2Meter := mock_metrics.NewMockMeter(mockCtrl) + test3Meter := mock_metrics.NewMockMeter(mockCtrl) + + var test1ContactCount, test2ContactCount, test3ContactCount int64 + var test1ContactType, test2ContactType, test3ContactType string + test1ContactCount, test1ContactType = 3, "test1" + test2ContactCount, test2ContactType = 2, "test2" + test3ContactCount, test3ContactType = 1, "test3" + + getAllContactsErr := errors.New("failed to get all contacts") + + Convey("Test checking contacts count", t, func() { + Convey("Successfully checking contacts count", func() { + database.EXPECT().GetAllContacts().Return(testContacts, nil).Times(1) + + registry.EXPECT().NewMeter(metricPrefix, test1ContactType).Return(test1Meter).Times(1) + registry.EXPECT().NewMeter(metricPrefix, test2ContactType).Return(test2Meter).Times(1) + registry.EXPECT().NewMeter(metricPrefix, test3ContactType).Return(test3Meter).Times(1) + + test1Meter.EXPECT().Mark(test1ContactCount) + test2Meter.EXPECT().Mark(test2ContactCount) + test3Meter.EXPECT().Mark(test3ContactCount) + + stats := NewContactStats(registry, database, logger) + stats.checkContactsCount() + }) + + Convey("Get error from get all contacts", func() { + database.EXPECT().GetAllContacts().Return(nil, getAllContactsErr).Times(1) + + logger.EXPECT().Warning().Return(eventBuilder).Times(1) + eventBuilder.EXPECT().Error(getAllContactsErr).Return(eventBuilder).Times(1) + eventBuilder.EXPECT().Msg("Failed to get all contacts").Times(1) + + stats := NewContactStats(registry, database, logger) + stats.checkContactsCount() + }) + }) +} diff --git a/database/stats/stats.go b/database/stats/stats.go new file mode 100644 index 000000000..0d6da505e --- /dev/null +++ b/database/stats/stats.go @@ -0,0 +1,40 @@ +package stats + +import ( + "gopkg.in/tomb.v2" +) + +// StatsReporter represents an interface for objects that report statistics. +type StatsReporter interface { + StartReport(stop <-chan struct{}) +} + +type statsManager struct { + tomb tomb.Tomb + reporters []StatsReporter +} + +// NewStatsManager creates a new statsManager instance with the given StatsReporters. +func NewStatsManager(reporters ...StatsReporter) *statsManager { + return &statsManager{ + reporters: reporters, + } +} + +// Start starts reporting statistics for all registered StatsReporters. +func (manager *statsManager) Start() { + for _, reporter := range manager.reporters { + reporter := reporter + + manager.tomb.Go(func() error { + reporter.StartReport(manager.tomb.Dying()) + return nil + }) + } +} + +// Stop stops all reporting activities and waits for the completion. +func (manager *statsManager) Stop() error { + manager.tomb.Kill(nil) + return manager.tomb.Wait() +} diff --git a/database/stats/stats_test.go b/database/stats/stats_test.go new file mode 100644 index 000000000..8c216b334 --- /dev/null +++ b/database/stats/stats_test.go @@ -0,0 +1,35 @@ +package stats + +import ( + "testing" + + mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" + . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" +) + +func TestNewStatsManager(t *testing.T) { + mockCtrl := gomock.NewController(t) + defer mockCtrl.Finish() + + triggerStats := mock_moira_alert.NewMockStatsReporter(mockCtrl) + contactStats := mock_moira_alert.NewMockStatsReporter(mockCtrl) + + Convey("Test new stats manager", t, func() { + Convey("Successfully create new stats manager", func() { + manager := NewStatsManager(triggerStats, contactStats) + + So(manager.reporters, ShouldResemble, []StatsReporter{triggerStats, contactStats}) + }) + + Convey("Successfully start stats manager", func() { + manager := NewStatsManager(triggerStats, contactStats) + + triggerStats.EXPECT().StartReport(manager.tomb.Dying()).Times(1) + contactStats.EXPECT().StartReport(manager.tomb.Dying()).Times(1) + + manager.Start() + defer manager.Stop() //nolint + }) + }) +} diff --git a/cmd/api/trigger_stats.go b/database/stats/trigger.go similarity index 51% rename from cmd/api/trigger_stats.go rename to database/stats/trigger.go index 79de6a3f8..b13df7e9a 100644 --- a/cmd/api/trigger_stats.go +++ b/database/stats/trigger.go @@ -1,43 +1,46 @@ -package main +package stats import ( - "fmt" "time" "github.com/moira-alert/moira" "github.com/moira-alert/moira/metrics" - "gopkg.in/tomb.v2" ) type triggerStats struct { - tomb tomb.Tomb metrics *metrics.TriggersMetrics database moira.Database logger moira.Logger + clusters []moira.ClusterKey } -func newTriggerStats( - logger moira.Logger, - database moira.Database, +// NewTriggerStats creates and initializes a new triggerStats object. +func NewTriggerStats( metricsRegistry metrics.Registry, + database moira.Database, + logger moira.Logger, + clusters []moira.ClusterKey, ) *triggerStats { return &triggerStats{ logger: logger, database: database, - metrics: metrics.NewTriggersMetrics(metricsRegistry), + metrics: metrics.NewTriggersMetrics(metricsRegistry, clusters), + clusters: clusters, } } -func (stats *triggerStats) Start() { - stats.tomb.Go(stats.startCheckingTriggerCount) -} +// StartReport starts reporting statistics about triggers. +func (stats *triggerStats) StartReport(stop <-chan struct{}) { + checkTicker := time.NewTicker(time.Minute) + defer checkTicker.Stop() + + stats.logger.Info().Msg("Start trigger statistics reporter") -func (stats *triggerStats) startCheckingTriggerCount() error { - checkTicker := time.NewTicker(time.Second * 60) for { select { - case <-stats.tomb.Dying(): - return nil + case <-stop: + stats.logger.Info().Msg("Stop trigger statistics reporter") + return case <-checkTicker.C: stats.checkTriggerCount() @@ -45,13 +48,8 @@ func (stats *triggerStats) startCheckingTriggerCount() error { } } -func (stats *triggerStats) Stop() error { - stats.tomb.Kill(nil) - return stats.tomb.Wait() -} - func (stats *triggerStats) checkTriggerCount() { - triggersCount, err := stats.database.GetTriggerCount() + triggersCount, err := stats.database.GetTriggerCount(stats.clusters) if err != nil { stats.logger.Warning(). Error(err). @@ -61,6 +59,5 @@ func (stats *triggerStats) checkTriggerCount() { for source, count := range triggersCount { stats.metrics.Mark(source, count) - stats.logger.Debug().Msg(fmt.Sprintf("source: %s, count: %d", string(source), count)) } } diff --git a/database/stats/trigger_test.go b/database/stats/trigger_test.go new file mode 100644 index 000000000..f36acae2f --- /dev/null +++ b/database/stats/trigger_test.go @@ -0,0 +1,54 @@ +package stats + +import ( + "testing" + + "github.com/moira-alert/moira" + "github.com/moira-alert/moira/logging/zerolog_adapter" + mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" + mock_metrics "github.com/moira-alert/moira/mock/moira-alert/metrics" + . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" +) + +func TestTriggerStatsCheckTriggerCount(t *testing.T) { + Convey("Given db returns correct results", t, func() { + mockCtrl := gomock.NewController(t) + defer mockCtrl.Finish() + + registry := mock_metrics.NewMockRegistry(mockCtrl) + + graphiteLocalCount := int64(12) + graphiteRemoteCount := int64(24) + prometheusRemoteCount := int64(42) + + graphiteLocalMeter := mock_metrics.NewMockMeter(mockCtrl) + graphiteRemoteMeter := mock_metrics.NewMockMeter(mockCtrl) + prometheusRemoteMeter := mock_metrics.NewMockMeter(mockCtrl) + + registry.EXPECT().NewMeter("triggers", moira.GraphiteLocal.String(), moira.DefaultCluster.String()).Return(graphiteLocalMeter) + registry.EXPECT().NewMeter("triggers", moira.GraphiteRemote.String(), moira.DefaultCluster.String()).Return(graphiteRemoteMeter) + registry.EXPECT().NewMeter("triggers", moira.PrometheusRemote.String(), moira.DefaultCluster.String()).Return(prometheusRemoteMeter) + + database := mock_moira_alert.NewMockDatabase(mockCtrl) + database.EXPECT().GetTriggerCount(gomock.Any()).Return(map[moira.ClusterKey]int64{ + moira.DefaultLocalCluster: graphiteLocalCount, + moira.DefaultGraphiteRemoteCluster: graphiteRemoteCount, + moira.DefaultPrometheusRemoteCluster: prometheusRemoteCount, + }, nil) + + graphiteLocalMeter.EXPECT().Mark(graphiteLocalCount) + graphiteRemoteMeter.EXPECT().Mark(graphiteRemoteCount) + prometheusRemoteMeter.EXPECT().Mark(prometheusRemoteCount) + + logger, _ := zerolog_adapter.GetLogger("Test") + clusters := []moira.ClusterKey{ + moira.DefaultLocalCluster, + moira.DefaultGraphiteRemoteCluster, + moira.DefaultPrometheusRemoteCluster, + } + triggerStats := NewTriggerStats(registry, database, logger, clusters) + + triggerStats.checkTriggerCount() + }) +} diff --git a/datatypes.go b/datatypes.go index d30a20db8..9796479ef 100644 --- a/datatypes.go +++ b/datatypes.go @@ -15,20 +15,22 @@ import ( ) const ( - // VariableContactID is used to render template with contact.ID + // VariableContactID is used to render template with contact.ID. VariableContactID = "${contact_id}" - // VariableContactValue is used to render template with contact.Value + // VariableContactValue is used to render template with contact.Value. VariableContactValue = "${contact_value}" - // VariableContactType is used to render template with contact.Type + // VariableContactType is used to render template with contact.Type. VariableContactType = "${contact_type}" - // VariableTriggerID is used to render template with trigger.ID + // VariableTriggerID is used to render template with trigger.ID. VariableTriggerID = "${trigger_id}" - // VariableTriggerName is used to render template with trigger.Name + // VariableTriggerName is used to render template with trigger.Name. VariableTriggerName = "${trigger_name}" ) const ( - format = "15:04 02.01.2006" + // DefaultDateTimeFormat used for formatting timestamps. + DefaultDateTimeFormat = "15:04 02.01.2006" + // DefaultTimeFormat used for formatting time. DefaultTimeFormat = "15:04" remindMessage = "This metric has been in bad state for more than %v hours - please, fix." limit = 1000 @@ -41,7 +43,7 @@ const ( SIFormatNumbers ) -// NotificationEvent represents trigger state changes event +// NotificationEvent represents trigger state changes event. type NotificationEvent struct { IsTriggerEvent bool `json:"trigger_event,omitempty" example:"true"` Timestamp int64 `json:"timestamp" example:"1590741878" format:"int64"` @@ -57,8 +59,8 @@ type NotificationEvent struct { MessageEventInfo *EventInfo `json:"event_message" extensions:"x-nullable"` } -// NotificationEventHistoryItem is in use to store notifications history of channel -// (see database/redis/contact_notifications_history.go +// NotificationEventHistoryItem is in use to store notifications history of channel. +// (See database/redis/contact_notifications_history.go. type NotificationEventHistoryItem struct { TimeStamp int64 `json:"timestamp" format:"int64"` Metric string `json:"metric"` @@ -108,7 +110,7 @@ func (event *NotificationEvent) CreateMessage(location *time.Location) string { } if event.MessageEventInfo.Maintenance.StartTime != nil { messageBuffer.WriteString(" at ") - messageBuffer.WriteString(time.Unix(*event.MessageEventInfo.Maintenance.StartTime, 0).In(location).Format(format)) + messageBuffer.WriteString(time.Unix(*event.MessageEventInfo.Maintenance.StartTime, 0).In(location).Format(DefaultDateTimeFormat)) } if event.MessageEventInfo.Maintenance.StopUser != nil || event.MessageEventInfo.Maintenance.StopTime != nil { messageBuffer.WriteString(" and removed") @@ -118,7 +120,7 @@ func (event *NotificationEvent) CreateMessage(location *time.Location) string { } if event.MessageEventInfo.Maintenance.StopTime != nil { messageBuffer.WriteString(" at ") - messageBuffer.WriteString(time.Unix(*event.MessageEventInfo.Maintenance.StopTime, 0).In(location).Format(format)) + messageBuffer.WriteString(time.Unix(*event.MessageEventInfo.Maintenance.StopTime, 0).In(location).Format(DefaultDateTimeFormat)) } } messageBuffer.WriteString(".") @@ -126,11 +128,13 @@ func (event *NotificationEvent) CreateMessage(location *time.Location) string { return messageBuffer.String() } -// NotificationEvents represents slice of NotificationEvent +// NotificationEvents represents slice of NotificationEvent. type NotificationEvents []NotificationEvent +// PopulatedDescription populates a description template using provided trigger and events data. func (trigger *TriggerData) PopulatedDescription(events NotificationEvents) error { - description, err := templating.Populate(trigger.Name, trigger.Desc, NotificationEventsToTemplatingEvents(events)) + triggerDescriptionPopulater := templating.NewTriggerDescriptionPopulater(trigger.Name, events.ToTemplateEvents()) + description, err := triggerDescriptionPopulater.Populate(trigger.Desc) if err != nil { description = "Your description is using the wrong template. Since we were unable to populate your template with " + "data, we return it so you can parse it.\n\n" + trigger.Desc @@ -141,10 +145,11 @@ func (trigger *TriggerData) PopulatedDescription(events NotificationEvents) erro return err } -func NotificationEventsToTemplatingEvents(events NotificationEvents) []templating.Event { - templatingEvents := make([]templating.Event, 0, len(events)) +// ToTemplateEvents converts a slice of NotificationEvent into a slice of templating.Event. +func (events NotificationEvents) ToTemplateEvents() []templating.Event { + templateEvents := make([]templating.Event, 0, len(events)) for _, event := range events { - templatingEvents = append(templatingEvents, templating.Event{ + templateEvents = append(templateEvents, templating.Event{ Metric: event.Metric, MetricElements: strings.Split(event.Metric, "."), Timestamp: event.Timestamp, @@ -153,10 +158,10 @@ func NotificationEventsToTemplatingEvents(events NotificationEvents) []templatin }) } - return templatingEvents + return templateEvents } -// TriggerData represents trigger object +// TriggerData represents trigger object. type TriggerData struct { ID string `json:"id" example:"292516ed-4924-4154-a62c-ebe312431fce"` Name string `json:"name" example:"Not enough disk space left"` @@ -166,14 +171,16 @@ type TriggerData struct { ErrorValue float64 `json:"error_value" example:"1000"` IsRemote bool `json:"is_remote" example:"false"` TriggerSource TriggerSource `json:"trigger_source,omitempty" example:"graphite_local"` + ClusterId ClusterId `json:"cluster_id,omitempty" example:"default"` Tags []string `json:"__notifier_trigger_tags" example:"server,disk"` } +// GetTriggerSource returns trigger source associated with the trigger. func (trigger TriggerData) GetTriggerSource() TriggerSource { return trigger.TriggerSource.FillInIfNotSet(trigger.IsRemote) } -// GetTriggerURI gets frontUri and returns triggerUrl, returns empty string on selfcheck and test notifications +// GetTriggerURI gets frontUri and returns triggerUrl, returns empty string on selfcheck and test notifications. func (trigger TriggerData) GetTriggerURI(frontURI string) string { if trigger.ID != "" { return fmt.Sprintf("%s/trigger/%s", frontURI, trigger.ID) @@ -181,23 +188,41 @@ func (trigger TriggerData) GetTriggerURI(frontURI string) string { return "" } -// Team is a structure that represents a group of users that share a subscriptions and contacts +// GetTags returns "[tag1][tag2]...[tagN]" string. +func (trigger *TriggerData) GetTags() string { + var buffer bytes.Buffer + for _, tag := range trigger.Tags { + buffer.WriteString(fmt.Sprintf("[%s]", tag)) + } + return buffer.String() +} + +// Team is a structure that represents a group of users that share a subscriptions and contacts. type Team struct { ID string Name string Description string } -// ContactData represents contact object +// ContactData represents contact object. type ContactData struct { Type string `json:"type" example:"mail"` + Name string `json:"name,omitempty" example:"Mail Alerts"` Value string `json:"value" example:"devops@example.com"` ID string `json:"id" example:"1dd38765-c5be-418d-81fa-7a5f879c2315"` User string `json:"user" example:""` Team string `json:"team"` } -// SubscriptionData represents user subscription +// ToTemplateContact converts a ContactData into a template Contact. +func (contact *ContactData) ToTemplateContact() *templating.Contact { + return &templating.Contact{ + Type: contact.Type, + Value: contact.Value, + } +} + +// SubscriptionData represents user subscription. type SubscriptionData struct { Contacts []string `json:"contacts" example:"acd2db98-1659-4a2f-b227-52d71f6e3ba1"` Tags []string `json:"tags" example:"server,cpu"` @@ -213,13 +238,13 @@ type SubscriptionData struct { TeamID string `json:"team_id" example:"324516ed-4924-4154-a62c-eb124234fce"` } -// PlottingData represents plotting settings +// PlottingData represents plotting settings. type PlottingData struct { Enabled bool `json:"enabled" example:"true"` Theme string `json:"theme" example:"dark"` } -// ScheduleData represents subscription schedule +// ScheduleData represents subscription schedule. type ScheduleData struct { Days []ScheduleDataDay `json:"days"` TimezoneOffset int64 `json:"tzOffset" example:"-60" format:"int64"` @@ -227,13 +252,40 @@ type ScheduleData struct { EndOffset int64 `json:"endOffset" example:"1439" format:"int64"` } -// ScheduleDataDay represents week day of schedule +// ScheduleDataDay represents week day of schedule. type ScheduleDataDay struct { Enabled bool `json:"enabled" example:"true"` Name string `json:"name,omitempty" example:"Mon"` } -// ScheduledNotification represent notification object +const ( + // DefaultTimezoneOffset is a default value for timezone offset for (GMT+3) used in NewDefaultScheduleData. + DefaultTimezoneOffset = -180 + // DefaultStartOffset is a default value for start offset for (GMT+3) used in NewDefaultScheduleData. + DefaultStartOffset = 0 + // DefaultEndOffset is a default value for end offset for (GMT+3) used in NewDefaultScheduleData. + DefaultEndOffset = 1439 +) + +// NewDefaultScheduleData returns the default ScheduleData which can be used in Trigger. +func NewDefaultScheduleData() *ScheduleData { + return &ScheduleData{ + Days: []ScheduleDataDay{ + {Name: "Mon", Enabled: true}, + {Name: "Tue", Enabled: true}, + {Name: "Wed", Enabled: true}, + {Name: "Thu", Enabled: true}, + {Name: "Fri", Enabled: true}, + {Name: "Sat", Enabled: true}, + {Name: "Sun", Enabled: true}, + }, + TimezoneOffset: DefaultTimezoneOffset, + StartOffset: DefaultStartOffset, + EndOffset: DefaultEndOffset, + } +} + +// ScheduledNotification represent notification object. type ScheduledNotification struct { Event NotificationEvent `json:"event"` Trigger TriggerData `json:"trigger"` @@ -242,9 +294,54 @@ type ScheduledNotification struct { Throttled bool `json:"throttled" example:"false"` SendFail int `json:"send_fail" example:"0"` Timestamp int64 `json:"timestamp" example:"1594471927" format:"int64"` + CreatedAt int64 `json:"created_at,omitempty" example:"1594471900" format:"int64"` } -// MatchedMetric represents parsed and matched metric data +type scheduledNotificationState int + +const ( + ResavedNotification scheduledNotificationState = iota + ValidNotification + RemovedNotification +) + +// Less is needed for the ScheduledNotification to match the Comparable interface. +func (notification *ScheduledNotification) Less(other Comparable) (bool, error) { + otherNotification, ok := other.(*ScheduledNotification) + if !ok { + return false, fmt.Errorf("cannot to compare ScheduledNotification with different type") + } + + return notification.Timestamp < otherNotification.Timestamp, nil +} + +// IsDelayed checks if the notification is delayed, the difference between the send time and the creation time +// is greater than the delayedTime. +func (notification *ScheduledNotification) IsDelayed(delayedTime int64) bool { + return notification.CreatedAt != 0 && notification.Timestamp-notification.CreatedAt > delayedTime +} + +/* +GetState checks: + - If the trigger for which the notification was generated has been deleted, returns Removed state. + - If the metric is on Maintenance, returns Resaved state. + - If the trigger is on Maintenance, returns Resaved state. + +Otherwise returns Valid state. +*/ +func (notification *ScheduledNotification) GetState(triggerCheck *CheckData) scheduledNotificationState { + if triggerCheck == nil { + return RemovedNotification + } + + if !triggerCheck.IsMetricOnMaintenance(notification.Event.Metric) && !triggerCheck.IsTriggerOnMaintenance() { + return ValidNotification + } + + return ResavedNotification +} + +// MatchedMetric represents parsed and matched metric data. type MatchedMetric struct { Metric string Patterns []string @@ -254,7 +351,7 @@ type MatchedMetric struct { Retention int } -// MetricValue represents metric data +// MetricValue represents metric data. type MetricValue struct { RetentionTimestamp int64 `json:"step,omitempty" format:"int64"` Timestamp int64 `json:"ts" format:"int64"` @@ -262,15 +359,15 @@ type MetricValue struct { } const ( - // FallingTrigger represents falling trigger type, in which OK > WARN > ERROR + // FallingTrigger represents falling trigger type, in which OK > WARN > ERROR. FallingTrigger = "falling" - // RisingTrigger represents rising trigger type, in which OK < WARN < ERROR + // RisingTrigger represents rising trigger type, in which OK < WARN < ERROR. RisingTrigger = "rising" - // ExpressionTrigger represents trigger type with custom user expression + // ExpressionTrigger represents trigger type with custom user expression. ExpressionTrigger = "expression" ) -// Trigger represents trigger data object +// Trigger represents trigger data object. type Trigger struct { ID string `json:"id" example:"292516ed-4924-4154-a62c-ebe312431fce"` Name string `json:"name" example:"Not enough disk space left"` @@ -287,6 +384,7 @@ type Trigger struct { PythonExpression *string `json:"python_expression,omitempty" extensions:"x-nullable"` Patterns []string `json:"patterns" example:""` TriggerSource TriggerSource `json:"trigger_source,omitempty" example:"graphite_local"` + ClusterId ClusterId `json:"cluster_id,omitempty" example:"default"` MuteNewMetrics bool `json:"mute_new_metrics" example:"false"` AloneMetrics map[string]bool `json:"alone_metrics" example:"t1:true"` CreatedAt *int64 `json:"created_at" format:"int64" extensions:"x-nullable"` @@ -295,6 +393,17 @@ type Trigger struct { UpdatedBy string `json:"updated_by"` } +const ( + // DefaultTTL is a default value for Trigger.TTL. + DefaultTTL = 600 +) + +// ClusterKey returns cluster key composed of trigger source and cluster id associated with the trigger. +func (trigger *Trigger) ClusterKey() ClusterKey { + return MakeClusterKey(trigger.TriggerSource, trigger.ClusterId) +} + +// TriggerSource is a enum which values correspond to types of moira's metric sources. type TriggerSource string var ( @@ -320,10 +429,10 @@ func (s *TriggerSource) UnmarshalJSON(data []byte) error { return nil } -// Neede for backwards compatibility with moira versions that used oly isRemote flag -func (triggerSource TriggerSource) FillInIfNotSet(isRempte bool) TriggerSource { +// Needed for backwards compatibility with moira versions that used only isRemote flag. +func (triggerSource TriggerSource) FillInIfNotSet(isRemote bool) TriggerSource { if triggerSource == TriggerSourceNotSet { - if isRempte { + if isRemote { return GraphiteRemote } else { return GraphiteLocal @@ -332,7 +441,55 @@ func (triggerSource TriggerSource) FillInIfNotSet(isRempte bool) TriggerSource { return triggerSource } -// TriggerCheck represents trigger data with last check data and check timestamp +func (triggerSource TriggerSource) String() string { + return string(triggerSource) +} + +// ClusterId represent the unique id for each cluster with the same TriggerSource. +type ClusterId string + +var ( + ClusterNotSet ClusterId = "" + DefaultCluster ClusterId = "default" +) + +// FillInIfNotSet returns new ClusterId with value set to default if it was empty. +func (clusterId ClusterId) FillInIfNotSet() ClusterId { + if clusterId == ClusterNotSet { + return DefaultCluster + } + return clusterId +} + +func (clusterId ClusterId) String() string { + return string(clusterId) +} + +// ClusterKey represents unique key of a metric source. +type ClusterKey struct { + TriggerSource TriggerSource + ClusterId ClusterId +} + +var ( + DefaultLocalCluster = MakeClusterKey(GraphiteLocal, DefaultCluster) + DefaultGraphiteRemoteCluster = MakeClusterKey(GraphiteRemote, DefaultCluster) + DefaultPrometheusRemoteCluster = MakeClusterKey(PrometheusRemote, DefaultCluster) +) + +// MakeClusterKey creates new cluster key with given trigger source and cluster id. +func MakeClusterKey(triggerSource TriggerSource, clusterId ClusterId) ClusterKey { + return ClusterKey{ + TriggerSource: triggerSource, + ClusterId: clusterId, + } +} + +func (clusterKey ClusterKey) String() string { + return fmt.Sprintf("%s.%s", clusterKey.TriggerSource, clusterKey.ClusterId) +} + +// TriggerCheck represents trigger data with last check data and check timestamp. type TriggerCheck struct { Trigger Throttling int64 `json:"throttling" example:"0" format:"int64"` @@ -340,7 +497,7 @@ type TriggerCheck struct { Highlights map[string]string `json:"highlights"` } -// SearchOptions represents the options that can be selected when searching triggers +// SearchOptions represents the options that can be selected when searching triggers. type SearchOptions struct { Page int64 Size int64 @@ -353,29 +510,41 @@ type SearchOptions struct { PagerID string } -// MaintenanceCheck set maintenance user, time +// MaintenanceCheck set maintenance user, time. type MaintenanceCheck interface { SetMaintenance(maintenanceInfo *MaintenanceInfo, maintenance int64) GetMaintenance() (MaintenanceInfo, int64) } -// CheckData represents last trigger check data +// CheckData represents last trigger check data. type CheckData struct { Metrics map[string]MetricState `json:"metrics"` // MetricsToTargetRelation is a map that holds relation between metric names that was alone during last // check and targets that fetched this metric // {"t1": "metric.name.1", "t2": "metric.name.2"} - MetricsToTargetRelation map[string]string `json:"metrics_to_target_relation" example:"t1:metric.name.1,t2:metric.name.2"` - Score int64 `json:"score" example:"100" format:"int64"` - State State `json:"state" example:"OK"` - Maintenance int64 `json:"maintenance,omitempty" example:"0" format:"int64"` - MaintenanceInfo MaintenanceInfo `json:"maintenance_info"` - Timestamp int64 `json:"timestamp,omitempty" example:"1590741916" format:"int64"` - EventTimestamp int64 `json:"event_timestamp,omitempty" example:"1590741878" format:"int64"` - LastSuccessfulCheckTimestamp int64 `json:"last_successful_check_timestamp" example:"1590741916" format:"int64"` - Suppressed bool `json:"suppressed,omitempty" example:"true"` - SuppressedState State `json:"suppressed_state,omitempty"` - Message string `json:"msg,omitempty"` + MetricsToTargetRelation map[string]string `json:"metrics_to_target_relation" example:"t1:metric.name.1,t2:metric.name.2"` + Score int64 `json:"score" example:"100" format:"int64"` + State State `json:"state" example:"OK"` + Maintenance int64 `json:"maintenance,omitempty" example:"0" format:"int64"` + MaintenanceInfo MaintenanceInfo `json:"maintenance_info"` + // Timestamp - time, which means when the checker last checked this trigger, this value stops updating if the trigger does not receive metrics + Timestamp int64 `json:"timestamp,omitempty" example:"1590741916" format:"int64"` + EventTimestamp int64 `json:"event_timestamp,omitempty" example:"1590741878" format:"int64"` + // LastSuccessfulCheckTimestamp - time of the last check of the trigger, during which there were no errors + LastSuccessfulCheckTimestamp int64 `json:"last_successful_check_timestamp" example:"1590741916" format:"int64"` + Suppressed bool `json:"suppressed,omitempty" example:"true"` + SuppressedState State `json:"suppressed_state,omitempty"` + Message string `json:"msg,omitempty"` +} + +// Need to not show the user metrics that should have been deleted due to ttlState = Del, +// but remained in the database because their Maintenance did not expire. +func (checkData *CheckData) RemoveDeadMetrics() { + for metricName, metricState := range checkData.Metrics { + if metricState.DeletedButKept { + delete(checkData.Metrics, metricName) + } + } } // RemoveMetricState is a function that removes MetricState from map of states. @@ -388,7 +557,26 @@ func (checkData *CheckData) RemoveMetricsToTargetRelation() { checkData.MetricsToTargetRelation = make(map[string]string) } -// MetricState represents metric state data for given timestamp +// IsTriggerOnMaintenance checks if the trigger is on Maintenance. +func (checkData *CheckData) IsTriggerOnMaintenance() bool { + return time.Now().Unix() <= checkData.Maintenance +} + +// IsMetricOnMaintenance checks if the metric of the given trigger is on Maintenance. +func (checkData *CheckData) IsMetricOnMaintenance(metric string) bool { + if checkData.Metrics == nil { + return false + } + + metricState, ok := checkData.Metrics[metric] + if !ok { + return false + } + + return time.Now().Unix() <= metricState.Maintenance +} + +// MetricState represents metric state data for given timestamp. type MetricState struct { EventTimestamp int64 `json:"event_timestamp" example:"1590741878" format:"int64"` State State `json:"state" example:"OK"` @@ -405,18 +593,18 @@ type MetricState struct { // AloneMetrics map[string]string `json:"alone_metrics"` // represents a relation between name of alone metrics and their targets } -// SetMaintenance set maintenance user, time for MetricState +// SetMaintenance set maintenance user, time for MetricState. func (metricState *MetricState) SetMaintenance(maintenanceInfo *MaintenanceInfo, maintenance int64) { metricState.MaintenanceInfo = *maintenanceInfo metricState.Maintenance = maintenance } -// GetMaintenance return metricState MaintenanceInfo +// GetMaintenance return metricState MaintenanceInfo. func (metricState *MetricState) GetMaintenance() (MaintenanceInfo, int64) { return metricState.MaintenanceInfo, metricState.Maintenance } -// MaintenanceInfo represents user and time set/unset maintenance +// MaintenanceInfo represents user and time set/unset maintenance. type MaintenanceInfo struct { StartUser *string `json:"setup_user" extensions:"x-nullable"` StartTime *int64 `json:"setup_time" example:"0" format:"int64" extensions:"x-nullable"` @@ -424,7 +612,7 @@ type MaintenanceInfo struct { StopTime *int64 `json:"remove_time" example:"0" format:"int64" extensions:"x-nullable"` } -// Set maintanace start and stop users and times +// Set maintanace start and stop users and times. func (maintenanceInfo *MaintenanceInfo) Set(startUser *string, startTime *int64, stopUser *string, stopTime *int64) { maintenanceInfo.StartUser = startUser maintenanceInfo.StartTime = startTime @@ -432,31 +620,31 @@ func (maintenanceInfo *MaintenanceInfo) Set(startUser *string, startTime *int64, maintenanceInfo.StopTime = stopTime } -// MetricEvent represents filter metric event +// MetricEvent represents filter metric event. type MetricEvent struct { Metric string `json:"metric"` Pattern string `json:"pattern"` } -// SubscribeMetricEventsParams represents params of subscription +// SubscribeMetricEventsParams represents params of subscription. type SubscribeMetricEventsParams struct { BatchSize int64 Delay time.Duration } -// SearchHighlight represents highlight +// SearchHighlight represents highlight. type SearchHighlight struct { Field string Value string } -// SearchResult represents fulltext search result +// SearchResult represents fulltext search result. type SearchResult struct { ObjectID string Highlights []SearchHighlight } -// GetSubjectState returns the most critical state of events +// GetSubjectState returns the most critical state of events. func (events NotificationEvents) getSubjectState() State { result := StateOK states := make(map[State]bool) @@ -471,7 +659,7 @@ func (events NotificationEvents) getSubjectState() State { return result } -// GetLastState returns the last state of events +// GetLastState returns the last state of events. func (events NotificationEvents) getLastState() State { if len(events) != 0 { return events[len(events)-1].State @@ -479,7 +667,7 @@ func (events NotificationEvents) getLastState() State { return StateNODATA } -// Returns the current state depending on the throttled parameter +// Returns the current state depending on the throttled parameter. func (events NotificationEvents) GetCurrentState(throttled bool) State { if throttled { return events.getLastState() @@ -487,16 +675,7 @@ func (events NotificationEvents) GetCurrentState(throttled bool) State { return events.getSubjectState() } -// GetTags returns "[tag1][tag2]...[tagN]" string -func (trigger *TriggerData) GetTags() string { - var buffer bytes.Buffer - for _, tag := range trigger.Tags { - buffer.WriteString(fmt.Sprintf("[%s]", tag)) - } - return buffer.String() -} - -// GetKey return notification key to prevent duplication to the same contact +// GetKey return notification key to prevent duplication to the same contact. func (notification *ScheduledNotification) GetKey() string { return fmt.Sprintf("%s:%s:%s:%s:%s:%d:%s:%d:%t:%d", notification.Contact.Type, @@ -512,7 +691,7 @@ func (notification *ScheduledNotification) GetKey() string { ) } -// IsScheduleAllows check if the time is in the allowed schedule interval +// IsScheduleAllows check if the time is in the allowed schedule interval. func (schedule *ScheduleData) IsScheduleAllows(ts int64) bool { if schedule == nil { return true @@ -546,7 +725,7 @@ func (event NotificationEvent) String() string { return fmt.Sprintf("TriggerId: %s, Metric: %s, Values: %s, OldState: %s, State: %s, Message: '%s', Timestamp: %v", event.TriggerID, event.Metric, event.GetMetricsValues(DefaultNotificationSettings), event.OldState, event.State, event.CreateMessage(nil), event.Timestamp) } -// GetMetricsValues gets event metric value and format it to human readable presentation +// GetMetricsValues gets event metric value and format it to human readable presentation. func (event NotificationEvent) GetMetricsValues(settings NotificationEventSettings) string { targetNames := make([]string, 0, len(event.Values)) for targetName := range event.Values { @@ -591,7 +770,7 @@ func (event NotificationEvent) GetMetricsValues(settings NotificationEventSettin return builder.String() } -// FormatTimestamp gets event timestamp and format it using given location to human readable presentation +// FormatTimestamp gets event timestamp and format it using given location to human readable presentation. func (event NotificationEvent) FormatTimestamp(location *time.Location, timeFormat string) string { timestamp := time.Unix(event.Timestamp, 0).In(location) formattedTime := timestamp.Format(timeFormat) @@ -600,7 +779,7 @@ func (event NotificationEvent) FormatTimestamp(location *time.Location, timeForm return formattedTime + " (GMT" + offset + ")" } -// GetOrCreateMetricState gets metric state from check data or create new if CheckData has no state for given metric +// GetOrCreateMetricState gets metric state from check data or create new if CheckData has no state for given metric. func (checkData *CheckData) GetOrCreateMetricState(metric string, emptyTimestampValue int64, muteNewMetric bool) MetricState { _, ok := checkData.Metrics[metric] if !ok { @@ -609,13 +788,13 @@ func (checkData *CheckData) GetOrCreateMetricState(metric string, emptyTimestamp return checkData.Metrics[metric] } -// SetMaintenance set maintenance user, time for CheckData +// SetMaintenance set maintenance user, time for CheckData. func (checkData *CheckData) SetMaintenance(maintenanceInfo *MaintenanceInfo, maintenance int64) { checkData.MaintenanceInfo = *maintenanceInfo checkData.Maintenance = maintenance } -// GetMaintenance return metricState MaintenanceInfo +// GetMaintenance return metricState MaintenanceInfo. func (checkData *CheckData) GetMaintenance() (MaintenanceInfo, int64) { return checkData.MaintenanceInfo, checkData.Maintenance } @@ -637,13 +816,13 @@ func createEmptyMetricState(defaultTimestampValue int64, firstStateIsNodata bool } } -// GetCheckPoint gets check point for given MetricState -// CheckPoint is the timestamp from which to start checking the current state of the metric +// GetCheckPoint gets check point for given MetricState. +// CheckPoint is the timestamp from which to start checking the current state of the metric. func (metricState *MetricState) GetCheckPoint(checkPointGap int64) int64 { return int64(math.Max(float64(metricState.Timestamp-checkPointGap), float64(metricState.EventTimestamp))) } -// GetEventTimestamp gets event timestamp for given metric +// GetEventTimestamp gets event timestamp for given metric. func (metricState MetricState) GetEventTimestamp() int64 { if metricState.EventTimestamp == 0 { return metricState.Timestamp @@ -651,7 +830,7 @@ func (metricState MetricState) GetEventTimestamp() int64 { return metricState.EventTimestamp } -// GetEventTimestamp gets event timestamp for given check +// GetEventTimestamp gets event timestamp for given check. func (checkData CheckData) GetEventTimestamp() int64 { if checkData.EventTimestamp == 0 { return checkData.Timestamp @@ -659,9 +838,9 @@ func (checkData CheckData) GetEventTimestamp() int64 { return checkData.EventTimestamp } -// IsSimple checks triggers patterns +// IsSimple checks triggers patterns. // If patterns more than one or it contains standard graphite wildcard symbols, -// when this target can contain more then one metrics, and is it not simple trigger +// when this target can contain more then one metrics, and is it not simple trigger. func (trigger *Trigger) IsSimple() bool { if len(trigger.Targets) > 1 || len(trigger.Patterns) > 1 { return false @@ -674,7 +853,7 @@ func (trigger *Trigger) IsSimple() bool { return true } -// UpdateScore update and return checkData score, based on metric states and checkData state +// UpdateScore update and return checkData score, based on metric states and checkData state. func (checkData *CheckData) UpdateScore() int64 { checkData.Score = stateScores[checkData.State] for _, metricData := range checkData.Metrics { @@ -683,7 +862,7 @@ func (checkData *CheckData) UpdateScore() int64 { return checkData.Score } -// MustIgnore returns true if given state transition must be ignored +// MustIgnore returns true if given state transition must be ignored. func (subscription *SubscriptionData) MustIgnore(eventData *NotificationEvent) bool { if oldStateWeight, ok := eventStateWeight[eventData.OldState]; ok { if newStateWeight, ok := eventStateWeight[eventData.State]; ok { @@ -702,12 +881,12 @@ func (subscription *SubscriptionData) MustIgnore(eventData *NotificationEvent) b return false } -// isAnonymous checks if user is Anonymous or empty +// isAnonymous checks if user is Anonymous or empty. func isAnonymous(user string) bool { return user == "anonymous" || user == "" } -// SetMaintenanceUserAndTime set startuser and starttime or stopuser and stoptime for MaintenanceInfo +// SetMaintenanceUserAndTime set startuser and starttime or stopuser and stoptime for MaintenanceInfo. func SetMaintenanceUserAndTime(maintenanceCheck MaintenanceCheck, maintenance int64, user string, callMaintenance int64) { maintenanceInfo, _ := maintenanceCheck.GetMaintenance() if maintenance < callMaintenance { @@ -728,3 +907,14 @@ func SetMaintenanceUserAndTime(maintenanceCheck MaintenanceCheck, maintenance in } maintenanceCheck.SetMaintenance(&maintenanceInfo, maintenance) } + +// SchedulerParams is the parameters for notifier.Scheduler essential for scheduling notification. +type SchedulerParams struct { + Event NotificationEvent + Trigger TriggerData + Contact ContactData + Plotting PlottingData + ThrottledOld bool + // SendFail is amount of failed send attempts + SendFail int +} diff --git a/datatypes_test.go b/datatypes_test.go index 0294e92ea..6f03438c7 100644 --- a/datatypes_test.go +++ b/datatypes_test.go @@ -178,6 +178,7 @@ func TestNotificationEvent_CreateMessage(t *testing.T) { }) }) } + func TestNotificationEvent_getSubjectState(t *testing.T) { Convey("Get ERROR state", t, func() { states := NotificationEvents{{State: StateOK, Values: map[string]float64{"t1": 0}}, {State: StateERROR, Values: map[string]float64{"t1": 1}}} @@ -296,6 +297,53 @@ func TestScheduledNotification_GetKey(t *testing.T) { }) } +func TestScheduledNotification_GetState(t *testing.T) { + Convey("Test get state of scheduled notifications", t, func() { + notification := ScheduledNotification{ + Event: NotificationEvent{ + Metric: "test", + }, + } + + Convey("Get Removed state with nil check data", func() { + state := notification.GetState(nil) + So(state, ShouldEqual, RemovedNotification) + }) + + Convey("Get Resaved state with metric on maintenance", func() { + state := notification.GetState(&CheckData{ + Metrics: map[string]MetricState{ + "test": { + Maintenance: time.Now().Add(time.Hour).Unix(), + }, + }, + }) + So(state, ShouldEqual, ResavedNotification) + }) + + Convey("Get Resaved state with trigger on maintenance", func() { + state := notification.GetState(&CheckData{ + Maintenance: time.Now().Add(time.Hour).Unix(), + }) + So(state, ShouldEqual, ResavedNotification) + }) + + Convey("Get Valid state with trigger without metrics", func() { + state := notification.GetState(&CheckData{}) + So(state, ShouldEqual, ValidNotification) + }) + + Convey("Get Valid state with trigger with test metric", func() { + state := notification.GetState(&CheckData{ + Metrics: map[string]MetricState{ + "test": {}, + }, + }) + So(state, ShouldEqual, ValidNotification) + }) + }) +} + func TestCheckData_GetOrCreateMetricState(t *testing.T) { Convey("Test no metric", t, func() { checkData := CheckData{ @@ -320,6 +368,76 @@ func TestCheckData_GetOrCreateMetricState(t *testing.T) { }) } +func TestCheckData_RemoveDeadMetrics(t *testing.T) { + Convey("Test RemoveDeadMetrics", t, func() { + Convey("Test with nil map of metrics", func() { + checkData := CheckData{ + Metrics: nil, + } + checkData.RemoveDeadMetrics() + + var expected map[string]MetricState + So(checkData.Metrics, ShouldResemble, expected) + }) + + Convey("Test with empty map of metrics", func() { + checkData := CheckData{ + Metrics: map[string]MetricState{}, + } + checkData.RemoveDeadMetrics() + + So(checkData.Metrics, ShouldResemble, map[string]MetricState{}) + }) + + Convey("Test with all alive metrics", func() { + checkData := CheckData{ + Metrics: map[string]MetricState{ + "test1": {}, + "test2": {}, + }, + } + checkData.RemoveDeadMetrics() + + So(checkData.Metrics, ShouldResemble, map[string]MetricState{ + "test1": {}, + "test2": {}, + }) + }) + + Convey("Test with all dead metrics", func() { + checkData := CheckData{ + Metrics: map[string]MetricState{ + "test1": { + DeletedButKept: true, + }, + "test2": { + DeletedButKept: true, + }, + }, + } + checkData.RemoveDeadMetrics() + + So(checkData.Metrics, ShouldResemble, map[string]MetricState{}) + }) + + Convey("Test with alive and dead metrics", func() { + checkData := CheckData{ + Metrics: map[string]MetricState{ + "test1": { + DeletedButKept: true, + }, + "test2": {}, + }, + } + checkData.RemoveDeadMetrics() + + So(checkData.Metrics, ShouldResemble, map[string]MetricState{ + "test2": {}, + }) + }) + }) +} + func TestMetricState_GetCheckPoint(t *testing.T) { Convey("Get check point", t, func() { metricState := MetricState{Timestamp: 800, EventTimestamp: 700} @@ -373,6 +491,86 @@ func TestTrigger_IsSimple(t *testing.T) { }) } +func TestCheckData_IsTriggerOnMaintenance(t *testing.T) { + Convey("IsTriggerOnMaintenance manipulations", t, func() { + checkData := &CheckData{ + Maintenance: time.Now().Add(time.Hour).Unix(), + } + + Convey("Test with trigger check Maintenance more than time now", func() { + actual := checkData.IsTriggerOnMaintenance() + So(actual, ShouldBeTrue) + }) + + Convey("Test with trigger check Maintenance less than time now", func() { + checkData.Maintenance = time.Now().Add(-time.Hour).Unix() + defer func() { + checkData.Maintenance = time.Now().Add(time.Hour).Unix() + }() + + actual := checkData.IsTriggerOnMaintenance() + So(actual, ShouldBeFalse) + }) + }) +} + +func TestCheckData_IsMetricOnMaintenance(t *testing.T) { + Convey("isMetricOnMaintenance manipulations", t, func() { + checkData := &CheckData{ + Metrics: map[string]MetricState{ + "test1": { + Maintenance: time.Now().Add(time.Hour).Unix(), + }, + "test2": {}, + }, + } + + Convey("Test with a metric that is not in the trigger", func() { + actual := checkData.IsMetricOnMaintenance("") + So(actual, ShouldBeFalse) + }) + + Convey("Test with metrics that are in the trigger but not on maintenance", func() { + actual := checkData.IsMetricOnMaintenance("test2") + So(actual, ShouldBeFalse) + }) + + Convey("Test with metrics that are in the trigger and on maintenance", func() { + actual := checkData.IsMetricOnMaintenance("test1") + So(actual, ShouldBeTrue) + }) + + Convey("Test with the metric that is in the trigger, but the time now is more than Maintenance", func() { + metric := checkData.Metrics["test1"] + metric.Maintenance = time.Now().Add(-time.Hour).Unix() + checkData.Metrics["test1"] = metric + defer func() { + metric := checkData.Metrics["test1"] + metric.Maintenance = time.Now().Add(time.Hour).Unix() + checkData.Metrics["test1"] = metric + }() + + actual := checkData.IsMetricOnMaintenance("test1") + So(actual, ShouldBeFalse) + }) + + Convey("Test with trigger without metrics", func() { + checkData.Metrics = make(map[string]MetricState) + defer func() { + checkData.Metrics = map[string]MetricState{ + "test1": { + Maintenance: time.Now().Add(time.Hour).Unix(), + }, + "test2": {}, + } + }() + + actual := checkData.IsMetricOnMaintenance("test1") + So(actual, ShouldBeFalse) + }) + }) +} + func TestCheckData_GetEventTimestamp(t *testing.T) { Convey("Get event timestamp", t, func() { checkData := CheckData{Timestamp: 800, EventTimestamp: 0} @@ -562,6 +760,7 @@ func TestSubscriptionData_MustIgnore(testing *testing.T) { } }) } + func TestBuildTriggerURL(t *testing.T) { Convey("Sender has no moira uri", t, func() { url := TriggerData{ID: "SomeID"}.GetTriggerURI("") @@ -713,7 +912,7 @@ func testStopMaintenance(message string, actualInfo MaintenanceInfo, user string func testMaintenance(conveyMessage string, actualInfo MaintenanceInfo, maintenance int64, user string, expectedInfo MaintenanceInfo) { Convey(conveyMessage, func() { - var lastCheckTest = CheckData{ + lastCheckTest := CheckData{ Maintenance: 1000, } lastCheckTest.MaintenanceInfo = actualInfo @@ -724,3 +923,58 @@ func testMaintenance(conveyMessage string, actualInfo MaintenanceInfo, maintenan So(lastCheckTest.Maintenance, ShouldEqual, maintenance) }) } + +func TestScheduledNotificationLess(t *testing.T) { + Convey("Test Scheduled notification Less function", t, func() { + notification := &ScheduledNotification{ + Timestamp: 5, + } + + Convey("Test Less with nil", func() { + actual, err := notification.Less(nil) + So(err, ShouldResemble, fmt.Errorf("cannot to compare ScheduledNotification with different type")) + So(actual, ShouldBeFalse) + }) + + Convey("Test Less with less notification :)", func() { + actual, err := notification.Less(&ScheduledNotification{Timestamp: 1}) + So(err, ShouldBeNil) + So(actual, ShouldBeFalse) + }) + + Convey("Test Less with greater notification", func() { + actual, err := notification.Less(&ScheduledNotification{Timestamp: 10}) + So(err, ShouldBeNil) + So(actual, ShouldBeTrue) + }) + }) +} + +func TestScheduledNotificationIsDelayed(t *testing.T) { + Convey("Test Scheduled notification IsDelayed function", t, func() { + notification := &ScheduledNotification{ + Timestamp: 5, + } + + var delayedTime int64 = 2 + + Convey("Test notification with empty created at field", func() { + actual := notification.IsDelayed(delayedTime) + So(actual, ShouldBeFalse) + }) + + notification.CreatedAt = 1 + + Convey("Test notification which is to be defined as delayed", func() { + actual := notification.IsDelayed(delayedTime) + So(actual, ShouldBeTrue) + }) + + notification.CreatedAt = 4 + + Convey("Test notification which is to be defined as not delayed", func() { + actual := notification.IsDelayed(delayedTime) + So(actual, ShouldBeFalse) + }) + }) +} diff --git a/docker-compose.yml b/docker-compose.yml index f8b54a9f8..488244e01 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -24,6 +24,15 @@ services: - "9080:9090" restart: always + prometheus_2: + image: prom/prometheus + volumes: + - ./local/prometheus.yml:/etc/prometheus/prometheus.yml + command: "--config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/prometheus" + ports: + - "9081:9090" + restart: always + filter: build: context: . diff --git a/docs/docs.go b/docs/docs.go index a8f0f0241..feda6695a 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -1,3 +1,3 @@ // Will be generated in `Dockerfile.api` by the `make spec` command for swagger docs. DO NOT EDIT. -package docs \ No newline at end of file +package docs diff --git a/expression/expression.go b/expression/expression.go index 690a4c486..c60e9f797 100644 --- a/expression/expression.go +++ b/expression/expression.go @@ -10,16 +10,18 @@ import ( "github.com/moira-alert/moira" ) -var exprWarnErrorRising, _ = govaluate.NewEvaluableExpression("t1 >= ERROR_VALUE ? ERROR : (t1 >= WARN_VALUE ? WARN : OK)") -var exprWarnErrorFalling, _ = govaluate.NewEvaluableExpression("t1 <= ERROR_VALUE ? ERROR : (t1 <= WARN_VALUE ? WARN : OK)") -var exprWarnRising, _ = govaluate.NewEvaluableExpression("t1 >= WARN_VALUE ? WARN : OK") -var exprErrRising, _ = govaluate.NewEvaluableExpression("t1 >= ERROR_VALUE ? ERROR : OK") -var exprWarnFalling, _ = govaluate.NewEvaluableExpression("t1 <= WARN_VALUE ? WARN : OK") -var exprErrFalling, _ = govaluate.NewEvaluableExpression("t1 <= ERROR_VALUE ? ERROR : OK") +var ( + exprWarnErrorRising, _ = govaluate.NewEvaluableExpression("t1 >= ERROR_VALUE ? ERROR : (t1 >= WARN_VALUE ? WARN : OK)") + exprWarnErrorFalling, _ = govaluate.NewEvaluableExpression("t1 <= ERROR_VALUE ? ERROR : (t1 <= WARN_VALUE ? WARN : OK)") + exprWarnRising, _ = govaluate.NewEvaluableExpression("t1 >= WARN_VALUE ? WARN : OK") + exprErrRising, _ = govaluate.NewEvaluableExpression("t1 >= ERROR_VALUE ? ERROR : OK") + exprWarnFalling, _ = govaluate.NewEvaluableExpression("t1 <= WARN_VALUE ? WARN : OK") + exprErrFalling, _ = govaluate.NewEvaluableExpression("t1 <= ERROR_VALUE ? ERROR : OK") +) var exprCache = cache.New(cache.NoExpiration, cache.NoExpiration) -// ErrInvalidExpression represents bad expression or its state error +// ErrInvalidExpression represents bad expression or its state error. type ErrInvalidExpression struct { internalError error } @@ -28,7 +30,7 @@ func (err ErrInvalidExpression) Error() string { return err.internalError.Error() } -// TriggerExpression represents trigger expression handler parameters, what can be used for trigger expression handling +// TriggerExpression represents trigger expression handler parameters, what can be used for trigger expression handling. type TriggerExpression struct { Expression *string @@ -41,7 +43,7 @@ type TriggerExpression struct { PreviousState moira.State } -// Get realizing govaluate.Parameters interface used in evaluable expression +// Get realizing govaluate.Parameters interface used in evaluable expression. func (triggerExpression TriggerExpression) Get(name string) (interface{}, error) { name = strings.ToLower(name) @@ -77,7 +79,7 @@ func (triggerExpression TriggerExpression) Get(name string) (interface{}, error) } } -// Evaluate gets trigger expression and evaluates it for given parameters using govaluate +// Evaluate gets trigger expression and evaluates it for given parameters using govaluate. func (triggerExpression *TriggerExpression) Evaluate() (moira.State, error) { expr, err := getExpression(triggerExpression) if err != nil { @@ -124,6 +126,7 @@ func getSimpleExpression(triggerExpression *TriggerExpression) (*govaluate.Evalu if triggerExpression.ErrorValue == nil && triggerExpression.WarnValue == nil { return nil, fmt.Errorf("error value and warning value can not be empty") } + switch triggerExpression.TriggerType { case "": return nil, fmt.Errorf("trigger_type is not set") @@ -143,9 +146,10 @@ func getSimpleExpression(triggerExpression *TriggerExpression) (*govaluate.Evalu } else { return exprWarnRising, nil } + default: + return nil, fmt.Errorf("wrong set of parametres: warn_value - %v, error_value - %v, trigger_type: %v", + triggerExpression.WarnValue, triggerExpression.ErrorValue, triggerExpression.TriggerType) } - return nil, fmt.Errorf("wrong set of parametres: warn_value - %v, error_value - %v, trigger_type: %v", - triggerExpression.WarnValue, triggerExpression.ErrorValue, triggerExpression.TriggerType) } func getUserExpression(triggerExpression string) (*govaluate.EvaluableExpression, error) { diff --git a/filter/cache_storage.go b/filter/cache_storage.go index de92a235e..1b945798d 100644 --- a/filter/cache_storage.go +++ b/filter/cache_storage.go @@ -24,7 +24,7 @@ type retentionCacheItem struct { timestamp int64 } -// Storage struct to store retention matchers +// Storage struct to store retention matchers. type Storage struct { metrics *metrics.FilterMetrics retentions []retentionMatcher @@ -33,7 +33,7 @@ type Storage struct { logger moira.Logger } -// NewCacheStorage create new Storage +// NewCacheStorage create new Storage. func NewCacheStorage(logger moira.Logger, metrics *metrics.FilterMetrics, reader io.Reader) (*Storage, error) { storage := &Storage{ retentionsCache: make(map[string]*retentionCacheItem), @@ -45,10 +45,11 @@ func NewCacheStorage(logger moira.Logger, metrics *metrics.FilterMetrics, reader if err := storage.buildRetentions(bufio.NewScanner(reader)); err != nil { return nil, err } + return storage, nil } -// EnrichMatchedMetric calculate retention and filter cached values +// EnrichMatchedMetric calculate retention and filter cached values. func (storage *Storage) EnrichMatchedMetric(batch map[string]*moira.MatchedMetric, m *moira.MatchedMetric) { m.Retention = storage.getRetention(m) m.RetentionTimestamp = moira.RoundToNearestRetention(m.Timestamp, int64(m.Retention)) @@ -59,11 +60,12 @@ func (storage *Storage) EnrichMatchedMetric(batch map[string]*moira.MatchedMetri batch[m.Metric] = m } -// getRetention returns first matched retention for metric +// getRetention returns first matched retention for metric. func (storage *Storage) getRetention(m *moira.MatchedMetric) int { if item, ok := storage.retentionsCache[m.Metric]; ok && item.timestamp+60 > m.Timestamp { return item.value } + for _, matcher := range storage.retentions { if matcher.pattern.MatchString(m.Metric) { storage.retentionsCache[m.Metric] = &retentionCacheItem{ @@ -73,6 +75,7 @@ func (storage *Storage) getRetention(m *moira.MatchedMetric) int { return matcher.retention } } + return defaultRetention } diff --git a/filter/compatibility.go b/filter/compatibility.go index d295a1a3f..d81994809 100644 --- a/filter/compatibility.go +++ b/filter/compatibility.go @@ -1,6 +1,6 @@ package filter -// See cmd/filter/compatibility for usage examples +// See cmd/filter/compatibility for usage examples. type Compatibility struct { AllowRegexLooseStartMatch bool AllowRegexMatchEmpty bool diff --git a/filter/connection/handler.go b/filter/connection/handler.go index 0ae07c1fc..2b32d9d3a 100644 --- a/filter/connection/handler.go +++ b/filter/connection/handler.go @@ -9,14 +9,14 @@ import ( "github.com/moira-alert/moira" ) -// Handler handling connection data and shift it to lineChan channel +// Handler handling connection data and shift it to lineChan channel. type Handler struct { logger moira.Logger wg sync.WaitGroup terminate chan struct{} } -// NewConnectionsHandler creates new Handler +// NewConnectionsHandler creates new Handler. func NewConnectionsHandler(logger moira.Logger) *Handler { return &Handler{ logger: logger, @@ -24,7 +24,7 @@ func NewConnectionsHandler(logger moira.Logger) *Handler { } } -// HandleConnection convert every line from connection to metric and send it to lineChan channel +// HandleConnection convert every line from connection to metric and send it to lineChan channel. func (handler *Handler) HandleConnection(connection net.Conn, lineChan chan<- []byte) { handler.wg.Add(1) go func() { @@ -63,7 +63,7 @@ func (handler *Handler) handle(connection net.Conn, lineChan chan<- []byte) { } } -// StopHandlingConnections closes all open connections and wait for handling remaining metrics +// StopHandlingConnections closes all open connections and wait for handling remaining metrics. func (handler *Handler) StopHandlingConnections() { close(handler.terminate) handler.wg.Wait() diff --git a/filter/connection/listening.go b/filter/connection/listening.go index b82946b4e..ae246a6c3 100644 --- a/filter/connection/listening.go +++ b/filter/connection/listening.go @@ -1,6 +1,7 @@ package connection import ( + "errors" "fmt" "net" "time" @@ -11,7 +12,7 @@ import ( "github.com/moira-alert/moira/metrics" ) -// MetricsListener is facade for standard net.MetricsListener and accept connection for handling it +// MetricsListener is facade for standard net.MetricsListener and accept connection for handling it. type MetricsListener struct { listener *net.TCPListener handler *Handler @@ -20,27 +21,30 @@ type MetricsListener struct { metrics *metrics.FilterMetrics } -// NewListener creates new listener +// NewListener creates new listener. func NewListener(port string, logger moira.Logger, metrics *metrics.FilterMetrics) (*MetricsListener, error) { address, err := net.ResolveTCPAddr("tcp", port) if nil != err { - return nil, fmt.Errorf("failed to resolve tcp address [%s]: %s", port, err.Error()) + return nil, fmt.Errorf("failed to resolve tcp address [%s]: %w", port, err) } + newListener, err := net.ListenTCP("tcp", address) if err != nil { - return nil, fmt.Errorf("failed to listen on [%s]: %s", port, err.Error()) + return nil, fmt.Errorf("failed to listen on [%s]: %w", port, err) } + listener := MetricsListener{ listener: newListener, logger: logger, handler: NewConnectionsHandler(logger), metrics: metrics, } + return &listener, nil } -// Listen waits for new data in connection and handles it in ConnectionHandler -// All handled data sets to lineChan +// Listen waits for new data in connection and handles it in ConnectionHandler. +// All handled data sets to lineChan. func (listener *MetricsListener) Listen() chan []byte { lineChan := make(chan []byte, 16384) //nolint listener.tomb.Go(func() error { @@ -57,26 +61,31 @@ func (listener *MetricsListener) Listen() chan []byte { } default: } + listener.listener.SetDeadline(time.Now().Add(1e9)) //nolint conn, err := listener.listener.Accept() if nil != err { - if opErr, ok := err.(*net.OpError); ok && opErr.Timeout() { + var opErr *net.OpError + if ok := errors.As(err, &opErr); ok && opErr.Timeout() { continue } - listener.logger.Info(). + listener.logger.Error(). Error(err). Msg("Failed to accept connection") continue } + listener.logger.Info(). String("remote_address", conn.RemoteAddr().String()). - Msg("Someone connected") + Msg("Successfully connected") listener.handler.HandleConnection(conn, lineChan) } }) + listener.tomb.Go(func() error { return listener.checkNewLinesChannelLen(lineChan) }) listener.logger.Info().Msg("Moira Filter Listener Started") + return lineChan } @@ -92,7 +101,7 @@ func (listener *MetricsListener) checkNewLinesChannelLen(channel <-chan []byte) } } -// Stop stops listening connection +// Stop stops listening connection. func (listener *MetricsListener) Stop() error { listener.tomb.Kill(nil) return listener.tomb.Wait() diff --git a/filter/heartbeat/worker.go b/filter/heartbeat/worker.go index 55f0bf159..b1332c19f 100644 --- a/filter/heartbeat/worker.go +++ b/filter/heartbeat/worker.go @@ -9,7 +9,7 @@ import ( "github.com/moira-alert/moira/metrics" ) -// Worker is heartbeat worker realization +// Worker is heartbeat worker realization. type Worker struct { database moira.Database metrics *metrics.FilterMetrics @@ -17,7 +17,7 @@ type Worker struct { tomb tomb.Tomb } -// NewHeartbeatWorker creates new worker +// NewHeartbeatWorker creates new worker. func NewHeartbeatWorker(database moira.Database, metrics *metrics.FilterMetrics, logger moira.Logger) *Worker { return &Worker{ database: database, @@ -26,7 +26,7 @@ func NewHeartbeatWorker(database moira.Database, metrics *metrics.FilterMetrics, } } -// Start every 5 second takes TotalMetricsReceived metrics and save it to database, for self-checking +// Start every 5 second takes TotalMetricsReceived metrics and save it to database, for self-checking. func (worker *Worker) Start() { worker.tomb.Go(func() error { count := worker.metrics.TotalMetricsReceived.Count() @@ -39,26 +39,27 @@ func (worker *Worker) Start() { case <-checkTicker.C: newCount := worker.metrics.TotalMetricsReceived.Count() if newCount != count { - worker.logger.Debug(). - Int64("from", count). - Int64("to", newCount). - Msg("Heartbeat was updated") - if err := worker.database.UpdateMetricsHeartbeat(); err != nil { - worker.logger.Info(). + worker.logger.Error(). Error(err). - Msg("Save state failed") + Msg("Update metrics heartbeat failed") } else { + worker.logger.Debug(). + Int64("from", count). + Int64("to", newCount). + Msg("Heartbeat was updated") + count = newCount } } } } }) + worker.logger.Info().Msg("Moira Filter Heartbeat started") } -// Stop heartbeat worker +// Stop heartbeat worker. func (worker *Worker) Stop() error { worker.tomb.Kill(nil) return worker.tomb.Wait() diff --git a/filter/matched_metrics/metrics.go b/filter/matched_metrics/metrics.go index 67012aeb3..5de457ba6 100644 --- a/filter/matched_metrics/metrics.go +++ b/filter/matched_metrics/metrics.go @@ -10,37 +10,40 @@ import ( "github.com/moira-alert/moira/metrics" ) -// MetricsMatcher make buffer of metrics and save it +// MetricsMatcher make buffer of metrics and save it. type MetricsMatcher struct { - logger moira.Logger - metrics *metrics.FilterMetrics - database moira.Database - cacheStorage *filter.Storage - cacheCapacity int - waitGroup *sync.WaitGroup - closeRequest chan struct{} + logger moira.Logger + metrics *metrics.FilterMetrics + database moira.Database + cacheStorage *filter.Storage + cacheCapacity int + waitGroup *sync.WaitGroup + closeRequest chan struct{} + batchForcedSaveTimeout time.Duration } -// NewMetricsMatcher creates new MetricsMatcher +// NewMetricsMatcher creates new MetricsMatcher. func NewMetricsMatcher( metrics *metrics.FilterMetrics, logger moira.Logger, database moira.Database, cacheStorage *filter.Storage, cacheCapacity int, + batchForcedSaveTimeout time.Duration, ) *MetricsMatcher { return &MetricsMatcher{ - metrics: metrics, - logger: logger, - database: database, - cacheStorage: cacheStorage, - cacheCapacity: cacheCapacity, - waitGroup: &sync.WaitGroup{}, - closeRequest: make(chan struct{}), + metrics: metrics, + logger: logger, + database: database, + cacheStorage: cacheStorage, + cacheCapacity: cacheCapacity, + waitGroup: &sync.WaitGroup{}, + closeRequest: make(chan struct{}), + batchForcedSaveTimeout: batchForcedSaveTimeout, } } -// Start process matched metrics from channel and save it in cache storage +// Start process matched metrics from channel and save it in cache storage. func (matcher *MetricsMatcher) Start(matchedMetricsChan chan *moira.MatchedMetric) { matcher.waitGroup.Add(1) go func() { @@ -63,7 +66,7 @@ func (matcher *MetricsMatcher) receiveBatch(metrics <-chan *moira.MatchedMetric) go func() { defer close(batchedMetrics) - batchTimer := time.NewTimer(time.Second) + batchTimer := time.NewTimer(matcher.batchForcedSaveTimeout) defer batchTimer.Stop() for { batch := make(map[string]*moira.MatchedMetric, matcher.cacheCapacity) @@ -85,13 +88,13 @@ func (matcher *MetricsMatcher) receiveBatch(metrics <-chan *moira.MatchedMetric) case <-batchTimer.C: batchedMetrics <- batch } - batchTimer.Reset(time.Second) + batchTimer.Reset(matcher.batchForcedSaveTimeout) } }() return batchedMetrics } -// Wait waits for metric matcher instance will stop +// Wait waits for metric matcher instance will stop. func (matcher *MetricsMatcher) Wait() { close(matcher.closeRequest) matcher.waitGroup.Wait() diff --git a/filter/metrics_parser.go b/filter/metrics_parser.go index f68eb36fe..0dc4b5e6b 100644 --- a/filter/metrics_parser.go +++ b/filter/metrics_parser.go @@ -19,8 +19,8 @@ type ParsedMetric struct { Timestamp int64 } -// ParseMetric parses metric from string -// supported format: " " +// ParseMetric parses metric from string. +// Supported format: " ". func ParseMetric(input []byte) (*ParsedMetric, error) { if !isPrintableASCII(input) { return nil, fmt.Errorf("non-ascii or non-printable chars in metric name: '%s'", input) @@ -31,14 +31,17 @@ func ParseMetric(input []byte) (*ParsedMetric, error) { if !inputScanner.HasNext() { return nil, fmt.Errorf("too few space-separated items: '%s'", input) } + metricBytes = inputScanner.Next() if !inputScanner.HasNext() { return nil, fmt.Errorf("too few space-separated items: '%s'", input) } + valueBytes = inputScanner.Next() if !inputScanner.HasNext() { return nil, fmt.Errorf("too few space-separated items: '%s'", input) } + timestampBytes = inputScanner.Next() if inputScanner.HasNext() { return nil, fmt.Errorf("too many space-separated items: '%s'", input) @@ -46,57 +49,62 @@ func ParseMetric(input []byte) (*ParsedMetric, error) { name, labels, err := parseNameAndLabels(metricBytes) if err != nil { - return nil, fmt.Errorf("cannot parse metric: '%s' (%s)", input, err) + return nil, fmt.Errorf("cannot parse metric: '%s' (%w)", input, err) } value, err := parseFloat(valueBytes) if err != nil { - return nil, fmt.Errorf("cannot parse value: '%s' (%s)", input, err) + return nil, fmt.Errorf("cannot parse value: '%s' (%w)", input, err) } timestamp, err := parseFloat(timestampBytes) if err != nil { - return nil, fmt.Errorf("cannot parse timestamp: '%s' (%s)", input, err) + return nil, fmt.Errorf("cannot parse timestamp: '%s' (%w)", input, err) } parsedMetric := &ParsedMetric{ - restoreMetricStringByNameAndLabels(name, labels), + restoreMetricStringByNameAndLabels(name, labels, len(metricBytes)), name, labels, value, int64(timestamp), } + if timestamp == -1 { parsedMetric.Timestamp = time.Now().Unix() } + return parsedMetric, nil } -func restoreMetricStringByNameAndLabels(name string, labels map[string]string) string { +func restoreMetricStringByNameAndLabels(name string, labels map[string]string, metricBytesSize int) string { var builder strings.Builder + builder.Grow(metricBytesSize) + keys := make([]string, 0, len(labels)) for key := range labels { keys = append(keys, key) } + sort.Strings(keys) builder.WriteString(name) for _, key := range keys { - builder.WriteString(fmt.Sprintf(";%s=%s", key, labels[key])) + builder.WriteString(";" + key + "=" + labels[key]) } return builder.String() } -// IsTagged checks that metric is tagged +// IsTagged checks that metric is tagged. func (metric ParsedMetric) IsTagged() bool { return len(metric.Labels) > 0 } -// IsTooOld checks that metric is old to parse it. -func (metric ParsedMetric) IsTooOld(maxTTL time.Duration, now time.Time) bool { - return moira.Int64ToTime(metric.Timestamp).Add(maxTTL).Before(now) +// IsExpired checks if the metric is in the window from maxTTL. +func (metric ParsedMetric) IsExpired(maxTTL time.Duration, now time.Time) bool { + return moira.Int64ToTime(metric.Timestamp).Add(maxTTL).Before(now) || now.Add(maxTTL).Before(moira.Int64ToTime(metric.Timestamp)) } func parseNameAndLabels(metricBytes []byte) (string, map[string]string, error) { @@ -104,10 +112,12 @@ func parseNameAndLabels(metricBytes []byte) (string, map[string]string, error) { if !metricBytesScanner.HasNext() { return "", nil, fmt.Errorf("too few colon-separated items: '%s'", metricBytes) } + nameBytes := metricBytesScanner.Next() if len(nameBytes) == 0 { return "", nil, fmt.Errorf("empty metric name: '%s'", metricBytes) } + name := moira.UnsafeBytesToString(nameBytes) labels := make(map[string]string) for metricBytesScanner.HasNext() { @@ -118,24 +128,27 @@ func parseNameAndLabels(metricBytes []byte) (string, map[string]string, error) { if !labelBytesScanner.HasNext() { return "", nil, fmt.Errorf("too few equal-separated items: '%s'", labelBytes) } + labelNameBytes = labelBytesScanner.Next() if !labelBytesScanner.HasNext() { return "", nil, fmt.Errorf("too few equal-separated items: '%s'", labelBytes) } + labelValueBytes = labelBytesScanner.Next() for labelBytesScanner.HasNext() { - var labelString strings.Builder - labelString.WriteString("=") - labelString.Write(labelBytesScanner.Next()) - labelValueBytes = append(labelValueBytes, labelString.String()...) + labelValueBytes = append(labelValueBytes, '=') + labelValueBytes = append(labelValueBytes, labelBytesScanner.Next()...) } + if len(labelNameBytes) == 0 { return "", nil, fmt.Errorf("empty label name: '%s'", labelBytes) } + labelName := moira.UnsafeBytesToString(labelNameBytes) labelValue := moira.UnsafeBytesToString(labelValueBytes) labels[labelName] = labelValue } + return name, labels, nil } diff --git a/filter/metrics_parser_bench_test.go b/filter/metrics_parser_bench_test.go new file mode 100644 index 000000000..d32bca61b --- /dev/null +++ b/filter/metrics_parser_bench_test.go @@ -0,0 +1,38 @@ +package filter + +import ( + "testing" + + "github.com/moira-alert/moira" +) + +var ( + metric = "test.metric;test1=test1test1;test2=test2test2test2;test3=test3test3test3test3;test4=test4test4test4test4test4;test5=test5test5test5test5;test6=test6test6test6;test7=test7test7;test8=test8" + name = "test.metric" + + labels = map[string]string{ + "test1": "test1test1", + "test2": "test2test2test2", + "test3": "test3test3test3test3", + "test4": "test4test4test4test4test4", + "test5": "test5test5test5test5", + "test6": "test6test6test6", + "test7": "test7test7", + "test8": "test8", + } +) + +func BenchmarkRestoreMetricStringByNameAndLabels(b *testing.B) { + for i := 0; i < b.N; i++ { + _ = restoreMetricStringByNameAndLabels(name, labels, len(metric)) + } +} + +func BenchmarkParseNameAndLabels(b *testing.B) { + for i := 0; i < b.N; i++ { + _, _, err := parseNameAndLabels(moira.UnsafeStringToBytes(metric)) + if err != nil { + b.Fatal(err) + } + } +} diff --git a/filter/metrics_parser_test.go b/filter/metrics_parser_test.go index 653d3698b..99b49a3f9 100644 --- a/filter/metrics_parser_test.go +++ b/filter/metrics_parser_test.go @@ -64,10 +64,18 @@ func TestParseMetric(t *testing.T) { {"One.two.three;four= 123 1234567890", "One.two.three;four=", "One.two.three", map[string]string{"four": ""}, 123, 1234567890}, {"One.two.three;six=seven;four=five 123 1234567890", "One.two.three;four=five;six=seven", "One.two.three", map[string]string{"four": "five", "six": "seven"}, 123, 1234567890}, {"One.two.three;four=five;six=seven=eight 123 1234567890", "One.two.three;four=five;six=seven=eight", "One.two.three", map[string]string{"four": "five", "six": "seven=eight"}, 123, 1234567890}, - {"One.two.three;four=five;six=seven=eight=nine 123 1234567890", "One.two.three;four=five;six=seven=eight=nine", - "One.two.three", map[string]string{"four": "five", "six": "seven=eight=nine"}, 123, 1234567890}, - {"One.two.three;four=five;six=seven=eight=nine= 123 1234567890", "One.two.three;four=five;six=seven=eight=nine=", - "One.two.three", map[string]string{"four": "five", "six": "seven=eight=nine="}, 123, 1234567890}, + { + "One.two.three;four=five;six=seven=eight=nine 123 1234567890", "One.two.three;four=five;six=seven=eight=nine", + "One.two.three", + map[string]string{"four": "five", "six": "seven=eight=nine"}, + 123, 1234567890, + }, + { + "One.two.three;four=five;six=seven=eight=nine= 123 1234567890", "One.two.three;four=five;six=seven=eight=nine=", + "One.two.three", + map[string]string{"four": "five", "six": "seven=eight=nine="}, + 123, 1234567890, + }, } for _, validMetric := range validMetrics { @@ -188,16 +196,17 @@ func TestRestoreMetricStringByNameAndLabels(t *testing.T) { Convey("Test function restoreMetricStringByNameAndLabels", t, func() { Convey("Given two metrics with the same labels but in a different order", func() { testCases := []struct { - name string - labels map[string]string + name string + labels map[string]string + metricBytesSize int }{ - {"One.two.three", map[string]string{"one": "two", "four": "five", "six": "seven"}}, - {"One.two.three", map[string]string{"six": "seven", "four": "five", "one": "two"}}, + {"One.two.three", map[string]string{"one": "two", "four": "five", "six": "seven"}, 35}, + {"One.two.three", map[string]string{"six": "seven", "four": "five", "one": "two"}, 35}, } expected := "One.two.three;four=five;one=two;six=seven" Convey("Result of restored metric should be equal", func() { for _, testCase := range testCases { - actual := restoreMetricStringByNameAndLabels(testCase.name, testCase.labels) + actual := restoreMetricStringByNameAndLabels(testCase.name, testCase.labels, testCase.metricBytesSize) So(actual, ShouldEqual, expected) } }) @@ -205,22 +214,36 @@ func TestRestoreMetricStringByNameAndLabels(t *testing.T) { }) } -func TestParsedMetric_IsTooOld(t *testing.T) { +func TestParsedMetric_IsExpired(t *testing.T) { now := time.Date(2022, 6, 16, 10, 0, 0, 0, time.UTC) maxTTL := time.Hour - Convey("When metric is old, return true", t, func() { - metric := ParsedMetric{ - Name: "too old metric", - Timestamp: time.Date(2022, 6, 16, 8, 59, 0, 0, time.UTC).Unix(), - } - So(metric.IsTooOld(maxTTL, now), ShouldBeTrue) - }) - Convey("When metric is young, return false", t, func() { - metric := ParsedMetric{ - Name: "too old metric", - Timestamp: time.Date(2022, 6, 16, 9, 00, 0, 0, time.UTC).Unix(), - } - So(metric.IsTooOld(maxTTL, now), ShouldBeFalse) + Convey("Test isExpired metric", t, func() { + Convey("Metric too old", func() { + metric := ParsedMetric{ + Name: "metric1", + Timestamp: now.Add(-2 * maxTTL).Unix(), + } + + So(metric.IsExpired(maxTTL, now), ShouldBeTrue) + }) + + Convey("Metric far into the future", func() { + metric := ParsedMetric{ + Name: "metric2", + Timestamp: now.Add(2 * maxTTL).Unix(), + } + + So(metric.IsExpired(maxTTL, now), ShouldBeTrue) + }) + + Convey("Metric in the maxTTL window", func() { + metric := ParsedMetric{ + Name: "metric3", + Timestamp: now.Unix(), + } + + So(metric.IsExpired(maxTTL, now), ShouldBeFalse) + }) }) } diff --git a/filter/pattern_index.go b/filter/pattern_index.go index c171f0a94..22785cdbb 100644 --- a/filter/pattern_index.go +++ b/filter/pattern_index.go @@ -4,13 +4,13 @@ import ( "github.com/moira-alert/moira" ) -// PatternIndex helps to index patterns and allows to match them by metric +// PatternIndex helps to index patterns and allows to match them by metric. type PatternIndex struct { Tree *PrefixTree compatibility Compatibility } -// NewPatternIndex creates new PatternIndex using patterns +// NewPatternIndex creates new PatternIndex using patterns. func NewPatternIndex(logger moira.Logger, patterns []string, compatibility Compatibility) *PatternIndex { prefixTree := &PrefixTree{Logger: logger, Root: &PatternNode{}} for _, pattern := range patterns { @@ -20,7 +20,7 @@ func NewPatternIndex(logger moira.Logger, patterns []string, compatibility Compa return &PatternIndex{Tree: prefixTree, compatibility: compatibility} } -// MatchPatterns allows matching pattern by metric +// MatchPatterns allows matching pattern by metric. func (source *PatternIndex) MatchPatterns(metric string) []string { return source.Tree.Match(metric) } diff --git a/filter/patterns/matcher.go b/filter/patterns/matcher.go index f89967d2f..d04042f9a 100644 --- a/filter/patterns/matcher.go +++ b/filter/patterns/matcher.go @@ -9,7 +9,7 @@ import ( "gopkg.in/tomb.v2" ) -// Matcher checks metrics against known patterns +// Matcher checks metrics against known patterns. type Matcher struct { logger moira.Logger tomb tomb.Tomb @@ -18,7 +18,7 @@ type Matcher struct { metricTTL time.Duration } -// NewMatcher creates pattern matcher +// NewMatcher creates pattern matcher. func NewMatcher(logger moira.Logger, metrics *metrics.FilterMetrics, patternsStorage *filter.PatternStorage, metricTTL time.Duration) *Matcher { return &Matcher{ logger: logger, @@ -28,7 +28,7 @@ func NewMatcher(logger moira.Logger, metrics *metrics.FilterMetrics, patternsSto } } -// Start spawns pattern matcher workers +// Start spawns pattern matcher workers. func (m *Matcher) Start(matchersCount int, lineChan <-chan []byte) chan *moira.MatchedMetric { matchedMetricsChan := make(chan *moira.MatchedMetric, 16384) //nolint m.logger.Info(). diff --git a/filter/patterns/worker.go b/filter/patterns/worker.go index b2608a481..badb4086e 100644 --- a/filter/patterns/worker.go +++ b/filter/patterns/worker.go @@ -10,7 +10,7 @@ import ( "github.com/moira-alert/moira/metrics" ) -// RefreshPatternWorker realization +// RefreshPatternWorker realization. type RefreshPatternWorker struct { database moira.Database logger moira.Logger @@ -20,7 +20,7 @@ type RefreshPatternWorker struct { period time.Duration } -// NewRefreshPatternWorker creates new RefreshPatternWorker +// NewRefreshPatternWorker creates new RefreshPatternWorker. func NewRefreshPatternWorker(database moira.Database, metrics *metrics.FilterMetrics, logger moira.Logger, patternStorage *filter.PatternStorage, period time.Duration) *RefreshPatternWorker { return &RefreshPatternWorker{ database: database, @@ -31,7 +31,7 @@ func NewRefreshPatternWorker(database moira.Database, metrics *metrics.FilterMet } } -// Start process to refresh pattern tree every second +// Start process to refresh pattern tree every second. func (worker *RefreshPatternWorker) Start() error { err := worker.patternStorage.Refresh() if err != nil { @@ -64,7 +64,7 @@ func (worker *RefreshPatternWorker) Start() error { return nil } -// Stop stops update pattern tree +// Stop stops update pattern tree. func (worker *RefreshPatternWorker) Stop() error { worker.tomb.Kill(nil) return worker.tomb.Wait() diff --git a/filter/patterns_storage.go b/filter/patterns_storage.go index a23e5e511..2cfcd9dd8 100644 --- a/filter/patterns_storage.go +++ b/filter/patterns_storage.go @@ -1,17 +1,30 @@ package filter import ( + "errors" "fmt" "sync/atomic" "time" "github.com/moira-alert/moira/clock" + lrucache "github.com/hashicorp/golang-lru/v2" "github.com/moira-alert/moira" "github.com/moira-alert/moira/metrics" ) -// PatternStorage contains pattern tree +// PatternStorageConfig defines the configuration for pattern storage. +type PatternStorageConfig struct { + // PatternMatchingCacheSize determines the size of the pattern matching cache. + PatternMatchingCacheSize int +} + +type patternMatchingCacheItem struct { + nameTagValue string + matchingHandler MatchingHandler +} + +// PatternStorage contains pattern tree. type PatternStorage struct { database moira.Database metrics *metrics.FilterMetrics @@ -20,27 +33,39 @@ type PatternStorage struct { PatternIndex atomic.Value SeriesByTagPatternIndex atomic.Value compatibility Compatibility + patternMatchingCache *lrucache.Cache[string, *patternMatchingCacheItem] } -// NewPatternStorage creates new PatternStorage struct +// NewPatternStorage creates new PatternStorage struct. func NewPatternStorage( + cfg PatternStorageConfig, database moira.Database, metrics *metrics.FilterMetrics, logger moira.Logger, compatibility Compatibility, ) (*PatternStorage, error) { + patternMatchingCache, err := lrucache.New[string, *patternMatchingCacheItem](cfg.PatternMatchingCacheSize) + if err != nil { + return nil, fmt.Errorf("failed to create new lru pattern matching cache: %w", err) + } + storage := &PatternStorage{ - database: database, - metrics: metrics, - logger: logger, - clock: clock.NewSystemClock(), - compatibility: compatibility, + database: database, + metrics: metrics, + logger: logger, + clock: clock.NewSystemClock(), + compatibility: compatibility, + patternMatchingCache: patternMatchingCache, } - err := storage.Refresh() - return storage, err + + if err = storage.Refresh(); err != nil { + return nil, fmt.Errorf("failed to refresh pattern storage: %w", err) + } + + return storage, nil } -// Refresh builds pattern's indexes from redis data +// Refresh builds pattern's indexes from redis data. func (storage *PatternStorage) Refresh() error { newPatterns, err := storage.database.GetPatterns() if err != nil { @@ -51,19 +76,31 @@ func (storage *PatternStorage) Refresh() error { patterns := make([]string, 0) for _, newPattern := range newPatterns { tagSpecs, err := ParseSeriesByTag(newPattern) - if err == ErrNotSeriesByTag { + if errors.Is(err, ErrNotSeriesByTag) { patterns = append(patterns, newPattern) } else { seriesByTagPatterns[newPattern] = tagSpecs } } - storage.PatternIndex.Store(NewPatternIndex(storage.logger, patterns, storage.compatibility)) - storage.SeriesByTagPatternIndex.Store(NewSeriesByTagPatternIndex(storage.logger, seriesByTagPatterns, storage.compatibility)) + storage.PatternIndex.Store(NewPatternIndex( + storage.logger, + patterns, + storage.compatibility, + )) + + storage.SeriesByTagPatternIndex.Store(NewSeriesByTagPatternIndex( + storage.logger, + seriesByTagPatterns, + storage.compatibility, + storage.patternMatchingCache, + storage.metrics, + )) + return nil } -// ProcessIncomingMetric validates, parses and matches incoming raw string +// ProcessIncomingMetric validates, parses and matches incoming raw string. func (storage *PatternStorage) ProcessIncomingMetric(lineBytes []byte, maxTTL time.Duration) *moira.MatchedMetric { storage.metrics.TotalMetricsReceived.Inc() count := storage.metrics.TotalMetricsReceived.Count() @@ -73,14 +110,16 @@ func (storage *PatternStorage) ProcessIncomingMetric(lineBytes []byte, maxTTL ti storage.logger.Info(). Error(err). Msg("Cannot parse input") + return nil } - if parsedMetric.IsTooOld(maxTTL, storage.clock.Now()) { + if parsedMetric.IsExpired(maxTTL, storage.clock.Now()) { storage.logger.Debug(). String(moira.LogFieldNameMetricName, parsedMetric.Name). String(moira.LogFieldNameMetricTimestamp, fmt.Sprint(parsedMetric.Timestamp)). - Msg("Metric is too old") + Msg("Metric is not in the window from maxTTL") + return nil } @@ -91,6 +130,7 @@ func (storage *PatternStorage) ProcessIncomingMetric(lineBytes []byte, maxTTL ti if count%10 == 0 { storage.metrics.MatchingTimer.UpdateSince(matchingStart) } + if len(matchedPatterns) > 0 { storage.metrics.MatchingMetricsReceived.Inc() return &moira.MatchedMetric{ diff --git a/filter/patterns_storage_test.go b/filter/patterns_storage_test.go index 913096174..7caef651f 100644 --- a/filter/patterns_storage_test.go +++ b/filter/patterns_storage_test.go @@ -7,11 +7,11 @@ import ( mock_clock "github.com/moira-alert/moira/mock/clock" - "github.com/golang/mock/gomock" logging "github.com/moira-alert/moira/logging/zerolog_adapter" "github.com/moira-alert/moira/metrics" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func TestProcessIncomingMetric(t *testing.T) { @@ -27,20 +27,26 @@ func TestProcessIncomingMetric(t *testing.T) { database := mock_moira_alert.NewMockDatabase(mockCtrl) logger, _ := logging.ConfigureLog("stdout", "warn", "test", true) + patternStorageCfg := PatternStorageConfig{ + PatternMatchingCacheSize: 100, + } + Convey("Create new pattern storage, GetPatterns returns error, should error", t, func() { database.EXPECT().GetPatterns().Return(nil, fmt.Errorf("some error here")) filterMetrics := metrics.ConfigureFilterMetrics(metrics.NewDummyRegistry()) - _, err := NewPatternStorage(database, filterMetrics, logger, Compatibility{AllowRegexLooseStartMatch: true}) - So(err, ShouldBeError, fmt.Errorf("some error here")) + _, err := NewPatternStorage(patternStorageCfg, database, filterMetrics, logger, Compatibility{AllowRegexLooseStartMatch: true}) + So(err, ShouldBeError, fmt.Errorf("failed to refresh pattern storage: some error here")) }) database.EXPECT().GetPatterns().Return(testPatterns, nil) patternsStorage, err := NewPatternStorage( + patternStorageCfg, database, metrics.ConfigureFilterMetrics(metrics.NewDummyRegistry()), logger, Compatibility{AllowRegexLooseStartMatch: true}, ) + systemClock := mock_clock.NewMockClock(mockCtrl) systemClock.EXPECT().Now().Return(time.Date(2009, 2, 13, 23, 31, 30, 0, time.UTC)).AnyTimes() patternsStorage.clock = systemClock diff --git a/filter/prefix_tree.go b/filter/prefix_tree.go index 97b6f89d7..7a4ee7eab 100644 --- a/filter/prefix_tree.go +++ b/filter/prefix_tree.go @@ -15,7 +15,7 @@ type PrefixTree struct { Logger moira.Logger } -// PatternNode contains pattern node +// PatternNode contains pattern node. type PatternNode struct { Children []*PatternNode Part string @@ -26,12 +26,12 @@ type PatternNode struct { Payload map[string]MatchingHandler } -// Add inserts pattern in tree +// Add inserts pattern in tree. func (source *PrefixTree) Add(pattern string) { source.AddWithPayload(pattern, "", nil) } -// AddWithPayload inserts pattern and payload in tree +// AddWithPayload inserts pattern and payload in tree. func (source *PrefixTree) AddWithPayload(pattern string, payloadKey string, payloadValue MatchingHandler) { currentNode := source.Root parts := strings.Split(pattern, ".") @@ -41,6 +41,7 @@ func (source *PrefixTree) AddWithPayload(pattern string, payloadKey string, payl Msg("Pattern is ignored because it contains an empty part") return } + for i, part := range parts { found := false for _, child := range currentNode.Children { @@ -50,6 +51,7 @@ func (source *PrefixTree) AddWithPayload(pattern string, payloadKey string, payl break } } + if !found { newNode := &PatternNode{Part: part} @@ -76,9 +78,11 @@ func (source *PrefixTree) AddWithPayload(pattern string, payloadKey string, payl newNode.InnerParts = []string{part} } } + currentNode.Children = append(currentNode.Children, newNode) currentNode = newNode } + if i == len(parts)-1 { currentNode.Terminal = true if payloadValue != nil { @@ -91,7 +95,7 @@ func (source *PrefixTree) AddWithPayload(pattern string, payloadKey string, payl } } -// Match finds metric in tree and returns prefixes for all matched nodes +// Match finds metric in tree and returns prefixes for all matched nodes. func (source *PrefixTree) Match(metric string) []string { nodes, found := source.findNodes(metric) if found == 0 { @@ -108,7 +112,7 @@ func (source *PrefixTree) Match(metric string) []string { return matched } -// MatchWithValue finds metric in tree and returns payloads for all matched nodes +// MatchWithValue finds metric in tree and returns payloads for all matched nodes. func (source *PrefixTree) MatchWithValue(metric string) map[string]MatchingHandler { nodes, _ := source.findNodes(metric) if nodes == nil { @@ -121,6 +125,7 @@ func (source *PrefixTree) MatchWithValue(metric string) map[string]MatchingHandl if node.Payload == nil { matched[node.Prefix] = nil } + for pattern, matchingHandler := range node.Payload { matched[pattern] = matchingHandler } @@ -158,6 +163,7 @@ func (source *PrefixTree) findNodes(metric string) ([]*PatternNode, int) { if found == 0 { return nil, 0 } + return currentLevel, found } @@ -186,6 +192,7 @@ func findPart(part string, currentLevel []*PatternNode) ([]*PatternNode, int) { } } } + return nextLevel, len(nextLevel) } @@ -194,6 +201,7 @@ func split2(s, sep string) (string, string) { if len(splitResult) < 2 { //nolint return splitResult[0], "" } + return splitResult[0], splitResult[1] } @@ -203,5 +211,6 @@ func hasEmptyParts(parts []string) bool { return true } } + return false } diff --git a/filter/prefix_tree_test.go b/filter/prefix_tree_test.go index 871dd8ac9..7420e6bf7 100644 --- a/filter/prefix_tree_test.go +++ b/filter/prefix_tree_test.go @@ -135,10 +135,12 @@ func TestPrefixTree(t *testing.T) { MatchedPatterns map[string]MatchingHandler }{ {"Simple.matching.pattern", map[string]MatchingHandler{ - "Simple.matching.pattern;k1": trueHandler}}, + "Simple.matching.pattern;k1": trueHandler, + }}, {"Simple.matching.pattern.*", map[string]MatchingHandler{ "Simple.matching.pattern.*;k1": trueHandler, - "Simple.matching.pattern.*;k2": falseHandler}}, + "Simple.matching.pattern.*;k2": falseHandler, + }}, } for _, testCase := range testCases { matchedPatterns := prefixTree.MatchWithValue(testCase.Metric) diff --git a/filter/series_by_tag.go b/filter/series_by_tag.go index 619e05753..90b522964 100644 --- a/filter/series_by_tag.go +++ b/filter/series_by_tag.go @@ -13,26 +13,26 @@ var ( wildcardExprRegex = regexp.MustCompile(`\{(.*?)\}`) ) -// ErrNotSeriesByTag is returned if the pattern is not seriesByTag +// ErrNotSeriesByTag is returned if the pattern is not seriesByTag. var ErrNotSeriesByTag = fmt.Errorf("not seriesByTag pattern") -// TagSpecOperator represents an operator and it is used to query metric by tag value +// TagSpecOperator represents an operator and it is used to query metric by tag value. type TagSpecOperator string const ( - // EqualOperator is a strict equality operator and it is used to query metric by tag's value + // EqualOperator is a strict equality operator and it is used to query metric by tag's value. EqualOperator TagSpecOperator = "=" - // NotEqualOperator is a strict non-equality operator and it is used to query metric by tag's value + // NotEqualOperator is a strict non-equality operator and it is used to query metric by tag's value. NotEqualOperator TagSpecOperator = "!=" - // MatchOperator is a match operator which helps to match metric by regex + // MatchOperator is a match operator which helps to match metric by regex. MatchOperator TagSpecOperator = "=~" - // NotMatchOperator is a non-match operator which helps not to match metric by regex + // NotMatchOperator is a non-match operator which helps not to match metric by regex. NotMatchOperator TagSpecOperator = "!=~" correctLengthOfMatchedWildcardIndexesSlice = 4 ) -// TagSpec is a filter expression inside seriesByTag pattern +// TagSpec is a filter expression inside seriesByTag pattern. type TagSpec struct { Name string Operator TagSpecOperator @@ -40,7 +40,7 @@ type TagSpec struct { } func transformWildcardToRegexpInSeriesByTag(input string) (string, bool) { - var isTransformed = false + isTransformed := false result := strings.ReplaceAll(input, ".", "\\.") @@ -62,6 +62,7 @@ func transformWildcardToRegexpInSeriesByTag(input string) (string, bool) { for i := range slc { slc[i] = strings.TrimSpace(slc[i]) } + regularExpression = strings.Join(slc, "|") result = result[:matchedWildcardIndexes[0]] + regularExpression + result[matchedWildcardIndexes[1]:] isTransformed = true @@ -70,10 +71,11 @@ func transformWildcardToRegexpInSeriesByTag(input string) (string, bool) { if !isTransformed { return input, false } + return "^" + result + "$", true } -// ParseSeriesByTag parses seriesByTag pattern and returns tags specs +// ParseSeriesByTag parses seriesByTag pattern and returns tags specs. func ParseSeriesByTag(input string) ([]TagSpec, error) { matchedSeriesByTagIndexes := seriesByTagRegex.FindStringSubmatchIndex(input) if len(matchedSeriesByTagIndexes) != 4 { //nolint @@ -97,6 +99,7 @@ func ParseSeriesByTag(input string) ([]TagSpec, error) { if len(matchedTagSpecIndexes) != 8 { //nolint return nil, ErrNotSeriesByTag } + if input[matchedTagSpecIndexes[0]] != input[matchedTagSpecIndexes[1]-1] { return nil, ErrNotSeriesByTag } @@ -125,11 +128,14 @@ func ParseSeriesByTag(input string) ([]TagSpec, error) { return tagSpecs, nil } -// MatchingHandler is a function for pattern matching +// MatchingHandler is a function for pattern matching. type MatchingHandler func(string, map[string]string) bool -// CreateMatchingHandlerForPattern creates function for matching by tag list -func CreateMatchingHandlerForPattern(tagSpecs []TagSpec, compatibility *Compatibility) (string, MatchingHandler, error) { +// CreateMatchingHandlerForPattern creates function for matching by tag list. +func CreateMatchingHandlerForPattern( + tagSpecs []TagSpec, + compatibility *Compatibility, +) (string, MatchingHandler, error) { matchingHandlers := make([]MatchingHandler, 0) var nameTagValue string @@ -152,14 +158,19 @@ func CreateMatchingHandlerForPattern(tagSpecs []TagSpec, compatibility *Compatib return false } } + return true } return nameTagValue, matchingHandler, nil } -func createMatchingHandlerForOneTag(spec TagSpec, compatibility *Compatibility) (MatchingHandler, error) { +func createMatchingHandlerForOneTag( + spec TagSpec, + compatibility *Compatibility, +) (MatchingHandler, error) { var matchingHandlerCondition func(string) bool + var err error allowMatchEmpty := false switch spec.Operator { @@ -172,28 +183,13 @@ func createMatchingHandlerForOneTag(spec TagSpec, compatibility *Compatibility) matchingHandlerCondition = func(value string) bool { return value != spec.Value } - case MatchOperator: - allowMatchEmpty = compatibility.AllowRegexMatchEmpty - - matchRegex, err := newMatchRegex(spec.Value, compatibility) - if err != nil { - return nil, err - } - - matchingHandlerCondition = func(value string) bool { - return matchRegex.MatchString(value) - } - case NotMatchOperator: + case MatchOperator, NotMatchOperator: allowMatchEmpty = compatibility.AllowRegexMatchEmpty - matchRegex, err := newMatchRegex(spec.Value, compatibility) + matchingHandlerCondition, err = handleRegexMatch(spec, compatibility) if err != nil { return nil, err } - - matchingHandlerCondition = func(value string) bool { - return !matchRegex.MatchString(value) - } default: matchingHandlerCondition = func(_ string) bool { return false @@ -205,23 +201,54 @@ func createMatchingHandlerForOneTag(spec TagSpec, compatibility *Compatibility) if spec.Name == "name" { return matchingHandlerCondition(metric) } + if value, found := labels[spec.Name]; found { return matchingHandlerCondition(value) } + return allowMatchEmpty && matchEmpty }, nil } -func newMatchRegex(value string, compatibility *Compatibility) (*regexp.Regexp, error) { - if value == "*" { - value = ".*" +func handleRegexMatch( + spec TagSpec, + compatibility *Compatibility, +) (func(string) bool, error) { + isMatchOperator := spec.Operator == MatchOperator + + // We don't need to create a regular for the asterisk, because in such a tag + // it is the fact of the tag's presence that matters, not its value. + if spec.Value == "*" || spec.Value == ".*" { + return func(value string) bool { + return isMatchOperator + }, nil + } + + matchRegex, err := newMatchRegex(spec.Value, compatibility) + if err != nil { + return nil, fmt.Errorf("failed to create new match regex: %w", err) } + return func(value string) bool { + matchRes := matchRegex.MatchString(value) + + // Invert the result depending on the match operator. + return isMatchOperator == matchRes + }, nil +} + +func newMatchRegex( + tagValue string, + compatibility *Compatibility, +) (*regexp.Regexp, error) { if !compatibility.AllowRegexLooseStartMatch { - value = "^" + value + tagValue = "^" + tagValue } - matchRegex, err := regexp.Compile(value) + matchRegex, err := regexp.Compile(tagValue) + if err != nil { + return nil, fmt.Errorf("failed to compile regex: %w with tag value: %s", err, tagValue) + } - return matchRegex, err + return matchRegex, nil } diff --git a/filter/series_by_tag_pattern_index.go b/filter/series_by_tag_pattern_index.go index 0a0966c7c..23bb7ff56 100644 --- a/filter/series_by_tag_pattern_index.go +++ b/filter/series_by_tag_pattern_index.go @@ -1,10 +1,12 @@ package filter import ( + lrucache "github.com/hashicorp/golang-lru/v2" "github.com/moira-alert/moira" + "github.com/moira-alert/moira/metrics" ) -// SeriesByTagPatternIndex helps to index the seriesByTag patterns and allows to match them by metric +// SeriesByTagPatternIndex helps to index the seriesByTag patterns and allows to match them by metric. type SeriesByTagPatternIndex struct { // namesPrefixTree stores MatchingHandler's for patterns that have name tag in prefix tree structure namesPrefixTree *PrefixTree @@ -14,33 +16,52 @@ type SeriesByTagPatternIndex struct { compatibility Compatibility } -// NewSeriesByTagPatternIndex creates new SeriesByTagPatternIndex using seriesByTag patterns and parsed specs comes from ParseSeriesByTag +// NewSeriesByTagPatternIndex creates new SeriesByTagPatternIndex using seriesByTag patterns and parsed specs comes from ParseSeriesByTag. func NewSeriesByTagPatternIndex( logger moira.Logger, tagSpecsByPattern map[string][]TagSpec, compatibility Compatibility, + patternMatchingCache *lrucache.Cache[string, *patternMatchingCacheItem], + metrics *metrics.FilterMetrics, ) *SeriesByTagPatternIndex { namesPrefixTree := &PrefixTree{Logger: logger, Root: &PatternNode{}} withoutStrictNameTagPatternMatchers := make(map[string]MatchingHandler) + var patternMatchingEvicted int64 + for pattern, tagSpecs := range tagSpecsByPattern { - nameTagValue, matchingHandler, err := CreateMatchingHandlerForPattern(tagSpecs, &compatibility) + var patternMatching *patternMatchingCacheItem + + patternMatching, ok := patternMatchingCache.Get(pattern) + if !ok { + nameTagValue, matchingHandler, err := CreateMatchingHandlerForPattern(tagSpecs, &compatibility) + if err != nil { + logger.Error(). + Error(err). + String("pattern", pattern). + Msg("Failed to create MatchingHandler for pattern") + continue + } - if err != nil { - logger.Info(). - Error(err). - String("pattern", pattern). - Msg("Failed to create MatchingHandler for pattern") - continue + patternMatching = &patternMatchingCacheItem{ + nameTagValue: nameTagValue, + matchingHandler: matchingHandler, + } + + if evicted := patternMatchingCache.Add(pattern, patternMatching); evicted { + patternMatchingEvicted++ + } } - if nameTagValue == "" { - withoutStrictNameTagPatternMatchers[pattern] = matchingHandler + if patternMatching.nameTagValue == "" { + withoutStrictNameTagPatternMatchers[pattern] = patternMatching.matchingHandler } else { - namesPrefixTree.AddWithPayload(nameTagValue, pattern, matchingHandler) + namesPrefixTree.AddWithPayload(patternMatching.nameTagValue, pattern, patternMatching.matchingHandler) } } + metrics.MarkPatternMatchingEvicted(patternMatchingEvicted) + return &SeriesByTagPatternIndex{ compatibility: compatibility, namesPrefixTree: namesPrefixTree, @@ -48,7 +69,7 @@ func NewSeriesByTagPatternIndex( } } -// MatchPatterns allows to match patterns by metric name and its labels +// MatchPatterns allows to match patterns by metric name and its labels. func (index *SeriesByTagPatternIndex) MatchPatterns(metricName string, labels map[string]string) []string { matchedPatterns := make([]string, 0) diff --git a/filter/series_by_tag_pattern_index_test.go b/filter/series_by_tag_pattern_index_test.go index 47abe4612..7f560735a 100644 --- a/filter/series_by_tag_pattern_index_test.go +++ b/filter/series_by_tag_pattern_index_test.go @@ -4,7 +4,9 @@ import ( "sort" "testing" + lrucache "github.com/hashicorp/golang-lru/v2" logging "github.com/moira-alert/moira/logging/zerolog_adapter" + "github.com/moira-alert/moira/metrics" . "github.com/smartystreets/goconvey/convey" ) @@ -109,12 +111,18 @@ func TestParseSeriesByTag(t *testing.T) { } func TestSeriesByTagPatternIndex(t *testing.T) { - var logger, _ = logging.GetLogger("SeriesByTag") + logger, _ := logging.GetLogger("SeriesByTag") + filterMetrics := metrics.ConfigureFilterMetrics(metrics.NewDummyRegistry()) + Convey("Given empty patterns with tagspecs, should build index and match patterns", t, func(c C) { compatibility := Compatibility{ AllowRegexLooseStartMatch: true, } - index := NewSeriesByTagPatternIndex(logger, map[string][]TagSpec{}, compatibility) + + patternMatchingCache, err := lrucache.New[string, *patternMatchingCacheItem](100) + So(err, ShouldBeNil) + + index := NewSeriesByTagPatternIndex(logger, map[string][]TagSpec{}, compatibility, patternMatchingCache, filterMetrics) c.So(index.MatchPatterns("", nil), ShouldResemble, []string{}) }) @@ -162,7 +170,11 @@ func TestSeriesByTagPatternIndex(t *testing.T) { AllowRegexMatchEmpty: false, AllowRegexLooseStartMatch: true, } - index := NewSeriesByTagPatternIndex(logger, tagSpecsByPattern, compatibility) + + patternMatchingCache, err := lrucache.New[string, *patternMatchingCacheItem](100) + So(err, ShouldBeNil) + + index := NewSeriesByTagPatternIndex(logger, tagSpecsByPattern, compatibility, patternMatchingCache, filterMetrics) for _, testCase := range testCases { patterns := index.MatchPatterns(testCase.Name, testCase.Labels) sort.Strings(patterns) @@ -211,6 +223,15 @@ func TestSeriesByTagPatternIndex(t *testing.T) { "tag2=~.*": { {"tag2", MatchOperator, ".*"}, }, + "tag2!=~*": { + {"tag2", NotMatchOperator, "*"}, + }, + "tag2!=~.*": { + {"tag2", NotMatchOperator, ".*"}, + }, + "tag2!=~al2": { + {"tag2", NotMatchOperator, "al2"}, + }, "tag1=val1;tag2=val2": { {"tag1", EqualOperator, "val1"}, {"tag2", EqualOperator, "val2"}, @@ -222,7 +243,8 @@ func TestSeriesByTagPatternIndex(t *testing.T) { Labels map[string]string MatchedPatterns []string }{ - {"cpu.test1.test2", + { + "cpu.test1.test2", map[string]string{}, []string{ "name=cpu.*.*", @@ -230,8 +252,10 @@ func TestSeriesByTagPatternIndex(t *testing.T) { "name=cpu.test1.*", "name=cpu.test1.test2", "name=~test1", - }}, - {"cpu.test1.test2", + }, + }, + { + "cpu.test1.test2", map[string]string{"tag": "val"}, []string{ "name=cpu.*.*", @@ -239,8 +263,10 @@ func TestSeriesByTagPatternIndex(t *testing.T) { "name=cpu.test1.*", "name=cpu.test1.test2", "name=~test1", - }}, - {"cpu.test1.test2", + }, + }, + { + "cpu.test1.test2", map[string]string{"tag1": "val1"}, []string{ "name=cpu.*.*", @@ -251,8 +277,10 @@ func TestSeriesByTagPatternIndex(t *testing.T) { "name=~cpu;tag1=val1", "name=~test1", "tag1=~al1", - }}, - {"cpu.test1.test2", + }, + }, + { + "cpu.test1.test2", map[string]string{"tag1": "val2"}, []string{ "name=cpu.*.*", @@ -260,8 +288,10 @@ func TestSeriesByTagPatternIndex(t *testing.T) { "name=cpu.test1.*", "name=cpu.test1.test2", "name=~test1", - }}, - {"cpu.test1.test2", + }, + }, + { + "cpu.test1.test2", map[string]string{"tag1": "val1", "tag2": "val1"}, []string{ "name=cpu.*.*", @@ -272,12 +302,16 @@ func TestSeriesByTagPatternIndex(t *testing.T) { "name=~cpu;tag1=val1", "name=~test1", "tag1=~al1", + "tag2!=~al2", "tag2=~*", "tag2=~.*", - }}, - {"cpu.test1.test2", + }, + }, + { + "cpu.test1.test2", map[string]string{"tag2": "val2"}, - []string{"name=cpu.*.*", + []string{ + "name=cpu.*.*", "name=cpu.*.test2", "name=cpu.*.test2;tag2=val2", "name=cpu.test1.*", @@ -285,16 +319,33 @@ func TestSeriesByTagPatternIndex(t *testing.T) { "name=~test1", "tag2=~*", "tag2=~.*", - }}, - {"cpu.test3.test2", + }, + }, + { + "cpu.test3.test2", map[string]string{"tag2": "val2"}, - []string{"name=cpu.*.*", + []string{ + "name=cpu.*.*", "name=cpu.*.test2", "name=cpu.*.test2;tag2=val2", "tag2=~*", "tag2=~.*", - }}, - {"cpu.test1.test2", + }, + }, + { + "cpu.test1.test3", + map[string]string{"tag2": "val3"}, + []string{ + "name=cpu.*.*", + "name=cpu.test1.*", + "name=~test1", + "tag2!=~al2", + "tag2=~*", + "tag2=~.*", + }, + }, + { + "cpu.test1.test2", map[string]string{"tag1": "val1", "tag2": "val2"}, []string{ "name=cpu.*.*", @@ -310,14 +361,19 @@ func TestSeriesByTagPatternIndex(t *testing.T) { "tag1=~al1", "tag2=~*", "tag2=~.*", - }}, + }, + }, } compatibility := Compatibility{ AllowRegexLooseStartMatch: true, AllowRegexMatchEmpty: false, } - index := NewSeriesByTagPatternIndex(logger, tagSpecsByPattern, compatibility) + + patternMatchingCache, err := lrucache.New[string, *patternMatchingCacheItem](100) + So(err, ShouldBeNil) + + index := NewSeriesByTagPatternIndex(logger, tagSpecsByPattern, compatibility, patternMatchingCache, filterMetrics) for _, testCase := range testCases { patterns := index.MatchPatterns(testCase.Name, testCase.Labels) sort.Strings(patterns) @@ -326,8 +382,9 @@ func TestSeriesByTagPatternIndex(t *testing.T) { }) } -func TestSeriesByTagPatternIndexCabonCompatibility(t *testing.T) { - var logger, _ = logging.GetLogger("SeriesByTag") +func TestSeriesByTagPatternIndexCarbonCompatibility(t *testing.T) { + logger, _ := logging.GetLogger("SeriesByTag") + filterMetrics := metrics.ConfigureFilterMetrics(metrics.NewDummyRegistry()) Convey("Given related patterns with tagspecs, should build index and match patterns", t, func(c C) { tagSpecsByPattern := map[string][]TagSpec{ @@ -381,7 +438,8 @@ func TestSeriesByTagPatternIndexCabonCompatibility(t *testing.T) { Labels map[string]string MatchedPatterns []string }{ - {"cpu.test1.test2", + { + "cpu.test1.test2", map[string]string{}, []string{ "name=cpu.*.*", @@ -390,8 +448,10 @@ func TestSeriesByTagPatternIndexCabonCompatibility(t *testing.T) { "name=cpu.test1.test2", "tag2=~*", "tag2=~.*", - }}, - {"cpu.test1.test2", + }, + }, + { + "cpu.test1.test2", map[string]string{"tag": "val"}, []string{ "name=cpu.*.*", @@ -400,8 +460,10 @@ func TestSeriesByTagPatternIndexCabonCompatibility(t *testing.T) { "name=cpu.test1.test2", "tag2=~*", "tag2=~.*", - }}, - {"cpu.test1.test2", + }, + }, + { + "cpu.test1.test2", map[string]string{"tag1": "val1"}, []string{ "name=cpu.*.*", @@ -412,8 +474,10 @@ func TestSeriesByTagPatternIndexCabonCompatibility(t *testing.T) { "name=~cpu;tag1=val1", "tag2=~*", "tag2=~.*", - }}, - {"cpu.test1.test2", + }, + }, + { + "cpu.test1.test2", map[string]string{"tag1": "val2"}, []string{ "name=cpu.*.*", @@ -422,8 +486,10 @@ func TestSeriesByTagPatternIndexCabonCompatibility(t *testing.T) { "name=cpu.test1.test2", "tag2=~*", "tag2=~.*", - }}, - {"cpu.test1.test2", + }, + }, + { + "cpu.test1.test2", map[string]string{"tag1": "val1", "tag2": "val1"}, []string{ "name=cpu.*.*", @@ -434,26 +500,34 @@ func TestSeriesByTagPatternIndexCabonCompatibility(t *testing.T) { "name=~cpu;tag1=val1", "tag2=~*", "tag2=~.*", - }}, - {"cpu.test1.test2", + }, + }, + { + "cpu.test1.test2", map[string]string{"tag2": "val2"}, - []string{"name=cpu.*.*", + []string{ + "name=cpu.*.*", "name=cpu.*.test2", "name=cpu.*.test2;tag2=val2", "name=cpu.test1.*", "name=cpu.test1.test2", "tag2=~*", "tag2=~.*", - }}, - {"cpu.test3.test2", + }, + }, + { + "cpu.test3.test2", map[string]string{"tag2": "val2"}, - []string{"name=cpu.*.*", + []string{ + "name=cpu.*.*", "name=cpu.*.test2", "name=cpu.*.test2;tag2=val2", "tag2=~*", "tag2=~.*", - }}, - {"cpu.test1.test2", + }, + }, + { + "cpu.test1.test2", map[string]string{"tag1": "val1", "tag2": "val2"}, []string{ "name=cpu.*.*", @@ -467,14 +541,19 @@ func TestSeriesByTagPatternIndexCabonCompatibility(t *testing.T) { "tag1=val1;tag2=val2", "tag2=~*", "tag2=~.*", - }}, + }, + }, } compatibility := Compatibility{ AllowRegexLooseStartMatch: false, AllowRegexMatchEmpty: true, } - index := NewSeriesByTagPatternIndex(logger, tagSpecsByPattern, compatibility) + + patternMatchingCache, err := lrucache.New[string, *patternMatchingCacheItem](100) + So(err, ShouldBeNil) + + index := NewSeriesByTagPatternIndex(logger, tagSpecsByPattern, compatibility, patternMatchingCache, filterMetrics) for _, testCase := range testCases { patterns := index.MatchPatterns(testCase.Name, testCase.Labels) sort.Strings(patterns) diff --git a/generate_mocks.sh b/generate_mocks.sh index 43e6fd982..266519cdc 100755 --- a/generate_mocks.sh +++ b/generate_mocks.sh @@ -4,7 +4,7 @@ rm -r ./mock/* -go install github.com/golang/mock/mockgen@v1.6.0 +go install go.uber.org/mock/mockgen@v0.4.0 mockgen -destination=mock/moira-alert/locks.go -package=mock_moira_alert github.com/moira-alert/moira Lock mockgen -destination=mock/moira-alert/mutex.go -package=mock_moira_alert github.com/moira-alert/moira Mutex @@ -26,4 +26,7 @@ mockgen -destination=mock/moira-alert/metrics/registry.go -package=mock_moira_al mockgen -destination=mock/moira-alert/metrics/meter.go -package=mock_moira_alert github.com/moira-alert/moira/metrics Meter mockgen -destination=mock/moira-alert/prometheus_api.go -package=mock_moira_alert github.com/moira-alert/moira/metric_source/prometheus PrometheusApi +mockgen -destination=mock/moira-alert/database_stats.go -package=mock_moira_alert github.com/moira-alert/moira/database/stats StatsReporter +mockgen -destination=mock/notifier/telegram/bot.go -package=mock_telegram github.com/moira-alert/moira/senders/telegram Bot + git add mock/* diff --git a/go.mod b/go.mod index 7ceaad8d9..af4fb7c7e 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/moira-alert/moira -go 1.19 +go 1.21 require ( github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible @@ -21,12 +21,10 @@ require ( github.com/go-redsync/redsync/v4 v4.4.4 github.com/gofrs/uuid v4.2.0+incompatible github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 - github.com/golang/mock v1.6.0 - github.com/google/go-cmp v0.5.9 + github.com/google/go-cmp v0.6.0 github.com/gotokatsuya/ipare v0.0.0-20161202043954-fd52c5b6c44b github.com/gregdel/pushover v1.1.0 - github.com/karriereat/blackfriday-slack v0.1.0 - github.com/moira-alert/go-chart v0.0.0-20230220064910-812fb2829b9b + github.com/moira-alert/go-chart v0.0.0-20231107064049-444c44a558ef github.com/opsgenie/opsgenie-go-sdk-v2 v1.2.13 github.com/patrickmn/go-cache v2.1.0+incompatible github.com/prometheus/client_golang v1.14.0 @@ -42,16 +40,19 @@ require ( gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df gopkg.in/h2non/gock.v1 v1.1.2 gopkg.in/tomb.v2 v2.0.0-20161208151619-d5d1b5820637 - gopkg.in/tucnak/telebot.v2 v2.5.0 gopkg.in/yaml.v2 v2.4.0 ) require github.com/prometheus/common v0.37.0 require ( - github.com/mattermost/mattermost/server/public v0.0.9 + github.com/hashicorp/golang-lru/v2 v2.0.7 + github.com/mattermost/mattermost/server/public v0.1.1 github.com/mitchellh/mapstructure v1.5.0 + github.com/moira-alert/blackfriday-slack v0.1.2 github.com/swaggo/http-swagger v1.3.4 + go.uber.org/mock v0.4.0 + gopkg.in/telebot.v3 v3.2.1 ) require ( @@ -89,22 +90,21 @@ require ( github.com/evmar/gocairo v0.0.0-20160222165215-ddd30f837497 // indirect github.com/francoispqt/gojay v1.2.13 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect - github.com/go-asn1-ber/asn1-ber v1.5.4 // indirect + github.com/go-asn1-ber/asn1-ber v1.5.5 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/geo v0.0.0-20230421003525-6adc56603217 // indirect github.com/golang/protobuf v1.5.3 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/gomodule/redigo v1.8.9 // indirect github.com/google/go-querystring v1.1.0 // indirect - github.com/google/uuid v1.3.0 // indirect + github.com/google/uuid v1.6.0 github.com/gopherjs/gopherjs v1.17.2 // indirect - github.com/gorilla/websocket v1.5.0 // indirect - github.com/graph-gophers/graphql-go v1.5.1-0.20230110080634-edea822f558a // indirect + github.com/gorilla/websocket v1.5.1 // indirect github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect - github.com/hashicorp/go-retryablehttp v0.7.1 // indirect + github.com/hashicorp/go-retryablehttp v0.7.7 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/jpillora/backoff v1.0.0 // indirect @@ -116,10 +116,10 @@ require ( github.com/magiconair/properties v1.8.7 // indirect github.com/maruel/natural v1.1.0 // indirect github.com/mattermost/go-i18n v1.11.1-0.20211013152124-5c415071e404 // indirect - github.com/mattermost/ldap v0.0.0-20201202150706-ee0e6284187d // indirect - github.com/mattermost/logr/v2 v2.0.18 // indirect + github.com/mattermost/ldap v0.0.0-20231116144001-0f480c025956 // indirect + github.com/mattermost/logr/v2 v2.0.21 // indirect github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.19 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect github.com/mjibson/go-dsp v0.0.0-20180508042940-11479a337f12 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect @@ -132,7 +132,7 @@ require ( github.com/pelletier/go-toml v1.9.5 // indirect github.com/pelletier/go-toml/v2 v2.0.8 // indirect github.com/philhofer/fwd v1.1.2 // indirect - github.com/pkg/errors v0.9.1 // indirect + github.com/pkg/errors v0.9.1 github.com/pmezard/go-difflib v1.0.0 // indirect github.com/prometheus/client_model v0.3.0 // indirect github.com/prometheus/procfs v0.8.0 // indirect @@ -143,11 +143,11 @@ require ( github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/spf13/viper v1.16.0 // indirect - github.com/stretchr/objx v0.5.0 // indirect - github.com/stretchr/testify v1.8.4 // indirect + github.com/stretchr/objx v0.5.1 // indirect + github.com/stretchr/testify v1.8.4 github.com/subosito/gotenv v1.4.2 // indirect - github.com/tinylib/msgp v1.1.8 // indirect - github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect + github.com/tinylib/msgp v1.1.9 // indirect + github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect github.com/wangjohn/quickselect v0.0.0-20161129230411-ed8402a42d5f // indirect github.com/wiggin77/merror v1.0.5 // indirect @@ -156,16 +156,16 @@ require ( go.uber.org/atomic v1.11.0 // indirect go.uber.org/multierr v1.8.0 // indirect go.uber.org/zap v1.24.0 // indirect - golang.org/x/crypto v0.14.0 // indirect - golang.org/x/exp v0.0.0-20200924195034-c827fd4f18b9 // indirect - golang.org/x/image v0.8.0 // indirect - golang.org/x/net v0.17.0 // indirect - golang.org/x/oauth2 v0.7.0 // indirect - golang.org/x/sys v0.13.0 // indirect - golang.org/x/text v0.13.0 // indirect + golang.org/x/crypto v0.24.0 // indirect + golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 // indirect + golang.org/x/image v0.13.0 // indirect + golang.org/x/net v0.26.0 // indirect + golang.org/x/oauth2 v0.17.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect gonum.org/v1/gonum v0.12.0 // indirect - google.golang.org/appengine v1.6.7 // indirect - google.golang.org/protobuf v1.31.0 // indirect + google.golang.org/appengine v1.6.8 // indirect + google.golang.org/protobuf v1.33.0 // indirect gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect @@ -178,22 +178,30 @@ require ( github.com/Masterminds/semver/v3 v3.2.1 // indirect github.com/blang/semver/v4 v4.0.0 // indirect github.com/dyatlov/go-opengraph/opengraph v0.0.0-20220524092352-606d7b1e5f8a // indirect + github.com/fatih/color v1.16.0 // indirect github.com/go-openapi/jsonpointer v0.20.0 // indirect github.com/go-openapi/jsonreference v0.20.2 // indirect github.com/go-openapi/spec v0.20.9 // indirect github.com/go-openapi/swag v0.22.4 // indirect + github.com/hashicorp/go-hclog v1.6.3 // indirect + github.com/hashicorp/go-plugin v1.6.0 // indirect + github.com/hashicorp/yamux v0.1.1 // indirect github.com/huandu/xstrings v1.3.3 // indirect github.com/imdario/mergo v0.3.11 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/mailru/easyjson v0.7.7 // indirect github.com/mitchellh/copystructure v1.0.0 // indirect + github.com/mitchellh/go-testing-interface v1.14.1 // indirect github.com/mitchellh/reflectwalk v1.0.0 // indirect + github.com/oklog/run v1.1.0 // indirect github.com/rogpeppe/go-internal v1.10.0 // indirect github.com/shopspring/decimal v1.2.0 // indirect github.com/swaggo/files v1.0.1 // indirect github.com/swaggo/swag v1.8.12 // indirect - golang.org/x/tools v0.12.0 // indirect + golang.org/x/tools v0.22.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de // indirect + google.golang.org/grpc v1.62.0 // indirect ) -// Have to exclude version that is incorectly retracted by authors +// Have to exclude version that is incorectly retracted by authors. exclude github.com/gomodule/redigo v2.0.0+incompatible diff --git a/go.sum b/go.sum index f73e0f1bf..acccd9382 100644 --- a/go.sum +++ b/go.sum @@ -186,6 +186,7 @@ cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omH cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw= cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w= cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI= +cloud.google.com/go/firestore v1.6.1/go.mod h1:asNXNOzBdyVQmEU+ggO8UPodTkEVFW5Qx+rwHnAz+EY= cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE= cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk= cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg= @@ -401,6 +402,7 @@ dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c/go.mod h1:0PRwlb0D git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/JaderDias/movingmedian v0.0.0-20220813210630-d8c6b6de8835 h1:mbxQnovjDz5SvlatpxkbiMvybHH1hsSEu6OhPDLlfU8= github.com/JaderDias/movingmedian v0.0.0-20220813210630-d8c6b6de8835/go.mod h1:zsfWLaDctbM7aV1TsQAwkVswuKQ0k7PK4rjC1VZqpbI= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible h1:1G1pk05UrOh0NlF1oeaaix1x8XzrfjIDK47TY0Zehcw= @@ -429,7 +431,9 @@ github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRF github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/alicebob/gopher-json v0.0.0-20200520072559-a9ecdc9d1d3a h1:HbKu58rmZpUGpz5+4FfNmIU+FmZg2P3Xaj2v2bfNWmk= +github.com/alicebob/gopher-json v0.0.0-20200520072559-a9ecdc9d1d3a/go.mod h1:SGnFV6hVsYE877CKEZ6tDNTjaSXYUk6QqoIK6PrAtcc= github.com/alicebob/miniredis/v2 v2.22.0 h1:lIHHiSkEyS1MkKHCHzN+0mWrA4YdbGdimE5iZ2sHSzo= +github.com/alicebob/miniredis/v2 v2.22.0/go.mod h1:XNqvJdQJv5mSuVMc0ynneafpnL/zv52acZ6kqeS0t88= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/ansel1/merry v1.5.0/go.mod h1:wUy/yW0JX0ix9GYvUbciq+bi3jW/vlKPlbpI7qdZpOw= github.com/ansel1/merry v1.5.1/go.mod h1:wUy/yW0JX0ix9GYvUbciq+bi3jW/vlKPlbpI7qdZpOw= @@ -440,12 +444,17 @@ github.com/ansel1/merry/v2 v2.1.1 h1:Ax0gQh7Z/GfimoVg2EDBAU6CJIieWwVvhtBKJdkCE1M github.com/ansel1/merry/v2 v2.1.1/go.mod h1:4p/FFyQbCgqlDbseWOVQaL5USpgkE9sr5xh4V6Ry0JU= github.com/ansel1/vespucci/v4 v4.1.1/go.mod h1:zzdrO4IgBfgcGMbGTk/qNGL8JPslmW3nPpcBHKReFYY= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aws/aws-sdk-go v1.44.293 h1:oBPrQqsyMYe61Sl/xKVvQFflXjPwYH11aKi8QR3Nhts= github.com/aws/aws-sdk-go v1.44.293/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/barkimedes/go-deepcopy v0.0.0-20220514131651-17c30cfc62df h1:GSoSVRLoBaFpOOds6QyY1L8AX7uoY+Ln3BHc22W40X0= github.com/barkimedes/go-deepcopy v0.0.0-20220514131651-17c30cfc62df/go.mod h1:hiVxq5OP2bUGBRNS3Z/bt/reCLFNbdcST6gISi1fiOM= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= +github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -493,6 +502,8 @@ github.com/blevesearch/zapx/v15 v15.3.11/go.mod h1:hiYbBDf5/Ud/Eji0faUmMTOyeOjcl github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g= github.com/bradfitz/gomemcache v0.0.0-20221031212613-62deef7fc822 h1:hjXJeBcAMS1WGENGqDpzvmgS43oECTx8UXq31UBu0Jw= github.com/bradfitz/gomemcache v0.0.0-20221031212613-62deef7fc822/go.mod h1:H0wQNHz2YrLsuXOZozoeDmnHXkNCRmMW0gwFWDfEZDA= +github.com/bufbuild/protocompile v0.4.0 h1:LbFKd2XowZvQ/kajzguUp2DC9UEIQhIq77fZZlaQsNA= +github.com/bufbuild/protocompile v0.4.0/go.mod h1:3v93+mbWn/v3xzN+31nwkJfrEpAUwp+BagBSZWx+TP8= github.com/buger/jsonparser v0.0.0-20181115193947-bf1c66bbce23/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= github.com/bwmarrin/discordgo v0.25.0 h1:NXhdfHRNxtwso6FPdzW2i3uBvvU7UIQTghmV2T4nqAs= github.com/bwmarrin/discordgo v0.25.0/go.mod h1:NJZpH+1AfhIcyQsPeuBKsUtYrRnjkyu0kIVMCHkZtRY= @@ -509,6 +520,8 @@ github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XL github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= +github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= @@ -522,7 +535,9 @@ github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWH github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cyberdelia/go-metrics-graphite v0.0.0-20161219230853-39f87cc3b432 h1:M5QgkYacWj0Xs8MhpIK/5uwU02icXpEoSo9sM2aRCps= @@ -563,22 +578,28 @@ github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0+ github.com/evmar/gocairo v0.0.0-20160222165215-ddd30f837497 h1:DIQ8EvZ8OjuPNfcV4NgsyBeZho7WsTD0JEkDM5napMI= github.com/evmar/gocairo v0.0.0-20160222165215-ddd30f837497/go.mod h1:YXKUYPSqs+jDG8mvexHN2uTik4PKwg2B0WK9itQ0VrE= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= +github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= +github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= +github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/francoispqt/gojay v1.2.13 h1:d2m3sFjloqoIUQU3TsHBgj6qg/BVGlTBeHDUmyJnXKk= github.com/francoispqt/gojay v1.2.13/go.mod h1:ehT5mTG4ua4581f1++1WLG0vPdaA9HaiDsoyrBGkyDY= github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= +github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= +github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= -github.com/go-asn1-ber/asn1-ber v1.3.2-0.20191121212151-29be175fc3a3/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= -github.com/go-asn1-ber/asn1-ber v1.5.4 h1:vXT6d/FNDiELJnLb6hGNa309LMsrCoYFvpwHDF0+Y1A= -github.com/go-asn1-ber/asn1-ber v1.5.4/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= +github.com/go-asn1-ber/asn1-ber v1.5.5 h1:MNHlNMBDgEKD4TcKr36vQN68BA00aDfjIt3/bD50WnA= +github.com/go-asn1-ber/asn1-ber v1.5.5/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= github.com/go-chi/chi v4.1.2+incompatible h1:fGFk2Gmi/YKXk0OmGfBh0WgmN3XB8lVnEyNz34tQRec= github.com/go-chi/chi v4.1.2+incompatible/go.mod h1:eB3wogJHnLi3x/kFX2A+IbTBlXxmMeXJVKy9tTv1XzQ= github.com/go-chi/render v1.0.1 h1:4/5tis2cKaNdnv9zFLfXzcquC9HbeZgCnxGnKrltBS8= @@ -601,9 +622,6 @@ github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9 github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= @@ -619,6 +637,10 @@ github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/ github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= github.com/go-openapi/swag v0.22.4 h1:QLMzNJnMGPRNDCbySlcj1x01tzU8/9LTTL9hZZZogBU= github.com/go-openapi/swag v0.22.4/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= +github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= +github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= +github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= github.com/go-redis/redis v6.15.9+incompatible h1:K0pv1D7EQUjfyoMql+r/jZqCLizCGKFlFgcHWWmHQjg= github.com/go-redis/redis v6.15.9+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= github.com/go-redis/redis/v7 v7.4.0 h1:7obg6wUoj05T0EpY0o8B59S9w5yeMWql7sw2kwNW1x4= @@ -632,6 +654,7 @@ github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/me github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/go-test/deep v1.0.4 h1:u2CU3YKy9I2pmu9pX0eq50wCgjfGIt539SqR7FbHiho= github.com/go-test/deep v1.0.4/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/goccy/go-yaml v1.9.5/go.mod h1:U/jl18uSupI5rdI2jmuCswEA2htH9eXfferR3KfscvA= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/uuid v4.2.0+incompatible h1:yyYWMnhkhrKwwr8gAOcOCYxOOscHgDS9yZgBrnJfGa0= github.com/gofrs/uuid v4.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= @@ -647,6 +670,7 @@ github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0L github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= @@ -656,7 +680,6 @@ github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -699,8 +722,9 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= @@ -729,8 +753,9 @@ github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm4 github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= @@ -756,21 +781,22 @@ github.com/gopherjs/gopherjs v1.17.2/go.mod h1:pRRIvn/QzFLrKfvEz3qUuEhtE/zLCWfre github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= -github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= +github.com/gorilla/websocket v1.5.1/go.mod h1:x3kM2JMyaluk02fnUJpQuwD2dCS5NDG2ZHL0uE0tcaY= github.com/gotokatsuya/ipare v0.0.0-20161202043954-fd52c5b6c44b h1:nOT/PsxPMeyauSJAzvXAQC7L2iSQ0tvF4ydp7Nuw88w= github.com/gotokatsuya/ipare v0.0.0-20161202043954-fd52c5b6c44b/go.mod h1:OKc3N/50GDfkGPNsgsWYBv7NLfnRgB8ibfQDyzttnoY= -github.com/graph-gophers/graphql-go v1.5.1-0.20230110080634-edea822f558a h1:i0+Se9S+2zL5CBxJouqn2Ej6UQMwH1c57ZB6DVnqck4= -github.com/graph-gophers/graphql-go v1.5.1-0.20230110080634-edea822f558a/go.mod h1:YtmJZDLbF1YYNrlNAuiO5zAStUWc3XZT07iGsVqe1Os= github.com/gregdel/pushover v1.1.0 h1:dwHyvrcpZCOS9V1fAnKPaGRRI5OC55cVaKhMybqNsKQ= github.com/gregdel/pushover v1.1.0/go.mod h1:EcaO66Nn1StkpEm1iKtBTV3d2A16SoMsVER1PthX7to= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.5.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w= github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542 h1:2VTzZjLZBgl62/EtslCrtky5vbi9dd7HrQPQIx6wqiw= github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542/go.mod h1:Ow0tF8D4Kplbc8s8sSb3V2oUCygFHVp8gC3Dn6U4MNI= +github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0= +github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -778,20 +804,43 @@ github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtng github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= -github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= -github.com/hashicorp/go-hclog v1.5.0 h1:bI2ocEMgcVlz55Oj1xZNBsVi900c7II+fWDyV9o+13c= +github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v1.2.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v1.6.3 h1:Qr2kF+eVWjTiYmU7Y31tYlP1h0q/X3Nl3tPGdaB11/k= +github.com/hashicorp/go-hclog v1.6.3/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= +github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= +github.com/hashicorp/go-plugin v1.6.0 h1:wgd4KxHJTVGGqWBq4QPB1i5BZNEx9BR8+OFmHDmTk8A= +github.com/hashicorp/go-plugin v1.6.0/go.mod h1:lBS5MtSSBZk0SHc66KACcjjlU6WzEVP/8pwz68aMkCI= github.com/hashicorp/go-retryablehttp v0.5.1/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= -github.com/hashicorp/go-retryablehttp v0.7.1 h1:sUiuQAnLlbvmExtFQs72iFW/HXeUn8Z1aJLQ4LJJbTQ= -github.com/hashicorp/go-retryablehttp v0.7.1/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= +github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= +github.com/hashicorp/go-retryablehttp v0.7.7 h1:C8hUCYzor8PIfXHa4UrZkU4VvK8o9ISHxT2Q8+VepXU= +github.com/hashicorp/go-retryablehttp v0.7.7/go.mod h1:pkQpWZeYWskR+D1tR2O5OcBFOxfA7DoAO6xtkuQnHTk= +github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= +github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= +github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= +github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= +github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= +github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= +github.com/hashicorp/serf v0.9.7/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= +github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE= +github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/huandu/xstrings v1.3.3 h1:/Gcsuc1x8JVbJ9/rlye4xZnVAbEkGauT8lbebqcQws4= github.com/huandu/xstrings v1.3.3/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= @@ -807,6 +856,8 @@ github.com/jcmturner/goidentity/v6 v6.0.1/go.mod h1:X1YW3bgtvwAXju7V3LCIMpY0Gbxy github.com/jcmturner/gokrb5/v8 v8.4.2/go.mod h1:sb+Xq/fTY5yktf/VxLsE3wlfPqQjp0aWNYyvBVK62bc= github.com/jcmturner/rpc/v2 v2.0.3/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJki3ELg/Hc= github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1/go.mod h1:E0B/fFc00Y+Rasa88328GlI/XbtyysCtTHZS8h7IrBU= +github.com/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c= +github.com/jhump/protoreflect v1.15.1/go.mod h1:jD/2GMKKE6OqX8qTjhADU1e6DShO+gavG9e0Q693nKo= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= @@ -816,6 +867,7 @@ github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFF github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= @@ -828,8 +880,6 @@ github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7V github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k= github.com/k0kubun/pp v2.3.0+incompatible/go.mod h1:GWse8YhT0p8pT4ir3ZgBbfZild3tgzSScAn6HmfYukg= -github.com/karriereat/blackfriday-slack v0.1.0 h1:5v7TOdIgxFlcxykNjZZHlED2+5Xnx3rJws47hcxBWYY= -github.com/karriereat/blackfriday-slack v0.1.0/go.mod h1:iM9iGxIpITGTuxl7benyJWiuXspkh5zLseXRKhTOu3M= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.12.2/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= @@ -838,13 +888,17 @@ github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxv github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.3/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lomik/og-rek v0.0.0-20170411191824-628eefeb8d80 h1:KVyDGUXjVOdHQt24wIgY4ZdGFXHtQHLWw0L/MAK3Kb0= @@ -854,6 +908,7 @@ github.com/lomik/zapwriter v0.0.0-20210624082824-c1161d1eb463/go.mod h1:rWIJAUD2 github.com/lunixbochs/vtclean v1.0.0/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI= github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= github.com/lyft/protoc-gen-star v0.6.1/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= +github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= @@ -866,30 +921,47 @@ github.com/maruel/natural v1.1.0 h1:2z1NgP/Vae+gYrtC0VuvrTJ6U35OuyUqDdfluLqMWuQ= github.com/maruel/natural v1.1.0/go.mod h1:eFVhYCcUOfZFxXoDZam8Ktya72wa79fNC3lc/leA0DQ= github.com/mattermost/go-i18n v1.11.1-0.20211013152124-5c415071e404 h1:Khvh6waxG1cHc4Cz5ef9n3XVCxRWpAKUtqg9PJl5+y8= github.com/mattermost/go-i18n v1.11.1-0.20211013152124-5c415071e404/go.mod h1:RyS7FDNQlzF1PsjbJWHRI35exqaKGSO9qD4iv8QjE34= -github.com/mattermost/ldap v0.0.0-20201202150706-ee0e6284187d h1:/RJ/UV7M5c7L2TQ0KNm4yZxxFvC1nvRz/gY/Daa35aI= -github.com/mattermost/ldap v0.0.0-20201202150706-ee0e6284187d/go.mod h1:HLbgMEI5K131jpxGazJ97AxfPDt31osq36YS1oxFQPQ= -github.com/mattermost/logr/v2 v2.0.18 h1:qiznuwwKckZJoGtBYc4Y9FAY97/oQwV1Pq9oO5qP5nk= -github.com/mattermost/logr/v2 v2.0.18/go.mod h1:1dm/YhTpozsqANXxo5Pi5zYLBsal2xY0pX+JZNbzYJY= -github.com/mattermost/mattermost/server/public v0.0.9 h1:Qsktgxx5dc8xVAUHP5MbSLi6Cf82iB/83r6S9bluHto= -github.com/mattermost/mattermost/server/public v0.0.9/go.mod h1:sgXQrYzs+IJy51mB8E8OBljagk2u3YwQRoYlBH5goiw= +github.com/mattermost/ldap v0.0.0-20231116144001-0f480c025956 h1:Y1Tu/swM31pVwwb2BTCsOdamENjjWCI6qmfHLbk6OZI= +github.com/mattermost/ldap v0.0.0-20231116144001-0f480c025956/go.mod h1:SRl30Lb7/QoYyohYeVBuqYvvmXSZJxZgiV3Zf6VbxjI= +github.com/mattermost/logr/v2 v2.0.21 h1:CMHsP+nrbRlEC4g7BwOk1GAnMtHkniFhlSQPXy52be4= +github.com/mattermost/logr/v2 v2.0.21/go.mod h1:kZkB/zqKL9e+RY5gB3vGpsyenC+TpuiOenjMkvJJbzc= +github.com/mattermost/mattermost/server/public v0.1.1 h1:T5UtZ0SB3rZvhiKFUxkPn4fNrEQTXAcmCHVkRct1dpk= +github.com/mattermost/mattermost/server/public v0.1.1/go.mod h1:WeqCPudYLqk4HjjGvCMJwhtHMVvcNUTHIbrLmLjAD+4= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= +github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= -github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/microcosm-cc/bluemonday v1.0.1/go.mod h1:hsXNsILzKxV+sX77C5b8FSuKF00vh2OMYv+xgHpAMF4= +github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= +github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= github.com/mitchellh/copystructure v1.0.0 h1:Laisrj+bAB6b/yJwB5Bt3ITZhGJdqmxquMKeZ+mmkFQ= github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU= +github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/reflectwalk v1.0.0 h1:9D+8oIskB4VJBN5SFlmc27fSlIBZaov1Wpk/IfikLNY= @@ -903,8 +975,10 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/moira-alert/go-chart v0.0.0-20230220064910-812fb2829b9b h1:3eY3xHOj6Sh0f5Un6i9CFdqXNikLgPuGosg7+ZTpwbQ= -github.com/moira-alert/go-chart v0.0.0-20230220064910-812fb2829b9b/go.mod h1:Ezwok1WdoXI/W7cWe5leDLYf5WrA4nUFZWtKNT3tCs8= +github.com/moira-alert/blackfriday-slack v0.1.2 h1:W6VbDlHDBxoB7X+OJ+3xZZuzMcQ0qTcblhLLnm/xQ7U= +github.com/moira-alert/blackfriday-slack v0.1.2/go.mod h1:tYMK3laTzU1wgxeOpUPdw36KHD3eTyQNDfxtg1nXLWI= +github.com/moira-alert/go-chart v0.0.0-20231107064049-444c44a558ef h1:hSEQ/9B23MTYQCxx+GTRW5P1eWaqtgEMEqOxXs/YNKE= +github.com/moira-alert/go-chart v0.0.0-20231107064049-444c44a558ef/go.mod h1:ktrkvZGboMQfYyBXAV05imlVxGIvVdeCn5vz91Fw1vE= github.com/msaf1980/go-stringutils v0.1.4 h1:UwsIT0hplHVucqbknk3CoNqKkmIuSHhsbBldXxyld5U= github.com/msaf1980/go-stringutils v0.1.4/go.mod h1:AxmV/6JuQUAtZJg5XmYATB5ZwCWgtpruVHY03dswRf8= github.com/mschoch/smat v0.2.0 h1:8imxQsjDm8yFEAVBe7azKmKSgzSkZXDuKkSq9374khM= @@ -922,20 +996,25 @@ github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLA github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= +github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= +github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= +github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.16.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/onsi/gomega v1.18.1 h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE= -github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= +github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs= github.com/openzipkin/zipkin-go v0.1.1/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTmOf0Erfk+hxe8= github.com/opsgenie/opsgenie-go-sdk-v2 v1.2.13 h1:nV98dkBpqaYbDnhefmOQ+Rn4hE+jD6AtjYHXaU5WyJI= github.com/opsgenie/opsgenie-go-sdk-v2 v1.2.13/go.mod h1:4OjcxgwdXzezqytxN534MooNmrxRD50geWZxTD7845s= +github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc= github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ= github.com/pborman/uuid v1.2.1 h1:+ZZIw58t/ozdjRaXh/3awHfmWRbzYxJoAdNJxe/3pvw= @@ -943,6 +1022,7 @@ github.com/pborman/uuid v1.2.1/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtP github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas= github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ= github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= @@ -957,12 +1037,16 @@ github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qR github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= github.com/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4g= +github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U= github.com/prometheus/client_golang v0.8.0/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw= github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= @@ -974,6 +1058,7 @@ github.com/prometheus/client_model v0.3.0 h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvq github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= github.com/prometheus/common v0.0.0-20180801064454-c7de2306084e/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= @@ -982,6 +1067,7 @@ github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJ github.com/prometheus/procfs v0.0.0-20180725123919-05ee40e3a273/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= @@ -991,6 +1077,7 @@ github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5X github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/rs/cors v1.9.0 h1:l9HGsTsHJcvW14Nk7J9KFz8bzeAWXn3CG6bgt7LsrAE= @@ -1002,6 +1089,9 @@ github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/sagikazarmark/crypt v0.6.0/go.mod h1:U8+INwJo3nBv1m6A/8OBXAq7Jnpspk5AxSgDyEQcea8= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ= github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= @@ -1044,23 +1134,27 @@ github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e/go.mod github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= +github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/afero v1.9.5 h1:stMpOSZFs//0Lv29HduCmli3GUfpFoF3Y1Q/aXj/wVM= github.com/spf13/afero v1.9.5/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA= github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.13.0/go.mod h1:Icm2xNL3/8uyh/wFuB1jI7TiTNKp8632Nwegu+zgdYw= github.com/spf13/viper v1.16.0 h1:rGGH0XDZhdUOryiDWjmIvUSWpbNqisK8Wk0Vyefw8hc= github.com/spf13/viper v1.16.0/go.mod h1:yg78JgCJcbrQOvV9YLXgkLaZqUidkY9K+Dd1FofRzQg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.1 h1:4VhoImhV/Bm0ToFkXFi8hXNXwpDRZ/ynw3amt82mzq0= +github.com/stretchr/objx v0.5.1/go.mod h1:/iHQpkQwBD6DLUmQ4pE+s1TXdob1mORJ4/UFdrifcy0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -1068,13 +1162,17 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= +github.com/stretchr/testify v1.7.5/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stvp/tempredis v0.0.0-20181119212430-b82af8480203 h1:QVqDTf3h2WHt08YuiTGPZLls0Wq99X9bWd0Q5ZSBesM= github.com/stvp/tempredis v0.0.0-20181119212430-b82af8480203/go.mod h1:oqN97ltKNihBbwlX8dLpwxCl3+HnXKV/R0e+sRLd9C8= +github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= github.com/swaggo/files v1.0.1 h1:J1bVJ4XHZNq0I46UU90611i9/YzdrF7x92oX1ig5IdE= @@ -1084,12 +1182,13 @@ github.com/swaggo/http-swagger v1.3.4/go.mod h1:9dAh0unqMBAlbp1uE2Uc2mQTxNMU/ha4 github.com/swaggo/swag v1.8.12 h1:pctzkNPu0AlQP2royqX3apjKCQonAnf7KGoxeO4y64w= github.com/swaggo/swag v1.8.12/go.mod h1:lNfm6Gg+oAq3zRJQNEMBE66LIJKM44mxFqhEEgy2its= github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA= -github.com/tinylib/msgp v1.1.8 h1:FCXC1xanKO4I8plpHGH2P7koL/RzZs12l/+r7vakfm0= -github.com/tinylib/msgp v1.1.8/go.mod h1:qkpG+2ldGg4xRFmx+jfTvZPxfGFhi64BcnL9vkCm/Tw= +github.com/tinylib/msgp v1.1.9 h1:SHf3yoO2sGA0veCJeCBYLHuttAVFHGm2RHgNodW7wQU= +github.com/tinylib/msgp v1.1.9/go.mod h1:BCXGB54lDD8qUEPmiG0cQQUANC4IUQyB2ItS2UDlO/k= +github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/viant/assertly v0.4.8/go.mod h1:aGifi++jvCrUaklKEKT0BU95igDNaqkvz+49uaYMPRU= github.com/viant/toolbox v0.24.0/go.mod h1:OxMCG57V0PXuIP2HNQrtJf2CjqdmbrOx5EkMILuUhzM= -github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9znI5mJU= -github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= +github.com/vmihailenco/msgpack/v5 v5.4.1 h1:cQriyiUvjTwOHg8QZaPihLWeRAAVoCpE00IUPn0Bjt8= +github.com/vmihailenco/msgpack/v5 v5.4.1/go.mod h1:GaZTsDaehaPpQVyxrf5mtQlH+pc21PIudVV/E3rRQok= github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= github.com/wangjohn/quickselect v0.0.0-20161129230411-ed8402a42d5f h1:9DDCDwOyEy/gId+IEMrFHLuQ5R/WV0KNxWLler8X2OY= @@ -1111,8 +1210,13 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9dec github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yuin/gopher-lua v0.0.0-20210529063254-f4c35e4016d9 h1:k/gmLsJDWwWqbLCur2yWnJzwQEKRcAHXo6seXGuSwWw= +github.com/yuin/gopher-lua v0.0.0-20210529063254-f4c35e4016d9/go.mod h1:E1AXubJBdNmFERAOucpDIxNzeGfLzg0mYh+UfMWdChA= go.etcd.io/bbolt v1.3.7 h1:j+zJOnnEjF/kyHlDDgGnVL/AIqIJPq8UoB2GSNfkUfQ= go.etcd.io/bbolt v1.3.7/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= +go.etcd.io/etcd/api/v3 v3.5.4/go.mod h1:5GB2vv4A4AOn3yk7MftYGHkUfGtDHnEraIjym4dYz5A= +go.etcd.io/etcd/client/pkg/v3 v3.5.4/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/v2 v2.305.4/go.mod h1:Ud+VUwIi9/uQHOMA+4ekToJ12lTxlv0zB/+DHwTGEbU= +go.etcd.io/etcd/client/v3 v3.5.4/go.mod h1:ZaRkVgBZC+L+dLCjTcF1hRXpgZXQPOvnA/Ak/gq3kiY= go.opencensus.io v0.18.0/go.mod h1:vKdFvxhtzZ9onBp9VKHK8z/sRpBMnKAsufL7wlDrCOA= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= @@ -1122,8 +1226,6 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/otel v1.6.3/go.mod h1:7BgNga5fNlF/iZjG06hM3yofffp0ofKCDwSXx1GC4dI= -go.opentelemetry.io/otel/trace v1.6.3/go.mod h1:GNJQusJlUgZl9/TQBPKU/Y/ty+0iVB5fjhKeJGZPGFs= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= @@ -1132,6 +1234,9 @@ go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0 go.uber.org/automaxprocs v1.5.1 h1:e1YG66Lrk73dn4qhg8WFSvhF0JuFQF0ERIp4rpuV8Qk= go.uber.org/automaxprocs v1.5.1/go.mod h1:BF4eumQw0P9GtnuxxovUd06vwm1o18oMzFtK66vU6XU= go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI= +go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/mock v0.4.0 h1:VcM4ZOtdbR4f6VXfiOpwpVJDL6lCReaZ6mw31wqh7KU= +go.uber.org/mock v0.4.0/go.mod h1:a6FSlNadKUHUa9IP5Vyt1zh4fC7uAwxMutEAscFbkZc= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8= go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= @@ -1147,16 +1252,18 @@ golang.org/x/crypto v0.0.0-20190313024323-a1f597ede03a/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= -golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= -golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1167,13 +1274,13 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20200924195034-c827fd4f18b9 h1:0cRDak1hoWbor1hDM+mvD9xp3f1wcxvEubvb3AiP/5I= -golang.org/x/exp v0.0.0-20200924195034-c827fd4f18b9/go.mod h1:1phAWC201xIgDyaFpmDeZkgf70Q4Pd/CNqfRtVPtxNw= +golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 h1:yixxcjnhBmY0nkL253HFVIm0JsFHwrHdT3Yh6szTnfY= +golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.8.0 h1:agUcRXV/+w6L9ryntYYsF2x9fQTMd4T8fiiYXAVW6Jg= -golang.org/x/image v0.8.0/go.mod h1:PwLxp3opCYg4WR2WO9P0L6ESnsD6bLTWcw8zanLMVFM= +golang.org/x/image v0.13.0 h1:3cge/F/QTkNLauhf2QoE9zp+7sr+ZcL4HnoZmdwg9sg= +golang.org/x/image v0.13.0/go.mod h1:6mmbMOeV28HuMTgA6OSRkdXKYw/t5W9Uwn2Yv1r3Yxk= golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -1195,15 +1302,14 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.1-0.20200828183125-ce943fd02449/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= +golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0= +golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1248,6 +1354,7 @@ golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= golang.org/x/net v0.0.0-20210427231257-85d9c07bbe3a/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= @@ -1269,12 +1376,11 @@ golang.org/x/net v0.0.0-20221012135044-0b7e1fb9d458/go.mod h1:YDH+HFinaLZZlnHAfS golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= -golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= +golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -1292,6 +1398,7 @@ golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= @@ -1304,8 +1411,8 @@ golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec= golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I= -golang.org/x/oauth2 v0.7.0 h1:qe6s0zUXlPX80/dITx3440hWZ7GwMwgDDyrSGTPJG/g= -golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= +golang.org/x/oauth2 v0.17.0 h1:6m3ZPmLEFdVxKKWnKq4VqZ60gutO35zm+zrAHVmHyDQ= +golang.org/x/oauth2 v0.17.0/go.mod h1:OzPDGQiuQMguemayvdylqddI7qcD9lnSDb+1FiwQ5HA= golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1318,10 +1425,13 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220513210516-0976fa681c29/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1329,6 +1439,7 @@ golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20181029174526-d69651ed3497/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190316082340-a2f829d7f35f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1339,15 +1450,21 @@ golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1371,10 +1488,12 @@ golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1389,6 +1508,7 @@ golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1411,17 +1531,15 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= -golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= -golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1438,9 +1556,8 @@ golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1463,6 +1580,7 @@ golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgw golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1507,10 +1625,8 @@ golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= -golang.org/x/tools v0.4.0/go.mod h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.12.0 h1:YW6HUoUmYBpwSgyaGaZq1fHjrBjX1rlpZ54T6mu2kss= -golang.org/x/tools v0.12.0/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM= +golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA= +golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1554,6 +1670,7 @@ google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6 google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= +google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= @@ -1564,6 +1681,7 @@ google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69 google.golang.org/api v0.77.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= +google.golang.org/api v0.81.0/go.mod h1:FA6Mb/bZxj706H2j+j2d6mHEEaHBmbbWnkfvmorOCko= google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= google.golang.org/api v0.85.0/go.mod h1:AqZf8Ep9uZ2pyTvgL+x0D3Zt0eoT9b5E8fmzfu6FO2g= google.golang.org/api v0.90.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= @@ -1586,8 +1704,9 @@ google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7 google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= +google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20181029155118-b69ba1387ce2/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= @@ -1651,6 +1770,8 @@ google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEc google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= @@ -1672,6 +1793,7 @@ google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= @@ -1709,6 +1831,8 @@ google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ google.golang.org/genproto v0.0.0-20230124163310-31e0e69b6fc2/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44/go.mod h1:8B0gmkoRebU8ukX6HP+4wrVQUY1+6PkQ44BSyIlflHA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de h1:cZGRis4/ot9uVm639a+rHCUaG0JJHEsdyzSQTMX+suY= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:H4O17MA/PE9BsGx3w+a+W2VOLLD1Qf7oJneAoU6WktY= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= @@ -1750,6 +1874,8 @@ google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCD google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= @@ -1766,8 +1892,8 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= -google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc h1:2gGKlE2+asNV9m7xrywl36YYNnBG5ZQ0r/BOOxqPpmk= gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk= @@ -1788,12 +1914,12 @@ gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc= gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= +gopkg.in/telebot.v3 v3.2.1 h1:3I4LohaAyJBiivGmkfB+CiVu7QFOWkuZ4+KHgO/G3rs= +gopkg.in/telebot.v3 v3.2.1/go.mod h1:GJKwwWqp9nSkIVN51eRKU78aB5f5OnQuWdwiIZfPbko= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/tomb.v2 v2.0.0-20161208151619-d5d1b5820637 h1:yiW+nvdHb9LVqSHQBXfZCieqV4fzYhNBql77zY0ykqs= gopkg.in/tomb.v2 v2.0.0-20161208151619-d5d1b5820637/go.mod h1:BHsqpu/nsuzkT5BpiH1EMZPLyqSMM8JbIavyFACoFNk= -gopkg.in/tucnak/telebot.v2 v2.5.0 h1:i+NynLo443Vp+Zn3Gv9JBjh3Z/PaiKAQwcnhNI7y6Po= -gopkg.in/tucnak/telebot.v2 v2.5.0/go.mod h1:BgaIIx50PSRS9pG59JH+geT82cfvoJU/IaI5TJdN3v8= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -1820,5 +1946,6 @@ honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9 rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= +sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= sourcegraph.com/sourcegraph/go-diff v0.5.0/go.mod h1:kuch7UrkMzY0X+p9CRK03kfuPQ2zzQcaEFbx8wA8rck= sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4/go.mod h1:ketZ/q3QxT9HOBeFhu6RdvsftgpsbFHBF5Cas6cDKZ0= diff --git a/helpers.go b/helpers.go index 1c4a367a5..c0432ca21 100644 --- a/helpers.go +++ b/helpers.go @@ -7,7 +7,7 @@ import ( "time" ) -// BytesScanner allows to scan for subslices separated by separator +// BytesScanner allows to scan for subslices separated by separator. type BytesScanner struct { source []byte index int @@ -15,12 +15,12 @@ type BytesScanner struct { emitEmptySlice bool } -// HasNext checks if next subslice available or not +// HasNext checks if next subslice available or not. func (it *BytesScanner) HasNext() bool { return it.index < len(it.source) || it.emitEmptySlice } -// Next returns available subslice and advances the scanner to next slice +// Next returns available subslice and advances the scanner to next slice. func (it *BytesScanner) Next() (result []byte) { if it.emitEmptySlice { it.emitEmptySlice = false @@ -45,7 +45,7 @@ func (it *BytesScanner) Next() (result []byte) { } // NewBytesScanner slices bytes into all subslices separated by separator and returns a scanner -// which allows scanning for these subslices +// which allows scanning for these subslices. func NewBytesScanner(bytes []byte, separator byte) *BytesScanner { return &BytesScanner{ source: bytes, @@ -55,12 +55,12 @@ func NewBytesScanner(bytes []byte, separator byte) *BytesScanner { } } -// Int64ToTime returns time.Time from int64 +// Int64ToTime returns time.Time from int64. func Int64ToTime(timeStamp int64) time.Time { return time.Unix(timeStamp, 0).UTC() } -// UseString gets pointer value of string or default string if pointer is nil +// UseString gets pointer value of string or default string if pointer is nil. func UseString(str *string) string { if str == nil { return "" @@ -68,7 +68,7 @@ func UseString(str *string) string { return *str } -// UseFloat64 gets pointer value of float64 or default float64 if pointer is nil +// UseFloat64 gets pointer value of float64 or default float64 if pointer is nil. func UseFloat64(f *float64) float64 { if f == nil { return 0 @@ -76,12 +76,12 @@ func UseFloat64(f *float64) float64 { return *f } -// IsFiniteNumber checks float64 for Inf and NaN. If it is then float64 is not valid +// IsFiniteNumber checks float64 for Inf and NaN. If it is then float64 is not valid. func IsFiniteNumber(val float64) bool { return !(math.IsNaN(val) || math.IsInf(val, 0)) } -// Subset return whether first is a subset of second +// Subset return whether first is a subset of second. func Subset(first, second []string) bool { set := make(map[string]bool) for _, value := range second { @@ -120,7 +120,7 @@ func GetStringListsDiff(stringLists ...[]string) []string { return result } -// GetStringListsUnion returns the union set of stringLists +// GetStringListsUnion returns the union set of stringLists. func GetStringListsUnion(stringLists ...[]string) []string { if len(stringLists) == 0 { return []string{} @@ -171,7 +171,7 @@ func GetTriggerListsDiff(triggerLists ...[]*Trigger) []*Trigger { return result } -// ChunkSlice gets slice of strings and chunks it to a given size. It returns a batch of chunked lists +// ChunkSlice gets slice of strings and chunks it to a given size. It returns a batch of chunked lists. func ChunkSlice(original []string, chunkSize int) (divided [][]string) { if chunkSize < 1 { return @@ -199,7 +199,7 @@ func MaxInt64(a, b int64) int64 { return b } -// ReplaceSubstring removes one substring between the beginning and end substrings and replaces it with a replaced +// ReplaceSubstring removes one substring between the beginning and end substrings and replaces it with a replaced. func ReplaceSubstring(str, begin, end, replaced string) string { result := str startIndex := strings.Index(str, begin) @@ -213,3 +213,40 @@ func ReplaceSubstring(str, begin, end, replaced string) string { } return result } + +type Comparable interface { + Less(other Comparable) (bool, error) +} + +// Merge is a generic function that performs a merge of two sorted arrays into one sorted array. +func MergeToSorted[T Comparable](arr1, arr2 []T) ([]T, error) { + merged := make([]T, 0, len(arr1)+len(arr2)) + i, j := 0, 0 + + for i < len(arr1) && j < len(arr2) { + less, err := arr1[i].Less(arr2[j]) + if err != nil { + return nil, err + } + + if less { + merged = append(merged, arr1[i]) + i++ + } else { + merged = append(merged, arr2[j]) + j++ + } + } + + for i < len(arr1) { + merged = append(merged, arr1[i]) + i++ + } + + for j < len(arr2) { + merged = append(merged, arr2[j]) + j++ + } + + return merged, nil +} diff --git a/helpers_test.go b/helpers_test.go index 803376070..d9c3ca4ee 100644 --- a/helpers_test.go +++ b/helpers_test.go @@ -242,7 +242,7 @@ func testRounding(baseTimestamp, retention int64) { } func TestReplaceSubstring(t *testing.T) { - Convey("test replace substring", t, func() { + Convey("Test replace substring", t, func() { Convey("replacement string in the middle", func() { So(ReplaceSubstring("telebot: Post https://api.telegram.org/botXXX/getMe", "/bot", "/", "[DELETED]"), ShouldResemble, "telebot: Post https://api.telegram.org/bot[DELETED]/getMe") }) @@ -264,3 +264,78 @@ func TestReplaceSubstring(t *testing.T) { }) }) } + +type myInt int + +func (m myInt) Less(other Comparable) (bool, error) { + otherInt := other.(myInt) + return m < otherInt, nil +} + +type myTest struct { + value int +} + +func (test myTest) Less(other Comparable) (bool, error) { + otherTest := other.(myTest) + return test.value < otherTest.value, nil +} + +func TestMergeToSorted(t *testing.T) { + Convey("Test MergeToSorted function", t, func() { + Convey("Test with two nil arrays", func() { + merged, err := MergeToSorted[myInt](nil, nil) + So(err, ShouldBeNil) + So(merged, ShouldResemble, []myInt{}) + }) + + Convey("Test with one nil array", func() { + merged, err := MergeToSorted[myInt](nil, []myInt{1, 2, 3}) + So(err, ShouldBeNil) + So(merged, ShouldResemble, []myInt{1, 2, 3}) + }) + + Convey("Test with two arrays", func() { + merged, err := MergeToSorted[myInt]([]myInt{4, 5}, []myInt{1, 2, 3}) + So(err, ShouldBeNil) + So(merged, ShouldResemble, []myInt{1, 2, 3, 4, 5}) + }) + + Convey("Test with empty array", func() { + merged, err := MergeToSorted[myInt]([]myInt{-4, 5}, []myInt{}) + So(err, ShouldBeNil) + So(merged, ShouldResemble, []myInt{-4, 5}) + }) + + Convey("Test with sorted values but mixed up", func() { + merged, err := MergeToSorted[myInt]([]myInt{1, 9, 10}, []myInt{4, 8, 12}) + So(err, ShouldBeNil) + So(merged, ShouldResemble, []myInt{1, 4, 8, 9, 10, 12}) + }) + + Convey("Test with structure type", func() { + arr1 := []myTest{ + { + value: 1, + }, + { + value: 2, + }, + } + + arr2 := []myTest{ + { + value: -2, + }, + { + value: -1, + }, + } + + expected := append(arr2, arr1...) + merged, err := MergeToSorted[myTest](arr1, arr2) + So(err, ShouldBeNil) + So(merged, ShouldResemble, expected) + }) + }) +} diff --git a/image_store/s3/config.go b/image_store/s3/config.go index a072bb23a..7b7a92b05 100644 --- a/image_store/s3/config.go +++ b/image_store/s3/config.go @@ -1,6 +1,6 @@ package s3 -// Config is the configuration structure for s3 image store +// Config is the configuration structure for s3 image store. type Config struct { AccessKeyID string `yaml:"access_key_id"` AccessKey string `yaml:"access_key"` diff --git a/image_store/s3/init.go b/image_store/s3/init.go index 785e1378e..bd8aeb777 100644 --- a/image_store/s3/init.go +++ b/image_store/s3/init.go @@ -10,7 +10,7 @@ import ( "github.com/aws/aws-sdk-go/aws/session" ) -// ImageStore implements the ImageStore interface for aws s3 +// ImageStore implements the ImageStore interface for aws s3. type ImageStore struct { sess *session.Session uploader *s3manager.Uploader @@ -18,7 +18,7 @@ type ImageStore struct { enabled bool } -// Init initializes the s3 image store with config from the yaml file +// Init initializes the s3 image store with config from the yaml file. func (imageStore *ImageStore) Init(config Config) error { awsconfig := &aws.Config{} @@ -43,7 +43,7 @@ func (imageStore *ImageStore) Init(config Config) error { var err error imageStore.sess, err = session.NewSession(awsconfig) if err != nil { - return fmt.Errorf("could not configure s3 session: %s", err) + return fmt.Errorf("could not configure s3 session: %w", err) } imageStore.uploader = s3manager.NewUploader(imageStore.sess) @@ -51,7 +51,7 @@ func (imageStore *ImageStore) Init(config Config) error { return nil } -// IsEnabled indicates whether the image store has been configured or not +// IsEnabled indicates whether the image store has been configured or not. func (imageStore *ImageStore) IsEnabled() bool { return imageStore.enabled } diff --git a/image_store/s3/store.go b/image_store/s3/store.go index e26ce2962..9fe0cdd47 100644 --- a/image_store/s3/store.go +++ b/image_store/s3/store.go @@ -10,15 +10,15 @@ import ( "github.com/gofrs/uuid" ) -// StoreImage stores an image in aws s3 and returns the link to it +// StoreImage stores an image in aws s3 and returns the link to it. func (imageStore *ImageStore) StoreImage(image []byte) (string, error) { uploadInput, err := imageStore.buildUploadInput(image) if err != nil { - return "", fmt.Errorf("error while creating upload input: %s", err) + return "", fmt.Errorf("error while creating upload input: %w", err) } result, err := imageStore.uploader.Upload(uploadInput) if err != nil { - return "", fmt.Errorf("error while uploading to s3: %s", err) + return "", fmt.Errorf("error while uploading to s3: %w", err) } return result.Location, nil @@ -27,7 +27,7 @@ func (imageStore *ImageStore) StoreImage(image []byte) (string, error) { func (imageStore *ImageStore) buildUploadInput(image []byte) (*s3manager.UploadInput, error) { uuid, err := uuid.NewV4() if err != nil { - return nil, fmt.Errorf("failed to generate uuid: %s", err) + return nil, fmt.Errorf("failed to generate uuid: %w", err) } key := "moira-plots/" + uuid.String() return &s3manager.UploadInput{ diff --git a/index/actualizer_test.go b/index/actualizer_test.go index 1a8861dbf..8ecf9beba 100644 --- a/index/actualizer_test.go +++ b/index/actualizer_test.go @@ -6,9 +6,9 @@ import ( "github.com/moira-alert/moira/metrics" - "github.com/golang/mock/gomock" logging "github.com/moira-alert/moira/logging/zerolog_adapter" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" "github.com/moira-alert/moira" "github.com/moira-alert/moira/index/fixtures" diff --git a/index/bleve/delete.go b/index/bleve/delete.go index 116740df2..cedd03111 100644 --- a/index/bleve/delete.go +++ b/index/bleve/delete.go @@ -1,6 +1,6 @@ package bleve -// Delete removes triggerIDs from TriggerIndex +// Delete removes triggerIDs from TriggerIndex. func (index *TriggerIndex) Delete(triggerIDs []string) error { batch := index.index.NewBatch() defer batch.Reset() diff --git a/index/bleve/search.go b/index/bleve/search.go index be5eef2dd..548c01a84 100644 --- a/index/bleve/search.go +++ b/index/bleve/search.go @@ -11,9 +11,9 @@ import ( ) // Search gets search params and returns triggerIDs in following order: -// TriggerCheck.Score (desc) -// Relevance (asc) -// Trigger.Name (asc) +// TriggerCheck.Score (desc). +// Relevance (asc). +// Trigger.Name (asc). func (index *TriggerIndex) Search(options moira.SearchOptions) (searchResults []*moira.SearchResult, total int64, err error) { if options.Size < 0 { options.Page = 0 diff --git a/index/bleve/trigger_index.go b/index/bleve/trigger_index.go index c836a95df..1300c440c 100644 --- a/index/bleve/trigger_index.go +++ b/index/bleve/trigger_index.go @@ -6,12 +6,12 @@ import ( "github.com/blevesearch/bleve/v2/mapping" ) -// TriggerIndex is implementation of index.TriggerIndex interface +// TriggerIndex is implementation of index.TriggerIndex interface. type TriggerIndex struct { index bleve.Index } -// CreateTriggerIndex returns TriggerIndex by provided mapping +// CreateTriggerIndex returns TriggerIndex by provided mapping. func CreateTriggerIndex(mapping mapping.IndexMapping) (*TriggerIndex, error) { bleveIdx, err := bleve.NewUsing("", mapping, scorch.Name, scorch.Name, map[string]interface{}{}) if err != nil { @@ -23,7 +23,7 @@ func CreateTriggerIndex(mapping mapping.IndexMapping) (*TriggerIndex, error) { return newIndex, nil } -// GetCount returns number of documents in TriggerIndex +// GetCount returns number of documents in TriggerIndex. func (index *TriggerIndex) GetCount() (int64, error) { documents, err := index.index.DocCount() if err != nil { diff --git a/index/bleve/write.go b/index/bleve/write.go index c66c825c1..6776c80ba 100644 --- a/index/bleve/write.go +++ b/index/bleve/write.go @@ -6,7 +6,7 @@ import ( "github.com/moira-alert/moira/index/mapping" ) -// Write adds moira.TriggerChecks to TriggerIndex +// Write adds moira.TriggerChecks to TriggerIndex. func (index *TriggerIndex) Write(checks []*moira.TriggerCheck) error { batch := index.index.NewBatch() defer batch.Reset() @@ -22,7 +22,7 @@ func (index *TriggerIndex) Write(checks []*moira.TriggerCheck) error { return index.index.Batch(batch) } -// used as abstraction +// used as abstraction. func (index *TriggerIndex) batchIndexTriggerCheck(batch *bleve.Batch, triggerCheck *moira.TriggerCheck) error { return batch.Index(triggerCheck.ID, mapping.CreateIndexedTrigger(triggerCheck)) } diff --git a/index/fixtures/fixtures.go b/index/fixtures/fixtures.go index e9413e286..0b68b0b40 100644 --- a/index/fixtures/fixtures.go +++ b/index/fixtures/fixtures.go @@ -72,7 +72,7 @@ func (its *fixtureIndexedTriggers) ToTriggerIDs() []string { return triggerIDs } -// IndexedTriggerTestCases is a fixture to test fulltext search +// IndexedTriggerTestCases is a fixture to test fulltext search. var IndexedTriggerTestCases = fixtureIndexedTriggers{ list: []fixtureIndexedTrigger{ { diff --git a/index/index.go b/index/index.go index c96bd9033..c1667290c 100644 --- a/index/index.go +++ b/index/index.go @@ -10,7 +10,7 @@ import ( const defaultIndexBatchSize = 1000 -// TriggerIndex is index for moira.TriggerChecks type +// TriggerIndex is index for moira.TriggerChecks type. type TriggerIndex interface { Search(options moira.SearchOptions) (searchResults []*moira.SearchResult, total int64, err error) Write(checks []*moira.TriggerCheck) error @@ -18,7 +18,7 @@ type TriggerIndex interface { GetCount() (int64, error) } -// Index represents Index for Bleve.Index type +// Index represents Index for Bleve.Index type. type Index struct { triggerIndex TriggerIndex logger moira.Logger @@ -30,7 +30,7 @@ type Index struct { indexActualizedTS int64 } -// NewSearchIndex return new Index object +// NewSearchIndex return new Index object. func NewSearchIndex(logger moira.Logger, database moira.Database, metricsRegistry metrics.Registry) *Index { var err error newIndex := Index{ @@ -46,7 +46,7 @@ func NewSearchIndex(logger moira.Logger, database moira.Database, metricsRegistr return &newIndex } -// Start initializes index. It creates new mapping and index all triggers from database +// Start initializes index. It creates new mapping and index all triggers from database. func (index *Index) Start() error { if index.inProgress || index.indexed { return nil @@ -68,12 +68,12 @@ func (index *Index) Start() error { return nil } -// IsReady returns boolean value which determines if index is ready to use +// IsReady returns boolean value which determines if index is ready to use. func (index *Index) IsReady() bool { return index.indexed } -// Stop stops checks triggers +// Stop stops checks triggers. func (index *Index) Stop() error { index.logger.Info().Msg("Stop search index") index.tomb.Kill(nil) diff --git a/index/index_test.go b/index/index_test.go index 038d56398..d552a8415 100644 --- a/index/index_test.go +++ b/index/index_test.go @@ -7,8 +7,8 @@ import ( "github.com/moira-alert/moira/metrics" bleveOriginal "github.com/blevesearch/bleve/v2" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" + "go.uber.org/mock/gomock" . "github.com/smartystreets/goconvey/convey" @@ -47,7 +47,7 @@ func TestGetTriggerChecksWithRetries(t *testing.T) { dataBase.EXPECT().GetTriggerChecks(randomBatch).Return(nil, expectedError).Times(3) actualData, actualError := index.getTriggerChecksWithRetries(randomBatch) So(actualData, ShouldBeEmpty) - So(actualError, ShouldResemble, fmt.Errorf("cannot get trigger checks from DB after 3 tries, last error: %s", expectedError)) + So(actualError.Error(), ShouldResemble, fmt.Sprintf("cannot get trigger checks from DB after 3 tries, last error: %v", expectedError)) }) } diff --git a/index/mapping/field_data.go b/index/mapping/field_data.go index dd50e4c10..d7eb25f30 100644 --- a/index/mapping/field_data.go +++ b/index/mapping/field_data.go @@ -1,9 +1,9 @@ package mapping -// FieldData is container for field-related parameters -// name represents indexed object field name -// nameTag represents highlight field name for given field in search result, if value is empty then the highlight for this field is not used -// priority represents sort priority for given field +// FieldData is container for field-related parameters. +// name represents indexed object field name. +// nameTag represents highlight field name for given field in search result, if value is empty then the highlight for this field is not used. +// priority represents sort priority for given field. type FieldData struct { name string nameTag string @@ -20,7 +20,7 @@ func (field FieldData) GetTagValue() string { return field.nameTag } -// GetPriority returns field priority +// GetPriority returns field priority. func (field FieldData) GetPriority() float64 { return field.priority } diff --git a/index/mapping/mapping.go b/index/mapping/mapping.go index c3c0193d2..332d2d33d 100644 --- a/index/mapping/mapping.go +++ b/index/mapping/mapping.go @@ -5,13 +5,13 @@ import ( "github.com/blevesearch/bleve/v2/mapping" ) -// DocumentMapping implements mapping.DocumentMapping functionality +// DocumentMapping implements mapping.DocumentMapping functionality. type DocumentMapping interface { GetDocumentMapping() *mapping.DocumentMapping Type() string } -// BuildIndexMapping gets slice of documents (DocumentMapping interface) and returns index with those documents mappings +// BuildIndexMapping gets slice of documents (DocumentMapping interface) and returns index with those documents mappings. func BuildIndexMapping(documents ...DocumentMapping) mapping.IndexMapping { indexMapping := bleve.NewIndexMapping() diff --git a/index/mapping/trigger.go b/index/mapping/trigger.go index 875cda696..2c0672bc4 100644 --- a/index/mapping/trigger.go +++ b/index/mapping/trigger.go @@ -7,21 +7,21 @@ import ( ) var ( - // TriggerID represents field data for moira.Trigger.ID + // TriggerID represents field data for moira.Trigger.ID. TriggerID = FieldData{"ID", "id", 5} - // TriggerName represents field data for moira.Trigger.Name + // TriggerName represents field data for moira.Trigger.Name. TriggerName = FieldData{"Name", "name", 3} - // TriggerDesc represents field data for moira.Trigger.Desc + // TriggerDesc represents field data for moira.Trigger.Desc. TriggerDesc = FieldData{"Desc", "desc", 1} - // TriggerTags represents field data for moira.Trigger.Tags + // TriggerTags represents field data for moira.Trigger.Tags. TriggerTags = FieldData{"Tags", "tags", 0} - // TriggerCreatedBy represents field data for moira.Trigger.CreatedBy + // TriggerCreatedBy represents field data for moira.Trigger.CreatedBy. TriggerCreatedBy = FieldData{"CreatedBy", "created_by", 0} - // TriggerLastCheckScore represents field data for moira.CheckData score + // TriggerLastCheckScore represents field data for moira.CheckData score. TriggerLastCheckScore = FieldData{"LastCheckScore", "", 0} ) -// Trigger represents Moira.Trigger type for full-text search index. It includes only indexed fields +// Trigger represents Moira.Trigger type for full-text search index. It includes only indexed fields. type Trigger struct { ID string Name string @@ -31,12 +31,12 @@ type Trigger struct { LastCheckScore int64 } -// Type returns string with type name. It is used for Bleve.Search +// Type returns string with type name. It is used for Bleve.Search. func (Trigger) Type() string { return "moira.indexed.trigger" } -// GetDocumentMapping returns Bleve.mapping.DocumentMapping for Trigger type +// GetDocumentMapping returns Bleve.mapping.DocumentMapping for Trigger type. func (Trigger) GetDocumentMapping() *mapping.DocumentMapping { triggerMapping := bleve.NewDocumentStaticMapping() @@ -49,7 +49,7 @@ func (Trigger) GetDocumentMapping() *mapping.DocumentMapping { return triggerMapping } -// CreateIndexedTrigger creates mapping.Trigger object out of moira.TriggerCheck +// CreateIndexedTrigger creates mapping.Trigger object out of moira.TriggerCheck. func CreateIndexedTrigger(triggerCheck *moira.TriggerCheck) Trigger { return Trigger{ ID: triggerCheck.ID, diff --git a/index/mapping/trigger_test.go b/index/mapping/trigger_test.go index 3cc0b0c2f..72dbc53b8 100644 --- a/index/mapping/trigger_test.go +++ b/index/mapping/trigger_test.go @@ -43,13 +43,13 @@ func TestTriggerField_GetTagValue(t *testing.T) { }) } -// getTagByFieldName returns corresponding moira.Trigger JSON tag for given trigger field +// getTagByFieldName returns corresponding moira.Trigger JSON tag for given trigger field. func getTagByFieldName(fieldName string) string { var trigger moira.Trigger var fieldTag string if field, ok := reflect.TypeOf(&trigger).Elem().FieldByName(fieldName); ok { fieldTag = field.Tag.Get("json") - fieldTag = strings.Replace(fieldTag, ",omitempty", "", -1) + fieldTag = strings.ReplaceAll(fieldTag, ",omitempty", "") } return fieldTag } diff --git a/index/search.go b/index/search.go index 9b9a5b0d7..ca002805e 100644 --- a/index/search.go +++ b/index/search.go @@ -11,7 +11,7 @@ const ( indexWaitTimeout = time.Second * 3 ) -// SearchTriggers search for triggers in index and returns slice of trigger IDs +// SearchTriggers search for triggers in index and returns slice of trigger IDs. func (index *Index) SearchTriggers(options moira.SearchOptions) (searchResults []*moira.SearchResult, total int64, err error) { if !index.checkIfIndexIsReady() { return make([]*moira.SearchResult, 0), 0, fmt.Errorf("index is not ready, please try later") diff --git a/index/search_test.go b/index/search_test.go index 131c18348..df17a0170 100644 --- a/index/search_test.go +++ b/index/search_test.go @@ -5,9 +5,9 @@ import ( "github.com/moira-alert/moira/metrics" - "github.com/golang/mock/gomock" logging "github.com/moira-alert/moira/logging/zerolog_adapter" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" "github.com/moira-alert/moira" "github.com/moira-alert/moira/index/fixtures" diff --git a/index/triggers.go b/index/triggers.go index 5d32b2830..800f2bf66 100644 --- a/index/triggers.go +++ b/index/triggers.go @@ -6,17 +6,15 @@ import ( "github.com/moira-alert/moira" ) -var ( - fakeTriggerToIndex = &moira.TriggerCheck{ - Trigger: moira.Trigger{ - ID: "This.Is.Fake.Trigger.ID.It.Should.Not.Exist.In.Real.Life", - Name: "Fake trigger to index", - }, - LastCheck: moira.CheckData{ - Score: 0, - }, - } -) +var fakeTriggerToIndex = &moira.TriggerCheck{ + Trigger: moira.Trigger{ + ID: "This.Is.Fake.Trigger.ID.It.Should.Not.Exist.In.Real.Life", + Name: "Fake trigger to index", + }, + LastCheck: moira.CheckData{ + Score: 0, + }, +} func (index *Index) fillIndex() error { index.logger.Debug().Msg("Start filling index with triggers") diff --git a/integration_tests/notifier/notifier_test.go b/integration_tests/notifier/notifier_test.go index a77e4dd47..e8f9a814b 100644 --- a/integration_tests/notifier/notifier_test.go +++ b/integration_tests/notifier/notifier_test.go @@ -5,9 +5,11 @@ import ( "testing" "time" - "github.com/golang/mock/gomock" + "github.com/moira-alert/moira/clock" + metricSource "github.com/moira-alert/moira/metric_source" "github.com/moira-alert/moira/metric_source/local" + "go.uber.org/mock/gomock" "github.com/moira-alert/moira" "github.com/moira-alert/moira/database/redis" @@ -20,29 +22,35 @@ import ( ) var senderSettings = map[string]interface{}{ - "type": "mega-sender", + "sender_type": "mega-sender", + "contact_type": "mega-contact", } -var location, _ = time.LoadLocation("UTC") -var dateTimeFormat = "15:04 02.01.2006" +var ( + location, _ = time.LoadLocation("UTC") + dateTimeFormat = "15:04 02.01.2006" +) var notifierConfig = notifier.Config{ - SendingTimeout: time.Millisecond * 10, - ResendingTimeout: time.Hour * 24, - Location: location, - DateTimeFormat: dateTimeFormat, - ReadBatchSize: notifier.NotificationsLimitUnlimited, + SendingTimeout: time.Millisecond * 10, + ResendingTimeout: time.Hour * 24, + ReschedulingDelay: time.Minute, + Location: location, + DateTimeFormat: dateTimeFormat, + ReadBatchSize: notifier.NotificationsLimitUnlimited, } var shutdown = make(chan struct{}) -var notifierMetrics = metrics.ConfigureNotifierMetrics(metrics.NewDummyRegistry(), "notifier") -var logger, _ = logging.GetLogger("Notifier_Test") -var mockCtrl *gomock.Controller +var ( + notifierMetrics = metrics.ConfigureNotifierMetrics(metrics.NewDummyRegistry(), "notifier") + logger, _ = logging.GetLogger("Notifier_Test") + mockCtrl *gomock.Controller +) var contact = moira.ContactData{ ID: "ContactID-000000000000001", - Type: "mega-sender", + Type: "mega-contact", Value: "mail1@example.com", } @@ -55,10 +63,12 @@ var subscription = moira.SubscriptionData{ } var trigger = moira.Trigger{ - ID: "triggerID-0000000000001", - Name: "test trigger 1", - Targets: []string{"test.target.1"}, - Tags: []string{"test-tag-1"}, + ID: "triggerID-0000000000001", + Name: "test trigger 1", + Targets: []string{"test.target.1"}, + Tags: []string{"test-tag-1"}, + TriggerSource: moira.GraphiteLocal, + ClusterId: moira.DefaultCluster, } var triggerData = moira.TriggerData{ @@ -81,12 +91,39 @@ func TestNotifier(t *testing.T) { defer mockCtrl.Finish() database := redis.NewTestDatabase(logger) - database.SaveContact(&contact) //nolint - database.SaveSubscription(&subscription) //nolint - database.SaveTrigger(trigger.ID, &trigger) //nolint - database.PushNotificationEvent(&event, true) //nolint - metricsSourceProvider := metricSource.CreateMetricSourceProvider(local.Create(database), nil, nil) + err := database.SaveContact(&contact) + if err != nil { + t.Fail() + fmt.Printf("Error occurred: %s\n", err.Error()) + return + } + + err = database.SaveSubscription(&subscription) + if err != nil { + t.Fail() + fmt.Printf("Error occurred: %s\n", err.Error()) + return + } + + err = database.SaveTrigger(trigger.ID, &trigger) + if err != nil { + t.Fail() + fmt.Printf("Error occurred: %s\n", err.Error()) + return + } + + err = database.PushNotificationEvent(&event, true) + if err != nil { + t.Fail() + fmt.Printf("Error occurred: %s\n", err.Error()) + return + } + + metricsSourceProvider := metricSource.CreateTestMetricSourceProvider(local.Create(database), nil, nil) + + systemClock := clock.NewSystemClock() + schedulerConfig := notifier.SchedulerConfig{ReschedulingDelay: notifierConfig.ReschedulingDelay} notifierInstance := notifier.NewNotifier( database, @@ -95,6 +132,8 @@ func TestNotifier(t *testing.T) { notifierMetrics, metricsSourceProvider, map[string]moira.ImageStore{}, + systemClock, + schedulerConfig, ) sender := mock_moira_alert.NewMockSender(mockCtrl) @@ -110,15 +149,23 @@ func TestNotifier(t *testing.T) { notifierInstance.RegisterSender(senderSettings, sender) //nolint fetchEventsWorker := events.FetchEventsWorker{ - Database: database, - Logger: logger, - Metrics: notifierMetrics, - Scheduler: notifier.NewScheduler(database, logger, notifierMetrics), + Database: database, + Logger: logger, + Metrics: notifierMetrics, + Scheduler: notifier.NewScheduler( + database, + logger, + notifierMetrics, + notifier.SchedulerConfig{ + ReschedulingDelay: notifierConfig.ReschedulingDelay, + }, + systemClock), } fetchNotificationsWorker := notifications.FetchNotificationsWorker{ Database: database, Logger: logger, + Metrics: notifierMetrics, Notifier: notifierInstance, } diff --git a/interfaces.go b/interfaces.go index 8b5ffbd1f..bd3ba84a9 100644 --- a/interfaces.go +++ b/interfaces.go @@ -8,7 +8,7 @@ import ( "gopkg.in/tomb.v2" ) -// Database implements DB functionality +// Database implements DB functionality. type Database interface { // SelfState UpdateMetricsHeartbeat() error @@ -21,24 +21,23 @@ type Database interface { // Tag storing GetTagNames() ([]string, error) + CreateTags(tags []string) error RemoveTag(tagName string) error GetTagTriggerIDs(tagName string) ([]string, error) CleanUpAbandonedTags() (int, error) // LastCheck storing GetTriggerLastCheck(triggerID string) (CheckData, error) - SetTriggerLastCheck(triggerID string, checkData *CheckData, triggerSource TriggerSource) error + SetTriggerLastCheck(triggerID string, checkData *CheckData, clusterKey ClusterKey) error RemoveTriggerLastCheck(triggerID string) error SetTriggerCheckMaintenance(triggerID string, metrics map[string]int64, triggerMaintenance *int64, userLogin string, timeCallMaintenance int64) error CleanUpAbandonedTriggerLastCheck() error // Trigger storing GetAllTriggerIDs() ([]string, error) - GetLocalTriggerIDs() ([]string, error) - GetRemoteTriggerIDs() ([]string, error) - GetPrometheusTriggerIDs() ([]string, error) + GetTriggerIDs(clusterKey ClusterKey) ([]string, error) - GetTriggerCount() (map[TriggerSource]int64, error) + GetTriggerCount(clusterKeys []ClusterKey) (map[ClusterKey]int64, error) GetTrigger(triggerID string) (Trigger, error) GetTriggers(triggerIDs []string) ([]*Trigger, error) @@ -109,21 +108,13 @@ type Database interface { GetMetricRetention(metric string) (int64, error) GetMetricsValues(metrics []string, from int64, until int64) (map[string][]*MetricValue, error) RemoveMetricRetention(metric string) error - RemoveMetricValues(metric string, toTime int64) (int64, error) + RemoveMetricValues(metric string, from, to string) (int64, error) RemoveMetricsValues(metrics []string, toTime int64) error GetMetricsTTLSeconds() int64 - AddLocalTriggersToCheck(triggerIDs []string) error - GetLocalTriggersToCheck(count int) ([]string, error) - GetLocalTriggersToCheckCount() (int64, error) - - AddRemoteTriggersToCheck(triggerIDs []string) error - GetRemoteTriggersToCheck(count int) ([]string, error) - GetRemoteTriggersToCheckCount() (int64, error) - - AddPrometheusTriggersToCheck(triggerIDs []string) error - GetPrometheusTriggersToCheck(count int) ([]string, error) - GetPrometheusTriggersToCheckCount() (int64, error) + AddTriggersToCheck(clusterKey ClusterKey, triggerIDs []string) error + GetTriggersToCheck(clusterKey ClusterKey, count int) ([]string, error) + GetTriggersToCheckCount(clusterKey ClusterKey) (int64, error) // TriggerCheckLock storing AcquireTriggerCheckLock(triggerID string, maxAttemptsCount int) error @@ -132,8 +123,8 @@ type Database interface { ReleaseTriggerCheckLock(triggerID string) // Bot data storing - GetIDByUsername(messenger, username string) (string, error) - SetUsernameID(messenger, username, id string) error + GetChatByUsername(messenger, username string) (string, error) + SetUsernameChat(messenger, username, chatRaw string) error RemoveUser(messenger, username string) error // Triggers without subscription manipulation @@ -159,25 +150,27 @@ type Database interface { // Metrics management CleanUpOutdatedMetrics(duration time.Duration) error + CleanUpFutureMetrics(duration time.Duration) error + CleanupOutdatedPatternMetrics() (int64, error) CleanUpAbandonedRetentions() error RemoveMetricsByPrefix(pattern string) error RemoveAllMetrics() error } -// Lock implements lock abstraction +// Lock implements lock abstraction. type Lock interface { Acquire(stop <-chan struct{}) (lost <-chan struct{}, error error) Release() } -// Mutex implements mutex abstraction +// Mutex implements mutex abstraction. type Mutex interface { Lock() error Unlock() (bool, error) Extend() (bool, error) } -// Logger implements logger abstraction +// Logger implements logger abstraction. type Logger interface { Debug() logging.EventBuilder Info() logging.EventBuilder @@ -197,20 +190,20 @@ type Logger interface { Clone() Logger } -// Sender interface for implementing specified contact type sender +// Sender interface for implementing specified contact type sender. type Sender interface { // TODO refactor: https://github.com/moira-alert/moira/issues/794 SendEvents(events NotificationEvents, contact ContactData, trigger TriggerData, plot [][]byte, throttled bool) error Init(senderSettings interface{}, logger Logger, location *time.Location, dateTimeFormat string) error } -// ImageStore is the interface for image storage providers +// ImageStore is the interface for image storage providers. type ImageStore interface { StoreImage(image []byte) (string, error) IsEnabled() bool } -// Searcher interface implements full-text search index functionality +// Searcher interface implements full-text search index functionality. type Searcher interface { Start() error Stop() error @@ -218,7 +211,7 @@ type Searcher interface { SearchTriggers(options SearchOptions) (searchResults []*SearchResult, total int64, err error) } -// PlotTheme is an interface to access plot theme styles +// PlotTheme is an interface to access plot theme styles. type PlotTheme interface { GetTitleStyle() chart.Style GetGridStyle() chart.Style diff --git a/local/api.yml b/local/api.yml index c0b4939db..a48bddd83 100644 --- a/local/api.yml +++ b/local/api.yml @@ -12,23 +12,33 @@ telemetry: pprof: enabled: true listen: ":8091" -remote: - enabled: true - url: "http://graphite:80/render" - check_interval: 60s - timeout: 60s - metrics_ttl: 168h -prometheus: - url: "http://prometheus:9090" - enabled: true - check_interval: 60s - timeout: 60s - metrics_ttl: 168h +graphite_remote: + - cluster_id: default + cluster_name: Graphite 1 + url: "http://graphite:80/render" + check_interval: 60s + timeout: 60s + metrics_ttl: 168h +prometheus_remote: + - cluster_id: default + cluster_name: Prometheus 1 + url: "http://prometheus:9090" + check_interval: 60s + timeout: 60s + metrics_ttl: 168h + - cluster_id: staging + cluster_name: Prometheus 2 + url: "http://prometheus_2:9090" + check_interval: 60s + timeout: 60s + metrics_ttl: 168h + retries: 5 + retry_timeout: 15s api: listen: ":8081" enable_cors: false web: - contacts: + contacts_template: - type: mail label: E-mail - type: pushover @@ -50,6 +60,7 @@ web: is_plotting_available: true is_plotting_default_on: true is_subscription_to_all_tags_available: true + is_readonly_enabled: false notification_history: ttl: 48h query_limit: 10000 diff --git a/local/checker.yml b/local/checker.yml index eacd43a5c..71ff47e40 100644 --- a/local/checker.yml +++ b/local/checker.yml @@ -12,22 +12,35 @@ telemetry: pprof: enabled: true listen: ":8092" -remote: - enabled: true - url: "http://graphite:80/render" +local: check_interval: 60s - timeout: 60s - metrics_ttl: 168h -prometheus: - url: "http://prometheus:9090" - enabled: true - check_interval: 60s - timeout: 60s - metrics_ttl: 168h +graphite_remote: + - cluster_id: default + cluster_name: Graphite 1 + url: "http://graphite:80/render" + check_interval: 60s + timeout: 60s + metrics_ttl: 168h +prometheus_remote: + - cluster_id: default + cluster_name: Prometheus 1 + url: "http://prometheus:9090" + check_interval: 60s + timeout: 60s + metrics_ttl: 168h + - cluster_id: staging + cluster_name: Prometheus 2 + url: "http://prometheus_2:9090" + check_interval: 60s + timeout: 60s + metrics_ttl: 168h + retries: 5 + retry_timeout: 15s checker: nodata_check_interval: 60s check_interval: 10s - stop_checking_interval: 30s + stop_checking_interval: 3600s + lazy_triggers_check_interval: 60s log: log_file: stdout log_level: debug diff --git a/local/cli.yml b/local/cli.yml index f41e92256..21ef388c8 100644 --- a/local/cli.yml +++ b/local/cli.yml @@ -7,3 +7,6 @@ log_pretty_format: true cleanup: # Default cleanup duration according to max TTL for metrics = 7 days cleanup_metrics_duration: "-168h" + # Specifies the time from which metrics written to the future will be deleted + # Defaults to 1 hour + cleanup_future_metrics_duration: "60m" diff --git a/local/nginx.conf b/local/nginx.conf index 3d02fe0a5..69bddd084 100644 --- a/local/nginx.conf +++ b/local/nginx.conf @@ -1,11 +1,11 @@ server { - listen 0.0.0.0:8080 default; + listen 0.0.0.0:8080 default; - location /api/ { - proxy_pass http://api:8081; - } + location /api/ { + proxy_pass http://api:8081; + } - location / { - proxy_pass http://web:80; - } + location / { + proxy_pass http://web:80; + } } diff --git a/local/notifier.yml b/local/notifier.yml index a4a19f8fc..1fd44427a 100644 --- a/local/notifier.yml +++ b/local/notifier.yml @@ -12,21 +12,24 @@ telemetry: pprof: enabled: true listen: ":8093" -remote: - enabled: true - url: "http://graphite:80/render" - check_interval: 60s - timeout: 60s - metrics_ttl: 168h -prometheus: - url: "http://prometheus:9090" - enabled: true - check_interval: 60s - timeout: 60s - metrics_ttl: 168h +graphite_remote: + - cluster_id: default + cluster_name: Graphite 1 + url: "http://graphite:80/render" + check_interval: 60s + timeout: 60s + metrics_ttl: 168h +prometheus_remote: + - cluster_id: default + cluster_name: Prometheus 1 + url: "http://prometheus:9090" + check_interval: 60s + timeout: 60s + metrics_ttl: 168h notifier: sender_timeout: 10s resending_timeout: "1:00" + rescheduling_delay: 60s senders: [] moira_selfstate: enabled: false @@ -42,6 +45,12 @@ notifier: notification_history: ttl: 48h query_limit: 10000 +notification: + delayed_time: 50s + transaction_timeout: 100ms + transaction_max_retries: 10 + transaction_heuristic_limit: 10000 + resave_time: 30s log: log_file: stdout log_level: info diff --git a/log_fields.go b/log_fields.go index b5c471542..14264933c 100644 --- a/log_fields.go +++ b/log_fields.go @@ -1,15 +1,19 @@ package moira const ( - LogFieldNameCheckpoint = "moira.checkpoint" - LogFieldNameContactID = "moira.contact.id" - LogFieldNameContactType = "moira.contact.type" - LogFieldNameContactValue = "moira.contact.value" - LogFieldNameContext = "moira.context" - LogFieldNameMetricName = "moira.metric.name" - LogFieldNameMetricTimestamp = "moira.metric.timestamp" - LogFieldNameTriggerID = "moira.trigger.id" - LogFieldNameTriggerName = "moira.trigger.name" - LogFieldNameSubscriptionID = "moira.subscription.id" - LogFieldNameStackTrace = "stackTrace" + LogFieldNameCheckpoint = "moira.checkpoint" + LogFieldNameContactID = "moira.contact.id" + LogFieldNameContactType = "moira.contact.type" + LogFieldNameContactValue = "moira.contact.value" + LogFieldNameContactUser = "moira.contact.user" + LogFieldNameContactTeam = "moira.contact.team" + LogFieldNamePlotsBuildDuration = "moira.plots.build_duration_ms" + LogFieldNameFailCount = "moira.notification.fail_count" + LogFieldNameContext = "moira.context" + LogFieldNameMetricName = "moira.metric.name" + LogFieldNameMetricTimestamp = "moira.metric.timestamp" + LogFieldNameTriggerID = "moira.trigger.id" + LogFieldNameTriggerName = "moira.trigger.name" + LogFieldNameSubscriptionID = "moira.subscription.id" + LogFieldNameStackTrace = "stackTrace" ) diff --git a/logging/interfaces.go b/logging/interfaces.go index bbc342472..a1ad6cfb5 100644 --- a/logging/interfaces.go +++ b/logging/interfaces.go @@ -1,6 +1,6 @@ package logging -// EventBuilder allows to build log events with custom tags +// EventBuilder allows to build log events with custom tags. type EventBuilder interface { String(key, value string) EventBuilder Error(err error) EventBuilder diff --git a/logging/zerolog_adapter/logger.go b/logging/zerolog_adapter/logger.go index 5fa213056..fc3b446fd 100644 --- a/logging/zerolog_adapter/logger.go +++ b/logging/zerolog_adapter/logger.go @@ -21,12 +21,12 @@ const ( DefaultTimeFormat = "2006-01-02 15:04:05.000" ) -// ConfigureLog creates new logger based on github.com/rs/zerolog package +// ConfigureLog creates new logger based on github.com/rs/zerolog package. func ConfigureLog(logFile, logLevel, module string, pretty bool) (*Logger, error) { return newLog(logFile, logLevel, module, pretty, false) } -// GetLogger need only for backward compatibility in tests +// GetLogger need only for backward compatibility in tests. func GetLogger(module string) (moira.Logger, error) { return newLog("stdout", "info", module, true, true) } @@ -62,10 +62,10 @@ func getLogWriter(logFileName string) (io.Writer, error) { } logDir := filepath.Dir(logFileName) - if err := os.MkdirAll(logDir, 0755); err != nil { + if err := os.MkdirAll(logDir, 0o755); err != nil { //nolint:gofumpt,gomnd return nil, fmt.Errorf("can't create log directories %s: %s", logDir, err.Error()) } - logFile, err := os.OpenFile(logFileName, os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0644) + logFile, err := os.OpenFile(logFileName, os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0o644) //nolint:gofumpt,gomnd if err != nil { return nil, fmt.Errorf("can't open log file %s: %s", logFileName, err.Error()) } diff --git a/metric_source/local/errors.go b/metric_source/local/errors.go index 82d5e11e8..b9605024f 100644 --- a/metric_source/local/errors.go +++ b/metric_source/local/errors.go @@ -8,23 +8,23 @@ import ( "github.com/go-graphite/carbonapi/expr/helper" ) -// ErrUnknownFunction used when carbonapi.ParseExpr returns unknown function error +// ErrUnknownFunction used when carbonapi.ParseExpr returns unknown function error. type ErrUnknownFunction struct { FuncName string internalError error } -// ErrorUnknownFunction parses internal carbon-api error errUnknownFunction, gets func name and return ErrUnknownFunction error +// ErrorUnknownFunction parses internal carbon-api error errUnknownFunction, gets func name and return ErrUnknownFunction error. func ErrorUnknownFunction(err error) ErrUnknownFunction { errorStr := err.Error() - funcName := strings.Replace(errorStr[strings.Index(errorStr, "\""):], "\"", "", -1) + funcName := strings.ReplaceAll(errorStr[strings.Index(errorStr, "\""):], "\"", "") return ErrUnknownFunction{ internalError: err, FuncName: funcName, } } -// Error is implementation of golang error interface for ErrUnknownFunction struct +// Error is implementation of golang error interface for ErrUnknownFunction struct. func (err ErrUnknownFunction) Error() string { if err.FuncName == "" { return err.internalError.Error() @@ -32,45 +32,45 @@ func (err ErrUnknownFunction) Error() string { return fmt.Sprintf("Unknown graphite function: \"%s\"", err.FuncName) } -// isErrUnknownFunction checks error for carbonapi.errUnknownFunction +// isErrUnknownFunction checks error for carbonapi.errUnknownFunction. func isErrUnknownFunction(err error) bool { - switch merry.Unwrap(err).(type) { + switch merry.Unwrap(err).(type) { // nolint:errorlint case helper.ErrUnknownFunction: return true } return false } -// ErrParseExpr used when carbonapi.ParseExpr returns error +// ErrParseExpr used when carbonapi.ParseExpr returns error. type ErrParseExpr struct { internalError error target string } -// Error is implementation of golang error interface for ErrParseExpr struct +// Error is implementation of golang error interface for ErrParseExpr struct. func (err ErrParseExpr) Error() string { return fmt.Sprintf("failed to parse target '%s': %s", err.target, err.internalError.Error()) } -// ErrEvalExpr used when carbonapi.EvalExpr returns error +// ErrEvalExpr used when carbonapi.EvalExpr returns error. type ErrEvalExpr struct { internalError error target string } -// Error is implementation of golang error interface for ErrEvalExpr struct +// Error is implementation of golang error interface for ErrEvalExpr struct. func (err ErrEvalExpr) Error() string { return fmt.Sprintf("failed to evaluate target '%s': %s", err.target, err.internalError.Error()) } -// ErrEvaluateTargetFailedWithPanic used to identify occurred error as a result of recover from panic +// ErrEvaluateTargetFailedWithPanic used to identify occurred error as a result of recover from panic. type ErrEvaluateTargetFailedWithPanic struct { target string recoverMessage interface{} stackRecord []byte } -// Error is implementation of golang error interface for ErrEvaluateTargetFailedWithPanic struct +// Error is implementation of golang error interface for ErrEvaluateTargetFailedWithPanic struct. func (err ErrEvaluateTargetFailedWithPanic) Error() string { return fmt.Sprintf("panic while evaluate target %s: message: '%s' stack: %s", err.target, err.recoverMessage, err.stackRecord) } diff --git a/metric_source/local/eval.go b/metric_source/local/eval.go index a2d51a6ae..3d36c9e2a 100644 --- a/metric_source/local/eval.go +++ b/metric_source/local/eval.go @@ -148,7 +148,7 @@ func (ctx *evalCtx) rewriteExpr(parsedExpr parser.Expr, metrics *fetchedMetrics) metrics.metricsMap, ) - if err != nil && err != parser.ErrMissingTimeseries { + if err != nil && !errors.Is(err, parser.ErrMissingTimeseries) { return false, nil, fmt.Errorf("failed RewriteExpr: %s", err.Error()) } return rewritten, newTargets, nil diff --git a/metric_source/local/fetch_result.go b/metric_source/local/fetch_result.go index 7ff015af3..acab24f20 100644 --- a/metric_source/local/fetch_result.go +++ b/metric_source/local/fetch_result.go @@ -5,14 +5,14 @@ import ( ) // FetchResult is implementation of metric_source.FetchResult interface, -// which represent fetching result from moira data source in moira format +// which represent fetching result from moira data source in moira format. type FetchResult struct { MetricsData []metricSource.MetricData Patterns []string Metrics []string } -// CreateEmptyFetchResult just creates FetchResult with initialized empty fields +// CreateEmptyFetchResult just creates FetchResult with initialized empty fields. func CreateEmptyFetchResult() *FetchResult { return &FetchResult{ MetricsData: make([]metricSource.MetricData, 0), @@ -21,17 +21,17 @@ func CreateEmptyFetchResult() *FetchResult { } } -// GetMetricsData return all metrics data from fetch result +// GetMetricsData return all metrics data from fetch result. func (fetchResult *FetchResult) GetMetricsData() []metricSource.MetricData { return fetchResult.MetricsData } -// GetPatterns return all patterns which contains in evaluated graphite target +// GetPatterns return all patterns which contains in evaluated graphite target. func (fetchResult *FetchResult) GetPatterns() ([]string, error) { return fetchResult.Patterns, nil } -// GetPatternMetrics return all metrics which match to evaluated graphite target patterns +// GetPatternMetrics return all metrics which match to evaluated graphite target patterns. func (fetchResult *FetchResult) GetPatternMetrics() ([]string, error) { return fetchResult.Metrics, nil } diff --git a/metric_source/local/fetchdata_test.go b/metric_source/local/fetchdata_test.go index 407d0f7d4..c55142ab3 100644 --- a/metric_source/local/fetchdata_test.go +++ b/metric_source/local/fetchdata_test.go @@ -7,10 +7,10 @@ import ( "github.com/go-graphite/carbonapi/expr/types" pb "github.com/go-graphite/protocol/carbonapi_v3_pb" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func BenchmarkUnpackMetricsValues(b *testing.B) { diff --git a/metric_source/local/local.go b/metric_source/local/local.go index e964dd55d..6183200bf 100644 --- a/metric_source/local/local.go +++ b/metric_source/local/local.go @@ -7,12 +7,12 @@ import ( metricSource "github.com/moira-alert/moira/metric_source" ) -// Local is implementation of MetricSource interface, which implements fetch metrics method from moira database installation +// Local is implementation of MetricSource interface, which implements fetch metrics method from moira database installation. type Local struct { database moira.Database } -// Create configures local metric source +// Create configures local metric source. func Create(dataBase moira.Database) metricSource.MetricSource { // configure carbon-api functions rewrite.New(make(map[string]string)) @@ -23,22 +23,22 @@ func Create(dataBase moira.Database) metricSource.MetricSource { } } -// GetMetricsTTLSeconds returns metrics lifetime in Redis +// GetMetricsTTLSeconds returns metrics lifetime in Redis. func (local *Local) GetMetricsTTLSeconds() int64 { return local.database.GetMetricsTTLSeconds() } -// IsConfigured always returns true. It easy to configure local source =) +// IsConfigured always returns true. It easy to configure local source =). func (local *Local) IsConfigured() (bool, error) { return true, nil } -// IsConfigured always returns true. It easy to configure local source =) +// IsConfigured always returns true. It easy to configure local source =). func (local *Local) IsAvailable() (bool, error) { return true, nil } -// Fetch is analogue of evaluateTarget method in graphite-web, that gets target metrics value from DB and Evaluate it using carbon-api eval package +// Fetch is analogue of evaluateTarget method in graphite-web, that gets target metrics value from DB and Evaluate it using carbon-api eval package. func (local *Local) Fetch(target string, from int64, until int64, allowRealTimeAlerting bool) (metricSource.FetchResult, error) { // Don't fetch intervals larger than metrics TTL to prevent OOM errors // See https://github.com/moira-alert/moira/pull/519 diff --git a/metric_source/local/local_test.go b/metric_source/local/local_test.go index 88403d72b..6f0feb8a9 100644 --- a/metric_source/local/local_test.go +++ b/metric_source/local/local_test.go @@ -10,12 +10,12 @@ import ( "github.com/go-graphite/carbonapi/expr/functions" "github.com/go-graphite/carbonapi/expr/types" "github.com/go-graphite/carbonapi/pkg/parser" - "github.com/golang/mock/gomock" "github.com/google/go-cmp/cmp" "github.com/moira-alert/moira" metricSource "github.com/moira-alert/moira/metric_source" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func init() { @@ -247,13 +247,14 @@ func TestLocalSourceFetchMultipleMetrics(t *testing.T) { So(err, ShouldBeNil) So(result, shouldEqualIfNaNsEqual, &FetchResult{ - MetricsData: []metricSource.MetricData{{ - Name: "alive replicas", - StartTime: retentionFrom, - StopTime: retentionUntil, - StepTime: retention, - Values: []float64{2, 2, 2, 2, 2}, - }, + MetricsData: []metricSource.MetricData{ + { + Name: "alive replicas", + StartTime: retentionFrom, + StopTime: retentionUntil, + StepTime: retention, + Values: []float64{2, 2, 2, 2, 2}, + }, }, Metrics: metrics, Patterns: []string{"apps.*.process.cpu.usage"}, @@ -295,12 +296,13 @@ func TestLocalSourceFetch(t *testing.T) { result, err := localSource.Fetch("aliasByNode(super.puper.pattern, 2)", from, until, true) So(err, ShouldBeNil) So(result, shouldEqualIfNaNsEqual, &FetchResult{ - MetricsData: []metricSource.MetricData{{ - Name: "metric", - StartTime: retentionFrom, - StopTime: retentionUntil, - StepTime: retention, Values: []float64{0, 1, 2, 3, 4}, - }, + MetricsData: []metricSource.MetricData{ + { + Name: "metric", + StartTime: retentionFrom, + StopTime: retentionUntil, + StepTime: retention, Values: []float64{0, 1, 2, 3, 4}, + }, }, Metrics: []string{metric}, Patterns: []string{pattern}, @@ -310,9 +312,9 @@ func TestLocalSourceFetch(t *testing.T) { Convey("Test enormous fetch interval", t, func() { var fromPast int64 = 0 var toFuture int64 = 1e15 - var ttl = 2*retention - 1 + ttl := 2*retention - 1 - var distantFutureDataList = map[string][]*moira.MetricValue{ + distantFutureDataList := map[string][]*moira.MetricValue{ metric: { {RetentionTimestamp: toFuture, Timestamp: toFuture, Value: 0}, {RetentionTimestamp: toFuture - retention, Timestamp: toFuture - retention, Value: 0}, @@ -328,13 +330,14 @@ func TestLocalSourceFetch(t *testing.T) { So(err, ShouldBeNil) So(result, shouldEqualIfNaNsEqual, &FetchResult{ - MetricsData: []metricSource.MetricData{{ - Name: "metric", - StartTime: toFuture - retention, - StopTime: toFuture + retention, - StepTime: retention, - Values: []float64{0, 0}, - }, + MetricsData: []metricSource.MetricData{ + { + Name: "metric", + StartTime: toFuture - retention, + StopTime: toFuture + retention, + StepTime: retention, + Values: []float64{0, 0}, + }, }, Metrics: []string{metric}, Patterns: []string{pattern1}, @@ -398,12 +401,13 @@ func TestLocalSourceFetchNoRealTimeAlerting(t *testing.T) { result, err := localSource.Fetch("aliasByNode(super.puper.pattern, 2)", from, until, false) So(err, ShouldBeNil) So(result, shouldEqualIfNaNsEqual, &FetchResult{ - MetricsData: []metricSource.MetricData{{ - Name: "metric", - StartTime: retentionFrom, - StopTime: retentionUntil, - StepTime: retention, Values: []float64{0, 1, 2, 3}, - }, + MetricsData: []metricSource.MetricData{ + { + Name: "metric", + StartTime: retentionFrom, + StopTime: retentionUntil, + StepTime: retention, Values: []float64{0, 1, 2, 3}, + }, }, Metrics: []string{metric}, Patterns: []string{pattern}, @@ -461,13 +465,14 @@ func TestLocalSourceFetchWithMultiplePatterns(t *testing.T) { So(err, ShouldBeNil) So(result, shouldEqualIfNaNsEqual, &FetchResult{ - MetricsData: []metricSource.MetricData{{ - Name: "metric", - StartTime: 20, - StopTime: 80, - StepTime: 20, - Values: []float64{2.1, 5.1, 8.1}, - }, + MetricsData: []metricSource.MetricData{ + { + Name: "metric", + StartTime: 20, + StopTime: 80, + StepTime: 20, + Values: []float64{2.1, 5.1, 8.1}, + }, }, Metrics: []string{metric1, metric2}, Patterns: []string{pattern1, pattern2}, @@ -489,19 +494,6 @@ func TestLocalMetricsTTL(t *testing.T) { }) } -func TestLocal_IsConfigured(t *testing.T) { - mockCtrl := gomock.NewController(t) - defer mockCtrl.Finish() - dataBase := mock_moira_alert.NewMockDatabase(mockCtrl) - localSource := Create(dataBase) - - Convey("Always true", t, func() { - actual, err := localSource.IsConfigured() - So(err, ShouldBeNil) - So(actual, ShouldBeTrue) - }) -} - func TestLocal_evalExpr(t *testing.T) { Convey("When everything is correct, we don't return any error", t, func() { ctx := evalCtx{from: time.Now().Add(-1 * time.Hour).Unix(), until: time.Now().Unix()} diff --git a/metric_source/local/timer.go b/metric_source/local/timer.go index b2f227765..224977bc7 100644 --- a/metric_source/local/timer.go +++ b/metric_source/local/timer.go @@ -1,19 +1,19 @@ package local -// Timer is responsible for managing time ranges and metrics' timeslots +// Timer is responsible for managing time ranges and metrics' timeslots. type Timer struct { startTime int64 stopTime int64 stepTime int64 } -// Rounds start and stop time in a specific manner requered by carbonapi +// Rounds start and stop time in a specific manner requered by carbonapi. func RoundTimestamps(startTime, stopTime, retention int64) (roundedStart, roundedStop int64) { return ceilToMultiplier(startTime, retention), floorToMultiplier(stopTime, retention) + retention } -// Creates new timer rounding start and stop time in a specific manner requered by carbonapi -// Timers should be created only with this function +// Creates new timer rounding start and stop time in a specific manner requered by carbonapi. +// Timers should be created only with this function. func NewTimerRoundingTimestamps(startTime int64, stopTime int64, retention int64) Timer { startTime, stopTime = RoundTimestamps(startTime, stopTime, retention) return Timer{ @@ -23,12 +23,12 @@ func NewTimerRoundingTimestamps(startTime int64, stopTime int64, retention int64 } } -// Returns the number of timeslots from this timer's startTime until its stopTime with it's retention +// Returns the number of timeslots from this timer's startTime until its stopTime with it's retention. func (t Timer) NumberOfTimeSlots() int { return t.GetTimeSlot(t.stopTime) } -// Returns the index of given timestamp (rounded by timestamp) in this timer's time range +// Returns the index of given timestamp (rounded by timestamp) in this timer's time range. func (t Timer) GetTimeSlot(timestamp int64) int { timeSlot := floorToMultiplier(timestamp-t.startTime, t.stepTime) / t.stepTime return int(timeSlot) diff --git a/metric_source/metric_data.go b/metric_source/metric_data.go index a70b49804..ceca26eb6 100644 --- a/metric_source/metric_data.go +++ b/metric_source/metric_data.go @@ -5,7 +5,7 @@ import ( "math" ) -// MetricData is moira implementation of target evaluation result +// MetricData is moira implementation of target evaluation result. type MetricData struct { Name string StartTime int64 @@ -15,7 +15,7 @@ type MetricData struct { Wildcard bool } -// MakeMetricData creates new metrics data with given metric timeseries +// MakeMetricData creates new metrics data with given metric timeseries. func MakeMetricData(name string, values []float64, step, start int64) *MetricData { stop := start + int64(len(values))*step return &MetricData{ @@ -27,7 +27,7 @@ func MakeMetricData(name string, values []float64, step, start int64) *MetricDat } } -// MakeEmptyMetricData create MetricData with given interval and retention step with all empty metric points +// MakeEmptyMetricData create MetricData with given interval and retention step with all empty metric points. func MakeEmptyMetricData(name string, step, start, stop int64) *MetricData { values := make([]float64, 0) for i := start; i < stop; i += step { @@ -42,7 +42,7 @@ func MakeEmptyMetricData(name string, step, start, stop int64) *MetricData { } } -// GetTimestampValue gets value of given timestamp index, if value is Nil, then return NaN +// GetTimestampValue gets value of given timestamp index, if value is Nil, then return NaN. func (metricData *MetricData) GetTimestampValue(valueTimestamp int64) float64 { if valueTimestamp < metricData.StartTime { return math.NaN() @@ -53,6 +53,7 @@ func (metricData *MetricData) GetTimestampValue(valueTimestamp int64) float64 { if len(metricData.Values) <= valueIndex { return math.NaN() } + return metricData.Values[valueIndex] } diff --git a/metric_source/prometheus/convert.go b/metric_source/prometheus/convert.go index 0792a1375..368f8dd1b 100644 --- a/metric_source/prometheus/convert.go +++ b/metric_source/prometheus/convert.go @@ -14,14 +14,14 @@ func convertToFetchResult(mat model.Matrix, from, until int64, allowRealTimeAler } for _, res := range mat { - resValues := TrimValuesIfNescesary(res.Values, allowRealTimeAlerting) + resValues := trimValuesIfNecessary(res.Values, allowRealTimeAlerting) values := make([]float64, 0, len(resValues)) for _, v := range resValues { values = append(values, float64(v.Value)) } - start, stop := StartStopFromValues(resValues, from, until) + start, stop := startStopFromValues(resValues, from, until) data := metricSource.MetricData{ Name: targetFromTags(res.Metric), StartTime: start, @@ -36,7 +36,7 @@ func convertToFetchResult(mat model.Matrix, from, until int64, allowRealTimeAler return &result } -func StartStopFromValues(values []model.SamplePair, from, until int64) (int64, int64) { +func startStopFromValues(values []model.SamplePair, from, until int64) (int64, int64) { start, stop := from, until if len(values) != 0 { start = values[0].Timestamp.Unix() @@ -45,7 +45,7 @@ func StartStopFromValues(values []model.SamplePair, from, until int64) (int64, i return start, stop } -func TrimValuesIfNescesary(values []model.SamplePair, allowRealTimeAlerting bool) []model.SamplePair { +func trimValuesIfNecessary(values []model.SamplePair, allowRealTimeAlerting bool) []model.SamplePair { if allowRealTimeAlerting || len(values) == 0 { return values } diff --git a/metric_source/prometheus/fetch.go b/metric_source/prometheus/fetch.go index f1dfceba6..c2663c967 100644 --- a/metric_source/prometheus/fetch.go +++ b/metric_source/prometheus/fetch.go @@ -70,17 +70,17 @@ type FetchResult struct { MetricsData []metricSource.MetricData } -// GetMetricsData return all metrics data from fetch result +// GetMetricsData return all metrics data from fetch result. func (fetchResult *FetchResult) GetMetricsData() []metricSource.MetricData { return fetchResult.MetricsData } -// GetPatterns always returns error, because we can't fetch target patterns from remote metrics source +// GetPatterns always returns error, because we can't fetch target patterns from remote metrics source. func (*FetchResult) GetPatterns() ([]string, error) { return make([]string, 0), fmt.Errorf("remote fetch result never returns patterns") } -// GetPatternMetrics always returns error, because remote fetch doesn't return base pattern metrics +// GetPatternMetrics always returns error, because remote fetch doesn't return base pattern metrics. func (*FetchResult) GetPatternMetrics() ([]string, error) { return make([]string, 0), fmt.Errorf("remote fetch result never returns pattern metrics") } diff --git a/metric_source/prometheus/fetch_test.go b/metric_source/prometheus/fetch_test.go index 960c66bdd..344bfbdc3 100644 --- a/metric_source/prometheus/fetch_test.go +++ b/metric_source/prometheus/fetch_test.go @@ -5,10 +5,10 @@ import ( "testing" "time" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira/logging/zerolog_adapter" metricsource "github.com/moira-alert/moira/metric_source" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" + "go.uber.org/mock/gomock" "github.com/prometheus/common/model" . "github.com/smartystreets/goconvey/convey" diff --git a/metric_source/prometheus/prometheus.go b/metric_source/prometheus/prometheus.go index cc80dcebc..d554c68db 100644 --- a/metric_source/prometheus/prometheus.go +++ b/metric_source/prometheus/prometheus.go @@ -13,7 +13,6 @@ const StepTimeSeconds int64 = 60 var ErrPrometheusStorageDisabled = fmt.Errorf("remote prometheus storage is not enabled") type Config struct { - Enabled bool CheckInterval time.Duration MetricsTTL time.Duration RequestTimeout time.Duration @@ -44,10 +43,7 @@ func (prometheus *Prometheus) GetMetricsTTLSeconds() int64 { } func (prometheus *Prometheus) IsConfigured() (bool, error) { - if prometheus.config.Enabled { - return prometheus.config.Enabled, nil - } - return false, ErrPrometheusStorageDisabled + return true, nil } func (prometheus *Prometheus) IsAvailable() (bool, error) { diff --git a/metric_source/prometheus/prometheus_test.go b/metric_source/prometheus/prometheus_test.go deleted file mode 100644 index 10744fbe1..000000000 --- a/metric_source/prometheus/prometheus_test.go +++ /dev/null @@ -1,23 +0,0 @@ -package prometheus - -import ( - "testing" - - . "github.com/smartystreets/goconvey/convey" -) - -func TestIsConfigured(t *testing.T) { - Convey("Metric source is not configured", t, func() { - source, _ := Create(&Config{URL: "", Enabled: false}, nil) - isConfigured, err := source.IsConfigured() - So(isConfigured, ShouldBeFalse) - So(err, ShouldResemble, ErrPrometheusStorageDisabled) - }) - - Convey("Metric source is configured", t, func() { - source, _ := Create(&Config{URL: "http://host", Enabled: true}, nil) - isConfigured, err := source.IsConfigured() - So(isConfigured, ShouldBeTrue) - So(err, ShouldBeEmpty) - }) -} diff --git a/metric_source/provider.go b/metric_source/provider.go index fed85b087..ebda0fce7 100644 --- a/metric_source/provider.go +++ b/metric_source/provider.go @@ -6,65 +6,66 @@ import ( "github.com/moira-alert/moira" ) -// ErrMetricSourceIsNotConfigured is used then metric source return false on IsConfigured method call with nil error -var ErrMetricSourceIsNotConfigured = fmt.Errorf("metric source is not configured") - -// SourceProvider is a provider for all known metrics sources +// SourceProvider is a provider for all known metrics sources. type SourceProvider struct { - local MetricSource - remote MetricSource - prometheus MetricSource + sources map[moira.ClusterKey]MetricSource } -// CreateMetricSourceProvider just creates SourceProvider with all known metrics sources -func CreateMetricSourceProvider(graphiteLocal, graphiteRemote, prometheusRemote MetricSource) *SourceProvider { +// CreateMetricSourceProvider just creates SourceProvider with all known metrics sources. +func CreateMetricSourceProvider() *SourceProvider { return &SourceProvider{ - remote: graphiteRemote, - local: graphiteLocal, - prometheus: prometheusRemote, + sources: make(map[moira.ClusterKey]MetricSource), } } -// GetLocal gets local metric source. If it not configured returns not empty error -func (provider *SourceProvider) GetLocal() (MetricSource, error) { - return returnSource(provider.local) -} +// CreateTestMetricSourceProvider creates source provider and registers default clusters for each trigger source if given. +func CreateTestMetricSourceProvider(local, graphiteRemote, prometheusRemote MetricSource) *SourceProvider { + provider := CreateMetricSourceProvider() -// GetRemote gets remote metric source. If it not configured returns not empty error -func (provider *SourceProvider) GetRemote() (MetricSource, error) { - return returnSource(provider.remote) -} + if local != nil { + provider.RegisterSource(moira.DefaultLocalCluster, local) + } + if graphiteRemote != nil { + provider.RegisterSource(moira.DefaultGraphiteRemoteCluster, graphiteRemote) + } + if prometheusRemote != nil { + provider.RegisterSource(moira.DefaultPrometheusRemoteCluster, prometheusRemote) + } -// GetRemote gets remote metric source. If it not configured returns not empty error -func (provider *SourceProvider) GetPrometheus() (MetricSource, error) { - return returnSource(provider.prometheus) + return provider } -// GetTriggerMetricSource get metrics source by given trigger. If it not configured returns not empty error -func (provider *SourceProvider) GetTriggerMetricSource(trigger *moira.Trigger) (MetricSource, error) { - return provider.GetMetricSource(trigger.TriggerSource) +// RegisterSource adds given metric source with given cluster key to pool of available trigger sources. +func (provider *SourceProvider) RegisterSource(clusterKey moira.ClusterKey, source MetricSource) { + provider.sources[clusterKey] = source } -// GetMetricSource return metric source depending on trigger flag: is remote trigger or not. GetLocal if not. -func (provider *SourceProvider) GetMetricSource(triggerSource moira.TriggerSource) (MetricSource, error) { - switch triggerSource { - case moira.GraphiteLocal: - return provider.GetLocal() +// GetAllSources returns all registered cluster keys mapped to corresponding sources. +func (provider *SourceProvider) GetAllSources() map[moira.ClusterKey]MetricSource { + return provider.sources +} - case moira.GraphiteRemote: - return provider.GetRemote() +// GetClusterList returns a list of all registered cluster keys. +func (provider *SourceProvider) GetClusterList() []moira.ClusterKey { + result := make([]moira.ClusterKey, 0, len(provider.sources)) - case moira.PrometheusRemote: - return provider.GetPrometheus() + for key := range provider.sources { + result = append(result, key) } - return nil, fmt.Errorf("unknown metric source") + return result } -func returnSource(source MetricSource) (MetricSource, error) { - isConfigured, err := source.IsConfigured() - if !isConfigured && err == nil { - return source, ErrMetricSourceIsNotConfigured +// GetTriggerMetricSource get metrics source by given trigger. If it not configured returns not empty error. +func (provider *SourceProvider) GetTriggerMetricSource(trigger *moira.Trigger) (MetricSource, error) { + return provider.GetMetricSource(trigger.ClusterKey()) +} + +// GetMetricSource return metric source depending on trigger flag: is remote trigger or not. GetLocal if not. +func (provider *SourceProvider) GetMetricSource(clusterKey moira.ClusterKey) (MetricSource, error) { + if source, ok := provider.sources[clusterKey]; ok { + return source, nil } - return source, err + + return nil, fmt.Errorf("unknown metric source with cluster key `%s`", clusterKey.String()) } diff --git a/metric_source/remote/config.go b/metric_source/remote/config.go index 63278e13d..06ca22af4 100644 --- a/metric_source/remote/config.go +++ b/metric_source/remote/config.go @@ -2,7 +2,7 @@ package remote import "time" -// Config represents config from remote storage +// Config represents config from remote storage. type Config struct { URL string CheckInterval time.Duration @@ -10,10 +10,4 @@ type Config struct { Timeout time.Duration User string Password string - Enabled bool -} - -// isEnabled checks that remote config is enabled (url is defined and enabled flag is set) -func (c *Config) isEnabled() bool { - return c.Enabled && c.URL != "" } diff --git a/metric_source/remote/config_test.go b/metric_source/remote/config_test.go deleted file mode 100644 index 67b1bea4a..000000000 --- a/metric_source/remote/config_test.go +++ /dev/null @@ -1,49 +0,0 @@ -package remote - -import ( - "testing" - - . "github.com/smartystreets/goconvey/convey" -) - -func TestConfig(t *testing.T) { - Convey("Given config without url and enabled", t, func() { - cfg := &Config{ - URL: "", - Enabled: true, - } - Convey("remote triggers should be disabled", func() { - So(cfg.isEnabled(), ShouldBeFalse) - }) - }) - - Convey("Given config with url and enabled", t, func() { - cfg := &Config{ - URL: "http://host", - Enabled: true, - } - Convey("remote triggers should be enabled", func() { - So(cfg.isEnabled(), ShouldBeTrue) - }) - }) - - Convey("Given config with url and disabled", t, func() { - cfg := &Config{ - URL: "http://host", - Enabled: false, - } - Convey("remote triggers should be disabled", func() { - So(cfg.isEnabled(), ShouldBeFalse) - }) - }) - - Convey("Given config without url and disabled", t, func() { - cfg := &Config{ - URL: "", - Enabled: false, - } - Convey("remote triggers should be disabled", func() { - So(cfg.isEnabled(), ShouldBeFalse) - }) - }) -} diff --git a/metric_source/remote/fetch_result.go b/metric_source/remote/fetch_result.go index b8b22362a..98a682b7e 100644 --- a/metric_source/remote/fetch_result.go +++ b/metric_source/remote/fetch_result.go @@ -7,22 +7,22 @@ import ( ) // FetchResult is implementation of metric_source.FetchResult interface, -// which represent fetching result from remote graphite installation in moira format +// which represent fetching result from remote graphite installation in moira format. type FetchResult struct { MetricsData []metricSource.MetricData } -// GetMetricsData return all metrics data from fetch result +// GetMetricsData return all metrics data from fetch result. func (fetchResult *FetchResult) GetMetricsData() []metricSource.MetricData { return fetchResult.MetricsData } -// GetPatterns always returns error, because we can't fetch target patterns from remote metrics source +// GetPatterns always returns error, because we can't fetch target patterns from remote metrics source. func (*FetchResult) GetPatterns() ([]string, error) { return make([]string, 0), fmt.Errorf("remote fetch result never returns patterns") } -// GetPatternMetrics always returns error, because remote fetch doesn't return base pattern metrics +// GetPatternMetrics always returns error, because remote fetch doesn't return base pattern metrics. func (*FetchResult) GetPatternMetrics() ([]string, error) { return make([]string, 0), fmt.Errorf("remote fetch result never returns pattern metrics") } diff --git a/metric_source/remote/remote.go b/metric_source/remote/remote.go index 4e9aedd17..853a96240 100644 --- a/metric_source/remote/remote.go +++ b/metric_source/remote/remote.go @@ -9,35 +9,38 @@ import ( metricSource "github.com/moira-alert/moira/metric_source" ) -// ErrRemoteStorageDisabled is used to prevent remote.Fetch calls when remote storage is disabled +// ErrRemoteStorageDisabled is used to prevent remote.Fetch calls when remote storage is disabled. var ErrRemoteStorageDisabled = fmt.Errorf("remote graphite storage is not enabled") -// ErrRemoteTriggerResponse is a custom error when remote trigger check fails +// ErrRemoteTriggerResponse is a custom error when remote trigger check fails. type ErrRemoteTriggerResponse struct { InternalError error Target string } -// Error is a representation of Error interface method +// Error is a representation of Error interface method. func (err ErrRemoteTriggerResponse) Error() string { return err.InternalError.Error() } -// Remote is implementation of MetricSource interface, which implements fetch metrics method from remote graphite installation +// Remote is implementation of MetricSource interface, which implements fetch metrics method from remote graphite installation. type Remote struct { config *Config client *http.Client } -// Create configures remote metric source -func Create(config *Config) metricSource.MetricSource { +// Create configures remote metric source. +func Create(config *Config) (metricSource.MetricSource, error) { + if config.URL == "" { + return nil, fmt.Errorf("remote graphite URL should not be empty") + } return &Remote{ config: config, client: &http.Client{Timeout: config.Timeout}, - } + }, nil } -// Fetch fetches remote metrics and converts them to expected format +// Fetch fetches remote metrics and converts them to expected format. func (remote *Remote) Fetch(target string, from, until int64, allowRealTimeAlerting bool) (metricSource.FetchResult, error) { // Don't fetch intervals larger than metrics TTL to prevent OOM errors // See https://github.com/moira-alert/moira/pull/519 @@ -68,20 +71,17 @@ func (remote *Remote) Fetch(target string, from, until int64, allowRealTimeAlert return &fetchResult, nil } -// GetMetricsTTLSeconds returns maximum time interval that we are allowed to fetch from remote +// GetMetricsTTLSeconds returns maximum time interval that we are allowed to fetch from remote. func (remote *Remote) GetMetricsTTLSeconds() int64 { return int64(remote.config.MetricsTTL.Seconds()) } -// IsConfigured returns false in cases that user does not properly configure remote settings like graphite URL +// IsConfigured returns false in cases that user does not properly configure remote settings like graphite URL. func (remote *Remote) IsConfigured() (bool, error) { - if remote.config.isEnabled() { - return true, nil - } - return false, ErrRemoteStorageDisabled + return true, nil } -// IsRemoteAvailable checks if graphite API is available and returns 200 response +// IsRemoteAvailable checks if graphite API is available and returns 200 response. func (remote *Remote) IsAvailable() (bool, error) { maxRetries := 3 until := time.Now().Unix() diff --git a/metric_source/remote/remote_test.go b/metric_source/remote/remote_test.go index 001c224e3..fd4539572 100644 --- a/metric_source/remote/remote_test.go +++ b/metric_source/remote/remote_test.go @@ -9,22 +9,6 @@ import ( . "github.com/smartystreets/goconvey/convey" ) -func TestIsConfigured(t *testing.T) { - Convey("Remote is not configured", t, func() { - remote := Create(&Config{URL: "", Enabled: true}) - isConfigured, err := remote.IsConfigured() - So(isConfigured, ShouldBeFalse) - So(err, ShouldResemble, ErrRemoteStorageDisabled) - }) - - Convey("Remote is configured", t, func() { - remote := Create(&Config{URL: "http://host", Enabled: true}) - isConfigured, err := remote.IsConfigured() - So(isConfigured, ShouldBeTrue) - So(err, ShouldBeEmpty) - }) -} - func TestIsRemoteAvailable(t *testing.T) { Convey("Is available", t, func() { server := createServer([]byte("Some string"), http.StatusOK) diff --git a/metric_source/remote/request.go b/metric_source/remote/request.go index a6148954e..686b1766b 100644 --- a/metric_source/remote/request.go +++ b/metric_source/remote/request.go @@ -1,6 +1,7 @@ package remote import ( + "context" "fmt" "io" "net/http" @@ -8,7 +9,7 @@ import ( ) func (remote *Remote) prepareRequest(from, until int64, target string) (*http.Request, error) { - req, err := http.NewRequest("GET", remote.config.URL, nil) + req, err := http.NewRequestWithContext(context.Background(), http.MethodGet, remote.config.URL, nil) if err != nil { return nil, err } diff --git a/metric_source/source.go b/metric_source/source.go index 620255fe9..4ba38d4c2 100644 --- a/metric_source/source.go +++ b/metric_source/source.go @@ -1,14 +1,13 @@ package metricsource -// MetricSource implements graphite metrics source abstraction +// MetricSource implements graphite metrics source abstraction. type MetricSource interface { Fetch(target string, from int64, until int64, allowRealTimeAlerting bool) (FetchResult, error) GetMetricsTTLSeconds() int64 - IsConfigured() (bool, error) IsAvailable() (bool, error) } -// FetchResult implements moira metric sources fetching result format +// FetchResult implements moira metric sources fetching result format. type FetchResult interface { GetMetricsData() []MetricData GetPatterns() ([]string, error) diff --git a/metrics/checker.go b/metrics/checker.go index 7503d882e..dbbee2b5e 100644 --- a/metrics/checker.go +++ b/metrics/checker.go @@ -1,40 +1,34 @@ package metrics -import "github.com/moira-alert/moira" +import ( + "fmt" -// CheckerMetrics is a collection of metrics used in checker + "github.com/moira-alert/moira" +) + +// CheckerMetrics is a collection of metrics used in checker. type CheckerMetrics struct { - LocalMetrics *CheckMetrics - RemoteMetrics *CheckMetrics - PrometheusMetrics *CheckMetrics + MetricsBySource map[moira.ClusterKey]*CheckMetrics MetricEventsChannelLen Histogram UnusedTriggersCount Histogram MetricEventsHandleTime Timer } -// GetCheckMetrics return check metrics dependent on given trigger type -func (metrics *CheckerMetrics) GetCheckMetrics(trigger *moira.Trigger) *CheckMetrics { - return metrics.GetCheckMetricsBySource(trigger.TriggerSource) +// GetCheckMetrics return check metrics dependent on given trigger type. +func (metrics *CheckerMetrics) GetCheckMetrics(trigger *moira.Trigger) (*CheckMetrics, error) { + return metrics.GetCheckMetricsBySource(trigger.ClusterKey()) } -// GetCheckMetricsBySource return check metrics dependent on given trigger type -func (metrics *CheckerMetrics) GetCheckMetricsBySource(triggerSource moira.TriggerSource) *CheckMetrics { - switch triggerSource { - case moira.GraphiteLocal: - return metrics.LocalMetrics - - case moira.GraphiteRemote: - return metrics.RemoteMetrics - - case moira.PrometheusRemote: - return metrics.PrometheusMetrics - - default: - return nil +// GetCheckMetricsBySource return check metrics dependent on given trigger type. +func (metrics *CheckerMetrics) GetCheckMetricsBySource(clusterKey moira.ClusterKey) (*CheckMetrics, error) { + if checkMetrics, ok := metrics.MetricsBySource[clusterKey]; ok { + return checkMetrics, nil } + + return nil, fmt.Errorf("can't get check metrics: unknown cluster with key `%s`", clusterKey.String()) } -// CheckMetrics is a collection of metrics for trigger checks +// CheckMetrics is a collection of metrics for trigger checks. type CheckMetrics struct { CheckError Meter HandleError Meter @@ -42,28 +36,26 @@ type CheckMetrics struct { TriggersToCheckCount Histogram } -// ConfigureCheckerMetrics is checker metrics configurator -func ConfigureCheckerMetrics(registry Registry, remoteEnabled, prometheusEnabled bool) *CheckerMetrics { - m := &CheckerMetrics{ - LocalMetrics: configureCheckMetrics(registry, "local"), +// ConfigureCheckerMetrics is checker metrics configurator. +func ConfigureCheckerMetrics(registry Registry, sources []moira.ClusterKey) *CheckerMetrics { + metrics := &CheckerMetrics{ + MetricsBySource: make(map[moira.ClusterKey]*CheckMetrics), MetricEventsChannelLen: registry.NewHistogram("metricEvents"), MetricEventsHandleTime: registry.NewTimer("metricEventsHandle"), UnusedTriggersCount: registry.NewHistogram("triggers", "unused"), } - if remoteEnabled { - m.RemoteMetrics = configureCheckMetrics(registry, "remote") - } - if prometheusEnabled { - m.PrometheusMetrics = configureCheckMetrics(registry, "prometheus") + for _, clusterKey := range sources { + metrics.MetricsBySource[clusterKey] = configureCheckMetrics(registry, clusterKey) } - return m + return metrics } -func configureCheckMetrics(registry Registry, prefix string) *CheckMetrics { +func configureCheckMetrics(registry Registry, clusterKey moira.ClusterKey) *CheckMetrics { + source, id := clusterKey.TriggerSource.String(), clusterKey.ClusterId.String() return &CheckMetrics{ - CheckError: registry.NewMeter(prefix, "errors", "check"), - HandleError: registry.NewMeter(prefix, "errors", "handle"), - TriggersCheckTime: registry.NewTimer(prefix, "triggers"), - TriggersToCheckCount: registry.NewHistogram(prefix, "triggersToCheck"), + CheckError: registry.NewMeter(source, id, "errors", "check"), + HandleError: registry.NewMeter(source, id, "errors", "handle"), + TriggersCheckTime: registry.NewTimer(source, id, "triggers"), + TriggersToCheckCount: registry.NewHistogram(source, id, "triggersToCheck"), } } diff --git a/metrics/composite.go b/metrics/composite.go index 4b64a3a3f..ee24cf78d 100644 --- a/metrics/composite.go +++ b/metrics/composite.go @@ -13,7 +13,7 @@ func NewCompositeRegistry(registries ...Registry) *CompositeRegistry { } func (source *CompositeRegistry) NewMeter(path ...string) Meter { - var meters = make([]Meter, 0) + meters := make([]Meter, 0) for _, registry := range source.registries { meters = append(meters, registry.NewMeter(path...)) } @@ -21,7 +21,7 @@ func (source *CompositeRegistry) NewMeter(path ...string) Meter { } func (source *CompositeRegistry) NewTimer(path ...string) Timer { - var timers = make([]Timer, 0) + timers := make([]Timer, 0) for _, registry := range source.registries { timers = append(timers, registry.NewTimer(path...)) } @@ -29,7 +29,7 @@ func (source *CompositeRegistry) NewTimer(path ...string) Timer { } func (source *CompositeRegistry) NewHistogram(path ...string) Histogram { - var histograms = make([]Histogram, 0) + histograms := make([]Histogram, 0) for _, registry := range source.registries { histograms = append(histograms, registry.NewHistogram(path...)) } @@ -37,7 +37,7 @@ func (source *CompositeRegistry) NewHistogram(path ...string) Histogram { } func (source *CompositeRegistry) NewCounter(path ...string) Counter { - var counters = make([]Counter, 0) + counters := make([]Counter, 0) for _, registry := range source.registries { counters = append(counters, registry.NewCounter(path...)) } diff --git a/metrics/contacts.go b/metrics/contacts.go new file mode 100644 index 000000000..ba9cfcefa --- /dev/null +++ b/metrics/contacts.go @@ -0,0 +1,36 @@ +package metrics + +import "regexp" + +var nonAllowedMetricCharsRegex = regexp.MustCompile("[^a-zA-Z0-9_]") + +// Collection of metrics for contacts counting. +type ContactsMetrics struct { + contactsCount map[string]Meter + registry Registry +} + +// Creates and configurates the instance of ContactsMetrics. +func NewContactsMetrics(registry Registry) *ContactsMetrics { + meters := make(map[string]Meter) + + return &ContactsMetrics{ + contactsCount: meters, + registry: registry, + } +} + +// replaceNonAllowedMetricCharacters replaces non-allowed characters in the given metric string with underscores. +func (metrics *ContactsMetrics) replaceNonAllowedMetricCharacters(metric string) string { + return nonAllowedMetricCharsRegex.ReplaceAllString(metric, "_") +} + +// Marks the number of contacts of different types. +func (metrics *ContactsMetrics) Mark(contact string, count int64) { + if _, ok := metrics.contactsCount[contact]; !ok { + metric := metrics.replaceNonAllowedMetricCharacters(contact) + metrics.contactsCount[contact] = metrics.registry.NewMeter("contacts", metric) + } + + metrics.contactsCount[contact].Mark(count) +} diff --git a/metrics/filter.go b/metrics/filter.go index 760a5da81..0935a77ca 100644 --- a/metrics/filter.go +++ b/metrics/filter.go @@ -1,27 +1,34 @@ package metrics -// FilterMetrics is a collection of metrics used in filter +// FilterMetrics is a collection of metrics used in filter. type FilterMetrics struct { - TotalMetricsReceived Counter - ValidMetricsReceived Counter - MatchingMetricsReceived Counter - MatchingTimer Timer - SavingTimer Timer - BuildTreeTimer Timer - MetricChannelLen Histogram - LineChannelLen Histogram + TotalMetricsReceived Counter + ValidMetricsReceived Counter + MatchingMetricsReceived Counter + PatternMatchingCacheEvicted Meter + MatchingTimer Timer + SavingTimer Timer + BuildTreeTimer Timer + MetricChannelLen Histogram + LineChannelLen Histogram } -// ConfigureFilterMetrics initialize metrics +// ConfigureFilterMetrics initialize metrics. func ConfigureFilterMetrics(registry Registry) *FilterMetrics { return &FilterMetrics{ - TotalMetricsReceived: registry.NewCounter("received", "total"), - ValidMetricsReceived: registry.NewCounter("received", "valid"), - MatchingMetricsReceived: registry.NewCounter("received", "matching"), - MatchingTimer: registry.NewTimer("time", "match"), - SavingTimer: registry.NewTimer("time", "save"), - BuildTreeTimer: registry.NewTimer("time", "buildtree"), - MetricChannelLen: registry.NewHistogram("metricsToSave"), - LineChannelLen: registry.NewHistogram("linesToMatch"), + TotalMetricsReceived: registry.NewCounter("received", "total"), + ValidMetricsReceived: registry.NewCounter("received", "valid"), + MatchingMetricsReceived: registry.NewCounter("received", "matching"), + PatternMatchingCacheEvicted: registry.NewMeter("patternMatchingCache", "evicted"), + MatchingTimer: registry.NewTimer("time", "match"), + SavingTimer: registry.NewTimer("time", "save"), + BuildTreeTimer: registry.NewTimer("time", "buildtree"), + MetricChannelLen: registry.NewHistogram("metricsToSave"), + LineChannelLen: registry.NewHistogram("linesToMatch"), } } + +// MarkPatternMatchingEvicted counts the number of evicted items in the pattern matching cache. +func (metrics *FilterMetrics) MarkPatternMatchingEvicted(evicted int64) { + metrics.PatternMatchingCacheEvicted.Mark(evicted) +} diff --git a/metrics/graphite.go b/metrics/graphite.go index 37bc4fbaf..0dda00431 100644 --- a/metrics/graphite.go +++ b/metrics/graphite.go @@ -70,7 +70,7 @@ func initPrefix(prefix string) (string, error) { return prefix, err } short := strings.Split(hostname, ".")[0] - return strings.Replace(prefix, hostnameTmpl, short, -1), nil + return strings.ReplaceAll(prefix, hostnameTmpl, short), nil } type graphiteCounter struct { diff --git a/metrics/heartbeat.go b/metrics/heartbeat.go index d0eedbbd9..378e158cf 100644 --- a/metrics/heartbeat.go +++ b/metrics/heartbeat.go @@ -1,11 +1,11 @@ package metrics -// HeartBeatMetrics is a collection of metrics used in hearbeats +// HeartBeatMetrics is a collection of metrics used in hearbeats. type HeartBeatMetrics struct { notifierIsAlive Meter } -// ConfigureHeartBeatMetrics is notifier metrics configurator +// ConfigureHeartBeatMetrics is notifier metrics configurator. func ConfigureHeartBeatMetrics(registry Registry) *HeartBeatMetrics { return &HeartBeatMetrics{ notifierIsAlive: registry.NewMeter("", "alive"), diff --git a/metrics/index.go b/metrics/index.go index 71643c479..d1979103b 100644 --- a/metrics/index.go +++ b/metrics/index.go @@ -2,13 +2,13 @@ package metrics const prefix = "searchIndex" -// IndexMetrics is a collection of metrics used in full-text search index +// IndexMetrics is a collection of metrics used in full-text search index. type IndexMetrics struct { IndexedTriggersCount Histogram IndexActualizationLag Timer } -// ConfigureIndexMetrics in full-text search index metrics configurator +// ConfigureIndexMetrics in full-text search index metrics configurator. func ConfigureIndexMetrics(registry Registry) *IndexMetrics { return &IndexMetrics{ IndexedTriggersCount: registry.NewHistogram(prefix, "indexedTriggers"), diff --git a/metrics/interfaces.go b/metrics/interfaces.go index ddebb71c6..f510713e6 100644 --- a/metrics/interfaces.go +++ b/metrics/interfaces.go @@ -5,7 +5,7 @@ import ( "time" ) -// Registry implements metrics collection abstraction +// Registry implements metrics collection abstraction. type Registry interface { NewMeter(path ...string) Meter NewTimer(path ...string) Timer @@ -13,7 +13,7 @@ type Registry interface { NewCounter(path ...string) Counter } -// MetersCollection implements meter collection abstraction +// MetersCollection implements meter collection abstraction. type MetersCollection interface { RegisterMeter(name string, path ...string) Meter GetRegisteredMeter(name string) (Meter, bool) @@ -48,7 +48,7 @@ func NewMetersCollection(registry Registry) MetersCollection { return &DefaultMetersCollection{registry: registry, meters: map[string]Meter{}} } -// DefaultMetersCollection holds registered meters +// DefaultMetersCollection holds registered meters. type DefaultMetersCollection struct { registry Registry meters map[string]Meter diff --git a/metrics/notifier.go b/metrics/notifier.go index bcf61daa3..8711ef11c 100644 --- a/metrics/notifier.go +++ b/metrics/notifier.go @@ -1,5 +1,7 @@ package metrics +import "time" + // NotifierMetrics is a collection of metrics used in notifier. type NotifierMetrics struct { SubsMalformed Meter @@ -13,6 +15,7 @@ type NotifierMetrics struct { SendersDroppedNotifications MetersCollection PlotsBuildDurationMs Histogram PlotsEvaluateTriggerDurationMs Histogram + fetchNotificationsDurationMs Histogram } // ConfigureNotifierMetrics is notifier metrics configurator. @@ -29,9 +32,15 @@ func ConfigureNotifierMetrics(registry Registry, prefix string) *NotifierMetrics SendersDroppedNotifications: NewMetersCollection(registry), PlotsBuildDurationMs: registry.NewHistogram("plots", "build", "duration", "ms"), PlotsEvaluateTriggerDurationMs: registry.NewHistogram("plots", "evaluate", "trigger", "duration", "ms"), + fetchNotificationsDurationMs: registry.NewHistogram("fetch", "notifications", "duration", "ms"), } } +// UpdateFetchNotificationsDurationMs - counts how much time has passed since fetchNotificationsStartTime in ms and updates the metric. +func (metrics *NotifierMetrics) UpdateFetchNotificationsDurationMs(fetchNotificationsStartTime time.Time) { + metrics.fetchNotificationsDurationMs.Update(time.Since(fetchNotificationsStartTime).Milliseconds()) +} + // MarkSendersDroppedNotifications marks metrics as 1 by contactType for dropped notifications. func (metrics *NotifierMetrics) MarkSendersDroppedNotifications(contactType string) { if metric, found := metrics.SendersDroppedNotifications.GetRegisteredMeter(contactType); found { @@ -45,3 +54,15 @@ func (metrics *NotifierMetrics) MarkSendersOkMetrics(contactType string) { metric.Mark(1) } } + +// MarkSendersFailedMetrics marks metrics as 1 by contactType when notifications were unsuccessfully sent. +func (metrics *NotifierMetrics) MarkSendersFailedMetrics(contactType string) { + if metric, found := metrics.SendersFailedMetrics.GetRegisteredMeter(contactType); found { + metric.Mark(1) + } +} + +// MarkSendingFailed marks metrics when notifications were unsuccessfully sent. +func (metrics *NotifierMetrics) MarkSendingFailed() { + metrics.SendingFailed.Mark(1) +} diff --git a/metrics/prometheus.go b/metrics/prometheus.go index 979171a41..2afe32e96 100644 --- a/metrics/prometheus.go +++ b/metrics/prometheus.go @@ -27,34 +27,34 @@ func NewPrometheusRegistryAdapter(registry *prometheus.Registry, service string) } func (source *PrometheusRegistryAdapter) NewTimer(path ...string) Timer { - var histogramOpts = prometheus.HistogramOpts{Namespace: namespace, Subsystem: source.service, Name: getPrometheusMetricName(path)} - var histogram = prometheus.NewHistogram(histogramOpts) + histogramOpts := prometheus.HistogramOpts{Namespace: namespace, Subsystem: source.service, Name: getPrometheusMetricName(path)} + histogram := prometheus.NewHistogram(histogramOpts) source.registry.MustRegister(histogram) return &prometheusTimer{histogram: histogram} } func (source *PrometheusRegistryAdapter) NewMeter(path ...string) Meter { - var summaryOpts = prometheus.SummaryOpts{Namespace: namespace, Subsystem: source.service, Name: getPrometheusMetricName(path)} - var summary = prometheus.NewSummary(summaryOpts) + summaryOpts := prometheus.SummaryOpts{Namespace: namespace, Subsystem: source.service, Name: getPrometheusMetricName(path)} + summary := prometheus.NewSummary(summaryOpts) source.registry.MustRegister(summary) return &prometheusMeter{summary: summary} } func (source *PrometheusRegistryAdapter) NewCounter(path ...string) Counter { - var counterOpts = prometheus.CounterOpts{Namespace: namespace, Subsystem: source.service, Name: getPrometheusMetricName(path)} - var counter = prometheus.NewCounter(counterOpts) + counterOpts := prometheus.CounterOpts{Namespace: namespace, Subsystem: source.service, Name: getPrometheusMetricName(path)} + counter := prometheus.NewCounter(counterOpts) source.registry.MustRegister(counter) return &prometheusCounter{counter: counter} } func (source *PrometheusRegistryAdapter) NewHistogram(path ...string) Histogram { - var histogramOpts = prometheus.HistogramOpts{ + histogramOpts := prometheus.HistogramOpts{ Namespace: namespace, Subsystem: source.service, Name: getPrometheusMetricName(path), Buckets: []float64{0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10, 20, 100, 200, 300, 500, 1000}, } - var histogram = prometheus.NewHistogram(histogramOpts) + histogram := prometheus.NewHistogram(histogramOpts) source.registry.MustRegister(histogram) return &prometheusHistogram{histogram: histogram} } diff --git a/metrics/triggers.go b/metrics/triggers.go index 45cd38c21..bf784fbd6 100644 --- a/metrics/triggers.go +++ b/metrics/triggers.go @@ -1,24 +1,27 @@ package metrics -import "github.com/moira-alert/moira" +import ( + "github.com/moira-alert/moira" +) -// Collection of metrics for trigger count metrics +// Collection of metrics for trigger count metrics. type TriggersMetrics struct { - countByTriggerSource map[moira.TriggerSource]Meter + triggerCounts map[moira.ClusterKey]Meter } -// Creates and configurates the instance of TriggersMetrics -func NewTriggersMetrics(registry Registry) *TriggersMetrics { +// Creates and configurates the instance of TriggersMetrics. +func NewTriggersMetrics(registry Registry, clusterKeys []moira.ClusterKey) *TriggersMetrics { + meters := make(map[moira.ClusterKey]Meter, len(clusterKeys)) + for _, key := range clusterKeys { + meters[key] = registry.NewMeter("triggers", key.TriggerSource.String(), key.ClusterId.String()) + } + return &TriggersMetrics{ - countByTriggerSource: map[moira.TriggerSource]Meter{ - moira.GraphiteLocal: registry.NewMeter("triggers", string(moira.GraphiteLocal), "count"), - moira.GraphiteRemote: registry.NewMeter("triggers", string(moira.GraphiteRemote), "count"), - moira.PrometheusRemote: registry.NewMeter("triggers", string(moira.PrometheusRemote), "count"), - }, + triggerCounts: meters, } } -// Marks the number of trigger for given trigger source -func (metrics *TriggersMetrics) Mark(source moira.TriggerSource, count int64) { - metrics.countByTriggerSource[source].Mark(count) +// Marks the number of trigger for given trigger source. +func (metrics *TriggersMetrics) Mark(source moira.ClusterKey, count int64) { + metrics.triggerCounts[source].Mark(count) } diff --git a/mock/clock/clock.go b/mock/clock/clock.go index fbfb56afb..4aab4f192 100644 --- a/mock/clock/clock.go +++ b/mock/clock/clock.go @@ -1,5 +1,10 @@ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/moira-alert/moira (interfaces: Clock) +// +// Generated by this command: +// +// mockgen -destination=mock/clock/clock.go -package=mock_clock github.com/moira-alert/moira Clock +// // Package mock_clock is a generated GoMock package. package mock_clock @@ -8,7 +13,7 @@ import ( reflect "reflect" time "time" - gomock "github.com/golang/mock/gomock" + gomock "go.uber.org/mock/gomock" ) // MockClock is a mock of Clock interface. diff --git a/mock/heartbeat/heartbeat.go b/mock/heartbeat/heartbeat.go index d8933723d..f0a6f6acf 100644 --- a/mock/heartbeat/heartbeat.go +++ b/mock/heartbeat/heartbeat.go @@ -1,5 +1,10 @@ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/moira-alert/moira/notifier/selfstate/heartbeat (interfaces: Heartbeater) +// +// Generated by this command: +// +// mockgen -destination=mock/heartbeat/heartbeat.go -package=mock_heartbeat github.com/moira-alert/moira/notifier/selfstate/heartbeat Heartbeater +// // Package mock_heartbeat is a generated GoMock package. package mock_heartbeat @@ -7,7 +12,7 @@ package mock_heartbeat import ( reflect "reflect" - gomock "github.com/golang/mock/gomock" + gomock "go.uber.org/mock/gomock" ) // MockHeartbeater is a mock of Heartbeater interface. @@ -44,7 +49,7 @@ func (m *MockHeartbeater) Check(arg0 int64) (int64, bool, error) { } // Check indicates an expected call of Check. -func (mr *MockHeartbeaterMockRecorder) Check(arg0 interface{}) *gomock.Call { +func (mr *MockHeartbeaterMockRecorder) Check(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Check", reflect.TypeOf((*MockHeartbeater)(nil).Check), arg0) } diff --git a/mock/metric_source/fetch_result.go b/mock/metric_source/fetch_result.go index 6981d0234..55c7d51c9 100644 --- a/mock/metric_source/fetch_result.go +++ b/mock/metric_source/fetch_result.go @@ -1,5 +1,10 @@ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/moira-alert/moira/metric_source (interfaces: FetchResult) +// +// Generated by this command: +// +// mockgen -destination=mock/metric_source/fetch_result.go -package=mock_metric_source github.com/moira-alert/moira/metric_source FetchResult +// // Package mock_metric_source is a generated GoMock package. package mock_metric_source @@ -7,8 +12,8 @@ package mock_metric_source import ( reflect "reflect" - gomock "github.com/golang/mock/gomock" metricsource "github.com/moira-alert/moira/metric_source" + gomock "go.uber.org/mock/gomock" ) // MockFetchResult is a mock of FetchResult interface. diff --git a/mock/metric_source/source.go b/mock/metric_source/source.go index 7366920fd..29896005b 100644 --- a/mock/metric_source/source.go +++ b/mock/metric_source/source.go @@ -1,5 +1,10 @@ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/moira-alert/moira/metric_source (interfaces: MetricSource) +// +// Generated by this command: +// +// mockgen -destination=mock/metric_source/source.go -package=mock_metric_source github.com/moira-alert/moira/metric_source MetricSource +// // Package mock_metric_source is a generated GoMock package. package mock_metric_source @@ -7,8 +12,8 @@ package mock_metric_source import ( reflect "reflect" - gomock "github.com/golang/mock/gomock" metricsource "github.com/moira-alert/moira/metric_source" + gomock "go.uber.org/mock/gomock" ) // MockMetricSource is a mock of MetricSource interface. @@ -44,7 +49,7 @@ func (m *MockMetricSource) Fetch(arg0 string, arg1, arg2 int64, arg3 bool) (metr } // Fetch indicates an expected call of Fetch. -func (mr *MockMetricSourceMockRecorder) Fetch(arg0, arg1, arg2, arg3 interface{}) *gomock.Call { +func (mr *MockMetricSourceMockRecorder) Fetch(arg0, arg1, arg2, arg3 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Fetch", reflect.TypeOf((*MockMetricSource)(nil).Fetch), arg0, arg1, arg2, arg3) } @@ -77,18 +82,3 @@ func (mr *MockMetricSourceMockRecorder) IsAvailable() *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsAvailable", reflect.TypeOf((*MockMetricSource)(nil).IsAvailable)) } - -// IsConfigured mocks base method. -func (m *MockMetricSource) IsConfigured() (bool, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "IsConfigured") - ret0, _ := ret[0].(bool) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// IsConfigured indicates an expected call of IsConfigured. -func (mr *MockMetricSourceMockRecorder) IsConfigured() *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsConfigured", reflect.TypeOf((*MockMetricSource)(nil).IsConfigured)) -} diff --git a/mock/moira-alert/database.go b/mock/moira-alert/database.go index 2d14bb7a8..b0687cb78 100644 --- a/mock/moira-alert/database.go +++ b/mock/moira-alert/database.go @@ -1,5 +1,10 @@ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/moira-alert/moira (interfaces: Database) +// +// Generated by this command: +// +// mockgen -destination=mock/moira-alert/database.go -package=mock_moira_alert github.com/moira-alert/moira Database +// // Package mock_moira_alert is a generated GoMock package. package mock_moira_alert @@ -8,8 +13,8 @@ import ( reflect "reflect" time "time" - gomock "github.com/golang/mock/gomock" moira "github.com/moira-alert/moira" + gomock "go.uber.org/mock/gomock" tomb "gopkg.in/tomb.v2" ) @@ -45,25 +50,11 @@ func (m *MockDatabase) AcquireTriggerCheckLock(arg0 string, arg1 int) error { } // AcquireTriggerCheckLock indicates an expected call of AcquireTriggerCheckLock. -func (mr *MockDatabaseMockRecorder) AcquireTriggerCheckLock(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) AcquireTriggerCheckLock(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AcquireTriggerCheckLock", reflect.TypeOf((*MockDatabase)(nil).AcquireTriggerCheckLock), arg0, arg1) } -// AddLocalTriggersToCheck mocks base method. -func (m *MockDatabase) AddLocalTriggersToCheck(arg0 []string) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "AddLocalTriggersToCheck", arg0) - ret0, _ := ret[0].(error) - return ret0 -} - -// AddLocalTriggersToCheck indicates an expected call of AddLocalTriggersToCheck. -func (mr *MockDatabaseMockRecorder) AddLocalTriggersToCheck(arg0 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddLocalTriggersToCheck", reflect.TypeOf((*MockDatabase)(nil).AddLocalTriggersToCheck), arg0) -} - // AddNotification mocks base method. func (m *MockDatabase) AddNotification(arg0 *moira.ScheduledNotification) error { m.ctrl.T.Helper() @@ -73,7 +64,7 @@ func (m *MockDatabase) AddNotification(arg0 *moira.ScheduledNotification) error } // AddNotification indicates an expected call of AddNotification. -func (mr *MockDatabaseMockRecorder) AddNotification(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) AddNotification(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddNotification", reflect.TypeOf((*MockDatabase)(nil).AddNotification), arg0) } @@ -87,7 +78,7 @@ func (m *MockDatabase) AddNotifications(arg0 []*moira.ScheduledNotification, arg } // AddNotifications indicates an expected call of AddNotifications. -func (mr *MockDatabaseMockRecorder) AddNotifications(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) AddNotifications(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddNotifications", reflect.TypeOf((*MockDatabase)(nil).AddNotifications), arg0, arg1) } @@ -101,37 +92,23 @@ func (m *MockDatabase) AddPatternMetric(arg0, arg1 string) error { } // AddPatternMetric indicates an expected call of AddPatternMetric. -func (mr *MockDatabaseMockRecorder) AddPatternMetric(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) AddPatternMetric(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddPatternMetric", reflect.TypeOf((*MockDatabase)(nil).AddPatternMetric), arg0, arg1) } -// AddPrometheusTriggersToCheck mocks base method. -func (m *MockDatabase) AddPrometheusTriggersToCheck(arg0 []string) error { +// AddTriggersToCheck mocks base method. +func (m *MockDatabase) AddTriggersToCheck(arg0 moira.ClusterKey, arg1 []string) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "AddPrometheusTriggersToCheck", arg0) + ret := m.ctrl.Call(m, "AddTriggersToCheck", arg0, arg1) ret0, _ := ret[0].(error) return ret0 } -// AddPrometheusTriggersToCheck indicates an expected call of AddPrometheusTriggersToCheck. -func (mr *MockDatabaseMockRecorder) AddPrometheusTriggersToCheck(arg0 interface{}) *gomock.Call { +// AddTriggersToCheck indicates an expected call of AddTriggersToCheck. +func (mr *MockDatabaseMockRecorder) AddTriggersToCheck(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddPrometheusTriggersToCheck", reflect.TypeOf((*MockDatabase)(nil).AddPrometheusTriggersToCheck), arg0) -} - -// AddRemoteTriggersToCheck mocks base method. -func (m *MockDatabase) AddRemoteTriggersToCheck(arg0 []string) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "AddRemoteTriggersToCheck", arg0) - ret0, _ := ret[0].(error) - return ret0 -} - -// AddRemoteTriggersToCheck indicates an expected call of AddRemoteTriggersToCheck. -func (mr *MockDatabaseMockRecorder) AddRemoteTriggersToCheck(arg0 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddRemoteTriggersToCheck", reflect.TypeOf((*MockDatabase)(nil).AddRemoteTriggersToCheck), arg0) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddTriggersToCheck", reflect.TypeOf((*MockDatabase)(nil).AddTriggersToCheck), arg0, arg1) } // CleanUpAbandonedRetentions mocks base method. @@ -177,6 +154,20 @@ func (mr *MockDatabaseMockRecorder) CleanUpAbandonedTriggerLastCheck() *gomock.C return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CleanUpAbandonedTriggerLastCheck", reflect.TypeOf((*MockDatabase)(nil).CleanUpAbandonedTriggerLastCheck)) } +// CleanUpFutureMetrics mocks base method. +func (m *MockDatabase) CleanUpFutureMetrics(arg0 time.Duration) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CleanUpFutureMetrics", arg0) + ret0, _ := ret[0].(error) + return ret0 +} + +// CleanUpFutureMetrics indicates an expected call of CleanUpFutureMetrics. +func (mr *MockDatabaseMockRecorder) CleanUpFutureMetrics(arg0 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CleanUpFutureMetrics", reflect.TypeOf((*MockDatabase)(nil).CleanUpFutureMetrics), arg0) +} + // CleanUpOutdatedMetrics mocks base method. func (m *MockDatabase) CleanUpOutdatedMetrics(arg0 time.Duration) error { m.ctrl.T.Helper() @@ -186,11 +177,40 @@ func (m *MockDatabase) CleanUpOutdatedMetrics(arg0 time.Duration) error { } // CleanUpOutdatedMetrics indicates an expected call of CleanUpOutdatedMetrics. -func (mr *MockDatabaseMockRecorder) CleanUpOutdatedMetrics(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) CleanUpOutdatedMetrics(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CleanUpOutdatedMetrics", reflect.TypeOf((*MockDatabase)(nil).CleanUpOutdatedMetrics), arg0) } +// CleanupOutdatedPatternMetrics mocks base method. +func (m *MockDatabase) CleanupOutdatedPatternMetrics() (int64, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CleanupOutdatedPatternMetrics") + ret0, _ := ret[0].(int64) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CleanupOutdatedPatternMetrics indicates an expected call of CleanupOutdatedPatternMetrics. +func (mr *MockDatabaseMockRecorder) CleanupOutdatedPatternMetrics() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CleanupOutdatedPatternMetrics", reflect.TypeOf((*MockDatabase)(nil).CleanupOutdatedPatternMetrics)) +} + +// CreateTags mocks base method. +func (m *MockDatabase) CreateTags(arg0 []string) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateTags", arg0) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateTags indicates an expected call of CreateTags. +func (mr *MockDatabaseMockRecorder) CreateTags(arg0 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateTags", reflect.TypeOf((*MockDatabase)(nil).CreateTags), arg0) +} + // DeleteTeam mocks base method. func (m *MockDatabase) DeleteTeam(arg0, arg1 string) error { m.ctrl.T.Helper() @@ -200,7 +220,7 @@ func (m *MockDatabase) DeleteTeam(arg0, arg1 string) error { } // DeleteTeam indicates an expected call of DeleteTeam. -func (mr *MockDatabaseMockRecorder) DeleteTeam(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) DeleteTeam(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteTeam", reflect.TypeOf((*MockDatabase)(nil).DeleteTeam), arg0, arg1) } @@ -214,7 +234,7 @@ func (m *MockDatabase) DeleteTriggerCheckLock(arg0 string) error { } // DeleteTriggerCheckLock indicates an expected call of DeleteTriggerCheckLock. -func (mr *MockDatabaseMockRecorder) DeleteTriggerCheckLock(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) DeleteTriggerCheckLock(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteTriggerCheckLock", reflect.TypeOf((*MockDatabase)(nil).DeleteTriggerCheckLock), arg0) } @@ -228,7 +248,7 @@ func (m *MockDatabase) DeleteTriggerThrottling(arg0 string) error { } // DeleteTriggerThrottling indicates an expected call of DeleteTriggerThrottling. -func (mr *MockDatabaseMockRecorder) DeleteTriggerThrottling(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) DeleteTriggerThrottling(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteTriggerThrottling", reflect.TypeOf((*MockDatabase)(nil).DeleteTriggerThrottling), arg0) } @@ -242,7 +262,7 @@ func (m *MockDatabase) DeleteTriggersSearchResults(arg0 string) error { } // DeleteTriggersSearchResults indicates an expected call of DeleteTriggersSearchResults. -func (mr *MockDatabaseMockRecorder) DeleteTriggersSearchResults(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) DeleteTriggersSearchResults(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteTriggersSearchResults", reflect.TypeOf((*MockDatabase)(nil).DeleteTriggersSearchResults), arg0) } @@ -272,7 +292,7 @@ func (m *MockDatabase) FetchNotifications(arg0, arg1 int64) ([]*moira.ScheduledN } // FetchNotifications indicates an expected call of FetchNotifications. -func (mr *MockDatabaseMockRecorder) FetchNotifications(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) FetchNotifications(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FetchNotifications", reflect.TypeOf((*MockDatabase)(nil).FetchNotifications), arg0, arg1) } @@ -287,7 +307,7 @@ func (m *MockDatabase) FetchTriggersToReindex(arg0 int64) ([]string, error) { } // FetchTriggersToReindex indicates an expected call of FetchTriggersToReindex. -func (mr *MockDatabaseMockRecorder) FetchTriggersToReindex(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) FetchTriggersToReindex(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FetchTriggersToReindex", reflect.TypeOf((*MockDatabase)(nil).FetchTriggersToReindex), arg0) } @@ -322,6 +342,21 @@ func (mr *MockDatabaseMockRecorder) GetAllTriggerIDs() *gomock.Call { return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAllTriggerIDs", reflect.TypeOf((*MockDatabase)(nil).GetAllTriggerIDs)) } +// GetChatByUsername mocks base method. +func (m *MockDatabase) GetChatByUsername(arg0, arg1 string) (string, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetChatByUsername", arg0, arg1) + ret0, _ := ret[0].(string) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetChatByUsername indicates an expected call of GetChatByUsername. +func (mr *MockDatabaseMockRecorder) GetChatByUsername(arg0, arg1 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetChatByUsername", reflect.TypeOf((*MockDatabase)(nil).GetChatByUsername), arg0, arg1) +} + // GetChecksUpdatesCount mocks base method. func (m *MockDatabase) GetChecksUpdatesCount() (int64, error) { m.ctrl.T.Helper() @@ -347,7 +382,7 @@ func (m *MockDatabase) GetContact(arg0 string) (moira.ContactData, error) { } // GetContact indicates an expected call of GetContact. -func (mr *MockDatabaseMockRecorder) GetContact(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) GetContact(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetContact", reflect.TypeOf((*MockDatabase)(nil).GetContact), arg0) } @@ -362,71 +397,11 @@ func (m *MockDatabase) GetContacts(arg0 []string) ([]*moira.ContactData, error) } // GetContacts indicates an expected call of GetContacts. -func (mr *MockDatabaseMockRecorder) GetContacts(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) GetContacts(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetContacts", reflect.TypeOf((*MockDatabase)(nil).GetContacts), arg0) } -// GetIDByUsername mocks base method. -func (m *MockDatabase) GetIDByUsername(arg0, arg1 string) (string, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetIDByUsername", arg0, arg1) - ret0, _ := ret[0].(string) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// GetIDByUsername indicates an expected call of GetIDByUsername. -func (mr *MockDatabaseMockRecorder) GetIDByUsername(arg0, arg1 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetIDByUsername", reflect.TypeOf((*MockDatabase)(nil).GetIDByUsername), arg0, arg1) -} - -// GetLocalTriggerIDs mocks base method. -func (m *MockDatabase) GetLocalTriggerIDs() ([]string, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetLocalTriggerIDs") - ret0, _ := ret[0].([]string) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// GetLocalTriggerIDs indicates an expected call of GetLocalTriggerIDs. -func (mr *MockDatabaseMockRecorder) GetLocalTriggerIDs() *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLocalTriggerIDs", reflect.TypeOf((*MockDatabase)(nil).GetLocalTriggerIDs)) -} - -// GetLocalTriggersToCheck mocks base method. -func (m *MockDatabase) GetLocalTriggersToCheck(arg0 int) ([]string, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetLocalTriggersToCheck", arg0) - ret0, _ := ret[0].([]string) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// GetLocalTriggersToCheck indicates an expected call of GetLocalTriggersToCheck. -func (mr *MockDatabaseMockRecorder) GetLocalTriggersToCheck(arg0 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLocalTriggersToCheck", reflect.TypeOf((*MockDatabase)(nil).GetLocalTriggersToCheck), arg0) -} - -// GetLocalTriggersToCheckCount mocks base method. -func (m *MockDatabase) GetLocalTriggersToCheckCount() (int64, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetLocalTriggersToCheckCount") - ret0, _ := ret[0].(int64) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// GetLocalTriggersToCheckCount indicates an expected call of GetLocalTriggersToCheckCount. -func (mr *MockDatabaseMockRecorder) GetLocalTriggersToCheckCount() *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLocalTriggersToCheckCount", reflect.TypeOf((*MockDatabase)(nil).GetLocalTriggersToCheckCount)) -} - // GetMetricRetention mocks base method. func (m *MockDatabase) GetMetricRetention(arg0 string) (int64, error) { m.ctrl.T.Helper() @@ -437,7 +412,7 @@ func (m *MockDatabase) GetMetricRetention(arg0 string) (int64, error) { } // GetMetricRetention indicates an expected call of GetMetricRetention. -func (mr *MockDatabaseMockRecorder) GetMetricRetention(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) GetMetricRetention(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetMetricRetention", reflect.TypeOf((*MockDatabase)(nil).GetMetricRetention), arg0) } @@ -481,7 +456,7 @@ func (m *MockDatabase) GetMetricsValues(arg0 []string, arg1, arg2 int64) (map[st } // GetMetricsValues indicates an expected call of GetMetricsValues. -func (mr *MockDatabaseMockRecorder) GetMetricsValues(arg0, arg1, arg2 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) GetMetricsValues(arg0, arg1, arg2 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetMetricsValues", reflect.TypeOf((*MockDatabase)(nil).GetMetricsValues), arg0, arg1, arg2) } @@ -495,7 +470,7 @@ func (m *MockDatabase) GetNotificationEventCount(arg0 string, arg1 int64) int64 } // GetNotificationEventCount indicates an expected call of GetNotificationEventCount. -func (mr *MockDatabaseMockRecorder) GetNotificationEventCount(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) GetNotificationEventCount(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetNotificationEventCount", reflect.TypeOf((*MockDatabase)(nil).GetNotificationEventCount), arg0, arg1) } @@ -510,7 +485,7 @@ func (m *MockDatabase) GetNotificationEvents(arg0 string, arg1, arg2 int64) ([]* } // GetNotificationEvents indicates an expected call of GetNotificationEvents. -func (mr *MockDatabaseMockRecorder) GetNotificationEvents(arg0, arg1, arg2 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) GetNotificationEvents(arg0, arg1, arg2 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetNotificationEvents", reflect.TypeOf((*MockDatabase)(nil).GetNotificationEvents), arg0, arg1, arg2) } @@ -526,7 +501,7 @@ func (m *MockDatabase) GetNotifications(arg0, arg1 int64) ([]*moira.ScheduledNot } // GetNotifications indicates an expected call of GetNotifications. -func (mr *MockDatabaseMockRecorder) GetNotifications(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) GetNotifications(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetNotifications", reflect.TypeOf((*MockDatabase)(nil).GetNotifications), arg0, arg1) } @@ -541,7 +516,7 @@ func (m *MockDatabase) GetNotificationsByContactIdWithLimit(arg0 string, arg1, a } // GetNotificationsByContactIdWithLimit indicates an expected call of GetNotificationsByContactIdWithLimit. -func (mr *MockDatabaseMockRecorder) GetNotificationsByContactIdWithLimit(arg0, arg1, arg2 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) GetNotificationsByContactIdWithLimit(arg0, arg1, arg2 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetNotificationsByContactIdWithLimit", reflect.TypeOf((*MockDatabase)(nil).GetNotificationsByContactIdWithLimit), arg0, arg1, arg2) } @@ -571,7 +546,7 @@ func (m *MockDatabase) GetPatternMetrics(arg0 string) ([]string, error) { } // GetPatternMetrics indicates an expected call of GetPatternMetrics. -func (mr *MockDatabaseMockRecorder) GetPatternMetrics(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) GetPatternMetrics(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPatternMetrics", reflect.TypeOf((*MockDatabase)(nil).GetPatternMetrics), arg0) } @@ -586,7 +561,7 @@ func (m *MockDatabase) GetPatternTriggerIDs(arg0 string) ([]string, error) { } // GetPatternTriggerIDs indicates an expected call of GetPatternTriggerIDs. -func (mr *MockDatabaseMockRecorder) GetPatternTriggerIDs(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) GetPatternTriggerIDs(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPatternTriggerIDs", reflect.TypeOf((*MockDatabase)(nil).GetPatternTriggerIDs), arg0) } @@ -621,51 +596,6 @@ func (mr *MockDatabaseMockRecorder) GetPrometheusChecksUpdatesCount() *gomock.Ca return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPrometheusChecksUpdatesCount", reflect.TypeOf((*MockDatabase)(nil).GetPrometheusChecksUpdatesCount)) } -// GetPrometheusTriggerIDs mocks base method. -func (m *MockDatabase) GetPrometheusTriggerIDs() ([]string, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetPrometheusTriggerIDs") - ret0, _ := ret[0].([]string) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// GetPrometheusTriggerIDs indicates an expected call of GetPrometheusTriggerIDs. -func (mr *MockDatabaseMockRecorder) GetPrometheusTriggerIDs() *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPrometheusTriggerIDs", reflect.TypeOf((*MockDatabase)(nil).GetPrometheusTriggerIDs)) -} - -// GetPrometheusTriggersToCheck mocks base method. -func (m *MockDatabase) GetPrometheusTriggersToCheck(arg0 int) ([]string, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetPrometheusTriggersToCheck", arg0) - ret0, _ := ret[0].([]string) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// GetPrometheusTriggersToCheck indicates an expected call of GetPrometheusTriggersToCheck. -func (mr *MockDatabaseMockRecorder) GetPrometheusTriggersToCheck(arg0 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPrometheusTriggersToCheck", reflect.TypeOf((*MockDatabase)(nil).GetPrometheusTriggersToCheck), arg0) -} - -// GetPrometheusTriggersToCheckCount mocks base method. -func (m *MockDatabase) GetPrometheusTriggersToCheckCount() (int64, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetPrometheusTriggersToCheckCount") - ret0, _ := ret[0].(int64) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// GetPrometheusTriggersToCheckCount indicates an expected call of GetPrometheusTriggersToCheckCount. -func (mr *MockDatabaseMockRecorder) GetPrometheusTriggersToCheckCount() *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPrometheusTriggersToCheckCount", reflect.TypeOf((*MockDatabase)(nil).GetPrometheusTriggersToCheckCount)) -} - // GetRemoteChecksUpdatesCount mocks base method. func (m *MockDatabase) GetRemoteChecksUpdatesCount() (int64, error) { m.ctrl.T.Helper() @@ -681,51 +611,6 @@ func (mr *MockDatabaseMockRecorder) GetRemoteChecksUpdatesCount() *gomock.Call { return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRemoteChecksUpdatesCount", reflect.TypeOf((*MockDatabase)(nil).GetRemoteChecksUpdatesCount)) } -// GetRemoteTriggerIDs mocks base method. -func (m *MockDatabase) GetRemoteTriggerIDs() ([]string, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetRemoteTriggerIDs") - ret0, _ := ret[0].([]string) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// GetRemoteTriggerIDs indicates an expected call of GetRemoteTriggerIDs. -func (mr *MockDatabaseMockRecorder) GetRemoteTriggerIDs() *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRemoteTriggerIDs", reflect.TypeOf((*MockDatabase)(nil).GetRemoteTriggerIDs)) -} - -// GetRemoteTriggersToCheck mocks base method. -func (m *MockDatabase) GetRemoteTriggersToCheck(arg0 int) ([]string, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetRemoteTriggersToCheck", arg0) - ret0, _ := ret[0].([]string) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// GetRemoteTriggersToCheck indicates an expected call of GetRemoteTriggersToCheck. -func (mr *MockDatabaseMockRecorder) GetRemoteTriggersToCheck(arg0 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRemoteTriggersToCheck", reflect.TypeOf((*MockDatabase)(nil).GetRemoteTriggersToCheck), arg0) -} - -// GetRemoteTriggersToCheckCount mocks base method. -func (m *MockDatabase) GetRemoteTriggersToCheckCount() (int64, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetRemoteTriggersToCheckCount") - ret0, _ := ret[0].(int64) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// GetRemoteTriggersToCheckCount indicates an expected call of GetRemoteTriggersToCheckCount. -func (mr *MockDatabaseMockRecorder) GetRemoteTriggersToCheckCount() *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRemoteTriggersToCheckCount", reflect.TypeOf((*MockDatabase)(nil).GetRemoteTriggersToCheckCount)) -} - // GetSubscription mocks base method. func (m *MockDatabase) GetSubscription(arg0 string) (moira.SubscriptionData, error) { m.ctrl.T.Helper() @@ -736,7 +621,7 @@ func (m *MockDatabase) GetSubscription(arg0 string) (moira.SubscriptionData, err } // GetSubscription indicates an expected call of GetSubscription. -func (mr *MockDatabaseMockRecorder) GetSubscription(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) GetSubscription(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSubscription", reflect.TypeOf((*MockDatabase)(nil).GetSubscription), arg0) } @@ -751,7 +636,7 @@ func (m *MockDatabase) GetSubscriptions(arg0 []string) ([]*moira.SubscriptionDat } // GetSubscriptions indicates an expected call of GetSubscriptions. -func (mr *MockDatabaseMockRecorder) GetSubscriptions(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) GetSubscriptions(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSubscriptions", reflect.TypeOf((*MockDatabase)(nil).GetSubscriptions), arg0) } @@ -781,7 +666,7 @@ func (m *MockDatabase) GetTagTriggerIDs(arg0 string) ([]string, error) { } // GetTagTriggerIDs indicates an expected call of GetTagTriggerIDs. -func (mr *MockDatabaseMockRecorder) GetTagTriggerIDs(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) GetTagTriggerIDs(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTagTriggerIDs", reflect.TypeOf((*MockDatabase)(nil).GetTagTriggerIDs), arg0) } @@ -796,7 +681,7 @@ func (m *MockDatabase) GetTagsSubscriptions(arg0 []string) ([]*moira.Subscriptio } // GetTagsSubscriptions indicates an expected call of GetTagsSubscriptions. -func (mr *MockDatabaseMockRecorder) GetTagsSubscriptions(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) GetTagsSubscriptions(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTagsSubscriptions", reflect.TypeOf((*MockDatabase)(nil).GetTagsSubscriptions), arg0) } @@ -811,7 +696,7 @@ func (m *MockDatabase) GetTeam(arg0 string) (moira.Team, error) { } // GetTeam indicates an expected call of GetTeam. -func (mr *MockDatabaseMockRecorder) GetTeam(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) GetTeam(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTeam", reflect.TypeOf((*MockDatabase)(nil).GetTeam), arg0) } @@ -826,7 +711,7 @@ func (m *MockDatabase) GetTeamContactIDs(arg0 string) ([]string, error) { } // GetTeamContactIDs indicates an expected call of GetTeamContactIDs. -func (mr *MockDatabaseMockRecorder) GetTeamContactIDs(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) GetTeamContactIDs(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTeamContactIDs", reflect.TypeOf((*MockDatabase)(nil).GetTeamContactIDs), arg0) } @@ -841,7 +726,7 @@ func (m *MockDatabase) GetTeamSubscriptionIDs(arg0 string) ([]string, error) { } // GetTeamSubscriptionIDs indicates an expected call of GetTeamSubscriptionIDs. -func (mr *MockDatabaseMockRecorder) GetTeamSubscriptionIDs(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) GetTeamSubscriptionIDs(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTeamSubscriptionIDs", reflect.TypeOf((*MockDatabase)(nil).GetTeamSubscriptionIDs), arg0) } @@ -856,7 +741,7 @@ func (m *MockDatabase) GetTeamUsers(arg0 string) ([]string, error) { } // GetTeamUsers indicates an expected call of GetTeamUsers. -func (mr *MockDatabaseMockRecorder) GetTeamUsers(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) GetTeamUsers(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTeamUsers", reflect.TypeOf((*MockDatabase)(nil).GetTeamUsers), arg0) } @@ -871,7 +756,7 @@ func (m *MockDatabase) GetTrigger(arg0 string) (moira.Trigger, error) { } // GetTrigger indicates an expected call of GetTrigger. -func (mr *MockDatabaseMockRecorder) GetTrigger(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) GetTrigger(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTrigger", reflect.TypeOf((*MockDatabase)(nil).GetTrigger), arg0) } @@ -886,24 +771,39 @@ func (m *MockDatabase) GetTriggerChecks(arg0 []string) ([]*moira.TriggerCheck, e } // GetTriggerChecks indicates an expected call of GetTriggerChecks. -func (mr *MockDatabaseMockRecorder) GetTriggerChecks(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) GetTriggerChecks(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTriggerChecks", reflect.TypeOf((*MockDatabase)(nil).GetTriggerChecks), arg0) } // GetTriggerCount mocks base method. -func (m *MockDatabase) GetTriggerCount() (map[moira.TriggerSource]int64, error) { +func (m *MockDatabase) GetTriggerCount(arg0 []moira.ClusterKey) (map[moira.ClusterKey]int64, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetTriggerCount") - ret0, _ := ret[0].(map[moira.TriggerSource]int64) + ret := m.ctrl.Call(m, "GetTriggerCount", arg0) + ret0, _ := ret[0].(map[moira.ClusterKey]int64) ret1, _ := ret[1].(error) return ret0, ret1 } // GetTriggerCount indicates an expected call of GetTriggerCount. -func (mr *MockDatabaseMockRecorder) GetTriggerCount() *gomock.Call { +func (mr *MockDatabaseMockRecorder) GetTriggerCount(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTriggerCount", reflect.TypeOf((*MockDatabase)(nil).GetTriggerCount)) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTriggerCount", reflect.TypeOf((*MockDatabase)(nil).GetTriggerCount), arg0) +} + +// GetTriggerIDs mocks base method. +func (m *MockDatabase) GetTriggerIDs(arg0 moira.ClusterKey) ([]string, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetTriggerIDs", arg0) + ret0, _ := ret[0].([]string) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetTriggerIDs indicates an expected call of GetTriggerIDs. +func (mr *MockDatabaseMockRecorder) GetTriggerIDs(arg0 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTriggerIDs", reflect.TypeOf((*MockDatabase)(nil).GetTriggerIDs), arg0) } // GetTriggerIDsStartWith mocks base method. @@ -916,7 +816,7 @@ func (m *MockDatabase) GetTriggerIDsStartWith(arg0 string) ([]string, error) { } // GetTriggerIDsStartWith indicates an expected call of GetTriggerIDsStartWith. -func (mr *MockDatabaseMockRecorder) GetTriggerIDsStartWith(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) GetTriggerIDsStartWith(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTriggerIDsStartWith", reflect.TypeOf((*MockDatabase)(nil).GetTriggerIDsStartWith), arg0) } @@ -931,7 +831,7 @@ func (m *MockDatabase) GetTriggerLastCheck(arg0 string) (moira.CheckData, error) } // GetTriggerLastCheck indicates an expected call of GetTriggerLastCheck. -func (mr *MockDatabaseMockRecorder) GetTriggerLastCheck(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) GetTriggerLastCheck(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTriggerLastCheck", reflect.TypeOf((*MockDatabase)(nil).GetTriggerLastCheck), arg0) } @@ -946,7 +846,7 @@ func (m *MockDatabase) GetTriggerThrottling(arg0 string) (time.Time, time.Time) } // GetTriggerThrottling indicates an expected call of GetTriggerThrottling. -func (mr *MockDatabaseMockRecorder) GetTriggerThrottling(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) GetTriggerThrottling(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTriggerThrottling", reflect.TypeOf((*MockDatabase)(nil).GetTriggerThrottling), arg0) } @@ -961,7 +861,7 @@ func (m *MockDatabase) GetTriggers(arg0 []string) ([]*moira.Trigger, error) { } // GetTriggers indicates an expected call of GetTriggers. -func (mr *MockDatabaseMockRecorder) GetTriggers(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) GetTriggers(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTriggers", reflect.TypeOf((*MockDatabase)(nil).GetTriggers), arg0) } @@ -977,11 +877,41 @@ func (m *MockDatabase) GetTriggersSearchResults(arg0 string, arg1, arg2 int64) ( } // GetTriggersSearchResults indicates an expected call of GetTriggersSearchResults. -func (mr *MockDatabaseMockRecorder) GetTriggersSearchResults(arg0, arg1, arg2 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) GetTriggersSearchResults(arg0, arg1, arg2 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTriggersSearchResults", reflect.TypeOf((*MockDatabase)(nil).GetTriggersSearchResults), arg0, arg1, arg2) } +// GetTriggersToCheck mocks base method. +func (m *MockDatabase) GetTriggersToCheck(arg0 moira.ClusterKey, arg1 int) ([]string, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetTriggersToCheck", arg0, arg1) + ret0, _ := ret[0].([]string) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetTriggersToCheck indicates an expected call of GetTriggersToCheck. +func (mr *MockDatabaseMockRecorder) GetTriggersToCheck(arg0, arg1 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTriggersToCheck", reflect.TypeOf((*MockDatabase)(nil).GetTriggersToCheck), arg0, arg1) +} + +// GetTriggersToCheckCount mocks base method. +func (m *MockDatabase) GetTriggersToCheckCount(arg0 moira.ClusterKey) (int64, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetTriggersToCheckCount", arg0) + ret0, _ := ret[0].(int64) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetTriggersToCheckCount indicates an expected call of GetTriggersToCheckCount. +func (mr *MockDatabaseMockRecorder) GetTriggersToCheckCount(arg0 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTriggersToCheckCount", reflect.TypeOf((*MockDatabase)(nil).GetTriggersToCheckCount), arg0) +} + // GetUnusedTriggerIDs mocks base method. func (m *MockDatabase) GetUnusedTriggerIDs() ([]string, error) { m.ctrl.T.Helper() @@ -1007,7 +937,7 @@ func (m *MockDatabase) GetUserContactIDs(arg0 string) ([]string, error) { } // GetUserContactIDs indicates an expected call of GetUserContactIDs. -func (mr *MockDatabaseMockRecorder) GetUserContactIDs(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) GetUserContactIDs(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetUserContactIDs", reflect.TypeOf((*MockDatabase)(nil).GetUserContactIDs), arg0) } @@ -1022,7 +952,7 @@ func (m *MockDatabase) GetUserSubscriptionIDs(arg0 string) ([]string, error) { } // GetUserSubscriptionIDs indicates an expected call of GetUserSubscriptionIDs. -func (mr *MockDatabaseMockRecorder) GetUserSubscriptionIDs(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) GetUserSubscriptionIDs(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetUserSubscriptionIDs", reflect.TypeOf((*MockDatabase)(nil).GetUserSubscriptionIDs), arg0) } @@ -1037,7 +967,7 @@ func (m *MockDatabase) GetUserTeams(arg0 string) ([]string, error) { } // GetUserTeams indicates an expected call of GetUserTeams. -func (mr *MockDatabaseMockRecorder) GetUserTeams(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) GetUserTeams(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetUserTeams", reflect.TypeOf((*MockDatabase)(nil).GetUserTeams), arg0) } @@ -1052,7 +982,7 @@ func (m *MockDatabase) IsTeamContainUser(arg0, arg1 string) (bool, error) { } // IsTeamContainUser indicates an expected call of IsTeamContainUser. -func (mr *MockDatabaseMockRecorder) IsTeamContainUser(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) IsTeamContainUser(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsTeamContainUser", reflect.TypeOf((*MockDatabase)(nil).IsTeamContainUser), arg0, arg1) } @@ -1067,7 +997,7 @@ func (m *MockDatabase) IsTriggersSearchResultsExist(arg0 string) (bool, error) { } // IsTriggersSearchResultsExist indicates an expected call of IsTriggersSearchResultsExist. -func (mr *MockDatabaseMockRecorder) IsTriggersSearchResultsExist(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) IsTriggersSearchResultsExist(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsTriggersSearchResultsExist", reflect.TypeOf((*MockDatabase)(nil).IsTriggersSearchResultsExist), arg0) } @@ -1075,7 +1005,7 @@ func (mr *MockDatabaseMockRecorder) IsTriggersSearchResultsExist(arg0 interface{ // MarkTriggersAsUnused mocks base method. func (m *MockDatabase) MarkTriggersAsUnused(arg0 ...string) error { m.ctrl.T.Helper() - varargs := []interface{}{} + varargs := []any{} for _, a := range arg0 { varargs = append(varargs, a) } @@ -1085,7 +1015,7 @@ func (m *MockDatabase) MarkTriggersAsUnused(arg0 ...string) error { } // MarkTriggersAsUnused indicates an expected call of MarkTriggersAsUnused. -func (mr *MockDatabaseMockRecorder) MarkTriggersAsUnused(arg0 ...interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) MarkTriggersAsUnused(arg0 ...any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MarkTriggersAsUnused", reflect.TypeOf((*MockDatabase)(nil).MarkTriggersAsUnused), arg0...) } @@ -1093,7 +1023,7 @@ func (mr *MockDatabaseMockRecorder) MarkTriggersAsUnused(arg0 ...interface{}) *g // MarkTriggersAsUsed mocks base method. func (m *MockDatabase) MarkTriggersAsUsed(arg0 ...string) error { m.ctrl.T.Helper() - varargs := []interface{}{} + varargs := []any{} for _, a := range arg0 { varargs = append(varargs, a) } @@ -1103,7 +1033,7 @@ func (m *MockDatabase) MarkTriggersAsUsed(arg0 ...string) error { } // MarkTriggersAsUsed indicates an expected call of MarkTriggersAsUsed. -func (mr *MockDatabaseMockRecorder) MarkTriggersAsUsed(arg0 ...interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) MarkTriggersAsUsed(arg0 ...any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MarkTriggersAsUsed", reflect.TypeOf((*MockDatabase)(nil).MarkTriggersAsUsed), arg0...) } @@ -1117,7 +1047,7 @@ func (m *MockDatabase) NewLock(arg0 string, arg1 time.Duration) moira.Lock { } // NewLock indicates an expected call of NewLock. -func (mr *MockDatabaseMockRecorder) NewLock(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) NewLock(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewLock", reflect.TypeOf((*MockDatabase)(nil).NewLock), arg0, arg1) } @@ -1131,7 +1061,7 @@ func (m *MockDatabase) PushContactNotificationToHistory(arg0 *moira.ScheduledNot } // PushContactNotificationToHistory indicates an expected call of PushContactNotificationToHistory. -func (mr *MockDatabaseMockRecorder) PushContactNotificationToHistory(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) PushContactNotificationToHistory(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PushContactNotificationToHistory", reflect.TypeOf((*MockDatabase)(nil).PushContactNotificationToHistory), arg0) } @@ -1145,7 +1075,7 @@ func (m *MockDatabase) PushNotificationEvent(arg0 *moira.NotificationEvent, arg1 } // PushNotificationEvent indicates an expected call of PushNotificationEvent. -func (mr *MockDatabaseMockRecorder) PushNotificationEvent(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) PushNotificationEvent(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PushNotificationEvent", reflect.TypeOf((*MockDatabase)(nil).PushNotificationEvent), arg0, arg1) } @@ -1157,7 +1087,7 @@ func (m *MockDatabase) ReleaseTriggerCheckLock(arg0 string) { } // ReleaseTriggerCheckLock indicates an expected call of ReleaseTriggerCheckLock. -func (mr *MockDatabaseMockRecorder) ReleaseTriggerCheckLock(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) ReleaseTriggerCheckLock(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReleaseTriggerCheckLock", reflect.TypeOf((*MockDatabase)(nil).ReleaseTriggerCheckLock), arg0) } @@ -1213,7 +1143,7 @@ func (m *MockDatabase) RemoveContact(arg0 string) error { } // RemoveContact indicates an expected call of RemoveContact. -func (mr *MockDatabaseMockRecorder) RemoveContact(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) RemoveContact(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveContact", reflect.TypeOf((*MockDatabase)(nil).RemoveContact), arg0) } @@ -1227,24 +1157,24 @@ func (m *MockDatabase) RemoveMetricRetention(arg0 string) error { } // RemoveMetricRetention indicates an expected call of RemoveMetricRetention. -func (mr *MockDatabaseMockRecorder) RemoveMetricRetention(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) RemoveMetricRetention(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveMetricRetention", reflect.TypeOf((*MockDatabase)(nil).RemoveMetricRetention), arg0) } // RemoveMetricValues mocks base method. -func (m *MockDatabase) RemoveMetricValues(arg0 string, arg1 int64) (int64, error) { +func (m *MockDatabase) RemoveMetricValues(arg0, arg1, arg2 string) (int64, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "RemoveMetricValues", arg0, arg1) + ret := m.ctrl.Call(m, "RemoveMetricValues", arg0, arg1, arg2) ret0, _ := ret[0].(int64) ret1, _ := ret[1].(error) return ret0, ret1 } // RemoveMetricValues indicates an expected call of RemoveMetricValues. -func (mr *MockDatabaseMockRecorder) RemoveMetricValues(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) RemoveMetricValues(arg0, arg1, arg2 any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveMetricValues", reflect.TypeOf((*MockDatabase)(nil).RemoveMetricValues), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveMetricValues", reflect.TypeOf((*MockDatabase)(nil).RemoveMetricValues), arg0, arg1, arg2) } // RemoveMetricsByPrefix mocks base method. @@ -1256,7 +1186,7 @@ func (m *MockDatabase) RemoveMetricsByPrefix(arg0 string) error { } // RemoveMetricsByPrefix indicates an expected call of RemoveMetricsByPrefix. -func (mr *MockDatabaseMockRecorder) RemoveMetricsByPrefix(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) RemoveMetricsByPrefix(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveMetricsByPrefix", reflect.TypeOf((*MockDatabase)(nil).RemoveMetricsByPrefix), arg0) } @@ -1270,7 +1200,7 @@ func (m *MockDatabase) RemoveMetricsValues(arg0 []string, arg1 int64) error { } // RemoveMetricsValues indicates an expected call of RemoveMetricsValues. -func (mr *MockDatabaseMockRecorder) RemoveMetricsValues(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) RemoveMetricsValues(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveMetricsValues", reflect.TypeOf((*MockDatabase)(nil).RemoveMetricsValues), arg0, arg1) } @@ -1285,7 +1215,7 @@ func (m *MockDatabase) RemoveNotification(arg0 string) (int64, error) { } // RemoveNotification indicates an expected call of RemoveNotification. -func (mr *MockDatabaseMockRecorder) RemoveNotification(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) RemoveNotification(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveNotification", reflect.TypeOf((*MockDatabase)(nil).RemoveNotification), arg0) } @@ -1299,7 +1229,7 @@ func (m *MockDatabase) RemovePattern(arg0 string) error { } // RemovePattern indicates an expected call of RemovePattern. -func (mr *MockDatabaseMockRecorder) RemovePattern(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) RemovePattern(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemovePattern", reflect.TypeOf((*MockDatabase)(nil).RemovePattern), arg0) } @@ -1313,7 +1243,7 @@ func (m *MockDatabase) RemovePatternTriggerIDs(arg0 string) error { } // RemovePatternTriggerIDs indicates an expected call of RemovePatternTriggerIDs. -func (mr *MockDatabaseMockRecorder) RemovePatternTriggerIDs(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) RemovePatternTriggerIDs(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemovePatternTriggerIDs", reflect.TypeOf((*MockDatabase)(nil).RemovePatternTriggerIDs), arg0) } @@ -1327,7 +1257,7 @@ func (m *MockDatabase) RemovePatternWithMetrics(arg0 string) error { } // RemovePatternWithMetrics indicates an expected call of RemovePatternWithMetrics. -func (mr *MockDatabaseMockRecorder) RemovePatternWithMetrics(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) RemovePatternWithMetrics(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemovePatternWithMetrics", reflect.TypeOf((*MockDatabase)(nil).RemovePatternWithMetrics), arg0) } @@ -1341,7 +1271,7 @@ func (m *MockDatabase) RemovePatternsMetrics(arg0 []string) error { } // RemovePatternsMetrics indicates an expected call of RemovePatternsMetrics. -func (mr *MockDatabaseMockRecorder) RemovePatternsMetrics(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) RemovePatternsMetrics(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemovePatternsMetrics", reflect.TypeOf((*MockDatabase)(nil).RemovePatternsMetrics), arg0) } @@ -1355,7 +1285,7 @@ func (m *MockDatabase) RemoveSubscription(arg0 string) error { } // RemoveSubscription indicates an expected call of RemoveSubscription. -func (mr *MockDatabaseMockRecorder) RemoveSubscription(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) RemoveSubscription(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveSubscription", reflect.TypeOf((*MockDatabase)(nil).RemoveSubscription), arg0) } @@ -1369,7 +1299,7 @@ func (m *MockDatabase) RemoveTag(arg0 string) error { } // RemoveTag indicates an expected call of RemoveTag. -func (mr *MockDatabaseMockRecorder) RemoveTag(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) RemoveTag(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveTag", reflect.TypeOf((*MockDatabase)(nil).RemoveTag), arg0) } @@ -1383,7 +1313,7 @@ func (m *MockDatabase) RemoveTrigger(arg0 string) error { } // RemoveTrigger indicates an expected call of RemoveTrigger. -func (mr *MockDatabaseMockRecorder) RemoveTrigger(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) RemoveTrigger(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveTrigger", reflect.TypeOf((*MockDatabase)(nil).RemoveTrigger), arg0) } @@ -1397,7 +1327,7 @@ func (m *MockDatabase) RemoveTriggerLastCheck(arg0 string) error { } // RemoveTriggerLastCheck indicates an expected call of RemoveTriggerLastCheck. -func (mr *MockDatabaseMockRecorder) RemoveTriggerLastCheck(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) RemoveTriggerLastCheck(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveTriggerLastCheck", reflect.TypeOf((*MockDatabase)(nil).RemoveTriggerLastCheck), arg0) } @@ -1411,7 +1341,7 @@ func (m *MockDatabase) RemoveTriggersToReindex(arg0 int64) error { } // RemoveTriggersToReindex indicates an expected call of RemoveTriggersToReindex. -func (mr *MockDatabaseMockRecorder) RemoveTriggersToReindex(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) RemoveTriggersToReindex(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveTriggersToReindex", reflect.TypeOf((*MockDatabase)(nil).RemoveTriggersToReindex), arg0) } @@ -1425,7 +1355,7 @@ func (m *MockDatabase) RemoveUser(arg0, arg1 string) error { } // RemoveUser indicates an expected call of RemoveUser. -func (mr *MockDatabaseMockRecorder) RemoveUser(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) RemoveUser(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveUser", reflect.TypeOf((*MockDatabase)(nil).RemoveUser), arg0, arg1) } @@ -1439,7 +1369,7 @@ func (m *MockDatabase) SaveContact(arg0 *moira.ContactData) error { } // SaveContact indicates an expected call of SaveContact. -func (mr *MockDatabaseMockRecorder) SaveContact(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) SaveContact(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SaveContact", reflect.TypeOf((*MockDatabase)(nil).SaveContact), arg0) } @@ -1453,7 +1383,7 @@ func (m *MockDatabase) SaveMetrics(arg0 map[string]*moira.MatchedMetric) error { } // SaveMetrics indicates an expected call of SaveMetrics. -func (mr *MockDatabaseMockRecorder) SaveMetrics(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) SaveMetrics(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SaveMetrics", reflect.TypeOf((*MockDatabase)(nil).SaveMetrics), arg0) } @@ -1467,7 +1397,7 @@ func (m *MockDatabase) SaveSubscription(arg0 *moira.SubscriptionData) error { } // SaveSubscription indicates an expected call of SaveSubscription. -func (mr *MockDatabaseMockRecorder) SaveSubscription(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) SaveSubscription(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SaveSubscription", reflect.TypeOf((*MockDatabase)(nil).SaveSubscription), arg0) } @@ -1481,7 +1411,7 @@ func (m *MockDatabase) SaveSubscriptions(arg0 []*moira.SubscriptionData) error { } // SaveSubscriptions indicates an expected call of SaveSubscriptions. -func (mr *MockDatabaseMockRecorder) SaveSubscriptions(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) SaveSubscriptions(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SaveSubscriptions", reflect.TypeOf((*MockDatabase)(nil).SaveSubscriptions), arg0) } @@ -1495,7 +1425,7 @@ func (m *MockDatabase) SaveTeam(arg0 string, arg1 moira.Team) error { } // SaveTeam indicates an expected call of SaveTeam. -func (mr *MockDatabaseMockRecorder) SaveTeam(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) SaveTeam(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SaveTeam", reflect.TypeOf((*MockDatabase)(nil).SaveTeam), arg0, arg1) } @@ -1509,7 +1439,7 @@ func (m *MockDatabase) SaveTeamsAndUsers(arg0 string, arg1 []string, arg2 map[st } // SaveTeamsAndUsers indicates an expected call of SaveTeamsAndUsers. -func (mr *MockDatabaseMockRecorder) SaveTeamsAndUsers(arg0, arg1, arg2 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) SaveTeamsAndUsers(arg0, arg1, arg2 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SaveTeamsAndUsers", reflect.TypeOf((*MockDatabase)(nil).SaveTeamsAndUsers), arg0, arg1, arg2) } @@ -1523,7 +1453,7 @@ func (m *MockDatabase) SaveTrigger(arg0 string, arg1 *moira.Trigger) error { } // SaveTrigger indicates an expected call of SaveTrigger. -func (mr *MockDatabaseMockRecorder) SaveTrigger(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) SaveTrigger(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SaveTrigger", reflect.TypeOf((*MockDatabase)(nil).SaveTrigger), arg0, arg1) } @@ -1537,7 +1467,7 @@ func (m *MockDatabase) SaveTriggersSearchResults(arg0 string, arg1 []*moira.Sear } // SaveTriggersSearchResults indicates an expected call of SaveTriggersSearchResults. -func (mr *MockDatabaseMockRecorder) SaveTriggersSearchResults(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) SaveTriggersSearchResults(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SaveTriggersSearchResults", reflect.TypeOf((*MockDatabase)(nil).SaveTriggersSearchResults), arg0, arg1) } @@ -1551,7 +1481,7 @@ func (m *MockDatabase) SetNotifierState(arg0 string) error { } // SetNotifierState indicates an expected call of SetNotifierState. -func (mr *MockDatabaseMockRecorder) SetNotifierState(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) SetNotifierState(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetNotifierState", reflect.TypeOf((*MockDatabase)(nil).SetNotifierState), arg0) } @@ -1566,7 +1496,7 @@ func (m *MockDatabase) SetTriggerCheckLock(arg0 string) (bool, error) { } // SetTriggerCheckLock indicates an expected call of SetTriggerCheckLock. -func (mr *MockDatabaseMockRecorder) SetTriggerCheckLock(arg0 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) SetTriggerCheckLock(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetTriggerCheckLock", reflect.TypeOf((*MockDatabase)(nil).SetTriggerCheckLock), arg0) } @@ -1580,13 +1510,13 @@ func (m *MockDatabase) SetTriggerCheckMaintenance(arg0 string, arg1 map[string]i } // SetTriggerCheckMaintenance indicates an expected call of SetTriggerCheckMaintenance. -func (mr *MockDatabaseMockRecorder) SetTriggerCheckMaintenance(arg0, arg1, arg2, arg3, arg4 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) SetTriggerCheckMaintenance(arg0, arg1, arg2, arg3, arg4 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetTriggerCheckMaintenance", reflect.TypeOf((*MockDatabase)(nil).SetTriggerCheckMaintenance), arg0, arg1, arg2, arg3, arg4) } // SetTriggerLastCheck mocks base method. -func (m *MockDatabase) SetTriggerLastCheck(arg0 string, arg1 *moira.CheckData, arg2 moira.TriggerSource) error { +func (m *MockDatabase) SetTriggerLastCheck(arg0 string, arg1 *moira.CheckData, arg2 moira.ClusterKey) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "SetTriggerLastCheck", arg0, arg1, arg2) ret0, _ := ret[0].(error) @@ -1594,7 +1524,7 @@ func (m *MockDatabase) SetTriggerLastCheck(arg0 string, arg1 *moira.CheckData, a } // SetTriggerLastCheck indicates an expected call of SetTriggerLastCheck. -func (mr *MockDatabaseMockRecorder) SetTriggerLastCheck(arg0, arg1, arg2 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) SetTriggerLastCheck(arg0, arg1, arg2 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetTriggerLastCheck", reflect.TypeOf((*MockDatabase)(nil).SetTriggerLastCheck), arg0, arg1, arg2) } @@ -1608,23 +1538,23 @@ func (m *MockDatabase) SetTriggerThrottling(arg0 string, arg1 time.Time) error { } // SetTriggerThrottling indicates an expected call of SetTriggerThrottling. -func (mr *MockDatabaseMockRecorder) SetTriggerThrottling(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) SetTriggerThrottling(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetTriggerThrottling", reflect.TypeOf((*MockDatabase)(nil).SetTriggerThrottling), arg0, arg1) } -// SetUsernameID mocks base method. -func (m *MockDatabase) SetUsernameID(arg0, arg1, arg2 string) error { +// SetUsernameChat mocks base method. +func (m *MockDatabase) SetUsernameChat(arg0, arg1, arg2 string) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "SetUsernameID", arg0, arg1, arg2) + ret := m.ctrl.Call(m, "SetUsernameChat", arg0, arg1, arg2) ret0, _ := ret[0].(error) return ret0 } -// SetUsernameID indicates an expected call of SetUsernameID. -func (mr *MockDatabaseMockRecorder) SetUsernameID(arg0, arg1, arg2 interface{}) *gomock.Call { +// SetUsernameChat indicates an expected call of SetUsernameChat. +func (mr *MockDatabaseMockRecorder) SetUsernameChat(arg0, arg1, arg2 any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetUsernameID", reflect.TypeOf((*MockDatabase)(nil).SetUsernameID), arg0, arg1, arg2) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetUsernameChat", reflect.TypeOf((*MockDatabase)(nil).SetUsernameChat), arg0, arg1, arg2) } // SubscribeMetricEvents mocks base method. @@ -1637,7 +1567,7 @@ func (m *MockDatabase) SubscribeMetricEvents(arg0 *tomb.Tomb, arg1 *moira.Subscr } // SubscribeMetricEvents indicates an expected call of SubscribeMetricEvents. -func (mr *MockDatabaseMockRecorder) SubscribeMetricEvents(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockDatabaseMockRecorder) SubscribeMetricEvents(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SubscribeMetricEvents", reflect.TypeOf((*MockDatabase)(nil).SubscribeMetricEvents), arg0, arg1) } diff --git a/mock/moira-alert/database_stats.go b/mock/moira-alert/database_stats.go new file mode 100644 index 000000000..389f36f46 --- /dev/null +++ b/mock/moira-alert/database_stats.go @@ -0,0 +1,51 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: github.com/moira-alert/moira/database/stats (interfaces: StatsReporter) +// +// Generated by this command: +// +// mockgen -destination=mock/moira-alert/database_stats.go -package=mock_moira_alert github.com/moira-alert/moira/database/stats StatsReporter +// + +// Package mock_moira_alert is a generated GoMock package. +package mock_moira_alert + +import ( + reflect "reflect" + + gomock "go.uber.org/mock/gomock" +) + +// MockStatsReporter is a mock of StatsReporter interface. +type MockStatsReporter struct { + ctrl *gomock.Controller + recorder *MockStatsReporterMockRecorder +} + +// MockStatsReporterMockRecorder is the mock recorder for MockStatsReporter. +type MockStatsReporterMockRecorder struct { + mock *MockStatsReporter +} + +// NewMockStatsReporter creates a new mock instance. +func NewMockStatsReporter(ctrl *gomock.Controller) *MockStatsReporter { + mock := &MockStatsReporter{ctrl: ctrl} + mock.recorder = &MockStatsReporterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockStatsReporter) EXPECT() *MockStatsReporterMockRecorder { + return m.recorder +} + +// StartReport mocks base method. +func (m *MockStatsReporter) StartReport(arg0 <-chan struct{}) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "StartReport", arg0) +} + +// StartReport indicates an expected call of StartReport. +func (mr *MockStatsReporterMockRecorder) StartReport(arg0 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StartReport", reflect.TypeOf((*MockStatsReporter)(nil).StartReport), arg0) +} diff --git a/mock/moira-alert/event_builder.go b/mock/moira-alert/event_builder.go index 68787fa46..e12a6db13 100644 --- a/mock/moira-alert/event_builder.go +++ b/mock/moira-alert/event_builder.go @@ -1,5 +1,10 @@ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/moira-alert/moira/logging (interfaces: EventBuilder) +// +// Generated by this command: +// +// mockgen -destination=mock/moira-alert/event_builder.go -package=mock_moira_alert github.com/moira-alert/moira/logging EventBuilder +// // Package mock_moira_alert is a generated GoMock package. package mock_moira_alert @@ -7,8 +12,8 @@ package mock_moira_alert import ( reflect "reflect" - gomock "github.com/golang/mock/gomock" logging "github.com/moira-alert/moira/logging" + gomock "go.uber.org/mock/gomock" ) // MockEventBuilder is a mock of EventBuilder interface. @@ -43,13 +48,13 @@ func (m *MockEventBuilder) Error(arg0 error) logging.EventBuilder { } // Error indicates an expected call of Error. -func (mr *MockEventBuilderMockRecorder) Error(arg0 interface{}) *gomock.Call { +func (mr *MockEventBuilderMockRecorder) Error(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Error", reflect.TypeOf((*MockEventBuilder)(nil).Error), arg0) } // Fields mocks base method. -func (m *MockEventBuilder) Fields(arg0 map[string]interface{}) logging.EventBuilder { +func (m *MockEventBuilder) Fields(arg0 map[string]any) logging.EventBuilder { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "Fields", arg0) ret0, _ := ret[0].(logging.EventBuilder) @@ -57,7 +62,7 @@ func (m *MockEventBuilder) Fields(arg0 map[string]interface{}) logging.EventBuil } // Fields indicates an expected call of Fields. -func (mr *MockEventBuilderMockRecorder) Fields(arg0 interface{}) *gomock.Call { +func (mr *MockEventBuilderMockRecorder) Fields(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Fields", reflect.TypeOf((*MockEventBuilder)(nil).Fields), arg0) } @@ -71,7 +76,7 @@ func (m *MockEventBuilder) Int(arg0 string, arg1 int) logging.EventBuilder { } // Int indicates an expected call of Int. -func (mr *MockEventBuilderMockRecorder) Int(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockEventBuilderMockRecorder) Int(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Int", reflect.TypeOf((*MockEventBuilder)(nil).Int), arg0, arg1) } @@ -85,13 +90,13 @@ func (m *MockEventBuilder) Int64(arg0 string, arg1 int64) logging.EventBuilder { } // Int64 indicates an expected call of Int64. -func (mr *MockEventBuilderMockRecorder) Int64(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockEventBuilderMockRecorder) Int64(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Int64", reflect.TypeOf((*MockEventBuilder)(nil).Int64), arg0, arg1) } // Interface mocks base method. -func (m *MockEventBuilder) Interface(arg0 string, arg1 interface{}) logging.EventBuilder { +func (m *MockEventBuilder) Interface(arg0 string, arg1 any) logging.EventBuilder { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "Interface", arg0, arg1) ret0, _ := ret[0].(logging.EventBuilder) @@ -99,7 +104,7 @@ func (m *MockEventBuilder) Interface(arg0 string, arg1 interface{}) logging.Even } // Interface indicates an expected call of Interface. -func (mr *MockEventBuilderMockRecorder) Interface(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockEventBuilderMockRecorder) Interface(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Interface", reflect.TypeOf((*MockEventBuilder)(nil).Interface), arg0, arg1) } @@ -111,7 +116,7 @@ func (m *MockEventBuilder) Msg(arg0 string) { } // Msg indicates an expected call of Msg. -func (mr *MockEventBuilderMockRecorder) Msg(arg0 interface{}) *gomock.Call { +func (mr *MockEventBuilderMockRecorder) Msg(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Msg", reflect.TypeOf((*MockEventBuilder)(nil).Msg), arg0) } @@ -125,7 +130,7 @@ func (m *MockEventBuilder) String(arg0, arg1 string) logging.EventBuilder { } // String indicates an expected call of String. -func (mr *MockEventBuilderMockRecorder) String(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockEventBuilderMockRecorder) String(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "String", reflect.TypeOf((*MockEventBuilder)(nil).String), arg0, arg1) } diff --git a/mock/moira-alert/image_store.go b/mock/moira-alert/image_store.go index 85268da39..974a4498d 100644 --- a/mock/moira-alert/image_store.go +++ b/mock/moira-alert/image_store.go @@ -1,5 +1,10 @@ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/moira-alert/moira (interfaces: ImageStore) +// +// Generated by this command: +// +// mockgen -destination=mock/moira-alert/image_store.go -package=mock_moira_alert github.com/moira-alert/moira ImageStore +// // Package mock_moira_alert is a generated GoMock package. package mock_moira_alert @@ -7,7 +12,7 @@ package mock_moira_alert import ( reflect "reflect" - gomock "github.com/golang/mock/gomock" + gomock "go.uber.org/mock/gomock" ) // MockImageStore is a mock of ImageStore interface. @@ -57,7 +62,7 @@ func (m *MockImageStore) StoreImage(arg0 []byte) (string, error) { } // StoreImage indicates an expected call of StoreImage. -func (mr *MockImageStoreMockRecorder) StoreImage(arg0 interface{}) *gomock.Call { +func (mr *MockImageStoreMockRecorder) StoreImage(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StoreImage", reflect.TypeOf((*MockImageStore)(nil).StoreImage), arg0) } diff --git a/mock/moira-alert/locks.go b/mock/moira-alert/locks.go index fe8507738..7c23ae55e 100644 --- a/mock/moira-alert/locks.go +++ b/mock/moira-alert/locks.go @@ -1,5 +1,10 @@ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/moira-alert/moira (interfaces: Lock) +// +// Generated by this command: +// +// mockgen -destination=mock/moira-alert/locks.go -package=mock_moira_alert github.com/moira-alert/moira Lock +// // Package mock_moira_alert is a generated GoMock package. package mock_moira_alert @@ -7,7 +12,7 @@ package mock_moira_alert import ( reflect "reflect" - gomock "github.com/golang/mock/gomock" + gomock "go.uber.org/mock/gomock" ) // MockLock is a mock of Lock interface. @@ -43,7 +48,7 @@ func (m *MockLock) Acquire(arg0 <-chan struct{}) (<-chan struct{}, error) { } // Acquire indicates an expected call of Acquire. -func (mr *MockLockMockRecorder) Acquire(arg0 interface{}) *gomock.Call { +func (mr *MockLockMockRecorder) Acquire(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Acquire", reflect.TypeOf((*MockLock)(nil).Acquire), arg0) } diff --git a/mock/moira-alert/logger.go b/mock/moira-alert/logger.go index 63690d7ae..cfe2eff33 100644 --- a/mock/moira-alert/logger.go +++ b/mock/moira-alert/logger.go @@ -1,5 +1,10 @@ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/moira-alert/moira (interfaces: Logger) +// +// Generated by this command: +// +// mockgen -destination=mock/moira-alert/logger.go -package=mock_moira_alert github.com/moira-alert/moira Logger +// // Package mock_moira_alert is a generated GoMock package. package mock_moira_alert @@ -7,9 +12,9 @@ package mock_moira_alert import ( reflect "reflect" - gomock "github.com/golang/mock/gomock" moira "github.com/moira-alert/moira" logging "github.com/moira-alert/moira/logging" + gomock "go.uber.org/mock/gomock" ) // MockLogger is a mock of Logger interface. @@ -92,7 +97,7 @@ func (mr *MockLoggerMockRecorder) Fatal() *gomock.Call { } // Fields mocks base method. -func (m *MockLogger) Fields(arg0 map[string]interface{}) moira.Logger { +func (m *MockLogger) Fields(arg0 map[string]any) moira.Logger { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "Fields", arg0) ret0, _ := ret[0].(moira.Logger) @@ -100,7 +105,7 @@ func (m *MockLogger) Fields(arg0 map[string]interface{}) moira.Logger { } // Fields indicates an expected call of Fields. -func (mr *MockLoggerMockRecorder) Fields(arg0 interface{}) *gomock.Call { +func (mr *MockLoggerMockRecorder) Fields(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Fields", reflect.TypeOf((*MockLogger)(nil).Fields), arg0) } @@ -128,7 +133,7 @@ func (m *MockLogger) Int(arg0 string, arg1 int) moira.Logger { } // Int indicates an expected call of Int. -func (mr *MockLoggerMockRecorder) Int(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLoggerMockRecorder) Int(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Int", reflect.TypeOf((*MockLogger)(nil).Int), arg0, arg1) } @@ -142,7 +147,7 @@ func (m *MockLogger) Int64(arg0 string, arg1 int64) moira.Logger { } // Int64 indicates an expected call of Int64. -func (mr *MockLoggerMockRecorder) Int64(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLoggerMockRecorder) Int64(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Int64", reflect.TypeOf((*MockLogger)(nil).Int64), arg0, arg1) } @@ -157,7 +162,7 @@ func (m *MockLogger) Level(arg0 string) (moira.Logger, error) { } // Level indicates an expected call of Level. -func (mr *MockLoggerMockRecorder) Level(arg0 interface{}) *gomock.Call { +func (mr *MockLoggerMockRecorder) Level(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Level", reflect.TypeOf((*MockLogger)(nil).Level), arg0) } @@ -171,7 +176,7 @@ func (m *MockLogger) String(arg0, arg1 string) moira.Logger { } // String indicates an expected call of String. -func (mr *MockLoggerMockRecorder) String(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLoggerMockRecorder) String(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "String", reflect.TypeOf((*MockLogger)(nil).String), arg0, arg1) } diff --git a/mock/moira-alert/metrics/meter.go b/mock/moira-alert/metrics/meter.go index dcb902c30..e67c2b4fa 100644 --- a/mock/moira-alert/metrics/meter.go +++ b/mock/moira-alert/metrics/meter.go @@ -1,5 +1,10 @@ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/moira-alert/moira/metrics (interfaces: Meter) +// +// Generated by this command: +// +// mockgen -destination=mock/moira-alert/metrics/meter.go -package=mock_moira_alert github.com/moira-alert/moira/metrics Meter +// // Package mock_moira_alert is a generated GoMock package. package mock_moira_alert @@ -7,7 +12,7 @@ package mock_moira_alert import ( reflect "reflect" - gomock "github.com/golang/mock/gomock" + gomock "go.uber.org/mock/gomock" ) // MockMeter is a mock of Meter interface. @@ -54,7 +59,7 @@ func (m *MockMeter) Mark(arg0 int64) { } // Mark indicates an expected call of Mark. -func (mr *MockMeterMockRecorder) Mark(arg0 interface{}) *gomock.Call { +func (mr *MockMeterMockRecorder) Mark(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Mark", reflect.TypeOf((*MockMeter)(nil).Mark), arg0) } diff --git a/mock/moira-alert/metrics/registry.go b/mock/moira-alert/metrics/registry.go index 68ccec8be..d3cab24f5 100644 --- a/mock/moira-alert/metrics/registry.go +++ b/mock/moira-alert/metrics/registry.go @@ -1,5 +1,10 @@ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/moira-alert/moira/metrics (interfaces: Registry) +// +// Generated by this command: +// +// mockgen -destination=mock/moira-alert/metrics/registry.go -package=mock_moira_alert github.com/moira-alert/moira/metrics Registry +// // Package mock_moira_alert is a generated GoMock package. package mock_moira_alert @@ -7,8 +12,8 @@ package mock_moira_alert import ( reflect "reflect" - gomock "github.com/golang/mock/gomock" metrics "github.com/moira-alert/moira/metrics" + gomock "go.uber.org/mock/gomock" ) // MockRegistry is a mock of Registry interface. @@ -37,7 +42,7 @@ func (m *MockRegistry) EXPECT() *MockRegistryMockRecorder { // NewCounter mocks base method. func (m *MockRegistry) NewCounter(arg0 ...string) metrics.Counter { m.ctrl.T.Helper() - varargs := []interface{}{} + varargs := []any{} for _, a := range arg0 { varargs = append(varargs, a) } @@ -47,7 +52,7 @@ func (m *MockRegistry) NewCounter(arg0 ...string) metrics.Counter { } // NewCounter indicates an expected call of NewCounter. -func (mr *MockRegistryMockRecorder) NewCounter(arg0 ...interface{}) *gomock.Call { +func (mr *MockRegistryMockRecorder) NewCounter(arg0 ...any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewCounter", reflect.TypeOf((*MockRegistry)(nil).NewCounter), arg0...) } @@ -55,7 +60,7 @@ func (mr *MockRegistryMockRecorder) NewCounter(arg0 ...interface{}) *gomock.Call // NewHistogram mocks base method. func (m *MockRegistry) NewHistogram(arg0 ...string) metrics.Histogram { m.ctrl.T.Helper() - varargs := []interface{}{} + varargs := []any{} for _, a := range arg0 { varargs = append(varargs, a) } @@ -65,7 +70,7 @@ func (m *MockRegistry) NewHistogram(arg0 ...string) metrics.Histogram { } // NewHistogram indicates an expected call of NewHistogram. -func (mr *MockRegistryMockRecorder) NewHistogram(arg0 ...interface{}) *gomock.Call { +func (mr *MockRegistryMockRecorder) NewHistogram(arg0 ...any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewHistogram", reflect.TypeOf((*MockRegistry)(nil).NewHistogram), arg0...) } @@ -73,7 +78,7 @@ func (mr *MockRegistryMockRecorder) NewHistogram(arg0 ...interface{}) *gomock.Ca // NewMeter mocks base method. func (m *MockRegistry) NewMeter(arg0 ...string) metrics.Meter { m.ctrl.T.Helper() - varargs := []interface{}{} + varargs := []any{} for _, a := range arg0 { varargs = append(varargs, a) } @@ -83,7 +88,7 @@ func (m *MockRegistry) NewMeter(arg0 ...string) metrics.Meter { } // NewMeter indicates an expected call of NewMeter. -func (mr *MockRegistryMockRecorder) NewMeter(arg0 ...interface{}) *gomock.Call { +func (mr *MockRegistryMockRecorder) NewMeter(arg0 ...any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewMeter", reflect.TypeOf((*MockRegistry)(nil).NewMeter), arg0...) } @@ -91,7 +96,7 @@ func (mr *MockRegistryMockRecorder) NewMeter(arg0 ...interface{}) *gomock.Call { // NewTimer mocks base method. func (m *MockRegistry) NewTimer(arg0 ...string) metrics.Timer { m.ctrl.T.Helper() - varargs := []interface{}{} + varargs := []any{} for _, a := range arg0 { varargs = append(varargs, a) } @@ -101,7 +106,7 @@ func (m *MockRegistry) NewTimer(arg0 ...string) metrics.Timer { } // NewTimer indicates an expected call of NewTimer. -func (mr *MockRegistryMockRecorder) NewTimer(arg0 ...interface{}) *gomock.Call { +func (mr *MockRegistryMockRecorder) NewTimer(arg0 ...any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewTimer", reflect.TypeOf((*MockRegistry)(nil).NewTimer), arg0...) } diff --git a/mock/moira-alert/mutex.go b/mock/moira-alert/mutex.go index 74788eceb..a367b5148 100644 --- a/mock/moira-alert/mutex.go +++ b/mock/moira-alert/mutex.go @@ -1,5 +1,10 @@ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/moira-alert/moira (interfaces: Mutex) +// +// Generated by this command: +// +// mockgen -destination=mock/moira-alert/mutex.go -package=mock_moira_alert github.com/moira-alert/moira Mutex +// // Package mock_moira_alert is a generated GoMock package. package mock_moira_alert @@ -7,7 +12,7 @@ package mock_moira_alert import ( reflect "reflect" - gomock "github.com/golang/mock/gomock" + gomock "go.uber.org/mock/gomock" ) // MockMutex is a mock of Mutex interface. diff --git a/mock/moira-alert/prometheus_api.go b/mock/moira-alert/prometheus_api.go index 5adf72ef0..b2132c148 100644 --- a/mock/moira-alert/prometheus_api.go +++ b/mock/moira-alert/prometheus_api.go @@ -1,5 +1,10 @@ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/moira-alert/moira/metric_source/prometheus (interfaces: PrometheusApi) +// +// Generated by this command: +// +// mockgen -destination=mock/moira-alert/prometheus_api.go -package=mock_moira_alert github.com/moira-alert/moira/metric_source/prometheus PrometheusApi +// // Package mock_moira_alert is a generated GoMock package. package mock_moira_alert @@ -8,9 +13,9 @@ import ( context "context" reflect "reflect" - gomock "github.com/golang/mock/gomock" v1 "github.com/prometheus/client_golang/api/prometheus/v1" model "github.com/prometheus/common/model" + gomock "go.uber.org/mock/gomock" ) // MockPrometheusApi is a mock of PrometheusApi interface. @@ -39,7 +44,7 @@ func (m *MockPrometheusApi) EXPECT() *MockPrometheusApiMockRecorder { // QueryRange mocks base method. func (m *MockPrometheusApi) QueryRange(arg0 context.Context, arg1 string, arg2 v1.Range, arg3 ...v1.Option) (model.Value, v1.Warnings, error) { m.ctrl.T.Helper() - varargs := []interface{}{arg0, arg1, arg2} + varargs := []any{arg0, arg1, arg2} for _, a := range arg3 { varargs = append(varargs, a) } @@ -51,8 +56,8 @@ func (m *MockPrometheusApi) QueryRange(arg0 context.Context, arg1 string, arg2 v } // QueryRange indicates an expected call of QueryRange. -func (mr *MockPrometheusApiMockRecorder) QueryRange(arg0, arg1, arg2 interface{}, arg3 ...interface{}) *gomock.Call { +func (mr *MockPrometheusApiMockRecorder) QueryRange(arg0, arg1, arg2 any, arg3 ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{arg0, arg1, arg2}, arg3...) + varargs := append([]any{arg0, arg1, arg2}, arg3...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryRange", reflect.TypeOf((*MockPrometheusApi)(nil).QueryRange), varargs...) } diff --git a/mock/moira-alert/searcher.go b/mock/moira-alert/searcher.go index f6fc5adf8..ade2746fd 100644 --- a/mock/moira-alert/searcher.go +++ b/mock/moira-alert/searcher.go @@ -1,5 +1,10 @@ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/moira-alert/moira (interfaces: Searcher) +// +// Generated by this command: +// +// mockgen -destination=mock/moira-alert/searcher.go -package=mock_moira_alert github.com/moira-alert/moira Searcher +// // Package mock_moira_alert is a generated GoMock package. package mock_moira_alert @@ -7,8 +12,8 @@ package mock_moira_alert import ( reflect "reflect" - gomock "github.com/golang/mock/gomock" moira "github.com/moira-alert/moira" + gomock "go.uber.org/mock/gomock" ) // MockSearcher is a mock of Searcher interface. @@ -59,7 +64,7 @@ func (m *MockSearcher) SearchTriggers(arg0 moira.SearchOptions) ([]*moira.Search } // SearchTriggers indicates an expected call of SearchTriggers. -func (mr *MockSearcherMockRecorder) SearchTriggers(arg0 interface{}) *gomock.Call { +func (mr *MockSearcherMockRecorder) SearchTriggers(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SearchTriggers", reflect.TypeOf((*MockSearcher)(nil).SearchTriggers), arg0) } diff --git a/mock/moira-alert/sender.go b/mock/moira-alert/sender.go index 25a282724..19185cb72 100644 --- a/mock/moira-alert/sender.go +++ b/mock/moira-alert/sender.go @@ -1,5 +1,10 @@ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/moira-alert/moira (interfaces: Sender) +// +// Generated by this command: +// +// mockgen -destination=mock/moira-alert/sender.go -package=mock_moira_alert github.com/moira-alert/moira Sender +// // Package mock_moira_alert is a generated GoMock package. package mock_moira_alert @@ -8,8 +13,8 @@ import ( reflect "reflect" time "time" - gomock "github.com/golang/mock/gomock" moira "github.com/moira-alert/moira" + gomock "go.uber.org/mock/gomock" ) // MockSender is a mock of Sender interface. @@ -36,7 +41,7 @@ func (m *MockSender) EXPECT() *MockSenderMockRecorder { } // Init mocks base method. -func (m *MockSender) Init(arg0 interface{}, arg1 moira.Logger, arg2 *time.Location, arg3 string) error { +func (m *MockSender) Init(arg0 any, arg1 moira.Logger, arg2 *time.Location, arg3 string) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "Init", arg0, arg1, arg2, arg3) ret0, _ := ret[0].(error) @@ -44,7 +49,7 @@ func (m *MockSender) Init(arg0 interface{}, arg1 moira.Logger, arg2 *time.Locati } // Init indicates an expected call of Init. -func (mr *MockSenderMockRecorder) Init(arg0, arg1, arg2, arg3 interface{}) *gomock.Call { +func (mr *MockSenderMockRecorder) Init(arg0, arg1, arg2, arg3 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Init", reflect.TypeOf((*MockSender)(nil).Init), arg0, arg1, arg2, arg3) } @@ -58,7 +63,7 @@ func (m *MockSender) SendEvents(arg0 moira.NotificationEvents, arg1 moira.Contac } // SendEvents indicates an expected call of SendEvents. -func (mr *MockSenderMockRecorder) SendEvents(arg0, arg1, arg2, arg3, arg4 interface{}) *gomock.Call { +func (mr *MockSenderMockRecorder) SendEvents(arg0, arg1, arg2, arg3, arg4 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendEvents", reflect.TypeOf((*MockSender)(nil).SendEvents), arg0, arg1, arg2, arg3, arg4) } diff --git a/mock/notifier/mattermost/client.go b/mock/notifier/mattermost/client.go index f3ddb4903..fff80b447 100644 --- a/mock/notifier/mattermost/client.go +++ b/mock/notifier/mattermost/client.go @@ -1,5 +1,10 @@ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/moira-alert/moira/senders/mattermost (interfaces: Client) +// +// Generated by this command: +// +// mockgen -destination=mock/notifier/mattermost/client.go -package=mock_mattermost github.com/moira-alert/moira/senders/mattermost Client +// // Package mock_mattermost is a generated GoMock package. package mock_mattermost @@ -8,8 +13,8 @@ import ( context "context" reflect "reflect" - gomock "github.com/golang/mock/gomock" model "github.com/mattermost/mattermost/server/public/model" + gomock "go.uber.org/mock/gomock" ) // MockClient is a mock of Client interface. @@ -46,7 +51,7 @@ func (m *MockClient) CreatePost(arg0 context.Context, arg1 *model.Post) (*model. } // CreatePost indicates an expected call of CreatePost. -func (mr *MockClientMockRecorder) CreatePost(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockClientMockRecorder) CreatePost(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreatePost", reflect.TypeOf((*MockClient)(nil).CreatePost), arg0, arg1) } @@ -58,7 +63,7 @@ func (m *MockClient) SetToken(arg0 string) { } // SetToken indicates an expected call of SetToken. -func (mr *MockClientMockRecorder) SetToken(arg0 interface{}) *gomock.Call { +func (mr *MockClientMockRecorder) SetToken(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetToken", reflect.TypeOf((*MockClient)(nil).SetToken), arg0) } @@ -74,7 +79,7 @@ func (m *MockClient) UploadFile(arg0 context.Context, arg1 []byte, arg2, arg3 st } // UploadFile indicates an expected call of UploadFile. -func (mr *MockClientMockRecorder) UploadFile(arg0, arg1, arg2, arg3 interface{}) *gomock.Call { +func (mr *MockClientMockRecorder) UploadFile(arg0, arg1, arg2, arg3 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UploadFile", reflect.TypeOf((*MockClient)(nil).UploadFile), arg0, arg1, arg2, arg3) } diff --git a/mock/notifier/notifier.go b/mock/notifier/notifier.go index c886a40a4..3d25fb74d 100644 --- a/mock/notifier/notifier.go +++ b/mock/notifier/notifier.go @@ -1,5 +1,10 @@ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/moira-alert/moira/notifier (interfaces: Notifier) +// +// Generated by this command: +// +// mockgen -destination=mock/notifier/notifier.go -package=mock_notifier github.com/moira-alert/moira/notifier Notifier +// // Package mock_notifier is a generated GoMock package. package mock_notifier @@ -8,9 +13,9 @@ import ( reflect "reflect" sync "sync" - gomock "github.com/golang/mock/gomock" moira "github.com/moira-alert/moira" notifier "github.com/moira-alert/moira/notifier" + gomock "go.uber.org/mock/gomock" ) // MockNotifier is a mock of Notifier interface. @@ -65,7 +70,7 @@ func (mr *MockNotifierMockRecorder) GetSenders() *gomock.Call { } // RegisterSender mocks base method. -func (m *MockNotifier) RegisterSender(arg0 map[string]interface{}, arg1 moira.Sender) error { +func (m *MockNotifier) RegisterSender(arg0 map[string]any, arg1 moira.Sender) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "RegisterSender", arg0, arg1) ret0, _ := ret[0].(error) @@ -73,7 +78,7 @@ func (m *MockNotifier) RegisterSender(arg0 map[string]interface{}, arg1 moira.Se } // RegisterSender indicates an expected call of RegisterSender. -func (mr *MockNotifierMockRecorder) RegisterSender(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockNotifierMockRecorder) RegisterSender(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RegisterSender", reflect.TypeOf((*MockNotifier)(nil).RegisterSender), arg0, arg1) } @@ -85,7 +90,7 @@ func (m *MockNotifier) Send(arg0 *notifier.NotificationPackage, arg1 *sync.WaitG } // Send indicates an expected call of Send. -func (mr *MockNotifierMockRecorder) Send(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockNotifierMockRecorder) Send(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Send", reflect.TypeOf((*MockNotifier)(nil).Send), arg0, arg1) } diff --git a/mock/notifier/telegram/bot.go b/mock/notifier/telegram/bot.go new file mode 100644 index 000000000..ef2cdd4b9 --- /dev/null +++ b/mock/notifier/telegram/bot.go @@ -0,0 +1,156 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: github.com/moira-alert/moira/senders/telegram (interfaces: Bot) +// +// Generated by this command: +// +// mockgen -destination=mock/notifier/telegram/bot.go -package=mock_telegram github.com/moira-alert/moira/senders/telegram Bot +// + +// Package mock_telegram is a generated GoMock package. +package mock_telegram + +import ( + reflect "reflect" + + gomock "go.uber.org/mock/gomock" + telebot "gopkg.in/telebot.v3" +) + +// MockBot is a mock of Bot interface. +type MockBot struct { + ctrl *gomock.Controller + recorder *MockBotMockRecorder +} + +// MockBotMockRecorder is the mock recorder for MockBot. +type MockBotMockRecorder struct { + mock *MockBot +} + +// NewMockBot creates a new mock instance. +func NewMockBot(ctrl *gomock.Controller) *MockBot { + mock := &MockBot{ctrl: ctrl} + mock.recorder = &MockBotMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockBot) EXPECT() *MockBotMockRecorder { + return m.recorder +} + +// ChatByUsername mocks base method. +func (m *MockBot) ChatByUsername(arg0 string) (*telebot.Chat, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ChatByUsername", arg0) + ret0, _ := ret[0].(*telebot.Chat) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ChatByUsername indicates an expected call of ChatByUsername. +func (mr *MockBotMockRecorder) ChatByUsername(arg0 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ChatByUsername", reflect.TypeOf((*MockBot)(nil).ChatByUsername), arg0) +} + +// Handle mocks base method. +func (m *MockBot) Handle(arg0 any, arg1 telebot.HandlerFunc, arg2 ...telebot.MiddlewareFunc) { + m.ctrl.T.Helper() + varargs := []any{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Handle", varargs...) +} + +// Handle indicates an expected call of Handle. +func (mr *MockBotMockRecorder) Handle(arg0, arg1 any, arg2 ...any) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]any{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Handle", reflect.TypeOf((*MockBot)(nil).Handle), varargs...) +} + +// Reply mocks base method. +func (m *MockBot) Reply(arg0 *telebot.Message, arg1 any, arg2 ...any) (*telebot.Message, error) { + m.ctrl.T.Helper() + varargs := []any{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "Reply", varargs...) + ret0, _ := ret[0].(*telebot.Message) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Reply indicates an expected call of Reply. +func (mr *MockBotMockRecorder) Reply(arg0, arg1 any, arg2 ...any) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]any{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Reply", reflect.TypeOf((*MockBot)(nil).Reply), varargs...) +} + +// Send mocks base method. +func (m *MockBot) Send(arg0 telebot.Recipient, arg1 any, arg2 ...any) (*telebot.Message, error) { + m.ctrl.T.Helper() + varargs := []any{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "Send", varargs...) + ret0, _ := ret[0].(*telebot.Message) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Send indicates an expected call of Send. +func (mr *MockBotMockRecorder) Send(arg0, arg1 any, arg2 ...any) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]any{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Send", reflect.TypeOf((*MockBot)(nil).Send), varargs...) +} + +// SendAlbum mocks base method. +func (m *MockBot) SendAlbum(arg0 telebot.Recipient, arg1 telebot.Album, arg2 ...any) ([]telebot.Message, error) { + m.ctrl.T.Helper() + varargs := []any{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "SendAlbum", varargs...) + ret0, _ := ret[0].([]telebot.Message) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SendAlbum indicates an expected call of SendAlbum. +func (mr *MockBotMockRecorder) SendAlbum(arg0, arg1 any, arg2 ...any) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]any{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendAlbum", reflect.TypeOf((*MockBot)(nil).SendAlbum), varargs...) +} + +// Start mocks base method. +func (m *MockBot) Start() { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Start") +} + +// Start indicates an expected call of Start. +func (mr *MockBotMockRecorder) Start() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Start", reflect.TypeOf((*MockBot)(nil).Start)) +} + +// Stop mocks base method. +func (m *MockBot) Stop() { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Stop") +} + +// Stop indicates an expected call of Stop. +func (mr *MockBotMockRecorder) Stop() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Stop", reflect.TypeOf((*MockBot)(nil).Stop)) +} diff --git a/mock/scheduler/scheduler.go b/mock/scheduler/scheduler.go index 2f45c0d4c..8a146a314 100644 --- a/mock/scheduler/scheduler.go +++ b/mock/scheduler/scheduler.go @@ -1,15 +1,19 @@ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/moira-alert/moira/notifier (interfaces: Scheduler) +// +// Generated by this command: +// +// mockgen -destination=mock/scheduler/scheduler.go -package=mock_scheduler github.com/moira-alert/moira/notifier Scheduler +// // Package mock_scheduler is a generated GoMock package. package mock_scheduler import ( reflect "reflect" - time "time" - gomock "github.com/golang/mock/gomock" moira "github.com/moira-alert/moira" + gomock "go.uber.org/mock/gomock" ) // MockScheduler is a mock of Scheduler interface. @@ -36,15 +40,15 @@ func (m *MockScheduler) EXPECT() *MockSchedulerMockRecorder { } // ScheduleNotification mocks base method. -func (m *MockScheduler) ScheduleNotification(arg0 time.Time, arg1 moira.NotificationEvent, arg2 moira.TriggerData, arg3 moira.ContactData, arg4 moira.PlottingData, arg5 bool, arg6 int, arg7 moira.Logger) *moira.ScheduledNotification { +func (m *MockScheduler) ScheduleNotification(arg0 moira.SchedulerParams, arg1 moira.Logger) *moira.ScheduledNotification { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ScheduleNotification", arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) + ret := m.ctrl.Call(m, "ScheduleNotification", arg0, arg1) ret0, _ := ret[0].(*moira.ScheduledNotification) return ret0 } // ScheduleNotification indicates an expected call of ScheduleNotification. -func (mr *MockSchedulerMockRecorder) ScheduleNotification(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7 interface{}) *gomock.Call { +func (mr *MockSchedulerMockRecorder) ScheduleNotification(arg0, arg1 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ScheduleNotification", reflect.TypeOf((*MockScheduler)(nil).ScheduleNotification), arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ScheduleNotification", reflect.TypeOf((*MockScheduler)(nil).ScheduleNotification), arg0, arg1) } diff --git a/notifier/config.go b/notifier/config.go index 10639101a..a89b4b7ec 100644 --- a/notifier/config.go +++ b/notifier/config.go @@ -6,13 +6,14 @@ import ( const NotificationsLimitUnlimited = int64(-1) -// Config is sending settings including log settings +// Config is sending settings including log settings. type Config struct { Enabled bool SelfStateEnabled bool SelfStateContacts []map[string]string SendingTimeout time.Duration ResendingTimeout time.Duration + ReschedulingDelay time.Duration Senders []map[string]interface{} LogFile string LogLevel string diff --git a/notifier/events/event.go b/notifier/events/event.go index 32b72bb84..c6662200e 100644 --- a/notifier/events/event.go +++ b/notifier/events/event.go @@ -1,6 +1,7 @@ package events import ( + "errors" "fmt" "time" @@ -13,7 +14,7 @@ import ( "github.com/moira-alert/moira/notifier" ) -// FetchEventsWorker checks for new events and new notifications based on it +// FetchEventsWorker checks for new events and new notifications based on it. type FetchEventsWorker struct { Logger moira.Logger Database moira.Database @@ -23,7 +24,7 @@ type FetchEventsWorker struct { tomb tomb.Tomb } -// Start is a cycle that fetches events from database +// Start is a cycle that fetches events from database. func (worker *FetchEventsWorker) Start() { worker.tomb.Go(func() error { for { @@ -37,7 +38,7 @@ func (worker *FetchEventsWorker) Start() { { event, err := worker.Database.FetchNotificationEvent() if err != nil { - if err != database.ErrNil { + if !errors.Is(err, database.ErrNil) { worker.Metrics.EventsMalformed.Mark(1) worker.Logger.Warning(). Error(err). @@ -70,7 +71,7 @@ func (worker *FetchEventsWorker) Start() { worker.Logger.Info().Msg("Moira Notifier Fetching events started") } -// Stop stops new event fetching and wait for finish +// Stop stops new event fetching and wait for finish. func (worker *FetchEventsWorker) Stop() error { worker.tomb.Kill(nil) return worker.tomb.Wait() @@ -148,8 +149,15 @@ func (worker *FetchEventsWorker) processEvent(event moira.NotificationEvent) err continue } event.SubscriptionID = &subscription.ID - notification := worker.Scheduler.ScheduleNotification(time.Now(), event, triggerData, - contact, subscription.Plotting, false, 0, contactLogger) + params := moira.SchedulerParams{ + Event: event, + Trigger: triggerData, + Contact: contact, + Plotting: subscription.Plotting, + ThrottledOld: false, + SendFail: 0, + } + notification := worker.Scheduler.ScheduleNotification(params, contactLogger) key := notification.GetKey() if _, exist := duplications[key]; !exist { if err := worker.Database.AddNotification(notification); err != nil { @@ -180,7 +188,7 @@ func (worker *FetchEventsWorker) getNotificationSubscriptions(event moira.Notifi sub, err := worker.Database.GetSubscription(*event.SubscriptionID) if err != nil { worker.Metrics.SubsMalformed.Mark(1) - return nil, fmt.Errorf("error while read subscription %s: %s", *event.SubscriptionID, err.Error()) + return nil, fmt.Errorf("error while read subscription %s: %w", *event.SubscriptionID, err) } return &sub, nil } else if event.ContactID != "" { @@ -211,7 +219,8 @@ func (worker *FetchEventsWorker) getNotificationSubscriptions(event moira.Notifi } func (worker *FetchEventsWorker) isNotificationRequired(subscription *moira.SubscriptionData, trigger moira.TriggerData, - event moira.NotificationEvent, logger moira.Logger) bool { + event moira.NotificationEvent, logger moira.Logger, +) bool { if subscription == nil { logger.Debug().Msg("Subscription is nil") return false diff --git a/notifier/events/event_test.go b/notifier/events/event_test.go index 17e9ff892..219f03f60 100644 --- a/notifier/events/event_test.go +++ b/notifier/events/event_test.go @@ -5,13 +5,14 @@ import ( "testing" "time" - "github.com/golang/mock/gomock" logging "github.com/moira-alert/moira/logging/zerolog_adapter" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" "github.com/moira-alert/moira" "github.com/moira-alert/moira/database" "github.com/moira-alert/moira/metrics" + mock_clock "github.com/moira-alert/moira/mock/clock" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" mock_scheduler "github.com/moira-alert/moira/mock/scheduler" "github.com/moira-alert/moira/notifier" @@ -25,14 +26,23 @@ func TestEvent(t *testing.T) { dataBase := mock_moira_alert.NewMockDatabase(mockCtrl) scheduler := mock_scheduler.NewMockScheduler(mockCtrl) logger, _ := logging.GetLogger("Events") + systemClock := mock_clock.NewMockClock(mockCtrl) + systemClock.EXPECT().Now().Return(time.Now()).AnyTimes() Convey("When event is TEST and subscription is disabled, should add new notification", t, func() { worker := FetchEventsWorker{ - Database: dataBase, - Logger: logger, - Metrics: notifierMetrics, - Scheduler: notifier.NewScheduler(dataBase, logger, notifierMetrics), - Config: emptyNotifierConfig, + Database: dataBase, + Logger: logger, + Metrics: notifierMetrics, + Scheduler: notifier.NewScheduler( + dataBase, + logger, + notifierMetrics, + notifier.SchedulerConfig{ + ReschedulingDelay: emptyNotifierConfig.ReschedulingDelay, + }, + systemClock), + Config: emptyNotifierConfig, } event := moira.NotificationEvent{ State: moira.StateTEST, @@ -49,7 +59,8 @@ func TestEvent(t *testing.T) { SubscriptionID: event.SubscriptionID, }, SendFail: 0, - Timestamp: time.Now().Unix(), + Timestamp: systemClock.Now().Unix(), + CreatedAt: systemClock.Now().Unix(), Throttled: false, Contact: contact, } @@ -77,7 +88,7 @@ func TestEvent(t *testing.T) { } dataBase.EXPECT().GetContact(event.ContactID).Times(1).Return(contact, nil) dataBase.EXPECT().GetContact(contact.ID).Times(1).Return(contact, nil) - now := time.Now() + now := systemClock.Now() notification := moira.ScheduledNotification{ Event: moira.NotificationEvent{ TriggerID: "", @@ -88,12 +99,23 @@ func TestEvent(t *testing.T) { }, SendFail: 0, Timestamp: now.Unix(), + CreatedAt: now.Unix(), Throttled: false, Contact: contact, } event2 := event event2.SubscriptionID = &subID - scheduler.EXPECT().ScheduleNotification(gomock.Any(), event2, moira.TriggerData{}, contact, notification.Plotting, false, 0, gomock.Any()).Return(¬ification) + + params := moira.SchedulerParams{ + Event: event2, + Trigger: moira.TriggerData{}, + Contact: contact, + Plotting: notification.Plotting, + ThrottledOld: false, + SendFail: 0, + } + + scheduler.EXPECT().ScheduleNotification(params, gomock.Any()).Return(¬ification) dataBase.EXPECT().AddNotification(¬ification) err := worker.processEvent(event) @@ -107,13 +129,21 @@ func TestNoSubscription(t *testing.T) { defer mockCtrl.Finish() dataBase := mock_moira_alert.NewMockDatabase(mockCtrl) logger, _ := logging.GetLogger("Events") + systemClock := mock_clock.NewMockClock(mockCtrl) worker := FetchEventsWorker{ - Database: dataBase, - Logger: logger, - Metrics: notifierMetrics, - Scheduler: notifier.NewScheduler(dataBase, logger, notifierMetrics), - Config: emptyNotifierConfig, + Database: dataBase, + Logger: logger, + Metrics: notifierMetrics, + Scheduler: notifier.NewScheduler( + dataBase, + logger, + notifierMetrics, + notifier.SchedulerConfig{ + ReschedulingDelay: emptyNotifierConfig.ReschedulingDelay, + }, + systemClock), + Config: emptyNotifierConfig, } event := moira.NotificationEvent{ @@ -138,13 +168,21 @@ func TestDisabledNotification(t *testing.T) { dataBase := mock_moira_alert.NewMockDatabase(mockCtrl) logger := mock_moira_alert.NewMockLogger(mockCtrl) eventBuilder := mock_moira_alert.NewMockEventBuilder(mockCtrl) + systemClock := mock_clock.NewMockClock(mockCtrl) worker := FetchEventsWorker{ - Database: dataBase, - Logger: logger, - Metrics: notifierMetrics, - Scheduler: notifier.NewScheduler(dataBase, logger, notifierMetrics), - Config: emptyNotifierConfig, + Database: dataBase, + Logger: logger, + Metrics: notifierMetrics, + Scheduler: notifier.NewScheduler( + dataBase, + logger, + notifierMetrics, + notifier.SchedulerConfig{ + ReschedulingDelay: emptyNotifierConfig.ReschedulingDelay, + }, + systemClock), + Config: emptyNotifierConfig, } event := moira.NotificationEvent{ @@ -183,6 +221,7 @@ func TestSubscriptionsManagedToIgnoreEvents(t *testing.T) { dataBase := mock_moira_alert.NewMockDatabase(mockCtrl) logger := mock_moira_alert.NewMockLogger(mockCtrl) eventBuilder := mock_moira_alert.NewMockEventBuilder(mockCtrl) + systemClock := mock_clock.NewMockClock(mockCtrl) logger.EXPECT().Clone().Return(logger).AnyTimes() logger.EXPECT().String(gomock.Any(), gomock.Any()).Return(logger).AnyTimes() @@ -190,11 +229,17 @@ func TestSubscriptionsManagedToIgnoreEvents(t *testing.T) { Convey("[TRUE] Do not send WARN notifications", t, func() { worker := FetchEventsWorker{ - Database: dataBase, - Logger: logger, - Metrics: notifierMetrics, - Scheduler: notifier.NewScheduler(dataBase, logger, notifierMetrics), - Config: emptyNotifierConfig, + Database: dataBase, + Logger: logger, + Metrics: notifierMetrics, + Scheduler: notifier.NewScheduler( + dataBase, + logger, + notifierMetrics, notifier.SchedulerConfig{ + ReschedulingDelay: emptyNotifierConfig.ReschedulingDelay, + }, + systemClock), + Config: emptyNotifierConfig, } event := moira.NotificationEvent{ @@ -226,11 +271,18 @@ func TestSubscriptionsManagedToIgnoreEvents(t *testing.T) { }) Convey("[TRUE] Send notifications when triggers degraded only", t, func() { worker := FetchEventsWorker{ - Database: dataBase, - Logger: logger, - Metrics: notifierMetrics, - Scheduler: notifier.NewScheduler(dataBase, logger, notifierMetrics), - Config: emptyNotifierConfig, + Database: dataBase, + Logger: logger, + Metrics: notifierMetrics, + Scheduler: notifier.NewScheduler( + dataBase, + logger, + notifierMetrics, + notifier.SchedulerConfig{ + ReschedulingDelay: emptyNotifierConfig.ReschedulingDelay, + }, + systemClock), + Config: emptyNotifierConfig, } event := moira.NotificationEvent{ @@ -262,11 +314,18 @@ func TestSubscriptionsManagedToIgnoreEvents(t *testing.T) { }) Convey("[TRUE] Do not send WARN notifications & [TRUE] Send notifications when triggers degraded only", t, func() { worker := FetchEventsWorker{ - Database: dataBase, - Logger: logger, - Metrics: notifierMetrics, - Scheduler: notifier.NewScheduler(dataBase, logger, notifierMetrics), - Config: emptyNotifierConfig, + Database: dataBase, + Logger: logger, + Metrics: notifierMetrics, + Scheduler: notifier.NewScheduler( + dataBase, + logger, + notifierMetrics, + notifier.SchedulerConfig{ + ReschedulingDelay: emptyNotifierConfig.ReschedulingDelay, + }, + systemClock), + Config: emptyNotifierConfig, } event := moira.NotificationEvent{ @@ -277,7 +336,7 @@ func TestSubscriptionsManagedToIgnoreEvents(t *testing.T) { } dataBase.EXPECT().GetTrigger(event.TriggerID).Return(trigger, nil) - var subscriptionToIgnoreWarningsAndRecoverings = moira.SubscriptionData{ + subscriptionToIgnoreWarningsAndRecoverings := moira.SubscriptionData{ ID: "subscriptionID-00000000000003", Enabled: true, Tags: []string{"test-tag"}, @@ -313,6 +372,7 @@ func TestAddNotification(t *testing.T) { dataBase := mock_moira_alert.NewMockDatabase(mockCtrl) logger, _ := logging.GetLogger("Events") scheduler := mock_scheduler.NewMockScheduler(mockCtrl) + worker := FetchEventsWorker{ Database: dataBase, Logger: logger, @@ -329,11 +389,19 @@ func TestAddNotification(t *testing.T) { SubscriptionID: &subscription.ID, } emptyNotification := moira.ScheduledNotification{} + params := moira.SchedulerParams{ + Event: event, + Trigger: triggerData, + Contact: contact, + Plotting: emptyNotification.Plotting, + ThrottledOld: false, + SendFail: 0, + } dataBase.EXPECT().GetTrigger(event.TriggerID).Return(trigger, nil) dataBase.EXPECT().GetTagsSubscriptions(triggerData.Tags).Times(1).Return([]*moira.SubscriptionData{&subscription}, nil) dataBase.EXPECT().GetContact(contact.ID).Times(1).Return(contact, nil) - scheduler.EXPECT().ScheduleNotification(gomock.Any(), event, triggerData, contact, emptyNotification.Plotting, false, 0, gomock.Any()).Times(1).Return(&emptyNotification) + scheduler.EXPECT().ScheduleNotification(params, gomock.Any()).Times(1).Return(&emptyNotification) dataBase.EXPECT().AddNotification(&emptyNotification).Times(1).Return(nil) err := worker.processEvent(event) @@ -348,6 +416,7 @@ func TestAddOneNotificationByTwoSubscriptionsWithSame(t *testing.T) { dataBase := mock_moira_alert.NewMockDatabase(mockCtrl) logger, _ := logging.GetLogger("Events") scheduler := mock_scheduler.NewMockScheduler(mockCtrl) + worker := FetchEventsWorker{ Database: dataBase, Logger: logger, @@ -368,12 +437,23 @@ func TestAddOneNotificationByTwoSubscriptionsWithSame(t *testing.T) { notification2 := moira.ScheduledNotification{} + params := moira.SchedulerParams{ + Event: event, + Trigger: triggerData, + Contact: contact, + Plotting: notification2.Plotting, + ThrottledOld: false, + SendFail: 0, + } + params2 := params + params2.Event = event2 + dataBase.EXPECT().GetTrigger(event.TriggerID).Return(trigger, nil) dataBase.EXPECT().GetTagsSubscriptions(triggerData.Tags).Times(1).Return([]*moira.SubscriptionData{&subscription, &subscription4}, nil) dataBase.EXPECT().GetContact(contact.ID).Times(2).Return(contact, nil) - scheduler.EXPECT().ScheduleNotification(gomock.Any(), event, triggerData, contact, notification2.Plotting, false, 0, gomock.Any()).Times(1).Return(¬ification2) - scheduler.EXPECT().ScheduleNotification(gomock.Any(), event2, triggerData, contact, notification2.Plotting, false, 0, gomock.Any()).Times(1).Return(¬ification2) + scheduler.EXPECT().ScheduleNotification(params, gomock.Any()).Times(1).Return(¬ification2) + scheduler.EXPECT().ScheduleNotification(params2, gomock.Any()).Times(1).Return(¬ification2) dataBase.EXPECT().AddNotification(¬ification2).Times(1).Return(nil) @@ -389,13 +469,21 @@ func TestFailReadContact(t *testing.T) { dataBase := mock_moira_alert.NewMockDatabase(mockCtrl) logger := mock_moira_alert.NewMockLogger(mockCtrl) eventBuilder := mock_moira_alert.NewMockEventBuilder(mockCtrl) + systemClock := mock_clock.NewMockClock(mockCtrl) worker := FetchEventsWorker{ - Database: dataBase, - Logger: logger, - Metrics: notifierMetrics, - Scheduler: notifier.NewScheduler(dataBase, logger, notifierMetrics), - Config: emptyNotifierConfig, + Database: dataBase, + Logger: logger, + Metrics: notifierMetrics, + Scheduler: notifier.NewScheduler( + dataBase, + logger, + notifierMetrics, + notifier.SchedulerConfig{ + ReschedulingDelay: emptyNotifierConfig.ReschedulingDelay, + }, + systemClock), + Config: emptyNotifierConfig, } event := moira.NotificationEvent{ @@ -437,6 +525,7 @@ func TestEmptySubscriptions(t *testing.T) { mockCtrl := gomock.NewController(t) logger := mock_moira_alert.NewMockLogger(mockCtrl) eventBuilder := mock_moira_alert.NewMockEventBuilder(mockCtrl) + systemClock := mock_clock.NewMockClock(mockCtrl) logger.EXPECT().Clone().Return(logger).AnyTimes() logger.EXPECT().String(gomock.Any(), gomock.Any()).Return(logger).AnyTimes() @@ -447,11 +536,18 @@ func TestEmptySubscriptions(t *testing.T) { dataBase := mock_moira_alert.NewMockDatabase(mockCtrl) worker := FetchEventsWorker{ - Database: dataBase, - Logger: logger, - Metrics: notifierMetrics, - Scheduler: notifier.NewScheduler(dataBase, logger, notifierMetrics), - Config: emptyNotifierConfig, + Database: dataBase, + Logger: logger, + Metrics: notifierMetrics, + Scheduler: notifier.NewScheduler( + dataBase, + logger, + notifierMetrics, + notifier.SchedulerConfig{ + ReschedulingDelay: emptyNotifierConfig.ReschedulingDelay, + }, + systemClock), + Config: emptyNotifierConfig, } event := moira.NotificationEvent{ @@ -482,11 +578,18 @@ func TestEmptySubscriptions(t *testing.T) { mockCtrl := gomock.NewController(t) dataBase := mock_moira_alert.NewMockDatabase(mockCtrl) worker := FetchEventsWorker{ - Database: dataBase, - Logger: logger, - Metrics: notifierMetrics, - Scheduler: notifier.NewScheduler(dataBase, logger, notifierMetrics), - Config: emptyNotifierConfig, + Database: dataBase, + Logger: logger, + Metrics: notifierMetrics, + Scheduler: notifier.NewScheduler( + dataBase, + logger, + notifierMetrics, + notifier.SchedulerConfig{ + ReschedulingDelay: emptyNotifierConfig.ReschedulingDelay, + }, + systemClock), + Config: emptyNotifierConfig, } event := moira.NotificationEvent{ @@ -519,13 +622,21 @@ func TestGetNotificationSubscriptions(t *testing.T) { mockCtrl := gomock.NewController(t) defer mockCtrl.Finish() dataBase := mock_moira_alert.NewMockDatabase(mockCtrl) + systemClock := mock_clock.NewMockClock(mockCtrl) logger, _ := logging.GetLogger("Events") worker := FetchEventsWorker{ - Database: dataBase, - Logger: logger, - Metrics: notifierMetrics, - Scheduler: notifier.NewScheduler(dataBase, logger, notifierMetrics), - Config: emptyNotifierConfig, + Database: dataBase, + Logger: logger, + Metrics: notifierMetrics, + Scheduler: notifier.NewScheduler( + dataBase, + logger, + notifierMetrics, + notifier.SchedulerConfig{ + ReschedulingDelay: emptyNotifierConfig.ReschedulingDelay, + }, + systemClock), + Config: emptyNotifierConfig, } Convey("Error GetSubscription", t, func() { @@ -537,7 +648,7 @@ func TestGetNotificationSubscriptions(t *testing.T) { dataBase.EXPECT().GetSubscription(*event.SubscriptionID).Return(moira.SubscriptionData{}, err) sub, expected := worker.getNotificationSubscriptions(event, logger) So(sub, ShouldBeNil) - So(expected, ShouldResemble, fmt.Errorf("error while read subscription %s: %s", *event.SubscriptionID, err.Error())) + So(expected, ShouldResemble, fmt.Errorf("error while read subscription %s: %w", *event.SubscriptionID, err)) }) Convey("Error GetContact", t, func() { @@ -577,6 +688,14 @@ func TestGoRoutine(t *testing.T) { SubscriptionID: &subscription.ID, } emptyNotification := moira.ScheduledNotification{} + params := moira.SchedulerParams{ + Event: event, + Trigger: triggerData, + Contact: contact, + Plotting: emptyNotification.Plotting, + ThrottledOld: false, + SendFail: 0, + } shutdown := make(chan struct{}) dataBase.EXPECT().FetchNotificationEvent().Return(moira.NotificationEvent{}, fmt.Errorf("3433434")).Do(func() { @@ -587,7 +706,7 @@ func TestGoRoutine(t *testing.T) { dataBase.EXPECT().GetTrigger(event.TriggerID).Times(1).Return(trigger, nil) dataBase.EXPECT().GetTagsSubscriptions(triggerData.Tags).Times(1).Return([]*moira.SubscriptionData{&subscription}, nil) dataBase.EXPECT().GetContact(contact.ID).Times(1).Return(contact, nil) - scheduler.EXPECT().ScheduleNotification(gomock.Any(), event, triggerData, contact, emptyNotification.Plotting, false, 0, gomock.Any()).Times(1).Return(&emptyNotification) + scheduler.EXPECT().ScheduleNotification(params, gomock.Any()).Times(1).Return(&emptyNotification) dataBase.EXPECT().AddNotification(&emptyNotification).Times(1).Return(nil).Do(func(f ...interface{}) { close(shutdown) }) worker.Start() @@ -606,8 +725,10 @@ func waitTestEnd(shutdown chan struct{}, worker *FetchEventsWorker) { } } -var warnValue float64 = 10 -var errorValue float64 = 20 +var ( + warnValue float64 = 10 + errorValue float64 = 20 +) var triggerData = moira.TriggerData{ ID: "triggerID-0000000000001", diff --git a/notifier/log_common.go b/notifier/log_common.go index 67cf4dea8..82756ef70 100644 --- a/notifier/log_common.go +++ b/notifier/log_common.go @@ -6,14 +6,28 @@ func getLogWithPackageContext(log *moira.Logger, pkg *NotificationPackage, confi logger := (*log).Clone(). String(moira.LogFieldNameContactID, pkg.Contact.ID). String(moira.LogFieldNameContactType, pkg.Contact.Type). - String(moira.LogFieldNameContactValue, pkg.Contact.Value) + String(moira.LogFieldNameContactValue, pkg.Contact.Value). + Int(moira.LogFieldNameFailCount, pkg.FailCount). + String(moira.LogFieldNameContext, "notification") + if pkg.Trigger.ID != "" { // note: test notification without trigger info logger. String(moira.LogFieldNameTriggerID, pkg.Trigger.ID). String(moira.LogFieldNameTriggerName, pkg.Trigger.Name) } + if pkg.Contact.User != "" { + logger. + String(moira.LogFieldNameContactUser, pkg.Contact.User) + } + + if pkg.Contact.Team != "" { + logger. + String(moira.LogFieldNameContactTeam, pkg.Contact.Team) + } + SetLogLevelByConfig(config.LogContactsToLevel, pkg.Contact.ID, &logger) + return logger } diff --git a/notifier/notifications/error.go b/notifier/notifications/error.go index 54568c57c..f538b21ff 100644 --- a/notifier/notifications/error.go +++ b/notifier/notifications/error.go @@ -1,9 +1,9 @@ package notifications -// notifierInBadStateError is used for ERROR state of notifier service +// notifierInBadStateError is used for ERROR state of notifier service. type notifierInBadStateError string -// notifierInBadStateError implementation with constant error message +// notifierInBadStateError implementation with constant error message. func (err notifierInBadStateError) Error() string { return string(err) } diff --git a/notifier/notifications/notifications.go b/notifier/notifications/notifications.go index 7c573aad1..f033d3d5c 100644 --- a/notifier/notifications/notifications.go +++ b/notifier/notifications/notifications.go @@ -8,20 +8,31 @@ import ( "gopkg.in/tomb.v2" "github.com/moira-alert/moira" + "github.com/moira-alert/moira/metrics" "github.com/moira-alert/moira/notifier" ) const sleepAfterNotifierBadState = time.Second * 10 -// FetchNotificationsWorker - check for new notifications and send it using notifier +// FetchNotificationsWorker - check for new notifications and send it using notifier. type FetchNotificationsWorker struct { Logger moira.Logger Database moira.Database Notifier notifier.Notifier + Metrics *metrics.NotifierMetrics tomb tomb.Tomb } -// Start is a cycle that fetches scheduled notifications from database +func (worker *FetchNotificationsWorker) updateFetchNotificationsMetric(fetchNotificationsStartTime time.Time) { + if worker.Metrics == nil { + worker.Logger.Warning().Msg("Cannot update fetch notifications metric because Metrics is nil") + return + } + + worker.Metrics.UpdateFetchNotificationsDurationMs(fetchNotificationsStartTime) +} + +// Start is a cycle that fetches scheduled notifications from database. func (worker *FetchNotificationsWorker) Start() { worker.tomb.Go(func() error { checkTicker := time.NewTicker(time.Second) @@ -33,7 +44,7 @@ func (worker *FetchNotificationsWorker) Start() { return nil case <-checkTicker.C: if err := worker.processScheduledNotifications(); err != nil { - switch err.(type) { + switch err.(type) { // nolint:errorlint case notifierInBadStateError: worker.Logger.Warning(). String("stop_sending_notifications_for", sleepAfterNotifierBadState.String()). @@ -52,7 +63,7 @@ func (worker *FetchNotificationsWorker) Start() { worker.Logger.Info().Msg("Moira Notifier Fetching scheduled notifications started") } -// Stop stops new notifications fetching and wait for finish +// Stop stops new notifications fetching and wait for finish. func (worker *FetchNotificationsWorker) Stop() error { worker.tomb.Kill(nil) return worker.tomb.Wait() @@ -63,14 +74,18 @@ func (worker *FetchNotificationsWorker) processScheduledNotifications() error { if err != nil { return notifierInBadStateError("can't get current notifier state") } + if state != moira.SelfStateOK { return notifierInBadStateError(fmt.Sprintf("notifier in a bad state: %v", state)) } - notifications, err := worker.Database.FetchNotifications(time.Now().Unix(), worker.Notifier.GetReadBatchSize()) + fetchNotificationsStartTime := time.Now() + notifications, err := worker.Database.FetchNotifications(time.Now().Unix(), worker.Notifier.GetReadBatchSize()) if err != nil { return err } + worker.updateFetchNotificationsMetric(fetchNotificationsStartTime) + notificationPackages := make(map[string]*notifier.NotificationPackage) for _, notification := range notifications { packageKey := fmt.Sprintf("%s:%s:%s", notification.Contact.Type, notification.Contact.Value, notification.Event.TriggerID) @@ -88,7 +103,6 @@ func (worker *FetchNotificationsWorker) processScheduledNotifications() error { p.Events = append(p.Events, notification.Event) err = worker.Database.PushContactNotificationToHistory(notification) - if err != nil { worker.Logger.Warning().Error(err).Msg("Can't save notification to history") } diff --git a/notifier/notifications/notifications_test.go b/notifier/notifications/notifications_test.go index d97aaa890..2b40438d6 100644 --- a/notifier/notifications/notifications_test.go +++ b/notifier/notifications/notifications_test.go @@ -4,9 +4,10 @@ import ( "testing" "time" - "github.com/golang/mock/gomock" logging "github.com/moira-alert/moira/logging/zerolog_adapter" + "github.com/moira-alert/moira/metrics" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" "github.com/moira-alert/moira" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" @@ -14,6 +15,8 @@ import ( notifier2 "github.com/moira-alert/moira/notifier" ) +var notifierMetrics = metrics.ConfigureNotifierMetrics(metrics.NewDummyRegistry(), "notifier") + func TestProcessScheduledEvent(t *testing.T) { subID2 := "subscriptionID-00000000000002" subID5 := "subscriptionID-00000000000005" @@ -60,6 +63,7 @@ func TestProcessScheduledEvent(t *testing.T) { Database: dataBase, Logger: logger, Notifier: notifier, + Metrics: notifierMetrics, } Convey("Two different notifications, should send two packages", t, func() { @@ -159,6 +163,7 @@ func TestGoRoutine(t *testing.T) { Database: dataBase, Logger: logger, Notifier: notifier, + Metrics: notifierMetrics, } shutdown := make(chan struct{}) diff --git a/notifier/notifier.go b/notifier/notifier.go index fd0752c6d..6dd11c0bc 100644 --- a/notifier/notifier.go +++ b/notifier/notifier.go @@ -13,7 +13,7 @@ import ( "github.com/moira-alert/moira/plotting" ) -// NotificationPackage represent sending data +// NotificationPackage represent sending data. type NotificationPackage struct { Events []moira.NotificationEvent Trigger moira.TriggerData @@ -24,12 +24,12 @@ type NotificationPackage struct { DontResend bool } -// String returns notification package summary +// String returns notification package summary. func (pkg NotificationPackage) String() string { return fmt.Sprintf("package of %d notifications to %s", len(pkg.Events), pkg.Contact.Value) } -// GetWindow returns the earliest and the latest notification package timestamps +// GetWindow returns the earliest and the latest notification package timestamps. func (pkg NotificationPackage) GetWindow() (from, to int64, err error) { timeStamps := make([]int64, 0) for _, event := range pkg.Events { @@ -51,7 +51,7 @@ func (pkg NotificationPackage) GetWindow() (from, to int64, err error) { return from, to, nil } -// GetMetricNames returns all metric names found in package events +// GetMetricNames returns all metric names found in package events. func (pkg NotificationPackage) GetMetricNames() []string { metricNames := make([]string, 0) for _, event := range pkg.Events { @@ -62,7 +62,7 @@ func (pkg NotificationPackage) GetMetricNames() []string { return metricNames } -// Notifier implements notification functionality +// Notifier implements notification functionality. type Notifier interface { Send(pkg *NotificationPackage, waitGroup *sync.WaitGroup) RegisterSender(senderSettings map[string]interface{}, sender moira.Sender) error @@ -71,7 +71,7 @@ type Notifier interface { GetReadBatchSize() int64 } -// StandardNotifier represent notification functionality +// StandardNotifier represent notification functionality. type StandardNotifier struct { waitGroup sync.WaitGroup senders map[string]chan NotificationPackage @@ -84,13 +84,16 @@ type StandardNotifier struct { imageStores map[string]moira.ImageStore } -// NewNotifier is initializer for StandardNotifier -func NewNotifier(database moira.Database, logger moira.Logger, config Config, metrics *metrics.NotifierMetrics, metricSourceProvider *metricSource.SourceProvider, imageStoreMap map[string]moira.ImageStore) *StandardNotifier { +// NewNotifier is initializer for StandardNotifier. +func NewNotifier(database moira.Database, logger moira.Logger, config Config, metrics *metrics.NotifierMetrics, + metricSourceProvider *metricSource.SourceProvider, imageStoreMap map[string]moira.ImageStore, clock moira.Clock, + schedulerConfig SchedulerConfig, +) *StandardNotifier { return &StandardNotifier{ senders: make(map[string]chan NotificationPackage), logger: logger, database: database, - scheduler: NewScheduler(database, logger, metrics), + scheduler: NewScheduler(database, logger, metrics, schedulerConfig, clock), config: config, metrics: metrics, metricSourceProvider: metricSourceProvider, @@ -98,11 +101,11 @@ func NewNotifier(database moira.Database, logger moira.Logger, config Config, me } } -// Send is realization of StandardNotifier Send functionality +// Send is realization of StandardNotifier Send functionality. func (notifier *StandardNotifier) Send(pkg *NotificationPackage, waitGroup *sync.WaitGroup) { ch, found := notifier.senders[pkg.Contact.Type] if !found { - notifier.resend(pkg, fmt.Sprintf("Unknown contact type '%s' [%s]", pkg.Contact.Type, pkg)) + notifier.reschedule(pkg, fmt.Sprintf("Unknown sender contact type '%s' [%s]", pkg.Contact.Type, pkg)) return } waitGroup.Add(1) @@ -117,13 +120,13 @@ func (notifier *StandardNotifier) Send(pkg *NotificationPackage, waitGroup *sync case ch <- *pkg: break case <-time.After(notifier.config.SendingTimeout): - notifier.resend(pkg, fmt.Sprintf("Timeout sending %s", pkg)) + notifier.reschedule(pkg, fmt.Sprintf("Timeout sending %s", pkg)) break } }(pkg) } -// GetSenders get hash of registered notifier senders +// GetSenders get hash of registered notifier senders. func (notifier *StandardNotifier) GetSenders() map[string]bool { hash := make(map[string]bool) for key := range notifier.senders { @@ -132,40 +135,51 @@ func (notifier *StandardNotifier) GetSenders() map[string]bool { return hash } -// GetReadBatchSize returns amount of messages notifier reads from Redis per iteration +// GetReadBatchSize returns amount of messages notifier reads from Redis per iteration. func (notifier *StandardNotifier) GetReadBatchSize() int64 { return notifier.config.ReadBatchSize } -func (notifier *StandardNotifier) resend(pkg *NotificationPackage, reason string) { +func (notifier *StandardNotifier) reschedule(pkg *NotificationPackage, reason string) { if pkg.DontResend { + notifier.metrics.MarkSendersDroppedNotifications(pkg.Contact.Type) return } - notifier.metrics.SendingFailed.Mark(1) - if metric, found := notifier.metrics.SendersFailedMetrics.GetRegisteredMeter(pkg.Contact.Type); found { - metric.Mark(1) - } + + notifier.metrics.MarkSendingFailed() + notifier.metrics.MarkSendersFailedMetrics(pkg.Contact.Type) logger := getLogWithPackageContext(¬ifier.logger, pkg, ¬ifier.config) + + if notifier.needToStop(pkg.FailCount) { + notifier.metrics.MarkSendersDroppedNotifications(pkg.Contact.Type) + logger.Error(). + Msg("Stop resending. Notification interval is timed out") + return + } + logger.Warning(). - Int("number_of_retires", pkg.FailCount). + Int("number_of_retries", pkg.FailCount). String("reason", reason). - Msg("Can't send message. Retry again in 1 min") - - if time.Duration(pkg.FailCount)*time.Minute > notifier.config.ResendingTimeout { - logger.Error().Msg("Stop resending. Notification interval is timed out") - } else { - for _, event := range pkg.Events { - subID := moira.UseString(event.SubscriptionID) - eventLogger := logger.Clone().String(moira.LogFieldNameSubscriptionID, subID) - SetLogLevelByConfig(notifier.config.LogSubscriptionsToLevel, subID, &eventLogger) - notification := notifier.scheduler.ScheduleNotification(time.Now(), event, - pkg.Trigger, pkg.Contact, pkg.Plotting, pkg.Throttled, pkg.FailCount+1, eventLogger) - if err := notifier.database.AddNotification(notification); err != nil { - eventLogger.Error(). - Error(err). - Msg("Failed to save scheduled notification") - } + Msg(fmt.Sprintf("Can't send message. Retry again in %s", notifier.config.ReschedulingDelay)) + + for _, event := range pkg.Events { + subID := moira.UseString(event.SubscriptionID) + eventLogger := logger.Clone().String(moira.LogFieldNameSubscriptionID, subID) + SetLogLevelByConfig(notifier.config.LogSubscriptionsToLevel, subID, &eventLogger) + params := moira.SchedulerParams{ + Event: event, + Trigger: pkg.Trigger, + Contact: pkg.Contact, + Plotting: pkg.Plotting, + ThrottledOld: pkg.Throttled, + SendFail: pkg.FailCount + 1, + } + notification := notifier.scheduler.ScheduleNotification(params, eventLogger) + if err := notifier.database.AddNotification(notification); err != nil { + eventLogger.Error(). + Error(err). + Msg("Failed to save scheduled notification") } } } @@ -173,7 +187,7 @@ func (notifier *StandardNotifier) resend(pkg *NotificationPackage, reason string func (notifier *StandardNotifier) runSender(sender moira.Sender, ch chan NotificationPackage) { defer func() { if err := recover(); err != nil { - notifier.logger.Warning(). + notifier.logger.Error(). String(moira.LogFieldNameStackTrace, string(debug.Stack())). Interface("recovered_err", err). Msg("Notifier panicked") @@ -183,35 +197,40 @@ func (notifier *StandardNotifier) runSender(sender moira.Sender, ch chan Notific for pkg := range ch { log := getLogWithPackageContext(¬ifier.logger, &pkg, ¬ifier.config) - plottingLog := log.Clone().String(moira.LogFieldNameContext, "plotting") - plots, err := notifier.buildNotificationPackagePlots(pkg, plottingLog) - if err != nil { + plots, plotsBuildDuration, plotsBuildErr := notifier.buildNotificationPackagePlots(pkg, log) + if plotsBuildErr != nil { var event logging.EventBuilder - switch err.(type) { + switch plotsBuildErr.(type) { // nolint:errorlint case plotting.ErrNoPointsToRender: - event = plottingLog.Debug() + event = log.Debug() default: - event = plottingLog.Error() + event = log.Error() } event. - String(moira.LogFieldNameTriggerID, pkg.Trigger.ID). - Error(err). + Error(plotsBuildErr). Msg("Can't build notification package plot for trigger") } - err = pkg.Trigger.PopulatedDescription(pkg.Events) + err := pkg.Trigger.PopulatedDescription(pkg.Events) if err != nil { log.Warning(). Error(err). Msg("Error populate description") } + logEvent := log.Info() + if plots != nil { + logEvent.Int64(moira.LogFieldNamePlotsBuildDuration, plotsBuildDuration) + } + logEvent. + Msg("Try to send notification package") + err = sender.SendEvents(pkg.Events, pkg.Contact, pkg.Trigger, plots, pkg.Throttled) if err == nil { notifier.metrics.MarkSendersOkMetrics(pkg.Contact.Type) continue } - switch e := err.(type) { + switch e := err.(type) { // nolint:errorlint case moira.SenderBrokenContactError: log.Warning(). Error(e). @@ -221,16 +240,19 @@ func (notifier *StandardNotifier) runSender(sender moira.Sender, ch chan Notific if pkg.FailCount > notifier.config.MaxFailAttemptToSendAvailable { log.Error(). Error(err). - Int("fail_count", pkg.FailCount). + Int(moira.LogFieldNameFailCount, pkg.FailCount). Msg("Cannot send notification") } else { log.Warning(). Error(err). Msg("Cannot send notification") - notifier.metrics.MarkSendersDroppedNotifications(pkg.Contact.Type) } - notifier.resend(&pkg, err.Error()) + notifier.reschedule(&pkg, err.Error()) } } } + +func (notifier *StandardNotifier) needToStop(failCount int) bool { + return time.Duration(failCount)*notifier.config.ReschedulingDelay > notifier.config.ResendingTimeout +} diff --git a/notifier/notifier_test.go b/notifier/notifier_test.go index e3085e3f9..4234abc9c 100644 --- a/notifier/notifier_test.go +++ b/notifier/notifier_test.go @@ -6,30 +6,47 @@ import ( "testing" "time" - "github.com/golang/mock/gomock" logging "github.com/moira-alert/moira/logging/zerolog_adapter" metricSource "github.com/moira-alert/moira/metric_source" "github.com/moira-alert/moira/metric_source/local" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" "github.com/moira-alert/moira" "github.com/moira-alert/moira/metrics" + mock_clock "github.com/moira-alert/moira/mock/clock" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" mock_scheduler "github.com/moira-alert/moira/mock/scheduler" ) -var ( - plots [][]byte - shutdown = make(chan struct{}) +const ( + dateTimeFormat = "15:04 02.01.2006" ) var ( - mockCtrl *gomock.Controller - sender *mock_moira_alert.MockSender - notif *StandardNotifier - scheduler *mock_scheduler.MockScheduler - dataBase *mock_moira_alert.MockDatabase - logger moira.Logger + mockCtrl *gomock.Controller + sender *mock_moira_alert.MockSender + standardNotifier *StandardNotifier + scheduler *mock_scheduler.MockScheduler + dataBase *mock_moira_alert.MockDatabase + logger moira.Logger + + plots [][]byte + shutdown = make(chan struct{}) + location, _ = time.LoadLocation("UTC") + defaultConfig = Config{ + SendingTimeout: 10 * time.Millisecond, + ResendingTimeout: time.Hour * 24, + ReschedulingDelay: time.Minute, + Location: location, + DateTimeFormat: dateTimeFormat, + Senders: []map[string]interface{}{ + { + "sender_type": "test_sender_type", + "contact_type": "test_contact_type", + }, + }, + } ) func TestGetMetricNames(t *testing.T) { @@ -39,6 +56,7 @@ func TestGetMetricNames(t *testing.T) { actual := notificationsPackage.GetMetricNames() So(actual, ShouldResemble, expected) }) + Convey("Test package with no trigger events", func() { pkg := NotificationPackage{} for _, event := range notificationsPackage.Events { @@ -52,6 +70,7 @@ func TestGetMetricNames(t *testing.T) { So(actual, ShouldResemble, expected) }) }) + Convey("Test empty notification package", t, func() { emptyNotificationPackage := NotificationPackage{} actual := emptyNotificationPackage.GetMetricNames() @@ -66,6 +85,7 @@ func TestGetWindow(t *testing.T) { So(from, ShouldEqual, 11) So(to, ShouldEqual, 179) }) + Convey("Test empty notification package", t, func() { emptyNotificationPackage := NotificationPackage{} _, _, err := emptyNotificationPackage.GetWindow() @@ -74,7 +94,7 @@ func TestGetWindow(t *testing.T) { } func TestUnknownContactType(t *testing.T) { - configureNotifier(t) + configureNotifier(t, defaultConfig) defer afterTest() var eventsData moira.NotificationEvents = []moira.NotificationEvent{event} @@ -85,17 +105,26 @@ func TestUnknownContactType(t *testing.T) { Type: "unknown contact", }, } + params := moira.SchedulerParams{ + Event: event, + Trigger: pkg.Trigger, + Contact: pkg.Contact, + Plotting: pkg.Plotting, + ThrottledOld: pkg.Throttled, + SendFail: pkg.FailCount + 1, + } notification := moira.ScheduledNotification{} - scheduler.EXPECT().ScheduleNotification(gomock.Any(), event, pkg.Trigger, pkg.Contact, pkg.Plotting, pkg.Throttled, pkg.FailCount+1, gomock.Any()).Return(¬ification) + + scheduler.EXPECT().ScheduleNotification(params, gomock.Any()).Return(¬ification) dataBase.EXPECT().AddNotification(¬ification).Return(nil) var wg sync.WaitGroup - notif.Send(&pkg, &wg) + standardNotifier.Send(&pkg, &wg) wg.Wait() } func TestFailSendEvent(t *testing.T) { - configureNotifier(t) + configureNotifier(t, defaultConfig) defer afterTest() var eventsData moira.NotificationEvents = []moira.NotificationEvent{event} @@ -103,16 +132,25 @@ func TestFailSendEvent(t *testing.T) { pkg := NotificationPackage{ Events: eventsData, Contact: moira.ContactData{ - Type: "test", + Type: "test_contact_type", }, } + params := moira.SchedulerParams{ + Event: event, + Trigger: pkg.Trigger, + Contact: pkg.Contact, + Plotting: pkg.Plotting, + ThrottledOld: pkg.Throttled, + SendFail: pkg.FailCount + 1, + } notification := moira.ScheduledNotification{} + sender.EXPECT().SendEvents(eventsData, pkg.Contact, pkg.Trigger, plots, pkg.Throttled).Return(fmt.Errorf("Cant't send")) - scheduler.EXPECT().ScheduleNotification(gomock.Any(), event, pkg.Trigger, pkg.Contact, pkg.Plotting, pkg.Throttled, pkg.FailCount+1, gomock.Any()).Return(¬ification) + scheduler.EXPECT().ScheduleNotification(params, gomock.Any()).Return(¬ification) dataBase.EXPECT().AddNotification(¬ification).Return(nil) var wg sync.WaitGroup - notif.Send(&pkg, &wg) + standardNotifier.Send(&pkg, &wg) wg.Wait() time.Sleep(time.Second * 2) } @@ -122,7 +160,7 @@ func TestNoResendForSendToBrokenContact(t *testing.T) { t.Skip("skipping test in short mode.") } - configureNotifier(t) + configureNotifier(t, defaultConfig) defer afterTest() var eventsData moira.NotificationEvents = []moira.NotificationEvent{event} @@ -130,20 +168,20 @@ func TestNoResendForSendToBrokenContact(t *testing.T) { pkg := NotificationPackage{ Events: eventsData, Contact: moira.ContactData{ - Type: "test", + Type: "test_contact_type", }, } sender.EXPECT().SendEvents(eventsData, pkg.Contact, pkg.Trigger, plots, pkg.Throttled). Return(moira.NewSenderBrokenContactError(fmt.Errorf("some sender reason"))) var wg sync.WaitGroup - notif.Send(&pkg, &wg) + standardNotifier.Send(&pkg, &wg) wg.Wait() time.Sleep(time.Second * 2) } func TestTimeout(t *testing.T) { - configureNotifier(t) + configureNotifier(t, defaultConfig) var wg sync.WaitGroup defer afterTest() @@ -153,7 +191,7 @@ func TestTimeout(t *testing.T) { pkg := NotificationPackage{ Events: eventsData, Contact: moira.ContactData{ - Type: "test", + Type: "test_contact_type", }, } @@ -163,7 +201,7 @@ func TestTimeout(t *testing.T) { }).Times(maxParallelSendsPerSender) for i := 0; i < maxParallelSendsPerSender; i++ { - notif.Send(&pkg, &wg) + standardNotifier.Send(&pkg, &wg) wg.Wait() } @@ -172,15 +210,23 @@ func TestTimeout(t *testing.T) { pkg2 := NotificationPackage{ Events: eventsData, Contact: moira.ContactData{ - Type: "test", + Type: "test_contact_type", Value: "fail contact", }, } + params := moira.SchedulerParams{ + Event: event, + Trigger: pkg2.Trigger, + Contact: pkg2.Contact, + Plotting: pkg2.Plotting, + ThrottledOld: pkg2.Throttled, + SendFail: pkg2.FailCount + 1, + } - scheduler.EXPECT().ScheduleNotification(gomock.Any(), event, pkg2.Trigger, pkg2.Contact, pkg.Plotting, pkg2.Throttled, pkg2.FailCount+1, gomock.Any()).Return(¬ification) + scheduler.EXPECT().ScheduleNotification(params, gomock.Any()).Return(¬ification) dataBase.EXPECT().AddNotification(¬ification).Return(nil).Do(func(f ...interface{}) { close(shutdown) }) - notif.Send(&pkg2, &wg) + standardNotifier.Send(&pkg2, &wg) wg.Wait() waitTestEnd() } @@ -195,42 +241,48 @@ func waitTestEnd() { } } -func configureNotifier(t *testing.T) { +func configureNotifier(t *testing.T, config Config) { notifierMetrics := metrics.ConfigureNotifierMetrics(metrics.NewDummyRegistry(), "notifier") - var location, _ = time.LoadLocation("UTC") - dateTimeFormat := "15:04 02.01.2006" - config := Config{ - SendingTimeout: time.Millisecond * 10, - ResendingTimeout: time.Hour * 24, - Location: location, - DateTimeFormat: dateTimeFormat, - } mockCtrl = gomock.NewController(t) dataBase = mock_moira_alert.NewMockDatabase(mockCtrl) logger, _ = logging.GetLogger("Scheduler") scheduler = mock_scheduler.NewMockScheduler(mockCtrl) sender = mock_moira_alert.NewMockSender(mockCtrl) - metricsSourceProvider := metricSource.CreateMetricSourceProvider(local.Create(dataBase), nil, nil) - - notif = NewNotifier(dataBase, logger, config, notifierMetrics, metricsSourceProvider, map[string]moira.ImageStore{}) - notif.scheduler = scheduler + metricsSourceProvider := metricSource.CreateTestMetricSourceProvider(local.Create(dataBase), nil, nil) + systemClock := mock_clock.NewMockClock(mockCtrl) + + schedulerConfig := SchedulerConfig{ReschedulingDelay: config.ReschedulingDelay} + + standardNotifier = NewNotifier( + dataBase, + logger, + config, + notifierMetrics, + metricsSourceProvider, + map[string]moira.ImageStore{}, + systemClock, + schedulerConfig, + ) + standardNotifier.scheduler = scheduler senderSettings := map[string]interface{}{ - "type": "test", + "sender_type": "test_type", + "contact_type": "test_contact_type", } - sender.EXPECT().Init(senderSettings, logger, location, "15:04 02.01.2006").Return(nil) + sender.EXPECT().Init(senderSettings, logger, location, dateTimeFormat).Return(nil) - notif.RegisterSender(senderSettings, sender) //nolint + err := standardNotifier.RegisterSender(senderSettings, sender) Convey("Should return one sender", t, func() { - So(notif.GetSenders(), ShouldResemble, map[string]bool{"test": true}) + So(err, ShouldBeNil) + So(standardNotifier.GetSenders(), ShouldResemble, map[string]bool{"test_contact_type": true}) }) } func afterTest() { mockCtrl.Finish() - notif.StopSenders() + standardNotifier.StopSenders() } var subID = "SubscriptionID-000000000000001" diff --git a/notifier/plotting.go b/notifier/plotting.go index e917b1276..041d1d318 100644 --- a/notifier/plotting.go +++ b/notifier/plotting.go @@ -2,6 +2,7 @@ package notifier import ( "bytes" + "errors" "fmt" "time" @@ -13,28 +14,29 @@ import ( ) const ( - // defaultTimeShift is default time shift to fetch timeseries + // defaultTimeShift is default time shift to fetch timeseries. defaultTimeShift = 1 * time.Minute - // defaultTimeRange is default time range to fetch timeseries + // defaultTimeRange is default time range to fetch timeseries. defaultTimeRange = 30 * time.Minute - // defaultRetentionSeconds is the most common metric retention + // defaultRetentionSeconds is the most common metric retention. defaultRetentionSeconds = 60 ) -// errFetchAvailableSeriesFailed is used in cases when fetchAvailableSeries failed after retry +// errFetchAvailableSeriesFailed is used in cases when fetchAvailableSeries failed after retry. type errFetchAvailableSeriesFailed struct { realtimeErr string storedErr string } -// Error is implementation of golang error interface for errFetchAvailableSeriesFailed struct +// Error is implementation of golang error interface for errFetchAvailableSeriesFailed struct. func (err errFetchAvailableSeriesFailed) Error() string { return fmt.Sprintf("Failed to fetch both realtime and stored data: [realtime]: %s, [stored]: %s", err.realtimeErr, err.storedErr) } -// buildTriggerPlots returns bytes slices containing trigger plots +// buildTriggerPlots returns bytes slices containing trigger plots. func buildTriggerPlots(trigger *moira.Trigger, metricsData map[string][]metricSource.MetricData, - plotTemplate *plotting.Plot) ([][]byte, error) { + plotTemplate *plotting.Plot, +) ([][]byte, error) { result := make([][]byte, 0) for targetName, metrics := range metricsData { renderable, err := plotTemplate.GetRenderable(targetName, trigger, metrics) @@ -50,31 +52,30 @@ func buildTriggerPlots(trigger *moira.Trigger, metricsData map[string][]metricSo return result, nil } -// buildNotificationPackagePlots returns bytes slices containing package plots -func (notifier *StandardNotifier) buildNotificationPackagePlots(pkg NotificationPackage, logger moira.Logger) ([][]byte, error) { +// buildNotificationPackagePlots returns bytes slices containing package plots and plots build duration (in ms). +func (notifier *StandardNotifier) buildNotificationPackagePlots(pkg NotificationPackage, logger moira.Logger) ([][]byte, int64, error) { if !pkg.Plotting.Enabled { - return nil, nil + return nil, 0, nil } if pkg.Trigger.ID == "" { - return nil, nil + return nil, 0, nil } - logger.Info().Msg("Start build plots for package") startTime := time.Now() metricsToShow := pkg.GetMetricNames() if len(metricsToShow) == 0 { - return nil, nil + return nil, 0, nil } plotTemplate, err := plotting.GetPlotTemplate(pkg.Plotting.Theme, notifier.config.Location) if err != nil { - return nil, err + return nil, 0, err } from, to := resolveMetricsWindow(logger, pkg.Trigger, pkg) evaluateTriggerStartTime := time.Now() metricsData, trigger, err := notifier.evaluateTriggerMetrics(from, to, pkg.Trigger.ID) if err != nil { - return nil, err + return nil, 0, err } notifier.metrics.PlotsEvaluateTriggerDurationMs.Update(time.Since(evaluateTriggerStartTime).Milliseconds()) @@ -87,14 +88,10 @@ func (notifier *StandardNotifier) buildNotificationPackagePlots(pkg Notification result, err := buildTriggerPlots(trigger, metricsData, plotTemplate) notifier.metrics.PlotsBuildDurationMs.Update(time.Since(buildPlotStartTime).Milliseconds()) - logger.Info(). - Int64("moira.plots.build_duration_ms", time.Since(startTime).Milliseconds()). - Msg("Finished build plots for package") - - return result, err + return result, time.Since(startTime).Milliseconds(), err } -// resolveMetricsWindow returns from, to parameters depending on trigger type +// resolveMetricsWindow returns from, to parameters depending on trigger type. func resolveMetricsWindow(logger moira.Logger, trigger moira.TriggerData, pkg NotificationPackage) (int64, int64) { // resolve default realtime window for any case now := time.Now() @@ -138,7 +135,7 @@ func roundToRetention(unixTime int64) int64 { return moira.RoundToNearestRetention(unixTime, defaultRetentionSeconds) } -// evaluateTriggerMetrics returns collection of MetricData +// evaluateTriggerMetrics returns collection of MetricData. func (notifier *StandardNotifier) evaluateTriggerMetrics(from, to int64, triggerID string) (map[string][]metricSource.MetricData, *moira.Trigger, error) { trigger, err := notifier.database.GetTrigger(triggerID) if err != nil { @@ -148,7 +145,7 @@ func (notifier *StandardNotifier) evaluateTriggerMetrics(from, to int64, trigger if err != nil { return nil, &trigger, err } - var result = make(map[string][]metricSource.MetricData) + result := make(map[string][]metricSource.MetricData) for i, target := range trigger.Targets { i++ // Increase targetName := fmt.Sprintf("t%d", i) @@ -161,13 +158,14 @@ func (notifier *StandardNotifier) evaluateTriggerMetrics(from, to int64, trigger return result, &trigger, err } -// fetchAvailableSeries calls fetch function with realtime alerting and retries on fail without +// fetchAvailableSeries calls fetch function with realtime alerting and retries on fail without. func fetchAvailableSeries(metricsSource metricSource.MetricSource, target string, from, to int64) ([]metricSource.MetricData, error) { realtimeFetchResult, realtimeErr := metricsSource.Fetch(target, from, to, true) if realtimeErr == nil { return realtimeFetchResult.GetMetricsData(), nil } - if errFailedWithPanic, ok := realtimeErr.(local.ErrEvaluateTargetFailedWithPanic); ok { + var errFailedWithPanic local.ErrEvaluateTargetFailedWithPanic + if ok := errors.As(realtimeErr, &errFailedWithPanic); ok { fetchResult, err := metricsSource.Fetch(target, from, to, false) if err != nil { return nil, errFetchAvailableSeriesFailed{realtimeErr: errFailedWithPanic.Error(), storedErr: err.Error()} @@ -177,7 +175,7 @@ func fetchAvailableSeries(metricsSource metricSource.MetricSource, target string return nil, realtimeErr } -// getMetricDataToShow returns MetricData limited by whitelist +// getMetricDataToShow returns MetricData limited by whitelist. func getMetricDataToShow(metricsData map[string][]metricSource.MetricData, metricsWhitelist []string) map[string][]metricSource.MetricData { result := make(map[string][]metricSource.MetricData) if len(metricsWhitelist) == 0 { diff --git a/notifier/plotting_test.go b/notifier/plotting_test.go index eb5795b3b..b91f341b0 100644 --- a/notifier/plotting_test.go +++ b/notifier/plotting_test.go @@ -8,7 +8,6 @@ import ( "time" "github.com/gofrs/uuid" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" logging "github.com/moira-alert/moira/logging/zerolog_adapter" metricSource "github.com/moira-alert/moira/metric_source" @@ -16,9 +15,10 @@ import ( mockMetricSource "github.com/moira-alert/moira/mock/metric_source" "github.com/moira-alert/moira/plotting" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) -// generateTestMetricsData generates metricsData map for tests +// generateTestMetricsData generates metricsData map for tests. func generateTestMetricsData() map[string][]metricSource.MetricData { metricData1 := metricSource.MetricData{ Name: "MetricName", @@ -49,7 +49,7 @@ func generateTestMetricsData() map[string][]metricSource.MetricData { Values: []float64{11, 23, 10, 9, 17, 10, 25, 12, 10, 15, 30}, } - var result = make(map[string][]metricSource.MetricData) + result := make(map[string][]metricSource.MetricData) result["t1"] = []metricSource.MetricData{metricData1} result["t2"] = []metricSource.MetricData{metricData2} @@ -148,7 +148,7 @@ func TestResolveMetricsWindow(t *testing.T) { }) } -// TestGetMetricDataToShow tests to limited metricsData returns only necessary metricsData +// TestGetMetricDataToShow tests to limited metricsData returns only necessary metricsData. func TestGetMetricDataToShow(t *testing.T) { givenSeries := map[string][]metricSource.MetricData{ "t1": { @@ -224,7 +224,7 @@ func TestFetchAvailableSeries(t *testing.T) { Convey("with error ErrEvaluateTargetFailedWithPanic and error again", func() { var err error = local.ErrEvaluateTargetFailedWithPanic{} - var secondErr = errors.New("Test error") + secondErr := errors.New("test error") gomock.InOrder( source.EXPECT().Fetch("testTarget", int64(17), int64(67), true).Return(nil, err).Times(1), source.EXPECT().Fetch("testTarget", int64(17), int64(67), false).Return(nil, secondErr).Times(1), @@ -234,7 +234,7 @@ func TestFetchAvailableSeries(t *testing.T) { }) Convey("with unknown error", func() { - var err error = errors.New("Test error") + err := errors.New("test error") gomock.InOrder( source.EXPECT().Fetch("testTarget", int64(17), int64(67), true).Return(nil, err).Times(1), ) @@ -248,7 +248,6 @@ func TestBuildTriggerPlots(t *testing.T) { Convey("Run buildTriggerPlots", t, func() { triggerID := uuid.Must(uuid.NewV4()).String() trigger := moira.Trigger{ID: triggerID} - location, _ := time.LoadLocation("UTC") plotTemplate, _ := plotting.GetPlotTemplate("", location) Convey("without errors", func() { diff --git a/notifier/registrator.go b/notifier/registrator.go index e31f6e7b1..d1c4bfebb 100644 --- a/notifier/registrator.go +++ b/notifier/registrator.go @@ -1,6 +1,7 @@ package notifier import ( + "errors" "fmt" "strings" @@ -40,12 +41,18 @@ const ( mattermostSender = "mattermost" ) -// RegisterSenders watch on senders config and register all configured senders +var ( + ErrSenderRegistered = errors.New("sender is already registered") + ErrMissingSenderType = errors.New("failed to retrieve sender type from sender settings") + ErrMissingContactType = errors.New("failed to retrieve sender contact type from sender settings") +) + +// RegisterSenders watch on senders config and register all configured senders. func (notifier *StandardNotifier) RegisterSenders(connector moira.Database) error { //nolint var err error for _, senderSettings := range notifier.config.Senders { senderSettings["front_uri"] = notifier.config.FrontURL - switch senderSettings["type"] { + switch senderSettings["sender_type"] { case mailSender: err = notifier.RegisterSender(senderSettings, &mail.Sender{}) case pushoverSender: @@ -77,55 +84,66 @@ func (notifier *StandardNotifier) RegisterSenders(connector moira.Database) erro // case "phone": // err = notifier.RegisterSender(senderSettings, &kontur.SmsSender{}) default: - return fmt.Errorf("unknown sender type [%s]", senderSettings["type"]) + return fmt.Errorf("unknown sender type [%s]", senderSettings["sender_type"]) } + if err != nil { return err } } if notifier.config.SelfStateEnabled { - selfStateSettings := map[string]interface{}{"type": selfStateSender} + selfStateSettings := map[string]interface{}{ + "sender_type": selfStateSender, + "contact_type": selfStateSender, + } if err = notifier.RegisterSender(selfStateSettings, &selfstate.Sender{Database: connector}); err != nil { notifier.logger.Warning(). Error(err). Msg("Failed to register selfstate sender") } } + return nil } -// RegisterSender adds sender for notification type and registers metrics +func (notifier *StandardNotifier) registerMetrics(senderContactType string) { + notifier.metrics.SendersOkMetrics.RegisterMeter(senderContactType, getGraphiteSenderIdent(senderContactType), "sends_ok") + notifier.metrics.SendersFailedMetrics.RegisterMeter(senderContactType, getGraphiteSenderIdent(senderContactType), "sends_failed") + notifier.metrics.SendersDroppedNotifications.RegisterMeter(senderContactType, getGraphiteSenderIdent(senderContactType), "notifications_dropped") +} + +// RegisterSender adds sender for notification type and registers metrics. func (notifier *StandardNotifier) RegisterSender(senderSettings map[string]interface{}, sender moira.Sender) error { - var senderIdent string - senderType, ok := senderSettings["type"].(string) + senderType, ok := senderSettings["sender_type"].(string) if !ok { - return fmt.Errorf("failed to retrieve sender type from sender settings") + return ErrMissingSenderType } - switch senderType { - case scriptSender, webhookSender: - name, ok := senderSettings["name"].(string) - if !ok { - return fmt.Errorf("failed to retrieve sender name from sender settings") - } - senderIdent = name - default: - senderIdent = senderType + senderContactType, ok := senderSettings["contact_type"].(string) + if !ok { + return ErrMissingContactType + } + + if _, ok := notifier.senders[senderContactType]; ok { + return fmt.Errorf("failed to initialize sender [%s], err [%w]", senderContactType, ErrSenderRegistered) } err := sender.Init(senderSettings, notifier.logger, notifier.config.Location, notifier.config.DateTimeFormat) if err != nil { - return fmt.Errorf("failed to initialize sender [%s], err [%s]", senderIdent, err.Error()) + return fmt.Errorf("failed to initialize sender [%s], err [%w]", senderContactType, err) } + eventsChannel := make(chan NotificationPackage) - notifier.senders[senderIdent] = eventsChannel - notifier.metrics.SendersOkMetrics.RegisterMeter(senderIdent, getGraphiteSenderIdent(senderIdent), "sends_ok") - notifier.metrics.SendersFailedMetrics.RegisterMeter(senderIdent, getGraphiteSenderIdent(senderIdent), "sends_failed") - notifier.metrics.SendersDroppedNotifications.RegisterMeter(senderIdent, getGraphiteSenderIdent(senderIdent), "notifications_dropped") + notifier.senders[senderContactType] = eventsChannel + + notifier.registerMetrics(senderContactType) notifier.runSenders(sender, eventsChannel) + notifier.logger.Info(). - String("sender_id", senderIdent). + String("sender_contact_type", senderContactType). + String("sender_type", senderType). Msg("Sender registered") + return nil } @@ -138,7 +156,7 @@ func (notifier *StandardNotifier) runSenders(sender moira.Sender, eventsChannel } } -// StopSenders close all sending channels +// StopSenders close all sending channels. func (notifier *StandardNotifier) StopSenders() { for _, ch := range notifier.senders { close(ch) @@ -150,5 +168,5 @@ func (notifier *StandardNotifier) StopSenders() { } func getGraphiteSenderIdent(ident string) string { - return strings.Replace(ident, " ", "_", -1) + return strings.ReplaceAll(ident, " ", "_") } diff --git a/notifier/registrator_test.go b/notifier/registrator_test.go new file mode 100644 index 000000000..47a65c2c9 --- /dev/null +++ b/notifier/registrator_test.go @@ -0,0 +1,111 @@ +package notifier + +import ( + "fmt" + "testing" + "time" + + . "github.com/smartystreets/goconvey/convey" +) + +func TestRegisterSender(t *testing.T) { + configureNotifier(t, defaultConfig) + defer afterTest() + + Convey("Test RegisterSender", t, func() { + Convey("Sender without type", func() { + senderSettings := map[string]interface{}{} + + err := standardNotifier.RegisterSender(senderSettings, sender) + So(err, ShouldResemble, ErrMissingSenderType) + }) + + Convey("Sender without contact type", func() { + senderSettings := map[string]interface{}{ + "sender_type": "test_type", + } + + err := standardNotifier.RegisterSender(senderSettings, sender) + So(err, ShouldResemble, ErrMissingContactType) + }) + + Convey("Senders with equal contact type", func() { + senderSettings := map[string]interface{}{ + "sender_type": "test_type", + "contact_type": "test_contact", + } + + sender.EXPECT().Init( + senderSettings, + standardNotifier.logger, + standardNotifier.config.Location, + standardNotifier.config.DateTimeFormat, + ).Return(nil).Times(1) + + err := standardNotifier.RegisterSender(senderSettings, sender) + So(err, ShouldBeNil) + + err = standardNotifier.RegisterSender(senderSettings, sender) + So(err, ShouldResemble, fmt.Errorf("failed to initialize sender [%s], err [%w]", senderSettings["contact_type"], ErrSenderRegistered)) + }) + + Convey("Successfully register sender", func() { + senderSettings := map[string]interface{}{ + "sender_type": "test_type", + "contact_type": "test_contact_new", + } + + sender.EXPECT().Init(senderSettings, standardNotifier.logger, standardNotifier.config.Location, standardNotifier.config.DateTimeFormat) + + err := standardNotifier.RegisterSender(senderSettings, sender) + So(err, ShouldBeNil) + }) + }) +} + +func TestRegisterSendersWithUnknownType(t *testing.T) { + config := Config{ + SendingTimeout: time.Millisecond * 10, + ResendingTimeout: time.Hour * 24, + Location: location, + DateTimeFormat: dateTimeFormat, + Senders: []map[string]interface{}{ + { + "sender_type": "some_type", + }, + }, + } + + configureNotifier(t, config) + defer afterTest() + + Convey("Try to register sender with unknown type", t, func() { + err := standardNotifier.RegisterSenders(dataBase) + So(err, ShouldResemble, fmt.Errorf("unknown sender type [%s]", config.Senders[0]["sender_type"])) + }) +} + +func TestRegisterSendersWithValidType(t *testing.T) { + config := Config{ + SendingTimeout: time.Millisecond * 10, + ResendingTimeout: time.Hour * 24, + Location: location, + DateTimeFormat: dateTimeFormat, + Senders: []map[string]interface{}{ + { + "sender_type": "slack", + "contact_type": "slack", + "api_token": "123", + "use_emoji": true, + }, + }, + } + + configureNotifier(t, config) + defer afterTest() + + Convey("Register sender with valid type", t, func() { + err := standardNotifier.RegisterSenders(dataBase) + So(err, ShouldBeNil) + }) +} diff --git a/notifier/scheduler.go b/notifier/scheduler.go index 6456f6e69..0868c7f8a 100644 --- a/notifier/scheduler.go +++ b/notifier/scheduler.go @@ -8,16 +8,22 @@ import ( "github.com/moira-alert/moira/metrics" ) -// Scheduler implements event scheduling functionality +// Scheduler implements event scheduling functionality. type Scheduler interface { - ScheduleNotification(now time.Time, event moira.NotificationEvent, trigger moira.TriggerData, - contact moira.ContactData, plotting moira.PlottingData, throttledOld bool, sendFail int, logger moira.Logger) *moira.ScheduledNotification + ScheduleNotification(params moira.SchedulerParams, logger moira.Logger) *moira.ScheduledNotification } -// StandardScheduler represents standard event scheduling +// SchedulerConfig is a list of immutable params for Scheduler. +type SchedulerConfig struct { + ReschedulingDelay time.Duration +} + +// StandardScheduler represents standard event scheduling. type StandardScheduler struct { database moira.Database metrics *metrics.NotifierMetrics + config SchedulerConfig + clock moira.Clock } type throttlingLevel struct { @@ -26,51 +32,58 @@ type throttlingLevel struct { count int64 } -// NewScheduler is initializer for StandardScheduler -func NewScheduler(database moira.Database, logger moira.Logger, metrics *metrics.NotifierMetrics) *StandardScheduler { +// NewScheduler is initializer for StandardScheduler. +func NewScheduler(database moira.Database, logger moira.Logger, metrics *metrics.NotifierMetrics, config SchedulerConfig, clock moira.Clock, +) *StandardScheduler { return &StandardScheduler{ database: database, metrics: metrics, + config: config, + clock: clock, } } -// ScheduleNotification is realization of scheduling event, based on trigger and subscription time intervals and triggers settings -func (scheduler *StandardScheduler) ScheduleNotification(now time.Time, event moira.NotificationEvent, trigger moira.TriggerData, - contact moira.ContactData, plotting moira.PlottingData, throttledOld bool, sendFail int, logger moira.Logger) *moira.ScheduledNotification { +// ScheduleNotification is realization of scheduling event, based on trigger and subscription time intervals and triggers settings. +func (scheduler *StandardScheduler) ScheduleNotification(params moira.SchedulerParams, logger moira.Logger, +) *moira.ScheduledNotification { var ( next time.Time throttled bool ) - if sendFail > 0 { - next = now.Add(time.Minute) - throttled = throttledOld + now := scheduler.clock.Now() + if params.SendFail > 0 { + next = now.Add(scheduler.config.ReschedulingDelay) + throttled = params.ThrottledOld } else { - if event.State == moira.StateTEST { + if params.Event.State == moira.StateTEST { next = now throttled = false } else { - next, throttled = scheduler.calculateNextDelivery(now, &event, logger) + next, throttled = scheduler.calculateNextDelivery(now, ¶ms.Event, logger) } } notification := &moira.ScheduledNotification{ - Event: event, - Trigger: trigger, - Contact: contact, + Event: params.Event, + Trigger: params.Trigger, + Contact: params.Contact, Throttled: throttled, - SendFail: sendFail, + SendFail: params.SendFail, Timestamp: next.Unix(), - Plotting: plotting, + CreatedAt: now.Unix(), + Plotting: params.Plotting, } logger.Debug(). String("notification_timestamp", next.Format("2006/01/02 15:04:05")). Int64("notification_timestamp_unix", next.Unix()). + Int64("notification_created_at_unix", now.Unix()). Msg("Scheduled notification") return notification } func (scheduler *StandardScheduler) calculateNextDelivery(now time.Time, event *moira.NotificationEvent, - logger moira.Logger) (time.Time, bool) { + logger moira.Logger, +) (time.Time, bool) { // if trigger switches more than .count times in .length seconds, delay next delivery for .delay seconds // processing stops after first condition matches throttlingLevels := []throttlingLevel{ @@ -152,7 +165,7 @@ func calculateNextDelivery(schedule *moira.ScheduleData, nextTime time.Time) (ti beginOffset := time.Duration(schedule.StartOffset) * time.Minute endOffset := time.Duration(schedule.EndOffset) * time.Minute if schedule.EndOffset < schedule.StartOffset { - endOffset = endOffset + (time.Hour * 24) + endOffset += time.Hour * 24 } tzOffset := time.Duration(schedule.TimezoneOffset) * time.Minute diff --git a/notifier/scheduler_test.go b/notifier/scheduler_test.go index 5d0e98c39..930955f59 100644 --- a/notifier/scheduler_test.go +++ b/notifier/scheduler_test.go @@ -5,12 +5,13 @@ import ( "testing" "time" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" logging "github.com/moira-alert/moira/logging/zerolog_adapter" "github.com/moira-alert/moira/metrics" + mock_clock "github.com/moira-alert/moira/mock/clock" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) var plottingData = moira.PlottingData{ @@ -19,7 +20,7 @@ var plottingData = moira.PlottingData{ } func TestThrottling(t *testing.T) { - var trigger = moira.TriggerData{ + trigger := moira.TriggerData{ ID: "triggerID-0000000000001", Name: "test trigger", Targets: []string{"test.target.5"}, @@ -28,7 +29,7 @@ func TestThrottling(t *testing.T) { Tags: []string{"test-tag"}, } - var contact = moira.ContactData{ + contact := moira.ContactData{ ID: "ContactID-000000000000001", Type: "email", Value: "mail1@example.com", @@ -36,7 +37,7 @@ func TestThrottling(t *testing.T) { subID := "SubscriptionID-000000000000001" //nolint - var event = moira.NotificationEvent{ + event := moira.NotificationEvent{ Metric: "generate.event.1", State: moira.StateOK, OldState: moira.StateWARN, @@ -49,9 +50,19 @@ func TestThrottling(t *testing.T) { dataBase := mock_moira_alert.NewMockDatabase(mockCtrl) logger, _ := logging.GetLogger("Scheduler") metrics2 := metrics.ConfigureNotifierMetrics(metrics.NewDummyRegistry(), "notifier") - scheduler := NewScheduler(dataBase, logger, metrics2) now := time.Now() + systemClock := mock_clock.NewMockClock(mockCtrl) + scheduler := NewScheduler(dataBase, logger, metrics2, SchedulerConfig{ReschedulingDelay: time.Minute}, systemClock) + + params := moira.SchedulerParams{ + Event: event, + Trigger: trigger, + Contact: contact, + Plotting: plottingData, + ThrottledOld: false, + SendFail: 0, + } expected := moira.ScheduledNotification{ Event: event, @@ -61,24 +72,35 @@ func TestThrottling(t *testing.T) { Throttled: false, Timestamp: now.Unix(), SendFail: 0, + CreatedAt: now.Unix(), } Convey("Test sendFail more than 0, and no throttling, should send message in one minute", t, func() { + params2 := params + params2.ThrottledOld = false + params2.SendFail = 1 + expected2 := expected expected2.SendFail = 1 expected2.Timestamp = now.Add(time.Minute).Unix() + systemClock.EXPECT().Now().Return(now).Times(1) - notification := scheduler.ScheduleNotification(now, event, trigger, contact, plottingData, false, 1, logger) + notification := scheduler.ScheduleNotification(params2, logger) So(notification, ShouldResemble, &expected2) }) Convey("Test sendFail more than 0, and has throttling, should send message in one minute", t, func() { + params2 := params + params2.ThrottledOld = true + params2.SendFail = 3 + expected2 := expected expected2.SendFail = 3 expected2.Timestamp = now.Add(time.Minute).Unix() expected2.Throttled = true + systemClock.EXPECT().Now().Return(now).Times(1) - notification := scheduler.ScheduleNotification(now, event, trigger, contact, plottingData, true, 3, logger) + notification := scheduler.ScheduleNotification(params2, logger) So(notification, ShouldResemble, &expected2) }) @@ -92,10 +114,14 @@ func TestThrottling(t *testing.T) { SubscriptionID: &subID, } + params2 := params + params2.Event = testEvent + expected3 := expected expected3.Event = testEvent + systemClock.EXPECT().Now().Return(now).Times(1) - notification := scheduler.ScheduleNotification(now, testEvent, trigger, contact, plottingData, false, 0, logger) + notification := scheduler.ScheduleNotification(params2, logger) So(notification, ShouldResemble, &expected3) }) @@ -103,14 +129,17 @@ func TestThrottling(t *testing.T) { dataBase.EXPECT().GetTriggerThrottling(trigger.ID).Times(1).Return(time.Unix(0, 0), time.Unix(0, 0)) dataBase.EXPECT().GetSubscription(*event.SubscriptionID).Times(1).Return(moira.SubscriptionData{}, fmt.Errorf("Error while read subscription")) - notification := scheduler.ScheduleNotification(now, event, trigger, contact, plottingData, false, 0, logger) + params2 := params + systemClock.EXPECT().Now().Return(now).Times(1) + + notification := scheduler.ScheduleNotification(params2, logger) So(notification, ShouldResemble, &expected) }) } func TestSubscriptionSchedule(t *testing.T) { subID := "SubscriptionID-000000000000001" - var subscription = moira.SubscriptionData{ + subscription := moira.SubscriptionData{ ID: "SubscriptionID-000000000000001", Enabled: true, Tags: []string{"test-tag"}, @@ -118,7 +147,7 @@ func TestSubscriptionSchedule(t *testing.T) { ThrottlingEnabled: true, } - var event = moira.NotificationEvent{ + event := moira.NotificationEvent{ Metric: "generate.event.1", State: moira.StateOK, OldState: moira.StateWARN, @@ -131,7 +160,8 @@ func TestSubscriptionSchedule(t *testing.T) { dataBase := mock_moira_alert.NewMockDatabase(mockCtrl) logger, _ := logging.GetLogger("Scheduler") notifierMetrics := metrics.ConfigureNotifierMetrics(metrics.NewDummyRegistry(), "notifier") - scheduler := NewScheduler(dataBase, logger, notifierMetrics) + systemClock := mock_clock.NewMockClock(mockCtrl) + scheduler := NewScheduler(dataBase, logger, notifierMetrics, SchedulerConfig{ReschedulingDelay: time.Minute}, systemClock) Convey("Throttling disabled", t, func() { now := time.Unix(1441187115, 0) diff --git a/notifier/selfstate/config.go b/notifier/selfstate/config.go index ffd4dbd38..ad25c7e7e 100644 --- a/notifier/selfstate/config.go +++ b/notifier/selfstate/config.go @@ -5,7 +5,7 @@ import ( "time" ) -// Config is representation of self state worker settings like moira admins contacts and threshold values for checked services +// Config is representation of self state worker settings like moira admins contacts and threshold values for checked services. type Config struct { Enabled bool RedisDisconnectDelaySeconds int64 diff --git a/notifier/selfstate/config_test.go b/notifier/selfstate/config_test.go index d644e64df..438ae3927 100644 --- a/notifier/selfstate/config_test.go +++ b/notifier/selfstate/config_test.go @@ -44,7 +44,8 @@ func TestConfigCheck(testing *testing.T) { { "type": "admin-mail", "value": "", - }} + }, + } actual := config.checkConfig(make(map[string]bool)) So(actual, ShouldBeNil) }) diff --git a/notifier/selfstate/heartbeat/database_test.go b/notifier/selfstate/heartbeat/database_test.go index 267a6718e..a5b8b8a5a 100644 --- a/notifier/selfstate/heartbeat/database_test.go +++ b/notifier/selfstate/heartbeat/database_test.go @@ -7,9 +7,9 @@ import ( mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" - "github.com/golang/mock/gomock" logging "github.com/moira-alert/moira/logging/zerolog_adapter" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func TestDatabaseHeartbeat(t *testing.T) { diff --git a/notifier/selfstate/heartbeat/filter.go b/notifier/selfstate/heartbeat/filter.go index ca3b862d9..80f000e35 100644 --- a/notifier/selfstate/heartbeat/filter.go +++ b/notifier/selfstate/heartbeat/filter.go @@ -14,12 +14,13 @@ type filter struct { func GetFilter(delay int64, logger moira.Logger, database moira.Database) Heartbeater { if delay > 0 { - return &filter{heartbeat: heartbeat{ - logger: logger, - database: database, - delay: delay, - lastSuccessfulCheck: time.Now().Unix(), - }, + return &filter{ + heartbeat: heartbeat{ + logger: logger, + database: database, + delay: delay, + lastSuccessfulCheck: time.Now().Unix(), + }, firstCheckWasSuccessful: false, } } @@ -27,7 +28,8 @@ func GetFilter(delay int64, logger moira.Logger, database moira.Database) Heartb } func (check *filter) Check(nowTS int64) (int64, bool, error) { - triggersCount, err := check.database.GetLocalTriggersToCheckCount() + defaultLocalCluster := moira.DefaultLocalCluster + triggersCount, err := check.database.GetTriggersToCheckCount(defaultLocalCluster) if err != nil { return 0, false, err } @@ -54,7 +56,7 @@ func (check *filter) Check(nowTS int64) (int64, bool, error) { return 0, false, nil } -// NeedTurnOffNotifier: turn off notifications if at least once the filter check was successful +// NeedTurnOffNotifier: turn off notifications if at least once the filter check was successful. func (check filter) NeedTurnOffNotifier() bool { return check.firstCheckWasSuccessful } diff --git a/notifier/selfstate/heartbeat/filter_test.go b/notifier/selfstate/heartbeat/filter_test.go index 1db6a7b5e..678c443d9 100644 --- a/notifier/selfstate/heartbeat/filter_test.go +++ b/notifier/selfstate/heartbeat/filter_test.go @@ -5,11 +5,12 @@ import ( "testing" "time" + "github.com/moira-alert/moira" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" - "github.com/golang/mock/gomock" logging "github.com/moira-alert/moira/logging/zerolog_adapter" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func TestFilter(t *testing.T) { @@ -19,6 +20,7 @@ func TestFilter(t *testing.T) { check, mockCtrl := createFilterTest(t) defer mockCtrl.Finish() database := check.database.(*mock_moira_alert.MockDatabase) + defaultLocalCluster := moira.MakeClusterKey(moira.GraphiteLocal, moira.DefaultCluster) Convey("Checking the created filter", func() { expected := &filter{ @@ -35,7 +37,7 @@ func TestFilter(t *testing.T) { }) Convey("Filter error handling test", func() { - database.EXPECT().GetLocalTriggersToCheckCount().Return(int64(1), err) + database.EXPECT().GetTriggersToCheckCount(defaultLocalCluster).Return(int64(1), err) value, needSend, errActual := check.Check(now) So(errActual, ShouldEqual, err) @@ -46,7 +48,7 @@ func TestFilter(t *testing.T) { Convey("Test update lastSuccessfulCheck", func() { now += 1000 database.EXPECT().GetMetricsUpdatesCount().Return(int64(1), nil) - database.EXPECT().GetLocalTriggersToCheckCount().Return(int64(1), nil) + database.EXPECT().GetTriggersToCheckCount(defaultLocalCluster).Return(int64(1), nil) value, needSend, errActual := check.Check(now) So(errActual, ShouldBeNil) @@ -59,7 +61,7 @@ func TestFilter(t *testing.T) { check.lastSuccessfulCheck = now - check.delay - 1 database.EXPECT().GetMetricsUpdatesCount().Return(int64(0), nil) - database.EXPECT().GetLocalTriggersToCheckCount().Return(int64(1), nil) + database.EXPECT().GetTriggersToCheckCount(defaultLocalCluster).Return(int64(1), nil) value, needSend, errActual := check.Check(now) So(errActual, ShouldBeNil) @@ -69,7 +71,7 @@ func TestFilter(t *testing.T) { Convey("Exit without action", func() { database.EXPECT().GetMetricsUpdatesCount().Return(int64(0), nil) - database.EXPECT().GetLocalTriggersToCheckCount().Return(int64(1), nil) + database.EXPECT().GetTriggersToCheckCount(defaultLocalCluster).Return(int64(1), nil) value, needSend, errActual := check.Check(now) So(errActual, ShouldBeNil) @@ -78,7 +80,7 @@ func TestFilter(t *testing.T) { }) Convey("Test NeedToCheckOthers and NeedTurnOffNotifier", func() { - //TODO(litleleprikon): seems that this test checks nothing. Seems that NeedToCheckOthers and NeedTurnOffNotifier do not work. + // TODO(litleleprikon): seems that this test checks nothing. Seems that NeedToCheckOthers and NeedTurnOffNotifier do not work. So(check.NeedToCheckOthers(), ShouldBeTrue) So(check.NeedTurnOffNotifier(), ShouldBeFalse) diff --git a/notifier/selfstate/heartbeat/heartbeat.go b/notifier/selfstate/heartbeat/heartbeat.go index 54b700519..244de1bcd 100644 --- a/notifier/selfstate/heartbeat/heartbeat.go +++ b/notifier/selfstate/heartbeat/heartbeat.go @@ -12,7 +12,7 @@ type Heartbeater interface { GetErrorMessage() string } -// heartbeat basic structure for Heartbeater +// heartbeat basic structure for Heartbeater. type heartbeat struct { logger moira.Logger database moira.Database diff --git a/notifier/selfstate/heartbeat/local_checker.go b/notifier/selfstate/heartbeat/local_checker.go index 3c5d07db1..7c4c88cfd 100644 --- a/notifier/selfstate/heartbeat/local_checker.go +++ b/notifier/selfstate/heartbeat/local_checker.go @@ -24,7 +24,8 @@ func GetLocalChecker(delay int64, logger moira.Logger, database moira.Database) } func (check *localChecker) Check(nowTS int64) (int64, bool, error) { - triggersCount, err := check.database.GetLocalTriggersToCheckCount() + defaultLocalCluster := moira.DefaultLocalCluster + triggersCount, err := check.database.GetTriggersToCheckCount(defaultLocalCluster) if err != nil { return 0, false, err } diff --git a/notifier/selfstate/heartbeat/local_checker_test.go b/notifier/selfstate/heartbeat/local_checker_test.go index ae20bcd47..7c638907a 100644 --- a/notifier/selfstate/heartbeat/local_checker_test.go +++ b/notifier/selfstate/heartbeat/local_checker_test.go @@ -5,14 +5,16 @@ import ( "testing" "time" + "github.com/moira-alert/moira" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" - "github.com/golang/mock/gomock" logging "github.com/moira-alert/moira/logging/zerolog_adapter" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func TestCheckDelay_Check(t *testing.T) { + defaultLocalCluster := moira.MakeClusterKey(moira.GraphiteLocal, moira.DefaultCluster) Convey("Test local checker heartbeat", t, func() { err := errors.New("test error localChecker") now := time.Now().Unix() @@ -27,7 +29,7 @@ func TestCheckDelay_Check(t *testing.T) { }) Convey("GraphiteLocalChecker error handling test", func() { - database.EXPECT().GetLocalTriggersToCheckCount().Return(int64(1), err) + database.EXPECT().GetTriggersToCheckCount(defaultLocalCluster).Return(int64(1), err) value, needSend, errActual := check.Check(now) So(errActual, ShouldEqual, err) @@ -38,7 +40,7 @@ func TestCheckDelay_Check(t *testing.T) { Convey("Test update lastSuccessfulCheck", func() { now += 1000 database.EXPECT().GetChecksUpdatesCount().Return(int64(1), nil) - database.EXPECT().GetLocalTriggersToCheckCount().Return(int64(1), nil) + database.EXPECT().GetTriggersToCheckCount(defaultLocalCluster).Return(int64(1), nil) value, needSend, errActual := check.Check(now) So(errActual, ShouldBeNil) @@ -50,7 +52,7 @@ func TestCheckDelay_Check(t *testing.T) { Convey("Test get notification", func() { check.lastSuccessfulCheck = now - check.delay - 1 database.EXPECT().GetChecksUpdatesCount().Return(int64(0), nil) - database.EXPECT().GetLocalTriggersToCheckCount().Return(int64(1), nil) + database.EXPECT().GetTriggersToCheckCount(defaultLocalCluster).Return(int64(1), nil) value, needSend, errActual := check.Check(now) So(errActual, ShouldBeNil) @@ -60,7 +62,7 @@ func TestCheckDelay_Check(t *testing.T) { Convey("Exit without action", func() { database.EXPECT().GetChecksUpdatesCount().Return(int64(0), nil) - database.EXPECT().GetLocalTriggersToCheckCount().Return(int64(1), nil) + database.EXPECT().GetTriggersToCheckCount(defaultLocalCluster).Return(int64(1), nil) value, needSend, errActual := check.Check(now) So(errActual, ShouldBeNil) @@ -69,7 +71,7 @@ func TestCheckDelay_Check(t *testing.T) { }) Convey("Test NeedToCheckOthers and NeedTurnOffNotifier", func() { - //TODO(litleleprikon): seems that this test checks nothing. Seems that NeedToCheckOthers and NeedTurnOffNotifier do not work. + // TODO(litleleprikon): seems that this test checks nothing. Seems that NeedToCheckOthers and NeedTurnOffNotifier do not work. needCheck := check.NeedToCheckOthers() So(needCheck, ShouldBeTrue) diff --git a/notifier/selfstate/heartbeat/notifier_test.go b/notifier/selfstate/heartbeat/notifier_test.go index 8801957f6..3d4976035 100644 --- a/notifier/selfstate/heartbeat/notifier_test.go +++ b/notifier/selfstate/heartbeat/notifier_test.go @@ -9,9 +9,9 @@ import ( "github.com/moira-alert/moira" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" - "github.com/golang/mock/gomock" logging "github.com/moira-alert/moira/logging/zerolog_adapter" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func TestNotifierState(t *testing.T) { diff --git a/notifier/selfstate/heartbeat/remote_checker.go b/notifier/selfstate/heartbeat/remote_checker.go index 25781c232..4b0e76113 100644 --- a/notifier/selfstate/heartbeat/remote_checker.go +++ b/notifier/selfstate/heartbeat/remote_checker.go @@ -24,7 +24,8 @@ func GetRemoteChecker(delay int64, logger moira.Logger, database moira.Database) } func (check *remoteChecker) Check(nowTS int64) (int64, bool, error) { - triggerCount, err := check.database.GetRemoteTriggersToCheckCount() + defaultRemoteCluster := moira.DefaultGraphiteRemoteCluster + triggerCount, err := check.database.GetTriggersToCheckCount(defaultRemoteCluster) if err != nil { return 0, false, err } diff --git a/notifier/selfstate/heartbeat/remote_checker_test.go b/notifier/selfstate/heartbeat/remote_checker_test.go index 60181622f..a48ee30a8 100644 --- a/notifier/selfstate/heartbeat/remote_checker_test.go +++ b/notifier/selfstate/heartbeat/remote_checker_test.go @@ -5,14 +5,17 @@ import ( "testing" "time" + "github.com/moira-alert/moira" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" - "github.com/golang/mock/gomock" logging "github.com/moira-alert/moira/logging/zerolog_adapter" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func TestGraphiteRemoteChecker(t *testing.T) { + defaultRemoteCluster := moira.DefaultGraphiteRemoteCluster + Convey("Test remote checker heartbeat", t, func() { err := errors.New("test error remoteChecker") now := time.Now().Unix() @@ -27,7 +30,7 @@ func TestGraphiteRemoteChecker(t *testing.T) { }) Convey("GraphiteRemoteChecker error handling test", func() { - database.EXPECT().GetRemoteTriggersToCheckCount().Return(int64(0), err) + database.EXPECT().GetTriggersToCheckCount(defaultRemoteCluster).Return(int64(0), err) value, needSend, errActual := check.Check(now) So(errActual, ShouldEqual, err) @@ -38,7 +41,7 @@ func TestGraphiteRemoteChecker(t *testing.T) { Convey("Test update lastSuccessfulCheck", func() { now += 1000 database.EXPECT().GetRemoteChecksUpdatesCount().Return(int64(1), nil) - database.EXPECT().GetRemoteTriggersToCheckCount().Return(int64(1), nil) + database.EXPECT().GetTriggersToCheckCount(defaultRemoteCluster).Return(int64(1), nil) value, needSend, errActual := check.Check(now) So(errActual, ShouldBeNil) @@ -51,7 +54,7 @@ func TestGraphiteRemoteChecker(t *testing.T) { check.lastSuccessfulCheck = now - check.delay - 1 database.EXPECT().GetRemoteChecksUpdatesCount().Return(int64(0), nil) - database.EXPECT().GetRemoteTriggersToCheckCount().Return(int64(1), nil) + database.EXPECT().GetTriggersToCheckCount(defaultRemoteCluster).Return(int64(1), nil) value, needSend, errActual := check.Check(now) So(errActual, ShouldBeNil) @@ -61,7 +64,7 @@ func TestGraphiteRemoteChecker(t *testing.T) { Convey("Exit without action", func() { database.EXPECT().GetRemoteChecksUpdatesCount().Return(int64(0), nil) - database.EXPECT().GetRemoteTriggersToCheckCount().Return(int64(1), nil) + database.EXPECT().GetTriggersToCheckCount(defaultRemoteCluster).Return(int64(1), nil) value, needSend, errActual := check.Check(now) So(errActual, ShouldBeNil) @@ -70,7 +73,7 @@ func TestGraphiteRemoteChecker(t *testing.T) { }) Convey("Test NeedToCheckOthers and NeedTurnOffNotifier", func() { - //TODO(litleleprikon): seems that this test checks nothing. Seems that NeedToCheckOthers and NeedTurnOffNotifier do not work. + // TODO(litleleprikon): seems that this test checks nothing. Seems that NeedToCheckOthers and NeedTurnOffNotifier do not work. So(check.NeedToCheckOthers(), ShouldBeTrue) So(check.NeedTurnOffNotifier(), ShouldBeFalse) }) diff --git a/notifier/selfstate/selfstate.go b/notifier/selfstate/selfstate.go index b44e9f6e4..99bba0ed0 100644 --- a/notifier/selfstate/selfstate.go +++ b/notifier/selfstate/selfstate.go @@ -14,10 +14,12 @@ import ( w "github.com/moira-alert/moira/worker" ) -const selfStateLockName = "moira-self-state-monitor" -const selfStateLockTTL = time.Second * 15 +const ( + selfStateLockName = "moira-self-state-monitor" + selfStateLockTTL = time.Second * 15 +) -// SelfCheckWorker checks what all notifier services works correctly and send message when moira don't work +// SelfCheckWorker checks what all notifier services works correctly and send message when moira don't work. type SelfCheckWorker struct { Logger moira.Logger Database moira.Database @@ -33,7 +35,7 @@ func NewSelfCheckWorker(logger moira.Logger, database moira.Database, notifier n return &SelfCheckWorker{Logger: logger, Database: database, Notifier: notifier, Config: config, heartbeats: heartbeats} } -// Start self check worker +// Start self check worker. func (selfCheck *SelfCheckWorker) Start() error { senders := selfCheck.Notifier.GetSenders() if err := selfCheck.Config.checkConfig(senders); err != nil { @@ -53,7 +55,7 @@ func (selfCheck *SelfCheckWorker) Start() error { return nil } -// Stop self check worker and wait for finish +// Stop self check worker and wait for finish. func (selfCheck *SelfCheckWorker) Stop() error { selfCheck.tomb.Kill(nil) return selfCheck.tomb.Wait() diff --git a/notifier/selfstate/selfstate_test.go b/notifier/selfstate/selfstate_test.go index fcee9a219..71859dca9 100644 --- a/notifier/selfstate/selfstate_test.go +++ b/notifier/selfstate/selfstate_test.go @@ -12,11 +12,11 @@ import ( "github.com/moira-alert/moira" - "github.com/golang/mock/gomock" logging "github.com/moira-alert/moira/logging/zerolog_adapter" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" mock_notifier "github.com/moira-alert/moira/mock/notifier" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) type selfCheckWorkerMock struct { @@ -28,14 +28,17 @@ type selfCheckWorkerMock struct { } func TestSelfCheckWorker_selfStateChecker(t *testing.T) { + defaultLocalCluster := moira.MakeClusterKey(moira.GraphiteLocal, moira.DefaultCluster) + defaultRemoteCluster := moira.DefaultGraphiteRemoteCluster + mock := configureWorker(t, true) Convey("SelfCheckWorker should call all heartbeats checks", t, func() { mock.database.EXPECT().GetChecksUpdatesCount().Return(int64(1), nil).Times(2) mock.database.EXPECT().GetMetricsUpdatesCount().Return(int64(1), nil) mock.database.EXPECT().GetRemoteChecksUpdatesCount().Return(int64(1), nil) mock.database.EXPECT().GetNotifierState().Return(moira.SelfStateOK, nil) - mock.database.EXPECT().GetRemoteTriggersToCheckCount().Return(int64(1), nil) - mock.database.EXPECT().GetLocalTriggersToCheckCount().Return(int64(1), nil).Times(2) + mock.database.EXPECT().GetTriggersToCheckCount(defaultLocalCluster).Return(int64(1), nil).Times(2) + mock.database.EXPECT().GetTriggersToCheckCount(defaultRemoteCluster).Return(int64(1), nil) // Start worker after configuring Mock to avoid race conditions err := mock.selfCheckWorker.Start() @@ -177,7 +180,6 @@ func configureWorker(t *testing.T, isStart bool) *selfCheckWorkerMock { metric := &metrics.HeartBeatMetrics{} return &selfCheckWorkerMock{ - selfCheckWorker: NewSelfCheckWorker(logger, database, notif, conf, metric), database: database, notif: notif, diff --git a/perfomance_tests/expression/expression_test.go b/perfomance_tests/expression/expression_test.go index d979a479a..04e5adb29 100644 --- a/perfomance_tests/expression/expression_test.go +++ b/perfomance_tests/expression/expression_test.go @@ -37,7 +37,8 @@ func BenchmarkCustomExpr(b *testing.B) { expr := &expression.TriggerExpression{ Expression: &expressionStr, MainTargetValue: 11.0, - AdditionalTargetsValues: map[string]float64{"t2": 4.0}} + AdditionalTargetsValues: map[string]float64{"t2": 4.0}, + } for i := 0; i < b.N; i++ { (expr).Evaluate() //nolint } diff --git a/perfomance_tests/filter/filter_plain_metrics_test.go b/perfomance_tests/filter/filter_plain_metrics_test.go index 775844b63..f3703a0e7 100644 --- a/perfomance_tests/filter/filter_plain_metrics_test.go +++ b/perfomance_tests/filter/filter_plain_metrics_test.go @@ -43,7 +43,7 @@ func generateMetrics(patternStorage *filter.PatternStorage, count int) *[]string if !matched && rand.Float64() < 0.2+level { part = RandStringBytes(len(part)) } - parts = append(parts, strings.Replace(part, "*", "XXXXXXXXX", -1)) + parts = append(parts, strings.ReplaceAll(part, "*", "XXXXXXXXX")) if len(node.Children) == 0 { break } diff --git a/perfomance_tests/filter/pattern_storage_test.go b/perfomance_tests/filter/pattern_storage_test.go new file mode 100644 index 000000000..1270cd917 --- /dev/null +++ b/perfomance_tests/filter/pattern_storage_test.go @@ -0,0 +1,80 @@ +// Package filter +// nolint +package filter + +import ( + "math/rand" + "testing" + + "github.com/moira-alert/moira/filter" + logging "github.com/moira-alert/moira/logging/zerolog_adapter" + "github.com/moira-alert/moira/metrics" + mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" + "go.uber.org/mock/gomock" +) + +func shufflePatterns(patterns []string) []string { + rand.Shuffle(len(patterns), func(i, j int) { + patterns[i], patterns[j] = patterns[j], patterns[i] + }) + + return patterns +} + +func BenchmarkPatternStorageRefresh(b *testing.B) { + mockCtrl := gomock.NewController(b) + filterMetrics := metrics.ConfigureFilterMetrics(metrics.NewDummyRegistry()) + logger, _ := logging.GetLogger("Benchmark") + compatibility := filter.Compatibility{AllowRegexLooseStartMatch: true} + database := mock_moira_alert.NewMockDatabase(mockCtrl) + + testcases := []struct { + name string + cacheSize int + }{ + { + name: "small_cache", + cacheSize: 100, + }, + { + name: "big_cache", + cacheSize: 500, + }, + } + + for _, testcase := range testcases { + testcase := testcase + + b.Run(testcase.name, func(b *testing.B) { + plainPatterns, err := loadPatterns("plain_patterns.txt") + if err != nil { + b.Fatalf("failed to load plain patterns: %s", err.Error()) + } + + taggedPatterns, err := loadPatterns("tagged_patterns.txt") + if err != nil { + b.Fatalf("failed to load tagged patterns: %s", err.Error()) + } + + patterns := append(*plainPatterns, *taggedPatterns...) + + database.EXPECT().GetPatterns().Return(shufflePatterns(patterns), nil).AnyTimes() + + patternStorageCfg := filter.PatternStorageConfig{ + PatternMatchingCacheSize: testcase.cacheSize, + } + + patternsStorage, err := filter.NewPatternStorage(patternStorageCfg, database, filterMetrics, logger, compatibility) + if err != nil { + b.Fatalf("failed to make new pattern storage: %s", err.Error()) + } + + b.ResetTimer() + for i := 0; i < b.N; i++ { + if err := patternsStorage.Refresh(); err != nil { + b.Fatalf("failed to refresh patterns storage: %s", err.Error()) + } + } + }) + } +} diff --git a/perfomance_tests/filter/performance_test_utils.go b/perfomance_tests/filter/performance_test_utils.go index 75e0d324a..67188c92b 100644 --- a/perfomance_tests/filter/performance_test_utils.go +++ b/perfomance_tests/filter/performance_test_utils.go @@ -1,3 +1,5 @@ +// Package filter +// nolint package filter import ( @@ -10,11 +12,11 @@ import ( "testing" "time" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira/filter" logging "github.com/moira-alert/moira/logging/zerolog_adapter" "github.com/moira-alert/moira/metrics" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" + "go.uber.org/mock/gomock" ) const letterBytes = "abcdefghijklmnopqrstuvwxyz" @@ -39,6 +41,7 @@ func loadPatterns(filename string) (*[]string, error) { } patterns = append(patterns, pattern[:len(pattern)-1]) } + return &patterns, nil } @@ -50,10 +53,15 @@ func createPatternsStorage(patterns *[]string, b *testing.B) (*filter.PatternSto filterMetrics := metrics.ConfigureFilterMetrics(metrics.NewDummyRegistry()) logger, _ := logging.GetLogger("Benchmark") compatibility := filter.Compatibility{AllowRegexLooseStartMatch: true} - patternsStorage, err := filter.NewPatternStorage(database, filterMetrics, logger, compatibility) + patternStorageCfg := filter.PatternStorageConfig{ + PatternMatchingCacheSize: 100, + } + + patternsStorage, err := filter.NewPatternStorage(patternStorageCfg, database, filterMetrics, logger, compatibility) if err != nil { return nil, err } + return patternsStorage, nil } diff --git a/pkg/api/api.yml b/pkg/api/api.yml index ba9809935..6d7789670 100644 --- a/pkg/api/api.yml +++ b/pkg/api/api.yml @@ -14,7 +14,7 @@ api: listen: ":8081" enable_cors: false web: - contacts: + contacts_template: - type: mail label: E-mail - type: pushover diff --git a/plotting/curve.go b/plotting/curve.go index c86531708..5db9c70bc 100644 --- a/plotting/curve.go +++ b/plotting/curve.go @@ -8,13 +8,13 @@ import ( metricSource "github.com/moira-alert/moira/metric_source" ) -// plotCurve is a single curve for given timeserie +// plotCurve is a single curve for given timeserie. type plotCurve struct { timeStamps []time.Time values []float64 } -// getCurveSeriesList returns curve series list +// getCurveSeriesList returns curve series list. func getCurveSeriesList(metricsData []metricSource.MetricData, theme moira.PlotTheme) []chart.TimeSeries { curveSeriesList := make([]chart.TimeSeries, 0) for metricDataInd := range metricsData { @@ -25,7 +25,7 @@ func getCurveSeriesList(metricsData []metricSource.MetricData, theme moira.PlotT return curveSeriesList } -// generatePlotCurves returns go-chart timeseries to generate plot curves +// generatePlotCurves returns go-chart timeseries to generate plot curves. func generatePlotCurves(metricData metricSource.MetricData, curveStyle chart.Style, pointStyle chart.Style) []chart.TimeSeries { curves := describePlotCurves(metricData) curveSeries := make([]chart.TimeSeries, 0) @@ -51,7 +51,7 @@ func generatePlotCurves(metricData metricSource.MetricData, curveStyle chart.Sty return curveSeries } -// describePlotCurves returns parameters for required curves +// describePlotCurves returns parameters for required curves. func describePlotCurves(metricData metricSource.MetricData) []plotCurve { curves := []plotCurve{{}} curvesInd := 0 @@ -64,18 +64,16 @@ func describePlotCurves(metricData metricSource.MetricData) []plotCurve { timeStampValue := moira.Int64ToTime(timeStamp) curves[curvesInd].timeStamps = append(curves[curvesInd].timeStamps, timeStampValue) curves[curvesInd].values = append(curves[curvesInd].values, pointValue) - } else { - if len(curves[curvesInd].values) > 0 { - curves = append(curves, plotCurve{}) - curvesInd++ - } + } else if len(curves[curvesInd].values) > 0 { + curves = append(curves, plotCurve{}) + curvesInd++ } timeStamp += metricData.StepTime } return curves } -// resolveFirstPoint returns first point coordinates +// resolveFirstPoint returns first point coordinates. func resolveFirstPoint(metricData metricSource.MetricData) (int, int64) { start := 0 startTime := metricData.StartTime diff --git a/plotting/curve_test.go b/plotting/curve_test.go index 04dcd1810..c8330e3e0 100644 --- a/plotting/curve_test.go +++ b/plotting/curve_test.go @@ -29,7 +29,7 @@ var ( ) // TestGeneratePlotCurves tests generatePlotCurves returns -// collection of chart.Timeseries with actual field values +// collection of chart.Timeseries with actual field values. func TestGeneratePlotCurves(t *testing.T) { Convey("First value is absent", t, func() { metricName := "metric.firstValueIsAbsent" @@ -86,7 +86,7 @@ func TestGeneratePlotCurves(t *testing.T) { } // TestDescribePlotCurves tests describePlotCurves returns collection of -// n PlotCurves from timeseries with n-1 gaps (IsAbsent values) +// n PlotCurves from timeseries with n-1 gaps (IsAbsent values). func TestDescribePlotCurves(t *testing.T) { Convey("First value is not a number", t, func() { metricData.Values = firstValIsNanVals @@ -154,7 +154,7 @@ func TestDescribePlotCurves(t *testing.T) { } // TestResolveFirstPoint tests resolveFirstPoint returns correct start time -// for given MetricData whether IsAbsent[0] is true or false +// for given MetricData whether IsAbsent[0] is true or false. func TestResolveFirstPoint(t *testing.T) { Convey("First value is not a number", t, func() { metricData.Values = firstValIsNanVals diff --git a/plotting/fonts/dejavusans.go b/plotting/fonts/dejavusans.go index 20725b359..e9af34ce4 100644 --- a/plotting/fonts/dejavusans.go +++ b/plotting/fonts/dejavusans.go @@ -1,4 +1,4 @@ package fonts -// DejaVuSans is byte array of DejaVuSans font +// DejaVuSans is byte array of DejaVuSans font. var DejaVuSans = []byte{0x0, 0x1, 0x0, 0x0, 0x0, 0x13, 0x1, 0x0, 0x0, 0x4, 0x0, 0x30, 0x46, 0x46, 0x54, 0x4d, 0x66, 0x9, 0x1d, 0xb0, 0x0, 0x0, 0x1, 0x3c, 0x0, 0x0, 0x0, 0x1c, 0x47, 0x44, 0x45, 0x46, 0x90, 0x30, 0x8a, 0xb8, 0x0, 0x0, 0x1, 0x58, 0x0, 0x0, 0x2, 0x94, 0x47, 0x50, 0x4f, 0x53, 0x3f, 0x89, 0xbf, 0x2, 0x0, 0x0, 0x3, 0xec, 0x0, 0x0, 0x9d, 0x8, 0x47, 0x53, 0x55, 0x42, 0x97, 0x41, 0x72, 0x41, 0x0, 0x0, 0xa0, 0xf4, 0x0, 0x0, 0x15, 0x72, 0x4f, 0x53, 0x2f, 0x32, 0x59, 0x2d, 0x76, 0x2d, 0x0, 0x0, 0xb6, 0x68, 0x0, 0x0, 0x0, 0x56, 0x63, 0x6d, 0x61, 0x70, 0xe4, 0x6f, 0xe, 0xeb, 0x0, 0x0, 0xb6, 0xc0, 0x0, 0x0, 0x16, 0x6, 0x63, 0x76, 0x74, 0x20, 0x0, 0x69, 0x1d, 0x39, 0x0, 0x0, 0xcc, 0xc8, 0x0, 0x0, 0x1, 0xfe, 0x66, 0x70, 0x67, 0x6d, 0x71, 0x34, 0x76, 0x6a, 0x0, 0x0, 0xce, 0xc8, 0x0, 0x0, 0x0, 0xab, 0x67, 0x61, 0x73, 0x70, 0x0, 0x7, 0x0, 0x7, 0x0, 0x0, 0xcf, 0x74, 0x0, 0x0, 0x0, 0xc, 0x67, 0x6c, 0x79, 0x66, 0xd6, 0x24, 0xca, 0x47, 0x0, 0x0, 0xcf, 0x80, 0x0, 0x8, 0x53, 0x88, 0x68, 0x65, 0x61, 0x64, 0x0, 0xfa, 0x51, 0x6f, 0x0, 0x9, 0x23, 0x8, 0x0, 0x0, 0x0, 0x36, 0x68, 0x68, 0x65, 0x61, 0xc, 0xb8, 0x1e, 0x2d, 0x0, 0x9, 0x23, 0x40, 0x0, 0x0, 0x0, 0x24, 0x68, 0x6d, 0x74, 0x78, 0xda, 0xba, 0xa6, 0xd3, 0x0, 0x9, 0x23, 0x64, 0x0, 0x0, 0x5f, 0x70, 0x6b, 0x65, 0x72, 0x6e, 0x4, 0xf6, 0x0, 0x25, 0x0, 0x9, 0x82, 0xd4, 0x0, 0x0, 0x3f, 0xfc, 0x6c, 0x6f, 0x63, 0x61, 0x5c, 0xb0, 0x23, 0xbc, 0x0, 0x9, 0xc2, 0xd0, 0x0, 0x0, 0x5f, 0x74, 0x6d, 0x61, 0x78, 0x70, 0x1c, 0x49, 0x6, 0x71, 0x0, 0xa, 0x22, 0x44, 0x0, 0x0, 0x0, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x1f, 0x6c, 0x4d, 0xa0, 0x0, 0xa, 0x22, 0x64, 0x0, 0x0, 0x3d, 0x8, 0x70, 0x6f, 0x73, 0x74, 0xbb, 0xc2, 0xd2, 0x31, 0x0, 0xa, 0x5f, 0x6c, 0x0, 0x0, 0xeb, 0xc9, 0x70, 0x72, 0x65, 0x70, 0x3b, 0x7, 0xf1, 0x0, 0x0, 0xb, 0x4b, 0x38, 0x0, 0x0, 0x5, 0x68, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0xc9, 0x89, 0x6f, 0x31, 0x0, 0x0, 0x0, 0x0, 0xce, 0x3f, 0xd7, 0x3f, 0x0, 0x0, 0x0, 0x0, 0xce, 0x3f, 0xd7, 0x3f, 0x0, 0x1, 0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x2, 0x28, 0x2, 0x30, 0x0, 0x0, 0x0, 0x2, 0x0, 0x59, 0x0, 0x3, 0x2, 0xb0, 0x0, 0x1, 0x2, 0xb1, 0x2, 0xc5, 0x0, 0x3, 0x2, 0xc6, 0x2, 0xc6, 0x0, 0x1, 0x2, 0xc7, 0x2, 0xca, 0x0, 0x3, 0x2, 0xcb, 0x2, 0xcc, 0x0, 0x1, 0x2, 0xcd, 0x2, 0xd1, 0x0, 0x3, 0x2, 0xd2, 0x2, 0xd3, 0x0, 0x1, 0x2, 0xd4, 0x2, 0xe4, 0x0, 0x3, 0x2, 0xe5, 0x2, 0xe9, 0x0, 0x1, 0x2, 0xea, 0x2, 0xf3, 0x0, 0x3, 0x2, 0xf4, 0x2, 0xf4, 0x0, 0x1, 0x2, 0xf5, 0x2, 0xf5, 0x0, 0x3, 0x2, 0xf6, 0x2, 0xf6, 0x0, 0x1, 0x2, 0xf7, 0x2, 0xff, 0x0, 0x3, 0x3, 0x0, 0x3, 0x0, 0x0, 0x1, 0x3, 0x1, 0x3, 0x4, 0x0, 0x3, 0x3, 0x5, 0x3, 0x5, 0x0, 0x1, 0x3, 0x6, 0x3, 0x6, 0x0, 0x3, 0x3, 0x7, 0x3, 0x7, 0x0, 0x1, 0x3, 0x8, 0x3, 0x9, 0x0, 0x3, 0x3, 0xa, 0x3, 0xa, 0x0, 0x1, 0x3, 0xb, 0x3, 0xc, 0x0, 0x3, 0x3, 0xd, 0x4, 0x16, 0x0, 0x1, 0x4, 0x17, 0x4, 0x1b, 0x0, 0x3, 0x4, 0x1c, 0x5, 0xc, 0x0, 0x1, 0x5, 0xd, 0x5, 0xd, 0x0, 0x2, 0x5, 0xe, 0x5, 0xf, 0x0, 0x1, 0x5, 0x10, 0x5, 0x18, 0x0, 0x3, 0x5, 0x19, 0x5, 0x1a, 0x0, 0x1, 0x5, 0x1b, 0x5, 0x1d, 0x0, 0x3, 0x5, 0x1e, 0x5, 0x1e, 0x0, 0x1, 0x5, 0x1f, 0x5, 0x1f, 0x0, 0x3, 0x5, 0x20, 0x5, 0x24, 0x0, 0x1, 0x5, 0x25, 0x5, 0x25, 0x0, 0x3, 0x5, 0x26, 0x5, 0x4a, 0x0, 0x1, 0x5, 0x4b, 0x5, 0x4b, 0x0, 0x3, 0x5, 0x4c, 0x5, 0x4e, 0x0, 0x1, 0x5, 0x4f, 0x5, 0x53, 0x0, 0x2, 0x5, 0x54, 0x5, 0x72, 0x0, 0x1, 0x5, 0x73, 0x5, 0x7f, 0x0, 0x3, 0x5, 0x80, 0x5, 0x8f, 0x0, 0x1, 0x5, 0x90, 0x5, 0x90, 0x0, 0x3, 0x5, 0x91, 0x6, 0xe, 0x0, 0x1, 0x6, 0xf, 0x6, 0x17, 0x0, 0x3, 0x6, 0x18, 0x6, 0x3a, 0x0, 0x1, 0x6, 0x3b, 0x6, 0x3b, 0x0, 0x3, 0x6, 0x3c, 0x6, 0x3d, 0x0, 0x1, 0x6, 0x3e, 0x6, 0x45, 0x0, 0x3, 0x6, 0x46, 0x6, 0x4c, 0x0, 0x1, 0x6, 0x4d, 0x6, 0x52, 0x0, 0x3, 0x6, 0x53, 0x8, 0xf2, 0x0, 0x1, 0x8, 0xf3, 0x8, 0xf8, 0x0, 0x3, 0x8, 0xf9, 0xb, 0x19, 0x0, 0x1, 0xb, 0x1a, 0xb, 0x1a, 0x0, 0x2, 0xb, 0x1b, 0xb, 0x24, 0x0, 0x1, 0xb, 0x25, 0xb, 0x27, 0x0, 0x2, 0xb, 0x28, 0xb, 0x7a, 0x0, 0x1, 0xb, 0x7b, 0xb, 0x7b, 0x0, 0x2, 0xb, 0x7c, 0xb, 0x8b, 0x0, 0x1, 0xb, 0x8c, 0xb, 0x92, 0x0, 0x3, 0xb, 0x93, 0xb, 0x93, 0x0, 0x2, 0xb, 0x94, 0xb, 0x97, 0x0, 0x1, 0xb, 0x98, 0xb, 0x99, 0x0, 0x2, 0xb, 0x9a, 0xb, 0xb1, 0x0, 0x1, 0xb, 0xb2, 0xb, 0xb3, 0x0, 0x2, 0xb, 0xb4, 0xb, 0xcc, 0x0, 0x1, 0xb, 0xcd, 0xb, 0xcd, 0x0, 0x2, 0xb, 0xce, 0x13, 0xa4, 0x0, 0x1, 0x13, 0xa5, 0x13, 0xb1, 0x0, 0x2, 0x13, 0xb2, 0x13, 0xb2, 0x0, 0x3, 0x13, 0xb3, 0x13, 0xb3, 0x0, 0x2, 0x13, 0xb4, 0x13, 0xdd, 0x0, 0x1, 0x13, 0xde, 0x13, 0xde, 0x0, 0x2, 0x13, 0xdf, 0x14, 0x51, 0x0, 0x1, 0x14, 0x52, 0x14, 0x52, 0x0, 0x3, 0x14, 0x53, 0x14, 0x53, 0x0, 0x1, 0x14, 0x54, 0x14, 0x54, 0x0, 0x3, 0x14, 0x55, 0x14, 0x57, 0x0, 0x2, 0x14, 0x58, 0x14, 0x58, 0x0, 0x1, 0x14, 0x59, 0x14, 0x63, 0x0, 0x2, 0x14, 0x64, 0x14, 0xd8, 0x0, 0x1, 0x14, 0xd9, 0x14, 0xe0, 0x0, 0x2, 0x14, 0xe1, 0x16, 0xb8, 0x0, 0x1, 0x16, 0xb9, 0x16, 0xc3, 0x0, 0x3, 0x16, 0xc4, 0x17, 0x17, 0x0, 0x1, 0x17, 0x18, 0x17, 0x1f, 0x0, 0x3, 0x17, 0x20, 0x17, 0x79, 0x0, 0x1, 0x17, 0x7a, 0x17, 0x7a, 0x0, 0x3, 0x17, 0x7b, 0x17, 0xdb, 0x0, 0x1, 0x0, 0x4, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x2, 0x0, 0x10, 0x2, 0xb1, 0x2, 0xc6, 0x0, 0x1, 0x2, 0xc7, 0x2, 0xca, 0x0, 0x2, 0x2, 0xcd, 0x2, 0xd7, 0x0, 0x2, 0x2, 0xd8, 0x2, 0xd8, 0x0, 0x3, 0x2, 0xd9, 0x2, 0xd9, 0x0, 0x4, 0x2, 0xda, 0x2, 0xe4, 0x0, 0x2, 0x2, 0xea, 0x2, 0xed, 0x0, 0x2, 0x2, 0xee, 0x2, 0xf5, 0x0, 0x1, 0x2, 0xf6, 0x2, 0xf6, 0x0, 0x2, 0x2, 0xf7, 0x2, 0xf7, 0x0, 0x1, 0x2, 0xf8, 0x2, 0xfa, 0x0, 0x2, 0x2, 0xfb, 0x2, 0xfd, 0x0, 0x1, 0x2, 0xfe, 0x2, 0xff, 0x0, 0x2, 0x3, 0x1, 0x3, 0x2, 0x0, 0x1, 0x3, 0x3, 0x3, 0x3, 0x0, 0x2, 0x3, 0x4, 0x3, 0x4, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0xa, 0x1, 0xdc, 0x2, 0x5c, 0x0, 0x14, 0x44, 0x46, 0x4c, 0x54, 0x0, 0x7a, 0x61, 0x72, 0x61, 0x62, 0x0, 0x86, 0x61, 0x72, 0x6d, 0x6e, 0x0, 0xa8, 0x62, 0x72, 0x61, 0x69, 0x0, 0xb4, 0x63, 0x61, 0x6e, 0x73, 0x0, 0xc0, 0x63, 0x68, 0x65, 0x72, 0x0, 0xcc, 0x63, 0x79, 0x72, 0x6c, 0x0, 0xd8, 0x67, 0x65, 0x6f, 0x72, 0x0, 0xf4, 0x67, 0x72, 0x65, 0x6b, 0x1, 0x0, 0x68, 0x61, 0x6e, 0x69, 0x1, 0x10, 0x68, 0x65, 0x62, 0x72, 0x1, 0x1c, 0x6b, 0x61, 0x6e, 0x61, 0x1, 0x2a, 0x6c, 0x61, 0x6f, 0x20, 0x1, 0x36, 0x6c, 0x61, 0x74, 0x6e, 0x1, 0x46, 0x6d, 0x61, 0x74, 0x68, 0x1, 0x86, 0x6e, 0x6b, 0x6f, 0x20, 0x1, 0x92, 0x6f, 0x67, 0x61, 0x6d, 0x1, 0xa0, 0x72, 0x75, 0x6e, 0x72, 0x1, 0xac, 0x74, 0x66, 0x6e, 0x67, 0x1, 0xb8, 0x74, 0x68, 0x61, 0x69, 0x1, 0xc6, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x1, 0x0, 0x0, 0x0, 0x16, 0x0, 0x3, 0x4b, 0x55, 0x52, 0x20, 0x0, 0x16, 0x53, 0x4e, 0x44, 0x20, 0x0, 0x16, 0x55, 0x52, 0x44, 0x20, 0x0, 0x16, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x1, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x1, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x1, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x1, 0x0, 0x0, 0x0, 0x10, 0x0, 0x2, 0x4d, 0x4b, 0x44, 0x20, 0x0, 0x10, 0x53, 0x52, 0x42, 0x20, 0x0, 0x10, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3, 0x0, 0x0, 0x0, 0x3, 0x0, 0x7, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x1, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3, 0x0, 0x0, 0x0, 0x3, 0x0, 0x7, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x1, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x2, 0x0, 0x0, 0x0, 0x2, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x1, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3, 0x0, 0x0, 0x0, 0x4, 0x0, 0x8, 0x0, 0x34, 0x0, 0x8, 0x49, 0x53, 0x4d, 0x20, 0x0, 0x34, 0x4b, 0x53, 0x4d, 0x20, 0x0, 0x34, 0x4c, 0x53, 0x4d, 0x20, 0x0, 0x34, 0x4d, 0x4f, 0x4c, 0x20, 0x0, 0x34, 0x4e, 0x53, 0x4d, 0x20, 0x0, 0x34, 0x52, 0x4f, 0x4d, 0x20, 0x0, 0x34, 0x53, 0x4b, 0x53, 0x20, 0x0, 0x34, 0x53, 0x53, 0x4d, 0x20, 0x0, 0x34, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3, 0x0, 0x1, 0x0, 0x3, 0x0, 0x7, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x1, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x2, 0x0, 0x0, 0x0, 0x2, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x1, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x1, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x2, 0x0, 0x0, 0x0, 0x5, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x1, 0x0, 0x0, 0x0, 0x9, 0x6b, 0x65, 0x72, 0x6e, 0x0, 0x38, 0x6b, 0x65, 0x72, 0x6e, 0x0, 0x3e, 0x6d, 0x61, 0x72, 0x6b, 0x0, 0x46, 0x6d, 0x61, 0x72, 0x6b, 0x0, 0x54, 0x6d, 0x61, 0x72, 0x6b, 0x0, 0x5c, 0x6d, 0x61, 0x72, 0x6b, 0x0, 0x64, 0x6d, 0x6b, 0x6d, 0x6b, 0x0, 0x6a, 0x6d, 0x6b, 0x6d, 0x6b, 0x0, 0x72, 0x6d, 0x6b, 0x6d, 0x6b, 0x0, 0x78, 0x0, 0x0, 0x0, 0x1, 0x0, 0xf, 0x0, 0x0, 0x0, 0x2, 0x0, 0xe, 0x0, 0xf, 0x0, 0x0, 0x0, 0x5, 0x0, 0x5, 0x0, 0x6, 0x0, 0x7, 0x0, 0x8, 0x0, 0x9, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc, 0x0, 0xd, 0x0, 0x0, 0x0, 0x2, 0x0, 0xa, 0x0, 0xb, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x4, 0x0, 0x0, 0x0, 0x2, 0x0, 0x2, 0x0, 0x3, 0x0, 0x10, 0x0, 0x22, 0x0, 0x2a, 0x0, 0x32, 0x0, 0x3a, 0x0, 0x42, 0x0, 0x4c, 0x0, 0x54, 0x0, 0x5c, 0x0, 0x64, 0x0, 0x6c, 0x0, 0x74, 0x0, 0x7c, 0x0, 0x84, 0x0, 0x8c, 0x0, 0x9e, 0x0, 0xa6, 0x0, 0x6, 0x0, 0x1, 0x0, 0x1, 0x0, 0x8c, 0x0, 0x6, 0x0, 0x1, 0x0, 0x1, 0x0, 0xde, 0x0, 0x6, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa6, 0x0, 0x6, 0x0, 0x0, 0x0, 0x1, 0x2, 0xd8, 0x0, 0x6, 0x0, 0x4, 0x0, 0x2, 0x3, 0x66, 0x6, 0x46, 0x0, 0x5, 0x0, 0x1, 0x0, 0x1, 0xa, 0xfc, 0x0, 0x4, 0x0, 0x1, 0x0, 0x1, 0xc, 0x66, 0x0, 0x4, 0x0, 0x1, 0x0, 0x1, 0x20, 0xcc, 0x0, 0x5, 0x0, 0x1, 0x0, 0x1, 0x21, 0xca, 0x0, 0x4, 0x0, 0x1, 0x0, 0x1, 0x23, 0x88, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x37, 0xca, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x38, 0xf2, 0x0, 0x5, 0x0, 0x0, 0x0, 0x1, 0x3a, 0xa2, 0x0, 0x4, 0x0, 0x4, 0x0, 0x6, 0x3c, 0x54, 0x41, 0xfe, 0x42, 0x7e, 0x46, 0x1c, 0x57, 0x7e, 0x70, 0x9e, 0x0, 0x2, 0x0, 0x0, 0x0, 0x1, 0x71, 0xdc, 0x0, 0x2, 0x0, 0x0, 0x0, 0x1, 0x99, 0x8a, 0x0, 0x1, 0x0, 0x30, 0x0, 0x26, 0x0, 0x1, 0x0, 0x3a, 0x0, 0xc, 0x0, 0x3, 0x0, 0x8, 0x0, 0xe, 0x0, 0x14, 0x0, 0x1, 0x2, 0x0, 0xfe, 0xc, 0x0, 0x1, 0x2, 0x0, 0xfe, 0xd4, 0x0, 0x1, 0x2, 0x0, 0xfd, 0xf3, 0x0, 0x1, 0x0, 0x3, 0x5, 0x75, 0x5, 0x78, 0x5, 0x7d, 0x0, 0x1, 0x0, 0x3, 0x5, 0x75, 0x5, 0x78, 0x5, 0x7d, 0x0, 0x3, 0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x14, 0x0, 0x0, 0x0, 0x1a, 0x0, 0x1, 0x2, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xda, 0x0, 0xae, 0x0, 0x1, 0x1, 0x6, 0x0, 0xc, 0x0, 0x14, 0x0, 0x2a, 0x0, 0x30, 0x0, 0x36, 0x0, 0x3c, 0x0, 0x42, 0x0, 0x48, 0x0, 0x4e, 0x0, 0x54, 0x0, 0x5a, 0x0, 0x60, 0x0, 0x66, 0x0, 0x6c, 0x0, 0x72, 0x0, 0x78, 0x0, 0x7e, 0x0, 0x84, 0x0, 0x8a, 0x0, 0x90, 0x0, 0x96, 0x0, 0x9c, 0x0, 0x1, 0x2, 0x0, 0x7, 0x3a, 0x0, 0x1, 0x2, 0x0, 0x6, 0xa4, 0x0, 0x1, 0x2, 0x0, 0x7, 0x3a, 0x0, 0x1, 0x2, 0x0, 0x5, 0xdc, 0x0, 0x1, 0x2, 0x0, 0x7, 0x3a, 0x0, 0x1, 0x2, 0x0, 0x7, 0x8, 0x0, 0x1, 0x2, 0x0, 0x7, 0x3a, 0x0, 0x1, 0x2, 0x0, 0x5, 0xdc, 0x0, 0x1, 0x2, 0x0, 0x6, 0xa4, 0x0, 0x1, 0x2, 0x0, 0x7, 0x3a, 0x0, 0x1, 0x1, 0xfe, 0x6, 0x72, 0x0, 0x1, 0x2, 0x0, 0x7, 0x3a, 0x0, 0x1, 0x2, 0x0, 0x8, 0xfc, 0x0, 0x1, 0x2, 0x0, 0x9, 0xc4, 0x0, 0x1, 0x2, 0x0, 0x8, 0xfc, 0x0, 0x1, 0x2, 0x0, 0x8, 0x34, 0x0, 0x1, 0x2, 0x0, 0x9, 0xc4, 0x0, 0x1, 0x2, 0x0, 0x8, 0x34, 0x0, 0x1, 0x2, 0x0, 0x7, 0xd0, 0x0, 0x1, 0x2, 0x0, 0x9, 0x60, 0x0, 0x1, 0x0, 0x14, 0x5, 0x4b, 0x5, 0x73, 0x5, 0x74, 0x5, 0x76, 0x5, 0x77, 0x5, 0x79, 0x5, 0x7a, 0x5, 0x7b, 0x5, 0x7c, 0x5, 0x7e, 0x5, 0x7f, 0x5, 0x90, 0x17, 0x18, 0x17, 0x19, 0x17, 0x1a, 0x17, 0x1b, 0x17, 0x1c, 0x17, 0x1d, 0x17, 0x1e, 0x17, 0x1f, 0x0, 0x1, 0x0, 0x14, 0x5, 0x4b, 0x5, 0x73, 0x5, 0x74, 0x5, 0x76, 0x5, 0x77, 0x5, 0x79, 0x5, 0x7a, 0x5, 0x7b, 0x5, 0x7c, 0x5, 0x7e, 0x5, 0x7f, 0x5, 0x90, 0x17, 0x18, 0x17, 0x19, 0x17, 0x1a, 0x17, 0x1b, 0x17, 0x1c, 0x17, 0x1d, 0x17, 0x1e, 0x17, 0x1f, 0x0, 0x14, 0x0, 0x0, 0x0, 0x52, 0x0, 0x0, 0x0, 0x58, 0x0, 0x0, 0x0, 0x5e, 0x0, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0, 0x6a, 0x0, 0x0, 0x0, 0x70, 0x0, 0x0, 0x0, 0x76, 0x0, 0x0, 0x0, 0x7c, 0x0, 0x0, 0x0, 0x82, 0x0, 0x0, 0x0, 0x88, 0x0, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x0, 0x94, 0x0, 0x0, 0x0, 0x9a, 0x0, 0x0, 0x0, 0xa0, 0x0, 0x0, 0x0, 0xa6, 0x0, 0x0, 0x0, 0xac, 0x0, 0x0, 0x0, 0xb2, 0x0, 0x0, 0x0, 0xb8, 0x0, 0x0, 0x0, 0xbe, 0x0, 0x0, 0x0, 0xc4, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x0, 0x1c, 0x0, 0x16, 0x0, 0x1, 0x0, 0x24, 0x0, 0xc, 0x0, 0x1, 0x0, 0x4, 0x0, 0x1, 0xfd, 0x6c, 0xfd, 0xe0, 0x0, 0x1, 0x0, 0x1, 0x6, 0x45, 0x0, 0x1, 0x0, 0x2, 0x6, 0x42, 0x6, 0x43, 0x0, 0x2, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x10, 0x0, 0x1, 0xfd, 0xa8, 0x0, 0x0, 0x0, 0x1, 0xfd, 0xa8, 0x0, 0x0, 0x0, 0x1, 0x0, 0x4e, 0x0, 0x3e, 0x0, 0x1, 0x0, 0x58, 0x0, 0xc, 0x0, 0x6, 0x0, 0xe, 0x0, 0x14, 0x0, 0x1a, 0x0, 0x20, 0x0, 0x26, 0x0, 0x2c, 0x0, 0x1, 0xfd, 0x84, 0x6, 0xf6, 0x0, 0x1, 0xfd, 0x6c, 0x7, 0x77, 0x0, 0x1, 0xfd, 0x6c, 0x7, 0x77, 0x0, 0x1, 0xfd, 0x6c, 0x7, 0x77, 0x0, 0x1, 0xfd, 0x66, 0x7, 0x6e, 0x0, 0x1, 0xfd, 0x84, 0x6, 0xf6, 0x0, 0x1, 0x0, 0x6, 0x6, 0x3b, 0x6, 0x3e, 0x6, 0x3f, 0x6, 0x40, 0x6, 0x41, 0x6, 0x44, 0x0, 0x2, 0x0, 0x1, 0x6, 0x4d, 0x6, 0x52, 0x0, 0x0, 0x0, 0x6, 0x0, 0x0, 0x0, 0x1a, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0, 0x26, 0x0, 0x0, 0x0, 0x2c, 0x0, 0x0, 0x0, 0x32, 0x0, 0x0, 0x0, 0x38, 0x0, 0x1, 0xfd, 0x6c, 0x4, 0x60, 0x0, 0x1, 0xfd, 0x6c, 0x4, 0x7e, 0x0, 0x1, 0xfd, 0x6c, 0x4, 0x7e, 0x0, 0x1, 0xfd, 0x6c, 0x4, 0x60, 0x0, 0x1, 0xfd, 0x6c, 0x4, 0x7e, 0x0, 0x1, 0xfd, 0x6c, 0x4, 0x60, 0x0, 0x1, 0x1, 0x5a, 0x1, 0x26, 0x0, 0x1, 0x1, 0x94, 0x0, 0xc, 0x0, 0x23, 0x0, 0x48, 0x0, 0x4e, 0x0, 0x54, 0x0, 0x5a, 0x0, 0x60, 0x0, 0x66, 0x0, 0x6c, 0x0, 0x72, 0x0, 0x78, 0x0, 0x7e, 0x0, 0x84, 0x0, 0x8a, 0x0, 0x90, 0x0, 0x96, 0x0, 0x9c, 0x0, 0xa2, 0x0, 0xa8, 0x0, 0xae, 0x0, 0xb4, 0x0, 0xba, 0x0, 0xc0, 0x0, 0xc6, 0x0, 0xcc, 0x0, 0xd2, 0x0, 0xd8, 0x0, 0xde, 0x0, 0xe4, 0x0, 0xea, 0x0, 0xf0, 0x0, 0xf6, 0x0, 0xfc, 0x1, 0x2, 0x1, 0x8, 0x1, 0xe, 0x1, 0x14, 0x0, 0x1, 0xfe, 0x0, 0xfd, 0xde, 0x0, 0x1, 0xfe, 0x0, 0xfd, 0xde, 0x0, 0x1, 0xfe, 0x0, 0xfe, 0x15, 0x0, 0x1, 0xfe, 0x0, 0xfe, 0x15, 0x0, 0x1, 0xfe, 0x0, 0xfd, 0xda, 0x0, 0x1, 0xfe, 0x0, 0xfe, 0x15, 0x0, 0x1, 0xfe, 0x0, 0xfe, 0x15, 0x0, 0x1, 0xfe, 0x0, 0xfe, 0x15, 0x0, 0x1, 0xfe, 0x0, 0xfe, 0x89, 0x0, 0x1, 0xfe, 0x0, 0xfe, 0x89, 0x0, 0x1, 0xfe, 0x0, 0xfe, 0x89, 0x0, 0x1, 0xfe, 0x0, 0xfd, 0xda, 0x0, 0x1, 0xfe, 0x0, 0xfe, 0x14, 0x0, 0x1, 0xfe, 0x0, 0xfe, 0x74, 0x0, 0x1, 0xfe, 0x0, 0xfe, 0x74, 0x0, 0x1, 0xfe, 0x0, 0xfe, 0x15, 0x0, 0x1, 0xfe, 0x0, 0xfe, 0x1f, 0x0, 0x1, 0xfe, 0x0, 0xfe, 0x3b, 0x0, 0x1, 0xfe, 0x0, 0xfe, 0x18, 0x0, 0x1, 0xfe, 0x0, 0xfe, 0x15, 0x0, 0x1, 0xfe, 0x0, 0xfe, 0x38, 0x0, 0x1, 0xfe, 0x0, 0xfe, 0x38, 0x0, 0x1, 0xfe, 0x0, 0xfe, 0x38, 0x0, 0x1, 0xfe, 0x0, 0xfe, 0xbf, 0x0, 0x1, 0xfe, 0x0, 0xfd, 0xda, 0x0, 0x1, 0xfe, 0x0, 0xfe, 0x1f, 0x0, 0x1, 0xfe, 0x2, 0xfe, 0x13, 0x0, 0x1, 0xfe, 0x0, 0xfe, 0xb, 0x0, 0x1, 0xfe, 0x0, 0xfe, 0xe, 0x0, 0x1, 0xfe, 0x0, 0xfe, 0xe, 0x0, 0x1, 0xfe, 0x0, 0xfe, 0xe, 0x0, 0x1, 0xfe, 0x0, 0xfe, 0xe, 0x0, 0x1, 0xfe, 0x0, 0xfe, 0xe, 0x0, 0x1, 0xfe, 0x0, 0xfe, 0x13, 0x0, 0x1, 0xfe, 0x0, 0xfd, 0xda, 0x0, 0x2, 0x0, 0x8, 0x2, 0xc7, 0x2, 0xca, 0x0, 0x0, 0x2, 0xcd, 0x2, 0xd1, 0x0, 0x4, 0x2, 0xd4, 0x2, 0xe2, 0x0, 0x9, 0x2, 0xea, 0x2, 0xed, 0x0, 0x18, 0x2, 0xf8, 0x2, 0xfa, 0x0, 0x1c, 0x2, 0xfe, 0x2, 0xff, 0x0, 0x1f, 0x3, 0x3, 0x3, 0x3, 0x0, 0x21, 0x3, 0x6, 0x3, 0x6, 0x0, 0x22, 0x0, 0x2, 0x0, 0x9, 0x2, 0xc7, 0x2, 0xca, 0x0, 0x0, 0x2, 0xcd, 0x2, 0xd1, 0x0, 0x4, 0x2, 0xd4, 0x2, 0xd7, 0x0, 0x9, 0x2, 0xda, 0x2, 0xe2, 0x0, 0xd, 0x2, 0xea, 0x2, 0xed, 0x0, 0x16, 0x2, 0xf8, 0x2, 0xfa, 0x0, 0x1a, 0x2, 0xfe, 0x2, 0xff, 0x0, 0x1d, 0x3, 0x3, 0x3, 0x3, 0x0, 0x1f, 0x3, 0x6, 0x3, 0x6, 0x0, 0x20, 0x0, 0x21, 0x0, 0x0, 0x0, 0x86, 0x0, 0x0, 0x0, 0x8c, 0x0, 0x0, 0x0, 0x92, 0x0, 0x0, 0x0, 0x98, 0x0, 0x0, 0x0, 0x9e, 0x0, 0x0, 0x0, 0xa4, 0x0, 0x0, 0x0, 0xaa, 0x0, 0x0, 0x0, 0xb0, 0x0, 0x0, 0x0, 0xb6, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0xc2, 0x0, 0x0, 0x0, 0xc8, 0x0, 0x0, 0x0, 0xce, 0x0, 0x0, 0x0, 0xd4, 0x0, 0x0, 0x0, 0xda, 0x0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0x0, 0xe6, 0x0, 0x0, 0x0, 0xec, 0x0, 0x0, 0x0, 0xf2, 0x0, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x0, 0xfe, 0x0, 0x0, 0x1, 0x4, 0x0, 0x0, 0x1, 0xa, 0x0, 0x0, 0x1, 0x10, 0x0, 0x0, 0x1, 0x16, 0x0, 0x0, 0x1, 0x1c, 0x0, 0x0, 0x1, 0x22, 0x0, 0x0, 0x1, 0x28, 0x0, 0x0, 0x1, 0x2e, 0x0, 0x0, 0x1, 0x34, 0x0, 0x0, 0x1, 0x3a, 0x0, 0x0, 0x1, 0x40, 0x0, 0x0, 0x1, 0x46, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x2, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x42, 0x1, 0xde, 0x0, 0x1, 0x2, 0x8e, 0x0, 0xc, 0x0, 0x3a, 0x0, 0x76, 0x0, 0x7c, 0x0, 0x82, 0x0, 0x88, 0x0, 0x8e, 0x0, 0x94, 0x0, 0x9a, 0x0, 0xa0, 0x0, 0xa6, 0x0, 0xac, 0x0, 0xb2, 0x0, 0xb8, 0x0, 0xbe, 0x0, 0xc4, 0x0, 0xca, 0x0, 0xd0, 0x0, 0xd6, 0x0, 0xdc, 0x0, 0xe2, 0x0, 0xe8, 0x0, 0xee, 0x0, 0xf4, 0x0, 0xfa, 0x1, 0x0, 0x1, 0x6, 0x1, 0xc, 0x1, 0x12, 0x1, 0x18, 0x1, 0x1e, 0x1, 0x24, 0x1, 0x2a, 0x1, 0x30, 0x1, 0x36, 0x1, 0x3c, 0x1, 0x42, 0x1, 0x48, 0x1, 0x4e, 0x1, 0x54, 0x1, 0x5a, 0x1, 0x60, 0x1, 0x66, 0x1, 0x6c, 0x1, 0x72, 0x1, 0x78, 0x1, 0x7e, 0x1, 0x84, 0x1, 0x8a, 0x1, 0x90, 0x1, 0x96, 0x1, 0x9c, 0x1, 0xa2, 0x1, 0xa8, 0x1, 0xae, 0x1, 0xb4, 0x1, 0xba, 0x1, 0xc0, 0x1, 0xc6, 0x1, 0xcc, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x68, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x68, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x68, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x3d, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x14, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x14, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x44, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x14, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x14, 0x0, 0x1, 0xfe, 0x0, 0x6, 0xc5, 0x0, 0x1, 0xfe, 0x0, 0x7, 0x4, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x68, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x68, 0x0, 0x1, 0xfe, 0x0, 0x6, 0xa8, 0x0, 0x1, 0xfe, 0x0, 0x6, 0xa8, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x68, 0x0, 0x1, 0xfe, 0x0, 0x7, 0x56, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x44, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x93, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x14, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x68, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x68, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x3d, 0x0, 0x1, 0xfe, 0x0, 0x7, 0xd0, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x44, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x44, 0x0, 0x1, 0xfe, 0x0, 0x7, 0x4, 0x0, 0x1, 0xfe, 0x0, 0x7, 0x4, 0x0, 0x1, 0xfe, 0x0, 0x7, 0x4, 0x0, 0x1, 0xfe, 0x0, 0x6, 0xda, 0x0, 0x1, 0xfe, 0x0, 0x7, 0x4, 0x0, 0x1, 0x0, 0x0, 0x7, 0x6e, 0x0, 0x1, 0x0, 0x0, 0x7, 0x6e, 0x0, 0x1, 0x0, 0x0, 0x7, 0x6e, 0x0, 0x1, 0x0, 0x0, 0x7, 0x6e, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x14, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x14, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x14, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x14, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x68, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x68, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x14, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x14, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x14, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x14, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x14, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x14, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x14, 0x0, 0x1, 0xfe, 0x0, 0x5, 0xf8, 0x0, 0x1, 0xfe, 0x0, 0x5, 0xf8, 0x0, 0x1, 0xfe, 0x0, 0x5, 0xf8, 0x0, 0x1, 0xfe, 0x0, 0x5, 0xf8, 0x0, 0x1, 0xfe, 0x0, 0x5, 0xf8, 0x0, 0x1, 0xfe, 0x0, 0x5, 0xf8, 0x0, 0x1, 0xfe, 0x0, 0x5, 0xdb, 0x0, 0x1, 0xfe, 0x0, 0x5, 0xf8, 0x0, 0x1, 0xfe, 0x0, 0x5, 0xf8, 0x0, 0x1, 0xfe, 0x0, 0x6, 0x1e, 0x0, 0x2, 0x0, 0x10, 0x2, 0xb1, 0x2, 0xc2, 0x0, 0x0, 0x2, 0xee, 0x2, 0xee, 0x0, 0x12, 0x2, 0xf0, 0x2, 0xf3, 0x0, 0x13, 0x2, 0xf5, 0x2, 0xf5, 0x0, 0x17, 0x2, 0xf7, 0x2, 0xf7, 0x0, 0x18, 0x2, 0xfb, 0x2, 0xfd, 0x0, 0x19, 0x3, 0x1, 0x3, 0x2, 0x0, 0x1c, 0x3, 0x4, 0x3, 0x4, 0x0, 0x1e, 0x3, 0x8, 0x3, 0x9, 0x0, 0x1f, 0x3, 0xb, 0x3, 0xc, 0x0, 0x21, 0x8, 0xf3, 0x8, 0xf8, 0x0, 0x23, 0xb, 0x8c, 0xb, 0x92, 0x0, 0x29, 0x16, 0xb9, 0x16, 0xb9, 0x0, 0x30, 0x16, 0xbb, 0x16, 0xbb, 0x0, 0x31, 0x16, 0xbd, 0x16, 0xc3, 0x0, 0x32, 0x17, 0x7a, 0x17, 0x7a, 0x0, 0x39, 0x0, 0x2, 0x0, 0xc, 0x2, 0xb1, 0x2, 0xc2, 0x0, 0x0, 0x2, 0xee, 0x2, 0xee, 0x0, 0x12, 0x2, 0xf0, 0x2, 0xf3, 0x0, 0x13, 0x2, 0xf5, 0x2, 0xf5, 0x0, 0x17, 0x2, 0xf7, 0x2, 0xf7, 0x0, 0x18, 0x2, 0xfb, 0x2, 0xfd, 0x0, 0x19, 0x3, 0x1, 0x3, 0x2, 0x0, 0x1c, 0x3, 0x4, 0x3, 0x4, 0x0, 0x1e, 0x8, 0xf3, 0x8, 0xf8, 0x0, 0x1f, 0xb, 0x8c, 0xb, 0x92, 0x0, 0x25, 0x16, 0xb9, 0x16, 0xc3, 0x0, 0x2c, 0x17, 0x7a, 0x17, 0x7a, 0x0, 0x37, 0x0, 0x38, 0x0, 0x0, 0x0, 0xe2, 0x0, 0x0, 0x0, 0xe8, 0x0, 0x0, 0x0, 0xee, 0x0, 0x0, 0x0, 0xf4, 0x0, 0x0, 0x0, 0xfa, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x6, 0x0, 0x0, 0x1, 0xc, 0x0, 0x0, 0x1, 0x12, 0x0, 0x0, 0x1, 0x18, 0x0, 0x0, 0x1, 0x1e, 0x0, 0x0, 0x1, 0x24, 0x0, 0x0, 0x1, 0x2a, 0x0, 0x0, 0x1, 0x30, 0x0, 0x0, 0x1, 0x36, 0x0, 0x0, 0x1, 0x3c, 0x0, 0x0, 0x1, 0x42, 0x0, 0x0, 0x1, 0x48, 0x0, 0x0, 0x1, 0x4e, 0x0, 0x0, 0x1, 0x54, 0x0, 0x0, 0x1, 0x5a, 0x0, 0x0, 0x1, 0x60, 0x0, 0x0, 0x1, 0x66, 0x0, 0x0, 0x1, 0x6c, 0x0, 0x0, 0x1, 0x72, 0x0, 0x0, 0x1, 0x78, 0x0, 0x0, 0x1, 0x7e, 0x0, 0x0, 0x1, 0x84, 0x0, 0x0, 0x1, 0x8a, 0x0, 0x0, 0x1, 0x90, 0x0, 0x0, 0x1, 0x96, 0x0, 0x0, 0x1, 0x9c, 0x0, 0x0, 0x1, 0xa2, 0x0, 0x0, 0x1, 0xa8, 0x0, 0x0, 0x1, 0xae, 0x0, 0x0, 0x1, 0xb4, 0x0, 0x0, 0x1, 0xba, 0x0, 0x0, 0x1, 0xc0, 0x0, 0x0, 0x1, 0xc6, 0x0, 0x0, 0x1, 0xcc, 0x0, 0x0, 0x1, 0xd2, 0x0, 0x0, 0x1, 0xd8, 0x0, 0x0, 0x1, 0xde, 0x0, 0x0, 0x1, 0xe4, 0x0, 0x0, 0x1, 0xea, 0x0, 0x0, 0x1, 0xf0, 0x0, 0x0, 0x1, 0xf6, 0x0, 0x0, 0x1, 0xfc, 0x0, 0x0, 0x2, 0x2, 0x0, 0x0, 0x2, 0x8, 0x0, 0x0, 0x2, 0xe, 0x0, 0x0, 0x2, 0x14, 0x0, 0x0, 0x2, 0x1a, 0x0, 0x0, 0x2, 0x20, 0x0, 0x0, 0x2, 0x26, 0x0, 0x0, 0x2, 0x2c, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0xb0, 0x0, 0x1, 0xfe, 0x0, 0x5, 0x2, 0x0, 0x1, 0xfe, 0x0, 0x5, 0x2, 0x0, 0x1, 0xfe, 0x0, 0x5, 0x2, 0x0, 0x1, 0xfe, 0x0, 0x5, 0x2, 0x0, 0x1, 0xfe, 0x0, 0x5, 0x2, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x5, 0x2, 0x0, 0x1, 0xfe, 0x0, 0x5, 0x2, 0x0, 0x1, 0xfe, 0x0, 0x5, 0x2, 0x0, 0x1, 0xfe, 0x0, 0x5, 0x2, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0xb0, 0x0, 0x1, 0xfe, 0x0, 0x5, 0x2, 0x0, 0x1, 0xfe, 0x0, 0x5, 0x2, 0x0, 0x1, 0xfe, 0x0, 0x5, 0x2, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x5, 0x2, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x5, 0x2, 0x0, 0x1, 0xfe, 0x0, 0x5, 0x2, 0x0, 0x1, 0xfe, 0x0, 0x5, 0x2, 0x0, 0x1, 0xfe, 0x0, 0x5, 0x2, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x5, 0x2, 0x0, 0x1, 0xfe, 0x0, 0x5, 0x2, 0x0, 0x1, 0xfe, 0x0, 0x5, 0x2, 0x0, 0x1, 0xfe, 0x0, 0x5, 0x2, 0x0, 0x1, 0xfe, 0x0, 0x5, 0x2, 0x0, 0x1, 0xfe, 0x0, 0x5, 0x2, 0x0, 0x1, 0xfe, 0x0, 0x5, 0x2, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0x0, 0xb8, 0x0, 0xae, 0x0, 0x1, 0x0, 0xda, 0x0, 0xc, 0x0, 0x8, 0x0, 0x12, 0x0, 0x24, 0x0, 0x36, 0x0, 0x48, 0x0, 0x5a, 0x0, 0x6c, 0x0, 0x7e, 0x0, 0x90, 0x0, 0x2, 0x0, 0x6, 0x0, 0xc, 0x0, 0x1, 0x3, 0x63, 0xff, 0x9c, 0x0, 0x1, 0x0, 0xc8, 0xff, 0x6a, 0x0, 0x2, 0x0, 0x6, 0x0, 0xc, 0x0, 0x1, 0x3, 0x63, 0xff, 0x9c, 0x0, 0x1, 0x0, 0xc8, 0xff, 0x6a, 0x0, 0x2, 0x0, 0x6, 0x0, 0xc, 0x0, 0x1, 0x3, 0x63, 0xff, 0x9c, 0x0, 0x1, 0x0, 0xc8, 0xff, 0x6a, 0x0, 0x2, 0x0, 0x6, 0x0, 0xc, 0x0, 0x1, 0x3, 0x63, 0xff, 0x9c, 0x0, 0x1, 0x0, 0xc8, 0xff, 0x6a, 0x0, 0x2, 0x0, 0x6, 0x0, 0xc, 0x0, 0x1, 0x3, 0x63, 0xff, 0x9c, 0x0, 0x1, 0x0, 0xc8, 0xfd, 0xda, 0x0, 0x2, 0x0, 0x6, 0x0, 0xc, 0x0, 0x1, 0x3, 0x63, 0xff, 0x9c, 0x0, 0x1, 0x0, 0xc8, 0xfd, 0xda, 0x0, 0x2, 0x0, 0x6, 0x0, 0xc, 0x0, 0x1, 0x3, 0x63, 0xff, 0x9c, 0x0, 0x1, 0x0, 0xc8, 0xff, 0x6a, 0x0, 0x2, 0x0, 0x6, 0x0, 0xc, 0x0, 0x1, 0x3, 0x63, 0xff, 0x9c, 0x0, 0x1, 0x0, 0xc8, 0xff, 0x6a, 0x0, 0x2, 0x0, 0x1, 0x14, 0xd9, 0x14, 0xe0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xf, 0x5, 0x10, 0x5, 0x11, 0x5, 0x12, 0x5, 0x13, 0x5, 0x14, 0x5, 0x15, 0x5, 0x16, 0x5, 0x17, 0x5, 0x18, 0x5, 0x1b, 0x5, 0x1d, 0x5, 0x25, 0x5, 0x75, 0x5, 0x78, 0x5, 0x7d, 0x0, 0xf, 0x0, 0x0, 0x0, 0x3e, 0x0, 0x0, 0x0, 0x44, 0x0, 0x0, 0x0, 0x4a, 0x0, 0x0, 0x0, 0x50, 0x0, 0x0, 0x0, 0x56, 0x0, 0x0, 0x0, 0x5c, 0x0, 0x0, 0x0, 0x62, 0x0, 0x0, 0x0, 0x68, 0x0, 0x0, 0x0, 0x6e, 0x0, 0x0, 0x0, 0x74, 0x0, 0x0, 0x0, 0x7a, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x86, 0x0, 0x0, 0x0, 0x8c, 0x0, 0x0, 0x0, 0x92, 0x0, 0x1, 0x2, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x0, 0x0, 0x0, 0x0, 0x1, 0x13, 0xa8, 0x13, 0x56, 0x0, 0x1, 0x13, 0xcc, 0x0, 0xc, 0x2, 0x69, 0x4, 0xd4, 0x4, 0xda, 0x4, 0xe0, 0x4, 0xe6, 0x4, 0xec, 0x4, 0xf2, 0x4, 0xf8, 0x4, 0xfe, 0x5, 0x4, 0x5, 0xa, 0x5, 0x10, 0x5, 0x16, 0x5, 0x1c, 0x5, 0x22, 0x5, 0x28, 0x5, 0x2e, 0x5, 0x34, 0x5, 0x3a, 0x5, 0x40, 0x5, 0x46, 0x5, 0x4c, 0x5, 0x52, 0x5, 0x58, 0x5, 0x5e, 0x5, 0x64, 0x5, 0x6a, 0x5, 0x70, 0x5, 0x76, 0x5, 0x7c, 0x5, 0x82, 0x5, 0x88, 0x5, 0x8e, 0x5, 0x94, 0x5, 0x9a, 0x5, 0xa0, 0x5, 0xa6, 0x5, 0xac, 0x5, 0xb2, 0x5, 0xb8, 0x5, 0xbe, 0x5, 0xc4, 0x5, 0xca, 0x5, 0xd0, 0x5, 0xd6, 0x5, 0xdc, 0x5, 0xe2, 0x5, 0xe8, 0x5, 0xee, 0x5, 0xf4, 0x5, 0xfa, 0x6, 0x0, 0x6, 0x6, 0x6, 0xc, 0x6, 0x12, 0x6, 0x18, 0x6, 0x1e, 0x6, 0x24, 0x6, 0x2a, 0x6, 0x30, 0x6, 0x36, 0x6, 0x3c, 0x6, 0x42, 0x6, 0x48, 0x6, 0x4e, 0x6, 0x54, 0x6, 0x5a, 0x6, 0x60, 0x6, 0x66, 0x6, 0x6c, 0x6, 0x72, 0x6, 0x78, 0x6, 0x7e, 0x6, 0x84, 0x6, 0x8a, 0x6, 0x90, 0x6, 0x96, 0x6, 0x9c, 0x6, 0xa2, 0x6, 0xa8, 0x6, 0xae, 0x6, 0xb4, 0x6, 0xba, 0x6, 0xc0, 0x6, 0xc6, 0x6, 0xcc, 0x6, 0xd2, 0x6, 0xd8, 0x6, 0xde, 0x6, 0xe4, 0x6, 0xea, 0x6, 0xf0, 0x6, 0xf6, 0x6, 0xfc, 0x7, 0x2, 0x7, 0x8, 0x7, 0xe, 0x7, 0x14, 0x7, 0x1a, 0x7, 0x20, 0x7, 0x26, 0x7, 0x2c, 0x7, 0x32, 0x7, 0x38, 0x7, 0x3e, 0x7, 0x44, 0x7, 0x4a, 0x7, 0x50, 0x7, 0x56, 0x7, 0x5c, 0x7, 0x62, 0x7, 0x68, 0x7, 0x6e, 0x7, 0x74, 0x7, 0x7a, 0x7, 0x80, 0x7, 0x86, 0x7, 0x8c, 0x7, 0x92, 0x7, 0x98, 0x7, 0x9e, 0x7, 0xa4, 0x7, 0xaa, 0x7, 0xb0, 0x7, 0xb6, 0x7, 0xbc, 0x7, 0xc2, 0x7, 0xc8, 0x7, 0xce, 0x7, 0xd4, 0x7, 0xda, 0x7, 0xe0, 0x7, 0xe6, 0x7, 0xec, 0x7, 0xf2, 0x7, 0xf8, 0x7, 0xfe, 0x8, 0x4, 0x8, 0xa, 0x8, 0x10, 0x8, 0x16, 0x8, 0x1c, 0x8, 0x22, 0x8, 0x28, 0x8, 0x2e, 0x8, 0x34, 0x8, 0x3a, 0x8, 0x40, 0x8, 0x46, 0x8, 0x4c, 0x8, 0x52, 0x8, 0x58, 0x8, 0x5e, 0x8, 0x64, 0x8, 0x6a, 0x8, 0x70, 0x8, 0x76, 0x8, 0x7c, 0x8, 0x82, 0x8, 0x88, 0x8, 0x8e, 0x8, 0x94, 0x8, 0x9a, 0x8, 0xa0, 0x8, 0xa6, 0x8, 0xac, 0x8, 0xb2, 0x8, 0xb8, 0x8, 0xbe, 0x8, 0xc4, 0x8, 0xca, 0x8, 0xd0, 0x8, 0xd6, 0x8, 0xdc, 0x8, 0xe2, 0x8, 0xe8, 0x8, 0xee, 0x8, 0xf4, 0x8, 0xfa, 0x9, 0x0, 0x9, 0x6, 0x9, 0xc, 0x9, 0x12, 0x9, 0x18, 0x9, 0x1e, 0x9, 0x24, 0x9, 0x2a, 0x9, 0x30, 0x9, 0x36, 0x9, 0x3c, 0x9, 0x42, 0x9, 0x48, 0x9, 0x4e, 0x9, 0x54, 0x9, 0x5a, 0x9, 0x60, 0x9, 0x66, 0x9, 0x6c, 0x9, 0x72, 0x9, 0x78, 0x9, 0x7e, 0x9, 0x84, 0x9, 0x8a, 0x9, 0x90, 0x9, 0x96, 0x9, 0x9c, 0x9, 0xa2, 0x9, 0xa8, 0x9, 0xae, 0x9, 0xb4, 0x9, 0xba, 0x9, 0xc0, 0x9, 0xc6, 0x9, 0xcc, 0x9, 0xd2, 0x9, 0xd8, 0x9, 0xde, 0x9, 0xe4, 0x9, 0xea, 0x9, 0xf0, 0x9, 0xf6, 0x9, 0xfc, 0xa, 0x2, 0xa, 0x8, 0xa, 0xe, 0xa, 0x14, 0xa, 0x1a, 0xa, 0x20, 0xa, 0x26, 0xa, 0x2c, 0xa, 0x32, 0xa, 0x38, 0xa, 0x3e, 0xa, 0x44, 0xa, 0x4a, 0xa, 0x50, 0xa, 0x56, 0xa, 0x5c, 0xa, 0x62, 0xa, 0x68, 0xa, 0x6e, 0xa, 0x74, 0xa, 0x7a, 0xa, 0x80, 0xa, 0x86, 0xa, 0x8c, 0xa, 0x92, 0xa, 0x98, 0xa, 0x9e, 0xa, 0xa4, 0xa, 0xaa, 0xa, 0xb0, 0xa, 0xb6, 0xa, 0xbc, 0xa, 0xc2, 0xa, 0xc8, 0xa, 0xce, 0xa, 0xd4, 0xa, 0xda, 0xa, 0xe0, 0xa, 0xe6, 0xa, 0xec, 0xa, 0xf2, 0xa, 0xf8, 0xa, 0xfe, 0xb, 0x4, 0xb, 0xa, 0xb, 0x10, 0xb, 0x16, 0xb, 0x1c, 0xb, 0x22, 0xb, 0x28, 0xb, 0x2e, 0xb, 0x34, 0xb, 0x3a, 0xb, 0x40, 0xb, 0x46, 0xb, 0x4c, 0xb, 0x52, 0xb, 0x58, 0xb, 0x5e, 0xb, 0x64, 0xb, 0x6a, 0xb, 0x70, 0xb, 0x76, 0xb, 0x7c, 0xb, 0x82, 0xb, 0x88, 0xb, 0x8e, 0xb, 0x94, 0xb, 0x9a, 0xb, 0xa0, 0xb, 0xa6, 0xb, 0xac, 0xb, 0xb2, 0xb, 0xb8, 0xb, 0xbe, 0xb, 0xc4, 0xb, 0xca, 0xb, 0xd0, 0xb, 0xd6, 0xb, 0xdc, 0xb, 0xe2, 0xb, 0xe8, 0xb, 0xee, 0xb, 0xf4, 0xb, 0xfa, 0xc, 0x0, 0xc, 0x6, 0xc, 0xc, 0xc, 0x12, 0xc, 0x18, 0xc, 0x1e, 0xc, 0x24, 0xc, 0x2a, 0xc, 0x30, 0xc, 0x36, 0xc, 0x3c, 0xc, 0x42, 0xc, 0x48, 0xc, 0x4e, 0xc, 0x54, 0xc, 0x5a, 0xc, 0x60, 0xc, 0x66, 0xc, 0x6c, 0xc, 0x72, 0xc, 0x78, 0xc, 0x7e, 0xc, 0x84, 0xc, 0x8a, 0xc, 0x90, 0xc, 0x96, 0xc, 0x9c, 0xc, 0xa2, 0xc, 0xa8, 0xc, 0xae, 0xc, 0xb4, 0xc, 0xba, 0xc, 0xc0, 0xc, 0xc6, 0xc, 0xcc, 0xc, 0xd2, 0xc, 0xd8, 0xc, 0xde, 0xc, 0xe4, 0xc, 0xea, 0xc, 0xf0, 0xc, 0xf6, 0xc, 0xfc, 0xd, 0x2, 0xd, 0x8, 0xd, 0xe, 0xd, 0x14, 0xd, 0x1a, 0xd, 0x20, 0xd, 0x26, 0xd, 0x2c, 0xd, 0x32, 0xd, 0x38, 0xd, 0x3e, 0xd, 0x44, 0xd, 0x4a, 0xd, 0x50, 0xd, 0x56, 0xd, 0x5c, 0xd, 0x62, 0xd, 0x68, 0xd, 0x6e, 0xd, 0x74, 0xd, 0x7a, 0xd, 0x80, 0xd, 0x86, 0xd, 0x8c, 0xd, 0x92, 0xd, 0x98, 0xd, 0x9e, 0xd, 0xa4, 0xd, 0xaa, 0xd, 0xb0, 0xd, 0xb6, 0xd, 0xbc, 0xd, 0xc2, 0xd, 0xc8, 0xd, 0xce, 0xd, 0xd4, 0xd, 0xda, 0xd, 0xe0, 0xd, 0xe6, 0xd, 0xec, 0xd, 0xf2, 0xd, 0xf8, 0xd, 0xfe, 0xe, 0x4, 0xe, 0xa, 0xe, 0x10, 0xe, 0x16, 0xe, 0x1c, 0xe, 0x22, 0xe, 0x28, 0xe, 0x2e, 0xe, 0x34, 0xe, 0x3a, 0xe, 0x40, 0xe, 0x46, 0xe, 0x4c, 0xe, 0x52, 0xe, 0x58, 0xe, 0x5e, 0xe, 0x64, 0xe, 0x6a, 0xe, 0x70, 0xe, 0x76, 0xe, 0x7c, 0xe, 0x82, 0xe, 0x88, 0xe, 0x8e, 0xe, 0x94, 0xe, 0x9a, 0xe, 0xa0, 0xe, 0xa6, 0xe, 0xac, 0xe, 0xb2, 0xe, 0xb8, 0xe, 0xbe, 0xe, 0xc4, 0xe, 0xca, 0xe, 0xd0, 0xe, 0xd6, 0xe, 0xdc, 0xe, 0xe2, 0xe, 0xe8, 0xe, 0xee, 0xe, 0xf4, 0xe, 0xfa, 0xf, 0x0, 0xf, 0x6, 0xf, 0xc, 0xf, 0x12, 0xf, 0x18, 0xf, 0x1e, 0xf, 0x24, 0xf, 0x2a, 0xf, 0x30, 0xf, 0x36, 0xf, 0x3c, 0xf, 0x42, 0xf, 0x48, 0xf, 0x4e, 0xf, 0x54, 0xf, 0x5a, 0xf, 0x60, 0xf, 0x66, 0xf, 0x6c, 0xf, 0x72, 0xf, 0x78, 0xf, 0x7e, 0xf, 0x84, 0xf, 0x8a, 0xf, 0x90, 0xf, 0x96, 0xf, 0x9c, 0xf, 0xa2, 0xf, 0xa8, 0xf, 0xae, 0xf, 0xb4, 0xf, 0xba, 0xf, 0xc0, 0xf, 0xc6, 0xf, 0xcc, 0xf, 0xd2, 0xf, 0xd8, 0xf, 0xde, 0xf, 0xe4, 0xf, 0xea, 0xf, 0xf0, 0xf, 0xf6, 0xf, 0xfc, 0x10, 0x2, 0x10, 0x8, 0x10, 0xe, 0x10, 0x14, 0x10, 0x1a, 0x10, 0x20, 0x10, 0x26, 0x10, 0x2c, 0x10, 0x32, 0x10, 0x38, 0x10, 0x3e, 0x10, 0x44, 0x10, 0x4a, 0x10, 0x50, 0x10, 0x56, 0x10, 0x5c, 0x10, 0x62, 0x10, 0x68, 0x10, 0x6e, 0x10, 0x74, 0x10, 0x7a, 0x10, 0x80, 0x10, 0x86, 0x10, 0x8c, 0x10, 0x92, 0x10, 0x98, 0x10, 0x9e, 0x10, 0xa4, 0x10, 0xaa, 0x10, 0xb0, 0x10, 0xb6, 0x10, 0xbc, 0x10, 0xc2, 0x10, 0xc8, 0x10, 0xce, 0x10, 0xd4, 0x10, 0xda, 0x10, 0xe0, 0x10, 0xe6, 0x10, 0xec, 0x10, 0xf2, 0x10, 0xf8, 0x10, 0xfe, 0x11, 0x4, 0x11, 0xa, 0x11, 0x10, 0x11, 0x16, 0x11, 0x1c, 0x11, 0x22, 0x11, 0x28, 0x11, 0x2e, 0x11, 0x34, 0x11, 0x3a, 0x11, 0x40, 0x11, 0x46, 0x11, 0x4c, 0x11, 0x52, 0x11, 0x58, 0x11, 0x5e, 0x11, 0x64, 0x11, 0x6a, 0x11, 0x70, 0x11, 0x76, 0x11, 0x7c, 0x11, 0x82, 0x11, 0x88, 0x11, 0x8e, 0x11, 0x94, 0x11, 0x9a, 0x11, 0xa0, 0x11, 0xa6, 0x11, 0xac, 0x11, 0xb2, 0x11, 0xb8, 0x11, 0xbe, 0x11, 0xc4, 0x11, 0xca, 0x11, 0xd0, 0x11, 0xd6, 0x11, 0xdc, 0x11, 0xe2, 0x11, 0xe8, 0x11, 0xee, 0x11, 0xf4, 0x11, 0xfa, 0x12, 0x0, 0x12, 0x6, 0x12, 0xc, 0x12, 0x12, 0x12, 0x18, 0x12, 0x1e, 0x12, 0x24, 0x12, 0x2a, 0x12, 0x30, 0x12, 0x36, 0x12, 0x3c, 0x12, 0x42, 0x12, 0x48, 0x12, 0x4e, 0x12, 0x54, 0x12, 0x5a, 0x12, 0x60, 0x12, 0x66, 0x12, 0x6c, 0x12, 0x72, 0x12, 0x78, 0x12, 0x7e, 0x12, 0x84, 0x12, 0x8a, 0x12, 0x90, 0x12, 0x96, 0x12, 0x9c, 0x12, 0xa2, 0x12, 0xa8, 0x12, 0xae, 0x12, 0xb4, 0x12, 0xba, 0x12, 0xc0, 0x12, 0xc6, 0x12, 0xcc, 0x12, 0xd2, 0x12, 0xd8, 0x12, 0xde, 0x12, 0xe4, 0x12, 0xea, 0x12, 0xf0, 0x12, 0xf6, 0x12, 0xfc, 0x13, 0x2, 0x13, 0x8, 0x13, 0xe, 0x13, 0x14, 0x13, 0x1a, 0x13, 0x20, 0x13, 0x26, 0x13, 0x2c, 0x13, 0x32, 0x13, 0x38, 0x13, 0x3e, 0x13, 0x44, 0x0, 0x1, 0x2, 0xde, 0x0, 0x0, 0x0, 0x1, 0x2, 0x55, 0x0, 0x0, 0x0, 0x1, 0x1, 0xdb, 0x0, 0x0, 0x0, 0x1, 0x2, 0xf8, 0x0, 0x0, 0x0, 0x1, 0x2, 0xab, 0x0, 0x0, 0x0, 0x1, 0x1, 0xf, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2c, 0x0, 0x0, 0x0, 0x1, 0x2, 0xab, 0x0, 0x0, 0x0, 0x1, 0x2, 0xc1, 0x0, 0x0, 0x0, 0x1, 0x0, 0xe5, 0x0, 0x0, 0x0, 0x1, 0x1, 0xa3, 0x0, 0x0, 0x0, 0x1, 0x2, 0x21, 0x0, 0x0, 0x0, 0x1, 0x1, 0xec, 0x0, 0x0, 0x0, 0x1, 0x2, 0xb8, 0x0, 0x0, 0x0, 0x1, 0x2, 0xfe, 0x0, 0x0, 0x0, 0x1, 0x0, 0x38, 0x0, 0x0, 0x0, 0x1, 0x1, 0xa9, 0x0, 0x0, 0x0, 0x1, 0x3, 0x10, 0x0, 0x0, 0x0, 0x1, 0x3, 0x7c, 0xff, 0xfa, 0x0, 0x1, 0x2, 0x9a, 0x0, 0x0, 0x0, 0x1, 0x2, 0x51, 0x0, 0x0, 0x0, 0x1, 0x0, 0xfe, 0x0, 0x0, 0x0, 0x1, 0x2, 0x27, 0x0, 0x0, 0x0, 0x1, 0x2, 0xc4, 0x0, 0x0, 0x0, 0x1, 0x2, 0x2, 0x0, 0x0, 0x0, 0x1, 0x3, 0xe, 0x0, 0x0, 0x0, 0x1, 0x2, 0x6e, 0x0, 0x0, 0x0, 0x1, 0x1, 0xe2, 0x0, 0x0, 0x0, 0x1, 0x1, 0xe2, 0x0, 0x0, 0x0, 0x1, 0x1, 0xe2, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1d, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x1d, 0xff, 0x9c, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x1, 0x1d, 0xfd, 0xda, 0x0, 0x1, 0x2, 0xbc, 0xfe, 0x70, 0x0, 0x1, 0x1, 0x1d, 0xff, 0x9c, 0x0, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x1, 0x1, 0xf4, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x84, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x84, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x2c, 0xfd, 0x76, 0x0, 0x1, 0x3, 0x2c, 0xfd, 0xa8, 0x0, 0x1, 0x3, 0x2c, 0xfd, 0x76, 0x0, 0x1, 0x1, 0xc2, 0xff, 0x6a, 0x0, 0x1, 0x1, 0xc2, 0xff, 0x6a, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x2, 0x58, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x58, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x58, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x58, 0xfd, 0x44, 0x0, 0x1, 0x2, 0x5b, 0xff, 0x6a, 0x0, 0x1, 0x2, 0x5b, 0xff, 0x6a, 0x0, 0x1, 0x2, 0xd7, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0xd7, 0xfd, 0xa8, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x9c, 0x0, 0x1, 0x3, 0x20, 0xff, 0x38, 0x0, 0x1, 0x2, 0xbc, 0xfd, 0xda, 0x0, 0x1, 0x3, 0x20, 0xff, 0x38, 0x0, 0x1, 0x2, 0xbc, 0xfe, 0x3e, 0x0, 0x1, 0x0, 0xf0, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0xee, 0xfe, 0x3e, 0x0, 0x1, 0x1, 0xf4, 0xff, 0x6a, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x2, 0xbc, 0xfe, 0x70, 0x0, 0x1, 0x2, 0xbc, 0xfd, 0xda, 0x0, 0x1, 0x3, 0x84, 0xff, 0x6a, 0x0, 0x1, 0x2, 0xbc, 0xfd, 0xda, 0x0, 0x1, 0x3, 0x84, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x84, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x84, 0xfd, 0xa8, 0x0, 0x1, 0x3, 0x84, 0xfe, 0x5e, 0x0, 0x1, 0x3, 0x84, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x84, 0xfd, 0xa8, 0x0, 0x1, 0x3, 0x84, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x84, 0xfd, 0xa8, 0x0, 0x1, 0x3, 0x2c, 0xfd, 0xa8, 0x0, 0x1, 0x3, 0x2c, 0xfd, 0xa8, 0x0, 0x1, 0x3, 0x2c, 0xfd, 0xa8, 0x0, 0x1, 0x3, 0x2c, 0xfd, 0xa8, 0x0, 0x1, 0x3, 0x2c, 0xfd, 0xa8, 0x0, 0x1, 0x3, 0x2c, 0xfd, 0xa8, 0x0, 0x1, 0x3, 0x2c, 0xfd, 0xa8, 0x0, 0x1, 0x1, 0xc2, 0xff, 0x6a, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0x5e, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0x70, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0x70, 0x0, 0x1, 0x1, 0xc2, 0xff, 0x6a, 0x0, 0x1, 0x1, 0xf3, 0xfe, 0xa2, 0x0, 0x1, 0x1, 0xc2, 0xff, 0x6a, 0x0, 0x1, 0x1, 0xc2, 0xff, 0x6a, 0x0, 0x1, 0x1, 0xc2, 0xff, 0x6a, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x2, 0x58, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x58, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x58, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x58, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x58, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x5b, 0xff, 0x6a, 0x0, 0x1, 0x2, 0xd7, 0xfd, 0xa8, 0x0, 0x1, 0x3, 0x20, 0xff, 0x38, 0x0, 0x1, 0x3, 0xb6, 0xfe, 0x70, 0x0, 0x1, 0x3, 0xb6, 0xfe, 0x70, 0x0, 0x1, 0x3, 0x20, 0xff, 0x38, 0x0, 0x1, 0x3, 0xb6, 0xfd, 0x76, 0x0, 0x1, 0x3, 0x20, 0xff, 0x38, 0x0, 0x1, 0x2, 0xbc, 0xfd, 0xda, 0x0, 0x1, 0x2, 0xbc, 0xfd, 0xda, 0x0, 0x1, 0x3, 0x20, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x20, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x20, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x20, 0xff, 0x38, 0x0, 0x1, 0x3, 0x20, 0xff, 0x38, 0x0, 0x1, 0x3, 0x20, 0xfd, 0x76, 0x0, 0x1, 0x3, 0x20, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x20, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x20, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x20, 0xfe, 0x70, 0x0, 0x1, 0x3, 0x20, 0xfd, 0x44, 0x0, 0x1, 0x3, 0x20, 0xff, 0x6a, 0x0, 0x1, 0x2, 0xbc, 0xfe, 0x3e, 0x0, 0x1, 0x2, 0xbc, 0xfe, 0x3e, 0x0, 0x1, 0x2, 0xbc, 0xfe, 0x3e, 0x0, 0x1, 0x2, 0xee, 0xfc, 0xae, 0x0, 0x1, 0x3, 0x7, 0xfd, 0x44, 0x0, 0x1, 0x2, 0xee, 0xfe, 0x3e, 0x0, 0x1, 0x2, 0xee, 0xfe, 0x3e, 0x0, 0x1, 0x3, 0x7, 0xfd, 0x12, 0x0, 0x1, 0x2, 0xee, 0xfe, 0x3e, 0x0, 0x1, 0x3, 0x20, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x2c, 0xfd, 0xa8, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x2, 0xbc, 0xfe, 0x70, 0x0, 0x1, 0x2, 0xbc, 0xfe, 0x70, 0x0, 0x1, 0x1, 0xf4, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x16, 0x0, 0x0, 0x0, 0x1, 0x2, 0x49, 0x0, 0x0, 0x0, 0x1, 0x1, 0xab, 0x0, 0x0, 0x0, 0x1, 0x2, 0x5e, 0x0, 0x0, 0x0, 0x1, 0x2, 0x9d, 0x0, 0x0, 0x0, 0x1, 0x2, 0x9d, 0x0, 0x0, 0x0, 0x1, 0x2, 0x60, 0x0, 0x0, 0x0, 0x1, 0x2, 0x9d, 0x0, 0x0, 0x0, 0x1, 0x3, 0x92, 0x0, 0x0, 0x0, 0x1, 0x1, 0x16, 0x0, 0x0, 0x0, 0x1, 0x2, 0x6b, 0x0, 0x0, 0x0, 0x1, 0x2, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x3, 0x5, 0x0, 0x0, 0x0, 0x1, 0x1, 0xa9, 0x0, 0x0, 0x0, 0x1, 0x3, 0xd5, 0x0, 0x0, 0x0, 0x1, 0x1, 0xdd, 0x0, 0x0, 0x0, 0x1, 0x3, 0x23, 0x0, 0x0, 0x0, 0x1, 0x2, 0x9d, 0x0, 0x0, 0x0, 0x1, 0x2, 0x80, 0x0, 0x0, 0x0, 0x1, 0x3, 0x2, 0x0, 0x0, 0x0, 0x1, 0x3, 0x1a, 0x0, 0x0, 0x0, 0x1, 0x3, 0x65, 0x0, 0x0, 0x0, 0x1, 0x1, 0xdd, 0x0, 0x0, 0x0, 0x1, 0x2, 0x80, 0x0, 0x0, 0x0, 0x1, 0x2, 0x59, 0x0, 0x0, 0x0, 0x1, 0x3, 0x1a, 0x0, 0x0, 0x0, 0x1, 0x3, 0x1a, 0x0, 0x0, 0x0, 0x1, 0x2, 0x1b, 0x0, 0x0, 0x0, 0x1, 0x2, 0x59, 0x0, 0x0, 0x0, 0x1, 0x2, 0x59, 0x0, 0x0, 0x0, 0x1, 0x3, 0x84, 0xfd, 0xa8, 0x0, 0x1, 0x3, 0x84, 0xfd, 0xa8, 0x0, 0x1, 0x1, 0x2b, 0xfd, 0xda, 0x0, 0x1, 0x1, 0x2b, 0xfd, 0xda, 0x0, 0x1, 0x3, 0x84, 0xfd, 0xa8, 0x0, 0x1, 0x3, 0x84, 0xfd, 0xa8, 0x0, 0x1, 0x1, 0x2b, 0xfd, 0xda, 0x0, 0x1, 0x1, 0x2b, 0xfd, 0xda, 0x0, 0x1, 0x3, 0x84, 0xfd, 0xa8, 0x0, 0x1, 0x3, 0x84, 0xfd, 0xa8, 0x0, 0x1, 0x1, 0x2b, 0xfd, 0xda, 0x0, 0x1, 0x1, 0x2b, 0xfd, 0xda, 0x0, 0x1, 0x3, 0x84, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x84, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x2b, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x2b, 0xff, 0x9c, 0x0, 0x1, 0x3, 0x84, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x84, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x2b, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x2b, 0xff, 0x9c, 0x0, 0x1, 0x3, 0x84, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x84, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x2b, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x2b, 0xff, 0x9c, 0x0, 0x1, 0x3, 0x20, 0xff, 0x38, 0x0, 0x1, 0x3, 0x20, 0xff, 0x38, 0x0, 0x1, 0x1, 0xf4, 0xff, 0x6a, 0x0, 0x1, 0x2, 0x6, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x20, 0xff, 0x38, 0x0, 0x1, 0x3, 0x20, 0xff, 0x38, 0x0, 0x1, 0x1, 0xf4, 0xff, 0x6a, 0x0, 0x1, 0x2, 0x6, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x2c, 0xfd, 0xa8, 0x0, 0x1, 0x3, 0x2c, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x58, 0xfe, 0xc, 0x0, 0x1, 0x2, 0x58, 0xfe, 0xc, 0x0, 0x1, 0x3, 0x2c, 0xfd, 0xa8, 0x0, 0x1, 0x3, 0x2c, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x58, 0xff, 0x6, 0x0, 0x1, 0x2, 0x58, 0xff, 0x6, 0x0, 0x1, 0x3, 0x2c, 0xfd, 0xa8, 0x0, 0x1, 0x3, 0x2c, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x58, 0xfe, 0xc, 0x0, 0x1, 0x2, 0x58, 0xfe, 0xc, 0x0, 0x1, 0x3, 0x2c, 0xfd, 0xa8, 0x0, 0x1, 0x3, 0x2c, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x58, 0xfe, 0xc, 0x0, 0x1, 0x2, 0x58, 0xfe, 0xc, 0x0, 0x1, 0x1, 0xf3, 0xfe, 0xa2, 0x0, 0x1, 0x1, 0xf3, 0xfe, 0xa2, 0x0, 0x1, 0x1, 0xc2, 0xff, 0x6a, 0x0, 0x1, 0x1, 0xc2, 0xff, 0x6a, 0x0, 0x1, 0x1, 0xc2, 0xff, 0x6a, 0x0, 0x1, 0x1, 0xc2, 0xff, 0x6a, 0x0, 0x1, 0x1, 0xc2, 0xff, 0x6a, 0x0, 0x1, 0x1, 0xc2, 0xff, 0x6a, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x3, 0x20, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x20, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x20, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x20, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x20, 0xfd, 0x44, 0x0, 0x1, 0x3, 0x20, 0xfd, 0x44, 0x0, 0x1, 0x1, 0x90, 0xfd, 0x76, 0x0, 0x1, 0x1, 0x90, 0xfd, 0x76, 0x0, 0x1, 0x3, 0x20, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x20, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x6a, 0x0, 0x1, 0x2, 0xee, 0xfe, 0x3e, 0x0, 0x1, 0x2, 0xee, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0xee, 0xfe, 0x3e, 0x0, 0x1, 0x2, 0xee, 0xfd, 0xa8, 0x0, 0x1, 0x1, 0x2b, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x2b, 0xff, 0x9c, 0x0, 0x1, 0x3, 0x20, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x52, 0xfd, 0xa8, 0x0, 0x1, 0x1, 0xc2, 0xff, 0x6a, 0x0, 0x1, 0x1, 0xf4, 0xfd, 0xa8, 0x0, 0x1, 0x3, 0x20, 0xff, 0x38, 0x0, 0x1, 0x3, 0x20, 0xff, 0x38, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x6a, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x1, 0x2b, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x2b, 0xff, 0x9c, 0x0, 0x1, 0x2, 0xbc, 0xfe, 0x70, 0x0, 0x1, 0x2, 0xbc, 0xfe, 0x70, 0x0, 0x1, 0x1, 0x2b, 0xfe, 0xa2, 0x0, 0x1, 0x1, 0x2b, 0xfe, 0xa2, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x9c, 0x0, 0x1, 0x0, 0xc5, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x2c, 0xfe, 0xc, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x2c, 0xfe, 0xd4, 0x0, 0x1, 0x1, 0x2c, 0xfe, 0xd4, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x9c, 0x0, 0x1, 0x1, 0xf4, 0x0, 0x32, 0x0, 0x1, 0x1, 0x1d, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x1d, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x1d, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x1d, 0xff, 0x9c, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x1, 0x1d, 0xfd, 0xa8, 0x0, 0x1, 0x1, 0x1d, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0xbc, 0xfe, 0x70, 0x0, 0x1, 0x2, 0xbc, 0xfe, 0x70, 0x0, 0x1, 0x1, 0x2b, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x2b, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x1d, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x1d, 0xff, 0x9c, 0x0, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x1, 0x1, 0x2b, 0xfe, 0xa2, 0x0, 0x1, 0x1, 0x2b, 0xfe, 0xa2, 0x0, 0x1, 0x1, 0xf4, 0xff, 0x6a, 0x0, 0x1, 0x1, 0xf4, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x84, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x84, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x2b, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x2b, 0xff, 0x9c, 0x0, 0x1, 0x3, 0x84, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x84, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x2b, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x2b, 0xff, 0x9c, 0x0, 0x1, 0x3, 0x2c, 0xfd, 0xa8, 0x0, 0x1, 0x3, 0x2c, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x58, 0xfe, 0xa2, 0x0, 0x1, 0x2, 0x58, 0xfe, 0xa2, 0x0, 0x1, 0x3, 0x2c, 0xfd, 0xa8, 0x0, 0x1, 0x3, 0x2c, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x58, 0xff, 0x9c, 0x0, 0x1, 0x2, 0x58, 0xff, 0x9c, 0x0, 0x1, 0x3, 0x2c, 0xfd, 0xa8, 0x0, 0x1, 0x3, 0x2c, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x58, 0xff, 0x9c, 0x0, 0x1, 0x2, 0x58, 0xff, 0x9c, 0x0, 0x1, 0x1, 0xc2, 0xff, 0x6a, 0x0, 0x1, 0x1, 0xc2, 0xff, 0x6a, 0x0, 0x1, 0x1, 0xc2, 0xff, 0x6a, 0x0, 0x1, 0x1, 0xc2, 0xff, 0x6a, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x2, 0x58, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x58, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x8a, 0xff, 0x6a, 0x0, 0x1, 0x2, 0x8a, 0xff, 0x6a, 0x0, 0x1, 0x2, 0x58, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x58, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x8a, 0xff, 0x6a, 0x0, 0x1, 0x2, 0x8a, 0xff, 0x6a, 0x0, 0x1, 0x2, 0x58, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x58, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x26, 0xff, 0x6a, 0x0, 0x1, 0x2, 0x26, 0xff, 0x6a, 0x0, 0x1, 0x2, 0x58, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x58, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x26, 0xff, 0x6a, 0x0, 0x1, 0x2, 0x26, 0xff, 0x6a, 0x0, 0x1, 0x2, 0x5b, 0xff, 0x6a, 0x0, 0x1, 0x2, 0x5b, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x53, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x53, 0xff, 0x6a, 0x0, 0x1, 0x2, 0x5b, 0xff, 0x6a, 0x0, 0x1, 0x2, 0x5b, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x53, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x53, 0xff, 0x6a, 0x0, 0x1, 0x2, 0x8a, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0xd7, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x58, 0xff, 0x9c, 0x0, 0x1, 0x1, 0xee, 0xff, 0x9c, 0x0, 0x1, 0x2, 0x8a, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0xd7, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x58, 0xff, 0x9c, 0x0, 0x1, 0x1, 0xee, 0xff, 0x9c, 0x0, 0x1, 0x3, 0x20, 0xff, 0x38, 0x0, 0x1, 0x3, 0x20, 0xff, 0x38, 0x0, 0x1, 0x1, 0xf4, 0xff, 0x6a, 0x0, 0x1, 0x2, 0x6, 0xff, 0x6a, 0x0, 0x1, 0x2, 0xbc, 0xfd, 0xda, 0x0, 0x1, 0x2, 0xbc, 0xfd, 0xa8, 0x0, 0x1, 0x1, 0xf4, 0xff, 0x6a, 0x0, 0x1, 0x2, 0x6, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x20, 0xff, 0x38, 0x0, 0x1, 0x3, 0x20, 0xff, 0x38, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x6a, 0x0, 0x1, 0x2, 0xbc, 0xfe, 0x3e, 0x0, 0x1, 0x2, 0xbc, 0xfe, 0x3e, 0x0, 0x1, 0x1, 0x53, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x53, 0xff, 0x9c, 0x0, 0x1, 0x0, 0xf0, 0xfd, 0xa8, 0x0, 0x1, 0x0, 0xf0, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x26, 0xff, 0x6a, 0x0, 0x1, 0x2, 0x26, 0xff, 0x6a, 0x0, 0x1, 0x2, 0xee, 0xfe, 0x3e, 0x0, 0x1, 0x2, 0xee, 0xfd, 0xa8, 0x0, 0x1, 0x1, 0x2b, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x2b, 0xff, 0x9c, 0x0, 0x1, 0x1, 0xf4, 0xff, 0x6a, 0x0, 0x1, 0x1, 0xf4, 0xff, 0x6a, 0x0, 0x1, 0x1, 0xc2, 0xff, 0x6a, 0x0, 0x1, 0x1, 0xf4, 0xfd, 0xa8, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x2, 0xbc, 0xfe, 0x70, 0x0, 0x1, 0x2, 0xbc, 0xfe, 0x70, 0x0, 0x1, 0x2, 0xbc, 0xfd, 0xda, 0x0, 0x1, 0x2, 0xbc, 0xfd, 0xda, 0x0, 0x1, 0x1, 0x2b, 0xfe, 0xa2, 0x0, 0x1, 0x1, 0x2b, 0xfe, 0xa2, 0x0, 0x1, 0x3, 0x84, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x2b, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x2b, 0xff, 0x9c, 0x0, 0x1, 0x3, 0x20, 0xff, 0x38, 0x0, 0x1, 0x1, 0xf4, 0xff, 0x6a, 0x0, 0x1, 0x2, 0x6, 0xff, 0x6a, 0x0, 0x1, 0x2, 0xbc, 0xfd, 0x99, 0x0, 0x1, 0x1, 0xf4, 0xff, 0x6a, 0x0, 0x1, 0x2, 0x6, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x2b, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x2b, 0xff, 0x9c, 0x0, 0x1, 0x3, 0x84, 0xfe, 0x5e, 0x0, 0x1, 0x1, 0x2b, 0xfe, 0xc2, 0x0, 0x1, 0x1, 0x2b, 0xfe, 0xc2, 0x0, 0x1, 0x3, 0x84, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x2b, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x2b, 0xff, 0x9c, 0x0, 0x1, 0x3, 0x2c, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x58, 0xff, 0x9c, 0x0, 0x1, 0x2, 0x58, 0xff, 0x9c, 0x0, 0x1, 0x3, 0x2c, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x58, 0xff, 0x9c, 0x0, 0x1, 0x2, 0x58, 0xff, 0x9c, 0x0, 0x1, 0x3, 0x2c, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x58, 0xff, 0x9c, 0x0, 0x1, 0x2, 0x58, 0xff, 0x9c, 0x0, 0x1, 0x3, 0x2c, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x58, 0xfe, 0xc, 0x0, 0x1, 0x2, 0x58, 0xfe, 0xc, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x2, 0xbc, 0xfe, 0x3e, 0x0, 0x1, 0x1, 0x53, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x53, 0xff, 0x9c, 0x0, 0x1, 0x2, 0xbc, 0xfe, 0x70, 0x0, 0x1, 0x1, 0x2b, 0xfe, 0xa2, 0x0, 0x1, 0x1, 0x2b, 0xfe, 0xa2, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x1, 0xf4, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x1d, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1d, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1d, 0x0, 0x0, 0x0, 0x1, 0x2, 0x49, 0x0, 0x0, 0x0, 0x1, 0x2, 0x49, 0x0, 0x0, 0x0, 0x1, 0x2, 0x49, 0x0, 0x0, 0x0, 0x1, 0x1, 0xab, 0x0, 0x0, 0x0, 0x1, 0x1, 0xab, 0x0, 0x0, 0x0, 0x1, 0x1, 0xab, 0x0, 0x0, 0x0, 0x1, 0x2, 0x5e, 0x0, 0x0, 0x0, 0x1, 0x2, 0x5e, 0x0, 0x0, 0x0, 0x1, 0x2, 0x5e, 0x0, 0x0, 0x0, 0x1, 0x2, 0x9d, 0x0, 0x0, 0x0, 0x1, 0x2, 0x9d, 0x0, 0x0, 0x0, 0x1, 0x2, 0x9d, 0x0, 0x0, 0x0, 0x1, 0x2, 0x9d, 0x0, 0x0, 0x0, 0x1, 0x2, 0x9d, 0x0, 0x0, 0x0, 0x1, 0x2, 0x9d, 0x0, 0x0, 0x0, 0x1, 0x2, 0x60, 0x0, 0x0, 0x0, 0x1, 0x2, 0x60, 0x0, 0x0, 0x0, 0x1, 0x2, 0x60, 0x0, 0x0, 0x0, 0x1, 0x2, 0x9d, 0x0, 0x0, 0x0, 0x1, 0x2, 0x9d, 0x0, 0x0, 0x0, 0x1, 0x2, 0x9d, 0x0, 0x0, 0x0, 0x1, 0x3, 0x92, 0x0, 0x0, 0x0, 0x1, 0x3, 0x92, 0x0, 0x0, 0x0, 0x1, 0x3, 0x92, 0x0, 0x0, 0x0, 0x1, 0x1, 0x16, 0x0, 0x0, 0x0, 0x1, 0x1, 0x16, 0x0, 0x0, 0x0, 0x1, 0x1, 0x16, 0x0, 0x0, 0x0, 0x1, 0x2, 0x6b, 0x0, 0x0, 0x0, 0x1, 0x2, 0x6b, 0x0, 0x0, 0x0, 0x1, 0x2, 0x6b, 0x0, 0x0, 0x0, 0x1, 0x2, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x3, 0x5, 0x0, 0x0, 0x0, 0x1, 0x3, 0x5, 0x0, 0x0, 0x0, 0x1, 0x3, 0x5, 0x0, 0x0, 0x0, 0x1, 0x1, 0xa9, 0x0, 0x0, 0x0, 0x1, 0x1, 0xa9, 0x0, 0x0, 0x0, 0x1, 0x1, 0xa9, 0x0, 0x0, 0x0, 0x1, 0x3, 0xd5, 0x0, 0x0, 0x0, 0x1, 0x3, 0xd5, 0x0, 0x0, 0x0, 0x1, 0x3, 0xd5, 0x0, 0x0, 0x0, 0x1, 0x1, 0xdd, 0x0, 0x0, 0x0, 0x1, 0x1, 0xdd, 0x0, 0x0, 0x0, 0x1, 0x1, 0xdd, 0x0, 0x0, 0x0, 0x1, 0x3, 0x23, 0x0, 0x0, 0x0, 0x1, 0x3, 0x23, 0x0, 0x0, 0x0, 0x1, 0x3, 0x23, 0x0, 0x0, 0x0, 0x1, 0x2, 0x9d, 0x0, 0x0, 0x0, 0x1, 0x2, 0x9d, 0x0, 0x0, 0x0, 0x1, 0x2, 0x9d, 0x0, 0x0, 0x0, 0x1, 0x2, 0x80, 0x0, 0x0, 0x0, 0x1, 0x2, 0x80, 0x0, 0x0, 0x0, 0x1, 0x2, 0x80, 0x0, 0x0, 0x0, 0x1, 0x3, 0x2, 0x0, 0x0, 0x0, 0x1, 0x3, 0x2, 0x0, 0x0, 0x0, 0x1, 0x3, 0x2, 0x0, 0x0, 0x0, 0x1, 0x3, 0x1a, 0x0, 0x0, 0x0, 0x1, 0x3, 0x1a, 0x0, 0x0, 0x0, 0x1, 0x3, 0x1a, 0x0, 0x0, 0x0, 0x1, 0x3, 0x65, 0x0, 0x0, 0x0, 0x1, 0x3, 0x65, 0x0, 0x0, 0x0, 0x1, 0x3, 0x65, 0x0, 0x0, 0x0, 0x1, 0x1, 0xdd, 0x0, 0x0, 0x0, 0x1, 0x1, 0xdd, 0x0, 0x0, 0x0, 0x1, 0x1, 0xdd, 0x0, 0x0, 0x0, 0x1, 0x2, 0x80, 0x0, 0x0, 0x0, 0x1, 0x2, 0x80, 0x0, 0x0, 0x0, 0x1, 0x2, 0x80, 0x0, 0x0, 0x0, 0x1, 0x2, 0x59, 0x0, 0x0, 0x0, 0x1, 0x2, 0x59, 0x0, 0x0, 0x0, 0x1, 0x2, 0x59, 0x0, 0x0, 0x0, 0x1, 0x3, 0x1a, 0x0, 0x0, 0x0, 0x1, 0x3, 0x1a, 0x0, 0x0, 0x0, 0x1, 0x3, 0x1a, 0x0, 0x0, 0x0, 0x1, 0x3, 0x1a, 0x0, 0x0, 0x0, 0x1, 0x3, 0x1a, 0x0, 0x0, 0x0, 0x1, 0x3, 0x1a, 0x0, 0x0, 0x0, 0x1, 0x2, 0x1b, 0x0, 0x0, 0x0, 0x1, 0x2, 0x1b, 0x0, 0x0, 0x0, 0x1, 0x2, 0x1b, 0x0, 0x0, 0x0, 0x1, 0x2, 0x59, 0x0, 0x0, 0x0, 0x1, 0x2, 0x59, 0x0, 0x0, 0x0, 0x1, 0x2, 0x59, 0x0, 0x0, 0x0, 0x1, 0x2, 0x59, 0x0, 0x0, 0x0, 0x1, 0x2, 0x59, 0x0, 0x0, 0x0, 0x1, 0x2, 0x59, 0x0, 0x0, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0x5e, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0x70, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0x70, 0x0, 0x1, 0x1, 0xc2, 0xff, 0x6a, 0x0, 0x1, 0x1, 0xc2, 0xff, 0x6a, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x1, 0x2, 0x58, 0xfd, 0xa8, 0x0, 0x1, 0x3, 0xe8, 0xfe, 0x70, 0x0, 0x1, 0x3, 0xe8, 0xfe, 0x70, 0x0, 0x1, 0x2, 0x58, 0xfd, 0xa8, 0x0, 0x1, 0x3, 0xe8, 0xfd, 0xda, 0x0, 0x1, 0x3, 0xe8, 0xfd, 0xda, 0x0, 0x1, 0x2, 0x58, 0xfd, 0xa8, 0x0, 0x1, 0x3, 0xe8, 0xfd, 0xda, 0x0, 0x1, 0x3, 0xe8, 0xfd, 0xda, 0x0, 0x1, 0x2, 0x58, 0xfd, 0xa8, 0x0, 0x1, 0x3, 0x20, 0xfe, 0x70, 0x0, 0x1, 0x3, 0x20, 0xfe, 0x70, 0x0, 0x1, 0x2, 0x58, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x26, 0xff, 0x6a, 0x0, 0x1, 0x2, 0x26, 0xff, 0x6a, 0x0, 0x1, 0x2, 0x5b, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x53, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x53, 0xff, 0x6a, 0x0, 0x1, 0x2, 0xd7, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0x58, 0xff, 0x9c, 0x0, 0x1, 0x1, 0xee, 0xff, 0x9c, 0x0, 0x1, 0x3, 0xb6, 0xfe, 0x70, 0x0, 0x1, 0x1, 0xf3, 0xfe, 0xa2, 0x0, 0x1, 0x1, 0xf3, 0xfe, 0xa2, 0x0, 0x1, 0x3, 0xb6, 0xfe, 0x70, 0x0, 0x1, 0x1, 0xf3, 0xfe, 0xa2, 0x0, 0x1, 0x1, 0xf3, 0xfe, 0xa2, 0x0, 0x1, 0x3, 0xb6, 0xfd, 0x76, 0x0, 0x1, 0x1, 0xf4, 0xfd, 0xa8, 0x0, 0x1, 0x1, 0xf4, 0xfd, 0xa8, 0x0, 0x1, 0x2, 0xbc, 0xfd, 0x99, 0x0, 0x1, 0x1, 0xf4, 0xff, 0x6a, 0x0, 0x1, 0x2, 0x6, 0xff, 0x6a, 0x0, 0x1, 0x2, 0xbc, 0xfd, 0x99, 0x0, 0x1, 0x1, 0xf4, 0xff, 0x6a, 0x0, 0x1, 0x2, 0x6, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x20, 0xff, 0x6a, 0x0, 0x1, 0x1, 0xa4, 0xff, 0x6a, 0x0, 0x1, 0x1, 0xa4, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x20, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x20, 0xff, 0x38, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x20, 0xfd, 0x76, 0x0, 0x1, 0x1, 0x90, 0xfd, 0xa8, 0x0, 0x1, 0x1, 0x90, 0xfd, 0xa8, 0x0, 0x1, 0x3, 0x20, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x6a, 0x0, 0x1, 0x3, 0x20, 0xfe, 0x70, 0x0, 0x1, 0x1, 0x90, 0xfe, 0xa2, 0x0, 0x1, 0x1, 0x90, 0xfe, 0xa2, 0x0, 0x1, 0x3, 0x20, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x6a, 0x0, 0x1, 0x1, 0x2c, 0xff, 0x6a, 0x0, 0x1, 0x2, 0xbc, 0xfe, 0x3e, 0x0, 0x1, 0x1, 0x53, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x53, 0xff, 0x9c, 0x0, 0x1, 0x2, 0xbc, 0xfe, 0x3e, 0x0, 0x1, 0x1, 0x53, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x53, 0xff, 0x9c, 0x0, 0x1, 0x2, 0xee, 0xfc, 0xae, 0x0, 0x1, 0x1, 0x2b, 0xfd, 0xda, 0x0, 0x1, 0x1, 0x49, 0xfd, 0xda, 0x0, 0x1, 0x3, 0x7, 0xfc, 0x95, 0x0, 0x1, 0x1, 0x2b, 0xfe, 0xa2, 0x0, 0x1, 0x1, 0x2b, 0xfe, 0xa2, 0x0, 0x1, 0x3, 0x7, 0xfc, 0x63, 0x0, 0x1, 0x1, 0x2b, 0xfe, 0xc2, 0x0, 0x1, 0x1, 0x2b, 0xfe, 0xc2, 0x0, 0x1, 0x2, 0xee, 0xfd, 0xa8, 0x0, 0x1, 0x1, 0x2b, 0xff, 0x9c, 0x0, 0x1, 0x1, 0x2b, 0xff, 0x9c, 0x0, 0x2, 0x0, 0xd, 0x5, 0x26, 0x5, 0x43, 0x0, 0x0, 0x5, 0x4f, 0x5, 0x72, 0x0, 0x1e, 0x5, 0x8e, 0x5, 0x8f, 0x0, 0x42, 0x5, 0x92, 0x5, 0xdc, 0x0, 0x44, 0x5, 0xf1, 0x6, 0xe, 0x0, 0x8f, 0x13, 0xdf, 0x14, 0x40, 0x0, 0xad, 0x14, 0x55, 0x14, 0xd8, 0x1, 0xf, 0x16, 0xca, 0x16, 0xd4, 0x1, 0x93, 0x16, 0xd6, 0x16, 0xe7, 0x1, 0x9e, 0x17, 0x3, 0x17, 0xb, 0x1, 0xb0, 0x17, 0xd, 0x17, 0xd, 0x1, 0xb9, 0x17, 0x20, 0x17, 0x79, 0x1, 0xba, 0x17, 0x87, 0x17, 0xdb, 0x2, 0x14, 0x0, 0x1, 0x0, 0x10, 0x5, 0x10, 0x5, 0x11, 0x5, 0x12, 0x5, 0x13, 0x5, 0x14, 0x5, 0x15, 0x5, 0x16, 0x5, 0x17, 0x5, 0x18, 0x5, 0x1b, 0x5, 0x1d, 0x5, 0x25, 0x5, 0x75, 0x5, 0x78, 0x5, 0x7d, 0x6, 0x16, 0x0, 0x10, 0x0, 0x0, 0x0, 0x42, 0x0, 0x0, 0x0, 0x48, 0x0, 0x0, 0x0, 0x4e, 0x0, 0x0, 0x0, 0x54, 0x0, 0x0, 0x0, 0x5a, 0x0, 0x0, 0x0, 0x60, 0x0, 0x0, 0x0, 0x66, 0x0, 0x0, 0x0, 0x6c, 0x0, 0x0, 0x0, 0x72, 0x0, 0x0, 0x0, 0x78, 0x0, 0x0, 0x0, 0x7e, 0x0, 0x0, 0x0, 0x84, 0x0, 0x0, 0x0, 0x8a, 0x0, 0x0, 0x0, 0x90, 0x0, 0x0, 0x0, 0x96, 0x0, 0x0, 0x0, 0x9c, 0x0, 0x1, 0x2, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x0, 0xff, 0xff, 0x0, 0x1, 0x0, 0xf4, 0x0, 0xc6, 0x0, 0x1, 0x0, 0xfa, 0x0, 0xc, 0x0, 0x17, 0x0, 0x30, 0x0, 0x36, 0x0, 0x3c, 0x0, 0x42, 0x0, 0x48, 0x0, 0x4e, 0x0, 0x54, 0x0, 0x5a, 0x0, 0x60, 0x0, 0x66, 0x0, 0x6c, 0x0, 0x72, 0x0, 0x78, 0x0, 0x7e, 0x0, 0x84, 0x0, 0x8a, 0x0, 0x90, 0x0, 0x96, 0x0, 0x9c, 0x0, 0xa2, 0x0, 0xa8, 0x0, 0xae, 0x0, 0xb4, 0x0, 0x1, 0x2, 0x63, 0x0, 0x8c, 0x0, 0x1, 0x1, 0xd1, 0x2, 0x30, 0x0, 0x1, 0x0, 0xf2, 0x2, 0x30, 0x0, 0x1, 0x1, 0xac, 0x2, 0x30, 0x0, 0x1, 0x2, 0x99, 0x2, 0x30, 0x0, 0x1, 0x0, 0x38, 0x3, 0x1b, 0x0, 0x1, 0x0, 0x14, 0x2, 0x30, 0x0, 0x1, 0x2, 0xb5, 0x2, 0x30, 0x0, 0x1, 0x0, 0x6, 0x3, 0x1b, 0x0, 0x1, 0x1, 0x7f, 0x2, 0x30, 0x0, 0x1, 0x1, 0x71, 0x2, 0x3d, 0x0, 0x1, 0x1, 0x69, 0x2, 0x30, 0x0, 0x1, 0x2, 0xd5, 0x2, 0x30, 0x0, 0x1, 0x0, 0xe8, 0x2, 0x30, 0x0, 0x1, 0x2, 0xab, 0x2, 0x30, 0x0, 0x1, 0x2, 0xd8, 0x1, 0x31, 0x0, 0x1, 0x3, 0x14, 0x2, 0x30, 0x0, 0x1, 0x1, 0x12, 0x1, 0xcd, 0x0, 0x1, 0x2, 0x66, 0x2, 0x30, 0x0, 0x1, 0x1, 0xe4, 0x2, 0x30, 0x0, 0x1, 0x3, 0x6a, 0x2, 0x3d, 0x0, 0x1, 0x2, 0xc6, 0x2, 0x30, 0x0, 0x1, 0x0, 0x50, 0x3, 0x1b, 0x0, 0x2, 0x0, 0x7, 0x5, 0x26, 0x5, 0x2c, 0x0, 0x0, 0x5, 0x2e, 0x5, 0x32, 0x0, 0x7, 0x5, 0x34, 0x5, 0x34, 0x0, 0xc, 0x5, 0x36, 0x5, 0x37, 0x0, 0xd, 0x5, 0x39, 0x5, 0x3a, 0x0, 0xf, 0x5, 0x3c, 0x5, 0x40, 0x0, 0x11, 0x13, 0xb1, 0x13, 0xb1, 0x0, 0x16, 0x0, 0x1, 0x0, 0x1, 0x5, 0x1c, 0x0, 0x1, 0x0, 0x0, 0x0, 0x6, 0x0, 0x1, 0x2, 0x99, 0x2, 0x30, 0x0, 0x1, 0x0, 0xb8, 0x0, 0xae, 0x0, 0x1, 0x0, 0xe8, 0x0, 0xc, 0x0, 0x8, 0x0, 0x12, 0x0, 0x24, 0x0, 0x36, 0x0, 0x48, 0x0, 0x5a, 0x0, 0x6c, 0x0, 0x7e, 0x0, 0x90, 0x0, 0x2, 0x0, 0x6, 0x0, 0xc, 0x0, 0x1, 0x3, 0x63, 0x6, 0x72, 0x0, 0x1, 0x0, 0x96, 0x7, 0x8, 0x0, 0x2, 0x0, 0x6, 0x0, 0xc, 0x0, 0x1, 0x3, 0x63, 0x6, 0x72, 0x0, 0x1, 0x0, 0x96, 0x7, 0x8, 0x0, 0x2, 0x0, 0x6, 0x0, 0xc, 0x0, 0x1, 0x3, 0x63, 0x6, 0x72, 0x0, 0x1, 0x0, 0x96, 0x7, 0xe4, 0x0, 0x2, 0x0, 0x6, 0x0, 0xc, 0x0, 0x1, 0x3, 0x63, 0x6, 0x72, 0x0, 0x1, 0x0, 0x96, 0x7, 0xe4, 0x0, 0x2, 0x0, 0x6, 0x0, 0xc, 0x0, 0x1, 0x3, 0x63, 0x6, 0x72, 0x0, 0x1, 0x0, 0x96, 0x5, 0xdc, 0x0, 0x2, 0x0, 0x6, 0x0, 0xc, 0x0, 0x1, 0x3, 0x63, 0x6, 0x72, 0x0, 0x1, 0x0, 0x96, 0x5, 0xdc, 0x0, 0x2, 0x0, 0x6, 0x0, 0xc, 0x0, 0x1, 0x3, 0x63, 0x6, 0x72, 0x0, 0x1, 0x0, 0x96, 0x5, 0xdc, 0x0, 0x2, 0x0, 0x6, 0x0, 0xc, 0x0, 0x1, 0x3, 0x63, 0x6, 0x72, 0x0, 0x1, 0x0, 0x96, 0x5, 0xdc, 0x0, 0x2, 0x0, 0x1, 0x14, 0xd9, 0x14, 0xe0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x16, 0x5, 0x1f, 0x5, 0x4b, 0x5, 0x73, 0x5, 0x74, 0x5, 0x76, 0x5, 0x77, 0x5, 0x79, 0x5, 0x7a, 0x5, 0x7b, 0x5, 0x7c, 0x5, 0x7e, 0x5, 0x7f, 0x5, 0x90, 0x13, 0xb2, 0x17, 0x18, 0x17, 0x19, 0x17, 0x1a, 0x17, 0x1b, 0x17, 0x1c, 0x17, 0x1d, 0x17, 0x1e, 0x17, 0x1f, 0x0, 0x16, 0x0, 0x0, 0x0, 0x5a, 0x0, 0x0, 0x0, 0x60, 0x0, 0x0, 0x0, 0x66, 0x0, 0x0, 0x0, 0x6c, 0x0, 0x0, 0x0, 0x72, 0x0, 0x0, 0x0, 0x78, 0x0, 0x0, 0x0, 0x7e, 0x0, 0x0, 0x0, 0x84, 0x0, 0x0, 0x0, 0x8a, 0x0, 0x0, 0x0, 0x90, 0x0, 0x0, 0x0, 0x96, 0x0, 0x0, 0x0, 0x9c, 0x0, 0x0, 0x0, 0xa2, 0x0, 0x0, 0x0, 0xa8, 0x0, 0x0, 0x0, 0xae, 0x0, 0x0, 0x0, 0xb4, 0x0, 0x0, 0x0, 0xba, 0x0, 0x0, 0x0, 0xc0, 0x0, 0x0, 0x0, 0xc6, 0x0, 0x0, 0x0, 0xcc, 0x0, 0x0, 0x0, 0xd2, 0x0, 0x0, 0x0, 0xd8, 0x0, 0x1, 0x2, 0x8f, 0x4, 0x60, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x8f, 0x4, 0x60, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x12, 0xdc, 0x12, 0x7e, 0x0, 0x1, 0x13, 0x1c, 0x0, 0xc, 0x2, 0x4e, 0x4, 0x9e, 0x4, 0xa4, 0x4, 0xaa, 0x4, 0xb0, 0x4, 0xb6, 0x4, 0xbc, 0x4, 0xc2, 0x4, 0xc8, 0x4, 0xce, 0x4, 0xd4, 0x4, 0xda, 0x4, 0xe0, 0x4, 0xe6, 0x4, 0xec, 0x4, 0xf2, 0x4, 0xf8, 0x4, 0xfe, 0x5, 0x4, 0x5, 0xa, 0x5, 0x10, 0x5, 0x16, 0x5, 0x1c, 0x5, 0x22, 0x5, 0x28, 0x5, 0x2e, 0x5, 0x34, 0x5, 0x3a, 0x5, 0x40, 0x5, 0x46, 0x5, 0x4c, 0x5, 0x52, 0x5, 0x58, 0x5, 0x5e, 0x5, 0x64, 0x5, 0x6a, 0x5, 0x70, 0x5, 0x76, 0x5, 0x7c, 0x5, 0x82, 0x5, 0x88, 0x5, 0x8e, 0x5, 0x94, 0x5, 0x9a, 0x5, 0xa0, 0x5, 0xa6, 0x5, 0xac, 0x5, 0xb2, 0x5, 0xb8, 0x5, 0xbe, 0x5, 0xc4, 0x5, 0xca, 0x5, 0xd0, 0x5, 0xd6, 0x5, 0xdc, 0x5, 0xe2, 0x5, 0xe8, 0x5, 0xee, 0x5, 0xf4, 0x5, 0xfa, 0x6, 0x0, 0x6, 0x6, 0x6, 0xc, 0x6, 0x12, 0x6, 0x18, 0x6, 0x1e, 0x6, 0x24, 0x6, 0x2a, 0x6, 0x30, 0x6, 0x36, 0x6, 0x3c, 0x6, 0x42, 0x6, 0x48, 0x6, 0x4e, 0x6, 0x54, 0x6, 0x5a, 0x6, 0x60, 0x6, 0x66, 0x6, 0x6c, 0x6, 0x72, 0x6, 0x78, 0x6, 0x7e, 0x6, 0x84, 0x6, 0x8a, 0x6, 0x90, 0x6, 0x96, 0x6, 0x9c, 0x6, 0xa2, 0x6, 0xa8, 0x6, 0xae, 0x6, 0xb4, 0x6, 0xba, 0x6, 0xc0, 0x6, 0xc6, 0x6, 0xcc, 0x6, 0xd2, 0x6, 0xd8, 0x6, 0xde, 0x6, 0xe4, 0x6, 0xea, 0x6, 0xf0, 0x6, 0xf6, 0x6, 0xfc, 0x7, 0x2, 0x7, 0x8, 0x7, 0xe, 0x7, 0x14, 0x7, 0x1a, 0x7, 0x20, 0x7, 0x26, 0x7, 0x2c, 0x7, 0x32, 0x7, 0x38, 0x7, 0x3e, 0x7, 0x44, 0x7, 0x4a, 0x7, 0x50, 0x7, 0x56, 0x7, 0x5c, 0x7, 0x62, 0x7, 0x68, 0x7, 0x6e, 0x7, 0x74, 0x7, 0x7a, 0x7, 0x80, 0x7, 0x86, 0x7, 0x8c, 0x7, 0x92, 0x7, 0x98, 0x7, 0x9e, 0x7, 0xa4, 0x7, 0xaa, 0x7, 0xb0, 0x7, 0xb6, 0x7, 0xbc, 0x7, 0xc2, 0x7, 0xc8, 0x7, 0xce, 0x7, 0xd4, 0x7, 0xda, 0x7, 0xe0, 0x7, 0xe6, 0x7, 0xec, 0x7, 0xf2, 0x7, 0xf8, 0x7, 0xfe, 0x8, 0x4, 0x8, 0xa, 0x8, 0x10, 0x8, 0x16, 0x8, 0x1c, 0x8, 0x22, 0x8, 0x28, 0x8, 0x2e, 0x8, 0x34, 0x8, 0x3a, 0x8, 0x40, 0x8, 0x46, 0x8, 0x4c, 0x8, 0x52, 0x8, 0x58, 0x8, 0x5e, 0x8, 0x64, 0x8, 0x6a, 0x8, 0x70, 0x8, 0x76, 0x8, 0x7c, 0x8, 0x82, 0x8, 0x88, 0x8, 0x8e, 0x8, 0x94, 0x8, 0x9a, 0x8, 0xa0, 0x8, 0xa6, 0x8, 0xac, 0x8, 0xb2, 0x8, 0xb8, 0x8, 0xbe, 0x8, 0xc4, 0x8, 0xca, 0x8, 0xd0, 0x8, 0xd6, 0x8, 0xdc, 0x8, 0xe2, 0x8, 0xe8, 0x8, 0xee, 0x8, 0xf4, 0x8, 0xfa, 0x9, 0x0, 0x9, 0x6, 0x9, 0xc, 0x9, 0x12, 0x9, 0x18, 0x9, 0x1e, 0x9, 0x24, 0x9, 0x2a, 0x9, 0x30, 0x9, 0x36, 0x9, 0x3c, 0x9, 0x42, 0x9, 0x48, 0x9, 0x4e, 0x9, 0x54, 0x9, 0x5a, 0x9, 0x60, 0x9, 0x66, 0x9, 0x6c, 0x9, 0x72, 0x9, 0x78, 0x9, 0x7e, 0x9, 0x84, 0x9, 0x8a, 0x9, 0x90, 0x9, 0x96, 0x9, 0x9c, 0x9, 0xa2, 0x9, 0xa8, 0x9, 0xae, 0x9, 0xb4, 0x9, 0xba, 0x9, 0xc0, 0x9, 0xc6, 0x9, 0xcc, 0x9, 0xd2, 0x9, 0xd8, 0x9, 0xde, 0x9, 0xe4, 0x9, 0xea, 0x9, 0xf0, 0x9, 0xf6, 0x9, 0xfc, 0xa, 0x2, 0xa, 0x8, 0xa, 0xe, 0xa, 0x14, 0xa, 0x1a, 0xa, 0x20, 0xa, 0x26, 0xa, 0x2c, 0xa, 0x32, 0xa, 0x38, 0xa, 0x3e, 0xa, 0x44, 0xa, 0x4a, 0xa, 0x50, 0xa, 0x56, 0xa, 0x5c, 0xa, 0x62, 0xa, 0x68, 0xa, 0x6e, 0xa, 0x74, 0xa, 0x7a, 0xa, 0x80, 0xa, 0x86, 0xa, 0x8c, 0xa, 0x92, 0xa, 0x98, 0xa, 0x9e, 0xa, 0xa4, 0xa, 0xaa, 0xa, 0xb0, 0xa, 0xb6, 0xa, 0xbc, 0xa, 0xc2, 0xa, 0xc8, 0xa, 0xce, 0xa, 0xd4, 0xa, 0xda, 0xa, 0xe0, 0xa, 0xe6, 0xa, 0xec, 0xa, 0xf2, 0xa, 0xf8, 0xa, 0xfe, 0xb, 0x4, 0xb, 0xa, 0xb, 0x10, 0xb, 0x16, 0xb, 0x1c, 0xb, 0x22, 0xb, 0x28, 0xb, 0x2e, 0xb, 0x34, 0xb, 0x3a, 0xb, 0x40, 0xb, 0x46, 0xb, 0x4c, 0xb, 0x52, 0xb, 0x58, 0xb, 0x5e, 0xb, 0x64, 0xb, 0x6a, 0xb, 0x70, 0xb, 0x76, 0xb, 0x7c, 0xb, 0x82, 0xb, 0x88, 0xb, 0x8e, 0xb, 0x94, 0xb, 0x9a, 0xb, 0xa0, 0xb, 0xa6, 0xb, 0xac, 0xb, 0xb2, 0xb, 0xb8, 0xb, 0xbe, 0xb, 0xc4, 0xb, 0xca, 0xb, 0xd0, 0xb, 0xd6, 0xb, 0xdc, 0xb, 0xe2, 0xb, 0xe8, 0xb, 0xee, 0xb, 0xf4, 0xb, 0xfa, 0xc, 0x0, 0xc, 0x6, 0xc, 0xc, 0xc, 0x12, 0xc, 0x18, 0xc, 0x1e, 0xc, 0x24, 0xc, 0x2a, 0xc, 0x30, 0xc, 0x36, 0xc, 0x3c, 0xc, 0x42, 0xc, 0x48, 0xc, 0x4e, 0xc, 0x54, 0xc, 0x5a, 0xc, 0x60, 0xc, 0x66, 0xc, 0x6c, 0xc, 0x72, 0xc, 0x78, 0xc, 0x7e, 0xc, 0x84, 0xc, 0x8a, 0xc, 0x90, 0xc, 0x96, 0xc, 0x9c, 0xc, 0xa2, 0xc, 0xa8, 0xc, 0xae, 0xc, 0xb4, 0xc, 0xba, 0xc, 0xc0, 0xc, 0xc6, 0xc, 0xcc, 0xc, 0xd2, 0xc, 0xd8, 0xc, 0xde, 0xc, 0xe4, 0xc, 0xea, 0xc, 0xf0, 0xc, 0xf6, 0xc, 0xfc, 0xd, 0x2, 0xd, 0x8, 0xd, 0xe, 0xd, 0x14, 0xd, 0x1a, 0xd, 0x20, 0xd, 0x26, 0xd, 0x2c, 0xd, 0x32, 0xd, 0x38, 0xd, 0x3e, 0xd, 0x44, 0xd, 0x4a, 0xd, 0x50, 0xd, 0x56, 0xd, 0x5c, 0xd, 0x62, 0xd, 0x68, 0xd, 0x6e, 0xd, 0x74, 0xd, 0x7a, 0xd, 0x80, 0xd, 0x86, 0xd, 0x8c, 0xd, 0x92, 0xd, 0x98, 0xd, 0x9e, 0xd, 0xa4, 0xd, 0xaa, 0xd, 0xb0, 0xd, 0xb6, 0xd, 0xbc, 0xd, 0xc2, 0xd, 0xc8, 0xd, 0xce, 0xd, 0xd4, 0xd, 0xda, 0xd, 0xe0, 0xd, 0xe6, 0xd, 0xec, 0xd, 0xf2, 0xd, 0xf8, 0xd, 0xfe, 0xe, 0x4, 0xe, 0xa, 0xe, 0x10, 0xe, 0x16, 0xe, 0x1c, 0xe, 0x22, 0xe, 0x28, 0xe, 0x2e, 0xe, 0x34, 0xe, 0x3a, 0xe, 0x40, 0xe, 0x46, 0xe, 0x4c, 0xe, 0x52, 0xe, 0x58, 0xe, 0x5e, 0xe, 0x64, 0xe, 0x6a, 0xe, 0x70, 0xe, 0x76, 0xe, 0x7c, 0xe, 0x82, 0xe, 0x88, 0xe, 0x8e, 0xe, 0x94, 0xe, 0x9a, 0xe, 0xa0, 0xe, 0xa6, 0xe, 0xac, 0xe, 0xb2, 0xe, 0xb8, 0xe, 0xbe, 0xe, 0xc4, 0xe, 0xca, 0xe, 0xd0, 0xe, 0xd6, 0xe, 0xdc, 0xe, 0xe2, 0xe, 0xe8, 0xe, 0xee, 0xe, 0xf4, 0xe, 0xfa, 0xf, 0x0, 0xf, 0x6, 0xf, 0xc, 0xf, 0x12, 0xf, 0x18, 0xf, 0x1e, 0xf, 0x24, 0xf, 0x2a, 0xf, 0x30, 0xf, 0x36, 0xf, 0x3c, 0xf, 0x42, 0xf, 0x48, 0xf, 0x4e, 0xf, 0x54, 0xf, 0x5a, 0xf, 0x60, 0xf, 0x66, 0xf, 0x6c, 0xf, 0x72, 0xf, 0x78, 0xf, 0x7e, 0xf, 0x84, 0xf, 0x8a, 0xf, 0x90, 0xf, 0x96, 0xf, 0x9c, 0xf, 0xa2, 0xf, 0xa8, 0xf, 0xae, 0xf, 0xb4, 0xf, 0xba, 0xf, 0xc0, 0xf, 0xc6, 0xf, 0xcc, 0xf, 0xd2, 0xf, 0xd8, 0xf, 0xde, 0xf, 0xe4, 0xf, 0xea, 0xf, 0xf0, 0xf, 0xf6, 0xf, 0xfc, 0x10, 0x2, 0x10, 0x8, 0x10, 0xe, 0x10, 0x14, 0x10, 0x1a, 0x10, 0x20, 0x10, 0x26, 0x10, 0x2c, 0x10, 0x32, 0x10, 0x38, 0x10, 0x3e, 0x10, 0x44, 0x10, 0x4a, 0x10, 0x50, 0x10, 0x56, 0x10, 0x5c, 0x10, 0x62, 0x10, 0x68, 0x10, 0x6e, 0x10, 0x74, 0x10, 0x7a, 0x10, 0x80, 0x10, 0x86, 0x10, 0x8c, 0x10, 0x92, 0x10, 0x98, 0x10, 0x9e, 0x10, 0xa4, 0x10, 0xaa, 0x10, 0xb0, 0x10, 0xb6, 0x10, 0xbc, 0x10, 0xc2, 0x10, 0xc8, 0x10, 0xce, 0x10, 0xd4, 0x10, 0xda, 0x10, 0xe0, 0x10, 0xe6, 0x10, 0xec, 0x10, 0xf2, 0x10, 0xf8, 0x10, 0xfe, 0x11, 0x4, 0x11, 0xa, 0x11, 0x10, 0x11, 0x16, 0x11, 0x1c, 0x11, 0x22, 0x11, 0x28, 0x11, 0x2e, 0x11, 0x34, 0x11, 0x3a, 0x11, 0x40, 0x11, 0x46, 0x11, 0x4c, 0x11, 0x52, 0x11, 0x58, 0x11, 0x5e, 0x11, 0x64, 0x11, 0x6a, 0x11, 0x70, 0x11, 0x76, 0x11, 0x7c, 0x11, 0x82, 0x11, 0x88, 0x11, 0x8e, 0x11, 0x94, 0x11, 0x9a, 0x11, 0xa0, 0x11, 0xa6, 0x11, 0xac, 0x11, 0xb2, 0x11, 0xb8, 0x11, 0xbe, 0x11, 0xc4, 0x11, 0xca, 0x11, 0xd0, 0x11, 0xd6, 0x11, 0xdc, 0x11, 0xe2, 0x11, 0xe8, 0x11, 0xee, 0x11, 0xf4, 0x11, 0xfa, 0x12, 0x0, 0x12, 0x6, 0x12, 0xc, 0x12, 0x12, 0x12, 0x18, 0x12, 0x1e, 0x12, 0x24, 0x12, 0x2a, 0x12, 0x30, 0x12, 0x36, 0x12, 0x3c, 0x12, 0x42, 0x12, 0x48, 0x12, 0x4e, 0x12, 0x54, 0x12, 0x5a, 0x12, 0x60, 0x12, 0x66, 0x12, 0x6c, 0x0, 0x1, 0x2, 0x52, 0x4, 0x60, 0x0, 0x1, 0x2, 0x19, 0x4, 0x60, 0x0, 0x1, 0x2, 0x53, 0x4, 0x60, 0x0, 0x1, 0x1, 0x1d, 0x7, 0x9e, 0x0, 0x1, 0x1, 0x1d, 0x8, 0x34, 0x0, 0x1, 0x1, 0xc2, 0x4, 0xe2, 0x0, 0x1, 0x1, 0x1d, 0x6, 0x72, 0x0, 0x1, 0x1, 0xf4, 0x5, 0x14, 0x0, 0x1, 0x1, 0x1d, 0x6, 0x72, 0x0, 0x1, 0x3, 0x84, 0x3, 0xe8, 0x0, 0x1, 0x1, 0xc2, 0x4, 0x4c, 0x0, 0x1, 0x3, 0x84, 0x3, 0x52, 0x0, 0x1, 0x3, 0x84, 0x4, 0x4c, 0x0, 0x1, 0x2, 0x8a, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x8a, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x8a, 0x4, 0xe2, 0x0, 0x1, 0x1, 0x90, 0x3, 0xe8, 0x0, 0x1, 0x1, 0x90, 0x4, 0xe2, 0x0, 0x1, 0x2, 0xbc, 0x2, 0xee, 0x0, 0x1, 0x2, 0xbc, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x58, 0x3, 0x20, 0x0, 0x1, 0x2, 0x58, 0x3, 0x20, 0x0, 0x1, 0x2, 0x58, 0x3, 0x20, 0x0, 0x1, 0x2, 0x58, 0x3, 0x20, 0x0, 0x1, 0x2, 0x5b, 0x6, 0x72, 0x0, 0x1, 0x2, 0x5b, 0x6, 0x72, 0x0, 0x1, 0x1, 0xc2, 0x4, 0x7e, 0x0, 0x1, 0x1, 0xc2, 0x5, 0x78, 0x0, 0x1, 0x1, 0x2c, 0x4, 0xb0, 0x0, 0x1, 0x2, 0xbc, 0x4, 0x4c, 0x0, 0x1, 0x1, 0xf4, 0x4, 0x4c, 0x0, 0x1, 0x2, 0xbc, 0x5, 0xdc, 0x0, 0x1, 0x2, 0x8a, 0x5, 0x14, 0x0, 0x1, 0x2, 0x8a, 0x3, 0xb6, 0x0, 0x1, 0x2, 0x8a, 0x3, 0xe8, 0x0, 0x1, 0x1, 0xc2, 0x3, 0x52, 0x0, 0x1, 0x1, 0xf4, 0x2, 0xee, 0x0, 0x1, 0x1, 0xf4, 0x2, 0xee, 0x0, 0x1, 0x1, 0xf4, 0x2, 0xee, 0x0, 0x1, 0x3, 0x84, 0x3, 0xe8, 0x0, 0x1, 0x1, 0xf4, 0x4, 0x4c, 0x0, 0x1, 0x3, 0x84, 0x4, 0xe2, 0x0, 0x1, 0x3, 0x84, 0x4, 0x4c, 0x0, 0x1, 0x3, 0x84, 0x3, 0xe8, 0x0, 0x1, 0x3, 0x84, 0x3, 0x52, 0x0, 0x1, 0x3, 0x84, 0x3, 0xe8, 0x0, 0x1, 0x3, 0x84, 0x3, 0xe8, 0x0, 0x1, 0x3, 0x84, 0x4, 0x4c, 0x0, 0x1, 0x3, 0x84, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x8a, 0x6, 0xe, 0x0, 0x1, 0x2, 0x8a, 0x5, 0xdc, 0x0, 0x1, 0x2, 0x8a, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x8a, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x8a, 0x5, 0xdc, 0x0, 0x1, 0x2, 0x8a, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x8a, 0x3, 0xe8, 0x0, 0x1, 0x1, 0xc2, 0x6, 0x40, 0x0, 0x1, 0x1, 0x90, 0x3, 0xe8, 0x0, 0x1, 0x1, 0x90, 0x3, 0xe8, 0x0, 0x1, 0x1, 0xc2, 0x6, 0x40, 0x0, 0x1, 0x1, 0xc2, 0x4, 0xe2, 0x0, 0x1, 0x1, 0x90, 0x3, 0xe8, 0x0, 0x1, 0x1, 0xc2, 0x5, 0xdc, 0x0, 0x1, 0x1, 0xc2, 0x5, 0xaa, 0x0, 0x1, 0x1, 0xc2, 0x5, 0xdc, 0x0, 0x1, 0x2, 0xbc, 0x5, 0x78, 0x0, 0x1, 0x2, 0xbc, 0x4, 0xb0, 0x0, 0x1, 0x2, 0xbc, 0x2, 0xee, 0x0, 0x1, 0x2, 0xbc, 0x2, 0xee, 0x0, 0x1, 0x2, 0xbc, 0x2, 0xee, 0x0, 0x1, 0x2, 0xbc, 0x2, 0xee, 0x0, 0x1, 0x2, 0xbc, 0x3, 0xe8, 0x0, 0x1, 0x2, 0xbc, 0x4, 0xe2, 0x0, 0x1, 0x2, 0xbc, 0x4, 0xe2, 0x0, 0x1, 0x2, 0x58, 0x3, 0x20, 0x0, 0x1, 0x2, 0x58, 0x3, 0x20, 0x0, 0x1, 0x2, 0x58, 0x3, 0x20, 0x0, 0x1, 0x2, 0x58, 0x3, 0x20, 0x0, 0x1, 0x2, 0x58, 0x3, 0x20, 0x0, 0x1, 0x2, 0x5b, 0x6, 0x72, 0x0, 0x1, 0x1, 0xf4, 0x6, 0x72, 0x0, 0x1, 0x2, 0xbc, 0x4, 0x4c, 0x0, 0x1, 0x2, 0xbc, 0x4, 0x4c, 0x0, 0x1, 0x2, 0xbc, 0x4, 0x4c, 0x0, 0x1, 0x2, 0xbc, 0x4, 0x4c, 0x0, 0x1, 0x2, 0xbc, 0x4, 0x4c, 0x0, 0x1, 0x2, 0xbc, 0x4, 0x4c, 0x0, 0x1, 0x1, 0xf4, 0x4, 0x4c, 0x0, 0x1, 0x1, 0xf4, 0x4, 0x4c, 0x0, 0x1, 0x1, 0xf4, 0x5, 0x78, 0x0, 0x1, 0x1, 0xf4, 0x5, 0x78, 0x0, 0x1, 0x1, 0xf4, 0x5, 0x78, 0x0, 0x1, 0x3, 0x39, 0x6, 0xe, 0x0, 0x1, 0x3, 0x39, 0x7, 0x8, 0x0, 0x1, 0x2, 0xbc, 0x5, 0xdc, 0x0, 0x1, 0x1, 0xf4, 0x5, 0x78, 0x0, 0x1, 0x1, 0xf4, 0x5, 0x78, 0x0, 0x1, 0x1, 0xf4, 0x5, 0x78, 0x0, 0x1, 0x1, 0xf4, 0x5, 0x78, 0x0, 0x1, 0x1, 0xf4, 0x5, 0x78, 0x0, 0x1, 0x1, 0xf4, 0x5, 0x78, 0x0, 0x1, 0x4, 0xbc, 0x8, 0x34, 0x0, 0x1, 0x4, 0xbc, 0x8, 0x34, 0x0, 0x1, 0x4, 0xbc, 0x8, 0x66, 0x0, 0x1, 0x2, 0x8a, 0x5, 0x14, 0x0, 0x1, 0x2, 0x8a, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x8a, 0x2, 0xee, 0x0, 0x1, 0x2, 0xbc, 0x5, 0x5f, 0x0, 0x1, 0x2, 0x8a, 0x3, 0xe8, 0x0, 0x1, 0x2, 0xbc, 0x4, 0xe2, 0x0, 0x1, 0x3, 0x52, 0x4, 0x4c, 0x0, 0x1, 0x2, 0x8a, 0x4, 0xe2, 0x0, 0x1, 0x1, 0xf4, 0x4, 0xe2, 0x0, 0x1, 0x1, 0xf4, 0x2, 0xee, 0x0, 0x1, 0x1, 0xf4, 0x4, 0xe2, 0x0, 0x1, 0x1, 0xc2, 0x3, 0x52, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x49, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xab, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x5e, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x9d, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x9d, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x60, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x9d, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xe0, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x13, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x6e, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xa7, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xa9, 0x5, 0xf0, 0x0, 0x1, 0x3, 0xcb, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xdd, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x23, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x9d, 0x5, 0xf2, 0x0, 0x1, 0x2, 0x80, 0x5, 0xf2, 0x0, 0x1, 0x3, 0x2, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x1a, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x94, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xdd, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x80, 0x5, 0xf2, 0x0, 0x1, 0x2, 0x59, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x1a, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x1a, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x1b, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x59, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x59, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x84, 0x3, 0xe8, 0x0, 0x1, 0x3, 0x84, 0x3, 0xe8, 0x0, 0x1, 0x1, 0x2b, 0x3, 0xe8, 0x0, 0x1, 0x1, 0x2b, 0x3, 0xe8, 0x0, 0x1, 0x3, 0x84, 0x3, 0xe8, 0x0, 0x1, 0x3, 0x84, 0x3, 0xe8, 0x0, 0x1, 0x1, 0x2b, 0x3, 0xe8, 0x0, 0x1, 0x1, 0x2b, 0x3, 0xe8, 0x0, 0x1, 0x3, 0x84, 0x3, 0xe8, 0x0, 0x1, 0x3, 0x84, 0x3, 0xe8, 0x0, 0x1, 0x1, 0x2b, 0x3, 0xe8, 0x0, 0x1, 0x1, 0x2b, 0x3, 0xe8, 0x0, 0x1, 0x3, 0x84, 0x4, 0x4c, 0x0, 0x1, 0x3, 0x84, 0x4, 0x4c, 0x0, 0x1, 0x1, 0x2b, 0x5, 0x14, 0x0, 0x1, 0x1, 0x2b, 0x5, 0x14, 0x0, 0x1, 0x3, 0x84, 0x4, 0x4c, 0x0, 0x1, 0x3, 0x84, 0x4, 0x4c, 0x0, 0x1, 0x1, 0x2b, 0x5, 0x14, 0x0, 0x1, 0x1, 0x2b, 0x5, 0x14, 0x0, 0x1, 0x3, 0x84, 0x4, 0xe2, 0x0, 0x1, 0x3, 0x84, 0x4, 0xe2, 0x0, 0x1, 0x1, 0x2b, 0x5, 0xaa, 0x0, 0x1, 0x1, 0x2b, 0x5, 0xaa, 0x0, 0x1, 0x2, 0xbc, 0x4, 0x4c, 0x0, 0x1, 0x2, 0xbc, 0x4, 0x4c, 0x0, 0x1, 0x1, 0xf4, 0x6, 0x40, 0x0, 0x1, 0x2, 0x6, 0x5, 0xaa, 0x0, 0x1, 0x2, 0xbc, 0x4, 0x4c, 0x0, 0x1, 0x2, 0xbc, 0x4, 0x4c, 0x0, 0x1, 0x1, 0xf4, 0x6, 0x40, 0x0, 0x1, 0x2, 0x6, 0x5, 0xaa, 0x0, 0x1, 0x2, 0x8a, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x8a, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x58, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x58, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x8a, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x8a, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x58, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x58, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x8a, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x8a, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x58, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x58, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x8a, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x8a, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x58, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x58, 0x3, 0xe8, 0x0, 0x1, 0x1, 0x90, 0x3, 0xe8, 0x0, 0x1, 0x1, 0x90, 0x3, 0xe8, 0x0, 0x1, 0x1, 0xc2, 0x4, 0xe2, 0x0, 0x1, 0x1, 0xc2, 0x4, 0xe2, 0x0, 0x1, 0x1, 0xc2, 0x5, 0xdc, 0x0, 0x1, 0x1, 0xc2, 0x5, 0xdc, 0x0, 0x1, 0x1, 0xc2, 0x6, 0x40, 0x0, 0x1, 0x1, 0xc2, 0x6, 0x40, 0x0, 0x1, 0x2, 0xbc, 0x4, 0xe2, 0x0, 0x1, 0x2, 0xbc, 0x4, 0xe2, 0x0, 0x1, 0x2, 0xbc, 0x5, 0x78, 0x0, 0x1, 0x2, 0xbc, 0x5, 0x78, 0x0, 0x1, 0x1, 0xf4, 0x5, 0x78, 0x0, 0x1, 0x1, 0xf4, 0x5, 0x78, 0x0, 0x1, 0x0, 0xfa, 0x6, 0xe, 0x0, 0x1, 0x0, 0xfa, 0x6, 0xe, 0x0, 0x1, 0x1, 0xf4, 0x5, 0x78, 0x0, 0x1, 0x1, 0xf4, 0x5, 0x78, 0x0, 0x1, 0x0, 0xfa, 0x6, 0xa4, 0x0, 0x1, 0x0, 0xfa, 0x6, 0xa4, 0x0, 0x1, 0x1, 0xf4, 0x5, 0x78, 0x0, 0x1, 0x1, 0xf4, 0x5, 0x78, 0x0, 0x1, 0x0, 0xfa, 0x6, 0xa4, 0x0, 0x1, 0x0, 0xfa, 0x6, 0xa4, 0x0, 0x1, 0x1, 0xf4, 0x5, 0x78, 0x0, 0x1, 0x1, 0xf4, 0x5, 0x78, 0x0, 0x1, 0x1, 0x13, 0x7, 0x6c, 0x0, 0x1, 0x1, 0x13, 0x7, 0x6c, 0x0, 0x1, 0x2, 0x8a, 0x2, 0xee, 0x0, 0x1, 0x2, 0x8a, 0x2, 0x8a, 0x0, 0x1, 0x2, 0xbc, 0x5, 0x5f, 0x0, 0x1, 0x2, 0xbc, 0x4, 0x65, 0x0, 0x1, 0x1, 0x2b, 0x5, 0xaa, 0x0, 0x1, 0x1, 0x2b, 0x5, 0xaa, 0x0, 0x1, 0x3, 0x52, 0x4, 0x4c, 0x0, 0x1, 0x3, 0x52, 0x3, 0x20, 0x0, 0x1, 0x1, 0xf4, 0x4, 0x4c, 0x0, 0x1, 0x1, 0xf4, 0x3, 0x20, 0x0, 0x1, 0x3, 0x39, 0x7, 0x8, 0x0, 0x1, 0x3, 0x39, 0x7, 0x8, 0x0, 0x1, 0x1, 0x13, 0x7, 0x9e, 0x0, 0x1, 0x1, 0x13, 0x7, 0x9e, 0x0, 0x1, 0x1, 0xf4, 0x4, 0xe2, 0x0, 0x1, 0x1, 0xf4, 0x4, 0xe2, 0x0, 0x1, 0x1, 0x2b, 0x3, 0xe8, 0x0, 0x1, 0x1, 0x2b, 0x3, 0xe8, 0x0, 0x1, 0x1, 0xf4, 0x2, 0xee, 0x0, 0x1, 0x2, 0x58, 0x2, 0x56, 0x0, 0x1, 0x1, 0x2b, 0x3, 0xe8, 0x0, 0x1, 0x1, 0x2b, 0x3, 0xe8, 0x0, 0x1, 0x1, 0x2c, 0x6, 0xa4, 0x0, 0x1, 0x1, 0x2c, 0x6, 0xa4, 0x0, 0x1, 0x1, 0x2c, 0x7, 0x3a, 0x0, 0x1, 0x0, 0xc5, 0x4, 0xb0, 0x0, 0x1, 0x1, 0x2c, 0x4, 0xb0, 0x0, 0x1, 0x1, 0x2c, 0x5, 0xdc, 0x0, 0x1, 0x1, 0x2c, 0x5, 0xdc, 0x0, 0x1, 0x1, 0x2c, 0x7, 0x3a, 0x0, 0x1, 0x1, 0x2c, 0x7, 0x3a, 0x0, 0x1, 0x1, 0x2c, 0x4, 0xb0, 0x0, 0x1, 0x1, 0x2c, 0x4, 0xb0, 0x0, 0x1, 0x1, 0x2c, 0x7, 0x8, 0x0, 0x1, 0x1, 0x2c, 0x7, 0x8, 0x0, 0x1, 0x1, 0x2c, 0x7, 0x3a, 0x0, 0x1, 0x1, 0x2c, 0x7, 0x3a, 0x0, 0x1, 0x1, 0xc2, 0x4, 0x4c, 0x0, 0x1, 0x1, 0x1d, 0x7, 0xd0, 0x0, 0x1, 0x1, 0x1d, 0x7, 0xd0, 0x0, 0x1, 0x1, 0x1d, 0x8, 0x98, 0x0, 0x1, 0x1, 0x1d, 0x8, 0x98, 0x0, 0x1, 0x1, 0xc2, 0x4, 0xe2, 0x0, 0x1, 0x1, 0xc2, 0x4, 0xe2, 0x0, 0x1, 0x1, 0x1d, 0x6, 0x72, 0x0, 0x1, 0x1, 0x1d, 0x6, 0x72, 0x0, 0x1, 0x1, 0xf4, 0x5, 0x14, 0x0, 0x1, 0x2, 0x58, 0x4, 0x1a, 0x0, 0x1, 0x1, 0x2b, 0x5, 0x46, 0x0, 0x1, 0x1, 0x2b, 0x5, 0x46, 0x0, 0x1, 0x1, 0x1d, 0x6, 0x72, 0x0, 0x1, 0x1, 0x1d, 0x6, 0x72, 0x0, 0x1, 0x3, 0x84, 0x3, 0xe8, 0x0, 0x1, 0x3, 0x84, 0x3, 0xe8, 0x0, 0x1, 0x1, 0x2b, 0x3, 0xe8, 0x0, 0x1, 0x1, 0x2b, 0x3, 0xe8, 0x0, 0x1, 0x1, 0xc2, 0x4, 0x4c, 0x0, 0x1, 0x2, 0x26, 0x4, 0x4c, 0x0, 0x1, 0x3, 0x84, 0x3, 0x52, 0x0, 0x1, 0x3, 0x84, 0x3, 0x52, 0x0, 0x1, 0x1, 0x2b, 0x4, 0x1a, 0x0, 0x1, 0x1, 0x2b, 0x4, 0x1a, 0x0, 0x1, 0x3, 0x84, 0x4, 0x4c, 0x0, 0x1, 0x3, 0x84, 0x4, 0x4c, 0x0, 0x1, 0x1, 0x2b, 0x5, 0x14, 0x0, 0x1, 0x1, 0x2b, 0x5, 0x14, 0x0, 0x1, 0x2, 0x8a, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x8a, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x58, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x58, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x8a, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x8a, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x58, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x58, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x8a, 0x4, 0xe2, 0x0, 0x1, 0x2, 0x8a, 0x4, 0xe2, 0x0, 0x1, 0x2, 0x58, 0x4, 0x7e, 0x0, 0x1, 0x2, 0x58, 0x4, 0x7e, 0x0, 0x1, 0x1, 0x90, 0x3, 0xe8, 0x0, 0x1, 0x1, 0x90, 0x3, 0xe8, 0x0, 0x1, 0x1, 0x90, 0x4, 0xe2, 0x0, 0x1, 0x1, 0x90, 0x4, 0xe2, 0x0, 0x1, 0x2, 0xbc, 0x2, 0xee, 0x0, 0x1, 0x2, 0xbc, 0x2, 0xee, 0x0, 0x1, 0x2, 0xbc, 0x3, 0xe8, 0x0, 0x1, 0x2, 0xbc, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x58, 0x3, 0x20, 0x0, 0x1, 0x2, 0x58, 0x3, 0x20, 0x0, 0x1, 0x2, 0x8a, 0x3, 0x84, 0x0, 0x1, 0x2, 0x8a, 0x3, 0x84, 0x0, 0x1, 0x2, 0x58, 0x3, 0x20, 0x0, 0x1, 0x2, 0x58, 0x3, 0x20, 0x0, 0x1, 0x3, 0x52, 0x4, 0xe2, 0x0, 0x1, 0x3, 0x52, 0x4, 0xe2, 0x0, 0x1, 0x2, 0x58, 0x3, 0x20, 0x0, 0x1, 0x2, 0x58, 0x3, 0x20, 0x0, 0x1, 0x2, 0x26, 0x3, 0x20, 0x0, 0x1, 0x2, 0x26, 0x3, 0x20, 0x0, 0x1, 0x2, 0x58, 0x3, 0x20, 0x0, 0x1, 0x2, 0x58, 0x3, 0x20, 0x0, 0x1, 0x2, 0x26, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x26, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x5b, 0x6, 0x72, 0x0, 0x1, 0x2, 0x5b, 0x6, 0x72, 0x0, 0x1, 0x1, 0x53, 0x6, 0x72, 0x0, 0x1, 0x1, 0x53, 0x6, 0x72, 0x0, 0x1, 0x2, 0x5b, 0x6, 0x72, 0x0, 0x1, 0x2, 0x5b, 0x6, 0x72, 0x0, 0x1, 0x1, 0x53, 0x6, 0x72, 0x0, 0x1, 0x1, 0x53, 0x6, 0x72, 0x0, 0x1, 0x1, 0xc2, 0x4, 0x7e, 0x0, 0x1, 0x1, 0xf4, 0x3, 0xe8, 0x0, 0x1, 0x1, 0xc2, 0x4, 0x7e, 0x0, 0x1, 0x1, 0xee, 0x3, 0xe8, 0x0, 0x1, 0x1, 0xc2, 0x5, 0x78, 0x0, 0x1, 0x1, 0xf4, 0x4, 0x7e, 0x0, 0x1, 0x1, 0xc2, 0x5, 0x78, 0x0, 0x1, 0x1, 0xee, 0x4, 0x7e, 0x0, 0x1, 0x2, 0xbc, 0x4, 0x4c, 0x0, 0x1, 0x2, 0xbc, 0x4, 0x4c, 0x0, 0x1, 0x1, 0xf4, 0x5, 0x46, 0x0, 0x1, 0x2, 0x6, 0x4, 0xb0, 0x0, 0x1, 0x1, 0xf4, 0x4, 0x4c, 0x0, 0x1, 0x1, 0xf4, 0x3, 0x52, 0x0, 0x1, 0x1, 0xf4, 0x5, 0x46, 0x0, 0x1, 0x2, 0x6, 0x4, 0xb0, 0x0, 0x1, 0x2, 0xbc, 0x5, 0xdc, 0x0, 0x1, 0x2, 0xbc, 0x5, 0xdc, 0x0, 0x1, 0x0, 0xfa, 0x6, 0xe, 0x0, 0x1, 0x0, 0xfa, 0x6, 0xe, 0x0, 0x1, 0x2, 0x8a, 0x5, 0x14, 0x0, 0x1, 0x2, 0x8a, 0x5, 0x14, 0x0, 0x1, 0x1, 0x53, 0x6, 0x72, 0x0, 0x1, 0x1, 0x53, 0x6, 0x72, 0x0, 0x1, 0x2, 0x8a, 0x3, 0xb6, 0x0, 0x1, 0x2, 0x8a, 0x3, 0x52, 0x0, 0x1, 0x2, 0x26, 0x3, 0x52, 0x0, 0x1, 0x2, 0x26, 0x3, 0x52, 0x0, 0x1, 0x2, 0x8a, 0x3, 0xe8, 0x0, 0x1, 0x2, 0x8a, 0x2, 0xee, 0x0, 0x1, 0x1, 0x2b, 0x4, 0x1a, 0x0, 0x1, 0x1, 0x2b, 0x4, 0x1a, 0x0, 0x1, 0x1, 0xc2, 0x3, 0x52, 0x0, 0x1, 0x2, 0x26, 0x3, 0x52, 0x0, 0x1, 0x1, 0xf4, 0x4, 0x4c, 0x0, 0x1, 0x1, 0xf4, 0x3, 0x20, 0x0, 0x1, 0x1, 0xf4, 0x2, 0xee, 0x0, 0x1, 0x1, 0xf4, 0x2, 0xee, 0x0, 0x1, 0x1, 0xf4, 0x2, 0xee, 0x0, 0x1, 0x2, 0x58, 0x2, 0x56, 0x0, 0x1, 0x1, 0xf4, 0x2, 0xee, 0x0, 0x1, 0x2, 0x58, 0x2, 0xee, 0x0, 0x1, 0x1, 0x2b, 0x3, 0xe8, 0x0, 0x1, 0x1, 0x2b, 0x3, 0xe8, 0x0, 0x1, 0x3, 0x84, 0x3, 0xe8, 0x0, 0x1, 0x1, 0x2b, 0x3, 0xe8, 0x0, 0x1, 0x1, 0x2b, 0x3, 0xe8, 0x0, 0x1, 0x2, 0xbc, 0x4, 0x4c, 0x0, 0x1, 0x1, 0xf4, 0x4, 0x4c, 0x0, 0x1, 0x2, 0x6, 0x3, 0xb6, 0x0, 0x1, 0x1, 0xf4, 0x3, 0x52, 0x0, 0x1, 0x1, 0xf4, 0x4, 0x4c, 0x0, 0x1, 0x2, 0x6, 0x3, 0xb6, 0x0, 0x1, 0x1, 0x2b, 0x4, 0x1a, 0x0, 0x1, 0x1, 0x2b, 0x4, 0x1a, 0x0, 0x1, 0x3, 0x84, 0x3, 0x52, 0x0, 0x1, 0x1, 0x2b, 0x4, 0x1a, 0x0, 0x1, 0x1, 0x2b, 0x4, 0x1a, 0x0, 0x1, 0x3, 0x84, 0x3, 0xe8, 0x0, 0x1, 0x1, 0x2b, 0x5, 0x14, 0x0, 0x1, 0x1, 0x2b, 0x5, 0x14, 0x0, 0x1, 0x2, 0x8a, 0x6, 0xe, 0x0, 0x1, 0x2, 0x58, 0x5, 0xaa, 0x0, 0x1, 0x2, 0x58, 0x5, 0xaa, 0x0, 0x1, 0x2, 0x8a, 0x5, 0xdc, 0x0, 0x1, 0x2, 0x58, 0x5, 0x78, 0x0, 0x1, 0x2, 0x58, 0x5, 0x78, 0x0, 0x1, 0x2, 0x8a, 0x5, 0xdc, 0x0, 0x1, 0x2, 0x58, 0x5, 0x78, 0x0, 0x1, 0x2, 0x58, 0x5, 0x78, 0x0, 0x1, 0x2, 0x8a, 0x4, 0xe2, 0x0, 0x1, 0x2, 0x58, 0x4, 0x7e, 0x0, 0x1, 0x2, 0x58, 0x4, 0x7e, 0x0, 0x1, 0x2, 0xbc, 0x2, 0xee, 0x0, 0x1, 0x2, 0xbc, 0x2, 0xee, 0x0, 0x1, 0x4, 0xbc, 0x8, 0x34, 0x0, 0x1, 0x1, 0x53, 0x8, 0x34, 0x0, 0x1, 0x1, 0x53, 0x8, 0x34, 0x0, 0x1, 0x2, 0xbc, 0x3, 0xb6, 0x0, 0x1, 0x1, 0x2b, 0x4, 0xb0, 0x0, 0x1, 0x1, 0x2b, 0x4, 0xb0, 0x0, 0x1, 0x2, 0xbc, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x26, 0x3, 0x52, 0x0, 0x1, 0x1, 0x1d, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x1d, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x1d, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x49, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x49, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x49, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xab, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xab, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xab, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x5e, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x5e, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x5e, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x9d, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x9d, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x9d, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x9d, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x9d, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x9d, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x60, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x60, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x60, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x9d, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x9d, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x9d, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xe0, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xe0, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xe0, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x13, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x13, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x13, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x6e, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x6e, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x6e, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xa7, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xa7, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xa7, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xa9, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xa9, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xa9, 0x5, 0xf0, 0x0, 0x1, 0x3, 0xcb, 0x5, 0xf0, 0x0, 0x1, 0x3, 0xcb, 0x5, 0xf0, 0x0, 0x1, 0x3, 0xcb, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xdd, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xdd, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xdd, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x23, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x23, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x23, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x9d, 0x5, 0xf2, 0x0, 0x1, 0x2, 0x9d, 0x5, 0xf2, 0x0, 0x1, 0x2, 0x9d, 0x5, 0xf2, 0x0, 0x1, 0x2, 0x80, 0x5, 0xf2, 0x0, 0x1, 0x2, 0x80, 0x5, 0xf2, 0x0, 0x1, 0x2, 0x80, 0x5, 0xf2, 0x0, 0x1, 0x3, 0x2, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x2, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x2, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x1a, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x1a, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x1a, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x94, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x94, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x94, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xdd, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xdd, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xdd, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x80, 0x5, 0xf2, 0x0, 0x1, 0x2, 0x80, 0x5, 0xf2, 0x0, 0x1, 0x2, 0x80, 0x5, 0xf2, 0x0, 0x1, 0x2, 0x59, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x59, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x59, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x1a, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x1a, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x1a, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x1a, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x1a, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x1a, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x1b, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x1b, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x1b, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x59, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x59, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x59, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x59, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x59, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x59, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x90, 0x3, 0xe8, 0x0, 0x1, 0x1, 0x90, 0x3, 0xe8, 0x0, 0x1, 0x1, 0xc2, 0x6, 0x40, 0x0, 0x1, 0x1, 0xc2, 0x5, 0xaa, 0x0, 0x1, 0x1, 0xc2, 0x5, 0xdc, 0x0, 0x1, 0x2, 0xbc, 0x2, 0xee, 0x0, 0x1, 0x2, 0xbc, 0x2, 0xee, 0x0, 0x1, 0x2, 0xbc, 0x2, 0xee, 0x0, 0x1, 0x2, 0xbc, 0x3, 0xe8, 0x0, 0x1, 0x2, 0xbc, 0x4, 0xe2, 0x0, 0x1, 0x2, 0x58, 0x3, 0x20, 0x0, 0x1, 0x3, 0x52, 0x4, 0x1a, 0x0, 0x1, 0x3, 0x52, 0x4, 0x1a, 0x0, 0x1, 0x2, 0x58, 0x3, 0x20, 0x0, 0x1, 0x2, 0x8a, 0x3, 0x84, 0x0, 0x1, 0x2, 0x8a, 0x3, 0x84, 0x0, 0x1, 0x2, 0x58, 0x3, 0x20, 0x0, 0x1, 0x3, 0x52, 0x4, 0xe2, 0x0, 0x1, 0x3, 0x52, 0x4, 0xe2, 0x0, 0x1, 0x2, 0x58, 0x3, 0x20, 0x0, 0x1, 0x2, 0x26, 0x3, 0x20, 0x0, 0x1, 0x2, 0x26, 0x3, 0x20, 0x0, 0x1, 0x2, 0x58, 0x3, 0x20, 0x0, 0x1, 0x2, 0x58, 0x4, 0xe2, 0x0, 0x1, 0x2, 0x58, 0x4, 0xe2, 0x0, 0x1, 0x2, 0x5b, 0x6, 0x72, 0x0, 0x1, 0x1, 0x53, 0x6, 0x72, 0x0, 0x1, 0x1, 0x53, 0x6, 0x72, 0x0, 0x1, 0x1, 0xf4, 0x5, 0x78, 0x0, 0x1, 0x1, 0xf4, 0x6, 0x72, 0x0, 0x1, 0x1, 0xee, 0x5, 0x78, 0x0, 0x1, 0x2, 0xbc, 0x4, 0x4c, 0x0, 0x1, 0x1, 0xf4, 0x4, 0x4c, 0x0, 0x1, 0x2, 0x6, 0x3, 0xb6, 0x0, 0x1, 0x2, 0xbc, 0x4, 0x4c, 0x0, 0x1, 0x1, 0xf4, 0x5, 0x46, 0x0, 0x1, 0x2, 0x6, 0x4, 0xb0, 0x0, 0x1, 0x2, 0xbc, 0x4, 0x4c, 0x0, 0x1, 0x1, 0xf4, 0x4, 0x4c, 0x0, 0x1, 0x2, 0x6, 0x3, 0xb6, 0x0, 0x1, 0x1, 0xf4, 0x3, 0x52, 0x0, 0x1, 0x1, 0xf4, 0x5, 0x46, 0x0, 0x1, 0x2, 0x6, 0x4, 0xb0, 0x0, 0x1, 0x1, 0xf4, 0x3, 0x52, 0x0, 0x1, 0x1, 0xf4, 0x6, 0x40, 0x0, 0x1, 0x2, 0x6, 0x5, 0xaa, 0x0, 0x1, 0x1, 0xf4, 0x5, 0x78, 0x0, 0x1, 0x0, 0x78, 0x5, 0x78, 0x0, 0x1, 0x0, 0x78, 0x5, 0x78, 0x0, 0x1, 0x1, 0xf4, 0x5, 0x78, 0x0, 0x1, 0x0, 0xfa, 0x6, 0xe, 0x0, 0x1, 0x0, 0xfa, 0x6, 0xe, 0x0, 0x1, 0x3, 0x39, 0x6, 0xe, 0x0, 0x1, 0x1, 0x13, 0x6, 0xa4, 0x0, 0x1, 0x1, 0x13, 0x6, 0xa4, 0x0, 0x1, 0x2, 0xbc, 0x5, 0xdc, 0x0, 0x1, 0x0, 0xfa, 0x6, 0xe, 0x0, 0x1, 0x0, 0xfa, 0x6, 0xe, 0x0, 0x1, 0x1, 0xf4, 0x5, 0x78, 0x0, 0x1, 0x0, 0xfa, 0x6, 0xa4, 0x0, 0x1, 0x0, 0xfa, 0x6, 0xa4, 0x0, 0x1, 0x1, 0xf4, 0x5, 0x78, 0x0, 0x1, 0x0, 0xfa, 0x6, 0xa4, 0x0, 0x1, 0x0, 0xfa, 0x6, 0xa4, 0x0, 0x1, 0x1, 0xf4, 0x5, 0x78, 0x0, 0x1, 0x1, 0x13, 0x8, 0x66, 0x0, 0x1, 0x1, 0x13, 0x8, 0x66, 0x0, 0x1, 0x4, 0xbc, 0x8, 0x34, 0x0, 0x1, 0x1, 0x53, 0x8, 0x34, 0x0, 0x1, 0x1, 0x53, 0x8, 0x34, 0x0, 0x1, 0x4, 0xbc, 0x8, 0x66, 0x0, 0x1, 0x1, 0x53, 0x8, 0x66, 0x0, 0x1, 0x1, 0x53, 0x8, 0x66, 0x0, 0x1, 0x2, 0x8a, 0x5, 0x14, 0x0, 0x1, 0x1, 0x53, 0x6, 0x72, 0x0, 0x1, 0x1, 0x53, 0x6, 0x72, 0x0, 0x1, 0x2, 0x8a, 0x2, 0xee, 0x0, 0x1, 0x1, 0x2b, 0x4, 0x1a, 0x0, 0x1, 0x1, 0x2b, 0x4, 0x1a, 0x0, 0x1, 0x2, 0x8a, 0x2, 0xee, 0x0, 0x1, 0x1, 0x2b, 0x4, 0x1a, 0x0, 0x1, 0x1, 0x2b, 0x4, 0x1a, 0x0, 0x1, 0x2, 0xbc, 0x3, 0xe8, 0x0, 0x1, 0x1, 0x2b, 0x5, 0x14, 0x0, 0x1, 0x1, 0x2b, 0x5, 0x14, 0x0, 0x2, 0x0, 0xf, 0x5, 0x27, 0x5, 0x27, 0x0, 0x0, 0x5, 0x31, 0x5, 0x31, 0x0, 0x1, 0x5, 0x3a, 0x5, 0x3a, 0x0, 0x2, 0x5, 0x4f, 0x5, 0x72, 0x0, 0x3, 0x5, 0x8e, 0x5, 0x8f, 0x0, 0x27, 0x5, 0x92, 0x5, 0xdc, 0x0, 0x29, 0x5, 0xf1, 0x6, 0xe, 0x0, 0x74, 0x13, 0xdf, 0x14, 0x40, 0x0, 0x92, 0x14, 0x55, 0x14, 0xd8, 0x0, 0xf4, 0x16, 0xca, 0x16, 0xd4, 0x1, 0x78, 0x16, 0xd6, 0x16, 0xe7, 0x1, 0x83, 0x17, 0x3, 0x17, 0xb, 0x1, 0x95, 0x17, 0xd, 0x17, 0xd, 0x1, 0x9e, 0x17, 0x20, 0x17, 0x79, 0x1, 0x9f, 0x17, 0x87, 0x17, 0xdb, 0x1, 0xf9, 0x0, 0x1, 0x0, 0x1e, 0x5, 0x1f, 0x5, 0x4b, 0x5, 0x73, 0x5, 0x74, 0x5, 0x76, 0x5, 0x77, 0x5, 0x79, 0x5, 0x7a, 0x5, 0x7b, 0x5, 0x7c, 0x5, 0x7e, 0x5, 0x7f, 0x5, 0x90, 0x6, 0xf, 0x6, 0x10, 0x6, 0x11, 0x6, 0x12, 0x6, 0x13, 0x6, 0x14, 0x6, 0x15, 0x6, 0x17, 0x13, 0xb2, 0x17, 0x18, 0x17, 0x19, 0x17, 0x1a, 0x17, 0x1b, 0x17, 0x1c, 0x17, 0x1d, 0x17, 0x1e, 0x17, 0x1f, 0x0, 0x1e, 0x0, 0x0, 0x0, 0x7a, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x86, 0x0, 0x0, 0x0, 0x8c, 0x0, 0x0, 0x0, 0x92, 0x0, 0x0, 0x0, 0x98, 0x0, 0x0, 0x0, 0x9e, 0x0, 0x0, 0x0, 0xa4, 0x0, 0x0, 0x0, 0xaa, 0x0, 0x0, 0x0, 0xb0, 0x0, 0x0, 0x0, 0xb6, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0xc2, 0x0, 0x0, 0x0, 0xc8, 0x0, 0x0, 0x0, 0xce, 0x0, 0x0, 0x0, 0xd4, 0x0, 0x0, 0x0, 0xda, 0x0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0x0, 0xe6, 0x0, 0x0, 0x0, 0xec, 0x0, 0x0, 0x0, 0xf2, 0x0, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x0, 0xfe, 0x0, 0x0, 0x1, 0x4, 0x0, 0x0, 0x1, 0xa, 0x0, 0x0, 0x1, 0x10, 0x0, 0x0, 0x1, 0x16, 0x0, 0x0, 0x1, 0x1c, 0x0, 0x0, 0x1, 0x22, 0x0, 0x0, 0x1, 0x28, 0x0, 0x1, 0x2, 0x8f, 0x4, 0x60, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x0, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x0, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x0, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x0, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x0, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x0, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x0, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x8f, 0x4, 0x60, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x2, 0x0, 0x4, 0xb0, 0x0, 0x1, 0x1, 0x6, 0x0, 0xf6, 0x0, 0x1, 0x1, 0x10, 0x0, 0xc, 0x0, 0x1d, 0x0, 0x3c, 0x0, 0x42, 0x0, 0x48, 0x0, 0x4e, 0x0, 0x54, 0x0, 0x5a, 0x0, 0x60, 0x0, 0x66, 0x0, 0x6c, 0x0, 0x72, 0x0, 0x78, 0x0, 0x7e, 0x0, 0x84, 0x0, 0x8a, 0x0, 0x90, 0x0, 0x96, 0x0, 0x9c, 0x0, 0xa2, 0x0, 0xa8, 0x0, 0xae, 0x0, 0xb4, 0x0, 0xba, 0x0, 0xc0, 0x0, 0xc6, 0x0, 0xcc, 0x0, 0xd2, 0x0, 0xd8, 0x0, 0xde, 0x0, 0xe4, 0x0, 0x1, 0x5, 0x5d, 0x0, 0x0, 0x0, 0x1, 0x5, 0x78, 0x0, 0x0, 0x0, 0x1, 0x5, 0x81, 0x0, 0x0, 0x0, 0x1, 0x3, 0xdc, 0xfe, 0x1d, 0x0, 0x1, 0x5, 0x6, 0x0, 0x0, 0x0, 0x1, 0x5, 0x78, 0xff, 0x40, 0x0, 0x1, 0x5, 0x80, 0x0, 0x0, 0x0, 0x1, 0x5, 0x5b, 0x0, 0x0, 0x0, 0x1, 0x5, 0x22, 0x0, 0x0, 0x0, 0x1, 0x5, 0x29, 0xff, 0x40, 0x0, 0x1, 0x5, 0x3e, 0x0, 0x0, 0x0, 0x1, 0x5, 0x45, 0x0, 0x0, 0x0, 0x1, 0x5, 0x0, 0x0, 0x0, 0x0, 0x1, 0x5, 0x0, 0x0, 0x0, 0x0, 0x1, 0x5, 0xf6, 0x0, 0x0, 0x0, 0x1, 0x6, 0x22, 0x0, 0x0, 0x0, 0x1, 0x5, 0x7e, 0x0, 0x0, 0x0, 0x1, 0x5, 0x7e, 0x0, 0x0, 0x0, 0x1, 0x5, 0x9d, 0x0, 0x0, 0x0, 0x1, 0x5, 0x80, 0x0, 0x0, 0x0, 0x1, 0x5, 0x78, 0x0, 0x0, 0x0, 0x1, 0x5, 0x32, 0x0, 0x0, 0x0, 0x1, 0x5, 0xf, 0x0, 0x0, 0x0, 0x1, 0x5, 0xa0, 0x0, 0x0, 0x0, 0x1, 0x6, 0x8d, 0x0, 0x0, 0x0, 0x1, 0x5, 0x10, 0x0, 0x0, 0x0, 0x1, 0x5, 0x78, 0x0, 0x0, 0x0, 0x1, 0x8, 0x3a, 0x0, 0x0, 0x0, 0x1, 0x8, 0x3a, 0x0, 0x0, 0x0, 0x2, 0x0, 0x2, 0x6, 0x1e, 0x6, 0x38, 0x0, 0x0, 0x6, 0x5d, 0x6, 0x5e, 0x0, 0x1b, 0x0, 0x1, 0x0, 0x3, 0x6, 0x42, 0x6, 0x43, 0x6, 0x45, 0x0, 0x3, 0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x14, 0x0, 0x0, 0x0, 0x1a, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x22, 0x1, 0x6, 0x0, 0x1, 0x1, 0x3e, 0x0, 0xc, 0x0, 0x1f, 0x0, 0x40, 0x0, 0x46, 0x0, 0x4c, 0x0, 0x52, 0x0, 0x58, 0x0, 0x5e, 0x0, 0x64, 0x0, 0x6a, 0x0, 0x70, 0x0, 0x76, 0x0, 0x7c, 0x0, 0x82, 0x0, 0x88, 0x0, 0x8e, 0x0, 0x94, 0x0, 0x9a, 0x0, 0xa0, 0x0, 0xa6, 0x0, 0xac, 0x0, 0xb2, 0x0, 0xb8, 0x0, 0xbe, 0x0, 0xc4, 0x0, 0xca, 0x0, 0xd0, 0x0, 0xd6, 0x0, 0xdc, 0x0, 0xe2, 0x0, 0xe8, 0x0, 0xee, 0x0, 0xf4, 0x0, 0x1, 0x5, 0x5d, 0x4, 0x6b, 0x0, 0x1, 0x5, 0x78, 0x4, 0x79, 0x0, 0x1, 0x5, 0x81, 0x4, 0x79, 0x0, 0x1, 0x3, 0xdc, 0x4, 0x79, 0x0, 0x1, 0x5, 0x6, 0x4, 0x9a, 0x0, 0x1, 0x5, 0x78, 0x4, 0x79, 0x0, 0x1, 0x5, 0x80, 0x4, 0x7a, 0x0, 0x1, 0x5, 0x5b, 0x4, 0x66, 0x0, 0x1, 0x5, 0x22, 0x4, 0x77, 0x0, 0x1, 0x5, 0x29, 0x4, 0x68, 0x0, 0x1, 0x5, 0x3e, 0x4, 0x79, 0x0, 0x1, 0x5, 0x45, 0x4, 0x79, 0x0, 0x1, 0x5, 0x0, 0x4, 0x60, 0x0, 0x1, 0x5, 0x0, 0x5, 0x50, 0x0, 0x1, 0x5, 0xf6, 0x4, 0x5b, 0x0, 0x1, 0x6, 0x22, 0x5, 0x19, 0x0, 0x1, 0x5, 0x7e, 0x4, 0x5b, 0x0, 0x1, 0x5, 0x7e, 0x5, 0x74, 0x0, 0x1, 0x5, 0x9d, 0x4, 0x60, 0x0, 0x1, 0x5, 0x80, 0x4, 0x7a, 0x0, 0x1, 0x5, 0x78, 0x4, 0x79, 0x0, 0x1, 0x5, 0x32, 0x4, 0x7b, 0x0, 0x1, 0x5, 0xf, 0x4, 0x60, 0x0, 0x1, 0x5, 0xa0, 0x4, 0x94, 0x0, 0x1, 0x6, 0x8d, 0x4, 0x88, 0x0, 0x1, 0x5, 0x10, 0x4, 0x75, 0x0, 0x1, 0x5, 0x78, 0x4, 0x90, 0x0, 0x1, 0x0, 0x0, 0x4, 0x4a, 0x0, 0x1, 0x0, 0x0, 0x4, 0x4a, 0x0, 0x1, 0x8, 0x3a, 0x4, 0x88, 0x0, 0x1, 0x8, 0x3a, 0x4, 0x88, 0x0, 0x2, 0x0, 0x4, 0x6, 0x1e, 0x6, 0x38, 0x0, 0x0, 0x6, 0x4c, 0x6, 0x4c, 0x0, 0x1b, 0x6, 0x5b, 0x6, 0x5b, 0x0, 0x1c, 0x6, 0x5d, 0x6, 0x5e, 0x0, 0x1d, 0x0, 0x1, 0x0, 0xc, 0x6, 0x3b, 0x6, 0x3e, 0x6, 0x3f, 0x6, 0x40, 0x6, 0x41, 0x6, 0x44, 0x6, 0x4d, 0x6, 0x4e, 0x6, 0x4f, 0x6, 0x50, 0x6, 0x51, 0x6, 0x52, 0x0, 0xc, 0x0, 0x0, 0x0, 0x32, 0x0, 0x0, 0x0, 0x38, 0x0, 0x0, 0x0, 0x3e, 0x0, 0x0, 0x0, 0x44, 0x0, 0x0, 0x0, 0x4a, 0x0, 0x0, 0x0, 0x50, 0x0, 0x0, 0x0, 0x56, 0x0, 0x0, 0x0, 0x5c, 0x0, 0x0, 0x0, 0x62, 0x0, 0x0, 0x0, 0x68, 0x0, 0x0, 0x0, 0x6e, 0x0, 0x0, 0x0, 0x74, 0x0, 0x1, 0x0, 0x0, 0x4, 0x74, 0x0, 0x1, 0x0, 0x0, 0x4, 0x62, 0x0, 0x1, 0x0, 0x0, 0x4, 0x62, 0x0, 0x1, 0x0, 0x0, 0x4, 0x62, 0x0, 0x1, 0x0, 0x0, 0x4, 0x62, 0x0, 0x1, 0x0, 0x0, 0x4, 0x74, 0x0, 0x1, 0x0, 0x0, 0x4, 0x60, 0x0, 0x1, 0x0, 0x0, 0x4, 0x7e, 0x0, 0x1, 0x0, 0x0, 0x4, 0x7e, 0x0, 0x1, 0x0, 0x0, 0x4, 0x60, 0x0, 0x1, 0x0, 0x0, 0x4, 0x7e, 0x0, 0x1, 0x0, 0x0, 0x4, 0x60, 0x0, 0x1, 0x0, 0x20, 0x0, 0x1a, 0x0, 0x1, 0x0, 0x5a, 0x0, 0xc, 0x0, 0x1, 0x0, 0x4, 0x0, 0x1, 0x0, 0x4, 0x0, 0x1, 0x2, 0xa6, 0xfe, 0x52, 0x0, 0x1, 0x0, 0x1, 0x0, 0xa9, 0x0, 0x2, 0x0, 0x9, 0x2, 0xc7, 0x2, 0xca, 0x0, 0x0, 0x2, 0xcd, 0x2, 0xd1, 0x0, 0x4, 0x2, 0xd4, 0x2, 0xd7, 0x0, 0x9, 0x2, 0xda, 0x2, 0xe4, 0x0, 0xd, 0x2, 0xea, 0x2, 0xed, 0x0, 0x18, 0x2, 0xf8, 0x2, 0xfa, 0x0, 0x1c, 0x2, 0xfe, 0x2, 0xff, 0x0, 0x1f, 0x3, 0x3, 0x3, 0x3, 0x0, 0x21, 0x3, 0x6, 0x3, 0x6, 0x0, 0x22, 0x0, 0x23, 0x0, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x0, 0x94, 0x0, 0x0, 0x0, 0x9a, 0x0, 0x0, 0x0, 0xa0, 0x0, 0x0, 0x0, 0xa6, 0x0, 0x0, 0x0, 0xac, 0x0, 0x0, 0x0, 0xb2, 0x0, 0x0, 0x0, 0xb8, 0x0, 0x0, 0x0, 0xbe, 0x0, 0x0, 0x0, 0xc4, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x0, 0xd0, 0x0, 0x0, 0x0, 0xd6, 0x0, 0x0, 0x0, 0xdc, 0x0, 0x0, 0x0, 0xe2, 0x0, 0x0, 0x0, 0xe8, 0x0, 0x0, 0x0, 0xee, 0x0, 0x0, 0x0, 0xf4, 0x0, 0x0, 0x0, 0xfa, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x6, 0x0, 0x0, 0x1, 0xc, 0x0, 0x0, 0x1, 0x12, 0x0, 0x0, 0x1, 0x18, 0x0, 0x0, 0x1, 0x1e, 0x0, 0x0, 0x1, 0x24, 0x0, 0x0, 0x1, 0x2a, 0x0, 0x0, 0x1, 0x30, 0x0, 0x0, 0x1, 0x36, 0x0, 0x0, 0x1, 0x3c, 0x0, 0x0, 0x1, 0x42, 0x0, 0x0, 0x1, 0x48, 0x0, 0x0, 0x1, 0x4e, 0x0, 0x0, 0x1, 0x54, 0x0, 0x0, 0x1, 0x5a, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xfe, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xfe, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x2, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0x5, 0x8c, 0x4, 0xb6, 0x0, 0x1, 0x5, 0x94, 0x0, 0xc, 0x0, 0x95, 0x1, 0x2c, 0x1, 0x32, 0x1, 0x38, 0x1, 0x3e, 0x1, 0x44, 0x1, 0x4a, 0x1, 0x50, 0x1, 0x56, 0x1, 0x5c, 0x1, 0x62, 0x1, 0x68, 0x1, 0x6e, 0x1, 0x74, 0x1, 0x7a, 0x1, 0x80, 0x1, 0x86, 0x1, 0x8c, 0x1, 0x92, 0x1, 0x98, 0x1, 0x9e, 0x1, 0xa4, 0x1, 0xaa, 0x1, 0xb0, 0x1, 0xb6, 0x1, 0xbc, 0x1, 0xc2, 0x1, 0xc8, 0x1, 0xce, 0x1, 0xd4, 0x1, 0xda, 0x1, 0xe0, 0x1, 0xe6, 0x1, 0xec, 0x1, 0xf2, 0x1, 0xf8, 0x1, 0xfe, 0x2, 0x4, 0x2, 0xa, 0x2, 0x10, 0x2, 0x16, 0x2, 0x1c, 0x2, 0x22, 0x2, 0x28, 0x2, 0x2e, 0x2, 0x34, 0x2, 0x3a, 0x2, 0x40, 0x2, 0x46, 0x2, 0x4c, 0x2, 0x52, 0x2, 0x58, 0x2, 0x5e, 0x2, 0x64, 0x2, 0x6a, 0x2, 0x70, 0x2, 0x76, 0x2, 0x7c, 0x2, 0x82, 0x2, 0x88, 0x2, 0x8e, 0x2, 0x94, 0x2, 0x9a, 0x2, 0xa0, 0x2, 0xa6, 0x2, 0xac, 0x2, 0xb2, 0x2, 0xb8, 0x2, 0xbe, 0x2, 0xc4, 0x2, 0xca, 0x2, 0xd0, 0x2, 0xd6, 0x2, 0xdc, 0x2, 0xe2, 0x2, 0xe8, 0x2, 0xee, 0x2, 0xf4, 0x2, 0xfa, 0x3, 0x0, 0x3, 0x6, 0x3, 0xc, 0x3, 0x12, 0x3, 0x18, 0x3, 0x1e, 0x3, 0x24, 0x3, 0x2a, 0x3, 0x30, 0x3, 0x36, 0x3, 0x3c, 0x3, 0x42, 0x3, 0x48, 0x3, 0x4e, 0x3, 0x54, 0x3, 0x5a, 0x3, 0x60, 0x3, 0x66, 0x3, 0x6c, 0x3, 0x72, 0x3, 0x78, 0x3, 0x7e, 0x3, 0x84, 0x3, 0x8a, 0x3, 0x90, 0x3, 0x96, 0x3, 0x9c, 0x3, 0xa2, 0x3, 0xa8, 0x3, 0xae, 0x3, 0xb4, 0x3, 0xba, 0x3, 0xc0, 0x3, 0xc6, 0x3, 0xcc, 0x3, 0xd2, 0x3, 0xd8, 0x3, 0xde, 0x3, 0xe4, 0x3, 0xea, 0x3, 0xf0, 0x3, 0xf6, 0x3, 0xfc, 0x4, 0x2, 0x4, 0x8, 0x4, 0xe, 0x4, 0x14, 0x4, 0x1a, 0x4, 0x20, 0x4, 0x26, 0x4, 0x2c, 0x4, 0x32, 0x4, 0x38, 0x4, 0x3e, 0x4, 0x44, 0x4, 0x4a, 0x4, 0x50, 0x4, 0x56, 0x4, 0x5c, 0x4, 0x62, 0x4, 0x68, 0x4, 0x6e, 0x4, 0x74, 0x4, 0x7a, 0x4, 0x80, 0x4, 0x86, 0x4, 0x8c, 0x4, 0x92, 0x4, 0x98, 0x4, 0x9e, 0x4, 0xa4, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x2, 0x0, 0x23, 0x0, 0x24, 0x0, 0x3d, 0x0, 0x0, 0x0, 0x44, 0x0, 0x5d, 0x0, 0x1a, 0x0, 0x9a, 0x0, 0x9a, 0x0, 0x34, 0x0, 0xba, 0x0, 0xba, 0x0, 0x35, 0x0, 0xc6, 0x0, 0xc7, 0x0, 0x36, 0x0, 0xd0, 0x0, 0xd1, 0x0, 0x38, 0x0, 0xf3, 0x0, 0xf3, 0x0, 0x3a, 0x1, 0x28, 0x1, 0x29, 0x0, 0x3b, 0x1, 0x41, 0x1, 0x41, 0x0, 0x3d, 0x1, 0x48, 0x1, 0x48, 0x0, 0x3e, 0x1, 0x51, 0x1, 0x52, 0x0, 0x3f, 0x1, 0x59, 0x1, 0x59, 0x0, 0x41, 0x1, 0x61, 0x1, 0x61, 0x0, 0x42, 0x1, 0x79, 0x1, 0x7b, 0x0, 0x43, 0x2, 0x12, 0x2, 0x12, 0x0, 0x46, 0x2, 0x16, 0x2, 0x16, 0x0, 0x47, 0x2, 0x1b, 0x2, 0x1b, 0x0, 0x48, 0x2, 0x1d, 0x2, 0x1d, 0x0, 0x49, 0x2, 0x2a, 0x2, 0x2a, 0x0, 0x4a, 0x2, 0x37, 0x2, 0x37, 0x0, 0x4b, 0x2, 0x54, 0x2, 0x54, 0x0, 0x4c, 0x8, 0xcc, 0x8, 0xcc, 0x0, 0x4d, 0x9, 0x3, 0x9, 0xc, 0x0, 0x4e, 0x11, 0xe1, 0x11, 0xe3, 0x0, 0x58, 0x11, 0xe6, 0x11, 0xe7, 0x0, 0x5b, 0x11, 0xed, 0x11, 0xed, 0x0, 0x5d, 0x11, 0xf1, 0x11, 0xf2, 0x0, 0x5e, 0x12, 0xfe, 0x13, 0x1, 0x0, 0x60, 0x13, 0x7, 0x13, 0x11, 0x0, 0x64, 0x13, 0x14, 0x13, 0x1d, 0x0, 0x6f, 0x13, 0x1f, 0x13, 0x23, 0x0, 0x79, 0x13, 0x28, 0x13, 0x2b, 0x0, 0x7e, 0x13, 0x32, 0x13, 0x3e, 0x0, 0x82, 0x13, 0x40, 0x13, 0x44, 0x0, 0x8f, 0x16, 0xea, 0x16, 0xea, 0x0, 0x94, 0x0, 0x1, 0x0, 0x2, 0x14, 0x52, 0x14, 0x54, 0x0, 0x2, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x10, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x0, 0x62, 0x0, 0x4e, 0x0, 0x1, 0x0, 0x6a, 0x0, 0xc, 0x0, 0x8, 0x0, 0x12, 0x0, 0x18, 0x0, 0x1e, 0x0, 0x24, 0x0, 0x2a, 0x0, 0x30, 0x0, 0x36, 0x0, 0x3c, 0x0, 0x1, 0x2, 0x4a, 0x6, 0x14, 0x0, 0x1, 0x2, 0xec, 0x7, 0x6d, 0x0, 0x1, 0x2, 0x96, 0x6, 0x14, 0x0, 0x1, 0x1, 0x1f, 0x6, 0x14, 0x0, 0x1, 0x2, 0x73, 0x6, 0x14, 0x0, 0x1, 0x2, 0x7d, 0x6, 0x14, 0x0, 0x1, 0x2, 0xec, 0x7, 0x50, 0x0, 0x1, 0x3, 0xfe, 0x7, 0x89, 0x0, 0x1, 0x0, 0x8, 0x0, 0xc3, 0x0, 0xd0, 0x0, 0xd5, 0x0, 0xed, 0x1, 0xf, 0x1, 0x2d, 0x9, 0x3, 0x9, 0x4, 0x0, 0x1, 0x0, 0x2, 0x2, 0xb1, 0x2, 0xb2, 0x0, 0x2, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x10, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x8c, 0x2, 0xd6, 0x0, 0x1, 0x3, 0x92, 0x0, 0xc, 0x0, 0x59, 0x0, 0xb4, 0x0, 0xba, 0x0, 0xc0, 0x0, 0xc6, 0x0, 0xcc, 0x0, 0xd2, 0x0, 0xd8, 0x0, 0xde, 0x0, 0xe4, 0x0, 0xea, 0x0, 0xf0, 0x0, 0xf6, 0x0, 0xfc, 0x1, 0x2, 0x1, 0x8, 0x1, 0xe, 0x1, 0x14, 0x1, 0x1a, 0x1, 0x20, 0x1, 0x26, 0x1, 0x2c, 0x1, 0x32, 0x1, 0x38, 0x1, 0x3e, 0x1, 0x44, 0x1, 0x4a, 0x1, 0x50, 0x1, 0x56, 0x1, 0x5c, 0x1, 0x62, 0x1, 0x68, 0x1, 0x6e, 0x1, 0x74, 0x1, 0x7a, 0x1, 0x80, 0x1, 0x86, 0x1, 0x8c, 0x1, 0x92, 0x1, 0x98, 0x1, 0x9e, 0x1, 0xa4, 0x1, 0xaa, 0x1, 0xb0, 0x1, 0xb6, 0x1, 0xbc, 0x1, 0xc2, 0x1, 0xc8, 0x1, 0xce, 0x1, 0xd4, 0x1, 0xda, 0x1, 0xe0, 0x1, 0xe6, 0x1, 0xec, 0x1, 0xf2, 0x1, 0xf8, 0x1, 0xfe, 0x2, 0x4, 0x2, 0xa, 0x2, 0x10, 0x2, 0x16, 0x2, 0x1c, 0x2, 0x22, 0x2, 0x28, 0x2, 0x2e, 0x2, 0x34, 0x2, 0x3a, 0x2, 0x40, 0x2, 0x46, 0x2, 0x4c, 0x2, 0x52, 0x2, 0x58, 0x2, 0x5e, 0x2, 0x64, 0x2, 0x6a, 0x2, 0x70, 0x2, 0x76, 0x2, 0x7c, 0x2, 0x82, 0x2, 0x88, 0x2, 0x8e, 0x2, 0x94, 0x2, 0x9a, 0x2, 0xa0, 0x2, 0xa6, 0x2, 0xac, 0x2, 0xb2, 0x2, 0xb8, 0x2, 0xbe, 0x2, 0xc4, 0x0, 0x1, 0x4, 0xff, 0x0, 0x0, 0x0, 0x1, 0x3, 0x4c, 0x0, 0x0, 0x0, 0x1, 0x2, 0x2d, 0x0, 0x0, 0x0, 0x1, 0x2, 0x9e, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2e, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2b, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2b, 0x0, 0x0, 0x0, 0x1, 0x3, 0x27, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa2, 0x0, 0x0, 0x0, 0x1, 0x2, 0xee, 0x0, 0x0, 0x0, 0x1, 0x2, 0xbe, 0x0, 0x0, 0x0, 0x1, 0x3, 0xd1, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa6, 0x0, 0x0, 0x0, 0x1, 0x2, 0x66, 0x0, 0x0, 0x0, 0x1, 0x2, 0x96, 0x0, 0x0, 0x0, 0x1, 0x1, 0x16, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x16, 0x0, 0x0, 0x0, 0x1, 0x1, 0x16, 0x0, 0x0, 0x0, 0x1, 0x2, 0x73, 0x0, 0x0, 0x0, 0x1, 0x2, 0x2e, 0x0, 0x0, 0x0, 0x1, 0x2, 0x7d, 0x0, 0x0, 0x0, 0x1, 0x2, 0x17, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x3, 0x27, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x73, 0x0, 0x0, 0x0, 0x1, 0x3, 0xd1, 0x0, 0x0, 0x0, 0x1, 0x4, 0xff, 0xfe, 0x80, 0x0, 0x1, 0x3, 0xd1, 0xfe, 0x80, 0x0, 0x1, 0x2, 0x96, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x73, 0x0, 0x0, 0x0, 0x1, 0x2, 0x7d, 0x0, 0x0, 0x0, 0x1, 0x2, 0x5c, 0x0, 0x0, 0x0, 0x1, 0x3, 0x27, 0x0, 0x0, 0x0, 0x1, 0x2, 0xc4, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x3, 0x27, 0x0, 0x0, 0x0, 0x1, 0x2, 0xbe, 0x0, 0x0, 0x0, 0x1, 0x2, 0x96, 0x0, 0x0, 0x0, 0x1, 0x2, 0x88, 0xfe, 0x52, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x87, 0x0, 0x0, 0x0, 0x1, 0x1, 0xc2, 0x0, 0x0, 0x0, 0x1, 0x2, 0x52, 0x0, 0x0, 0x0, 0x1, 0x2, 0x4a, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1e, 0x0, 0x0, 0x0, 0x1, 0x2, 0x73, 0x0, 0x0, 0x0, 0x1, 0x2, 0x17, 0xfe, 0x52, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x3, 0x27, 0x0, 0x0, 0x0, 0x1, 0x2, 0x73, 0x0, 0x0, 0x0, 0x1, 0x6, 0x7b, 0x0, 0x0, 0x0, 0x1, 0x5, 0x79, 0x0, 0x0, 0x0, 0x1, 0x6, 0x35, 0x0, 0x0, 0x0, 0x1, 0x5, 0x44, 0x0, 0x0, 0x0, 0x1, 0x3, 0x3b, 0x0, 0x0, 0x0, 0x1, 0x2, 0xcd, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2b, 0x0, 0x0, 0x0, 0x1, 0x1, 0x16, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa2, 0x0, 0x0, 0x0, 0x1, 0x2, 0x2e, 0x0, 0x0, 0x0, 0x1, 0x1, 0x92, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1e, 0x0, 0x0, 0x0, 0x1, 0x2, 0x7d, 0xfe, 0x52, 0x0, 0x1, 0x0, 0x59, 0x0, 0x24, 0x0, 0x26, 0x0, 0x27, 0x0, 0x28, 0x0, 0x2b, 0x0, 0x2c, 0x0, 0x30, 0x0, 0x31, 0x0, 0x32, 0x0, 0x36, 0x0, 0x38, 0x0, 0x3d, 0x0, 0x44, 0x0, 0x46, 0x0, 0x47, 0x0, 0x48, 0x0, 0x4b, 0x0, 0x4c, 0x0, 0x50, 0x0, 0x51, 0x0, 0x52, 0x0, 0x56, 0x0, 0x58, 0x0, 0x5d, 0x0, 0x8e, 0x0, 0x8f, 0x0, 0x90, 0x0, 0x91, 0x0, 0x9a, 0x0, 0xae, 0x0, 0xaf, 0x0, 0xb0, 0x0, 0xb1, 0x0, 0xba, 0x0, 0xc3, 0x0, 0xc6, 0x0, 0xc7, 0x0, 0xd5, 0x0, 0xea, 0x0, 0xeb, 0x0, 0xec, 0x0, 0xed, 0x0, 0xee, 0x0, 0xef, 0x0, 0xf2, 0x0, 0xf3, 0x1, 0xf, 0x1, 0x2d, 0x1, 0x48, 0x1, 0x51, 0x1, 0x52, 0x1, 0x59, 0x1, 0x61, 0x1, 0x79, 0x1, 0x7a, 0x1, 0x7b, 0x1, 0x91, 0x1, 0x92, 0x1, 0xca, 0x1, 0xcb, 0x1, 0xcc, 0x1, 0xcd, 0x2, 0x12, 0x2, 0x16, 0x2, 0x1b, 0x2, 0x1d, 0x2, 0x2a, 0x2, 0x37, 0x2, 0x54, 0x9, 0x27, 0x9, 0x28, 0x9, 0xc1, 0x9, 0xc2, 0x11, 0xe1, 0x11, 0xed, 0x13, 0x8, 0x13, 0x9, 0x13, 0xa, 0x13, 0xb, 0x13, 0x1a, 0x13, 0x1b, 0x13, 0x38, 0x13, 0x39, 0x13, 0x3c, 0x13, 0x3d, 0x13, 0x3e, 0x13, 0x43, 0x16, 0xea, 0x17, 0x86, 0x0, 0x1, 0x0, 0x1, 0x2, 0xd8, 0x0, 0x1, 0x0, 0x0, 0x0, 0x6, 0x0, 0x1, 0xfe, 0x17, 0x0, 0x0, 0x0, 0x1, 0xf, 0xc8, 0xd, 0x96, 0x0, 0x1, 0x10, 0x2, 0x0, 0xc, 0x1, 0xb1, 0x3, 0x64, 0x3, 0x6a, 0x3, 0x70, 0x3, 0x76, 0x3, 0x7c, 0x3, 0x82, 0x3, 0x88, 0x3, 0x8e, 0x3, 0x94, 0x3, 0x9a, 0x3, 0xa0, 0x3, 0xa6, 0x3, 0xac, 0x3, 0xb2, 0x3, 0xb8, 0x3, 0xbe, 0x3, 0xc4, 0x3, 0xca, 0x3, 0xd0, 0x3, 0xd6, 0x3, 0xdc, 0x3, 0xe2, 0x3, 0xe8, 0x3, 0xee, 0x3, 0xf4, 0x3, 0xfa, 0x4, 0x0, 0x4, 0x6, 0x4, 0xc, 0x4, 0x12, 0x4, 0x18, 0x4, 0x1e, 0x4, 0x24, 0x4, 0x2a, 0x4, 0x30, 0x4, 0x36, 0x4, 0x3c, 0x4, 0x42, 0x4, 0x48, 0x4, 0x4e, 0x4, 0x54, 0x4, 0x5a, 0x4, 0x60, 0x4, 0x66, 0x4, 0x6c, 0x4, 0x72, 0x4, 0x78, 0x4, 0x7e, 0x4, 0x84, 0x4, 0x8a, 0x4, 0x90, 0x4, 0x96, 0x4, 0x9c, 0x4, 0xa2, 0x4, 0xa8, 0x4, 0xae, 0x4, 0xb4, 0x4, 0xba, 0x4, 0xc0, 0x4, 0xc6, 0x4, 0xcc, 0x4, 0xd2, 0x4, 0xd8, 0x4, 0xde, 0x4, 0xe4, 0x4, 0xea, 0x4, 0xf0, 0x4, 0xf6, 0x4, 0xfc, 0x5, 0x2, 0x5, 0x8, 0x5, 0xe, 0x5, 0x14, 0x5, 0x1a, 0x5, 0x20, 0x5, 0x26, 0x5, 0x2c, 0x5, 0x32, 0x5, 0x38, 0x5, 0x3e, 0x5, 0x44, 0x5, 0x4a, 0x5, 0x50, 0x5, 0x56, 0x5, 0x5c, 0x5, 0x62, 0x5, 0x68, 0x5, 0x6e, 0x5, 0x74, 0x5, 0x7a, 0x5, 0x80, 0x5, 0x86, 0x5, 0x8c, 0x5, 0x92, 0x5, 0x98, 0x5, 0x9e, 0x5, 0xa4, 0x5, 0xaa, 0x5, 0xb0, 0x5, 0xb6, 0x5, 0xbc, 0x5, 0xc2, 0x5, 0xc8, 0x5, 0xce, 0x5, 0xd4, 0x5, 0xda, 0x5, 0xe0, 0x5, 0xe6, 0x5, 0xec, 0x5, 0xf2, 0x5, 0xf8, 0x5, 0xfe, 0x6, 0x4, 0x6, 0xa, 0x6, 0x10, 0x6, 0x16, 0x6, 0x1c, 0x6, 0x22, 0x6, 0x28, 0x6, 0x2e, 0x6, 0x34, 0x6, 0x3a, 0x6, 0x40, 0x6, 0x46, 0x6, 0x4c, 0x6, 0x52, 0x6, 0x58, 0x6, 0x5e, 0x6, 0x64, 0x6, 0x6a, 0x6, 0x70, 0x6, 0x76, 0x6, 0x7c, 0x6, 0x82, 0x6, 0x88, 0x6, 0x8e, 0x6, 0x94, 0x6, 0x9a, 0x6, 0xa0, 0x6, 0xa6, 0x6, 0xac, 0x6, 0xb2, 0x6, 0xb8, 0x6, 0xbe, 0x6, 0xc4, 0x6, 0xca, 0x6, 0xd0, 0x6, 0xd6, 0x6, 0xdc, 0x6, 0xe2, 0x6, 0xe8, 0x6, 0xee, 0x6, 0xf4, 0x6, 0xfa, 0x7, 0x0, 0x7, 0x6, 0x7, 0xc, 0x7, 0x12, 0x7, 0x18, 0x7, 0x1e, 0x7, 0x24, 0x7, 0x2a, 0x7, 0x30, 0x7, 0x36, 0x7, 0x3c, 0x7, 0x42, 0x7, 0x48, 0x7, 0x4e, 0x7, 0x54, 0x7, 0x5a, 0x7, 0x60, 0x7, 0x66, 0x7, 0x6c, 0x7, 0x72, 0x7, 0x78, 0x7, 0x7e, 0x7, 0x84, 0x7, 0x8a, 0x7, 0x90, 0x7, 0x96, 0x7, 0x9c, 0x7, 0xa2, 0x7, 0xa8, 0x7, 0xae, 0x7, 0xb4, 0x7, 0xba, 0x7, 0xc0, 0x7, 0xc6, 0x7, 0xcc, 0x7, 0xd2, 0x7, 0xd8, 0x7, 0xde, 0x7, 0xe4, 0x7, 0xea, 0x7, 0xf0, 0x7, 0xf6, 0x7, 0xfc, 0x8, 0x2, 0x8, 0x8, 0x8, 0xe, 0x8, 0x14, 0x8, 0x1a, 0x8, 0x20, 0x8, 0x26, 0x8, 0x2c, 0x8, 0x32, 0x8, 0x38, 0x8, 0x3e, 0x8, 0x44, 0x8, 0x4a, 0x8, 0x50, 0x8, 0x56, 0x8, 0x5c, 0x8, 0x62, 0x8, 0x68, 0x8, 0x6e, 0x8, 0x74, 0x8, 0x7a, 0x8, 0x80, 0x8, 0x86, 0x8, 0x8c, 0x8, 0x92, 0x8, 0x98, 0x8, 0x9e, 0x8, 0xa4, 0x8, 0xaa, 0x8, 0xb0, 0x8, 0xb6, 0x8, 0xbc, 0x8, 0xc2, 0x8, 0xc8, 0x8, 0xce, 0x8, 0xd4, 0x8, 0xda, 0x8, 0xe0, 0x8, 0xe6, 0x8, 0xec, 0x8, 0xf2, 0x8, 0xf8, 0x8, 0xfe, 0x9, 0x4, 0x9, 0xa, 0x9, 0x10, 0x9, 0x16, 0x9, 0x1c, 0x9, 0x22, 0x9, 0x28, 0x9, 0x2e, 0x9, 0x34, 0x9, 0x3a, 0x9, 0x40, 0x9, 0x46, 0x9, 0x4c, 0x9, 0x52, 0x9, 0x58, 0x9, 0x5e, 0x9, 0x64, 0x9, 0x6a, 0x9, 0x70, 0x9, 0x76, 0x9, 0x7c, 0x9, 0x82, 0x9, 0x88, 0x9, 0x8e, 0x9, 0x94, 0x9, 0x9a, 0x9, 0xa0, 0x9, 0xa6, 0x9, 0xac, 0x9, 0xb2, 0x9, 0xb8, 0x9, 0xbe, 0x9, 0xc4, 0x9, 0xca, 0x9, 0xd0, 0x9, 0xd6, 0x9, 0xdc, 0x9, 0xe2, 0x9, 0xe8, 0x9, 0xee, 0x9, 0xf4, 0x9, 0xfa, 0xa, 0x0, 0xa, 0x6, 0xa, 0xc, 0xa, 0x12, 0xa, 0x18, 0xa, 0x1e, 0xa, 0x24, 0xa, 0x2a, 0xa, 0x30, 0xa, 0x36, 0xa, 0x3c, 0xa, 0x42, 0xa, 0x48, 0xa, 0x4e, 0xa, 0x54, 0xa, 0x5a, 0xa, 0x60, 0xa, 0x66, 0xa, 0x6c, 0xa, 0x72, 0xa, 0x78, 0xa, 0x7e, 0xa, 0x84, 0xa, 0x8a, 0xa, 0x90, 0xa, 0x96, 0xa, 0x9c, 0xa, 0xa2, 0xa, 0xa8, 0xa, 0xae, 0xa, 0xb4, 0xa, 0xba, 0xa, 0xc0, 0xa, 0xc6, 0xa, 0xcc, 0xa, 0xd2, 0xa, 0xd8, 0xa, 0xde, 0xa, 0xe4, 0xa, 0xea, 0xa, 0xf0, 0xa, 0xf6, 0xa, 0xfc, 0xb, 0x2, 0xb, 0x8, 0xb, 0xe, 0xb, 0x14, 0xb, 0x1a, 0xb, 0x20, 0xb, 0x26, 0xb, 0x2c, 0xb, 0x32, 0xb, 0x38, 0xb, 0x3e, 0xb, 0x44, 0xb, 0x4a, 0xb, 0x50, 0xb, 0x56, 0xb, 0x5c, 0xb, 0x62, 0xb, 0x68, 0xb, 0x6e, 0xb, 0x74, 0xb, 0x7a, 0xb, 0x80, 0xb, 0x86, 0xb, 0x8c, 0xb, 0x92, 0xb, 0x98, 0xb, 0x9e, 0xb, 0xa4, 0xb, 0xaa, 0xb, 0xb0, 0xb, 0xb6, 0xb, 0xbc, 0xb, 0xc2, 0xb, 0xc8, 0xb, 0xce, 0xb, 0xd4, 0xb, 0xda, 0xb, 0xe0, 0xb, 0xe6, 0xb, 0xec, 0xb, 0xf2, 0xb, 0xf8, 0xb, 0xfe, 0xc, 0x4, 0xc, 0xa, 0xc, 0x10, 0xc, 0x16, 0xc, 0x1c, 0xc, 0x22, 0xc, 0x28, 0xc, 0x2e, 0xc, 0x34, 0xc, 0x3a, 0xc, 0x40, 0xc, 0x46, 0xc, 0x4c, 0xc, 0x52, 0xc, 0x58, 0xc, 0x5e, 0xc, 0x64, 0xc, 0x6a, 0xc, 0x70, 0xc, 0x76, 0xc, 0x7c, 0xc, 0x82, 0xc, 0x88, 0xc, 0x8e, 0xc, 0x94, 0xc, 0x9a, 0xc, 0xa0, 0xc, 0xa6, 0xc, 0xac, 0xc, 0xb2, 0xc, 0xb8, 0xc, 0xbe, 0xc, 0xc4, 0xc, 0xca, 0xc, 0xd0, 0xc, 0xd6, 0xc, 0xdc, 0xc, 0xe2, 0xc, 0xe8, 0xc, 0xee, 0xc, 0xf4, 0xc, 0xfa, 0xd, 0x0, 0xd, 0x6, 0xd, 0xc, 0xd, 0x12, 0xd, 0x18, 0xd, 0x1e, 0xd, 0x24, 0xd, 0x2a, 0xd, 0x30, 0xd, 0x36, 0xd, 0x3c, 0xd, 0x42, 0xd, 0x48, 0xd, 0x4e, 0xd, 0x54, 0xd, 0x5a, 0xd, 0x60, 0xd, 0x66, 0xd, 0x6c, 0xd, 0x72, 0xd, 0x78, 0xd, 0x7e, 0xd, 0x84, 0x0, 0x1, 0x2, 0x8b, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8b, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8b, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8b, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8b, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8b, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8b, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8b, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8b, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8b, 0x0, 0x0, 0x0, 0x1, 0x2, 0xbc, 0x0, 0x0, 0x0, 0x1, 0x2, 0xbc, 0x0, 0x0, 0x0, 0x1, 0x3, 0x4c, 0x0, 0x0, 0x0, 0x1, 0x2, 0xec, 0x0, 0x0, 0x0, 0x1, 0x2, 0x9e, 0x0, 0x0, 0x0, 0x1, 0x2, 0x9e, 0x0, 0x0, 0x0, 0x1, 0x3, 0x5c, 0x0, 0x0, 0x0, 0x1, 0x3, 0x2, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2e, 0xfe, 0x52, 0x0, 0x1, 0x2, 0x9e, 0x0, 0x0, 0x0, 0x1, 0x2, 0x99, 0x0, 0x0, 0x0, 0x1, 0x3, 0x73, 0x0, 0x0, 0x0, 0x1, 0x2, 0xf5, 0x0, 0x0, 0x0, 0x1, 0x3, 0x27, 0x0, 0x0, 0x0, 0x1, 0x2, 0x9e, 0x0, 0x0, 0x0, 0x1, 0x3, 0x27, 0x0, 0x0, 0x0, 0x1, 0x2, 0x7d, 0x0, 0x0, 0x0, 0x1, 0x2, 0x93, 0x0, 0x0, 0x0, 0x1, 0x2, 0x73, 0x0, 0x0, 0x0, 0x1, 0x2, 0xee, 0x0, 0x0, 0x0, 0x1, 0x2, 0xbc, 0x0, 0x0, 0x0, 0x1, 0x3, 0xf5, 0x0, 0x0, 0x0, 0x1, 0x2, 0xcd, 0x0, 0x0, 0x0, 0x1, 0x2, 0x72, 0x0, 0x0, 0x0, 0x1, 0x2, 0xbe, 0x0, 0x0, 0x0, 0x1, 0x2, 0x4a, 0x0, 0x0, 0x0, 0x1, 0x2, 0xb7, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa4, 0x0, 0x0, 0x0, 0x1, 0x2, 0x66, 0x0, 0x0, 0x0, 0x1, 0x2, 0x96, 0x0, 0x0, 0x0, 0x1, 0x1, 0x3b, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa6, 0xfe, 0x52, 0x0, 0x1, 0x2, 0xa6, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0xfe, 0x52, 0x0, 0x1, 0x2, 0xa6, 0x0, 0x0, 0x0, 0x1, 0x1, 0x16, 0x0, 0x0, 0x0, 0x1, 0x3, 0xe9, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa6, 0x0, 0x0, 0x0, 0x1, 0x2, 0x73, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa6, 0xfe, 0x52, 0x0, 0x1, 0x2, 0x88, 0xfe, 0x52, 0x0, 0x1, 0x2, 0x17, 0x0, 0x0, 0x0, 0x1, 0x2, 0x25, 0x0, 0x0, 0x0, 0x1, 0x1, 0xf4, 0x0, 0x0, 0x0, 0x1, 0x2, 0x7d, 0x0, 0x0, 0x0, 0x1, 0x2, 0x5e, 0x0, 0x0, 0x0, 0x1, 0x3, 0x47, 0x0, 0x0, 0x0, 0x1, 0x2, 0x62, 0x0, 0x0, 0x0, 0x1, 0x2, 0x60, 0xfe, 0x52, 0x0, 0x1, 0x2, 0x17, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x3, 0x27, 0x0, 0x0, 0x0, 0x1, 0x3, 0xe3, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x7d, 0x0, 0x0, 0x0, 0x1, 0x2, 0x73, 0x0, 0x0, 0x0, 0x1, 0x2, 0x4a, 0x0, 0x0, 0x0, 0x1, 0x4, 0xff, 0xfe, 0x80, 0x0, 0x1, 0x3, 0xd1, 0xfe, 0x80, 0x0, 0x1, 0x2, 0xec, 0x0, 0x0, 0x0, 0x1, 0x2, 0x66, 0x0, 0x0, 0x0, 0x1, 0x2, 0x96, 0x0, 0x0, 0x0, 0x1, 0x2, 0xd0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa6, 0x0, 0x0, 0x0, 0x1, 0x2, 0x89, 0xfe, 0x52, 0x0, 0x1, 0x2, 0x73, 0x0, 0x0, 0x0, 0x1, 0x2, 0x73, 0x0, 0x0, 0x0, 0x1, 0x1, 0xf4, 0x0, 0x0, 0x0, 0x1, 0x2, 0x7d, 0x0, 0x0, 0x0, 0x1, 0x1, 0x3b, 0x0, 0x0, 0x0, 0x1, 0x2, 0xb7, 0x0, 0x0, 0x0, 0x1, 0x2, 0x5c, 0x0, 0x0, 0x0, 0x1, 0x2, 0x66, 0x0, 0x0, 0x0, 0x1, 0x3, 0x27, 0x0, 0x0, 0x0, 0x1, 0x2, 0xc4, 0x0, 0x0, 0x0, 0x1, 0x1, 0x37, 0xfe, 0x52, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x3, 0x27, 0x0, 0x0, 0x0, 0x1, 0x1, 0x16, 0xfe, 0x7a, 0x0, 0x1, 0x2, 0x60, 0xfe, 0x52, 0x0, 0x1, 0x2, 0xbe, 0x0, 0x0, 0x0, 0x1, 0x2, 0x96, 0x0, 0x0, 0x0, 0x1, 0x2, 0x88, 0xfe, 0x52, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x1, 0xf, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa6, 0x0, 0x0, 0x0, 0x1, 0x1, 0xf4, 0x0, 0x0, 0x0, 0x1, 0x2, 0xbc, 0x0, 0x0, 0x0, 0x1, 0x2, 0xee, 0x0, 0x0, 0x0, 0x1, 0x2, 0xbc, 0x0, 0x0, 0x0, 0x1, 0x2, 0x9e, 0x0, 0x0, 0x0, 0x1, 0x2, 0x94, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2e, 0xfe, 0x52, 0x0, 0x1, 0x1, 0x1f, 0xfe, 0x52, 0x0, 0x1, 0x3, 0x27, 0x0, 0x0, 0x0, 0x1, 0x2, 0x7d, 0x0, 0x0, 0x0, 0x1, 0x2, 0x17, 0x0, 0x0, 0x0, 0x1, 0x2, 0x72, 0x0, 0x0, 0x0, 0x1, 0x2, 0x60, 0xfe, 0x52, 0x0, 0x1, 0x2, 0x87, 0x0, 0x0, 0x0, 0x1, 0x2, 0x54, 0x0, 0x0, 0x0, 0x1, 0x2, 0xd6, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8d, 0x0, 0x0, 0x0, 0x1, 0x1, 0xc2, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa6, 0x0, 0x0, 0x0, 0x1, 0x2, 0x54, 0xfe, 0x52, 0x0, 0x1, 0x2, 0x54, 0x0, 0x0, 0x0, 0x1, 0x2, 0x63, 0x0, 0x0, 0x0, 0x1, 0x2, 0x52, 0x0, 0x0, 0x0, 0x1, 0x2, 0x52, 0x0, 0x0, 0x0, 0x1, 0x2, 0x4a, 0x0, 0x0, 0x0, 0x1, 0x2, 0x40, 0x0, 0x0, 0x0, 0x1, 0x2, 0x40, 0x0, 0x0, 0x0, 0x1, 0x2, 0xee, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0xfe, 0x52, 0x0, 0x1, 0x2, 0x6a, 0xfe, 0x52, 0x0, 0x1, 0x2, 0x6a, 0xfe, 0x52, 0x0, 0x1, 0x2, 0xa6, 0x0, 0x0, 0x0, 0x1, 0x2, 0x62, 0xfe, 0x52, 0x0, 0x1, 0x2, 0x62, 0x0, 0x0, 0x0, 0x1, 0x2, 0x7d, 0xfe, 0x52, 0x0, 0x1, 0x2, 0xa6, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa6, 0xfe, 0x52, 0x0, 0x1, 0x1, 0x1e, 0x0, 0x0, 0x0, 0x1, 0x1, 0x7, 0x0, 0x0, 0x0, 0x1, 0x1, 0x80, 0x0, 0x0, 0x0, 0x1, 0x1, 0x99, 0x0, 0x0, 0x0, 0x1, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x1, 0x1, 0x16, 0xfe, 0x52, 0x0, 0x1, 0x2, 0xee, 0xfe, 0x52, 0x0, 0x1, 0x3, 0xe9, 0x0, 0x0, 0x0, 0x1, 0x3, 0xe9, 0xfe, 0x52, 0x0, 0x1, 0x3, 0xe9, 0xfe, 0x52, 0x0, 0x1, 0x2, 0x89, 0xfe, 0x52, 0x0, 0x1, 0x2, 0x89, 0xfe, 0x52, 0x0, 0x1, 0x2, 0x89, 0x0, 0x0, 0x0, 0x1, 0x2, 0x73, 0x0, 0x0, 0x0, 0x1, 0x4, 0x8d, 0x0, 0x0, 0x0, 0x1, 0x2, 0xe9, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa6, 0xfe, 0x52, 0x0, 0x1, 0x2, 0x35, 0x0, 0x0, 0x0, 0x1, 0x2, 0x35, 0x0, 0x0, 0x0, 0x1, 0x2, 0x35, 0xfe, 0x52, 0x0, 0x1, 0x1, 0x1c, 0xfe, 0x52, 0x0, 0x1, 0x2, 0x61, 0xfe, 0x52, 0x0, 0x1, 0x1, 0x83, 0x0, 0x0, 0x0, 0x1, 0x2, 0x74, 0x0, 0x0, 0x0, 0x1, 0x2, 0x3b, 0x0, 0x0, 0x0, 0x1, 0x2, 0x51, 0x0, 0x0, 0x0, 0x1, 0x2, 0x27, 0xfe, 0x52, 0x0, 0x1, 0x1, 0x16, 0xfe, 0x52, 0x0, 0x1, 0x1, 0x16, 0xfe, 0x52, 0x0, 0x1, 0x1, 0xf1, 0xfe, 0x52, 0x0, 0x1, 0x1, 0x16, 0xfe, 0x52, 0x0, 0x1, 0x2, 0xe, 0xfe, 0x52, 0x0, 0x1, 0x1, 0xf4, 0xfe, 0x52, 0x0, 0x1, 0x2, 0x7d, 0x0, 0x0, 0x0, 0x1, 0x2, 0x7d, 0x0, 0x0, 0x0, 0x1, 0x2, 0x5e, 0x0, 0x0, 0x0, 0x1, 0x3, 0x47, 0x0, 0x0, 0x0, 0x1, 0x2, 0x5e, 0x0, 0x0, 0x0, 0x1, 0x2, 0x64, 0x0, 0x0, 0x0, 0x1, 0x2, 0x17, 0xfe, 0x52, 0x0, 0x1, 0x2, 0x17, 0x0, 0x0, 0x0, 0x1, 0x2, 0x17, 0xfe, 0x52, 0x0, 0x1, 0x2, 0x17, 0xfe, 0x52, 0x0, 0x1, 0x1, 0xb0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x3a, 0x0, 0x0, 0x0, 0x1, 0x1, 0xb0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x3a, 0xfe, 0x52, 0x0, 0x1, 0x3, 0x27, 0x0, 0x0, 0x0, 0x1, 0x2, 0x61, 0x0, 0x0, 0x0, 0x1, 0x2, 0x48, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa6, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa3, 0xff, 0xf6, 0x0, 0x1, 0x1, 0x1f, 0xfe, 0x52, 0x0, 0x1, 0x2, 0xab, 0xfe, 0x52, 0x0, 0x1, 0x2, 0x5f, 0x0, 0x0, 0x0, 0x1, 0x2, 0x88, 0xfe, 0x52, 0x0, 0x1, 0x1, 0xb0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x3a, 0x0, 0x0, 0x0, 0x1, 0x3, 0xfe, 0x0, 0x0, 0x0, 0x1, 0x3, 0xfe, 0xfe, 0x52, 0x0, 0x1, 0x3, 0xfe, 0x0, 0x0, 0x0, 0x1, 0x3, 0x47, 0xfe, 0x52, 0x0, 0x1, 0x4, 0x8e, 0x0, 0x0, 0x0, 0x1, 0x3, 0x20, 0xfe, 0x52, 0x0, 0x1, 0x1, 0x16, 0x0, 0x0, 0x0, 0x1, 0x2, 0x7e, 0xfe, 0x52, 0x0, 0x1, 0x2, 0x4a, 0x0, 0x0, 0x0, 0x1, 0x2, 0x7d, 0x0, 0x0, 0x0, 0x1, 0x3, 0x27, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x3, 0x27, 0x0, 0x0, 0x0, 0x1, 0x2, 0x7d, 0x0, 0x0, 0x0, 0x1, 0x2, 0x9e, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa6, 0x0, 0x0, 0x0, 0x1, 0x3, 0x2, 0x0, 0x0, 0x0, 0x1, 0x3, 0x27, 0x0, 0x0, 0x0, 0x1, 0x2, 0x7d, 0x0, 0x0, 0x0, 0x1, 0x2, 0x5e, 0x0, 0x0, 0x0, 0x1, 0x2, 0x1a, 0x0, 0x0, 0x0, 0x1, 0x2, 0x54, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa6, 0x0, 0x0, 0x0, 0x1, 0x2, 0x54, 0x0, 0x0, 0x0, 0x1, 0x2, 0x54, 0x0, 0x0, 0x0, 0x1, 0x2, 0x19, 0x0, 0x0, 0x0, 0x1, 0x2, 0x40, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa6, 0x0, 0x0, 0x0, 0x1, 0x2, 0x58, 0x0, 0x0, 0x0, 0x1, 0x3, 0x5, 0x0, 0x0, 0x0, 0x1, 0x2, 0x82, 0x0, 0x0, 0x0, 0x1, 0x2, 0x7d, 0x0, 0x0, 0x0, 0x1, 0x1, 0xb1, 0x0, 0x0, 0x0, 0x1, 0x2, 0xbd, 0x0, 0x0, 0x0, 0x1, 0x2, 0xbd, 0x0, 0x0, 0x0, 0x1, 0x2, 0xbd, 0x0, 0x0, 0x0, 0x1, 0x2, 0x16, 0x0, 0x0, 0x0, 0x1, 0x2, 0x90, 0x0, 0x0, 0x0, 0x1, 0x2, 0x90, 0x0, 0x0, 0x0, 0x1, 0x2, 0x54, 0x0, 0x0, 0x0, 0x1, 0x2, 0x67, 0x0, 0x0, 0x0, 0x1, 0x2, 0x5e, 0x0, 0x0, 0x0, 0x1, 0x3, 0x47, 0x0, 0x0, 0x0, 0x1, 0x2, 0x17, 0x0, 0x0, 0x0, 0x1, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x1, 0x2, 0x58, 0x0, 0x0, 0x0, 0x1, 0x2, 0x5e, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa6, 0xfe, 0x52, 0x0, 0x1, 0x2, 0xec, 0x0, 0x0, 0x0, 0x1, 0x2, 0x66, 0x0, 0x0, 0x0, 0x1, 0x2, 0xec, 0xfe, 0x89, 0x0, 0x1, 0x2, 0x66, 0xfe, 0x89, 0x0, 0x1, 0x2, 0xec, 0xfe, 0xbf, 0x0, 0x1, 0x2, 0x66, 0xfe, 0xbf, 0x0, 0x1, 0x2, 0xec, 0xfe, 0x74, 0x0, 0x1, 0x2, 0x66, 0xfe, 0x74, 0x0, 0x1, 0x2, 0xec, 0xfe, 0x15, 0x0, 0x1, 0x2, 0x66, 0xfe, 0x15, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x3, 0x93, 0x0, 0x0, 0x0, 0x1, 0x1, 0xe8, 0x0, 0x0, 0x0, 0x1, 0x3, 0x4c, 0x0, 0x0, 0x0, 0x1, 0x4, 0x42, 0x0, 0x0, 0x0, 0x1, 0x3, 0x52, 0xfe, 0x52, 0x0, 0x1, 0x3, 0x66, 0x0, 0x0, 0x0, 0x1, 0x2, 0xe, 0x0, 0x0, 0x0, 0x1, 0x1, 0xd6, 0x0, 0x0, 0x0, 0x1, 0x2, 0xde, 0x0, 0x0, 0x0, 0x1, 0x3, 0x2c, 0x0, 0x0, 0x0, 0x1, 0x3, 0x34, 0x0, 0x0, 0x0, 0x1, 0x3, 0x24, 0xfe, 0x52, 0x0, 0x1, 0x3, 0xe, 0x0, 0x0, 0x0, 0x1, 0x3, 0x27, 0x0, 0x0, 0x0, 0x1, 0x3, 0x84, 0x0, 0x0, 0x0, 0x1, 0x3, 0x98, 0x0, 0x0, 0x0, 0x1, 0x3, 0x5f, 0x0, 0x0, 0x0, 0x1, 0x2, 0xfa, 0x0, 0x0, 0x0, 0x1, 0x2, 0x7a, 0xfe, 0x52, 0x0, 0x1, 0x3, 0x66, 0x0, 0x0, 0x0, 0x1, 0x3, 0x34, 0x0, 0x0, 0x0, 0x1, 0x1, 0xf7, 0x0, 0x0, 0x0, 0x1, 0x2, 0xc6, 0x0, 0x0, 0x0, 0x1, 0x3, 0x8e, 0x0, 0x0, 0x0, 0x1, 0x4, 0x4c, 0x0, 0x0, 0x0, 0x1, 0x3, 0x16, 0x0, 0x0, 0x0, 0x1, 0x2, 0xc6, 0x0, 0x0, 0x0, 0x1, 0x1, 0xf3, 0x0, 0x8, 0x0, 0x1, 0x2, 0x9d, 0x0, 0x7, 0x0, 0x1, 0x1, 0x7d, 0x0, 0x0, 0x0, 0x1, 0x2, 0xf7, 0x0, 0x0, 0x0, 0x1, 0x3, 0x60, 0xfe, 0x52, 0x0, 0x1, 0x2, 0xfc, 0x0, 0x0, 0x0, 0x1, 0x3, 0x65, 0x0, 0x0, 0x0, 0x1, 0x2, 0xb7, 0x0, 0x0, 0x0, 0x1, 0x2, 0x99, 0x0, 0x0, 0x0, 0x1, 0x2, 0x99, 0x0, 0x0, 0x0, 0x1, 0x2, 0x9e, 0x0, 0x0, 0x0, 0x1, 0x2, 0x54, 0x0, 0x0, 0x0, 0x1, 0x1, 0xf4, 0x0, 0x0, 0x0, 0x1, 0x3, 0x2, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa6, 0x0, 0x0, 0x0, 0x1, 0x2, 0x9e, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa6, 0x0, 0x0, 0x0, 0x1, 0x2, 0xbe, 0x0, 0x0, 0x0, 0x1, 0x2, 0x17, 0x0, 0x0, 0x0, 0x1, 0x3, 0x27, 0x0, 0x0, 0x0, 0x1, 0x3, 0x73, 0xfe, 0x52, 0x0, 0x1, 0x2, 0xbc, 0x0, 0x0, 0x0, 0x1, 0x2, 0xc3, 0xff, 0xe4, 0x0, 0x1, 0x2, 0x5e, 0x0, 0x0, 0x0, 0x1, 0x3, 0xf5, 0x0, 0x0, 0x0, 0x1, 0x3, 0x47, 0x0, 0x0, 0x0, 0x1, 0x2, 0x5e, 0x0, 0x0, 0x0, 0x1, 0x3, 0x2, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa3, 0x0, 0x0, 0x0, 0x1, 0x2, 0x35, 0x0, 0x0, 0x0, 0x1, 0x2, 0x73, 0x0, 0x0, 0x0, 0x1, 0x1, 0xd4, 0x0, 0x0, 0x0, 0x1, 0x2, 0x93, 0xfe, 0x52, 0x0, 0x1, 0x2, 0xbe, 0xfe, 0x52, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x3, 0x2, 0xfe, 0x52, 0x0, 0x1, 0x2, 0x89, 0xfe, 0x52, 0x0, 0x1, 0x3, 0x77, 0xfe, 0x52, 0x0, 0x1, 0x2, 0x9e, 0xfe, 0x52, 0x0, 0x1, 0x2, 0x4a, 0xfe, 0x56, 0x0, 0x1, 0x2, 0x19, 0x0, 0x0, 0x0, 0x1, 0x5, 0x0, 0x0, 0x0, 0x0, 0x1, 0x3, 0xd1, 0x0, 0x0, 0x0, 0x1, 0x4, 0x31, 0x0, 0x0, 0x0, 0x1, 0x3, 0xd7, 0x0, 0x0, 0x0, 0x1, 0x4, 0xc5, 0x0, 0x0, 0x0, 0x1, 0x3, 0xd1, 0x0, 0x0, 0x0, 0x1, 0x3, 0xfc, 0x0, 0x0, 0x0, 0x1, 0x3, 0x76, 0x0, 0x0, 0x0, 0x1, 0x3, 0xfc, 0x0, 0x0, 0x0, 0x1, 0x3, 0x76, 0xff, 0xf6, 0x0, 0x1, 0x3, 0xfc, 0x0, 0x0, 0x0, 0x1, 0x3, 0x76, 0xfe, 0x52, 0x0, 0x1, 0x2, 0x9e, 0x0, 0x0, 0x0, 0x1, 0x2, 0xae, 0x0, 0x0, 0x0, 0x1, 0x3, 0x95, 0x0, 0x0, 0x0, 0x1, 0x1, 0x92, 0x0, 0x0, 0x0, 0x1, 0x2, 0xcb, 0x0, 0x0, 0x0, 0x1, 0x1, 0xae, 0x0, 0x0, 0x0, 0x1, 0x3, 0x3b, 0x0, 0x0, 0x0, 0x1, 0x2, 0xcd, 0x0, 0x0, 0x0, 0x1, 0x5, 0x6e, 0x0, 0x0, 0x0, 0x1, 0x4, 0x13, 0x0, 0x0, 0x0, 0x1, 0x2, 0x9e, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa6, 0xfe, 0x52, 0x0, 0x1, 0x3, 0xaa, 0x0, 0x0, 0x0, 0x1, 0x3, 0xc4, 0xfe, 0x52, 0x0, 0x1, 0x3, 0x27, 0x0, 0x0, 0x0, 0x1, 0x2, 0x88, 0xfe, 0x52, 0x0, 0x1, 0x1, 0xdb, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0xfe, 0x52, 0x0, 0x1, 0x3, 0xd, 0xfe, 0x52, 0x0, 0x1, 0x2, 0xa6, 0xfe, 0x52, 0x0, 0x1, 0x1, 0xf7, 0xfe, 0x52, 0x0, 0x1, 0x2, 0xf5, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa6, 0x0, 0x0, 0x0, 0x1, 0x3, 0x5c, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa6, 0xfe, 0x52, 0x0, 0x1, 0x2, 0x9e, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa6, 0x0, 0x0, 0x0, 0x1, 0x2, 0xf5, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa6, 0x0, 0x0, 0x0, 0x1, 0x2, 0x7d, 0x0, 0x0, 0x0, 0x1, 0x2, 0x17, 0x0, 0x0, 0x0, 0x1, 0x2, 0x93, 0x0, 0x0, 0x0, 0x1, 0x2, 0x25, 0x0, 0x0, 0x0, 0x1, 0x3, 0x66, 0x0, 0x0, 0x0, 0x1, 0x3, 0xa9, 0x0, 0x0, 0x0, 0x1, 0x2, 0x4c, 0x0, 0x0, 0x0, 0x1, 0x2, 0x35, 0x0, 0x0, 0x0, 0x1, 0x3, 0x73, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x4, 0xcc, 0x0, 0x0, 0x0, 0x1, 0x2, 0xf5, 0x0, 0x0, 0x0, 0x1, 0x2, 0xee, 0x0, 0x0, 0x0, 0x1, 0x3, 0x3c, 0x0, 0x0, 0x0, 0x1, 0x3, 0x7, 0x0, 0x0, 0x0, 0x1, 0x3, 0x7, 0x0, 0x0, 0x0, 0x1, 0x3, 0x5c, 0x0, 0x0, 0x0, 0x1, 0x1, 0x92, 0x0, 0x0, 0x0, 0x1, 0x1, 0x91, 0xfe, 0x52, 0x0, 0x1, 0x3, 0x2, 0x0, 0x0, 0x0, 0x1, 0x2, 0xf4, 0x0, 0x0, 0x0, 0x1, 0x4, 0x19, 0x0, 0x0, 0x0, 0x1, 0x3, 0x26, 0x0, 0x0, 0x0, 0x1, 0x2, 0x81, 0x0, 0x0, 0x0, 0x1, 0x2, 0xd5, 0x0, 0x0, 0x0, 0x1, 0x3, 0x52, 0x0, 0x0, 0x0, 0x1, 0x2, 0xe4, 0x0, 0x0, 0x0, 0x1, 0x4, 0x78, 0x0, 0x0, 0x0, 0x1, 0x3, 0x39, 0x0, 0x0, 0x0, 0x1, 0x2, 0xd4, 0x0, 0x0, 0x0, 0x1, 0x2, 0xb4, 0x0, 0x0, 0x0, 0x1, 0x2, 0x5c, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8b, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8b, 0x0, 0x0, 0x0, 0x1, 0x2, 0x77, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8b, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8b, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8b, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8b, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8b, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8b, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8b, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1e, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0xfe, 0x52, 0x0, 0x1, 0x1, 0x8a, 0x0, 0x1, 0x0, 0x1, 0x1, 0x16, 0x0, 0x0, 0x0, 0x1, 0x1, 0xc7, 0x0, 0x0, 0x0, 0x1, 0x2, 0x7d, 0xfe, 0x52, 0x0, 0x2, 0x0, 0x5d, 0x0, 0x13, 0x0, 0x1c, 0x0, 0x0, 0x0, 0x24, 0x0, 0x3d, 0x0, 0xa, 0x0, 0x44, 0x0, 0x5d, 0x0, 0x24, 0x0, 0x8e, 0x0, 0x91, 0x0, 0x3e, 0x0, 0x9a, 0x0, 0x9a, 0x0, 0x42, 0x0, 0xa8, 0x0, 0xa8, 0x0, 0x43, 0x0, 0xae, 0x0, 0xb2, 0x0, 0x44, 0x0, 0xba, 0x0, 0xba, 0x0, 0x49, 0x0, 0xc3, 0x0, 0xc3, 0x0, 0x4a, 0x0, 0xc6, 0x0, 0xc7, 0x0, 0x4b, 0x0, 0xd0, 0x0, 0xd1, 0x0, 0x4d, 0x0, 0xd5, 0x0, 0xd5, 0x0, 0x4f, 0x0, 0xe9, 0x0, 0xef, 0x0, 0x50, 0x0, 0xf2, 0x0, 0xf3, 0x0, 0x57, 0x0, 0xfa, 0x0, 0xfa, 0x0, 0x59, 0x1, 0xd, 0x1, 0xd, 0x0, 0x5a, 0x1, 0xf, 0x1, 0xf, 0x0, 0x5b, 0x1, 0x28, 0x1, 0x29, 0x0, 0x5c, 0x1, 0x2d, 0x1, 0x2d, 0x0, 0x5e, 0x1, 0x41, 0x1, 0x41, 0x0, 0x5f, 0x1, 0x45, 0x1, 0x45, 0x0, 0x60, 0x1, 0x48, 0x1, 0x48, 0x0, 0x61, 0x1, 0x4e, 0x1, 0x4e, 0x0, 0x62, 0x1, 0x51, 0x1, 0x52, 0x0, 0x63, 0x1, 0x54, 0x1, 0x54, 0x0, 0x65, 0x1, 0x59, 0x1, 0x59, 0x0, 0x66, 0x1, 0x61, 0x1, 0x61, 0x0, 0x67, 0x1, 0x6c, 0x1, 0x6c, 0x0, 0x68, 0x1, 0x76, 0x1, 0x76, 0x0, 0x69, 0x1, 0x79, 0x1, 0x7b, 0x0, 0x6a, 0x1, 0x91, 0x1, 0x92, 0x0, 0x6d, 0x1, 0xca, 0x1, 0xcd, 0x0, 0x6f, 0x1, 0xf6, 0x1, 0xf8, 0x0, 0x73, 0x2, 0x5, 0x2, 0xc, 0x0, 0x76, 0x2, 0xe, 0x2, 0x4a, 0x0, 0x7e, 0x2, 0x4c, 0x2, 0x67, 0x0, 0xbb, 0x2, 0x69, 0x2, 0x6b, 0x0, 0xd7, 0x2, 0x6d, 0x2, 0x6d, 0x0, 0xda, 0x3, 0x46, 0x3, 0x46, 0x0, 0xdb, 0x3, 0x49, 0x3, 0x49, 0x0, 0xdc, 0x3, 0x4c, 0x3, 0x4c, 0x0, 0xdd, 0x3, 0x88, 0x3, 0x88, 0x0, 0xde, 0x3, 0x9a, 0x3, 0x9a, 0x0, 0xdf, 0x3, 0xea, 0x3, 0xeb, 0x0, 0xe0, 0x4, 0x6, 0x4, 0x7, 0x0, 0xe2, 0x4, 0x22, 0x4, 0x22, 0x0, 0xe4, 0x4, 0x33, 0x4, 0x33, 0x0, 0xe5, 0x4, 0x36, 0x4, 0x36, 0x0, 0xe6, 0x4, 0x7c, 0x4, 0x7d, 0x0, 0xe7, 0x8, 0x63, 0x8, 0x64, 0x0, 0xe9, 0x8, 0x66, 0x8, 0x6b, 0x0, 0xeb, 0x8, 0x6e, 0x8, 0x76, 0x0, 0xf1, 0x8, 0x7a, 0x8, 0x7e, 0x0, 0xfa, 0x8, 0x82, 0x8, 0x87, 0x0, 0xff, 0x8, 0xcc, 0x8, 0xcc, 0x1, 0x5, 0x9, 0x3, 0x9, 0xc, 0x1, 0x6, 0x9, 0x27, 0x9, 0x28, 0x1, 0x10, 0x9, 0xc1, 0x9, 0xc2, 0x1, 0x12, 0x9, 0xf3, 0x9, 0xf4, 0x1, 0x14, 0xb, 0x95, 0xb, 0x95, 0x1, 0x16, 0xb, 0x9d, 0xb, 0xa0, 0x1, 0x17, 0xb, 0xa2, 0xb, 0xa4, 0x1, 0x1b, 0xb, 0xa7, 0xb, 0xa7, 0x1, 0x1e, 0xb, 0xaa, 0xb, 0xaf, 0x1, 0x1f, 0xb, 0xb6, 0xb, 0xb6, 0x1, 0x25, 0xb, 0xba, 0xb, 0xba, 0x1, 0x26, 0xb, 0xbe, 0xb, 0xbf, 0x1, 0x27, 0xb, 0xc1, 0xb, 0xc3, 0x1, 0x29, 0xb, 0xc5, 0xb, 0xc5, 0x1, 0x2c, 0xb, 0xc7, 0xb, 0xcb, 0x1, 0x2d, 0xb, 0xce, 0xb, 0xd1, 0x1, 0x32, 0xd, 0xc6, 0xd, 0xc6, 0x1, 0x36, 0x11, 0xd4, 0x11, 0xd4, 0x1, 0x37, 0x11, 0xd6, 0x11, 0xd7, 0x1, 0x38, 0x11, 0xd9, 0x11, 0xea, 0x1, 0x3a, 0x11, 0xec, 0x11, 0xee, 0x1, 0x4c, 0x11, 0xf1, 0x11, 0xf2, 0x1, 0x4f, 0x12, 0x38, 0x12, 0x38, 0x1, 0x51, 0x12, 0xfe, 0x13, 0x1, 0x1, 0x52, 0x13, 0x3, 0x13, 0x4, 0x1, 0x56, 0x13, 0x6, 0x13, 0x11, 0x1, 0x58, 0x13, 0x14, 0x13, 0x23, 0x1, 0x64, 0x13, 0x28, 0x13, 0x2b, 0x1, 0x74, 0x13, 0x31, 0x13, 0x44, 0x1, 0x78, 0x15, 0x61, 0x15, 0x73, 0x1, 0x8c, 0x15, 0x8b, 0x15, 0x8b, 0x1, 0x9f, 0x15, 0x8d, 0x15, 0x8d, 0x1, 0xa0, 0x15, 0xc2, 0x15, 0xcb, 0x1, 0xa1, 0x16, 0xea, 0x16, 0xeb, 0x1, 0xab, 0x17, 0x2, 0x17, 0x2, 0x1, 0xad, 0x17, 0xc, 0x17, 0xc, 0x1, 0xae, 0x17, 0x16, 0x17, 0x16, 0x1, 0xaf, 0x17, 0x86, 0x17, 0x86, 0x1, 0xb0, 0x0, 0x2, 0x0, 0x9, 0x2, 0xc7, 0x2, 0xca, 0x0, 0x0, 0x2, 0xcd, 0x2, 0xd1, 0x0, 0x4, 0x2, 0xd4, 0x2, 0xd7, 0x0, 0x9, 0x2, 0xda, 0x2, 0xe4, 0x0, 0xd, 0x2, 0xea, 0x2, 0xed, 0x0, 0x18, 0x2, 0xf8, 0x2, 0xfa, 0x0, 0x1c, 0x2, 0xfe, 0x2, 0xff, 0x0, 0x1f, 0x3, 0x3, 0x3, 0x3, 0x0, 0x21, 0x3, 0x6, 0x3, 0x6, 0x0, 0x22, 0x0, 0x23, 0x0, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x0, 0x94, 0x0, 0x0, 0x0, 0x9a, 0x0, 0x0, 0x0, 0xa0, 0x0, 0x0, 0x0, 0xa6, 0x0, 0x0, 0x0, 0xac, 0x0, 0x0, 0x0, 0xb2, 0x0, 0x0, 0x0, 0xb8, 0x0, 0x0, 0x0, 0xbe, 0x0, 0x0, 0x0, 0xc4, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x0, 0xd0, 0x0, 0x0, 0x0, 0xd6, 0x0, 0x0, 0x0, 0xdc, 0x0, 0x0, 0x0, 0xe2, 0x0, 0x0, 0x0, 0xe8, 0x0, 0x0, 0x0, 0xee, 0x0, 0x0, 0x0, 0xf4, 0x0, 0x0, 0x0, 0xfa, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x6, 0x0, 0x0, 0x1, 0xc, 0x0, 0x0, 0x1, 0x12, 0x0, 0x0, 0x1, 0x18, 0x0, 0x0, 0x1, 0x1e, 0x0, 0x0, 0x1, 0x24, 0x0, 0x0, 0x1, 0x2a, 0x0, 0x0, 0x1, 0x30, 0x0, 0x0, 0x1, 0x36, 0x0, 0x0, 0x1, 0x3c, 0x0, 0x0, 0x1, 0x42, 0x0, 0x0, 0x1, 0x48, 0x0, 0x0, 0x1, 0x4e, 0x0, 0x0, 0x1, 0x54, 0x0, 0x0, 0x1, 0x5a, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xfe, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xfe, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x2, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0xfe, 0x0, 0xff, 0xff, 0x0, 0x1, 0x16, 0x38, 0x13, 0x6a, 0x0, 0x1, 0x16, 0x84, 0x0, 0xc, 0x2, 0x67, 0x4, 0xd0, 0x4, 0xd6, 0x4, 0xdc, 0x4, 0xe2, 0x4, 0xe8, 0x4, 0xee, 0x4, 0xf4, 0x4, 0xfa, 0x5, 0x0, 0x5, 0x6, 0x5, 0xc, 0x5, 0x12, 0x5, 0x18, 0x5, 0x1e, 0x5, 0x24, 0x5, 0x2a, 0x5, 0x30, 0x5, 0x36, 0x5, 0x3c, 0x5, 0x42, 0x5, 0x48, 0x5, 0x4e, 0x5, 0x54, 0x5, 0x5a, 0x5, 0x60, 0x5, 0x66, 0x5, 0x6c, 0x5, 0x72, 0x5, 0x78, 0x5, 0x7e, 0x5, 0x84, 0x5, 0x8a, 0x5, 0x90, 0x5, 0x96, 0x5, 0x9c, 0x5, 0xa2, 0x5, 0xa8, 0x5, 0xb0, 0x5, 0xb6, 0x5, 0xbe, 0x5, 0xc4, 0x5, 0xcc, 0x5, 0xd2, 0x5, 0xd8, 0x5, 0xde, 0x5, 0xe4, 0x5, 0xea, 0x5, 0xf0, 0x5, 0xf6, 0x5, 0xfc, 0x6, 0x2, 0x6, 0xa, 0x6, 0x10, 0x6, 0x16, 0x6, 0x1c, 0x6, 0x22, 0x6, 0x28, 0x6, 0x30, 0x6, 0x36, 0x6, 0x3c, 0x6, 0x42, 0x6, 0x48, 0x6, 0x4e, 0x6, 0x54, 0x6, 0x5a, 0x6, 0x60, 0x6, 0x66, 0x6, 0x6e, 0x6, 0x74, 0x6, 0x7a, 0x6, 0x82, 0x6, 0x88, 0x6, 0x8e, 0x6, 0x94, 0x6, 0x9c, 0x6, 0xa2, 0x6, 0xa8, 0x6, 0xae, 0x6, 0xb4, 0x6, 0xba, 0x6, 0xc0, 0x6, 0xc6, 0x6, 0xcc, 0x6, 0xd2, 0x6, 0xd8, 0x6, 0xde, 0x6, 0xe4, 0x6, 0xea, 0x6, 0xf0, 0x6, 0xf6, 0x6, 0xfc, 0x7, 0x2, 0x7, 0x8, 0x7, 0xe, 0x7, 0x14, 0x7, 0x1a, 0x7, 0x20, 0x7, 0x26, 0x7, 0x2c, 0x7, 0x32, 0x7, 0x38, 0x7, 0x3e, 0x7, 0x44, 0x7, 0x4a, 0x7, 0x50, 0x7, 0x56, 0x7, 0x5c, 0x7, 0x62, 0x7, 0x68, 0x7, 0x6e, 0x7, 0x74, 0x7, 0x7a, 0x7, 0x80, 0x7, 0x86, 0x7, 0x8c, 0x7, 0x92, 0x7, 0x98, 0x7, 0x9e, 0x7, 0xa4, 0x7, 0xaa, 0x7, 0xb0, 0x7, 0xb6, 0x7, 0xbc, 0x7, 0xc2, 0x7, 0xc8, 0x7, 0xce, 0x7, 0xd4, 0x7, 0xda, 0x7, 0xe0, 0x7, 0xe6, 0x7, 0xec, 0x7, 0xf2, 0x7, 0xf8, 0x7, 0xfe, 0x8, 0x4, 0x8, 0xa, 0x8, 0x10, 0x8, 0x16, 0x8, 0x1e, 0x8, 0x24, 0x8, 0x2a, 0x8, 0x30, 0x8, 0x36, 0x8, 0x3c, 0x8, 0x42, 0x8, 0x4a, 0x8, 0x50, 0x8, 0x56, 0x8, 0x5c, 0x8, 0x62, 0x8, 0x68, 0x8, 0x6e, 0x8, 0x74, 0x8, 0x7a, 0x8, 0x80, 0x8, 0x86, 0x8, 0x8c, 0x8, 0x92, 0x8, 0x98, 0x8, 0x9e, 0x8, 0xa4, 0x8, 0xaa, 0x8, 0xb0, 0x8, 0xb6, 0x8, 0xbc, 0x8, 0xc2, 0x8, 0xc8, 0x8, 0xce, 0x8, 0xd4, 0x8, 0xda, 0x8, 0xe0, 0x8, 0xe8, 0x8, 0xee, 0x8, 0xf4, 0x8, 0xfa, 0x9, 0x0, 0x9, 0x6, 0x9, 0xc, 0x9, 0x12, 0x9, 0x18, 0x9, 0x1e, 0x9, 0x24, 0x9, 0x2a, 0x9, 0x30, 0x9, 0x36, 0x9, 0x3c, 0x9, 0x42, 0x9, 0x48, 0x9, 0x4e, 0x9, 0x54, 0x9, 0x5a, 0x9, 0x60, 0x9, 0x66, 0x9, 0x6c, 0x9, 0x72, 0x9, 0x78, 0x9, 0x7e, 0x9, 0x84, 0x9, 0x8a, 0x9, 0x90, 0x9, 0x96, 0x9, 0x9c, 0x9, 0xa2, 0x9, 0xa8, 0x9, 0xae, 0x9, 0xb4, 0x9, 0xba, 0x9, 0xc0, 0x9, 0xc6, 0x9, 0xcc, 0x9, 0xd2, 0x9, 0xd8, 0x9, 0xde, 0x9, 0xe4, 0x9, 0xea, 0x9, 0xf0, 0x9, 0xf6, 0x9, 0xfc, 0xa, 0x2, 0xa, 0x8, 0xa, 0xe, 0xa, 0x14, 0xa, 0x1a, 0xa, 0x20, 0xa, 0x26, 0xa, 0x2c, 0xa, 0x32, 0xa, 0x3a, 0xa, 0x40, 0xa, 0x46, 0xa, 0x4c, 0xa, 0x52, 0xa, 0x58, 0xa, 0x5e, 0xa, 0x64, 0xa, 0x6a, 0xa, 0x70, 0xa, 0x76, 0xa, 0x7c, 0xa, 0x82, 0xa, 0x88, 0xa, 0x8e, 0xa, 0x94, 0xa, 0x9a, 0xa, 0xa0, 0xa, 0xa6, 0xa, 0xac, 0xa, 0xb2, 0xa, 0xb8, 0xa, 0xbe, 0xa, 0xc4, 0xa, 0xca, 0xa, 0xd0, 0xa, 0xd6, 0xa, 0xdc, 0xa, 0xe2, 0xa, 0xe8, 0xa, 0xee, 0xa, 0xf4, 0xa, 0xfa, 0xb, 0x0, 0xb, 0x6, 0xb, 0xc, 0xb, 0x12, 0xb, 0x18, 0xb, 0x1e, 0xb, 0x24, 0xb, 0x2a, 0xb, 0x30, 0xb, 0x36, 0xb, 0x3c, 0xb, 0x42, 0xb, 0x48, 0xb, 0x4e, 0xb, 0x54, 0xb, 0x5a, 0xb, 0x60, 0xb, 0x66, 0xb, 0x6c, 0xb, 0x72, 0xb, 0x78, 0xb, 0x7e, 0xb, 0x84, 0xb, 0x8a, 0xb, 0x90, 0xb, 0x96, 0xb, 0x9c, 0xb, 0xa2, 0xb, 0xa8, 0xb, 0xae, 0xb, 0xb4, 0xb, 0xba, 0xb, 0xc0, 0xb, 0xc6, 0xb, 0xcc, 0xb, 0xd2, 0xb, 0xd8, 0xb, 0xde, 0xb, 0xe4, 0xb, 0xea, 0xb, 0xf0, 0xb, 0xf6, 0xb, 0xfc, 0xc, 0x2, 0xc, 0x8, 0xc, 0xe, 0xc, 0x14, 0xc, 0x1a, 0xc, 0x20, 0xc, 0x26, 0xc, 0x2c, 0xc, 0x32, 0xc, 0x38, 0xc, 0x3e, 0xc, 0x44, 0xc, 0x4a, 0xc, 0x50, 0xc, 0x56, 0xc, 0x5c, 0xc, 0x62, 0xc, 0x68, 0xc, 0x6e, 0xc, 0x74, 0xc, 0x7a, 0xc, 0x80, 0xc, 0x86, 0xc, 0x8c, 0xc, 0x92, 0xc, 0x98, 0xc, 0x9e, 0xc, 0xa4, 0xc, 0xaa, 0xc, 0xb0, 0xc, 0xb6, 0xc, 0xbc, 0xc, 0xc2, 0xc, 0xc8, 0xc, 0xce, 0xc, 0xd4, 0xc, 0xda, 0xc, 0xe0, 0xc, 0xe6, 0xc, 0xec, 0xc, 0xf2, 0xc, 0xf8, 0xc, 0xfe, 0xd, 0x4, 0xd, 0xa, 0xd, 0x10, 0xd, 0x16, 0xd, 0x1c, 0xd, 0x22, 0xd, 0x28, 0xd, 0x2e, 0xd, 0x34, 0xd, 0x3a, 0xd, 0x40, 0xd, 0x46, 0xd, 0x4c, 0xd, 0x52, 0xd, 0x58, 0xd, 0x5e, 0xd, 0x64, 0xd, 0x6a, 0xd, 0x70, 0xd, 0x76, 0xd, 0x7c, 0xd, 0x82, 0xd, 0x88, 0xd, 0x8e, 0xd, 0x94, 0xd, 0x9a, 0xd, 0xa0, 0xd, 0xa6, 0xd, 0xac, 0xd, 0xb2, 0xd, 0xb8, 0xd, 0xbe, 0xd, 0xc4, 0xd, 0xca, 0xd, 0xd0, 0xd, 0xd6, 0xd, 0xdc, 0xd, 0xe2, 0xd, 0xe8, 0xd, 0xee, 0xd, 0xf4, 0xd, 0xfa, 0xe, 0x0, 0xe, 0x6, 0xe, 0xc, 0xe, 0x12, 0xe, 0x18, 0xe, 0x1e, 0xe, 0x24, 0xe, 0x2a, 0xe, 0x30, 0xe, 0x36, 0xe, 0x3c, 0xe, 0x42, 0xe, 0x48, 0xe, 0x4e, 0xe, 0x54, 0xe, 0x5a, 0xe, 0x60, 0xe, 0x66, 0xe, 0x6c, 0xe, 0x72, 0xe, 0x78, 0xe, 0x7e, 0xe, 0x84, 0xe, 0x8a, 0xe, 0x90, 0xe, 0x96, 0xe, 0x9c, 0xe, 0xa2, 0xe, 0xa8, 0xe, 0xae, 0xe, 0xb4, 0xe, 0xba, 0xe, 0xc0, 0xe, 0xc6, 0xe, 0xcc, 0xe, 0xd2, 0xe, 0xd8, 0xe, 0xde, 0xe, 0xe4, 0xe, 0xea, 0xe, 0xf0, 0xe, 0xf6, 0xe, 0xfc, 0xf, 0x2, 0xf, 0xa, 0xf, 0x10, 0xf, 0x16, 0xf, 0x1c, 0xf, 0x22, 0xf, 0x28, 0xf, 0x2e, 0xf, 0x34, 0xf, 0x3a, 0xf, 0x40, 0xf, 0x46, 0xf, 0x4e, 0xf, 0x54, 0xf, 0x5a, 0xf, 0x60, 0xf, 0x66, 0xf, 0x6c, 0xf, 0x72, 0xf, 0x78, 0xf, 0x7e, 0xf, 0x84, 0xf, 0x8a, 0xf, 0x90, 0xf, 0x96, 0xf, 0x9c, 0xf, 0xa2, 0xf, 0xa8, 0xf, 0xae, 0xf, 0xb4, 0xf, 0xba, 0xf, 0xc0, 0xf, 0xc6, 0xf, 0xcc, 0xf, 0xd2, 0xf, 0xd8, 0xf, 0xde, 0xf, 0xe4, 0xf, 0xea, 0xf, 0xf0, 0xf, 0xf6, 0xf, 0xfc, 0x10, 0x2, 0x10, 0x8, 0x10, 0xe, 0x10, 0x14, 0x10, 0x1a, 0x10, 0x20, 0x10, 0x26, 0x10, 0x2c, 0x10, 0x32, 0x10, 0x38, 0x10, 0x3e, 0x10, 0x44, 0x10, 0x4a, 0x10, 0x50, 0x10, 0x56, 0x10, 0x5c, 0x10, 0x62, 0x10, 0x68, 0x10, 0x6e, 0x10, 0x74, 0x10, 0x7a, 0x10, 0x80, 0x10, 0x86, 0x10, 0x8c, 0x10, 0x92, 0x10, 0x98, 0x10, 0x9e, 0x10, 0xa4, 0x10, 0xaa, 0x10, 0xb0, 0x10, 0xb6, 0x10, 0xbc, 0x10, 0xc2, 0x10, 0xc8, 0x10, 0xce, 0x10, 0xd4, 0x10, 0xda, 0x10, 0xe0, 0x10, 0xe6, 0x10, 0xec, 0x10, 0xf2, 0x10, 0xf8, 0x10, 0xfe, 0x11, 0x4, 0x11, 0xa, 0x11, 0x12, 0x11, 0x18, 0x11, 0x1e, 0x11, 0x24, 0x11, 0x2a, 0x11, 0x30, 0x11, 0x36, 0x11, 0x3c, 0x11, 0x42, 0x11, 0x48, 0x11, 0x4e, 0x11, 0x54, 0x11, 0x5a, 0x11, 0x60, 0x11, 0x66, 0x11, 0x6c, 0x11, 0x72, 0x11, 0x78, 0x11, 0x7e, 0x11, 0x84, 0x11, 0x8a, 0x11, 0x92, 0x11, 0x98, 0x11, 0x9e, 0x11, 0xa4, 0x11, 0xaa, 0x11, 0xb0, 0x11, 0xb6, 0x11, 0xbc, 0x11, 0xc2, 0x11, 0xc8, 0x11, 0xce, 0x11, 0xd4, 0x11, 0xdc, 0x11, 0xe2, 0x11, 0xe8, 0x11, 0xee, 0x11, 0xf4, 0x11, 0xfa, 0x12, 0x0, 0x12, 0x6, 0x12, 0xc, 0x12, 0x12, 0x12, 0x18, 0x12, 0x1e, 0x12, 0x24, 0x12, 0x2a, 0x12, 0x30, 0x12, 0x36, 0x12, 0x3c, 0x12, 0x42, 0x12, 0x48, 0x12, 0x4e, 0x12, 0x54, 0x12, 0x5a, 0x12, 0x60, 0x12, 0x66, 0x12, 0x6c, 0x12, 0x72, 0x12, 0x78, 0x12, 0x7e, 0x12, 0x84, 0x12, 0x8a, 0x12, 0x90, 0x12, 0x96, 0x12, 0x9c, 0x12, 0xa2, 0x12, 0xa8, 0x12, 0xae, 0x12, 0xb4, 0x12, 0xba, 0x12, 0xc0, 0x12, 0xc6, 0x12, 0xcc, 0x12, 0xd2, 0x12, 0xd8, 0x12, 0xde, 0x12, 0xe4, 0x12, 0xea, 0x12, 0xf0, 0x12, 0xf6, 0x12, 0xfc, 0x13, 0x2, 0x13, 0x8, 0x13, 0xe, 0x13, 0x14, 0x13, 0x1a, 0x13, 0x20, 0x13, 0x26, 0x13, 0x2c, 0x13, 0x32, 0x13, 0x38, 0x13, 0x3e, 0x13, 0x44, 0x13, 0x4a, 0x13, 0x50, 0x13, 0x56, 0x0, 0x1, 0x2, 0x8b, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x8b, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x8b, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x8b, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x8b, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x8b, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x8b, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x8b, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x8b, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x8b, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xbc, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xbc, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x4c, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xec, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x9e, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x9e, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x5c, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x2, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x2f, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x2e, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x9e, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x2a, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x73, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xf5, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x27, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x9e, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x27, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x7d, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x93, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x73, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xee, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xbc, 0x5, 0xf0, 0x0, 0x1, 0x3, 0xf5, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xcd, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x72, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xbe, 0x5, 0xf0, 0x0, 0x2, 0x2, 0x4a, 0x4, 0x7b, 0x0, 0x23, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x2, 0x2, 0xa4, 0x4, 0x7b, 0x0, 0x17, 0x0, 0x1, 0x3, 0xfe, 0x5, 0xf0, 0x0, 0x2, 0x2, 0x96, 0x4, 0x7b, 0x0, 0x12, 0x0, 0x1, 0x1, 0xe0, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x6a, 0x4, 0x7b, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x1f, 0x6, 0x2f, 0x0, 0x1, 0x1, 0x1f, 0x6, 0x2f, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x3, 0xe9, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x89, 0x4, 0x7b, 0x0, 0x2, 0x2, 0x73, 0x4, 0x7b, 0x0, 0xc, 0x0, 0x1, 0x2, 0xa6, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x6f, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x17, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x27, 0x4, 0x7b, 0x0, 0x1, 0x1, 0x1a, 0x5, 0xf0, 0x0, 0x2, 0x2, 0x7d, 0x4, 0x7b, 0x0, 0x14, 0x0, 0x1, 0x2, 0x5e, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x47, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x62, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x60, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x17, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x27, 0x5, 0xf0, 0x0, 0x1, 0x3, 0xe3, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xa6, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x7d, 0x5, 0xf0, 0x0, 0x2, 0x2, 0x73, 0x4, 0x7b, 0x0, 0x1a, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xbc, 0x5, 0xf0, 0x0, 0x2, 0x2, 0x4a, 0x4, 0x7b, 0x0, 0x23, 0x0, 0x1, 0x3, 0xfe, 0x5, 0xf0, 0x0, 0x1, 0x3, 0xaa, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x51, 0x5, 0xf0, 0x0, 0x2, 0x1, 0x1d, 0x4, 0x7b, 0x0, 0x4, 0x0, 0x1, 0x2, 0xa6, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x89, 0x4, 0x7b, 0x0, 0x1, 0x4, 0x14, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x73, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x1a, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x7d, 0x4, 0x7b, 0x0, 0x1, 0x1, 0xe0, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x5c, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x4c, 0x5, 0xf0, 0x0, 0x1, 0x3, 0xfe, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x58, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x27, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xc4, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x9e, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x3b, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x5c, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xbf, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x2f, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x2f, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x17, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x82, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xf5, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x27, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x2, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xc0, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x27, 0x4, 0x7b, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x1a, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x73, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x1a, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x73, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xa7, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x72, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x60, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xbe, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x17, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xbe, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x96, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x88, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x27, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xf, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x89, 0x4, 0x7b, 0x0, 0x1, 0x1, 0x1a, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x1f, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xbc, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xee, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xbc, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x9e, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x8d, 0x4, 0x7b, 0x0, 0x1, 0x1, 0x2e, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x1f, 0x6, 0x2f, 0x0, 0x1, 0x3, 0x27, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x7d, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x17, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x72, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x60, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x87, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x54, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xd6, 0x4, 0x7b, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x2, 0x1, 0xce, 0x4, 0x7b, 0x0, 0x3, 0x0, 0x1, 0x2, 0xa6, 0x4, 0x7b, 0x0, 0x1, 0x3, 0xfe, 0x5, 0xf0, 0x0, 0x1, 0x3, 0xfe, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x63, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x52, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x52, 0x4, 0x7b, 0x0, 0x2, 0x2, 0x4a, 0x4, 0x7c, 0x0, 0x8, 0x0, 0x1, 0x2, 0x40, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x40, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xee, 0x4, 0x7b, 0x0, 0x1, 0x1, 0x1f, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x6a, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x6a, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xa6, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x62, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x62, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x7d, 0x4, 0x7b, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x1e, 0x6, 0x2f, 0x0, 0x1, 0x1, 0x7, 0x4, 0x7b, 0x0, 0x1, 0x1, 0x80, 0x4, 0x7b, 0x0, 0x1, 0x1, 0x99, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xfe, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x3, 0xe9, 0x4, 0x7b, 0x0, 0x1, 0x3, 0xe9, 0x4, 0x7b, 0x0, 0x1, 0x3, 0xe9, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x89, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x89, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x89, 0x4, 0x7b, 0x0, 0x2, 0x2, 0x73, 0x4, 0x7b, 0x0, 0xe, 0x0, 0x1, 0x4, 0x8d, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xe9, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xa6, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x33, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x33, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x33, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x5e, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x61, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x70, 0x4, 0x7b, 0x0, 0x1, 0x1, 0x82, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x3b, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x51, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x27, 0x4, 0x7b, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xf1, 0x4, 0x7b, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xe, 0x4, 0x7b, 0x0, 0x1, 0x1, 0x1a, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x7d, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x7d, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x5e, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x47, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x5e, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x64, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x17, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x17, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x17, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x17, 0x4, 0x7b, 0x0, 0x1, 0x1, 0xb0, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x3a, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xb0, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x3a, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x27, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x61, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x48, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xa6, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xa3, 0x4, 0x7b, 0x0, 0x1, 0x1, 0x1f, 0x6, 0x2f, 0x0, 0x1, 0x2, 0xab, 0x4, 0x7b, 0x0, 0x1, 0x1, 0x1f, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x6a, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xb0, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x3a, 0x5, 0xf0, 0x0, 0x1, 0x3, 0xfe, 0x5, 0xf0, 0x0, 0x1, 0x3, 0xfe, 0x5, 0xf0, 0x0, 0x1, 0x3, 0xfe, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x47, 0x5, 0xf0, 0x0, 0x1, 0x4, 0x8e, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x20, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x4a, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x7e, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x5e, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x7d, 0x5, 0xf0, 0x0, 0x2, 0x2, 0x4a, 0x4, 0x7c, 0x0, 0x8, 0x0, 0x1, 0x2, 0x45, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x89, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x7d, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x10, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xa3, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x82, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x87, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x16, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x45, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x7d, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x70, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xa6, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x74, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x7d, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x6a, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x1a, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xaa, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x62, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xa4, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x5e, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x7e, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x7e, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xa0, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xee, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x7d, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x74, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x5e, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xef, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xa6, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xa6, 0x4, 0x7b, 0x0, 0x1, 0x1, 0x1f, 0x6, 0x2f, 0x0, 0x1, 0x3, 0x27, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xa6, 0x4, 0x7b, 0x0, 0x1, 0x1, 0xf2, 0x4, 0x7b, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xa6, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x48, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x93, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x2f, 0x5, 0xf0, 0x0, 0x1, 0x4, 0xd5, 0x5, 0xf0, 0x0, 0x1, 0x4, 0x72, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x2, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xbc, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xbc, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xbc, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x99, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x74, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x9e, 0x5, 0xf0, 0x0, 0x1, 0x4, 0x4f, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x73, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xf5, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xee, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x7d, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x73, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x2, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x27, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x2, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x9e, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x4c, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x73, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x6f, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x71, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xcd, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x2, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xb2, 0x5, 0xf0, 0x0, 0x1, 0x4, 0x47, 0x5, 0xf0, 0x0, 0x1, 0x4, 0x47, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x59, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x87, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xbc, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x4e, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x73, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xe0, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x54, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x9b, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x61, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x45, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xf6, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x8d, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x9b, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x40, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x82, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x74, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xf8, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x5, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x82, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x7d, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x9d, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xa6, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xa6, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x54, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x60, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x6b, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x62, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x9d, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x4b, 0x4, 0x7b, 0x0, 0x1, 0x3, 0xa9, 0x4, 0x7b, 0x0, 0x1, 0x3, 0xa9, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x6, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x1d, 0x4, 0x7b, 0x0, 0x1, 0x1, 0x16, 0x4, 0x7b, 0x0, 0x1, 0x1, 0xb2, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xf6, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x74, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xa6, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x27, 0x4, 0x7b, 0x0, 0x1, 0x1, 0x1f, 0x6, 0x2f, 0x0, 0x1, 0x1, 0x1f, 0x6, 0x2f, 0x0, 0x1, 0x1, 0x1f, 0x6, 0x2f, 0x0, 0x1, 0x3, 0xfa, 0x4, 0x7b, 0x0, 0x1, 0x3, 0xf3, 0x4, 0x7b, 0x0, 0x1, 0x1, 0x34, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x9d, 0x4, 0x7b, 0x0, 0x1, 0x3, 0xbc, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x5e, 0x4, 0x7b, 0x0, 0x1, 0x1, 0xf3, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x63, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x73, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xf6, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x84, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x22, 0x4, 0x7b, 0x0, 0x1, 0x4, 0x4f, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x96, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x2c, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x73, 0x4, 0x7b, 0x0, 0x1, 0x4, 0x4f, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x96, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x14, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x25, 0x5, 0xfa, 0x0, 0x1, 0x3, 0x27, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x7d, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x1f, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x95, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x9e, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xa6, 0x4, 0x7b, 0x0, 0x1, 0x4, 0x4f, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x9b, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xee, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x74, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xee, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x74, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xee, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x4, 0x1a, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x65, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x2, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x73, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x4b, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xa3, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x89, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x5, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x27, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x7d, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x45, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xcd, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x62, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xf8, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xee, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x74, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xf8, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x82, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x5e, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x1a, 0x4, 0x7b, 0x0, 0x1, 0x4, 0x14, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x54, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xa6, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x54, 0x4, 0x83, 0x0, 0x1, 0x2, 0x54, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x19, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x40, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xa6, 0x4, 0x7b, 0x0, 0x1, 0x1, 0x18, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x5, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x82, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x7d, 0x4, 0x7b, 0x0, 0x1, 0x1, 0xb1, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xbd, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xbd, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xbd, 0x4, 0x7b, 0x0, 0x1, 0x4, 0x14, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x16, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x90, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x90, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x54, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x67, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x62, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x5e, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x47, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x17, 0x4, 0x7b, 0x0, 0x1, 0x1, 0xfe, 0x4, 0x7b, 0x0, 0x1, 0x1, 0x18, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x5e, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xf8, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xa6, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xec, 0x5, 0xf0, 0x0, 0x1, 0x3, 0xfe, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xec, 0x5, 0xf0, 0x0, 0x1, 0x3, 0xfe, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xec, 0x5, 0xf0, 0x0, 0x1, 0x3, 0xfe, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xec, 0x5, 0xf0, 0x0, 0x1, 0x3, 0xfe, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x93, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xe8, 0x5, 0xf0, 0x0, 0x2, 0x3, 0x4c, 0x5, 0xf0, 0x0, 0x16, 0x0, 0x1, 0x4, 0x42, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x52, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x66, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xc6, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xd6, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xde, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x2c, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x34, 0x5, 0xe2, 0x0, 0x1, 0x3, 0x24, 0x4, 0x7b, 0x0, 0x1, 0x3, 0xe, 0x5, 0xf0, 0x0, 0x2, 0x3, 0x27, 0x5, 0xf0, 0x0, 0xc, 0x0, 0x1, 0x3, 0x84, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x98, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x5f, 0x5, 0xe2, 0x0, 0x1, 0x2, 0xfa, 0x5, 0xe2, 0x0, 0x1, 0x2, 0x7a, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x66, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x34, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xca, 0x4, 0x44, 0x0, 0x1, 0x2, 0xc6, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x8e, 0x5, 0xf0, 0x0, 0x1, 0x4, 0x4c, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xc6, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xf3, 0x5, 0xe7, 0x0, 0x1, 0x2, 0x9d, 0x5, 0xe7, 0x0, 0x1, 0x1, 0x7d, 0x6, 0x31, 0x0, 0x1, 0x2, 0xf7, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x60, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xfc, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x65, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x2a, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x2a, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x9e, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x7d, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x54, 0x4, 0x7b, 0x0, 0x1, 0x1, 0x1a, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x2, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x9e, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xbe, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x17, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x27, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x73, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xbc, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xc3, 0x5, 0xd3, 0x0, 0x1, 0x2, 0x5e, 0x4, 0x7b, 0x0, 0x1, 0x3, 0xf5, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x47, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x5e, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x2, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xa3, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xaa, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x33, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x73, 0x4, 0x7b, 0x0, 0x1, 0x1, 0xd4, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x93, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xbe, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x88, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x9e, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x2f, 0x5, 0xf0, 0x0, 0x1, 0x4, 0xb3, 0x5, 0xf0, 0x0, 0x1, 0x4, 0xc, 0x4, 0x7b, 0x0, 0x1, 0x5, 0x30, 0x5, 0xf0, 0x0, 0x1, 0x3, 0xc6, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x99, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xf6, 0x4, 0x7b, 0x0, 0x1, 0x4, 0xd5, 0x5, 0xf0, 0x0, 0x1, 0x4, 0x18, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x99, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x5, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x27, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x6c, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xda, 0x4, 0x7b, 0x0, 0x1, 0x5, 0x6e, 0x5, 0xf0, 0x0, 0x1, 0x4, 0x13, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x54, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x54, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x2, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x77, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x9e, 0x5, 0xf0, 0x0, 0x2, 0x2, 0x4a, 0x4, 0x7b, 0x0, 0x8, 0x0, 0x1, 0x2, 0x19, 0x4, 0x7b, 0x0, 0x1, 0x5, 0x0, 0x5, 0xf0, 0x0, 0x1, 0x3, 0xd1, 0x4, 0x7b, 0x0, 0x1, 0x4, 0x31, 0x5, 0xf0, 0x0, 0x1, 0x3, 0xd7, 0x4, 0x7b, 0x0, 0x1, 0x4, 0xc5, 0x5, 0xf0, 0x0, 0x1, 0x3, 0xd1, 0x4, 0x7b, 0x0, 0x1, 0x3, 0xfc, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x76, 0x4, 0x7b, 0x0, 0x1, 0x3, 0xfc, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x76, 0x4, 0x71, 0x0, 0x1, 0x3, 0xfc, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x76, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x9e, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x1e, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x2a, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x92, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x5c, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xae, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x3b, 0x5, 0xf0, 0x0, 0x2, 0x2, 0xcd, 0x4, 0x7b, 0x0, 0x0, 0x0, 0x1, 0x5, 0x6e, 0x5, 0xf0, 0x0, 0x1, 0x4, 0x13, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x9e, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xa6, 0x4, 0x7b, 0x0, 0x1, 0x3, 0xaa, 0x5, 0xf0, 0x0, 0x1, 0x3, 0xc4, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x27, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x6f, 0x4, 0x7b, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xdb, 0x5, 0xf0, 0x0, 0x2, 0x1, 0x1d, 0x4, 0x7b, 0x0, 0x0, 0x0, 0x1, 0x2, 0xf0, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x89, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xb2, 0x5, 0xf0, 0x0, 0x1, 0x1, 0xf7, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xf5, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x89, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x5c, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x6a, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x9e, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xf5, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x89, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x7d, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x17, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x93, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x27, 0x4, 0x7b, 0x0, 0x1, 0x3, 0x66, 0x5, 0xf0, 0x0, 0x1, 0x3, 0xa9, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x4c, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x35, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x73, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x2f, 0x7, 0x88, 0x0, 0x1, 0x4, 0xcc, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xf5, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xee, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x3c, 0x6, 0x4, 0x0, 0x1, 0x3, 0x7, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x7, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x5c, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x92, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x91, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x2, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xf4, 0x5, 0xf0, 0x0, 0x1, 0x4, 0x19, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x26, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x81, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xd5, 0x5, 0xf0, 0x0, 0x1, 0x3, 0x52, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xe4, 0x5, 0xf0, 0x0, 0x1, 0x4, 0x78, 0x5, 0xf7, 0x0, 0x1, 0x3, 0x39, 0x5, 0xf7, 0x0, 0x1, 0x2, 0xd4, 0x5, 0xf7, 0x0, 0x1, 0x2, 0xb4, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x5c, 0x4, 0x7b, 0x0, 0x1, 0x2, 0x8b, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x8b, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x77, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x8b, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x8b, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x8b, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x8b, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x8b, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x8b, 0x5, 0xf0, 0x0, 0x1, 0x2, 0x8b, 0x5, 0xf0, 0x0, 0x1, 0x2, 0xf5, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x1e, 0x4, 0x7b, 0x0, 0x1, 0x1, 0x1f, 0x4, 0x7b, 0x0, 0x1, 0x2, 0xea, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x16, 0x5, 0xf0, 0x0, 0x1, 0x1, 0x1f, 0x4, 0x7b, 0x0, 0x1, 0x1, 0x1f, 0x4, 0x7b, 0x0, 0x1, 0x1, 0x1f, 0x4, 0x7b, 0x0, 0x1, 0x1, 0xc7, 0x5, 0xf0, 0x0, 0x2, 0x2, 0x7d, 0x4, 0x7b, 0x0, 0x0, 0x0, 0x2, 0x0, 0x77, 0x0, 0x13, 0x0, 0x1c, 0x0, 0x0, 0x0, 0x24, 0x0, 0x3d, 0x0, 0xa, 0x0, 0x44, 0x0, 0x5d, 0x0, 0x24, 0x0, 0x9a, 0x0, 0x9a, 0x0, 0x3e, 0x0, 0xa8, 0x0, 0xa9, 0x0, 0x3f, 0x0, 0xb2, 0x0, 0xb2, 0x0, 0x41, 0x0, 0xba, 0x0, 0xba, 0x0, 0x42, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0x43, 0x0, 0xc6, 0x0, 0xc7, 0x0, 0x44, 0x0, 0xd1, 0x0, 0xd1, 0x0, 0x46, 0x0, 0xe8, 0x0, 0xe9, 0x0, 0x47, 0x0, 0xf3, 0x0, 0xf3, 0x0, 0x49, 0x0, 0xfa, 0x0, 0xfa, 0x0, 0x4a, 0x1, 0xd, 0x1, 0xd, 0x0, 0x4b, 0x1, 0x15, 0x1, 0x15, 0x0, 0x4c, 0x1, 0x28, 0x1, 0x29, 0x0, 0x4d, 0x1, 0x35, 0x1, 0x35, 0x0, 0x4f, 0x1, 0x41, 0x1, 0x42, 0x0, 0x50, 0x1, 0x45, 0x1, 0x45, 0x0, 0x52, 0x1, 0x48, 0x1, 0x49, 0x0, 0x53, 0x1, 0x4e, 0x1, 0x4e, 0x0, 0x55, 0x1, 0x50, 0x1, 0x56, 0x0, 0x56, 0x1, 0x58, 0x1, 0x59, 0x0, 0x5d, 0x1, 0x5b, 0x1, 0x5d, 0x0, 0x5f, 0x1, 0x5f, 0x1, 0x5f, 0x0, 0x62, 0x1, 0x61, 0x1, 0x61, 0x0, 0x63, 0x1, 0x66, 0x1, 0x66, 0x0, 0x64, 0x1, 0x69, 0x1, 0x6a, 0x0, 0x65, 0x1, 0x6c, 0x1, 0x70, 0x0, 0x67, 0x1, 0x74, 0x1, 0x7b, 0x0, 0x6c, 0x1, 0xac, 0x1, 0xac, 0x0, 0x74, 0x1, 0xf6, 0x1, 0xf9, 0x0, 0x75, 0x2, 0x5, 0x2, 0xc, 0x0, 0x79, 0x2, 0xe, 0x2, 0x4a, 0x0, 0x81, 0x2, 0x4c, 0x2, 0x67, 0x0, 0xbe, 0x2, 0x69, 0x2, 0x6b, 0x0, 0xda, 0x2, 0x6d, 0x2, 0x6d, 0x0, 0xdd, 0x3, 0x45, 0x3, 0x5d, 0x0, 0xde, 0x3, 0x64, 0x3, 0x65, 0x0, 0xf7, 0x3, 0x69, 0x3, 0x69, 0x0, 0xf9, 0x3, 0x6b, 0x3, 0x6b, 0x0, 0xfa, 0x3, 0x6d, 0x3, 0x6d, 0x0, 0xfb, 0x3, 0x6f, 0x3, 0x6f, 0x0, 0xfc, 0x3, 0x77, 0x3, 0x77, 0x0, 0xfd, 0x3, 0x84, 0x3, 0x8a, 0x0, 0xfe, 0x3, 0x8c, 0x3, 0x8c, 0x1, 0x5, 0x3, 0x90, 0x3, 0x90, 0x1, 0x6, 0x3, 0x98, 0x3, 0x9a, 0x1, 0x7, 0x3, 0x9d, 0x3, 0x9e, 0x1, 0xa, 0x3, 0xa3, 0x3, 0xac, 0x1, 0xc, 0x3, 0xae, 0x3, 0xcc, 0x1, 0x16, 0x3, 0xce, 0x3, 0xe3, 0x1, 0x35, 0x3, 0xe8, 0x3, 0xef, 0x1, 0x4b, 0x3, 0xf3, 0x4, 0x1, 0x1, 0x53, 0x4, 0x4, 0x4, 0x9, 0x1, 0x62, 0x4, 0x22, 0x4, 0x23, 0x1, 0x68, 0x4, 0x2a, 0x4, 0x2b, 0x1, 0x6a, 0x4, 0x2e, 0x4, 0x36, 0x1, 0x6c, 0x4, 0x40, 0x4, 0x40, 0x1, 0x75, 0x4, 0x4d, 0x4, 0x4d, 0x1, 0x76, 0x4, 0x58, 0x4, 0x58, 0x1, 0x77, 0x4, 0x5e, 0x4, 0x5e, 0x1, 0x78, 0x4, 0x62, 0x4, 0x62, 0x1, 0x79, 0x4, 0x7c, 0x4, 0x7d, 0x1, 0x7a, 0x4, 0x8b, 0x4, 0x8b, 0x1, 0x7c, 0x4, 0x92, 0x4, 0x93, 0x1, 0x7d, 0x4, 0xa7, 0x4, 0xa7, 0x1, 0x7f, 0x4, 0xb2, 0x4, 0xb3, 0x1, 0x80, 0x4, 0xb5, 0x4, 0xb5, 0x1, 0x82, 0x4, 0xb7, 0x4, 0xb7, 0x1, 0x83, 0x8, 0x63, 0x8, 0x6b, 0x1, 0x84, 0x8, 0x6e, 0x8, 0x77, 0x1, 0x8d, 0x8, 0x7a, 0x8, 0x7e, 0x1, 0x97, 0x8, 0x81, 0x8, 0x87, 0x1, 0x9c, 0x8, 0x8b, 0x8, 0x8b, 0x1, 0xa3, 0x8, 0xcc, 0x8, 0xcc, 0x1, 0xa4, 0x9, 0x5, 0x9, 0xc, 0x1, 0xa5, 0x9, 0xf3, 0x9, 0xf4, 0x1, 0xad, 0xb, 0x95, 0xb, 0x95, 0x1, 0xaf, 0xb, 0x9d, 0xb, 0xa0, 0x1, 0xb0, 0xb, 0xa2, 0xb, 0xa4, 0x1, 0xb4, 0xb, 0xa7, 0xb, 0xa7, 0x1, 0xb7, 0xb, 0xaa, 0xb, 0xaf, 0x1, 0xb8, 0xb, 0xb6, 0xb, 0xb6, 0x1, 0xbe, 0xb, 0xba, 0xb, 0xba, 0x1, 0xbf, 0xb, 0xbe, 0xb, 0xbf, 0x1, 0xc0, 0xb, 0xc1, 0xb, 0xc3, 0x1, 0xc2, 0xb, 0xc5, 0xb, 0xc5, 0x1, 0xc5, 0xb, 0xc7, 0xb, 0xcb, 0x1, 0xc6, 0xb, 0xce, 0xb, 0xd1, 0x1, 0xcb, 0xd, 0xc6, 0xd, 0xc6, 0x1, 0xcf, 0x11, 0xd4, 0x11, 0xee, 0x1, 0xd0, 0x11, 0xf1, 0x11, 0xf2, 0x1, 0xeb, 0x12, 0x1e, 0x12, 0x1e, 0x1, 0xed, 0x12, 0x32, 0x12, 0x32, 0x1, 0xee, 0x12, 0x38, 0x12, 0x38, 0x1, 0xef, 0x12, 0xcd, 0x12, 0xd0, 0x1, 0xf0, 0x12, 0xd3, 0x12, 0xd9, 0x1, 0xf4, 0x12, 0xdb, 0x12, 0xde, 0x1, 0xfb, 0x12, 0xe1, 0x12, 0xe1, 0x1, 0xff, 0x12, 0xe3, 0x12, 0xe3, 0x2, 0x0, 0x12, 0xfe, 0x13, 0x1, 0x2, 0x1, 0x13, 0x3, 0x13, 0x4, 0x2, 0x5, 0x13, 0x6, 0x13, 0x11, 0x2, 0x7, 0x13, 0x14, 0x13, 0x23, 0x2, 0x13, 0x13, 0x25, 0x13, 0x25, 0x2, 0x23, 0x13, 0x27, 0x13, 0x2b, 0x2, 0x24, 0x13, 0x30, 0x13, 0x44, 0x2, 0x29, 0x15, 0x61, 0x15, 0x73, 0x2, 0x3e, 0x15, 0x8b, 0x15, 0x8b, 0x2, 0x51, 0x15, 0x8d, 0x15, 0x8d, 0x2, 0x52, 0x15, 0xc2, 0x15, 0xcb, 0x2, 0x53, 0x16, 0xe9, 0x16, 0xeb, 0x2, 0x5d, 0x17, 0x2, 0x17, 0x2, 0x2, 0x60, 0x17, 0xc, 0x17, 0xc, 0x2, 0x61, 0x17, 0x10, 0x17, 0x10, 0x2, 0x62, 0x17, 0x13, 0x17, 0x14, 0x2, 0x63, 0x17, 0x16, 0x17, 0x16, 0x2, 0x65, 0x17, 0x86, 0x17, 0x86, 0x2, 0x66, 0x0, 0x2, 0x0, 0xc, 0x2, 0xb1, 0x2, 0xc5, 0x0, 0x0, 0x2, 0xee, 0x2, 0xf3, 0x0, 0x15, 0x2, 0xf5, 0x2, 0xf5, 0x0, 0x1b, 0x2, 0xf7, 0x2, 0xf7, 0x0, 0x1c, 0x2, 0xfb, 0x2, 0xfd, 0x0, 0x1d, 0x3, 0x1, 0x3, 0x2, 0x0, 0x20, 0x3, 0x4, 0x3, 0x4, 0x0, 0x22, 0x4, 0x17, 0x4, 0x1b, 0x0, 0x23, 0x8, 0xf3, 0x8, 0xf8, 0x0, 0x28, 0xb, 0x8c, 0xb, 0x92, 0x0, 0x2e, 0x16, 0xb9, 0x16, 0xc3, 0x0, 0x35, 0x17, 0x7a, 0x17, 0x7a, 0x0, 0x40, 0x0, 0x41, 0x0, 0x0, 0x1, 0x6, 0x0, 0x0, 0x1, 0xe, 0x0, 0x0, 0x1, 0x16, 0x0, 0x0, 0x1, 0x1e, 0x0, 0x0, 0x1, 0x24, 0x0, 0x0, 0x1, 0x2a, 0x0, 0x0, 0x1, 0x30, 0x0, 0x0, 0x1, 0x36, 0x0, 0x0, 0x1, 0x3e, 0x0, 0x0, 0x1, 0x46, 0x0, 0x0, 0x1, 0x4c, 0x0, 0x0, 0x1, 0x52, 0x0, 0x0, 0x1, 0x58, 0x0, 0x0, 0x1, 0x60, 0x0, 0x0, 0x1, 0x66, 0x0, 0x0, 0x1, 0x6c, 0x0, 0x0, 0x1, 0x72, 0x0, 0x0, 0x1, 0x78, 0x0, 0x0, 0x1, 0x7e, 0x0, 0x0, 0x1, 0x84, 0x0, 0x0, 0x1, 0x8a, 0x0, 0x0, 0x1, 0x90, 0x0, 0x0, 0x1, 0x96, 0x0, 0x0, 0x1, 0x9c, 0x0, 0x0, 0x1, 0xa2, 0x0, 0x0, 0x1, 0xa8, 0x0, 0x0, 0x1, 0xae, 0x0, 0x0, 0x1, 0xb4, 0x0, 0x0, 0x1, 0xba, 0x0, 0x0, 0x1, 0xc0, 0x0, 0x0, 0x1, 0xc6, 0x0, 0x0, 0x1, 0xcc, 0x0, 0x0, 0x1, 0xd2, 0x0, 0x0, 0x1, 0xd8, 0x0, 0x0, 0x1, 0xde, 0x0, 0x0, 0x1, 0xe4, 0x0, 0x0, 0x1, 0xea, 0x0, 0x0, 0x1, 0xf0, 0x0, 0x0, 0x1, 0xf6, 0x0, 0x0, 0x1, 0xfc, 0x0, 0x0, 0x2, 0x2, 0x0, 0x0, 0x2, 0x8, 0x0, 0x0, 0x2, 0xe, 0x0, 0x0, 0x2, 0x14, 0x0, 0x0, 0x2, 0x1a, 0x0, 0x0, 0x2, 0x20, 0x0, 0x0, 0x2, 0x26, 0x0, 0x0, 0x2, 0x2c, 0x0, 0x0, 0x2, 0x32, 0x0, 0x0, 0x2, 0x38, 0x0, 0x0, 0x2, 0x3e, 0x0, 0x0, 0x2, 0x46, 0x0, 0x0, 0x2, 0x4e, 0x0, 0x0, 0x2, 0x54, 0x0, 0x0, 0x2, 0x5a, 0x0, 0x0, 0x2, 0x60, 0x0, 0x0, 0x2, 0x66, 0x0, 0x0, 0x2, 0x6c, 0x0, 0x0, 0x2, 0x72, 0x0, 0x0, 0x2, 0x78, 0x0, 0x0, 0x2, 0x7e, 0x0, 0x0, 0x2, 0x84, 0x0, 0x0, 0x2, 0x8a, 0x0, 0x0, 0x2, 0x90, 0x0, 0x0, 0x2, 0x96, 0x0, 0x2, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x4, 0x0, 0x2, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x4, 0x0, 0x2, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x7, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x2, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x4, 0x0, 0x2, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x8, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x2, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x7, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x8a, 0x3, 0x6f, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x72, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x72, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x8a, 0x4, 0x72, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfd, 0x8e, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x7f, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x41, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x17, 0x4, 0x7b, 0x0, 0x1, 0xfc, 0xea, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x2, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0xc, 0x0, 0x2, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x10, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0xfe, 0x0, 0x4, 0x7b, 0x0, 0x1, 0x1, 0x3e, 0x0, 0xfe, 0x0, 0x1, 0x1, 0x44, 0x0, 0xc, 0x0, 0x1e, 0x0, 0x3e, 0x0, 0x44, 0x0, 0x4a, 0x0, 0x50, 0x0, 0x56, 0x0, 0x5c, 0x0, 0x62, 0x0, 0x68, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x7a, 0x0, 0x80, 0x0, 0x86, 0x0, 0x8c, 0x0, 0x92, 0x0, 0x98, 0x0, 0x9e, 0x0, 0xa4, 0x0, 0xaa, 0x0, 0xb0, 0x0, 0xb6, 0x0, 0xbc, 0x0, 0xc2, 0x0, 0xc8, 0x0, 0xce, 0x0, 0xd4, 0x0, 0xda, 0x0, 0xe0, 0x0, 0xe6, 0x0, 0xec, 0x0, 0x1, 0x4, 0xd8, 0x0, 0x0, 0x0, 0x1, 0x3, 0xc0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x58, 0x0, 0x0, 0x0, 0x1, 0x3, 0x28, 0x0, 0x0, 0x0, 0x1, 0x2, 0xee, 0x0, 0x0, 0x0, 0x1, 0x2, 0x9c, 0x0, 0x0, 0x0, 0x1, 0x2, 0xbe, 0xff, 0xfe, 0x0, 0x1, 0x3, 0xb3, 0x0, 0x0, 0x0, 0x1, 0x3, 0x6c, 0x0, 0x0, 0x0, 0x1, 0x1, 0x3e, 0x0, 0x0, 0x0, 0x1, 0x2, 0x74, 0x0, 0x0, 0x0, 0x1, 0x4, 0x1b, 0x0, 0x0, 0x0, 0x1, 0x0, 0xfa, 0xfe, 0x56, 0x0, 0x1, 0x2, 0x17, 0x0, 0x0, 0x0, 0x1, 0x3, 0x28, 0x0, 0x0, 0x0, 0x1, 0x2, 0x74, 0x0, 0x0, 0x0, 0x1, 0x1, 0x3e, 0x0, 0x0, 0x0, 0x1, 0x2, 0x5c, 0x0, 0x0, 0x0, 0x1, 0x1, 0x58, 0x0, 0x0, 0x0, 0x1, 0x3, 0x28, 0x0, 0x0, 0x0, 0x1, 0x2, 0xbe, 0x0, 0x0, 0x0, 0x1, 0x2, 0x96, 0x0, 0x0, 0x0, 0x1, 0x2, 0x88, 0xfe, 0x52, 0x0, 0x1, 0x2, 0x87, 0x0, 0x0, 0x0, 0x1, 0x1, 0xc2, 0x0, 0x0, 0x0, 0x1, 0x1, 0x44, 0x0, 0x0, 0x0, 0x1, 0x2, 0x74, 0x0, 0x0, 0x0, 0x1, 0x2, 0x17, 0xfe, 0x52, 0x0, 0x1, 0x5, 0x3c, 0x0, 0x0, 0x0, 0x1, 0x1, 0x44, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1e, 0x0, 0x24, 0x0, 0x28, 0x0, 0x2c, 0x0, 0x32, 0x0, 0x38, 0x0, 0x3c, 0x0, 0x3d, 0x0, 0x44, 0x0, 0x48, 0x0, 0x4c, 0x0, 0x52, 0x0, 0x58, 0x0, 0x5c, 0x0, 0x5d, 0x0, 0x9a, 0x0, 0xba, 0x0, 0xf3, 0x1, 0x48, 0x1, 0x59, 0x1, 0x61, 0x1, 0x79, 0x1, 0x7a, 0x1, 0x7b, 0x2, 0x12, 0x2, 0x16, 0x2, 0x2a, 0x2, 0x37, 0x2, 0x54, 0x11, 0xe1, 0x16, 0xea, 0x0, 0x1, 0x0, 0x1, 0x2, 0xd9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x6, 0x0, 0x1, 0xfd, 0xf4, 0x0, 0x0, 0x0, 0x2, 0x26, 0xf0, 0x0, 0x4, 0x0, 0x0, 0x21, 0x30, 0x23, 0x20, 0x0, 0x35, 0x0, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xd3, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4b, 0x0, 0x72, 0x0, 0x39, 0x0, 0x4b, 0x0, 0x0, 0xff, 0x44, 0x0, 0x0, 0xff, 0x88, 0xff, 0xad, 0xff, 0x9a, 0xff, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x26, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc9, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x26, 0x0, 0x0, 0xff, 0xd3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xd3, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x39, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0xff, 0x61, 0x0, 0x0, 0xff, 0x7d, 0xff, 0x90, 0x0, 0x0, 0xff, 0x61, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0x88, 0xff, 0xad, 0x0, 0x0, 0xff, 0x75, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x39, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0x61, 0x0, 0x0, 0x0, 0x0, 0xff, 0x90, 0xff, 0xad, 0xff, 0x61, 0xff, 0x75, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0x61, 0x0, 0x0, 0xff, 0x61, 0xff, 0x75, 0xff, 0xad, 0xff, 0x90, 0xfe, 0xf8, 0xff, 0x3, 0x0, 0x2f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc1, 0xff, 0xb7, 0x0, 0x0, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc1, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xb7, 0x0, 0x0, 0xff, 0x90, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xb7, 0xff, 0x90, 0xff, 0x90, 0xff, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x26, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xd3, 0xff, 0xc9, 0xff, 0x44, 0x0, 0x0, 0x0, 0x0, 0xfe, 0xb7, 0xff, 0x61, 0xff, 0x44, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x44, 0x0, 0x0, 0x0, 0x0, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0xff, 0x6b, 0x0, 0x0, 0x0, 0x0, 0xff, 0xb7, 0xff, 0x6b, 0x0, 0x0, 0x0, 0x0, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x44, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x44, 0xff, 0x90, 0x0, 0x0, 0xff, 0xb7, 0xff, 0x90, 0xff, 0x44, 0xff, 0x44, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0xff, 0x6b, 0xff, 0xb7, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x44, 0x0, 0x0, 0xff, 0xb7, 0xff, 0xdc, 0xff, 0xb7, 0x0, 0x0, 0xff, 0x44, 0x0, 0x0, 0x0, 0x0, 0xff, 0xd3, 0x0, 0x0, 0xfe, 0x88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x9a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xd3, 0xff, 0xd3, 0xff, 0xc9, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xb7, 0xff, 0xc1, 0xff, 0xb7, 0x0, 0x0, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xb7, 0xff, 0xc1, 0xff, 0x90, 0x0, 0x0, 0xff, 0x29, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0xff, 0x61, 0xff, 0xc9, 0x0, 0x0, 0xff, 0xb7, 0x0, 0x0, 0xff, 0xb7, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0xff, 0x9a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x9a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x9a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x6b, 0xff, 0x7d, 0x0, 0x0, 0x0, 0x0, 0xff, 0x90, 0xff, 0xdc, 0xff, 0x9a, 0x0, 0x0, 0xff, 0x9a, 0xff, 0x9a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc1, 0xff, 0xc1, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0xfe, 0xe6, 0xff, 0x9a, 0xff, 0x1f, 0xff, 0x44, 0x0, 0x0, 0xfe, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x44, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe, 0x61, 0xfd, 0xe6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x39, 0xff, 0xad, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0x7d, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xd3, 0xff, 0xdc, 0xff, 0x44, 0x0, 0x0, 0xff, 0xd3, 0xfe, 0xc1, 0x0, 0x0, 0xff, 0x7d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xd3, 0x0, 0x0, 0xff, 0xa4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0xff, 0xd3, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xb7, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xa4, 0xff, 0xb7, 0x0, 0x0, 0xff, 0xb7, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x26, 0x0, 0x26, 0xfe, 0xb7, 0x0, 0x0, 0x0, 0x39, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xd3, 0xff, 0xdc, 0xff, 0x7d, 0x0, 0x0, 0xff, 0xad, 0xff, 0xb7, 0xff, 0xc1, 0xff, 0xad, 0x0, 0x0, 0xff, 0x9a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x6b, 0x0, 0x0, 0xff, 0x90, 0xff, 0xad, 0x0, 0x0, 0xff, 0x7d, 0x0, 0x0, 0xff, 0xd3, 0x0, 0x0, 0x0, 0x0, 0xff, 0xa4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xa4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xa4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x90, 0xff, 0x90, 0xff, 0xdc, 0x0, 0x0, 0xff, 0x9a, 0xff, 0xd3, 0xff, 0xa4, 0x0, 0x0, 0xff, 0xa4, 0xff, 0xa4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x6b, 0xff, 0x7d, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x26, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x44, 0xff, 0xd, 0xff, 0x1f, 0xff, 0x61, 0x0, 0x0, 0xff, 0x88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe, 0xad, 0xfe, 0xa4, 0x0, 0x0, 0xfe, 0xa4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc1, 0x0, 0x0, 0x0, 0x0, 0xfe, 0xa4, 0xfe, 0xd3, 0xfe, 0xad, 0x0, 0x0, 0xfe, 0xc9, 0x0, 0x0, 0xfe, 0xad, 0x0, 0x0, 0xfe, 0xc1, 0xff, 0x44, 0xff, 0x90, 0x0, 0x0, 0xff, 0x88, 0xff, 0x11, 0xfe, 0xe0, 0x0, 0x0, 0xfe, 0xf4, 0xfe, 0xe7, 0x0, 0x0, 0x0, 0x0, 0xfe, 0xa4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xd3, 0xfe, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x88, 0xfe, 0xf8, 0xff, 0x59, 0xff, 0x7d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x61, 0x0, 0x0, 0x0, 0x0, 0xff, 0x61, 0x0, 0x0, 0x0, 0x0, 0xff, 0xd3, 0x0, 0x0, 0x0, 0x0, 0xff, 0x61, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x75, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc9, 0xff, 0x4e, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0xff, 0x61, 0xff, 0x61, 0x0, 0x0, 0xff, 0x61, 0xff, 0x75, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe, 0xe6, 0x0, 0x0, 0xff, 0xad, 0xff, 0x15, 0xff, 0x88, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x7d, 0x0, 0x0, 0x0, 0x0, 0xff, 0x88, 0x0, 0x0, 0x0, 0x0, 0xff, 0xd3, 0x0, 0x0, 0x0, 0x0, 0xff, 0x88, 0xff, 0xa4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0x90, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0xff, 0x7d, 0xff, 0x88, 0x0, 0x0, 0xff, 0x88, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xfe, 0xf8, 0x0, 0x0, 0xff, 0x9a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x6b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x7d, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xa4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0xff, 0x6b, 0x0, 0x0, 0xff, 0xa4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x61, 0xff, 0xad, 0xff, 0xd3, 0x0, 0x0, 0xff, 0xd, 0xfe, 0x61, 0xfe, 0xf0, 0xff, 0x61, 0x0, 0x0, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe, 0xe6, 0x0, 0x0, 0x0, 0x0, 0xfe, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0xfe, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x15, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x1f, 0xff, 0x6b, 0x0, 0x0, 0xff, 0x90, 0xfe, 0xe6, 0xfe, 0xf0, 0x0, 0x0, 0xfe, 0xf0, 0xff, 0x15, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x90, 0xff, 0xdc, 0xfe, 0xf8, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x90, 0xff, 0x6b, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xb7, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41, 0x0, 0x0, 0xff, 0x15, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xb7, 0x0, 0x0, 0xff, 0xb7, 0xff, 0xc1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x6b, 0xff, 0x90, 0xff, 0xa4, 0x0, 0x0, 0x0, 0x26, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x6b, 0xff, 0xb7, 0xff, 0x7d, 0x0, 0x0, 0xff, 0x7d, 0xff, 0x44, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xd3, 0xff, 0xdc, 0xff, 0xd3, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xd3, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc9, 0x0, 0x0, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xd3, 0x0, 0x0, 0xff, 0xd3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xd3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x48, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x56, 0xfe, 0xc9, 0x0, 0x0, 0xff, 0xc9, 0xff, 0x61, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xfe, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x44, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x29, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xc1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc1, 0x0, 0x0, 0xff, 0xc1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xfe, 0xdc, 0xff, 0x6b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe, 0xd3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x90, 0x0, 0x0, 0xff, 0x90, 0xff, 0xdc, 0x0, 0x0, 0xff, 0x6b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x97, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xb7, 0xff, 0xb7, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0xff, 0x44, 0x0, 0x0, 0xff, 0x4e, 0xff, 0x90, 0xff, 0x90, 0xff, 0x1f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xd3, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x39, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0xff, 0x61, 0x0, 0x0, 0xff, 0x7d, 0xff, 0x90, 0x0, 0x0, 0xff, 0x61, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0x88, 0xff, 0xad, 0x0, 0x0, 0xff, 0x75, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x39, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0x61, 0x0, 0x0, 0x0, 0x0, 0xff, 0x90, 0xff, 0xad, 0xff, 0x61, 0xff, 0x75, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe, 0xf8, 0xff, 0x3, 0x0, 0x2f, 0x0, 0x0, 0xff, 0xd3, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x39, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0xff, 0x61, 0x0, 0x0, 0xff, 0x7d, 0xff, 0x90, 0x0, 0x0, 0xff, 0x61, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0x88, 0xff, 0xad, 0x0, 0x0, 0xff, 0x75, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x39, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0x61, 0x0, 0x0, 0x0, 0x0, 0xff, 0x90, 0xff, 0xad, 0xff, 0x61, 0xff, 0x75, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x90, 0xfe, 0xf8, 0xff, 0x3, 0x0, 0x2f, 0x0, 0x0, 0xff, 0xd3, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x39, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0xff, 0x61, 0x0, 0x0, 0xff, 0x7d, 0xff, 0x90, 0x0, 0x0, 0xff, 0x61, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0x88, 0xff, 0xad, 0x0, 0x0, 0xff, 0x75, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x39, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0x61, 0x0, 0x0, 0x0, 0x0, 0xff, 0x90, 0xff, 0xad, 0xff, 0x61, 0xff, 0x75, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x90, 0xfe, 0xf8, 0xff, 0x3, 0x0, 0x2f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xad, 0xff, 0xa4, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x26, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x6b, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0x44, 0x0, 0x0, 0x0, 0x26, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x90, 0xff, 0x90, 0xff, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xa4, 0xff, 0x90, 0xff, 0xb7, 0x0, 0x0, 0xff, 0xd3, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x39, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0xff, 0x61, 0x0, 0x0, 0xff, 0x7d, 0xff, 0x90, 0x0, 0x0, 0xff, 0x61, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0x88, 0xff, 0xad, 0x0, 0x0, 0xff, 0x75, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x39, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0x61, 0x0, 0x0, 0x0, 0x0, 0xff, 0x90, 0xff, 0xad, 0xff, 0x61, 0xff, 0x75, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x90, 0xfe, 0xf8, 0xff, 0x2, 0x0, 0x2f, 0x0, 0x0, 0xff, 0xd3, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x39, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0xff, 0x61, 0x0, 0x0, 0xff, 0x7d, 0xff, 0x90, 0x0, 0x0, 0xff, 0x61, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0x88, 0xff, 0xad, 0x0, 0x0, 0x0, 0x0, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x39, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0xff, 0x61, 0x0, 0x0, 0x0, 0x0, 0xff, 0x90, 0xff, 0xad, 0xff, 0x61, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x90, 0xfe, 0xf8, 0xff, 0x2, 0x0, 0x2f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xd3, 0xff, 0xc9, 0xff, 0x44, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x7d, 0xff, 0x44, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xd3, 0xff, 0xdc, 0xff, 0xd3, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0xff, 0xd3, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc9, 0x0, 0x0, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xd3, 0x0, 0x0, 0xff, 0xd3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xd3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x56, 0xfe, 0xc9, 0x0, 0x0, 0xff, 0x44, 0xff, 0xd, 0xff, 0x1f, 0xff, 0x61, 0x0, 0x0, 0xff, 0x88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe, 0xad, 0xfe, 0xa4, 0x0, 0x0, 0xfe, 0xa4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc1, 0x0, 0x0, 0x0, 0x0, 0xfe, 0xa4, 0xfe, 0xd3, 0xfe, 0xad, 0x0, 0x0, 0xfe, 0xc9, 0x0, 0x0, 0xfe, 0xad, 0x0, 0x0, 0xfe, 0xc1, 0xff, 0x44, 0xff, 0x90, 0x0, 0x0, 0xff, 0x88, 0xfe, 0xad, 0xfe, 0xa4, 0x0, 0x0, 0xfe, 0xa4, 0xfe, 0xc9, 0x0, 0x0, 0x0, 0x0, 0xfe, 0xa4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xd3, 0xfe, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xd3, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4b, 0x0, 0x72, 0x0, 0x39, 0x0, 0x4b, 0x0, 0x0, 0xff, 0x44, 0x0, 0x0, 0xff, 0x88, 0xff, 0xad, 0xff, 0x9a, 0xff, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x26, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc9, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x26, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe, 0xf8, 0xff, 0xc1, 0xff, 0xb7, 0xff, 0xc1, 0xff, 0xc1, 0xff, 0xb7, 0xff, 0xc1, 0xff, 0xb7, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x88, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x90, 0xff, 0x6b, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xb7, 0xff, 0xb7, 0x0, 0x0, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0xfe, 0x7d, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0xff, 0xb7, 0xff, 0x6b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x26, 0xff, 0xb7, 0xff, 0x90, 0xff, 0xb7, 0xff, 0xb7, 0xff, 0xb7, 0x0, 0x2f, 0xff, 0x90, 0xff, 0x90, 0x0, 0x0, 0xfe, 0xe6, 0x0, 0x0, 0xfe, 0x88, 0xff, 0x3, 0xff, 0xb7, 0xfe, 0x88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xb7, 0xff, 0xb7, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x15, 0xff, 0x3c, 0x0, 0x0, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x26, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0xff, 0xb7, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x52, 0x0, 0x10, 0x0, 0x10, 0x0, 0x1, 0x0, 0x24, 0x0, 0x24, 0x0, 0x2, 0x0, 0x25, 0x0, 0x25, 0x0, 0x3, 0x0, 0x26, 0x0, 0x26, 0x0, 0x4, 0x0, 0x27, 0x0, 0x27, 0x0, 0x5, 0x0, 0x29, 0x0, 0x29, 0x0, 0x6, 0x0, 0x2a, 0x0, 0x2a, 0x0, 0x7, 0x0, 0x2b, 0x0, 0x2b, 0x0, 0x8, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x9, 0x0, 0x2e, 0x0, 0x2e, 0x0, 0xa, 0x0, 0x2f, 0x0, 0x2f, 0x0, 0xb, 0x0, 0x32, 0x0, 0x32, 0x0, 0xc, 0x0, 0x33, 0x0, 0x33, 0x0, 0xd, 0x0, 0x34, 0x0, 0x34, 0x0, 0xe, 0x0, 0x35, 0x0, 0x35, 0x0, 0xf, 0x0, 0x36, 0x0, 0x36, 0x0, 0x10, 0x0, 0x37, 0x0, 0x37, 0x0, 0x11, 0x0, 0x38, 0x0, 0x38, 0x0, 0x12, 0x0, 0x39, 0x0, 0x39, 0x0, 0x13, 0x0, 0x3a, 0x0, 0x3a, 0x0, 0x14, 0x0, 0x3b, 0x0, 0x3b, 0x0, 0x15, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x16, 0x0, 0x3d, 0x0, 0x3d, 0x0, 0x17, 0x0, 0x48, 0x0, 0x48, 0x0, 0x18, 0x0, 0x49, 0x0, 0x49, 0x0, 0x19, 0x0, 0x4e, 0x0, 0x4e, 0x0, 0x1a, 0x0, 0x51, 0x0, 0x51, 0x0, 0x1b, 0x0, 0x52, 0x0, 0x52, 0x0, 0x1c, 0x0, 0x55, 0x0, 0x55, 0x0, 0x1d, 0x0, 0x59, 0x0, 0x59, 0x0, 0x1e, 0x0, 0x5a, 0x0, 0x5a, 0x0, 0x1f, 0x0, 0x5b, 0x0, 0x5b, 0x0, 0x20, 0x0, 0x5c, 0x0, 0x5c, 0x0, 0x21, 0x0, 0x6d, 0x0, 0x6d, 0x0, 0x22, 0x0, 0x7d, 0x0, 0x7d, 0x0, 0x23, 0x0, 0x82, 0x0, 0x82, 0x0, 0x24, 0x0, 0x83, 0x0, 0x84, 0x0, 0x25, 0x0, 0x85, 0x0, 0x85, 0x0, 0x26, 0x0, 0x86, 0x0, 0x86, 0x0, 0x25, 0x0, 0x88, 0x0, 0x88, 0x0, 0x27, 0x0, 0x89, 0x0, 0x89, 0x0, 0x28, 0x0, 0x92, 0x0, 0x92, 0x0, 0x5, 0x0, 0x94, 0x0, 0x98, 0x0, 0xc, 0x0, 0x9b, 0x0, 0x9e, 0x0, 0x12, 0x0, 0x9f, 0x0, 0x9f, 0x0, 0x16, 0x0, 0xa0, 0x0, 0xa0, 0x0, 0x29, 0x0, 0xa1, 0x0, 0xa1, 0x0, 0x2a, 0x0, 0xaa, 0x0, 0xad, 0x0, 0x18, 0x0, 0xb2, 0x0, 0xb2, 0x0, 0x2b, 0x0, 0xb3, 0x0, 0xb3, 0x0, 0x1b, 0x0, 0xb4, 0x0, 0xb8, 0x0, 0x1c, 0x0, 0xbf, 0x0, 0xbf, 0x0, 0x21, 0x0, 0xc1, 0x0, 0xc1, 0x0, 0x21, 0x0, 0xc2, 0x0, 0xc2, 0x0, 0x2c, 0x0, 0xc4, 0x0, 0xc4, 0x0, 0x2c, 0x0, 0xc6, 0x0, 0xc6, 0x0, 0x2d, 0x0, 0xc8, 0x0, 0xc8, 0x0, 0x28, 0x0, 0xce, 0x0, 0xce, 0x0, 0x28, 0x0, 0xd0, 0x0, 0xd0, 0x0, 0x5, 0x0, 0xd2, 0x0, 0xd2, 0x0, 0x2e, 0x0, 0xdd, 0x0, 0xdd, 0x0, 0x18, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0x7, 0x0, 0xfb, 0x0, 0xfb, 0x0, 0xb, 0x0, 0xff, 0x0, 0xff, 0x0, 0xb, 0x1, 0x2, 0x1, 0x2, 0x0, 0x2f, 0x1, 0xa, 0x1, 0xa, 0x0, 0x1b, 0x1, 0x16, 0x1, 0x16, 0x0, 0xf, 0x1, 0x17, 0x1, 0x17, 0x0, 0x1d, 0x1, 0x1a, 0x1, 0x1a, 0x0, 0xf, 0x1, 0x1b, 0x1, 0x1b, 0x0, 0x30, 0x1, 0x20, 0x1, 0x20, 0x0, 0x10, 0x1, 0x22, 0x1, 0x22, 0x0, 0x10, 0x1, 0x26, 0x1, 0x26, 0x0, 0x31, 0x1, 0x30, 0x1, 0x30, 0x0, 0x12, 0x1, 0x3a, 0x1, 0x3a, 0x0, 0x16, 0x1, 0x3f, 0x1, 0x3f, 0x0, 0x17, 0xa, 0xee, 0xa, 0xee, 0x0, 0x32, 0xa, 0xfa, 0xa, 0xfa, 0x0, 0x33, 0xa, 0xfc, 0xa, 0xfc, 0x0, 0x34, 0x12, 0xfc, 0x12, 0xfc, 0x0, 0x11, 0x13, 0x14, 0x13, 0x14, 0x0, 0xa, 0x13, 0x15, 0x13, 0x15, 0x0, 0x1a, 0x0, 0x2, 0x0, 0xa2, 0x0, 0x10, 0x0, 0x10, 0x0, 0x1, 0x0, 0x11, 0x0, 0x11, 0x0, 0x2, 0x0, 0x1d, 0x0, 0x1d, 0x0, 0x3, 0x0, 0x24, 0x0, 0x24, 0x0, 0x4, 0x0, 0x25, 0x0, 0x25, 0x0, 0x5, 0x0, 0x26, 0x0, 0x26, 0x0, 0x6, 0x0, 0x27, 0x0, 0x27, 0x0, 0x7, 0x0, 0x29, 0x0, 0x29, 0x0, 0x8, 0x0, 0x2a, 0x0, 0x2a, 0x0, 0x9, 0x0, 0x2b, 0x0, 0x2b, 0x0, 0x8, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0xa, 0x0, 0x2e, 0x0, 0x2f, 0x0, 0x8, 0x0, 0x32, 0x0, 0x32, 0x0, 0xb, 0x0, 0x33, 0x0, 0x33, 0x0, 0x8, 0x0, 0x34, 0x0, 0x34, 0x0, 0xc, 0x0, 0x35, 0x0, 0x35, 0x0, 0x8, 0x0, 0x36, 0x0, 0x36, 0x0, 0xd, 0x0, 0x37, 0x0, 0x37, 0x0, 0xe, 0x0, 0x38, 0x0, 0x38, 0x0, 0xf, 0x0, 0x39, 0x0, 0x39, 0x0, 0x10, 0x0, 0x3a, 0x0, 0x3a, 0x0, 0x11, 0x0, 0x3b, 0x0, 0x3b, 0x0, 0x12, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x13, 0x0, 0x3d, 0x0, 0x3d, 0x0, 0x14, 0x0, 0x44, 0x0, 0x44, 0x0, 0x15, 0x0, 0x46, 0x0, 0x46, 0x0, 0x16, 0x0, 0x47, 0x0, 0x47, 0x0, 0x17, 0x0, 0x48, 0x0, 0x48, 0x0, 0x18, 0x0, 0x49, 0x0, 0x49, 0x0, 0x19, 0x0, 0x4a, 0x0, 0x4b, 0x0, 0x1a, 0x0, 0x4c, 0x0, 0x4c, 0x0, 0x1b, 0x0, 0x4f, 0x0, 0x4f, 0x0, 0x1c, 0x0, 0x50, 0x0, 0x50, 0x0, 0x1a, 0x0, 0x51, 0x0, 0x51, 0x0, 0x1d, 0x0, 0x52, 0x0, 0x52, 0x0, 0x1e, 0x0, 0x54, 0x0, 0x54, 0x0, 0x17, 0x0, 0x55, 0x0, 0x55, 0x0, 0x1f, 0x0, 0x56, 0x0, 0x56, 0x0, 0x20, 0x0, 0x57, 0x0, 0x57, 0x0, 0x21, 0x0, 0x58, 0x0, 0x58, 0x0, 0x22, 0x0, 0x59, 0x0, 0x59, 0x0, 0x23, 0x0, 0x5a, 0x0, 0x5a, 0x0, 0x24, 0x0, 0x5b, 0x0, 0x5b, 0x0, 0x25, 0x0, 0x5c, 0x0, 0x5c, 0x0, 0x26, 0x0, 0x6d, 0x0, 0x6d, 0x0, 0x27, 0x0, 0x7d, 0x0, 0x7d, 0x0, 0x28, 0x0, 0x82, 0x0, 0x86, 0x0, 0x4, 0x0, 0x88, 0x0, 0x88, 0x0, 0x29, 0x0, 0x89, 0x0, 0x89, 0x0, 0x2a, 0x0, 0x94, 0x0, 0x98, 0x0, 0xb, 0x0, 0x9b, 0x0, 0x9e, 0x0, 0xf, 0x0, 0x9f, 0x0, 0x9f, 0x0, 0x13, 0x0, 0xa0, 0x0, 0xa1, 0x0, 0x8, 0x0, 0xa2, 0x0, 0xa2, 0x0, 0x2b, 0x0, 0xa3, 0x0, 0xa3, 0x0, 0x15, 0x0, 0xa4, 0x0, 0xa7, 0x0, 0x2b, 0x0, 0xa9, 0x0, 0xa9, 0x0, 0x16, 0x0, 0xaa, 0x0, 0xaa, 0x0, 0x2c, 0x0, 0xab, 0x0, 0xab, 0x0, 0x18, 0x0, 0xac, 0x0, 0xad, 0x0, 0x2c, 0x0, 0xb2, 0x0, 0xb2, 0x0, 0x2d, 0x0, 0xb3, 0x0, 0xb3, 0x0, 0x1d, 0x0, 0xb4, 0x0, 0xb4, 0x0, 0x2e, 0x0, 0xb5, 0x0, 0xb5, 0x0, 0x1e, 0x0, 0xb6, 0x0, 0xb8, 0x0, 0x2e, 0x0, 0xbb, 0x0, 0xbb, 0x0, 0x2f, 0x0, 0xbc, 0x0, 0xbc, 0x0, 0x22, 0x0, 0xbd, 0x0, 0xbe, 0x0, 0x2f, 0x0, 0xbf, 0x0, 0xbf, 0x0, 0x26, 0x0, 0xc1, 0x0, 0xc1, 0x0, 0x26, 0x0, 0xc2, 0x0, 0xc2, 0x0, 0x30, 0x0, 0xc3, 0x0, 0xc3, 0x0, 0x31, 0x0, 0xc4, 0x0, 0xc4, 0x0, 0x30, 0x0, 0xc5, 0x0, 0xc5, 0x0, 0x31, 0x0, 0xc6, 0x0, 0xc6, 0x0, 0x30, 0x0, 0xc7, 0x0, 0xc7, 0x0, 0x31, 0x0, 0xc8, 0x0, 0xc8, 0x0, 0x6, 0x0, 0xc9, 0x0, 0xc9, 0x0, 0x32, 0x0, 0xca, 0x0, 0xca, 0x0, 0x33, 0x0, 0xcb, 0x0, 0xcb, 0x0, 0x34, 0x0, 0xcc, 0x0, 0xcc, 0x0, 0x33, 0x0, 0xcd, 0x0, 0xcd, 0x0, 0x35, 0x0, 0xce, 0x0, 0xce, 0x0, 0x6, 0x0, 0xcf, 0x0, 0xcf, 0x0, 0x32, 0x0, 0xd0, 0x0, 0xd0, 0x0, 0x7, 0x0, 0xd1, 0x0, 0xd1, 0x0, 0x36, 0x0, 0xd3, 0x0, 0xd3, 0x0, 0x37, 0x0, 0xd5, 0x0, 0xd5, 0x0, 0x38, 0x0, 0xd7, 0x0, 0xd7, 0x0, 0x38, 0x0, 0xd9, 0x0, 0xd9, 0x0, 0x38, 0x0, 0xdb, 0x0, 0xdb, 0x0, 0x38, 0x0, 0xdd, 0x0, 0xdd, 0x0, 0x18, 0x0, 0xde, 0x0, 0xde, 0x0, 0x33, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0x39, 0x0, 0xe1, 0x0, 0xe1, 0x0, 0x1a, 0x0, 0xe2, 0x0, 0xe2, 0x0, 0x33, 0x0, 0xe4, 0x0, 0xe4, 0x0, 0x3a, 0x0, 0xf1, 0x0, 0xf1, 0x0, 0x3b, 0x0, 0xf5, 0x0, 0xf5, 0x0, 0x3b, 0x0, 0xfb, 0x0, 0xfb, 0x0, 0x8, 0x0, 0xff, 0x0, 0xff, 0x0, 0x8, 0x1, 0xa, 0x1, 0xa, 0x0, 0x1d, 0x1, 0xe, 0x1, 0xe, 0x0, 0x33, 0x1, 0xf, 0x1, 0xf, 0x0, 0x3c, 0x1, 0x10, 0x1, 0x10, 0x0, 0x33, 0x1, 0x11, 0x1, 0x11, 0x0, 0x3c, 0x1, 0x12, 0x1, 0x12, 0x0, 0x3d, 0x1, 0x13, 0x1, 0x13, 0x0, 0x3c, 0x1, 0x16, 0x1, 0x16, 0x0, 0x8, 0x1, 0x17, 0x1, 0x17, 0x0, 0x1f, 0x1, 0x19, 0x1, 0x19, 0x0, 0x3b, 0x1, 0x1a, 0x1, 0x1a, 0x0, 0x8, 0x1, 0x1b, 0x1, 0x1b, 0x0, 0x1f, 0x1, 0x1c, 0x1, 0x1c, 0x0, 0xd, 0x1, 0x1e, 0x1, 0x1e, 0x0, 0xd, 0x1, 0x20, 0x1, 0x20, 0x0, 0xd, 0x1, 0x21, 0x1, 0x21, 0x0, 0x20, 0x1, 0x22, 0x1, 0x22, 0x0, 0xd, 0x1, 0x23, 0x1, 0x23, 0x0, 0x20, 0x1, 0x24, 0x1, 0x24, 0x0, 0x3e, 0x1, 0x25, 0x1, 0x25, 0x0, 0x35, 0x1, 0x26, 0x1, 0x26, 0x0, 0xe, 0x1, 0x27, 0x1, 0x27, 0x0, 0x21, 0x1, 0x28, 0x1, 0x28, 0x0, 0x3f, 0x1, 0x2b, 0x1, 0x2b, 0x0, 0x40, 0x1, 0x2d, 0x1, 0x2d, 0x0, 0x40, 0x1, 0x2f, 0x1, 0x2f, 0x0, 0x40, 0x1, 0x30, 0x1, 0x30, 0x0, 0xf, 0x1, 0x31, 0x1, 0x31, 0x0, 0x22, 0x1, 0x33, 0x1, 0x33, 0x0, 0x40, 0x1, 0x35, 0x1, 0x35, 0x0, 0x40, 0x1, 0x36, 0x1, 0x36, 0x0, 0x41, 0x1, 0x37, 0x1, 0x37, 0x0, 0x42, 0x1, 0x38, 0x1, 0x38, 0x0, 0x43, 0x1, 0x39, 0x1, 0x39, 0x0, 0x44, 0x1, 0x3a, 0x1, 0x3a, 0x0, 0x13, 0x1, 0x3f, 0x1, 0x3f, 0x0, 0x14, 0x1, 0x88, 0x1, 0x88, 0x0, 0x34, 0x1, 0xac, 0x1, 0xac, 0x0, 0x45, 0x1, 0xad, 0x1, 0xad, 0x0, 0x46, 0x1, 0xae, 0x1, 0xae, 0x0, 0x45, 0x1, 0xaf, 0x1, 0xaf, 0x0, 0x46, 0x1, 0xda, 0x1, 0xda, 0x0, 0xd, 0x1, 0xdc, 0x1, 0xdc, 0x0, 0x47, 0x1, 0xdd, 0x1, 0xdd, 0x0, 0x34, 0x1, 0xf0, 0x1, 0xf0, 0x0, 0x33, 0x1, 0xf1, 0x1, 0xf1, 0x0, 0x48, 0x1, 0xf3, 0x1, 0xf3, 0x0, 0x34, 0x1, 0xf4, 0x1, 0xf4, 0x0, 0x49, 0x1, 0xf5, 0x1, 0xf5, 0x0, 0x4a, 0x9, 0x79, 0x9, 0x79, 0x0, 0x41, 0x9, 0x7a, 0x9, 0x7a, 0x0, 0x4b, 0x9, 0x7b, 0x9, 0x7b, 0x0, 0x4c, 0x9, 0x7c, 0x9, 0x7c, 0x0, 0x42, 0x9, 0x7d, 0x9, 0x7d, 0x0, 0x41, 0x9, 0x7e, 0x9, 0x7e, 0x0, 0x42, 0x9, 0xeb, 0x9, 0xeb, 0x0, 0x43, 0x9, 0xec, 0x9, 0xec, 0x0, 0x44, 0xa, 0xfa, 0xa, 0xfa, 0x0, 0x4d, 0xa, 0xfb, 0xa, 0xfb, 0x0, 0x4e, 0xa, 0xfc, 0xa, 0xfc, 0x0, 0x4f, 0x13, 0x14, 0x13, 0x14, 0x0, 0x8, 0x0, 0x1, 0x0, 0x61, 0x0, 0x10, 0x0, 0x24, 0x0, 0x25, 0x0, 0x26, 0x0, 0x27, 0x0, 0x29, 0x0, 0x2a, 0x0, 0x2b, 0x0, 0x2d, 0x0, 0x2e, 0x0, 0x2f, 0x0, 0x32, 0x0, 0x33, 0x0, 0x34, 0x0, 0x35, 0x0, 0x36, 0x0, 0x37, 0x0, 0x38, 0x0, 0x39, 0x0, 0x3a, 0x0, 0x3b, 0x0, 0x3c, 0x0, 0x3d, 0x0, 0x48, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x51, 0x0, 0x52, 0x0, 0x55, 0x0, 0x59, 0x0, 0x5a, 0x0, 0x5b, 0x0, 0x5c, 0x0, 0x6d, 0x0, 0x7d, 0x0, 0x82, 0x0, 0x83, 0x0, 0x84, 0x0, 0x85, 0x0, 0x86, 0x0, 0x88, 0x0, 0x89, 0x0, 0x92, 0x0, 0x94, 0x0, 0x95, 0x0, 0x96, 0x0, 0x97, 0x0, 0x98, 0x0, 0x9b, 0x0, 0x9c, 0x0, 0x9d, 0x0, 0x9e, 0x0, 0x9f, 0x0, 0xa0, 0x0, 0xa1, 0x0, 0xaa, 0x0, 0xab, 0x0, 0xac, 0x0, 0xad, 0x0, 0xb2, 0x0, 0xb3, 0x0, 0xb4, 0x0, 0xb5, 0x0, 0xb6, 0x0, 0xb7, 0x0, 0xb8, 0x0, 0xbf, 0x0, 0xc1, 0x0, 0xc2, 0x0, 0xc4, 0x0, 0xc6, 0x0, 0xc8, 0x0, 0xce, 0x0, 0xd0, 0x0, 0xd2, 0x0, 0xdd, 0x0, 0xe0, 0x0, 0xfb, 0x0, 0xff, 0x1, 0x2, 0x1, 0xa, 0x1, 0x16, 0x1, 0x17, 0x1, 0x1a, 0x1, 0x1b, 0x1, 0x20, 0x1, 0x22, 0x1, 0x26, 0x1, 0x30, 0x1, 0x3a, 0x1, 0x3f, 0xa, 0xee, 0xa, 0xfa, 0xa, 0xfc, 0x12, 0xfc, 0x13, 0x14, 0x13, 0x15, 0x0, 0x2, 0x0, 0x60, 0x0, 0x4, 0x0, 0x0, 0x0, 0x24, 0x0, 0x58, 0x0, 0x5, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xd8, 0x0, 0x0, 0xff, 0xb1, 0x0, 0x0, 0xff, 0xa3, 0x0, 0x0, 0xff, 0x9c, 0x0, 0x1, 0x13, 0x46, 0x0, 0x17, 0x0, 0x1, 0x0, 0x2, 0x0, 0x3, 0x0, 0x4, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2, 0x0, 0x3, 0x0, 0x2, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2, 0x0, 0x3, 0x0, 0x2, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x4, 0x0, 0x3, 0x0, 0x2, 0x0, 0x1, 0x0, 0x1, 0x13, 0x5e, 0x0, 0x1, 0x0, 0x1, 0x0, 0x2, 0x0, 0x4, 0x13, 0x46, 0x13, 0x4a, 0x0, 0x0, 0x13, 0x4c, 0x13, 0x50, 0x0, 0x5, 0x13, 0x52, 0x13, 0x56, 0x0, 0xa, 0x13, 0x58, 0x13, 0x5c, 0x0, 0xf, 0x0, 0x1, 0x0, 0x0, 0x0, 0xa, 0x2, 0x1a, 0x3, 0x7c, 0x0, 0x14, 0x44, 0x46, 0x4c, 0x54, 0x0, 0x7a, 0x61, 0x72, 0x61, 0x62, 0x0, 0x88, 0x61, 0x72, 0x6d, 0x6e, 0x0, 0xc2, 0x62, 0x72, 0x61, 0x69, 0x0, 0xd0, 0x63, 0x61, 0x6e, 0x73, 0x0, 0xdc, 0x63, 0x68, 0x65, 0x72, 0x0, 0xe8, 0x63, 0x79, 0x72, 0x6c, 0x0, 0xf4, 0x67, 0x65, 0x6f, 0x72, 0x1, 0x16, 0x67, 0x72, 0x65, 0x6b, 0x1, 0x22, 0x68, 0x61, 0x6e, 0x69, 0x1, 0x32, 0x68, 0x65, 0x62, 0x72, 0x1, 0x3e, 0x6b, 0x61, 0x6e, 0x61, 0x1, 0x50, 0x6c, 0x61, 0x6f, 0x20, 0x1, 0x5c, 0x6c, 0x61, 0x74, 0x6e, 0x1, 0x68, 0x6d, 0x61, 0x74, 0x68, 0x1, 0xc2, 0x6e, 0x6b, 0x6f, 0x20, 0x1, 0xce, 0x6f, 0x67, 0x61, 0x6d, 0x1, 0xe0, 0x72, 0x75, 0x6e, 0x72, 0x1, 0xec, 0x74, 0x66, 0x6e, 0x67, 0x1, 0xf8, 0x74, 0x68, 0x61, 0x69, 0x2, 0x4, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x4, 0x0, 0x8, 0x0, 0x16, 0x0, 0x3, 0x4b, 0x55, 0x52, 0x20, 0x0, 0x16, 0x53, 0x4e, 0x44, 0x20, 0x0, 0x28, 0x55, 0x52, 0x44, 0x20, 0x0, 0x28, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6, 0x0, 0x5, 0x0, 0xb, 0x0, 0xf, 0x0, 0x11, 0x0, 0x15, 0x0, 0x17, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6, 0x0, 0x5, 0x0, 0xb, 0x0, 0xf, 0x0, 0x11, 0x0, 0x15, 0x0, 0x18, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x2, 0x0, 0x4, 0x0, 0x9, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x1, 0x0, 0x4, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x1, 0x0, 0x4, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x1, 0x0, 0x4, 0x0, 0x10, 0x0, 0x2, 0x4d, 0x4b, 0x44, 0x20, 0x0, 0x18, 0x53, 0x52, 0x42, 0x20, 0x0, 0x18, 0x0, 0x0, 0xff, 0xff, 0x0, 0x1, 0x0, 0x6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x2, 0x0, 0x6, 0x0, 0x13, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x1, 0x0, 0x4, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3, 0x0, 0x1, 0x0, 0x6, 0x0, 0x19, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x1, 0x0, 0x4, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x4, 0x0, 0x2, 0x0, 0x7, 0x0, 0xd, 0x0, 0x1a, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x1, 0x0, 0x4, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x1, 0x0, 0x4, 0x0, 0x34, 0x0, 0x8, 0x49, 0x53, 0x4d, 0x20, 0x0, 0x46, 0x4b, 0x53, 0x4d, 0x20, 0x0, 0x46, 0x4c, 0x53, 0x4d, 0x20, 0x0, 0x46, 0x4d, 0x4f, 0x4c, 0x20, 0x0, 0x34, 0x4e, 0x53, 0x4d, 0x20, 0x0, 0x46, 0x52, 0x4f, 0x4d, 0x20, 0x0, 0x34, 0x53, 0x4b, 0x53, 0x20, 0x0, 0x46, 0x53, 0x53, 0x4d, 0x20, 0x0, 0x46, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6, 0x0, 0x3, 0x0, 0x6, 0x0, 0xa, 0x0, 0xe, 0x0, 0x12, 0x0, 0x1b, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7, 0x0, 0x3, 0x0, 0x6, 0x0, 0xa, 0x0, 0xe, 0x0, 0x12, 0x0, 0x14, 0x0, 0x1b, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x1, 0x0, 0x4, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x5, 0x0, 0xc, 0x0, 0x10, 0x0, 0x16, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x1, 0x0, 0x4, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x1, 0x0, 0x4, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x1, 0x0, 0x4, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x1, 0x0, 0x4, 0x0, 0x1c, 0x20, 0x52, 0x51, 0x44, 0x0, 0xaa, 0x61, 0x61, 0x6c, 0x74, 0x0, 0xb0, 0x61, 0x61, 0x6c, 0x74, 0x0, 0xb6, 0x61, 0x61, 0x6c, 0x74, 0x0, 0xbc, 0x63, 0x63, 0x6d, 0x70, 0x0, 0xc2, 0x63, 0x63, 0x6d, 0x70, 0x0, 0xc8, 0x63, 0x63, 0x6d, 0x70, 0x0, 0xd0, 0x63, 0x63, 0x6d, 0x70, 0x0, 0xd8, 0x64, 0x6c, 0x69, 0x67, 0x0, 0xe2, 0x64, 0x6c, 0x69, 0x67, 0x0, 0xe8, 0x64, 0x6c, 0x69, 0x67, 0x0, 0xee, 0x66, 0x69, 0x6e, 0x61, 0x0, 0xf4, 0x66, 0x69, 0x6e, 0x61, 0x0, 0xfa, 0x68, 0x6c, 0x69, 0x67, 0x1, 0x0, 0x68, 0x6c, 0x69, 0x67, 0x1, 0x6, 0x69, 0x6e, 0x69, 0x74, 0x1, 0xc, 0x69, 0x6e, 0x69, 0x74, 0x1, 0x12, 0x6c, 0x69, 0x67, 0x61, 0x1, 0x18, 0x6c, 0x69, 0x67, 0x61, 0x1, 0x20, 0x6c, 0x6f, 0x63, 0x6c, 0x1, 0x26, 0x6c, 0x6f, 0x63, 0x6c, 0x1, 0x2c, 0x6d, 0x65, 0x64, 0x69, 0x1, 0x32, 0x6d, 0x65, 0x64, 0x69, 0x1, 0x38, 0x72, 0x6c, 0x69, 0x67, 0x1, 0x3e, 0x72, 0x6c, 0x69, 0x67, 0x1, 0x48, 0x73, 0x61, 0x6c, 0x74, 0x1, 0x50, 0x73, 0x61, 0x6c, 0x74, 0x1, 0x56, 0x73, 0x61, 0x6c, 0x74, 0x1, 0x5c, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x19, 0x0, 0x0, 0x0, 0x1, 0x0, 0x17, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1c, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, 0x0, 0x1, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, 0x0, 0x2, 0x0, 0x3, 0x0, 0x0, 0x0, 0x3, 0x0, 0x1, 0x0, 0x3, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x16, 0x0, 0x0, 0x0, 0x1, 0x0, 0x13, 0x0, 0x0, 0x0, 0x1, 0x0, 0x14, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x0, 0x0, 0x1, 0x0, 0x7, 0x0, 0x0, 0x0, 0x1, 0x0, 0x26, 0x0, 0x0, 0x0, 0x1, 0x0, 0x15, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb, 0x0, 0x0, 0x0, 0x2, 0x0, 0x10, 0x0, 0x12, 0x0, 0x0, 0x0, 0x1, 0x0, 0x11, 0x0, 0x0, 0x0, 0x1, 0x0, 0x5, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6, 0x0, 0x0, 0x0, 0x1, 0x0, 0xa, 0x0, 0x0, 0x0, 0x1, 0x0, 0x9, 0x0, 0x0, 0x0, 0x3, 0x0, 0xd, 0x0, 0xe, 0x0, 0xf, 0x0, 0x0, 0x0, 0x2, 0x0, 0xe, 0x0, 0xf, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1a, 0x0, 0x0, 0x0, 0x1, 0x0, 0x18, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1b, 0x0, 0x27, 0x0, 0x50, 0x0, 0x58, 0x0, 0x60, 0x0, 0x68, 0x0, 0x82, 0x0, 0x8a, 0x0, 0x92, 0x0, 0x9a, 0x0, 0xa2, 0x0, 0xaa, 0x0, 0xb2, 0x0, 0xba, 0x0, 0xc2, 0x0, 0xca, 0x0, 0xd2, 0x0, 0xda, 0x0, 0xe2, 0x0, 0xea, 0x0, 0xf2, 0x0, 0xfa, 0x1, 0x2, 0x1, 0xa, 0x1, 0x12, 0x1, 0x1a, 0x1, 0x22, 0x1, 0x2a, 0x1, 0x32, 0x1, 0x3a, 0x1, 0x42, 0x1, 0x4a, 0x1, 0x52, 0x1, 0x5a, 0x1, 0x62, 0x1, 0x6a, 0x1, 0x72, 0x1, 0x7a, 0x1, 0x82, 0x1, 0x8a, 0x1, 0x92, 0x0, 0x6, 0x0, 0x9, 0x0, 0x1, 0x1, 0x4a, 0x0, 0x6, 0x0, 0x1, 0x0, 0x1, 0x1, 0xbe, 0x0, 0x6, 0x0, 0x0, 0x0, 0x1, 0x2, 0x6, 0x0, 0x6, 0x0, 0x0, 0x0, 0xa, 0x5, 0x7a, 0x5, 0xd2, 0x6, 0x2a, 0x6, 0x82, 0x6, 0xda, 0x7, 0x32, 0x7, 0x74, 0x7, 0xbc, 0x8, 0x4, 0x8, 0x4c, 0x0, 0x4, 0x0, 0x1, 0x0, 0x1, 0x8, 0x74, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x8, 0x92, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x8, 0x96, 0x0, 0x1, 0x0, 0x9, 0x0, 0x1, 0x8, 0x9a, 0x0, 0x1, 0x0, 0x9, 0x0, 0x1, 0x8, 0xde, 0x0, 0x1, 0x0, 0x9, 0x0, 0x1, 0x9, 0xd8, 0x0, 0x1, 0x0, 0x9, 0x0, 0x1, 0xa, 0x1c, 0x0, 0x1, 0x0, 0x9, 0x0, 0x1, 0xa, 0xfc, 0x0, 0x1, 0x0, 0x9, 0x0, 0x1, 0xb, 0x40, 0x0, 0x4, 0x0, 0x1, 0x0, 0x1, 0xc, 0x20, 0x0, 0x4, 0x0, 0x1, 0x0, 0x1, 0xc, 0x54, 0x0, 0x4, 0x0, 0x9, 0x0, 0x1, 0xc, 0xda, 0x0, 0x4, 0x0, 0x9, 0x0, 0x1, 0xc, 0xf8, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0xd, 0x36, 0x0, 0x4, 0x0, 0x1, 0x0, 0x1, 0xd, 0x6a, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0xe, 0x22, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0xe, 0x66, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0xe, 0x76, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0xe, 0x86, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0xf, 0x1a, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0xf, 0x1e, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0xf, 0x22, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0xf, 0x40, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0xf, 0x5e, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xf, 0x74, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0xf, 0xa6, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0xf, 0xd8, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x10, 0xe, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x10, 0x16, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x10, 0x1e, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x10, 0x26, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x10, 0x2e, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x10, 0x36, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x10, 0x48, 0x0, 0x4, 0x0, 0x1, 0x0, 0x1, 0x10, 0x4c, 0x0, 0x2, 0x0, 0x10, 0x0, 0x2c, 0x0, 0x2c, 0x0, 0x2c, 0x0, 0x2, 0x0, 0x0, 0x0, 0x48, 0x0, 0x2, 0x0, 0x4, 0x5, 0xf1, 0x6, 0xe, 0x0, 0x0, 0x6, 0x1c, 0x6, 0x1c, 0x0, 0x1e, 0xa, 0xeb, 0xa, 0xeb, 0x0, 0x1f, 0x17, 0x20, 0x17, 0x79, 0x0, 0x20, 0x0, 0x2, 0x0, 0x4, 0x5, 0xf1, 0x6, 0xe, 0x0, 0x1, 0x6, 0x1c, 0x6, 0x1c, 0x0, 0x1, 0xa, 0xeb, 0xa, 0xeb, 0x0, 0x1, 0x17, 0x20, 0x17, 0x79, 0x0, 0x1, 0x0, 0x3, 0x0, 0x8, 0x0, 0x18, 0x0, 0x26, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x9, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x2, 0x0, 0x12, 0x0, 0x18, 0x0, 0x20, 0x0, 0x20, 0x0, 0x3, 0x0, 0x0, 0x0, 0x42, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x5, 0x38, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x2, 0x0, 0x5, 0x5, 0x10, 0x5, 0x18, 0x0, 0x2, 0x5, 0x1b, 0x5, 0x1b, 0x0, 0x2, 0x5, 0x1d, 0x5, 0x1d, 0x0, 0x2, 0x5, 0x25, 0x5, 0x25, 0x0, 0x2, 0x5, 0x38, 0x5, 0x38, 0x0, 0x1, 0x0, 0x1, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x2, 0x0, 0x0, 0x0, 0x2, 0x0, 0x16, 0x0, 0x8c, 0x0, 0x8c, 0x0, 0x8c, 0x0, 0x5, 0x0, 0x0, 0x3, 0xc, 0x3, 0x44, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x39, 0x0, 0x4c, 0x0, 0x4d, 0x0, 0xf1, 0x2, 0xb, 0x2, 0x2a, 0x2, 0x5f, 0x2, 0xb1, 0x2, 0xb2, 0x2, 0xb3, 0x2, 0xb4, 0x2, 0xb5, 0x2, 0xb6, 0x2, 0xb7, 0x2, 0xb8, 0x2, 0xb9, 0x2, 0xba, 0x2, 0xbb, 0x2, 0xbc, 0x2, 0xbd, 0x2, 0xbe, 0x2, 0xbf, 0x2, 0xc0, 0x2, 0xc1, 0x2, 0xc2, 0x2, 0xc3, 0x2, 0xc4, 0x2, 0xc5, 0x2, 0xee, 0x2, 0xef, 0x2, 0xf0, 0x2, 0xf1, 0x2, 0xf2, 0x2, 0xf3, 0x2, 0xf4, 0x2, 0xf5, 0x2, 0xf7, 0x2, 0xfb, 0x2, 0xfc, 0x2, 0xfd, 0x3, 0x1, 0x3, 0x2, 0x3, 0x4, 0x3, 0x87, 0x3, 0xea, 0x3, 0xec, 0x4, 0x17, 0x4, 0x18, 0x4, 0x19, 0x4, 0x1a, 0x9, 0x26, 0x9, 0xc4, 0xb, 0x8c, 0xb, 0x8d, 0xb, 0x8e, 0xb, 0x8f, 0xb, 0xda, 0xb, 0xdb, 0x0, 0x2, 0x0, 0x6a, 0x0, 0x24, 0x0, 0x3d, 0x0, 0x3, 0x0, 0x45, 0x0, 0x45, 0x0, 0x3, 0x0, 0x47, 0x0, 0x47, 0x0, 0x3, 0x0, 0x49, 0x0, 0x49, 0x0, 0x3, 0x0, 0x4b, 0x0, 0x4b, 0x0, 0x3, 0x0, 0x4c, 0x0, 0x4d, 0x0, 0x1, 0x0, 0x4e, 0x0, 0x4f, 0x0, 0x3, 0x0, 0x57, 0x0, 0x57, 0x0, 0x3, 0x0, 0x82, 0x0, 0x98, 0x0, 0x3, 0x0, 0x9a, 0x0, 0xa1, 0x0, 0x3, 0x0, 0xc2, 0x0, 0xc2, 0x0, 0x3, 0x0, 0xc4, 0x0, 0xc4, 0x0, 0x3, 0x0, 0xc6, 0x0, 0xc6, 0x0, 0x3, 0x0, 0xc8, 0x0, 0xc8, 0x0, 0x3, 0x0, 0xca, 0x0, 0xca, 0x0, 0x3, 0x0, 0xcc, 0x0, 0xcc, 0x0, 0x3, 0x0, 0xce, 0x0, 0xce, 0x0, 0x3, 0x0, 0xd0, 0x0, 0xd0, 0x0, 0x3, 0x0, 0xd2, 0x0, 0xd2, 0x0, 0x3, 0x0, 0xd4, 0x0, 0xd4, 0x0, 0x3, 0x0, 0xd6, 0x0, 0xd6, 0x0, 0x3, 0x0, 0xd8, 0x0, 0xd8, 0x0, 0x3, 0x0, 0xda, 0x0, 0xda, 0x0, 0x3, 0x0, 0xdc, 0x0, 0xdc, 0x0, 0x3, 0x0, 0xde, 0x0, 0xde, 0x0, 0x3, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0x3, 0x0, 0xe2, 0x0, 0xe2, 0x0, 0x3, 0x0, 0xe4, 0x0, 0xe4, 0x0, 0x3, 0x0, 0xe6, 0x0, 0xea, 0x0, 0x3, 0x0, 0xec, 0x0, 0xec, 0x0, 0x3, 0x0, 0xee, 0x0, 0xee, 0x0, 0x3, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0x3, 0x0, 0xf1, 0x0, 0xf1, 0x0, 0x1, 0x0, 0xf2, 0x0, 0xf2, 0x0, 0x3, 0x0, 0xf4, 0x0, 0xf4, 0x0, 0x3, 0x0, 0xf6, 0x0, 0xf6, 0x0, 0x3, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0x3, 0x0, 0xfb, 0x1, 0x5, 0x0, 0x3, 0x1, 0x7, 0x1, 0x7, 0x0, 0x3, 0x1, 0x9, 0x1, 0x9, 0x0, 0x3, 0x1, 0xc, 0x1, 0xc, 0x0, 0x3, 0x1, 0xe, 0x1, 0xe, 0x0, 0x3, 0x1, 0x10, 0x1, 0x10, 0x0, 0x3, 0x1, 0x12, 0x1, 0x12, 0x0, 0x3, 0x1, 0x14, 0x1, 0x14, 0x0, 0x3, 0x1, 0x16, 0x1, 0x16, 0x0, 0x3, 0x1, 0x18, 0x1, 0x18, 0x0, 0x3, 0x1, 0x1a, 0x1, 0x1a, 0x0, 0x3, 0x1, 0x1c, 0x1, 0x1c, 0x0, 0x3, 0x1, 0x1e, 0x1, 0x1e, 0x0, 0x3, 0x1, 0x20, 0x1, 0x20, 0x0, 0x3, 0x1, 0x22, 0x1, 0x22, 0x0, 0x3, 0x1, 0x24, 0x1, 0x24, 0x0, 0x3, 0x1, 0x26, 0x1, 0x26, 0x0, 0x3, 0x1, 0x28, 0x1, 0x28, 0x0, 0x3, 0x1, 0x2a, 0x1, 0x2a, 0x0, 0x3, 0x1, 0x2c, 0x1, 0x2c, 0x0, 0x3, 0x1, 0x2e, 0x1, 0x2e, 0x0, 0x3, 0x1, 0x30, 0x1, 0x30, 0x0, 0x3, 0x1, 0x32, 0x1, 0x32, 0x0, 0x3, 0x1, 0x34, 0x1, 0x34, 0x0, 0x3, 0x1, 0x36, 0x1, 0x36, 0x0, 0x3, 0x1, 0x38, 0x1, 0x38, 0x0, 0x3, 0x1, 0x3a, 0x1, 0x3b, 0x0, 0x3, 0x1, 0x3d, 0x1, 0x3d, 0x0, 0x3, 0x1, 0x3f, 0x1, 0x3f, 0x0, 0x3, 0x1, 0x41, 0x1, 0x41, 0x0, 0x3, 0x1, 0x48, 0x1, 0x48, 0x0, 0x3, 0x1, 0x52, 0x1, 0x52, 0x0, 0x3, 0x1, 0x54, 0x1, 0x54, 0x0, 0x3, 0x1, 0x56, 0x1, 0x56, 0x0, 0x3, 0x1, 0x79, 0x1, 0x7a, 0x0, 0x3, 0x1, 0x8f, 0x1, 0x8f, 0x0, 0x3, 0x1, 0x91, 0x1, 0x93, 0x0, 0x3, 0x1, 0x95, 0x1, 0x95, 0x0, 0x3, 0x1, 0xa4, 0x1, 0xa4, 0x0, 0x3, 0x1, 0xac, 0x1, 0xac, 0x0, 0x3, 0x1, 0xae, 0x1, 0xae, 0x0, 0x3, 0x1, 0xda, 0x1, 0xda, 0x0, 0x3, 0x1, 0xdc, 0x1, 0xdc, 0x0, 0x3, 0x1, 0xf0, 0x1, 0xf0, 0x0, 0x3, 0x1, 0xf4, 0x1, 0xf4, 0x0, 0x3, 0x2, 0xb, 0x2, 0xb, 0x0, 0x1, 0x2, 0x2a, 0x2, 0x2a, 0x0, 0x1, 0x2, 0x5f, 0x2, 0x5f, 0x0, 0x1, 0x2, 0xb1, 0x2, 0xc5, 0x0, 0x2, 0x2, 0xc7, 0x2, 0xca, 0x0, 0x4, 0x2, 0xcd, 0x2, 0xe4, 0x0, 0x4, 0x2, 0xea, 0x2, 0xed, 0x0, 0x4, 0x2, 0xee, 0x2, 0xf5, 0x0, 0x2, 0x2, 0xf6, 0x2, 0xf6, 0x0, 0x4, 0x2, 0xf7, 0x2, 0xf7, 0x0, 0x2, 0x2, 0xf8, 0x2, 0xfa, 0x0, 0x4, 0x2, 0xfb, 0x2, 0xfd, 0x0, 0x2, 0x2, 0xfe, 0x2, 0xff, 0x0, 0x4, 0x3, 0x1, 0x3, 0x2, 0x0, 0x2, 0x3, 0x3, 0x3, 0x3, 0x0, 0x4, 0x3, 0x4, 0x3, 0x4, 0x0, 0x2, 0x3, 0x87, 0x3, 0x87, 0x0, 0x1, 0x3, 0xea, 0x3, 0xea, 0x0, 0x1, 0x3, 0xec, 0x3, 0xec, 0x0, 0x1, 0x4, 0x17, 0x4, 0x1a, 0x0, 0x2, 0x9, 0x26, 0x9, 0x26, 0x0, 0x1, 0x9, 0xc4, 0x9, 0xc4, 0x0, 0x1, 0xb, 0x8c, 0xb, 0x8f, 0x0, 0x2, 0xb, 0xda, 0xb, 0xdb, 0x0, 0x1, 0x0, 0x3, 0x0, 0x8, 0x0, 0x16, 0x0, 0x26, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x2, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2, 0x0, 0x4, 0x0, 0x2, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3, 0x0, 0x4, 0x0, 0x4, 0x0, 0x2, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x3, 0x0, 0x8, 0x0, 0x16, 0x0, 0x26, 0x0, 0x1, 0x0, 0x3, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1d, 0x0, 0x2, 0x0, 0x4, 0x0, 0x3, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1d, 0x0, 0x3, 0x0, 0x4, 0x0, 0x4, 0x0, 0x3, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1d, 0x0, 0x2, 0x0, 0x12, 0x0, 0x1c, 0x0, 0x24, 0x0, 0x24, 0x0, 0x3, 0x0, 0x0, 0x0, 0x34, 0x0, 0x46, 0x0, 0x2, 0x0, 0x1, 0x2, 0xa7, 0x2, 0xab, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x2, 0x0, 0x2, 0x2, 0xa7, 0x2, 0xa7, 0x0, 0x1, 0x2, 0xa8, 0x2, 0xab, 0x0, 0x2, 0x0, 0x1, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1f, 0x0, 0x1, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1f, 0x0, 0x2, 0x0, 0x12, 0x0, 0x1c, 0x0, 0x24, 0x0, 0x24, 0x0, 0x3, 0x0, 0x0, 0x0, 0x34, 0x0, 0x46, 0x0, 0x2, 0x0, 0x1, 0x2, 0xa7, 0x2, 0xab, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa7, 0x0, 0x5, 0x0, 0x2, 0x0, 0x1, 0x0, 0x2, 0x0, 0x2, 0x0, 0x2, 0x0, 0x1, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x20, 0x0, 0x1, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x20, 0x0, 0x2, 0x0, 0x12, 0x0, 0x1c, 0x0, 0x24, 0x0, 0x24, 0x0, 0x3, 0x0, 0x0, 0x0, 0x34, 0x0, 0x46, 0x0, 0x2, 0x0, 0x1, 0x2, 0xa7, 0x2, 0xab, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa7, 0x0, 0x5, 0x0, 0x2, 0x0, 0x2, 0x0, 0x1, 0x0, 0x2, 0x0, 0x2, 0x0, 0x1, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x21, 0x0, 0x1, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x21, 0x0, 0x2, 0x0, 0x12, 0x0, 0x1c, 0x0, 0x24, 0x0, 0x24, 0x0, 0x3, 0x0, 0x0, 0x0, 0x34, 0x0, 0x46, 0x0, 0x2, 0x0, 0x1, 0x2, 0xa7, 0x2, 0xab, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa7, 0x0, 0x5, 0x0, 0x2, 0x0, 0x2, 0x0, 0x2, 0x0, 0x1, 0x0, 0x2, 0x0, 0x1, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x22, 0x0, 0x1, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x22, 0x0, 0x2, 0x0, 0x12, 0x0, 0x1c, 0x0, 0x24, 0x0, 0x24, 0x0, 0x3, 0x0, 0x0, 0x0, 0x34, 0x0, 0x46, 0x0, 0x2, 0x0, 0x1, 0x2, 0xa7, 0x2, 0xab, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x2, 0x0, 0x2, 0x2, 0xa7, 0x2, 0xaa, 0x0, 0x2, 0x2, 0xab, 0x2, 0xab, 0x0, 0x1, 0x0, 0x1, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x23, 0x0, 0x1, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x23, 0x0, 0x2, 0x0, 0x12, 0x0, 0x18, 0x0, 0x18, 0x0, 0x28, 0x0, 0x3, 0x0, 0x0, 0x0, 0x30, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x2, 0xa7, 0x0, 0x2, 0x0, 0x2, 0x2, 0xa7, 0x2, 0xa7, 0x0, 0x1, 0x13, 0x46, 0x13, 0x49, 0x0, 0x2, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x4, 0x0, 0x1, 0x0, 0x2, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x24, 0x0, 0x2, 0x0, 0x12, 0x0, 0x18, 0x0, 0x18, 0x0, 0x2e, 0x0, 0x3, 0x0, 0x0, 0x0, 0x36, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x2, 0xa8, 0x0, 0x2, 0x0, 0x3, 0x2, 0xa8, 0x2, 0xa8, 0x0, 0x1, 0x13, 0x4a, 0x13, 0x4a, 0x0, 0x2, 0x13, 0x4c, 0x13, 0x4e, 0x0, 0x2, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x4, 0x0, 0x1, 0x0, 0x2, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x24, 0x0, 0x2, 0x0, 0x12, 0x0, 0x18, 0x0, 0x18, 0x0, 0x2e, 0x0, 0x3, 0x0, 0x0, 0x0, 0x36, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x2, 0xa9, 0x0, 0x2, 0x0, 0x3, 0x2, 0xa9, 0x2, 0xa9, 0x0, 0x1, 0x13, 0x4f, 0x13, 0x50, 0x0, 0x2, 0x13, 0x52, 0x13, 0x53, 0x0, 0x2, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x4, 0x0, 0x1, 0x0, 0x2, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x24, 0x0, 0x2, 0x0, 0x12, 0x0, 0x18, 0x0, 0x18, 0x0, 0x2e, 0x0, 0x3, 0x0, 0x0, 0x0, 0x36, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x2, 0xaa, 0x0, 0x2, 0x0, 0x3, 0x2, 0xaa, 0x2, 0xaa, 0x0, 0x1, 0x13, 0x54, 0x13, 0x56, 0x0, 0x2, 0x13, 0x58, 0x13, 0x58, 0x0, 0x2, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x4, 0x0, 0x1, 0x0, 0x2, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x24, 0x0, 0x2, 0x0, 0x12, 0x0, 0x18, 0x0, 0x18, 0x0, 0x28, 0x0, 0x3, 0x0, 0x0, 0x0, 0x30, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x2, 0xab, 0x0, 0x2, 0x0, 0x2, 0x2, 0xab, 0x2, 0xab, 0x0, 0x1, 0x13, 0x59, 0x13, 0x5c, 0x0, 0x2, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x4, 0x0, 0x1, 0x0, 0x2, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x24, 0x0, 0x1, 0x0, 0x1e, 0x0, 0x2, 0x0, 0xa, 0x0, 0x14, 0x0, 0x1, 0x0, 0x4, 0x13, 0xb1, 0x0, 0x2, 0x5, 0x14, 0x0, 0x1, 0x0, 0x4, 0x13, 0xb3, 0x0, 0x2, 0x5, 0x17, 0x0, 0x1, 0x0, 0x2, 0x5, 0x2f, 0x5, 0x43, 0x0, 0x1, 0x0, 0x6, 0xf, 0xdf, 0x0, 0x1, 0x0, 0x1, 0x3, 0xc5, 0x0, 0x1, 0x0, 0x6, 0x15, 0xdd, 0x0, 0x1, 0x0, 0x1, 0x1, 0xc, 0x0, 0x2, 0x0, 0x42, 0x0, 0x1e, 0x17, 0x20, 0x17, 0x23, 0x17, 0x26, 0x17, 0x29, 0x17, 0x2c, 0x17, 0x2f, 0x17, 0x32, 0x17, 0x35, 0x17, 0x38, 0x17, 0x3b, 0x17, 0x3e, 0x17, 0x41, 0x17, 0x44, 0x17, 0x47, 0x17, 0x4a, 0x17, 0x4d, 0x17, 0x50, 0x17, 0x53, 0x17, 0x56, 0x17, 0x59, 0x17, 0x5c, 0x17, 0x5f, 0x17, 0x62, 0x17, 0x65, 0x17, 0x68, 0x17, 0x6b, 0x17, 0x6e, 0x17, 0x71, 0x17, 0x74, 0x17, 0x77, 0x0, 0x2, 0x0, 0x1, 0x5, 0xf1, 0x6, 0xe, 0x0, 0x0, 0x0, 0x2, 0x0, 0xe6, 0x0, 0x70, 0x14, 0x66, 0x14, 0x68, 0x14, 0x6a, 0x14, 0x6c, 0x14, 0x6e, 0x14, 0x72, 0x14, 0x74, 0x14, 0x78, 0x14, 0x7a, 0x14, 0x7e, 0x14, 0x82, 0x14, 0x86, 0x14, 0x8a, 0x14, 0x8e, 0x14, 0x90, 0x14, 0x92, 0x14, 0x94, 0x14, 0x96, 0x14, 0x9a, 0x14, 0x9e, 0x14, 0xa2, 0x14, 0xa6, 0x14, 0xaa, 0x14, 0xae, 0x14, 0xb2, 0x14, 0xb6, 0x14, 0xba, 0x14, 0xbe, 0x14, 0xc2, 0x14, 0xc6, 0x14, 0xca, 0x14, 0xce, 0x14, 0xd2, 0x14, 0xd4, 0x14, 0xd6, 0x16, 0xca, 0x16, 0xd0, 0x13, 0xf4, 0x13, 0xec, 0x13, 0xe0, 0x16, 0xd6, 0x16, 0xd9, 0x13, 0xe4, 0x13, 0xf0, 0x13, 0xe8, 0x16, 0xdc, 0x16, 0xdf, 0x14, 0x4, 0x14, 0x0, 0x16, 0xe2, 0x14, 0x8, 0x14, 0xc, 0x14, 0x16, 0x17, 0x87, 0x17, 0x88, 0x17, 0x89, 0x14, 0x12, 0x14, 0x10, 0x14, 0x14, 0x17, 0x8a, 0x17, 0x8b, 0x14, 0x1a, 0x17, 0xb, 0x17, 0x8c, 0x17, 0x8d, 0x17, 0x3, 0x17, 0x8e, 0x17, 0x8f, 0x14, 0x18, 0x17, 0x90, 0x17, 0x91, 0x17, 0x94, 0x17, 0x97, 0x17, 0x9a, 0x17, 0x9d, 0x17, 0xa0, 0x17, 0xa3, 0x16, 0xcd, 0x17, 0xa6, 0x17, 0xa9, 0x13, 0xf8, 0x17, 0xac, 0x13, 0xfc, 0x17, 0xaf, 0x17, 0xb2, 0x14, 0x1c, 0x17, 0xb5, 0x17, 0xb8, 0x17, 0xbb, 0x14, 0x36, 0x17, 0xbe, 0x14, 0x20, 0x17, 0xc1, 0x14, 0x28, 0x17, 0xc4, 0x14, 0x24, 0x17, 0xc7, 0x17, 0x5, 0x17, 0xca, 0x17, 0xcd, 0x17, 0xd0, 0x17, 0xd3, 0x14, 0x2c, 0x14, 0x2e, 0x17, 0xd6, 0x17, 0xd9, 0x14, 0x32, 0x16, 0xe5, 0x14, 0x3a, 0x14, 0x3e, 0x17, 0x8, 0x17, 0xd, 0x0, 0x2, 0x0, 0x4, 0x5, 0x4f, 0x5, 0x67, 0x0, 0x0, 0x5, 0x69, 0x5, 0x72, 0x0, 0x19, 0x5, 0x8e, 0x5, 0x8f, 0x0, 0x23, 0x5, 0x92, 0x5, 0xdc, 0x0, 0x25, 0x0, 0x2, 0x0, 0x42, 0x0, 0x1e, 0x17, 0x21, 0x17, 0x24, 0x17, 0x27, 0x17, 0x2a, 0x17, 0x2d, 0x17, 0x30, 0x17, 0x33, 0x17, 0x36, 0x17, 0x39, 0x17, 0x3c, 0x17, 0x3f, 0x17, 0x42, 0x17, 0x45, 0x17, 0x48, 0x17, 0x4b, 0x17, 0x4e, 0x17, 0x51, 0x17, 0x54, 0x17, 0x57, 0x17, 0x5a, 0x17, 0x5d, 0x17, 0x60, 0x17, 0x63, 0x17, 0x66, 0x17, 0x69, 0x17, 0x6c, 0x17, 0x6f, 0x17, 0x72, 0x17, 0x75, 0x17, 0x78, 0x0, 0x2, 0x0, 0x1, 0x5, 0xf1, 0x6, 0xe, 0x0, 0x0, 0x0, 0x2, 0x0, 0xa8, 0x0, 0x51, 0x14, 0x70, 0x14, 0x76, 0x14, 0x7c, 0x14, 0x80, 0x14, 0x84, 0x14, 0x88, 0x14, 0x8c, 0x14, 0x98, 0x14, 0x9c, 0x14, 0xa0, 0x14, 0xa4, 0x14, 0xa8, 0x14, 0xac, 0x14, 0xb0, 0x14, 0xb4, 0x14, 0xb8, 0x14, 0xbc, 0x14, 0xc0, 0x14, 0xc4, 0x14, 0xc8, 0x14, 0xcc, 0x14, 0xd0, 0x14, 0x3c, 0x14, 0xd8, 0x16, 0xcc, 0x16, 0xd2, 0x13, 0xf6, 0x13, 0xee, 0x13, 0xe2, 0x16, 0xd8, 0x16, 0xdb, 0x13, 0xe6, 0x13, 0xf2, 0x13, 0xea, 0x16, 0xde, 0x16, 0xe1, 0x14, 0x6, 0x14, 0x2, 0x16, 0xe4, 0x14, 0xa, 0x14, 0xe, 0x17, 0x93, 0x17, 0x96, 0x17, 0x99, 0x17, 0x9c, 0x17, 0x9f, 0x17, 0xa2, 0x17, 0xa5, 0x16, 0xcf, 0x17, 0xa8, 0x17, 0xab, 0x13, 0xfa, 0x17, 0xae, 0x13, 0xfe, 0x17, 0xb1, 0x17, 0xb4, 0x14, 0x1e, 0x17, 0xb7, 0x17, 0xba, 0x17, 0xbd, 0x14, 0x38, 0x17, 0xc0, 0x14, 0x22, 0x17, 0xc3, 0x14, 0x2a, 0x17, 0xc6, 0x14, 0x26, 0x17, 0xc9, 0x17, 0x7, 0x17, 0xcc, 0x17, 0xcf, 0x17, 0xd2, 0x17, 0xd5, 0x16, 0xd4, 0x14, 0x30, 0x17, 0xd8, 0x17, 0xdb, 0x14, 0x34, 0x16, 0xe7, 0x14, 0x40, 0x17, 0xa, 0x0, 0x2, 0x0, 0xa, 0x5, 0x53, 0x5, 0x53, 0x0, 0x0, 0x5, 0x55, 0x5, 0x55, 0x0, 0x1, 0x5, 0x57, 0x5, 0x5b, 0x0, 0x2, 0x5, 0x60, 0x5, 0x67, 0x0, 0x7, 0x5, 0x69, 0x5, 0x6f, 0x0, 0xf, 0x5, 0x71, 0x5, 0x72, 0x0, 0x16, 0x5, 0x8e, 0x5, 0x8f, 0x0, 0x18, 0x5, 0x92, 0x5, 0xa0, 0x0, 0x1a, 0x5, 0xb3, 0x5, 0xd8, 0x0, 0x29, 0x5, 0xda, 0x5, 0xdb, 0x0, 0x4f, 0x0, 0x2, 0x0, 0x42, 0x0, 0x1e, 0x17, 0x22, 0x17, 0x25, 0x17, 0x28, 0x17, 0x2b, 0x17, 0x2e, 0x17, 0x31, 0x17, 0x34, 0x17, 0x37, 0x17, 0x3a, 0x17, 0x3d, 0x17, 0x40, 0x17, 0x43, 0x17, 0x46, 0x17, 0x49, 0x17, 0x4c, 0x17, 0x4f, 0x17, 0x52, 0x17, 0x55, 0x17, 0x58, 0x17, 0x5b, 0x17, 0x5e, 0x17, 0x61, 0x17, 0x64, 0x17, 0x67, 0x17, 0x6a, 0x17, 0x6d, 0x17, 0x70, 0x17, 0x73, 0x17, 0x76, 0x17, 0x79, 0x0, 0x2, 0x0, 0x1, 0x5, 0xf1, 0x6, 0xe, 0x0, 0x0, 0x0, 0x2, 0x0, 0xa8, 0x0, 0x51, 0x14, 0x6f, 0x14, 0x75, 0x14, 0x7b, 0x14, 0x7f, 0x14, 0x83, 0x14, 0x87, 0x14, 0x8b, 0x14, 0x97, 0x14, 0x9b, 0x14, 0x9f, 0x14, 0xa3, 0x14, 0xa7, 0x14, 0xab, 0x14, 0xaf, 0x14, 0xb3, 0x14, 0xb7, 0x14, 0xbb, 0x14, 0xbf, 0x14, 0xc3, 0x14, 0xc7, 0x14, 0xcb, 0x14, 0xcf, 0x14, 0x3b, 0x14, 0xd7, 0x16, 0xcb, 0x16, 0xd1, 0x13, 0xf5, 0x13, 0xed, 0x13, 0xe1, 0x16, 0xd7, 0x16, 0xda, 0x13, 0xe5, 0x13, 0xf1, 0x13, 0xe9, 0x16, 0xdd, 0x16, 0xe0, 0x14, 0x5, 0x14, 0x1, 0x16, 0xe3, 0x14, 0x9, 0x14, 0xd, 0x17, 0x92, 0x17, 0x95, 0x17, 0x98, 0x17, 0x9b, 0x17, 0x9e, 0x17, 0xa1, 0x17, 0xa4, 0x16, 0xce, 0x17, 0xa7, 0x17, 0xaa, 0x13, 0xf9, 0x17, 0xad, 0x13, 0xfd, 0x17, 0xb0, 0x17, 0xb3, 0x14, 0x1d, 0x17, 0xb6, 0x17, 0xb9, 0x17, 0xbc, 0x14, 0x37, 0x17, 0xbf, 0x14, 0x21, 0x17, 0xc2, 0x14, 0x29, 0x17, 0xc5, 0x14, 0x25, 0x17, 0xc8, 0x17, 0x6, 0x17, 0xcb, 0x17, 0xce, 0x17, 0xd1, 0x17, 0xd4, 0x16, 0xd3, 0x14, 0x2f, 0x17, 0xd7, 0x17, 0xda, 0x14, 0x33, 0x16, 0xe6, 0x14, 0x3f, 0x17, 0x9, 0x0, 0x2, 0x0, 0xa, 0x5, 0x53, 0x5, 0x53, 0x0, 0x0, 0x5, 0x55, 0x5, 0x55, 0x0, 0x1, 0x5, 0x57, 0x5, 0x5b, 0x0, 0x2, 0x5, 0x60, 0x5, 0x67, 0x0, 0x7, 0x5, 0x69, 0x5, 0x6f, 0x0, 0xf, 0x5, 0x71, 0x5, 0x72, 0x0, 0x16, 0x5, 0x8e, 0x5, 0x8f, 0x0, 0x18, 0x5, 0x92, 0x5, 0xa0, 0x0, 0x1a, 0x5, 0xb3, 0x5, 0xd8, 0x0, 0x29, 0x5, 0xda, 0x5, 0xdb, 0x0, 0x4f, 0x0, 0x1, 0x0, 0x32, 0x0, 0x3, 0x0, 0xc, 0x0, 0x16, 0x0, 0x20, 0x0, 0x1, 0x0, 0x4, 0x17, 0x1a, 0x0, 0x2, 0x5, 0x79, 0x0, 0x1, 0x0, 0x4, 0x17, 0x1d, 0x0, 0x2, 0x5, 0x79, 0x0, 0x2, 0x0, 0x6, 0x0, 0xc, 0x17, 0x1d, 0x0, 0x2, 0x5, 0x78, 0x17, 0x1a, 0x0, 0x2, 0x5, 0x75, 0x0, 0x1, 0x0, 0x3, 0x5, 0x75, 0x5, 0x78, 0x5, 0x79, 0x0, 0x1, 0x0, 0x7e, 0x0, 0x6, 0x0, 0x12, 0x0, 0x1c, 0x0, 0x26, 0x0, 0x38, 0x0, 0x4a, 0x0, 0x6c, 0x0, 0x1, 0x0, 0x4, 0x17, 0x18, 0x0, 0x2, 0x5, 0x79, 0x0, 0x1, 0x0, 0x4, 0x17, 0x19, 0x0, 0x2, 0x5, 0x79, 0x0, 0x2, 0x0, 0x6, 0x0, 0xc, 0x17, 0x1e, 0x0, 0x2, 0x5, 0x7c, 0x17, 0x1b, 0x0, 0x2, 0x5, 0x79, 0x0, 0x2, 0x0, 0x6, 0x0, 0xc, 0x17, 0x1f, 0x0, 0x2, 0x5, 0x7c, 0x17, 0x1c, 0x0, 0x2, 0x5, 0x79, 0x0, 0x4, 0x0, 0xa, 0x0, 0x10, 0x0, 0x16, 0x0, 0x1c, 0x17, 0x1c, 0x0, 0x2, 0x5, 0x77, 0x17, 0x1b, 0x0, 0x2, 0x5, 0x76, 0x17, 0x19, 0x0, 0x2, 0x5, 0x74, 0x17, 0x18, 0x0, 0x2, 0x5, 0x73, 0x0, 0x2, 0x0, 0x6, 0x0, 0xc, 0x17, 0x1f, 0x0, 0x2, 0x5, 0x77, 0x17, 0x1e, 0x0, 0x2, 0x5, 0x76, 0x0, 0x1, 0x0, 0x6, 0x5, 0x73, 0x5, 0x74, 0x5, 0x76, 0x5, 0x77, 0x5, 0x79, 0x5, 0x7c, 0x0, 0x1, 0x0, 0x1e, 0x0, 0x2, 0x0, 0xa, 0x0, 0x14, 0x0, 0x1, 0x0, 0x4, 0x14, 0xdf, 0x0, 0x2, 0x14, 0x72, 0x0, 0x1, 0x0, 0x4, 0x14, 0xe0, 0x0, 0x2, 0x14, 0x72, 0x0, 0x1, 0x0, 0x2, 0x14, 0xc3, 0x14, 0xc4, 0x0, 0x1, 0x0, 0x3e, 0x0, 0x2, 0x0, 0xa, 0x0, 0x24, 0x0, 0x3, 0x0, 0x8, 0x0, 0xe, 0x0, 0x14, 0x14, 0xdd, 0x0, 0x2, 0x14, 0x6c, 0x14, 0xdb, 0x0, 0x2, 0x14, 0x68, 0x14, 0xd9, 0x0, 0x2, 0x14, 0x66, 0x0, 0x3, 0x0, 0x8, 0x0, 0xe, 0x0, 0x14, 0x14, 0xde, 0x0, 0x2, 0x14, 0x6c, 0x14, 0xdc, 0x0, 0x2, 0x14, 0x68, 0x14, 0xda, 0x0, 0x2, 0x14, 0x66, 0x0, 0x1, 0x0, 0x2, 0x14, 0xc3, 0x14, 0xc4, 0x0, 0x1, 0x0, 0x36, 0x0, 0x1, 0x0, 0x8, 0x0, 0x5, 0x0, 0xc, 0x0, 0x14, 0x0, 0x1c, 0x0, 0x22, 0x0, 0x28, 0x13, 0xa9, 0x0, 0x3, 0x0, 0x49, 0x0, 0x4f, 0x13, 0xa8, 0x0, 0x3, 0x0, 0x49, 0x0, 0x4c, 0x13, 0xa7, 0x0, 0x2, 0x0, 0x4f, 0x13, 0xa6, 0x0, 0x2, 0x0, 0x4c, 0x13, 0xa5, 0x0, 0x2, 0x0, 0x49, 0x0, 0x1, 0x0, 0x1, 0x0, 0x49, 0x0, 0x1, 0x0, 0xb2, 0x0, 0x5, 0x0, 0x10, 0x0, 0x52, 0x0, 0x6c, 0x0, 0x9e, 0x0, 0xa8, 0x0, 0x8, 0x0, 0x12, 0x0, 0x18, 0x0, 0x1e, 0x0, 0x24, 0x0, 0x2a, 0x0, 0x30, 0x0, 0x36, 0x0, 0x3c, 0x14, 0x62, 0x0, 0x2, 0x5, 0x7a, 0x14, 0x60, 0x0, 0x2, 0x5, 0x79, 0x14, 0x5e, 0x0, 0x2, 0x5, 0x78, 0x14, 0x5c, 0x0, 0x2, 0x5, 0x77, 0x14, 0x5a, 0x0, 0x2, 0x5, 0x76, 0x14, 0x59, 0x0, 0x2, 0x5, 0x75, 0x14, 0x57, 0x0, 0x2, 0x5, 0x74, 0x14, 0x55, 0x0, 0x2, 0x5, 0x73, 0x0, 0x3, 0x0, 0x8, 0x0, 0xe, 0x0, 0x14, 0x5, 0x52, 0x0, 0x2, 0x5, 0x7d, 0x5, 0x50, 0x0, 0x2, 0x5, 0x7c, 0x5, 0x4f, 0x0, 0x2, 0x5, 0x7b, 0x0, 0x6, 0x0, 0xe, 0x0, 0x14, 0x0, 0x1a, 0x0, 0x20, 0x0, 0x26, 0x0, 0x2c, 0x14, 0x63, 0x0, 0x2, 0x5, 0x7a, 0x14, 0x61, 0x0, 0x2, 0x5, 0x79, 0x14, 0x5f, 0x0, 0x2, 0x5, 0x78, 0x14, 0x5d, 0x0, 0x2, 0x5, 0x77, 0x14, 0x5b, 0x0, 0x2, 0x5, 0x76, 0x14, 0x56, 0x0, 0x2, 0x5, 0x73, 0x0, 0x1, 0x0, 0x4, 0x5, 0x51, 0x0, 0x2, 0x5, 0x7c, 0x0, 0x1, 0x0, 0x4, 0x5, 0x53, 0x0, 0x2, 0x5, 0x7c, 0x0, 0x1, 0x0, 0x5, 0x0, 0x3, 0x5, 0x54, 0x5, 0x68, 0x5, 0x70, 0x5, 0x72, 0x0, 0x1, 0x0, 0x42, 0x0, 0x3, 0x0, 0xc, 0x0, 0x16, 0x0, 0x38, 0x0, 0x1, 0x0, 0x4, 0x5, 0xd, 0x0, 0x2, 0x5, 0x8, 0x0, 0x4, 0x0, 0xa, 0x0, 0x10, 0x0, 0x16, 0x0, 0x1c, 0x13, 0xb0, 0x0, 0x2, 0x4, 0xf3, 0x13, 0xae, 0x0, 0x2, 0x4, 0xf1, 0x13, 0xad, 0x0, 0x2, 0x4, 0xeb, 0x13, 0xac, 0x0, 0x2, 0x4, 0xfc, 0x0, 0x1, 0x0, 0x4, 0x13, 0xaf, 0x0, 0x2, 0x4, 0xfc, 0x0, 0x1, 0x0, 0x3, 0x4, 0xeb, 0x4, 0xfa, 0x5, 0x4, 0x0, 0x1, 0x0, 0x12, 0x0, 0x1, 0x0, 0x8, 0x0, 0x1, 0x0, 0x4, 0x13, 0xab, 0x0, 0x2, 0x0, 0x57, 0x0, 0x1, 0x0, 0x1, 0x0, 0x56, 0x0, 0x1, 0x0, 0x12, 0x0, 0x1, 0x0, 0x8, 0x0, 0x1, 0x0, 0x4, 0x13, 0xaa, 0x0, 0x2, 0x0, 0x57, 0x0, 0x1, 0x0, 0x1, 0x1, 0x41, 0x0, 0x1, 0x0, 0x88, 0x0, 0x8, 0x0, 0x16, 0x0, 0x28, 0x0, 0x3a, 0x0, 0x46, 0x0, 0x50, 0x0, 0x5a, 0x0, 0x66, 0x0, 0x72, 0x0, 0x2, 0x0, 0x6, 0x0, 0xc, 0xb, 0x27, 0x0, 0x2, 0x0, 0x22, 0xb, 0x1a, 0x0, 0x2, 0x0, 0x4, 0x0, 0x2, 0x0, 0x6, 0x0, 0xc, 0xb, 0x26, 0x0, 0x2, 0x0, 0x4, 0xb, 0x25, 0x0, 0x2, 0x0, 0x22, 0x0, 0x1, 0x0, 0x4, 0xb, 0xcd, 0x0, 0x3, 0x0, 0x24, 0x0, 0x3b, 0x0, 0x1, 0x0, 0x4, 0xb, 0x7b, 0x0, 0x2, 0x0, 0x56, 0x0, 0x1, 0x0, 0x4, 0xb, 0xb2, 0x0, 0x2, 0x0, 0x30, 0x0, 0x1, 0x0, 0x4, 0xb, 0xb3, 0x0, 0x3, 0x0, 0x28, 0x0, 0x2f, 0x0, 0x1, 0x0, 0x4, 0xb, 0x93, 0x0, 0x3, 0x0, 0x12, 0x0, 0x46, 0x0, 0x2, 0x0, 0x6, 0x0, 0xe, 0xb, 0x99, 0x0, 0x3, 0x0, 0x12, 0x0, 0x58, 0xb, 0x98, 0x0, 0x3, 0x0, 0x12, 0x0, 0x52, 0x0, 0x1, 0x0, 0x8, 0x0, 0x4, 0x0, 0x22, 0x0, 0x29, 0x0, 0x35, 0x0, 0x36, 0x0, 0x37, 0x0, 0x44, 0x0, 0x46, 0x0, 0x1, 0x0, 0x6, 0xe, 0x93, 0x0, 0x1, 0x0, 0x1, 0x5, 0x1f, 0x0, 0x1, 0x0, 0x6, 0xe, 0x93, 0x0, 0x1, 0x0, 0x1, 0x5, 0x1f, 0x0, 0x2, 0x0, 0x14, 0x0, 0x7, 0x3, 0x67, 0x3, 0x66, 0x3, 0x68, 0x3, 0x64, 0x3, 0x65, 0x3, 0x6a, 0x3, 0x69, 0x0, 0x1, 0x0, 0x7, 0x3, 0x23, 0x3, 0x39, 0x3, 0x3f, 0x3, 0x46, 0x3, 0x4c, 0x3, 0x54, 0x3, 0x5a, 0x0, 0x2, 0x0, 0x14, 0x0, 0x7, 0x3, 0x67, 0x3, 0x66, 0x3, 0x68, 0x3, 0x64, 0x3, 0x65, 0x3, 0x6a, 0x3, 0x69, 0x0, 0x1, 0x0, 0x7, 0x3, 0x23, 0x3, 0x39, 0x3, 0x3f, 0x3, 0x46, 0x3, 0x4c, 0x3, 0x54, 0x3, 0x5a, 0x0, 0x2, 0x0, 0x10, 0x0, 0x5, 0x17, 0x16, 0x17, 0x2, 0x2, 0x13, 0x17, 0xc, 0x16, 0xe9, 0x0, 0x1, 0x0, 0x5, 0x0, 0x2c, 0x0, 0x2d, 0x0, 0x44, 0x0, 0x4f, 0x1, 0xc, 0x0, 0x1, 0x0, 0x2a, 0x0, 0x6, 0x0, 0x12, 0x0, 0x16, 0x0, 0x1a, 0x0, 0x1e, 0x0, 0x22, 0x0, 0x26, 0x0, 0x1, 0x17, 0x16, 0x0, 0x1, 0x17, 0x2, 0x0, 0x1, 0x2, 0x13, 0x0, 0x1, 0x17, 0xc, 0x0, 0x1, 0x17, 0x86, 0x0, 0x1, 0x16, 0xe9, 0x0, 0x1, 0x0, 0x6, 0x0, 0x2c, 0x0, 0x2d, 0x0, 0x44, 0x0, 0x4f, 0x0, 0x5c, 0x1, 0xc, 0x0, 0x2, 0x0, 0x1e, 0x0, 0xc, 0x16, 0xbc, 0x16, 0xba, 0x16, 0xbd, 0x16, 0xbb, 0x16, 0xc0, 0x16, 0xc1, 0x16, 0xb9, 0x17, 0x7a, 0x16, 0xc2, 0x16, 0xbe, 0x16, 0xc3, 0x16, 0xbf, 0x0, 0x1, 0x0, 0xc, 0x2, 0xb1, 0x2, 0xb2, 0x2, 0xb3, 0x2, 0xb4, 0x2, 0xb7, 0x2, 0xb8, 0x2, 0xb9, 0x2, 0xbb, 0x2, 0xbc, 0x2, 0xbd, 0x2, 0xc0, 0x2, 0xc2, 0x0, 0x2, 0x0, 0x20, 0x0, 0xd, 0x0, 0xf3, 0x1, 0xf9, 0x17, 0x10, 0x2, 0x21, 0x16, 0xea, 0x16, 0xeb, 0x1, 0xf9, 0x0, 0xf3, 0x1, 0xf9, 0x17, 0x13, 0x17, 0x14, 0x17, 0x11, 0x17, 0x12, 0x0, 0x1, 0x0, 0xd, 0x0, 0x4c, 0x0, 0x4d, 0x0, 0xf1, 0x2, 0xb, 0x2, 0x2a, 0x2, 0x5f, 0x3, 0x87, 0x3, 0xea, 0x3, 0xec, 0x9, 0x26, 0x9, 0xc4, 0xb, 0xda, 0xb, 0xdb, 0x0, 0x1, 0x0, 0x6, 0x10, 0x9e, 0x0, 0x2, 0x0, 0x1, 0x2, 0xa7, 0x2, 0xab, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6, 0x10, 0xa3, 0x0, 0x2, 0x0, 0x1, 0x2, 0xa7, 0x2, 0xab, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6, 0x10, 0xa8, 0x0, 0x2, 0x0, 0x1, 0x2, 0xa7, 0x2, 0xab, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6, 0x10, 0xad, 0x0, 0x2, 0x0, 0x1, 0x2, 0xa7, 0x2, 0xab, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6, 0x10, 0xb2, 0x0, 0x2, 0x0, 0x1, 0x2, 0xa7, 0x2, 0xab, 0x0, 0x0, 0x0, 0x2, 0x0, 0x10, 0x0, 0x5, 0x13, 0x5e, 0x13, 0x5e, 0x13, 0x5e, 0x13, 0x5e, 0x13, 0x5e, 0x0, 0x2, 0x0, 0x1, 0x2, 0xa7, 0x2, 0xab, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6, 0xe, 0x7c, 0x0, 0x1, 0x0, 0x1, 0x5, 0x38, 0x0, 0x1, 0x0, 0x12, 0x0, 0x1, 0x0, 0x8, 0x0, 0x1, 0x0, 0x4, 0x13, 0xde, 0x0, 0x2, 0x5, 0x32, 0x0, 0x1, 0x0, 0x1, 0x5, 0x26, 0x0, 0x0, 0x0, 0x1, 0x4, 0xe, 0x1, 0x90, 0x0, 0x5, 0x0, 0x0, 0x5, 0x33, 0x5, 0x99, 0x0, 0x0, 0x1, 0x1e, 0x5, 0x33, 0x5, 0x99, 0x0, 0x0, 0x3, 0xd7, 0x0, 0x66, 0x2, 0x12, 0x0, 0x0, 0x2, 0xb, 0x6, 0x3, 0x3, 0x8, 0x4, 0x2, 0x2, 0x4, 0xe7, 0x0, 0x6e, 0xff, 0xd2, 0x0, 0xfd, 0xff, 0xa, 0x24, 0x60, 0x29, 0x4, 0x0, 0x20, 0xc, 0x50, 0x66, 0x45, 0x64, 0x0, 0x40, 0x0, 0x20, 0xff, 0xff, 0x6, 0x14, 0xfe, 0x14, 0x1, 0x9a, 0x7, 0x6d, 0x1, 0xe3, 0x60, 0x0, 0x1, 0xff, 0xdf, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2c, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x7, 0xbc, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x13, 0xfc, 0x0, 0x3, 0x0, 0x1, 0x0, 0x0, 0x0, 0x2c, 0x0, 0x3, 0x0, 0xa, 0x0, 0x0, 0x7, 0xbc, 0x0, 0x4, 0x7, 0x90, 0x0, 0x0, 0x1, 0xe0, 0x1, 0x0, 0x0, 0x7, 0x0, 0xe0, 0x0, 0x0, 0x0, 0x7e, 0x2, 0xe9, 0x2, 0xee, 0x2, 0xf3, 0x2, 0xf7, 0x3, 0x4f, 0x3, 0x53, 0x3, 0x58, 0x3, 0x5a, 0x3, 0x62, 0x3, 0x77, 0x3, 0x7e, 0x3, 0x8a, 0x3, 0x8c, 0x3, 0xa1, 0x5, 0x25, 0x5, 0x56, 0x5, 0x5f, 0x5, 0x87, 0x5, 0x8a, 0x5, 0xc3, 0x5, 0xc7, 0x5, 0xea, 0x5, 0xf4, 0x6, 0x7, 0x6, 0xa, 0x6, 0xc, 0x6, 0x15, 0x6, 0x1b, 0x6, 0x1f, 0x6, 0x3a, 0x6, 0x55, 0x6, 0x57, 0x6, 0x5a, 0x6, 0x70, 0x6, 0x74, 0x6, 0xbf, 0x6, 0xc6, 0x6, 0xcc, 0x6, 0xce, 0x6, 0xd5, 0x6, 0xf9, 0x7, 0xe7, 0x7, 0xf5, 0x7, 0xfa, 0xe, 0x3f, 0xe, 0x82, 0xe, 0x84, 0xe, 0x88, 0xe, 0x8a, 0xe, 0x8d, 0xe, 0x97, 0xe, 0x9f, 0xe, 0xa3, 0xe, 0xa5, 0xe, 0xa7, 0xe, 0xab, 0xe, 0xb9, 0xe, 0xbd, 0xe, 0xc4, 0xe, 0xc6, 0xe, 0xcd, 0xe, 0xd9, 0xe, 0xdd, 0x10, 0xc5, 0x10, 0xfc, 0x14, 0x7, 0x14, 0x1b, 0x14, 0x35, 0x14, 0x4a, 0x14, 0x52, 0x14, 0xbd, 0x14, 0xea, 0x15, 0x7, 0x15, 0x3e, 0x15, 0x50, 0x15, 0x6a, 0x15, 0x85, 0x15, 0x96, 0x15, 0xaf, 0x15, 0xde, 0x15, 0xe1, 0x16, 0x47, 0x16, 0x76, 0x16, 0x9c, 0x1d, 0x14, 0x1d, 0x23, 0x1d, 0x2e, 0x1d, 0x5b, 0x1d, 0x6a, 0x1d, 0x78, 0x1d, 0x7b, 0x1d, 0x7d, 0x1d, 0x85, 0x1d, 0xbf, 0x1d, 0xc9, 0x1e, 0xfb, 0x1f, 0x15, 0x1f, 0x1d, 0x1f, 0x45, 0x1f, 0x4d, 0x1f, 0x57, 0x1f, 0x59, 0x1f, 0x5b, 0x1f, 0x5d, 0x1f, 0x7d, 0x1f, 0xb4, 0x1f, 0xc4, 0x1f, 0xd3, 0x1f, 0xdb, 0x1f, 0xef, 0x1f, 0xf4, 0x1f, 0xfe, 0x20, 0x64, 0x20, 0x71, 0x20, 0x8e, 0x20, 0x9c, 0x20, 0xb5, 0x20, 0xba, 0x20, 0xd1, 0x20, 0xd7, 0x20, 0xdc, 0x20, 0xe1, 0x21, 0x9, 0x21, 0x49, 0x21, 0x4b, 0x21, 0x4e, 0x21, 0x85, 0x21, 0x89, 0x23, 0x11, 0x23, 0x19, 0x23, 0x21, 0x23, 0x28, 0x23, 0x2c, 0x23, 0x75, 0x23, 0x7a, 0x23, 0x7d, 0x23, 0x87, 0x23, 0x94, 0x23, 0xae, 0x23, 0xcf, 0x23, 0xe3, 0x23, 0xe5, 0x23, 0xe8, 0x24, 0x23, 0x24, 0x69, 0x26, 0x9c, 0x26, 0xb8, 0x26, 0xc3, 0x26, 0xe2, 0x27, 0x4, 0x27, 0x9, 0x27, 0x27, 0x27, 0x4b, 0x27, 0x4d, 0x27, 0x52, 0x27, 0x56, 0x27, 0x5e, 0x27, 0x94, 0x27, 0xaf, 0x27, 0xbe, 0x27, 0xc6, 0x27, 0xe0, 0x27, 0xeb, 0x28, 0xff, 0x29, 0x7, 0x29, 0xb, 0x29, 0x41, 0x29, 0x84, 0x29, 0xd5, 0x29, 0xeb, 0x29, 0xfb, 0x2a, 0x2, 0x2a, 0x1c, 0x2a, 0x2f, 0x2a, 0x6b, 0x2a, 0xa0, 0x2a, 0xba, 0x2a, 0xfa, 0x2b, 0x1a, 0x2b, 0x24, 0x2b, 0x54, 0x2c, 0x77, 0x2c, 0x7f, 0x2d, 0x25, 0x2d, 0x65, 0x2d, 0x6f, 0x2e, 0x18, 0x2e, 0x1e, 0x2e, 0x25, 0x2e, 0x2e, 0x4d, 0xff, 0xa4, 0xff, 0xa6, 0x47, 0xa6, 0x4d, 0xa6, 0x51, 0xa6, 0x57, 0xa6, 0x6e, 0xa6, 0x8d, 0xa6, 0x95, 0xa7, 0x16, 0xa7, 0x1f, 0xa7, 0x2b, 0xa7, 0x41, 0xa7, 0x4b, 0xa7, 0x53, 0xa7, 0x57, 0xa7, 0x67, 0xa7, 0x83, 0xa7, 0x8e, 0xa7, 0x91, 0xa7, 0xaa, 0xa7, 0xff, 0xef, 0x19, 0xf0, 0x3, 0xf4, 0x26, 0xf4, 0x41, 0xf6, 0xc5, 0xfb, 0x6, 0xfb, 0x17, 0xfb, 0x36, 0xfb, 0x3c, 0xfb, 0x3e, 0xfb, 0x41, 0xfb, 0x44, 0xfb, 0x4f, 0xfb, 0xa3, 0xfb, 0xad, 0xfb, 0xd6, 0xfb, 0xda, 0xfb, 0xe9, 0xfb, 0xff, 0xfe, 0xf, 0xfe, 0x23, 0xfe, 0x74, 0xfe, 0xfc, 0xfe, 0xff, 0xff, 0xfd, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x0, 0xa0, 0x2, 0xec, 0x2, 0xf3, 0x2, 0xf7, 0x3, 0x0, 0x3, 0x51, 0x3, 0x57, 0x3, 0x5a, 0x3, 0x5c, 0x3, 0x70, 0x3, 0x7a, 0x3, 0x84, 0x3, 0x8c, 0x3, 0x8e, 0x3, 0xa3, 0x5, 0x31, 0x5, 0x59, 0x5, 0x61, 0x5, 0x89, 0x5, 0xb0, 0x5, 0xc6, 0x5, 0xd0, 0x5, 0xf0, 0x6, 0x6, 0x6, 0x9, 0x6, 0xc, 0x6, 0x15, 0x6, 0x1b, 0x6, 0x1f, 0x6, 0x21, 0x6, 0x40, 0x6, 0x57, 0x6, 0x5a, 0x6, 0x60, 0x6, 0x74, 0x6, 0x79, 0x6, 0xc6, 0x6, 0xcc, 0x6, 0xce, 0x6, 0xd5, 0x6, 0xf0, 0x7, 0xc0, 0x7, 0xeb, 0x7, 0xf8, 0xe, 0x3f, 0xe, 0x81, 0xe, 0x84, 0xe, 0x87, 0xe, 0x8a, 0xe, 0x8d, 0xe, 0x94, 0xe, 0x99, 0xe, 0xa1, 0xe, 0xa5, 0xe, 0xa7, 0xe, 0xaa, 0xe, 0xad, 0xe, 0xbb, 0xe, 0xc0, 0xe, 0xc6, 0xe, 0xc8, 0xe, 0xd0, 0xe, 0xdc, 0x10, 0xa0, 0x10, 0xd0, 0x14, 0x1, 0x14, 0x9, 0x14, 0x1d, 0x14, 0x37, 0x14, 0x4c, 0x14, 0x54, 0x14, 0xc0, 0x14, 0xec, 0x15, 0x10, 0x15, 0x40, 0x15, 0x52, 0x15, 0x74, 0x15, 0x8a, 0x15, 0xa0, 0x15, 0xde, 0x15, 0xe1, 0x16, 0x46, 0x16, 0x6e, 0x16, 0x80, 0x1d, 0x0, 0x1d, 0x16, 0x1d, 0x26, 0x1d, 0x30, 0x1d, 0x5d, 0x1d, 0x77, 0x1d, 0x7b, 0x1d, 0x7d, 0x1d, 0x85, 0x1d, 0x9b, 0x1d, 0xc4, 0x1e, 0x0, 0x1f, 0x0, 0x1f, 0x18, 0x1f, 0x20, 0x1f, 0x48, 0x1f, 0x50, 0x1f, 0x59, 0x1f, 0x5b, 0x1f, 0x5d, 0x1f, 0x5f, 0x1f, 0x80, 0x1f, 0xb6, 0x1f, 0xc6, 0x1f, 0xd6, 0x1f, 0xdd, 0x1f, 0xf2, 0x1f, 0xf6, 0x20, 0x0, 0x20, 0x6a, 0x20, 0x74, 0x20, 0x90, 0x20, 0xa0, 0x20, 0xb8, 0x20, 0xd0, 0x20, 0xd6, 0x20, 0xdb, 0x20, 0xe1, 0x21, 0x0, 0x21, 0xb, 0x21, 0x4b, 0x21, 0x4e, 0x21, 0x50, 0x21, 0x89, 0x21, 0x90, 0x23, 0x18, 0x23, 0x1c, 0x23, 0x24, 0x23, 0x2b, 0x23, 0x73, 0x23, 0x7a, 0x23, 0x7d, 0x23, 0x87, 0x23, 0x94, 0x23, 0x9b, 0x23, 0xce, 0x23, 0xe3, 0x23, 0xe5, 0x23, 0xe8, 0x24, 0x22, 0x24, 0x60, 0x25, 0x0, 0x26, 0xa0, 0x26, 0xc0, 0x26, 0xe2, 0x27, 0x1, 0x27, 0x6, 0x27, 0xc, 0x27, 0x29, 0x27, 0x4d, 0x27, 0x4f, 0x27, 0x56, 0x27, 0x58, 0x27, 0x61, 0x27, 0x98, 0x27, 0xb1, 0x27, 0xc5, 0x27, 0xe0, 0x27, 0xe6, 0x27, 0xf0, 0x29, 0x6, 0x29, 0xa, 0x29, 0x40, 0x29, 0x83, 0x29, 0xce, 0x29, 0xeb, 0x29, 0xfa, 0x2a, 0x0, 0x2a, 0xc, 0x2a, 0x2f, 0x2a, 0x6a, 0x2a, 0x7d, 0x2a, 0xae, 0x2a, 0xf9, 0x2b, 0x0, 0x2b, 0x1f, 0x2b, 0x53, 0x2c, 0x60, 0x2c, 0x79, 0x2d, 0x0, 0x2d, 0x30, 0x2d, 0x6f, 0x2e, 0x18, 0x2e, 0x1e, 0x2e, 0x22, 0x2e, 0x2e, 0x4d, 0xc0, 0xa4, 0xd0, 0xa6, 0x44, 0xa6, 0x4c, 0xa6, 0x50, 0xa6, 0x54, 0xa6, 0x62, 0xa6, 0x8a, 0xa6, 0x94, 0xa7, 0x8, 0xa7, 0x1b, 0xa7, 0x22, 0xa7, 0x30, 0xa7, 0x46, 0xa7, 0x4e, 0xa7, 0x56, 0xa7, 0x64, 0xa7, 0x80, 0xa7, 0x89, 0xa7, 0x90, 0xa7, 0xa0, 0xa7, 0xfa, 0xef, 0x0, 0xf0, 0x0, 0xf4, 0x0, 0xf4, 0x28, 0xf6, 0xc5, 0xfb, 0x0, 0xfb, 0x13, 0xfb, 0x1d, 0xfb, 0x38, 0xfb, 0x3e, 0xfb, 0x40, 0xfb, 0x43, 0xfb, 0x46, 0xfb, 0x52, 0xfb, 0xaa, 0xfb, 0xd3, 0xfb, 0xd9, 0xfb, 0xe8, 0xfb, 0xfc, 0xfe, 0x0, 0xfe, 0x20, 0xfe, 0x70, 0xfe, 0x76, 0xfe, 0xff, 0xff, 0xf9, 0xff, 0xff, 0x0, 0x0, 0xff, 0xe3, 0xff, 0xc2, 0xff, 0xc0, 0xff, 0xbc, 0xff, 0xb9, 0xff, 0xb1, 0xff, 0xb0, 0xff, 0xad, 0xff, 0xac, 0xff, 0xab, 0xff, 0x9e, 0xff, 0x9c, 0xff, 0x97, 0xff, 0x96, 0xff, 0x95, 0xff, 0x94, 0xff, 0x89, 0xff, 0x87, 0xff, 0x86, 0xff, 0x85, 0xff, 0x60, 0xff, 0x5e, 0xff, 0x56, 0xff, 0x51, 0xff, 0x40, 0xff, 0x3f, 0xff, 0x3e, 0xff, 0x36, 0xff, 0x31, 0xff, 0x2e, 0xff, 0x2d, 0xff, 0x28, 0xff, 0x27, 0xff, 0x25, 0xff, 0x20, 0xff, 0x1d, 0xff, 0x19, 0xff, 0x13, 0xff, 0xe, 0xff, 0xd, 0xff, 0x7, 0xfe, 0xed, 0xfe, 0x27, 0xfe, 0x24, 0xfe, 0x22, 0xf7, 0xde, 0xf7, 0x9d, 0xf7, 0x9c, 0xf7, 0x9a, 0xf7, 0x99, 0xf7, 0x97, 0xf7, 0x91, 0xf7, 0x90, 0xf7, 0x8f, 0xf7, 0x8e, 0xf7, 0x8d, 0xf7, 0x8b, 0xf7, 0x8a, 0xf7, 0x89, 0xf7, 0x87, 0xf7, 0x86, 0xf7, 0x85, 0xf7, 0x83, 0xf7, 0x81, 0xf5, 0xbf, 0xf5, 0xb5, 0xf2, 0xb1, 0xf2, 0xb0, 0xf2, 0xaf, 0xf2, 0xae, 0xf2, 0xad, 0xf2, 0xac, 0xf2, 0xaa, 0xf2, 0xa9, 0xf2, 0xa1, 0xf2, 0xa0, 0xf2, 0x9f, 0xf2, 0x96, 0xf2, 0x92, 0xf2, 0x89, 0xf2, 0x5b, 0xf2, 0x59, 0xf1, 0xf5, 0xf1, 0xcf, 0xf1, 0xc6, 0xeb, 0x63, 0xeb, 0x62, 0xeb, 0x60, 0xeb, 0x5f, 0xeb, 0x5e, 0xeb, 0x52, 0xeb, 0x50, 0xeb, 0x4f, 0xeb, 0x48, 0xeb, 0x33, 0xeb, 0x2f, 0xea, 0xf9, 0xea, 0xf5, 0xea, 0xf3, 0xea, 0xf1, 0xea, 0xef, 0xea, 0xed, 0xea, 0xec, 0xea, 0xeb, 0xea, 0xea, 0xea, 0xe9, 0xea, 0xe7, 0xea, 0xe6, 0xea, 0xe5, 0xea, 0xe3, 0xea, 0xe2, 0xea, 0xe0, 0xea, 0xdf, 0xea, 0xde, 0xea, 0xd9, 0xea, 0xd7, 0xea, 0xd6, 0xea, 0xd3, 0xea, 0xd1, 0xea, 0xbc, 0xea, 0xb8, 0xea, 0xb5, 0xea, 0xb1, 0xea, 0x93, 0xea, 0x92, 0xea, 0x91, 0xea, 0x8f, 0xea, 0x8e, 0xea, 0x8b, 0xea, 0x85, 0xea, 0x7f, 0xea, 0x7d, 0xea, 0x7b, 0xea, 0x79, 0xea, 0x33, 0xea, 0x2f, 0xea, 0x2d, 0xea, 0x24, 0xea, 0x18, 0xea, 0x12, 0xe9, 0xf3, 0xe9, 0xe0, 0xe9, 0xdf, 0xe9, 0xdd, 0xe9, 0xa4, 0xe9, 0x68, 0xe8, 0xd2, 0xe8, 0xcf, 0xe8, 0xc8, 0xe8, 0xaa, 0xe8, 0x8c, 0xe8, 0x8b, 0xe8, 0x89, 0xe8, 0x88, 0xe8, 0x87, 0xe8, 0x86, 0xe8, 0x83, 0xe8, 0x82, 0xe8, 0x80, 0xe8, 0x7d, 0xe8, 0x7c, 0xe8, 0x76, 0xe8, 0x5d, 0xe8, 0x58, 0xe8, 0x54, 0xe8, 0x4e, 0xe8, 0x4c, 0xe8, 0x18, 0xe7, 0xd7, 0xe7, 0x8e, 0xe7, 0x79, 0xe7, 0x6b, 0xe7, 0x67, 0xe7, 0x5e, 0xe7, 0x4c, 0xe7, 0x12, 0xe7, 0x1, 0xe6, 0xf4, 0xe6, 0xb6, 0xe6, 0xb1, 0xe6, 0xad, 0xe6, 0x7f, 0xe5, 0x74, 0xe5, 0x73, 0xe4, 0xf3, 0xe4, 0xe9, 0xe4, 0xe0, 0xe4, 0x38, 0xe4, 0x33, 0xe4, 0x30, 0xe4, 0x28, 0xc4, 0x97, 0x6d, 0xc7, 0x6c, 0x83, 0x6c, 0x7f, 0x6c, 0x7d, 0x6c, 0x7b, 0x6c, 0x71, 0x6c, 0x56, 0x6c, 0x50, 0x6b, 0xde, 0x6b, 0xda, 0x6b, 0xd8, 0x6b, 0xd4, 0x6b, 0xd0, 0x6b, 0xce, 0x6b, 0xcc, 0x6b, 0xc0, 0x6b, 0xa8, 0x6b, 0xa3, 0x6b, 0xa2, 0x6b, 0x94, 0x6b, 0x45, 0x24, 0x45, 0x23, 0x5f, 0x1f, 0x63, 0x1f, 0x62, 0x1c, 0xdf, 0x18, 0xa5, 0x18, 0x99, 0x18, 0x94, 0x18, 0x93, 0x18, 0x92, 0x18, 0x91, 0x18, 0x90, 0x18, 0x8f, 0x18, 0x8d, 0x18, 0x87, 0x18, 0x62, 0x18, 0x60, 0x18, 0x53, 0x18, 0x41, 0x16, 0x41, 0x16, 0x31, 0x15, 0xe5, 0x15, 0xe4, 0x15, 0xe2, 0x14, 0xe9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, 0x0, 0xc, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x4, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0, 0x7e, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0xa0, 0x0, 0x0, 0x2, 0xe9, 0x0, 0x0, 0x0, 0x62, 0x0, 0x0, 0x2, 0xec, 0x0, 0x0, 0x2, 0xee, 0x0, 0x0, 0x2, 0xac, 0x0, 0x0, 0x2, 0xf3, 0x0, 0x0, 0x2, 0xf3, 0x0, 0x0, 0x2, 0xaf, 0x0, 0x0, 0x2, 0xf7, 0x0, 0x0, 0x2, 0xf7, 0x0, 0x0, 0x2, 0xb0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x3, 0x4f, 0x0, 0x0, 0x2, 0xb1, 0x0, 0x0, 0x3, 0x51, 0x0, 0x0, 0x3, 0x53, 0x0, 0x0, 0x3, 0x1, 0x0, 0x0, 0x3, 0x57, 0x0, 0x0, 0x3, 0x58, 0x0, 0x0, 0x3, 0x4, 0x0, 0x0, 0x3, 0x5a, 0x0, 0x0, 0x3, 0x5a, 0x0, 0x0, 0x3, 0x6, 0x0, 0x0, 0x3, 0x5c, 0x0, 0x0, 0x3, 0x62, 0x0, 0x0, 0x3, 0x7, 0x0, 0x0, 0x3, 0x70, 0x0, 0x0, 0x3, 0x77, 0x0, 0x0, 0x3, 0xe, 0x0, 0x0, 0x3, 0x7a, 0x0, 0x0, 0x3, 0x7e, 0x0, 0x0, 0x3, 0x16, 0x0, 0x0, 0x3, 0x84, 0x0, 0x0, 0x3, 0x8a, 0x0, 0x0, 0x3, 0x1b, 0x0, 0x0, 0x3, 0x8c, 0x0, 0x0, 0x3, 0x8c, 0x0, 0x0, 0x3, 0x22, 0x0, 0x0, 0x3, 0x8e, 0x0, 0x0, 0x3, 0xa1, 0x0, 0x0, 0x3, 0x23, 0x0, 0x0, 0x3, 0xa3, 0x0, 0x0, 0x5, 0x25, 0x0, 0x0, 0x3, 0x37, 0x0, 0x0, 0x5, 0x31, 0x0, 0x0, 0x5, 0x56, 0x0, 0x0, 0x4, 0xba, 0x0, 0x0, 0x5, 0x59, 0x0, 0x0, 0x5, 0x5f, 0x0, 0x0, 0x4, 0xe0, 0x0, 0x0, 0x5, 0x61, 0x0, 0x0, 0x5, 0x87, 0x0, 0x0, 0x4, 0xe7, 0x0, 0x0, 0x5, 0x89, 0x0, 0x0, 0x5, 0x8a, 0x0, 0x0, 0x5, 0xe, 0x0, 0x0, 0x5, 0xb0, 0x0, 0x0, 0x5, 0xc3, 0x0, 0x0, 0x5, 0x10, 0x0, 0x0, 0x5, 0xc6, 0x0, 0x0, 0x5, 0xc7, 0x0, 0x0, 0x5, 0x24, 0x0, 0x0, 0x5, 0xd0, 0x0, 0x0, 0x5, 0xea, 0x0, 0x0, 0x5, 0x26, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x0, 0x5, 0xf4, 0x0, 0x0, 0x5, 0x41, 0x0, 0x0, 0x6, 0x6, 0x0, 0x0, 0x6, 0x7, 0x0, 0x0, 0x5, 0x46, 0x0, 0x0, 0x6, 0x9, 0x0, 0x0, 0x6, 0xa, 0x0, 0x0, 0x5, 0x48, 0x0, 0x0, 0x6, 0xc, 0x0, 0x0, 0x6, 0xc, 0x0, 0x0, 0x5, 0x4a, 0x0, 0x0, 0x6, 0x15, 0x0, 0x0, 0x6, 0x15, 0x0, 0x0, 0x5, 0x4b, 0x0, 0x0, 0x6, 0x1b, 0x0, 0x0, 0x6, 0x1b, 0x0, 0x0, 0x5, 0x4c, 0x0, 0x0, 0x6, 0x1f, 0x0, 0x0, 0x6, 0x1f, 0x0, 0x0, 0x5, 0x4d, 0x0, 0x0, 0x6, 0x21, 0x0, 0x0, 0x6, 0x3a, 0x0, 0x0, 0x5, 0x4e, 0x0, 0x0, 0x6, 0x40, 0x0, 0x0, 0x6, 0x55, 0x0, 0x0, 0x5, 0x68, 0x0, 0x0, 0x6, 0x57, 0x0, 0x0, 0x6, 0x57, 0x0, 0x0, 0x5, 0x7e, 0x0, 0x0, 0x6, 0x5a, 0x0, 0x0, 0x6, 0x5a, 0x0, 0x0, 0x5, 0x7f, 0x0, 0x0, 0x6, 0x60, 0x0, 0x0, 0x6, 0x70, 0x0, 0x0, 0x5, 0x80, 0x0, 0x0, 0x6, 0x74, 0x0, 0x0, 0x6, 0x74, 0x0, 0x0, 0x5, 0x91, 0x0, 0x0, 0x6, 0x79, 0x0, 0x0, 0x6, 0xbf, 0x0, 0x0, 0x5, 0x92, 0x0, 0x0, 0x6, 0xc6, 0x0, 0x0, 0x6, 0xc6, 0x0, 0x0, 0x5, 0xd9, 0x0, 0x0, 0x6, 0xcc, 0x0, 0x0, 0x6, 0xcc, 0x0, 0x0, 0x5, 0xda, 0x0, 0x0, 0x6, 0xce, 0x0, 0x0, 0x6, 0xce, 0x0, 0x0, 0x5, 0xdb, 0x0, 0x0, 0x6, 0xd5, 0x0, 0x0, 0x6, 0xd5, 0x0, 0x0, 0x5, 0xdc, 0x0, 0x0, 0x6, 0xf0, 0x0, 0x0, 0x6, 0xf9, 0x0, 0x0, 0x5, 0xdd, 0x0, 0x0, 0x7, 0xc0, 0x0, 0x0, 0x7, 0xe7, 0x0, 0x0, 0x5, 0xe7, 0x0, 0x0, 0x7, 0xeb, 0x0, 0x0, 0x7, 0xf5, 0x0, 0x0, 0x6, 0xf, 0x0, 0x0, 0x7, 0xf8, 0x0, 0x0, 0x7, 0xfa, 0x0, 0x0, 0x6, 0x1a, 0x0, 0x0, 0xe, 0x3f, 0x0, 0x0, 0xe, 0x3f, 0x0, 0x0, 0x6, 0x1d, 0x0, 0x0, 0xe, 0x81, 0x0, 0x0, 0xe, 0x82, 0x0, 0x0, 0x6, 0x1e, 0x0, 0x0, 0xe, 0x84, 0x0, 0x0, 0xe, 0x84, 0x0, 0x0, 0x6, 0x20, 0x0, 0x0, 0xe, 0x87, 0x0, 0x0, 0xe, 0x88, 0x0, 0x0, 0x6, 0x21, 0x0, 0x0, 0xe, 0x8a, 0x0, 0x0, 0xe, 0x8a, 0x0, 0x0, 0x6, 0x23, 0x0, 0x0, 0xe, 0x8d, 0x0, 0x0, 0xe, 0x8d, 0x0, 0x0, 0x6, 0x24, 0x0, 0x0, 0xe, 0x94, 0x0, 0x0, 0xe, 0x97, 0x0, 0x0, 0x6, 0x25, 0x0, 0x0, 0xe, 0x99, 0x0, 0x0, 0xe, 0x9f, 0x0, 0x0, 0x6, 0x29, 0x0, 0x0, 0xe, 0xa1, 0x0, 0x0, 0xe, 0xa3, 0x0, 0x0, 0x6, 0x30, 0x0, 0x0, 0xe, 0xa5, 0x0, 0x0, 0xe, 0xa5, 0x0, 0x0, 0x6, 0x33, 0x0, 0x0, 0xe, 0xa7, 0x0, 0x0, 0xe, 0xa7, 0x0, 0x0, 0x6, 0x34, 0x0, 0x0, 0xe, 0xaa, 0x0, 0x0, 0xe, 0xab, 0x0, 0x0, 0x6, 0x35, 0x0, 0x0, 0xe, 0xad, 0x0, 0x0, 0xe, 0xb9, 0x0, 0x0, 0x6, 0x37, 0x0, 0x0, 0xe, 0xbb, 0x0, 0x0, 0xe, 0xbd, 0x0, 0x0, 0x6, 0x44, 0x0, 0x0, 0xe, 0xc0, 0x0, 0x0, 0xe, 0xc4, 0x0, 0x0, 0x6, 0x47, 0x0, 0x0, 0xe, 0xc6, 0x0, 0x0, 0xe, 0xc6, 0x0, 0x0, 0x6, 0x4c, 0x0, 0x0, 0xe, 0xc8, 0x0, 0x0, 0xe, 0xcd, 0x0, 0x0, 0x6, 0x4d, 0x0, 0x0, 0xe, 0xd0, 0x0, 0x0, 0xe, 0xd9, 0x0, 0x0, 0x6, 0x53, 0x0, 0x0, 0xe, 0xdc, 0x0, 0x0, 0xe, 0xdd, 0x0, 0x0, 0x6, 0x5d, 0x0, 0x0, 0x10, 0xa0, 0x0, 0x0, 0x10, 0xc5, 0x0, 0x0, 0x6, 0x5f, 0x0, 0x0, 0x10, 0xd0, 0x0, 0x0, 0x10, 0xfc, 0x0, 0x0, 0x6, 0x85, 0x0, 0x0, 0x14, 0x1, 0x0, 0x0, 0x14, 0x7, 0x0, 0x0, 0x6, 0xb2, 0x0, 0x0, 0x14, 0x9, 0x0, 0x0, 0x14, 0x1b, 0x0, 0x0, 0x6, 0xb9, 0x0, 0x0, 0x14, 0x1d, 0x0, 0x0, 0x14, 0x35, 0x0, 0x0, 0x6, 0xcc, 0x0, 0x0, 0x14, 0x37, 0x0, 0x0, 0x14, 0x4a, 0x0, 0x0, 0x6, 0xe5, 0x0, 0x0, 0x14, 0x4c, 0x0, 0x0, 0x14, 0x52, 0x0, 0x0, 0x6, 0xf9, 0x0, 0x0, 0x14, 0x54, 0x0, 0x0, 0x14, 0xbd, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x14, 0xc0, 0x0, 0x0, 0x14, 0xea, 0x0, 0x0, 0x7, 0x6a, 0x0, 0x0, 0x14, 0xec, 0x0, 0x0, 0x15, 0x7, 0x0, 0x0, 0x7, 0x95, 0x0, 0x0, 0x15, 0x10, 0x0, 0x0, 0x15, 0x3e, 0x0, 0x0, 0x7, 0xb1, 0x0, 0x0, 0x15, 0x40, 0x0, 0x0, 0x15, 0x50, 0x0, 0x0, 0x7, 0xe0, 0x0, 0x0, 0x15, 0x52, 0x0, 0x0, 0x15, 0x6a, 0x0, 0x0, 0x7, 0xf1, 0x0, 0x0, 0x15, 0x74, 0x0, 0x0, 0x15, 0x85, 0x0, 0x0, 0x8, 0xa, 0x0, 0x0, 0x15, 0x8a, 0x0, 0x0, 0x15, 0x96, 0x0, 0x0, 0x8, 0x1c, 0x0, 0x0, 0x15, 0xa0, 0x0, 0x0, 0x15, 0xaf, 0x0, 0x0, 0x8, 0x29, 0x0, 0x0, 0x15, 0xde, 0x0, 0x0, 0x15, 0xde, 0x0, 0x0, 0x8, 0x39, 0x0, 0x0, 0x15, 0xe1, 0x0, 0x0, 0x15, 0xe1, 0x0, 0x0, 0x8, 0x3a, 0x0, 0x0, 0x16, 0x46, 0x0, 0x0, 0x16, 0x47, 0x0, 0x0, 0x8, 0x3b, 0x0, 0x0, 0x16, 0x6e, 0x0, 0x0, 0x16, 0x76, 0x0, 0x0, 0x8, 0x3d, 0x0, 0x0, 0x16, 0x80, 0x0, 0x0, 0x16, 0x9c, 0x0, 0x0, 0x8, 0x46, 0x0, 0x0, 0x1d, 0x0, 0x0, 0x0, 0x1d, 0x14, 0x0, 0x0, 0x8, 0x63, 0x0, 0x0, 0x1d, 0x16, 0x0, 0x0, 0x1d, 0x23, 0x0, 0x0, 0x8, 0x78, 0x0, 0x0, 0x1d, 0x26, 0x0, 0x0, 0x1d, 0x2e, 0x0, 0x0, 0x8, 0x86, 0x0, 0x0, 0x1d, 0x30, 0x0, 0x0, 0x1d, 0x5b, 0x0, 0x0, 0x8, 0x8f, 0x0, 0x0, 0x1d, 0x5d, 0x0, 0x0, 0x1d, 0x6a, 0x0, 0x0, 0x8, 0xbb, 0x0, 0x0, 0x1d, 0x77, 0x0, 0x0, 0x1d, 0x78, 0x0, 0x0, 0x8, 0xc9, 0x0, 0x0, 0x1d, 0x7b, 0x0, 0x0, 0x1d, 0x7b, 0x0, 0x0, 0x8, 0xcb, 0x0, 0x0, 0x1d, 0x7d, 0x0, 0x0, 0x1d, 0x7d, 0x0, 0x0, 0x8, 0xcc, 0x0, 0x0, 0x1d, 0x85, 0x0, 0x0, 0x1d, 0x85, 0x0, 0x0, 0x8, 0xcd, 0x0, 0x0, 0x1d, 0x9b, 0x0, 0x0, 0x1d, 0xbf, 0x0, 0x0, 0x8, 0xce, 0x0, 0x0, 0x1d, 0xc4, 0x0, 0x0, 0x1d, 0xc9, 0x0, 0x0, 0x8, 0xf3, 0x0, 0x0, 0x1e, 0x0, 0x0, 0x0, 0x1e, 0xfb, 0x0, 0x0, 0x8, 0xf9, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x0, 0x1f, 0x15, 0x0, 0x0, 0x9, 0xf5, 0x0, 0x0, 0x1f, 0x18, 0x0, 0x0, 0x1f, 0x1d, 0x0, 0x0, 0xa, 0xb, 0x0, 0x0, 0x1f, 0x20, 0x0, 0x0, 0x1f, 0x45, 0x0, 0x0, 0xa, 0x11, 0x0, 0x0, 0x1f, 0x48, 0x0, 0x0, 0x1f, 0x4d, 0x0, 0x0, 0xa, 0x37, 0x0, 0x0, 0x1f, 0x50, 0x0, 0x0, 0x1f, 0x57, 0x0, 0x0, 0xa, 0x3d, 0x0, 0x0, 0x1f, 0x59, 0x0, 0x0, 0x1f, 0x59, 0x0, 0x0, 0xa, 0x45, 0x0, 0x0, 0x1f, 0x5b, 0x0, 0x0, 0x1f, 0x5b, 0x0, 0x0, 0xa, 0x46, 0x0, 0x0, 0x1f, 0x5d, 0x0, 0x0, 0x1f, 0x5d, 0x0, 0x0, 0xa, 0x47, 0x0, 0x0, 0x1f, 0x5f, 0x0, 0x0, 0x1f, 0x7d, 0x0, 0x0, 0xa, 0x48, 0x0, 0x0, 0x1f, 0x80, 0x0, 0x0, 0x1f, 0xb4, 0x0, 0x0, 0xa, 0x67, 0x0, 0x0, 0x1f, 0xb6, 0x0, 0x0, 0x1f, 0xc4, 0x0, 0x0, 0xa, 0x9c, 0x0, 0x0, 0x1f, 0xc6, 0x0, 0x0, 0x1f, 0xd3, 0x0, 0x0, 0xa, 0xab, 0x0, 0x0, 0x1f, 0xd6, 0x0, 0x0, 0x1f, 0xdb, 0x0, 0x0, 0xa, 0xb9, 0x0, 0x0, 0x1f, 0xdd, 0x0, 0x0, 0x1f, 0xef, 0x0, 0x0, 0xa, 0xbf, 0x0, 0x0, 0x1f, 0xf2, 0x0, 0x0, 0x1f, 0xf4, 0x0, 0x0, 0xa, 0xd2, 0x0, 0x0, 0x1f, 0xf6, 0x0, 0x0, 0x1f, 0xfe, 0x0, 0x0, 0xa, 0xd5, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0, 0x20, 0x64, 0x0, 0x0, 0xa, 0xde, 0x0, 0x0, 0x20, 0x6a, 0x0, 0x0, 0x20, 0x71, 0x0, 0x0, 0xb, 0x43, 0x0, 0x0, 0x20, 0x74, 0x0, 0x0, 0x20, 0x8e, 0x0, 0x0, 0xb, 0x4b, 0x0, 0x0, 0x20, 0x90, 0x0, 0x0, 0x20, 0x9c, 0x0, 0x0, 0xb, 0x66, 0x0, 0x0, 0x20, 0xa0, 0x0, 0x0, 0x20, 0xb5, 0x0, 0x0, 0xb, 0x73, 0x0, 0x0, 0x20, 0xb8, 0x0, 0x0, 0x20, 0xba, 0x0, 0x0, 0xb, 0x89, 0x0, 0x0, 0x20, 0xd0, 0x0, 0x0, 0x20, 0xd1, 0x0, 0x0, 0xb, 0x8c, 0x0, 0x0, 0x20, 0xd6, 0x0, 0x0, 0x20, 0xd7, 0x0, 0x0, 0xb, 0x8e, 0x0, 0x0, 0x20, 0xdb, 0x0, 0x0, 0x20, 0xdc, 0x0, 0x0, 0xb, 0x90, 0x0, 0x0, 0x20, 0xe1, 0x0, 0x0, 0x20, 0xe1, 0x0, 0x0, 0xb, 0x92, 0x0, 0x0, 0x21, 0x0, 0x0, 0x0, 0x21, 0x9, 0x0, 0x0, 0xb, 0x93, 0x0, 0x0, 0x21, 0xb, 0x0, 0x0, 0x21, 0x49, 0x0, 0x0, 0xb, 0x9d, 0x0, 0x0, 0x21, 0x4b, 0x0, 0x0, 0x21, 0x4b, 0x0, 0x0, 0xb, 0xdc, 0x0, 0x0, 0x21, 0x4e, 0x0, 0x0, 0x21, 0x4e, 0x0, 0x0, 0xb, 0xdd, 0x0, 0x0, 0x21, 0x50, 0x0, 0x0, 0x21, 0x85, 0x0, 0x0, 0xb, 0xde, 0x0, 0x0, 0x21, 0x89, 0x0, 0x0, 0x21, 0x89, 0x0, 0x0, 0xc, 0x14, 0x0, 0x0, 0x21, 0x90, 0x0, 0x0, 0x23, 0x11, 0x0, 0x0, 0xc, 0x15, 0x0, 0x0, 0x23, 0x18, 0x0, 0x0, 0x23, 0x19, 0x0, 0x0, 0xd, 0x97, 0x0, 0x0, 0x23, 0x1c, 0x0, 0x0, 0x23, 0x21, 0x0, 0x0, 0xd, 0x99, 0x0, 0x0, 0x23, 0x24, 0x0, 0x0, 0x23, 0x28, 0x0, 0x0, 0xd, 0x9f, 0x0, 0x0, 0x23, 0x2b, 0x0, 0x0, 0x23, 0x2c, 0x0, 0x0, 0xd, 0xa4, 0x0, 0x0, 0x23, 0x73, 0x0, 0x0, 0x23, 0x75, 0x0, 0x0, 0xd, 0xa6, 0x0, 0x0, 0x23, 0x7a, 0x0, 0x0, 0x23, 0x7a, 0x0, 0x0, 0xd, 0xa9, 0x0, 0x0, 0x23, 0x7d, 0x0, 0x0, 0x23, 0x7d, 0x0, 0x0, 0xd, 0xaa, 0x0, 0x0, 0x23, 0x87, 0x0, 0x0, 0x23, 0x87, 0x0, 0x0, 0xd, 0xab, 0x0, 0x0, 0x23, 0x94, 0x0, 0x0, 0x23, 0x94, 0x0, 0x0, 0xd, 0xac, 0x0, 0x0, 0x23, 0x9b, 0x0, 0x0, 0x23, 0xae, 0x0, 0x0, 0xd, 0xad, 0x0, 0x0, 0x23, 0xce, 0x0, 0x0, 0x23, 0xcf, 0x0, 0x0, 0xd, 0xc1, 0x0, 0x0, 0x23, 0xe3, 0x0, 0x0, 0x23, 0xe3, 0x0, 0x0, 0xd, 0xc3, 0x0, 0x0, 0x23, 0xe5, 0x0, 0x0, 0x23, 0xe5, 0x0, 0x0, 0xd, 0xc4, 0x0, 0x0, 0x23, 0xe8, 0x0, 0x0, 0x23, 0xe8, 0x0, 0x0, 0xd, 0xc5, 0x0, 0x0, 0x24, 0x22, 0x0, 0x0, 0x24, 0x23, 0x0, 0x0, 0xd, 0xc6, 0x0, 0x0, 0x24, 0x60, 0x0, 0x0, 0x24, 0x69, 0x0, 0x0, 0xd, 0xc8, 0x0, 0x0, 0x25, 0x0, 0x0, 0x0, 0x26, 0x9c, 0x0, 0x0, 0xd, 0xd2, 0x0, 0x0, 0x26, 0xa0, 0x0, 0x0, 0x26, 0xb8, 0x0, 0x0, 0xf, 0x6f, 0x0, 0x0, 0x26, 0xc0, 0x0, 0x0, 0x26, 0xc3, 0x0, 0x0, 0xf, 0x88, 0x0, 0x0, 0x26, 0xe2, 0x0, 0x0, 0x26, 0xe2, 0x0, 0x0, 0xf, 0x8c, 0x0, 0x0, 0x27, 0x1, 0x0, 0x0, 0x27, 0x4, 0x0, 0x0, 0xf, 0x8d, 0x0, 0x0, 0x27, 0x6, 0x0, 0x0, 0x27, 0x9, 0x0, 0x0, 0xf, 0x91, 0x0, 0x0, 0x27, 0xc, 0x0, 0x0, 0x27, 0x27, 0x0, 0x0, 0xf, 0x95, 0x0, 0x0, 0x27, 0x29, 0x0, 0x0, 0x27, 0x4b, 0x0, 0x0, 0xf, 0xb1, 0x0, 0x0, 0x27, 0x4d, 0x0, 0x0, 0x27, 0x4d, 0x0, 0x0, 0xf, 0xd4, 0x0, 0x0, 0x27, 0x4f, 0x0, 0x0, 0x27, 0x52, 0x0, 0x0, 0xf, 0xd5, 0x0, 0x0, 0x27, 0x56, 0x0, 0x0, 0x27, 0x56, 0x0, 0x0, 0xf, 0xd9, 0x0, 0x0, 0x27, 0x58, 0x0, 0x0, 0x27, 0x5e, 0x0, 0x0, 0xf, 0xda, 0x0, 0x0, 0x27, 0x61, 0x0, 0x0, 0x27, 0x94, 0x0, 0x0, 0xf, 0xe1, 0x0, 0x0, 0x27, 0x98, 0x0, 0x0, 0x27, 0xaf, 0x0, 0x0, 0x10, 0x15, 0x0, 0x0, 0x27, 0xb1, 0x0, 0x0, 0x27, 0xbe, 0x0, 0x0, 0x10, 0x2d, 0x0, 0x0, 0x27, 0xc5, 0x0, 0x0, 0x27, 0xc6, 0x0, 0x0, 0x10, 0x3b, 0x0, 0x0, 0x27, 0xe0, 0x0, 0x0, 0x27, 0xe0, 0x0, 0x0, 0x10, 0x3d, 0x0, 0x0, 0x27, 0xe6, 0x0, 0x0, 0x27, 0xeb, 0x0, 0x0, 0x10, 0x3e, 0x0, 0x0, 0x27, 0xf0, 0x0, 0x0, 0x28, 0xff, 0x0, 0x0, 0x10, 0x44, 0x0, 0x0, 0x29, 0x6, 0x0, 0x0, 0x29, 0x7, 0x0, 0x0, 0x11, 0x54, 0x0, 0x0, 0x29, 0xa, 0x0, 0x0, 0x29, 0xb, 0x0, 0x0, 0x11, 0x56, 0x0, 0x0, 0x29, 0x40, 0x0, 0x0, 0x29, 0x41, 0x0, 0x0, 0x11, 0x58, 0x0, 0x0, 0x29, 0x83, 0x0, 0x0, 0x29, 0x84, 0x0, 0x0, 0x11, 0x5a, 0x0, 0x0, 0x29, 0xce, 0x0, 0x0, 0x29, 0xd5, 0x0, 0x0, 0x11, 0x5c, 0x0, 0x0, 0x29, 0xeb, 0x0, 0x0, 0x29, 0xeb, 0x0, 0x0, 0x11, 0x64, 0x0, 0x0, 0x29, 0xfa, 0x0, 0x0, 0x29, 0xfb, 0x0, 0x0, 0x11, 0x65, 0x0, 0x0, 0x2a, 0x0, 0x0, 0x0, 0x2a, 0x2, 0x0, 0x0, 0x11, 0x67, 0x0, 0x0, 0x2a, 0xc, 0x0, 0x0, 0x2a, 0x1c, 0x0, 0x0, 0x11, 0x6a, 0x0, 0x0, 0x2a, 0x2f, 0x0, 0x0, 0x2a, 0x2f, 0x0, 0x0, 0x11, 0x7b, 0x0, 0x0, 0x2a, 0x6a, 0x0, 0x0, 0x2a, 0x6b, 0x0, 0x0, 0x11, 0x7c, 0x0, 0x0, 0x2a, 0x7d, 0x0, 0x0, 0x2a, 0xa0, 0x0, 0x0, 0x11, 0x7e, 0x0, 0x0, 0x2a, 0xae, 0x0, 0x0, 0x2a, 0xba, 0x0, 0x0, 0x11, 0xa2, 0x0, 0x0, 0x2a, 0xf9, 0x0, 0x0, 0x2a, 0xfa, 0x0, 0x0, 0x11, 0xaf, 0x0, 0x0, 0x2b, 0x0, 0x0, 0x0, 0x2b, 0x1a, 0x0, 0x0, 0x11, 0xb1, 0x0, 0x0, 0x2b, 0x1f, 0x0, 0x0, 0x2b, 0x24, 0x0, 0x0, 0x11, 0xcc, 0x0, 0x0, 0x2b, 0x53, 0x0, 0x0, 0x2b, 0x54, 0x0, 0x0, 0x11, 0xd2, 0x0, 0x0, 0x2c, 0x60, 0x0, 0x0, 0x2c, 0x77, 0x0, 0x0, 0x11, 0xd4, 0x0, 0x0, 0x2c, 0x79, 0x0, 0x0, 0x2c, 0x7f, 0x0, 0x0, 0x11, 0xec, 0x0, 0x0, 0x2d, 0x0, 0x0, 0x0, 0x2d, 0x25, 0x0, 0x0, 0x11, 0xf3, 0x0, 0x0, 0x2d, 0x30, 0x0, 0x0, 0x2d, 0x65, 0x0, 0x0, 0x12, 0x19, 0x0, 0x0, 0x2d, 0x6f, 0x0, 0x0, 0x2d, 0x6f, 0x0, 0x0, 0x12, 0x4f, 0x0, 0x0, 0x2e, 0x18, 0x0, 0x0, 0x2e, 0x18, 0x0, 0x0, 0x12, 0x50, 0x0, 0x0, 0x2e, 0x1e, 0x0, 0x0, 0x2e, 0x1e, 0x0, 0x0, 0x12, 0x51, 0x0, 0x0, 0x2e, 0x22, 0x0, 0x0, 0x2e, 0x25, 0x0, 0x0, 0x12, 0x52, 0x0, 0x0, 0x2e, 0x2e, 0x0, 0x0, 0x2e, 0x2e, 0x0, 0x0, 0x12, 0x56, 0x0, 0x0, 0x4d, 0xc0, 0x0, 0x0, 0x4d, 0xff, 0x0, 0x0, 0x12, 0x57, 0x0, 0x0, 0xa4, 0xd0, 0x0, 0x0, 0xa4, 0xff, 0x0, 0x0, 0x12, 0x97, 0x0, 0x0, 0xa6, 0x44, 0x0, 0x0, 0xa6, 0x47, 0x0, 0x0, 0x12, 0xc7, 0x0, 0x0, 0xa6, 0x4c, 0x0, 0x0, 0xa6, 0x4d, 0x0, 0x0, 0x12, 0xcb, 0x0, 0x0, 0xa6, 0x50, 0x0, 0x0, 0xa6, 0x51, 0x0, 0x0, 0x12, 0xcd, 0x0, 0x0, 0xa6, 0x54, 0x0, 0x0, 0xa6, 0x57, 0x0, 0x0, 0x12, 0xcf, 0x0, 0x0, 0xa6, 0x62, 0x0, 0x0, 0xa6, 0x6e, 0x0, 0x0, 0x12, 0xd3, 0x0, 0x0, 0xa6, 0x8a, 0x0, 0x0, 0xa6, 0x8d, 0x0, 0x0, 0x12, 0xe0, 0x0, 0x0, 0xa6, 0x94, 0x0, 0x0, 0xa6, 0x95, 0x0, 0x0, 0x12, 0xe4, 0x0, 0x0, 0xa7, 0x8, 0x0, 0x0, 0xa7, 0x16, 0x0, 0x0, 0x12, 0xe6, 0x0, 0x0, 0xa7, 0x1b, 0x0, 0x0, 0xa7, 0x1f, 0x0, 0x0, 0x12, 0xf5, 0x0, 0x0, 0xa7, 0x22, 0x0, 0x0, 0xa7, 0x2b, 0x0, 0x0, 0x12, 0xfa, 0x0, 0x0, 0xa7, 0x30, 0x0, 0x0, 0xa7, 0x41, 0x0, 0x0, 0x13, 0x4, 0x0, 0x0, 0xa7, 0x46, 0x0, 0x0, 0xa7, 0x4b, 0x0, 0x0, 0x13, 0x16, 0x0, 0x0, 0xa7, 0x4e, 0x0, 0x0, 0xa7, 0x53, 0x0, 0x0, 0x13, 0x1c, 0x0, 0x0, 0xa7, 0x56, 0x0, 0x0, 0xa7, 0x57, 0x0, 0x0, 0x13, 0x22, 0x0, 0x0, 0xa7, 0x64, 0x0, 0x0, 0xa7, 0x67, 0x0, 0x0, 0x13, 0x24, 0x0, 0x0, 0xa7, 0x80, 0x0, 0x0, 0xa7, 0x83, 0x0, 0x0, 0x13, 0x28, 0x0, 0x0, 0xa7, 0x89, 0x0, 0x0, 0xa7, 0x8e, 0x0, 0x0, 0x13, 0x2c, 0x0, 0x0, 0xa7, 0x90, 0x0, 0x0, 0xa7, 0x91, 0x0, 0x0, 0x13, 0x32, 0x0, 0x0, 0xa7, 0xa0, 0x0, 0x0, 0xa7, 0xaa, 0x0, 0x0, 0x13, 0x34, 0x0, 0x0, 0xa7, 0xfa, 0x0, 0x0, 0xa7, 0xff, 0x0, 0x0, 0x13, 0x3f, 0x0, 0x0, 0xef, 0x0, 0x0, 0x0, 0xef, 0x19, 0x0, 0x0, 0x13, 0x45, 0x0, 0x0, 0xf0, 0x0, 0x0, 0x0, 0xf0, 0x3, 0x0, 0x0, 0x13, 0x5f, 0x0, 0x0, 0xf4, 0x0, 0x0, 0x0, 0xf4, 0x26, 0x0, 0x0, 0x13, 0x63, 0x0, 0x0, 0xf4, 0x28, 0x0, 0x0, 0xf4, 0x41, 0x0, 0x0, 0x13, 0x8a, 0x0, 0x0, 0xf6, 0xc5, 0x0, 0x0, 0xf6, 0xc5, 0x0, 0x0, 0x13, 0xa4, 0x0, 0x0, 0xfb, 0x0, 0x0, 0x0, 0xfb, 0x6, 0x0, 0x0, 0x13, 0xa5, 0x0, 0x0, 0xfb, 0x13, 0x0, 0x0, 0xfb, 0x17, 0x0, 0x0, 0x13, 0xac, 0x0, 0x0, 0xfb, 0x1d, 0x0, 0x0, 0xfb, 0x36, 0x0, 0x0, 0x13, 0xb1, 0x0, 0x0, 0xfb, 0x38, 0x0, 0x0, 0xfb, 0x3c, 0x0, 0x0, 0x13, 0xcb, 0x0, 0x0, 0xfb, 0x3e, 0x0, 0x0, 0xfb, 0x3e, 0x0, 0x0, 0x13, 0xd0, 0x0, 0x0, 0xfb, 0x40, 0x0, 0x0, 0xfb, 0x41, 0x0, 0x0, 0x13, 0xd1, 0x0, 0x0, 0xfb, 0x43, 0x0, 0x0, 0xfb, 0x44, 0x0, 0x0, 0x13, 0xd3, 0x0, 0x0, 0xfb, 0x46, 0x0, 0x0, 0xfb, 0x4f, 0x0, 0x0, 0x13, 0xd5, 0x0, 0x0, 0xfb, 0x52, 0x0, 0x0, 0xfb, 0xa3, 0x0, 0x0, 0x13, 0xdf, 0x0, 0x0, 0xfb, 0xaa, 0x0, 0x0, 0xfb, 0xad, 0x0, 0x0, 0x14, 0x31, 0x0, 0x0, 0xfb, 0xd3, 0x0, 0x0, 0xfb, 0xd6, 0x0, 0x0, 0x14, 0x35, 0x0, 0x0, 0xfb, 0xd9, 0x0, 0x0, 0xfb, 0xda, 0x0, 0x0, 0x14, 0x39, 0x0, 0x0, 0xfb, 0xe8, 0x0, 0x0, 0xfb, 0xe9, 0x0, 0x0, 0x14, 0x3b, 0x0, 0x0, 0xfb, 0xfc, 0x0, 0x0, 0xfb, 0xff, 0x0, 0x0, 0x14, 0x3d, 0x0, 0x0, 0xfe, 0x0, 0x0, 0x0, 0xfe, 0xf, 0x0, 0x0, 0x14, 0x41, 0x0, 0x0, 0xfe, 0x20, 0x0, 0x0, 0xfe, 0x23, 0x0, 0x0, 0x14, 0x51, 0x0, 0x0, 0xfe, 0x70, 0x0, 0x0, 0xfe, 0x74, 0x0, 0x0, 0x14, 0x55, 0x0, 0x0, 0xfe, 0x76, 0x0, 0x0, 0xfe, 0xfc, 0x0, 0x0, 0x14, 0x5a, 0x0, 0x0, 0xfe, 0xff, 0x0, 0x0, 0xfe, 0xff, 0x0, 0x0, 0x14, 0xe1, 0x0, 0x0, 0xff, 0xf9, 0x0, 0x0, 0xff, 0xfd, 0x0, 0x0, 0x14, 0xe2, 0x0, 0x1, 0x3, 0x0, 0x0, 0x1, 0x3, 0x1e, 0x0, 0x0, 0x14, 0xe7, 0x0, 0x1, 0x3, 0x20, 0x0, 0x1, 0x3, 0x23, 0x0, 0x0, 0x15, 0x6, 0x0, 0x1, 0xd3, 0x0, 0x0, 0x1, 0xd3, 0x56, 0x0, 0x0, 0x15, 0xa, 0x0, 0x1, 0xd5, 0x38, 0x0, 0x1, 0xd5, 0x39, 0x0, 0x0, 0x15, 0x61, 0x0, 0x1, 0xd5, 0x3b, 0x0, 0x1, 0xd5, 0x3e, 0x0, 0x0, 0x15, 0x63, 0x0, 0x1, 0xd5, 0x40, 0x0, 0x1, 0xd5, 0x44, 0x0, 0x0, 0x15, 0x67, 0x0, 0x1, 0xd5, 0x46, 0x0, 0x1, 0xd5, 0x46, 0x0, 0x0, 0x15, 0x6c, 0x0, 0x1, 0xd5, 0x4a, 0x0, 0x1, 0xd5, 0x50, 0x0, 0x0, 0x15, 0x6d, 0x0, 0x1, 0xd5, 0x52, 0x0, 0x1, 0xd5, 0x6b, 0x0, 0x0, 0x15, 0x74, 0x0, 0x1, 0xd5, 0xa0, 0x0, 0x1, 0xd5, 0xd3, 0x0, 0x0, 0x15, 0x8e, 0x0, 0x1, 0xd7, 0xd8, 0x0, 0x1, 0xd7, 0xeb, 0x0, 0x0, 0x15, 0xc2, 0x0, 0x1, 0xf0, 0x30, 0x0, 0x1, 0xf0, 0x93, 0x0, 0x0, 0x15, 0xd6, 0x0, 0x1, 0xf0, 0xa0, 0x0, 0x1, 0xf0, 0xae, 0x0, 0x0, 0x16, 0x3a, 0x0, 0x1, 0xf0, 0xb1, 0x0, 0x1, 0xf0, 0xbe, 0x0, 0x0, 0x16, 0x49, 0x0, 0x1, 0xf0, 0xc1, 0x0, 0x1, 0xf0, 0xcf, 0x0, 0x0, 0x16, 0x57, 0x0, 0x1, 0xf0, 0xd1, 0x0, 0x1, 0xf0, 0xdf, 0x0, 0x0, 0x16, 0x66, 0x0, 0x1, 0xf4, 0x2d, 0x0, 0x1, 0xf4, 0x2e, 0x0, 0x0, 0x16, 0x75, 0x0, 0x1, 0xf4, 0x31, 0x0, 0x1, 0xf4, 0x31, 0x0, 0x0, 0x16, 0x77, 0x0, 0x1, 0xf4, 0x35, 0x0, 0x1, 0xf4, 0x35, 0x0, 0x0, 0x16, 0x78, 0x0, 0x1, 0xf6, 0x0, 0x0, 0x1, 0xf6, 0x23, 0x0, 0x0, 0x16, 0x79, 0x0, 0x1, 0xf6, 0x25, 0x0, 0x1, 0xf6, 0x2b, 0x0, 0x0, 0x16, 0x9d, 0x0, 0x1, 0xf6, 0x2d, 0x0, 0x1, 0xf6, 0x40, 0x0, 0x0, 0x16, 0xa4, 0x0, 0x6, 0x2, 0xa, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x4, 0x0, 0x5, 0x0, 0x6, 0x0, 0x7, 0x0, 0x8, 0x0, 0x9, 0x0, 0xa, 0x0, 0xb, 0x0, 0xc, 0x0, 0xd, 0x0, 0xe, 0x0, 0xf, 0x0, 0x10, 0x0, 0x11, 0x0, 0x12, 0x0, 0x13, 0x0, 0x14, 0x0, 0x15, 0x0, 0x16, 0x0, 0x17, 0x0, 0x18, 0x0, 0x19, 0x0, 0x1a, 0x0, 0x1b, 0x0, 0x1c, 0x0, 0x1d, 0x0, 0x1e, 0x0, 0x1f, 0x0, 0x20, 0x0, 0x21, 0x0, 0x22, 0x0, 0x23, 0x0, 0x24, 0x0, 0x25, 0x0, 0x26, 0x0, 0x27, 0x0, 0x28, 0x0, 0x29, 0x0, 0x2a, 0x0, 0x2b, 0x0, 0x2c, 0x0, 0x2d, 0x0, 0x2e, 0x0, 0x2f, 0x0, 0x30, 0x0, 0x31, 0x0, 0x32, 0x0, 0x33, 0x0, 0x34, 0x0, 0x35, 0x0, 0x36, 0x0, 0x37, 0x0, 0x38, 0x0, 0x39, 0x0, 0x3a, 0x0, 0x3b, 0x0, 0x3c, 0x0, 0x3d, 0x0, 0x3e, 0x0, 0x3f, 0x0, 0x40, 0x0, 0x41, 0x0, 0x42, 0x0, 0x43, 0x0, 0x44, 0x0, 0x45, 0x0, 0x46, 0x0, 0x47, 0x0, 0x48, 0x0, 0x49, 0x0, 0x4a, 0x0, 0x4b, 0x0, 0x4c, 0x0, 0x4d, 0x0, 0x4e, 0x0, 0x4f, 0x0, 0x50, 0x0, 0x51, 0x0, 0x52, 0x0, 0x53, 0x0, 0x54, 0x0, 0x55, 0x0, 0x56, 0x0, 0x57, 0x0, 0x58, 0x0, 0x59, 0x0, 0x5a, 0x0, 0x5b, 0x0, 0x5c, 0x0, 0x5d, 0x0, 0x5e, 0x0, 0x5f, 0x0, 0x60, 0x0, 0x61, 0x0, 0x0, 0x0, 0x86, 0x0, 0x87, 0x0, 0x89, 0x0, 0x8b, 0x0, 0x93, 0x0, 0x98, 0x0, 0x9e, 0x0, 0xa3, 0x0, 0xa2, 0x0, 0xa4, 0x0, 0xa6, 0x0, 0xa5, 0x0, 0xa7, 0x0, 0xa9, 0x0, 0xab, 0x0, 0xaa, 0x0, 0xac, 0x0, 0xad, 0x0, 0xaf, 0x0, 0xae, 0x0, 0xb0, 0x0, 0xb1, 0x0, 0xb3, 0x0, 0xb5, 0x0, 0xb4, 0x0, 0xb6, 0x0, 0xb8, 0x0, 0xb7, 0x0, 0xbc, 0x0, 0xbb, 0x0, 0xbd, 0x0, 0xbe, 0xa, 0xfe, 0x0, 0x72, 0x0, 0x64, 0x0, 0x65, 0x0, 0x69, 0xb, 0x0, 0x0, 0x78, 0x0, 0xa1, 0x0, 0x70, 0x0, 0x6b, 0xb, 0xb4, 0x0, 0x76, 0x0, 0x6a, 0xc, 0xe5, 0x0, 0x88, 0x0, 0x9a, 0xc, 0xa3, 0x0, 0x73, 0xc, 0xe9, 0xc, 0xea, 0x0, 0x67, 0x0, 0x77, 0xc, 0x87, 0xc, 0x96, 0xc, 0x94, 0x3, 0x54, 0xc, 0xb0, 0x0, 0x6c, 0x0, 0x7c, 0x3, 0x3d, 0x0, 0xa8, 0x0, 0xba, 0x0, 0x81, 0x0, 0x63, 0x0, 0x6e, 0xc, 0x9f, 0x1, 0x54, 0xc, 0xcd, 0xc, 0x8b, 0x0, 0x6d, 0x0, 0x7d, 0xb, 0x4, 0x0, 0x62, 0x0, 0x82, 0x0, 0x85, 0x0, 0x97, 0x1, 0x14, 0x1, 0x15, 0xa, 0xf1, 0xa, 0xf2, 0xa, 0xfa, 0xa, 0xfb, 0xa, 0xf6, 0xa, 0xf7, 0x0, 0xb9, 0xe, 0x9c, 0x0, 0xc1, 0x1, 0x3a, 0xb, 0x22, 0xb, 0x7f, 0xb, 0x17, 0xb, 0x18, 0x13, 0xa6, 0x13, 0xa7, 0xa, 0xff, 0x0, 0x79, 0xa, 0xf8, 0xa, 0xfc, 0xb, 0xe, 0x0, 0x84, 0x0, 0x8c, 0x0, 0x83, 0x0, 0x8d, 0x0, 0x8a, 0x0, 0x8f, 0x0, 0x90, 0x0, 0x91, 0x0, 0x8e, 0x0, 0x95, 0x0, 0x96, 0x0, 0x0, 0x0, 0x94, 0x0, 0x9c, 0x0, 0x9d, 0x0, 0x9b, 0x0, 0xf3, 0x2, 0x88, 0x2, 0x9e, 0x0, 0x71, 0x2, 0x9a, 0x2, 0x9b, 0x2, 0x9c, 0x0, 0x7a, 0x2, 0x9f, 0x2, 0x9d, 0x2, 0x89, 0x0, 0x0, 0x1, 0x35, 0x0, 0xb8, 0x0, 0xcb, 0x0, 0xcb, 0x0, 0xc1, 0x0, 0xaa, 0x0, 0x9c, 0x1, 0xa6, 0x0, 0xb8, 0x0, 0x66, 0x0, 0x0, 0x0, 0x71, 0x0, 0xcb, 0x0, 0xa0, 0x2, 0xb2, 0x0, 0x85, 0x0, 0x75, 0x0, 0xb8, 0x0, 0xc3, 0x1, 0xcb, 0x1, 0x89, 0x2, 0x2d, 0x0, 0xcb, 0x0, 0xa6, 0x0, 0xf0, 0x0, 0xd3, 0x0, 0xaa, 0x0, 0x87, 0x0, 0xcb, 0x3, 0xaa, 0x4, 0x0, 0x1, 0x4a, 0x0, 0x33, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xd9, 0x5, 0x2, 0x0, 0xf4, 0x1, 0x54, 0x0, 0xb4, 0x0, 0x9c, 0x1, 0x39, 0x1, 0x14, 0x1, 0x39, 0x7, 0x6, 0x4, 0x0, 0x4, 0x4e, 0x4, 0xb4, 0x4, 0x52, 0x4, 0xb8, 0x4, 0xe7, 0x4, 0xcd, 0x0, 0x37, 0x4, 0x73, 0x4, 0xcd, 0x4, 0x60, 0x4, 0x73, 0x1, 0x33, 0x3, 0xa2, 0x5, 0x56, 0x5, 0xa6, 0x5, 0x56, 0x5, 0x39, 0x3, 0xc5, 0x2, 0x12, 0x0, 0xc9, 0x0, 0x1f, 0x0, 0xb8, 0x1, 0xdf, 0x0, 0x73, 0x0, 0xba, 0x3, 0xe9, 0x3, 0x33, 0x3, 0xbc, 0x4, 0x44, 0x4, 0xe, 0x0, 0xdf, 0x3, 0xcd, 0x3, 0xaa, 0x0, 0xe5, 0x3, 0xaa, 0x4, 0x4, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x8f, 0x0, 0xa4, 0x0, 0x7b, 0x0, 0xb8, 0x0, 0x14, 0x1, 0x6f, 0x0, 0x7f, 0x2, 0x7b, 0x2, 0x52, 0x0, 0x8f, 0x0, 0xc7, 0x5, 0xcd, 0x0, 0x9a, 0x0, 0x9a, 0x0, 0x6f, 0x0, 0xcb, 0x0, 0xcd, 0x1, 0x9e, 0x1, 0xd3, 0x0, 0xf0, 0x0, 0xba, 0x1, 0x83, 0x0, 0xd5, 0x0, 0x98, 0x3, 0x4, 0x2, 0x48, 0x0, 0x9e, 0x1, 0xd5, 0x0, 0xc1, 0x0, 0xcb, 0x0, 0xf6, 0x0, 0x83, 0x3, 0x54, 0x2, 0x7f, 0x0, 0x0, 0x3, 0x33, 0x2, 0x66, 0x0, 0xd3, 0x0, 0xc7, 0x0, 0xa4, 0x0, 0xcd, 0x0, 0x8f, 0x0, 0x9a, 0x0, 0x73, 0x4, 0x0, 0x5, 0xd5, 0x1, 0xa, 0x0, 0xfe, 0x2, 0x2b, 0x0, 0xa4, 0x0, 0xb4, 0x0, 0x9c, 0x0, 0x0, 0x0, 0x62, 0x0, 0x9c, 0x0, 0x0, 0x0, 0x1d, 0x3, 0x2d, 0x5, 0xd5, 0x5, 0xd5, 0x5, 0xd5, 0x5, 0xf0, 0x0, 0x7f, 0x0, 0x7b, 0x0, 0x54, 0x0, 0xa4, 0x6, 0xb8, 0x6, 0x14, 0x7, 0x23, 0x1, 0xd3, 0x0, 0xb8, 0x0, 0xcb, 0x0, 0xa6, 0x1, 0xc3, 0x1, 0xec, 0x6, 0x93, 0x0, 0xa0, 0x0, 0xd3, 0x3, 0x5c, 0x3, 0x71, 0x3, 0xdb, 0x1, 0x85, 0x4, 0x23, 0x4, 0xa8, 0x4, 0x48, 0x0, 0x8f, 0x1, 0x39, 0x1, 0x14, 0x1, 0x39, 0x3, 0x60, 0x0, 0x8f, 0x5, 0xd5, 0x1, 0x9a, 0x6, 0x14, 0x7, 0x23, 0x6, 0x66, 0x1, 0x79, 0x4, 0x60, 0x4, 0x60, 0x4, 0x60, 0x4, 0x7b, 0x0, 0x9c, 0x0, 0x0, 0x2, 0x77, 0x4, 0x60, 0x1, 0xaa, 0x0, 0xe9, 0x4, 0x60, 0x7, 0x62, 0x0, 0x7b, 0x0, 0xc5, 0x0, 0x7f, 0x2, 0x7b, 0x0, 0x0, 0x0, 0xb4, 0x2, 0x52, 0x5, 0xcd, 0x0, 0x66, 0x0, 0xbc, 0x0, 0x66, 0x0, 0x77, 0x6, 0x10, 0x0, 0xcd, 0x1, 0x3b, 0x1, 0x85, 0x3, 0x89, 0x0, 0x8f, 0x0, 0x7b, 0x0, 0x0, 0x0, 0x1d, 0x0, 0xcd, 0x7, 0x4a, 0x4, 0x2f, 0x0, 0x9c, 0x0, 0x9c, 0x0, 0x0, 0x7, 0x7d, 0x0, 0x6f, 0x0, 0x0, 0x0, 0x6f, 0x3, 0x35, 0x0, 0x6a, 0x0, 0x6f, 0x0, 0x7b, 0x0, 0xae, 0x0, 0xb2, 0x0, 0x2d, 0x3, 0x96, 0x0, 0x8f, 0x2, 0x7b, 0x0, 0xf6, 0x0, 0x83, 0x3, 0x54, 0x6, 0x37, 0x5, 0xf6, 0x0, 0x8f, 0x0, 0x9c, 0x4, 0xe1, 0x2, 0x66, 0x0, 0x8f, 0x1, 0x8d, 0x2, 0xf6, 0x0, 0xcd, 0x3, 0x44, 0x0, 0x29, 0x0, 0x66, 0x4, 0xee, 0x0, 0x73, 0x0, 0x0, 0x14, 0x0, 0x0, 0x96, 0x0, 0x0, 0xb7, 0x7, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1, 0x0, 0x2c, 0x20, 0x10, 0xb0, 0x2, 0x25, 0x49, 0x64, 0xb0, 0x40, 0x51, 0x58, 0x20, 0xc8, 0x59, 0x21, 0x2d, 0x2c, 0xb0, 0x2, 0x25, 0x49, 0x64, 0xb0, 0x40, 0x51, 0x58, 0x20, 0xc8, 0x59, 0x21, 0x2d, 0x2c, 0x20, 0x10, 0x7, 0x20, 0xb0, 0x0, 0x50, 0xb0, 0xd, 0x79, 0x20, 0xb8, 0xff, 0xff, 0x50, 0x58, 0x4, 0x1b, 0x5, 0x59, 0xb0, 0x5, 0x1c, 0xb0, 0x3, 0x25, 0x8, 0xb0, 0x4, 0x25, 0x23, 0xe1, 0x20, 0xb0, 0x0, 0x50, 0xb0, 0xd, 0x79, 0x20, 0xb8, 0xff, 0xff, 0x50, 0x58, 0x4, 0x1b, 0x5, 0x59, 0xb0, 0x5, 0x1c, 0xb0, 0x3, 0x25, 0x8, 0xe1, 0x2d, 0x2c, 0x4b, 0x50, 0x58, 0x20, 0xb0, 0xfd, 0x45, 0x44, 0x59, 0x21, 0x2d, 0x2c, 0xb0, 0x2, 0x25, 0x45, 0x60, 0x44, 0x2d, 0x2c, 0x4b, 0x53, 0x58, 0xb0, 0x2, 0x25, 0xb0, 0x2, 0x25, 0x45, 0x44, 0x59, 0x21, 0x21, 0x2d, 0x2c, 0x45, 0x44, 0x2d, 0x2c, 0xb0, 0x2, 0x25, 0xb0, 0x2, 0x25, 0x49, 0xb0, 0x5, 0x25, 0xb0, 0x5, 0x25, 0x49, 0x60, 0xb0, 0x20, 0x63, 0x68, 0x20, 0x8a, 0x10, 0x8a, 0x23, 0x3a, 0x8a, 0x10, 0x65, 0x3a, 0x2d, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x8, 0x0, 0x2, 0xff, 0xff, 0x0, 0x3, 0x0, 0x2, 0x0, 0x66, 0xfe, 0x96, 0x4, 0x66, 0x5, 0xa4, 0x0, 0x3, 0x0, 0x7, 0x0, 0x1a, 0x40, 0xc, 0x4, 0xfb, 0x0, 0x6, 0xfb, 0x1, 0x8, 0x5, 0x7f, 0x2, 0x4, 0x0, 0x2f, 0xc4, 0xd4, 0xec, 0x31, 0x0, 0x10, 0xd4, 0xec, 0xd4, 0xec, 0x30, 0x13, 0x11, 0x21, 0x11, 0x25, 0x21, 0x11, 0x21, 0x66, 0x4, 0x0, 0xfc, 0x73, 0x3, 0x1b, 0xfc, 0xe5, 0xfe, 0x96, 0x7, 0xe, 0xf8, 0xf2, 0x72, 0x6, 0x29, 0x0, 0x2, 0x1, 0x35, 0x0, 0x0, 0x2, 0x0, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x9, 0x0, 0x35, 0x40, 0xf, 0x7, 0x0, 0x83, 0x4, 0x81, 0x2, 0x8, 0x7, 0x5, 0x1, 0x3, 0x4, 0x0, 0x0, 0xa, 0x10, 0xfc, 0x4b, 0xb0, 0xb, 0x54, 0x58, 0xb9, 0x0, 0x0, 0xff, 0xc0, 0x38, 0x59, 0x3c, 0xec, 0x32, 0x39, 0x39, 0x31, 0x0, 0x2f, 0xe4, 0xfc, 0xcc, 0x30, 0x1, 0xb6, 0x0, 0xb, 0x20, 0xb, 0x50, 0xb, 0x3, 0x5d, 0x25, 0x33, 0x15, 0x23, 0x11, 0x33, 0x11, 0x3, 0x23, 0x3, 0x1, 0x35, 0xcb, 0xcb, 0xcb, 0x14, 0xa2, 0x15, 0xfe, 0xfe, 0x5, 0xd5, 0xfd, 0x71, 0xfe, 0x9b, 0x1, 0x65, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc5, 0x3, 0xaa, 0x2, 0xe9, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x7, 0x0, 0x42, 0x40, 0xf, 0x5, 0x1, 0x84, 0x4, 0x0, 0x81, 0x8, 0x4, 0x5, 0x6, 0x0, 0x5, 0x2, 0x4, 0x8, 0x10, 0xfc, 0x4b, 0xb0, 0x12, 0x54, 0x4b, 0xb0, 0x13, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0x2, 0xff, 0xc0, 0x38, 0x59, 0xfc, 0xdc, 0xec, 0x31, 0x0, 0x10, 0xf4, 0x3c, 0xec, 0x32, 0x30, 0x1, 0x40, 0xf, 0x30, 0x9, 0x40, 0x9, 0x50, 0x9, 0x60, 0x9, 0x70, 0x9, 0xa0, 0x9, 0xbf, 0x9, 0x7, 0x5d, 0x1, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x1, 0x6f, 0xaa, 0x2, 0x24, 0xaa, 0x5, 0xd5, 0xfd, 0xd5, 0x2, 0x2b, 0xfd, 0xd5, 0x2, 0x2b, 0x0, 0x0, 0x0, 0x2, 0x0, 0x9e, 0x0, 0x0, 0x6, 0x17, 0x5, 0xbe, 0x0, 0x3, 0x0, 0x1f, 0x0, 0x60, 0x40, 0x31, 0x1b, 0xb, 0x0, 0x87, 0x7, 0x4, 0x1d, 0x9, 0x5, 0x19, 0xd, 0x2, 0x87, 0x17, 0x13, 0xf, 0x15, 0x11, 0x1f, 0x1e, 0x1c, 0x1b, 0x1a, 0x17, 0x16, 0x15, 0x14, 0x13, 0x12, 0x11, 0x10, 0xe, 0xd, 0xc, 0x9, 0x8, 0x7, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1, 0x0, 0x1a, 0xa, 0x18, 0x6, 0x20, 0x10, 0xfc, 0xcc, 0x17, 0x39, 0x31, 0x0, 0x2f, 0x3c, 0xd4, 0x3c, 0x3c, 0xfc, 0x3c, 0x3c, 0xd4, 0x3c, 0x3c, 0xc4, 0x32, 0xec, 0x32, 0x32, 0x30, 0x40, 0x11, 0xb, 0x1, 0xb, 0x2, 0xb, 0xc, 0xb, 0xd, 0x14, 0x4, 0x1a, 0x11, 0x1a, 0x12, 0x14, 0x1f, 0x8, 0x1, 0x5d, 0x1, 0x21, 0x3, 0x21, 0xb, 0x1, 0x21, 0x13, 0x33, 0x3, 0x21, 0x15, 0x21, 0x3, 0x21, 0x15, 0x21, 0x3, 0x23, 0x13, 0x21, 0x3, 0x23, 0x13, 0x21, 0x35, 0x21, 0x13, 0x21, 0x35, 0x21, 0x13, 0x4, 0x17, 0xfe, 0xdd, 0x54, 0x1, 0x25, 0x44, 0x68, 0x1, 0x24, 0x69, 0xa0, 0x67, 0x1, 0x38, 0xfe, 0xa1, 0x52, 0x1, 0x3e, 0xfe, 0x9b, 0x68, 0xa0, 0x67, 0xfe, 0xdb, 0x67, 0xa1, 0x68, 0xfe, 0xc5, 0x1, 0x60, 0x54, 0xfe, 0xbe, 0x1, 0x69, 0x66, 0x3, 0x85, 0xfe, 0xb2, 0x3, 0x87, 0xfe, 0x61, 0x1, 0x9f, 0xfe, 0x61, 0x9a, 0xfe, 0xb2, 0x99, 0xfe, 0x62, 0x1, 0x9e, 0xfe, 0x62, 0x1, 0x9e, 0x99, 0x1, 0x4e, 0x9a, 0x1, 0x9f, 0x0, 0x0, 0x3, 0x0, 0xaa, 0xfe, 0xd3, 0x4, 0x6d, 0x6, 0x14, 0x0, 0x21, 0x0, 0x28, 0x0, 0x2f, 0x0, 0xbd, 0x40, 0x55, 0x22, 0x2, 0xa, 0xb, 0xa, 0x27, 0x1, 0x26, 0x28, 0x2, 0xb, 0xb, 0xa, 0x1d, 0x1, 0x1e, 0x1c, 0x2, 0x2f, 0x29, 0x2f, 0x1b, 0x2, 0x29, 0x29, 0x2f, 0x42, 0x13, 0x11, 0x10, 0x22, 0xa, 0x1b, 0x29, 0x4, 0x17, 0x6, 0x9, 0x2a, 0x21, 0x5, 0x2, 0x17, 0x86, 0x16, 0x6, 0x86, 0x5, 0x11, 0x23, 0x1a, 0x8a, 0x16, 0x89, 0x10, 0x0, 0x2a, 0x8a, 0x5, 0x89, 0x2, 0x2d, 0x8, 0x16, 0xa, 0x1e, 0x7, 0x29, 0x1a, 0x12, 0x3, 0x0, 0x9, 0x22, 0x10, 0x9, 0x3, 0x1, 0x7, 0x26, 0x8, 0xd, 0x5, 0x6, 0x30, 0x10, 0xfc, 0x4b, 0xb0, 0x9, 0x54, 0x58, 0xb9, 0x0, 0x5, 0xff, 0xc0, 0x38, 0x59, 0x4b, 0xb0, 0xc, 0x54, 0x4b, 0xb0, 0x10, 0x54, 0x5b, 0x4b, 0xb0, 0xf, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0x5, 0x0, 0x40, 0x38, 0x59, 0x3c, 0xec, 0xf4, 0x17, 0x3c, 0xfc, 0x17, 0x3c, 0xf4, 0xe4, 0xec, 0x31, 0x0, 0x2f, 0xe4, 0xec, 0xc4, 0xd4, 0xe4, 0xec, 0x32, 0xc4, 0x10, 0xee, 0x10, 0xee, 0x11, 0x12, 0x39, 0x11, 0x39, 0x11, 0x12, 0x17, 0x39, 0x11, 0x12, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x4, 0xed, 0x7, 0x10, 0xe, 0xed, 0x11, 0x17, 0x39, 0x7, 0x10, 0xe, 0xed, 0x11, 0x17, 0x39, 0x7, 0x10, 0x4, 0xed, 0x59, 0x22, 0x1, 0x23, 0x3, 0x2e, 0x1, 0x27, 0x35, 0x1e, 0x1, 0x17, 0x11, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x35, 0x33, 0x15, 0x1e, 0x1, 0x17, 0x15, 0x2e, 0x1, 0x27, 0x11, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x3, 0x11, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x11, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x2, 0xb4, 0x64, 0x1, 0x69, 0xd2, 0x6a, 0x66, 0xd1, 0x6f, 0xdd, 0xc9, 0xda, 0xcc, 0x64, 0x5d, 0xae, 0x53, 0x53, 0xaf, 0x5c, 0xe3, 0xd6, 0xe3, 0xd6, 0x64, 0x74, 0x7a, 0x71, 0xe1, 0x7f, 0x81, 0x7b, 0xfe, 0xd3, 0x1, 0x2d, 0x2, 0x2d, 0x2d, 0xb4, 0x40, 0x41, 0x1, 0x1, 0xc8, 0x24, 0xac, 0x96, 0xa3, 0xbc, 0xe, 0xeb, 0xe8, 0x4, 0x1f, 0x1b, 0xaf, 0x2a, 0x2e, 0x4, 0xfe, 0x55, 0x23, 0xb4, 0x9c, 0xa9, 0xc3, 0xf, 0x3, 0x0, 0x1, 0x9a, 0xd, 0x6a, 0x58, 0x56, 0x60, 0xd5, 0xfe, 0x4f, 0x11, 0x6e, 0x5a, 0x58, 0x68, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x71, 0xff, 0xe3, 0x7, 0x29, 0x5, 0xf0, 0x0, 0xb, 0x0, 0x17, 0x0, 0x23, 0x0, 0x27, 0x0, 0x33, 0x0, 0x89, 0x40, 0x36, 0x24, 0xf, 0x25, 0x26, 0x25, 0x26, 0xf, 0x27, 0x24, 0x27, 0x42, 0x0, 0x92, 0xc, 0x1e, 0x92, 0x2e, 0x8d, 0x18, 0x92, 0x24, 0x6, 0x92, 0xc, 0x8d, 0x26, 0x12, 0x8c, 0x28, 0x24, 0x91, 0x34, 0x27, 0x21, 0x1b, 0x25, 0x9, 0x3, 0xd, 0x15, 0xe, 0x9, 0xd, 0xf, 0x21, 0xd, 0x2b, 0xe, 0x1b, 0xd, 0xf, 0x31, 0xb, 0x34, 0x10, 0xfc, 0x4b, 0xb0, 0x9, 0x54, 0x4b, 0xb0, 0xb, 0x54, 0x5b, 0x4b, 0xb0, 0xc, 0x54, 0x5b, 0x4b, 0xb0, 0x14, 0x54, 0x5b, 0x4b, 0xb0, 0xe, 0x54, 0x5b, 0x4b, 0xb0, 0xd, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0x31, 0xff, 0xc0, 0x38, 0x59, 0xc4, 0xec, 0xf4, 0xec, 0x10, 0xee, 0xf6, 0xee, 0x11, 0x39, 0x11, 0x12, 0x39, 0x31, 0x0, 0x10, 0xe4, 0x32, 0xf4, 0x3c, 0xe4, 0xec, 0x10, 0xee, 0xf6, 0xee, 0x10, 0xee, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x59, 0x22, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x25, 0x33, 0x1, 0x23, 0x13, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x5, 0xd1, 0x57, 0x63, 0x63, 0x57, 0x55, 0x63, 0x63, 0x55, 0x9e, 0xba, 0xbb, 0x9d, 0xa0, 0xba, 0xbb, 0xfc, 0x97, 0x56, 0x63, 0x62, 0x57, 0x57, 0x63, 0x64, 0x3, 0x31, 0xa0, 0xfc, 0x5a, 0xa0, 0x1f, 0x9e, 0xbc, 0xbb, 0x9f, 0x9f, 0xb9, 0xba, 0x2, 0x91, 0x94, 0x84, 0x82, 0x95, 0x95, 0x82, 0x83, 0x95, 0x7f, 0xdc, 0xbb, 0xbb, 0xdb, 0xdb, 0xbb, 0xbc, 0xdb, 0x2, 0x61, 0x95, 0x82, 0x84, 0x94, 0x94, 0x84, 0x81, 0x96, 0x7f, 0xf9, 0xf3, 0x6, 0xd, 0xdb, 0xbb, 0xbd, 0xda, 0xdb, 0xbc, 0xba, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x81, 0xff, 0xe3, 0x5, 0xfe, 0x5, 0xf0, 0x0, 0x9, 0x0, 0x30, 0x1, 0xcd, 0x40, 0x96, 0xd, 0x1, 0xe, 0xc, 0x86, 0x11, 0x12, 0x11, 0xb, 0x86, 0xa, 0xb, 0x12, 0x12, 0x11, 0x9, 0x86, 0x0, 0x9, 0x15, 0x16, 0x15, 0x7, 0x1, 0x6, 0x8, 0x86, 0x16, 0x16, 0x15, 0x2, 0x1, 0x3, 0x1, 0x86, 0x1d, 0x1e, 0x1d, 0x0, 0x86, 0x9, 0x0, 0x1e, 0x1e, 0x1d, 0x20, 0x1f, 0x2, 0x21, 0x1e, 0x11, 0xa, 0x13, 0xa, 0x17, 0x16, 0x15, 0x3, 0x18, 0x14, 0x11, 0x13, 0xa, 0x7, 0x8, 0x2, 0x6, 0x9, 0x11, 0x13, 0x13, 0xa, 0x2, 0x1, 0x2, 0x3, 0x0, 0x11, 0xa, 0x13, 0xa, 0x17, 0x16, 0x2, 0x18, 0x15, 0x11, 0x13, 0xa, 0x14, 0x11, 0x13, 0x13, 0xa, 0x42, 0x12, 0xb, 0x9, 0x3, 0x6, 0x0, 0xa, 0x1e, 0x3, 0x28, 0x15, 0xe, 0x6, 0x28, 0x27, 0x6, 0x95, 0x18, 0x2b, 0x95, 0x27, 0x94, 0x24, 0x91, 0x18, 0x8c, 0xe, 0x13, 0xa, 0x2e, 0xb, 0xe, 0x9, 0x0, 0x2e, 0x12, 0x15, 0x27, 0xe, 0x1e, 0x3, 0x2e, 0x12, 0x27, 0x21, 0xe, 0x11, 0xf, 0x13, 0x21, 0x3, 0x12, 0x1b, 0x10, 0x31, 0x10, 0xfc, 0xec, 0xc4, 0xd4, 0xd4, 0xec, 0x10, 0xc6, 0xee, 0x11, 0x39, 0x11, 0x12, 0x39, 0x39, 0x11, 0x39, 0x39, 0x11, 0x39, 0x11, 0x39, 0x31, 0x0, 0x2f, 0xc6, 0xe4, 0xf6, 0xe6, 0xee, 0x10, 0xee, 0x10, 0xc6, 0x11, 0x12, 0x39, 0x11, 0x17, 0x39, 0x11, 0x17, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x5, 0xed, 0x11, 0x17, 0x39, 0x7, 0x10, 0x5, 0xed, 0x11, 0x17, 0x39, 0x7, 0x10, 0x5, 0xed, 0x11, 0x17, 0x39, 0x7, 0x5, 0xed, 0x11, 0x17, 0x39, 0x7, 0x10, 0x5, 0xed, 0x11, 0x17, 0x39, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0xe, 0xed, 0x11, 0x17, 0x39, 0x7, 0x10, 0xe, 0xed, 0x11, 0x17, 0x39, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0xe, 0xed, 0x11, 0x17, 0x39, 0x59, 0x22, 0xb2, 0xf, 0x32, 0x1, 0x1, 0x5d, 0x40, 0xb2, 0x7, 0xb, 0x5, 0x22, 0x9, 0x29, 0x1c, 0x0, 0x1c, 0x1, 0x1f, 0x2, 0x17, 0xb, 0x2a, 0x0, 0x2a, 0x1, 0x26, 0x12, 0x3a, 0x0, 0x34, 0x12, 0x44, 0xb, 0x5e, 0x0, 0x59, 0x1, 0x5a, 0xa, 0x55, 0x12, 0x5a, 0x1a, 0x5a, 0x1f, 0x59, 0x30, 0x67, 0x1e, 0x7b, 0x0, 0x9b, 0x0, 0x9a, 0x1, 0x99, 0x2, 0x97, 0x8, 0x95, 0xb, 0x93, 0x15, 0x95, 0x16, 0x95, 0x22, 0x99, 0x2d, 0x1f, 0x9, 0xb, 0x9, 0xc, 0x8, 0x11, 0xc, 0x27, 0xc, 0x28, 0x18, 0x2, 0x1b, 0x9, 0x19, 0xb, 0x19, 0xc, 0x19, 0x11, 0x1c, 0x14, 0x1c, 0x15, 0x16, 0x1d, 0x1f, 0x32, 0x27, 0x0, 0x27, 0x1, 0x29, 0x9, 0x23, 0x12, 0x2a, 0x13, 0x2a, 0x14, 0x28, 0x15, 0x2f, 0x32, 0x3b, 0x9, 0x34, 0x12, 0x39, 0x13, 0x3f, 0x32, 0x4a, 0x9, 0x4c, 0x14, 0x4b, 0x15, 0x46, 0x19, 0x4f, 0x32, 0x56, 0x1, 0x5a, 0x9, 0x59, 0xc, 0x55, 0x12, 0x59, 0x13, 0x5c, 0x1f, 0x5f, 0x32, 0x6a, 0xc, 0x69, 0x11, 0x60, 0x32, 0x75, 0x1, 0x79, 0xc, 0x7a, 0x11, 0x93, 0x0, 0x93, 0x1, 0x97, 0x2, 0x95, 0x5, 0x9c, 0x7, 0x9c, 0x8, 0x9f, 0x8, 0x9a, 0x9, 0x9b, 0xb, 0x9a, 0xc, 0x90, 0x32, 0xa0, 0x32, 0xb0, 0x32, 0x39, 0x5d, 0x0, 0x5d, 0x1, 0xe, 0x1, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x9, 0x1, 0x3e, 0x1, 0x37, 0x33, 0x6, 0x2, 0x7, 0x1, 0x23, 0x27, 0xe, 0x1, 0x23, 0x22, 0x0, 0x35, 0x34, 0x36, 0x37, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1, 0xf2, 0x5b, 0x55, 0xd4, 0xa0, 0x5f, 0xa6, 0x49, 0xfe, 0x7b, 0x1, 0xfc, 0x3b, 0x42, 0x6, 0xba, 0xc, 0x68, 0x5d, 0x1, 0x17, 0xfc, 0x8f, 0x68, 0xe4, 0x83, 0xf1, 0xfe, 0xce, 0x86, 0x86, 0x30, 0x32, 0xde, 0xb8, 0x53, 0xa5, 0x55, 0x57, 0x9e, 0x44, 0x69, 0x83, 0x3b, 0x3, 0x23, 0x51, 0xa1, 0x58, 0x92, 0xc2, 0x3f, 0x40, 0x2, 0x8f, 0xfd, 0xf8, 0x59, 0xcb, 0x72, 0x84, 0xfe, 0xfe, 0x7e, 0xfe, 0xe3, 0x93, 0x59, 0x57, 0x1, 0x13, 0xd7, 0x80, 0xe1, 0x63, 0x3f, 0x7d, 0x3c, 0xa2, 0xc5, 0x24, 0x24, 0xb6, 0x2f, 0x31, 0x6f, 0x58, 0x33, 0x67, 0x0, 0x1, 0x0, 0xc5, 0x3, 0xaa, 0x1, 0x6f, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x37, 0x40, 0xa, 0x1, 0x84, 0x0, 0x81, 0x4, 0x0, 0x5, 0x2, 0x4, 0x4, 0x10, 0xfc, 0x4b, 0xb0, 0x12, 0x54, 0x4b, 0xb0, 0x13, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0x2, 0xff, 0xc0, 0x38, 0x59, 0xec, 0x31, 0x0, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x40, 0xd, 0x40, 0x5, 0x50, 0x5, 0x60, 0x5, 0x70, 0x5, 0x90, 0x5, 0xa0, 0x5, 0x6, 0x5d, 0x1, 0x11, 0x23, 0x11, 0x1, 0x6f, 0xaa, 0x5, 0xd5, 0xfd, 0xd5, 0x2, 0x2b, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb0, 0xfe, 0xf2, 0x2, 0x7b, 0x6, 0x12, 0x0, 0xd, 0x0, 0x37, 0x40, 0xf, 0x6, 0x98, 0x0, 0x97, 0xe, 0xd, 0x7, 0x0, 0x3, 0x12, 0x6, 0x0, 0x13, 0xa, 0xe, 0x10, 0xdc, 0x4b, 0xb0, 0x13, 0x54, 0x58, 0xb9, 0x0, 0xa, 0xff, 0xc0, 0x38, 0x59, 0x4b, 0xb0, 0xf, 0x54, 0x58, 0xb9, 0x0, 0xa, 0x0, 0x40, 0x38, 0x59, 0xe4, 0x32, 0xec, 0x11, 0x39, 0x39, 0x31, 0x0, 0x10, 0xfc, 0xec, 0x30, 0x1, 0x6, 0x2, 0x15, 0x14, 0x12, 0x17, 0x23, 0x26, 0x2, 0x35, 0x34, 0x12, 0x37, 0x2, 0x7b, 0x86, 0x82, 0x83, 0x85, 0xa0, 0x96, 0x95, 0x94, 0x97, 0x6, 0x12, 0xe6, 0xfe, 0x3e, 0xe7, 0xe7, 0xfe, 0x3b, 0xe5, 0xeb, 0x1, 0xc6, 0xe0, 0xdf, 0x1, 0xc4, 0xec, 0x0, 0x1, 0x0, 0xa4, 0xfe, 0xf2, 0x2, 0x6f, 0x6, 0x12, 0x0, 0xd, 0x0, 0x1f, 0x40, 0xf, 0x7, 0x98, 0x0, 0x97, 0xe, 0x7, 0x1, 0x0, 0xb, 0x12, 0x4, 0x13, 0x8, 0x0, 0xe, 0x10, 0xdc, 0x3c, 0xf4, 0xec, 0x11, 0x39, 0x39, 0x31, 0x0, 0x10, 0xfc, 0xec, 0x30, 0x13, 0x33, 0x16, 0x12, 0x15, 0x14, 0x2, 0x7, 0x23, 0x36, 0x12, 0x35, 0x34, 0x2, 0xa4, 0xa0, 0x96, 0x95, 0x95, 0x96, 0xa0, 0x85, 0x83, 0x83, 0x6, 0x12, 0xec, 0xfe, 0x3c, 0xdf, 0xe0, 0xfe, 0x3a, 0xeb, 0xe5, 0x1, 0xc5, 0xe7, 0xe7, 0x1, 0xc2, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3d, 0x2, 0x4a, 0x3, 0xc3, 0x5, 0xf0, 0x0, 0x11, 0x0, 0x4e, 0x40, 0x2c, 0x10, 0xd, 0xb, 0x0, 0x4, 0xc, 0x9, 0x7, 0x4, 0x2, 0x4, 0x8, 0x3, 0x99, 0x5, 0x11, 0xc, 0x99, 0xa, 0x1, 0xe, 0x91, 0x12, 0x8, 0xc, 0xa, 0x3, 0x9, 0x6, 0x11, 0x3, 0x1, 0x3, 0x2, 0x0, 0x14, 0xf, 0x4, 0xb, 0x9, 0x14, 0xd, 0x6, 0x12, 0x10, 0xd4, 0x3c, 0xe4, 0x32, 0xdc, 0x3c, 0xe4, 0x32, 0x17, 0x39, 0x11, 0x12, 0x17, 0x39, 0x31, 0x0, 0x10, 0xf4, 0xd4, 0x3c, 0xec, 0x32, 0xc4, 0xec, 0x32, 0x17, 0x39, 0x12, 0x17, 0x39, 0x30, 0x1, 0xd, 0x1, 0x7, 0x25, 0x11, 0x23, 0x11, 0x5, 0x27, 0x2d, 0x1, 0x37, 0x5, 0x11, 0x33, 0x11, 0x25, 0x3, 0xc3, 0xfe, 0x99, 0x1, 0x67, 0x3a, 0xfe, 0xb0, 0x72, 0xfe, 0xb0, 0x3a, 0x1, 0x67, 0xfe, 0x99, 0x3a, 0x1, 0x50, 0x72, 0x1, 0x50, 0x4, 0xdf, 0xc2, 0xc3, 0x62, 0xcb, 0xfe, 0x87, 0x1, 0x79, 0xcb, 0x62, 0xc3, 0xc2, 0x63, 0xcb, 0x1, 0x79, 0xfe, 0x87, 0xcb, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd9, 0x0, 0x0, 0x5, 0xdb, 0x5, 0x4, 0x0, 0xb, 0x0, 0x23, 0x40, 0x11, 0x0, 0x9, 0x1, 0x9c, 0x7, 0x3, 0x5, 0x2, 0x15, 0x4, 0x0, 0x17, 0xa, 0x6, 0x15, 0x8, 0xc, 0x10, 0xdc, 0xfc, 0x3c, 0xfc, 0x3c, 0xec, 0x31, 0x0, 0x2f, 0xd4, 0x3c, 0xfc, 0x3c, 0xc4, 0x30, 0x1, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x3, 0xae, 0x2, 0x2d, 0xfd, 0xd3, 0xa8, 0xfd, 0xd3, 0x2, 0x2d, 0x5, 0x4, 0xfd, 0xd3, 0xaa, 0xfd, 0xd3, 0x2, 0x2d, 0xaa, 0x2, 0x2d, 0x0, 0x1, 0x0, 0x9e, 0xff, 0x12, 0x1, 0xc3, 0x0, 0xfe, 0x0, 0x5, 0x0, 0x19, 0x40, 0xc, 0x3, 0x9e, 0x0, 0x83, 0x6, 0x3, 0x4, 0x1, 0x19, 0x0, 0x18, 0x6, 0x10, 0xfc, 0xec, 0xd4, 0xcc, 0x31, 0x0, 0x10, 0xfc, 0xec, 0x30, 0x37, 0x33, 0x15, 0x3, 0x23, 0x13, 0xf0, 0xd3, 0xa4, 0x81, 0x52, 0xfe, 0xac, 0xfe, 0xc0, 0x1, 0x40, 0x0, 0x1, 0x0, 0x64, 0x1, 0xdf, 0x2, 0x7f, 0x2, 0x83, 0x0, 0x3, 0x0, 0x11, 0xb6, 0x0, 0x9c, 0x2, 0x4, 0x1, 0x0, 0x4, 0x10, 0xdc, 0xcc, 0x31, 0x0, 0x10, 0xd4, 0xec, 0x30, 0x13, 0x21, 0x15, 0x21, 0x64, 0x2, 0x1b, 0xfd, 0xe5, 0x2, 0x83, 0xa4, 0x0, 0x0, 0x1, 0x0, 0xdb, 0x0, 0x0, 0x1, 0xae, 0x0, 0xfe, 0x0, 0x3, 0x0, 0x11, 0xb7, 0x0, 0x83, 0x2, 0x1, 0x19, 0x0, 0x18, 0x4, 0x10, 0xfc, 0xec, 0x31, 0x0, 0x2f, 0xec, 0x30, 0x37, 0x33, 0x15, 0x23, 0xdb, 0xd3, 0xd3, 0xfe, 0xfe, 0x0, 0x1, 0x0, 0x0, 0xff, 0x42, 0x2, 0xb2, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x2d, 0x40, 0x14, 0x0, 0x1a, 0x1, 0x2, 0x1, 0x2, 0x1a, 0x3, 0x0, 0x3, 0x42, 0x2, 0x9f, 0x0, 0x81, 0x4, 0x2, 0x0, 0x1, 0x3, 0x2f, 0xc4, 0x39, 0x39, 0x31, 0x0, 0x10, 0xf4, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x59, 0x22, 0x1, 0x33, 0x1, 0x23, 0x2, 0x8, 0xaa, 0xfd, 0xf8, 0xaa, 0x5, 0xd5, 0xf9, 0x6d, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x87, 0xff, 0xe3, 0x4, 0x8f, 0x5, 0xf0, 0x0, 0xb, 0x0, 0x17, 0x0, 0x23, 0x40, 0x13, 0x6, 0xa0, 0x12, 0x0, 0xa0, 0xc, 0x91, 0x12, 0x8c, 0x18, 0x9, 0x1c, 0xf, 0x1e, 0x3, 0x1c, 0x15, 0x1b, 0x18, 0x10, 0xfc, 0xec, 0xf4, 0xec, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xec, 0x10, 0xee, 0x30, 0x1, 0x22, 0x2, 0x11, 0x10, 0x12, 0x33, 0x32, 0x12, 0x11, 0x10, 0x2, 0x27, 0x32, 0x0, 0x11, 0x10, 0x0, 0x23, 0x22, 0x0, 0x11, 0x10, 0x0, 0x2, 0x8b, 0x9c, 0x9d, 0x9d, 0x9c, 0x9d, 0x9d, 0x9d, 0x9d, 0xfb, 0x1, 0x9, 0xfe, 0xf7, 0xfb, 0xfb, 0xfe, 0xf7, 0x1, 0x9, 0x5, 0x50, 0xfe, 0xcd, 0xfe, 0xcc, 0xfe, 0xcd, 0xfe, 0xcd, 0x1, 0x33, 0x1, 0x33, 0x1, 0x34, 0x1, 0x33, 0xa0, 0xfe, 0x73, 0xfe, 0x86, 0xfe, 0x87, 0xfe, 0x73, 0x1, 0x8d, 0x1, 0x79, 0x1, 0x7a, 0x1, 0x8d, 0x0, 0x0, 0x1, 0x0, 0xe1, 0x0, 0x0, 0x4, 0x5a, 0x5, 0xd5, 0x0, 0xa, 0x0, 0x40, 0x40, 0x15, 0x42, 0x3, 0xa0, 0x4, 0x2, 0xa0, 0x5, 0x81, 0x7, 0x0, 0xa0, 0x9, 0x8, 0x1f, 0x6, 0x1c, 0x3, 0x0, 0x1f, 0x1, 0xb, 0x10, 0xd4, 0x4b, 0xb0, 0xf, 0x54, 0x58, 0xb9, 0x0, 0x1, 0x0, 0x40, 0x38, 0x59, 0xec, 0xc4, 0xfc, 0xec, 0x31, 0x0, 0x2f, 0xec, 0x32, 0xf4, 0xec, 0xd4, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x59, 0x22, 0x1, 0xb4, 0xf, 0x3, 0xf, 0x4, 0x2, 0x5d, 0x37, 0x21, 0x11, 0x5, 0x35, 0x25, 0x33, 0x11, 0x21, 0x15, 0x21, 0xfe, 0x1, 0x4a, 0xfe, 0x99, 0x1, 0x65, 0xca, 0x1, 0x4a, 0xfc, 0xa4, 0xaa, 0x4, 0x73, 0x48, 0xb8, 0x48, 0xfa, 0xd5, 0xaa, 0x0, 0x0, 0x0, 0x1, 0x0, 0x96, 0x0, 0x0, 0x4, 0x4a, 0x5, 0xf0, 0x0, 0x1c, 0x0, 0x9e, 0x40, 0x27, 0x19, 0x1a, 0x1b, 0x3, 0x18, 0x1c, 0x11, 0x5, 0x4, 0x0, 0x11, 0x5, 0x5, 0x4, 0x42, 0x10, 0xa1, 0x11, 0x94, 0xd, 0xa0, 0x14, 0x91, 0x4, 0x0, 0xa0, 0x2, 0x0, 0x10, 0xa, 0x2, 0x1, 0xa, 0x1c, 0x17, 0x10, 0x3, 0x6, 0x1d, 0x10, 0xfc, 0x4b, 0xb0, 0x15, 0x54, 0x4b, 0xb0, 0x16, 0x54, 0x5b, 0x4b, 0xb0, 0x14, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0x3, 0xff, 0xc0, 0x38, 0x59, 0xc4, 0xd4, 0xec, 0xc0, 0xc0, 0x11, 0x12, 0x39, 0x31, 0x0, 0x2f, 0xec, 0x32, 0xf4, 0xec, 0xf4, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x5, 0xed, 0x1, 0xb0, 0x1c, 0x10, 0x11, 0x17, 0x39, 0x59, 0x22, 0x1, 0x40, 0x32, 0x55, 0x4, 0x56, 0x5, 0x56, 0x7, 0x7a, 0x4, 0x7a, 0x5, 0x76, 0x1b, 0x87, 0x19, 0x7, 0x4, 0x0, 0x4, 0x19, 0x4, 0x1a, 0x4, 0x1b, 0x5, 0x1c, 0x74, 0x0, 0x76, 0x6, 0x75, 0x1a, 0x73, 0x1b, 0x74, 0x1c, 0x82, 0x0, 0x86, 0x19, 0x82, 0x1a, 0x82, 0x1b, 0x82, 0x1c, 0xa8, 0x0, 0xa8, 0x1b, 0x11, 0x5d, 0x0, 0x5d, 0x25, 0x21, 0x15, 0x21, 0x35, 0x36, 0x0, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x4, 0x15, 0x14, 0x6, 0x7, 0x6, 0x0, 0x1, 0x89, 0x2, 0xc1, 0xfc, 0x4c, 0x73, 0x1, 0x8d, 0x33, 0x61, 0x4d, 0xa7, 0x86, 0x5f, 0xd3, 0x78, 0x7a, 0xd4, 0x58, 0xe8, 0x1, 0x14, 0x45, 0x5b, 0x19, 0xfe, 0xf4, 0xaa, 0xaa, 0xaa, 0x77, 0x1, 0x91, 0x3a, 0x6d, 0x97, 0x49, 0x77, 0x96, 0x42, 0x43, 0xcc, 0x31, 0x32, 0xe8, 0xc2, 0x5c, 0xa5, 0x70, 0x1d, 0xfe, 0xeb, 0x0, 0x0, 0x0, 0x1, 0x0, 0x9c, 0xff, 0xe3, 0x4, 0x73, 0x5, 0xf0, 0x0, 0x28, 0x0, 0x70, 0x40, 0x2e, 0x0, 0x15, 0x13, 0xa, 0x86, 0x9, 0x1f, 0x86, 0x20, 0x13, 0xa0, 0x15, 0xd, 0xa0, 0x9, 0x93, 0x6, 0x1c, 0xa0, 0x20, 0x93, 0x23, 0x91, 0x6, 0x8c, 0x15, 0xa3, 0x29, 0x16, 0x1c, 0x13, 0x0, 0x3, 0x14, 0x19, 0x1c, 0x26, 0x20, 0x10, 0x1c, 0x3, 0x14, 0x1f, 0x9, 0x6, 0x29, 0x10, 0xfc, 0x4b, 0xb0, 0x16, 0x54, 0x4b, 0xb0, 0x14, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0x9, 0xff, 0xc0, 0x38, 0x59, 0xc4, 0xc4, 0xd4, 0xec, 0xf4, 0xec, 0x11, 0x17, 0x39, 0x39, 0x31, 0x0, 0x10, 0xec, 0xe4, 0xf4, 0xe4, 0xec, 0x10, 0xe6, 0xee, 0x10, 0xee, 0x10, 0xee, 0x10, 0xee, 0x11, 0x12, 0x39, 0x30, 0x1, 0x40, 0x9, 0x64, 0x1e, 0x61, 0x1f, 0x61, 0x20, 0x64, 0x21, 0x4, 0x0, 0x5d, 0x1, 0x1e, 0x1, 0x15, 0x14, 0x4, 0x21, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x4, 0x15, 0x14, 0x6, 0x3, 0x3f, 0x91, 0xa3, 0xfe, 0xd0, 0xfe, 0xe8, 0x5e, 0xc7, 0x6a, 0x54, 0xc8, 0x6d, 0xbe, 0xc7, 0xb9, 0xa5, 0xae, 0xb6, 0x95, 0x9e, 0xa3, 0x98, 0x53, 0xbe, 0x72, 0x73, 0xc9, 0x59, 0xe6, 0x1, 0xc, 0x8e, 0x3, 0x25, 0x1f, 0xc4, 0x90, 0xdd, 0xf2, 0x25, 0x25, 0xc3, 0x31, 0x32, 0x96, 0x8f, 0x84, 0x95, 0xa6, 0x77, 0x70, 0x73, 0x7b, 0x24, 0x26, 0xb4, 0x20, 0x20, 0xd1, 0xb2, 0x7c, 0xab, 0x0, 0x0, 0x2, 0x0, 0x64, 0x0, 0x0, 0x4, 0xa4, 0x5, 0xd5, 0x0, 0x2, 0x0, 0xd, 0x0, 0x81, 0x40, 0x1d, 0x1, 0xd, 0x3, 0xd, 0x0, 0x3, 0x3, 0xd, 0x42, 0x0, 0x3, 0xb, 0x7, 0xa0, 0x5, 0x1, 0x3, 0x81, 0x9, 0x1, 0xc, 0xa, 0x0, 0x1c, 0x6, 0x8, 0x4, 0xc, 0xe, 0x10, 0xdc, 0x4b, 0xb0, 0xb, 0x54, 0x4b, 0xb0, 0xd, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0xc, 0xff, 0xc0, 0x38, 0x59, 0xd4, 0x3c, 0xc4, 0xec, 0x32, 0x11, 0x39, 0x31, 0x0, 0x2f, 0xe4, 0xd4, 0x3c, 0xec, 0x32, 0x12, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x4, 0xc9, 0x7, 0x10, 0x5, 0xc9, 0x59, 0x22, 0x1, 0x40, 0x2a, 0xb, 0x0, 0x2a, 0x0, 0x48, 0x0, 0x59, 0x0, 0x69, 0x0, 0x77, 0x0, 0x8a, 0x0, 0x7, 0x16, 0x1, 0x2b, 0x0, 0x26, 0x1, 0x2b, 0x3, 0x36, 0x1, 0x4e, 0x1, 0x4f, 0xc, 0x4f, 0xd, 0x56, 0x1, 0x66, 0x1, 0x75, 0x1, 0x7a, 0x3, 0x85, 0x1, 0xd, 0x5d, 0x0, 0x5d, 0x9, 0x1, 0x21, 0x3, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, 0x21, 0x35, 0x3, 0x6, 0xfe, 0x2, 0x1, 0xfe, 0x35, 0xfe, 0xd5, 0xd5, 0xc9, 0xfd, 0x5e, 0x5, 0x25, 0xfc, 0xe3, 0x3, 0xcd, 0xfc, 0x33, 0xa8, 0xfe, 0xa0, 0x1, 0x60, 0xc3, 0x0, 0x0, 0x0, 0x1, 0x0, 0x9e, 0xff, 0xe3, 0x4, 0x64, 0x5, 0xd5, 0x0, 0x1d, 0x0, 0x5e, 0x40, 0x23, 0x4, 0x1a, 0x7, 0x11, 0x86, 0x10, 0x1d, 0x1a, 0xa0, 0x7, 0x14, 0xa0, 0x10, 0x89, 0xd, 0x2, 0xa0, 0x0, 0x81, 0xd, 0x8c, 0x7, 0xa4, 0x1e, 0x17, 0x1c, 0x1, 0xa, 0x3, 0x1c, 0x0, 0xa, 0x10, 0x6, 0x1e, 0x10, 0xfc, 0x1, 0x4b, 0xb0, 0x16, 0x54, 0x4b, 0xb0, 0x14, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0x10, 0xff, 0xc0, 0x38, 0x59, 0x4b, 0xb0, 0xf, 0x54, 0x58, 0xb9, 0x0, 0x10, 0x0, 0x40, 0x38, 0x59, 0xc4, 0xd4, 0xec, 0x10, 0xc4, 0xee, 0x31, 0x0, 0x10, 0xe4, 0xe4, 0xf4, 0xec, 0x10, 0xe6, 0xee, 0x10, 0xfe, 0xc4, 0x10, 0xee, 0x11, 0x12, 0x39, 0x30, 0x13, 0x21, 0x15, 0x21, 0x11, 0x3e, 0x1, 0x33, 0x32, 0x0, 0x15, 0x14, 0x0, 0x21, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0xdd, 0x3, 0x19, 0xfd, 0xa0, 0x2c, 0x58, 0x2c, 0xfa, 0x1, 0x24, 0xfe, 0xd4, 0xfe, 0xef, 0x5e, 0xc3, 0x68, 0x5a, 0xc0, 0x6b, 0xad, 0xca, 0xca, 0xad, 0x51, 0xa1, 0x54, 0x5, 0xd5, 0xaa, 0xfe, 0x92, 0xf, 0xf, 0xfe, 0xee, 0xea, 0xf1, 0xfe, 0xf5, 0x20, 0x20, 0xcb, 0x31, 0x30, 0xb6, 0x9c, 0x9c, 0xb6, 0x24, 0x26, 0x0, 0x0, 0x0, 0x2, 0x0, 0x8f, 0xff, 0xe3, 0x4, 0x96, 0x5, 0xf0, 0x0, 0xb, 0x0, 0x24, 0x0, 0x58, 0x40, 0x24, 0x13, 0x6, 0x0, 0xd, 0x86, 0xc, 0x0, 0xa0, 0x16, 0x6, 0xa0, 0x1c, 0x16, 0xa5, 0x10, 0xa0, 0xc, 0x89, 0x22, 0x91, 0x1c, 0x8c, 0x25, 0xc, 0x22, 0x9, 0x1c, 0x19, 0x1e, 0x13, 0x1c, 0x3, 0x21, 0x1f, 0x1b, 0x25, 0x10, 0xfc, 0xec, 0xec, 0xf4, 0xec, 0xe4, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xe4, 0xfc, 0xe4, 0x10, 0xee, 0x10, 0xee, 0x10, 0xee, 0x11, 0x12, 0x39, 0x30, 0x40, 0x14, 0xcb, 0x0, 0xcb, 0x1, 0xcd, 0x2, 0xcd, 0x3, 0xcd, 0x4, 0xcb, 0x5, 0xcb, 0x6, 0x7, 0xa4, 0x1e, 0xb2, 0x1e, 0x2, 0x5d, 0x1, 0x5d, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x1, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x2, 0x3, 0x3e, 0x1, 0x33, 0x32, 0x0, 0x15, 0x14, 0x0, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x32, 0x16, 0x2, 0xa4, 0x88, 0x9f, 0x9f, 0x88, 0x88, 0x9f, 0x9f, 0x1, 0x9, 0x4c, 0x9b, 0x4c, 0xc8, 0xd3, 0xf, 0x3b, 0xb2, 0x6b, 0xe1, 0x1, 0x5, 0xfe, 0xf0, 0xe2, 0xfe, 0xfd, 0xfe, 0xee, 0x1, 0x50, 0x1, 0x1b, 0x4c, 0x9b, 0x3, 0x3b, 0xba, 0xa2, 0xa1, 0xbb, 0xbb, 0xa1, 0xa2, 0xba, 0x2, 0x79, 0xb8, 0x24, 0x26, 0xfe, 0xf2, 0xfe, 0xef, 0x57, 0x5d, 0xfe, 0xef, 0xeb, 0xe6, 0xfe, 0xea, 0x1, 0x8d, 0x1, 0x79, 0x1, 0x62, 0x1, 0xa5, 0x1e, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xa8, 0x0, 0x0, 0x4, 0x68, 0x5, 0xd5, 0x0, 0x6, 0x0, 0x63, 0x40, 0x18, 0x5, 0x11, 0x2, 0x3, 0x2, 0x3, 0x11, 0x4, 0x5, 0x4, 0x42, 0x5, 0xa0, 0x0, 0x81, 0x3, 0x5, 0x3, 0x1, 0x4, 0x1, 0x0, 0x6, 0x7, 0x10, 0xfc, 0xcc, 0xc4, 0x11, 0x39, 0x39, 0x31, 0x0, 0x2f, 0xf4, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x59, 0x22, 0x1, 0x4b, 0xb0, 0x16, 0x54, 0x58, 0xbd, 0x0, 0x7, 0x0, 0x40, 0x0, 0x1, 0x0, 0x7, 0x0, 0x7, 0xff, 0xc0, 0x38, 0x11, 0x37, 0x38, 0x59, 0x40, 0x12, 0x58, 0x2, 0x1, 0x6, 0x3, 0x1a, 0x5, 0x39, 0x5, 0x48, 0x5, 0x67, 0x3, 0xb0, 0x0, 0xb0, 0x6, 0x7, 0x5d, 0x0, 0x5d, 0x13, 0x21, 0x15, 0x1, 0x23, 0x1, 0x21, 0xa8, 0x3, 0xc0, 0xfd, 0xe2, 0xd3, 0x1, 0xfe, 0xfd, 0x33, 0x5, 0xd5, 0x56, 0xfa, 0x81, 0x5, 0x2b, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x8b, 0xff, 0xe3, 0x4, 0x8b, 0x5, 0xf0, 0x0, 0xb, 0x0, 0x23, 0x0, 0x2f, 0x0, 0x43, 0x40, 0x25, 0x18, 0xc, 0x0, 0xa0, 0x27, 0x6, 0xa0, 0x1e, 0x2d, 0xa0, 0x12, 0x91, 0x1e, 0x8c, 0x27, 0xa3, 0x30, 0x18, 0xc, 0x24, 0x2a, 0x1c, 0x15, 0x24, 0x1c, 0xf, 0x9, 0x1c, 0x15, 0x1b, 0x1e, 0x3, 0x1c, 0xf, 0x21, 0x1b, 0x30, 0x10, 0xfc, 0xc4, 0xec, 0xf4, 0xc4, 0xec, 0x10, 0xee, 0x10, 0xee, 0x11, 0x39, 0x39, 0x31, 0x0, 0x10, 0xec, 0xe4, 0xf4, 0xec, 0x10, 0xee, 0x10, 0xee, 0x39, 0x39, 0x30, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x25, 0x2e, 0x1, 0x35, 0x34, 0x24, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x1e, 0x1, 0x15, 0x14, 0x4, 0x23, 0x22, 0x24, 0x35, 0x34, 0x36, 0x13, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x2, 0x8b, 0x90, 0xa5, 0xa5, 0x90, 0x90, 0xa6, 0xa5, 0xfe, 0xa5, 0x82, 0x91, 0x0, 0xff, 0xde, 0xdf, 0xfe, 0x91, 0x81, 0x92, 0xa3, 0xfe, 0xf7, 0xf7, 0xf7, 0xfe, 0xf7, 0xa4, 0x48, 0x91, 0x83, 0x82, 0x93, 0x93, 0x82, 0x83, 0x91, 0x2, 0xc5, 0x9a, 0x87, 0x87, 0x9a, 0x9b, 0x86, 0x87, 0x9a, 0x56, 0x20, 0xb2, 0x80, 0xb3, 0xd0, 0xd0, 0xb3, 0x80, 0xb2, 0x20, 0x22, 0xc6, 0x8f, 0xd9, 0xe8, 0xe8, 0xd9, 0x8f, 0xc6, 0x1, 0x61, 0x74, 0x82, 0x82, 0x74, 0x74, 0x82, 0x82, 0x0, 0x0, 0x0, 0x2, 0x0, 0x81, 0xff, 0xe3, 0x4, 0x87, 0x5, 0xf0, 0x0, 0x18, 0x0, 0x24, 0x0, 0x58, 0x40, 0x23, 0x7, 0x1f, 0x19, 0x1, 0x86, 0x0, 0x19, 0xa0, 0xa, 0xa5, 0x4, 0xa0, 0x0, 0x89, 0x16, 0x1f, 0xa0, 0x10, 0x91, 0x16, 0x8c, 0x25, 0x7, 0x1c, 0x1c, 0x21, 0x13, 0x1e, 0x0, 0x22, 0x22, 0x1c, 0xd, 0x1b, 0x25, 0x10, 0xfc, 0xec, 0xe4, 0xf4, 0xec, 0xec, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xec, 0x10, 0xe6, 0xfe, 0xf5, 0xee, 0x10, 0xee, 0x11, 0x12, 0x39, 0x30, 0x40, 0x16, 0xc4, 0x19, 0xc2, 0x1a, 0xc0, 0x1b, 0xc0, 0x1c, 0xc0, 0x1d, 0xc2, 0x1e, 0xc4, 0x1f, 0x7, 0xaa, 0x12, 0xbc, 0x12, 0xe9, 0x12, 0x3, 0x5d, 0x1, 0x5d, 0x37, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x12, 0x13, 0xe, 0x1, 0x23, 0x22, 0x0, 0x35, 0x34, 0x0, 0x33, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x22, 0x26, 0x1, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0xe1, 0x4c, 0x9c, 0x4b, 0xc8, 0xd3, 0xf, 0x3a, 0xb2, 0x6c, 0xe0, 0xfe, 0xfb, 0x1, 0x10, 0xe2, 0x1, 0x3, 0x1, 0x11, 0xfe, 0xb1, 0xfe, 0xe5, 0x4c, 0x9c, 0x1, 0x3e, 0x88, 0x9f, 0x9f, 0x88, 0x88, 0x9f, 0x9f, 0x1f, 0xb8, 0x24, 0x26, 0x1, 0xd, 0x1, 0x12, 0x56, 0x5c, 0x1, 0xf, 0xeb, 0xe6, 0x1, 0x16, 0xfe, 0x73, 0xfe, 0x86, 0xfe, 0x9f, 0xfe, 0x5b, 0x1e, 0x2, 0x97, 0xba, 0xa2, 0xa1, 0xbb, 0xbb, 0xa1, 0xa2, 0xba, 0x0, 0x0, 0x2, 0x0, 0xf0, 0x0, 0x0, 0x1, 0xc3, 0x4, 0x23, 0x0, 0x3, 0x0, 0x7, 0x0, 0x1c, 0x40, 0xe, 0x6, 0x83, 0x4, 0xa6, 0x0, 0x83, 0x2, 0x5, 0x1, 0x3, 0x4, 0x0, 0x18, 0x8, 0x10, 0xfc, 0x3c, 0xec, 0x32, 0x31, 0x0, 0x2f, 0xec, 0xf4, 0xec, 0x30, 0x37, 0x33, 0x15, 0x23, 0x11, 0x33, 0x15, 0x23, 0xf0, 0xd3, 0xd3, 0xd3, 0xd3, 0xfe, 0xfe, 0x4, 0x23, 0xfe, 0x0, 0x0, 0x0, 0x2, 0x0, 0x9e, 0xff, 0x12, 0x1, 0xc3, 0x4, 0x23, 0x0, 0x3, 0x0, 0x9, 0x0, 0x25, 0x40, 0x13, 0x2, 0x83, 0x0, 0x7, 0x9e, 0x4, 0x83, 0x0, 0xa6, 0xa, 0x7, 0x8, 0x5, 0x1, 0x19, 0x4, 0x0, 0x18, 0xa, 0x10, 0xfc, 0x3c, 0xec, 0x32, 0xd4, 0xcc, 0x31, 0x0, 0x10, 0xe4, 0xfc, 0xec, 0x10, 0xee, 0x30, 0x13, 0x33, 0x15, 0x23, 0x11, 0x33, 0x15, 0x3, 0x23, 0x13, 0xf0, 0xd3, 0xd3, 0xd3, 0xa4, 0x81, 0x52, 0x4, 0x23, 0xfe, 0xfd, 0xd9, 0xac, 0xfe, 0xc0, 0x1, 0x40, 0x0, 0x1, 0x0, 0xd9, 0x0, 0x5e, 0x5, 0xdb, 0x4, 0xa6, 0x0, 0x6, 0x0, 0x4d, 0x40, 0x2a, 0x2, 0x9c, 0x3, 0x4, 0x3, 0x1, 0x9c, 0x0, 0x1, 0x4, 0x4, 0x3, 0x1, 0x9c, 0x2, 0x1, 0x5, 0x6, 0x5, 0x0, 0x9c, 0x6, 0x5, 0x42, 0x5, 0x4, 0x2, 0x1, 0x0, 0x5, 0x3, 0xa8, 0x6, 0xa7, 0x7, 0x1, 0x2, 0x0, 0x24, 0x4, 0x23, 0x7, 0x10, 0xfc, 0xec, 0x32, 0x39, 0x31, 0x0, 0x10, 0xf4, 0xec, 0x17, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x4, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x4, 0xed, 0x59, 0x22, 0x9, 0x2, 0x15, 0x1, 0x35, 0x1, 0x5, 0xdb, 0xfb, 0xf8, 0x4, 0x8, 0xfa, 0xfe, 0x5, 0x2, 0x3, 0xf0, 0xfe, 0x91, 0xfe, 0x93, 0xb6, 0x1, 0xd1, 0xa6, 0x1, 0xd1, 0x0, 0x0, 0x2, 0x0, 0xd9, 0x1, 0x60, 0x5, 0xdb, 0x3, 0xa2, 0x0, 0x3, 0x0, 0x7, 0x0, 0x1c, 0x40, 0xd, 0x0, 0x9c, 0x2, 0x6, 0x9c, 0x4, 0x8, 0x5, 0x1, 0x4, 0x0, 0x23, 0x8, 0x10, 0xfc, 0x3c, 0xc4, 0x32, 0x31, 0x0, 0x10, 0xd4, 0xec, 0xd4, 0xec, 0x30, 0x13, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0xd9, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x3, 0xa2, 0xa8, 0xf0, 0xaa, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd9, 0x0, 0x5e, 0x5, 0xdb, 0x4, 0xa6, 0x0, 0x6, 0x0, 0x4f, 0x40, 0x2b, 0x6, 0x9c, 0x0, 0x6, 0x3, 0x4, 0x3, 0x5, 0x9c, 0x4, 0x4, 0x3, 0x0, 0x9c, 0x1, 0x2, 0x1, 0x6, 0x9c, 0x5, 0x6, 0x2, 0x2, 0x1, 0x42, 0x6, 0x5, 0x3, 0x2, 0x0, 0x5, 0x4, 0xa8, 0x1, 0xa7, 0x7, 0x6, 0x2, 0x24, 0x4, 0x0, 0x23, 0x7, 0x10, 0xfc, 0x3c, 0xec, 0x39, 0x31, 0x0, 0x10, 0xf4, 0xec, 0x17, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x4, 0xed, 0x7, 0x10, 0x4, 0xed, 0x7, 0x10, 0x8, 0xed, 0x59, 0x22, 0x13, 0x35, 0x1, 0x15, 0x1, 0x35, 0x1, 0xd9, 0x5, 0x2, 0xfa, 0xfe, 0x4, 0x6, 0x3, 0xf0, 0xb6, 0xfe, 0x2f, 0xa6, 0xfe, 0x2f, 0xb6, 0x1, 0x6d, 0x0, 0x0, 0x0, 0x2, 0x0, 0x93, 0x0, 0x0, 0x3, 0xb0, 0x5, 0xf0, 0x0, 0x3, 0x0, 0x24, 0x0, 0x65, 0x40, 0x2b, 0x24, 0x1e, 0x9, 0x6, 0x4, 0xa, 0x1d, 0x13, 0x4, 0x0, 0x14, 0x86, 0x13, 0x88, 0x10, 0x95, 0x17, 0x91, 0x0, 0x83, 0x2, 0x1d, 0x1a, 0xd, 0x9, 0x5, 0x4, 0xa, 0x1e, 0x1, 0xd, 0x1c, 0x1a, 0x4, 0x1c, 0x5, 0x1, 0x3, 0x0, 0x26, 0x1a, 0x13, 0x25, 0x10, 0xdc, 0x4b, 0xb0, 0xc, 0x54, 0x58, 0xb9, 0x0, 0x13, 0xff, 0xc0, 0x38, 0x59, 0xc4, 0xfc, 0xec, 0xd4, 0xec, 0x10, 0xee, 0x11, 0x39, 0x39, 0x11, 0x12, 0x39, 0x11, 0x12, 0x39, 0x31, 0x0, 0x2f, 0xee, 0xf6, 0xfe, 0xf4, 0xee, 0x10, 0xcd, 0x11, 0x39, 0x39, 0x17, 0x39, 0x30, 0x1, 0xb6, 0x79, 0x9, 0x7a, 0xa, 0x7a, 0x20, 0x3, 0x5d, 0x25, 0x33, 0x15, 0x23, 0x13, 0x23, 0x35, 0x34, 0x36, 0x3f, 0x1, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0xf, 0x1, 0xe, 0x1, 0x7, 0xe, 0x1, 0x15, 0x1, 0x87, 0xcb, 0xcb, 0xc5, 0xbf, 0x38, 0x5a, 0x5a, 0x39, 0x33, 0x83, 0x6c, 0x4f, 0xb3, 0x61, 0x5e, 0xc1, 0x67, 0xb8, 0xdf, 0x48, 0x5a, 0x58, 0x2f, 0x27, 0x8, 0x6, 0x6, 0xfe, 0xfe, 0x1, 0x91, 0x9a, 0x65, 0x82, 0x56, 0x59, 0x35, 0x5e, 0x31, 0x59, 0x6e, 0x46, 0x43, 0xbc, 0x39, 0x38, 0xc2, 0x9f, 0x4c, 0x89, 0x56, 0x56, 0x2f, 0x35, 0x19, 0x15, 0x3c, 0x34, 0x0, 0x0, 0x0, 0x2, 0x0, 0x87, 0xfe, 0x9c, 0x7, 0x71, 0x5, 0xa2, 0x0, 0xb, 0x0, 0x4c, 0x0, 0x95, 0x40, 0x32, 0x18, 0xc, 0x3, 0x9, 0xa9, 0x19, 0x15, 0x1b, 0x3, 0xa9, 0x4c, 0xf, 0x34, 0x33, 0xf, 0xac, 0x30, 0xa9, 0x37, 0x15, 0xac, 0x24, 0xa9, 0x37, 0x43, 0x4d, 0x33, 0x34, 0x1e, 0x1a, 0x0, 0x28, 0x12, 0x6, 0x18, 0xc, 0x28, 0x1a, 0x2b, 0x1e, 0x28, 0x49, 0x12, 0x2b, 0x2a, 0x28, 0x49, 0x2c, 0x3d, 0x4d, 0x10, 0xdc, 0xec, 0xfc, 0xec, 0x10, 0xfe, 0xfd, 0xfe, 0x3c, 0xc6, 0x10, 0xee, 0x11, 0x12, 0x39, 0x39, 0x31, 0x0, 0x10, 0xd4, 0xc4, 0xfc, 0xec, 0x10, 0xfe, 0xed, 0xd4, 0xc6, 0x10, 0xc5, 0xee, 0x32, 0x10, 0xc4, 0xee, 0x11, 0x39, 0x39, 0x30, 0x0, 0x4b, 0xb0, 0x9, 0x54, 0x4b, 0xb0, 0xc, 0x54, 0x5b, 0x4b, 0xb0, 0x10, 0x54, 0x5b, 0x4b, 0xb0, 0x13, 0x54, 0x5b, 0x4b, 0xb0, 0x14, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x4d, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x4d, 0x0, 0x4d, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x40, 0x9, 0xf, 0x4e, 0x1f, 0x4e, 0x2f, 0x4e, 0x3f, 0x4e, 0x4, 0x1, 0x5d, 0x1, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x1, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x35, 0x33, 0x11, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x27, 0x26, 0x24, 0x23, 0x22, 0x6, 0x7, 0x6, 0x2, 0x15, 0x14, 0x12, 0x17, 0x16, 0x4, 0x33, 0x32, 0x36, 0x37, 0x17, 0x6, 0x4, 0x23, 0x22, 0x24, 0x27, 0x26, 0x2, 0x35, 0x34, 0x12, 0x37, 0x36, 0x24, 0x33, 0x32, 0x4, 0x17, 0x1e, 0x1, 0x15, 0x10, 0x0, 0x5, 0x2, 0xfa, 0x8e, 0x7c, 0x7b, 0x8d, 0x90, 0x7a, 0x79, 0x8f, 0x2, 0x21, 0x3c, 0x9b, 0x67, 0xac, 0xd7, 0xd8, 0xab, 0x67, 0x9c, 0x3b, 0x8f, 0x92, 0xa5, 0x3f, 0x40, 0x68, 0xfe, 0xd5, 0xb0, 0x7b, 0xe2, 0x60, 0x9d, 0xb1, 0x73, 0x6d, 0x69, 0x1, 0x14, 0x9d, 0x81, 0xf9, 0x68, 0x5a, 0x7d, 0xfe, 0xd9, 0x98, 0xb9, 0xfe, 0xb8, 0x80, 0x80, 0x86, 0x88, 0x7e, 0x81, 0x1, 0x52, 0xbd, 0xd4, 0x1, 0x6b, 0x7b, 0x4b, 0x4f, 0xfe, 0xc2, 0xfe, 0xe8, 0x2, 0x19, 0x8f, 0xa3, 0xa4, 0x8e, 0x8c, 0xa5, 0xa4, 0xfe, 0x48, 0x4d, 0x49, 0xf9, 0xc8, 0xc8, 0xfa, 0x4b, 0x4c, 0x83, 0xfd, 0x20, 0x16, 0xdf, 0xb1, 0x6b, 0xbc, 0x50, 0x83, 0x8b, 0x41, 0x40, 0x66, 0xfe, 0xb5, 0xc1, 0x9f, 0xfe, 0xea, 0x6a, 0x68, 0x6d, 0x57, 0x51, 0x6f, 0x61, 0x67, 0x83, 0x7d, 0x7d, 0x1, 0x49, 0xbd, 0xb6, 0x1, 0x4a, 0x7d, 0x7f, 0x87, 0xae, 0xa0, 0x62, 0xe6, 0x7b, 0xfe, 0xf9, 0xfe, 0xd0, 0x6, 0x0, 0x0, 0x2, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x5, 0xd5, 0x0, 0x2, 0x0, 0xa, 0x0, 0xc2, 0x40, 0x41, 0x0, 0x11, 0x1, 0x0, 0x4, 0x5, 0x4, 0x2, 0x11, 0x5, 0x5, 0x4, 0x1, 0x11, 0xa, 0x3, 0xa, 0x0, 0x11, 0x2, 0x0, 0x3, 0x3, 0xa, 0x7, 0x11, 0x5, 0x4, 0x6, 0x11, 0x5, 0x5, 0x4, 0x9, 0x11, 0x3, 0xa, 0x8, 0x11, 0xa, 0x3, 0xa, 0x42, 0x0, 0x3, 0x7, 0x95, 0x1, 0x3, 0x81, 0x9, 0x5, 0x9, 0x8, 0x7, 0x6, 0x4, 0x3, 0x2, 0x1, 0x0, 0x9, 0x5, 0xa, 0xb, 0x10, 0xd4, 0xc4, 0x17, 0x39, 0x31, 0x0, 0x2f, 0x3c, 0xe4, 0xd4, 0xec, 0x12, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x59, 0x22, 0xb2, 0x20, 0xc, 0x1, 0x1, 0x5d, 0x40, 0x42, 0xf, 0x1, 0xf, 0x2, 0xf, 0x7, 0xf, 0x8, 0xf, 0x0, 0x58, 0x0, 0x76, 0x0, 0x70, 0x0, 0x8c, 0x0, 0x9, 0x7, 0x1, 0x8, 0x2, 0x6, 0x3, 0x9, 0x4, 0x16, 0x1, 0x19, 0x2, 0x56, 0x1, 0x58, 0x2, 0x50, 0xc, 0x67, 0x1, 0x68, 0x2, 0x78, 0x1, 0x76, 0x2, 0x7c, 0x3, 0x72, 0x4, 0x77, 0x7, 0x78, 0x8, 0x87, 0x1, 0x88, 0x2, 0x80, 0xc, 0x98, 0x2, 0x99, 0x3, 0x96, 0x4, 0x17, 0x5d, 0x0, 0x5d, 0x9, 0x1, 0x21, 0x1, 0x33, 0x1, 0x23, 0x3, 0x21, 0x3, 0x23, 0x2, 0xbc, 0xfe, 0xee, 0x2, 0x25, 0xfe, 0x7b, 0xe5, 0x2, 0x39, 0xd2, 0x88, 0xfd, 0x5f, 0x88, 0xd5, 0x5, 0xe, 0xfd, 0x19, 0x3, 0xae, 0xfa, 0x2b, 0x1, 0x7f, 0xfe, 0x81, 0x0, 0x0, 0x0, 0x3, 0x0, 0xc9, 0x0, 0x0, 0x4, 0xec, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x11, 0x0, 0x20, 0x0, 0x43, 0x40, 0x23, 0x19, 0x0, 0x95, 0xa, 0x9, 0x95, 0x12, 0x81, 0x1, 0x95, 0xa, 0xad, 0x1f, 0x11, 0xb, 0x8, 0x2, 0x13, 0x19, 0x1f, 0x5, 0x0, 0xe, 0x1c, 0x16, 0x5, 0x19, 0x1c, 0x2e, 0x9, 0x0, 0x1c, 0x12, 0x4, 0x21, 0x10, 0xfc, 0xec, 0x32, 0xfc, 0xec, 0xd4, 0xec, 0x11, 0x17, 0x39, 0x39, 0x39, 0x31, 0x0, 0x2f, 0xec, 0xec, 0xf4, 0xec, 0x10, 0xee, 0x39, 0x30, 0xb2, 0xf, 0x22, 0x1, 0x1, 0x5d, 0x1, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x1, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x25, 0x21, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x1e, 0x1, 0x15, 0x14, 0x4, 0x23, 0x21, 0x1, 0x93, 0x1, 0x44, 0xa3, 0x9d, 0x9d, 0xa3, 0xfe, 0xbc, 0x1, 0x2b, 0x94, 0x91, 0x91, 0x94, 0xfe, 0xb, 0x2, 0x4, 0xe7, 0xfa, 0x80, 0x7c, 0x95, 0xa5, 0xfe, 0xf0, 0xfb, 0xfd, 0xe8, 0x2, 0xc9, 0xfd, 0xdd, 0x87, 0x8b, 0x8c, 0x85, 0x2, 0x66, 0xfe, 0x3e, 0x6f, 0x72, 0x71, 0x70, 0xa6, 0xc0, 0xb1, 0x89, 0xa2, 0x14, 0x20, 0xcb, 0x98, 0xc8, 0xda, 0x0, 0x1, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x27, 0x5, 0xf0, 0x0, 0x19, 0x0, 0x36, 0x40, 0x1a, 0xd, 0xa1, 0xe, 0xae, 0xa, 0x95, 0x11, 0x1, 0xa1, 0x0, 0xae, 0x4, 0x95, 0x17, 0x91, 0x11, 0x8c, 0x1a, 0x7, 0x19, 0xd, 0x0, 0x30, 0x14, 0x10, 0x1a, 0x10, 0xfc, 0xec, 0x32, 0xec, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xec, 0xf4, 0xec, 0x10, 0xee, 0xf6, 0xee, 0x30, 0xb4, 0xf, 0x1b, 0x1f, 0x1b, 0x2, 0x1, 0x5d, 0x1, 0x15, 0x2e, 0x1, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x32, 0x16, 0x5, 0x27, 0x66, 0xe7, 0x82, 0xff, 0x0, 0xfe, 0xf0, 0x1, 0x10, 0x1, 0x0, 0x82, 0xe7, 0x66, 0x6a, 0xed, 0x84, 0xfe, 0xad, 0xfe, 0x7a, 0x1, 0x86, 0x1, 0x53, 0x86, 0xed, 0x5, 0x62, 0xd5, 0x5f, 0x5e, 0xfe, 0xc7, 0xfe, 0xd8, 0xfe, 0xd9, 0xfe, 0xc7, 0x5e, 0x5f, 0xd3, 0x48, 0x48, 0x1, 0x9f, 0x1, 0x67, 0x1, 0x68, 0x1, 0x9f, 0x47, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xb0, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x11, 0x0, 0x2e, 0x40, 0x15, 0x0, 0x95, 0x9, 0x81, 0x1, 0x95, 0x10, 0x8, 0x2, 0x10, 0xa, 0x0, 0x5, 0x19, 0xd, 0x32, 0x0, 0x1c, 0x9, 0x4, 0x12, 0x10, 0xfc, 0xec, 0xf4, 0xec, 0x11, 0x39, 0x39, 0x39, 0x39, 0x31, 0x0, 0x2f, 0xec, 0xf4, 0xec, 0x30, 0xb2, 0x60, 0x13, 0x1, 0x1, 0x5d, 0x1, 0x11, 0x33, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x25, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x29, 0x1, 0x1, 0x93, 0xf4, 0x1, 0x35, 0x1, 0x1f, 0xfe, 0xe1, 0xfe, 0xcb, 0xfe, 0x42, 0x1, 0x9f, 0x1, 0xb2, 0x1, 0x96, 0xfe, 0x68, 0xfe, 0x50, 0xfe, 0x61, 0x5, 0x2f, 0xfb, 0x77, 0x1, 0x18, 0x1, 0x2e, 0x1, 0x2c, 0x1, 0x17, 0xa6, 0xfe, 0x97, 0xfe, 0x80, 0xfe, 0x7e, 0xfe, 0x96, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x2e, 0x40, 0x15, 0x6, 0x95, 0x4, 0x2, 0x95, 0x0, 0x81, 0x8, 0x95, 0x4, 0xad, 0xa, 0x5, 0x1, 0x9, 0x7, 0x3, 0x1c, 0x0, 0x4, 0xc, 0x10, 0xfc, 0xec, 0x32, 0xd4, 0xc4, 0xc4, 0x31, 0x0, 0x2f, 0xec, 0xec, 0xf4, 0xec, 0x10, 0xee, 0x30, 0xb2, 0x1f, 0xd, 0x1, 0x1, 0x5d, 0x13, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0xc9, 0x3, 0xb0, 0xfd, 0x1a, 0x2, 0xc7, 0xfd, 0x39, 0x2, 0xf8, 0xfc, 0x3e, 0x5, 0xd5, 0xaa, 0xfe, 0x46, 0xaa, 0xfd, 0xe3, 0xaa, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x23, 0x5, 0xd5, 0x0, 0x9, 0x0, 0x29, 0x40, 0x12, 0x6, 0x95, 0x4, 0x2, 0x95, 0x0, 0x81, 0x4, 0xad, 0x8, 0x5, 0x1, 0x7, 0x3, 0x1c, 0x0, 0x4, 0xa, 0x10, 0xfc, 0xec, 0x32, 0xd4, 0xc4, 0x31, 0x0, 0x2f, 0xec, 0xf4, 0xec, 0x10, 0xee, 0x30, 0xb2, 0xf, 0xb, 0x1, 0x1, 0x5d, 0x13, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0xc9, 0x3, 0x5a, 0xfd, 0x70, 0x2, 0x50, 0xfd, 0xb0, 0xca, 0x5, 0xd5, 0xaa, 0xfe, 0x48, 0xaa, 0xfd, 0x37, 0x0, 0x0, 0x1, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x8b, 0x5, 0xf0, 0x0, 0x1d, 0x0, 0x39, 0x40, 0x20, 0x0, 0x5, 0x1b, 0x1, 0x95, 0x3, 0x1b, 0x95, 0x8, 0x12, 0xa1, 0x11, 0xae, 0x15, 0x95, 0xe, 0x91, 0x8, 0x8c, 0x1e, 0x2, 0x0, 0x1c, 0x11, 0x34, 0x4, 0x33, 0x18, 0x19, 0xb, 0x10, 0x1e, 0x10, 0xfc, 0xec, 0xfc, 0xe4, 0xfc, 0xc4, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xec, 0xf4, 0xec, 0x10, 0xfe, 0xd4, 0xee, 0x11, 0x39, 0x39, 0x30, 0x25, 0x11, 0x21, 0x35, 0x21, 0x11, 0x6, 0x4, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x32, 0x4, 0x17, 0x15, 0x2e, 0x1, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x32, 0x36, 0x4, 0xc3, 0xfe, 0xb6, 0x2, 0x12, 0x75, 0xfe, 0xe6, 0xa0, 0xfe, 0xa2, 0xfe, 0x75, 0x1, 0x8b, 0x1, 0x5e, 0x92, 0x1, 0x7, 0x6f, 0x70, 0xfc, 0x8b, 0xfe, 0xee, 0xfe, 0xed, 0x1, 0x13, 0x1, 0x12, 0x6b, 0xa8, 0xd5, 0x1, 0x91, 0xa6, 0xfd, 0x7f, 0x53, 0x55, 0x1, 0x99, 0x1, 0x6d, 0x1, 0x6e, 0x1, 0x99, 0x48, 0x46, 0xd7, 0x5f, 0x60, 0xfe, 0xce, 0xfe, 0xd1, 0xfe, 0xd2, 0xfe, 0xce, 0x25, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x3b, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x2c, 0x40, 0x14, 0x8, 0x95, 0x2, 0xad, 0x4, 0x0, 0x81, 0xa, 0x6, 0x7, 0x3, 0x1c, 0x5, 0x38, 0x9, 0x1, 0x1c, 0x0, 0x4, 0xc, 0x10, 0xfc, 0xec, 0x32, 0xfc, 0xec, 0x32, 0x31, 0x0, 0x2f, 0x3c, 0xe4, 0x32, 0xfc, 0xec, 0x30, 0xb2, 0x50, 0xd, 0x1, 0x1, 0x5d, 0x13, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0xc9, 0xca, 0x2, 0xde, 0xca, 0xca, 0xfd, 0x22, 0xca, 0x5, 0xd5, 0xfd, 0x9c, 0x2, 0x64, 0xfa, 0x2b, 0x2, 0xc7, 0xfd, 0x39, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x1, 0x93, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x2e, 0xb7, 0x0, 0xaf, 0x2, 0x1, 0x1c, 0x0, 0x4, 0x4, 0x10, 0xfc, 0x4b, 0xb0, 0x10, 0x54, 0x58, 0xb9, 0x0, 0x0, 0x0, 0x40, 0x38, 0x59, 0xec, 0x31, 0x0, 0x2f, 0xec, 0x30, 0x1, 0x40, 0xd, 0x30, 0x5, 0x40, 0x5, 0x50, 0x5, 0x60, 0x5, 0x8f, 0x5, 0x9f, 0x5, 0x6, 0x5d, 0x13, 0x33, 0x11, 0x23, 0xc9, 0xca, 0xca, 0x5, 0xd5, 0xfa, 0x2b, 0x0, 0x0, 0x1, 0xff, 0x96, 0xfe, 0x66, 0x1, 0x93, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x42, 0x40, 0x13, 0xb, 0x2, 0x0, 0x7, 0x95, 0x5, 0xb0, 0x0, 0x81, 0xc, 0x5, 0x8, 0x6, 0x39, 0x1, 0x1c, 0x0, 0x4, 0xc, 0x10, 0xfc, 0x4b, 0xb0, 0x10, 0x54, 0x58, 0xb9, 0x0, 0x0, 0x0, 0x40, 0x38, 0x59, 0xec, 0xe4, 0x39, 0x39, 0x31, 0x0, 0x10, 0xe4, 0xfc, 0xec, 0x11, 0x39, 0x39, 0x30, 0x1, 0x40, 0xd, 0x30, 0xd, 0x40, 0xd, 0x50, 0xd, 0x60, 0xd, 0x8f, 0xd, 0x9f, 0xd, 0x6, 0x5d, 0x13, 0x33, 0x11, 0x10, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0xc9, 0xca, 0xcd, 0xe3, 0x4d, 0x3f, 0x86, 0x6e, 0x5, 0xd5, 0xfa, 0x93, 0xfe, 0xf2, 0xf4, 0xaa, 0x96, 0xc2, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x6a, 0x5, 0xd5, 0x0, 0xa, 0x0, 0xef, 0x40, 0x28, 0x8, 0x11, 0x5, 0x6, 0x5, 0x7, 0x11, 0x6, 0x6, 0x5, 0x3, 0x11, 0x4, 0x5, 0x4, 0x2, 0x11, 0x5, 0x5, 0x4, 0x42, 0x8, 0x5, 0x2, 0x3, 0x3, 0x0, 0xaf, 0x9, 0x6, 0x5, 0x1, 0x4, 0x6, 0x8, 0x1, 0x1c, 0x0, 0x4, 0xb, 0x10, 0xfc, 0xec, 0x32, 0xd4, 0xc4, 0x11, 0x39, 0x31, 0x0, 0x2f, 0x3c, 0xec, 0x32, 0x17, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x4, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x4, 0xed, 0x59, 0x22, 0xb2, 0x8, 0x3, 0x1, 0x1, 0x5d, 0x40, 0x92, 0x14, 0x2, 0x1, 0x4, 0x2, 0x9, 0x8, 0x16, 0x2, 0x28, 0x5, 0x28, 0x8, 0x37, 0x2, 0x36, 0x5, 0x34, 0x8, 0x47, 0x2, 0x46, 0x5, 0x43, 0x8, 0x55, 0x2, 0x67, 0x2, 0x76, 0x2, 0x77, 0x5, 0x83, 0x2, 0x88, 0x5, 0x8f, 0x8, 0x94, 0x2, 0x9b, 0x8, 0xe7, 0x2, 0x15, 0x6, 0x3, 0x9, 0x5, 0x9, 0x6, 0x1b, 0x3, 0x19, 0x7, 0x5, 0xa, 0x3, 0xa, 0x7, 0x18, 0x3, 0x28, 0x5, 0x2b, 0x6, 0x2a, 0x7, 0x36, 0x4, 0x36, 0x5, 0x36, 0x6, 0x35, 0x7, 0x30, 0xc, 0x41, 0x3, 0x40, 0x4, 0x45, 0x5, 0x40, 0x6, 0x40, 0x7, 0x40, 0xc, 0x62, 0x3, 0x60, 0x4, 0x68, 0x5, 0x67, 0x7, 0x77, 0x5, 0x70, 0xc, 0x8b, 0x3, 0x8b, 0x5, 0x8e, 0x6, 0x8f, 0x7, 0x8f, 0xc, 0x9a, 0x3, 0x9d, 0x6, 0x9d, 0x7, 0xb6, 0x3, 0xb5, 0x7, 0xc5, 0x3, 0xc5, 0x7, 0xd7, 0x3, 0xd6, 0x7, 0xe8, 0x3, 0xe9, 0x4, 0xe8, 0x5, 0xea, 0x6, 0xf7, 0x3, 0xf8, 0x5, 0xf9, 0x6, 0x2c, 0x5d, 0x71, 0x0, 0x5d, 0x71, 0x13, 0x33, 0x11, 0x1, 0x21, 0x9, 0x1, 0x21, 0x1, 0x11, 0x23, 0xc9, 0xca, 0x2, 0x9e, 0x1, 0x4, 0xfd, 0x1b, 0x3, 0x1a, 0xfe, 0xf6, 0xfd, 0x33, 0xca, 0x5, 0xd5, 0xfd, 0x89, 0x2, 0x77, 0xfd, 0x48, 0xfc, 0xe3, 0x2, 0xcf, 0xfd, 0x31, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x6a, 0x5, 0xd5, 0x0, 0x5, 0x0, 0x25, 0x40, 0xc, 0x2, 0x95, 0x0, 0x81, 0x4, 0x1, 0x1c, 0x3, 0x3a, 0x0, 0x4, 0x6, 0x10, 0xfc, 0xec, 0xec, 0x31, 0x0, 0x2f, 0xe4, 0xec, 0x30, 0x40, 0x9, 0x30, 0x7, 0x50, 0x7, 0x80, 0x3, 0x80, 0x4, 0x4, 0x1, 0x5d, 0x13, 0x33, 0x11, 0x21, 0x15, 0x21, 0xc9, 0xca, 0x2, 0xd7, 0xfc, 0x5f, 0x5, 0xd5, 0xfa, 0xd5, 0xaa, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x1f, 0x5, 0xd5, 0x0, 0xc, 0x0, 0xbf, 0x40, 0x34, 0x3, 0x11, 0x7, 0x8, 0x7, 0x2, 0x11, 0x1, 0x2, 0x8, 0x8, 0x7, 0x2, 0x11, 0x3, 0x2, 0x9, 0xa, 0x9, 0x1, 0x11, 0xa, 0xa, 0x9, 0x42, 0xa, 0x7, 0x2, 0x3, 0x8, 0x3, 0x0, 0xaf, 0x8, 0xb, 0x5, 0x9, 0x8, 0x3, 0x2, 0x1, 0x5, 0xa, 0x6, 0x1c, 0x4, 0x3e, 0xa, 0x1c, 0x0, 0x4, 0xd, 0x10, 0xfc, 0xec, 0xfc, 0xec, 0x11, 0x17, 0x39, 0x31, 0x0, 0x2f, 0x3c, 0xc4, 0xec, 0x32, 0x11, 0x17, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x5, 0xed, 0x59, 0x22, 0xb2, 0x70, 0xe, 0x1, 0x1, 0x5d, 0x40, 0x56, 0x3, 0x7, 0xf, 0x8, 0xf, 0x9, 0x2, 0xa, 0x15, 0x2, 0x14, 0x7, 0x13, 0xa, 0x26, 0x2, 0x26, 0x7, 0x20, 0x7, 0x26, 0xa, 0x20, 0xa, 0x34, 0x7, 0x35, 0xa, 0x69, 0x2, 0x7c, 0x2, 0x7b, 0x7, 0x79, 0xa, 0x80, 0x2, 0x82, 0x7, 0x82, 0xa, 0x90, 0x2, 0x16, 0x4, 0x1, 0xb, 0x3, 0x13, 0x1, 0x1b, 0x3, 0x23, 0x1, 0x2c, 0x3, 0x27, 0x8, 0x28, 0x9, 0x34, 0x1, 0x3c, 0x3, 0x56, 0x8, 0x59, 0x9, 0x65, 0x8, 0x6a, 0x9, 0x76, 0x8, 0x79, 0x9, 0x81, 0x1, 0x8d, 0x3, 0x95, 0x1, 0x9b, 0x3, 0x14, 0x5d, 0x0, 0x5d, 0x13, 0x21, 0x9, 0x1, 0x21, 0x11, 0x23, 0x11, 0x1, 0x23, 0x1, 0x11, 0x23, 0xc9, 0x1, 0x2d, 0x1, 0x7d, 0x1, 0x7f, 0x1, 0x2d, 0xc5, 0xfe, 0x7f, 0xcb, 0xfe, 0x7f, 0xc4, 0x5, 0xd5, 0xfc, 0x8, 0x3, 0xf8, 0xfa, 0x2b, 0x5, 0x1f, 0xfc, 0x0, 0x4, 0x0, 0xfa, 0xe1, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x33, 0x5, 0xd5, 0x0, 0x9, 0x0, 0x79, 0x40, 0x1e, 0x7, 0x11, 0x1, 0x2, 0x1, 0x2, 0x11, 0x6, 0x7, 0x6, 0x42, 0x7, 0x2, 0x3, 0x0, 0xaf, 0x8, 0x5, 0x6, 0x1, 0x7, 0x2, 0x1c, 0x4, 0x36, 0x7, 0x1c, 0x0, 0x4, 0xa, 0x10, 0xfc, 0xec, 0xfc, 0xec, 0x11, 0x39, 0x39, 0x31, 0x0, 0x2f, 0x3c, 0xec, 0x32, 0x39, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x4, 0xed, 0x7, 0x10, 0x4, 0xed, 0x59, 0x22, 0xb2, 0x1f, 0xb, 0x1, 0x1, 0x5d, 0x40, 0x30, 0x36, 0x2, 0x38, 0x7, 0x48, 0x2, 0x47, 0x7, 0x69, 0x2, 0x66, 0x7, 0x80, 0x2, 0x7, 0x6, 0x1, 0x9, 0x6, 0x15, 0x1, 0x1a, 0x6, 0x46, 0x1, 0x49, 0x6, 0x57, 0x1, 0x58, 0x6, 0x65, 0x1, 0x69, 0x6, 0x79, 0x6, 0x85, 0x1, 0x8a, 0x6, 0x95, 0x1, 0x9a, 0x6, 0x9f, 0xb, 0x10, 0x5d, 0x0, 0x5d, 0x13, 0x21, 0x1, 0x11, 0x33, 0x11, 0x21, 0x1, 0x11, 0x23, 0xc9, 0x1, 0x10, 0x2, 0x96, 0xc4, 0xfe, 0xf0, 0xfd, 0x6a, 0xc4, 0x5, 0xd5, 0xfb, 0x1f, 0x4, 0xe1, 0xfa, 0x2b, 0x4, 0xe1, 0xfb, 0x1f, 0x0, 0x2, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x5, 0xf0, 0x0, 0xb, 0x0, 0x17, 0x0, 0x23, 0x40, 0x13, 0x6, 0x95, 0x12, 0x0, 0x95, 0xc, 0x91, 0x12, 0x8c, 0x18, 0x9, 0x19, 0xf, 0x33, 0x3, 0x19, 0x15, 0x10, 0x18, 0x10, 0xfc, 0xec, 0xfc, 0xec, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xec, 0x10, 0xee, 0x30, 0x1, 0x22, 0x0, 0x11, 0x10, 0x0, 0x33, 0x32, 0x0, 0x11, 0x10, 0x0, 0x27, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x3, 0x27, 0xdc, 0xfe, 0xfd, 0x1, 0x3, 0xdc, 0xdc, 0x1, 0x1, 0xfe, 0xff, 0xdc, 0x1, 0x3a, 0x1, 0x78, 0xfe, 0x88, 0xfe, 0xc6, 0xfe, 0xc5, 0xfe, 0x87, 0x1, 0x79, 0x5, 0x4c, 0xfe, 0xb8, 0xfe, 0xe5, 0xfe, 0xe6, 0xfe, 0xb8, 0x1, 0x48, 0x1, 0x1a, 0x1, 0x1b, 0x1, 0x48, 0xa4, 0xfe, 0x5b, 0xfe, 0x9e, 0xfe, 0x9f, 0xfe, 0x5b, 0x1, 0xa4, 0x1, 0x62, 0x1, 0x62, 0x1, 0xa5, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8d, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x13, 0x0, 0x3a, 0x40, 0x18, 0x1, 0x95, 0x10, 0x0, 0x95, 0x9, 0x81, 0x12, 0x10, 0xa, 0x8, 0x2, 0x4, 0x0, 0x5, 0x19, 0xd, 0x3f, 0x11, 0x0, 0x1c, 0x9, 0x4, 0x14, 0x10, 0xfc, 0xec, 0x32, 0xfc, 0xec, 0x11, 0x17, 0x39, 0x31, 0x0, 0x2f, 0xf4, 0xec, 0xd4, 0xec, 0x30, 0x40, 0xb, 0xf, 0x15, 0x1f, 0x15, 0x3f, 0x15, 0x5f, 0x15, 0xaf, 0x15, 0x5, 0x1, 0x5d, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x25, 0x21, 0x32, 0x4, 0x15, 0x14, 0x4, 0x2b, 0x1, 0x11, 0x23, 0x1, 0x93, 0xfe, 0x8d, 0x9a, 0x9a, 0x8d, 0xfe, 0x38, 0x1, 0xc8, 0xfb, 0x1, 0x1, 0xfe, 0xff, 0xfb, 0xfe, 0xca, 0x5, 0x2f, 0xfd, 0xcf, 0x92, 0x87, 0x86, 0x92, 0xa6, 0xe3, 0xdb, 0xdd, 0xe2, 0xfd, 0xa8, 0x0, 0x2, 0x0, 0x73, 0xfe, 0xf8, 0x5, 0xd9, 0x5, 0xf0, 0x0, 0xb, 0x0, 0x1d, 0x0, 0x52, 0x40, 0x2a, 0x11, 0x10, 0x2, 0xf, 0x1, 0xc, 0xd, 0xc, 0xe, 0x1, 0xd, 0xd, 0xc, 0x42, 0xf, 0x1e, 0xc, 0x6, 0x95, 0x12, 0x0, 0x95, 0x18, 0x91, 0x12, 0x8c, 0xd, 0x1e, 0xd, 0x1b, 0xf, 0xc, 0x3, 0x9, 0x19, 0x1b, 0x33, 0x3, 0x19, 0x15, 0x10, 0x1e, 0x10, 0xfc, 0xec, 0xfc, 0xec, 0x11, 0x39, 0x39, 0x11, 0x39, 0x31, 0x0, 0x10, 0xc4, 0xe4, 0xf4, 0xec, 0x10, 0xee, 0x39, 0x12, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x17, 0x39, 0x59, 0x22, 0x1, 0x22, 0x0, 0x11, 0x10, 0x0, 0x33, 0x32, 0x0, 0x11, 0x10, 0x0, 0x13, 0x1, 0x23, 0x27, 0xe, 0x1, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x2, 0x3, 0x27, 0xdc, 0xfe, 0xfd, 0x1, 0x3, 0xdc, 0xdc, 0x1, 0x1, 0xfe, 0xff, 0x3f, 0x1, 0xa, 0xf4, 0xdd, 0x21, 0x23, 0x10, 0xfe, 0xc5, 0xfe, 0x87, 0x1, 0x79, 0x1, 0x3b, 0x1, 0x3a, 0x1, 0x78, 0xd1, 0x5, 0x4c, 0xfe, 0xb8, 0xfe, 0xe5, 0xfe, 0xe6, 0xfe, 0xb8, 0x1, 0x48, 0x1, 0x1a, 0x1, 0x1b, 0x1, 0x48, 0xfa, 0xcf, 0xfe, 0xdd, 0xef, 0x2, 0x2, 0x1, 0xa5, 0x1, 0x61, 0x1, 0x62, 0x1, 0xa5, 0xfe, 0x5b, 0xfe, 0x9e, 0xfe, 0xfc, 0xfe, 0x8e, 0x0, 0x0, 0x2, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x54, 0x5, 0xd5, 0x0, 0x13, 0x0, 0x1c, 0x0, 0xb1, 0x40, 0x35, 0x9, 0x8, 0x7, 0x3, 0xa, 0x6, 0x11, 0x3, 0x4, 0x3, 0x5, 0x11, 0x4, 0x4, 0x3, 0x42, 0x6, 0x4, 0x0, 0x15, 0x3, 0x4, 0x15, 0x95, 0x9, 0x14, 0x95, 0xd, 0x81, 0xb, 0x4, 0x5, 0x6, 0x3, 0x11, 0x9, 0x0, 0x1c, 0x16, 0xe, 0x5, 0xa, 0x19, 0x19, 0x4, 0x11, 0x3f, 0x14, 0xa, 0x1c, 0xc, 0x4, 0x1d, 0x10, 0xfc, 0xec, 0x32, 0xfc, 0xc4, 0xec, 0x11, 0x17, 0x39, 0x11, 0x39, 0x39, 0x39, 0x31, 0x0, 0x2f, 0x3c, 0xf4, 0xec, 0xd4, 0xec, 0x12, 0x39, 0x12, 0x39, 0x12, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x11, 0x17, 0x39, 0x59, 0x22, 0xb2, 0x40, 0x1e, 0x1, 0x1, 0x5d, 0x40, 0x42, 0x7a, 0x13, 0x1, 0x5, 0x0, 0x5, 0x1, 0x5, 0x2, 0x6, 0x3, 0x7, 0x4, 0x15, 0x0, 0x15, 0x1, 0x14, 0x2, 0x16, 0x3, 0x17, 0x4, 0x25, 0x0, 0x25, 0x1, 0x25, 0x2, 0x26, 0x3, 0x27, 0x6, 0x26, 0x7, 0x26, 0x8, 0x26, 0x9, 0x20, 0x1e, 0x36, 0x1, 0x36, 0x2, 0x46, 0x1, 0x46, 0x2, 0x68, 0x5, 0x75, 0x4, 0x75, 0x5, 0x77, 0x13, 0x88, 0x6, 0x88, 0x7, 0x98, 0x6, 0x98, 0x7, 0x1f, 0x5d, 0x0, 0x5d, 0x1, 0x1e, 0x1, 0x17, 0x13, 0x23, 0x3, 0x2e, 0x1, 0x2b, 0x1, 0x11, 0x23, 0x11, 0x21, 0x20, 0x16, 0x15, 0x14, 0x6, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x3, 0x8d, 0x41, 0x7b, 0x3e, 0xcd, 0xd9, 0xbf, 0x4a, 0x8b, 0x78, 0xdc, 0xca, 0x1, 0xc8, 0x1, 0x0, 0xfc, 0x83, 0xfd, 0x89, 0xfe, 0x92, 0x95, 0x95, 0x92, 0x2, 0xbc, 0x16, 0x90, 0x7e, 0xfe, 0x68, 0x1, 0x7f, 0x96, 0x62, 0xfd, 0x89, 0x5, 0xd5, 0xd6, 0xd8, 0x8d, 0xba, 0x2, 0x4f, 0xfd, 0xee, 0x87, 0x83, 0x83, 0x85, 0x0, 0x0, 0x1, 0x0, 0x87, 0xff, 0xe3, 0x4, 0xa2, 0x5, 0xf0, 0x0, 0x27, 0x0, 0x7e, 0x40, 0x3c, 0xd, 0xc, 0x2, 0xe, 0xb, 0x2, 0x1e, 0x1f, 0x1e, 0x8, 0x9, 0x2, 0x7, 0xa, 0x2, 0x1f, 0x1f, 0x1e, 0x42, 0xa, 0xb, 0x1e, 0x1f, 0x4, 0x15, 0x1, 0x0, 0x15, 0xa1, 0x14, 0x94, 0x18, 0x95, 0x11, 0x4, 0x95, 0x0, 0x94, 0x25, 0x91, 0x11, 0x8c, 0x28, 0x1e, 0xa, 0xb, 0x1f, 0x1b, 0x7, 0x0, 0x22, 0x1b, 0x19, 0xe, 0x2d, 0x7, 0x19, 0x14, 0x22, 0x28, 0x10, 0xdc, 0xc4, 0xec, 0xfc, 0xec, 0xe4, 0x11, 0x12, 0x39, 0x39, 0x39, 0x39, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xe4, 0xec, 0x10, 0xee, 0xf6, 0xee, 0x10, 0xc6, 0x11, 0x17, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0xe, 0xed, 0x11, 0x17, 0x39, 0x7, 0x10, 0xe, 0xed, 0x11, 0x17, 0x39, 0x59, 0x22, 0xb2, 0xf, 0x29, 0x1, 0x1, 0x5d, 0xb6, 0x1f, 0x29, 0x2f, 0x29, 0x4f, 0x29, 0x3, 0x5d, 0x1, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1f, 0x1, 0x1e, 0x1, 0x15, 0x14, 0x4, 0x21, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2f, 0x1, 0x2e, 0x1, 0x35, 0x34, 0x24, 0x33, 0x32, 0x16, 0x4, 0x48, 0x73, 0xcc, 0x5f, 0xa5, 0xb3, 0x77, 0xa6, 0x7a, 0xe2, 0xd7, 0xfe, 0xdd, 0xfe, 0xe7, 0x6a, 0xef, 0x80, 0x7b, 0xec, 0x72, 0xad, 0xbc, 0x87, 0x9a, 0x7b, 0xe2, 0xca, 0x1, 0x17, 0xf5, 0x69, 0xda, 0x5, 0xa4, 0xc5, 0x37, 0x36, 0x80, 0x76, 0x63, 0x65, 0x1f, 0x19, 0x2b, 0xd9, 0xb6, 0xd9, 0xe0, 0x30, 0x2f, 0xd0, 0x45, 0x46, 0x88, 0x7e, 0x6e, 0x7c, 0x1f, 0x18, 0x2d, 0xc0, 0xab, 0xc6, 0xe4, 0x26, 0x0, 0x0, 0x1, 0xff, 0xfa, 0x0, 0x0, 0x4, 0xe9, 0x5, 0xd5, 0x0, 0x7, 0x0, 0x4a, 0x40, 0xe, 0x6, 0x2, 0x95, 0x0, 0x81, 0x4, 0x1, 0x40, 0x3, 0x1c, 0x0, 0x40, 0x5, 0x8, 0x10, 0xd4, 0xe4, 0xfc, 0xe4, 0x31, 0x0, 0x2f, 0xf4, 0xec, 0x32, 0x30, 0x1, 0x4b, 0xb0, 0xa, 0x54, 0x58, 0xbd, 0x0, 0x8, 0x0, 0x40, 0x0, 0x1, 0x0, 0x8, 0x0, 0x8, 0xff, 0xc0, 0x38, 0x11, 0x37, 0x38, 0x59, 0x40, 0x13, 0x0, 0x9, 0x1f, 0x0, 0x10, 0x1, 0x10, 0x2, 0x1f, 0x7, 0x10, 0x9, 0x40, 0x9, 0x70, 0x9, 0x9f, 0x9, 0x9, 0x5d, 0x3, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x6, 0x4, 0xef, 0xfd, 0xee, 0xcb, 0xfd, 0xee, 0x5, 0xd5, 0xaa, 0xfa, 0xd5, 0x5, 0x2b, 0x0, 0x0, 0x1, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x5, 0xd5, 0x0, 0x11, 0x0, 0x40, 0x40, 0x16, 0x8, 0x2, 0x11, 0xb, 0x0, 0x5, 0x95, 0xe, 0x8c, 0x9, 0x0, 0x81, 0x12, 0x8, 0x1c, 0xa, 0x38, 0x1, 0x1c, 0x0, 0x41, 0x12, 0x10, 0xfc, 0x4b, 0xb0, 0x10, 0x54, 0x58, 0xb9, 0x0, 0x0, 0xff, 0xc0, 0x38, 0x59, 0xec, 0xfc, 0xec, 0x31, 0x0, 0x10, 0xe4, 0x32, 0xf4, 0xec, 0x11, 0x39, 0x39, 0x39, 0x39, 0x30, 0x1, 0xb6, 0x1f, 0x13, 0x8f, 0x13, 0x9f, 0x13, 0x3, 0x5d, 0x13, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0xb2, 0xcb, 0xae, 0xc3, 0xc2, 0xae, 0xcb, 0xfe, 0xdf, 0xfe, 0xe6, 0xfe, 0xe5, 0xfe, 0xdf, 0x5, 0xd5, 0xfc, 0x75, 0xf0, 0xd3, 0xd3, 0xf0, 0x3, 0x8b, 0xfc, 0x5c, 0xfe, 0xdc, 0xfe, 0xd6, 0x1, 0x2a, 0x1, 0x24, 0x0, 0x0, 0x1, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x5, 0xd5, 0x0, 0x6, 0x0, 0xb7, 0x40, 0x27, 0x4, 0x11, 0x5, 0x6, 0x5, 0x3, 0x11, 0x2, 0x3, 0x6, 0x6, 0x5, 0x3, 0x11, 0x4, 0x3, 0x0, 0x1, 0x0, 0x2, 0x11, 0x1, 0x1, 0x0, 0x42, 0x3, 0x4, 0x1, 0xaf, 0x0, 0x6, 0x4, 0x3, 0x2, 0x0, 0x5, 0x5, 0x1, 0x7, 0x10, 0xd4, 0xc4, 0x17, 0x39, 0x31, 0x0, 0x2f, 0xec, 0x32, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x5, 0xed, 0x59, 0x22, 0xb2, 0x50, 0x8, 0x1, 0x1, 0x5d, 0x40, 0x62, 0x0, 0x3, 0x2a, 0x3, 0x47, 0x4, 0x47, 0x5, 0x5a, 0x3, 0x7d, 0x3, 0x83, 0x3, 0x7, 0x6, 0x0, 0x7, 0x2, 0x8, 0x4, 0x9, 0x6, 0x15, 0x1, 0x14, 0x2, 0x1a, 0x4, 0x1a, 0x5, 0x2a, 0x0, 0x26, 0x1, 0x26, 0x2, 0x29, 0x4, 0x29, 0x5, 0x25, 0x6, 0x20, 0x8, 0x38, 0x0, 0x33, 0x1, 0x33, 0x2, 0x3c, 0x4, 0x3c, 0x5, 0x37, 0x6, 0x48, 0x0, 0x45, 0x1, 0x45, 0x2, 0x49, 0x4, 0x49, 0x5, 0x47, 0x6, 0x59, 0x0, 0x56, 0x6, 0x66, 0x2, 0x69, 0x4, 0x69, 0x5, 0x7a, 0x0, 0x76, 0x1, 0x76, 0x2, 0x79, 0x4, 0x79, 0x5, 0x75, 0x6, 0x80, 0x8, 0x98, 0x0, 0x97, 0x6, 0x29, 0x5d, 0x0, 0x5d, 0x21, 0x1, 0x33, 0x9, 0x1, 0x33, 0x1, 0x2, 0x4a, 0xfd, 0xc6, 0xd3, 0x1, 0xd9, 0x1, 0xda, 0xd2, 0xfd, 0xc7, 0x5, 0xd5, 0xfb, 0x17, 0x4, 0xe9, 0xfa, 0x2b, 0x0, 0x1, 0x0, 0x44, 0x0, 0x0, 0x7, 0xa6, 0x5, 0xd5, 0x0, 0xc, 0x1, 0x7b, 0x40, 0x49, 0x5, 0x1a, 0x6, 0x5, 0x9, 0xa, 0x9, 0x4, 0x1a, 0xa, 0x9, 0x3, 0x1a, 0xa, 0xb, 0xa, 0x2, 0x1a, 0x1, 0x2, 0xb, 0xb, 0xa, 0x6, 0x11, 0x7, 0x8, 0x7, 0x5, 0x11, 0x4, 0x5, 0x8, 0x8, 0x7, 0x2, 0x11, 0x3, 0x2, 0xc, 0x0, 0xc, 0x1, 0x11, 0x0, 0x0, 0xc, 0x42, 0xa, 0x5, 0x2, 0x3, 0x6, 0x3, 0x0, 0xaf, 0xb, 0x8, 0xc, 0xb, 0xa, 0x9, 0x8, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1, 0xb, 0x7, 0x0, 0xd, 0x10, 0xd4, 0xcc, 0x17, 0x39, 0x31, 0x0, 0x2f, 0x3c, 0xec, 0x32, 0x32, 0x17, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x59, 0x22, 0xb2, 0x0, 0xe, 0x1, 0x1, 0x5d, 0x40, 0xf2, 0x6, 0x2, 0x6, 0x5, 0x2, 0xa, 0x0, 0xa, 0x0, 0xa, 0x12, 0xa, 0x28, 0x5, 0x24, 0xa, 0x20, 0xa, 0x3e, 0x2, 0x3e, 0x5, 0x34, 0xa, 0x30, 0xa, 0x4c, 0x2, 0x4d, 0x5, 0x42, 0xa, 0x40, 0xa, 0x59, 0x2, 0x6a, 0x2, 0x6b, 0x5, 0x67, 0xa, 0x60, 0xa, 0x7b, 0x2, 0x7f, 0x2, 0x7c, 0x5, 0x7f, 0x5, 0x80, 0xa, 0x96, 0x2, 0x95, 0x5, 0x1d, 0x7, 0x0, 0x9, 0x2, 0x8, 0x3, 0x0, 0x4, 0x6, 0x5, 0x0, 0x5, 0x0, 0x6, 0x1, 0x7, 0x4, 0x8, 0x0, 0x8, 0x7, 0x9, 0x0, 0x9, 0x4, 0xa, 0xa, 0xc, 0x0, 0xe, 0x1a, 0x3, 0x15, 0x4, 0x15, 0x8, 0x19, 0xc, 0x10, 0xe, 0x20, 0x4, 0x21, 0x5, 0x20, 0x6, 0x20, 0x7, 0x20, 0x8, 0x23, 0x9, 0x24, 0xa, 0x25, 0xb, 0x20, 0xe, 0x20, 0xe, 0x3c, 0x2, 0x3a, 0x3, 0x35, 0x4, 0x33, 0x5, 0x30, 0x8, 0x36, 0x9, 0x39, 0xb, 0x3f, 0xc, 0x30, 0xe, 0x46, 0x0, 0x46, 0x1, 0x4a, 0x2, 0x40, 0x4, 0x45, 0x5, 0x40, 0x5, 0x42, 0x6, 0x42, 0x7, 0x42, 0x8, 0x40, 0x8, 0x40, 0x9, 0x44, 0xa, 0x4d, 0xc, 0x40, 0xe, 0x40, 0xe, 0x58, 0x2, 0x56, 0x8, 0x59, 0xc, 0x50, 0xe, 0x66, 0x2, 0x67, 0x3, 0x61, 0x4, 0x62, 0x5, 0x60, 0x6, 0x60, 0x7, 0x60, 0x8, 0x64, 0x9, 0x64, 0xa, 0x64, 0xb, 0x77, 0x0, 0x76, 0x1, 0x7b, 0x2, 0x78, 0x3, 0x77, 0x4, 0x74, 0x5, 0x79, 0x6, 0x79, 0x7, 0x77, 0x8, 0x70, 0x8, 0x78, 0xc, 0x7f, 0xc, 0x7f, 0xe, 0x86, 0x2, 0x87, 0x3, 0x88, 0x4, 0x89, 0x5, 0x85, 0x9, 0x8a, 0xb, 0x8f, 0xe, 0x97, 0x4, 0x9f, 0xe, 0xaf, 0xe, 0x5b, 0x5d, 0x0, 0x5d, 0x13, 0x33, 0x9, 0x1, 0x33, 0x9, 0x1, 0x33, 0x1, 0x23, 0x9, 0x1, 0x23, 0x44, 0xcc, 0x1, 0x3a, 0x1, 0x39, 0xe3, 0x1, 0x3a, 0x1, 0x39, 0xcd, 0xfe, 0x89, 0xfe, 0xfe, 0xc5, 0xfe, 0xc2, 0xfe, 0x5, 0xd5, 0xfb, 0x12, 0x4, 0xee, 0xfb, 0x12, 0x4, 0xee, 0xfa, 0x2b, 0x5, 0x10, 0xfa, 0xf0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3d, 0x0, 0x0, 0x5, 0x3b, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x66, 0x40, 0x6, 0xd, 0x4, 0x6, 0x0, 0xa, 0xc, 0x10, 0xd4, 0xc4, 0xdc, 0xc4, 0xc4, 0x31, 0xb4, 0x80, 0x0, 0x7f, 0xa, 0x2, 0x5d, 0x0, 0x40, 0x5, 0x3, 0x0, 0xaf, 0x9, 0x6, 0x2f, 0x3c, 0xec, 0x32, 0x30, 0x4b, 0xb0, 0x42, 0x50, 0x58, 0x40, 0x14, 0x7, 0x11, 0x6, 0x6, 0x5, 0x9, 0x11, 0xa, 0xb, 0xa, 0x3, 0x11, 0x4, 0x5, 0x4, 0x1, 0x11, 0x0, 0xb, 0x0, 0x5, 0x7, 0x10, 0xec, 0x7, 0x10, 0xec, 0x7, 0x10, 0xec, 0x7, 0x10, 0xec, 0x40, 0x14, 0xb, 0xa, 0x3, 0x7, 0x0, 0x8, 0x9, 0x4, 0x7, 0x0, 0x5, 0x9, 0x4, 0x6, 0x1, 0x2, 0xa, 0x3, 0x6, 0x1, 0xf, 0xf, 0xf, 0xf, 0x59, 0x13, 0x33, 0x9, 0x1, 0x33, 0x9, 0x1, 0x23, 0x9, 0x1, 0x23, 0x1, 0x81, 0xd9, 0x1, 0x73, 0x1, 0x75, 0xd9, 0xfe, 0x20, 0x2, 0x0, 0xd9, 0xfe, 0x5c, 0xfe, 0x59, 0xda, 0x2, 0x15, 0x5, 0xd5, 0xfd, 0xd5, 0x2, 0x2b, 0xfd, 0x33, 0xfc, 0xf8, 0x2, 0x7b, 0xfd, 0x85, 0x3, 0x1d, 0x0, 0x0, 0x1, 0xff, 0xfc, 0x0, 0x0, 0x4, 0xe7, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x94, 0x40, 0x28, 0x3, 0x11, 0x4, 0x5, 0x4, 0x2, 0x11, 0x1, 0x2, 0x5, 0x5, 0x4, 0x2, 0x11, 0x3, 0x2, 0x8, 0x0, 0x8, 0x1, 0x11, 0x0, 0x0, 0x8, 0x42, 0x2, 0x3, 0x0, 0xaf, 0x6, 0x2, 0x7, 0x4, 0x40, 0x5, 0x1c, 0x0, 0x40, 0x7, 0x9, 0x10, 0xd4, 0xe4, 0xfc, 0xe4, 0x12, 0x39, 0x31, 0x0, 0x2f, 0xec, 0x32, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x5, 0xed, 0x59, 0x22, 0xb2, 0x0, 0xa, 0x1, 0x1, 0x5d, 0x40, 0x3c, 0x5, 0x2, 0x14, 0x2, 0x35, 0x2, 0x30, 0x2, 0x30, 0x5, 0x30, 0x8, 0x46, 0x2, 0x40, 0x2, 0x40, 0x5, 0x40, 0x8, 0x51, 0x2, 0x51, 0x5, 0x51, 0x8, 0x65, 0x2, 0x84, 0x2, 0x93, 0x2, 0x10, 0x16, 0x1, 0x1a, 0x3, 0x1f, 0xa, 0x26, 0x1, 0x29, 0x3, 0x37, 0x1, 0x38, 0x3, 0x40, 0xa, 0x67, 0x1, 0x68, 0x3, 0x78, 0x3, 0x70, 0xa, 0x9f, 0xa, 0xd, 0x5d, 0x0, 0x5d, 0x3, 0x33, 0x9, 0x1, 0x33, 0x1, 0x11, 0x23, 0x11, 0x4, 0xd9, 0x1, 0x9e, 0x1, 0x9b, 0xd9, 0xfd, 0xf0, 0xcb, 0x5, 0xd5, 0xfd, 0x9a, 0x2, 0x66, 0xfc, 0xf2, 0xfd, 0x39, 0x2, 0xc7, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x5c, 0x0, 0x0, 0x5, 0x1f, 0x5, 0xd5, 0x0, 0x9, 0x0, 0x90, 0x40, 0x1b, 0x3, 0x11, 0x7, 0x8, 0x7, 0x8, 0x11, 0x2, 0x3, 0x2, 0x42, 0x8, 0x95, 0x0, 0x81, 0x3, 0x95, 0x5, 0x8, 0x3, 0x0, 0x1, 0x42, 0x4, 0x0, 0x6, 0xa, 0x10, 0xdc, 0x4b, 0xb0, 0x9, 0x54, 0x4b, 0xb0, 0xa, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0x6, 0xff, 0xc0, 0x38, 0x59, 0xc4, 0xd4, 0xe4, 0x11, 0x39, 0x39, 0x31, 0x0, 0x2f, 0xec, 0xf4, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x59, 0x22, 0x1, 0x40, 0x40, 0x5, 0x2, 0xa, 0x7, 0x18, 0x7, 0x29, 0x2, 0x26, 0x7, 0x38, 0x7, 0x48, 0x2, 0x47, 0x7, 0x48, 0x8, 0x9, 0x5, 0x3, 0xb, 0x8, 0x0, 0xb, 0x16, 0x3, 0x1a, 0x8, 0x10, 0xb, 0x2f, 0xb, 0x35, 0x3, 0x39, 0x8, 0x3f, 0xb, 0x47, 0x3, 0x4a, 0x8, 0x4f, 0xb, 0x55, 0x3, 0x59, 0x8, 0x66, 0x3, 0x69, 0x8, 0x6f, 0xb, 0x77, 0x3, 0x78, 0x8, 0x7f, 0xb, 0x9f, 0xb, 0x16, 0x5d, 0x0, 0x5d, 0x13, 0x21, 0x15, 0x1, 0x21, 0x15, 0x21, 0x35, 0x1, 0x21, 0x73, 0x4, 0x95, 0xfc, 0x50, 0x3, 0xc7, 0xfb, 0x3d, 0x3, 0xb0, 0xfc, 0x67, 0x5, 0xd5, 0x9a, 0xfb, 0x6f, 0xaa, 0x9a, 0x4, 0x91, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb0, 0xfe, 0xf2, 0x2, 0x58, 0x6, 0x14, 0x0, 0x7, 0x0, 0x3b, 0x40, 0xf, 0x4, 0xa9, 0x6, 0xb2, 0x2, 0xa9, 0x0, 0xb1, 0x8, 0x5, 0x1, 0x3, 0x43, 0x0, 0x8, 0x10, 0xdc, 0x4b, 0xb0, 0xc, 0x54, 0x58, 0xb9, 0x0, 0x0, 0x0, 0x40, 0x38, 0x59, 0x4b, 0xb0, 0x12, 0x54, 0x4b, 0xb0, 0x13, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0x0, 0xff, 0xc0, 0x38, 0x59, 0xfc, 0xcc, 0x32, 0x31, 0x0, 0x10, 0xfc, 0xec, 0xf4, 0xec, 0x30, 0x13, 0x21, 0x15, 0x23, 0x11, 0x33, 0x15, 0x21, 0xb0, 0x1, 0xa8, 0xf0, 0xf0, 0xfe, 0x58, 0x6, 0x14, 0x8f, 0xf9, 0xfc, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xff, 0x42, 0x2, 0xb2, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x2d, 0x40, 0x14, 0x2, 0x1a, 0x1, 0x1, 0x0, 0x0, 0x1a, 0x3, 0x3, 0x2, 0x42, 0x1, 0x9f, 0x0, 0x81, 0x4, 0x2, 0x0, 0x1, 0x3, 0x2f, 0xc4, 0x39, 0x39, 0x31, 0x0, 0x10, 0xf4, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x59, 0x22, 0x13, 0x1, 0x23, 0x1, 0xaa, 0x2, 0x8, 0xaa, 0xfd, 0xf8, 0x5, 0xd5, 0xf9, 0x6d, 0x6, 0x93, 0x0, 0x0, 0x1, 0x0, 0xc7, 0xfe, 0xf2, 0x2, 0x6f, 0x6, 0x14, 0x0, 0x7, 0x0, 0x30, 0x40, 0x10, 0x3, 0xa9, 0x1, 0xb2, 0x5, 0xa9, 0x0, 0xb1, 0x8, 0x0, 0x43, 0x4, 0x6, 0x2, 0x4, 0x8, 0x10, 0xfc, 0x4b, 0xb0, 0xf, 0x54, 0x4b, 0xb0, 0x10, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0x2, 0x0, 0x40, 0x38, 0x59, 0x3c, 0xdc, 0xec, 0x31, 0x0, 0x10, 0xfc, 0xec, 0xf4, 0xec, 0x30, 0x1, 0x11, 0x21, 0x35, 0x33, 0x11, 0x23, 0x35, 0x2, 0x6f, 0xfe, 0x58, 0xef, 0xef, 0x6, 0x14, 0xf8, 0xde, 0x8f, 0x6, 0x4, 0x8f, 0x0, 0x1, 0x0, 0xd9, 0x3, 0xa8, 0x5, 0xdb, 0x5, 0xd5, 0x0, 0x6, 0x0, 0x18, 0x40, 0xa, 0x3, 0x4, 0x1, 0x0, 0x81, 0x7, 0x3, 0x1, 0x5, 0x7, 0x10, 0xdc, 0xcc, 0x39, 0x31, 0x0, 0x10, 0xf4, 0xcc, 0x32, 0x39, 0x30, 0x9, 0x1, 0x23, 0x9, 0x1, 0x23, 0x1, 0x3, 0xbc, 0x2, 0x1f, 0xc9, 0xfe, 0x48, 0xfe, 0x48, 0xc9, 0x2, 0x1f, 0x5, 0xd5, 0xfd, 0xd3, 0x1, 0x8b, 0xfe, 0x75, 0x2, 0x2d, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfe, 0x1d, 0x4, 0x14, 0xfe, 0xac, 0x0, 0x3, 0x0, 0xf, 0xb5, 0x0, 0xa9, 0x1, 0x0, 0x2, 0x4, 0x10, 0xc4, 0xc4, 0x31, 0x0, 0xd4, 0xec, 0x30, 0x1, 0x15, 0x21, 0x35, 0x4, 0x14, 0xfb, 0xd8, 0xfe, 0xac, 0x8f, 0x8f, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xaa, 0x4, 0xf0, 0x2, 0x89, 0x6, 0x66, 0x0, 0x3, 0x0, 0x31, 0x40, 0x9, 0x1, 0xb4, 0x0, 0xb3, 0x4, 0x3, 0x44, 0x1, 0x4, 0x10, 0xdc, 0xec, 0x31, 0x0, 0x10, 0xf4, 0xec, 0x30, 0x0, 0x4b, 0xb0, 0x9, 0x54, 0x4b, 0xb0, 0xe, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x4, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x4, 0x0, 0x4, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x9, 0x1, 0x23, 0x1, 0x1, 0x6f, 0x1, 0x1a, 0x99, 0xfe, 0xba, 0x6, 0x66, 0xfe, 0x8a, 0x1, 0x76, 0x0, 0x2, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0x2d, 0x4, 0x7b, 0x0, 0xa, 0x0, 0x25, 0x0, 0xbc, 0x40, 0x27, 0x19, 0x1f, 0xb, 0x17, 0x9, 0xe, 0x0, 0xa9, 0x17, 0x6, 0xb9, 0xe, 0x11, 0x20, 0x86, 0x1f, 0xba, 0x1c, 0xb9, 0x23, 0xb8, 0x11, 0x8c, 0x17, 0xc, 0x0, 0x17, 0x3, 0x18, 0xd, 0x9, 0x8, 0xb, 0x1f, 0x3, 0x8, 0x14, 0x45, 0x26, 0x10, 0xfc, 0xec, 0xcc, 0xd4, 0xec, 0x32, 0x32, 0x11, 0x39, 0x39, 0x31, 0x0, 0x2f, 0xc4, 0xe4, 0xf4, 0xfc, 0xf4, 0xec, 0x10, 0xc6, 0xee, 0x10, 0xee, 0x11, 0x39, 0x11, 0x39, 0x12, 0x39, 0x30, 0x40, 0x6e, 0x30, 0x1d, 0x30, 0x1e, 0x30, 0x1f, 0x30, 0x20, 0x30, 0x21, 0x30, 0x22, 0x3f, 0x27, 0x40, 0x1d, 0x40, 0x1e, 0x40, 0x1f, 0x40, 0x20, 0x40, 0x21, 0x40, 0x22, 0x50, 0x1d, 0x50, 0x1e, 0x50, 0x1f, 0x50, 0x20, 0x50, 0x21, 0x50, 0x22, 0x50, 0x27, 0x70, 0x27, 0x85, 0x1d, 0x87, 0x1e, 0x87, 0x1f, 0x87, 0x20, 0x87, 0x21, 0x85, 0x22, 0x90, 0x27, 0xa0, 0x27, 0xf0, 0x27, 0x1e, 0x30, 0x1e, 0x30, 0x1f, 0x30, 0x20, 0x30, 0x21, 0x40, 0x1e, 0x40, 0x1f, 0x40, 0x20, 0x40, 0x21, 0x50, 0x1e, 0x50, 0x1f, 0x50, 0x20, 0x50, 0x21, 0x60, 0x1e, 0x60, 0x1f, 0x60, 0x20, 0x60, 0x21, 0x70, 0x1e, 0x70, 0x1f, 0x70, 0x20, 0x70, 0x21, 0x80, 0x1e, 0x80, 0x1f, 0x80, 0x20, 0x80, 0x21, 0x18, 0x5d, 0x1, 0x5d, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3d, 0x1, 0x37, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x21, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x2, 0xbe, 0xdf, 0xac, 0x81, 0x6f, 0x99, 0xb9, 0xb8, 0xb8, 0x3f, 0xbc, 0x88, 0xac, 0xcb, 0xfd, 0xfb, 0x1, 0x2, 0xa7, 0x97, 0x60, 0xb6, 0x54, 0x65, 0xbe, 0x5a, 0xf3, 0xf0, 0x2, 0x33, 0x66, 0x7b, 0x62, 0x73, 0xd9, 0xb4, 0x29, 0x4c, 0xfd, 0x81, 0xaa, 0x66, 0x61, 0xc1, 0xa2, 0xbd, 0xc0, 0x12, 0x7f, 0x8b, 0x2e, 0x2e, 0xaa, 0x27, 0x27, 0xfc, 0x0, 0x0, 0x2, 0x0, 0xba, 0xff, 0xe3, 0x4, 0xa4, 0x6, 0x14, 0x0, 0xb, 0x0, 0x1c, 0x0, 0x38, 0x40, 0x19, 0x3, 0xb9, 0xc, 0xf, 0x9, 0xb9, 0x18, 0x15, 0x8c, 0xf, 0xb8, 0x1b, 0x97, 0x19, 0x0, 0x12, 0x12, 0x47, 0x18, 0xc, 0x6, 0x8, 0x1a, 0x46, 0x1d, 0x10, 0xfc, 0xec, 0x32, 0x32, 0xf4, 0xec, 0x31, 0x0, 0x2f, 0xec, 0xe4, 0xf4, 0xc4, 0xec, 0x10, 0xc6, 0xee, 0x30, 0xb6, 0x60, 0x1e, 0x80, 0x1e, 0xa0, 0x1e, 0x3, 0x1, 0x5d, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x1, 0x3e, 0x1, 0x33, 0x32, 0x0, 0x11, 0x10, 0x2, 0x23, 0x22, 0x26, 0x27, 0x15, 0x23, 0x11, 0x33, 0x3, 0xe5, 0xa7, 0x92, 0x92, 0xa7, 0xa7, 0x92, 0x92, 0xa7, 0xfd, 0x8e, 0x3a, 0xb1, 0x7b, 0xcc, 0x0, 0xff, 0xff, 0xcc, 0x7b, 0xb1, 0x3a, 0xb9, 0xb9, 0x2, 0x2f, 0xcb, 0xe7, 0xe7, 0xcb, 0xcb, 0xe7, 0xe7, 0x2, 0x52, 0x64, 0x61, 0xfe, 0xbc, 0xfe, 0xf8, 0xfe, 0xf8, 0xfe, 0xbc, 0x61, 0x64, 0xa8, 0x6, 0x14, 0x0, 0x1, 0x0, 0x71, 0xff, 0xe3, 0x3, 0xe7, 0x4, 0x7b, 0x0, 0x19, 0x0, 0x3f, 0x40, 0x1b, 0x0, 0x86, 0x1, 0x88, 0x4, 0xe, 0x86, 0xd, 0x88, 0xa, 0xb9, 0x11, 0x4, 0xb9, 0x17, 0xb8, 0x11, 0x8c, 0x1a, 0x7, 0x12, 0xd, 0x0, 0x48, 0x14, 0x45, 0x1a, 0x10, 0xfc, 0xe4, 0x32, 0xec, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xec, 0x10, 0xfe, 0xf4, 0xee, 0x10, 0xf5, 0xee, 0x30, 0x40, 0xb, 0xf, 0x1b, 0x10, 0x1b, 0x80, 0x1b, 0x90, 0x1b, 0xa0, 0x1b, 0x5, 0x1, 0x5d, 0x1, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x0, 0x11, 0x10, 0x0, 0x21, 0x32, 0x16, 0x3, 0xe7, 0x4e, 0x9d, 0x50, 0xb3, 0xc6, 0xc6, 0xb3, 0x50, 0x9d, 0x4e, 0x4d, 0xa5, 0x5d, 0xfd, 0xfe, 0xd6, 0x1, 0x2d, 0x1, 0x6, 0x55, 0xa2, 0x4, 0x35, 0xac, 0x2b, 0x2b, 0xe3, 0xcd, 0xcd, 0xe3, 0x2b, 0x2b, 0xaa, 0x24, 0x24, 0x1, 0x3e, 0x1, 0xe, 0x1, 0x12, 0x1, 0x3a, 0x23, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x5a, 0x6, 0x14, 0x0, 0x10, 0x0, 0x1c, 0x0, 0x38, 0x40, 0x19, 0x1a, 0xb9, 0x0, 0xe, 0x14, 0xb9, 0x5, 0x8, 0x8c, 0xe, 0xb8, 0x1, 0x97, 0x3, 0x17, 0x4, 0x0, 0x8, 0x2, 0x47, 0x11, 0x12, 0xb, 0x45, 0x1d, 0x10, 0xfc, 0xec, 0xf4, 0xec, 0x32, 0x32, 0x31, 0x0, 0x2f, 0xec, 0xe4, 0xf4, 0xc4, 0xec, 0x10, 0xc4, 0xee, 0x30, 0xb6, 0x60, 0x1e, 0x80, 0x1e, 0xa0, 0x1e, 0x3, 0x1, 0x5d, 0x1, 0x11, 0x33, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x2, 0x11, 0x10, 0x0, 0x33, 0x32, 0x16, 0x1, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x3, 0xa2, 0xb8, 0xb8, 0x3a, 0xb1, 0x7c, 0xcb, 0xff, 0x0, 0xff, 0xcb, 0x7c, 0xb1, 0xfd, 0xc7, 0xa7, 0x92, 0x92, 0xa8, 0xa8, 0x92, 0x92, 0xa7, 0x3, 0xb6, 0x2, 0x5e, 0xf9, 0xec, 0xa8, 0x64, 0x61, 0x1, 0x44, 0x1, 0x8, 0x1, 0x8, 0x1, 0x44, 0x61, 0xfe, 0x15, 0xcb, 0xe7, 0xe7, 0xcb, 0xcb, 0xe7, 0xe7, 0x0, 0x2, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x7f, 0x4, 0x7b, 0x0, 0x14, 0x0, 0x1b, 0x0, 0x70, 0x40, 0x24, 0x0, 0x15, 0x1, 0x9, 0x86, 0x8, 0x88, 0x5, 0x15, 0xa9, 0x1, 0x5, 0xb9, 0xc, 0x1, 0xbb, 0x18, 0xb9, 0x12, 0xb8, 0xc, 0x8c, 0x1c, 0x1b, 0x15, 0x2, 0x8, 0x15, 0x8, 0x0, 0x4b, 0x2, 0x12, 0xf, 0x45, 0x1c, 0x10, 0xfc, 0xec, 0xf4, 0xec, 0xc4, 0x11, 0x12, 0x39, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xec, 0xe4, 0x10, 0xee, 0x10, 0xee, 0x10, 0xf4, 0xee, 0x11, 0x12, 0x39, 0x30, 0x40, 0x29, 0x3f, 0x1d, 0x70, 0x1d, 0xa0, 0x1d, 0xd0, 0x1d, 0xf0, 0x1d, 0x5, 0x3f, 0x0, 0x3f, 0x1, 0x3f, 0x2, 0x3f, 0x15, 0x3f, 0x1b, 0x5, 0x2c, 0x7, 0x2f, 0x8, 0x2f, 0x9, 0x2c, 0xa, 0x6f, 0x0, 0x6f, 0x1, 0x6f, 0x2, 0x6f, 0x15, 0x6f, 0x1b, 0x9, 0x5d, 0x71, 0x1, 0x5d, 0x1, 0x15, 0x21, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x33, 0x32, 0x0, 0x7, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x7, 0x4, 0x7f, 0xfc, 0xb2, 0xc, 0xcd, 0xb7, 0x6a, 0xc7, 0x62, 0x63, 0xd0, 0x6b, 0xfe, 0xf4, 0xfe, 0xc7, 0x1, 0x29, 0xfc, 0xe2, 0x1, 0x7, 0xb8, 0x2, 0xa5, 0x88, 0x9a, 0xb9, 0xe, 0x2, 0x5e, 0x5a, 0xbe, 0xc7, 0x34, 0x34, 0xae, 0x2a, 0x2c, 0x1, 0x38, 0x1, 0xa, 0x1, 0x13, 0x1, 0x43, 0xfe, 0xdd, 0xc4, 0x97, 0xb4, 0xae, 0x9e, 0x0, 0x0, 0x1, 0x0, 0x2f, 0x0, 0x0, 0x2, 0xf8, 0x6, 0x14, 0x0, 0x13, 0x0, 0x59, 0x40, 0x1c, 0x5, 0x10, 0x1, 0xc, 0x8, 0xa9, 0x6, 0x1, 0x87, 0x0, 0x97, 0xe, 0x6, 0xbc, 0xa, 0x2, 0x13, 0x7, 0x0, 0x7, 0x9, 0x5, 0x8, 0xd, 0xf, 0xb, 0x4c, 0x14, 0x10, 0xfc, 0x4b, 0xb0, 0xa, 0x54, 0x58, 0xb9, 0x0, 0xb, 0x0, 0x40, 0x38, 0x59, 0x4b, 0xb0, 0xe, 0x54, 0x58, 0xb9, 0x0, 0xb, 0xff, 0xc0, 0x38, 0x59, 0x3c, 0xc4, 0xfc, 0x3c, 0xc4, 0xc4, 0x12, 0x39, 0x39, 0x31, 0x0, 0x2f, 0xe4, 0x32, 0xfc, 0xec, 0x10, 0xee, 0x32, 0x12, 0x39, 0x39, 0x30, 0x1, 0xb6, 0x40, 0x15, 0x50, 0x15, 0xa0, 0x15, 0x3, 0x5d, 0x1, 0x15, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x36, 0x33, 0x2, 0xf8, 0xb0, 0x63, 0x4d, 0x1, 0x2f, 0xfe, 0xd1, 0xb9, 0xb0, 0xb0, 0xae, 0xbd, 0x6, 0x14, 0x99, 0x50, 0x68, 0x63, 0x8f, 0xfc, 0x2f, 0x3, 0xd1, 0x8f, 0x4e, 0xbb, 0xab, 0x0, 0x2, 0x0, 0x71, 0xfe, 0x56, 0x4, 0x5a, 0x4, 0x7b, 0x0, 0xb, 0x0, 0x28, 0x0, 0x4a, 0x40, 0x23, 0x19, 0xc, 0x1d, 0x9, 0x12, 0x86, 0x13, 0x16, 0xb9, 0xf, 0x3, 0xb9, 0x26, 0x23, 0xb8, 0x27, 0xbc, 0x9, 0xb9, 0xf, 0xbd, 0x1a, 0x1d, 0x26, 0x19, 0x0, 0x8, 0xc, 0x47, 0x6, 0x12, 0x12, 0x20, 0x45, 0x29, 0x10, 0xfc, 0xc4, 0xec, 0xf4, 0xec, 0x32, 0x32, 0x31, 0x0, 0x2f, 0xc4, 0xe4, 0xec, 0xe4, 0xf4, 0xc4, 0xec, 0x10, 0xfe, 0xd5, 0xee, 0x11, 0x12, 0x39, 0x39, 0x30, 0xb6, 0x60, 0x2a, 0x80, 0x2a, 0xa0, 0x2a, 0x3, 0x1, 0x5d, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x17, 0x10, 0x2, 0x21, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x3d, 0x1, 0xe, 0x1, 0x23, 0x22, 0x2, 0x11, 0x10, 0x12, 0x33, 0x32, 0x16, 0x17, 0x35, 0x33, 0x3, 0xa2, 0xa5, 0x95, 0x94, 0xa5, 0xa5, 0x94, 0x95, 0xa5, 0xb8, 0xfe, 0xfe, 0xfa, 0x61, 0xac, 0x51, 0x51, 0x9e, 0x52, 0xb5, 0xb4, 0x39, 0xb2, 0x7c, 0xce, 0xfc, 0xfc, 0xce, 0x7c, 0xb2, 0x39, 0xb8, 0x2, 0x3d, 0xc8, 0xdc, 0xdc, 0xc8, 0xc7, 0xdc, 0xdc, 0xeb, 0xfe, 0xe2, 0xfe, 0xe9, 0x1d, 0x1e, 0xb3, 0x2c, 0x2a, 0xbd, 0xbf, 0x5b, 0x63, 0x62, 0x1, 0x3a, 0x1, 0x3, 0x1, 0x4, 0x1, 0x3a, 0x62, 0x63, 0xaa, 0x0, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x4, 0x64, 0x6, 0x14, 0x0, 0x13, 0x0, 0x34, 0x40, 0x19, 0x3, 0x9, 0x0, 0x3, 0xe, 0x1, 0x6, 0x87, 0xe, 0x11, 0xb8, 0xc, 0x97, 0xa, 0x1, 0x2, 0x8, 0x0, 0x4e, 0xd, 0x9, 0x8, 0xb, 0x46, 0x14, 0x10, 0xfc, 0xec, 0x32, 0xf4, 0xec, 0x31, 0x0, 0x2f, 0x3c, 0xec, 0xf4, 0xc4, 0xec, 0x11, 0x12, 0x17, 0x39, 0x30, 0xb2, 0x60, 0x15, 0x1, 0x1, 0x5d, 0x1, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x11, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x4, 0x64, 0xb8, 0x7c, 0x7c, 0x95, 0xac, 0xb9, 0xb9, 0x42, 0xb3, 0x75, 0xc1, 0xc6, 0x2, 0xa4, 0xfd, 0x5c, 0x2, 0x9e, 0x9f, 0x9e, 0xbe, 0xa4, 0xfd, 0x87, 0x6, 0x14, 0xfd, 0x9e, 0x65, 0x64, 0xef, 0x0, 0x0, 0x2, 0x0, 0xc1, 0x0, 0x0, 0x1, 0x79, 0x6, 0x14, 0x0, 0x3, 0x0, 0x7, 0x0, 0x2b, 0x40, 0xe, 0x6, 0xbe, 0x4, 0xb1, 0x0, 0xbc, 0x2, 0x5, 0x1, 0x8, 0x4, 0x0, 0x46, 0x8, 0x10, 0xfc, 0x3c, 0xec, 0x32, 0x31, 0x0, 0x2f, 0xe4, 0xfc, 0xec, 0x30, 0x40, 0xb, 0x10, 0x9, 0x40, 0x9, 0x50, 0x9, 0x60, 0x9, 0x70, 0x9, 0x5, 0x1, 0x5d, 0x13, 0x33, 0x11, 0x23, 0x11, 0x33, 0x15, 0x23, 0xc1, 0xb8, 0xb8, 0xb8, 0xb8, 0x4, 0x60, 0xfb, 0xa0, 0x6, 0x14, 0xe9, 0x0, 0x0, 0x2, 0xff, 0xdb, 0xfe, 0x56, 0x1, 0x79, 0x6, 0x14, 0x0, 0xb, 0x0, 0xf, 0x0, 0x44, 0x40, 0x1c, 0xb, 0x2, 0x7, 0x0, 0xe, 0xbe, 0xc, 0x7, 0x87, 0x5, 0xbd, 0x0, 0xbc, 0xc, 0xb1, 0x10, 0x8, 0x10, 0x5, 0x6, 0x4f, 0xd, 0x1, 0x8, 0xc, 0x0, 0x46, 0x10, 0x10, 0xfc, 0x3c, 0xec, 0x32, 0xe4, 0x39, 0x12, 0x39, 0x31, 0x0, 0x10, 0xec, 0xe4, 0xf4, 0xec, 0x10, 0xee, 0x11, 0x12, 0x39, 0x39, 0x30, 0x40, 0xb, 0x10, 0x11, 0x40, 0x11, 0x50, 0x11, 0x60, 0x11, 0x70, 0x11, 0x5, 0x1, 0x5d, 0x13, 0x33, 0x11, 0x14, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x15, 0x23, 0xc1, 0xb8, 0xa3, 0xb5, 0x46, 0x31, 0x69, 0x4c, 0xb8, 0xb8, 0x4, 0x60, 0xfb, 0x8c, 0xd6, 0xc0, 0x9c, 0x61, 0x99, 0x6, 0x28, 0xe9, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x4, 0x9c, 0x6, 0x14, 0x0, 0xa, 0x0, 0xbc, 0x40, 0x29, 0x8, 0x11, 0x5, 0x6, 0x5, 0x7, 0x11, 0x6, 0x6, 0x5, 0x3, 0x11, 0x4, 0x5, 0x4, 0x2, 0x11, 0x5, 0x5, 0x4, 0x42, 0x8, 0x5, 0x2, 0x3, 0x3, 0xbc, 0x0, 0x97, 0x9, 0x6, 0x5, 0x1, 0x4, 0x6, 0x8, 0x1, 0x8, 0x0, 0x46, 0xb, 0x10, 0xfc, 0xec, 0x32, 0xd4, 0xc4, 0x11, 0x39, 0x31, 0x0, 0x2f, 0x3c, 0xec, 0xe4, 0x17, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x4, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x4, 0xed, 0x59, 0x22, 0xb2, 0x10, 0xc, 0x1, 0x1, 0x5d, 0x40, 0x5f, 0x4, 0x2, 0xa, 0x8, 0x16, 0x2, 0x27, 0x2, 0x29, 0x5, 0x2b, 0x8, 0x56, 0x2, 0x66, 0x2, 0x67, 0x8, 0x73, 0x2, 0x77, 0x5, 0x82, 0x2, 0x89, 0x5, 0x8e, 0x8, 0x93, 0x2, 0x96, 0x5, 0x97, 0x8, 0xa3, 0x2, 0x12, 0x9, 0x5, 0x9, 0x6, 0x2, 0xb, 0x3, 0xa, 0x7, 0x28, 0x3, 0x27, 0x4, 0x28, 0x5, 0x2b, 0x6, 0x2b, 0x7, 0x40, 0xc, 0x68, 0x3, 0x60, 0xc, 0x89, 0x3, 0x85, 0x4, 0x89, 0x5, 0x8d, 0x6, 0x8f, 0x7, 0x9a, 0x3, 0x97, 0x7, 0xaa, 0x3, 0xa7, 0x5, 0xb6, 0x7, 0xc5, 0x7, 0xd6, 0x7, 0xf7, 0x3, 0xf0, 0x3, 0xf7, 0x4, 0xf0, 0x4, 0x1a, 0x5d, 0x71, 0x0, 0x5d, 0x13, 0x33, 0x11, 0x1, 0x33, 0x9, 0x1, 0x23, 0x1, 0x11, 0x23, 0xba, 0xb9, 0x2, 0x25, 0xeb, 0xfd, 0xae, 0x2, 0x6b, 0xf0, 0xfd, 0xc7, 0xb9, 0x6, 0x14, 0xfc, 0x69, 0x1, 0xe3, 0xfd, 0xf4, 0xfd, 0xac, 0x2, 0x23, 0xfd, 0xdd, 0x0, 0x1, 0x0, 0xc1, 0x0, 0x0, 0x1, 0x79, 0x6, 0x14, 0x0, 0x3, 0x0, 0x22, 0xb7, 0x0, 0x97, 0x2, 0x1, 0x8, 0x0, 0x46, 0x4, 0x10, 0xfc, 0xec, 0x31, 0x0, 0x2f, 0xec, 0x30, 0x40, 0xd, 0x10, 0x5, 0x40, 0x5, 0x50, 0x5, 0x60, 0x5, 0x70, 0x5, 0xf0, 0x5, 0x6, 0x1, 0x5d, 0x13, 0x33, 0x11, 0x23, 0xc1, 0xb8, 0xb8, 0x6, 0x14, 0xf9, 0xec, 0x0, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x7, 0x1d, 0x4, 0x7b, 0x0, 0x22, 0x0, 0x5a, 0x40, 0x26, 0x6, 0x12, 0x9, 0x18, 0xf, 0x0, 0x6, 0x1d, 0x7, 0x15, 0xc, 0x87, 0x1d, 0x20, 0x3, 0xb8, 0x1b, 0xbc, 0x19, 0x10, 0x7, 0x0, 0x11, 0xf, 0x8, 0x8, 0x6, 0x50, 0x11, 0x8, 0xf, 0x50, 0x1c, 0x18, 0x8, 0x1a, 0x46, 0x23, 0x10, 0xfc, 0xec, 0x32, 0xfc, 0xfc, 0xfc, 0xec, 0x11, 0x12, 0x39, 0x31, 0x0, 0x2f, 0x3c, 0x3c, 0xe4, 0xf4, 0x3c, 0xc4, 0xec, 0x32, 0x11, 0x12, 0x17, 0x39, 0x30, 0x40, 0x13, 0x30, 0x24, 0x50, 0x24, 0x70, 0x24, 0x90, 0x24, 0xa0, 0x24, 0xa0, 0x24, 0xbf, 0x24, 0xdf, 0x24, 0xff, 0x24, 0x9, 0x1, 0x5d, 0x1, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x4, 0x29, 0x45, 0xc0, 0x82, 0xaf, 0xbe, 0xb9, 0x72, 0x75, 0x8f, 0xa6, 0xb9, 0x72, 0x77, 0x8d, 0xa6, 0xb9, 0xb9, 0x3f, 0xb0, 0x79, 0x7a, 0xab, 0x3, 0x89, 0x7c, 0x76, 0xf5, 0xe2, 0xfd, 0x5c, 0x2, 0x9e, 0xa1, 0x9c, 0xbe, 0xa4, 0xfd, 0x87, 0x2, 0x9e, 0xa2, 0x9b, 0xbf, 0xa3, 0xfd, 0x87, 0x4, 0x60, 0xae, 0x67, 0x62, 0x7c, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x4, 0x64, 0x4, 0x7b, 0x0, 0x13, 0x0, 0x36, 0x40, 0x19, 0x3, 0x9, 0x0, 0x3, 0xe, 0x1, 0x6, 0x87, 0xe, 0x11, 0xb8, 0xc, 0xbc, 0xa, 0x1, 0x2, 0x8, 0x0, 0x4e, 0xd, 0x9, 0x8, 0xb, 0x46, 0x14, 0x10, 0xfc, 0xec, 0x32, 0xf4, 0xec, 0x31, 0x0, 0x2f, 0x3c, 0xe4, 0xf4, 0xc4, 0xec, 0x11, 0x12, 0x17, 0x39, 0x30, 0xb4, 0x60, 0x15, 0xcf, 0x15, 0x2, 0x1, 0x5d, 0x1, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x4, 0x64, 0xb8, 0x7c, 0x7c, 0x95, 0xac, 0xb9, 0xb9, 0x42, 0xb3, 0x75, 0xc1, 0xc6, 0x2, 0xa4, 0xfd, 0x5c, 0x2, 0x9e, 0x9f, 0x9e, 0xbe, 0xa4, 0xfd, 0x87, 0x4, 0x60, 0xae, 0x65, 0x64, 0xef, 0x0, 0x2, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x4, 0x7b, 0x0, 0xb, 0x0, 0x17, 0x0, 0x4a, 0x40, 0x13, 0x6, 0xb9, 0x12, 0x0, 0xb9, 0xc, 0xb8, 0x12, 0x8c, 0x18, 0x9, 0x12, 0xf, 0x51, 0x3, 0x12, 0x15, 0x45, 0x18, 0x10, 0xfc, 0xec, 0xf4, 0xec, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xec, 0x10, 0xee, 0x30, 0x40, 0x23, 0x3f, 0x19, 0x7b, 0x0, 0x7b, 0x6, 0x7f, 0x7, 0x7f, 0x8, 0x7f, 0x9, 0x7f, 0xa, 0x7f, 0xb, 0x7b, 0xc, 0x7f, 0xd, 0x7f, 0xe, 0x7f, 0xf, 0x7f, 0x10, 0x7f, 0x11, 0x7b, 0x12, 0xa0, 0x19, 0xf0, 0x19, 0x11, 0x1, 0x5d, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x32, 0x0, 0x11, 0x10, 0x0, 0x23, 0x22, 0x0, 0x11, 0x10, 0x0, 0x2, 0x73, 0x94, 0xac, 0xab, 0x95, 0x93, 0xac, 0xac, 0x93, 0xf0, 0x1, 0x12, 0xfe, 0xee, 0xf0, 0xf1, 0xfe, 0xef, 0x1, 0x11, 0x3, 0xdf, 0xe7, 0xc9, 0xc9, 0xe7, 0xe8, 0xc8, 0xc7, 0xe9, 0x9c, 0xfe, 0xc8, 0xfe, 0xec, 0xfe, 0xed, 0xfe, 0xc7, 0x1, 0x39, 0x1, 0x13, 0x1, 0x14, 0x1, 0x38, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0xfe, 0x56, 0x4, 0xa4, 0x4, 0x7b, 0x0, 0x10, 0x0, 0x1c, 0x0, 0x3e, 0x40, 0x1b, 0x1a, 0xb9, 0x0, 0xe, 0x14, 0xb9, 0x5, 0x8, 0xb8, 0xe, 0x8c, 0x1, 0xbd, 0x3, 0xbc, 0x1d, 0x11, 0x12, 0xb, 0x47, 0x17, 0x4, 0x0, 0x8, 0x2, 0x46, 0x1d, 0x10, 0xfc, 0xec, 0x32, 0x32, 0xf4, 0xec, 0x31, 0x0, 0x10, 0xe4, 0xe4, 0xe4, 0xf4, 0xc4, 0xec, 0x10, 0xc4, 0xee, 0x30, 0x40, 0x9, 0x60, 0x1e, 0x80, 0x1e, 0xa0, 0x1e, 0xe0, 0x1e, 0x4, 0x1, 0x5d, 0x25, 0x11, 0x23, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x0, 0x11, 0x10, 0x2, 0x23, 0x22, 0x26, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x1, 0x73, 0xb9, 0xb9, 0x3a, 0xb1, 0x7b, 0xcc, 0x0, 0xff, 0xff, 0xcc, 0x7b, 0xb1, 0x2, 0x38, 0xa7, 0x92, 0x92, 0xa7, 0xa7, 0x92, 0x92, 0xa7, 0xa8, 0xfd, 0xae, 0x6, 0xa, 0xaa, 0x64, 0x61, 0xfe, 0xbc, 0xfe, 0xf8, 0xfe, 0xf8, 0xfe, 0xbc, 0x61, 0x1, 0xeb, 0xcb, 0xe7, 0xe7, 0xcb, 0xcb, 0xe7, 0xe7, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0xfe, 0x56, 0x4, 0x5a, 0x4, 0x7b, 0x0, 0xb, 0x0, 0x1c, 0x0, 0x3e, 0x40, 0x1b, 0x3, 0xb9, 0xc, 0xf, 0x9, 0xb9, 0x18, 0x15, 0xb8, 0xf, 0x8c, 0x1b, 0xbd, 0x19, 0xbc, 0x1d, 0x18, 0xc, 0x6, 0x8, 0x1a, 0x47, 0x0, 0x12, 0x12, 0x45, 0x1d, 0x10, 0xfc, 0xec, 0xf4, 0xec, 0x32, 0x32, 0x31, 0x0, 0x10, 0xe4, 0xe4, 0xe4, 0xf4, 0xc4, 0xec, 0x10, 0xc6, 0xee, 0x30, 0x40, 0x9, 0x60, 0x1e, 0x80, 0x1e, 0xa0, 0x1e, 0xe0, 0x1e, 0x4, 0x1, 0x5d, 0x1, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x1, 0xe, 0x1, 0x23, 0x22, 0x2, 0x11, 0x10, 0x0, 0x33, 0x32, 0x16, 0x17, 0x35, 0x33, 0x11, 0x23, 0x1, 0x2f, 0xa7, 0x92, 0x92, 0xa8, 0xa8, 0x92, 0x92, 0xa7, 0x2, 0x73, 0x3a, 0xb1, 0x7c, 0xcb, 0xff, 0x0, 0xff, 0xcb, 0x7c, 0xb1, 0x3a, 0xb8, 0xb8, 0x2, 0x2f, 0xcb, 0xe7, 0xe7, 0xcb, 0xcb, 0xe7, 0xe7, 0xfd, 0xae, 0x64, 0x61, 0x1, 0x44, 0x1, 0x8, 0x1, 0x8, 0x1, 0x44, 0x61, 0x64, 0xaa, 0xf9, 0xf6, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x3, 0x4a, 0x4, 0x7b, 0x0, 0x11, 0x0, 0x30, 0x40, 0x14, 0x6, 0xb, 0x7, 0x0, 0x11, 0xb, 0x3, 0x87, 0xe, 0xb8, 0x9, 0xbc, 0x7, 0xa, 0x6, 0x8, 0x0, 0x8, 0x46, 0x12, 0x10, 0xfc, 0xc4, 0xec, 0x32, 0x31, 0x0, 0x2f, 0xe4, 0xf4, 0xec, 0xc4, 0xd4, 0xcc, 0x11, 0x12, 0x39, 0x30, 0xb4, 0x50, 0x13, 0x9f, 0x13, 0x2, 0x1, 0x5d, 0x1, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x17, 0x3, 0x4a, 0x1f, 0x49, 0x2c, 0x9c, 0xa7, 0xb9, 0xb9, 0x3a, 0xba, 0x85, 0x13, 0x2e, 0x1c, 0x3, 0xb4, 0x12, 0x11, 0xcb, 0xbe, 0xfd, 0xb2, 0x4, 0x60, 0xae, 0x66, 0x63, 0x5, 0x5, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6f, 0xff, 0xe3, 0x3, 0xc7, 0x4, 0x7b, 0x0, 0x27, 0x0, 0xe7, 0x40, 0x3c, 0xd, 0xc, 0x2, 0xe, 0xb, 0x53, 0x1f, 0x1e, 0x8, 0x9, 0x2, 0x7, 0xa, 0x53, 0x1f, 0x1f, 0x1e, 0x42, 0xa, 0xb, 0x1e, 0x1f, 0x4, 0x15, 0x0, 0x86, 0x1, 0x89, 0x4, 0x14, 0x86, 0x15, 0x89, 0x18, 0xb9, 0x11, 0x4, 0xb9, 0x25, 0xb8, 0x11, 0x8c, 0x28, 0x1e, 0xa, 0xb, 0x1f, 0x1b, 0x7, 0x0, 0x52, 0x1b, 0x8, 0xe, 0x7, 0x8, 0x14, 0x22, 0x45, 0x28, 0x10, 0xfc, 0xc4, 0xec, 0xd4, 0xec, 0xe4, 0x11, 0x12, 0x39, 0x39, 0x39, 0x39, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xec, 0x10, 0xfe, 0xf5, 0xee, 0x10, 0xf5, 0xee, 0x12, 0x17, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0xe, 0xed, 0x11, 0x17, 0x39, 0x7, 0xe, 0xed, 0x11, 0x17, 0x39, 0x59, 0x22, 0xb2, 0x0, 0x27, 0x1, 0x1, 0x5d, 0x40, 0x6d, 0x1c, 0xa, 0x1c, 0xb, 0x1c, 0xc, 0x2e, 0x9, 0x2c, 0xa, 0x2c, 0xb, 0x2c, 0xc, 0x3b, 0x9, 0x3b, 0xa, 0x3b, 0xb, 0x3b, 0xc, 0xb, 0x20, 0x0, 0x20, 0x1, 0x24, 0x2, 0x28, 0xa, 0x28, 0xb, 0x2a, 0x13, 0x2f, 0x14, 0x2f, 0x15, 0x2a, 0x16, 0x28, 0x1e, 0x28, 0x1f, 0x29, 0x20, 0x29, 0x21, 0x24, 0x27, 0x86, 0xa, 0x86, 0xb, 0x86, 0xc, 0x86, 0xd, 0x12, 0x0, 0x0, 0x0, 0x1, 0x2, 0x2, 0x6, 0xa, 0x6, 0xb, 0x3, 0xc, 0x3, 0xd, 0x3, 0xe, 0x3, 0xf, 0x3, 0x10, 0x3, 0x19, 0x3, 0x1a, 0x3, 0x1b, 0x3, 0x1c, 0x4, 0x1d, 0x9, 0x27, 0x2f, 0x29, 0x3f, 0x29, 0x5f, 0x29, 0x7f, 0x29, 0x80, 0x29, 0x90, 0x29, 0xa0, 0x29, 0xf0, 0x29, 0x18, 0x5d, 0x0, 0x5d, 0x71, 0x1, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1f, 0x1, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2f, 0x1, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x3, 0x8b, 0x4e, 0xa8, 0x5a, 0x89, 0x89, 0x62, 0x94, 0x3f, 0xc4, 0xa5, 0xf7, 0xd8, 0x5a, 0xc3, 0x6c, 0x66, 0xc6, 0x61, 0x82, 0x8c, 0x65, 0xab, 0x40, 0xab, 0x98, 0xe0, 0xce, 0x66, 0xb4, 0x4, 0x3f, 0xae, 0x28, 0x28, 0x54, 0x54, 0x40, 0x49, 0x21, 0xe, 0x2a, 0x99, 0x89, 0x9c, 0xb6, 0x23, 0x23, 0xbe, 0x35, 0x35, 0x59, 0x51, 0x4b, 0x50, 0x25, 0xf, 0x24, 0x95, 0x82, 0x9e, 0xac, 0x1e, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x37, 0x0, 0x0, 0x2, 0xf2, 0x5, 0x9e, 0x0, 0x13, 0x0, 0x38, 0x40, 0x19, 0xe, 0x5, 0x8, 0xf, 0x3, 0xa9, 0x0, 0x11, 0x1, 0xbc, 0x8, 0x87, 0xa, 0xb, 0x8, 0x9, 0x2, 0x4, 0x0, 0x8, 0x10, 0x12, 0xe, 0x46, 0x14, 0x10, 0xfc, 0x3c, 0xc4, 0xfc, 0x3c, 0xc4, 0x32, 0x39, 0x39, 0x31, 0x0, 0x2f, 0xec, 0xf4, 0x3c, 0xc4, 0xec, 0x32, 0x11, 0x39, 0x39, 0x30, 0xb2, 0xaf, 0x15, 0x1, 0x1, 0x5d, 0x1, 0x11, 0x21, 0x15, 0x21, 0x11, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x11, 0x1, 0x77, 0x1, 0x7b, 0xfe, 0x85, 0x4b, 0x73, 0xbd, 0xbd, 0xd5, 0xa2, 0x87, 0x87, 0x5, 0x9e, 0xfe, 0xc2, 0x8f, 0xfd, 0xa0, 0x89, 0x4e, 0x9a, 0x9f, 0xd2, 0x2, 0x60, 0x8f, 0x1, 0x3e, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xae, 0xff, 0xe3, 0x4, 0x58, 0x4, 0x7b, 0x0, 0x13, 0x0, 0x14, 0x0, 0x3b, 0x40, 0x1c, 0x3, 0x9, 0x0, 0x3, 0xe, 0x1, 0x6, 0x87, 0xe, 0x11, 0x8c, 0xa, 0x1, 0xbc, 0x14, 0xb8, 0xc, 0xd, 0x9, 0x8, 0x14, 0xb, 0x4e, 0x2, 0x8, 0x0, 0x46, 0x15, 0x10, 0xfc, 0xec, 0xf4, 0x39, 0xec, 0x32, 0x31, 0x0, 0x2f, 0xe4, 0xe4, 0x32, 0xf4, 0xc4, 0xec, 0x11, 0x12, 0x17, 0x39, 0x30, 0xb4, 0x6f, 0x15, 0xc0, 0x15, 0x2, 0x1, 0x5d, 0x13, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x26, 0x1, 0xae, 0xb8, 0x7c, 0x7c, 0x95, 0xad, 0xb8, 0xb8, 0x43, 0xb1, 0x75, 0xc1, 0xc8, 0x1, 0xcf, 0x1, 0xba, 0x2, 0xa6, 0xfd, 0x61, 0x9f, 0x9f, 0xbe, 0xa4, 0x2, 0x7b, 0xfb, 0xa0, 0xac, 0x66, 0x63, 0xf0, 0x3, 0xa8, 0x0, 0x0, 0x1, 0x0, 0x3d, 0x0, 0x0, 0x4, 0x7f, 0x4, 0x60, 0x0, 0x6, 0x0, 0xfb, 0x40, 0x27, 0x3, 0x11, 0x4, 0x5, 0x4, 0x2, 0x11, 0x1, 0x2, 0x5, 0x5, 0x4, 0x2, 0x11, 0x3, 0x2, 0x6, 0x0, 0x6, 0x1, 0x11, 0x0, 0x0, 0x6, 0x42, 0x2, 0x3, 0x0, 0xbf, 0x5, 0x6, 0x5, 0x3, 0x2, 0x1, 0x5, 0x4, 0x0, 0x7, 0x10, 0xd4, 0x4b, 0xb0, 0xa, 0x54, 0x58, 0xb9, 0x0, 0x0, 0x0, 0x40, 0x38, 0x59, 0x4b, 0xb0, 0x14, 0x54, 0x4b, 0xb0, 0x15, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0x0, 0xff, 0xc0, 0x38, 0x59, 0xc4, 0x17, 0x39, 0x31, 0x0, 0x2f, 0xec, 0x32, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x5, 0xed, 0x59, 0x22, 0x1, 0x40, 0x8e, 0x48, 0x2, 0x6a, 0x2, 0x7b, 0x2, 0x7f, 0x2, 0x86, 0x2, 0x80, 0x2, 0x91, 0x2, 0xa4, 0x2, 0x8, 0x6, 0x0, 0x6, 0x1, 0x9, 0x3, 0x9, 0x4, 0x15, 0x0, 0x15, 0x1, 0x1a, 0x3, 0x1a, 0x4, 0x26, 0x0, 0x26, 0x1, 0x29, 0x3, 0x29, 0x4, 0x20, 0x8, 0x35, 0x0, 0x35, 0x1, 0x3a, 0x3, 0x3a, 0x4, 0x30, 0x8, 0x46, 0x0, 0x46, 0x1, 0x49, 0x3, 0x49, 0x4, 0x46, 0x5, 0x48, 0x6, 0x40, 0x8, 0x56, 0x0, 0x56, 0x1, 0x59, 0x3, 0x59, 0x4, 0x50, 0x8, 0x66, 0x0, 0x66, 0x1, 0x69, 0x3, 0x69, 0x4, 0x67, 0x5, 0x68, 0x6, 0x60, 0x8, 0x75, 0x0, 0x74, 0x1, 0x7b, 0x3, 0x7b, 0x4, 0x75, 0x5, 0x7a, 0x6, 0x85, 0x0, 0x85, 0x1, 0x89, 0x3, 0x89, 0x4, 0x89, 0x5, 0x86, 0x6, 0x96, 0x0, 0x96, 0x1, 0x97, 0x2, 0x9a, 0x3, 0x98, 0x4, 0x98, 0x5, 0x97, 0x6, 0xa8, 0x5, 0xa7, 0x6, 0xb0, 0x8, 0xc0, 0x8, 0xdf, 0x8, 0xff, 0x8, 0x3e, 0x5d, 0x0, 0x5d, 0x13, 0x33, 0x9, 0x1, 0x33, 0x1, 0x23, 0x3d, 0xc3, 0x1, 0x5e, 0x1, 0x5e, 0xc3, 0xfe, 0x5c, 0xfa, 0x4, 0x60, 0xfc, 0x54, 0x3, 0xac, 0xfb, 0xa0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x56, 0x0, 0x0, 0x6, 0x35, 0x4, 0x60, 0x0, 0xc, 0x1, 0xeb, 0x40, 0x49, 0x5, 0x55, 0x6, 0x5, 0x9, 0xa, 0x9, 0x4, 0x55, 0xa, 0x9, 0x3, 0x55, 0xa, 0xb, 0xa, 0x2, 0x55, 0x1, 0x2, 0xb, 0xb, 0xa, 0x6, 0x11, 0x7, 0x8, 0x7, 0x5, 0x11, 0x4, 0x5, 0x8, 0x8, 0x7, 0x2, 0x11, 0x3, 0x2, 0xc, 0x0, 0xc, 0x1, 0x11, 0x0, 0x0, 0xc, 0x42, 0xa, 0x5, 0x2, 0x3, 0x6, 0x3, 0x0, 0xbf, 0xb, 0x8, 0xc, 0xb, 0xa, 0x9, 0x8, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1, 0xb, 0x7, 0x0, 0xd, 0x10, 0xd4, 0x4b, 0xb0, 0xa, 0x54, 0x4b, 0xb0, 0x11, 0x54, 0x5b, 0x4b, 0xb0, 0x12, 0x54, 0x5b, 0x4b, 0xb0, 0x13, 0x54, 0x5b, 0x4b, 0xb0, 0xb, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0x0, 0x0, 0x40, 0x38, 0x59, 0x1, 0x4b, 0xb0, 0xc, 0x54, 0x4b, 0xb0, 0xd, 0x54, 0x5b, 0x4b, 0xb0, 0x10, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0x0, 0xff, 0xc0, 0x38, 0x59, 0xcc, 0x17, 0x39, 0x31, 0x0, 0x2f, 0x3c, 0xec, 0x32, 0x32, 0x17, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x59, 0x22, 0x1, 0x40, 0xff, 0x5, 0x2, 0x16, 0x2, 0x16, 0x5, 0x22, 0xa, 0x35, 0xa, 0x49, 0x2, 0x49, 0x5, 0x46, 0xa, 0x40, 0xa, 0x5b, 0x2, 0x5b, 0x5, 0x55, 0xa, 0x50, 0xa, 0x6e, 0x2, 0x6e, 0x5, 0x66, 0xa, 0x79, 0x2, 0x7f, 0x2, 0x79, 0x5, 0x7f, 0x5, 0x87, 0x2, 0x99, 0x2, 0x98, 0x5, 0x94, 0xa, 0xbc, 0x2, 0xbc, 0x5, 0xce, 0x2, 0xc7, 0x3, 0xcf, 0x5, 0x1d, 0x5, 0x2, 0x9, 0x3, 0x6, 0x4, 0xb, 0x5, 0xa, 0x8, 0xb, 0x9, 0x4, 0xb, 0x5, 0xc, 0x15, 0x2, 0x19, 0x3, 0x16, 0x4, 0x1a, 0x5, 0x1b, 0x8, 0x1b, 0x9, 0x14, 0xb, 0x15, 0xc, 0x25, 0x0, 0x25, 0x1, 0x23, 0x2, 0x27, 0x3, 0x21, 0x4, 0x25, 0x5, 0x22, 0x6, 0x22, 0x7, 0x25, 0x8, 0x27, 0x9, 0x24, 0xa, 0x21, 0xb, 0x23, 0xc, 0x39, 0x3, 0x36, 0x4, 0x36, 0x8, 0x39, 0xc, 0x30, 0xe, 0x46, 0x2, 0x48, 0x3, 0x46, 0x4, 0x40, 0x4, 0x42, 0x5, 0x40, 0x6, 0x40, 0x7, 0x40, 0x8, 0x44, 0x9, 0x44, 0xa, 0x44, 0xb, 0x40, 0xe, 0x40, 0xe, 0x56, 0x0, 0x56, 0x1, 0x56, 0x2, 0x50, 0x4, 0x51, 0x5, 0x52, 0x6, 0x52, 0x7, 0x50, 0x8, 0x53, 0x9, 0x54, 0xa, 0x55, 0xb, 0x63, 0x0, 0x64, 0x1, 0x65, 0x2, 0x6a, 0x3, 0x65, 0x4, 0x6a, 0x5, 0x6a, 0x6, 0x6a, 0x7, 0x6e, 0x9, 0x61, 0xb, 0x67, 0xc, 0x6f, 0xe, 0x75, 0x0, 0x75, 0x1, 0x79, 0x2, 0x7d, 0x3, 0x78, 0x4, 0x7d, 0x5, 0x7a, 0x6, 0x7f, 0x6, 0x7a, 0x7, 0x7f, 0x7, 0x78, 0x8, 0x79, 0x9, 0x7f, 0x9, 0x7b, 0xa, 0x76, 0xb, 0x7d, 0xc, 0x87, 0x2, 0x88, 0x5, 0x8f, 0xe, 0x97, 0x0, 0x97, 0x1, 0x94, 0x2, 0x93, 0x3, 0x9c, 0x4, 0x9b, 0x5, 0x98, 0x6, 0x98, 0x7, 0x99, 0x8, 0x40, 0x2f, 0x96, 0xc, 0x9f, 0xe, 0xa6, 0x0, 0xa6, 0x1, 0xa4, 0x2, 0xa4, 0x3, 0xab, 0x4, 0xab, 0x5, 0xa9, 0x6, 0xa9, 0x7, 0xab, 0x8, 0xa4, 0xc, 0xaf, 0xe, 0xb5, 0x2, 0xb1, 0x3, 0xbd, 0x4, 0xbb, 0x5, 0xb8, 0x9, 0xbf, 0xe, 0xc4, 0x2, 0xc3, 0x3, 0xcc, 0x4, 0xca, 0x5, 0x79, 0x5d, 0x0, 0x5d, 0x13, 0x33, 0x1b, 0x1, 0x33, 0x1b, 0x1, 0x33, 0x1, 0x23, 0xb, 0x1, 0x23, 0x56, 0xb8, 0xe6, 0xe5, 0xd9, 0xe6, 0xe5, 0xb8, 0xfe, 0xdb, 0xd9, 0xf1, 0xf2, 0xd9, 0x4, 0x60, 0xfc, 0x96, 0x3, 0x6a, 0xfc, 0x96, 0x3, 0x6a, 0xfb, 0xa0, 0x3, 0x96, 0xfc, 0x6a, 0x0, 0x1, 0x0, 0x3b, 0x0, 0x0, 0x4, 0x79, 0x4, 0x60, 0x0, 0xb, 0x1, 0x43, 0x40, 0x46, 0x5, 0x11, 0x6, 0x7, 0x6, 0x4, 0x11, 0x3, 0x4, 0x7, 0x7, 0x6, 0x4, 0x11, 0x5, 0x4, 0x1, 0x2, 0x1, 0x3, 0x11, 0x2, 0x2, 0x1, 0xb, 0x11, 0x0, 0x1, 0x0, 0xa, 0x11, 0x9, 0xa, 0x1, 0x1, 0x0, 0xa, 0x11, 0xb, 0xa, 0x7, 0x8, 0x7, 0x9, 0x11, 0x8, 0x8, 0x7, 0x42, 0xa, 0x7, 0x4, 0x1, 0x4, 0x8, 0x0, 0xbf, 0x5, 0x2, 0xa, 0x7, 0x4, 0x1, 0x4, 0x8, 0x0, 0x2, 0x8, 0x6, 0xc, 0x10, 0xd4, 0x4b, 0xb0, 0xa, 0x54, 0x4b, 0xb0, 0xf, 0x54, 0x5b, 0x4b, 0xb0, 0x10, 0x54, 0x5b, 0x4b, 0xb0, 0x11, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0x6, 0x0, 0x40, 0x38, 0x59, 0x4b, 0xb0, 0x14, 0x54, 0x58, 0xb9, 0x0, 0x6, 0xff, 0xc0, 0x38, 0x59, 0xc4, 0xd4, 0xc4, 0x11, 0x17, 0x39, 0x31, 0x0, 0x2f, 0x3c, 0xec, 0x32, 0x17, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x5, 0xed, 0x59, 0x22, 0x1, 0x40, 0x98, 0xa, 0x4, 0x4, 0xa, 0x1a, 0x4, 0x15, 0xa, 0x26, 0xa, 0x3d, 0x4, 0x31, 0xa, 0x55, 0x4, 0x57, 0x7, 0x58, 0xa, 0x66, 0xa, 0x76, 0x1, 0x7a, 0x4, 0x76, 0x7, 0x74, 0xa, 0x8d, 0x4, 0x82, 0xa, 0x99, 0x4, 0x9f, 0x4, 0x97, 0x7, 0x92, 0xa, 0x90, 0xa, 0xa6, 0x1, 0xa9, 0x4, 0xaf, 0x4, 0xa5, 0x7, 0xa3, 0xa, 0xa0, 0xa, 0x1c, 0xa, 0x3, 0x4, 0x5, 0x5, 0x9, 0xa, 0xb, 0x1a, 0x3, 0x15, 0x5, 0x15, 0x9, 0x1a, 0xb, 0x29, 0x3, 0x26, 0x5, 0x25, 0x9, 0x2a, 0xb, 0x20, 0xd, 0x3a, 0x1, 0x39, 0x3, 0x37, 0x5, 0x34, 0x7, 0x36, 0x9, 0x39, 0xb, 0x30, 0xd, 0x49, 0x3, 0x46, 0x5, 0x45, 0x9, 0x4a, 0xb, 0x40, 0xd, 0x59, 0x0, 0x56, 0x1, 0x59, 0x2, 0x59, 0x3, 0x57, 0x5, 0x56, 0x6, 0x59, 0x7, 0x56, 0x8, 0x56, 0x9, 0x59, 0xb, 0x50, 0xd, 0x6f, 0xd, 0x78, 0x1, 0x7f, 0xd, 0x9b, 0x1, 0x94, 0x7, 0xab, 0x1, 0xa4, 0x7, 0xb0, 0xd, 0xcf, 0xd, 0xdf, 0xd, 0xff, 0xd, 0x2f, 0x5d, 0x0, 0x5d, 0x9, 0x2, 0x23, 0x9, 0x1, 0x23, 0x9, 0x1, 0x33, 0x9, 0x1, 0x4, 0x64, 0xfe, 0x6b, 0x1, 0xaa, 0xd9, 0xfe, 0xba, 0xfe, 0xba, 0xd9, 0x1, 0xb3, 0xfe, 0x72, 0xd9, 0x1, 0x29, 0x1, 0x29, 0x4, 0x60, 0xfd, 0xdf, 0xfd, 0xc1, 0x1, 0xb8, 0xfe, 0x48, 0x2, 0x4a, 0x2, 0x16, 0xfe, 0x71, 0x1, 0x8f, 0x0, 0x0, 0x1, 0x0, 0x3d, 0xfe, 0x56, 0x4, 0x7f, 0x4, 0x60, 0x0, 0xf, 0x1, 0x8b, 0x40, 0x43, 0x7, 0x8, 0x2, 0x9, 0x11, 0x0, 0xf, 0xa, 0x11, 0xb, 0xa, 0x0, 0x0, 0xf, 0xe, 0x11, 0xf, 0x0, 0xf, 0xd, 0x11, 0xc, 0xd, 0x0, 0x0, 0xf, 0xd, 0x11, 0xe, 0xd, 0xa, 0xb, 0xa, 0xc, 0x11, 0xb, 0xb, 0xa, 0x42, 0xd, 0xb, 0x9, 0x10, 0x0, 0xb, 0x5, 0x87, 0x3, 0xbd, 0xe, 0xb, 0xbc, 0x10, 0xe, 0xd, 0xc, 0xa, 0x9, 0x6, 0x3, 0x0, 0x8, 0xf, 0x4, 0xf, 0xb, 0x10, 0x10, 0xd4, 0x4b, 0xb0, 0xa, 0x54, 0x4b, 0xb0, 0x8, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0xb, 0x0, 0x40, 0x38, 0x59, 0x4b, 0xb0, 0x14, 0x54, 0x58, 0xb9, 0x0, 0xb, 0xff, 0xc0, 0x38, 0x59, 0xc4, 0xc4, 0x11, 0x17, 0x39, 0x31, 0x0, 0x10, 0xe4, 0x32, 0xf4, 0xec, 0x11, 0x39, 0x11, 0x39, 0x12, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x5, 0xed, 0x17, 0x32, 0x59, 0x22, 0x1, 0x40, 0xf0, 0x6, 0x0, 0x5, 0x8, 0x6, 0x9, 0x3, 0xd, 0x16, 0xa, 0x17, 0xd, 0x10, 0xd, 0x23, 0xd, 0x35, 0xd, 0x49, 0xa, 0x4f, 0xa, 0x4e, 0xd, 0x5a, 0x9, 0x5a, 0xa, 0x6a, 0xa, 0x87, 0xd, 0x80, 0xd, 0x93, 0xd, 0x12, 0xa, 0x0, 0xa, 0x9, 0x6, 0xb, 0x5, 0xc, 0xb, 0xe, 0xb, 0xf, 0x17, 0x1, 0x15, 0x2, 0x10, 0x4, 0x10, 0x5, 0x17, 0xa, 0x14, 0xb, 0x14, 0xc, 0x1a, 0xe, 0x1a, 0xf, 0x27, 0x0, 0x24, 0x1, 0x24, 0x2, 0x20, 0x4, 0x20, 0x5, 0x29, 0x8, 0x28, 0x9, 0x25, 0xa, 0x24, 0xb, 0x24, 0xc, 0x27, 0xd, 0x2a, 0xe, 0x2a, 0xf, 0x20, 0x11, 0x37, 0x0, 0x35, 0x1, 0x35, 0x2, 0x30, 0x4, 0x30, 0x5, 0x38, 0xa, 0x36, 0xb, 0x36, 0xc, 0x38, 0xd, 0x39, 0xe, 0x39, 0xf, 0x30, 0x11, 0x41, 0x0, 0x40, 0x1, 0x40, 0x2, 0x40, 0x3, 0x40, 0x4, 0x40, 0x5, 0x40, 0x6, 0x40, 0x7, 0x40, 0x8, 0x42, 0x9, 0x45, 0xa, 0x47, 0xd, 0x49, 0xe, 0x49, 0xf, 0x40, 0x11, 0x54, 0x0, 0x51, 0x1, 0x51, 0x2, 0x55, 0x3, 0x50, 0x4, 0x50, 0x5, 0x56, 0x6, 0x55, 0x7, 0x56, 0x8, 0x57, 0x9, 0x57, 0xa, 0x55, 0xb, 0x55, 0xc, 0x59, 0xe, 0x59, 0xf, 0x50, 0x11, 0x66, 0x1, 0x66, 0x2, 0x68, 0xa, 0x69, 0xe, 0x69, 0xf, 0x60, 0x11, 0x7b, 0x8, 0x78, 0xe, 0x78, 0xf, 0x89, 0x0, 0x8a, 0x9, 0x85, 0xb, 0x85, 0xc, 0x89, 0xd, 0x89, 0xe, 0x89, 0xf, 0x99, 0x9, 0x95, 0xb, 0x95, 0xc, 0x9a, 0xe, 0x9a, 0xf, 0xa4, 0xb, 0xa4, 0xc, 0xab, 0xe, 0xab, 0xf, 0xb0, 0x11, 0xcf, 0x11, 0xdf, 0x11, 0xff, 0x11, 0x65, 0x5d, 0x0, 0x5d, 0x5, 0xe, 0x1, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x3f, 0x1, 0x1, 0x33, 0x9, 0x1, 0x33, 0x2, 0x93, 0x4e, 0x94, 0x7c, 0x93, 0x6c, 0x4c, 0x54, 0x33, 0x21, 0xfe, 0x3b, 0xc3, 0x1, 0x5e, 0x1, 0x5e, 0xc3, 0x68, 0xc8, 0x7a, 0x9a, 0x48, 0x86, 0x54, 0x4, 0x4e, 0xfc, 0x94, 0x3, 0x6c, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x58, 0x0, 0x0, 0x3, 0xdb, 0x4, 0x60, 0x0, 0x9, 0x0, 0x9d, 0x40, 0x1a, 0x8, 0x11, 0x2, 0x3, 0x2, 0x3, 0x11, 0x7, 0x8, 0x7, 0x42, 0x8, 0xa9, 0x0, 0xbc, 0x3, 0xa9, 0x5, 0x8, 0x3, 0x1, 0x0, 0x4, 0x1, 0x6, 0xa, 0x10, 0xdc, 0x4b, 0xb0, 0xb, 0x54, 0x4b, 0xb0, 0xc, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0x6, 0xff, 0xc0, 0x38, 0x59, 0x4b, 0xb0, 0x13, 0x54, 0x58, 0xb9, 0x0, 0x6, 0x0, 0x40, 0x38, 0x59, 0xc4, 0x32, 0xc4, 0x11, 0x39, 0x39, 0x31, 0x0, 0x2f, 0xec, 0xf4, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x59, 0x22, 0x1, 0x40, 0x42, 0x5, 0x2, 0x16, 0x2, 0x26, 0x2, 0x47, 0x2, 0x49, 0x7, 0x5, 0xb, 0x8, 0xf, 0xb, 0x18, 0x3, 0x1b, 0x8, 0x2b, 0x8, 0x20, 0xb, 0x36, 0x3, 0x39, 0x8, 0x30, 0xb, 0x40, 0x1, 0x40, 0x2, 0x45, 0x3, 0x40, 0x4, 0x40, 0x5, 0x43, 0x8, 0x57, 0x3, 0x59, 0x8, 0x5f, 0xb, 0x60, 0x1, 0x60, 0x2, 0x66, 0x3, 0x60, 0x4, 0x60, 0x5, 0x62, 0x8, 0x7f, 0xb, 0x80, 0xb, 0xaf, 0xb, 0x1b, 0x5d, 0x0, 0x5d, 0x13, 0x21, 0x15, 0x1, 0x21, 0x15, 0x21, 0x35, 0x1, 0x21, 0x71, 0x3, 0x6a, 0xfd, 0x4c, 0x2, 0xb4, 0xfc, 0x7d, 0x2, 0xb4, 0xfd, 0x65, 0x4, 0x60, 0xa8, 0xfc, 0xdb, 0x93, 0xa8, 0x3, 0x25, 0x0, 0x0, 0x1, 0x1, 0x0, 0xfe, 0xb2, 0x4, 0x17, 0x6, 0x14, 0x0, 0x24, 0x0, 0x77, 0x40, 0x34, 0x19, 0xf, 0x15, 0xb, 0x6, 0x25, 0x9, 0x1a, 0x10, 0x15, 0x1d, 0xb, 0x5, 0x20, 0x21, 0x3, 0x0, 0xb, 0xa9, 0x9, 0x0, 0xa9, 0x1, 0xc0, 0x9, 0x15, 0xa9, 0x13, 0xb1, 0x25, 0xc, 0x9, 0xa, 0x5, 0x24, 0x16, 0x19, 0x0, 0x1d, 0xa, 0x5, 0x13, 0x2, 0x14, 0x0, 0x20, 0x19, 0x43, 0xa, 0xf, 0x5, 0x25, 0x10, 0xd4, 0x4b, 0xb0, 0xc, 0x54, 0x58, 0xb9, 0x0, 0x5, 0x0, 0x40, 0x38, 0x59, 0x3c, 0xc4, 0xfc, 0x3c, 0xc4, 0x32, 0x39, 0x39, 0x11, 0x12, 0x39, 0x11, 0x12, 0x39, 0x39, 0x11, 0x12, 0x39, 0x39, 0x31, 0x0, 0x10, 0xfc, 0xec, 0xc4, 0xf4, 0xec, 0x10, 0xee, 0x12, 0x17, 0x39, 0x12, 0x39, 0x11, 0x39, 0x39, 0x11, 0x12, 0x39, 0x11, 0x12, 0x39, 0x39, 0x30, 0x1, 0xb2, 0x0, 0x26, 0x1, 0x5d, 0x5, 0x15, 0x23, 0x22, 0x26, 0x3d, 0x1, 0x34, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x3d, 0x1, 0x34, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x14, 0x6, 0x7, 0x1e, 0x1, 0x1d, 0x1, 0x14, 0x16, 0x33, 0x4, 0x17, 0x3e, 0xf9, 0xa9, 0x6c, 0x8e, 0x3d, 0x3d, 0x8f, 0x6b, 0xa9, 0xf9, 0x3e, 0x44, 0x8d, 0x56, 0x5b, 0x6e, 0x6f, 0x5a, 0x56, 0x8d, 0xbe, 0x90, 0x94, 0xdd, 0xef, 0x97, 0x74, 0x8f, 0x73, 0x95, 0xf0, 0xdd, 0x93, 0x8f, 0x58, 0x8d, 0xf8, 0x9d, 0x8e, 0x19, 0x1b, 0x8e, 0x9c, 0xf8, 0x8d, 0x58, 0x0, 0x0, 0x1, 0x1, 0x4, 0xfe, 0x1d, 0x1, 0xae, 0x6, 0x1d, 0x0, 0x3, 0x0, 0x12, 0xb7, 0x1, 0x0, 0xb1, 0x4, 0x0, 0x5, 0x2, 0x4, 0x10, 0xd4, 0xec, 0x31, 0x0, 0x10, 0xfc, 0xcc, 0x30, 0x1, 0x11, 0x23, 0x11, 0x1, 0xae, 0xaa, 0x6, 0x1d, 0xf8, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0xfe, 0xb2, 0x4, 0x17, 0x6, 0x14, 0x0, 0x24, 0x0, 0x87, 0x40, 0x36, 0x1f, 0x25, 0x1b, 0x16, 0xc, 0xf, 0x8, 0x1b, 0xb, 0x15, 0x19, 0xf, 0x4, 0x5, 0x20, 0x3, 0x0, 0x19, 0xa9, 0x1b, 0x0, 0xa9, 0x23, 0xc0, 0x1b, 0xf, 0xa9, 0x11, 0xb1, 0x25, 0x1c, 0x19, 0x1a, 0x15, 0xf, 0x1, 0x4, 0x0, 0x8, 0x1a, 0x15, 0x23, 0x12, 0x4, 0x0, 0x1a, 0x1f, 0x15, 0x43, 0x10, 0x0, 0xb, 0x4, 0x25, 0x10, 0xd4, 0x4b, 0xb0, 0xa, 0x54, 0x58, 0xb9, 0x0, 0x4, 0xff, 0xc0, 0x38, 0x59, 0x4b, 0xb0, 0xe, 0x54, 0x58, 0xb9, 0x0, 0x4, 0x0, 0x40, 0x38, 0x59, 0x3c, 0xc4, 0x32, 0xfc, 0x3c, 0xc4, 0x11, 0x12, 0x39, 0x39, 0x11, 0x12, 0x39, 0x11, 0x12, 0x39, 0x39, 0x11, 0x12, 0x39, 0x39, 0x31, 0x0, 0x10, 0xfc, 0xec, 0xc4, 0xf4, 0xec, 0x10, 0xee, 0x12, 0x17, 0x39, 0x11, 0x12, 0x39, 0x39, 0x11, 0x39, 0x11, 0x39, 0x39, 0x11, 0x12, 0x39, 0x30, 0x1, 0xb2, 0x0, 0x26, 0x1, 0x5d, 0x5, 0x33, 0x32, 0x36, 0x3d, 0x1, 0x34, 0x36, 0x37, 0x2e, 0x1, 0x3d, 0x1, 0x34, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x16, 0x1d, 0x1, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x14, 0x6, 0x2b, 0x1, 0x1, 0x0, 0x46, 0x8c, 0x55, 0x5a, 0x6f, 0x6f, 0x5a, 0x55, 0x8c, 0x46, 0x3f, 0xf9, 0xa7, 0x6c, 0x8e, 0x3e, 0x3e, 0x8e, 0x6c, 0xa7, 0xf9, 0x3f, 0xbe, 0x56, 0x8f, 0xf8, 0x9c, 0x8e, 0x1b, 0x19, 0x8e, 0x9d, 0xf8, 0x8e, 0x57, 0x8f, 0x93, 0xdd, 0xf0, 0x95, 0x73, 0x8f, 0x74, 0x97, 0xef, 0xdd, 0x94, 0x0, 0x0, 0x1, 0x0, 0xd9, 0x1, 0xd3, 0x5, 0xdb, 0x3, 0x31, 0x0, 0x1d, 0x0, 0x23, 0x40, 0x10, 0x1, 0x10, 0x1b, 0xc, 0x0, 0x13, 0x4, 0x9c, 0x1b, 0x13, 0x9c, 0xc, 0x1e, 0x0, 0xf, 0x1e, 0x10, 0xd4, 0xc4, 0x31, 0x0, 0x10, 0xd4, 0xfc, 0xd4, 0xec, 0x10, 0xc0, 0x11, 0x12, 0x39, 0x39, 0x30, 0x1, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x5, 0xdb, 0x69, 0xb3, 0x61, 0x6e, 0x92, 0xb, 0x5, 0x7, 0xf, 0x9b, 0x5e, 0x58, 0xac, 0x62, 0x69, 0xb3, 0x61, 0x6e, 0x93, 0xa, 0x5, 0x8, 0xe, 0x9b, 0x5e, 0x56, 0xa9, 0x3, 0x31, 0xb2, 0x4f, 0x44, 0x3b, 0x4, 0x2, 0x3, 0x5, 0x3e, 0x4d, 0x53, 0xb2, 0x4f, 0x45, 0x3c, 0x4, 0x2, 0x3, 0x5, 0x3e, 0x4c, 0x0, 0x0, 0x2, 0x1, 0x35, 0x0, 0x0, 0x2, 0x0, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x9, 0x0, 0x62, 0x40, 0xf, 0x7, 0x0, 0x83, 0x2, 0x81, 0x4, 0x8, 0x7, 0x4, 0x0, 0x3, 0x5, 0x1, 0x0, 0xa, 0x10, 0xfc, 0x3c, 0xec, 0x32, 0x39, 0x39, 0x31, 0x0, 0x2f, 0xf4, 0xfc, 0xcc, 0x30, 0x1, 0x4b, 0xb0, 0xb, 0x54, 0x58, 0xbd, 0x0, 0xa, 0x0, 0x40, 0x0, 0x1, 0x0, 0xa, 0x0, 0xa, 0xff, 0xc0, 0x38, 0x11, 0x37, 0x38, 0x59, 0x1, 0x4b, 0xb0, 0xf, 0x54, 0x4b, 0xb0, 0x10, 0x54, 0x5b, 0x4b, 0xb0, 0x13, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0xa, 0xff, 0xc0, 0x0, 0x1, 0x0, 0xa, 0x0, 0xa, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0xb6, 0x0, 0xb, 0x20, 0xb, 0x50, 0xb, 0x3, 0x5d, 0x1, 0x23, 0x35, 0x33, 0x11, 0x23, 0x11, 0x13, 0x33, 0x13, 0x2, 0x0, 0xcb, 0xcb, 0xcb, 0x15, 0xa2, 0x14, 0x4, 0xd7, 0xfe, 0xfa, 0x2b, 0x2, 0x8f, 0x1, 0x65, 0xfe, 0x9b, 0x0, 0x0, 0x2, 0x0, 0xac, 0xfe, 0xc7, 0x4, 0x23, 0x5, 0x98, 0x0, 0x6, 0x0, 0x21, 0x0, 0x51, 0x40, 0x2b, 0x13, 0x16, 0x14, 0x0, 0xf, 0xc, 0x1, 0xb, 0x7, 0x86, 0x8, 0x88, 0xb, 0x10, 0x86, 0xf, 0x88, 0xc, 0xb9, 0x14, 0x16, 0xb, 0xb9, 0x1d, 0x1f, 0x1c, 0xb8, 0x16, 0x8c, 0x22, 0x1c, 0x15, 0x0, 0x9, 0x1e, 0x13, 0xb, 0xf, 0x7, 0x4, 0x12, 0x19, 0x22, 0x10, 0xdc, 0xec, 0xd4, 0x3c, 0xd4, 0x3c, 0x3c, 0xec, 0x32, 0x32, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0x3c, 0xc4, 0xec, 0x10, 0xc4, 0xfe, 0xf4, 0xee, 0x10, 0xf5, 0xee, 0x12, 0x39, 0x11, 0x12, 0x39, 0x11, 0x12, 0x39, 0x30, 0x25, 0x11, 0xe, 0x1, 0x15, 0x14, 0x16, 0x1, 0x15, 0x2e, 0x1, 0x27, 0x3, 0x3e, 0x1, 0x37, 0x15, 0xe, 0x1, 0x7, 0x11, 0x23, 0x11, 0x26, 0x0, 0x11, 0x10, 0x0, 0x37, 0x11, 0x33, 0x13, 0x1e, 0x1, 0x2, 0xa6, 0x93, 0xa4, 0xa4, 0x2, 0x10, 0x4a, 0x88, 0x44, 0x1, 0x46, 0x89, 0x48, 0x41, 0x89, 0x4d, 0x66, 0xf1, 0xfe, 0xf7, 0x1, 0x9, 0xf1, 0x66, 0x1, 0x49, 0x89, 0x83, 0x3, 0x58, 0x12, 0xe2, 0xb8, 0xb9, 0xe2, 0x3, 0xa1, 0xac, 0x29, 0x2a, 0x3, 0xfc, 0xa0, 0x5, 0x2a, 0x27, 0xaa, 0x1e, 0x23, 0x7, 0xfe, 0xe4, 0x1, 0x20, 0x14, 0x1, 0x33, 0x1, 0x1, 0x1, 0x2, 0x1, 0x32, 0x16, 0x1, 0x1f, 0xfe, 0xe1, 0x4, 0x21, 0x0, 0x0, 0x0, 0x1, 0x0, 0x81, 0x0, 0x0, 0x4, 0x62, 0x5, 0xf0, 0x0, 0x1b, 0x0, 0x60, 0x40, 0x21, 0x7, 0x16, 0x8, 0x1, 0x86, 0x0, 0x12, 0xa, 0xa9, 0x14, 0x8, 0xc, 0x4, 0xa0, 0x0, 0x94, 0x19, 0x91, 0x10, 0xc, 0xa0, 0xe, 0x0, 0xd, 0x9, 0xb, 0x7, 0x1c, 0x13, 0xf, 0x15, 0x11, 0x1c, 0x10, 0xdc, 0x3c, 0xcc, 0xcc, 0xfc, 0x3c, 0xc4, 0xd4, 0xc4, 0x31, 0x0, 0x2f, 0xec, 0x32, 0xf4, 0xe4, 0xec, 0x10, 0xd4, 0x3c, 0xee, 0x32, 0x10, 0xee, 0x11, 0x39, 0x39, 0x30, 0x1, 0x4b, 0xb0, 0xc, 0x54, 0x58, 0xbd, 0x0, 0x1c, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0xb4, 0x36, 0x1, 0x36, 0x2, 0x2, 0x0, 0x5d, 0x1, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x35, 0x33, 0x11, 0x23, 0x35, 0x33, 0x35, 0x10, 0x36, 0x33, 0x32, 0x16, 0x4, 0x4e, 0x4c, 0x88, 0x3d, 0x94, 0x74, 0x1, 0x87, 0xfe, 0x79, 0x2, 0x2d, 0xfc, 0x1f, 0xec, 0xc7, 0xc7, 0xd6, 0xe8, 0x3d, 0x97, 0x5, 0xb4, 0xb6, 0x29, 0x29, 0x9b, 0xd4, 0xd7, 0x8f, 0xfe, 0x2f, 0xaa, 0xaa, 0x1, 0xd1, 0x8f, 0xee, 0x1, 0x5, 0xf3, 0x1f, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x5e, 0x0, 0x52, 0x4, 0xbc, 0x4, 0xb2, 0x0, 0x23, 0x0, 0x2f, 0x0, 0x83, 0x40, 0x49, 0x3, 0x9, 0x1b, 0x15, 0x4, 0x2d, 0x1e, 0x0, 0x27, 0x1c, 0x2, 0x21, 0x1d, 0xc, 0x12, 0x2d, 0x14, 0xb, 0xa, 0x3, 0x13, 0xf, 0x1, 0x1d, 0x2d, 0xb9, 0x13, 0xeb, 0xf, 0xec, 0x27, 0xb9, 0x1d, 0xeb, 0x21, 0x30, 0x1e, 0xc, 0x0, 0x12, 0x4, 0x2a, 0x24, 0x14, 0x30, 0x1c, 0x15, 0x1b, 0x2a, 0x1d, 0x13, 0x1c, 0x18, 0x9, 0x3, 0x24, 0xb, 0xa, 0x1, 0x3, 0x2, 0x24, 0x28, 0x2, 0x73, 0x6, 0x74, 0x2a, 0x28, 0x1c, 0x73, 0x18, 0x30, 0x10, 0xdc, 0xe4, 0xec, 0xf4, 0xe4, 0xec, 0x12, 0x17, 0x39, 0x12, 0x39, 0x39, 0x11, 0x12, 0x39, 0x39, 0x12, 0x39, 0x39, 0x11, 0x12, 0x39, 0x11, 0x12, 0x17, 0x39, 0x31, 0x0, 0x10, 0xd4, 0xe4, 0xec, 0xf4, 0xe4, 0xec, 0x10, 0xc0, 0x11, 0x12, 0x17, 0x39, 0x12, 0x39, 0x39, 0x11, 0x12, 0x39, 0x39, 0x11, 0x39, 0x39, 0x12, 0x17, 0x39, 0x30, 0x1, 0x37, 0x17, 0x7, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x17, 0x7, 0x27, 0xe, 0x1, 0x23, 0x22, 0x26, 0x27, 0x7, 0x27, 0x37, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x27, 0x37, 0x17, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x13, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3, 0x7b, 0xcf, 0x72, 0xce, 0x25, 0x24, 0x26, 0x28, 0xd1, 0x72, 0xcf, 0x3b, 0x74, 0x3d, 0x3a, 0x78, 0x3d, 0xcf, 0x71, 0xcf, 0x25, 0x25, 0x26, 0x26, 0xcf, 0x73, 0xcf, 0x37, 0x74, 0x40, 0x3c, 0x75, 0x5c, 0x9b, 0x72, 0x70, 0x9e, 0x9d, 0x71, 0x71, 0x9c, 0x3, 0xe1, 0xd1, 0x73, 0xce, 0x3b, 0x77, 0x3e, 0x3f, 0x73, 0x39, 0xcf, 0x71, 0xcf, 0x28, 0x26, 0x25, 0x25, 0xcf, 0x73, 0xce, 0x3e, 0x76, 0x3a, 0x40, 0x74, 0x38, 0xce, 0x73, 0xcf, 0x27, 0x25, 0x24, 0xfe, 0x7c, 0x70, 0x9a, 0x9a, 0x70, 0x72, 0x9c, 0x9d, 0x0, 0x0, 0x1, 0x0, 0x52, 0x0, 0x0, 0x4, 0xc3, 0x5, 0xd5, 0x0, 0x18, 0x0, 0xc6, 0x40, 0x46, 0x10, 0x2, 0x11, 0x16, 0x11, 0xf, 0x2, 0xe, 0xf, 0x16, 0x16, 0x11, 0xf, 0x2, 0x10, 0xf, 0x8, 0xd, 0x8, 0xe, 0x2, 0xd, 0xd, 0x8, 0x42, 0xf, 0xb, 0x9, 0x4, 0x0, 0xd3, 0x17, 0x6, 0x12, 0xb, 0xd3, 0x14, 0x9, 0x10, 0xd, 0x81, 0x2, 0xc, 0x9, 0xe, 0x3, 0x5, 0x16, 0xf, 0x3, 0x15, 0x12, 0x10, 0x3, 0x0, 0x11, 0x66, 0x13, 0x0, 0x65, 0x1, 0x1c, 0xd, 0x66, 0xa, 0x5, 0x65, 0x7, 0x3, 0x19, 0x10, 0xd4, 0x3c, 0xec, 0x32, 0xec, 0xfc, 0xec, 0x32, 0xec, 0x12, 0x17, 0x39, 0x12, 0x39, 0x39, 0x11, 0x17, 0x39, 0x31, 0x0, 0x2f, 0xe4, 0x32, 0xd4, 0x3c, 0xec, 0x32, 0xd4, 0x3c, 0xec, 0x32, 0x11, 0x12, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x5, 0xed, 0x59, 0x22, 0x1, 0x4b, 0xb0, 0xc, 0x54, 0x58, 0xbd, 0x0, 0x19, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x19, 0x0, 0x19, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x40, 0x28, 0x86, 0xf, 0x90, 0xf, 0xa6, 0xf, 0xa0, 0xf, 0xb5, 0xf, 0x5, 0x27, 0xc, 0x27, 0xd, 0x27, 0xe, 0x29, 0x10, 0x28, 0x11, 0x28, 0x12, 0x37, 0xe, 0x39, 0x10, 0x87, 0xc, 0x88, 0x12, 0xa6, 0xd, 0xa5, 0xe, 0xaa, 0x10, 0xa9, 0x11, 0xe, 0x5d, 0x0, 0x5d, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x35, 0x27, 0x21, 0x35, 0x21, 0x1, 0x33, 0x9, 0x1, 0x33, 0x1, 0x21, 0x15, 0x21, 0x7, 0x15, 0x21, 0x4, 0x8d, 0xfe, 0x63, 0xc9, 0xfe, 0x60, 0x1, 0xa0, 0x54, 0xfe, 0xb4, 0x1, 0x8, 0xfe, 0xc3, 0xbe, 0x1, 0x7b, 0x1, 0x79, 0xbf, 0xfe, 0xc2, 0x1, 0x8, 0xfe, 0xb5, 0x54, 0x1, 0x9f, 0x1, 0xc7, 0xfe, 0x39, 0x1, 0xc7, 0x7b, 0x33, 0x9b, 0x7b, 0x2, 0x4a, 0xfd, 0x44, 0x2, 0xbc, 0xfd, 0xb6, 0x7b, 0x9b, 0x33, 0x0, 0x0, 0x0, 0x0, 0x2, 0x1, 0x4, 0xfe, 0xa2, 0x1, 0xae, 0x5, 0x98, 0x0, 0x3, 0x0, 0x7, 0x0, 0x1c, 0x40, 0xd, 0x1, 0xf5, 0x0, 0x4, 0xf5, 0x5, 0x8, 0x4, 0x0, 0x5, 0x6, 0x2, 0x8, 0x10, 0xdc, 0x3c, 0xec, 0x32, 0x31, 0x0, 0x10, 0xd4, 0xec, 0xd4, 0xec, 0x30, 0x1, 0x11, 0x23, 0x11, 0x13, 0x11, 0x23, 0x11, 0x1, 0xae, 0xaa, 0xaa, 0xaa, 0x1, 0x98, 0xfd, 0xa, 0x2, 0xf6, 0x4, 0x0, 0xfd, 0xa, 0x2, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x5c, 0xff, 0x3d, 0x3, 0xa2, 0x5, 0xf0, 0x0, 0xb, 0x0, 0x3e, 0x0, 0x91, 0x40, 0x3c, 0x2f, 0x30, 0x2a, 0x6, 0x0, 0x17, 0x1d, 0x30, 0x36, 0x4, 0xd, 0x27, 0x8a, 0x26, 0xd, 0x8a, 0xc, 0x2a, 0xc6, 0x26, 0xc5, 0x23, 0x10, 0xc6, 0xc, 0xc5, 0x3c, 0x91, 0x23, 0x3f, 0x2f, 0x6, 0x0, 0x17, 0x30, 0x4, 0x13, 0x1d, 0x2d, 0x9, 0x36, 0x3, 0x13, 0x57, 0x39, 0x2d, 0x57, 0x20, 0x9, 0x57, 0xc, 0x22, 0x1a, 0x39, 0x26, 0x22, 0x3, 0x57, 0x33, 0x3f, 0x10, 0xdc, 0xec, 0xe4, 0xc4, 0xd4, 0xe4, 0xec, 0xd4, 0xec, 0x10, 0xee, 0x11, 0x39, 0x11, 0x12, 0x39, 0x11, 0x17, 0x39, 0x39, 0x31, 0x0, 0x10, 0xc4, 0xf4, 0xe4, 0xec, 0x10, 0xe6, 0xee, 0x10, 0xee, 0x10, 0xee, 0x11, 0x17, 0x39, 0x39, 0x39, 0x11, 0x12, 0x39, 0x30, 0x1, 0x4b, 0xb0, 0xa, 0x54, 0x4b, 0xb0, 0xb, 0x54, 0x5b, 0x4b, 0xb0, 0xc, 0x54, 0x5b, 0x4b, 0xb0, 0xe, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x3f, 0x0, 0x40, 0x0, 0x1, 0x0, 0x3f, 0x0, 0x3f, 0xff, 0xc0, 0x38, 0x11, 0x37, 0x38, 0x59, 0x1, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x13, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x2f, 0x1, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x1, 0x7b, 0x3f, 0x3e, 0x8b, 0xfa, 0x3f, 0x3e, 0x8f, 0xcc, 0x53, 0x8f, 0x38, 0x61, 0x6c, 0xce, 0x1a, 0xe, 0xd3, 0x83, 0x5c, 0x5d, 0x3e, 0x39, 0xcc, 0xad, 0x49, 0x9a, 0x58, 0x57, 0x94, 0x3a, 0x66, 0x71, 0xdd, 0x19, 0xd6, 0x80, 0x5d, 0x5b, 0x3b, 0x3b, 0xc8, 0xa6, 0x49, 0x99, 0x3, 0xa8, 0x2e, 0x5a, 0x2e, 0x4c, 0x85, 0x87, 0x2d, 0x5b, 0x2e, 0x4b, 0x88, 0x2, 0x93, 0xa4, 0x27, 0x27, 0x50, 0x47, 0x5a, 0x73, 0xf, 0x8, 0x77, 0x9a, 0x65, 0x5a, 0x8c, 0x35, 0x34, 0x6d, 0x40, 0x8e, 0xa8, 0x1d, 0x1d, 0xa4, 0x27, 0x27, 0x54, 0x4c, 0x66, 0x7b, 0xe, 0x78, 0x99, 0x66, 0x5b, 0x8f, 0x31, 0x2c, 0x70, 0x45, 0x82, 0x9f, 0x1d, 0x0, 0x0, 0x2, 0x0, 0xd7, 0x5, 0x46, 0x3, 0x29, 0x6, 0x10, 0x0, 0x3, 0x0, 0x7, 0x0, 0x92, 0x40, 0xe, 0x6, 0x2, 0xce, 0x4, 0x0, 0xcd, 0x8, 0x1, 0x64, 0x0, 0x5, 0x64, 0x4, 0x8, 0x10, 0xdc, 0xfc, 0xd4, 0xec, 0x31, 0x0, 0x10, 0xfc, 0x3c, 0xec, 0x32, 0x30, 0x0, 0x4b, 0xb0, 0xa, 0x54, 0x4b, 0xb0, 0xd, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x8, 0x0, 0x40, 0x0, 0x1, 0x0, 0x8, 0x0, 0x8, 0xff, 0xc0, 0x38, 0x11, 0x37, 0x38, 0x59, 0x1, 0x4b, 0xb0, 0xc, 0x54, 0x4b, 0xb0, 0xd, 0x54, 0x5b, 0x4b, 0xb0, 0xe, 0x54, 0x5b, 0x4b, 0xb0, 0x17, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x8, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x8, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x1, 0x4b, 0xb0, 0xf, 0x54, 0x4b, 0xb0, 0x19, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x8, 0x0, 0x40, 0x0, 0x1, 0x0, 0x8, 0x0, 0x8, 0xff, 0xc0, 0x38, 0x11, 0x37, 0x38, 0x59, 0x40, 0x11, 0x60, 0x1, 0x60, 0x2, 0x60, 0x5, 0x60, 0x6, 0x70, 0x1, 0x70, 0x2, 0x70, 0x5, 0x70, 0x6, 0x8, 0x5d, 0x1, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x2, 0x5e, 0xcb, 0xcb, 0xfe, 0x79, 0xcb, 0xcb, 0x6, 0x10, 0xca, 0xca, 0xca, 0x0, 0x0, 0x3, 0x1, 0x1b, 0x0, 0x0, 0x6, 0xe5, 0x5, 0xcd, 0x0, 0x17, 0x0, 0x2f, 0x0, 0x49, 0x0, 0x43, 0x40, 0x26, 0x3d, 0xcb, 0x3e, 0x3a, 0xcc, 0x41, 0xca, 0x24, 0x31, 0xcb, 0x30, 0x34, 0xcc, 0x47, 0xca, 0x18, 0xc9, 0x0, 0xc8, 0x24, 0xc9, 0xc, 0x37, 0x61, 0x44, 0x3d, 0x30, 0x5e, 0x2a, 0x9, 0x6, 0x44, 0x5e, 0x1e, 0x9, 0x6, 0x12, 0x4a, 0x10, 0xdc, 0xcc, 0xfc, 0xec, 0x10, 0xfe, 0xed, 0x32, 0x10, 0xee, 0x31, 0x0, 0x2f, 0xee, 0xf6, 0xfe, 0xfd, 0xee, 0xd6, 0xee, 0x10, 0xfd, 0xee, 0xd6, 0xee, 0x30, 0x1, 0x32, 0x4, 0x17, 0x16, 0x12, 0x15, 0x14, 0x2, 0x7, 0x6, 0x4, 0x23, 0x22, 0x24, 0x27, 0x26, 0x2, 0x35, 0x34, 0x12, 0x37, 0x36, 0x24, 0x17, 0x22, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x27, 0x2e, 0x1, 0x17, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x4, 0x0, 0x98, 0x1, 0x7, 0x6d, 0x6d, 0x6c, 0x6c, 0x6d, 0x6d, 0xfe, 0xf9, 0x98, 0x98, 0xfe, 0xf9, 0x6d, 0x6d, 0x6c, 0x6c, 0x6d, 0x6d, 0x1, 0x7, 0x98, 0x83, 0xe2, 0x5e, 0x5e, 0x60, 0x60, 0x5e, 0x5e, 0xe2, 0x83, 0x84, 0xe3, 0x5e, 0x5d, 0x5d, 0x5e, 0x5c, 0x5e, 0xe3, 0xa7, 0x42, 0x82, 0x42, 0x95, 0xa7, 0xab, 0x9b, 0x40, 0x7a, 0x42, 0x43, 0x89, 0x46, 0xd8, 0xfb, 0xfb, 0xd8, 0x49, 0x88, 0x5, 0xcd, 0x6e, 0x6d, 0x6d, 0xfe, 0xfa, 0x9a, 0x98, 0xfe, 0xfb, 0x6d, 0x6d, 0x6e, 0x6e, 0x6d, 0x6d, 0x1, 0x5, 0x98, 0x9a, 0x1, 0x6, 0x6d, 0x6d, 0x6e, 0x67, 0x5e, 0x5e, 0x5e, 0xe5, 0x82, 0x81, 0xe3, 0x5e, 0x5e, 0x5f, 0x5f, 0x5e, 0x5d, 0xe2, 0x83, 0x85, 0xe3, 0x5d, 0x5e, 0x5e, 0xf5, 0x81, 0x21, 0x20, 0xaf, 0x9d, 0x9f, 0xae, 0x1f, 0x22, 0x7f, 0x1d, 0x1c, 0xf4, 0xd0, 0xd1, 0xf2, 0x1c, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x73, 0x1, 0xd5, 0x3, 0x3b, 0x5, 0xf0, 0x0, 0x3, 0x0, 0x1e, 0x0, 0x29, 0x0, 0x5f, 0x40, 0x33, 0x28, 0x7, 0x25, 0x4, 0x1f, 0x12, 0x18, 0x10, 0x2, 0xe3, 0x0, 0x1f, 0xdd, 0x10, 0x0, 0xe1, 0x25, 0xdd, 0x5, 0xa, 0x19, 0xdf, 0x18, 0xde, 0x15, 0xdd, 0xa, 0xe0, 0x1c, 0x91, 0x2a, 0x0, 0x18, 0xd, 0x1f, 0x10, 0x22, 0x6, 0x2, 0x1, 0x28, 0x11, 0x6, 0x6b, 0x4, 0x6c, 0x18, 0x22, 0x6b, 0xd, 0x2a, 0x10, 0xdc, 0xec, 0xcc, 0xfc, 0xec, 0x32, 0x32, 0xc0, 0xc0, 0x11, 0x12, 0x39, 0x39, 0x11, 0x12, 0x39, 0x31, 0x0, 0x10, 0xf4, 0xe4, 0xfc, 0xf4, 0xec, 0x10, 0xc4, 0xee, 0xed, 0xd6, 0xee, 0x10, 0xee, 0x11, 0x12, 0x39, 0x12, 0x39, 0x11, 0x39, 0x39, 0x30, 0x13, 0x21, 0x15, 0x21, 0x1, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x3b, 0x1, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x5, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3d, 0x1, 0x8b, 0x2, 0xb0, 0xfd, 0x50, 0x2, 0xae, 0x95, 0x2c, 0x90, 0x5d, 0x80, 0x98, 0xbf, 0xbc, 0xb6, 0x75, 0x75, 0x3e, 0x88, 0x44, 0x49, 0x91, 0x45, 0xb7, 0xb3, 0xfe, 0xec, 0xa1, 0x7e, 0x62, 0x52, 0x68, 0x82, 0x2, 0x50, 0x7b, 0x2, 0xb8, 0xfe, 0x40, 0x70, 0x3f, 0x44, 0x87, 0x71, 0x87, 0x8a, 0x4, 0x5b, 0x5b, 0x22, 0x22, 0x7f, 0x1c, 0x1c, 0xb0, 0xf0, 0x43, 0x4f, 0x40, 0x4d, 0x90, 0x72, 0x1d, 0x0, 0x2, 0x0, 0x9e, 0x0, 0x8d, 0x4, 0x25, 0x4, 0x23, 0x0, 0x6, 0x0, 0xd, 0x0, 0x86, 0x40, 0x49, 0x3, 0xe8, 0x4, 0x5, 0x4, 0x2, 0xe8, 0x1, 0x2, 0x5, 0x5, 0x4, 0x2, 0xe8, 0x3, 0x2, 0x6, 0x0, 0x6, 0x1, 0xe8, 0x0, 0x0, 0x6, 0xa, 0xe8, 0xb, 0xc, 0xb, 0x9, 0xe8, 0x8, 0x9, 0xc, 0xc, 0xb, 0x9, 0xe8, 0xa, 0x9, 0xd, 0x7, 0xd, 0x8, 0xe8, 0x7, 0x7, 0xd, 0x42, 0x9, 0x2, 0xb, 0x4, 0xe7, 0x7, 0x0, 0xa6, 0xe, 0x9, 0xc, 0x5, 0x2, 0x7, 0x3, 0x0, 0x6f, 0x5, 0xa, 0x7, 0x6f, 0xc, 0x6e, 0xe, 0x10, 0xfc, 0xfc, 0x3c, 0xd4, 0xec, 0x32, 0x11, 0x39, 0x11, 0x12, 0x39, 0x31, 0x0, 0x10, 0xf4, 0x3c, 0xec, 0x32, 0x39, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x4, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x4, 0xed, 0x7, 0x10, 0x4, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x4, 0xed, 0x59, 0x22, 0x1, 0x15, 0x9, 0x1, 0x15, 0x1, 0x35, 0x13, 0x15, 0x9, 0x1, 0x15, 0x1, 0x35, 0x4, 0x25, 0xfe, 0xd3, 0x1, 0x2d, 0xfe, 0x2b, 0x23, 0xfe, 0xd3, 0x1, 0x2d, 0xfe, 0x2b, 0x4, 0x23, 0xbf, 0xfe, 0xf4, 0xfe, 0xf4, 0xbf, 0x1, 0xa2, 0x52, 0x1, 0xa2, 0xbf, 0xfe, 0xf4, 0xfe, 0xf4, 0xbf, 0x1, 0xa2, 0x52, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd9, 0x1, 0x1f, 0x5, 0xdb, 0x3, 0x5e, 0x0, 0x5, 0x0, 0x17, 0x40, 0xa, 0x4, 0x9c, 0x2, 0x0, 0x6, 0x3, 0x17, 0x1, 0x0, 0x6, 0x10, 0xdc, 0xd4, 0xec, 0x31, 0x0, 0x10, 0xd4, 0xc4, 0xec, 0x30, 0x13, 0x21, 0x11, 0x23, 0x11, 0x21, 0xd9, 0x5, 0x2, 0xa8, 0xfb, 0xa6, 0x3, 0x5e, 0xfd, 0xc1, 0x1, 0x95, 0x0, 0x0, 0x1, 0x0, 0x64, 0x1, 0xdf, 0x2, 0x7f, 0x2, 0x83, 0x0, 0x3, 0x0, 0x11, 0xb6, 0x0, 0x9c, 0x2, 0x4, 0x1, 0x0, 0x4, 0x10, 0xdc, 0xcc, 0x31, 0x0, 0x10, 0xd4, 0xec, 0x30, 0x13, 0x21, 0x15, 0x21, 0x64, 0x2, 0x1b, 0xfd, 0xe5, 0x2, 0x83, 0xa4, 0x0, 0x0, 0x4, 0x1, 0x1b, 0x0, 0x0, 0x6, 0xe5, 0x5, 0xcd, 0x0, 0x17, 0x0, 0x2f, 0x0, 0x38, 0x0, 0x4c, 0x0, 0x60, 0x40, 0x36, 0x45, 0x42, 0x43, 0x3f, 0x32, 0xc9, 0x48, 0x30, 0xc9, 0x39, 0x4a, 0x43, 0xca, 0xc, 0x39, 0xca, 0x0, 0xc9, 0x18, 0xc8, 0xc, 0xc9, 0x24, 0x48, 0x45, 0x33, 0x30, 0x4, 0x31, 0x42, 0x3c, 0x3f, 0x39, 0x36, 0x49, 0x31, 0x60, 0x4b, 0x36, 0x60, 0x43, 0x3c, 0x5e, 0x12, 0x9, 0x1e, 0x4b, 0x5e, 0x6, 0x9, 0x1e, 0x5f, 0x2a, 0x4d, 0x10, 0xdc, 0xe4, 0xfc, 0xec, 0x10, 0xfe, 0xfd, 0xc4, 0xee, 0x10, 0xee, 0x32, 0x11, 0x39, 0x39, 0x12, 0x39, 0x12, 0x17, 0x39, 0x31, 0x0, 0x2f, 0xee, 0xf6, 0xfe, 0xed, 0x10, 0xed, 0x32, 0x10, 0xee, 0xd6, 0xee, 0x39, 0x12, 0x39, 0x39, 0x30, 0x1, 0x22, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x27, 0x2e, 0x1, 0x27, 0x32, 0x4, 0x17, 0x16, 0x12, 0x15, 0x14, 0x2, 0x7, 0x6, 0x4, 0x23, 0x22, 0x24, 0x27, 0x26, 0x2, 0x35, 0x34, 0x12, 0x37, 0x36, 0x24, 0x13, 0x23, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x1e, 0x1, 0x1f, 0x1, 0x23, 0x27, 0x2e, 0x1, 0x2b, 0x1, 0x11, 0x23, 0x11, 0x4, 0x0, 0x83, 0xe2, 0x5e, 0x5e, 0x60, 0x60, 0x5e, 0x5e, 0xe2, 0x83, 0x84, 0xe3, 0x5e, 0x5d, 0x5d, 0x5e, 0x5c, 0x5e, 0xe3, 0x84, 0x98, 0x1, 0x7, 0x6d, 0x6d, 0x6c, 0x6c, 0x6d, 0x6d, 0xfe, 0xf9, 0x98, 0x98, 0xfe, 0xf9, 0x6d, 0x6d, 0x6c, 0x6c, 0x6d, 0x6d, 0x1, 0x7, 0x7d, 0x7b, 0x7b, 0x6e, 0x57, 0x58, 0x66, 0xb0, 0xae, 0x69, 0x60, 0x18, 0x43, 0x2e, 0x89, 0xac, 0x81, 0x3b, 0x49, 0x36, 0x42, 0x9b, 0x5, 0x66, 0x5e, 0x5e, 0x5e, 0xe5, 0x82, 0x81, 0xe3, 0x5e, 0x5e, 0x5f, 0x5f, 0x5e, 0x5d, 0xe2, 0x83, 0x85, 0xe3, 0x5d, 0x5e, 0x5e, 0x67, 0x6e, 0x6d, 0x6d, 0xfe, 0xfa, 0x9a, 0x98, 0xfe, 0xfb, 0x6d, 0x6d, 0x6e, 0x6e, 0x6d, 0x6d, 0x1, 0x5, 0x98, 0x9a, 0x1, 0x6, 0x6d, 0x6d, 0x6e, 0xfe, 0x62, 0xfe, 0xec, 0x3e, 0x4b, 0x4c, 0x3f, 0x67, 0x77, 0x79, 0x56, 0x70, 0x11, 0x8, 0x4d, 0x49, 0xdf, 0xd1, 0x60, 0x33, 0xfe, 0x9c, 0x3, 0x44, 0x0, 0x1, 0x0, 0xd5, 0x5, 0x62, 0x3, 0x2b, 0x5, 0xf6, 0x0, 0x3, 0x0, 0x2f, 0xb7, 0x2, 0xef, 0x0, 0xee, 0x4, 0x1, 0x0, 0x4, 0x10, 0xd4, 0xcc, 0x31, 0x0, 0x10, 0xfc, 0xec, 0x30, 0x0, 0x4b, 0xb0, 0x9, 0x54, 0x4b, 0xb0, 0xe, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x4, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x4, 0x0, 0x4, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x13, 0x21, 0x15, 0x21, 0xd5, 0x2, 0x56, 0xfd, 0xaa, 0x5, 0xf6, 0x94, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc3, 0x3, 0x75, 0x3, 0x3d, 0x5, 0xf0, 0x0, 0xb, 0x0, 0x1a, 0x0, 0x20, 0x40, 0x11, 0x6, 0xc3, 0x15, 0xc4, 0x0, 0xc3, 0xc, 0x91, 0x1b, 0x9, 0x5a, 0x12, 0x5b, 0x3, 0x5a, 0x18, 0x1b, 0x10, 0xdc, 0xec, 0xfc, 0xec, 0x31, 0x0, 0x10, 0xf4, 0xec, 0xfc, 0xec, 0x30, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x32, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x2, 0x0, 0x50, 0x6e, 0x6e, 0x50, 0x50, 0x6e, 0x6f, 0x4f, 0x40, 0x76, 0x2b, 0x2e, 0x2e, 0xb9, 0x86, 0x87, 0xb4, 0xb8, 0x5, 0x6f, 0x6f, 0x50, 0x4f, 0x6d, 0x6d, 0x4f, 0x4f, 0x70, 0x81, 0x31, 0x2e, 0x2d, 0x72, 0x42, 0x84, 0xb7, 0xb4, 0x87, 0x86, 0xba, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0x0, 0x0, 0x5, 0xdb, 0x5, 0x4, 0x0, 0xb, 0x0, 0xf, 0x0, 0x2e, 0x40, 0x18, 0x5, 0xd0, 0x7, 0x3, 0x9c, 0x0, 0xd0, 0x9, 0x1, 0xc, 0x9c, 0xe, 0xd, 0x2, 0x15, 0x4, 0x0, 0x17, 0xc, 0x8, 0x15, 0xa, 0x6, 0x10, 0x10, 0xd4, 0x3c, 0xec, 0x32, 0xfc, 0x3c, 0xec, 0x32, 0x31, 0x0, 0x2f, 0xec, 0xd4, 0x3c, 0xec, 0xfc, 0x3c, 0xec, 0x30, 0x1, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x1, 0x21, 0x15, 0x21, 0x3, 0xae, 0x2, 0x2d, 0xfd, 0xd3, 0xa8, 0xfd, 0xd3, 0x2, 0x2d, 0xfd, 0xd3, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x4, 0xfe, 0x7d, 0xaa, 0xfe, 0x7d, 0x1, 0x83, 0xaa, 0x1, 0x83, 0xfb, 0xa6, 0xaa, 0x0, 0x0, 0x0, 0x1, 0x0, 0x5e, 0x2, 0x9c, 0x2, 0xb4, 0x5, 0xf0, 0x0, 0x18, 0x0, 0x4a, 0x40, 0x24, 0x0, 0x7d, 0x6, 0x4, 0x0, 0x17, 0x7d, 0x6, 0x6, 0x4, 0x42, 0x4, 0x2, 0x0, 0xe, 0xdd, 0xf, 0x0, 0xdd, 0x2, 0xf7, 0xb, 0xdd, 0xf, 0x12, 0x91, 0x19, 0x0, 0xe, 0x8, 0x7e, 0x1, 0x15, 0xe, 0x3, 0x19, 0x10, 0xdc, 0xc4, 0xd4, 0xc4, 0xec, 0x11, 0x39, 0x31, 0x0, 0x10, 0xf4, 0xc4, 0xec, 0xfc, 0xec, 0x10, 0xee, 0x11, 0x12, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x17, 0x32, 0x7, 0x5, 0xed, 0x59, 0x22, 0x1, 0x21, 0x15, 0x21, 0x35, 0x36, 0x37, 0x0, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x1, 0x6, 0x1, 0xc, 0x1, 0xa8, 0xfd, 0xaa, 0x22, 0x3f, 0x1, 0x58, 0x68, 0x55, 0x34, 0x7a, 0x48, 0x4d, 0x85, 0x39, 0x91, 0xae, 0xfe, 0xb5, 0x38, 0x3, 0xe, 0x72, 0x6e, 0x1f, 0x38, 0x1, 0x31, 0x5e, 0x42, 0x51, 0x23, 0x23, 0x7b, 0x1c, 0x1c, 0x84, 0x6c, 0x8b, 0xfe, 0xe4, 0x30, 0x0, 0x0, 0x0, 0x1, 0x0, 0x62, 0x2, 0x8d, 0x2, 0xcd, 0x5, 0xf0, 0x0, 0x28, 0x0, 0x48, 0x40, 0x27, 0x0, 0x15, 0x13, 0xa, 0xdd, 0x9, 0x1f, 0xdd, 0x20, 0x13, 0xdd, 0x15, 0xd, 0xdd, 0x9, 0xf8, 0x6, 0xf7, 0x1c, 0xdd, 0x20, 0xf8, 0x23, 0x91, 0x29, 0x16, 0x13, 0x0, 0x14, 0x19, 0x7e, 0x26, 0x10, 0x7e, 0x3, 0x14, 0x1f, 0x9, 0x29, 0x10, 0xdc, 0xc4, 0xc4, 0xd4, 0xec, 0xd4, 0xec, 0x11, 0x39, 0x39, 0x39, 0x31, 0x0, 0x10, 0xf4, 0xe4, 0xec, 0xfc, 0xe4, 0xec, 0xd4, 0xec, 0x10, 0xee, 0x10, 0xee, 0x11, 0x12, 0x39, 0x30, 0x1, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x2, 0xc, 0x5c, 0x65, 0xbe, 0xb1, 0x39, 0x7d, 0x46, 0x34, 0x77, 0x43, 0x6d, 0x78, 0x6f, 0x6c, 0x56, 0x5e, 0x5e, 0x61, 0x64, 0x5f, 0x28, 0x66, 0x51, 0x49, 0x80, 0x37, 0x90, 0xa9, 0x5a, 0x4, 0x60, 0x12, 0x6d, 0x52, 0x7c, 0x86, 0x15, 0x14, 0x79, 0x1b, 0x1a, 0x4f, 0x46, 0x4a, 0x4c, 0x6c, 0x3f, 0x3c, 0x3a, 0x3d, 0x12, 0x17, 0x73, 0x11, 0x12, 0x76, 0x63, 0x45, 0x60, 0x0, 0x1, 0x1, 0x73, 0x4, 0xee, 0x3, 0x52, 0x6, 0x66, 0x0, 0x3, 0x0, 0x31, 0x40, 0x9, 0x2, 0xb4, 0x0, 0xb3, 0x4, 0x3, 0x44, 0x1, 0x4, 0x10, 0xd4, 0xec, 0x31, 0x0, 0x10, 0xf4, 0xec, 0x30, 0x0, 0x4b, 0xb0, 0x9, 0x54, 0x4b, 0xb0, 0xe, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x4, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x4, 0x0, 0x4, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x1, 0x33, 0x1, 0x23, 0x2, 0x8b, 0xc7, 0xfe, 0xba, 0x99, 0x6, 0x66, 0xfe, 0x88, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xae, 0xfe, 0x56, 0x4, 0xe5, 0x4, 0x60, 0x0, 0x20, 0x0, 0x4d, 0x40, 0x25, 0x13, 0x19, 0x1f, 0x3, 0x16, 0x6, 0x3, 0x9, 0xc, 0x3, 0x1, 0x12, 0xf, 0x6, 0x87, 0x1c, 0x16, 0x8c, 0xa, 0x1, 0xbc, 0x0, 0xbd, 0x21, 0x19, 0x9, 0x12, 0x9, 0x8, 0xb, 0x4e, 0x1f, 0x2, 0x8, 0x0, 0x46, 0x21, 0x10, 0xfc, 0xec, 0x32, 0xf4, 0xec, 0xc4, 0x12, 0x39, 0x31, 0x0, 0x10, 0xe4, 0xe4, 0x32, 0xf4, 0x3c, 0xec, 0xdc, 0xc4, 0x11, 0x17, 0x39, 0x11, 0x12, 0x17, 0x39, 0x30, 0xb6, 0x1f, 0x22, 0x60, 0x22, 0xcf, 0x22, 0x3, 0x1, 0x5d, 0x13, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x26, 0x27, 0xe, 0x1, 0x23, 0x22, 0x26, 0x27, 0x11, 0xae, 0xb8, 0x8a, 0x87, 0x94, 0x95, 0xb8, 0x23, 0x25, 0x9, 0x20, 0x1c, 0x29, 0x49, 0x23, 0x45, 0x52, 0xf, 0x32, 0x91, 0x62, 0x66, 0x8f, 0x2a, 0xfe, 0x56, 0x6, 0xa, 0xfd, 0x48, 0x91, 0x94, 0xa8, 0xa8, 0x2, 0x8d, 0xfc, 0xa2, 0x3c, 0x39, 0xb, 0xc, 0x94, 0x17, 0x16, 0x4e, 0x50, 0x4f, 0x4f, 0x4e, 0x4e, 0xfd, 0xd7, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x9e, 0xff, 0x3b, 0x4, 0x39, 0x5, 0xd5, 0x0, 0xd, 0x0, 0x25, 0x40, 0x12, 0x8, 0x2, 0x4, 0xc1, 0x0, 0x81, 0x6, 0x2, 0xe, 0x0, 0x7, 0x5d, 0x5, 0x3, 0x5d, 0x1, 0xb, 0xe, 0x10, 0xd4, 0xd4, 0xfc, 0xdc, 0xec, 0x39, 0x31, 0x0, 0x10, 0xc4, 0x32, 0xf4, 0xec, 0x11, 0x39, 0x30, 0x1, 0x21, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x2e, 0x1, 0x35, 0x34, 0x24, 0x2, 0x79, 0x1, 0xc0, 0x8d, 0xbe, 0x8e, 0xd7, 0xeb, 0x1, 0x4, 0x5, 0xd5, 0xf9, 0x66, 0x6, 0x1f, 0xf9, 0xe1, 0x3, 0x4e, 0x11, 0xdd, 0xb8, 0xbe, 0xe8, 0x0, 0x0, 0x1, 0x0, 0xdb, 0x2, 0x48, 0x1, 0xae, 0x3, 0x46, 0x0, 0x3, 0x0, 0x12, 0xb7, 0x2, 0x83, 0x0, 0x4, 0x1, 0x19, 0x0, 0x4, 0x10, 0xd4, 0xec, 0x31, 0x0, 0x10, 0xd4, 0xec, 0x30, 0x13, 0x33, 0x15, 0x23, 0xdb, 0xd3, 0xd3, 0x3, 0x46, 0xfe, 0x0, 0x0, 0x0, 0x1, 0x1, 0x23, 0xfe, 0x75, 0x2, 0xc1, 0x0, 0x0, 0x0, 0x13, 0x0, 0x1f, 0x40, 0xe, 0x9, 0x6, 0xa, 0xd, 0xf3, 0x6, 0x0, 0x13, 0x0, 0x10, 0x27, 0x3, 0x9, 0x14, 0x10, 0xdc, 0xd4, 0xec, 0xd4, 0xcc, 0x31, 0x0, 0x2f, 0xd4, 0xfc, 0xc4, 0x12, 0x39, 0x30, 0x21, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x2, 0x54, 0x37, 0x36, 0x78, 0x76, 0x2e, 0x57, 0x2b, 0x22, 0x4a, 0x2f, 0x3b, 0x3c, 0x2b, 0x2d, 0x3e, 0x69, 0x30, 0x59, 0x5b, 0xc, 0xc, 0x83, 0x11, 0xf, 0x30, 0x2e, 0x1e, 0x57, 0x3d, 0x0, 0x1, 0x0, 0x89, 0x2, 0x9c, 0x2, 0xc5, 0x5, 0xdf, 0x0, 0xa, 0x0, 0x2c, 0x40, 0x18, 0x7, 0x0, 0xdd, 0x9, 0x3, 0xdd, 0x4, 0x2, 0xdd, 0x9, 0xf7, 0x5, 0x91, 0xb, 0x8, 0x7c, 0x6, 0x5d, 0x3, 0x7c, 0x1, 0x7c, 0x0, 0xb, 0x10, 0xdc, 0xf4, 0xe4, 0xfc, 0xe4, 0x31, 0x0, 0x10, 0xf4, 0xec, 0xec, 0xd4, 0xec, 0x10, 0xee, 0x32, 0x30, 0x13, 0x33, 0x11, 0x7, 0x35, 0x37, 0x33, 0x11, 0x33, 0x15, 0x21, 0x9c, 0xcc, 0xdf, 0xe6, 0x89, 0xcd, 0xfd, 0xd7, 0x3, 0xa, 0x2, 0x63, 0x29, 0x74, 0x27, 0xfd, 0x2b, 0x6e, 0x0, 0x0, 0x3, 0x0, 0x60, 0x1, 0xd5, 0x3, 0x64, 0x5, 0xf0, 0x0, 0x3, 0x0, 0xf, 0x0, 0x1b, 0x0, 0x2e, 0x40, 0x19, 0x2, 0xe3, 0x0, 0xe1, 0x16, 0xdd, 0xa, 0xe0, 0x10, 0xdd, 0x4, 0x91, 0x1c, 0x0, 0x13, 0xd, 0x1, 0x19, 0x6b, 0x7, 0x6c, 0x13, 0x6b, 0xd, 0x1c, 0x10, 0xdc, 0xec, 0xfc, 0xec, 0x39, 0x11, 0x12, 0x39, 0x31, 0x0, 0x10, 0xf4, 0xec, 0xf4, 0xec, 0xfc, 0xec, 0x30, 0x13, 0x21, 0x15, 0x21, 0x1, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x17, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x8b, 0x2, 0xb0, 0xfd, 0x50, 0x1, 0x58, 0xb3, 0xce, 0xce, 0xb3, 0xb3, 0xd0, 0xd0, 0xb3, 0x69, 0x7e, 0x7f, 0x68, 0x69, 0x7d, 0x7c, 0x2, 0x50, 0x7b, 0x4, 0x1b, 0xdd, 0xbf, 0xbf, 0xdb, 0xdc, 0xbe, 0xbf, 0xdd, 0x73, 0xa1, 0x88, 0x85, 0xa0, 0xa0, 0x85, 0x89, 0xa0, 0x0, 0x2, 0x0, 0xc1, 0x0, 0x8d, 0x4, 0x48, 0x4, 0x23, 0x0, 0x6, 0x0, 0xd, 0x0, 0x86, 0x40, 0x49, 0xc, 0xe8, 0xd, 0xc, 0x9, 0xa, 0x9, 0xb, 0xe8, 0xa, 0xa, 0x9, 0xd, 0xe8, 0x7, 0x8, 0x7, 0xc, 0xe8, 0xb, 0xc, 0x8, 0x8, 0x7, 0x5, 0xe8, 0x6, 0x5, 0x2, 0x3, 0x2, 0x4, 0xe8, 0x3, 0x3, 0x2, 0x6, 0xe8, 0x0, 0x1, 0x0, 0x5, 0xe8, 0x4, 0x5, 0x1, 0x1, 0x0, 0x42, 0xc, 0x5, 0xa, 0x3, 0xe7, 0x7, 0x0, 0xa6, 0xe, 0xc, 0x8, 0x1, 0x5, 0x0, 0x8, 0x6f, 0xa, 0x7, 0x1, 0x6f, 0x3, 0x0, 0x70, 0xe, 0x10, 0xfc, 0x3c, 0xfc, 0xd4, 0x3c, 0xec, 0x12, 0x39, 0x11, 0x12, 0x39, 0x31, 0x0, 0x10, 0xf4, 0x3c, 0xec, 0x32, 0x39, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x4, 0xed, 0x7, 0x10, 0x4, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x4, 0xed, 0x7, 0x10, 0x4, 0xed, 0x7, 0x10, 0x8, 0xed, 0x59, 0x22, 0x13, 0x1, 0x15, 0x1, 0x35, 0x9, 0x1, 0x25, 0x1, 0x15, 0x1, 0x35, 0x9, 0x1, 0xc1, 0x1, 0xd5, 0xfe, 0x2b, 0x1, 0x2d, 0xfe, 0xd3, 0x1, 0xb2, 0x1, 0xd5, 0xfe, 0x2b, 0x1, 0x2d, 0xfe, 0xd3, 0x4, 0x23, 0xfe, 0x5e, 0x52, 0xfe, 0x5e, 0xbf, 0x1, 0xc, 0x1, 0xc, 0xbf, 0xfe, 0x5e, 0x52, 0xfe, 0x5e, 0xbf, 0x1, 0xc, 0x1, 0xc, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0xff, 0xe3, 0x7, 0x7f, 0x5, 0xf0, 0x10, 0x26, 0x0, 0x7b, 0x0, 0x0, 0x10, 0x27, 0xb, 0x4b, 0x4, 0x8b, 0xfd, 0x64, 0x10, 0x7, 0xb, 0x22, 0x3, 0x35, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0xff, 0xe3, 0x7, 0x3f, 0x5, 0xf0, 0x10, 0x26, 0x0, 0x7b, 0x0, 0x0, 0x10, 0x27, 0x0, 0x74, 0x4, 0x8b, 0xfd, 0x64, 0x10, 0x7, 0xb, 0x22, 0x3, 0x35, 0x0, 0x0, 0xff, 0xff, 0x0, 0x62, 0xff, 0xe3, 0x7, 0x7f, 0x5, 0xf0, 0x10, 0x26, 0x0, 0x75, 0x0, 0x0, 0x10, 0x27, 0xb, 0x4b, 0x4, 0x8b, 0xfd, 0x64, 0x10, 0x7, 0xb, 0x22, 0x3, 0x35, 0x0, 0x0, 0x0, 0x2, 0x0, 0x8f, 0xff, 0xe3, 0x3, 0xac, 0x5, 0xd5, 0x0, 0x20, 0x0, 0x24, 0x0, 0x86, 0x40, 0x2f, 0x20, 0x1a, 0x5, 0x2, 0x4, 0x6, 0x19, 0x0, 0x10, 0x86, 0xf, 0x88, 0xc, 0x0, 0x21, 0x83, 0x23, 0xc, 0x95, 0x13, 0x8c, 0x23, 0x81, 0x25, 0x6, 0x22, 0x19, 0x16, 0x9, 0x5, 0x1, 0x0, 0x1a, 0x22, 0x9, 0x0, 0x1c, 0x1, 0x22, 0x1c, 0x21, 0x26, 0xf, 0x9, 0x1c, 0x16, 0x25, 0x10, 0xdc, 0xec, 0xd4, 0xfc, 0xec, 0xd4, 0xec, 0x11, 0x12, 0x39, 0x11, 0x12, 0x39, 0x11, 0x12, 0x39, 0x12, 0x39, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xec, 0x10, 0xfe, 0xcd, 0x10, 0xf4, 0xee, 0x12, 0x39, 0x39, 0x17, 0x39, 0x30, 0x1, 0x4b, 0xb0, 0x10, 0x54, 0x4b, 0xb0, 0x12, 0x54, 0x5b, 0x4b, 0xb0, 0x13, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x25, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x25, 0x0, 0x25, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x40, 0xb, 0x74, 0x4, 0x74, 0x5, 0x74, 0x6, 0x74, 0x7, 0x76, 0x1c, 0x5, 0x5d, 0x1, 0x33, 0x15, 0x14, 0x6, 0xf, 0x1, 0xe, 0x1, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x3f, 0x1, 0x3e, 0x1, 0x37, 0x3e, 0x1, 0x35, 0x13, 0x23, 0x35, 0x33, 0x1, 0xf4, 0xbe, 0x37, 0x5a, 0x5a, 0x3a, 0x33, 0x83, 0x6d, 0x4e, 0xb4, 0x60, 0x5e, 0xc0, 0x67, 0xb8, 0xe0, 0x49, 0x59, 0x58, 0x30, 0x26, 0x8, 0x7, 0x6, 0xc4, 0xca, 0xca, 0x4, 0x44, 0x9c, 0x65, 0x82, 0x57, 0x58, 0x35, 0x5e, 0x31, 0x59, 0x6e, 0x46, 0x43, 0xbc, 0x39, 0x38, 0xc2, 0x9f, 0x4c, 0x89, 0x56, 0x56, 0x2f, 0x35, 0x19, 0x15, 0x3c, 0x36, 0x1, 0xe, 0xfe, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x7, 0x6b, 0x12, 0x26, 0x0, 0x24, 0x0, 0x0, 0x10, 0x7, 0x16, 0xbc, 0x4, 0xbc, 0x1, 0x75, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x7, 0x6b, 0x12, 0x26, 0x0, 0x24, 0x0, 0x0, 0x10, 0x7, 0x16, 0xba, 0x4, 0xbc, 0x1, 0x75, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x7, 0x6d, 0x12, 0x26, 0x0, 0x24, 0x0, 0x0, 0x11, 0x7, 0x16, 0xbd, 0x4, 0xbc, 0x1, 0x75, 0x0, 0x10, 0xb4, 0x5, 0xd, 0x11, 0xa, 0x7, 0x2b, 0x40, 0x5, 0xf, 0xd, 0x0, 0x11, 0x2, 0x5d, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x7, 0x5e, 0x12, 0x26, 0x0, 0x24, 0x0, 0x0, 0x11, 0x7, 0x16, 0xbb, 0x4, 0xbc, 0x1, 0x75, 0x0, 0x14, 0xb4, 0xa, 0x14, 0x23, 0x5, 0x7, 0x2b, 0x40, 0x9, 0x40, 0x14, 0x4f, 0x23, 0x20, 0x14, 0x2f, 0x23, 0x4, 0x5d, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x7, 0x4e, 0x12, 0x26, 0x0, 0x24, 0x0, 0x0, 0x11, 0x7, 0x16, 0xb9, 0x4, 0xbc, 0x1, 0x75, 0x0, 0x14, 0xb4, 0xa, 0x12, 0xd, 0x5, 0x7, 0x2b, 0x40, 0x9, 0x30, 0x12, 0x3f, 0xd, 0x0, 0x12, 0xf, 0xd, 0x4, 0x5d, 0x31, 0x0, 0x0, 0x0, 0x3, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x7, 0x6d, 0x0, 0xb, 0x0, 0xe, 0x0, 0x21, 0x0, 0xcb, 0x40, 0x54, 0xc, 0x11, 0xd, 0xc, 0x1b, 0x1c, 0x1b, 0xe, 0x11, 0x1c, 0x1b, 0x1e, 0x11, 0x1c, 0x1b, 0x1d, 0x11, 0x1c, 0x1c, 0x1b, 0xd, 0x11, 0x21, 0xf, 0x21, 0xc, 0x11, 0xe, 0xc, 0xf, 0xf, 0x21, 0x20, 0x11, 0xf, 0x21, 0x1f, 0x11, 0x21, 0xf, 0x21, 0x42, 0xc, 0x1b, 0xf, 0xd, 0x9, 0x3, 0xc1, 0x15, 0x9, 0x1e, 0x95, 0xd, 0x9, 0x8e, 0x20, 0x1c, 0x1e, 0x1d, 0x1c, 0x18, 0x20, 0x1f, 0x21, 0xd, 0x12, 0x6, 0xe, 0x18, 0xc, 0x6, 0x1b, 0x0, 0x56, 0x18, 0x1c, 0xf, 0x6, 0x56, 0x12, 0x1c, 0x21, 0x22, 0x10, 0xd4, 0xc4, 0xd4, 0xec, 0x32, 0x10, 0xd4, 0xee, 0x32, 0x11, 0x39, 0x11, 0x39, 0x11, 0x12, 0x39, 0x11, 0x39, 0x39, 0x11, 0x12, 0x39, 0x39, 0x31, 0x0, 0x2f, 0x3c, 0xe6, 0xd6, 0xee, 0x10, 0xd4, 0xee, 0x11, 0x12, 0x39, 0x39, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x5, 0xed, 0x7, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x59, 0x22, 0xb2, 0x20, 0x23, 0x1, 0x1, 0x5d, 0x40, 0x20, 0x1a, 0xc, 0x73, 0xc, 0x9b, 0xc, 0x3, 0x7, 0xf, 0x8, 0x1b, 0x50, 0x23, 0x66, 0xd, 0x69, 0xe, 0x75, 0xd, 0x7b, 0xe, 0x79, 0x1c, 0x79, 0x1d, 0x76, 0x20, 0x76, 0x21, 0x80, 0x23, 0xc, 0x5d, 0x0, 0x5d, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3, 0x1, 0x21, 0x1, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x1, 0x23, 0x3, 0x21, 0x3, 0x23, 0x3, 0x54, 0x59, 0x3f, 0x40, 0x57, 0x58, 0x3f, 0x3f, 0x59, 0x98, 0xfe, 0xf0, 0x2, 0x21, 0xfe, 0x58, 0x3d, 0x3e, 0x9f, 0x73, 0x72, 0xa1, 0x3f, 0x3c, 0x2, 0x14, 0xd2, 0x88, 0xfd, 0x5f, 0x88, 0xd5, 0x6, 0x5a, 0x3f, 0x59, 0x57, 0x41, 0x3f, 0x58, 0x58, 0xfe, 0xf3, 0xfd, 0x19, 0x3, 0x4e, 0x29, 0x73, 0x49, 0x73, 0xa0, 0xa1, 0x72, 0x46, 0x76, 0x29, 0xfa, 0x8b, 0x1, 0x7f, 0xfe, 0x81, 0x0, 0x0, 0x2, 0x0, 0x8, 0x0, 0x0, 0x7, 0x48, 0x5, 0xd5, 0x0, 0xf, 0x0, 0x13, 0x0, 0x87, 0x40, 0x39, 0x11, 0x11, 0xe, 0xf, 0xe, 0x10, 0x11, 0xf, 0xf, 0xe, 0xd, 0x11, 0xf, 0xe, 0xc, 0x11, 0xe, 0xf, 0xe, 0x42, 0x5, 0x95, 0x3, 0xb, 0x95, 0x11, 0x1, 0x95, 0x10, 0x95, 0x0, 0x81, 0x11, 0x7, 0x95, 0x3, 0xad, 0xd, 0x9, 0x11, 0x10, 0xf, 0xd, 0xc, 0x5, 0xe, 0xa, 0x0, 0x4, 0x8, 0x6, 0x2, 0x1c, 0x12, 0xa, 0xe, 0x14, 0x10, 0xd4, 0xd4, 0x3c, 0xec, 0x32, 0xd4, 0xc4, 0xc4, 0x11, 0x12, 0x17, 0x39, 0x31, 0x0, 0x2f, 0x3c, 0xec, 0xec, 0xc4, 0xf4, 0xec, 0xec, 0x10, 0xee, 0x10, 0xee, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x59, 0x22, 0xb2, 0x80, 0x15, 0x1, 0x1, 0x5d, 0x40, 0x13, 0x67, 0x11, 0x77, 0x10, 0x77, 0x11, 0x86, 0xc, 0x85, 0x10, 0x96, 0x11, 0x90, 0x15, 0xa0, 0x15, 0xbf, 0x15, 0x9, 0x5d, 0x1, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x3, 0x23, 0x1, 0x17, 0x1, 0x21, 0x11, 0x7, 0x35, 0xfd, 0x1b, 0x2, 0xc7, 0xfd, 0x39, 0x2, 0xf8, 0xfc, 0x3d, 0xfd, 0xf0, 0xa0, 0xcd, 0x2, 0x71, 0x8b, 0xfe, 0xb6, 0x1, 0xcb, 0x5, 0xd5, 0xaa, 0xfe, 0x46, 0xaa, 0xfd, 0xe3, 0xaa, 0x1, 0x7f, 0xfe, 0x81, 0x5, 0xd5, 0x9e, 0xfc, 0xf0, 0x3, 0x10, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xfe, 0x75, 0x5, 0x27, 0x5, 0xf0, 0x12, 0x26, 0x0, 0x26, 0x0, 0x0, 0x10, 0x7, 0x0, 0x7a, 0x1, 0x2d, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x7, 0x6b, 0x12, 0x26, 0x0, 0x28, 0x0, 0x0, 0x10, 0x7, 0x16, 0xbc, 0x4, 0x9e, 0x1, 0x75, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x7, 0x6b, 0x12, 0x26, 0x0, 0x28, 0x0, 0x0, 0x10, 0x7, 0x16, 0xba, 0x4, 0x9e, 0x1, 0x75, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x7, 0x6d, 0x12, 0x26, 0x0, 0x28, 0x0, 0x0, 0x11, 0x7, 0x16, 0xbd, 0x4, 0x9e, 0x1, 0x75, 0x0, 0x7, 0x40, 0x3, 0x40, 0xc, 0x1, 0x5d, 0x31, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x7, 0x4e, 0x12, 0x26, 0x0, 0x28, 0x0, 0x0, 0x11, 0x7, 0x16, 0xb9, 0x4, 0x9e, 0x1, 0x75, 0x0, 0x9, 0x40, 0x5, 0x40, 0xc, 0x40, 0x10, 0x2, 0x5d, 0x31, 0x0, 0xff, 0xff, 0x0, 0x3b, 0x0, 0x0, 0x1, 0xba, 0x7, 0x6b, 0x12, 0x26, 0x0, 0x2c, 0x0, 0x0, 0x10, 0x7, 0x16, 0xbc, 0x3, 0x2f, 0x1, 0x75, 0xff, 0xff, 0x0, 0xa2, 0x0, 0x0, 0x2, 0x1f, 0x7, 0x6b, 0x12, 0x26, 0x0, 0x2c, 0x0, 0x0, 0x10, 0x7, 0x16, 0xba, 0x3, 0x2f, 0x1, 0x75, 0xff, 0xff, 0xff, 0xfe, 0x0, 0x0, 0x2, 0x60, 0x7, 0x6d, 0x12, 0x26, 0x0, 0x2c, 0x0, 0x0, 0x11, 0x7, 0x16, 0xbd, 0x3, 0x2f, 0x1, 0x75, 0x0, 0x8, 0xb4, 0x1, 0x6, 0xa, 0x0, 0x7, 0x2b, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6, 0x0, 0x0, 0x2, 0x58, 0x7, 0x4e, 0x12, 0x26, 0x0, 0x2c, 0x0, 0x0, 0x11, 0x7, 0x16, 0xb9, 0x3, 0x2f, 0x1, 0x75, 0x0, 0x8, 0xb4, 0x0, 0xa, 0x7, 0x1, 0x7, 0x2b, 0x31, 0x0, 0x0, 0x0, 0x2, 0x0, 0xa, 0x0, 0x0, 0x5, 0xba, 0x5, 0xd5, 0x0, 0xc, 0x0, 0x19, 0x0, 0x67, 0x40, 0x20, 0x10, 0x9, 0xa9, 0xb, 0xd, 0x95, 0x0, 0x81, 0x12, 0x95, 0xe, 0xb, 0x7, 0x7, 0x1, 0x19, 0x13, 0x4, 0xf, 0xd, 0x16, 0x19, 0x4, 0x32, 0xa, 0x11, 0xd, 0x1c, 0x8, 0x0, 0x79, 0x1a, 0x10, 0xf4, 0x3c, 0xec, 0x32, 0xc4, 0xf4, 0xec, 0x10, 0xc4, 0x17, 0x39, 0x31, 0x0, 0x2f, 0xc6, 0x32, 0xee, 0xf6, 0xee, 0x10, 0xee, 0x32, 0x30, 0x40, 0x28, 0x20, 0x1b, 0x7f, 0x1b, 0xb0, 0x1b, 0x3, 0x9f, 0x9, 0x9f, 0xa, 0x9f, 0xb, 0x9f, 0xc, 0x9f, 0xe, 0x9f, 0xf, 0x9f, 0x10, 0x9f, 0x11, 0xbf, 0x9, 0xbf, 0xa, 0xbf, 0xb, 0xbf, 0xc, 0xbf, 0xe, 0xbf, 0xf, 0xbf, 0x10, 0xbf, 0x11, 0x10, 0x5d, 0x1, 0x5d, 0x13, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x29, 0x1, 0x11, 0x23, 0x35, 0x33, 0x13, 0x11, 0x21, 0x15, 0x21, 0x11, 0x33, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0xd3, 0x1, 0xa0, 0x1, 0xb1, 0x1, 0x96, 0xfe, 0x69, 0xfe, 0x50, 0xfe, 0x60, 0xc9, 0xc9, 0xcb, 0x1, 0x50, 0xfe, 0xb0, 0xf3, 0x1, 0x35, 0x1, 0x1f, 0xfe, 0xe1, 0xfe, 0xcb, 0x5, 0xd5, 0xfe, 0x97, 0xfe, 0x80, 0xfe, 0x7e, 0xfe, 0x96, 0x2, 0xbc, 0x90, 0x1, 0xe3, 0xfe, 0x1d, 0x90, 0xfd, 0xea, 0x1, 0x18, 0x1, 0x2e, 0x1, 0x2c, 0x1, 0x17, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x33, 0x7, 0x5e, 0x12, 0x26, 0x0, 0x31, 0x0, 0x0, 0x11, 0x7, 0x16, 0xbb, 0x4, 0xfe, 0x1, 0x75, 0x0, 0x14, 0xb4, 0x0, 0x13, 0x22, 0x4, 0x7, 0x2b, 0x40, 0x9, 0x30, 0x13, 0x3f, 0x22, 0x10, 0x13, 0x1f, 0x22, 0x4, 0x5d, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x7, 0x6b, 0x12, 0x26, 0x0, 0x32, 0x0, 0x0, 0x10, 0x7, 0x16, 0xbc, 0x5, 0x27, 0x1, 0x75, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x7, 0x6b, 0x12, 0x26, 0x0, 0x32, 0x0, 0x0, 0x10, 0x7, 0x16, 0xba, 0x5, 0x27, 0x1, 0x75, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x7, 0x6d, 0x12, 0x26, 0x0, 0x32, 0x0, 0x0, 0x11, 0x7, 0x16, 0xbd, 0x5, 0x27, 0x1, 0x75, 0x0, 0x10, 0xb4, 0xf, 0x1a, 0x1e, 0x15, 0x7, 0x2b, 0x40, 0x5, 0x1f, 0x1a, 0x10, 0x1e, 0x2, 0x5d, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x7, 0x5e, 0x12, 0x26, 0x0, 0x32, 0x0, 0x0, 0x11, 0x7, 0x16, 0xbb, 0x5, 0x27, 0x1, 0x75, 0x0, 0x18, 0xb4, 0x3, 0x21, 0x30, 0x9, 0x7, 0x2b, 0x40, 0xd, 0x30, 0x21, 0x3f, 0x30, 0x20, 0x21, 0x2f, 0x30, 0x10, 0x21, 0x1f, 0x30, 0x6, 0x5d, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x7, 0x4e, 0x12, 0x26, 0x0, 0x32, 0x0, 0x0, 0x11, 0x7, 0x16, 0xb9, 0x5, 0x27, 0x1, 0x75, 0x0, 0x14, 0xb4, 0x3, 0x1f, 0x1a, 0x9, 0x7, 0x2b, 0x40, 0x9, 0x40, 0x1f, 0x4f, 0x1a, 0x10, 0x1f, 0x1f, 0x1a, 0x4, 0x5d, 0x31, 0x0, 0x0, 0x0, 0x1, 0x1, 0x19, 0x0, 0x3f, 0x5, 0x9c, 0x4, 0xc5, 0x0, 0xb, 0x0, 0x85, 0x40, 0x4d, 0xa, 0x9c, 0xb, 0xa, 0x7, 0x8, 0x7, 0x9, 0x9c, 0x8, 0x8, 0x7, 0x4, 0x9c, 0x3, 0x4, 0x7, 0x7, 0x6, 0x5, 0x9c, 0x6, 0x7, 0x6, 0x4, 0x9c, 0x5, 0x4, 0x1, 0x2, 0x1, 0x3, 0x9c, 0x2, 0x2, 0x1, 0xb, 0x9c, 0x0, 0x1, 0x0, 0xa, 0x9c, 0x9, 0xa, 0x1, 0x1, 0x0, 0x42, 0xa, 0x8, 0x7, 0x6, 0x4, 0x2, 0x1, 0x0, 0x8, 0x5, 0x3, 0xb, 0x9, 0xc, 0xb, 0xa, 0x9, 0x7, 0x5, 0x4, 0x3, 0x1, 0x8, 0x2, 0x0, 0x8, 0x6, 0xc, 0x10, 0xd4, 0x3c, 0xcc, 0x32, 0x17, 0x39, 0x31, 0x0, 0x10, 0xd4, 0x3c, 0xcc, 0x32, 0x17, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x59, 0x22, 0x9, 0x2, 0x7, 0x9, 0x1, 0x27, 0x9, 0x1, 0x37, 0x9, 0x1, 0x5, 0x9c, 0xfe, 0x37, 0x1, 0xc9, 0x77, 0xfe, 0x35, 0xfe, 0x35, 0x76, 0x1, 0xc8, 0xfe, 0x38, 0x76, 0x1, 0xcb, 0x1, 0xcb, 0x4, 0x4c, 0xfe, 0x35, 0xfe, 0x37, 0x79, 0x1, 0xcb, 0xfe, 0x35, 0x79, 0x1, 0xc9, 0x1, 0xcb, 0x79, 0xfe, 0x35, 0x1, 0xcb, 0x0, 0x3, 0x0, 0x66, 0xff, 0xba, 0x5, 0xe5, 0x6, 0x17, 0x0, 0x9, 0x0, 0x13, 0x0, 0x2b, 0x0, 0x9e, 0x40, 0x3c, 0x1d, 0x1f, 0x1a, 0xd, 0x2b, 0x2c, 0x13, 0xa, 0x1, 0x0, 0x4, 0xd, 0x29, 0x26, 0x20, 0x14, 0xd, 0x4, 0x2a, 0x26, 0x1e, 0x1a, 0x4, 0x95, 0x26, 0xd, 0x95, 0x1a, 0x91, 0x26, 0x8c, 0x2c, 0x2b, 0x2c, 0x2a, 0x14, 0x17, 0x10, 0x20, 0x1e, 0x23, 0x13, 0xa, 0x1, 0x0, 0x4, 0x1d, 0x29, 0x10, 0x7, 0x1f, 0x7, 0x19, 0x23, 0x33, 0x10, 0x19, 0x17, 0x10, 0x2c, 0x10, 0xfc, 0xec, 0xfc, 0xec, 0xc0, 0x11, 0x12, 0x39, 0x39, 0x17, 0x39, 0x12, 0x39, 0x39, 0x11, 0x12, 0x39, 0x39, 0x11, 0x39, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xec, 0x10, 0xee, 0x10, 0xc0, 0x10, 0xc0, 0x11, 0x12, 0x39, 0x39, 0x12, 0x39, 0x12, 0x17, 0x39, 0x12, 0x39, 0x11, 0x12, 0x39, 0x39, 0x30, 0x40, 0x2a, 0x57, 0x0, 0x5a, 0x15, 0x57, 0x19, 0x55, 0x21, 0x6a, 0x15, 0x65, 0x21, 0x7b, 0x15, 0x76, 0x1c, 0x75, 0x21, 0x9, 0x46, 0x13, 0x59, 0x0, 0x56, 0x13, 0x6a, 0x0, 0x64, 0x13, 0x64, 0x1c, 0x6a, 0x28, 0x7c, 0x0, 0x73, 0x13, 0x76, 0x1c, 0x7a, 0x28, 0xb, 0x5d, 0x1, 0x5d, 0x9, 0x1, 0x1e, 0x1, 0x33, 0x32, 0x0, 0x11, 0x34, 0x26, 0x27, 0x2e, 0x1, 0x23, 0x22, 0x0, 0x11, 0x14, 0x16, 0x17, 0x7, 0x26, 0x2, 0x35, 0x10, 0x0, 0x21, 0x32, 0x16, 0x17, 0x37, 0x17, 0x7, 0x16, 0x12, 0x15, 0x10, 0x0, 0x21, 0x22, 0x26, 0x27, 0x7, 0x27, 0x4, 0xb6, 0xfd, 0x33, 0x3e, 0xa1, 0x5f, 0xdc, 0x1, 0x1, 0x27, 0x79, 0x3d, 0xa1, 0x5f, 0xdc, 0xfe, 0xfd, 0x27, 0x27, 0x86, 0x4e, 0x4f, 0x1, 0x79, 0x1, 0x3b, 0x82, 0xdd, 0x57, 0xa2, 0x66, 0xaa, 0x4e, 0x50, 0xfe, 0x88, 0xfe, 0xc6, 0x80, 0xdd, 0x5b, 0xa2, 0x67, 0x4, 0x58, 0xfc, 0xb2, 0x40, 0x43, 0x1, 0x48, 0x1, 0x1a, 0x70, 0xb8, 0xb8, 0x40, 0x43, 0xfe, 0xb8, 0xfe, 0xe5, 0x70, 0xbc, 0x44, 0x9e, 0x66, 0x1, 0x8, 0xa0, 0x1, 0x62, 0x1, 0xa5, 0x4d, 0x4b, 0xbf, 0x59, 0xc6, 0x67, 0xfe, 0xf6, 0x9e, 0xfe, 0x9f, 0xfe, 0x5b, 0x4b, 0x4b, 0xbf, 0x58, 0xff, 0xff, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x7, 0x6b, 0x12, 0x26, 0x0, 0x38, 0x0, 0x0, 0x10, 0x7, 0x16, 0xbc, 0x4, 0xee, 0x1, 0x75, 0xff, 0xff, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x7, 0x6b, 0x12, 0x26, 0x0, 0x38, 0x0, 0x0, 0x10, 0x7, 0x16, 0xba, 0x4, 0xee, 0x1, 0x75, 0xff, 0xff, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x7, 0x6d, 0x12, 0x26, 0x0, 0x38, 0x0, 0x0, 0x11, 0x7, 0x16, 0xbd, 0x4, 0xee, 0x1, 0x75, 0x0, 0x14, 0xb4, 0xa, 0x14, 0x18, 0x0, 0x7, 0x2b, 0x40, 0x9, 0x2f, 0x14, 0x20, 0x18, 0x1f, 0x14, 0x10, 0x18, 0x4, 0x5d, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x7, 0x4e, 0x12, 0x26, 0x0, 0x38, 0x0, 0x0, 0x11, 0x7, 0x16, 0xb9, 0x4, 0xee, 0x1, 0x75, 0x0, 0x1c, 0xb4, 0x1, 0x19, 0x14, 0x9, 0x7, 0x2b, 0x40, 0x11, 0x50, 0x19, 0x5f, 0x14, 0x40, 0x19, 0x4f, 0x14, 0x20, 0x19, 0x2f, 0x14, 0x10, 0x19, 0x1f, 0x14, 0x8, 0x5d, 0x31, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x4, 0xe7, 0x7, 0x6b, 0x12, 0x26, 0x0, 0x3c, 0x0, 0x0, 0x10, 0x7, 0x16, 0xba, 0x4, 0x73, 0x1, 0x75, 0x0, 0x2, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8d, 0x5, 0xd5, 0x0, 0xc, 0x0, 0x15, 0x0, 0x3d, 0x40, 0x1b, 0xe, 0x95, 0x9, 0xd, 0x95, 0x2, 0xf6, 0x0, 0x81, 0xb, 0x15, 0xf, 0x9, 0x3, 0x4, 0x1, 0x12, 0x19, 0x6, 0x3f, 0xd, 0xa, 0x1, 0x1c, 0x0, 0x4, 0x16, 0x10, 0xfc, 0xec, 0x32, 0x32, 0xfc, 0xec, 0x11, 0x17, 0x39, 0x31, 0x0, 0x2f, 0xf4, 0xfc, 0xec, 0xd4, 0xec, 0x30, 0x40, 0x9, 0xf, 0x17, 0x1f, 0x17, 0x3f, 0x17, 0x5f, 0x17, 0x4, 0x1, 0x5d, 0x13, 0x33, 0x11, 0x33, 0x32, 0x4, 0x15, 0x14, 0x4, 0x2b, 0x1, 0x11, 0x23, 0x13, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0xc9, 0xca, 0xfe, 0xfb, 0x1, 0x1, 0xfe, 0xff, 0xfb, 0xfe, 0xca, 0xca, 0xfe, 0x8d, 0x9a, 0x99, 0x8e, 0x5, 0xd5, 0xfe, 0xf8, 0xe1, 0xdc, 0xdc, 0xe2, 0xfe, 0xae, 0x4, 0x27, 0xfd, 0xd1, 0x92, 0x86, 0x86, 0x91, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0xff, 0xe3, 0x4, 0xac, 0x6, 0x14, 0x0, 0x2f, 0x0, 0x9a, 0x40, 0x30, 0x2d, 0x27, 0x21, 0xc, 0x4, 0x6, 0xd, 0x20, 0x0, 0x4, 0x2a, 0x16, 0x86, 0x17, 0x1a, 0xb9, 0x13, 0x2a, 0xb9, 0x3, 0x97, 0x13, 0x8c, 0x2e, 0xc, 0x9, 0xd, 0x1d, 0x20, 0x21, 0x27, 0x9, 0x8, 0x24, 0x27, 0x8, 0x6, 0x1d, 0x8, 0x24, 0x10, 0x16, 0x2d, 0x8, 0x10, 0x0, 0x46, 0x30, 0x10, 0xfc, 0xc4, 0xfc, 0xcc, 0x10, 0xc6, 0xee, 0xd4, 0xee, 0x10, 0xee, 0x11, 0x39, 0x39, 0x12, 0x39, 0x12, 0x39, 0x31, 0x0, 0x2f, 0xe4, 0xfe, 0xee, 0x10, 0xfe, 0xd5, 0xee, 0x12, 0x17, 0x39, 0x17, 0x39, 0x30, 0x40, 0x40, 0xf, 0x5, 0xf, 0x6, 0xf, 0x7, 0xf, 0x27, 0xf, 0x28, 0x8a, 0xc, 0x8a, 0xd, 0x7, 0xa, 0x6, 0xa, 0x7, 0xa, 0xb, 0xa, 0xc, 0xa, 0xd, 0xa, 0x1f, 0xd, 0x20, 0xa, 0x21, 0xc, 0x22, 0x4, 0x26, 0x19, 0xd, 0x19, 0x1f, 0x19, 0x20, 0x3a, 0x20, 0x3a, 0x21, 0x4d, 0x1f, 0x4d, 0x20, 0x49, 0x21, 0x49, 0x22, 0x6a, 0x1f, 0x6a, 0x20, 0xa5, 0x6, 0xa5, 0x7, 0xa6, 0x20, 0x18, 0x5d, 0x1, 0x5d, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0xe, 0x1, 0x15, 0x14, 0x16, 0x1f, 0x1, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2f, 0x1, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0xba, 0xef, 0xda, 0xd0, 0xdb, 0x3, 0x97, 0xa8, 0x3a, 0x41, 0x39, 0xa6, 0x60, 0xe1, 0xd3, 0x40, 0x88, 0x49, 0x50, 0x8c, 0x41, 0x74, 0x78, 0x3b, 0x65, 0x5c, 0x60, 0x57, 0xa7, 0x97, 0x8, 0x83, 0x71, 0x82, 0x88, 0xbb, 0x4, 0x71, 0xc8, 0xdb, 0xe8, 0xe0, 0x8, 0x73, 0x60, 0x2f, 0x51, 0x2a, 0x25, 0x6a, 0x8e, 0x64, 0xac, 0xb7, 0x19, 0x18, 0xa4, 0x1e, 0x1d, 0x5f, 0x5b, 0x3f, 0x54, 0x3e, 0x37, 0x3b, 0x87, 0x5b, 0x7f, 0xac, 0x1d, 0x67, 0x70, 0x8b, 0x83, 0xfb, 0x93, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0x2d, 0x6, 0x66, 0x12, 0x26, 0x0, 0x44, 0x0, 0x0, 0x11, 0x6, 0x0, 0x43, 0x52, 0x0, 0x0, 0xb, 0x40, 0x7, 0x3f, 0x26, 0x2f, 0x26, 0x1f, 0x26, 0x3, 0x5d, 0x31, 0x0, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0x2d, 0x6, 0x66, 0x12, 0x26, 0x0, 0x44, 0x0, 0x0, 0x11, 0x6, 0x0, 0x76, 0x52, 0x0, 0x0, 0xb, 0x40, 0x7, 0x3f, 0x26, 0x2f, 0x26, 0x1f, 0x26, 0x3, 0x5d, 0x31, 0x0, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0x2d, 0x6, 0x66, 0x12, 0x26, 0x0, 0x44, 0x0, 0x0, 0x11, 0x6, 0x2, 0x88, 0x52, 0x0, 0x0, 0x8, 0xb4, 0xb, 0x28, 0x2c, 0x14, 0x7, 0x2b, 0x31, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0x2d, 0x6, 0x37, 0x12, 0x26, 0x0, 0x44, 0x0, 0x0, 0x11, 0x6, 0x2, 0x9e, 0x52, 0x0, 0x0, 0x14, 0xb4, 0x14, 0x2e, 0x3c, 0xb, 0x7, 0x2b, 0x40, 0x9, 0x20, 0x2e, 0x2f, 0x3c, 0x10, 0x2e, 0x1f, 0x3c, 0x4, 0x5d, 0x31, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0x2d, 0x6, 0x10, 0x12, 0x26, 0x0, 0x44, 0x0, 0x0, 0x11, 0x6, 0x0, 0x6a, 0x52, 0x0, 0x0, 0x20, 0xb4, 0x14, 0x2d, 0x28, 0xb, 0x7, 0x2b, 0x40, 0x15, 0x7f, 0x28, 0x6f, 0x28, 0x50, 0x2d, 0x5f, 0x28, 0x40, 0x2d, 0x4f, 0x28, 0x30, 0x2d, 0x3f, 0x28, 0x0, 0x2d, 0xf, 0x28, 0xa, 0x5d, 0x31, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0x2d, 0x7, 0x6, 0x12, 0x26, 0x0, 0x44, 0x0, 0x0, 0x11, 0x6, 0x2, 0x9c, 0x52, 0x0, 0x0, 0x25, 0x40, 0xe, 0x26, 0x2c, 0x14, 0x2c, 0x26, 0xb, 0x7, 0x32, 0x38, 0x14, 0x38, 0x32, 0xb, 0x7, 0x2b, 0x10, 0xc4, 0x2b, 0x10, 0xc4, 0x31, 0x0, 0x40, 0x9, 0x3f, 0x35, 0x3f, 0x2f, 0xf, 0x35, 0xf, 0x2f, 0x4, 0x5d, 0x30, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x7b, 0xff, 0xe3, 0x7, 0x6f, 0x4, 0x7b, 0x0, 0x6, 0x0, 0x33, 0x0, 0x3e, 0x1, 0x3, 0x40, 0x43, 0x27, 0x2d, 0x25, 0x3d, 0xe, 0xd, 0x0, 0x34, 0xa9, 0x25, 0x16, 0x86, 0x15, 0x88, 0x12, 0x0, 0xa9, 0xe, 0x3a, 0x12, 0xb9, 0x1c, 0x19, 0x2e, 0x86, 0x2d, 0xba, 0x2a, 0x3, 0xb9, 0xe, 0xbb, 0x7, 0x31, 0xa, 0xb8, 0x1f, 0x19, 0x8c, 0x25, 0x3f, 0x34, 0x37, 0x26, 0x6, 0xf, 0x0, 0x25, 0x37, 0x1c, 0x7, 0x26, 0xf, 0x15, 0x0, 0x8, 0xd, 0x3d, 0x26, 0x8, 0xf, 0x2d, 0x37, 0x8, 0x22, 0x45, 0x3f, 0x10, 0xfc, 0xec, 0xcc, 0xd4, 0xfc, 0x3c, 0xd4, 0xec, 0xc4, 0x11, 0x12, 0x39, 0x39, 0x11, 0x39, 0x11, 0x12, 0x39, 0x11, 0x12, 0x39, 0x31, 0x0, 0x10, 0xc4, 0xe4, 0x32, 0xf4, 0x3c, 0xc4, 0xe4, 0xfc, 0x3c, 0xf4, 0xec, 0x10, 0xc4, 0xee, 0x32, 0x10, 0xee, 0x10, 0xf4, 0xee, 0x10, 0xee, 0x11, 0x39, 0x11, 0x39, 0x11, 0x12, 0x39, 0x30, 0x40, 0x81, 0x30, 0x2b, 0x30, 0x2c, 0x30, 0x2d, 0x30, 0x2e, 0x30, 0x2f, 0x30, 0x30, 0x40, 0x2b, 0x40, 0x2c, 0x40, 0x2d, 0x40, 0x2e, 0x40, 0x2f, 0x40, 0x30, 0x50, 0x2b, 0x50, 0x2c, 0x50, 0x2d, 0x50, 0x2e, 0x50, 0x2f, 0x50, 0x30, 0x85, 0x2b, 0x85, 0x30, 0x80, 0x40, 0x90, 0x40, 0xa0, 0x40, 0xb0, 0x40, 0xc0, 0x40, 0xd0, 0x40, 0xe0, 0x40, 0xe0, 0x40, 0xf0, 0x40, 0x1d, 0x3f, 0x0, 0x3f, 0x6, 0x3f, 0xd, 0x3f, 0xe, 0x3f, 0xf, 0x5, 0x30, 0x2c, 0x30, 0x2d, 0x30, 0x2e, 0x30, 0x2f, 0x40, 0x2c, 0x40, 0x2d, 0x40, 0x2e, 0x40, 0x2f, 0x50, 0x2c, 0x50, 0x2d, 0x50, 0x2e, 0x50, 0x2f, 0x6f, 0x0, 0x6f, 0x6, 0x6f, 0xd, 0x6f, 0xe, 0x6f, 0xf, 0x60, 0x2c, 0x60, 0x2d, 0x60, 0x2e, 0x60, 0x2f, 0x70, 0x2c, 0x70, 0x2d, 0x70, 0x2e, 0x70, 0x2f, 0x80, 0x2c, 0x80, 0x2d, 0x80, 0x2e, 0x80, 0x2f, 0x1d, 0x5d, 0x71, 0x1, 0x5d, 0x1, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x7, 0x3, 0x3e, 0x1, 0x33, 0x32, 0x0, 0x1d, 0x1, 0x21, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x26, 0x27, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x21, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x3, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3d, 0x1, 0x6, 0xb6, 0x1, 0xa5, 0x89, 0x99, 0xb9, 0xe, 0x44, 0x4a, 0xd4, 0x84, 0xe2, 0x1, 0x8, 0xfc, 0xb2, 0xc, 0xcc, 0xb7, 0x68, 0xc8, 0x64, 0x64, 0xd0, 0x6a, 0xa7, 0xf8, 0x4d, 0x49, 0xd8, 0x8f, 0xbd, 0xd2, 0xfd, 0xfb, 0x1, 0x2, 0xa7, 0x97, 0x60, 0xb6, 0x54, 0x65, 0xbe, 0x5a, 0x8e, 0xd5, 0xef, 0xdf, 0xac, 0x81, 0x6f, 0x99, 0xb9, 0x2, 0x94, 0x97, 0xb4, 0xae, 0x9e, 0x1, 0x30, 0x5a, 0x5e, 0xfe, 0xdd, 0xfa, 0x5a, 0xbf, 0xc8, 0x35, 0x35, 0xae, 0x2a, 0x2c, 0x79, 0x77, 0x78, 0x78, 0xbb, 0xa8, 0xbd, 0xc0, 0x12, 0x7f, 0x8b, 0x2e, 0x2e, 0xaa, 0x27, 0x27, 0x60, 0xfe, 0x18, 0x66, 0x7b, 0x62, 0x73, 0xd9, 0xb4, 0x29, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x75, 0x3, 0xe7, 0x4, 0x7b, 0x12, 0x26, 0x0, 0x46, 0x0, 0x0, 0x10, 0x7, 0x0, 0x7a, 0x0, 0x8f, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x7f, 0x6, 0x66, 0x12, 0x26, 0x0, 0x48, 0x0, 0x0, 0x10, 0x7, 0x0, 0x43, 0x0, 0x8b, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x7f, 0x6, 0x66, 0x12, 0x26, 0x0, 0x48, 0x0, 0x0, 0x10, 0x7, 0x0, 0x76, 0x0, 0x8b, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x7f, 0x6, 0x66, 0x12, 0x26, 0x0, 0x48, 0x0, 0x0, 0x11, 0x7, 0x2, 0x88, 0x0, 0x8b, 0x0, 0x0, 0x0, 0x8, 0xb4, 0x15, 0x1e, 0x22, 0x1b, 0x7, 0x2b, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x7f, 0x6, 0x10, 0x12, 0x26, 0x0, 0x48, 0x0, 0x0, 0x11, 0x7, 0x0, 0x6a, 0x0, 0x8b, 0x0, 0x0, 0x0, 0x7, 0x40, 0x3, 0x40, 0x20, 0x1, 0x5d, 0x31, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xc7, 0x0, 0x0, 0x1, 0xa6, 0x6, 0x66, 0x10, 0x27, 0x0, 0x43, 0xff, 0x1d, 0x0, 0x0, 0x12, 0x6, 0x0, 0xf3, 0x0, 0x0, 0xff, 0xff, 0x0, 0x90, 0x0, 0x0, 0x2, 0x6f, 0x6, 0x66, 0x10, 0x27, 0x0, 0x76, 0xff, 0x1d, 0x0, 0x0, 0x12, 0x6, 0x0, 0xf3, 0x0, 0x0, 0xff, 0xff, 0xff, 0xde, 0x0, 0x0, 0x2, 0x5c, 0x6, 0x66, 0x12, 0x26, 0x0, 0xf3, 0x0, 0x0, 0x11, 0x7, 0x2, 0x88, 0xff, 0x1d, 0x0, 0x0, 0x0, 0x8, 0xb4, 0x1, 0x7, 0xb, 0x0, 0x7, 0x2b, 0x31, 0x0, 0x0, 0xff, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x2, 0x46, 0x6, 0x10, 0x12, 0x26, 0x0, 0xf3, 0x0, 0x0, 0x11, 0x7, 0x0, 0x6a, 0xff, 0x1d, 0x0, 0x0, 0x0, 0x8, 0xb4, 0x0, 0xb, 0x8, 0x1, 0x7, 0x2b, 0x31, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x6, 0x14, 0x0, 0xe, 0x0, 0x28, 0x1, 0x27, 0x40, 0x5e, 0x25, 0x7b, 0x26, 0x25, 0x1e, 0x23, 0x1e, 0x24, 0x7b, 0x23, 0x23, 0x1e, 0xf, 0x7b, 0x23, 0x1e, 0x28, 0x7b, 0x27, 0x28, 0x1e, 0x23, 0x1e, 0x26, 0x27, 0x28, 0x27, 0x25, 0x24, 0x25, 0x28, 0x28, 0x27, 0x22, 0x23, 0x22, 0x1f, 0x20, 0x1f, 0x21, 0x20, 0x20, 0x1f, 0x42, 0x28, 0x27, 0x26, 0x25, 0x22, 0x21, 0x20, 0x1f, 0x8, 0x23, 0x1e, 0x3, 0xf, 0x23, 0x3, 0xb9, 0x1b, 0x9, 0xb9, 0x15, 0x8c, 0x1b, 0x23, 0xb1, 0x29, 0x26, 0x27, 0x12, 0xc, 0x21, 0x20, 0x18, 0x28, 0x25, 0x23, 0x22, 0x1f, 0x5, 0x1e, 0xf, 0x6, 0xc, 0x12, 0x12, 0x51, 0x6, 0x12, 0x18, 0x45, 0x29, 0x10, 0xfc, 0xec, 0xf4, 0xec, 0x11, 0x39, 0x39, 0x17, 0x39, 0x12, 0x39, 0x39, 0x11, 0x12, 0x39, 0x39, 0x31, 0x0, 0x10, 0xec, 0xc4, 0xf4, 0xec, 0x10, 0xee, 0x12, 0x39, 0x12, 0x39, 0x12, 0x17, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0xe, 0xc9, 0x7, 0x10, 0x8, 0xc9, 0x7, 0x10, 0x8, 0xc9, 0x7, 0x10, 0xe, 0xc9, 0x7, 0x10, 0x8, 0xed, 0x7, 0xe, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x59, 0x22, 0xb2, 0x3f, 0x2a, 0x1, 0x1, 0x5d, 0x40, 0x76, 0x16, 0x25, 0x2b, 0x1f, 0x28, 0x22, 0x2f, 0x23, 0x2f, 0x24, 0x29, 0x25, 0x2d, 0x26, 0x2d, 0x27, 0x2a, 0x28, 0x36, 0x25, 0x46, 0x25, 0x58, 0x20, 0x58, 0x21, 0x60, 0x20, 0x60, 0x21, 0x66, 0x22, 0x75, 0x20, 0x75, 0x21, 0x75, 0x22, 0x13, 0x25, 0x23, 0x25, 0x24, 0x26, 0x26, 0x26, 0x27, 0x27, 0x28, 0x36, 0x24, 0x36, 0x25, 0x46, 0x24, 0x45, 0x25, 0x5a, 0x20, 0x5a, 0x21, 0x62, 0x20, 0x62, 0x21, 0x7f, 0x0, 0x7f, 0x1, 0x7f, 0x2, 0x7a, 0x3, 0x7b, 0x9, 0x7f, 0xa, 0x7f, 0xb, 0x7f, 0xc, 0x7f, 0xd, 0x7f, 0xe, 0x7f, 0xf, 0x7f, 0x10, 0x7f, 0x11, 0x7f, 0x12, 0x7f, 0x13, 0x7f, 0x14, 0x7b, 0x15, 0x7a, 0x1b, 0x7a, 0x1c, 0x7f, 0x1d, 0x7f, 0x1e, 0x76, 0x20, 0x76, 0x21, 0x78, 0x22, 0xa0, 0x2a, 0xf0, 0x2a, 0x27, 0x5d, 0x0, 0x5d, 0x1, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x13, 0x16, 0x12, 0x15, 0x14, 0x0, 0x23, 0x22, 0x0, 0x11, 0x34, 0x0, 0x33, 0x32, 0x16, 0x17, 0x27, 0x5, 0x27, 0x25, 0x27, 0x33, 0x17, 0x25, 0x17, 0x5, 0x3, 0x46, 0x32, 0x58, 0x29, 0xa7, 0xb9, 0xae, 0x92, 0x91, 0xae, 0x36, 0x9, 0x7e, 0x72, 0xfe, 0xe4, 0xe6, 0xe7, 0xfe, 0xe5, 0x1, 0x14, 0xdd, 0x12, 0x34, 0x2a, 0x9f, 0xfe, 0xc1, 0x21, 0x1, 0x19, 0xb5, 0xe4, 0x7f, 0x1, 0x4d, 0x21, 0xfe, 0xd9, 0x3, 0x93, 0x11, 0x10, 0xd8, 0xc3, 0xbc, 0xde, 0xde, 0xbc, 0x7a, 0xbc, 0x1, 0x26, 0x8f, 0xfe, 0xe0, 0xad, 0xff, 0xfe, 0xc9, 0x1, 0x37, 0x0, 0xff, 0xfa, 0x1, 0x37, 0x5, 0x5, 0xb4, 0x6b, 0x63, 0x5c, 0xcc, 0x91, 0x6f, 0x61, 0x62, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x4, 0x64, 0x6, 0x37, 0x12, 0x26, 0x0, 0x51, 0x0, 0x0, 0x10, 0x7, 0x2, 0x9e, 0x0, 0x98, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x6, 0x66, 0x12, 0x26, 0x0, 0x52, 0x0, 0x0, 0x10, 0x6, 0x0, 0x43, 0x73, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x6, 0x66, 0x12, 0x26, 0x0, 0x52, 0x0, 0x0, 0x10, 0x6, 0x0, 0x76, 0x73, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x6, 0x66, 0x12, 0x26, 0x0, 0x52, 0x0, 0x0, 0x11, 0x6, 0x2, 0x88, 0x73, 0x0, 0x0, 0x8, 0xb4, 0xf, 0x1a, 0x1e, 0x15, 0x7, 0x2b, 0x31, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x6, 0x37, 0x12, 0x26, 0x0, 0x52, 0x0, 0x0, 0x11, 0x6, 0x2, 0x9e, 0x73, 0x0, 0x0, 0x14, 0xb4, 0x15, 0x20, 0x2e, 0xf, 0x7, 0x2b, 0x40, 0x9, 0x20, 0x20, 0x2f, 0x2e, 0x10, 0x20, 0x1f, 0x2e, 0x4, 0x5d, 0x31, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x6, 0x10, 0x12, 0x26, 0x0, 0x52, 0x0, 0x0, 0x11, 0x6, 0x0, 0x6a, 0x73, 0x0, 0x0, 0x14, 0xb4, 0x3, 0x1f, 0x1a, 0x9, 0x7, 0x2b, 0x40, 0x9, 0x40, 0x1f, 0x4f, 0x1a, 0x30, 0x1f, 0x3f, 0x1a, 0x4, 0x5d, 0x31, 0x0, 0x3, 0x0, 0xd9, 0x0, 0x96, 0x5, 0xdb, 0x4, 0x6f, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x29, 0x40, 0x14, 0x0, 0xea, 0x2, 0x6, 0xea, 0x4, 0x2, 0x8, 0x9c, 0x4, 0xa, 0xc, 0x9, 0x5, 0x1, 0x72, 0x4, 0x0, 0x8, 0xc, 0x10, 0xdc, 0xd4, 0x3c, 0xfc, 0x3c, 0xc4, 0x31, 0x0, 0x10, 0xd4, 0xc4, 0xfc, 0xc4, 0x10, 0xee, 0x10, 0xee, 0x30, 0x1, 0x33, 0x15, 0x23, 0x11, 0x33, 0x15, 0x23, 0x1, 0x21, 0x15, 0x21, 0x2, 0xdf, 0xf6, 0xf6, 0xf6, 0xf6, 0xfd, 0xfa, 0x5, 0x2, 0xfa, 0xfe, 0x4, 0x6f, 0xf6, 0xfe, 0x12, 0xf5, 0x2, 0x41, 0xaa, 0x0, 0x3, 0x0, 0x48, 0xff, 0xa2, 0x4, 0x9c, 0x4, 0xbc, 0x0, 0x9, 0x0, 0x13, 0x0, 0x2b, 0x0, 0xe4, 0x40, 0x3c, 0x2b, 0x2c, 0x26, 0x1f, 0x1d, 0x1a, 0x13, 0xa, 0x1, 0x0, 0x4, 0xd, 0x29, 0x26, 0x20, 0x14, 0xd, 0x4, 0x2a, 0x26, 0x1e, 0x1a, 0x4, 0xb9, 0x26, 0xd, 0xb9, 0x1a, 0xb8, 0x26, 0x8c, 0x2c, 0x2b, 0x2c, 0x2a, 0x14, 0x17, 0x10, 0x20, 0x1e, 0x23, 0x13, 0xa, 0x1, 0x0, 0x4, 0x10, 0x7, 0x1f, 0x1d, 0x7, 0x12, 0x23, 0x51, 0x29, 0x10, 0x12, 0x17, 0x45, 0x2c, 0x10, 0xfc, 0xec, 0x32, 0xf4, 0xec, 0x32, 0xc0, 0x11, 0x12, 0x17, 0x39, 0x12, 0x39, 0x39, 0x11, 0x12, 0x39, 0x39, 0x11, 0x39, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xec, 0x10, 0xee, 0x10, 0xc0, 0x10, 0xc0, 0x11, 0x12, 0x39, 0x39, 0x12, 0x39, 0x12, 0x17, 0x39, 0x11, 0x39, 0x39, 0x11, 0x12, 0x39, 0x30, 0x40, 0x70, 0x28, 0x1, 0x3f, 0x2d, 0x59, 0x14, 0x56, 0x1c, 0x55, 0x1d, 0x56, 0x20, 0x6a, 0x15, 0x66, 0x21, 0x7f, 0x0, 0x7b, 0x4, 0x7f, 0x5, 0x7f, 0x6, 0x7f, 0x7, 0x7f, 0x8, 0x7f, 0x9, 0x7f, 0xa, 0x7f, 0xb, 0x7f, 0xc, 0x7b, 0xd, 0x7a, 0x15, 0x7b, 0x1a, 0x7f, 0x1b, 0x7f, 0x1c, 0x7f, 0x1d, 0x7f, 0x1e, 0x7f, 0x1f, 0x7f, 0x20, 0x7b, 0x21, 0x7f, 0x22, 0x7f, 0x23, 0x7f, 0x24, 0x7f, 0x25, 0x7b, 0x26, 0x9b, 0x19, 0x95, 0x25, 0xa8, 0x19, 0xa0, 0x2d, 0xf0, 0x2d, 0x26, 0x59, 0x0, 0x56, 0x13, 0x55, 0x1d, 0x5a, 0x28, 0x69, 0x0, 0x66, 0x13, 0x65, 0x1c, 0x6a, 0x28, 0x7a, 0x0, 0x74, 0x13, 0x76, 0x1c, 0x7a, 0x28, 0x89, 0x1e, 0x95, 0x18, 0x9a, 0x24, 0xa2, 0x18, 0xad, 0x24, 0x11, 0x5d, 0x1, 0x5d, 0x9, 0x1, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x7, 0x2e, 0x1, 0x35, 0x10, 0x0, 0x33, 0x32, 0x16, 0x17, 0x37, 0x17, 0x7, 0x1e, 0x1, 0x15, 0x10, 0x0, 0x23, 0x22, 0x26, 0x27, 0x7, 0x27, 0x3, 0x89, 0xfe, 0x19, 0x29, 0x67, 0x41, 0x93, 0xac, 0x14, 0x5c, 0x2a, 0x67, 0x3e, 0x97, 0xa9, 0x13, 0x14, 0x7d, 0x36, 0x36, 0x1, 0x11, 0xf1, 0x5d, 0x9f, 0x43, 0x8b, 0x5f, 0x92, 0x35, 0x36, 0xfe, 0xee, 0xf0, 0x60, 0xa1, 0x3f, 0x8b, 0x60, 0x3, 0x21, 0xfd, 0xb0, 0x2a, 0x28, 0xe8, 0xc8, 0x4f, 0x75, 0x9a, 0x29, 0x29, 0xeb, 0xd3, 0x48, 0x6e, 0x2e, 0x97, 0x4d, 0xc5, 0x77, 0x1, 0x14, 0x1, 0x38, 0x33, 0x34, 0xa8, 0x4f, 0xb3, 0x4d, 0xc6, 0x78, 0xfe, 0xed, 0xfe, 0xc7, 0x34, 0x33, 0xa8, 0x4e, 0xff, 0xff, 0x0, 0xae, 0xff, 0xe3, 0x4, 0x58, 0x6, 0x66, 0x12, 0x26, 0x0, 0x58, 0x0, 0x0, 0x10, 0x6, 0x0, 0x43, 0x7b, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xae, 0xff, 0xe3, 0x4, 0x58, 0x6, 0x66, 0x12, 0x26, 0x0, 0x58, 0x0, 0x0, 0x10, 0x6, 0x0, 0x76, 0x7b, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xae, 0xff, 0xe3, 0x4, 0x58, 0x6, 0x66, 0x12, 0x26, 0x0, 0x58, 0x0, 0x0, 0x11, 0x6, 0x2, 0x88, 0x7b, 0x0, 0x0, 0x8, 0xb4, 0xb, 0x17, 0x1b, 0x1, 0x7, 0x2b, 0x31, 0xff, 0xff, 0x0, 0xae, 0xff, 0xe3, 0x4, 0x58, 0x6, 0x10, 0x12, 0x26, 0x0, 0x58, 0x0, 0x0, 0x11, 0x6, 0x0, 0x6a, 0x7b, 0x0, 0x0, 0x18, 0xb4, 0x2, 0x1b, 0x18, 0xa, 0x7, 0x2b, 0x40, 0xd, 0x40, 0x1b, 0x4f, 0x18, 0x30, 0x1b, 0x3f, 0x18, 0x0, 0x1b, 0xf, 0x18, 0x6, 0x5d, 0x31, 0xff, 0xff, 0x0, 0x3d, 0xfe, 0x56, 0x4, 0x7f, 0x6, 0x66, 0x12, 0x26, 0x0, 0x5c, 0x0, 0x0, 0x10, 0x6, 0x0, 0x76, 0x5e, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0xfe, 0x56, 0x4, 0xa4, 0x6, 0x14, 0x0, 0x10, 0x0, 0x1c, 0x0, 0x3e, 0x40, 0x1b, 0x14, 0xb9, 0x5, 0x8, 0x1a, 0xb9, 0x0, 0xe, 0x8c, 0x8, 0xb8, 0x1, 0xbd, 0x3, 0x97, 0x1d, 0x11, 0x12, 0xb, 0x47, 0x17, 0x4, 0x0, 0x8, 0x2, 0x46, 0x1d, 0x10, 0xfc, 0xec, 0x32, 0x32, 0xf4, 0xec, 0x31, 0x0, 0x10, 0xec, 0xe4, 0xe4, 0xf4, 0xc4, 0xec, 0x10, 0xc6, 0xee, 0x30, 0x40, 0x9, 0x60, 0x1e, 0x80, 0x1e, 0xa0, 0x1e, 0xe0, 0x1e, 0x4, 0x1, 0x5d, 0x25, 0x11, 0x23, 0x11, 0x33, 0x11, 0x3e, 0x1, 0x33, 0x32, 0x0, 0x11, 0x10, 0x2, 0x23, 0x22, 0x26, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x1, 0x73, 0xb9, 0xb9, 0x3a, 0xb1, 0x7b, 0xcc, 0x0, 0xff, 0xff, 0xcc, 0x7b, 0xb1, 0x2, 0x38, 0xa7, 0x92, 0x92, 0xa7, 0xa7, 0x92, 0x92, 0xa7, 0xa8, 0xfd, 0xae, 0x7, 0xbe, 0xfd, 0xa2, 0x64, 0x61, 0xfe, 0xbc, 0xfe, 0xf8, 0xfe, 0xf8, 0xfe, 0xbc, 0x61, 0x1, 0xeb, 0xcb, 0xe7, 0xe7, 0xcb, 0xcb, 0xe7, 0xe7, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3d, 0xfe, 0x56, 0x4, 0x7f, 0x6, 0x10, 0x12, 0x26, 0x0, 0x5c, 0x0, 0x0, 0x11, 0x6, 0x0, 0x6a, 0x5e, 0x0, 0x0, 0x16, 0xb4, 0x18, 0x17, 0x12, 0x19, 0x7, 0x2b, 0x40, 0xb, 0x30, 0x17, 0x3f, 0x12, 0x20, 0x17, 0x2f, 0x12, 0x1f, 0x12, 0x5, 0x5d, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x7, 0x31, 0x10, 0x27, 0x0, 0x71, 0x0, 0xbc, 0x1, 0x3b, 0x13, 0x6, 0x0, 0x24, 0x0, 0x0, 0x0, 0x10, 0xb4, 0xe, 0x3, 0x2, 0x9, 0x7, 0x2b, 0x40, 0x5, 0x40, 0x3, 0x4f, 0x2, 0x2, 0x5d, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0x2d, 0x5, 0xf6, 0x10, 0x26, 0x0, 0x71, 0x4a, 0x0, 0x13, 0x6, 0x0, 0x44, 0x0, 0x0, 0x0, 0x10, 0xb4, 0x18, 0x3, 0x2, 0xf, 0x7, 0x2b, 0x40, 0x5, 0x6f, 0x2, 0x7f, 0x3, 0x2, 0x5d, 0x31, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x7, 0x92, 0x10, 0x27, 0x2, 0x9a, 0x0, 0xce, 0x1, 0x4a, 0x13, 0x6, 0x0, 0x24, 0x0, 0x0, 0x0, 0x12, 0xb4, 0x18, 0x0, 0x8, 0x13, 0x7, 0x2b, 0x31, 0x0, 0x40, 0x5, 0x6f, 0x0, 0x6f, 0x8, 0x2, 0x5d, 0x30, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0x2d, 0x6, 0x1f, 0x10, 0x26, 0x2, 0x9a, 0x4f, 0xd7, 0x13, 0x6, 0x0, 0x44, 0x0, 0x0, 0x0, 0x8, 0xb4, 0x22, 0x0, 0x8, 0x19, 0x7, 0x2b, 0x31, 0xff, 0xff, 0x0, 0x10, 0xfe, 0x75, 0x5, 0xa5, 0x5, 0xd5, 0x12, 0x26, 0x0, 0x24, 0x0, 0x0, 0x10, 0x7, 0x2, 0x9d, 0x2, 0xe4, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7b, 0xfe, 0x75, 0x4, 0x80, 0x4, 0x7b, 0x12, 0x26, 0x0, 0x44, 0x0, 0x0, 0x10, 0x7, 0x2, 0x9d, 0x1, 0xbf, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x27, 0x7, 0x6b, 0x12, 0x26, 0x0, 0x26, 0x0, 0x0, 0x10, 0x7, 0x16, 0xba, 0x5, 0x2d, 0x1, 0x75, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x3, 0xe7, 0x6, 0x66, 0x12, 0x26, 0x0, 0x46, 0x0, 0x0, 0x10, 0x7, 0x0, 0x76, 0x0, 0x89, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x27, 0x7, 0x6d, 0x10, 0x27, 0x16, 0xbd, 0x5, 0x4c, 0x1, 0x75, 0x13, 0x6, 0x0, 0x26, 0x0, 0x0, 0x0, 0x9, 0xb2, 0x4, 0x4, 0x1e, 0x10, 0x3c, 0x3d, 0x2f, 0x31, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x3, 0xe7, 0x6, 0x66, 0x12, 0x26, 0x0, 0x46, 0x0, 0x0, 0x10, 0x7, 0x2, 0x88, 0x0, 0xa4, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x27, 0x7, 0x50, 0x10, 0x27, 0x16, 0xc1, 0x5, 0x4c, 0x1, 0x75, 0x12, 0x6, 0x0, 0x26, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x3, 0xe7, 0x6, 0x14, 0x10, 0x27, 0x2, 0xb8, 0x4, 0xa4, 0x0, 0x0, 0x12, 0x6, 0x0, 0x46, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x27, 0x7, 0x6d, 0x12, 0x26, 0x0, 0x26, 0x0, 0x0, 0x11, 0x7, 0x16, 0xbe, 0x5, 0x2d, 0x1, 0x75, 0x0, 0x7, 0x40, 0x3, 0x1f, 0x1d, 0x1, 0x5d, 0x31, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x3, 0xe7, 0x6, 0x66, 0x12, 0x26, 0x0, 0x46, 0x0, 0x0, 0x10, 0x7, 0x2, 0x89, 0x0, 0x89, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xb0, 0x7, 0x6d, 0x10, 0x27, 0x16, 0xbe, 0x4, 0xec, 0x1, 0x75, 0x12, 0x6, 0x0, 0x27, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x5, 0xdb, 0x6, 0x14, 0x12, 0x26, 0x0, 0x47, 0x0, 0x0, 0x11, 0x7, 0x16, 0xb8, 0x5, 0x14, 0x0, 0x0, 0x0, 0xb, 0x40, 0x7, 0x5f, 0x1d, 0x3f, 0x1d, 0x1f, 0x1d, 0x3, 0x5d, 0x31, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xa, 0x0, 0x0, 0x5, 0xba, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x92, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0xff, 0xe3, 0x4, 0xf4, 0x6, 0x14, 0x0, 0x18, 0x0, 0x24, 0x0, 0x4a, 0x40, 0x24, 0x7, 0x3, 0xd3, 0x9, 0x1, 0xf9, 0x22, 0xb9, 0x0, 0x16, 0x1c, 0xb9, 0xd, 0x10, 0x8c, 0x16, 0xb8, 0x5, 0x97, 0xb, 0x2, 0x1f, 0xc, 0x4, 0x3, 0x0, 0x8, 0x8, 0xa, 0x6, 0x47, 0x19, 0x12, 0x13, 0x45, 0x25, 0x10, 0xfc, 0xec, 0xf4, 0x3c, 0xc4, 0xfc, 0x17, 0x3c, 0xc4, 0x31, 0x0, 0x2f, 0xec, 0xe4, 0xf4, 0xc4, 0xec, 0x10, 0xc4, 0xee, 0xfd, 0x3c, 0xee, 0x32, 0x30, 0xb6, 0x60, 0x26, 0x80, 0x26, 0xa0, 0x26, 0x3, 0x1, 0x5d, 0x1, 0x11, 0x21, 0x35, 0x21, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x2, 0x11, 0x10, 0x0, 0x33, 0x32, 0x16, 0x1, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x3, 0xa2, 0xfe, 0xba, 0x1, 0x46, 0xb8, 0x9a, 0x9a, 0xb8, 0x3a, 0xb1, 0x7c, 0xcb, 0xff, 0x0, 0xff, 0xcb, 0x7c, 0xb1, 0xfd, 0xc7, 0xa7, 0x92, 0x92, 0xa8, 0xa8, 0x92, 0x92, 0xa7, 0x3, 0xb6, 0x1, 0x4e, 0x7d, 0x93, 0x93, 0x7d, 0xfa, 0xfc, 0xa8, 0x64, 0x61, 0x1, 0x44, 0x1, 0x8, 0x1, 0x8, 0x1, 0x44, 0x61, 0xfe, 0x15, 0xcb, 0xe7, 0xe7, 0xcb, 0xcb, 0xe7, 0xe7, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x7, 0x33, 0x12, 0x26, 0x0, 0x28, 0x0, 0x0, 0x10, 0x7, 0x0, 0x71, 0x0, 0xa1, 0x1, 0x3d, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x7f, 0x5, 0xf6, 0x10, 0x27, 0x0, 0x71, 0x0, 0x96, 0x0, 0x0, 0x13, 0x6, 0x0, 0x48, 0x0, 0x0, 0x0, 0x7, 0x40, 0x3, 0x70, 0x0, 0x1, 0x5d, 0x31, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x7, 0x6d, 0x10, 0x27, 0x16, 0xc0, 0x4, 0xa1, 0x1, 0x75, 0x13, 0x6, 0x0, 0x28, 0x0, 0x0, 0x0, 0x7, 0x40, 0x3, 0x40, 0x0, 0x1, 0x5d, 0x31, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x7f, 0x6, 0x48, 0x10, 0x27, 0x2, 0x9a, 0x0, 0x96, 0x0, 0x0, 0x13, 0x6, 0x0, 0x48, 0x0, 0x0, 0x0, 0x7, 0x40, 0x3, 0x70, 0x0, 0x1, 0x5d, 0x31, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x7, 0x50, 0x10, 0x27, 0x16, 0xc1, 0x4, 0x9e, 0x1, 0x75, 0x12, 0x6, 0x0, 0x28, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x7f, 0x6, 0x14, 0x10, 0x27, 0x2, 0xb8, 0x4, 0x96, 0x0, 0x0, 0x12, 0x6, 0x0, 0x48, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x75, 0x4, 0x8d, 0x5, 0xd5, 0x12, 0x26, 0x0, 0x28, 0x0, 0x0, 0x10, 0x7, 0x2, 0x9d, 0x1, 0xcc, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x75, 0x4, 0x7f, 0x4, 0x7b, 0x12, 0x26, 0x0, 0x48, 0x0, 0x0, 0x10, 0x7, 0x2, 0x9d, 0x1, 0x78, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x7, 0x67, 0x12, 0x26, 0x0, 0x28, 0x0, 0x0, 0x11, 0x7, 0x16, 0xbe, 0x4, 0xa6, 0x1, 0x6f, 0x0, 0x7, 0x40, 0x3, 0x40, 0xc, 0x1, 0x5d, 0x31, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x7f, 0x6, 0x61, 0x12, 0x26, 0x0, 0x48, 0x0, 0x0, 0x11, 0x7, 0x2, 0x89, 0x0, 0x94, 0xff, 0xfb, 0x0, 0x10, 0xb4, 0x0, 0x21, 0x1d, 0xf, 0x7, 0x2b, 0x40, 0x5, 0xf, 0x21, 0x0, 0x1d, 0x2, 0x5d, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x8b, 0x7, 0x6d, 0x10, 0x27, 0x16, 0xbd, 0x5, 0x5c, 0x1, 0x75, 0x13, 0x6, 0x0, 0x2a, 0x0, 0x0, 0x0, 0x9, 0xb2, 0x4, 0x4, 0x15, 0x10, 0x3c, 0x3d, 0x2f, 0x31, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x56, 0x4, 0x5a, 0x6, 0x66, 0x10, 0x26, 0x2, 0x88, 0x68, 0x0, 0x13, 0x6, 0x0, 0x4a, 0x0, 0x0, 0x0, 0x9, 0xb2, 0x4, 0x4, 0xa, 0x10, 0x3c, 0x3d, 0x2f, 0x31, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x8b, 0x7, 0x6d, 0x12, 0x26, 0x0, 0x2a, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc0, 0x5, 0x1b, 0x1, 0x75, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x56, 0x4, 0x5a, 0x6, 0x48, 0x12, 0x26, 0x0, 0x4a, 0x0, 0x0, 0x10, 0x7, 0x2, 0x9a, 0x0, 0x8b, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x8b, 0x7, 0x50, 0x10, 0x27, 0x16, 0xc1, 0x5, 0x5c, 0x1, 0x75, 0x13, 0x6, 0x0, 0x2a, 0x0, 0x0, 0x0, 0x8, 0x0, 0x40, 0x3, 0x3f, 0x0, 0x1, 0x5d, 0x30, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x56, 0x4, 0x5a, 0x6, 0x14, 0x10, 0x27, 0x2, 0xb8, 0x4, 0x6a, 0x0, 0x0, 0x12, 0x6, 0x0, 0x4a, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xfe, 0x1, 0x5, 0x8b, 0x5, 0xf0, 0x10, 0x27, 0x2, 0xd7, 0x5, 0x5e, 0xff, 0xed, 0x12, 0x6, 0x0, 0x2a, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x56, 0x4, 0x5a, 0x6, 0x34, 0x10, 0x27, 0x2, 0xc3, 0x3, 0xe0, 0x1, 0xc, 0x12, 0x6, 0x0, 0x4a, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x3b, 0x7, 0x6d, 0x10, 0x27, 0x16, 0xbd, 0x5, 0x2, 0x1, 0x75, 0x13, 0x6, 0x0, 0x2b, 0x0, 0x0, 0x0, 0x14, 0xb4, 0xc, 0x2, 0x6, 0x7, 0x7, 0x2b, 0x40, 0x9, 0x2f, 0x2, 0x20, 0x6, 0x1f, 0x2, 0x10, 0x6, 0x4, 0x5d, 0x31, 0x0, 0x0, 0xff, 0xff, 0xff, 0xe5, 0x0, 0x0, 0x4, 0x64, 0x7, 0x6d, 0x10, 0x27, 0x16, 0xbd, 0x3, 0x16, 0x1, 0x75, 0x13, 0x6, 0x0, 0x4b, 0x0, 0x0, 0x0, 0x2a, 0xb4, 0x14, 0x2, 0x6, 0x13, 0x7, 0x2b, 0x31, 0x0, 0x4b, 0xb0, 0xe, 0x51, 0x58, 0xbb, 0x0, 0x14, 0xff, 0xc0, 0x0, 0x13, 0xff, 0xc0, 0x38, 0x38, 0x59, 0x40, 0xd, 0x90, 0x14, 0x90, 0x13, 0x80, 0x14, 0x80, 0x13, 0x40, 0x14, 0x40, 0x13, 0x6, 0x5d, 0x0, 0x2, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x8b, 0x5, 0xd5, 0x0, 0x13, 0x0, 0x17, 0x0, 0x3a, 0x40, 0x1e, 0x6, 0x2, 0x12, 0x95, 0x9, 0x14, 0x11, 0xc, 0x95, 0x15, 0xad, 0x4, 0x0, 0x81, 0xe, 0xa, 0x7, 0xc, 0x17, 0x4, 0x1c, 0x5, 0x38, 0x12, 0xd, 0x14, 0x1, 0x1c, 0x0, 0x18, 0x10, 0xdc, 0xec, 0x32, 0x32, 0xcc, 0xfc, 0xec, 0x32, 0x32, 0xcc, 0x31, 0x0, 0x2f, 0x3c, 0xe4, 0x32, 0xfc, 0xec, 0xdc, 0x32, 0x32, 0xec, 0x32, 0x32, 0x30, 0x1, 0x33, 0x15, 0x21, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x17, 0x15, 0x21, 0x35, 0x1, 0x71, 0xca, 0x2, 0xde, 0xca, 0xa8, 0xa8, 0xca, 0xfd, 0x22, 0xca, 0xa8, 0xa8, 0xca, 0x2, 0xde, 0x5, 0xd5, 0xe0, 0xe0, 0xe0, 0xa4, 0xfb, 0xaf, 0x2, 0xc7, 0xfd, 0x39, 0x4, 0x51, 0xa4, 0xa4, 0xe0, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x78, 0x0, 0x0, 0x4, 0x9f, 0x6, 0x14, 0x0, 0x1b, 0x0, 0x3e, 0x40, 0x21, 0x3, 0x9, 0x0, 0x3, 0x16, 0x1, 0xe, 0x12, 0x87, 0xd, 0x15, 0x6, 0x87, 0x16, 0x19, 0xb8, 0x10, 0x97, 0xa, 0x1, 0x2, 0x8, 0x0, 0x4e, 0x13, 0xe, 0x11, 0x15, 0x9, 0x8, 0x10, 0xb, 0x1c, 0x10, 0xdc, 0x32, 0xec, 0x32, 0x32, 0xcc, 0xcc, 0xf4, 0xec, 0x31, 0x0, 0x2f, 0x3c, 0xec, 0xf4, 0xc4, 0xec, 0xdc, 0x32, 0xec, 0x32, 0x11, 0x12, 0x17, 0x39, 0x30, 0x1, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x21, 0x15, 0x21, 0x11, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x4, 0x9f, 0xb8, 0x7c, 0x7c, 0x95, 0xac, 0xb9, 0x7d, 0x7d, 0xb9, 0x1, 0x60, 0xfe, 0xa0, 0x42, 0xb3, 0x75, 0xc1, 0xc6, 0x2, 0xa4, 0xfd, 0x5c, 0x2, 0x9e, 0x9f, 0x9e, 0xbe, 0xa4, 0xfd, 0x87, 0x4, 0xf6, 0xa4, 0x7a, 0x7a, 0xa4, 0xfe, 0xbc, 0x65, 0x64, 0xef, 0x0, 0xff, 0xff, 0xff, 0xe4, 0x0, 0x0, 0x2, 0x78, 0x7, 0x5e, 0x10, 0x27, 0x16, 0xbb, 0x3, 0x2e, 0x1, 0x75, 0x13, 0x6, 0x0, 0x2c, 0x0, 0x0, 0x0, 0x8, 0xb4, 0x1e, 0x9, 0x18, 0x1f, 0x7, 0x2b, 0x31, 0x0, 0x0, 0xff, 0xff, 0xff, 0xd3, 0x0, 0x0, 0x2, 0x67, 0x6, 0x37, 0x10, 0x27, 0x2, 0x9e, 0xff, 0x1d, 0x0, 0x0, 0x13, 0x6, 0x0, 0xf3, 0x0, 0x0, 0x0, 0x8, 0xb4, 0x1c, 0x8, 0x16, 0x1d, 0x7, 0x2b, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3, 0x0, 0x0, 0x2, 0x59, 0x7, 0x31, 0x10, 0x27, 0x0, 0x71, 0xff, 0x2e, 0x1, 0x3b, 0x13, 0x6, 0x0, 0x2c, 0x0, 0x0, 0x0, 0x8, 0xb4, 0x4, 0x3, 0x2, 0x5, 0x7, 0x2b, 0x31, 0x0, 0x0, 0xff, 0xff, 0xff, 0xf2, 0x0, 0x0, 0x2, 0x48, 0x5, 0xf5, 0x10, 0x27, 0x0, 0x71, 0xff, 0x1d, 0xff, 0xff, 0x13, 0x6, 0x0, 0xf3, 0x0, 0x0, 0x0, 0x8, 0xb4, 0x4, 0x3, 0x2, 0x5, 0x7, 0x2b, 0x31, 0x0, 0x0, 0xff, 0xff, 0xff, 0xf5, 0x0, 0x0, 0x2, 0x67, 0x7, 0x6d, 0x10, 0x27, 0x16, 0xc0, 0x3, 0x2e, 0x1, 0x75, 0x13, 0x6, 0x0, 0x2c, 0x0, 0x0, 0x0, 0x8, 0xb4, 0xe, 0x0, 0x8, 0xf, 0x7, 0x2b, 0x31, 0x0, 0x0, 0xff, 0xff, 0xff, 0xe4, 0x0, 0x0, 0x2, 0x56, 0x6, 0x48, 0x10, 0x27, 0x2, 0x9a, 0xff, 0x1d, 0x0, 0x0, 0x13, 0x6, 0x0, 0xf3, 0x0, 0x0, 0x0, 0x8, 0xb4, 0xe, 0x0, 0x8, 0xf, 0x7, 0x2b, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb0, 0xfe, 0x75, 0x2, 0x25, 0x5, 0xd5, 0x10, 0x27, 0x2, 0x9d, 0xff, 0x64, 0x0, 0x0, 0x12, 0x6, 0x0, 0x2c, 0x0, 0x0, 0xff, 0xff, 0x0, 0x96, 0xfe, 0x75, 0x2, 0xb, 0x6, 0x14, 0x10, 0x27, 0x2, 0x9d, 0xff, 0x4a, 0x0, 0x0, 0x12, 0x6, 0x0, 0x4c, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x1, 0x95, 0x7, 0x50, 0x12, 0x26, 0x0, 0x2c, 0x0, 0x0, 0x11, 0x7, 0x16, 0xc1, 0x3, 0x2f, 0x1, 0x75, 0x0, 0x13, 0xb3, 0x6, 0x1, 0x7, 0x0, 0x10, 0x3c, 0x10, 0x3c, 0x31, 0x0, 0xb4, 0x3f, 0x7, 0x3f, 0x6, 0x2, 0x5d, 0x30, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc1, 0x0, 0x0, 0x1, 0x79, 0x4, 0x7b, 0x0, 0x3, 0x0, 0x4, 0x0, 0x2c, 0x40, 0xb, 0x4, 0xb8, 0x0, 0xbf, 0x2, 0x4, 0x1, 0x8, 0x0, 0x46, 0x5, 0x10, 0xfc, 0xec, 0x39, 0x31, 0x0, 0x2f, 0xec, 0xe4, 0x30, 0x40, 0x11, 0x4, 0x4, 0x34, 0x4, 0x44, 0x4, 0x10, 0x6, 0x40, 0x6, 0x50, 0x6, 0x60, 0x6, 0x70, 0x6, 0x8, 0x1, 0x5d, 0x13, 0x33, 0x11, 0x23, 0x13, 0xc1, 0xb8, 0xb8, 0x5c, 0x4, 0x60, 0xfb, 0xa0, 0x4, 0x7b, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x66, 0x3, 0xef, 0x5, 0xd5, 0x10, 0x27, 0x0, 0x2d, 0x2, 0x5c, 0x0, 0x0, 0x11, 0x6, 0x0, 0x2c, 0x0, 0x0, 0x0, 0x8, 0x40, 0x3, 0x11, 0x4, 0x1, 0x10, 0xec, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc1, 0xfe, 0x56, 0x3, 0xb1, 0x6, 0x14, 0x10, 0x27, 0x0, 0x4d, 0x2, 0x38, 0x0, 0x0, 0x11, 0x6, 0x0, 0x4c, 0x0, 0x0, 0x0, 0x8, 0x40, 0x3, 0x19, 0x46, 0x1, 0x10, 0xec, 0x31, 0x0, 0x0, 0xff, 0xff, 0xff, 0x96, 0xfe, 0x66, 0x2, 0x5f, 0x7, 0x6d, 0x10, 0x27, 0x16, 0xbd, 0x3, 0x2e, 0x1, 0x75, 0x13, 0x6, 0x0, 0x2d, 0x0, 0x0, 0x0, 0x8, 0xb4, 0x8, 0x2, 0x6, 0x7, 0x7, 0x2b, 0x31, 0x0, 0x0, 0xff, 0xff, 0xff, 0xdb, 0xfe, 0x56, 0x2, 0x5c, 0x6, 0x66, 0x10, 0x27, 0x2, 0x88, 0xff, 0x1d, 0x0, 0x0, 0x13, 0x6, 0x1, 0xf9, 0x0, 0x0, 0x0, 0x8, 0xb4, 0x8, 0x2, 0x6, 0x7, 0x7, 0x2b, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x1e, 0x5, 0x6a, 0x5, 0xd5, 0x10, 0x27, 0x2, 0xd7, 0x5, 0x1b, 0x0, 0xa, 0x12, 0x6, 0x0, 0x2e, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x1e, 0x4, 0x9c, 0x6, 0x14, 0x10, 0x27, 0x2, 0xd7, 0x4, 0xac, 0x0, 0xa, 0x12, 0x6, 0x0, 0x4e, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x4, 0x9c, 0x4, 0x60, 0x0, 0xa, 0x0, 0xbb, 0x40, 0x28, 0x8, 0x11, 0x5, 0x6, 0x5, 0x7, 0x11, 0x6, 0x6, 0x5, 0x3, 0x11, 0x4, 0x5, 0x4, 0x2, 0x11, 0x5, 0x5, 0x4, 0x42, 0x8, 0x5, 0x2, 0x3, 0x3, 0x0, 0xbc, 0x9, 0x6, 0x5, 0x1, 0x4, 0x6, 0x8, 0x1, 0x8, 0x0, 0x46, 0xb, 0x10, 0xfc, 0xec, 0x32, 0xd4, 0xc4, 0x11, 0x39, 0x31, 0x0, 0x2f, 0x3c, 0xec, 0x32, 0x17, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x4, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x4, 0xed, 0x59, 0x22, 0xb2, 0x10, 0xc, 0x1, 0x1, 0x5d, 0x40, 0x5f, 0x4, 0x2, 0xa, 0x8, 0x16, 0x2, 0x27, 0x2, 0x29, 0x5, 0x2b, 0x8, 0x56, 0x2, 0x66, 0x2, 0x67, 0x8, 0x73, 0x2, 0x77, 0x5, 0x82, 0x2, 0x89, 0x5, 0x8e, 0x8, 0x93, 0x2, 0x96, 0x5, 0x97, 0x8, 0xa3, 0x2, 0x12, 0x9, 0x5, 0x9, 0x6, 0x2, 0xb, 0x3, 0xa, 0x7, 0x28, 0x3, 0x27, 0x4, 0x28, 0x5, 0x2b, 0x6, 0x2b, 0x7, 0x40, 0xc, 0x68, 0x3, 0x60, 0xc, 0x89, 0x3, 0x85, 0x4, 0x89, 0x5, 0x8d, 0x6, 0x8f, 0x7, 0x9a, 0x3, 0x97, 0x7, 0xaa, 0x3, 0xa7, 0x5, 0xb6, 0x7, 0xc5, 0x7, 0xd6, 0x7, 0xf7, 0x3, 0xf0, 0x3, 0xf7, 0x4, 0xf0, 0x4, 0x1a, 0x5d, 0x71, 0x0, 0x5d, 0x13, 0x33, 0x11, 0x1, 0x33, 0x9, 0x1, 0x23, 0x1, 0x11, 0x23, 0xba, 0xb9, 0x2, 0x25, 0xeb, 0xfd, 0xae, 0x2, 0x6b, 0xf0, 0xfd, 0xc7, 0xb9, 0x4, 0x60, 0xfe, 0x1b, 0x1, 0xe5, 0xfd, 0xf2, 0xfd, 0xae, 0x2, 0x21, 0xfd, 0xdf, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x6a, 0x7, 0x6c, 0x10, 0x27, 0x16, 0xba, 0x3, 0x6e, 0x1, 0x76, 0x12, 0x6, 0x0, 0x2f, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc1, 0x0, 0x0, 0x2, 0x4a, 0x7, 0x6c, 0x10, 0x27, 0x16, 0xba, 0x3, 0x5a, 0x1, 0x76, 0x13, 0x6, 0x0, 0x4f, 0x0, 0x0, 0x0, 0x1e, 0xb1, 0x3, 0x4, 0x10, 0x3c, 0x31, 0x0, 0x4b, 0xb0, 0xe, 0x51, 0x58, 0xb9, 0x0, 0x0, 0x0, 0x40, 0x38, 0x59, 0x40, 0x7, 0x9f, 0x0, 0x8f, 0x0, 0x4f, 0x0, 0x3, 0x5d, 0x30, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x1e, 0x4, 0x6a, 0x5, 0xd5, 0x10, 0x27, 0x2, 0xd7, 0x4, 0x9b, 0x0, 0xa, 0x12, 0x6, 0x0, 0x2f, 0x0, 0x0, 0xff, 0xff, 0x0, 0x88, 0xfe, 0x1e, 0x1, 0xad, 0x6, 0x14, 0x10, 0x27, 0x2, 0xd7, 0x3, 0x1e, 0x0, 0xa, 0x13, 0x6, 0x0, 0x4f, 0x0, 0x0, 0x0, 0x7, 0x40, 0x3, 0x40, 0x0, 0x1, 0x5d, 0x31, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x6a, 0x5, 0xd5, 0x10, 0x27, 0x16, 0xb8, 0x2, 0x9f, 0xff, 0xc3, 0x12, 0x6, 0x0, 0x2f, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc1, 0x0, 0x0, 0x3, 0x0, 0x6, 0x14, 0x10, 0x27, 0x16, 0xb8, 0x2, 0x39, 0x0, 0x2, 0x11, 0x6, 0x0, 0x4f, 0x0, 0x0, 0x0, 0x9, 0x40, 0x5, 0x8f, 0x0, 0x1f, 0x0, 0x2, 0x5d, 0x31, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x6a, 0x5, 0xd5, 0x10, 0x27, 0x0, 0x79, 0x2, 0x31, 0x0, 0x77, 0x12, 0x6, 0x0, 0x2f, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc1, 0x0, 0x0, 0x2, 0x84, 0x6, 0x14, 0x10, 0x27, 0x0, 0x79, 0x0, 0xd6, 0x0, 0x73, 0x11, 0x6, 0x0, 0x4f, 0x0, 0x0, 0x0, 0x17, 0x4b, 0xb0, 0xd, 0x51, 0x4b, 0xb0, 0x11, 0x53, 0x4b, 0xb0, 0x18, 0x51, 0x5a, 0x5b, 0x58, 0xb9, 0x0, 0x0, 0x0, 0x40, 0x38, 0x59, 0x31, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xf2, 0x0, 0x0, 0x4, 0x75, 0x5, 0xd5, 0x0, 0xd, 0x0, 0x3f, 0x40, 0x1e, 0xc, 0xb, 0xa, 0x4, 0x3, 0x2, 0x6, 0x0, 0x6, 0x95, 0x0, 0x81, 0x8, 0x3, 0x4, 0x1, 0xb, 0xe, 0x0, 0x4, 0x5, 0x1, 0x1c, 0xc, 0x7, 0x3a, 0x9, 0x0, 0x79, 0xe, 0x10, 0xf4, 0x3c, 0xec, 0xc4, 0xfc, 0x3c, 0xc4, 0x11, 0x12, 0x39, 0x11, 0x12, 0x39, 0x31, 0x0, 0x2f, 0xe4, 0xec, 0x11, 0x17, 0x39, 0x30, 0xb4, 0x30, 0xf, 0x50, 0xf, 0x2, 0x1, 0x5d, 0x13, 0x33, 0x11, 0x25, 0x17, 0x1, 0x11, 0x21, 0x15, 0x21, 0x11, 0x7, 0x27, 0x37, 0xd3, 0xcb, 0x1, 0x39, 0x50, 0xfe, 0x77, 0x2, 0xd7, 0xfc, 0x5e, 0x94, 0x4d, 0xe1, 0x5, 0xd5, 0xfd, 0x98, 0xdb, 0x6f, 0xfe, 0xee, 0xfd, 0xe3, 0xaa, 0x2, 0x3b, 0x6a, 0x6e, 0x9e, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2, 0x0, 0x0, 0x2, 0x48, 0x6, 0x14, 0x0, 0xb, 0x0, 0x5e, 0x40, 0x1a, 0xa, 0x9, 0x8, 0x4, 0x3, 0x2, 0x6, 0x0, 0x97, 0x6, 0x3, 0x4, 0x1, 0x9, 0xa, 0x0, 0x4, 0x7a, 0x5, 0x1, 0x8, 0xa, 0x7a, 0x7, 0x0, 0xc, 0x10, 0xd4, 0x3c, 0xe4, 0xfc, 0x3c, 0xe4, 0x11, 0x12, 0x39, 0x11, 0x12, 0x39, 0x31, 0x0, 0x2f, 0xec, 0x17, 0x39, 0x30, 0x1, 0x4b, 0xb0, 0x10, 0x54, 0x58, 0xbd, 0x0, 0xc, 0x0, 0x40, 0x0, 0x1, 0x0, 0xc, 0x0, 0xc, 0xff, 0xc0, 0x38, 0x11, 0x37, 0x38, 0x59, 0x40, 0x13, 0x10, 0xd, 0x40, 0xd, 0x50, 0xd, 0x60, 0xd, 0x73, 0x4, 0x7a, 0xa, 0x70, 0xd, 0xe0, 0xd, 0xf0, 0xd, 0x9, 0x5d, 0x13, 0x33, 0x11, 0x37, 0x17, 0x7, 0x11, 0x23, 0x11, 0x7, 0x27, 0x37, 0xc7, 0xb8, 0x7d, 0x4c, 0xc9, 0xb8, 0x7b, 0x4a, 0xc5, 0x6, 0x14, 0xfd, 0xa6, 0x5a, 0x6a, 0x8d, 0xfc, 0xe3, 0x2, 0x9a, 0x58, 0x6a, 0x8d, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x33, 0x7, 0x6c, 0x10, 0x27, 0x16, 0xba, 0x4, 0xc5, 0x1, 0x76, 0x13, 0x6, 0x0, 0x31, 0x0, 0x0, 0x0, 0x7, 0x40, 0x3, 0x4f, 0x0, 0x1, 0x5d, 0x31, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x4, 0x64, 0x6, 0x6d, 0x10, 0x26, 0x0, 0x76, 0x42, 0x7, 0x13, 0x6, 0x0, 0x51, 0x0, 0x0, 0x0, 0x9, 0x40, 0x5, 0x3f, 0x0, 0x4f, 0x0, 0x2, 0x5d, 0x31, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x1e, 0x5, 0x33, 0x5, 0xd5, 0x10, 0x27, 0x2, 0xd7, 0x5, 0x0, 0x0, 0xa, 0x12, 0x6, 0x0, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x1e, 0x4, 0x64, 0x4, 0x7b, 0x10, 0x27, 0x2, 0xd7, 0x4, 0x90, 0x0, 0xa, 0x12, 0x6, 0x0, 0x51, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x33, 0x7, 0x5f, 0x12, 0x26, 0x0, 0x31, 0x0, 0x0, 0x11, 0x7, 0x16, 0xbe, 0x4, 0xf5, 0x1, 0x67, 0x0, 0x14, 0xb4, 0x4, 0xf, 0xb, 0x0, 0x7, 0x2b, 0x40, 0x9, 0x2f, 0xf, 0x20, 0xb, 0x1f, 0xf, 0x10, 0xb, 0x4, 0x5d, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x4, 0x64, 0x6, 0x66, 0x12, 0x26, 0x0, 0x51, 0x0, 0x0, 0x11, 0x7, 0x2, 0x89, 0x0, 0x8d, 0x0, 0x0, 0x0, 0x10, 0xb4, 0x0, 0x19, 0x15, 0xc, 0x7, 0x2b, 0x40, 0x5, 0xf, 0x19, 0x0, 0x15, 0x2, 0x5d, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0xcd, 0x0, 0x0, 0x5, 0xb9, 0x5, 0xd5, 0x10, 0x27, 0x0, 0x51, 0x1, 0x55, 0x0, 0x0, 0x10, 0x6, 0x2, 0x7e, 0x1b, 0x0, 0x0, 0x1, 0x0, 0xc9, 0xfe, 0x56, 0x5, 0x19, 0x5, 0xf0, 0x0, 0x1c, 0x0, 0x3b, 0x40, 0xd, 0x19, 0x16, 0x12, 0x18, 0x1c, 0x1c, 0x12, 0xa, 0x5, 0x1c, 0x7, 0x41, 0x1d, 0x10, 0xfc, 0x4b, 0xb0, 0x10, 0x54, 0x58, 0xb9, 0x0, 0x7, 0xff, 0xc0, 0x38, 0x59, 0xec, 0x32, 0xd4, 0xfc, 0xcc, 0x11, 0x31, 0x0, 0x40, 0xc, 0x19, 0x95, 0x16, 0xb0, 0x7, 0x2, 0x95, 0xe, 0x91, 0x8, 0x81, 0x7, 0x2f, 0xe4, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x10, 0x21, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x15, 0x36, 0x37, 0x36, 0x33, 0x32, 0x12, 0x19, 0x1, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x4, 0x50, 0xfe, 0xcd, 0xb3, 0xd7, 0xca, 0xca, 0x4e, 0x69, 0x6a, 0x99, 0xe3, 0xe9, 0x51, 0x52, 0xb5, 0x57, 0x31, 0x66, 0x4f, 0x3, 0x7f, 0x1, 0xac, 0xff, 0xde, 0xfc, 0xb2, 0x5, 0xd5, 0xf1, 0x86, 0x43, 0x43, 0xfe, 0xc1, 0xfe, 0xcc, 0xfc, 0x6f, 0xd5, 0x61, 0x60, 0x9c, 0x5a, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x4, 0x7b, 0x0, 0x1f, 0x0, 0x3b, 0x40, 0x1c, 0xd, 0x13, 0x0, 0x3, 0x18, 0x15, 0x7, 0x87, 0x6, 0x10, 0x87, 0x18, 0x1c, 0xb8, 0x16, 0xbc, 0x15, 0x7, 0xd, 0x8, 0x0, 0x4e, 0x13, 0x17, 0x8, 0x16, 0x46, 0x20, 0x10, 0xfc, 0xec, 0x32, 0xf4, 0xec, 0xc4, 0x31, 0x0, 0x2f, 0xe4, 0xf4, 0xc4, 0xec, 0xd4, 0xec, 0x11, 0x12, 0x17, 0x39, 0x30, 0xb4, 0x60, 0x21, 0xcf, 0x21, 0x2, 0x1, 0x5d, 0x1, 0x11, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x15, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x4, 0x64, 0x52, 0x51, 0xb5, 0xfe, 0xe9, 0x69, 0x26, 0x26, 0x7c, 0x7c, 0x95, 0xac, 0xb9, 0xb9, 0x42, 0x59, 0x5a, 0x75, 0xc1, 0x63, 0x63, 0x2, 0xa4, 0xfd, 0x48, 0xd6, 0x60, 0x60, 0x9c, 0x30, 0x31, 0x99, 0x2, 0xb2, 0x9f, 0x9e, 0xbe, 0xa4, 0xfd, 0x87, 0x4, 0x60, 0xae, 0x65, 0x32, 0x32, 0x77, 0x78, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x7, 0x31, 0x10, 0x27, 0x0, 0x71, 0x1, 0x27, 0x1, 0x3b, 0x13, 0x6, 0x0, 0x32, 0x0, 0x0, 0x0, 0x10, 0xb4, 0xd, 0x2, 0x3, 0x7, 0x7, 0x2b, 0x40, 0x5, 0x1f, 0x2, 0x10, 0x3, 0x2, 0x5d, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x5, 0xf5, 0x10, 0x26, 0x0, 0x71, 0x73, 0xff, 0x13, 0x6, 0x0, 0x52, 0x0, 0x0, 0x0, 0x8, 0xb4, 0x13, 0x2, 0x3, 0x19, 0x7, 0x2b, 0x31, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x7, 0x6d, 0x10, 0x27, 0x16, 0xc0, 0x5, 0x27, 0x1, 0x75, 0x13, 0x6, 0x0, 0x32, 0x0, 0x0, 0x0, 0x10, 0xb4, 0x11, 0x0, 0x8, 0x17, 0x7, 0x2b, 0x40, 0x5, 0x10, 0x0, 0x1f, 0x8, 0x2, 0x5d, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x6, 0x48, 0x10, 0x26, 0x2, 0x9a, 0x73, 0x0, 0x13, 0x6, 0x0, 0x52, 0x0, 0x0, 0x0, 0x8, 0xb4, 0x1d, 0x8, 0x0, 0x23, 0x7, 0x2b, 0x31, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x7, 0x6b, 0x10, 0x27, 0x16, 0xc2, 0x5, 0x27, 0x1, 0x75, 0x12, 0x6, 0x0, 0x32, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x6, 0x66, 0x10, 0x27, 0x2, 0x9f, 0x0, 0xa0, 0x0, 0x0, 0x12, 0x6, 0x0, 0x52, 0x0, 0x0, 0x0, 0x2, 0x0, 0x73, 0x0, 0x0, 0x8, 0xc, 0x5, 0xd5, 0x0, 0x10, 0x0, 0x19, 0x0, 0x3b, 0x40, 0x1f, 0x5, 0x95, 0x3, 0x11, 0x1, 0x95, 0x0, 0x81, 0x18, 0x7, 0x95, 0x3, 0xad, 0x9, 0x18, 0x12, 0x10, 0xa, 0x15, 0x6, 0x2, 0x1c, 0x11, 0x0, 0x4, 0x8, 0x15, 0x19, 0xd, 0x10, 0x1a, 0x10, 0xfc, 0xec, 0xd4, 0xc4, 0xc4, 0xd4, 0xec, 0x32, 0x12, 0x39, 0x39, 0x39, 0x39, 0x31, 0x0, 0x2f, 0xec, 0xec, 0x32, 0xf4, 0xec, 0x32, 0x10, 0xee, 0x30, 0x1, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x17, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x33, 0x7, 0xfa, 0xfd, 0x1a, 0x2, 0xc7, 0xfd, 0x39, 0x2, 0xf8, 0xfb, 0xd7, 0xfe, 0x4f, 0xfe, 0x41, 0x1, 0xbf, 0x1, 0xb1, 0x67, 0x81, 0xfe, 0xbf, 0xfe, 0xc0, 0x1, 0x40, 0x1, 0x41, 0x81, 0x5, 0xd5, 0xaa, 0xfe, 0x46, 0xaa, 0xfd, 0xe3, 0xaa, 0x1, 0x7c, 0x1, 0x70, 0x1, 0x6d, 0x1, 0x7c, 0xaa, 0xfe, 0xe1, 0xfe, 0xe0, 0xfe, 0xdf, 0xfe, 0xdf, 0x0, 0x0, 0x0, 0x3, 0x0, 0x71, 0xff, 0xe3, 0x7, 0xc3, 0x4, 0x7b, 0x0, 0x6, 0x0, 0x27, 0x0, 0x33, 0x0, 0x84, 0x40, 0x31, 0x7, 0x8, 0x0, 0x10, 0x86, 0xf, 0x88, 0xc, 0x0, 0xa9, 0x8, 0x2e, 0xc, 0xb9, 0x16, 0x13, 0x28, 0x3, 0xb9, 0x8, 0xbb, 0x22, 0x25, 0x1f, 0xb8, 0x19, 0x13, 0x8c, 0x34, 0x6, 0x0, 0x16, 0x22, 0x31, 0x9, 0xf, 0x0, 0x8, 0x7, 0x4b, 0x31, 0x12, 0x9, 0x51, 0x2b, 0x12, 0x1c, 0x45, 0x34, 0x10, 0xfc, 0xec, 0xf4, 0xfc, 0xf4, 0xec, 0xc4, 0x11, 0x12, 0x39, 0x39, 0x12, 0x39, 0x31, 0x0, 0x10, 0xe4, 0x32, 0xf4, 0x3c, 0xc4, 0xe4, 0xec, 0x32, 0x10, 0xc4, 0xee, 0x32, 0x10, 0xee, 0x10, 0xf4, 0xee, 0x11, 0x12, 0x39, 0x30, 0x40, 0x25, 0x3f, 0x35, 0x5f, 0x35, 0x70, 0x35, 0x9f, 0x35, 0xcf, 0x35, 0xd0, 0x35, 0xf0, 0x35, 0x7, 0x3f, 0x0, 0x3f, 0x6, 0x3f, 0x7, 0x3f, 0x8, 0x3f, 0x9, 0x5, 0x6f, 0x0, 0x6f, 0x6, 0x6f, 0x7, 0x6f, 0x8, 0x6f, 0x9, 0x5, 0x5d, 0x71, 0x1, 0x5d, 0x1, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x7, 0x5, 0x15, 0x21, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x26, 0x27, 0xe, 0x1, 0x23, 0x22, 0x0, 0x11, 0x10, 0x0, 0x33, 0x32, 0x16, 0x17, 0x3e, 0x1, 0x33, 0x32, 0x0, 0x25, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x7, 0xa, 0x2, 0xa4, 0x89, 0x99, 0xb9, 0xe, 0x3, 0x48, 0xfc, 0xb2, 0xc, 0xcc, 0xb7, 0x6a, 0xc8, 0x62, 0x64, 0xd0, 0x6a, 0xa0, 0xf2, 0x51, 0x47, 0xd1, 0x8c, 0xf1, 0xfe, 0xef, 0x1, 0x11, 0xf1, 0x8c, 0xd3, 0x42, 0x4e, 0xe8, 0x8f, 0xe2, 0x1, 0x8, 0xfa, 0xb0, 0x94, 0xac, 0xab, 0x95, 0x93, 0xac, 0xac, 0x2, 0x94, 0x98, 0xb3, 0xae, 0x9e, 0x35, 0x5a, 0xbe, 0xc7, 0x34, 0x34, 0xae, 0x2a, 0x2c, 0x6e, 0x6d, 0x6e, 0x6d, 0x1, 0x39, 0x1, 0x13, 0x1, 0x14, 0x1, 0x38, 0x6f, 0x6c, 0x6b, 0x70, 0xfe, 0xdd, 0x87, 0xe7, 0xc9, 0xc9, 0xe7, 0xe8, 0xc8, 0xc7, 0xe9, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x54, 0x7, 0x6c, 0x10, 0x27, 0x16, 0xba, 0x4, 0x95, 0x1, 0x76, 0x12, 0x6, 0x0, 0x35, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x3, 0x94, 0x6, 0x6d, 0x10, 0x26, 0x0, 0x76, 0x42, 0x7, 0x12, 0x6, 0x0, 0x55, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x1e, 0x5, 0x54, 0x5, 0xd5, 0x10, 0x27, 0x2, 0xd7, 0x5, 0x10, 0x0, 0xa, 0x12, 0x6, 0x0, 0x35, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xfe, 0x1e, 0x3, 0x4a, 0x4, 0x7b, 0x10, 0x27, 0x2, 0xd7, 0x3, 0x18, 0x0, 0xa, 0x12, 0x6, 0x0, 0x55, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x54, 0x7, 0x5f, 0x12, 0x26, 0x0, 0x35, 0x0, 0x0, 0x11, 0x7, 0x16, 0xbe, 0x4, 0x7d, 0x1, 0x67, 0x0, 0x8, 0x0, 0x40, 0x3, 0x5f, 0x1d, 0x1, 0x5d, 0x30, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x3, 0x5a, 0x6, 0x66, 0x12, 0x26, 0x0, 0x55, 0x0, 0x0, 0x11, 0x6, 0x2, 0x89, 0x1b, 0x0, 0x0, 0x10, 0xb4, 0x11, 0x17, 0x13, 0x9, 0x7, 0x2b, 0x40, 0x5, 0xf, 0x17, 0x0, 0x13, 0x2, 0x5d, 0x31, 0xff, 0xff, 0x0, 0x87, 0xff, 0xe3, 0x4, 0xa2, 0x7, 0x6c, 0x10, 0x27, 0x16, 0xba, 0x4, 0x95, 0x1, 0x76, 0x12, 0x6, 0x0, 0x36, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6f, 0xff, 0xe3, 0x3, 0xc7, 0x6, 0x6d, 0x10, 0x26, 0x0, 0x76, 0x42, 0x7, 0x12, 0x6, 0x0, 0x56, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xff, 0xe3, 0x4, 0xa2, 0x7, 0x6d, 0x10, 0x27, 0x16, 0xbd, 0x4, 0x93, 0x1, 0x75, 0x13, 0x6, 0x0, 0x36, 0x0, 0x0, 0x0, 0xb, 0xb4, 0x4, 0x20, 0x15, 0x29, 0x29, 0x10, 0x49, 0x63, 0x3a, 0x31, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6f, 0xff, 0xe3, 0x3, 0xc7, 0x6, 0x66, 0x10, 0x26, 0x2, 0x88, 0x25, 0x0, 0x13, 0x6, 0x0, 0x56, 0x0, 0x0, 0x0, 0xb, 0xb4, 0x4, 0x20, 0x15, 0x29, 0x29, 0x10, 0x49, 0x63, 0x3a, 0x31, 0x0, 0xff, 0xff, 0x0, 0x87, 0xfe, 0x75, 0x4, 0xa2, 0x5, 0xf0, 0x12, 0x26, 0x0, 0x36, 0x0, 0x0, 0x10, 0x7, 0x0, 0x7a, 0x0, 0x8b, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6f, 0xfe, 0x75, 0x3, 0xc7, 0x4, 0x7b, 0x12, 0x26, 0x0, 0x56, 0x0, 0x0, 0x10, 0x6, 0x0, 0x7a, 0x17, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xff, 0xe3, 0x4, 0xa2, 0x7, 0x6d, 0x12, 0x26, 0x0, 0x36, 0x0, 0x0, 0x11, 0x7, 0x16, 0xbe, 0x4, 0x8b, 0x1, 0x75, 0x0, 0xb, 0xb4, 0x2b, 0x20, 0xe, 0x22, 0x22, 0x10, 0x49, 0x63, 0x3a, 0x31, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6f, 0xff, 0xe3, 0x3, 0xc7, 0x6, 0x66, 0x12, 0x26, 0x0, 0x56, 0x0, 0x0, 0x11, 0x7, 0x2, 0xbd, 0x4, 0x27, 0x0, 0x0, 0x0, 0xb, 0xb4, 0x2b, 0x20, 0xe, 0x22, 0x22, 0x10, 0x49, 0x63, 0x3a, 0x31, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfa, 0xfe, 0x75, 0x4, 0xe9, 0x5, 0xd5, 0x10, 0x26, 0x0, 0x7a, 0x50, 0x0, 0x12, 0x6, 0x0, 0x37, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x37, 0xfe, 0x75, 0x2, 0xf2, 0x5, 0x9e, 0x10, 0x26, 0x0, 0x7a, 0xe1, 0x0, 0x12, 0x6, 0x0, 0x57, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x4, 0xe9, 0x7, 0x5f, 0x12, 0x26, 0x0, 0x37, 0x0, 0x0, 0x11, 0x7, 0x16, 0xbe, 0x4, 0x73, 0x1, 0x67, 0x0, 0x10, 0xb4, 0x1, 0xd, 0x9, 0x0, 0x7, 0x2b, 0x31, 0x0, 0x40, 0x3, 0x5f, 0x8, 0x1, 0x5d, 0x30, 0x0, 0x0, 0xff, 0xff, 0x0, 0x37, 0x0, 0x0, 0x2, 0xfe, 0x6, 0x82, 0x12, 0x26, 0x0, 0x57, 0x0, 0x0, 0x11, 0x7, 0x16, 0xb8, 0x2, 0x37, 0x0, 0x70, 0x0, 0x7, 0x40, 0x3, 0x8f, 0x14, 0x1, 0x5d, 0x31, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xfa, 0x0, 0x0, 0x4, 0xe9, 0x5, 0xd5, 0x0, 0xf, 0x0, 0x46, 0x40, 0x18, 0x7, 0xb, 0x95, 0x4, 0xc, 0x9, 0x3, 0xf, 0x95, 0x0, 0x81, 0x9, 0x5, 0x1, 0x40, 0x7, 0x3, 0x1c, 0xc, 0x0, 0x40, 0xa, 0xe, 0x10, 0x10, 0xd4, 0x3c, 0xe4, 0xcc, 0xfc, 0x3c, 0xe4, 0xcc, 0x31, 0x0, 0x2f, 0xf4, 0xec, 0x32, 0x10, 0xd4, 0x3c, 0xec, 0x32, 0x30, 0x1, 0x40, 0x13, 0x0, 0x11, 0x1f, 0x0, 0x10, 0x1, 0x10, 0x2, 0x1f, 0xf, 0x10, 0x11, 0x40, 0x11, 0x70, 0x11, 0x9f, 0x11, 0x9, 0x5d, 0x3, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x6, 0x4, 0xef, 0xfd, 0xee, 0x1, 0x9, 0xfe, 0xf7, 0xcb, 0xfe, 0xf7, 0x1, 0x9, 0xfd, 0xee, 0x5, 0xd5, 0xaa, 0xfd, 0xc0, 0xaa, 0xfd, 0xbf, 0x2, 0x41, 0xaa, 0x2, 0x40, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x37, 0x0, 0x0, 0x2, 0xf2, 0x5, 0x9e, 0x0, 0x1d, 0x0, 0x43, 0x40, 0x1f, 0x8, 0x16, 0xa9, 0x5, 0x17, 0x4, 0x1a, 0xa9, 0x0, 0x1, 0x1b, 0xbc, 0xd, 0x87, 0x10, 0x10, 0xd, 0xe, 0x2, 0x6, 0x8, 0x4, 0x0, 0x8, 0x17, 0x1b, 0x15, 0x19, 0x1d, 0x46, 0x1e, 0x10, 0xfc, 0x3c, 0x3c, 0xc4, 0x32, 0xfc, 0x3c, 0x3c, 0xc4, 0xc4, 0x32, 0x39, 0x39, 0x31, 0x0, 0x2f, 0xec, 0xf4, 0x3c, 0xc4, 0xfc, 0x3c, 0xdc, 0x3c, 0xec, 0x32, 0x30, 0xb2, 0xaf, 0x1f, 0x1, 0x1, 0x5d, 0x1, 0x11, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x26, 0x3d, 0x1, 0x23, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x11, 0x1, 0x77, 0x1, 0x7b, 0xfe, 0x85, 0x1, 0x7b, 0xfe, 0x85, 0x25, 0x26, 0x73, 0xbd, 0xbd, 0xd5, 0x51, 0x51, 0x87, 0x87, 0x87, 0x87, 0x5, 0x9e, 0xfe, 0xc2, 0x8f, 0xe9, 0x8e, 0xe9, 0x89, 0x27, 0x27, 0x9a, 0x50, 0x4f, 0xd2, 0xe9, 0x8e, 0xe9, 0x8f, 0x1, 0x3e, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x7, 0x5e, 0x10, 0x27, 0x16, 0xbb, 0x4, 0xee, 0x1, 0x75, 0x13, 0x6, 0x0, 0x38, 0x0, 0x0, 0x0, 0x10, 0xb4, 0x1f, 0x9, 0x18, 0x27, 0x7, 0x2b, 0x40, 0x5, 0x10, 0x9, 0x1f, 0x18, 0x2, 0x5d, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0xae, 0xff, 0xe3, 0x4, 0x58, 0x6, 0x37, 0x10, 0x27, 0x2, 0x9e, 0x0, 0x83, 0x0, 0x0, 0x13, 0x6, 0x0, 0x58, 0x0, 0x0, 0x0, 0x8, 0xb4, 0x1e, 0x8, 0x16, 0x26, 0x7, 0x2b, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x7, 0x31, 0x10, 0x27, 0x0, 0x71, 0x0, 0xee, 0x1, 0x3b, 0x13, 0x6, 0x0, 0x38, 0x0, 0x0, 0x0, 0x14, 0xb4, 0x5, 0x3, 0x2, 0xd, 0x7, 0x2b, 0x40, 0x9, 0x2f, 0x2, 0x20, 0x3, 0x1f, 0x2, 0x10, 0x3, 0x4, 0x5d, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0xae, 0xff, 0xe3, 0x4, 0x58, 0x5, 0xf5, 0x10, 0x27, 0x0, 0x71, 0x0, 0x83, 0xff, 0xff, 0x13, 0x6, 0x0, 0x58, 0x0, 0x0, 0x0, 0x8, 0xb4, 0x6, 0x3, 0x2, 0xe, 0x7, 0x2b, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x7, 0x6d, 0x10, 0x27, 0x16, 0xc0, 0x4, 0xee, 0x1, 0x75, 0x13, 0x6, 0x0, 0x38, 0x0, 0x0, 0x0, 0x10, 0xb4, 0xf, 0x0, 0x8, 0x17, 0x7, 0x2b, 0x40, 0x5, 0x10, 0x0, 0x1f, 0x8, 0x2, 0x5d, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0xae, 0xff, 0xe3, 0x4, 0x58, 0x6, 0x48, 0x10, 0x27, 0x2, 0x9a, 0x0, 0x83, 0x0, 0x0, 0x13, 0x6, 0x0, 0x58, 0x0, 0x0, 0x0, 0x8, 0xb4, 0x10, 0x0, 0x8, 0x18, 0x7, 0x2b, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x7, 0x6f, 0x12, 0x26, 0x0, 0x38, 0x0, 0x0, 0x10, 0x7, 0x2, 0x9c, 0x0, 0xf0, 0x0, 0x69, 0xff, 0xff, 0x0, 0xae, 0xff, 0xe3, 0x4, 0x58, 0x6, 0xca, 0x12, 0x26, 0x0, 0x58, 0x0, 0x0, 0x11, 0x6, 0x2, 0x9c, 0x7c, 0xc4, 0x0, 0x9, 0x40, 0x5, 0x40, 0x15, 0x40, 0x21, 0x2, 0x5d, 0x31, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x7, 0x6b, 0x10, 0x27, 0x16, 0xc2, 0x4, 0xee, 0x1, 0x75, 0x12, 0x6, 0x0, 0x38, 0x0, 0x0, 0xff, 0xff, 0x0, 0xae, 0xff, 0xe3, 0x4, 0x5e, 0x6, 0x66, 0x10, 0x27, 0x2, 0x9f, 0x0, 0xb0, 0x0, 0x0, 0x12, 0x6, 0x0, 0x58, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb2, 0xfe, 0x75, 0x5, 0x29, 0x5, 0xd5, 0x12, 0x26, 0x0, 0x38, 0x0, 0x0, 0x10, 0x7, 0x2, 0x9d, 0x0, 0xfa, 0x0, 0x0, 0xff, 0xff, 0x0, 0xae, 0xfe, 0x75, 0x4, 0xe8, 0x4, 0x7b, 0x12, 0x26, 0x0, 0x58, 0x0, 0x0, 0x10, 0x7, 0x2, 0x9d, 0x2, 0x27, 0x0, 0x0, 0xff, 0xff, 0x0, 0x44, 0x0, 0x0, 0x7, 0xa6, 0x7, 0x74, 0x10, 0x27, 0x16, 0xbd, 0x5, 0xf5, 0x1, 0x7c, 0x13, 0x6, 0x0, 0x3a, 0x0, 0x0, 0x0, 0x8, 0xb4, 0x15, 0x2, 0x6, 0x14, 0x7, 0x2b, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0x56, 0x0, 0x0, 0x6, 0x35, 0x6, 0x6d, 0x10, 0x27, 0x2, 0x88, 0x1, 0x45, 0x0, 0x7, 0x13, 0x6, 0x0, 0x5a, 0x0, 0x0, 0x0, 0x8, 0xb4, 0x15, 0x2, 0x6, 0x14, 0x7, 0x2b, 0x31, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x4, 0xe7, 0x7, 0x74, 0x10, 0x27, 0x16, 0xbd, 0x4, 0x72, 0x1, 0x7c, 0x13, 0x6, 0x0, 0x3c, 0x0, 0x0, 0x0, 0x8, 0xb4, 0xb, 0x2, 0x6, 0x7, 0x7, 0x2b, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3d, 0xfe, 0x56, 0x4, 0x7f, 0x6, 0x6d, 0x10, 0x26, 0x2, 0x88, 0x5e, 0x7, 0x13, 0x6, 0x0, 0x5c, 0x0, 0x0, 0x0, 0x8, 0xb4, 0x18, 0x2, 0x6, 0x17, 0x7, 0x2b, 0x31, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x4, 0xe7, 0x7, 0x4e, 0x12, 0x26, 0x0, 0x3c, 0x0, 0x0, 0x11, 0x7, 0x16, 0xb9, 0x4, 0x73, 0x1, 0x75, 0x0, 0x8, 0xb4, 0x0, 0x10, 0xb, 0x4, 0x7, 0x2b, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0x5c, 0x0, 0x0, 0x5, 0x1f, 0x7, 0x6c, 0x10, 0x27, 0x16, 0xba, 0x4, 0x95, 0x1, 0x76, 0x12, 0x6, 0x0, 0x3d, 0x0, 0x0, 0xff, 0xff, 0x0, 0x58, 0x0, 0x0, 0x3, 0xdb, 0x6, 0x6d, 0x10, 0x26, 0x0, 0x76, 0x42, 0x7, 0x12, 0x6, 0x0, 0x5d, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x5c, 0x0, 0x0, 0x5, 0x1f, 0x7, 0x50, 0x10, 0x27, 0x16, 0xc1, 0x4, 0xbe, 0x1, 0x75, 0x12, 0x6, 0x0, 0x3d, 0x0, 0x0, 0xff, 0xff, 0x0, 0x58, 0x0, 0x0, 0x3, 0xdb, 0x6, 0x14, 0x10, 0x27, 0x2, 0xb8, 0x4, 0x17, 0x0, 0x0, 0x13, 0x6, 0x0, 0x5d, 0x0, 0x0, 0x0, 0xe, 0x1, 0x40, 0x9, 0x4f, 0xa, 0x5f, 0xa, 0xaf, 0xa, 0xdf, 0xa, 0x4, 0x5d, 0x31, 0xff, 0xff, 0x0, 0x5c, 0x0, 0x0, 0x5, 0x1f, 0x7, 0x6d, 0x12, 0x26, 0x0, 0x3d, 0x0, 0x0, 0x10, 0x7, 0x16, 0xbe, 0x4, 0xbe, 0x1, 0x75, 0xff, 0xff, 0x0, 0x58, 0x0, 0x0, 0x3, 0xdb, 0x6, 0x66, 0x12, 0x26, 0x0, 0x5d, 0x0, 0x0, 0x11, 0x6, 0x2, 0x89, 0x1b, 0x0, 0x0, 0x10, 0xb4, 0x1, 0xf, 0xb, 0x0, 0x7, 0x2b, 0x40, 0x5, 0xf, 0xf, 0x0, 0xb, 0x2, 0x5d, 0x31, 0x0, 0x1, 0x0, 0x2f, 0x0, 0x0, 0x2, 0xf8, 0x6, 0x14, 0x0, 0x10, 0x0, 0x23, 0x40, 0x12, 0xb, 0x87, 0xa, 0x97, 0x1, 0x2, 0xa9, 0x5, 0xbc, 0x1, 0xa, 0x10, 0x8, 0x4, 0x6, 0x2, 0x4c, 0x11, 0x10, 0xfc, 0x3c, 0xcc, 0xfc, 0xcc, 0x31, 0x0, 0x2f, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x21, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x7, 0x6, 0x15, 0x1, 0x98, 0xb9, 0xb0, 0xb0, 0xae, 0xbd, 0xae, 0xb0, 0x63, 0x27, 0x26, 0x3, 0xd1, 0x8f, 0x4e, 0xbb, 0xab, 0x99, 0x28, 0x29, 0x67, 0x0, 0x2, 0x0, 0x20, 0xff, 0xe3, 0x4, 0xa4, 0x6, 0x14, 0x0, 0xf, 0x0, 0x2c, 0x0, 0x44, 0x40, 0x25, 0x4, 0xb9, 0x10, 0x14, 0xc, 0xb9, 0x20, 0x1c, 0x8c, 0x14, 0xb8, 0x22, 0x29, 0x25, 0xa9, 0x2c, 0x24, 0x27, 0x97, 0x22, 0x2e, 0x45, 0x0, 0x12, 0x18, 0x47, 0x2a, 0x20, 0x6, 0x2c, 0x28, 0x8, 0x25, 0x23, 0x27, 0x46, 0x2d, 0x10, 0xfc, 0x3c, 0xcc, 0xec, 0x32, 0x32, 0x32, 0xcc, 0xf4, 0xec, 0xec, 0x31, 0x0, 0x2f, 0xf4, 0xdc, 0x3c, 0xec, 0x32, 0x10, 0xe4, 0xf4, 0xc4, 0xec, 0x10, 0xc6, 0xee, 0x30, 0x1, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x1, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x11, 0x10, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x15, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x21, 0x15, 0x21, 0x3, 0xe5, 0x53, 0x54, 0x92, 0x92, 0x54, 0x53, 0x53, 0x54, 0x92, 0x92, 0x54, 0x53, 0xfd, 0x8e, 0x3a, 0x59, 0x58, 0x7b, 0xcc, 0x7f, 0x80, 0x80, 0x7f, 0xcc, 0x7b, 0x58, 0x59, 0x3a, 0xb9, 0x9a, 0x9a, 0xb9, 0x1, 0x45, 0xfe, 0xbb, 0x2, 0x2f, 0xcb, 0x74, 0x73, 0x73, 0x74, 0xcb, 0xcb, 0x74, 0x73, 0x73, 0x74, 0x2, 0x52, 0x64, 0x30, 0x31, 0xa2, 0xa2, 0xfe, 0xf8, 0xfe, 0xf8, 0xa2, 0xa2, 0x31, 0x30, 0x64, 0xa8, 0x5, 0x4, 0x7d, 0x93, 0x93, 0x7d, 0x0, 0x0, 0x3, 0xff, 0x97, 0x0, 0x0, 0x5, 0x50, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x11, 0x0, 0x29, 0x0, 0x43, 0x40, 0x23, 0x19, 0x0, 0x95, 0xa, 0x9, 0x95, 0x12, 0x81, 0x1, 0x95, 0xa, 0xad, 0x1f, 0x11, 0xb, 0x8, 0x2, 0x13, 0x19, 0x1f, 0x5, 0x0, 0xe, 0x1c, 0x16, 0x5, 0x19, 0x1c, 0x2e, 0x9, 0x0, 0x1c, 0x12, 0x4, 0x2a, 0x10, 0xfc, 0xec, 0x32, 0xfc, 0xec, 0xd4, 0xec, 0x11, 0x17, 0x39, 0x39, 0x39, 0x31, 0x0, 0x2f, 0xec, 0xec, 0xf4, 0xec, 0x10, 0xee, 0x39, 0x30, 0xb2, 0xf, 0x22, 0x1, 0x1, 0x5d, 0x1, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x1, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x25, 0x21, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x1e, 0x1, 0x15, 0x14, 0x4, 0x23, 0x21, 0x11, 0x22, 0x6, 0x1d, 0x1, 0x23, 0x35, 0x34, 0x36, 0x1, 0xf7, 0x1, 0x44, 0xa3, 0x9d, 0x9d, 0xa3, 0xfe, 0xbc, 0x1, 0x2b, 0x94, 0x91, 0x91, 0x94, 0xfe, 0xb, 0x2, 0x4, 0xe7, 0xfa, 0x80, 0x7c, 0x95, 0xa5, 0xfe, 0xf0, 0xfb, 0xfd, 0xe8, 0x84, 0x76, 0x9c, 0xc0, 0x2, 0xc9, 0xfd, 0xdd, 0x87, 0x8b, 0x8c, 0x85, 0x2, 0x66, 0xfe, 0x3e, 0x6f, 0x72, 0x71, 0x70, 0xa6, 0xc0, 0xb1, 0x89, 0xa2, 0x14, 0x20, 0xcb, 0x98, 0xc8, 0xda, 0x5, 0x30, 0x5f, 0x69, 0x31, 0x46, 0xb5, 0xa3, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0xec, 0x5, 0xd5, 0x12, 0x6, 0x3, 0xa5, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0xff, 0xe3, 0x4, 0xa4, 0x6, 0x14, 0x0, 0x16, 0x0, 0x26, 0x0, 0x38, 0x40, 0x1f, 0x1b, 0xb9, 0x0, 0x4, 0x23, 0xb9, 0x10, 0xc, 0x8c, 0x4, 0xb8, 0x12, 0x16, 0xa9, 0x13, 0x97, 0x12, 0x28, 0x45, 0x14, 0x17, 0x12, 0x8, 0x47, 0x10, 0x1f, 0x16, 0x8, 0x13, 0x46, 0x27, 0x10, 0xfc, 0xec, 0x32, 0x32, 0xf4, 0xec, 0xc4, 0xec, 0x31, 0x0, 0x2f, 0xf4, 0xec, 0x10, 0xe4, 0xf4, 0xc4, 0xec, 0x10, 0xc6, 0xee, 0x30, 0x1, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x11, 0x10, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x15, 0x23, 0x11, 0x21, 0x15, 0x25, 0x1, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x1, 0x73, 0x3a, 0x59, 0x58, 0x7b, 0xcc, 0x7f, 0x80, 0x80, 0x7f, 0xcc, 0x7b, 0x58, 0x59, 0x3a, 0xb9, 0x3, 0x4e, 0xfd, 0x6b, 0x2, 0x72, 0x53, 0x54, 0x92, 0x92, 0x54, 0x53, 0x53, 0x54, 0x92, 0x92, 0x54, 0x53, 0x3, 0xb6, 0x64, 0x30, 0x31, 0xa2, 0xa2, 0xfe, 0xf8, 0xfe, 0xf8, 0xa2, 0xa2, 0x31, 0x30, 0x64, 0xa8, 0x6, 0x14, 0xa6, 0x1, 0xfc, 0xc0, 0xcb, 0x74, 0x73, 0x73, 0x74, 0xcb, 0xcb, 0x74, 0x73, 0x73, 0x74, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x4, 0xec, 0x5, 0xd5, 0x0, 0xa, 0x0, 0x17, 0x0, 0x33, 0x40, 0xc, 0x17, 0xb, 0x19, 0x0, 0x19, 0x10, 0x2e, 0x5, 0xb, 0x1c, 0x15, 0x16, 0x2f, 0xdc, 0xec, 0x32, 0xfc, 0xec, 0xc4, 0x10, 0xcc, 0x31, 0x40, 0x9, 0x5, 0x95, 0xc, 0xad, 0xb, 0x81, 0x6, 0x95, 0x14, 0x0, 0x2f, 0xec, 0xe4, 0xf4, 0xec, 0xb3, 0x15, 0x15, 0xb, 0x14, 0x11, 0x12, 0x39, 0x2f, 0x30, 0x1, 0x34, 0x27, 0x26, 0x23, 0x21, 0x11, 0x21, 0x32, 0x37, 0x36, 0x1, 0x11, 0x21, 0x32, 0x4, 0x15, 0x14, 0x4, 0x23, 0x21, 0x11, 0x23, 0x1, 0x4, 0x17, 0x4f, 0x4e, 0xa3, 0xfe, 0xbc, 0x1, 0x44, 0xa3, 0x4e, 0x4f, 0xfd, 0x7c, 0x1, 0x4e, 0xfb, 0x1, 0x10, 0xfe, 0xf0, 0xfb, 0xfd, 0xe8, 0xc9, 0x1, 0x38, 0x1, 0xb7, 0x8b, 0x44, 0x43, 0xfd, 0xdd, 0x44, 0x43, 0x4, 0xa8, 0xfd, 0x9a, 0xda, 0xde, 0xdd, 0xda, 0x4, 0x44, 0x1, 0x91, 0x0, 0x0, 0x2, 0x0, 0x0, 0xff, 0xe3, 0x4, 0xa4, 0x6, 0x15, 0x0, 0x12, 0x0, 0x1e, 0x0, 0x3e, 0x40, 0xd, 0x11, 0x12, 0x20, 0x13, 0x12, 0x6, 0x47, 0xd, 0x19, 0x12, 0x8, 0xf, 0x10, 0x2f, 0xdc, 0xec, 0x32, 0x32, 0xf4, 0xec, 0xc4, 0x10, 0xcc, 0x31, 0x40, 0xe, 0x0, 0x16, 0xb9, 0x3, 0xb8, 0xe, 0xc, 0x1c, 0xb9, 0x9, 0x8c, 0x11, 0x97, 0xe, 0x0, 0x2f, 0xe4, 0xf4, 0xec, 0xc4, 0x10, 0xf4, 0xec, 0xc4, 0xb3, 0xf, 0xf, 0x11, 0xe, 0x11, 0x12, 0x39, 0x2f, 0x30, 0x1, 0x3e, 0x1, 0x33, 0x32, 0x0, 0x11, 0x10, 0x2, 0x23, 0x22, 0x26, 0x27, 0x15, 0x23, 0x11, 0x23, 0x1, 0x33, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x1, 0x73, 0x3a, 0xb1, 0x7b, 0xcc, 0x0, 0xff, 0xff, 0xcc, 0x7b, 0xb1, 0x3a, 0xb9, 0xba, 0x1, 0x22, 0x51, 0x2, 0x72, 0xa7, 0x92, 0x92, 0xa7, 0xa7, 0x92, 0x92, 0xa7, 0x3, 0xb6, 0x64, 0x61, 0xfe, 0xbc, 0xfe, 0xf8, 0xfe, 0xf8, 0xfe, 0xbc, 0x61, 0x64, 0xa8, 0x4, 0x44, 0x1, 0xd1, 0xfc, 0x1a, 0xcb, 0xe7, 0xe7, 0xcb, 0xcb, 0xe7, 0xe7, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x27, 0x5, 0xf0, 0x0, 0x19, 0x0, 0x30, 0x40, 0x1b, 0x19, 0x86, 0x0, 0x88, 0x16, 0x95, 0x3, 0x91, 0x1a, 0xd, 0x86, 0xc, 0x88, 0x10, 0x95, 0x9, 0x8c, 0x1a, 0x1b, 0x10, 0x13, 0x19, 0x6, 0x30, 0xd, 0x0, 0x1a, 0x10, 0xdc, 0x3c, 0xf4, 0xec, 0xec, 0x31, 0x0, 0x10, 0xf4, 0xec, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0xf4, 0xec, 0x30, 0x13, 0x3e, 0x1, 0x33, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x22, 0x6, 0x7, 0x73, 0x68, 0xed, 0x86, 0x1, 0x53, 0x1, 0x86, 0xfe, 0x7a, 0xfe, 0xad, 0x84, 0xed, 0x6a, 0x66, 0xe7, 0x82, 0x1, 0x0, 0x1, 0x10, 0xfe, 0xf0, 0xff, 0x0, 0x82, 0xe7, 0x66, 0x5, 0x62, 0x47, 0x47, 0xfe, 0x61, 0xfe, 0x98, 0xfe, 0x99, 0xfe, 0x61, 0x48, 0x48, 0xd3, 0x5f, 0x5e, 0x1, 0x39, 0x1, 0x27, 0x1, 0x28, 0x1, 0x39, 0x5e, 0x5f, 0x0, 0x1, 0x0, 0x73, 0xff, 0xe3, 0x6, 0x5a, 0x7, 0x64, 0x0, 0x24, 0x0, 0x44, 0x40, 0x22, 0x21, 0x95, 0x20, 0x25, 0xd, 0xa1, 0xe, 0xae, 0xa, 0x95, 0x11, 0x1, 0xa1, 0x0, 0xae, 0x4, 0x95, 0x17, 0x91, 0x11, 0x8c, 0x25, 0x20, 0x7, 0x19, 0x14, 0x1b, 0x11, 0xd, 0x0, 0x30, 0x14, 0x10, 0x25, 0x10, 0xfc, 0xfc, 0x32, 0xec, 0x10, 0xec, 0xc4, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xec, 0xf4, 0xec, 0x10, 0xee, 0xf6, 0xee, 0x10, 0xdc, 0xec, 0x30, 0xb4, 0xf, 0x26, 0x1f, 0x26, 0x2, 0x1, 0x5d, 0x1, 0x15, 0x2e, 0x1, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x32, 0x17, 0x16, 0x17, 0x36, 0x37, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x6, 0x5, 0x27, 0x66, 0xe7, 0x82, 0xff, 0x0, 0xfe, 0xf0, 0x1, 0x10, 0x1, 0x0, 0x82, 0xe7, 0x66, 0x6a, 0xed, 0x84, 0xfe, 0xad, 0xfe, 0x7a, 0x1, 0x86, 0x1, 0x53, 0x60, 0x9c, 0xd, 0xc, 0x10, 0x53, 0x66, 0xe3, 0x4d, 0x3f, 0x86, 0x6e, 0x5, 0x62, 0xd5, 0x5f, 0x5e, 0xfe, 0xc7, 0xfe, 0xd8, 0xfe, 0xd9, 0xfe, 0xc7, 0x5e, 0x5f, 0xd3, 0x48, 0x48, 0x1, 0x9f, 0x1, 0x67, 0x1, 0x68, 0x1, 0x9f, 0x24, 0x3, 0x4, 0xc3, 0x62, 0x7a, 0xaa, 0x96, 0x0, 0x1, 0x0, 0x71, 0xff, 0xe3, 0x4, 0xcc, 0x6, 0x14, 0x0, 0x22, 0x0, 0x4e, 0x40, 0x24, 0x0, 0x86, 0x1, 0x88, 0x4, 0xe, 0x86, 0xd, 0x88, 0xa, 0xb9, 0x11, 0x4, 0xb9, 0x17, 0xb8, 0x11, 0x8c, 0x23, 0x1, 0x87, 0x1e, 0x97, 0x23, 0x7, 0x12, 0x14, 0x19, 0x8, 0x1e, 0xd, 0x0, 0x48, 0x14, 0x45, 0x23, 0x10, 0xfc, 0xf4, 0x32, 0xcc, 0xec, 0x10, 0xec, 0x31, 0x0, 0x10, 0xf4, 0xec, 0x10, 0xe4, 0xf4, 0xec, 0x10, 0xfe, 0xf4, 0xee, 0x10, 0xf5, 0xee, 0x30, 0x40, 0xb, 0xf, 0x24, 0x10, 0x24, 0x80, 0x24, 0x90, 0x24, 0xa0, 0x24, 0x5, 0x1, 0x5d, 0x1, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x0, 0x11, 0x10, 0x0, 0x21, 0x32, 0x17, 0x35, 0x34, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x6, 0x3, 0xe7, 0x4e, 0x9d, 0x50, 0xb3, 0xc6, 0xc6, 0xb3, 0x50, 0x9d, 0x4e, 0x4d, 0xa5, 0x5d, 0xfd, 0xfe, 0xd6, 0x1, 0x2d, 0x1, 0x6, 0x47, 0x46, 0xa1, 0xb5, 0x45, 0x30, 0x69, 0x4c, 0x4, 0x7e, 0xf5, 0x2b, 0x2b, 0xe3, 0xcd, 0xcd, 0xe3, 0x2b, 0x2b, 0xaa, 0x24, 0x24, 0x1, 0x3e, 0x1, 0xe, 0x1, 0x12, 0x1, 0x3a, 0xc, 0xf, 0xd6, 0xc0, 0x9c, 0x61, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xa, 0x0, 0x0, 0x5, 0xba, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x92, 0x0, 0x0, 0x0, 0x2, 0xff, 0x97, 0x0, 0x0, 0x6, 0x14, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x1a, 0x0, 0x2e, 0x40, 0x15, 0x0, 0x95, 0x9, 0x81, 0x1, 0x95, 0x10, 0x8, 0x2, 0x10, 0xa, 0x0, 0x5, 0x19, 0xd, 0x32, 0x0, 0x1c, 0x9, 0x4, 0x1b, 0x10, 0xfc, 0xec, 0xf4, 0xec, 0x11, 0x39, 0x39, 0x39, 0x39, 0x31, 0x0, 0x2f, 0xec, 0xf4, 0xec, 0x30, 0xb2, 0x60, 0x13, 0x1, 0x1, 0x5d, 0x1, 0x11, 0x33, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x25, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x29, 0x1, 0x11, 0x22, 0x6, 0x1d, 0x1, 0x23, 0x35, 0x34, 0x36, 0x1, 0xf7, 0xf4, 0x1, 0x35, 0x1, 0x1f, 0xfe, 0xe1, 0xfe, 0xcb, 0xfe, 0x42, 0x1, 0x9f, 0x1, 0xb2, 0x1, 0x96, 0xfe, 0x68, 0xfe, 0x50, 0xfe, 0x61, 0x84, 0x76, 0x9c, 0xc0, 0x5, 0x2f, 0xfb, 0x77, 0x1, 0x18, 0x1, 0x2e, 0x1, 0x2c, 0x1, 0x17, 0xa6, 0xfe, 0x97, 0xfe, 0x80, 0xfe, 0x7e, 0xfe, 0x96, 0x5, 0x30, 0x5f, 0x69, 0x31, 0x46, 0xb5, 0xa3, 0x0, 0x0, 0x2, 0x0, 0xc9, 0x0, 0x0, 0x4, 0xec, 0x5, 0xd5, 0x0, 0x7, 0x0, 0x14, 0x0, 0x2e, 0x40, 0xc, 0x16, 0x8, 0x4, 0x13, 0x1c, 0xa, 0x2e, 0x0, 0x19, 0xe, 0x10, 0x15, 0x10, 0xfc, 0xec, 0xf4, 0xec, 0x32, 0xc4, 0xc4, 0x31, 0x40, 0xc, 0x13, 0x95, 0x9, 0x81, 0xa, 0x4, 0x95, 0x12, 0xad, 0x3, 0x95, 0xa, 0x0, 0x2f, 0xec, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x10, 0x29, 0x1, 0x11, 0x21, 0x22, 0x6, 0x11, 0x21, 0x11, 0x21, 0x22, 0x24, 0x35, 0x34, 0x24, 0x33, 0x21, 0x11, 0x21, 0x1, 0x9e, 0x1, 0x40, 0x1, 0x44, 0xfe, 0xbc, 0xa3, 0x9d, 0x3, 0x4e, 0xfd, 0xe8, 0xfb, 0xfe, 0xf0, 0x1, 0x10, 0xfb, 0x1, 0x4e, 0xfd, 0x7c, 0x1, 0xb7, 0xfe, 0xef, 0x2, 0x23, 0x87, 0x3, 0x93, 0xfa, 0x2b, 0xda, 0xde, 0xdd, 0xda, 0x1, 0xc0, 0x0, 0x2, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x5a, 0x6, 0x14, 0x0, 0x12, 0x0, 0x1e, 0x0, 0x3f, 0x40, 0x1d, 0x1c, 0xb9, 0x11, 0xe, 0x16, 0xb9, 0x5, 0x8, 0x8c, 0xe, 0xb8, 0x3, 0x12, 0x87, 0x1, 0x97, 0x3, 0x19, 0x4, 0x11, 0x8, 0x2, 0x47, 0x0, 0x13, 0x12, 0xb, 0x45, 0x1f, 0x10, 0xfc, 0xec, 0xc4, 0xf4, 0xec, 0x32, 0x32, 0x31, 0x0, 0x2f, 0xfc, 0xec, 0x10, 0xe4, 0xf4, 0xc4, 0xec, 0x10, 0xc4, 0xee, 0x30, 0xb6, 0x60, 0x20, 0x80, 0x20, 0xa0, 0x20, 0x3, 0x1, 0x5d, 0x1, 0x35, 0x21, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x2, 0x11, 0x10, 0x0, 0x33, 0x32, 0x16, 0x17, 0x11, 0x1, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x1, 0xd, 0x3, 0x4d, 0xb8, 0x3a, 0xb1, 0x7c, 0xcb, 0xff, 0x0, 0xff, 0xcb, 0x7c, 0xb1, 0x3a, 0xfd, 0x8d, 0xa7, 0x92, 0x92, 0xa8, 0xa8, 0x92, 0x92, 0xa7, 0x5, 0x6e, 0xa6, 0xf9, 0xec, 0xa8, 0x64, 0x61, 0x1, 0x44, 0x1, 0x8, 0x1, 0x8, 0x1, 0x44, 0x61, 0x64, 0x1, 0xb9, 0xfc, 0xc0, 0xcb, 0xe7, 0xe7, 0xcb, 0xcb, 0xe7, 0xe7, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0xfe, 0x56, 0x4, 0x74, 0x4, 0x63, 0x0, 0x19, 0x0, 0x27, 0x0, 0x54, 0x40, 0x14, 0xd, 0xc, 0xb, 0x20, 0x29, 0x45, 0x17, 0xb, 0x12, 0x2, 0x1a, 0x12, 0x17, 0x51, 0x6, 0x20, 0x12, 0x11, 0x45, 0x28, 0x10, 0xfc, 0xec, 0xc4, 0xf4, 0xb2, 0x7f, 0x17, 0x1, 0x5d, 0xec, 0xd4, 0xec, 0x10, 0xec, 0x11, 0x12, 0x39, 0x39, 0x0, 0x40, 0xe, 0xd, 0xc, 0x1d, 0x9, 0x6, 0x7, 0x9, 0xb9, 0x4, 0x1d, 0xb9, 0x14, 0xb6, 0x28, 0x10, 0xf4, 0xec, 0xd4, 0xfc, 0xd4, 0xcc, 0x11, 0x12, 0x39, 0x39, 0x40, 0x6, 0x0, 0x25, 0x53, 0xc, 0xd, 0xc, 0x7, 0xe, 0x10, 0xec, 0x39, 0x31, 0x30, 0x25, 0x16, 0x15, 0x10, 0x21, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x35, 0x34, 0x25, 0x26, 0x27, 0x26, 0x11, 0x10, 0x0, 0x33, 0x32, 0x0, 0x3, 0x14, 0x2, 0x3, 0x36, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x3e, 0x1, 0x3, 0x6b, 0x9d, 0xfe, 0x47, 0xdd, 0x78, 0x66, 0xf6, 0xf6, 0xfe, 0xf8, 0xd0, 0x75, 0x8e, 0x1, 0x12, 0xef, 0xf0, 0x1, 0x13, 0x1, 0x9b, 0x27, 0x1, 0xab, 0x94, 0x94, 0xac, 0xbc, 0x7e, 0x40, 0x33, 0x63, 0x6e, 0x42, 0x4f, 0x8d, 0xfe, 0xf0, 0x46, 0x99, 0x46, 0x75, 0x5c, 0x30, 0x25, 0x70, 0x87, 0x1, 0xf, 0x1, 0xf, 0x1, 0x39, 0xfe, 0xc7, 0xfe, 0xed, 0x9c, 0xfe, 0xfc, 0x1, 0xa0, 0xcb, 0xe5, 0xe8, 0xc3, 0xc2, 0xc7, 0xb, 0x6, 0xe, 0x2a, 0xdc, 0x0, 0x0, 0x1, 0x0, 0x83, 0x0, 0x0, 0x4, 0x45, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x2b, 0x40, 0x9, 0xd, 0x5, 0x9, 0x1c, 0x0, 0xb, 0x7, 0x2, 0xc, 0x10, 0xdc, 0xc4, 0xc4, 0xd4, 0xec, 0x32, 0xc4, 0x31, 0x40, 0xc, 0xa, 0x95, 0xb, 0x81, 0x2, 0x6, 0x95, 0x7, 0xad, 0x3, 0x95, 0x2, 0x0, 0x2f, 0xec, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x4, 0x45, 0xfc, 0x3e, 0x2, 0xf8, 0xfd, 0x39, 0x2, 0xc7, 0xfd, 0x1a, 0x5, 0xd5, 0xfa, 0x2b, 0xaa, 0x2, 0x1d, 0xaa, 0x1, 0xba, 0xaa, 0x0, 0x2, 0x0, 0x75, 0xff, 0xe3, 0x5, 0xd9, 0x5, 0xf0, 0x0, 0x13, 0x0, 0x1a, 0x0, 0x44, 0x40, 0x26, 0x1, 0x14, 0x0, 0x8, 0xa1, 0x7, 0xae, 0x4, 0x0, 0x95, 0x14, 0x17, 0x95, 0x11, 0x0, 0x95, 0x14, 0xad, 0x4, 0x95, 0xb, 0x91, 0x11, 0x8c, 0x1b, 0x1, 0x14, 0x1a, 0x1a, 0x19, 0xf, 0x33, 0x14, 0x19, 0x7, 0x0, 0x10, 0x1b, 0x10, 0xfc, 0xc4, 0xec, 0xf4, 0xec, 0x11, 0x12, 0x39, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xec, 0xf4, 0xe4, 0x10, 0xee, 0x10, 0xee, 0x10, 0xf4, 0xee, 0x11, 0x12, 0x39, 0x30, 0x13, 0x21, 0x10, 0x0, 0x21, 0x22, 0x6, 0x7, 0x35, 0x36, 0x24, 0x33, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x37, 0x16, 0x0, 0x33, 0x32, 0x0, 0x37, 0x75, 0x4, 0x8f, 0xfe, 0xed, 0xfe, 0xee, 0x8b, 0xfc, 0x70, 0x6f, 0x1, 0x7, 0x92, 0x1, 0x5e, 0x1, 0x8b, 0xfe, 0x88, 0xfe, 0xc6, 0xfe, 0xb7, 0xfe, 0x97, 0xdc, 0xd, 0x0, 0xff, 0xca, 0xca, 0x0, 0xff, 0xd, 0x3, 0xc, 0x1, 0xc, 0x1, 0x32, 0x60, 0x5f, 0xd7, 0x46, 0x48, 0xfe, 0x67, 0xfe, 0x92, 0xfe, 0x9f, 0xfe, 0x5b, 0x1, 0xb7, 0xcc, 0xc3, 0xfe, 0xe4, 0x1, 0x1c, 0xc3, 0x0, 0x0, 0x0, 0x1, 0x0, 0xa4, 0xff, 0xe3, 0x4, 0x7b, 0x5, 0xf0, 0x0, 0x28, 0x0, 0x40, 0x40, 0x24, 0xa, 0x86, 0x9, 0x88, 0xd, 0x95, 0x6, 0x91, 0x29, 0x0, 0x16, 0x95, 0x13, 0xad, 0x29, 0x1f, 0x86, 0x20, 0x88, 0x1c, 0x95, 0x23, 0x8c, 0x29, 0x2a, 0x14, 0x9, 0x1f, 0x10, 0x19, 0x3, 0x19, 0x19, 0x26, 0x10, 0x29, 0x10, 0xfc, 0xec, 0xd4, 0xec, 0xd4, 0xc4, 0xc4, 0xcc, 0x31, 0x0, 0x10, 0xf4, 0xec, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x39, 0x10, 0xf4, 0xec, 0xf4, 0xec, 0x30, 0x1, 0x2e, 0x1, 0x35, 0x34, 0x24, 0x33, 0x32, 0x16, 0x17, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x20, 0x24, 0x35, 0x34, 0x36, 0x1, 0xd8, 0x83, 0x8e, 0x1, 0xc, 0xe6, 0x59, 0xc9, 0x73, 0x72, 0xbe, 0x53, 0x98, 0xa3, 0x9e, 0x95, 0xb6, 0xae, 0xa5, 0xb9, 0xc7, 0xbe, 0x6d, 0xc8, 0x54, 0x6a, 0xc7, 0x5e, 0xfe, 0xe8, 0xfe, 0xd0, 0xa3, 0x3, 0x25, 0x21, 0xab, 0x7c, 0xb2, 0xd1, 0x20, 0x20, 0xb4, 0x26, 0x24, 0x7b, 0x73, 0x70, 0x77, 0xa6, 0x95, 0x84, 0x8f, 0x96, 0x32, 0x31, 0xc3, 0x25, 0x25, 0xf2, 0xdd, 0x90, 0xc4, 0x0, 0x0, 0x1, 0xff, 0x96, 0xfe, 0x66, 0x4, 0x23, 0x5, 0xd5, 0x0, 0x11, 0x0, 0x41, 0x40, 0x1f, 0x11, 0x8, 0x12, 0xd, 0x95, 0xc, 0xb0, 0x12, 0x6, 0x95, 0x4, 0x2, 0x95, 0x0, 0x81, 0x4, 0xad, 0x12, 0x11, 0x8, 0x0, 0x7, 0xc, 0x5, 0x1, 0x7, 0x3, 0x1c, 0x0, 0x4, 0x12, 0x10, 0xfc, 0xec, 0x32, 0xd4, 0xc4, 0xc4, 0x11, 0x12, 0x39, 0x39, 0x31, 0x0, 0x10, 0xec, 0xf4, 0xec, 0x10, 0xee, 0x10, 0xf4, 0xec, 0x10, 0x39, 0x39, 0x30, 0xb2, 0xf, 0xb, 0x1, 0x1, 0x5d, 0x13, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x10, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0xc9, 0x3, 0x5a, 0xfd, 0x70, 0x2, 0x50, 0xfd, 0xb0, 0xcd, 0xe3, 0x4d, 0x3f, 0x86, 0x6e, 0x5, 0xd5, 0xaa, 0xfe, 0x48, 0xaa, 0xfd, 0x9f, 0xfe, 0xf2, 0xf4, 0xaa, 0x96, 0xc2, 0x0, 0x0, 0x0, 0x1, 0xff, 0x7f, 0xfe, 0x56, 0x2, 0xf8, 0x6, 0x14, 0x0, 0x1b, 0x0, 0x65, 0x40, 0x23, 0x13, 0xa, 0xf, 0x87, 0xd, 0xbd, 0x1d, 0x5, 0x18, 0x1, 0x14, 0x8, 0xa9, 0x6, 0x1, 0x87, 0x0, 0x97, 0x16, 0x6, 0xbc, 0x1c, 0x2, 0x1b, 0x7, 0x0, 0x7, 0x9, 0x5, 0x8, 0x15, 0x17, 0x13, 0x4c, 0x1c, 0x10, 0xfc, 0x4b, 0xb0, 0xa, 0x54, 0x58, 0xb9, 0x0, 0x13, 0x0, 0x40, 0x38, 0x59, 0x4b, 0xb0, 0x16, 0x54, 0x58, 0xb9, 0x0, 0x13, 0xff, 0xc0, 0x38, 0x59, 0x3c, 0xc4, 0xfc, 0x3c, 0xc4, 0xc4, 0x12, 0x39, 0x39, 0x31, 0x0, 0x10, 0xe4, 0x32, 0xfc, 0xec, 0x10, 0xee, 0x32, 0x12, 0x39, 0x39, 0x10, 0xf4, 0xec, 0x39, 0x39, 0x30, 0x1, 0xb6, 0x40, 0x1d, 0x50, 0x1d, 0xa0, 0x1d, 0x3, 0x5d, 0x1, 0x15, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x21, 0x15, 0x21, 0x11, 0x14, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x36, 0x33, 0x2, 0xf8, 0xb0, 0x63, 0x4d, 0x1, 0x2f, 0xfe, 0xd1, 0xae, 0xbd, 0xae, 0xb0, 0x63, 0x4d, 0xb0, 0xb0, 0xae, 0xbd, 0x6, 0x14, 0x99, 0x50, 0x68, 0x63, 0x8f, 0xfb, 0xeb, 0xbb, 0xab, 0x99, 0x50, 0x68, 0x4, 0x2a, 0x8f, 0x4e, 0xbb, 0xab, 0x0, 0x0, 0x0, 0x1, 0x0, 0x73, 0xff, 0xe3, 0x6, 0x97, 0x7, 0x64, 0x0, 0x26, 0x0, 0x49, 0x40, 0x10, 0x15, 0x2, 0x0, 0x1c, 0x4, 0x11, 0x1c, 0x1a, 0x34, 0x4, 0x33, 0x21, 0x19, 0xb, 0x46, 0x27, 0x10, 0xfc, 0xec, 0xfc, 0xf4, 0xec, 0x10, 0xfc, 0xc4, 0xc4, 0x31, 0x40, 0x18, 0x16, 0x95, 0x15, 0x27, 0x0, 0x5, 0x24, 0x1, 0x95, 0x3, 0x24, 0x95, 0x8, 0x1b, 0xa1, 0x1a, 0xae, 0x1e, 0x95, 0xe, 0x91, 0x8, 0x8c, 0x27, 0x0, 0x10, 0xe4, 0xf4, 0xec, 0xf4, 0xec, 0x10, 0xfe, 0xd4, 0xee, 0x11, 0x39, 0x39, 0x10, 0xdc, 0xec, 0x30, 0x25, 0x11, 0x21, 0x35, 0x21, 0x11, 0x6, 0x4, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x32, 0x16, 0x17, 0x34, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x2e, 0x1, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x32, 0x36, 0x4, 0xc3, 0xfe, 0xb6, 0x2, 0x12, 0x75, 0xfe, 0xe6, 0xa0, 0xfe, 0xa2, 0xfe, 0x75, 0x1, 0x8b, 0x1, 0x5e, 0x5b, 0xa3, 0x44, 0xc9, 0xe3, 0x4d, 0x3f, 0x86, 0x6e, 0x70, 0xfc, 0x8b, 0xfe, 0xee, 0xfe, 0xed, 0x1, 0x13, 0x1, 0x12, 0x6b, 0xa8, 0xd5, 0x1, 0x91, 0xa6, 0xfd, 0x7f, 0x53, 0x55, 0x1, 0x99, 0x1, 0x6d, 0x1, 0x6e, 0x1, 0x99, 0x19, 0x19, 0xbc, 0xea, 0xaa, 0x96, 0xc2, 0xd7, 0x5f, 0x60, 0xfe, 0xce, 0xfe, 0xd1, 0xfe, 0xd2, 0xfe, 0xce, 0x25, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x8, 0xfe, 0x52, 0x5, 0x76, 0x5, 0xd5, 0x0, 0xf, 0x0, 0x25, 0x0, 0x95, 0x40, 0xd, 0x27, 0x50, 0x12, 0x1, 0x12, 0x4, 0x19, 0x17, 0xc, 0x19, 0x1f, 0x24, 0x26, 0x10, 0xd4, 0xd4, 0xec, 0xd4, 0xec, 0xd4, 0x5d, 0xc4, 0xb5, 0x10, 0x8, 0x0, 0x3, 0x4, 0xc, 0x11, 0x12, 0x17, 0x39, 0x31, 0x40, 0xa, 0x0, 0x95, 0x1b, 0xbd, 0x11, 0x25, 0x12, 0x24, 0x81, 0x26, 0x0, 0x10, 0xe4, 0x32, 0x32, 0x32, 0xf4, 0xec, 0xb3, 0x1f, 0x17, 0x8, 0x1b, 0x11, 0x12, 0x39, 0x39, 0x30, 0x40, 0xc, 0x13, 0x11, 0x11, 0x12, 0x12, 0x8, 0x23, 0x25, 0x11, 0x24, 0x24, 0x8, 0x7, 0x5, 0x10, 0xec, 0x3c, 0x7, 0x10, 0xec, 0x3c, 0xb6, 0x13, 0x11, 0x8, 0x12, 0x8, 0x24, 0x8, 0x7, 0x8, 0x10, 0xec, 0xb6, 0x23, 0x11, 0x8, 0x24, 0x8, 0x12, 0x8, 0x7, 0x8, 0x10, 0xec, 0xb4, 0x10, 0x25, 0x13, 0x11, 0x23, 0xf, 0x40, 0x10, 0x16, 0x15, 0x14, 0x3, 0x17, 0x13, 0x24, 0x8, 0x22, 0x21, 0x20, 0x3, 0x1f, 0x23, 0x12, 0x8, 0x4, 0x7, 0x11, 0x12, 0x17, 0x39, 0x7, 0x11, 0x12, 0x17, 0x39, 0x1, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x13, 0x1, 0x33, 0x1, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x33, 0x2, 0xbf, 0x36, 0x2c, 0x1c, 0x1f, 0x33, 0x2c, 0x2c, 0x33, 0x1f, 0x1c, 0x2c, 0x36, 0x1, 0xd9, 0xde, 0xfd, 0xba, 0x68, 0x43, 0x2e, 0x4b, 0x64, 0x9b, 0x9b, 0x64, 0x4b, 0x2e, 0x43, 0x68, 0xfd, 0xba, 0xde, 0xfe, 0xfd, 0x20, 0x14, 0x42, 0x39, 0x49, 0x79, 0x5c, 0x5c, 0x79, 0x49, 0x39, 0x42, 0x14, 0x20, 0x3, 0x7a, 0x3, 0x5e, 0xfb, 0xcf, 0xc8, 0xae, 0x77, 0x42, 0x8b, 0x41, 0x57, 0x57, 0x41, 0x8b, 0x42, 0x77, 0xae, 0xc8, 0x4, 0x31, 0x0, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x7, 0x47, 0x6, 0x14, 0x0, 0x2a, 0x0, 0x4f, 0x40, 0x11, 0x2c, 0xd, 0x12, 0x4, 0x8, 0x11, 0x2a, 0x15, 0x8, 0x26, 0x4e, 0x1f, 0x1b, 0x8, 0x1d, 0x46, 0x2b, 0x10, 0xfc, 0xec, 0x32, 0xf4, 0xec, 0xc4, 0xc4, 0xcc, 0xd4, 0xec, 0x39, 0x31, 0x0, 0x40, 0x19, 0x8, 0x87, 0x9, 0x27, 0x14, 0x26, 0x0, 0x87, 0x11, 0x15, 0x1b, 0x26, 0x3, 0x20, 0x11, 0x18, 0x87, 0x20, 0x9, 0x23, 0xb8, 0x1e, 0x97, 0x11, 0x1c, 0x2f, 0x3c, 0xec, 0xf4, 0x3c, 0xc4, 0xec, 0x11, 0x12, 0x17, 0x39, 0x10, 0xec, 0x12, 0x39, 0x39, 0x10, 0xec, 0x30, 0x25, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x35, 0x16, 0x17, 0x16, 0x11, 0x14, 0x0, 0x2b, 0x1, 0x22, 0x26, 0x35, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x11, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x16, 0x33, 0x5, 0x4c, 0x95, 0x54, 0x57, 0x4a, 0x3e, 0x79, 0xe0, 0x6d, 0x6f, 0xfe, 0xe0, 0xdd, 0x46, 0xbb, 0x9d, 0x7c, 0x7c, 0x95, 0xac, 0xb9, 0xb9, 0x42, 0xb3, 0x75, 0xc1, 0xc6, 0x4c, 0x69, 0x9c, 0x62, 0x65, 0x9b, 0xde, 0x70, 0x5f, 0x21, 0x94, 0x1d, 0x8f, 0x91, 0xfe, 0xec, 0xf5, 0xfe, 0xe6, 0xc8, 0xce, 0x1, 0x8, 0x9f, 0x9e, 0xbe, 0xa4, 0xfd, 0x87, 0x6, 0x14, 0xfd, 0x9e, 0x65, 0x64, 0xef, 0xe8, 0xfe, 0xf2, 0x93, 0x67, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x2, 0xc6, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x2e, 0x40, 0x10, 0xb, 0x2, 0x0, 0x6, 0x95, 0x0, 0x81, 0x7, 0x5, 0x8, 0x6, 0x1, 0x1c, 0x0, 0x4, 0xc, 0x10, 0xfc, 0x4b, 0xb0, 0x10, 0x54, 0x58, 0xb9, 0x0, 0x0, 0x0, 0x40, 0x38, 0x59, 0xec, 0xc4, 0x39, 0x39, 0x31, 0x0, 0x2f, 0xe4, 0xec, 0x11, 0x39, 0x39, 0x30, 0x1, 0x13, 0x33, 0x11, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x26, 0x11, 0xc9, 0xca, 0x6e, 0x86, 0x3f, 0x4d, 0xe3, 0xcd, 0x5, 0xd5, 0xfc, 0x2d, 0xc2, 0x96, 0xaa, 0xf4, 0x1, 0xe, 0x0, 0x0, 0x0, 0x1, 0x0, 0xa, 0x0, 0x0, 0x2, 0x52, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x45, 0x40, 0x11, 0x2, 0xb, 0x95, 0x5, 0x8, 0x0, 0xaf, 0x6, 0x3, 0x5, 0x1, 0x1c, 0xa, 0x8, 0x0, 0x4, 0xc, 0x10, 0xfc, 0x3c, 0xc4, 0x4b, 0xb0, 0x10, 0x54, 0x58, 0xbb, 0x0, 0x8, 0x0, 0x40, 0x0, 0x0, 0x0, 0x40, 0x38, 0x38, 0x59, 0xec, 0x32, 0xc4, 0x31, 0x0, 0x2f, 0xec, 0xdc, 0x3c, 0xf4, 0x32, 0x30, 0x1, 0x40, 0xd, 0x30, 0xd, 0x40, 0xd, 0x50, 0xd, 0x60, 0xd, 0x8f, 0xd, 0x9f, 0xd, 0x6, 0x5d, 0x13, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0xc9, 0xca, 0xbf, 0xbf, 0xca, 0xbf, 0xbf, 0x5, 0xd5, 0xfd, 0x16, 0xaa, 0xfd, 0xbf, 0x2, 0x41, 0xaa, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xf7, 0x5, 0xf0, 0x0, 0x17, 0x0, 0x66, 0x40, 0xe, 0x0, 0x1c, 0x1, 0x7, 0x8, 0xf, 0x7, 0x9, 0xb, 0xf, 0x1c, 0xe, 0x4, 0x18, 0x10, 0xfc, 0xec, 0x32, 0xd4, 0xc4, 0x11, 0x39, 0x10, 0xd4, 0xec, 0x0, 0x31, 0x0, 0x40, 0x25, 0xb, 0x11, 0x8, 0x9, 0x8, 0xa, 0x11, 0x9, 0x9, 0x8, 0x11, 0x11, 0x7, 0x8, 0x7, 0x10, 0x11, 0x8, 0x8, 0x7, 0x42, 0xb, 0x8, 0x10, 0x3, 0xe, 0xc, 0x17, 0x2, 0x5, 0x95, 0x13, 0x91, 0xe, 0xaf, 0xc, 0x9, 0x2f, 0x3c, 0xec, 0xf4, 0xec, 0x39, 0x39, 0x11, 0x12, 0x17, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x4, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x4, 0xed, 0x59, 0x22, 0x1, 0x23, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x9, 0x1, 0x21, 0x1, 0x11, 0x23, 0x11, 0x33, 0x11, 0x1, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x5, 0xf7, 0xaa, 0x49, 0x26, 0x46, 0x25, 0xfd, 0xdd, 0x3, 0x1a, 0xfe, 0xf6, 0xfd, 0x33, 0xca, 0xca, 0x2, 0x6c, 0x55, 0x71, 0x88, 0x55, 0x55, 0x4, 0x48, 0x79, 0x36, 0x50, 0x23, 0xfd, 0xf9, 0xfc, 0xe3, 0x2, 0xcf, 0xfd, 0x31, 0x5, 0xd5, 0xfd, 0x89, 0x2, 0x43, 0x4f, 0x5c, 0x5b, 0x6e, 0x0, 0x1, 0x0, 0xb9, 0x0, 0x0, 0x4, 0x9c, 0x6, 0x14, 0x0, 0x12, 0x0, 0xcb, 0x40, 0xb, 0x4, 0xd, 0x9, 0xc, 0xe, 0x10, 0x9, 0x8, 0x0, 0x46, 0x13, 0x10, 0xfc, 0xec, 0x32, 0xd4, 0xc4, 0x11, 0x39, 0xc4, 0x31, 0x0, 0x40, 0xf, 0x42, 0x10, 0xd, 0xa, 0x3, 0xb, 0x11, 0x6, 0x95, 0x3, 0x97, 0xb, 0xbc, 0x11, 0xe, 0x2f, 0x3c, 0xe4, 0xfc, 0xe4, 0x11, 0x12, 0x17, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x14, 0x10, 0x11, 0xd, 0xe, 0xd, 0xf, 0x11, 0xe, 0xe, 0xd, 0xb, 0x11, 0xc, 0xd, 0xc, 0xa, 0x11, 0xd, 0xd, 0xc, 0x7, 0x10, 0x4, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x4, 0xed, 0x59, 0xb2, 0x10, 0x14, 0x1, 0x1, 0x5d, 0x40, 0x35, 0xb, 0xb, 0xa, 0xf, 0x28, 0xb, 0x27, 0xc, 0x28, 0xd, 0x2b, 0xe, 0x2b, 0xf, 0x40, 0x14, 0x68, 0xb, 0x60, 0x14, 0x89, 0xb, 0x85, 0xc, 0x89, 0xd, 0x8d, 0xe, 0x8f, 0xf, 0x9a, 0xb, 0x97, 0xf, 0xaa, 0xb, 0xa7, 0xd, 0xb6, 0xf, 0xc5, 0xf, 0xd6, 0xf, 0xf7, 0xb, 0xf0, 0xb, 0xf7, 0xc, 0xf0, 0xc, 0x1a, 0x5d, 0xb4, 0x9, 0xd, 0x9, 0xe, 0x2, 0x71, 0x0, 0x40, 0x25, 0x4, 0xa, 0xa, 0x10, 0x16, 0xa, 0x27, 0xa, 0x29, 0xd, 0x2b, 0x10, 0x56, 0xa, 0x66, 0xa, 0x67, 0x10, 0x73, 0xa, 0x77, 0xd, 0x82, 0xa, 0x89, 0xd, 0x8e, 0x10, 0x93, 0xa, 0x96, 0xd, 0x97, 0x10, 0xa3, 0xa, 0x12, 0x5d, 0x13, 0x34, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x6, 0x15, 0x11, 0x1, 0x33, 0x9, 0x1, 0x23, 0x1, 0x11, 0x23, 0xb9, 0xa3, 0xb5, 0xbf, 0xa8, 0x69, 0x4c, 0x2, 0x25, 0xeb, 0xfd, 0xae, 0x2, 0x6b, 0xf0, 0xfd, 0xc7, 0xb9, 0x4, 0x7e, 0xd6, 0xc0, 0x9c, 0x61, 0x99, 0xfd, 0xff, 0x1, 0xe3, 0xfd, 0xf4, 0xfd, 0xac, 0x2, 0x23, 0xfd, 0xdd, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xa, 0x0, 0x0, 0x2, 0x2a, 0x6, 0x14, 0x0, 0xb, 0x0, 0x32, 0x40, 0x7, 0x5, 0x1, 0x8, 0x8, 0x0, 0x46, 0xc, 0x10, 0xfc, 0x3c, 0xec, 0x32, 0x31, 0x0, 0x40, 0x8, 0x2, 0xb, 0xa9, 0x5, 0x8, 0x0, 0x97, 0x6, 0x2f, 0xec, 0xd4, 0x3c, 0xec, 0x32, 0x30, 0x40, 0xd, 0x10, 0xd, 0x40, 0xd, 0x50, 0xd, 0x60, 0xd, 0x70, 0xd, 0xf0, 0xd, 0x6, 0x1, 0x5d, 0x13, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0xc1, 0xb8, 0xb1, 0xb1, 0xb8, 0xb7, 0xb7, 0x6, 0x14, 0xfd, 0x38, 0x90, 0xfd, 0x44, 0x2, 0xbc, 0x90, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3d, 0x0, 0x0, 0x4, 0x7f, 0x6, 0x14, 0x0, 0xf, 0x0, 0xa0, 0x40, 0x13, 0x8, 0x2, 0xb, 0x5, 0x1, 0xe, 0x7, 0xd, 0x8, 0xc, 0x6, 0x9, 0x4, 0x6, 0x11, 0xc, 0x6, 0x0, 0x10, 0x10, 0xd4, 0xc4, 0xb2, 0x80, 0x6, 0x1, 0x5d, 0xd4, 0xc4, 0x10, 0xc4, 0xcc, 0x11, 0x12, 0x17, 0x39, 0xb4, 0x10, 0x9, 0x40, 0x9, 0x2, 0x5d, 0x31, 0x0, 0x40, 0xf, 0x8, 0x2, 0xb, 0x5, 0x1, 0xe, 0x6, 0x6, 0x0, 0x4, 0x9, 0x6, 0x97, 0xd, 0x0, 0x2f, 0x3c, 0xf4, 0xc4, 0xc4, 0x11, 0x12, 0x17, 0x39, 0x30, 0x40, 0x32, 0xa, 0x3, 0xa9, 0x2, 0xa9, 0xb, 0xa9, 0x5, 0x8, 0x4, 0xc, 0x7, 0x9, 0x4, 0xf, 0x11, 0x0, 0xe, 0x11, 0x1, 0xd, 0x6, 0x1, 0x0, 0x5, 0x11, 0x2, 0x11, 0xe, 0x11, 0xf, 0xe, 0x1, 0x11, 0x0, 0x1, 0xd, 0x11, 0xc, 0x7, 0xc, 0xb, 0x11, 0x8, 0x11, 0x7, 0x11, 0xd, 0x6, 0xd, 0x7, 0x5, 0x10, 0xec, 0xec, 0xec, 0x7, 0x10, 0x5, 0xec, 0x8, 0xec, 0x8, 0xec, 0x5, 0xec, 0xec, 0x7, 0x8, 0x10, 0xec, 0x5, 0x10, 0xec, 0x7, 0x8, 0x10, 0x3c, 0x3c, 0xec, 0xec, 0xe, 0xfc, 0x3c, 0x33, 0x1, 0x27, 0x5, 0x27, 0x25, 0x27, 0x33, 0x17, 0x25, 0x17, 0x5, 0x1, 0x23, 0x9, 0x1, 0x3d, 0x1, 0xeb, 0x47, 0xfe, 0xd4, 0x21, 0x1, 0x29, 0x4b, 0xc8, 0x34, 0x1, 0x3a, 0x21, 0xfe, 0xc9, 0x1, 0xed, 0xc3, 0xfe, 0xc6, 0xfe, 0x7e, 0x4, 0x32, 0xbc, 0x65, 0x63, 0x63, 0xc5, 0x8a, 0x68, 0x61, 0x68, 0xfa, 0xd7, 0x3, 0x3c, 0xfc, 0xc4, 0x0, 0x0, 0x1, 0x0, 0xb2, 0xff, 0xe3, 0x7, 0x27, 0x5, 0xd5, 0x0, 0x27, 0x0, 0x4a, 0x40, 0x12, 0x0, 0x12, 0x14, 0x20, 0x1d, 0x1c, 0x29, 0x1f, 0x50, 0x12, 0x1c, 0x14, 0x50, 0xa, 0x1c, 0x8, 0x4, 0x28, 0x10, 0xfc, 0xec, 0xfc, 0xfc, 0xfc, 0xcc, 0xfc, 0x3c, 0x11, 0x12, 0x39, 0x31, 0x0, 0x40, 0x16, 0x7, 0x14, 0xa, 0x1c, 0x11, 0x0, 0x6, 0x21, 0x8, 0xe, 0x18, 0x95, 0x21, 0x3, 0x24, 0x8c, 0x28, 0x12, 0x1d, 0x8, 0x81, 0x20, 0x2f, 0xf4, 0x3c, 0x3c, 0x10, 0xf4, 0x3c, 0xc4, 0xec, 0x32, 0x11, 0x12, 0x17, 0x39, 0x30, 0x39, 0x25, 0xe, 0x1, 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x17, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x27, 0x26, 0x3, 0xa6, 0x45, 0xc0, 0x82, 0xaf, 0x5f, 0x5f, 0xcb, 0x27, 0x39, 0x75, 0x8f, 0xa6, 0xcb, 0x39, 0x39, 0x77, 0x7b, 0x53, 0x53, 0xcb, 0xcb, 0x3f, 0xb0, 0x79, 0x7a, 0x56, 0x55, 0xd5, 0x7c, 0x76, 0x7b, 0x7a, 0xe2, 0x4, 0x1b, 0xfb, 0xef, 0xba, 0x35, 0x4e, 0xbe, 0xa4, 0x3, 0xec, 0xfb, 0xef, 0xa2, 0x4e, 0x4d, 0x5f, 0x60, 0xa3, 0x3, 0xec, 0xfa, 0x29, 0xae, 0x67, 0x62, 0x3e, 0x3e, 0x0, 0x0, 0x1, 0xff, 0x96, 0xfe, 0x66, 0x5, 0x33, 0x5, 0xd5, 0x0, 0x11, 0x0, 0x8c, 0x40, 0x29, 0x7, 0x11, 0x1, 0x2, 0x1, 0x2, 0x11, 0x6, 0x7, 0x6, 0x42, 0x8, 0x11, 0x0, 0xd, 0x95, 0xc, 0xb0, 0x12, 0x7, 0x2, 0x3, 0x0, 0xaf, 0x5, 0x6, 0x1, 0x7, 0x2, 0x1c, 0x4, 0x36, 0xb, 0xe, 0xc, 0x39, 0x7, 0x1c, 0x0, 0x4, 0x12, 0x10, 0xfc, 0xec, 0xe4, 0x39, 0x39, 0xfc, 0xec, 0x11, 0x39, 0x39, 0x31, 0x0, 0x2f, 0xec, 0x32, 0x39, 0x39, 0x10, 0xfc, 0xec, 0x11, 0x39, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x4, 0xed, 0x7, 0x10, 0x4, 0xed, 0x59, 0x22, 0xb2, 0x1f, 0xb, 0x1, 0x1, 0x5d, 0x40, 0x30, 0x36, 0x2, 0x38, 0x7, 0x48, 0x2, 0x47, 0x7, 0x69, 0x2, 0x66, 0x7, 0x80, 0x2, 0x7, 0x6, 0x1, 0x9, 0x6, 0x15, 0x1, 0x1a, 0x6, 0x46, 0x1, 0x49, 0x6, 0x57, 0x1, 0x58, 0x6, 0x65, 0x1, 0x69, 0x6, 0x79, 0x6, 0x85, 0x1, 0x8a, 0x6, 0x95, 0x1, 0x9a, 0x6, 0x9f, 0x13, 0x10, 0x5d, 0x0, 0x5d, 0x13, 0x21, 0x1, 0x11, 0x33, 0x11, 0x21, 0x1, 0x11, 0x10, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0xc9, 0x1, 0x10, 0x2, 0x96, 0xc4, 0xfe, 0xf0, 0xfd, 0x6a, 0xcd, 0xe3, 0x47, 0x3f, 0x86, 0x6e, 0x5, 0xd5, 0xfb, 0x1f, 0x4, 0xe1, 0xfa, 0x2b, 0x4, 0xe1, 0xfb, 0x87, 0xfe, 0xf2, 0xf4, 0xaa, 0x96, 0xc2, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x4, 0x7b, 0x10, 0x6, 0x3, 0x4b, 0x0, 0x0, 0x0, 0x3, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x5, 0xf0, 0x0, 0xb, 0x0, 0x12, 0x0, 0x19, 0x0, 0x31, 0x40, 0xb, 0x19, 0x10, 0x19, 0x6, 0x33, 0xf, 0x13, 0x19, 0x0, 0x10, 0x1a, 0x10, 0xfc, 0xec, 0x32, 0xf4, 0xec, 0x32, 0x31, 0x0, 0x40, 0xf, 0x16, 0x95, 0x9, 0x13, 0x95, 0xf, 0xad, 0x1a, 0xc, 0x95, 0x3, 0x91, 0x9, 0x8c, 0x1a, 0x10, 0xe4, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x10, 0xec, 0x30, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x1, 0x22, 0x0, 0x7, 0x21, 0x26, 0x2, 0x1, 0x1a, 0x1, 0x33, 0x32, 0x12, 0x13, 0x73, 0x1, 0x79, 0x1, 0x3a, 0x1, 0x3b, 0x1, 0x78, 0xfe, 0x88, 0xfe, 0xc5, 0xfe, 0xc6, 0xfe, 0x87, 0x2, 0xb5, 0xca, 0xff, 0x0, 0xc, 0x3, 0xac, 0xe, 0xfe, 0xfd, 0x56, 0x8, 0xfb, 0xdc, 0xdc, 0xf8, 0x8, 0x2, 0xe9, 0x1, 0x62, 0x1, 0xa5, 0xfe, 0x5b, 0xfe, 0x9f, 0xfe, 0x9e, 0xfe, 0x5b, 0x1, 0xa4, 0x3, 0xc5, 0xfe, 0xe4, 0xc3, 0xc3, 0x1, 0x1c, 0xfd, 0x7a, 0xfe, 0xff, 0xfe, 0xc2, 0x1, 0x3d, 0x1, 0x2, 0x0, 0x0, 0xff, 0xff, 0x0, 0x67, 0xff, 0xe3, 0x6, 0x1d, 0x6, 0x14, 0x10, 0x26, 0x0, 0x32, 0xf4, 0x0, 0x10, 0x7, 0x2, 0xcc, 0x5, 0xa2, 0x1, 0x34, 0xff, 0xff, 0x0, 0x76, 0xff, 0xe3, 0x4, 0xd3, 0x4, 0xeb, 0x10, 0x27, 0x2, 0xcc, 0x4, 0x58, 0x0, 0xb, 0x10, 0x6, 0x0, 0x52, 0x5, 0x0, 0x0, 0x2, 0x0, 0x73, 0xff, 0xe3, 0x6, 0xcf, 0x5, 0xf0, 0x0, 0x14, 0x0, 0x1f, 0x0, 0x33, 0x40, 0x1c, 0x4, 0x95, 0x10, 0xaf, 0x0, 0x15, 0x95, 0xd, 0x91, 0x0, 0x1b, 0x95, 0x7, 0x8c, 0x0, 0x21, 0x13, 0x1c, 0x0, 0x1e, 0x1c, 0x10, 0x4, 0x18, 0x19, 0xa, 0x10, 0x20, 0x10, 0xfc, 0xec, 0xd4, 0x3c, 0xec, 0xdc, 0xec, 0xc4, 0x31, 0x0, 0x2f, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x21, 0x11, 0x34, 0x26, 0x23, 0x11, 0x6, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x32, 0x17, 0x21, 0x32, 0x16, 0x19, 0x1, 0x1, 0x22, 0x0, 0x11, 0x10, 0x0, 0x33, 0x32, 0x37, 0x11, 0x26, 0x6, 0x5, 0x6e, 0x7a, 0xbc, 0xfe, 0xc5, 0xfe, 0xc6, 0xfe, 0x87, 0x1, 0x79, 0x1, 0x3b, 0x70, 0x61, 0x1, 0x27, 0xe3, 0xcd, 0xfc, 0x58, 0xdc, 0xfe, 0xfd, 0x1, 0x3, 0xdc, 0xaf, 0x80, 0x8a, 0x3, 0xd3, 0xc2, 0x96, 0xfb, 0x8b, 0xd3, 0x1, 0xa4, 0x1, 0x62, 0x1, 0x62, 0x1, 0xa5, 0x1b, 0xf4, 0xfe, 0xf2, 0xfc, 0x2d, 0x5, 0x4c, 0xfe, 0xb8, 0xfe, 0xe6, 0xfe, 0xe5, 0xfe, 0xb8, 0x67, 0x4, 0x18, 0x46, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0xfe, 0x56, 0x5, 0x59, 0x4, 0x7b, 0x0, 0x16, 0x0, 0x21, 0x0, 0x3a, 0x40, 0x20, 0x5, 0x87, 0x11, 0xbc, 0x22, 0x17, 0xb9, 0xe, 0xb8, 0x22, 0x1d, 0xb9, 0x8, 0x8c, 0x16, 0xbd, 0x22, 0x11, 0x1, 0x5, 0x23, 0x15, 0x8, 0x1, 0x1f, 0x8, 0x5, 0x1a, 0x12, 0xb, 0x45, 0x22, 0x10, 0xfc, 0xec, 0xd4, 0xec, 0xdc, 0xec, 0xc4, 0x11, 0x12, 0x39, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x11, 0x34, 0x27, 0x26, 0x23, 0x11, 0x6, 0x23, 0x22, 0x0, 0x11, 0x10, 0x0, 0x33, 0x32, 0x17, 0x33, 0x32, 0x17, 0x16, 0x15, 0x11, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x11, 0x26, 0x4, 0xa1, 0x26, 0x26, 0x69, 0x89, 0xf0, 0xf1, 0xfe, 0xef, 0x1, 0x11, 0xf1, 0x64, 0x52, 0xd8, 0xb5, 0x52, 0x51, 0xfd, 0x1a, 0x94, 0xac, 0xab, 0x95, 0x81, 0x40, 0x54, 0xfe, 0x56, 0x4, 0x74, 0x99, 0x31, 0x30, 0xfc, 0xbc, 0x9d, 0x1, 0x39, 0x1, 0x13, 0x1, 0x14, 0x1, 0x38, 0x1b, 0x60, 0x60, 0xd6, 0xfb, 0x8c, 0x5, 0x89, 0xe7, 0xc9, 0xc9, 0xe7, 0x3a, 0x2, 0xf0, 0x36, 0x0, 0x0, 0x0, 0x2, 0xff, 0x97, 0x0, 0x0, 0x4, 0xf1, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x1c, 0x0, 0x3a, 0x40, 0x18, 0x1, 0x95, 0x10, 0x0, 0x95, 0x9, 0x81, 0x12, 0x10, 0xa, 0x8, 0x2, 0x4, 0x0, 0x5, 0x19, 0xd, 0x3f, 0x11, 0x0, 0x1c, 0x9, 0x4, 0x1d, 0x10, 0xfc, 0xec, 0x32, 0xfc, 0xec, 0x11, 0x17, 0x39, 0x31, 0x0, 0x2f, 0xf4, 0xec, 0xd4, 0xec, 0x30, 0x40, 0xb, 0xf, 0x15, 0x1f, 0x15, 0x3f, 0x15, 0x5f, 0x15, 0xaf, 0x15, 0x5, 0x1, 0x5d, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x25, 0x21, 0x32, 0x4, 0x15, 0x14, 0x4, 0x2b, 0x1, 0x11, 0x23, 0x11, 0x22, 0x6, 0x1d, 0x1, 0x23, 0x35, 0x34, 0x36, 0x1, 0xf7, 0xfe, 0x8d, 0x9a, 0x9a, 0x8d, 0xfe, 0x38, 0x1, 0xc8, 0xfb, 0x1, 0x1, 0xfe, 0xff, 0xfb, 0xfe, 0xca, 0x84, 0x76, 0x9c, 0xc0, 0x5, 0x2f, 0xfd, 0xcf, 0x92, 0x87, 0x86, 0x92, 0xa6, 0xe3, 0xdb, 0xdd, 0xe2, 0xfd, 0xa8, 0x5, 0x30, 0x5f, 0x69, 0x31, 0x46, 0xb5, 0xa3, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xb9, 0xfe, 0x56, 0x4, 0xa4, 0x6, 0x14, 0x0, 0x18, 0x0, 0x24, 0x0, 0x4f, 0x40, 0x24, 0x23, 0xb9, 0x0, 0x17, 0x1d, 0xb9, 0xe, 0x11, 0xb8, 0x17, 0x8c, 0x1, 0xbd, 0x25, 0x3, 0xc, 0x9, 0xa9, 0x6, 0x97, 0x25, 0x1a, 0x12, 0x14, 0x47, 0x6, 0x9, 0x3, 0x7, 0x20, 0xc, 0x0, 0x8, 0x2, 0x46, 0x25, 0x10, 0xfc, 0xec, 0x32, 0x32, 0xcc, 0x11, 0x39, 0x39, 0xf4, 0xec, 0x31, 0x0, 0x10, 0xf4, 0xec, 0x39, 0x39, 0x10, 0xe4, 0xe4, 0xf4, 0xc4, 0xec, 0x10, 0xc4, 0xee, 0x30, 0x40, 0x9, 0x60, 0x26, 0x80, 0x26, 0xa0, 0x26, 0xe0, 0x26, 0x4, 0x1, 0x5d, 0x25, 0x11, 0x23, 0x11, 0x34, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x3e, 0x1, 0x33, 0x32, 0x0, 0x11, 0x10, 0x2, 0x23, 0x22, 0x26, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x1, 0x73, 0xba, 0xa3, 0xb5, 0xfe, 0xe7, 0x69, 0x4c, 0x3a, 0xb1, 0x7b, 0xcc, 0x0, 0xff, 0xff, 0xcc, 0x7b, 0xb1, 0x2, 0x38, 0xa7, 0x92, 0x92, 0xa7, 0xa7, 0x92, 0x92, 0xa7, 0xa8, 0xfd, 0xae, 0x6, 0x28, 0xd6, 0xc0, 0x9c, 0x61, 0x99, 0xc8, 0x64, 0x61, 0xfe, 0xbc, 0xfe, 0xf8, 0xfe, 0xf8, 0xfe, 0xbc, 0x61, 0x1, 0xeb, 0xcb, 0xe7, 0xe7, 0xcb, 0xcb, 0xe7, 0xe7, 0x0, 0x2, 0x0, 0xc9, 0xfe, 0xf8, 0x5, 0x54, 0x5, 0xd5, 0x0, 0x15, 0x0, 0x1d, 0x0, 0x56, 0x40, 0x17, 0x5, 0x6, 0x3, 0x13, 0x0, 0x9, 0x1d, 0x18, 0x10, 0x5, 0xa, 0x1a, 0x19, 0x4, 0x13, 0x3f, 0xe, 0x16, 0xa, 0x12, 0xc, 0x4, 0x1e, 0x10, 0xfc, 0xec, 0x32, 0x32, 0xfc, 0xc4, 0xec, 0x11, 0x17, 0x39, 0x11, 0x39, 0x39, 0x39, 0x31, 0x0, 0x40, 0x10, 0x0, 0x17, 0x6, 0x3, 0x4, 0x17, 0x95, 0x9, 0x16, 0x95, 0xf, 0x81, 0x4, 0xd, 0x81, 0xb, 0x2f, 0xec, 0xdc, 0xf4, 0xec, 0xd4, 0xec, 0x12, 0x39, 0x39, 0x12, 0x39, 0x30, 0x1, 0x40, 0x9, 0x20, 0x1f, 0x40, 0x1f, 0x75, 0x4, 0x7c, 0x5, 0x2, 0x5d, 0x1, 0x1e, 0x1, 0x17, 0x13, 0x23, 0x3, 0x2e, 0x1, 0x2b, 0x1, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x20, 0x16, 0x15, 0x14, 0x6, 0x1, 0x11, 0x33, 0x32, 0x36, 0x10, 0x26, 0x23, 0x3, 0x8d, 0x41, 0x7b, 0x3e, 0xcd, 0xd9, 0xbf, 0x4a, 0x8b, 0x78, 0xdc, 0xca, 0xca, 0xfe, 0x1, 0x0, 0xfc, 0x83, 0xfd, 0x89, 0xfe, 0x8d, 0x9a, 0x99, 0x8e, 0x1, 0xb4, 0x16, 0x90, 0x7e, 0xfe, 0x68, 0x1, 0x7f, 0x96, 0x62, 0xfe, 0x91, 0x5, 0xd5, 0xfe, 0xf8, 0xd6, 0xd8, 0x8d, 0xba, 0x2, 0x4f, 0xfd, 0xd1, 0x92, 0x1, 0xc, 0x91, 0x0, 0x0, 0x1, 0x0, 0x72, 0xff, 0xe3, 0x4, 0x8d, 0x5, 0xf0, 0x0, 0x21, 0x0, 0x64, 0x40, 0x11, 0x7, 0x18, 0x19, 0x6, 0x1d, 0xa, 0xf, 0x1d, 0x19, 0x4, 0x2d, 0x0, 0x22, 0xa, 0x19, 0x15, 0x22, 0x10, 0xdc, 0xec, 0xe4, 0xfc, 0xec, 0xc4, 0x11, 0x12, 0x39, 0x39, 0x39, 0x39, 0x31, 0x0, 0x40, 0x19, 0x42, 0x19, 0x18, 0x7, 0x6, 0x4, 0xe, 0x21, 0x0, 0xe, 0xa1, 0xf, 0x94, 0xc, 0x95, 0x11, 0x20, 0x95, 0x0, 0x94, 0x2, 0x91, 0x11, 0x8c, 0x22, 0x10, 0xe4, 0xf4, 0xe4, 0xec, 0x10, 0xee, 0xf6, 0xee, 0x10, 0xce, 0x11, 0x17, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x40, 0xa, 0x18, 0x2, 0x7, 0x6, 0x7, 0x19, 0x2, 0x6, 0x6, 0x7, 0x7, 0x10, 0xe, 0xed, 0x7, 0x10, 0xe, 0xed, 0x59, 0x13, 0x36, 0x20, 0x4, 0x10, 0x6, 0xf, 0x1, 0xe, 0x1, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x4, 0x23, 0x20, 0x27, 0x26, 0x35, 0x34, 0x36, 0x3f, 0x1, 0x36, 0x37, 0x36, 0x34, 0x27, 0x26, 0x20, 0x7, 0xcc, 0xe4, 0x1, 0xc6, 0x1, 0x17, 0xca, 0xe2, 0x7b, 0x9a, 0x87, 0xbc, 0xad, 0xe1, 0xf8, 0xfe, 0xfd, 0xd6, 0xfe, 0xe7, 0x92, 0x91, 0xd7, 0xe2, 0x7a, 0xa6, 0x3c, 0x3b, 0x59, 0x5a, 0xfe, 0xa1, 0xe4, 0x5, 0xa4, 0x4c, 0xe4, 0xfe, 0x8f, 0xc0, 0x2d, 0x18, 0x1f, 0x7c, 0xec, 0x88, 0x8b, 0xd0, 0x5f, 0x70, 0x70, 0xd9, 0xb6, 0xd9, 0x2b, 0x19, 0x1f, 0x32, 0x33, 0xd9, 0x40, 0x40, 0x6d, 0x0, 0x0, 0x1, 0x0, 0x64, 0xff, 0xe3, 0x3, 0xbc, 0x4, 0x7b, 0x0, 0x27, 0x0, 0xcf, 0x40, 0x11, 0xa, 0x1e, 0x1d, 0x9, 0xd, 0x21, 0x14, 0x21, 0x8, 0x6, 0xd, 0x8, 0x0, 0x52, 0x1a, 0x45, 0x28, 0x10, 0xfc, 0xe4, 0xec, 0xd4, 0xec, 0xc4, 0x11, 0x12, 0x39, 0x39, 0x39, 0x39, 0x31, 0x40, 0x19, 0x1e, 0x1d, 0xa, 0x9, 0x4, 0x13, 0x0, 0x86, 0x27, 0x89, 0x24, 0x14, 0x86, 0x13, 0x89, 0x10, 0xb9, 0x17, 0x24, 0xb9, 0x3, 0xb8, 0x17, 0x8c, 0x28, 0x0, 0x10, 0xe4, 0xf4, 0xec, 0x10, 0xfe, 0xf5, 0xee, 0x10, 0xf5, 0xee, 0x12, 0x17, 0x39, 0x30, 0x40, 0x12, 0x1b, 0x1c, 0x2, 0x1a, 0x1d, 0x53, 0x9, 0xa, 0x20, 0x1f, 0x2, 0x21, 0x1e, 0x53, 0xa, 0xa, 0x9, 0x42, 0x4b, 0x53, 0x58, 0x7, 0x10, 0xe, 0xed, 0x11, 0x17, 0x39, 0x7, 0xe, 0xed, 0x11, 0x17, 0x39, 0x59, 0x22, 0xb2, 0x0, 0x1, 0x1, 0x1, 0x5d, 0x40, 0x11, 0x2f, 0x29, 0x3f, 0x29, 0x5f, 0x29, 0x7f, 0x29, 0x80, 0x29, 0x90, 0x29, 0xa0, 0x29, 0xf0, 0x29, 0x8, 0x5d, 0x40, 0x25, 0x20, 0x0, 0x20, 0x27, 0x24, 0x26, 0x28, 0x1e, 0x28, 0x1d, 0x2a, 0x15, 0x2f, 0x14, 0x2f, 0x13, 0x2a, 0x12, 0x28, 0xa, 0x28, 0x9, 0x29, 0x8, 0x29, 0x7, 0x24, 0x1, 0x86, 0x1e, 0x86, 0x1d, 0x86, 0x1c, 0x86, 0x1b, 0x12, 0x0, 0x5d, 0x40, 0x17, 0x1c, 0x1e, 0x1c, 0x1d, 0x1c, 0x1c, 0x2e, 0x1f, 0x2c, 0x1e, 0x2c, 0x1d, 0x2c, 0x1c, 0x3b, 0x1f, 0x3b, 0x1e, 0x3b, 0x1d, 0x3b, 0x1c, 0xb, 0x71, 0x13, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0xf, 0x1, 0xe, 0x1, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x3f, 0x1, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0xa0, 0x4c, 0xb4, 0x66, 0xce, 0xe0, 0x98, 0xab, 0x40, 0xab, 0x65, 0x8c, 0x82, 0x61, 0xc6, 0x66, 0x6c, 0xc3, 0x5a, 0xd8, 0xf7, 0xa5, 0xc4, 0x3f, 0x94, 0x62, 0x89, 0x89, 0x5a, 0xa8, 0x4e, 0x4, 0x3f, 0x1e, 0x1e, 0xac, 0x9e, 0x82, 0x95, 0x24, 0xf, 0x25, 0x50, 0x4b, 0x51, 0x59, 0x35, 0x35, 0xbe, 0x23, 0x23, 0xb6, 0x9c, 0x89, 0x99, 0x2a, 0xe, 0x21, 0x49, 0x40, 0x54, 0x54, 0x28, 0x28, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x5, 0xd5, 0x10, 0x6, 0x3, 0x37, 0x0, 0x0, 0x0, 0x2, 0xfe, 0xf2, 0xfe, 0x56, 0x2, 0xd7, 0x6, 0x14, 0x0, 0x16, 0x0, 0x1f, 0x0, 0x36, 0x40, 0xc, 0x1d, 0xe, 0xa, 0x15, 0x6, 0x14, 0x1, 0x8, 0x17, 0xa, 0x4f, 0x20, 0x10, 0xfc, 0x32, 0xfc, 0x32, 0xcc, 0xcc, 0x10, 0xd4, 0xcc, 0x31, 0x0, 0x40, 0xf, 0x14, 0x1f, 0x87, 0x0, 0xb, 0x1b, 0x87, 0x10, 0x97, 0x20, 0x4, 0x87, 0x6, 0xbd, 0x20, 0x10, 0xfc, 0xec, 0x10, 0xf4, 0xec, 0xd4, 0x3c, 0xec, 0x32, 0x30, 0x1, 0x11, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x26, 0x35, 0x11, 0x23, 0x20, 0x35, 0x34, 0x21, 0x32, 0x17, 0x16, 0x17, 0x33, 0x15, 0x25, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x33, 0x1, 0x77, 0x4d, 0x63, 0xb0, 0xae, 0xbd, 0xae, 0xbe, 0xfe, 0xf2, 0x1, 0x2f, 0xb5, 0x52, 0x35, 0x12, 0xbf, 0xfe, 0x86, 0x8, 0x11, 0x21, 0x6e, 0x7c, 0x3, 0x3, 0x77, 0x4, 0x6a, 0xfb, 0x3d, 0x68, 0x50, 0x99, 0xab, 0xbb, 0x4, 0xae, 0xd2, 0xd8, 0x60, 0x40, 0x6f, 0x9b, 0x9a, 0x2c, 0x18, 0x30, 0x41, 0x33, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x37, 0xfe, 0x56, 0x2, 0xf2, 0x5, 0x9e, 0x0, 0x1d, 0x0, 0x3f, 0x40, 0xe, 0xe, 0x14, 0x8, 0x8, 0x2, 0x9, 0x4, 0x0, 0x8, 0x1a, 0x1c, 0x18, 0x46, 0x1e, 0x10, 0xfc, 0x3c, 0xc4, 0xfc, 0x3c, 0xdc, 0x32, 0x39, 0xfc, 0xcc, 0x31, 0x0, 0x40, 0x12, 0x18, 0x5, 0x8, 0x19, 0x3, 0xa9, 0x0, 0x1b, 0x1, 0xbc, 0x8, 0x87, 0x15, 0x10, 0x87, 0xe, 0xbd, 0x15, 0x2f, 0xfc, 0xec, 0x10, 0xec, 0xf4, 0x3c, 0xcc, 0xec, 0x32, 0x11, 0x39, 0x39, 0x30, 0x1, 0x11, 0x21, 0x15, 0x21, 0x11, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x14, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x3d, 0x1, 0x22, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x11, 0x1, 0x77, 0x1, 0x7b, 0xfe, 0x85, 0x4b, 0x73, 0xbd, 0xa4, 0xb4, 0x46, 0x30, 0x6a, 0x26, 0x26, 0xd5, 0xa7, 0x87, 0x87, 0x5, 0x9e, 0xfe, 0xc2, 0x8f, 0xfd, 0xa0, 0x89, 0x4e, 0xae, 0xd6, 0xc0, 0x9c, 0x30, 0x31, 0x99, 0x14, 0x9f, 0xd2, 0x2, 0x60, 0x8f, 0x1, 0x3e, 0x0, 0x0, 0x1, 0x0, 0x18, 0x0, 0x0, 0x4, 0xe9, 0x5, 0xd5, 0x0, 0xf, 0x0, 0x58, 0x40, 0x15, 0xd, 0xa, 0xc, 0x6, 0x2, 0x95, 0x0, 0x81, 0x4, 0x0, 0x7, 0x1, 0x40, 0x3, 0x1c, 0x5, 0xb, 0x1c, 0xd, 0x5, 0x10, 0x10, 0xd4, 0xd4, 0xec, 0x10, 0xfc, 0xe4, 0x39, 0x39, 0x31, 0x0, 0x2f, 0xf4, 0xec, 0x32, 0xc4, 0x39, 0x39, 0x30, 0x1, 0x4b, 0xb0, 0xa, 0x54, 0x58, 0xbd, 0x0, 0x10, 0x0, 0x40, 0x0, 0x1, 0x0, 0x10, 0x0, 0x10, 0xff, 0xc0, 0x38, 0x11, 0x37, 0x38, 0x59, 0x40, 0x13, 0x0, 0x11, 0x1f, 0x0, 0x10, 0x1, 0x10, 0x2, 0x1f, 0x7, 0x10, 0x11, 0x40, 0x11, 0x70, 0x11, 0x9f, 0x11, 0x9, 0x5d, 0x1, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x23, 0x35, 0x34, 0x36, 0x1, 0xae, 0x3, 0x3b, 0xfd, 0xee, 0xcb, 0x5e, 0x84, 0x76, 0x9c, 0xc0, 0x5, 0xd5, 0xaa, 0xfa, 0xd5, 0x5, 0x2b, 0x5a, 0x69, 0x31, 0x46, 0xb5, 0xa3, 0x0, 0x0, 0x1, 0x0, 0x37, 0x0, 0x0, 0x2, 0xf2, 0x6, 0x14, 0x0, 0x1b, 0x0, 0x49, 0x40, 0x10, 0x19, 0x16, 0xb, 0x8, 0x4, 0x17, 0x9, 0x2, 0x4, 0x0, 0x8, 0x10, 0x13, 0xe, 0x46, 0x1c, 0x10, 0xfc, 0x3c, 0xc4, 0xfc, 0x3c, 0xc4, 0x32, 0x32, 0x17, 0x39, 0x31, 0x0, 0x40, 0x13, 0x13, 0x0, 0x19, 0x87, 0x16, 0x97, 0xa, 0xe, 0x5, 0x8, 0xf, 0x3, 0xa9, 0x11, 0x1, 0xbc, 0x8, 0x87, 0xa, 0x2f, 0xec, 0xf4, 0x3c, 0xec, 0x32, 0x11, 0x39, 0x39, 0x10, 0xf4, 0xec, 0x39, 0x39, 0x30, 0xb2, 0xaf, 0x15, 0x1, 0x1, 0x5d, 0x1, 0x15, 0x21, 0x15, 0x21, 0x11, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x6, 0x1, 0x77, 0x1, 0x7b, 0xfe, 0x85, 0x4b, 0x73, 0xbd, 0xbd, 0xd5, 0xa2, 0x87, 0x87, 0xae, 0xbd, 0xae, 0xb0, 0x63, 0x4d, 0x4, 0xc3, 0x63, 0x8f, 0xfd, 0xa0, 0x89, 0x4e, 0x9a, 0x9f, 0xd2, 0x2, 0x60, 0x8f, 0x4e, 0xbb, 0xab, 0x99, 0x51, 0x0, 0x0, 0x0, 0x1, 0xff, 0xfa, 0xfe, 0x66, 0x4, 0xe9, 0x5, 0xd5, 0x0, 0xf, 0x0, 0x54, 0x40, 0x14, 0x7, 0x95, 0xa, 0xbd, 0x10, 0xe, 0x2, 0x95, 0x0, 0x81, 0x10, 0x8, 0x1, 0x40, 0x3, 0x1c, 0x0, 0x40, 0xd, 0x10, 0x10, 0xd4, 0xe4, 0xfc, 0xe4, 0xc4, 0x31, 0x0, 0x10, 0xf4, 0xec, 0x32, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x4b, 0xb0, 0xa, 0x54, 0x58, 0xbd, 0x0, 0x10, 0x0, 0x40, 0x0, 0x1, 0x0, 0x10, 0x0, 0x10, 0xff, 0xc0, 0x38, 0x11, 0x37, 0x38, 0x59, 0x40, 0x13, 0x0, 0x11, 0x1f, 0x0, 0x10, 0x1, 0x10, 0x2, 0x1f, 0xf, 0x10, 0x11, 0x40, 0x11, 0x70, 0x11, 0x9f, 0x11, 0x9, 0x5d, 0x3, 0x21, 0x15, 0x21, 0x11, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x26, 0x19, 0x1, 0x21, 0x6, 0x4, 0xef, 0xfd, 0xee, 0x6e, 0x86, 0x3f, 0x4e, 0xe3, 0xcd, 0xfd, 0xee, 0x5, 0xd5, 0xaa, 0xfb, 0x3d, 0xc2, 0x96, 0xaa, 0xf4, 0x1, 0xe, 0x4, 0xc3, 0xff, 0xff, 0x0, 0xad, 0xff, 0xf7, 0x6, 0x5f, 0x6, 0x14, 0x10, 0x26, 0x0, 0x38, 0xfb, 0x14, 0x10, 0x7, 0x2, 0xcc, 0x5, 0xe4, 0x1, 0x34, 0xff, 0xff, 0x0, 0xb0, 0xff, 0xe3, 0x5, 0x69, 0x4, 0xeb, 0x10, 0x27, 0x2, 0xcc, 0x4, 0xee, 0x0, 0xb, 0x10, 0x6, 0x0, 0x58, 0x2, 0x0, 0x0, 0x1, 0x0, 0x4e, 0xff, 0xe3, 0x5, 0xcf, 0x5, 0xca, 0x0, 0x1f, 0x0, 0x3a, 0x40, 0x10, 0x1d, 0x1a, 0x19, 0x21, 0x10, 0x0, 0x4, 0x33, 0xa, 0x11, 0x14, 0x19, 0xd, 0xa, 0x10, 0x20, 0x10, 0xfc, 0xc4, 0xfc, 0xc4, 0x10, 0xf4, 0xc4, 0xec, 0xfc, 0xc4, 0x31, 0x0, 0x40, 0xe, 0xd, 0x11, 0x1, 0x1d, 0x95, 0x1e, 0x10, 0x81, 0x20, 0x17, 0x95, 0x7, 0x8c, 0x20, 0x10, 0xf4, 0xec, 0x10, 0xfc, 0x3c, 0xec, 0x32, 0x32, 0x32, 0x30, 0x1, 0x21, 0x16, 0x12, 0x15, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x12, 0x37, 0x21, 0x35, 0x21, 0x15, 0x6, 0x2, 0x15, 0x14, 0x0, 0x33, 0x32, 0x0, 0x35, 0x34, 0x2, 0x27, 0x35, 0x21, 0x5, 0xcf, 0xfe, 0xc0, 0xa1, 0x8e, 0xfe, 0x7f, 0xfe, 0xd1, 0xfe, 0xcf, 0xfe, 0x81, 0x91, 0x9e, 0xfe, 0xc1, 0x2, 0x58, 0xb2, 0xc7, 0x1, 0x9, 0xd8, 0xd8, 0x1, 0x8, 0xc6, 0xb1, 0x2, 0x58, 0x5, 0x18, 0x8d, 0xfe, 0xd8, 0xc2, 0xfe, 0xcb, 0xfe, 0x77, 0x1, 0x8a, 0x1, 0x3e, 0xb8, 0x1, 0x2a, 0x8b, 0xb2, 0xb2, 0x61, 0xfe, 0xb4, 0xca, 0xef, 0xfe, 0xdd, 0x1, 0x22, 0xf0, 0xca, 0x1, 0x4c, 0x61, 0xb2, 0x0, 0x0, 0x1, 0x0, 0xc9, 0xff, 0xe1, 0x5, 0x76, 0x5, 0xd5, 0x0, 0x1b, 0x0, 0x2d, 0x40, 0xd, 0x10, 0x15, 0xc, 0x7, 0x8, 0x3, 0x19, 0xc, 0x18, 0x1c, 0x15, 0x4, 0x1c, 0x10, 0xfc, 0xec, 0xd4, 0xec, 0x2f, 0x3c, 0x11, 0x12, 0x39, 0x31, 0x0, 0x40, 0x9, 0x8, 0x16, 0x81, 0x1c, 0x0, 0x95, 0x10, 0x8c, 0x1c, 0x10, 0xf4, 0xec, 0x10, 0xec, 0xc4, 0x30, 0x25, 0x32, 0x0, 0x35, 0x34, 0x27, 0x26, 0x27, 0x35, 0x17, 0x16, 0x12, 0x15, 0x10, 0x7, 0x6, 0x21, 0x27, 0x26, 0x27, 0x26, 0x19, 0x1, 0x33, 0x11, 0x14, 0x16, 0x33, 0x2, 0xc6, 0xd8, 0x1, 0x8, 0x63, 0x41, 0x6e, 0xb3, 0xa1, 0x8e, 0xc0, 0xbf, 0xfe, 0xcf, 0x4d, 0xe8, 0x61, 0x67, 0xca, 0x6e, 0x86, 0x8d, 0x1, 0x22, 0xf0, 0xca, 0xa6, 0x6d, 0x57, 0x44, 0x1, 0x8d, 0xfe, 0xd8, 0xc2, 0xfe, 0xcb, 0xc5, 0xc4, 0x2, 0x6, 0x74, 0x7a, 0x1, 0xe, 0x3, 0xf0, 0xfc, 0x10, 0xc2, 0x96, 0x0, 0x0, 0x1, 0xff, 0xfc, 0x0, 0x0, 0x5, 0xf0, 0x5, 0xf0, 0x0, 0x17, 0x0, 0x64, 0x40, 0xf, 0x13, 0x1c, 0x14, 0xc, 0x4, 0xb, 0x7, 0x0, 0x40, 0x5, 0x1c, 0x9, 0x40, 0x7, 0x18, 0x10, 0xd4, 0xe4, 0xfc, 0xe4, 0x12, 0x39, 0xc4, 0x39, 0x2f, 0xec, 0x31, 0x0, 0x40, 0xb, 0x12, 0x15, 0x14, 0x0, 0x95, 0xe, 0x91, 0xb, 0x9, 0xaf, 0x6, 0x2f, 0xec, 0x39, 0xf4, 0xec, 0xcc, 0x39, 0x39, 0x30, 0x40, 0x19, 0xc, 0x11, 0x4, 0x5, 0x4, 0xb, 0x11, 0xa, 0xb, 0x5, 0x5, 0x4, 0xb, 0x11, 0xc, 0xb, 0x8, 0x9, 0x8, 0xa, 0x11, 0x9, 0x9, 0x8, 0x42, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x5, 0xed, 0x59, 0x22, 0x1, 0x22, 0x7, 0x6, 0x7, 0x1, 0x11, 0x23, 0x11, 0x1, 0x33, 0x9, 0x1, 0x36, 0x33, 0x32, 0x17, 0x16, 0x1d, 0x1, 0x23, 0x35, 0x34, 0x26, 0x4, 0xd7, 0x39, 0x15, 0x25, 0x11, 0xfe, 0x84, 0xcb, 0xfd, 0xf0, 0xd9, 0x1, 0x9e, 0x1, 0x4e, 0x5a, 0xa3, 0x88, 0x55, 0x55, 0xaa, 0x49, 0x5, 0x47, 0xe, 0x18, 0x19, 0xfd, 0xbf, 0xfd, 0x39, 0x2, 0xc7, 0x3, 0xe, 0xfd, 0x9a, 0x1, 0xf9, 0x88, 0x5c, 0x5b, 0x6e, 0x83, 0x79, 0x36, 0x50, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3d, 0xfe, 0x56, 0x5, 0xd8, 0x4, 0x7b, 0x0, 0x1f, 0x1, 0x6a, 0x40, 0x17, 0x12, 0xe, 0x15, 0x1b, 0x1f, 0x18, 0x8, 0x15, 0x1f, 0xe, 0xd, 0xc, 0xa, 0x9, 0x6, 0x3, 0x0, 0x8, 0x1f, 0x4, 0x1f, 0xb, 0x20, 0x10, 0xd4, 0x4b, 0xb0, 0xa, 0x54, 0x4b, 0xb0, 0x8, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0xb, 0x0, 0x40, 0x38, 0x59, 0x4b, 0xb0, 0x14, 0x54, 0x58, 0xb9, 0x0, 0xb, 0xff, 0xc0, 0x38, 0x59, 0xc4, 0xc4, 0x11, 0x17, 0x39, 0x10, 0xd4, 0xec, 0x11, 0x39, 0x11, 0x12, 0x39, 0x31, 0x0, 0x40, 0x3a, 0x7, 0x8, 0x2, 0x9, 0x11, 0x0, 0x1f, 0xa, 0x11, 0xb, 0xa, 0x0, 0x0, 0x1f, 0xe, 0x11, 0x1d, 0x0, 0x1f, 0xd, 0x11, 0xc, 0xd, 0x0, 0x0, 0x1f, 0xd, 0x11, 0xe, 0xd, 0xa, 0xb, 0xa, 0xc, 0x11, 0xb, 0xb, 0xa, 0x42, 0xd, 0xb, 0x9, 0x20, 0x0, 0xb, 0x5, 0x87, 0x3, 0xbd, 0x20, 0x1b, 0xb9, 0x12, 0xb8, 0xb, 0xbc, 0x17, 0x20, 0x10, 0xc4, 0xe4, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x11, 0x39, 0x11, 0x39, 0x12, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x5, 0xed, 0x17, 0x32, 0x59, 0x22, 0x1, 0x40, 0x8d, 0xa, 0x0, 0xa, 0x9, 0x6, 0xb, 0x5, 0xc, 0x17, 0x1, 0x15, 0x2, 0x10, 0x4, 0x10, 0x5, 0x17, 0xa, 0x14, 0xb, 0x14, 0xc, 0x27, 0x0, 0x24, 0x1, 0x24, 0x2, 0x20, 0x4, 0x20, 0x5, 0x29, 0x8, 0x28, 0x9, 0x25, 0xa, 0x24, 0xb, 0x24, 0xc, 0x27, 0xd, 0x37, 0x0, 0x35, 0x1, 0x35, 0x2, 0x30, 0x4, 0x30, 0x5, 0x38, 0xa, 0x36, 0xb, 0x36, 0xc, 0x38, 0xd, 0x41, 0x0, 0x40, 0x1, 0x40, 0x2, 0x40, 0x3, 0x40, 0x4, 0x40, 0x5, 0x40, 0x6, 0x40, 0x7, 0x40, 0x8, 0x42, 0x9, 0x45, 0xa, 0x47, 0xd, 0x54, 0x0, 0x51, 0x1, 0x51, 0x2, 0x55, 0x3, 0x50, 0x4, 0x50, 0x5, 0x56, 0x6, 0x55, 0x7, 0x56, 0x8, 0x57, 0x9, 0x57, 0xa, 0x55, 0xb, 0x55, 0xc, 0x66, 0x1, 0x66, 0x2, 0x68, 0xa, 0x7b, 0x8, 0x89, 0x0, 0x8a, 0x9, 0x85, 0xb, 0x85, 0xc, 0x89, 0xd, 0x99, 0x9, 0x95, 0xb, 0x95, 0xc, 0xa4, 0xb, 0xa4, 0xc, 0x46, 0x5d, 0x0, 0x40, 0x25, 0x6, 0x0, 0x5, 0x8, 0x6, 0x9, 0x3, 0xd, 0x16, 0xa, 0x17, 0xd, 0x10, 0xd, 0x23, 0xd, 0x35, 0xd, 0x49, 0xa, 0x4f, 0xa, 0x4e, 0xd, 0x5a, 0x9, 0x5a, 0xa, 0x6a, 0xa, 0x87, 0xd, 0x80, 0xd, 0x93, 0xd, 0x12, 0x5d, 0x5, 0xe, 0x1, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x3f, 0x1, 0x1, 0x33, 0x9, 0x1, 0x36, 0x37, 0x36, 0x33, 0x32, 0x16, 0x1d, 0x1, 0x23, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x2, 0x93, 0x4e, 0x94, 0x7c, 0x93, 0x6c, 0x4c, 0x54, 0x33, 0x21, 0xfe, 0x3b, 0xc3, 0x1, 0x5e, 0x1, 0x1a, 0x15, 0x30, 0x58, 0x87, 0x83, 0xb9, 0xb2, 0x51, 0x39, 0x39, 0x29, 0x14, 0xa, 0x68, 0xc8, 0x7a, 0x9a, 0x48, 0x86, 0x54, 0x4, 0x4e, 0xfc, 0x94, 0x2, 0xc0, 0x34, 0x33, 0x60, 0xbf, 0x86, 0x72, 0x72, 0x3a, 0x54, 0x2a, 0x14, 0x19, 0x0, 0x1, 0x0, 0x5c, 0x0, 0x0, 0x5, 0x1f, 0x5, 0xd5, 0x0, 0x11, 0x0, 0xc0, 0x40, 0x35, 0x6, 0x3, 0x2, 0x7, 0x2, 0xc, 0xf, 0x10, 0xb, 0x10, 0x7, 0x11, 0xb, 0x10, 0xb, 0x10, 0x11, 0x2, 0x7, 0x2, 0x42, 0x5, 0xd, 0x95, 0x4, 0xe, 0x12, 0x10, 0x95, 0x0, 0x81, 0x7, 0x95, 0x9, 0xc, 0x6, 0x3, 0xf, 0x4, 0xe, 0x4, 0x8, 0xe, 0x0, 0x10, 0x7, 0x0, 0x1, 0x42, 0x8, 0x0, 0xa, 0x12, 0x10, 0xdc, 0x4b, 0xb0, 0x9, 0x54, 0x4b, 0xb0, 0xa, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0xa, 0xff, 0xc0, 0x38, 0x59, 0xc4, 0xd4, 0xe4, 0x11, 0x39, 0x39, 0x10, 0xc4, 0x10, 0xc4, 0x11, 0x17, 0x39, 0x31, 0x0, 0x2f, 0xec, 0xf4, 0xec, 0x10, 0xd4, 0x3c, 0xec, 0x32, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0x3c, 0x3c, 0x7, 0x10, 0x5, 0x3c, 0x3c, 0x59, 0x22, 0x1, 0x40, 0x40, 0x5, 0x2, 0xa, 0xb, 0x18, 0xb, 0x29, 0x2, 0x26, 0xb, 0x38, 0xb, 0x48, 0x2, 0x47, 0xb, 0x48, 0x10, 0x9, 0x5, 0x7, 0xb, 0x10, 0x0, 0x13, 0x16, 0x7, 0x1a, 0x10, 0x10, 0x13, 0x2f, 0x13, 0x35, 0x7, 0x39, 0x10, 0x3f, 0x13, 0x47, 0x7, 0x4a, 0x10, 0x4f, 0x13, 0x55, 0x7, 0x59, 0x11, 0x66, 0x7, 0x69, 0x10, 0x6f, 0x13, 0x77, 0x7, 0x78, 0x10, 0x7f, 0x13, 0x9f, 0x13, 0x16, 0x5d, 0x0, 0x5d, 0x13, 0x21, 0x15, 0x1, 0x21, 0x15, 0x21, 0x1, 0x21, 0x15, 0x21, 0x35, 0x1, 0x21, 0x35, 0x21, 0x1, 0x21, 0x73, 0x4, 0x95, 0xfe, 0x70, 0x1, 0x19, 0xfe, 0x73, 0xfe, 0x54, 0x3, 0xc7, 0xfb, 0x3d, 0x1, 0xb9, 0xfe, 0xd5, 0x1, 0x9f, 0x1, 0x83, 0xfc, 0x67, 0x5, 0xd5, 0x9a, 0xfe, 0x11, 0x90, 0xfd, 0xee, 0xaa, 0x9a, 0x2, 0x22, 0x90, 0x1, 0xdf, 0x0, 0x1, 0x0, 0x58, 0x0, 0x0, 0x3, 0xdb, 0x4, 0x60, 0x0, 0x11, 0x0, 0xc5, 0x40, 0x31, 0xc, 0xf, 0x10, 0xb, 0x10, 0x6, 0x3, 0x2, 0x7, 0x2, 0x10, 0x11, 0x2, 0x7, 0x2, 0x7, 0x11, 0xb, 0x10, 0xb, 0x42, 0x10, 0xa9, 0x0, 0xbc, 0x9, 0x5, 0xd, 0xa9, 0x4, 0xe, 0x7, 0xa9, 0x9, 0x10, 0x7, 0xf, 0x3, 0x6, 0xc, 0x6, 0x1, 0x0, 0xe, 0x4, 0x8, 0x1, 0xa, 0x12, 0x10, 0xdc, 0x4b, 0xb0, 0xb, 0x54, 0x4b, 0xb0, 0xc, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0xa, 0xff, 0xc0, 0x38, 0x59, 0x4b, 0xb0, 0x13, 0x54, 0x58, 0xb9, 0x0, 0xa, 0x0, 0x40, 0x38, 0x59, 0xc4, 0x32, 0xc4, 0xc4, 0xc4, 0x11, 0x17, 0x39, 0x31, 0x0, 0x2f, 0xec, 0xd4, 0x3c, 0xec, 0x32, 0x10, 0xf4, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0x3c, 0x3c, 0x7, 0x10, 0x5, 0x3c, 0x3c, 0x59, 0x22, 0x1, 0x40, 0x42, 0x5, 0x2, 0x16, 0x2, 0x26, 0x2, 0x47, 0x2, 0x49, 0xb, 0x5, 0xb, 0x10, 0xf, 0x13, 0x18, 0x7, 0x1b, 0x10, 0x2b, 0x10, 0x20, 0x13, 0x36, 0x7, 0x39, 0x10, 0x30, 0x13, 0x40, 0x1, 0x40, 0x2, 0x45, 0x7, 0x40, 0x8, 0x40, 0x9, 0x43, 0x10, 0x57, 0x7, 0x59, 0x10, 0x5f, 0x13, 0x60, 0x1, 0x60, 0x2, 0x66, 0x7, 0x60, 0x8, 0x60, 0x9, 0x62, 0x10, 0x7f, 0x13, 0x80, 0x13, 0xaf, 0x13, 0x1b, 0x5d, 0x0, 0x5d, 0x13, 0x21, 0x15, 0x3, 0x33, 0x15, 0x21, 0x1, 0x21, 0x15, 0x21, 0x35, 0x1, 0x23, 0x35, 0x21, 0x1, 0x21, 0x71, 0x3, 0x6a, 0xfb, 0xc2, 0xfe, 0xc2, 0xfe, 0xc3, 0x2, 0xb4, 0xfc, 0x7d, 0x1, 0x2b, 0xd4, 0x1, 0x50, 0x1, 0xd, 0xfd, 0x65, 0x4, 0x60, 0xa8, 0xfe, 0xdc, 0x90, 0xfe, 0x8f, 0x93, 0xa8, 0x1, 0x5c, 0x90, 0x1, 0x39, 0x0, 0x0, 0x0, 0x1, 0x0, 0xa0, 0xff, 0xc1, 0x4, 0xf8, 0x5, 0xd5, 0x0, 0x22, 0x0, 0x70, 0x40, 0xe, 0xb, 0xe, 0xd, 0x8, 0xa, 0x4, 0x19, 0xe, 0x10, 0x16, 0xa, 0xd, 0x1e, 0x23, 0x10, 0xdc, 0xc4, 0xc4, 0xd4, 0x39, 0xc4, 0xec, 0x12, 0x39, 0xb4, 0x3f, 0xe, 0x4f, 0xe, 0x2, 0x5d, 0x11, 0x12, 0x39, 0x31, 0x0, 0x40, 0x13, 0xa, 0x9, 0x95, 0x10, 0xf, 0xb, 0x95, 0xd, 0x81, 0x23, 0x1f, 0xa1, 0x1e, 0xae, 0x0, 0x95, 0x1a, 0x8c, 0x23, 0x10, 0xf4, 0xec, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x39, 0xd4, 0xec, 0x39, 0x30, 0x40, 0xa, 0x10, 0x11, 0xa, 0xb, 0xa, 0xb, 0x11, 0xf, 0x10, 0xf, 0x7, 0x10, 0x5, 0xec, 0x7, 0x10, 0x5, 0xec, 0x40, 0xe, 0x9, 0xa, 0x37, 0xf, 0x2, 0x5, 0x10, 0xb, 0xb, 0x15, 0x10, 0x3b, 0xb, 0x4, 0x1, 0x5d, 0x0, 0x5d, 0x25, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2b, 0x1, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x21, 0x22, 0x27, 0x26, 0x27, 0x35, 0x16, 0x17, 0x16, 0x2, 0xa8, 0xc0, 0x63, 0x64, 0x5c, 0x5d, 0xa5, 0xae, 0x1, 0x81, 0xfc, 0xfc, 0x4, 0x0, 0xfe, 0x65, 0x6a, 0x80, 0x62, 0x56, 0x51, 0x98, 0x98, 0xfe, 0xe8, 0x77, 0x7d, 0x7e, 0x86, 0x6a, 0x7f, 0x7e, 0x6b, 0x4b, 0x4b, 0x8f, 0x86, 0x49, 0x4a, 0x98, 0x1, 0xea, 0xaa, 0x9a, 0xfe, 0x16, 0x38, 0x2a, 0x6d, 0x68, 0x8a, 0xdc, 0x7a, 0x79, 0x13, 0x12, 0x25, 0xc3, 0x31, 0x19, 0x19, 0x0, 0x0, 0x1, 0x0, 0x5c, 0xff, 0xc1, 0x4, 0xb4, 0x5, 0xd5, 0x0, 0x22, 0x0, 0x5e, 0x40, 0xf, 0x18, 0x16, 0x15, 0x1b, 0x1f, 0x13, 0xd, 0x19, 0x16, 0x5, 0x1f, 0x19, 0x15, 0xd, 0x23, 0x10, 0xdc, 0xc4, 0xb4, 0x30, 0x15, 0x40, 0x15, 0x2, 0x5d, 0xec, 0xd4, 0xc4, 0xc4, 0x11, 0x39, 0x11, 0x39, 0x11, 0x12, 0x39, 0x31, 0x0, 0x40, 0x13, 0x19, 0x1b, 0x95, 0x13, 0x14, 0x18, 0x95, 0x16, 0x81, 0x23, 0x4, 0xa1, 0x5, 0xae, 0x0, 0x95, 0x9, 0x8c, 0x23, 0x10, 0xf4, 0xec, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x39, 0xd4, 0xec, 0x39, 0x30, 0x40, 0xa, 0x13, 0x11, 0x19, 0x18, 0x19, 0x18, 0x11, 0x14, 0x13, 0x14, 0x7, 0x10, 0x5, 0xec, 0x7, 0x10, 0x5, 0xec, 0x25, 0x32, 0x37, 0x36, 0x37, 0x15, 0x6, 0x7, 0x6, 0x23, 0x20, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x1, 0x35, 0x21, 0x15, 0x21, 0x1, 0x15, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x2, 0xac, 0x89, 0x7e, 0x7f, 0x6a, 0x86, 0x7e, 0x7d, 0x77, 0xfe, 0xe8, 0x98, 0x98, 0x51, 0x56, 0x62, 0x80, 0x6a, 0xfe, 0x65, 0x4, 0x0, 0xfc, 0xfc, 0x1, 0x81, 0xae, 0xa5, 0x5d, 0x5c, 0x64, 0x63, 0x6b, 0x19, 0x19, 0x31, 0xc3, 0x25, 0x12, 0x13, 0x79, 0x7a, 0xdc, 0x8a, 0x68, 0x6d, 0x2a, 0x38, 0x1, 0xea, 0x9a, 0xaa, 0xfe, 0x16, 0x98, 0x4a, 0x49, 0x86, 0x8f, 0x4b, 0x4b, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x68, 0xfe, 0x4c, 0x4, 0x3f, 0x4, 0x60, 0x0, 0x20, 0x0, 0xa3, 0x40, 0xb, 0x0, 0x6, 0x2, 0xc, 0x12, 0x1b, 0x13, 0x3, 0x6, 0x2, 0x21, 0x10, 0xdc, 0xcc, 0xc4, 0xc4, 0xd4, 0xec, 0x11, 0x12, 0x39, 0x31, 0x0, 0x40, 0x1a, 0xc, 0x1b, 0x0, 0x18, 0x6, 0x42, 0x0, 0xa9, 0x7, 0x7, 0x3, 0x21, 0x4, 0xa9, 0x3, 0x13, 0x86, 0x14, 0x93, 0x10, 0xb9, 0x18, 0xbd, 0x3, 0xbc, 0x21, 0x10, 0xe4, 0xfc, 0xec, 0xf4, 0xec, 0x10, 0xec, 0x11, 0x12, 0x39, 0x2f, 0xec, 0xec, 0x11, 0x12, 0x39, 0x39, 0x30, 0x40, 0x8, 0x6, 0x11, 0x0, 0x5, 0x11, 0x1, 0x7, 0x2, 0x7, 0x5, 0x10, 0xec, 0x4, 0x10, 0xec, 0x40, 0x1b, 0x3, 0x5, 0x5, 0x0, 0x14, 0x5, 0x16, 0x0, 0x23, 0x5, 0x25, 0x0, 0x37, 0x0, 0x34, 0x5, 0x46, 0x0, 0x43, 0x5, 0x5b, 0x0, 0x54, 0x5, 0x7e, 0x0, 0xd, 0x1, 0x5d, 0x40, 0x1b, 0x4, 0x6, 0x4, 0x1, 0x14, 0x6, 0x14, 0x1, 0x25, 0x6, 0x24, 0x1, 0x35, 0x1, 0x37, 0x6, 0x45, 0x1, 0x46, 0x6, 0x54, 0x1, 0x5c, 0x6, 0x7f, 0x6, 0xd, 0x0, 0x5d, 0x40, 0x9, 0x6, 0x15, 0x7, 0x16, 0x1a, 0x15, 0x1a, 0x12, 0x4, 0x5d, 0x9, 0x1, 0x35, 0x21, 0x15, 0x21, 0x1, 0x15, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0x6, 0x7, 0x6, 0x23, 0x20, 0x24, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x2, 0x5b, 0xfe, 0x65, 0x3, 0x6a, 0xfd, 0x65, 0x1, 0xae, 0xae, 0xa5, 0x5d, 0x5c, 0x64, 0x63, 0xbe, 0x6d, 0xc8, 0x54, 0x6a, 0x64, 0x63, 0x5e, 0xfe, 0xe8, 0xfe, 0xd0, 0x51, 0x56, 0x62, 0x80, 0x1, 0xdc, 0x1, 0xdc, 0xa8, 0x93, 0xfe, 0xd, 0xa6, 0x4a, 0x4b, 0x84, 0x8f, 0x4b, 0x4b, 0x32, 0x31, 0xc3, 0x25, 0x13, 0x12, 0xf2, 0xdd, 0x8a, 0x68, 0x6d, 0x2a, 0x38, 0x0, 0x0, 0x0, 0x1, 0x0, 0x71, 0xfe, 0x56, 0x3, 0xe8, 0x4, 0x60, 0x0, 0x20, 0x0, 0x0, 0x1, 0x32, 0x37, 0x36, 0x37, 0x15, 0x6, 0x7, 0x6, 0x23, 0x20, 0x11, 0x34, 0x25, 0x24, 0x35, 0x34, 0x23, 0x30, 0x21, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x20, 0x15, 0x10, 0x5, 0x6, 0x15, 0x14, 0x2, 0x7f, 0x54, 0x4d, 0x4f, 0x51, 0x57, 0x50, 0x56, 0x61, 0xfe, 0x20, 0x1, 0x96, 0x1, 0x1c, 0xeb, 0xfe, 0xde, 0x1, 0xe5, 0xfd, 0x65, 0x3, 0x6a, 0xfe, 0x9e, 0x1, 0x6f, 0xfe, 0x30, 0xe2, 0xfe, 0xee, 0x15, 0x15, 0x2c, 0xb3, 0x20, 0xd, 0xe, 0x1, 0x19, 0xee, 0x35, 0x25, 0x62, 0x7c, 0x2, 0x38, 0x93, 0xa8, 0xfe, 0x64, 0xe5, 0xfe, 0xec, 0x31, 0x18, 0x61, 0x8b, 0x0, 0x1, 0x0, 0x96, 0x0, 0x0, 0x4, 0x4a, 0x5, 0xf0, 0x0, 0x24, 0x0, 0x0, 0x25, 0x21, 0x15, 0x21, 0x35, 0x1, 0x37, 0x21, 0x35, 0x21, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x4, 0x15, 0x14, 0x7, 0x6, 0x7, 0x33, 0x15, 0x23, 0x7, 0x1, 0x89, 0x2, 0xc1, 0xfc, 0x4c, 0x1, 0x3a, 0x73, 0xfe, 0xa7, 0x1, 0xe2, 0x5f, 0x25, 0x27, 0x53, 0x54, 0x86, 0x5f, 0x69, 0x6a, 0x78, 0x7a, 0xd4, 0x58, 0xe8, 0x1, 0x14, 0x22, 0x1f, 0x4a, 0x68, 0xec, 0x30, 0xaa, 0xaa, 0xaa, 0x1, 0x40, 0x75, 0x90, 0x6d, 0x48, 0x4c, 0x49, 0x77, 0x4b, 0x4b, 0x21, 0x21, 0x43, 0xcc, 0x31, 0x32, 0xe8, 0xc2, 0x5c, 0x52, 0x49, 0x60, 0x90, 0x31, 0x0, 0x0, 0x0, 0x1, 0x0, 0x5d, 0xff, 0xc1, 0x4, 0xf9, 0x5, 0xd5, 0x0, 0x19, 0x0, 0x35, 0x40, 0xe, 0x1b, 0x3, 0x8, 0x11, 0xa, 0xb, 0x8, 0x7, 0x0, 0x8, 0x19, 0x7, 0x46, 0x1a, 0x10, 0xfc, 0xd4, 0xec, 0x10, 0xec, 0xd4, 0xd4, 0xec, 0xcc, 0x31, 0x0, 0x40, 0xd, 0x16, 0x95, 0x1, 0x0, 0x1a, 0x6, 0x95, 0xd, 0xb, 0x95, 0x9, 0x81, 0x1a, 0x10, 0xf4, 0xec, 0xd4, 0xec, 0x10, 0xcc, 0xd4, 0xec, 0x30, 0x1, 0x10, 0x20, 0x11, 0x34, 0x26, 0x23, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x25, 0x24, 0x17, 0x16, 0x10, 0xf, 0x1, 0x6, 0x7, 0x6, 0x20, 0x24, 0x35, 0x1, 0x26, 0x3, 0xa, 0xb9, 0xa5, 0xfd, 0xf7, 0x3, 0xa1, 0xfd, 0x29, 0x1, 0x73, 0x1, 0x0, 0xa2, 0x51, 0x3b, 0x1c, 0x14, 0x2d, 0x98, 0xfd, 0xc4, 0xfe, 0xd0, 0x1, 0x90, 0xfe, 0xdb, 0x1, 0x25, 0x86, 0x93, 0x3, 0x2c, 0xaa, 0xfe, 0x25, 0x1, 0x1, 0xd0, 0x68, 0xfe, 0xe0, 0x56, 0x29, 0x1d, 0x24, 0x79, 0xf2, 0xdd, 0x0, 0x0, 0x0, 0x1, 0x0, 0x68, 0xfe, 0x4c, 0x4, 0x3f, 0x4, 0x60, 0x0, 0x1a, 0x0, 0x33, 0x40, 0xb, 0x1c, 0x4, 0x8, 0x12, 0xa, 0xc, 0x8, 0x1a, 0x8, 0x46, 0x1b, 0x10, 0xfc, 0xc4, 0xec, 0xd4, 0xd4, 0xec, 0xcc, 0x31, 0x0, 0x40, 0xf, 0x2, 0x87, 0x0, 0x1a, 0x18, 0xbd, 0x1b, 0x7, 0x87, 0xe, 0xc, 0x87, 0xa, 0xbc, 0x1b, 0x10, 0xf4, 0xec, 0xd4, 0xec, 0x10, 0xfc, 0xcc, 0x32, 0xec, 0x30, 0x17, 0x16, 0x33, 0x20, 0x11, 0x34, 0x26, 0x23, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x33, 0x32, 0x1e, 0x1, 0x10, 0xf, 0x1, 0x6, 0x7, 0x6, 0x21, 0x22, 0x27, 0x68, 0xaa, 0xce, 0x1, 0x96, 0xb9, 0xa5, 0xfe, 0x9f, 0x3, 0x19, 0xfd, 0x9f, 0xdd, 0x69, 0xe4, 0xa6, 0x3b, 0x1c, 0x14, 0x2d, 0x98, 0xfe, 0xe8, 0xbb, 0xd4, 0xa7, 0x63, 0x1, 0x25, 0x86, 0x93, 0x3, 0x2c, 0xaa, 0xfe, 0x26, 0x63, 0xd4, 0xfe, 0xe0, 0x56, 0x29, 0x1d, 0x24, 0x79, 0x4a, 0x0, 0x0, 0x1, 0x0, 0x58, 0xff, 0xe3, 0x3, 0xa5, 0x5, 0x9e, 0x0, 0x24, 0x0, 0x0, 0x1, 0x7, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x21, 0x22, 0x27, 0x26, 0x27, 0x35, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x34, 0x27, 0x26, 0x2b, 0x1, 0x13, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0x15, 0x2, 0x21, 0x2, 0xaa, 0x70, 0x6c, 0x6e, 0x89, 0xfe, 0xed, 0x55, 0x51, 0x51, 0x4c, 0x49, 0x54, 0x4e, 0x50, 0xb3, 0x63, 0x39, 0x1, 0x3a, 0x56, 0xc0, 0x3e, 0x2, 0xe5, 0xe5, 0xca, 0xe7, 0x3, 0xe6, 0x7d, 0x1e, 0x77, 0x73, 0xaa, 0xba, 0x7d, 0x9d, 0x12, 0x11, 0x23, 0xac, 0x28, 0x18, 0x16, 0x72, 0x41, 0x85, 0x62, 0x4c, 0x72, 0x1, 0xf, 0xa4, 0x1, 0x14, 0xfe, 0xec, 0xa4, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0xfe, 0x56, 0x4, 0xa4, 0x4, 0x7b, 0x0, 0xe, 0x0, 0x17, 0x0, 0x40, 0x40, 0xb, 0x19, 0x11, 0x8, 0xd, 0x4, 0x17, 0x0, 0x8, 0x2, 0x46, 0x18, 0x10, 0xfc, 0xec, 0x32, 0x32, 0xd4, 0xec, 0xcc, 0x31, 0x0, 0x40, 0xc, 0x42, 0x15, 0x87, 0x5, 0x9, 0x8c, 0x3, 0xbc, 0x0, 0x1, 0xbd, 0x18, 0x10, 0xec, 0xc4, 0xf4, 0xf4, 0xcc, 0xec, 0x30, 0x4b, 0x53, 0x58, 0xb6, 0x17, 0x5, 0xf, 0x87, 0x0, 0x0, 0xe, 0x7, 0x4, 0x10, 0xed, 0x0, 0x10, 0xcc, 0x59, 0x5, 0x11, 0x23, 0x11, 0x33, 0x15, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x10, 0x1, 0x0, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x1, 0x73, 0xb9, 0xb9, 0x34, 0x87, 0x51, 0xd2, 0xb8, 0x4d, 0x4e, 0xfc, 0xcf, 0x2, 0x72, 0x39, 0x38, 0x78, 0xdc, 0xad, 0x7a, 0xfe, 0xd0, 0x6, 0xa, 0xaa, 0x42, 0x52, 0x31, 0x70, 0x71, 0x99, 0xfe, 0x57, 0xfe, 0xe4, 0x1, 0x90, 0xf9, 0x85, 0x42, 0x41, 0xef, 0x0, 0x0, 0x1, 0x0, 0xc9, 0xfe, 0x56, 0x1, 0x93, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x26, 0x40, 0xa, 0x0, 0x97, 0x2, 0xbd, 0x4, 0x1, 0x8, 0x0, 0x46, 0x4, 0x10, 0xfc, 0xec, 0x31, 0x0, 0x10, 0xec, 0xec, 0x30, 0x40, 0xd, 0x10, 0x5, 0x40, 0x5, 0x50, 0x5, 0x60, 0x5, 0x70, 0x5, 0xf0, 0x5, 0x6, 0x1, 0x5d, 0x13, 0x33, 0x11, 0x23, 0xc9, 0xca, 0xca, 0x5, 0xd5, 0xf8, 0x81, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x56, 0x3, 0x27, 0x5, 0xd5, 0x10, 0x27, 0x1, 0x82, 0x1, 0x94, 0x0, 0x0, 0x10, 0x6, 0x1, 0x82, 0x0, 0x0, 0x0, 0x1, 0x0, 0x14, 0xfe, 0x56, 0x3, 0x9c, 0x5, 0xd5, 0x0, 0x13, 0x0, 0x3a, 0x40, 0x1d, 0xc, 0x9, 0xa9, 0xf, 0x6, 0x13, 0x2, 0xa9, 0x10, 0x5, 0x5, 0xa, 0x0, 0x97, 0xa, 0xbd, 0x14, 0x7, 0x3, 0x9, 0x5, 0x1, 0x8, 0x12, 0xd, 0xc, 0x10, 0x0, 0x14, 0x10, 0xd4, 0x3c, 0x3c, 0xcc, 0x32, 0xfc, 0x3c, 0x3c, 0xcc, 0x32, 0x31, 0x0, 0x10, 0xec, 0xec, 0x11, 0x39, 0x2f, 0x3c, 0xec, 0x32, 0xdc, 0x3c, 0xec, 0x32, 0x30, 0x1, 0x33, 0x11, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x21, 0x1, 0x73, 0xca, 0x1, 0x5f, 0xfe, 0xa1, 0x1, 0x5f, 0xfe, 0xa1, 0xca, 0xfe, 0xa1, 0x1, 0x5f, 0xfe, 0xa1, 0x1, 0x5f, 0x5, 0xd5, 0xfd, 0x97, 0xa8, 0xf0, 0xaa, 0xfd, 0x2c, 0x2, 0xd4, 0xaa, 0xf0, 0xa8, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x1, 0x94, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x4, 0x94, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0xa, 0xd0, 0x7, 0x6d, 0x10, 0x27, 0x1, 0x3f, 0x5, 0xb1, 0x0, 0x0, 0x10, 0x6, 0x0, 0x27, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x9, 0xb0, 0x6, 0x66, 0x10, 0x27, 0x1, 0x40, 0x5, 0xd5, 0x0, 0x0, 0x10, 0x6, 0x0, 0x27, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x8, 0x91, 0x6, 0x66, 0x10, 0x27, 0x1, 0x40, 0x4, 0xb6, 0x0, 0x0, 0x10, 0x6, 0x0, 0x47, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x66, 0x6, 0x24, 0x5, 0xd5, 0x10, 0x27, 0x0, 0x2d, 0x4, 0x91, 0x0, 0x0, 0x10, 0x6, 0x0, 0x2f, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x56, 0x5, 0xde, 0x6, 0x14, 0x10, 0x27, 0x0, 0x4d, 0x4, 0x65, 0x0, 0x0, 0x10, 0x6, 0x0, 0x2f, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc1, 0xfe, 0x56, 0x2, 0xef, 0x6, 0x14, 0x10, 0x27, 0x0, 0x4d, 0x1, 0x76, 0x0, 0x0, 0x10, 0x6, 0x0, 0x4f, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x66, 0x6, 0xf2, 0x5, 0xd5, 0x10, 0x27, 0x0, 0x2d, 0x5, 0x5f, 0x0, 0x0, 0x10, 0x6, 0x0, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x56, 0x6, 0xb7, 0x6, 0x14, 0x10, 0x27, 0x0, 0x4d, 0x5, 0x3e, 0x0, 0x0, 0x10, 0x6, 0x0, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x5, 0xde, 0x6, 0x14, 0x10, 0x27, 0x0, 0x4d, 0x4, 0x65, 0x0, 0x0, 0x10, 0x6, 0x0, 0x51, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x7, 0x6d, 0x12, 0x26, 0x0, 0x24, 0x0, 0x0, 0x11, 0x7, 0x16, 0xbe, 0x4, 0xbe, 0x1, 0x75, 0x0, 0x6, 0xb1, 0xe, 0x0, 0x10, 0x3c, 0x31, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0x2d, 0x6, 0x66, 0x12, 0x26, 0x0, 0x44, 0x0, 0x0, 0x11, 0x6, 0x2, 0x89, 0x5a, 0x0, 0x0, 0x8, 0xb4, 0xb, 0x2b, 0x27, 0x14, 0x7, 0x2b, 0x31, 0xff, 0xff, 0xff, 0xfe, 0x0, 0x0, 0x2, 0x60, 0x7, 0x6d, 0x12, 0x26, 0x0, 0x2c, 0x0, 0x0, 0x11, 0x7, 0x16, 0xbe, 0x3, 0x2f, 0x1, 0x75, 0x0, 0xb, 0xb4, 0x7, 0x20, 0x1, 0x0, 0x0, 0x10, 0x49, 0x63, 0x3a, 0x31, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xe0, 0x0, 0x0, 0x2, 0x5e, 0x6, 0x66, 0x12, 0x26, 0x0, 0xf3, 0x0, 0x0, 0x11, 0x7, 0x2, 0x89, 0xff, 0x1f, 0x0, 0x0, 0x0, 0xb, 0xb4, 0x8, 0x20, 0x1, 0x0, 0x0, 0x10, 0x49, 0x63, 0x3a, 0x31, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x7, 0x6d, 0x12, 0x26, 0x0, 0x32, 0x0, 0x0, 0x10, 0x7, 0x16, 0xbe, 0x5, 0x27, 0x1, 0x75, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x6, 0x66, 0x12, 0x26, 0x0, 0x52, 0x0, 0x0, 0x11, 0x6, 0x2, 0x89, 0x76, 0x0, 0x0, 0x6, 0xb1, 0x1b, 0xc, 0x10, 0x3c, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x7, 0x6d, 0x12, 0x26, 0x0, 0x38, 0x0, 0x0, 0x11, 0x7, 0x16, 0xbe, 0x4, 0xf6, 0x1, 0x75, 0x0, 0x6, 0xb1, 0x15, 0x5, 0x10, 0x3c, 0x31, 0xff, 0xff, 0x0, 0xae, 0xff, 0xe3, 0x4, 0x58, 0x6, 0x66, 0x12, 0x26, 0x0, 0x58, 0x0, 0x0, 0x11, 0x6, 0x2, 0x89, 0x76, 0x0, 0x0, 0xb, 0xb4, 0x18, 0x20, 0xb, 0x1, 0x1, 0x10, 0x49, 0x63, 0x3a, 0x31, 0x0, 0xff, 0xff, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x8, 0x33, 0x10, 0x26, 0x16, 0xec, 0x30, 0x0, 0x12, 0x6, 0x0, 0x38, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xae, 0xff, 0xe3, 0x4, 0x58, 0x7, 0x31, 0x10, 0x27, 0x0, 0x71, 0x0, 0x7b, 0x1, 0x3b, 0x12, 0x6, 0x0, 0xbe, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x8, 0x5a, 0x12, 0x26, 0x0, 0x38, 0x0, 0x0, 0x10, 0x6, 0x16, 0xef, 0x36, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xae, 0xff, 0xe3, 0x4, 0x58, 0x7, 0x22, 0x12, 0x26, 0x0, 0x58, 0x0, 0x0, 0x10, 0x7, 0x16, 0xef, 0xff, 0xbe, 0xfe, 0xc8, 0xff, 0xff, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x8, 0x5a, 0x12, 0x26, 0x0, 0x38, 0x0, 0x0, 0x10, 0x6, 0x16, 0xf4, 0x30, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xae, 0xff, 0xe3, 0x4, 0x58, 0x7, 0x22, 0x12, 0x26, 0x0, 0x58, 0x0, 0x0, 0x10, 0x7, 0x16, 0xf4, 0xff, 0xc4, 0xfe, 0xc8, 0xff, 0xff, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x8, 0x60, 0x12, 0x26, 0x0, 0x38, 0x0, 0x0, 0x10, 0x6, 0x16, 0xf0, 0x30, 0x6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xae, 0xff, 0xe3, 0x4, 0x58, 0x7, 0x22, 0x12, 0x26, 0x0, 0x58, 0x0, 0x0, 0x10, 0x7, 0x16, 0xf0, 0xff, 0xbe, 0xfe, 0xc8, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x7f, 0x4, 0x7b, 0x12, 0x6, 0x2, 0x1b, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x8, 0x33, 0x12, 0x26, 0x0, 0x24, 0x0, 0x0, 0x10, 0x6, 0x16, 0xec, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0x2d, 0x7, 0x31, 0x12, 0x26, 0x0, 0xa6, 0x0, 0x0, 0x10, 0x7, 0x0, 0x71, 0x0, 0x52, 0x1, 0x3b, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x8, 0x33, 0x12, 0x26, 0x0, 0x24, 0x0, 0x0, 0x10, 0x6, 0x16, 0xee, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0x2d, 0x6, 0xf4, 0x12, 0x26, 0x0, 0x44, 0x0, 0x0, 0x10, 0x7, 0x16, 0xee, 0xff, 0x93, 0xfe, 0xc1, 0xff, 0xff, 0x0, 0x8, 0x0, 0x0, 0x7, 0x48, 0x7, 0x34, 0x10, 0x27, 0x0, 0x71, 0x2, 0xd7, 0x1, 0x3e, 0x12, 0x6, 0x0, 0x88, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x7, 0x6f, 0x5, 0xf2, 0x10, 0x27, 0x0, 0x71, 0x1, 0xe8, 0xff, 0xfc, 0x12, 0x6, 0x0, 0xa8, 0x0, 0x0, 0x0, 0x1, 0x0, 0x73, 0xff, 0xe3, 0x6, 0x4, 0x5, 0xf0, 0x0, 0x25, 0x0, 0x54, 0x40, 0x10, 0x21, 0x24, 0x22, 0x1e, 0x1c, 0x11, 0x34, 0x2, 0x0, 0x4, 0x33, 0x18, 0x19, 0xb, 0x10, 0x26, 0x10, 0xfc, 0xec, 0xfc, 0x3c, 0xcc, 0xe4, 0xfc, 0xc4, 0xc4, 0x31, 0x0, 0x40, 0x18, 0x4, 0x1f, 0x1, 0x22, 0x0, 0x5, 0x1b, 0x23, 0x95, 0x25, 0x1b, 0x95, 0x8, 0x12, 0xa1, 0x11, 0xae, 0x15, 0x95, 0xe, 0x91, 0x8, 0x8c, 0x26, 0x10, 0xe4, 0xf4, 0xec, 0xf4, 0xec, 0x10, 0xfe, 0xd4, 0xee, 0x11, 0x39, 0x39, 0xdc, 0xb0, 0xb, 0x4b, 0x54, 0x58, 0xb1, 0x22, 0x40, 0x38, 0x59, 0x3c, 0xcc, 0x32, 0x30, 0x1, 0x11, 0x33, 0x15, 0x23, 0x15, 0x6, 0x4, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x32, 0x4, 0x17, 0x15, 0x2e, 0x1, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x32, 0x36, 0x37, 0x35, 0x23, 0x35, 0x33, 0x35, 0x21, 0x35, 0x5, 0x8b, 0x79, 0x79, 0x75, 0xfe, 0xe6, 0xa0, 0xfe, 0xa2, 0xfe, 0x75, 0x1, 0x8b, 0x1, 0x5e, 0x92, 0x1, 0x7, 0x6f, 0x70, 0xfc, 0x8b, 0xfe, 0xee, 0xfe, 0xed, 0x1, 0x13, 0x1, 0x12, 0x6b, 0xa8, 0x43, 0xfd, 0xfd, 0xfe, 0xb6, 0x3, 0xc, 0xfe, 0xd6, 0x58, 0xff, 0x53, 0x55, 0x1, 0x99, 0x1, 0x6d, 0x1, 0x6e, 0x1, 0x99, 0x48, 0x46, 0xd7, 0x5f, 0x60, 0xfe, 0xce, 0xfe, 0xd1, 0xfe, 0xd2, 0xfe, 0xce, 0x25, 0x27, 0xb5, 0x58, 0x84, 0xa6, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0xfe, 0x56, 0x4, 0xfa, 0x4, 0x7b, 0x0, 0xb, 0x0, 0x34, 0x0, 0x58, 0x40, 0xe, 0xf, 0x22, 0x32, 0x25, 0x0, 0x8, 0xc, 0x47, 0x6, 0x12, 0x18, 0x2c, 0x45, 0x35, 0x10, 0xfc, 0xc4, 0xec, 0xf4, 0xec, 0x32, 0x32, 0xc4, 0xc4, 0x31, 0x0, 0x40, 0x1b, 0x20, 0x11, 0xe, 0x23, 0x25, 0xc, 0x29, 0x9, 0x18, 0x86, 0x19, 0x1c, 0xb9, 0x15, 0x3, 0xb9, 0x32, 0x2f, 0xb8, 0x33, 0xbc, 0x9, 0xb9, 0x15, 0xbd, 0x26, 0x29, 0x2f, 0xc4, 0xe4, 0xec, 0xe4, 0xf4, 0xc4, 0xec, 0x10, 0xfe, 0xd5, 0xee, 0x11, 0x12, 0x39, 0x39, 0xd4, 0x3c, 0xcc, 0x32, 0x30, 0xb6, 0x60, 0x36, 0x80, 0x36, 0xa0, 0x36, 0x3, 0x1, 0x5d, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x17, 0x14, 0x7, 0x33, 0x15, 0x23, 0x6, 0x7, 0x6, 0x21, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x37, 0x36, 0x37, 0x21, 0x35, 0x21, 0x36, 0x3d, 0x1, 0xe, 0x1, 0x23, 0x22, 0x2, 0x11, 0x10, 0x12, 0x33, 0x32, 0x16, 0x17, 0x35, 0x33, 0x3, 0xa2, 0xa5, 0x95, 0x94, 0xa5, 0xa5, 0x94, 0x95, 0xa5, 0xb8, 0x13, 0xb3, 0xc6, 0x1f, 0x3a, 0x7f, 0xfe, 0xfa, 0x61, 0xac, 0x51, 0x51, 0x9e, 0x52, 0xb5, 0x5a, 0x15, 0x11, 0xfd, 0x84, 0x2, 0x9a, 0x16, 0x39, 0xb2, 0x7c, 0xce, 0xfc, 0xfc, 0xce, 0x7c, 0xb2, 0x39, 0xb8, 0x2, 0x3d, 0xc8, 0xdc, 0xdc, 0xc8, 0xc7, 0xdc, 0xdc, 0xeb, 0x6e, 0x58, 0x46, 0x5d, 0x40, 0x8c, 0x1d, 0x1e, 0xb3, 0x2c, 0x2a, 0x5f, 0x17, 0x1c, 0x45, 0x47, 0x5e, 0x5b, 0x63, 0x62, 0x1, 0x3a, 0x1, 0x3, 0x1, 0x4, 0x1, 0x3a, 0x62, 0x63, 0xaa, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x8b, 0x7, 0x6d, 0x12, 0x26, 0x0, 0x2a, 0x0, 0x0, 0x11, 0x7, 0x16, 0xbe, 0x5, 0x4a, 0x1, 0x75, 0x0, 0x10, 0xb1, 0x21, 0xe, 0x10, 0x3c, 0x40, 0x7, 0x94, 0x21, 0x54, 0x21, 0x24, 0x21, 0x3, 0x5d, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x56, 0x4, 0x5a, 0x6, 0x63, 0x10, 0x26, 0x2, 0x89, 0x4a, 0xfd, 0x12, 0x6, 0x0, 0x4a, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x6a, 0x7, 0x6d, 0x10, 0x27, 0x16, 0xbe, 0x4, 0xa2, 0x1, 0x75, 0x12, 0x6, 0x0, 0x2e, 0x0, 0x0, 0xff, 0xff, 0xff, 0xe9, 0x0, 0x0, 0x4, 0x9c, 0x7, 0x6d, 0x12, 0x26, 0x0, 0x4e, 0x0, 0x0, 0x11, 0x7, 0x16, 0xbe, 0x3, 0x1a, 0x1, 0x75, 0x0, 0x2a, 0xb4, 0x1, 0x10, 0xc, 0x0, 0x7, 0x2b, 0x31, 0x0, 0x4b, 0xb0, 0xe, 0x51, 0x58, 0xbb, 0x0, 0x1, 0xff, 0xc0, 0x0, 0x0, 0xff, 0xc0, 0x38, 0x38, 0x59, 0x40, 0xd, 0x90, 0x1, 0x90, 0x0, 0x80, 0x1, 0x80, 0x0, 0x40, 0x1, 0x40, 0x0, 0x6, 0x5d, 0xff, 0xff, 0x0, 0x73, 0xfe, 0x75, 0x5, 0xd9, 0x5, 0xf0, 0x10, 0x27, 0x2, 0x9d, 0x1, 0x34, 0x0, 0x0, 0x12, 0x6, 0x0, 0x32, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x75, 0x4, 0x75, 0x4, 0x7b, 0x10, 0x27, 0x2, 0x9d, 0x0, 0x80, 0x0, 0x0, 0x12, 0x6, 0x0, 0x52, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xfe, 0x75, 0x5, 0xd9, 0x7, 0x31, 0x10, 0x27, 0x0, 0x71, 0x1, 0x27, 0x1, 0x3b, 0x12, 0x6, 0x1, 0xac, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x75, 0x4, 0x75, 0x5, 0xf5, 0x10, 0x26, 0x0, 0x71, 0x73, 0xff, 0x12, 0x6, 0x1, 0xad, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xa0, 0xff, 0xc1, 0x4, 0xf8, 0x7, 0x6d, 0x10, 0x27, 0x16, 0xbe, 0x4, 0xbe, 0x1, 0x75, 0x12, 0x6, 0x1, 0x79, 0x0, 0x0, 0xff, 0xff, 0x0, 0x58, 0xfe, 0x4c, 0x4, 0x2f, 0x6, 0x66, 0x10, 0x26, 0x2, 0x89, 0x1b, 0x0, 0x10, 0x6, 0x2, 0x54, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xdb, 0xfe, 0x56, 0x2, 0x64, 0x6, 0x66, 0x10, 0x27, 0x2, 0x89, 0xff, 0x25, 0x0, 0x0, 0x11, 0x6, 0x1, 0xf9, 0x0, 0x0, 0x0, 0xb, 0xb4, 0x3, 0x20, 0x8, 0x7, 0x7, 0x10, 0x49, 0x63, 0x3a, 0x31, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0xa, 0xd0, 0x5, 0xd5, 0x10, 0x27, 0x0, 0x3d, 0x5, 0xb1, 0x0, 0x0, 0x10, 0x6, 0x0, 0x27, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x9, 0xb0, 0x5, 0xd5, 0x10, 0x27, 0x0, 0x5d, 0x5, 0xd5, 0x0, 0x0, 0x10, 0x6, 0x0, 0x27, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x8, 0x91, 0x6, 0x14, 0x10, 0x27, 0x0, 0x5d, 0x4, 0xb6, 0x0, 0x0, 0x10, 0x6, 0x0, 0x47, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x8b, 0x7, 0x6c, 0x10, 0x27, 0x16, 0xba, 0x5, 0x1b, 0x1, 0x76, 0x12, 0x6, 0x0, 0x2a, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x56, 0x4, 0x5a, 0x6, 0x63, 0x12, 0x26, 0x0, 0x4a, 0x0, 0x0, 0x10, 0x6, 0x0, 0x76, 0x1b, 0xfd, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0xff, 0xe3, 0x8, 0x2d, 0x5, 0xd5, 0x0, 0x1d, 0x0, 0x35, 0x40, 0xe, 0xe, 0x1c, 0x11, 0x19, 0x3, 0x1c, 0x6, 0x38, 0x1b, 0x1, 0x1c, 0x0, 0x4, 0x1e, 0x10, 0xfc, 0xec, 0x32, 0xfc, 0xec, 0x32, 0xd4, 0xec, 0x31, 0x0, 0x40, 0xe, 0xf, 0x1a, 0x95, 0x2, 0xad, 0x4, 0x0, 0x81, 0x1c, 0xa, 0x95, 0x15, 0x8c, 0x1c, 0x2f, 0xe4, 0xec, 0x10, 0xe4, 0x32, 0xfc, 0xec, 0xc4, 0x30, 0x13, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x14, 0x17, 0x16, 0x17, 0x32, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x7, 0x6, 0x21, 0x20, 0x27, 0x26, 0x35, 0x11, 0x21, 0x11, 0x23, 0xc9, 0xca, 0x2, 0xde, 0xca, 0x3e, 0x3d, 0x99, 0x94, 0x42, 0x3e, 0xca, 0x64, 0x60, 0xfe, 0xe6, 0xfe, 0xed, 0x67, 0x64, 0xfd, 0x22, 0xca, 0x5, 0xd5, 0xfd, 0x9c, 0x2, 0x64, 0xfb, 0xec, 0x9f, 0x50, 0x4e, 0x1, 0x4f, 0x4b, 0xa4, 0x2, 0x9f, 0xfd, 0x5a, 0xdf, 0x80, 0x78, 0x78, 0x76, 0xe9, 0x1, 0xd, 0xfd, 0x39, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc9, 0xfe, 0x56, 0x5, 0x2, 0x5, 0xf0, 0x0, 0xe, 0x0, 0x17, 0x0, 0x40, 0x40, 0xb, 0x19, 0x11, 0x1c, 0xd, 0x4, 0x17, 0x0, 0x1c, 0x2, 0x4, 0x18, 0x10, 0xfc, 0xec, 0x32, 0x32, 0xd4, 0xec, 0xcc, 0x31, 0x0, 0x40, 0xc, 0x42, 0x15, 0x95, 0x5, 0x9, 0x8c, 0x3, 0x81, 0x0, 0x1, 0xbd, 0x18, 0x10, 0xec, 0xc4, 0xf4, 0xf4, 0xcc, 0xec, 0x30, 0x4b, 0x53, 0x58, 0xb6, 0x17, 0x5, 0xf, 0x87, 0x0, 0x0, 0xe, 0x7, 0x4, 0x10, 0xed, 0x0, 0x10, 0xcc, 0x59, 0x25, 0x11, 0x23, 0x11, 0x33, 0x15, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x10, 0x1, 0x0, 0x11, 0x34, 0x27, 0x26, 0x23, 0x22, 0x3, 0x1, 0x93, 0xca, 0xca, 0x38, 0x91, 0x57, 0xe2, 0xc6, 0x53, 0x54, 0xfc, 0x91, 0x2, 0xa1, 0x3d, 0x3c, 0x81, 0xed, 0xba, 0x9c, 0xfd, 0xba, 0x7, 0x7f, 0xb9, 0x48, 0x57, 0x35, 0x78, 0x7a, 0xa4, 0xfe, 0x37, 0xfe, 0xce, 0x1, 0xae, 0x1, 0xc, 0x8f, 0x47, 0x46, 0xfe, 0xff, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x33, 0x7, 0x6b, 0x10, 0x27, 0x16, 0xbc, 0x5, 0x1e, 0x1, 0x75, 0x12, 0x6, 0x0, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x4, 0x64, 0x6, 0x64, 0x12, 0x26, 0x0, 0x51, 0x0, 0x0, 0x10, 0x7, 0x0, 0x43, 0x1, 0x18, 0xff, 0xfe, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x7, 0x73, 0x12, 0x26, 0x0, 0x87, 0x0, 0x0, 0x10, 0x7, 0x16, 0xba, 0x6, 0x5c, 0x1, 0x7d, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0xdc, 0x7, 0x73, 0x12, 0x26, 0x0, 0xa7, 0x0, 0x0, 0x10, 0x7, 0x16, 0xba, 0x5, 0xec, 0x1, 0x7d, 0xff, 0xff, 0x0, 0x8, 0x0, 0x0, 0x7, 0x48, 0x7, 0x6c, 0x10, 0x27, 0x16, 0xba, 0x6, 0x5c, 0x1, 0x76, 0x12, 0x6, 0x0, 0x88, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x7, 0x6f, 0x6, 0x63, 0x12, 0x26, 0x0, 0xa8, 0x0, 0x0, 0x10, 0x7, 0x0, 0x76, 0x1, 0x65, 0xff, 0xfd, 0xff, 0xff, 0x0, 0x66, 0xff, 0xba, 0x5, 0xe5, 0x7, 0x6c, 0x10, 0x27, 0x16, 0xba, 0x4, 0xfe, 0x1, 0x76, 0x12, 0x6, 0x0, 0x9a, 0x0, 0x0, 0xff, 0xff, 0x0, 0x48, 0xff, 0xa2, 0x4, 0x9c, 0x6, 0x63, 0x12, 0x26, 0x0, 0xba, 0x0, 0x0, 0x10, 0x6, 0x0, 0x76, 0x1c, 0xfd, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x7, 0x70, 0x12, 0x26, 0x0, 0x24, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc3, 0x4, 0xe5, 0x1, 0x7a, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0x2d, 0x6, 0x64, 0x10, 0x27, 0x2, 0xc0, 0x4, 0x98, 0xff, 0xfe, 0x12, 0x6, 0x0, 0x44, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x7, 0x36, 0x12, 0x26, 0x0, 0x24, 0x0, 0x0, 0x10, 0x7, 0x16, 0xbf, 0x4, 0xbc, 0x1, 0x3e, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0x2d, 0x6, 0x48, 0x10, 0x27, 0x2, 0xc2, 0x4, 0x65, 0x0, 0x0, 0x12, 0x6, 0x0, 0x44, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x7, 0x70, 0x12, 0x26, 0x0, 0x28, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc3, 0x4, 0xa5, 0x1, 0x7a, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x7f, 0x6, 0x63, 0x10, 0x27, 0x2, 0xc0, 0x4, 0xba, 0xff, 0xfd, 0x12, 0x6, 0x0, 0x48, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x7, 0x36, 0x12, 0x26, 0x0, 0x28, 0x0, 0x0, 0x10, 0x7, 0x16, 0xbf, 0x4, 0xa6, 0x1, 0x3e, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x7f, 0x6, 0x48, 0x10, 0x27, 0x2, 0xc2, 0x4, 0xa9, 0x0, 0x0, 0x12, 0x6, 0x0, 0x48, 0x0, 0x0, 0xff, 0xff, 0xff, 0xa7, 0x0, 0x0, 0x2, 0x73, 0x7, 0x70, 0x12, 0x26, 0x0, 0x2c, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc3, 0x3, 0x59, 0x1, 0x7a, 0xff, 0xff, 0xff, 0xc3, 0x0, 0x0, 0x2, 0x81, 0x6, 0x63, 0x10, 0x27, 0x2, 0xc0, 0x3, 0x66, 0xff, 0xfd, 0x12, 0x6, 0x0, 0xf3, 0x0, 0x0, 0xff, 0xff, 0x0, 0x5, 0x0, 0x0, 0x2, 0x77, 0x7, 0x36, 0x12, 0x26, 0x0, 0x2c, 0x0, 0x0, 0x10, 0x7, 0x16, 0xbf, 0x3, 0x3e, 0x1, 0x3e, 0xff, 0xff, 0xff, 0xe3, 0x0, 0x0, 0x2, 0x55, 0x6, 0x48, 0x10, 0x27, 0x2, 0xc2, 0x3, 0x24, 0x0, 0x0, 0x12, 0x6, 0x0, 0xf3, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x7, 0x70, 0x12, 0x26, 0x0, 0x32, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc3, 0x5, 0x41, 0x1, 0x7a, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x6, 0x64, 0x10, 0x27, 0x2, 0xc0, 0x4, 0x9f, 0xff, 0xfe, 0x12, 0x6, 0x0, 0x52, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x7, 0x36, 0x12, 0x26, 0x0, 0x32, 0x0, 0x0, 0x10, 0x7, 0x16, 0xbf, 0x5, 0x1c, 0x1, 0x3e, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x6, 0x48, 0x10, 0x27, 0x2, 0xc2, 0x4, 0x98, 0x0, 0x0, 0x12, 0x6, 0x0, 0x52, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc7, 0x0, 0x0, 0x5, 0x54, 0x7, 0x70, 0x12, 0x26, 0x0, 0x35, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc3, 0x4, 0x79, 0x1, 0x7a, 0xff, 0xff, 0x0, 0x82, 0x0, 0x0, 0x3, 0x4a, 0x6, 0x63, 0x10, 0x27, 0x2, 0xc0, 0x4, 0x25, 0xff, 0xfd, 0x12, 0x6, 0x0, 0x55, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x54, 0x7, 0x36, 0x12, 0x26, 0x0, 0x35, 0x0, 0x0, 0x10, 0x7, 0x16, 0xbf, 0x4, 0x80, 0x1, 0x3e, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x3, 0x5e, 0x6, 0x48, 0x10, 0x27, 0x2, 0xc2, 0x4, 0x2d, 0x0, 0x0, 0x12, 0x6, 0x0, 0x55, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x7, 0x70, 0x12, 0x26, 0x0, 0x38, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc3, 0x5, 0x15, 0x1, 0x7a, 0xff, 0xff, 0x0, 0xae, 0xff, 0xe3, 0x4, 0x58, 0x6, 0x64, 0x10, 0x27, 0x2, 0xc0, 0x4, 0xd4, 0xff, 0xfe, 0x12, 0x6, 0x0, 0x58, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x7, 0x36, 0x12, 0x26, 0x0, 0x38, 0x0, 0x0, 0x10, 0x7, 0x16, 0xbf, 0x4, 0xec, 0x1, 0x3e, 0xff, 0xff, 0x0, 0xae, 0xff, 0xe3, 0x4, 0x58, 0x6, 0x48, 0x10, 0x27, 0x2, 0xc2, 0x4, 0xab, 0x0, 0x0, 0x12, 0x6, 0x0, 0x58, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xfe, 0x14, 0x4, 0xa2, 0x5, 0xf0, 0x10, 0x27, 0x2, 0xd7, 0x4, 0x76, 0x0, 0x0, 0x12, 0x6, 0x0, 0x36, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6f, 0xfe, 0x14, 0x3, 0xc7, 0x4, 0x7b, 0x10, 0x27, 0x2, 0xd7, 0x4, 0x2c, 0x0, 0x0, 0x12, 0x6, 0x0, 0x56, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfa, 0xfe, 0x14, 0x4, 0xe9, 0x5, 0xd5, 0x10, 0x27, 0x2, 0xd7, 0x4, 0x53, 0x0, 0x0, 0x12, 0x6, 0x0, 0x37, 0x0, 0x0, 0xff, 0xff, 0x0, 0x37, 0xfe, 0x14, 0x2, 0xf2, 0x5, 0x9e, 0x10, 0x27, 0x2, 0xd7, 0x4, 0x0, 0x0, 0x0, 0x12, 0x6, 0x0, 0x57, 0x0, 0x0, 0x0, 0x1, 0x0, 0x9c, 0xfe, 0x52, 0x4, 0x73, 0x5, 0xf0, 0x0, 0x2e, 0x0, 0x0, 0x1, 0x4, 0x11, 0x14, 0xe, 0x1, 0xc, 0x1, 0x7, 0x35, 0x36, 0x24, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x23, 0x22, 0xf, 0x1, 0x35, 0x37, 0x3e, 0x3, 0x35, 0x34, 0x2e, 0x3, 0x23, 0x22, 0x7, 0x35, 0x36, 0x33, 0x32, 0x1e, 0x1, 0x15, 0x14, 0xe, 0x2, 0x3, 0x3f, 0x1, 0x34, 0x6f, 0xb9, 0xff, 0x0, 0xfe, 0xea, 0x99, 0xc8, 0x1, 0x31, 0xb9, 0x5c, 0x7d, 0x70, 0x5f, 0x73, 0xa3, 0xf8, 0x3c, 0x66, 0x68, 0x3d, 0x23, 0x37, 0x4b, 0x48, 0x26, 0xb8, 0xf3, 0xef, 0xce, 0x83, 0xcb, 0x7c, 0x17, 0x3a, 0x6e, 0x2, 0xa2, 0x43, 0xfe, 0xdb, 0x70, 0xce, 0xa0, 0x88, 0x60, 0x22, 0xa0, 0x37, 0x8c, 0x99, 0x9d, 0x4f, 0x65, 0x84, 0x33, 0x48, 0xab, 0x6a, 0x1a, 0x41, 0x63, 0x8b, 0x52, 0x37, 0x56, 0x33, 0x22, 0xc, 0xb8, 0xbe, 0xa4, 0x56, 0xb6, 0x80, 0x3c, 0x66, 0x71, 0x74, 0x0, 0x1, 0x0, 0x47, 0xfe, 0x4f, 0x3, 0xbc, 0x4, 0x7b, 0x0, 0x34, 0x0, 0x0, 0x1, 0x1e, 0x3, 0x15, 0x14, 0xe, 0x5, 0x7, 0x35, 0x3e, 0x4, 0x35, 0x34, 0x26, 0x23, 0x22, 0xf, 0x1, 0x35, 0x37, 0x3e, 0x4, 0x35, 0x34, 0x2e, 0x3, 0x23, 0x22, 0x6, 0x7, 0x35, 0x24, 0x33, 0x32, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x2, 0xa7, 0x46, 0x70, 0x3e, 0x21, 0x42, 0x6c, 0x98, 0x9d, 0xb3, 0x95, 0x4a, 0xa2, 0xf5, 0x9e, 0x63, 0x28, 0x76, 0x5d, 0x3b, 0x3f, 0xd8, 0xdf, 0x22, 0x41, 0x57, 0x3f, 0x2d, 0x1f, 0x31, 0x43, 0x41, 0x23, 0x45, 0xa8, 0x93, 0x1, 0xa, 0x86, 0x70, 0xb8, 0x74, 0x67, 0x1, 0xcd, 0x8, 0x44, 0x5a, 0x58, 0x25, 0x4b, 0x8a, 0x6c, 0x61, 0x46, 0x3d, 0x27, 0xf, 0x82, 0x2e, 0x60, 0x5b, 0x62, 0x5b, 0x33, 0x58, 0x70, 0x19, 0x56, 0x8b, 0x55, 0xd, 0x20, 0x3c, 0x45, 0x66, 0x39, 0x2c, 0x46, 0x2a, 0x1b, 0xa, 0x3b, 0x5a, 0x9a, 0x85, 0x47, 0x92, 0x61, 0x6e, 0x99, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x3b, 0x7, 0x6d, 0x10, 0x27, 0x16, 0xbe, 0x5, 0x4, 0x1, 0x75, 0x12, 0x6, 0x0, 0x2b, 0x0, 0x0, 0xff, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x4, 0x64, 0x7, 0x6d, 0x10, 0x27, 0x16, 0xbe, 0x3, 0x21, 0x1, 0x75, 0x13, 0x6, 0x0, 0x4b, 0x0, 0x0, 0x0, 0x2a, 0xb4, 0x14, 0x5, 0x1, 0x13, 0x7, 0x2b, 0x31, 0x0, 0x4b, 0xb0, 0xe, 0x51, 0x58, 0xbb, 0x0, 0x14, 0xff, 0xc0, 0x0, 0x13, 0xff, 0xc0, 0x38, 0x38, 0x59, 0x40, 0xd, 0x90, 0x14, 0x90, 0x13, 0x80, 0x14, 0x80, 0x13, 0x40, 0x14, 0x40, 0x13, 0x6, 0x5d, 0x0, 0x1, 0x0, 0xc9, 0xfe, 0x56, 0x5, 0x19, 0x5, 0xf0, 0x0, 0x13, 0x0, 0x2e, 0x40, 0x12, 0x3, 0x95, 0xe, 0x91, 0x9, 0x81, 0x12, 0xb0, 0x8, 0x13, 0x1c, 0x12, 0xb, 0x6, 0x1c, 0x8, 0x41, 0x14, 0x10, 0xfc, 0x4b, 0xb0, 0x10, 0x54, 0x58, 0xb9, 0x0, 0x8, 0xff, 0xc0, 0x38, 0x59, 0xec, 0x32, 0xd4, 0xfc, 0x31, 0x0, 0x2f, 0xec, 0xe4, 0xf4, 0xec, 0x30, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x17, 0x32, 0x12, 0x19, 0x1, 0x23, 0x4, 0x50, 0x9a, 0x99, 0xb3, 0xd7, 0xca, 0xca, 0x51, 0xcc, 0x9d, 0xe3, 0xe9, 0xc9, 0x3, 0x7f, 0xd7, 0xd5, 0xff, 0xde, 0xfc, 0xb2, 0x5, 0xd5, 0xf1, 0x87, 0x86, 0x1, 0xfe, 0xc1, 0xfe, 0xcc, 0xfa, 0xd9, 0x0, 0x0, 0x0, 0x3, 0x0, 0x71, 0xff, 0x70, 0x6, 0x44, 0x6, 0x14, 0x0, 0x7, 0x0, 0x28, 0x0, 0x34, 0x0, 0x0, 0x25, 0x16, 0x33, 0x32, 0x35, 0x34, 0x27, 0x22, 0x7, 0x36, 0x33, 0x32, 0x15, 0x10, 0x21, 0x22, 0x27, 0x6, 0x7, 0x23, 0x36, 0x37, 0x26, 0x35, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x10, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x11, 0x33, 0x0, 0x10, 0x17, 0x16, 0x20, 0x37, 0x36, 0x10, 0x27, 0x26, 0x20, 0x7, 0x4, 0xb6, 0x11, 0x25, 0xa0, 0x34, 0x34, 0xca, 0x6e, 0x88, 0xf4, 0xfe, 0xaa, 0x49, 0x35, 0x22, 0x18, 0xc4, 0x1d, 0x43, 0x30, 0x3a, 0x58, 0x59, 0x7c, 0xcb, 0x80, 0x7f, 0x7f, 0x80, 0xcb, 0x7c, 0x59, 0x58, 0x3a, 0xb8, 0xfc, 0xd5, 0x53, 0x54, 0x1, 0x24, 0x54, 0x54, 0x54, 0x54, 0xfe, 0xdc, 0x54, 0x82, 0x5, 0xaf, 0x2d, 0x1, 0x20, 0xb8, 0xce, 0xfe, 0xbf, 0xf, 0x48, 0x3a, 0x45, 0x93, 0x3c, 0x24, 0x64, 0x30, 0x31, 0xa2, 0xa2, 0x2, 0x10, 0xa2, 0xa2, 0x31, 0x30, 0x64, 0x2, 0x5e, 0xfc, 0xe6, 0xfe, 0x6a, 0x74, 0x73, 0x73, 0x74, 0x1, 0x96, 0x74, 0x73, 0x73, 0x0, 0x2, 0x0, 0x71, 0xff, 0xe3, 0x5, 0x25, 0x5, 0xf0, 0x0, 0xc, 0x0, 0x3b, 0x0, 0x57, 0x40, 0x1c, 0x24, 0x0, 0x14, 0x33, 0x4, 0x18, 0x10, 0x3d, 0x45, 0xa, 0x1c, 0x28, 0x42, 0x1d, 0x18, 0x1c, 0x21, 0x38, 0x3b, 0x10, 0x1c, 0x37, 0x42, 0x4, 0x1c, 0x2f, 0x45, 0x3c, 0x10, 0xfc, 0xec, 0xf4, 0xec, 0xcc, 0xb2, 0x20, 0x3b, 0x1, 0x5d, 0xf4, 0xec, 0xcc, 0xf4, 0xec, 0xec, 0x11, 0x12, 0x17, 0x39, 0x31, 0x0, 0x40, 0x12, 0x24, 0x33, 0x0, 0x95, 0x14, 0xad, 0x3c, 0xd, 0x3b, 0x1c, 0x1d, 0x91, 0x3c, 0x7, 0x8, 0x2c, 0x8c, 0x3c, 0x10, 0xf4, 0xec, 0x10, 0xf4, 0xcc, 0xd4, 0xcc, 0x10, 0xf4, 0xec, 0x39, 0x39, 0x30, 0x1, 0x22, 0x7, 0x6, 0x10, 0x17, 0x16, 0x20, 0x37, 0x36, 0x35, 0x34, 0x26, 0x3, 0xe, 0x1, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x35, 0x32, 0x17, 0x16, 0x15, 0x14, 0x6, 0x7, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x20, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x21, 0x2, 0xcb, 0xb8, 0x6a, 0x6b, 0x6b, 0x6a, 0x1, 0x70, 0x6b, 0x6b, 0xd4, 0xf4, 0x82, 0xaa, 0x5f, 0x3b, 0xcc, 0xa8, 0x5f, 0x60, 0x4c, 0x6d, 0x82, 0xe4, 0x96, 0x8b, 0xaa, 0x98, 0xac, 0x5f, 0x60, 0x9c, 0x9b, 0xfd, 0xba, 0x9b, 0x9c, 0x60, 0x61, 0xab, 0xab, 0x43, 0x55, 0x82, 0x74, 0x1, 0x1, 0x2, 0xc5, 0x4d, 0x4d, 0xfe, 0xf2, 0x4d, 0x4d, 0x4d, 0x4e, 0x86, 0x87, 0x9a, 0x2, 0x27, 0x3, 0x7c, 0x4f, 0x45, 0x48, 0x2d, 0x41, 0x41, 0x88, 0x9e, 0x2b, 0x4d, 0x8, 0x64, 0x68, 0x61, 0xba, 0x80, 0xb2, 0x20, 0x22, 0x63, 0x63, 0x8f, 0xd9, 0x74, 0x74, 0x74, 0x74, 0xd9, 0x8f, 0x63, 0x63, 0x22, 0x1f, 0x46, 0x59, 0x58, 0x82, 0x53, 0x4a, 0x0, 0x0, 0x2, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x71, 0x5, 0xf, 0x0, 0xd, 0x0, 0x34, 0x0, 0x43, 0x40, 0x16, 0x36, 0x45, 0xa, 0x8, 0x18, 0x42, 0xe, 0x34, 0x32, 0x8, 0x10, 0x28, 0x29, 0x2b, 0x8, 0x26, 0x42, 0x4, 0x8, 0x1f, 0x45, 0x35, 0x10, 0xfc, 0xec, 0xf4, 0xec, 0xcc, 0x32, 0xd4, 0xec, 0xcc, 0x32, 0xf4, 0xec, 0xec, 0x31, 0x0, 0x40, 0xe, 0x34, 0x29, 0x14, 0x22, 0x0, 0xb9, 0x2e, 0xad, 0x35, 0x7, 0xb9, 0x1c, 0x8c, 0x35, 0x10, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x39, 0x39, 0xcc, 0x32, 0x30, 0x1, 0x22, 0x7, 0x6, 0x10, 0x17, 0x16, 0x20, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x13, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x20, 0x27, 0x26, 0x35, 0x34, 0x36, 0x37, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x33, 0x6, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x2, 0x71, 0x90, 0x53, 0x52, 0x52, 0x53, 0x1, 0x20, 0x53, 0x53, 0x53, 0x52, 0xfe, 0x3a, 0x34, 0x48, 0x82, 0x92, 0x52, 0x51, 0x85, 0x84, 0xfe, 0x12, 0x84, 0x85, 0xa4, 0x92, 0x90, 0x3b, 0x34, 0x3f, 0xa1, 0x2b, 0x49, 0x48, 0x83, 0x82, 0x49, 0x4a, 0x2c, 0x2, 0xc5, 0x4d, 0x4d, 0xfe, 0xf2, 0x4d, 0x4d, 0x4d, 0x4e, 0x86, 0x87, 0x4d, 0x4d, 0x2, 0x4a, 0x40, 0x62, 0x99, 0x40, 0x59, 0x20, 0x22, 0x63, 0x63, 0x8f, 0xd9, 0x74, 0x74, 0x74, 0x74, 0xd9, 0x8f, 0xc6, 0x22, 0x23, 0x56, 0x4b, 0x8e, 0x59, 0x49, 0x41, 0xe8, 0x41, 0x41, 0x41, 0x41, 0x74, 0x77, 0x3e, 0x0, 0x1, 0x0, 0x5c, 0xfe, 0x56, 0x5, 0x1f, 0x5, 0xd5, 0x0, 0x15, 0x0, 0x9f, 0x40, 0xc, 0xf, 0x14, 0x11, 0x12, 0x42, 0xb, 0x8, 0x15, 0x6, 0x11, 0xd, 0x16, 0x10, 0xdc, 0x4b, 0xb0, 0x9, 0x54, 0x4b, 0xb0, 0xa, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0xd, 0xff, 0xc0, 0x38, 0x59, 0xc4, 0xc4, 0xd4, 0xec, 0xe4, 0x11, 0x39, 0x39, 0x31, 0x0, 0x40, 0xc, 0x42, 0x7, 0x95, 0x5, 0xc, 0xf, 0x95, 0x11, 0x81, 0x14, 0x95, 0xc, 0x2f, 0xec, 0xf4, 0xec, 0x10, 0xdc, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x40, 0xa, 0x14, 0x11, 0xe, 0xf, 0xe, 0xf, 0x11, 0x13, 0x14, 0x13, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x59, 0x1, 0x40, 0x40, 0x5, 0x13, 0xa, 0xe, 0x18, 0xe, 0x29, 0x13, 0x26, 0xe, 0x38, 0xe, 0x48, 0x13, 0x47, 0xe, 0x48, 0xf, 0x9, 0x5, 0x14, 0xb, 0xf, 0x0, 0x17, 0x16, 0x14, 0x1a, 0xf, 0x10, 0x17, 0x2f, 0x17, 0x35, 0x14, 0x39, 0xf, 0x3f, 0x17, 0x47, 0x14, 0x4a, 0xf, 0x4f, 0x17, 0x55, 0x14, 0x59, 0xf, 0x66, 0x14, 0x69, 0xf, 0x6f, 0x17, 0x77, 0x14, 0x78, 0xf, 0x7f, 0x17, 0x9f, 0x17, 0x16, 0x5d, 0x0, 0x5d, 0x5, 0x10, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x3d, 0x1, 0x21, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x21, 0x5, 0x1f, 0x9e, 0x48, 0x72, 0xfe, 0xe9, 0x69, 0x26, 0x26, 0xfb, 0xf5, 0x3, 0xb0, 0xfc, 0x67, 0x4, 0x95, 0xfc, 0x50, 0x3, 0xc7, 0x14, 0xfe, 0xdf, 0x50, 0x25, 0x9c, 0x30, 0x31, 0x99, 0x14, 0x9a, 0x4, 0x91, 0xaa, 0x9a, 0xfb, 0x6f, 0x0, 0x0, 0x0, 0x1, 0x0, 0x58, 0xfe, 0x56, 0x3, 0xdb, 0x4, 0x60, 0x0, 0x15, 0x0, 0xac, 0x40, 0xc, 0xb, 0x8, 0x15, 0xd, 0xf, 0x14, 0x12, 0x11, 0x12, 0x6, 0xd, 0x16, 0x10, 0xdc, 0x4b, 0xb0, 0xb, 0x54, 0x4b, 0xb0, 0xc, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0xd, 0xff, 0xc0, 0x38, 0x59, 0x4b, 0xb0, 0x13, 0x54, 0x58, 0xb9, 0x0, 0xd, 0x0, 0x40, 0x38, 0x59, 0xc4, 0xc4, 0xb4, 0x40, 0x12, 0x60, 0x12, 0x2, 0x5d, 0xc4, 0x11, 0x39, 0x39, 0x10, 0xd4, 0xb4, 0x40, 0x15, 0x60, 0x15, 0x2, 0x5d, 0xec, 0x31, 0x0, 0x40, 0xc, 0x42, 0x7, 0xa9, 0x5, 0xc, 0xf, 0xa9, 0x11, 0xbc, 0x14, 0xa9, 0xc, 0x2f, 0xec, 0xf4, 0xec, 0x10, 0xdc, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x40, 0xa, 0xf, 0x11, 0x13, 0x14, 0x13, 0x14, 0x11, 0xe, 0xf, 0xe, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x59, 0x1, 0x40, 0x32, 0x5, 0x13, 0x16, 0x13, 0x26, 0x13, 0x47, 0x13, 0x49, 0xe, 0x5, 0xb, 0xf, 0xf, 0x17, 0x18, 0x14, 0x1b, 0xf, 0x2b, 0xf, 0x20, 0x17, 0x36, 0x14, 0x39, 0xf, 0x30, 0x17, 0x45, 0x14, 0x49, 0xf, 0x57, 0x14, 0x59, 0xf, 0x5f, 0x17, 0x66, 0x14, 0x68, 0xf, 0x7f, 0x17, 0x80, 0x17, 0xaf, 0x17, 0x13, 0x5d, 0x0, 0x5d, 0x5, 0x10, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x3d, 0x1, 0x21, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x21, 0x3, 0xdb, 0x9e, 0x48, 0x72, 0xfe, 0xe9, 0x69, 0x26, 0x26, 0xfd, 0x35, 0x2, 0xb4, 0xfd, 0x65, 0x3, 0x6a, 0xfd, 0x4c, 0x2, 0xb4, 0x14, 0xfe, 0xdf, 0x50, 0x25, 0x9c, 0x30, 0x31, 0x99, 0x14, 0xa8, 0x3, 0x25, 0x93, 0xa8, 0xfc, 0xdb, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x7, 0x50, 0x10, 0x27, 0x16, 0xc1, 0x4, 0xbc, 0x1, 0x75, 0x12, 0x6, 0x0, 0x24, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0x2d, 0x6, 0x14, 0x10, 0x27, 0x2, 0xb8, 0x4, 0x4a, 0x0, 0x0, 0x12, 0x6, 0x0, 0x44, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x75, 0x4, 0x8b, 0x5, 0xd5, 0x12, 0x26, 0x0, 0x28, 0x0, 0x0, 0x10, 0x7, 0x0, 0x7a, 0x0, 0xa2, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x75, 0x4, 0x7f, 0x4, 0x7b, 0x12, 0x26, 0x0, 0x48, 0x0, 0x0, 0x10, 0x6, 0x0, 0x7a, 0x7b, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x8, 0x33, 0x12, 0x26, 0x0, 0x32, 0x0, 0x0, 0x10, 0x6, 0x16, 0xec, 0x62, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x7, 0x31, 0x12, 0x26, 0x0, 0xb8, 0x0, 0x0, 0x10, 0x7, 0x0, 0x71, 0x0, 0x73, 0x1, 0x3b, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x8, 0x33, 0x12, 0x26, 0x0, 0x32, 0x0, 0x0, 0x10, 0x6, 0x16, 0xf3, 0x69, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x6, 0xe9, 0x12, 0x26, 0x0, 0x52, 0x0, 0x0, 0x10, 0x7, 0x16, 0xf3, 0xff, 0xb5, 0xfe, 0xb6, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x7, 0x50, 0x10, 0x27, 0x16, 0xc1, 0x5, 0x27, 0x1, 0x75, 0x12, 0x6, 0x0, 0x32, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x6, 0x14, 0x10, 0x27, 0x2, 0xb8, 0x4, 0x73, 0x0, 0x0, 0x12, 0x6, 0x0, 0x52, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x8, 0x33, 0x12, 0x26, 0x0, 0x32, 0x0, 0x0, 0x10, 0x6, 0x16, 0xee, 0x6a, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x7, 0x31, 0x12, 0x26, 0x1, 0xf1, 0x0, 0x0, 0x10, 0x7, 0x0, 0x71, 0x0, 0x73, 0x1, 0x3b, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x4, 0xe7, 0x7, 0x31, 0x10, 0x27, 0x0, 0x71, 0x0, 0x72, 0x1, 0x3b, 0x12, 0x6, 0x0, 0x3c, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3d, 0xfe, 0x56, 0x4, 0x7f, 0x5, 0xf5, 0x10, 0x26, 0x0, 0x71, 0x5e, 0xff, 0x12, 0x6, 0x0, 0x5c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x8a, 0xff, 0x70, 0x3, 0x5c, 0x6, 0xe, 0x0, 0x7, 0x0, 0x19, 0x0, 0x0, 0x25, 0x16, 0x33, 0x32, 0x35, 0x34, 0x27, 0x22, 0x7, 0x36, 0x33, 0x32, 0x15, 0x10, 0x21, 0x22, 0x27, 0x6, 0x7, 0x23, 0x36, 0x37, 0x26, 0x37, 0x11, 0x33, 0x1, 0xce, 0x11, 0x25, 0xa0, 0x34, 0x34, 0xca, 0x6e, 0x88, 0xf4, 0xfe, 0xaa, 0x49, 0x35, 0x22, 0x18, 0xc4, 0x1d, 0x43, 0x31, 0x1, 0xb8, 0x82, 0x5, 0xaf, 0x2d, 0x1, 0x20, 0xb8, 0xce, 0xfe, 0xbf, 0xf, 0x48, 0x3a, 0x45, 0x93, 0x3c, 0x5a, 0x5, 0x30, 0x0, 0x2, 0x0, 0xba, 0xff, 0x70, 0x6, 0x4e, 0x4, 0x7b, 0x0, 0x7, 0x0, 0x2b, 0x0, 0x0, 0x25, 0x16, 0x33, 0x32, 0x35, 0x34, 0x27, 0x22, 0x7, 0x36, 0x33, 0x32, 0x15, 0x10, 0x21, 0x22, 0x27, 0x6, 0x7, 0x23, 0x36, 0x37, 0x26, 0x37, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x15, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x4, 0xc0, 0x11, 0x25, 0xa0, 0x34, 0x34, 0xca, 0x6e, 0x88, 0xf4, 0xfe, 0xaa, 0x49, 0x35, 0x22, 0x18, 0xc4, 0x1d, 0x43, 0x31, 0x1, 0x7c, 0x7c, 0x95, 0xac, 0xb9, 0xb9, 0x42, 0x59, 0x5a, 0x75, 0xc1, 0x63, 0x63, 0x82, 0x5, 0xaf, 0x2d, 0x1, 0x20, 0xb8, 0xce, 0xfe, 0xbf, 0xf, 0x48, 0x3a, 0x45, 0x93, 0x3c, 0x5a, 0x1, 0xc0, 0x9f, 0x9e, 0xbe, 0xa4, 0xfd, 0x87, 0x4, 0x60, 0xae, 0x65, 0x32, 0x32, 0x77, 0x78, 0xe8, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x37, 0xff, 0x70, 0x3, 0x61, 0x5, 0x9e, 0x0, 0x7, 0x0, 0x21, 0x0, 0x0, 0x25, 0x16, 0x33, 0x32, 0x35, 0x34, 0x27, 0x22, 0x7, 0x36, 0x33, 0x32, 0x15, 0x10, 0x21, 0x22, 0x27, 0x6, 0x7, 0x23, 0x36, 0x37, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x1, 0xd3, 0x11, 0x25, 0xa0, 0x34, 0x34, 0xca, 0x6e, 0x88, 0xf4, 0xfe, 0xaa, 0x49, 0x36, 0x21, 0x18, 0xc4, 0x1d, 0x43, 0x31, 0x87, 0x87, 0xb9, 0x1, 0x7b, 0xfe, 0x85, 0x82, 0x5, 0xaf, 0x2d, 0x1, 0x20, 0xb8, 0xce, 0xfe, 0xbf, 0xf, 0x48, 0x3a, 0x45, 0x93, 0x3c, 0x5a, 0x2, 0xf3, 0x8f, 0x1, 0x3e, 0xfe, 0xc2, 0x8f, 0x0, 0x0, 0x1, 0xff, 0xdb, 0xfe, 0x56, 0x1, 0x79, 0x4, 0x60, 0x0, 0xb, 0x0, 0x38, 0x40, 0x15, 0xb, 0x2, 0x7, 0x0, 0x7, 0x87, 0x5, 0xbd, 0x0, 0xbc, 0xc, 0x8, 0xc, 0x5, 0x6, 0x4f, 0x1, 0x8, 0x0, 0x46, 0xc, 0x10, 0xfc, 0xec, 0xe4, 0x39, 0x12, 0x39, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xec, 0x11, 0x12, 0x39, 0x39, 0x30, 0x40, 0xb, 0x10, 0xd, 0x40, 0xd, 0x50, 0xd, 0x60, 0xd, 0x70, 0xd, 0x5, 0x1, 0x5d, 0x13, 0x33, 0x11, 0x14, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0xc1, 0xb8, 0xa3, 0xb5, 0x46, 0x31, 0x69, 0x4c, 0x4, 0x60, 0xfb, 0x8c, 0xd6, 0xc0, 0x9c, 0x61, 0x99, 0x0, 0x0, 0x3, 0x0, 0x71, 0xff, 0xe3, 0x7, 0x8c, 0x6, 0x14, 0x0, 0x9, 0x0, 0x23, 0x0, 0x2f, 0x0, 0x41, 0x40, 0x13, 0x31, 0x45, 0x25, 0x12, 0x14, 0x47, 0x5, 0x1b, 0xd, 0x8, 0x2b, 0x18, 0xe, 0x47, 0x1, 0x12, 0x21, 0x45, 0x30, 0x10, 0xfc, 0xec, 0xf4, 0x3c, 0x3c, 0xfc, 0x3c, 0x3c, 0xf4, 0xec, 0xec, 0x31, 0x0, 0x40, 0x10, 0x28, 0x8, 0xb9, 0xa, 0x2e, 0x4, 0xb9, 0x16, 0x1d, 0x8c, 0x11, 0xa, 0xb8, 0xd, 0x97, 0x19, 0x2f, 0xec, 0xe4, 0x32, 0xf4, 0x32, 0xec, 0x32, 0x10, 0xec, 0x32, 0x30, 0x0, 0x10, 0x17, 0x16, 0x20, 0x36, 0x10, 0x26, 0x20, 0x7, 0x13, 0x32, 0x17, 0x11, 0x33, 0x11, 0x36, 0x33, 0x32, 0x0, 0x10, 0x2, 0x23, 0x22, 0x27, 0x15, 0x23, 0x35, 0x6, 0x23, 0x22, 0x27, 0x26, 0x10, 0x37, 0x36, 0x0, 0x10, 0x27, 0x26, 0x20, 0x7, 0x6, 0x10, 0x17, 0x16, 0x20, 0x37, 0x1, 0x2f, 0x53, 0x54, 0x1, 0x24, 0xa8, 0xa8, 0xfe, 0xdc, 0x54, 0xb9, 0xf5, 0x72, 0xb9, 0x72, 0xf4, 0xcc, 0x0, 0xff, 0xff, 0xcc, 0xf4, 0x72, 0xb9, 0x72, 0xf5, 0xcb, 0x80, 0x7f, 0x7f, 0x80, 0x5, 0x5d, 0x53, 0x54, 0xfe, 0xdc, 0x54, 0x53, 0x53, 0x54, 0x1, 0x24, 0x54, 0x2, 0xfa, 0xfe, 0x6a, 0x74, 0x73, 0xe7, 0x1, 0x96, 0xe7, 0x73, 0x1, 0xd, 0xc5, 0x2, 0x5e, 0xfd, 0xa2, 0xc5, 0xfe, 0xbc, 0xfd, 0xf0, 0xfe, 0xbc, 0xc5, 0xa8, 0xa8, 0xc5, 0xa2, 0xa2, 0x2, 0x10, 0xa2, 0xa2, 0xfc, 0xe9, 0x1, 0x96, 0x74, 0x73, 0x73, 0x74, 0xfe, 0x6a, 0x74, 0x73, 0x73, 0x0, 0x3, 0x0, 0x71, 0xfe, 0x56, 0x7, 0x8c, 0x4, 0x7b, 0x0, 0xb, 0x0, 0x25, 0x0, 0x2f, 0x0, 0x44, 0x40, 0x13, 0x31, 0x45, 0x1, 0x12, 0x24, 0x47, 0x2b, 0x11, 0x1d, 0x12, 0x7, 0xe, 0x1e, 0x47, 0x27, 0x12, 0x17, 0x45, 0x30, 0x10, 0xfc, 0xec, 0xf4, 0x3c, 0x3c, 0xfc, 0x3c, 0x3c, 0xf4, 0xec, 0xec, 0x31, 0x0, 0x40, 0x12, 0xa, 0x2a, 0xb9, 0x13, 0x4, 0x2e, 0xb9, 0x21, 0x1a, 0xb8, 0xc, 0x13, 0x8c, 0xf, 0xbd, 0x1d, 0xbc, 0x30, 0x10, 0xe4, 0xe4, 0xe4, 0x32, 0xf4, 0x3c, 0xec, 0x32, 0x10, 0xec, 0x32, 0x30, 0x0, 0x10, 0x27, 0x26, 0x20, 0x7, 0x6, 0x10, 0x17, 0x16, 0x20, 0x37, 0x3, 0x22, 0x27, 0x11, 0x23, 0x11, 0x6, 0x23, 0x22, 0x27, 0x26, 0x10, 0x37, 0x36, 0x33, 0x32, 0x17, 0x35, 0x33, 0x15, 0x36, 0x33, 0x32, 0x0, 0x10, 0x2, 0x0, 0x10, 0x17, 0x16, 0x20, 0x36, 0x10, 0x26, 0x20, 0x7, 0x6, 0xcd, 0x53, 0x54, 0xfe, 0xdc, 0x54, 0x53, 0x53, 0x54, 0x1, 0x24, 0x54, 0xb9, 0xf4, 0x72, 0xb9, 0x72, 0xf5, 0xcb, 0x80, 0x7f, 0x7f, 0x80, 0xcb, 0xf5, 0x72, 0xb9, 0x72, 0xf4, 0xcc, 0x0, 0xff, 0xff, 0xfa, 0xa2, 0x53, 0x54, 0x1, 0x24, 0xa8, 0xa8, 0xfe, 0xdc, 0x54, 0x1, 0x64, 0x1, 0x96, 0x74, 0x73, 0x73, 0x74, 0xfe, 0x6a, 0x74, 0x73, 0x73, 0xfe, 0xf3, 0xc5, 0xfd, 0xae, 0x2, 0x52, 0xc5, 0xa2, 0xa2, 0x2, 0x10, 0xa2, 0xa2, 0xc5, 0xaa, 0xaa, 0xc5, 0xfe, 0xbc, 0xfd, 0xf0, 0xfe, 0xbc, 0x3, 0x17, 0xfe, 0x6a, 0x74, 0x73, 0xe7, 0x1, 0x96, 0xe7, 0x73, 0x0, 0x0, 0x3, 0xff, 0xfd, 0xff, 0xba, 0x5, 0x7c, 0x6, 0x17, 0x0, 0x12, 0x0, 0x16, 0x0, 0x19, 0x0, 0x0, 0x1, 0x33, 0x13, 0x1, 0x17, 0x9, 0x1, 0x23, 0x3, 0x21, 0xf, 0x1, 0x23, 0x7, 0x27, 0x23, 0x37, 0x27, 0x37, 0x9, 0x1, 0x33, 0x1, 0x3, 0x21, 0x3, 0x2, 0x4a, 0xe5, 0x86, 0x1, 0x61, 0x66, 0xfe, 0x70, 0x1, 0x7c, 0xd2, 0x88, 0xfd, 0xd6, 0xcd, 0x32, 0x46, 0x3b, 0x52, 0x2, 0x1, 0x14, 0x2f, 0x2, 0x90, 0xfe, 0xee, 0x16, 0x1, 0x6f, 0xbd, 0x1, 0x5d, 0x6a, 0x5, 0xd5, 0xfe, 0xa1, 0x1, 0xa1, 0x59, 0xfe, 0x27, 0xfc, 0x1b, 0x1, 0x7f, 0xf1, 0x8e, 0x46, 0x46, 0x1, 0x11, 0x38, 0x4, 0xc4, 0xfd, 0x19, 0x1, 0xb1, 0xfe, 0x4f, 0x1, 0x1f, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc, 0xff, 0xba, 0x5, 0x8a, 0x6, 0x17, 0x0, 0x22, 0x0, 0x2c, 0x0, 0x0, 0x17, 0x27, 0x13, 0x26, 0x11, 0x10, 0x37, 0x36, 0x21, 0x32, 0x17, 0x16, 0x17, 0x37, 0x17, 0x7, 0x15, 0x26, 0x27, 0x1, 0x16, 0x17, 0x16, 0x21, 0x32, 0x37, 0x36, 0x37, 0x15, 0x6, 0x7, 0x6, 0x23, 0x20, 0x27, 0x13, 0x1, 0x23, 0x26, 0x23, 0x20, 0x7, 0x6, 0x11, 0x14, 0x72, 0x66, 0xdc, 0x75, 0xc3, 0xc3, 0x1, 0x53, 0x86, 0x76, 0x3d, 0x3a, 0x65, 0x66, 0x63, 0x2e, 0x31, 0xfc, 0xf4, 0x9, 0xb, 0x88, 0x1, 0x0, 0x82, 0x74, 0x73, 0x66, 0x6a, 0x77, 0x76, 0x84, 0xfe, 0xb4, 0xc2, 0x39, 0x2, 0xd8, 0x1, 0x74, 0x82, 0xff, 0x0, 0x88, 0x88, 0x46, 0x58, 0x1, 0x5, 0xbb, 0x1, 0x17, 0x1, 0x68, 0xcf, 0xd0, 0x24, 0x12, 0x1b, 0x78, 0x59, 0x76, 0xbb, 0x2b, 0x21, 0xfc, 0x66, 0xd, 0xc, 0x9d, 0x2f, 0x2f, 0x5f, 0xd3, 0x48, 0x24, 0x24, 0xc7, 0x1, 0x15, 0x3, 0x5c, 0x2f, 0x9c, 0x9d, 0xfe, 0xd8, 0xad, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x9, 0xff, 0xa2, 0x4, 0x5d, 0x4, 0xbc, 0x0, 0x22, 0x0, 0x2b, 0x0, 0x0, 0x17, 0x27, 0x37, 0x26, 0x35, 0x10, 0x37, 0x36, 0x21, 0x32, 0x17, 0x16, 0x17, 0x37, 0x17, 0x7, 0x15, 0x26, 0x27, 0x1, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x15, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x13, 0x1, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x69, 0x60, 0xbd, 0x55, 0x97, 0x96, 0x1, 0x6, 0x55, 0x51, 0x2e, 0x2d, 0x59, 0x5f, 0x76, 0x19, 0x18, 0xfd, 0xd3, 0x7, 0x6, 0x63, 0xb3, 0x50, 0x4e, 0x4f, 0x4e, 0x4d, 0x52, 0x53, 0x5d, 0xf0, 0x93, 0x37, 0x1, 0xee, 0x47, 0x47, 0xb3, 0x63, 0x63, 0x5e, 0x4e, 0xe6, 0x8d, 0xcc, 0x1, 0x12, 0x9d, 0x9d, 0x11, 0xa, 0x10, 0x6c, 0x4f, 0x8f, 0x55, 0xe, 0xb, 0xfd, 0x5e, 0x8, 0x8, 0x71, 0x15, 0x16, 0x2b, 0xaa, 0x24, 0x12, 0x12, 0x90, 0x1, 0x5, 0x2, 0x56, 0x11, 0x71, 0x72, 0xcd, 0x67, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xa, 0x0, 0x0, 0x4, 0x6a, 0x5, 0xd5, 0x0, 0xd, 0x0, 0x3b, 0x40, 0x16, 0xc, 0x5, 0xa, 0x95, 0x2, 0xc, 0x6, 0x95, 0x0, 0x81, 0x8, 0x3, 0x5, 0x1, 0x1c, 0x7, 0x3a, 0xc, 0xa, 0x0, 0x4, 0xe, 0x10, 0xfc, 0x3c, 0xcc, 0xec, 0xfc, 0x3c, 0xcc, 0x31, 0x0, 0x2f, 0xe4, 0xec, 0xd4, 0x3c, 0xec, 0x32, 0x30, 0x40, 0xd, 0x30, 0xf, 0x50, 0xf, 0x80, 0x7, 0x80, 0x8, 0x7f, 0x4, 0x7f, 0x3, 0x6, 0x1, 0x5d, 0x13, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x35, 0x33, 0xc9, 0xca, 0xbf, 0xbf, 0x2, 0xd7, 0xfc, 0x5f, 0xbf, 0xbf, 0x5, 0xd5, 0xfd, 0x77, 0x90, 0xfd, 0xee, 0xaa, 0x2, 0xbc, 0x90, 0x0, 0x2, 0xff, 0xb2, 0xff, 0xba, 0x5, 0x31, 0x6, 0x17, 0x0, 0xf, 0x0, 0x12, 0x0, 0x0, 0x1, 0x15, 0x23, 0x1, 0x11, 0x23, 0x11, 0x1, 0x27, 0x1, 0x11, 0x21, 0x35, 0x21, 0x37, 0x17, 0x9, 0x1, 0x21, 0x4, 0xe9, 0x34, 0xfe, 0x22, 0xcb, 0xfe, 0xd, 0x67, 0x2, 0x5a, 0xfd, 0xee, 0x4, 0x99, 0x38, 0x66, 0xfd, 0xa6, 0x1, 0x2c, 0xfe, 0xd4, 0x5, 0x69, 0x3e, 0xfd, 0xcc, 0xfd, 0x9, 0x2, 0x7, 0xfd, 0xb3, 0x58, 0x2, 0xc7, 0x2, 0x52, 0xaa, 0x42, 0x59, 0xfe, 0xb, 0x1, 0x62, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6f, 0xfe, 0x10, 0x4, 0x19, 0x4, 0x7b, 0x0, 0x3d, 0x0, 0x0, 0x1, 0x34, 0x27, 0x26, 0x2f, 0x1, 0x26, 0x27, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x1f, 0x1, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x1f, 0x1, 0x16, 0x33, 0x15, 0x23, 0x22, 0x27, 0x26, 0x2f, 0x1, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x35, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x3, 0xa, 0x32, 0x33, 0xab, 0x40, 0xab, 0x4c, 0x4c, 0xe0, 0xce, 0x66, 0xb4, 0x4c, 0x4e, 0xa8, 0x5a, 0x89, 0x44, 0x45, 0x31, 0x31, 0x94, 0x3f, 0xc6, 0x50, 0x53, 0x7b, 0x57, 0x84, 0x9f, 0x93, 0x2a, 0x4c, 0x27, 0x54, 0x72, 0x47, 0x59, 0xed, 0x1e, 0x24, 0x10, 0x11, 0x61, 0x6c, 0x66, 0x63, 0x63, 0x61, 0x82, 0x46, 0x46, 0x1, 0x27, 0x4b, 0x28, 0x28, 0x25, 0xf, 0x24, 0x4a, 0x4b, 0x82, 0x9e, 0xac, 0x1e, 0x1e, 0xae, 0x28, 0x28, 0x2a, 0x2a, 0x54, 0x40, 0x25, 0x24, 0x21, 0xe, 0x2c, 0x4b, 0x4c, 0x89, 0x9c, 0x5b, 0x40, 0x13, 0x9f, 0x7e, 0x24, 0x9a, 0x3d, 0x26, 0x5b, 0xf3, 0x1e, 0x10, 0x3, 0x2, 0x12, 0x23, 0xbe, 0x35, 0x1a, 0x1b, 0x2d, 0x2c, 0x0, 0x0, 0x1, 0x0, 0x58, 0xfe, 0x10, 0x4, 0x33, 0x4, 0x60, 0x0, 0x18, 0x0, 0x0, 0x13, 0x21, 0x15, 0x1, 0x16, 0x17, 0x1, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x26, 0x2f, 0x1, 0x26, 0x2b, 0x1, 0x3d, 0x1, 0x1, 0x21, 0x71, 0x3, 0x6a, 0xfd, 0x4e, 0x5c, 0x31, 0x1, 0x8, 0x93, 0x2a, 0x4c, 0x6c, 0x93, 0x54, 0x72, 0x47, 0x59, 0xed, 0x3d, 0x5a, 0x5e, 0x2, 0xb4, 0xfd, 0x65, 0x4, 0x60, 0xa8, 0xfc, 0xdd, 0x10, 0x31, 0xfe, 0xf8, 0x7e, 0x24, 0x9a, 0x3d, 0x26, 0x5b, 0xf3, 0x3f, 0x9c, 0xc, 0x3, 0x25, 0x0, 0x0, 0x0, 0x1, 0x0, 0x50, 0x0, 0x0, 0x4, 0x8d, 0x5, 0xd5, 0x0, 0x18, 0x0, 0x36, 0x40, 0x11, 0x12, 0x13, 0xc, 0xb, 0x4, 0xf, 0x0, 0x5, 0x1, 0x8, 0x19, 0x16, 0x1, 0x1c, 0x4, 0xf, 0x19, 0x10, 0xd4, 0xd4, 0xec, 0xd4, 0xec, 0x11, 0x39, 0x39, 0x11, 0x17, 0x39, 0x31, 0x0, 0x40, 0xb, 0x0, 0x95, 0x5, 0xf, 0x95, 0x10, 0xb, 0x95, 0x12, 0x81, 0x2, 0x2f, 0xf4, 0xec, 0xd4, 0xec, 0xd4, 0xec, 0x30, 0x1, 0x23, 0x11, 0x23, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x1, 0x22, 0x6, 0x7, 0x35, 0x36, 0x3b, 0x1, 0x32, 0x4, 0x15, 0x14, 0x4, 0x2, 0x91, 0x27, 0xca, 0xf1, 0x8d, 0x9a, 0x9a, 0x8d, 0xfe, 0x45, 0xaf, 0x4f, 0x98, 0xab, 0xfe, 0xf4, 0x1, 0x8, 0xfe, 0xf7, 0x2, 0x5a, 0xfd, 0xa6, 0x3, 0x0, 0x91, 0x87, 0x88, 0x8f, 0x2a, 0x2c, 0xb6, 0x46, 0xdc, 0xe1, 0xd7, 0xe7, 0x0, 0x1, 0x0, 0x50, 0x0, 0x0, 0x3, 0x8f, 0x4, 0x7b, 0x0, 0x18, 0x0, 0x37, 0x40, 0x10, 0xa, 0x8, 0x6, 0xf, 0x4, 0xc, 0x1, 0x0, 0x4, 0x12, 0x13, 0x16, 0x8, 0x0, 0xc, 0x19, 0x10, 0xd4, 0xd4, 0xec, 0xd4, 0xec, 0x12, 0x39, 0x12, 0x17, 0x39, 0x31, 0x0, 0x40, 0xd, 0x16, 0xb9, 0x1, 0x17, 0xc, 0x86, 0xd, 0x88, 0x8, 0xb9, 0xf, 0xb8, 0x17, 0x2f, 0xf4, 0xec, 0xf4, 0xee, 0x10, 0xd4, 0xec, 0x30, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x35, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x6, 0x23, 0x11, 0x23, 0x1, 0x2f, 0x64, 0x8d, 0x9a, 0x4c, 0x55, 0x86, 0x49, 0x56, 0x56, 0x4e, 0x98, 0xab, 0xfb, 0x7d, 0x84, 0xd4, 0xc2, 0xca, 0x1, 0xa6, 0x91, 0x87, 0x8d, 0x41, 0x48, 0x15, 0x15, 0x2b, 0xb6, 0x46, 0x6e, 0x74, 0xdb, 0xd5, 0xe5, 0xfe, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xa, 0x0, 0x0, 0x4, 0xec, 0x5, 0xd5, 0x0, 0xc, 0x0, 0x15, 0x0, 0x28, 0x0, 0x5c, 0x40, 0x1a, 0x15, 0xf, 0xc, 0x6, 0x17, 0x1d, 0x23, 0x5, 0x0, 0x12, 0x1c, 0x1a, 0x9, 0x19, 0x20, 0x2e, 0x2, 0x4, 0xd, 0x0, 0x1c, 0x26, 0x25, 0x16, 0x4, 0x29, 0x10, 0xfc, 0x3c, 0xcc, 0xec, 0x32, 0x32, 0xcc, 0xfc, 0xec, 0xd4, 0xec, 0x11, 0x17, 0x39, 0x39, 0x39, 0x31, 0x0, 0x40, 0x15, 0x28, 0x1, 0x95, 0x25, 0x4, 0x4, 0x0, 0x5, 0x1d, 0x0, 0x95, 0xe, 0xd, 0x95, 0x16, 0x81, 0x5, 0x95, 0xe, 0xad, 0x23, 0x2f, 0xec, 0xec, 0xf4, 0xec, 0x10, 0xee, 0x39, 0x11, 0x12, 0x39, 0x2f, 0x3c, 0xec, 0x32, 0x30, 0xb2, 0xf, 0x2a, 0x1, 0x1, 0x5d, 0x1, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x1, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x25, 0x21, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x1e, 0x1, 0x15, 0x14, 0x4, 0x23, 0x21, 0x11, 0x23, 0x35, 0x33, 0x1, 0x93, 0x1, 0x5b, 0xfe, 0xa5, 0x1, 0x44, 0xa3, 0x9d, 0x9d, 0xa3, 0xfe, 0xbc, 0x1, 0x2b, 0x94, 0x91, 0x91, 0x94, 0xfe, 0xb, 0x2, 0x4, 0xe7, 0xfa, 0x80, 0x7c, 0x95, 0xa5, 0xfe, 0xf0, 0xfb, 0xfd, 0xe8, 0xbf, 0xbf, 0x2, 0xc9, 0xc9, 0x90, 0xca, 0x87, 0x8b, 0x8c, 0x85, 0x2, 0x66, 0xfe, 0x3e, 0x6f, 0x72, 0x71, 0x70, 0xa6, 0xc0, 0xb1, 0x89, 0xa2, 0x14, 0x20, 0xcb, 0x98, 0xc8, 0xda, 0x1, 0x70, 0x90, 0x0, 0x0, 0x2, 0x0, 0xc, 0xff, 0xe3, 0x5, 0xce, 0x5, 0xd5, 0x0, 0x14, 0x0, 0x1d, 0x0, 0x5f, 0x40, 0xf, 0x15, 0x3, 0x1c, 0x7, 0x9, 0x5, 0x38, 0x16, 0x1, 0x1c, 0x13, 0x11, 0x0, 0x41, 0x1e, 0x10, 0xfc, 0x4b, 0xb0, 0x10, 0x54, 0x58, 0xb9, 0x0, 0x0, 0xff, 0xc0, 0x38, 0x59, 0x3c, 0xcc, 0xec, 0x32, 0xfc, 0x3c, 0xcc, 0xec, 0x32, 0x31, 0x0, 0x40, 0x16, 0x1d, 0x17, 0x10, 0xa, 0x0, 0x7, 0x14, 0x3, 0x95, 0x11, 0x9, 0x16, 0x16, 0x0, 0x1a, 0x95, 0xd, 0x8c, 0x4, 0x0, 0x81, 0x1e, 0x10, 0xe4, 0x32, 0xf4, 0xec, 0x11, 0x39, 0x2f, 0x3c, 0x3c, 0xec, 0x32, 0x32, 0x11, 0x39, 0x39, 0x39, 0x39, 0x30, 0x1, 0xb6, 0x1f, 0x1f, 0x8f, 0x1f, 0x9f, 0x1f, 0x3, 0x5d, 0x13, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x35, 0x23, 0x35, 0x33, 0x5, 0x21, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0xb2, 0xcb, 0x2, 0xe1, 0xcb, 0xa5, 0xa5, 0xfe, 0xdf, 0xfe, 0xe6, 0xfe, 0xe5, 0xfe, 0xdf, 0xa6, 0xa6, 0x3, 0xac, 0xfd, 0x1f, 0xae, 0xc3, 0xc2, 0xae, 0x5, 0xd5, 0xfd, 0x96, 0x2, 0x6a, 0xfd, 0x96, 0xa4, 0x96, 0xfe, 0xdc, 0xfe, 0xd6, 0x1, 0x2a, 0x1, 0x24, 0x96, 0xa4, 0xa4, 0x7d, 0xf0, 0xd3, 0xd3, 0xf0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x5, 0xd5, 0x10, 0x6, 0x3, 0x30, 0x0, 0x0, 0x0, 0x3, 0x0, 0xc9, 0xff, 0x42, 0x4, 0x8b, 0x6, 0x93, 0x0, 0x13, 0x0, 0x17, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x33, 0x7, 0x33, 0x15, 0x23, 0x3, 0x21, 0x15, 0x21, 0x3, 0x21, 0x15, 0x21, 0x7, 0x23, 0x37, 0x23, 0x11, 0x21, 0x1, 0x13, 0x23, 0x11, 0x1, 0x13, 0x21, 0x11, 0x3, 0xb8, 0xaa, 0x41, 0x58, 0x92, 0x97, 0x1, 0xa, 0xfe, 0xbc, 0xb9, 0x2, 0x2e, 0xfd, 0x98, 0x41, 0xaa, 0x41, 0xb0, 0x2, 0xae, 0xfe, 0x3c, 0xb9, 0xd9, 0x1, 0x13, 0x97, 0xfe, 0x56, 0x6, 0x93, 0xbe, 0xaa, 0xfe, 0x46, 0xaa, 0xfd, 0xe3, 0xaa, 0xbe, 0xbe, 0x5, 0xd5, 0xfa, 0xd5, 0x2, 0x1d, 0xfd, 0xe3, 0x2, 0xc7, 0x1, 0xba, 0xfe, 0x46, 0x0, 0x0, 0x4, 0x0, 0x71, 0xff, 0x42, 0x4, 0x7f, 0x5, 0x1e, 0x0, 0x5, 0x0, 0x26, 0x0, 0x2d, 0x0, 0x31, 0x0, 0x0, 0x1, 0x26, 0x27, 0x26, 0x27, 0x3, 0x5, 0x15, 0x21, 0x3, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x7, 0x23, 0x13, 0x26, 0x27, 0x26, 0x11, 0x10, 0x0, 0x33, 0x32, 0x17, 0x37, 0x33, 0x7, 0x16, 0x17, 0x16, 0x5, 0x13, 0x26, 0x23, 0x22, 0x6, 0x7, 0x1b, 0x1, 0x23, 0x16, 0x3, 0xc7, 0x2, 0x53, 0xe, 0x10, 0x6f, 0x1, 0x9a, 0xfe, 0x2b, 0x94, 0x4a, 0x61, 0x6a, 0xc7, 0x62, 0x63, 0xd0, 0x6b, 0x7b, 0x63, 0x50, 0xaa, 0x6d, 0x21, 0x1c, 0x9d, 0x1, 0x29, 0xfc, 0x38, 0x31, 0x47, 0xaa, 0x5c, 0x39, 0x2f, 0x83, 0xfd, 0xbc, 0x87, 0x14, 0x16, 0x9a, 0xb9, 0xe, 0x5a, 0x6f, 0xcf, 0xb, 0x2, 0x94, 0x97, 0x5a, 0x10, 0xd, 0xfe, 0xf2, 0x36, 0x5a, 0xfe, 0x97, 0x1c, 0x34, 0x34, 0xae, 0x2a, 0x2c, 0x21, 0xc2, 0x1, 0x9, 0x17, 0x1d, 0x9c, 0x1, 0xa, 0x1, 0x13, 0x1, 0x43, 0x9, 0xac, 0xe0, 0x22, 0x32, 0x92, 0xc5, 0x1, 0x4a, 0x2, 0xae, 0x9e, 0xfe, 0x63, 0x1, 0xe, 0xac, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0x96, 0xfe, 0x66, 0x2, 0x52, 0x5, 0xd5, 0x0, 0x13, 0x0, 0x59, 0x40, 0x1f, 0xb, 0x2, 0x7, 0xc, 0x1, 0xc, 0x95, 0x12, 0xf, 0x14, 0x7, 0x95, 0x5, 0xb0, 0x10, 0x81, 0x14, 0x0, 0x11, 0xd, 0x5, 0x8, 0x6, 0x39, 0x1, 0x11, 0x1c, 0xc, 0x10, 0x4, 0x14, 0x10, 0xfc, 0x4b, 0xb0, 0x10, 0x54, 0x58, 0xb9, 0x0, 0x10, 0x0, 0x40, 0x38, 0x59, 0x3c, 0xec, 0x32, 0xe4, 0x39, 0x39, 0xc4, 0x10, 0xc4, 0x31, 0x0, 0x10, 0xe4, 0xfc, 0xec, 0x10, 0xd4, 0x3c, 0xec, 0x32, 0x11, 0x12, 0x39, 0x39, 0x30, 0x1, 0x40, 0xd, 0x30, 0x15, 0x40, 0x15, 0x50, 0x15, 0x60, 0x15, 0x8f, 0x15, 0x9f, 0x15, 0x6, 0x5d, 0x1, 0x23, 0x11, 0x10, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x11, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0x2, 0x52, 0xbf, 0xcd, 0xe3, 0x4d, 0x3f, 0x86, 0x6e, 0xbf, 0xbf, 0xca, 0xbf, 0x2, 0x77, 0xfd, 0xf1, 0xfe, 0xf2, 0xf4, 0xaa, 0x96, 0xc2, 0x2, 0xf, 0xa6, 0x2, 0xb8, 0xfd, 0x48, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xdb, 0xfe, 0x56, 0x2, 0x1c, 0x6, 0x14, 0x0, 0x13, 0x0, 0x17, 0x0, 0x53, 0x40, 0x24, 0x17, 0xbe, 0x14, 0xb1, 0x18, 0xf, 0x6, 0xb, 0x0, 0xb, 0x87, 0x9, 0xbd, 0x18, 0x2, 0x13, 0xa9, 0x5, 0x10, 0x0, 0xbc, 0x18, 0xc, 0x18, 0x9, 0xa, 0x4f, 0x15, 0x5, 0x1, 0x8, 0x14, 0x10, 0x0, 0x46, 0x18, 0x10, 0xfc, 0x3c, 0x3c, 0xec, 0x32, 0x32, 0xe4, 0x39, 0x12, 0x39, 0x31, 0x0, 0x10, 0xe4, 0xdc, 0x3c, 0xe4, 0x32, 0x10, 0xf4, 0xec, 0x11, 0x12, 0x39, 0x39, 0x10, 0xf4, 0xec, 0x30, 0x40, 0xb, 0x10, 0x19, 0x40, 0x19, 0x50, 0x19, 0x60, 0x19, 0x70, 0x19, 0x5, 0x1, 0x5d, 0x13, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x14, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x11, 0x23, 0x35, 0x33, 0x11, 0x33, 0x15, 0x23, 0xc1, 0xb8, 0xa3, 0xa3, 0xa3, 0xb5, 0x46, 0x31, 0x69, 0x4c, 0xb5, 0xb5, 0xb8, 0xb8, 0x4, 0x60, 0xfe, 0x8, 0xa4, 0xfe, 0x28, 0xd6, 0xc0, 0x9c, 0x61, 0x99, 0x1, 0xd8, 0xa4, 0x3, 0xac, 0xe9, 0x0, 0x0, 0x2, 0x0, 0x73, 0xfe, 0x66, 0x6, 0xb0, 0x5, 0xf1, 0x0, 0x18, 0x0, 0x24, 0x0, 0x43, 0x40, 0x24, 0x3, 0xc, 0xd, 0x6, 0x95, 0x9, 0xb0, 0x25, 0x22, 0x95, 0x0, 0x16, 0x1c, 0x95, 0xd, 0x10, 0x8c, 0x16, 0x91, 0x1, 0xaf, 0x25, 0x9, 0x6, 0x8, 0x2, 0x1f, 0xd, 0x0, 0x1c, 0x2, 0x19, 0x19, 0x13, 0x10, 0x25, 0x10, 0xfc, 0xec, 0xd4, 0xec, 0x32, 0x32, 0x10, 0xcc, 0x39, 0x39, 0x31, 0x0, 0x10, 0xec, 0xe4, 0xf4, 0xc4, 0xec, 0x10, 0xc4, 0xee, 0x10, 0xe4, 0xec, 0x11, 0x39, 0x39, 0x30, 0x1, 0x35, 0x33, 0x11, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x26, 0x11, 0x35, 0xe, 0x1, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x32, 0x16, 0x1, 0x10, 0x12, 0x33, 0x32, 0x12, 0x11, 0x10, 0x2, 0x23, 0x22, 0x2, 0x4, 0xb3, 0xc4, 0x6e, 0x86, 0x45, 0x4d, 0xe3, 0xcd, 0x4d, 0xec, 0xa5, 0xfe, 0xf2, 0xfe, 0xac, 0x1, 0x54, 0x1, 0xe, 0xa5, 0xec, 0xfc, 0xdf, 0xea, 0xcc, 0xcd, 0xeb, 0xeb, 0xcd, 0xcc, 0xea, 0x4, 0xed, 0xe8, 0xfa, 0x93, 0xc2, 0x96, 0xaa, 0xf4, 0x1, 0xe, 0x7f, 0x84, 0x80, 0x1, 0xab, 0x1, 0x5c, 0x1, 0x5c, 0x1, 0xab, 0x80, 0xfd, 0x78, 0xfe, 0xe3, 0xfe, 0xbb, 0x1, 0x45, 0x1, 0x1d, 0x1, 0x1d, 0x1, 0x45, 0xfe, 0xbb, 0x0, 0x0, 0x2, 0x0, 0x71, 0xfe, 0x56, 0x5, 0x40, 0x4, 0x7b, 0x0, 0x18, 0x0, 0x24, 0x0, 0x48, 0x40, 0x22, 0x18, 0x87, 0x0, 0xbd, 0x25, 0x22, 0xb9, 0x11, 0xe, 0x1c, 0xb9, 0x5, 0x8, 0x8c, 0xe, 0xb8, 0x12, 0xbc, 0x25, 0x1, 0x17, 0x18, 0x13, 0x1f, 0x4, 0x11, 0x8, 0x13, 0x47, 0x19, 0x12, 0xb, 0x45, 0x25, 0x10, 0xfc, 0xec, 0xf4, 0xec, 0x32, 0x32, 0x10, 0xcc, 0x39, 0x39, 0x31, 0x0, 0x10, 0xec, 0xe4, 0xf4, 0xc4, 0xec, 0x10, 0xc4, 0xee, 0x10, 0xf4, 0xec, 0x30, 0xb6, 0x60, 0x26, 0x80, 0x26, 0xa0, 0x26, 0x3, 0x1, 0x5d, 0x1, 0x23, 0x22, 0x26, 0x3d, 0x1, 0xe, 0x1, 0x23, 0x22, 0x2, 0x11, 0x10, 0x0, 0x33, 0x32, 0x16, 0x17, 0x35, 0x33, 0x11, 0x14, 0x16, 0x3b, 0x1, 0x1, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x5, 0x40, 0x46, 0xb5, 0xa3, 0x3a, 0xb1, 0x7c, 0xcb, 0xff, 0x0, 0xff, 0xcb, 0x7c, 0xb1, 0x3a, 0xb8, 0x4c, 0x69, 0x31, 0xfb, 0xef, 0xa7, 0x92, 0x92, 0xa8, 0xa8, 0x92, 0x92, 0xa7, 0xfe, 0x56, 0xc0, 0xd6, 0xbc, 0x64, 0x61, 0x1, 0x44, 0x1, 0x8, 0x1, 0x8, 0x1, 0x44, 0x61, 0x64, 0xaa, 0xfb, 0x8c, 0x99, 0x61, 0x3, 0x3d, 0xcb, 0xe7, 0xe7, 0xcb, 0xcb, 0xe7, 0xe7, 0x0, 0x0, 0x0, 0x2, 0x0, 0xa, 0x0, 0x0, 0x5, 0x54, 0x5, 0xd5, 0x0, 0x17, 0x0, 0x20, 0x0, 0xbb, 0x40, 0x18, 0x5, 0x6, 0x3, 0x15, 0x9, 0x0, 0x20, 0x1a, 0x12, 0x5, 0xa, 0x1d, 0x19, 0x4, 0x15, 0x3f, 0x18, 0xa, 0x1c, 0xe, 0x11, 0xc, 0x4, 0x21, 0x10, 0xfc, 0x3c, 0xcc, 0xec, 0x32, 0xfc, 0xc4, 0xec, 0x11, 0x17, 0x39, 0x11, 0x39, 0x39, 0x39, 0x31, 0x0, 0x40, 0x21, 0x9, 0x8, 0x7, 0x3, 0xa, 0x6, 0x11, 0x3, 0x4, 0x3, 0x5, 0x11, 0x4, 0x4, 0x3, 0x42, 0x6, 0x4, 0x0, 0x19, 0x3, 0x4, 0x10, 0x19, 0x95, 0xd, 0x9, 0x18, 0x95, 0x11, 0x81, 0xb, 0x4, 0x2f, 0x3c, 0xf4, 0xec, 0xd4, 0x32, 0xec, 0x32, 0x12, 0x39, 0x12, 0x39, 0x12, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x11, 0x17, 0x39, 0x59, 0x22, 0xb2, 0x40, 0x22, 0x1, 0x1, 0x5d, 0x40, 0x42, 0x7a, 0x17, 0x1, 0x5, 0x0, 0x5, 0x1, 0x5, 0x2, 0x6, 0x3, 0x7, 0x4, 0x15, 0x0, 0x15, 0x1, 0x14, 0x2, 0x16, 0x3, 0x17, 0x4, 0x25, 0x0, 0x25, 0x1, 0x25, 0x2, 0x26, 0x3, 0x27, 0x6, 0x26, 0x7, 0x26, 0x8, 0x26, 0x9, 0x20, 0x22, 0x36, 0x1, 0x36, 0x2, 0x46, 0x1, 0x46, 0x2, 0x68, 0x5, 0x75, 0x4, 0x75, 0x5, 0x77, 0x17, 0x88, 0x6, 0x88, 0x7, 0x98, 0x6, 0x98, 0x7, 0x1f, 0x5d, 0x0, 0x5d, 0x1, 0x1e, 0x1, 0x17, 0x13, 0x23, 0x3, 0x2e, 0x1, 0x2b, 0x1, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x11, 0x21, 0x20, 0x16, 0x15, 0x14, 0x6, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x3, 0x8d, 0x41, 0x7b, 0x3e, 0xcd, 0xd9, 0xbf, 0x4a, 0x8b, 0x78, 0xdc, 0xca, 0xbf, 0xbf, 0x1, 0xc8, 0x1, 0x0, 0xfc, 0x83, 0xfd, 0x89, 0xfe, 0x92, 0x95, 0x95, 0x92, 0x2, 0xbc, 0x16, 0x90, 0x7e, 0xfe, 0x68, 0x1, 0x7f, 0x96, 0x62, 0xfd, 0x89, 0x2, 0x77, 0xa6, 0x2, 0xb8, 0xd6, 0xd8, 0x8d, 0xba, 0x2, 0x4f, 0xfd, 0xee, 0x87, 0x83, 0x83, 0x85, 0x0, 0x0, 0x0, 0x1, 0x0, 0xe, 0x0, 0x0, 0x3, 0x4a, 0x4, 0x7b, 0x0, 0x18, 0x0, 0x3d, 0x40, 0xa, 0xa, 0x18, 0x3, 0x8, 0x6, 0x12, 0x8, 0x4, 0x46, 0x19, 0x10, 0xfc, 0x3c, 0xc4, 0xc4, 0xfc, 0x3c, 0x3c, 0x31, 0x0, 0x40, 0x10, 0x12, 0x11, 0xb, 0x15, 0x87, 0xe, 0xb8, 0x3, 0x8, 0x18, 0xa9, 0x5, 0x2, 0x9, 0xbc, 0x3, 0x2f, 0xe4, 0xd4, 0x3c, 0xec, 0x32, 0x10, 0xf4, 0xec, 0xc4, 0xd4, 0xcc, 0x30, 0xb4, 0x50, 0x1a, 0x9f, 0x1a, 0x2, 0x1, 0x5d, 0x1, 0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x1f, 0x1, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x2, 0x1e, 0xab, 0xb9, 0xac, 0xac, 0xb9, 0x3a, 0xba, 0x85, 0x13, 0x2e, 0x1c, 0x1, 0x1f, 0x49, 0x2c, 0x9c, 0xa7, 0x2, 0x68, 0xa4, 0xfe, 0x3c, 0x1, 0xc4, 0xa4, 0x1, 0xf8, 0xae, 0x66, 0x63, 0x5, 0x5, 0xbd, 0x12, 0x11, 0xce, 0xa1, 0x0, 0x0, 0x2, 0xff, 0xf6, 0x0, 0x0, 0x4, 0xec, 0x5, 0xd5, 0x0, 0x11, 0x0, 0x14, 0x0, 0x0, 0x3, 0x33, 0x17, 0x21, 0x37, 0x33, 0x7, 0x33, 0x15, 0x21, 0x1, 0x11, 0x23, 0x11, 0x1, 0x21, 0x35, 0x33, 0x5, 0x21, 0x17, 0x4, 0xd9, 0x97, 0x2, 0xc, 0x96, 0xd9, 0x97, 0x9c, 0xfe, 0xf5, 0xfe, 0xf6, 0xcb, 0xfe, 0xf6, 0xfe, 0xf4, 0x9d, 0x2, 0x77, 0xfe, 0xd1, 0x98, 0x5, 0xd5, 0xe0, 0xe0, 0xe0, 0xa4, 0xfe, 0x76, 0xfd, 0x39, 0x2, 0xc7, 0x1, 0x8a, 0xa4, 0xa4, 0xe2, 0x0, 0x0, 0x0, 0x2, 0x0, 0xb, 0xfe, 0x56, 0x4, 0xb5, 0x4, 0x60, 0x0, 0x18, 0x0, 0x1b, 0x0, 0x0, 0x5, 0xe, 0x1, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x3f, 0x1, 0x3, 0x21, 0x35, 0x33, 0x3, 0x33, 0x13, 0x21, 0x13, 0x33, 0x3, 0x33, 0x15, 0x21, 0x2b, 0x1, 0x13, 0x2, 0x93, 0x4e, 0x94, 0x7c, 0x93, 0x6c, 0x4c, 0x54, 0x33, 0x21, 0xcd, 0xfe, 0xd6, 0xf0, 0xbe, 0xc3, 0xb8, 0x1, 0x4c, 0xb8, 0xc3, 0xb9, 0xef, 0xfe, 0xd7, 0xc1, 0xda, 0x6d, 0x68, 0xc8, 0x7a, 0x9a, 0x48, 0x86, 0x54, 0x1, 0xf2, 0x8f, 0x1, 0xcd, 0xfe, 0x33, 0x1, 0xcd, 0xfe, 0x33, 0x8f, 0xfe, 0xf0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xae, 0xff, 0xe3, 0x4, 0x60, 0x4, 0x7b, 0x0, 0xa, 0x0, 0x25, 0x0, 0xb2, 0x40, 0x10, 0x17, 0x0, 0x3, 0xa, 0x27, 0x1f, 0x3, 0x8, 0x14, 0x18, 0xa, 0xd, 0x8, 0xc, 0x46, 0x26, 0x10, 0xfc, 0xec, 0x32, 0x32, 0xd4, 0xec, 0xcc, 0xc4, 0x11, 0x12, 0x39, 0x39, 0x31, 0x40, 0x15, 0x0, 0xa9, 0x17, 0xc, 0xe, 0x6, 0xb9, 0x11, 0xb8, 0x26, 0x20, 0x86, 0x1f, 0xba, 0x1c, 0xb9, 0x23, 0x8c, 0xc, 0xbc, 0x26, 0x0, 0x10, 0xe4, 0xf4, 0xec, 0xfc, 0xec, 0x10, 0xf4, 0xec, 0xc4, 0x10, 0xd4, 0xe4, 0xb6, 0x19, 0x1f, 0xb, 0x17, 0x9, 0xe, 0x0, 0x12, 0x11, 0x39, 0x11, 0x39, 0x12, 0x39, 0x30, 0x40, 0x31, 0x3f, 0x1e, 0x3f, 0x1f, 0x3f, 0x20, 0x3f, 0x21, 0x4f, 0x1e, 0x4f, 0x1f, 0x4f, 0x20, 0x4f, 0x21, 0x5f, 0x1e, 0x5f, 0x1f, 0x5f, 0x20, 0x5f, 0x21, 0x6f, 0x1e, 0x6f, 0x1f, 0x6f, 0x20, 0x6f, 0x21, 0x7f, 0x1e, 0x7f, 0x1f, 0x7f, 0x20, 0x7f, 0x21, 0x8f, 0x1e, 0x8f, 0x1f, 0x8f, 0x20, 0x8f, 0x21, 0x18, 0x5d, 0x40, 0x25, 0x3f, 0x1d, 0x3f, 0x1e, 0x3f, 0x1f, 0x3f, 0x20, 0x3f, 0x21, 0x3f, 0x22, 0x4f, 0x1d, 0x4f, 0x1e, 0x4f, 0x1f, 0x4f, 0x20, 0x4f, 0x21, 0x4f, 0x22, 0x5f, 0x1d, 0x5f, 0x1e, 0x5f, 0x1f, 0x5f, 0x20, 0x5f, 0x21, 0x5f, 0x22, 0x15, 0x1, 0x5d, 0x1, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x7, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x21, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x26, 0x2, 0x1d, 0xdf, 0xac, 0x81, 0x6f, 0x99, 0xb9, 0xb8, 0xb8, 0x3f, 0xbc, 0x88, 0xac, 0xcb, 0xfd, 0xfb, 0xfe, 0xfe, 0xa7, 0x97, 0x60, 0xb6, 0x54, 0x65, 0xbe, 0x5a, 0xf3, 0xf0, 0x2, 0x2b, 0x66, 0x7b, 0x62, 0x73, 0xd9, 0xb4, 0x29, 0x4c, 0x2, 0x7f, 0xaa, 0x66, 0x61, 0xc1, 0xa2, 0xbd, 0xc0, 0x12, 0x7f, 0x8b, 0x2e, 0x2e, 0xaa, 0x27, 0x27, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x5a, 0x4, 0x7b, 0x0, 0x10, 0x0, 0x1c, 0x0, 0x38, 0x40, 0x19, 0x1a, 0xb9, 0x0, 0xe, 0x14, 0xb9, 0x5, 0x8, 0x8c, 0xe, 0xb8, 0x1, 0xbc, 0x3, 0x17, 0x4, 0x0, 0x8, 0x2, 0x47, 0x11, 0x12, 0xb, 0x45, 0x1d, 0x10, 0xfc, 0xec, 0xf4, 0xec, 0x32, 0x32, 0x31, 0x0, 0x2f, 0xec, 0xe4, 0xf4, 0xc4, 0xec, 0x10, 0xc4, 0xee, 0x30, 0xb6, 0x60, 0x1e, 0x80, 0x1e, 0xa0, 0x1e, 0x3, 0x1, 0x5d, 0x1, 0x35, 0x33, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x2, 0x11, 0x10, 0x0, 0x33, 0x32, 0x16, 0x1, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x3, 0xa2, 0xb8, 0xb8, 0x3a, 0xb1, 0x7c, 0xcb, 0xff, 0x0, 0xff, 0xcb, 0x7c, 0xb1, 0xfd, 0xc7, 0xa7, 0x92, 0x92, 0xa8, 0xa8, 0x92, 0x92, 0xa7, 0x3, 0xb6, 0xaa, 0xfb, 0xa0, 0xa8, 0x64, 0x61, 0x1, 0x44, 0x1, 0x8, 0x1, 0x8, 0x1, 0x44, 0x61, 0xfe, 0x15, 0xcb, 0xe7, 0xe7, 0xcb, 0xcb, 0xe7, 0xe7, 0x0, 0x0, 0x2, 0x0, 0xba, 0xff, 0xe3, 0x4, 0xa3, 0x4, 0x7b, 0x0, 0xb, 0x0, 0x1c, 0x0, 0x38, 0x40, 0x19, 0x3, 0xb9, 0xc, 0xf, 0x9, 0xb9, 0x18, 0x15, 0x8c, 0xf, 0xb8, 0x1b, 0xbc, 0x19, 0x0, 0x12, 0x12, 0x47, 0x18, 0xc, 0x6, 0x8, 0x1a, 0x46, 0x1d, 0x10, 0xfc, 0xec, 0x32, 0x32, 0xf4, 0xec, 0x31, 0x0, 0x2f, 0xec, 0xe4, 0xf4, 0xc4, 0xec, 0x10, 0xc6, 0xee, 0x30, 0xb6, 0x60, 0x1e, 0x80, 0x1e, 0xa0, 0x1e, 0x3, 0x1, 0x5d, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x1, 0x3e, 0x1, 0x33, 0x32, 0x0, 0x11, 0x10, 0x2, 0x23, 0x22, 0x26, 0x27, 0x15, 0x23, 0x11, 0x33, 0x3, 0xe5, 0xa7, 0x92, 0x92, 0xa8, 0xa8, 0x92, 0x92, 0xa7, 0xfd, 0x8d, 0x3a, 0xb1, 0x7c, 0xcb, 0x0, 0xff, 0xff, 0xcb, 0x7c, 0xb1, 0x3a, 0xb8, 0xb8, 0x2, 0x2f, 0xcb, 0xe7, 0xe7, 0xcb, 0xcb, 0xe7, 0xe7, 0x2, 0x52, 0x64, 0x61, 0xfe, 0xbc, 0xfe, 0xf8, 0xfe, 0xf8, 0xfe, 0xbc, 0x61, 0x64, 0xaa, 0x4, 0x60, 0x0, 0x2, 0x0, 0xba, 0xff, 0xe3, 0x4, 0xa4, 0x6, 0x14, 0x0, 0xb, 0x0, 0x24, 0x0, 0x43, 0x40, 0x1f, 0x3, 0xb9, 0xc, 0xf, 0x9, 0xb9, 0x18, 0x15, 0x8c, 0xf, 0xb8, 0x19, 0x21, 0xa9, 0x1e, 0x97, 0x19, 0x0, 0x12, 0x12, 0x47, 0x1e, 0x21, 0x1f, 0x18, 0xc, 0x6, 0x8, 0x1a, 0x46, 0x25, 0x10, 0xfc, 0xec, 0x32, 0x32, 0xc4, 0x39, 0x39, 0xf4, 0xec, 0x31, 0x0, 0x2f, 0xfc, 0xec, 0x10, 0xe4, 0xf4, 0xc4, 0xec, 0x10, 0xc6, 0xee, 0x30, 0xb6, 0x60, 0x26, 0x80, 0x26, 0xa0, 0x26, 0x3, 0x1, 0x5d, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x1, 0x3e, 0x1, 0x33, 0x32, 0x0, 0x11, 0x10, 0x2, 0x23, 0x22, 0x26, 0x27, 0x15, 0x23, 0x11, 0x34, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x6, 0x15, 0x3, 0xe5, 0xa7, 0x92, 0x92, 0xa7, 0xa7, 0x92, 0x92, 0xa7, 0xfd, 0x8e, 0x3a, 0xb1, 0x7b, 0xcc, 0x0, 0xff, 0xff, 0xcc, 0x7b, 0xb1, 0x3a, 0xb9, 0xb3, 0xa5, 0xfe, 0xe9, 0x5a, 0x5b, 0x2, 0x2f, 0xcb, 0xe7, 0xe7, 0xcb, 0xcb, 0xe7, 0xe7, 0x2, 0x52, 0x64, 0x61, 0xfe, 0xbc, 0xfe, 0xf8, 0xfe, 0xf8, 0xfe, 0xbc, 0x61, 0x64, 0xa8, 0x4, 0x7e, 0xc3, 0xd3, 0x9c, 0x7d, 0x7d, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x7f, 0xff, 0xe3, 0x3, 0xf5, 0x4, 0x7b, 0x0, 0x19, 0x0, 0x30, 0x40, 0x1b, 0x19, 0x86, 0x0, 0x88, 0x16, 0xb9, 0x3, 0xb8, 0x1a, 0xd, 0x86, 0xc, 0x88, 0x10, 0xb9, 0x9, 0x8c, 0x1a, 0x1b, 0x45, 0x13, 0x12, 0x6, 0x48, 0xd, 0x0, 0x1a, 0x10, 0xdc, 0x3c, 0xf4, 0xec, 0xec, 0x31, 0x0, 0x10, 0xf4, 0xec, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0xf4, 0xec, 0x30, 0x13, 0x3e, 0x1, 0x33, 0x32, 0x0, 0x11, 0x10, 0x0, 0x21, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x7f, 0x4d, 0xa5, 0x5d, 0xfd, 0x1, 0x2a, 0xfe, 0xd3, 0xfe, 0xfa, 0x55, 0xa2, 0x4c, 0x4e, 0x9d, 0x50, 0xb3, 0xc6, 0xc6, 0xb3, 0x50, 0x9d, 0x4e, 0x4, 0x33, 0x24, 0x24, 0xfe, 0xc2, 0xfe, 0xf2, 0xfe, 0xee, 0xfe, 0xc6, 0x23, 0x23, 0xac, 0x2b, 0x2b, 0xe3, 0xcd, 0xcd, 0xe3, 0x2b, 0x2b, 0x0, 0x0, 0x2, 0x0, 0x71, 0xff, 0x73, 0x3, 0xe7, 0x4, 0x7b, 0x0, 0x27, 0x0, 0x2f, 0x0, 0x4f, 0x40, 0xf, 0x28, 0xb, 0x7, 0x2c, 0x2c, 0x12, 0x13, 0x7, 0x12, 0x13, 0x0, 0x48, 0x22, 0x45, 0x30, 0x10, 0xfc, 0xe4, 0x32, 0xec, 0x10, 0xec, 0x11, 0x12, 0x39, 0x39, 0x31, 0x0, 0x40, 0x13, 0x0, 0x86, 0x1, 0x88, 0x4, 0xf, 0xb9, 0x2e, 0x2a, 0xb9, 0x17, 0x4, 0xb9, 0x25, 0xb8, 0x1b, 0x17, 0x8c, 0x30, 0x10, 0xe4, 0xcc, 0xf4, 0xec, 0x10, 0xfc, 0xdc, 0xec, 0x10, 0xf5, 0xee, 0x30, 0x40, 0xb, 0xf, 0x31, 0x10, 0x31, 0x80, 0x31, 0x90, 0x31, 0xa0, 0x31, 0x5, 0x1, 0x5d, 0x1, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x6, 0x15, 0x23, 0x34, 0x37, 0x26, 0x27, 0x26, 0x11, 0x10, 0x0, 0x21, 0x32, 0x16, 0x1, 0x16, 0x33, 0x32, 0x35, 0x34, 0x23, 0x22, 0x3, 0xe7, 0x4e, 0x9d, 0x50, 0xb3, 0xc6, 0x63, 0x7, 0x6, 0x27, 0x3e, 0x49, 0x6a, 0xa3, 0x4a, 0x3f, 0x5f, 0x53, 0x9b, 0x50, 0x49, 0x6, 0x99, 0xc, 0x39, 0x2f, 0x95, 0x1, 0x2d, 0x1, 0x6, 0x55, 0xa2, 0xfe, 0x8a, 0x3a, 0x4d, 0x92, 0x84, 0x65, 0x4, 0x35, 0xac, 0x2b, 0x2b, 0xe3, 0xcd, 0xcd, 0x72, 0x8, 0x6, 0x51, 0x2c, 0x33, 0x48, 0x3d, 0x59, 0x7d, 0x2f, 0x29, 0x11, 0x39, 0x44, 0x68, 0x51, 0x23, 0x33, 0xa1, 0x1, 0xc, 0x1, 0x12, 0x1, 0x3a, 0x23, 0xfc, 0x3a, 0x13, 0x39, 0x4b, 0x0, 0x2, 0x0, 0x71, 0xfe, 0x56, 0x5, 0x40, 0x6, 0x14, 0x0, 0x18, 0x0, 0x24, 0x0, 0x4b, 0x40, 0x24, 0x4, 0x14, 0x12, 0x5, 0x18, 0xa9, 0x0, 0xbd, 0x25, 0x22, 0xb9, 0x11, 0xe, 0x1c, 0xb9, 0x5, 0x8, 0x8c, 0xe, 0xb8, 0x12, 0x97, 0x25, 0x18, 0x4f, 0x1f, 0x4, 0x12, 0x8, 0x13, 0x47, 0x19, 0x12, 0xb, 0x45, 0x25, 0x10, 0xfc, 0xec, 0xf4, 0xec, 0x32, 0x32, 0xe4, 0x31, 0x0, 0x10, 0xec, 0xe4, 0xf4, 0xc4, 0xec, 0x10, 0xc4, 0xee, 0x10, 0xfc, 0xec, 0x11, 0x12, 0x39, 0x39, 0x30, 0xb6, 0x60, 0x1e, 0x80, 0x1e, 0xa0, 0x1e, 0x3, 0x1, 0x5d, 0x1, 0x23, 0x22, 0x26, 0x3d, 0x1, 0xe, 0x1, 0x23, 0x22, 0x2, 0x11, 0x10, 0x0, 0x33, 0x32, 0x16, 0x17, 0x11, 0x33, 0x11, 0x14, 0x16, 0x3b, 0x1, 0x1, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x5, 0x40, 0x46, 0xb5, 0xa3, 0x3a, 0xb1, 0x7c, 0xcb, 0xff, 0x0, 0xff, 0xcb, 0x7c, 0xb1, 0x3a, 0xb8, 0x4c, 0x69, 0x31, 0xfb, 0xef, 0xa7, 0x92, 0x92, 0xa8, 0xa8, 0x92, 0x92, 0xa7, 0xfe, 0x56, 0xc0, 0xd6, 0xbc, 0x64, 0x61, 0x1, 0x44, 0x1, 0x8, 0x1, 0x8, 0x1, 0x44, 0x61, 0x64, 0x2, 0x5e, 0xf9, 0xd8, 0x99, 0x61, 0x3, 0x3d, 0xcb, 0xe7, 0xe7, 0xcb, 0xcb, 0xe7, 0xe7, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0xff, 0xe3, 0x5, 0xb9, 0x6, 0x14, 0x0, 0x18, 0x0, 0x24, 0x0, 0x3d, 0x40, 0x1c, 0x22, 0xb9, 0x0, 0x16, 0x1c, 0xb9, 0xd, 0x10, 0x8c, 0x16, 0xb8, 0x25, 0x6, 0xa9, 0x5, 0x97, 0x25, 0x1f, 0xc, 0x0, 0x8, 0xb, 0x47, 0x19, 0x12, 0x13, 0x45, 0x25, 0x10, 0xfc, 0xec, 0xf4, 0xec, 0x32, 0x32, 0x31, 0x0, 0x10, 0xfc, 0xe4, 0x10, 0xe4, 0xf4, 0xc4, 0xec, 0x10, 0xc4, 0xee, 0x30, 0xb6, 0x60, 0x1e, 0x80, 0x1e, 0xa0, 0x1e, 0x3, 0x1, 0x5d, 0x1, 0x35, 0x34, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x2, 0x11, 0x10, 0x0, 0x33, 0x32, 0x16, 0x1, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x3, 0xa2, 0xa3, 0xb5, 0xbf, 0xaa, 0x69, 0x4c, 0xb8, 0x3a, 0xb1, 0x7c, 0xcb, 0xff, 0x0, 0xff, 0xcb, 0x7c, 0xb1, 0xfd, 0xc7, 0xa7, 0x92, 0x92, 0xa8, 0xa8, 0x92, 0x92, 0xa7, 0x3, 0xb6, 0xc8, 0xd6, 0xc0, 0x9c, 0x61, 0x99, 0xfb, 0x82, 0xa8, 0x64, 0x61, 0x1, 0x44, 0x1, 0x8, 0x1, 0x8, 0x1, 0x44, 0x61, 0xfe, 0x15, 0xcb, 0xe7, 0xe7, 0xcb, 0xcb, 0xe7, 0xe7, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x7f, 0x4, 0x7b, 0x0, 0x19, 0x0, 0x22, 0x0, 0x72, 0x40, 0xd, 0x1b, 0x18, 0x1a, 0x18, 0x12, 0x8, 0x4b, 0x1a, 0x8, 0x10, 0x19, 0x45, 0x23, 0x10, 0xfc, 0xc4, 0xec, 0xf4, 0xec, 0x11, 0x12, 0x39, 0x31, 0x40, 0x17, 0x0, 0x1a, 0x19, 0xf, 0x86, 0x10, 0x88, 0x14, 0x1a, 0xa9, 0x19, 0x14, 0xb9, 0xc, 0x19, 0xbb, 0x1f, 0xb9, 0x4, 0xb8, 0xc, 0x8c, 0x23, 0x0, 0x10, 0xe4, 0xf4, 0xec, 0xe4, 0x10, 0xec, 0x10, 0xec, 0x10, 0xf4, 0xec, 0x11, 0x12, 0x39, 0x30, 0x40, 0x29, 0x3f, 0x24, 0x70, 0x24, 0xa0, 0x24, 0xd0, 0x24, 0xf0, 0x24, 0x5, 0x3f, 0x0, 0x3f, 0x19, 0x3f, 0x18, 0x3f, 0x1a, 0x3f, 0x1b, 0x5, 0x2c, 0x11, 0x2f, 0x10, 0x2f, 0xf, 0x2c, 0xe, 0x6f, 0x0, 0x6f, 0x19, 0x6f, 0x18, 0x6f, 0x1a, 0x6f, 0x1b, 0x9, 0x5d, 0x71, 0x1, 0x5d, 0x13, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x11, 0x10, 0x7, 0x6, 0x21, 0x22, 0x26, 0x27, 0x35, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x21, 0x37, 0x5, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x71, 0x83, 0x84, 0xe2, 0xfc, 0x94, 0x95, 0x9d, 0x9c, 0xfe, 0xf4, 0x6b, 0xd0, 0x63, 0x62, 0x64, 0x63, 0x6a, 0xb7, 0x66, 0x67, 0xc, 0xfc, 0xb2, 0xb8, 0x2, 0x90, 0xe, 0x5d, 0x5c, 0x9a, 0x88, 0x52, 0x53, 0x2, 0x5e, 0xfa, 0x92, 0x91, 0xa1, 0xa2, 0xfe, 0xed, 0xfe, 0xf6, 0x9c, 0x9c, 0x2c, 0x2a, 0xae, 0x34, 0x1a, 0x1a, 0x63, 0x64, 0xbe, 0x90, 0x1, 0x9e, 0x57, 0x57, 0x5a, 0x5a, 0x0, 0x2, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x7f, 0x4, 0x7b, 0x0, 0x14, 0x0, 0x1b, 0x0, 0x41, 0x40, 0x24, 0x0, 0x15, 0x1, 0x9, 0x86, 0x8, 0x88, 0x5, 0x1, 0xa9, 0x15, 0x18, 0xb9, 0x12, 0x15, 0xbb, 0x5, 0xb9, 0xc, 0xb8, 0x12, 0x8c, 0x1c, 0x2, 0x15, 0x1b, 0x1b, 0x8, 0xf, 0x4b, 0x15, 0x12, 0x8, 0x1, 0x45, 0x1c, 0x10, 0xfc, 0xc4, 0xec, 0xf4, 0xec, 0x11, 0x12, 0x39, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xec, 0xe4, 0x10, 0xee, 0x10, 0xee, 0x10, 0xf4, 0xee, 0x11, 0x12, 0x39, 0x30, 0x13, 0x35, 0x21, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x20, 0x0, 0x11, 0x10, 0x0, 0x23, 0x22, 0x0, 0x37, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x37, 0x71, 0x3, 0x4e, 0xc, 0xcd, 0xb7, 0x6a, 0xc7, 0x62, 0x63, 0xd0, 0x6b, 0x1, 0xc, 0x1, 0x39, 0xfe, 0xd7, 0xfc, 0xe2, 0xfe, 0xf9, 0xb8, 0x2, 0xa5, 0x88, 0x9a, 0xb9, 0xe, 0x2, 0x0, 0x5a, 0xbe, 0xc7, 0x34, 0x34, 0xae, 0x2a, 0x2c, 0xfe, 0xc8, 0xfe, 0xf6, 0xfe, 0xed, 0xfe, 0xbd, 0x1, 0x23, 0xc4, 0x97, 0xb4, 0xae, 0x9e, 0x0, 0x0, 0x2, 0x0, 0x7c, 0xff, 0xe3, 0x6, 0x84, 0x4, 0x7b, 0x0, 0xa, 0x0, 0x34, 0x0, 0x77, 0x40, 0x10, 0x36, 0x2e, 0x28, 0x8, 0x27, 0x34, 0x2, 0x12, 0xd, 0x4b, 0x5, 0x12, 0x1f, 0x15, 0x45, 0x35, 0x10, 0xfc, 0xc4, 0xec, 0xfc, 0xec, 0xdc, 0x3c, 0xfc, 0xdc, 0xc4, 0xb6, 0x26, 0x16, 0xb, 0x4, 0x4, 0x2, 0xd, 0x11, 0x12, 0x17, 0x39, 0x31, 0x40, 0xf, 0x2f, 0xa9, 0x2e, 0x27, 0x22, 0x1a, 0xb9, 0x22, 0xb8, 0x35, 0x9, 0xb9, 0x11, 0x8c, 0x35, 0x0, 0x10, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x10, 0xd4, 0xdc, 0xec, 0xb4, 0x1f, 0x86, 0x1e, 0x88, 0x1a, 0x10, 0xf4, 0xec, 0x40, 0xb, 0x5, 0x15, 0xb, 0xd, 0x2, 0x4, 0x26, 0x16, 0x8, 0x22, 0x11, 0x11, 0x12, 0x17, 0x39, 0x30, 0x40, 0xa, 0x34, 0xb, 0x4, 0x5, 0x11, 0x26, 0x16, 0x15, 0x27, 0x15, 0x7, 0xe, 0x10, 0x3c, 0x3c, 0xfc, 0x3c, 0x3c, 0x4, 0x3c, 0x25, 0x36, 0x27, 0x36, 0x27, 0x1, 0x16, 0x17, 0x16, 0x33, 0x32, 0x1, 0x16, 0x15, 0x10, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x26, 0x27, 0x26, 0x7, 0x6, 0x7, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x20, 0x17, 0x16, 0x17, 0x37, 0x33, 0x15, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x26, 0x35, 0x3, 0x4e, 0x66, 0x2, 0x1, 0xa, 0xfd, 0x97, 0x1e, 0x20, 0x52, 0x88, 0xa8, 0x1, 0x60, 0x1f, 0x95, 0x94, 0xfc, 0xe4, 0x82, 0x5c, 0x1c, 0x2, 0xfe, 0x13, 0x1b, 0x4c, 0xd1, 0x6c, 0x61, 0x64, 0x62, 0x63, 0xd0, 0x6b, 0x1, 0xc, 0x9c, 0x24, 0x1b, 0xcb, 0xb8, 0x26, 0x26, 0x69, 0x2b, 0x40, 0xaf, 0x57, 0x52, 0xd6, 0x8a, 0xcf, 0x3e, 0x38, 0xfe, 0x9c, 0x45, 0x23, 0x5a, 0x2, 0x90, 0x60, 0x76, 0xfe, 0xed, 0xa2, 0xa1, 0x91, 0x67, 0x9c, 0x1, 0xbb, 0x27, 0x23, 0x64, 0x1, 0x1, 0x19, 0x1a, 0x34, 0xae, 0x2a, 0x2c, 0x9c, 0x23, 0x29, 0x75, 0x94, 0x99, 0x31, 0x30, 0x9c, 0x60, 0x5a, 0xc8, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x85, 0xff, 0xe3, 0x3, 0xc8, 0x4, 0x7c, 0x12, 0x6, 0x3, 0x49, 0x0, 0x0, 0xff, 0xff, 0x0, 0x85, 0xff, 0xe3, 0x3, 0xc8, 0x4, 0x7c, 0x12, 0x6, 0x3, 0xcb, 0x0, 0x0, 0x0, 0x1, 0x0, 0x85, 0xff, 0xe3, 0x6, 0x2a, 0x4, 0x7c, 0x0, 0x3e, 0x0, 0x69, 0x40, 0x10, 0x40, 0x36, 0x30, 0x8, 0x3c, 0x2f, 0x1e, 0x12, 0x2e, 0x13, 0x12, 0x3, 0x19, 0x27, 0xb, 0x3f, 0x10, 0xdc, 0xc4, 0xc4, 0xd4, 0xec, 0xd4, 0xec, 0xdc, 0x3c, 0xfc, 0xdc, 0xc4, 0x31, 0x40, 0x16, 0x26, 0x86, 0x27, 0x88, 0x22, 0xb9, 0x2a, 0xb8, 0x3f, 0x18, 0xa9, 0x19, 0x3f, 0xb, 0x86, 0xa, 0x88, 0xf, 0xb9, 0x6, 0x8c, 0x3f, 0x0, 0x10, 0xf4, 0xec, 0xfc, 0xec, 0x10, 0xd4, 0xec, 0x10, 0xf4, 0xec, 0xfc, 0xec, 0xb6, 0x3d, 0x2e, 0x0, 0x2a, 0x0, 0x18, 0x19, 0x11, 0x12, 0x39, 0x11, 0x12, 0x39, 0x39, 0xb4, 0x37, 0xa9, 0x36, 0x30, 0x2a, 0x10, 0xd4, 0xdc, 0xec, 0x30, 0xb3, 0x3c, 0x3d, 0x2e, 0x2f, 0x7, 0x4, 0x10, 0x3c, 0x1, 0x1e, 0x1, 0x15, 0x14, 0x4, 0x23, 0x22, 0x27, 0x26, 0x27, 0x35, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x17, 0x37, 0x33, 0x15, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x26, 0x35, 0x5, 0x6, 0x2, 0xc2, 0x7c, 0x8a, 0xfe, 0xfe, 0xee, 0x50, 0x55, 0x54, 0x5a, 0x47, 0x55, 0x55, 0x5d, 0x97, 0x55, 0x54, 0x4e, 0x48, 0x89, 0x94, 0x9b, 0x74, 0x43, 0x44, 0x46, 0x45, 0x77, 0x47, 0x51, 0x50, 0x61, 0x62, 0xaa, 0x4c, 0xc4, 0x71, 0x5f, 0xf, 0xec, 0xb8, 0x26, 0x26, 0x69, 0x2b, 0x40, 0xaf, 0x57, 0x52, 0xfe, 0xe0, 0x40, 0x2, 0x5c, 0x18, 0x92, 0x6c, 0xad, 0xb6, 0xe, 0xe, 0x1c, 0xab, 0x25, 0x13, 0x12, 0x38, 0x38, 0x5a, 0x58, 0x38, 0x33, 0x98, 0x2c, 0x2d, 0x46, 0x40, 0x2e, 0x2e, 0xd, 0xd, 0x1d, 0xa7, 0x18, 0x18, 0x4e, 0x42, 0x6a, 0x86, 0x94, 0x99, 0x31, 0x30, 0x9c, 0x60, 0x5a, 0xc8, 0xa6, 0x46, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0xff, 0xe3, 0x4, 0xc5, 0x4, 0x7c, 0x0, 0x1a, 0x0, 0x2f, 0x0, 0x3b, 0x40, 0xd, 0x17, 0x12, 0x1f, 0x31, 0x12, 0xc, 0x12, 0x26, 0x4, 0x12, 0x2c, 0x45, 0x30, 0x10, 0xfc, 0xec, 0xd4, 0xec, 0xc4, 0xc4, 0xd4, 0xec, 0x31, 0x40, 0xe, 0x0, 0xb9, 0x1b, 0xb8, 0x30, 0x11, 0xa9, 0x12, 0x30, 0x8, 0xb9, 0x29, 0x8c, 0x30, 0x0, 0x10, 0xf4, 0xec, 0x10, 0xd4, 0xec, 0x10, 0xf4, 0xec, 0xb2, 0x23, 0x12, 0x11, 0x11, 0x12, 0x39, 0x30, 0x1, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x1e, 0x1, 0x15, 0x14, 0x4, 0x23, 0x20, 0x0, 0x11, 0x10, 0x37, 0x36, 0x2, 0xf1, 0xfb, 0x60, 0x63, 0x63, 0x68, 0xd2, 0x97, 0x55, 0x54, 0x4e, 0x48, 0x89, 0x94, 0x9b, 0x74, 0x43, 0x44, 0x46, 0x45, 0x68, 0xc4, 0x71, 0x72, 0x3c, 0x3c, 0x70, 0x7c, 0x8a, 0xfe, 0xfe, 0xee, 0xfe, 0xc6, 0xfe, 0xd6, 0x97, 0x97, 0x3, 0xdc, 0x6e, 0x72, 0xcd, 0xd0, 0x6f, 0x74, 0x38, 0x38, 0x5a, 0x58, 0x38, 0x33, 0x98, 0x2c, 0x2d, 0x46, 0x40, 0x2e, 0x2e, 0xa0, 0x4e, 0x4f, 0x8d, 0x5d, 0x40, 0x41, 0x18, 0x18, 0x92, 0x6c, 0xad, 0xb6, 0x1, 0x3e, 0x1, 0xe, 0x1, 0x12, 0x9d, 0x9e, 0x0, 0x1, 0xff, 0xdb, 0xfe, 0x56, 0x2, 0x1c, 0x4, 0x60, 0x0, 0x13, 0x0, 0x4b, 0x40, 0x1f, 0xf, 0x6, 0xb, 0x0, 0xb, 0x87, 0x9, 0xbd, 0x14, 0x2, 0x13, 0xa9, 0x5, 0x10, 0x0, 0xbc, 0x14, 0xc, 0x14, 0x9, 0xa, 0x4f, 0x2, 0x5, 0x1, 0x8, 0x13, 0x10, 0x0, 0x46, 0x14, 0x10, 0xfc, 0x3c, 0x3c, 0xec, 0x32, 0x32, 0xe4, 0x39, 0x12, 0x39, 0x31, 0x0, 0x10, 0xe4, 0xdc, 0x3c, 0xe4, 0x32, 0x10, 0xf4, 0xec, 0x11, 0x12, 0x39, 0x39, 0x30, 0x40, 0xb, 0x10, 0x15, 0x40, 0x15, 0x50, 0x15, 0x60, 0x15, 0x70, 0x15, 0x5, 0x1, 0x5d, 0x13, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x14, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x11, 0x23, 0x35, 0x33, 0xc1, 0xb8, 0xa3, 0xa3, 0xa3, 0xb5, 0x46, 0x31, 0x69, 0x4c, 0xb5, 0xb5, 0x4, 0x60, 0xfe, 0x8, 0xa4, 0xfe, 0x28, 0xd6, 0xc0, 0x9c, 0x61, 0x99, 0x1, 0xd8, 0xa4, 0x0, 0x2, 0x0, 0x71, 0xfe, 0x56, 0x5, 0xb8, 0x6, 0x14, 0x0, 0xb, 0x0, 0x30, 0x0, 0x55, 0x40, 0x29, 0x19, 0xc, 0x1d, 0x9, 0x12, 0x86, 0x13, 0x16, 0xb9, 0xf, 0x3, 0xb9, 0x26, 0x23, 0xb8, 0x1d, 0x2d, 0xa9, 0x2a, 0x97, 0x9, 0xb9, 0xf, 0xbd, 0x1a, 0x1d, 0x2a, 0x2d, 0x2b, 0x26, 0x19, 0x0, 0x8, 0xc, 0x47, 0x6, 0x12, 0x12, 0x20, 0x45, 0x31, 0x10, 0xfc, 0xc4, 0xec, 0xf4, 0xec, 0x32, 0x32, 0xc4, 0x39, 0x39, 0x31, 0x0, 0x2f, 0xc4, 0xe4, 0xec, 0xf4, 0xec, 0x10, 0xf4, 0xc4, 0xec, 0x10, 0xfe, 0xd5, 0xee, 0x11, 0x12, 0x39, 0x39, 0x30, 0xb6, 0x60, 0x32, 0x80, 0x32, 0xa0, 0x32, 0x3, 0x1, 0x5d, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x17, 0x10, 0x2, 0x21, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x3d, 0x1, 0xe, 0x1, 0x23, 0x22, 0x2, 0x11, 0x10, 0x12, 0x33, 0x32, 0x16, 0x17, 0x35, 0x34, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x6, 0x15, 0x3, 0xa2, 0xa5, 0x95, 0x94, 0xa5, 0xa5, 0x94, 0x95, 0xa5, 0xb8, 0xfe, 0xfe, 0xfa, 0x61, 0xac, 0x51, 0x51, 0x9e, 0x52, 0xb5, 0xb4, 0x39, 0xb2, 0x7c, 0xce, 0xfc, 0xfc, 0xce, 0x7c, 0xb2, 0x39, 0xa3, 0xb5, 0xbe, 0xa9, 0x69, 0x4c, 0x2, 0x3d, 0xc8, 0xdc, 0xdc, 0xc8, 0xc7, 0xdc, 0xdc, 0xeb, 0xfe, 0xe2, 0xfe, 0xe9, 0x1d, 0x1e, 0xb3, 0x2c, 0x2a, 0xbd, 0xbf, 0x5b, 0x63, 0x62, 0x1, 0x3a, 0x1, 0x3, 0x1, 0x4, 0x1, 0x3a, 0x62, 0x63, 0xc8, 0xd6, 0xc0, 0x9c, 0x61, 0x99, 0x0, 0x2, 0x0, 0x71, 0xfe, 0x56, 0x4, 0x5a, 0x4, 0x60, 0x0, 0xa, 0x0, 0x23, 0x0, 0x43, 0x40, 0x1f, 0x18, 0xb, 0x1c, 0x8, 0x11, 0x86, 0x12, 0x15, 0xb9, 0xe, 0x2, 0xb9, 0x23, 0xbc, 0x8, 0xb9, 0xe, 0xbd, 0x19, 0x1c, 0x18, 0x0, 0x8, 0xb, 0x47, 0x5, 0x12, 0x11, 0x1f, 0x45, 0x24, 0x10, 0xfc, 0xc4, 0xec, 0xf4, 0xec, 0x32, 0x31, 0x0, 0x2f, 0xc4, 0xe4, 0xec, 0xf4, 0xec, 0x10, 0xfe, 0xd5, 0xee, 0x11, 0x12, 0x39, 0x39, 0x30, 0xb6, 0x60, 0x25, 0x80, 0x25, 0xa0, 0x25, 0x3, 0x1, 0x5d, 0x1, 0x11, 0x21, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x17, 0x10, 0x2, 0x21, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x3d, 0x1, 0xe, 0x1, 0x23, 0x22, 0x2, 0x11, 0x34, 0x12, 0x33, 0x21, 0x3, 0xa2, 0xfe, 0xaa, 0x87, 0x96, 0xa5, 0x94, 0x95, 0xa5, 0xb8, 0xfe, 0xfe, 0xfa, 0x61, 0xac, 0x51, 0x51, 0x9e, 0x52, 0xb5, 0xb4, 0x39, 0xb2, 0x7c, 0xce, 0xfc, 0xfc, 0xce, 0x2, 0x1f, 0x2, 0x3d, 0x1, 0x88, 0xcd, 0xbb, 0xc7, 0xdc, 0xdc, 0xeb, 0xfe, 0xe2, 0xfe, 0xe9, 0x1d, 0x1e, 0xb3, 0x2c, 0x2a, 0xbd, 0xbf, 0x5b, 0x63, 0x62, 0x1, 0x3a, 0x1, 0x3, 0xf9, 0x1, 0x2a, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x4f, 0x4, 0x7b, 0x0, 0x1d, 0x0, 0x38, 0x40, 0x1f, 0x0, 0x5, 0x1b, 0x1, 0xa9, 0x3, 0x1b, 0xb9, 0x8, 0x12, 0x86, 0x11, 0x88, 0x15, 0xb9, 0xe, 0xb8, 0x8, 0x8c, 0x1e, 0x2, 0x0, 0x8, 0x11, 0x34, 0x4, 0x18, 0x12, 0xb, 0x45, 0x1e, 0x10, 0xfc, 0xec, 0xdc, 0xe4, 0xfc, 0xc4, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xec, 0xf4, 0xec, 0x10, 0xfe, 0xd4, 0xee, 0x11, 0x39, 0x39, 0x30, 0x25, 0x11, 0x23, 0x35, 0x21, 0x11, 0xe, 0x1, 0x23, 0x22, 0x0, 0x11, 0x10, 0x0, 0x21, 0x32, 0x16, 0x17, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3, 0xa9, 0x9b, 0x1, 0x41, 0x65, 0xd7, 0x7b, 0xfd, 0xfe, 0xd6, 0x1, 0x2d, 0x1, 0x6, 0x68, 0xc5, 0x5d, 0x5f, 0xc0, 0x63, 0xb3, 0xc6, 0xc6, 0xb3, 0x4f, 0x7c, 0x9e, 0x1, 0x11, 0x8c, 0xfd, 0xf0, 0x24, 0x24, 0x1, 0x3e, 0x1, 0xe, 0x1, 0x12, 0x1, 0x3a, 0x37, 0x37, 0xaa, 0x3e, 0x3e, 0xe3, 0xcd, 0xcd, 0xe3, 0xf, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x60, 0xfe, 0x52, 0x4, 0x64, 0x4, 0x60, 0x0, 0x13, 0x0, 0x23, 0x0, 0x79, 0x40, 0xa, 0x25, 0x2, 0x18, 0x12, 0x7, 0x20, 0x12, 0xd, 0x12, 0x24, 0x10, 0xd4, 0xd4, 0xec, 0xd4, 0xec, 0xd4, 0xc4, 0xb5, 0x0, 0x1c, 0x14, 0x3, 0x18, 0x20, 0x11, 0x12, 0x17, 0x39, 0x31, 0x40, 0xa, 0x14, 0xb9, 0xa, 0xbd, 0x1, 0x13, 0x2, 0x12, 0xbc, 0x24, 0x0, 0x10, 0xe4, 0x32, 0x32, 0x32, 0xf4, 0xec, 0xb3, 0xd, 0x7, 0x1c, 0xa, 0x11, 0x12, 0x39, 0x39, 0x30, 0xb4, 0x13, 0x11, 0x12, 0x12, 0x1c, 0x7, 0x5, 0x10, 0xec, 0xb3, 0x11, 0x12, 0x2, 0x1c, 0x8, 0x10, 0x3c, 0xb4, 0x1, 0x11, 0x2, 0x2, 0x1c, 0x7, 0x5, 0x10, 0xec, 0xb5, 0x0, 0x1, 0x3, 0x2, 0x12, 0x1c, 0x8, 0x10, 0x3c, 0x4, 0x10, 0x3c, 0xb3, 0x3, 0x0, 0x13, 0x0, 0x7, 0xe, 0x10, 0x3c, 0xb3, 0x11, 0x0, 0x1, 0x0, 0x7, 0xe, 0x10, 0x3c, 0x9, 0x1, 0x33, 0x1, 0x16, 0x17, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x33, 0x1, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x2, 0x62, 0x1, 0x42, 0xc0, 0xfe, 0x5f, 0x6a, 0x26, 0x3b, 0x96, 0x96, 0x96, 0x96, 0x3b, 0x26, 0x6a, 0xfe, 0x5f, 0xc0, 0x1, 0x42, 0x43, 0x1f, 0x1c, 0x1c, 0x28, 0x3a, 0x3a, 0x28, 0x1c, 0x1c, 0x1f, 0x1, 0xe8, 0x2, 0x78, 0xfc, 0xdc, 0xb1, 0x53, 0x80, 0x63, 0x81, 0x82, 0x82, 0x81, 0x63, 0x80, 0x53, 0xb1, 0x3, 0x24, 0xfa, 0x8e, 0x1b, 0x18, 0x2d, 0x45, 0x49, 0x64, 0x63, 0x63, 0x64, 0x49, 0x45, 0x2d, 0x18, 0x1b, 0x0, 0x0, 0x0, 0x2, 0x0, 0x60, 0xff, 0xe3, 0x4, 0x64, 0x4, 0x60, 0x0, 0x13, 0x0, 0x23, 0x0, 0x79, 0x40, 0xa, 0x25, 0x2, 0x18, 0x12, 0x7, 0x20, 0x12, 0xd, 0x12, 0x24, 0x10, 0xd4, 0xd4, 0xec, 0xd4, 0xec, 0xd4, 0xc4, 0xb5, 0x0, 0x1c, 0x14, 0x3, 0x18, 0x20, 0x11, 0x12, 0x17, 0x39, 0x31, 0x40, 0xa, 0x14, 0xb9, 0xa, 0x8c, 0x1, 0x13, 0x2, 0x12, 0xbc, 0x24, 0x0, 0x10, 0xe4, 0x32, 0x32, 0x32, 0xf4, 0xec, 0xb3, 0xd, 0x7, 0x1c, 0xa, 0x11, 0x12, 0x39, 0x39, 0x30, 0xb4, 0x13, 0x11, 0x12, 0x12, 0x1c, 0x7, 0x5, 0x10, 0xec, 0xb3, 0x11, 0x12, 0x2, 0x1c, 0x8, 0x10, 0x3c, 0xb4, 0x1, 0x11, 0x2, 0x2, 0x1c, 0x7, 0x5, 0x10, 0xec, 0xb5, 0x0, 0x1, 0x3, 0x2, 0x12, 0x1c, 0x8, 0x10, 0x3c, 0x4, 0x10, 0x3c, 0xb3, 0x3, 0x0, 0x13, 0x0, 0x7, 0xe, 0x10, 0x3c, 0xb3, 0x11, 0x0, 0x1, 0x0, 0x7, 0xe, 0x10, 0x3c, 0x9, 0x1, 0x33, 0x1, 0x16, 0x17, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x33, 0x1, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x2, 0x62, 0x1, 0x29, 0xd9, 0xfe, 0x72, 0x47, 0x2c, 0x45, 0x96, 0x96, 0x96, 0x96, 0x45, 0x2c, 0x47, 0xfe, 0x72, 0xd9, 0x1, 0x29, 0x43, 0x1f, 0x1c, 0x27, 0x1f, 0x38, 0x38, 0x1f, 0x27, 0x1c, 0x1f, 0x2, 0xd1, 0x1, 0x8f, 0xfd, 0xea, 0x62, 0x4c, 0x78, 0x3e, 0x82, 0x81, 0x81, 0x82, 0x3e, 0x78, 0x4c, 0x62, 0x2, 0x16, 0xfc, 0x1f, 0x1b, 0x18, 0x2d, 0x21, 0x40, 0x32, 0x46, 0x46, 0x32, 0x40, 0x21, 0x2d, 0x18, 0x1b, 0x0, 0x0, 0x0, 0x1, 0x0, 0xae, 0xfe, 0x56, 0x4, 0x58, 0x4, 0x60, 0x0, 0x13, 0x0, 0x39, 0x40, 0x1b, 0x3, 0x9, 0x0, 0x3, 0xe, 0x1, 0x6, 0x87, 0xe, 0x11, 0x8c, 0xa, 0x1, 0xbc, 0xc, 0xbd, 0x14, 0xd, 0x9, 0x8, 0xb, 0x4e, 0x2, 0x8, 0x0, 0x46, 0x14, 0x10, 0xfc, 0xec, 0xf4, 0xec, 0x32, 0x31, 0x0, 0x10, 0xe4, 0xe4, 0x32, 0xf4, 0xc4, 0xec, 0x11, 0x12, 0x17, 0x39, 0x30, 0xb4, 0x60, 0x15, 0xcf, 0x15, 0x2, 0x1, 0x5d, 0x13, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x23, 0x11, 0xe, 0x1, 0x23, 0x22, 0x26, 0xae, 0xb8, 0x7c, 0x7c, 0x95, 0xad, 0xb8, 0xb8, 0x43, 0xb1, 0x75, 0xc1, 0xc8, 0x1, 0xba, 0x2, 0xa6, 0xfd, 0x61, 0x9f, 0x9f, 0xbe, 0xa4, 0x2, 0x7b, 0xf9, 0xf6, 0x2, 0x56, 0x66, 0x63, 0xf0, 0x0, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x4, 0x64, 0x6, 0x14, 0x0, 0x1b, 0x0, 0x43, 0x40, 0x21, 0x3, 0x9, 0x0, 0x3, 0x16, 0x1, 0x6, 0x87, 0x16, 0x19, 0xb8, 0x1c, 0xc, 0x15, 0x12, 0xa9, 0xf, 0x97, 0xa, 0x1, 0x2, 0x8, 0x0, 0x4e, 0xf, 0x12, 0x10, 0x15, 0x9, 0x8, 0xb, 0x46, 0x1c, 0x10, 0xfc, 0xec, 0x32, 0xc4, 0x39, 0x39, 0xf4, 0xec, 0x31, 0x0, 0x2f, 0x3c, 0xfc, 0xec, 0x39, 0x39, 0x10, 0xf4, 0xc4, 0xec, 0x11, 0x12, 0x17, 0x39, 0x30, 0xb2, 0x60, 0x1d, 0x1, 0x1, 0x5d, 0x1, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x34, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x4, 0x64, 0xb8, 0x7c, 0x7c, 0x95, 0xac, 0xb9, 0xa3, 0xb5, 0xfe, 0xe7, 0x69, 0x4d, 0x42, 0xb3, 0x75, 0xc1, 0xc6, 0x2, 0xa4, 0xfd, 0x5c, 0x2, 0x9e, 0x9f, 0x9e, 0xbe, 0xa4, 0xfd, 0x87, 0x4, 0x7e, 0xd6, 0xc0, 0x9c, 0x61, 0x99, 0xcc, 0x65, 0x64, 0xef, 0x0, 0x0, 0x1, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x6, 0x14, 0x0, 0x21, 0x0, 0x4a, 0x40, 0x25, 0x3, 0x9, 0x0, 0x3, 0x1d, 0x1, 0xd, 0x87, 0x1d, 0x1f, 0xb8, 0x22, 0x13, 0x1c, 0x19, 0xa9, 0x16, 0x97, 0x12, 0x7, 0x87, 0x4, 0x12, 0x6, 0xa, 0x8, 0x0, 0x4e, 0x16, 0x19, 0x17, 0x1c, 0x10, 0x8, 0x12, 0x46, 0x22, 0x10, 0xfc, 0xec, 0x32, 0xc4, 0x39, 0x39, 0xf4, 0xec, 0xc4, 0x31, 0x0, 0x2f, 0xdc, 0xec, 0x10, 0xfc, 0xec, 0x39, 0x39, 0x10, 0xf4, 0xc4, 0xec, 0x11, 0x12, 0x17, 0x39, 0x30, 0xb2, 0x60, 0x23, 0x1, 0x1, 0x5d, 0x1, 0x11, 0x14, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x11, 0x10, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x34, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x36, 0x33, 0x32, 0x16, 0x4, 0x64, 0xa3, 0xb5, 0xfe, 0xe9, 0x69, 0x4c, 0xf8, 0x95, 0xac, 0xb9, 0xa3, 0xb5, 0xfe, 0xe7, 0x69, 0x4d, 0x83, 0xe7, 0xc1, 0xc6, 0x2, 0xa4, 0xfd, 0x48, 0xd6, 0xc0, 0x9c, 0x61, 0x99, 0x2, 0xb2, 0x1, 0x3d, 0xbe, 0xa4, 0xfd, 0x87, 0x4, 0x7e, 0xd6, 0xc0, 0x9c, 0x61, 0x99, 0xcc, 0xc9, 0xef, 0x0, 0x0, 0x2, 0x0, 0xe, 0x0, 0x0, 0x2, 0x1e, 0x6, 0x14, 0x0, 0xb, 0x0, 0xf, 0x0, 0x3e, 0x40, 0x18, 0xe, 0xbe, 0xc, 0xb1, 0x6, 0x2, 0xb, 0xa9, 0x5, 0x8, 0x0, 0xbc, 0x6, 0x5, 0x2, 0xd, 0x1, 0x8, 0x8, 0xb, 0xc, 0x0, 0x46, 0x10, 0x10, 0xfc, 0x3c, 0x3c, 0x3c, 0xec, 0x32, 0x32, 0x32, 0x31, 0x0, 0x2f, 0xe4, 0xdc, 0x3c, 0xec, 0x32, 0x10, 0xfc, 0xec, 0x30, 0x40, 0xb, 0x10, 0x11, 0x40, 0x11, 0x50, 0x11, 0x60, 0x11, 0x70, 0x11, 0x5, 0x1, 0x5d, 0x13, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x11, 0x33, 0x15, 0x23, 0xc2, 0xb8, 0xa4, 0xa4, 0xb8, 0xb4, 0xb4, 0xb8, 0xb8, 0x4, 0x60, 0xfe, 0x8, 0xa4, 0xfe, 0x3c, 0x1, 0xc4, 0xa4, 0x3, 0xac, 0xe9, 0xff, 0xff, 0x0, 0xa6, 0x0, 0x0, 0x2, 0x6e, 0x4, 0x60, 0x10, 0x6, 0x3, 0x4d, 0x0, 0x0, 0x0, 0x1, 0x0, 0x74, 0x0, 0x0, 0x2, 0x84, 0x4, 0x60, 0x0, 0xb, 0x0, 0x27, 0x40, 0xa, 0x3, 0x6, 0x8, 0x4, 0x8, 0x0, 0x9, 0x8, 0xa, 0xc, 0x10, 0xdc, 0xec, 0x32, 0xfc, 0xec, 0x32, 0x31, 0x0, 0x40, 0x9, 0x4, 0xb, 0xa9, 0x1, 0xbc, 0x5, 0x9, 0xa9, 0x8, 0x2f, 0xec, 0x32, 0xfc, 0xec, 0x32, 0x30, 0x13, 0x35, 0x21, 0x15, 0x23, 0x11, 0x33, 0x15, 0x21, 0x35, 0x33, 0x11, 0x74, 0x2, 0x10, 0xa8, 0xa8, 0xfd, 0xf0, 0xb0, 0x3, 0xbc, 0xa4, 0xa4, 0xfc, 0xe8, 0xa4, 0xa4, 0x3, 0x18, 0x0, 0x0, 0x1, 0x0, 0x4b, 0x0, 0x0, 0x2, 0xdf, 0x6, 0x14, 0x0, 0x23, 0x0, 0x3c, 0x40, 0xd, 0x25, 0xb, 0x56, 0xa, 0x12, 0x1, 0x8, 0x0, 0x13, 0x1c, 0x56, 0x1d, 0x24, 0x10, 0xdc, 0xfc, 0xdc, 0x3c, 0xfc, 0x3c, 0xdc, 0xfc, 0xd4, 0x31, 0x40, 0x12, 0x14, 0x11, 0x2, 0x23, 0x4, 0xf, 0x21, 0x6, 0xc3, 0xf, 0x1d, 0xb, 0x21, 0xc3, 0x18, 0x0, 0x97, 0x13, 0x0, 0x2f, 0xe4, 0x2f, 0xec, 0x32, 0xd4, 0x3c, 0xec, 0x11, 0x12, 0x17, 0x39, 0x30, 0x1, 0x33, 0x11, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x33, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x11, 0x23, 0x11, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x23, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x1, 0x3d, 0xb8, 0x2, 0x1, 0x11, 0xd, 0x26, 0x12, 0x12, 0x2, 0x7d, 0x2, 0x33, 0x33, 0x5b, 0x14, 0x13, 0xb8, 0x6, 0x5, 0x11, 0xd, 0x26, 0x12, 0x12, 0x2, 0x7d, 0x2, 0x33, 0x33, 0x5b, 0x19, 0x16, 0x6, 0x14, 0xfc, 0xed, 0x1, 0x1, 0x9, 0x25, 0x24, 0x52, 0x87, 0x49, 0x4a, 0x4, 0xfd, 0x85, 0x3, 0x2, 0x4, 0x3, 0x9, 0x25, 0x24, 0x52, 0x87, 0x49, 0x4a, 0x6, 0x0, 0x2, 0x0, 0x4d, 0x0, 0x0, 0x3, 0x54, 0x6, 0x14, 0x0, 0x11, 0x0, 0x18, 0x0, 0x35, 0x40, 0xb, 0x1a, 0x4, 0x5, 0x1, 0x8, 0x12, 0x0, 0x7, 0x16, 0xd, 0x19, 0x10, 0xdc, 0xdc, 0xd4, 0x3c, 0x32, 0xfc, 0x3c, 0xdc, 0xc4, 0x31, 0x40, 0xe, 0x11, 0xf, 0xb9, 0x14, 0xa, 0x5, 0xa9, 0x12, 0x2, 0x2, 0x7, 0x0, 0x97, 0x7, 0x0, 0x2f, 0xe4, 0x11, 0x39, 0x2f, 0x3c, 0xec, 0x32, 0xd4, 0xec, 0xc4, 0x30, 0x1, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, 0x34, 0x27, 0x23, 0x20, 0x37, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x14, 0x33, 0x1, 0xa2, 0xb8, 0xfa, 0xfa, 0xb8, 0x1, 0x3d, 0xfe, 0xe8, 0x1, 0x1, 0xf5, 0x35, 0x2a, 0x10, 0x17, 0x37, 0x4d, 0x1, 0x5c, 0x6, 0x14, 0xfc, 0xfe, 0xa0, 0xfd, 0x8e, 0x2, 0x54, 0xf, 0xf, 0xbd, 0xf6, 0x19, 0xfa, 0x84, 0x4b, 0x39, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc1, 0xfe, 0x56, 0x2, 0x5f, 0x6, 0x14, 0x0, 0xb, 0x0, 0x28, 0x40, 0x7, 0xd, 0x6, 0x0, 0x8, 0xb, 0x46, 0xc, 0x10, 0xfc, 0xfc, 0xd4, 0xc4, 0x31, 0x0, 0x40, 0xc, 0xa, 0x1, 0x5, 0x0, 0xb, 0x97, 0xc, 0x5, 0x87, 0x6, 0xbd, 0xc, 0x10, 0xf4, 0xec, 0x10, 0xe4, 0x11, 0x12, 0x39, 0x39, 0x30, 0x1, 0x11, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x26, 0x35, 0x11, 0x1, 0x79, 0x3d, 0x78, 0x31, 0x46, 0xbf, 0x99, 0x6, 0x14, 0xf9, 0xce, 0x7c, 0x74, 0x9c, 0xcc, 0xca, 0x6, 0x28, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc1, 0xfe, 0x4c, 0x5, 0x36, 0x6, 0x14, 0x0, 0x24, 0x0, 0xb2, 0x40, 0xe, 0x1b, 0x23, 0x15, 0x12, 0x26, 0x6, 0xe, 0x23, 0x1d, 0x22, 0x8, 0x20, 0x46, 0x25, 0x10, 0xfc, 0xfc, 0x3c, 0xd4, 0xc4, 0xd4, 0xc4, 0xec, 0x10, 0xcc, 0xb2, 0x0, 0x23, 0x1b, 0x11, 0x12, 0x39, 0x31, 0x40, 0x18, 0x1b, 0x42, 0x0, 0xa9, 0x1a, 0x1a, 0x22, 0x1f, 0x1d, 0xa9, 0x22, 0xe, 0x86, 0xd, 0x93, 0x11, 0xb9, 0x9, 0xbd, 0x22, 0xbc, 0x20, 0x97, 0x1f, 0x0, 0x2f, 0xe4, 0xe4, 0xfc, 0xec, 0xf4, 0xec, 0x10, 0xec, 0x11, 0x12, 0x39, 0x2f, 0xec, 0xec, 0xb3, 0x15, 0x6, 0x0, 0x9, 0x11, 0x12, 0x39, 0x39, 0x30, 0x40, 0x8, 0x1b, 0x11, 0x0, 0x1c, 0x11, 0x24, 0x1a, 0x23, 0x7, 0x5, 0x10, 0xec, 0x4, 0x10, 0xec, 0x40, 0x1b, 0xc, 0x1c, 0xa, 0x0, 0x1b, 0x1c, 0x19, 0x0, 0x2a, 0x1c, 0x2a, 0x0, 0x38, 0x0, 0x3b, 0x1c, 0x49, 0x0, 0x4c, 0x1c, 0x54, 0x0, 0x5b, 0x1c, 0x71, 0x0, 0xd, 0x1, 0x5d, 0x40, 0x1b, 0x4, 0x1b, 0x4, 0x24, 0x14, 0x1b, 0x14, 0x24, 0x25, 0x1b, 0x24, 0x24, 0x35, 0x24, 0x37, 0x1b, 0x45, 0x24, 0x46, 0x1b, 0x54, 0x24, 0x5c, 0x1b, 0x7f, 0x1b, 0xd, 0x0, 0x5d, 0x40, 0x9, 0x7, 0xb, 0x6, 0xc, 0x1a, 0xc, 0x1a, 0xf, 0x4, 0x5d, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x4, 0x21, 0x22, 0x27, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2b, 0x1, 0x35, 0x1, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x15, 0x3, 0x43, 0x69, 0x81, 0x63, 0x55, 0x51, 0xfe, 0xd0, 0xfe, 0xe8, 0x5e, 0x63, 0x64, 0x6a, 0x54, 0xc8, 0x6d, 0xbe, 0x63, 0x64, 0x5c, 0x5b, 0xa7, 0xae, 0x1, 0xae, 0xfd, 0x6a, 0xb8, 0xb8, 0x3, 0x65, 0x1, 0xdc, 0x38, 0x2b, 0x6c, 0x68, 0x8a, 0xdd, 0xf2, 0x12, 0x13, 0x25, 0xc3, 0x31, 0x32, 0x4b, 0x4b, 0x8f, 0x84, 0x4b, 0x4a, 0xa6, 0x1, 0xf3, 0xfc, 0x33, 0x6, 0x14, 0xfe, 0x4c, 0xa8, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0xff, 0xe6, 0x7, 0x1d, 0x4, 0x62, 0x0, 0x26, 0x0, 0x5e, 0x40, 0x11, 0x0, 0x12, 0x14, 0x1e, 0x1b, 0x8, 0x1d, 0x50, 0x12, 0x8, 0x14, 0x50, 0xa, 0x8, 0x8, 0x46, 0x27, 0x10, 0xfc, 0xec, 0xfc, 0xfc, 0xfc, 0xfc, 0x3c, 0x11, 0x12, 0x39, 0x31, 0x40, 0x16, 0x7, 0x14, 0xa, 0x1a, 0x11, 0x0, 0x6, 0x1f, 0x8, 0xd, 0x17, 0x87, 0x1f, 0x4, 0x23, 0x8c, 0x27, 0x1b, 0x12, 0x8, 0xbc, 0x27, 0x0, 0x10, 0xf4, 0x3c, 0x3c, 0x10, 0xf4, 0x3c, 0xc4, 0xec, 0x32, 0x11, 0x12, 0x17, 0x39, 0x30, 0x40, 0x13, 0x30, 0x28, 0x50, 0x28, 0x70, 0x28, 0x90, 0x28, 0xa0, 0x28, 0xa0, 0x28, 0xbf, 0x28, 0xdf, 0x28, 0xff, 0x28, 0x9, 0x1, 0x5d, 0x25, 0x6, 0x7, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x23, 0x35, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x3, 0xae, 0x43, 0x62, 0x60, 0x82, 0xaf, 0xbe, 0xb9, 0x72, 0x75, 0x8f, 0x53, 0x53, 0xb9, 0x72, 0x77, 0x8d, 0xa6, 0xb9, 0xb9, 0x3d, 0x5a, 0x58, 0x79, 0x7a, 0x56, 0x55, 0xd8, 0x79, 0x3d, 0x3c, 0xf6, 0xe2, 0x2, 0xa4, 0xfd, 0x62, 0xa2, 0x9c, 0x60, 0x5e, 0xa4, 0x2, 0x7a, 0xfd, 0x62, 0xa2, 0x9c, 0xc0, 0xa2, 0x2, 0x7a, 0xfb, 0x9e, 0xb0, 0x65, 0x33, 0x32, 0x3e, 0x3e, 0x0, 0x1, 0x0, 0xba, 0xfe, 0x56, 0x7, 0x1d, 0x4, 0x62, 0x0, 0x26, 0x0, 0x61, 0x40, 0x11, 0x0, 0x12, 0x14, 0x1e, 0x1b, 0x8, 0x1d, 0x50, 0x12, 0x8, 0x14, 0x50, 0xa, 0x8, 0x8, 0x46, 0x27, 0x10, 0xfc, 0xec, 0xfc, 0xfc, 0xfc, 0xfc, 0x3c, 0x11, 0x12, 0x39, 0x31, 0x40, 0x18, 0x7, 0x14, 0xa, 0x1a, 0x11, 0x0, 0x6, 0x1f, 0x8, 0xd, 0x17, 0x87, 0x1f, 0x4, 0x23, 0x8c, 0x27, 0x1b, 0x12, 0x8, 0xbc, 0x1d, 0xbd, 0x27, 0x0, 0x10, 0xec, 0xf4, 0x3c, 0x3c, 0x10, 0xf4, 0x3c, 0xc4, 0xec, 0x32, 0x11, 0x12, 0x17, 0x39, 0x30, 0x40, 0x13, 0x30, 0x28, 0x50, 0x28, 0x70, 0x28, 0x90, 0x28, 0xa0, 0x28, 0xa0, 0x28, 0xbf, 0x28, 0xdf, 0x28, 0xff, 0x28, 0x9, 0x1, 0x5d, 0x25, 0x6, 0x7, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x23, 0x11, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x3, 0xae, 0x43, 0x62, 0x60, 0x82, 0xaf, 0xbe, 0xb9, 0x72, 0x75, 0x8f, 0x53, 0x53, 0xb9, 0x72, 0x77, 0x8d, 0xa6, 0xb9, 0xb9, 0x3d, 0x5a, 0x58, 0x79, 0x7a, 0x56, 0x55, 0xd8, 0x79, 0x3d, 0x3c, 0xf6, 0xe2, 0x2, 0xa4, 0xfd, 0x62, 0xa2, 0x9c, 0x60, 0x5e, 0xa4, 0x2, 0x7a, 0xfd, 0x62, 0xa2, 0x9c, 0xc0, 0xa2, 0x2, 0x7a, 0xf9, 0xf4, 0x2, 0x5a, 0x65, 0x33, 0x32, 0x3e, 0x3e, 0x0, 0x1, 0x0, 0xba, 0xfe, 0x56, 0x7, 0x1d, 0x4, 0x7b, 0x0, 0x30, 0x0, 0x63, 0x40, 0x12, 0xe, 0x0, 0x11, 0xf, 0x13, 0x8, 0x7, 0x50, 0x1c, 0x8, 0x1a, 0x50, 0x29, 0x25, 0x8, 0x27, 0x46, 0x31, 0x10, 0xfc, 0xec, 0x32, 0xfc, 0xfc, 0xfc, 0xec, 0x11, 0x12, 0x39, 0xcc, 0x31, 0x0, 0x40, 0x18, 0xe, 0x87, 0xd, 0x1b, 0x7, 0x1d, 0x14, 0x25, 0x1a, 0x0, 0x6, 0x2a, 0x1b, 0x21, 0x17, 0x87, 0x2a, 0x2d, 0x3, 0xb8, 0x28, 0xbc, 0x26, 0x1b, 0x2f, 0x3c, 0xe4, 0xf4, 0x3c, 0xc4, 0xec, 0x32, 0x11, 0x12, 0x17, 0x39, 0x10, 0xd4, 0xec, 0x30, 0x1, 0x40, 0x13, 0x30, 0x32, 0x50, 0x32, 0x70, 0x32, 0x90, 0x32, 0xa0, 0x32, 0xa0, 0x32, 0xbf, 0x32, 0xdf, 0x32, 0xff, 0x32, 0x9, 0x5d, 0x1, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x15, 0x11, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x3, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x4, 0x29, 0x45, 0xc0, 0x82, 0xaf, 0x5f, 0x5f, 0x52, 0x51, 0xb5, 0xfe, 0xe9, 0x69, 0x26, 0x26, 0x1, 0x72, 0x75, 0x8f, 0xa6, 0xb9, 0x39, 0x39, 0x77, 0x8d, 0x53, 0x53, 0xb9, 0xb9, 0x3f, 0xb0, 0x79, 0x7a, 0x55, 0x56, 0x3, 0x89, 0x7c, 0x76, 0x7b, 0x7a, 0xe2, 0xfd, 0x48, 0xd6, 0x60, 0x60, 0x9c, 0x30, 0x31, 0x99, 0x2, 0xb2, 0xa1, 0x9c, 0xbe, 0xa4, 0xfd, 0x87, 0x2, 0x9e, 0xa2, 0x4e, 0x4d, 0x5f, 0x60, 0xa3, 0xfd, 0x87, 0x4, 0x60, 0xae, 0x67, 0x62, 0x3e, 0x3e, 0x0, 0x0, 0x1, 0xff, 0xdb, 0xfe, 0x56, 0x4, 0x6b, 0x4, 0x7b, 0x0, 0x1b, 0x0, 0x51, 0x40, 0xf, 0x2, 0x8, 0x0, 0x4e, 0x10, 0x1c, 0xd, 0xe, 0x4f, 0xa, 0x15, 0x8, 0x14, 0x46, 0x1c, 0x10, 0xfc, 0xec, 0x32, 0xe4, 0x39, 0x12, 0x39, 0xf4, 0xec, 0x31, 0x0, 0x40, 0xe, 0x3, 0x9, 0x0, 0x3, 0x16, 0x1, 0x6, 0x87, 0x16, 0x19, 0xb8, 0x14, 0xbc, 0x1, 0x2f, 0xe4, 0xf4, 0xc4, 0xec, 0x11, 0x12, 0x17, 0x39, 0x40, 0x9, 0x13, 0xa, 0xf, 0x14, 0xf, 0x87, 0xd, 0xbd, 0x1c, 0x10, 0xf4, 0xec, 0x11, 0x12, 0x39, 0x39, 0x30, 0xb4, 0x60, 0x1d, 0xcf, 0x1d, 0x2, 0x1, 0x5d, 0x1, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x14, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x4, 0x6b, 0xb8, 0x7c, 0x7c, 0x95, 0xad, 0xa3, 0xb5, 0x46, 0x31, 0x69, 0x4c, 0xb9, 0x42, 0xb3, 0x75, 0xc1, 0xc6, 0x2, 0xa4, 0xfd, 0x5c, 0x2, 0x9e, 0x9f, 0x9e, 0xbe, 0xa4, 0xfd, 0x73, 0xd6, 0xc0, 0x9c, 0x61, 0x99, 0x4, 0x74, 0xae, 0x65, 0x64, 0xef, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0xfe, 0x56, 0x5, 0x4a, 0x4, 0x7b, 0x0, 0x1d, 0x0, 0x3b, 0x40, 0xc, 0x17, 0x1a, 0x3, 0x8, 0x15, 0x4e, 0x9, 0xd, 0x8, 0xc, 0x46, 0x1e, 0x10, 0xfc, 0xec, 0x32, 0xf4, 0xec, 0xdc, 0xc4, 0x31, 0x40, 0xd, 0x6, 0x87, 0xe, 0x11, 0xb8, 0xc, 0xbc, 0xb, 0x1a, 0xa9, 0x1b, 0xbd, 0xb, 0x0, 0x2f, 0xfc, 0xec, 0x10, 0xe4, 0xf4, 0xc4, 0xec, 0xb5, 0x9, 0x3, 0x14, 0x3, 0xe, 0xa, 0x11, 0x12, 0x17, 0x39, 0x30, 0x1, 0x26, 0x35, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x3, 0xfe, 0x52, 0x7c, 0x7c, 0x95, 0xac, 0xb9, 0xb9, 0x42, 0xb3, 0x75, 0xc1, 0xc6, 0x26, 0x26, 0x69, 0x31, 0x46, 0xb5, 0xfe, 0xb6, 0x60, 0xd6, 0x2, 0xb2, 0x9f, 0x9e, 0xbe, 0xa4, 0xfd, 0x87, 0x4, 0x60, 0xae, 0x65, 0x64, 0xef, 0xe8, 0xfd, 0x48, 0x99, 0x31, 0x30, 0x9c, 0x0, 0x1, 0x0, 0xb3, 0x0, 0x0, 0x4, 0x64, 0x4, 0x60, 0x0, 0x9, 0x0, 0x79, 0x40, 0x1e, 0x7, 0x11, 0x1, 0x2, 0x1, 0x2, 0x11, 0x6, 0x7, 0x6, 0x42, 0x7, 0x2, 0x3, 0x0, 0xbc, 0x8, 0x5, 0x6, 0x1, 0x7, 0x2, 0x8, 0x4, 0x4e, 0x7, 0x8, 0x0, 0x46, 0xa, 0x10, 0xfc, 0xec, 0xfc, 0xec, 0x11, 0x39, 0x39, 0x31, 0x0, 0x2f, 0x3c, 0xec, 0x32, 0x39, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x4, 0xed, 0x7, 0x10, 0x4, 0xed, 0x59, 0x22, 0xb2, 0x1f, 0xb, 0x1, 0x1, 0x5d, 0x40, 0x30, 0x36, 0x2, 0x38, 0x7, 0x48, 0x2, 0x47, 0x7, 0x69, 0x2, 0x66, 0x7, 0x80, 0x2, 0x7, 0x6, 0x1, 0x9, 0x6, 0x15, 0x1, 0x1a, 0x6, 0x46, 0x1, 0x49, 0x6, 0x57, 0x1, 0x58, 0x6, 0x65, 0x1, 0x69, 0x6, 0x79, 0x6, 0x85, 0x1, 0x8a, 0x6, 0x95, 0x1, 0x9a, 0x6, 0x9f, 0xb, 0x10, 0x5d, 0x0, 0x5d, 0x13, 0x21, 0x1, 0x11, 0x33, 0x11, 0x21, 0x1, 0x11, 0x23, 0xb3, 0x1, 0x10, 0x1, 0xdd, 0xc4, 0xfe, 0xf0, 0xfe, 0x23, 0xc4, 0x4, 0x60, 0xfc, 0x79, 0x3, 0x87, 0xfb, 0xa0, 0x3, 0x6c, 0xfc, 0x94, 0x0, 0x3, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x4, 0x7b, 0x0, 0x6, 0x0, 0xd, 0x0, 0x19, 0x0, 0x2c, 0x40, 0x18, 0x4, 0xa9, 0xb, 0x7, 0xb9, 0x14, 0x0, 0xb9, 0xe, 0xb8, 0x14, 0x8c, 0x1a, 0xa, 0x4, 0x12, 0x11, 0x51, 0xb, 0x3, 0x12, 0x17, 0x45, 0x1a, 0x10, 0xfc, 0xec, 0x32, 0xf4, 0xec, 0x32, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xec, 0x10, 0xee, 0xdc, 0xec, 0x30, 0x1, 0x22, 0x6, 0x7, 0x21, 0x2e, 0x1, 0x3, 0x32, 0x36, 0x35, 0x21, 0x14, 0x16, 0x13, 0x32, 0x0, 0x11, 0x10, 0x0, 0x23, 0x22, 0x0, 0x11, 0x10, 0x0, 0x2, 0x71, 0x93, 0x95, 0x12, 0x2, 0x74, 0x12, 0x95, 0x92, 0x95, 0xa8, 0xfd, 0x86, 0xa8, 0x96, 0xf0, 0x1, 0x12, 0xfe, 0xee, 0xf0, 0xf1, 0xfe, 0xef, 0x1, 0x11, 0x3, 0xdf, 0xc1, 0x7f, 0x7f, 0xc1, 0xfc, 0xa0, 0xe8, 0x94, 0x94, 0xe8, 0x3, 0xfc, 0xfe, 0xc8, 0xfe, 0xec, 0xfe, 0xed, 0xfe, 0xc7, 0x1, 0x39, 0x1, 0x13, 0x1, 0x14, 0x1, 0x38, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0x0, 0x0, 0x6, 0x24, 0x4, 0x60, 0x0, 0x12, 0x0, 0x1d, 0x0, 0x49, 0x40, 0xd, 0x1f, 0x4, 0x0, 0x9, 0x6, 0x2, 0x8, 0x13, 0x18, 0x12, 0xe, 0x45, 0x1e, 0x10, 0xfc, 0xec, 0xd4, 0xec, 0x32, 0xd4, 0xc4, 0xc4, 0xc4, 0xb3, 0xa, 0x12, 0x2, 0x13, 0x11, 0x12, 0x39, 0x39, 0x31, 0x40, 0xa, 0x2, 0x13, 0xa9, 0x12, 0xbc, 0xa, 0x1d, 0x7, 0xa9, 0xa, 0x0, 0x2f, 0xfc, 0x3c, 0x10, 0xf4, 0xfc, 0x3c, 0x40, 0x8, 0x3, 0xa9, 0x6, 0x6, 0xe, 0xe, 0x13, 0xa, 0x11, 0x12, 0x39, 0x10, 0xd0, 0x2f, 0xec, 0x30, 0x1, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x20, 0x27, 0x26, 0x11, 0x10, 0x37, 0x36, 0x21, 0x17, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x6, 0x16, 0xfd, 0xd4, 0x2, 0x15, 0xfd, 0xeb, 0x2, 0x3a, 0xfc, 0xe1, 0xfe, 0xbb, 0xa7, 0xa8, 0xa8, 0xa7, 0x1, 0x45, 0x2a, 0x25, 0xf0, 0x78, 0x78, 0x78, 0x78, 0xf0, 0x25, 0x4, 0x60, 0x9a, 0xfe, 0xdd, 0x9b, 0xfe, 0x94, 0x9c, 0x8e, 0x8f, 0x1, 0x14, 0x1, 0x12, 0x8e, 0x8f, 0x82, 0x6c, 0x6b, 0xd8, 0xd9, 0x6c, 0x6d, 0x0, 0x2, 0x0, 0x94, 0xff, 0xdc, 0x5, 0x3e, 0x4, 0x7c, 0x0, 0x13, 0x0, 0x24, 0x0, 0x32, 0x40, 0xd, 0x26, 0x45, 0x7, 0x12, 0x19, 0x13, 0x8, 0x0, 0xc, 0x12, 0x14, 0x45, 0x25, 0x10, 0xfc, 0xec, 0xd4, 0xfc, 0xd4, 0xec, 0xec, 0x31, 0x0, 0x40, 0xd, 0x0, 0xa, 0x87, 0x17, 0x3, 0xf, 0x87, 0x1e, 0x23, 0x8c, 0x17, 0xb8, 0x25, 0x10, 0xe4, 0xf4, 0x3c, 0xec, 0x32, 0x10, 0xec, 0xc4, 0x30, 0x1, 0x15, 0x14, 0x16, 0x32, 0x37, 0x36, 0x35, 0x10, 0x2, 0x20, 0x2, 0x11, 0x14, 0x17, 0x16, 0x32, 0x36, 0x3d, 0x1, 0x5, 0x10, 0x0, 0x20, 0x0, 0x11, 0x14, 0x6, 0x7, 0x6, 0x22, 0x26, 0x27, 0xe, 0x1, 0x22, 0x26, 0x3, 0x48, 0x60, 0x6b, 0x26, 0x49, 0xd0, 0xfe, 0x6e, 0xca, 0x49, 0x26, 0x6b, 0x60, 0xfe, 0x4, 0x1, 0x42, 0x2, 0x22, 0x1, 0x46, 0x3a, 0x2e, 0x61, 0xd7, 0xa2, 0xc, 0x12, 0x9d, 0xd6, 0xd7, 0x2, 0x94, 0xc4, 0xa3, 0xb5, 0x30, 0x5b, 0x9d, 0x1, 0xf, 0x1, 0x31, 0xfe, 0xd0, 0xfe, 0xf0, 0x9d, 0x5b, 0x30, 0xb5, 0xa3, 0xc4, 0xc8, 0x1, 0x54, 0x1, 0x5c, 0xfe, 0xa4, 0xfe, 0x80, 0x6c, 0xb2, 0x36, 0x70, 0xa3, 0x75, 0x79, 0x9f, 0xed, 0x0, 0xff, 0xff, 0x0, 0x70, 0xfe, 0x56, 0x4, 0xd1, 0x6, 0x14, 0x12, 0x6, 0x3, 0x69, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xff, 0xe5, 0x2, 0x90, 0x4, 0x60, 0x0, 0xe, 0x0, 0x2f, 0x40, 0x9, 0x7, 0x2, 0x4, 0xa, 0xe, 0x8, 0xd, 0x4, 0xf, 0x10, 0x2f, 0xdc, 0xec, 0x32, 0x11, 0x39, 0x39, 0x31, 0x0, 0x40, 0xd, 0xa, 0x0, 0xb, 0x5, 0x4, 0x0, 0x7, 0x87, 0x2, 0x8c, 0xc, 0xbc, 0xd, 0x2f, 0xec, 0xf4, 0xec, 0xc4, 0xd4, 0xcc, 0x11, 0x12, 0x39, 0x30, 0x25, 0x6, 0x21, 0x22, 0x2f, 0x1, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x23, 0x1, 0xd7, 0x72, 0xfe, 0xf9, 0x25, 0x38, 0x1, 0x3c, 0x58, 0x9c, 0xa7, 0xb9, 0xb9, 0xae, 0xc9, 0xa, 0xbd, 0x23, 0xcb, 0xbe, 0x2, 0x4e, 0xfb, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xff, 0xe5, 0x2, 0x90, 0x6, 0xa, 0x0, 0xe, 0x0, 0x2f, 0x40, 0x9, 0x7, 0x2, 0x4, 0xa, 0xe, 0x8, 0xd, 0x4, 0xf, 0x10, 0x2f, 0xdc, 0xec, 0x32, 0x11, 0x39, 0x39, 0x31, 0x0, 0x40, 0xd, 0xa, 0x0, 0xb, 0x5, 0x4, 0x0, 0x7, 0x87, 0x2, 0x8c, 0xc, 0x97, 0xd, 0x2f, 0xec, 0xf4, 0xec, 0xc4, 0xd4, 0xcc, 0x11, 0x12, 0x39, 0x30, 0x25, 0x6, 0x21, 0x22, 0x2f, 0x1, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x23, 0x1, 0xd7, 0x72, 0xfe, 0xf9, 0x25, 0x38, 0x1, 0x3c, 0x58, 0x9f, 0xa4, 0xb9, 0xb9, 0xae, 0xc9, 0xa, 0xbd, 0x23, 0xce, 0xbb, 0x3, 0xf8, 0xf9, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xfe, 0x56, 0x3, 0x76, 0x4, 0x60, 0x0, 0x16, 0x0, 0x44, 0x40, 0xc, 0x11, 0x4f, 0xd, 0x7, 0x2, 0x4, 0xa, 0x16, 0x8, 0xd, 0x4, 0xf, 0x10, 0x2f, 0xdc, 0xec, 0x32, 0x11, 0x39, 0x39, 0x10, 0xe4, 0x31, 0x0, 0x40, 0x16, 0x16, 0xd, 0xb, 0x0, 0x11, 0xa9, 0x12, 0xbd, 0x17, 0xa, 0x0, 0xb, 0x5, 0x4, 0x0, 0x7, 0x87, 0x2, 0x8c, 0xc, 0xbc, 0x17, 0x10, 0xec, 0xf4, 0xec, 0xc4, 0xd4, 0xcc, 0x11, 0x12, 0x39, 0x10, 0xfc, 0xec, 0x11, 0x12, 0x39, 0x39, 0x30, 0x25, 0x6, 0x21, 0x22, 0x2f, 0x1, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x26, 0x35, 0x1, 0xd7, 0x72, 0xfe, 0xf9, 0x25, 0x38, 0x1, 0x3c, 0x58, 0x9c, 0xa7, 0xb9, 0x4c, 0x69, 0x31, 0x46, 0xb5, 0xa3, 0xae, 0xc9, 0xa, 0xbd, 0x23, 0xcb, 0xbe, 0x2, 0x4e, 0xfb, 0x8c, 0x99, 0x61, 0x9c, 0xc0, 0xd6, 0x0, 0x1, 0x0, 0xba, 0xfe, 0x58, 0x3, 0x4a, 0x4, 0x7b, 0x0, 0x11, 0x0, 0x33, 0x40, 0x16, 0x6, 0xb, 0x7, 0x0, 0x11, 0xb, 0x3, 0x87, 0xe, 0xb8, 0x9, 0xbc, 0x7, 0xbd, 0x12, 0xa, 0x6, 0x8, 0x0, 0x8, 0x46, 0x12, 0x10, 0xfc, 0xc4, 0xec, 0x32, 0x31, 0x0, 0x10, 0xec, 0xe4, 0xf4, 0xec, 0xc4, 0xd4, 0xcc, 0x11, 0x12, 0x39, 0x30, 0xb4, 0x50, 0x13, 0x9f, 0x13, 0x2, 0x1, 0x5d, 0x1, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x17, 0x3, 0x4a, 0x1f, 0x49, 0x2c, 0x9c, 0xa7, 0xb9, 0xb9, 0x3a, 0xba, 0x85, 0x13, 0x2e, 0x1c, 0x3, 0xb4, 0x12, 0x11, 0xcb, 0xbe, 0xfc, 0xa, 0x6, 0x8, 0xae, 0x66, 0x63, 0x5, 0x5, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0xfe, 0x56, 0x3, 0x4a, 0x4, 0x7b, 0x0, 0x19, 0x0, 0x3a, 0x40, 0x1a, 0x6, 0x13, 0x7, 0xb, 0x87, 0xc, 0xbd, 0x1a, 0x0, 0x19, 0x13, 0x3, 0x87, 0x18, 0xb8, 0x11, 0xbc, 0x1a, 0xb, 0x12, 0x6, 0x8, 0x0, 0x10, 0x46, 0x1a, 0x10, 0xfc, 0xc4, 0xec, 0x32, 0xc4, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xec, 0xc4, 0xd4, 0xcc, 0x10, 0xf4, 0xec, 0x11, 0x12, 0x39, 0x30, 0xb4, 0x50, 0x1b, 0x9f, 0x1b, 0x2, 0x1, 0x5d, 0x1, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x11, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x17, 0x3, 0x4a, 0x1f, 0x49, 0x2c, 0x9d, 0xa7, 0x4c, 0x69, 0xe9, 0xfe, 0xb5, 0xa3, 0xb9, 0x3a, 0xba, 0x85, 0x13, 0x2e, 0x1c, 0x3, 0xb4, 0x12, 0x11, 0xcb, 0xbe, 0xfd, 0x9e, 0x99, 0x61, 0x9c, 0xc0, 0xd6, 0x4, 0x74, 0xae, 0x66, 0x63, 0x5, 0x5, 0x0, 0x0, 0x0, 0x1, 0x0, 0x84, 0x0, 0x0, 0x3, 0x7e, 0x4, 0x7b, 0x0, 0xf, 0x0, 0x25, 0x40, 0x7, 0x2, 0xc, 0x0, 0x8, 0x5, 0x7, 0x10, 0x10, 0xdc, 0xcc, 0xec, 0x32, 0xcc, 0x31, 0x0, 0x40, 0xa, 0x0, 0x7, 0xc, 0x87, 0xb, 0xbc, 0x1, 0x6, 0x87, 0x4, 0x2f, 0xec, 0x32, 0xfc, 0xec, 0x39, 0x39, 0x30, 0x1, 0x11, 0x33, 0x15, 0x21, 0x35, 0x33, 0x11, 0x34, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x6, 0x1, 0xe0, 0xa4, 0xfe, 0x0, 0xa4, 0xa3, 0xb5, 0xfe, 0xe9, 0x69, 0x4c, 0x2, 0xe5, 0xfd, 0xbf, 0xa4, 0xa4, 0x2, 0x41, 0xd6, 0xc0, 0x9c, 0x61, 0x0, 0x0, 0x1, 0x0, 0x74, 0x0, 0x0, 0x3, 0x7e, 0x4, 0x7b, 0x0, 0xf, 0x0, 0x25, 0x40, 0x7, 0x2, 0x0, 0x8, 0xc, 0x5, 0x7, 0x10, 0x10, 0xdc, 0xcc, 0xcc, 0xfc, 0xcc, 0x31, 0x0, 0x40, 0xa, 0x0, 0x7, 0xa, 0x87, 0xd, 0xbc, 0x1, 0x6, 0x87, 0x4, 0x2f, 0xec, 0x32, 0xfc, 0xec, 0x39, 0x39, 0x30, 0x1, 0x11, 0x33, 0x15, 0x21, 0x35, 0x33, 0x11, 0x34, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x16, 0x2, 0xca, 0xb4, 0xfd, 0xf0, 0xa4, 0x4c, 0x69, 0xe9, 0xfe, 0xb5, 0xa3, 0x2, 0xe5, 0xfd, 0xbf, 0xa4, 0xa4, 0x2, 0x41, 0x99, 0x61, 0x9c, 0xc0, 0x0, 0x0, 0x2, 0x0, 0xba, 0x0, 0x0, 0x4, 0x97, 0x4, 0x60, 0x0, 0x13, 0x0, 0x1c, 0x0, 0xb0, 0x40, 0x34, 0x9, 0x8, 0x7, 0x3, 0xa, 0x6, 0x11, 0x3, 0x4, 0x3, 0x5, 0x11, 0x4, 0x4, 0x3, 0x42, 0x6, 0x4, 0x0, 0x15, 0x3, 0x4, 0x15, 0xa9, 0x9, 0x14, 0xa9, 0xd, 0xbc, 0xb, 0x4, 0x5, 0x6, 0x3, 0x11, 0x9, 0x0, 0x1c, 0x16, 0xe, 0x5, 0xa, 0x19, 0x12, 0x4, 0x11, 0x14, 0xa, 0x8, 0xc, 0x46, 0x1d, 0x10, 0xfc, 0xec, 0x32, 0xdc, 0xc4, 0xec, 0x11, 0x17, 0x39, 0x11, 0x39, 0x39, 0x39, 0x31, 0x0, 0x2f, 0x3c, 0xf4, 0xec, 0xd4, 0xec, 0x12, 0x39, 0x12, 0x39, 0x12, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x11, 0x17, 0x39, 0x59, 0x22, 0xb2, 0x40, 0x1e, 0x1, 0x1, 0x5d, 0x40, 0x42, 0x7a, 0x13, 0x1, 0x5, 0x0, 0x5, 0x1, 0x5, 0x2, 0x6, 0x3, 0x7, 0x4, 0x15, 0x0, 0x15, 0x1, 0x14, 0x2, 0x16, 0x3, 0x17, 0x4, 0x25, 0x0, 0x25, 0x1, 0x25, 0x2, 0x26, 0x3, 0x27, 0x6, 0x26, 0x7, 0x26, 0x8, 0x26, 0x9, 0x20, 0x1e, 0x36, 0x1, 0x36, 0x2, 0x46, 0x1, 0x46, 0x2, 0x68, 0x5, 0x75, 0x4, 0x75, 0x5, 0x77, 0x13, 0x88, 0x6, 0x88, 0x7, 0x98, 0x6, 0x98, 0x7, 0x1f, 0x5d, 0x0, 0x5d, 0x1, 0x1e, 0x1, 0x17, 0x13, 0x23, 0x3, 0x2e, 0x1, 0x2b, 0x1, 0x11, 0x23, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 0x6, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x3, 0x14, 0x30, 0x73, 0x32, 0xae, 0xc3, 0xa2, 0x4a, 0x7b, 0x51, 0xa9, 0xb9, 0x1, 0x84, 0xda, 0xd6, 0x70, 0xfd, 0xf5, 0xc6, 0x77, 0x7f, 0x75, 0x81, 0x2, 0xd, 0xa, 0x74, 0x5d, 0xfe, 0xce, 0x1, 0x1f, 0x80, 0x3a, 0xfe, 0x27, 0x4, 0x60, 0x9e, 0xa5, 0x69, 0x8c, 0x1, 0x9d, 0xfe, 0xaf, 0x56, 0x4e, 0x4d, 0x60, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0x0, 0x0, 0x4, 0x97, 0x4, 0x60, 0x0, 0x13, 0x0, 0x1c, 0x0, 0x45, 0x40, 0x15, 0x9, 0x7, 0x6, 0xf, 0x3, 0xc, 0x1c, 0x16, 0x12, 0x5, 0x2, 0x19, 0x12, 0x8, 0xf, 0x1, 0x14, 0x8, 0x0, 0x46, 0x1d, 0x10, 0xfc, 0xec, 0x32, 0xdc, 0xc4, 0xec, 0x11, 0x17, 0x39, 0x11, 0x39, 0x39, 0x39, 0x31, 0x0, 0x40, 0xf, 0x6, 0x8, 0xc, 0x14, 0x9, 0x8, 0x3, 0xa9, 0x14, 0x15, 0xa9, 0x8, 0x0, 0xbc, 0x13, 0x2f, 0xe4, 0x32, 0xec, 0xd4, 0xec, 0x11, 0x39, 0x11, 0x39, 0x11, 0x39, 0x30, 0x13, 0x33, 0x11, 0x33, 0x32, 0x36, 0x37, 0x13, 0x33, 0x3, 0xe, 0x1, 0x7, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x21, 0x13, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0xba, 0xb9, 0xa9, 0x51, 0x7b, 0x4a, 0xa2, 0xc3, 0xae, 0x32, 0x73, 0x30, 0x6a, 0x70, 0xd6, 0xda, 0xfe, 0x7c, 0xb9, 0xc6, 0x81, 0x75, 0x7f, 0x77, 0x4, 0x60, 0xfe, 0x27, 0x3a, 0x80, 0x1, 0x1f, 0xfe, 0xce, 0x5d, 0x74, 0xa, 0x1b, 0x8c, 0x69, 0xa5, 0x9e, 0x1, 0xec, 0xfe, 0xaf, 0x60, 0x4d, 0x4e, 0x56, 0x0, 0x1, 0x0, 0x6f, 0xfe, 0x56, 0x3, 0xc7, 0x4, 0x7b, 0x0, 0x30, 0x0, 0x80, 0x40, 0x43, 0xd, 0xc, 0x2, 0xe, 0xb, 0x53, 0x28, 0x27, 0x8, 0x9, 0x2, 0x7, 0xa, 0x53, 0x27, 0x28, 0x27, 0x42, 0x19, 0xa9, 0x1a, 0xbd, 0x31, 0xa, 0xb, 0x27, 0x28, 0x4, 0x1f, 0x0, 0x86, 0x1, 0x89, 0x4, 0x1f, 0x89, 0x21, 0xb9, 0x11, 0x4, 0xb9, 0x2e, 0xb8, 0x11, 0x8c, 0x31, 0x1a, 0x15, 0x8, 0x1e, 0x27, 0xa, 0xb, 0x28, 0x24, 0x7, 0x0, 0x52, 0x24, 0x8, 0xe, 0x7, 0x8, 0x1e, 0x2b, 0x45, 0x31, 0x10, 0xfc, 0xc4, 0xec, 0xd4, 0xec, 0xe4, 0x11, 0x12, 0x39, 0x39, 0x39, 0x39, 0x10, 0xec, 0xcc, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xec, 0x10, 0xfe, 0xf5, 0x10, 0xf5, 0xee, 0x12, 0x17, 0x39, 0x10, 0xfc, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0xe, 0xed, 0x11, 0x17, 0x39, 0x7, 0xe, 0xed, 0x11, 0x17, 0x39, 0x59, 0x22, 0xb2, 0x0, 0x30, 0x1, 0x1, 0x5d, 0x1, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1f, 0x1, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x22, 0x2f, 0x1, 0x15, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x26, 0x3d, 0x1, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2f, 0x1, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x3, 0x8b, 0x4e, 0xa8, 0x5a, 0x89, 0x89, 0x62, 0x94, 0x3f, 0xc4, 0xa5, 0xf7, 0xd8, 0x64, 0x58, 0x15, 0x4c, 0x69, 0xe9, 0xfe, 0xb5, 0xa3, 0xcc, 0xc1, 0x82, 0x8c, 0x65, 0xab, 0x40, 0xab, 0x98, 0xe0, 0xce, 0x66, 0xb4, 0x4, 0x3f, 0xae, 0x28, 0x28, 0x54, 0x54, 0x40, 0x49, 0x21, 0xe, 0x2a, 0x99, 0x89, 0x9c, 0xb6, 0x11, 0x4, 0xc, 0x99, 0x61, 0x9c, 0xc0, 0xd6, 0xfb, 0x6a, 0x59, 0x51, 0x4b, 0x50, 0x25, 0xf, 0x24, 0x95, 0x82, 0x9e, 0xac, 0x1e, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xd9, 0xfe, 0x56, 0x2, 0xd7, 0x6, 0x14, 0x0, 0x13, 0x0, 0x34, 0x40, 0xd, 0x11, 0x14, 0xe, 0xf, 0x4f, 0x5, 0xb, 0xa, 0x8, 0x1, 0x0, 0x46, 0x14, 0x10, 0xfc, 0x3c, 0xec, 0x32, 0x32, 0xe4, 0x39, 0x12, 0x39, 0x31, 0x0, 0x40, 0xd, 0x10, 0x87, 0xf, 0xbd, 0x14, 0xa, 0x1, 0x6, 0x6, 0x87, 0x5, 0x97, 0x14, 0x10, 0xfc, 0xec, 0x12, 0x39, 0x39, 0x10, 0xf4, 0xec, 0x30, 0x17, 0x11, 0x34, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x6, 0x15, 0x11, 0x14, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0xbe, 0xae, 0xbd, 0xae, 0xb0, 0x63, 0x4d, 0xa3, 0xb5, 0x46, 0x31, 0x69, 0x4b, 0x14, 0x4, 0xc2, 0xbb, 0xab, 0x99, 0x50, 0x68, 0xfb, 0x29, 0xd6, 0xc0, 0x9c, 0x61, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xd9, 0xfe, 0x56, 0x2, 0xd7, 0x6, 0x14, 0x0, 0x20, 0x0, 0x4f, 0x40, 0x12, 0xd, 0x20, 0x1c, 0x1, 0x16, 0x21, 0x13, 0x14, 0x4f, 0x5, 0x10, 0xa, 0x8, 0x19, 0x1e, 0x1, 0x46, 0x21, 0x10, 0xfc, 0x3c, 0x3c, 0xec, 0x32, 0x32, 0xe4, 0x39, 0x12, 0x39, 0x10, 0xcc, 0x32, 0xc4, 0x31, 0x0, 0x40, 0x17, 0x1e, 0xa9, 0x0, 0xbc, 0x21, 0xc, 0x1c, 0xa9, 0xf, 0x1b, 0x15, 0x87, 0x14, 0xbd, 0x21, 0xa, 0x1, 0x6, 0x6, 0x87, 0x5, 0x97, 0x21, 0x10, 0xfc, 0xec, 0x12, 0x39, 0x39, 0x10, 0xf4, 0xec, 0xd4, 0x3c, 0xec, 0x32, 0x10, 0xf4, 0xec, 0x30, 0x13, 0x35, 0x34, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x6, 0x15, 0x11, 0x17, 0x33, 0x15, 0x23, 0x11, 0x14, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x11, 0x23, 0x35, 0x33, 0x11, 0x23, 0x35, 0xbe, 0xae, 0xbd, 0xae, 0xb0, 0x63, 0x4d, 0x1, 0xa2, 0xa3, 0xa3, 0xb5, 0x46, 0x31, 0x69, 0x4b, 0xb4, 0xb4, 0xaf, 0x4, 0x60, 0x4e, 0xbb, 0xab, 0x99, 0x50, 0x68, 0xfd, 0xa8, 0x3, 0xa4, 0xfe, 0x28, 0xd6, 0xc0, 0x9c, 0x61, 0x99, 0x1, 0xd8, 0xa4, 0x1, 0x69, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x0, 0x37, 0xfe, 0x56, 0x3, 0x35, 0x4, 0x65, 0x0, 0x13, 0x0, 0x22, 0xb6, 0xf, 0x4f, 0xb, 0x8, 0x1, 0x6, 0x14, 0x10, 0xd4, 0xdc, 0xfc, 0xec, 0x31, 0x0, 0x40, 0xa, 0xe, 0x87, 0x10, 0xbd, 0x14, 0x4, 0x87, 0x6, 0xbc, 0x14, 0x10, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x5, 0x11, 0x34, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x26, 0x1, 0x97, 0x4d, 0x63, 0xb0, 0xae, 0xbd, 0xae, 0x4b, 0x69, 0x31, 0x46, 0xb5, 0xa3, 0x14, 0x3, 0x28, 0x68, 0x50, 0x99, 0xab, 0xbb, 0xfc, 0xed, 0x99, 0x61, 0x9c, 0xc0, 0x0, 0x2, 0xfe, 0xf2, 0xfe, 0x56, 0x2, 0xd7, 0x6, 0x14, 0x0, 0x16, 0x0, 0x1f, 0x0, 0x32, 0x40, 0xc, 0x1a, 0x9, 0xd, 0x2, 0x11, 0x3, 0x16, 0x8, 0x17, 0xd, 0x4f, 0x20, 0x10, 0xfc, 0x32, 0xfc, 0x32, 0xcc, 0xcc, 0x10, 0xd4, 0xcc, 0x31, 0x0, 0x40, 0xc, 0x1c, 0x7, 0x3, 0x18, 0x87, 0x0, 0x13, 0x87, 0x11, 0x97, 0xb, 0x0, 0x2f, 0x3c, 0xf4, 0xec, 0x10, 0xec, 0x32, 0xd4, 0xcc, 0x30, 0x21, 0x33, 0x15, 0x23, 0x6, 0x7, 0x6, 0x23, 0x20, 0x35, 0x34, 0x21, 0x33, 0x11, 0x34, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x6, 0x15, 0x3, 0x23, 0x22, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x1, 0x77, 0xb7, 0xbf, 0x12, 0x35, 0x52, 0xb5, 0xfe, 0xd1, 0x1, 0xe, 0xbe, 0xae, 0xbd, 0xae, 0xb0, 0x63, 0x4d, 0xc3, 0xb3, 0x77, 0x3, 0x3, 0x7c, 0x6e, 0x21, 0x11, 0x9b, 0x6f, 0x40, 0x60, 0xd8, 0xd2, 0x4, 0xae, 0xbb, 0xab, 0x99, 0x50, 0x68, 0xfa, 0xa3, 0x33, 0x41, 0x30, 0x18, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x37, 0xfe, 0xc0, 0x2, 0xf2, 0x4, 0x5e, 0x0, 0x13, 0x0, 0x33, 0x40, 0x9, 0x8, 0xb, 0xe, 0x12, 0x8, 0x5, 0x1, 0x9, 0x2, 0x2f, 0x3c, 0xd4, 0x3c, 0xec, 0x32, 0x39, 0x39, 0x31, 0x0, 0x40, 0xc, 0xe, 0x5, 0x0, 0x8, 0xa9, 0xb, 0xbc, 0xf, 0x3, 0xa9, 0x12, 0x2, 0x2f, 0x3c, 0xec, 0x32, 0xf4, 0xec, 0xc4, 0x39, 0x39, 0x30, 0x1, 0xb2, 0xaf, 0x15, 0x1, 0x5d, 0x1, 0x11, 0x21, 0x35, 0x21, 0x11, 0x34, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x16, 0x15, 0x11, 0x33, 0x15, 0x23, 0x11, 0x1, 0xb2, 0xfe, 0x85, 0x1, 0x7b, 0x4b, 0x73, 0xbd, 0xbd, 0xd5, 0xa2, 0x87, 0x87, 0xfe, 0xc0, 0x1, 0x3e, 0x8f, 0x2, 0x60, 0x89, 0x4e, 0x9a, 0x9f, 0xd2, 0xfd, 0xa0, 0x8f, 0xfe, 0xc2, 0x0, 0x1, 0x0, 0x37, 0xfe, 0x56, 0x2, 0xf6, 0x5, 0x9e, 0x0, 0x13, 0x0, 0x3d, 0x40, 0x1c, 0xe, 0x5, 0x8, 0xf, 0x3, 0xa9, 0x0, 0x11, 0x1, 0xbc, 0x14, 0x8, 0x87, 0xb, 0xbd, 0x14, 0xb, 0x8, 0x9, 0x2, 0x4, 0x0, 0x8, 0x10, 0x12, 0xe, 0x46, 0x14, 0x10, 0xfc, 0x3c, 0xc4, 0xfc, 0x3c, 0xc4, 0x32, 0x39, 0x39, 0x31, 0x0, 0x10, 0xfc, 0xec, 0x10, 0xf4, 0x3c, 0xc4, 0xec, 0x32, 0x11, 0x39, 0x39, 0x30, 0xb2, 0xaf, 0x15, 0x1, 0x1, 0x5d, 0x1, 0x11, 0x21, 0x15, 0x21, 0x11, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x11, 0x1, 0x77, 0x1, 0x7b, 0xfe, 0x85, 0x4c, 0x69, 0xca, 0xe0, 0xb5, 0xa3, 0x87, 0x87, 0x5, 0x9e, 0xfe, 0xc2, 0x8f, 0xfc, 0x1b, 0x99, 0x61, 0x9c, 0xc0, 0xd6, 0x3, 0xe5, 0x8f, 0x1, 0x3e, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0xff, 0xe3, 0x5, 0x12, 0x4, 0x60, 0x0, 0x16, 0x0, 0x1e, 0x0, 0x43, 0x40, 0x1f, 0xd, 0x1, 0x1c, 0x87, 0x10, 0x0, 0x7, 0x4, 0xa9, 0xa, 0x14, 0x17, 0xd, 0x10, 0x8c, 0x5, 0x1, 0xbc, 0xb, 0x17, 0xc, 0x4, 0x8, 0x6, 0x4e, 0x18, 0x2, 0x8, 0x0, 0x46, 0x1f, 0x10, 0xfc, 0xec, 0x32, 0xf4, 0xec, 0x32, 0x32, 0x31, 0x0, 0x2f, 0xe4, 0x32, 0xf4, 0xc4, 0xdc, 0x32, 0x32, 0xec, 0x32, 0x32, 0x10, 0xfc, 0x11, 0x12, 0x30, 0xb4, 0x60, 0x20, 0xcf, 0x20, 0x2, 0x1, 0x5d, 0x13, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x26, 0x3d, 0x1, 0x23, 0x35, 0x5, 0x21, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0xae, 0xb8, 0x2, 0x3a, 0xb8, 0xba, 0xba, 0xb8, 0x43, 0xb1, 0x75, 0xc1, 0xc8, 0xae, 0x3, 0x9f, 0xfd, 0xc7, 0x7c, 0x7c, 0x8f, 0xb2, 0x2, 0x68, 0x1, 0xf8, 0xfe, 0x8, 0x1, 0xf8, 0xfe, 0x8, 0xa4, 0xfe, 0x3c, 0xac, 0x66, 0x63, 0xf0, 0xe7, 0xa, 0xa4, 0xa5, 0x2, 0x9f, 0x9f, 0xba, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x71, 0xff, 0xe2, 0x4, 0x84, 0x4, 0x60, 0x0, 0x1f, 0x0, 0x53, 0x40, 0xd, 0x1d, 0x1a, 0x12, 0x21, 0x0, 0x4, 0x11, 0x14, 0x12, 0xe, 0xa, 0x4, 0x20, 0x10, 0xfc, 0xc4, 0xfc, 0xc4, 0xd4, 0xc4, 0xcc, 0xfc, 0xc4, 0x31, 0x0, 0x40, 0xe, 0x11, 0x1d, 0xd, 0x1, 0xa9, 0x1e, 0x10, 0xbc, 0x20, 0x17, 0xb9, 0x7, 0x8c, 0x20, 0x10, 0xf4, 0xec, 0x10, 0xfc, 0x3c, 0xec, 0x32, 0x32, 0x32, 0x30, 0x1, 0x40, 0x19, 0xe0, 0x11, 0xe0, 0x10, 0xef, 0x1d, 0xef, 0x1e, 0xd0, 0x11, 0xd0, 0x10, 0xdf, 0x1d, 0xdf, 0x1e, 0x40, 0x11, 0x40, 0x10, 0x4f, 0x1d, 0x4f, 0x1e, 0xc, 0x5d, 0x1, 0x23, 0x1e, 0x1, 0x15, 0x14, 0x0, 0x23, 0x22, 0x0, 0x35, 0x34, 0x36, 0x37, 0x23, 0x35, 0x21, 0x15, 0xe, 0x1, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x21, 0x4, 0x84, 0xec, 0x61, 0x7f, 0xfe, 0xe4, 0xe1, 0xe1, 0xfe, 0xe4, 0x7f, 0x61, 0xed, 0x1, 0xba, 0x66, 0x88, 0xb0, 0x90, 0x90, 0xb0, 0x88, 0x66, 0x1, 0x1, 0xb4, 0x3, 0xbc, 0x48, 0xeb, 0x98, 0xeb, 0xfe, 0xdc, 0x1, 0x24, 0xeb, 0x98, 0xeb, 0x48, 0xa4, 0xdc, 0x42, 0xd7, 0x8b, 0x9f, 0xc2, 0xc2, 0x9f, 0x8b, 0xd7, 0x42, 0xdc, 0x0, 0x0, 0x1, 0x0, 0xc1, 0x0, 0x0, 0x4, 0x5c, 0x4, 0x62, 0x0, 0x1e, 0x0, 0x2c, 0x40, 0xc, 0x20, 0x0, 0x12, 0x14, 0x19, 0x5, 0x10, 0xc, 0x8, 0x9, 0x46, 0x1f, 0x10, 0xfc, 0xfc, 0xc4, 0xc4, 0xc4, 0xd4, 0xec, 0x39, 0x31, 0x0, 0x40, 0xa, 0x11, 0xb9, 0x4, 0x18, 0xb9, 0x19, 0xb8, 0xb, 0xbc, 0x4, 0x2f, 0xec, 0xf4, 0xec, 0x10, 0xec, 0x30, 0x1, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x22, 0x27, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x17, 0x16, 0x37, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x35, 0x16, 0x17, 0x16, 0x17, 0x16, 0x4, 0x5c, 0x8e, 0x91, 0xde, 0x46, 0xb5, 0x52, 0x51, 0xb8, 0x26, 0x28, 0x67, 0x33, 0x90, 0xb0, 0x4a, 0x49, 0x6e, 0x68, 0x58, 0xa7, 0x33, 0x22, 0x2, 0xf, 0xee, 0x8f, 0x92, 0x60, 0x60, 0xd6, 0x2, 0xca, 0xfd, 0x36, 0x99, 0x31, 0x32, 0x2, 0xc4, 0x9e, 0xe8, 0x65, 0x63, 0x1e, 0x96, 0x8, 0x30, 0x5b, 0xab, 0x73, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3d, 0x0, 0x0, 0x4, 0x7f, 0x4, 0x60, 0x0, 0x6, 0x0, 0x68, 0x40, 0x27, 0x4, 0x11, 0x3, 0x3, 0x2, 0x5, 0x11, 0x6, 0x5, 0x2, 0x2, 0x3, 0x5, 0x11, 0x5, 0x4, 0x1, 0x0, 0x1, 0x6, 0x11, 0x0, 0x1, 0x0, 0x42, 0x5, 0x2, 0x1, 0xbf, 0x3, 0x6, 0x5, 0x4, 0x2, 0x1, 0x5, 0x3, 0x0, 0x7, 0x10, 0xd4, 0x4b, 0xb0, 0xa, 0x54, 0x58, 0xb9, 0x0, 0x0, 0x0, 0x40, 0x38, 0x59, 0x4b, 0xb0, 0x14, 0x54, 0x4b, 0xb0, 0x15, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0x0, 0xff, 0xc0, 0x38, 0x59, 0xc4, 0x17, 0x39, 0x31, 0x0, 0x2f, 0xec, 0x32, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x5, 0xed, 0x59, 0x22, 0x1, 0x33, 0x1, 0x33, 0x1, 0x23, 0x9, 0x1, 0x3d, 0x1, 0xa4, 0xfa, 0x1, 0xa4, 0xc3, 0xfe, 0xa2, 0xfe, 0xa2, 0x4, 0x60, 0xfb, 0xa0, 0x3, 0xac, 0xfc, 0x54, 0x0, 0x1, 0x0, 0x56, 0x0, 0x0, 0x6, 0x35, 0x4, 0x60, 0x0, 0xc, 0x1, 0xef, 0x40, 0xf, 0x8, 0x9, 0xa, 0xb, 0xc, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0xb, 0x0, 0x7, 0xd, 0x10, 0xd4, 0x4b, 0xb0, 0xa, 0x54, 0x4b, 0xb0, 0x11, 0x54, 0x5b, 0x4b, 0xb0, 0x12, 0x54, 0x5b, 0x4b, 0xb0, 0x13, 0x54, 0x5b, 0x4b, 0xb0, 0xb, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0x7, 0x0, 0x40, 0x38, 0x59, 0x1, 0x4b, 0xb0, 0xc, 0x54, 0x4b, 0xb0, 0xd, 0x54, 0x5b, 0x4b, 0xb0, 0x10, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0x7, 0xff, 0xc0, 0x38, 0x59, 0xcc, 0x17, 0x39, 0x31, 0x40, 0xa, 0xa, 0x5, 0x2, 0x3, 0xc, 0x8, 0xbf, 0x7, 0x3, 0x0, 0x0, 0x2f, 0x3c, 0x3c, 0xec, 0x32, 0x17, 0x39, 0x30, 0x40, 0x30, 0x2, 0x55, 0x1, 0x2, 0xb, 0xa, 0xb, 0x3, 0x55, 0xa, 0xb, 0x4, 0x55, 0xa, 0x9, 0xa, 0x5, 0x55, 0x6, 0x5, 0x9, 0x9, 0xa, 0x1, 0x11, 0x0, 0xc, 0x0, 0x2, 0x11, 0x3, 0x2, 0xc, 0xc, 0x0, 0x5, 0x11, 0x4, 0x5, 0x8, 0x7, 0x8, 0x6, 0x11, 0x7, 0x7, 0x8, 0x42, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x5, 0xed, 0x7, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x59, 0x22, 0x1, 0x40, 0xff, 0xa, 0x5, 0x19, 0x5, 0x19, 0x2, 0x2d, 0xa, 0x3a, 0xa, 0x46, 0x5, 0x46, 0x2, 0x49, 0xa, 0x4f, 0xa, 0x54, 0x5, 0x54, 0x2, 0x5a, 0xa, 0x5f, 0xa, 0x61, 0x5, 0x61, 0x2, 0x69, 0xa, 0x76, 0x5, 0x70, 0x5, 0x76, 0x2, 0x70, 0x2, 0x88, 0x5, 0x96, 0x5, 0x97, 0x2, 0x9b, 0xa, 0xb3, 0x5, 0xb3, 0x2, 0xc1, 0x5, 0xc8, 0x4, 0xc0, 0x2, 0x1d, 0x5, 0x5, 0x9, 0x4, 0x6, 0x3, 0xb, 0x2, 0xa, 0xc, 0xb, 0xb, 0x4, 0x9, 0x5, 0x8, 0x15, 0x5, 0x19, 0x4, 0x16, 0x3, 0x1a, 0x2, 0x1b, 0xc, 0x1b, 0xb, 0x14, 0x9, 0x15, 0x8, 0x25, 0x7, 0x25, 0x6, 0x23, 0x5, 0x27, 0x4, 0x21, 0x3, 0x25, 0x2, 0x22, 0x1, 0x22, 0x0, 0x25, 0xc, 0x27, 0xb, 0x24, 0xa, 0x21, 0x9, 0x23, 0x8, 0x39, 0x4, 0x36, 0x3, 0x36, 0xc, 0x39, 0x8, 0x30, 0xe, 0x46, 0x5, 0x48, 0x4, 0x46, 0x3, 0x40, 0x3, 0x42, 0x2, 0x40, 0x1, 0x40, 0x0, 0x40, 0xc, 0x44, 0xb, 0x44, 0xa, 0x44, 0x9, 0x40, 0xe, 0x40, 0xe, 0x56, 0x7, 0x56, 0x6, 0x56, 0x5, 0x50, 0x3, 0x51, 0x2, 0x52, 0x1, 0x52, 0x0, 0x50, 0xc, 0x53, 0xb, 0x54, 0xa, 0x55, 0x9, 0x63, 0x7, 0x64, 0x6, 0x65, 0x5, 0x6a, 0x4, 0x65, 0x3, 0x6a, 0x2, 0x6a, 0x1, 0x6a, 0x0, 0x6e, 0xb, 0x61, 0x9, 0x67, 0x8, 0x6f, 0xe, 0x75, 0x7, 0x75, 0x6, 0x79, 0x5, 0x7d, 0x4, 0x78, 0x3, 0x7d, 0x2, 0x7a, 0x1, 0x7f, 0x1, 0x7a, 0x0, 0x7f, 0x0, 0x78, 0xc, 0x79, 0xb, 0x7f, 0xb, 0x7b, 0xa, 0x76, 0x9, 0x7d, 0x8, 0x87, 0x5, 0x88, 0x2, 0x8f, 0xe, 0x97, 0x7, 0x97, 0x6, 0x94, 0x5, 0x93, 0x4, 0x9c, 0x3, 0x9b, 0x2, 0x98, 0x1, 0x98, 0x0, 0x99, 0xc, 0x40, 0x2f, 0x96, 0x8, 0x9f, 0xe, 0xa6, 0x7, 0xa6, 0x6, 0xa4, 0x5, 0xa4, 0x4, 0xab, 0x3, 0xab, 0x2, 0xa9, 0x1, 0xa9, 0x0, 0xab, 0xc, 0xa4, 0x8, 0xaf, 0xe, 0xb5, 0x5, 0xb1, 0x4, 0xbd, 0x3, 0xbb, 0x2, 0xb8, 0xb, 0xbf, 0xe, 0xc4, 0x5, 0xc3, 0x4, 0xcc, 0x3, 0xca, 0x2, 0x79, 0x5d, 0x0, 0x5d, 0x21, 0x23, 0xb, 0x1, 0x23, 0xb, 0x1, 0x23, 0x1, 0x33, 0x1b, 0x1, 0x33, 0x6, 0x35, 0xb8, 0xe6, 0xe5, 0xd9, 0xe6, 0xe5, 0xb8, 0x1, 0x25, 0xd9, 0xf1, 0xf2, 0xd9, 0x3, 0x6a, 0xfc, 0x96, 0x3, 0x6a, 0xfc, 0x96, 0x4, 0x60, 0xfc, 0x6a, 0x3, 0x96, 0x0, 0x0, 0x1, 0x0, 0x3d, 0x0, 0x0, 0x4, 0x7f, 0x6, 0x14, 0x0, 0x11, 0x0, 0x46, 0xb4, 0x13, 0x6, 0xe, 0x0, 0x12, 0x10, 0xd4, 0xd4, 0xc4, 0xc4, 0x31, 0xb5, 0x7, 0xa9, 0x6, 0x97, 0xe, 0x0, 0x0, 0x2f, 0x3c, 0xf4, 0xec, 0x30, 0xb7, 0x10, 0xd, 0xc, 0x11, 0x11, 0x0, 0x1, 0x0, 0x7, 0x5, 0x10, 0xfc, 0x3c, 0x3c, 0x3c, 0xb6, 0x8, 0x9, 0xa, 0xb, 0x4, 0x7, 0xc, 0x1, 0x11, 0x12, 0x17, 0x39, 0x40, 0x9, 0x10, 0x11, 0x11, 0xc, 0xf, 0x11, 0xe, 0xe, 0xd, 0x7, 0x10, 0xec, 0x8, 0xec, 0x33, 0x1, 0x36, 0x37, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x7, 0x6, 0xf, 0x1, 0x1, 0x23, 0x9, 0x1, 0x3d, 0x1, 0xec, 0x50, 0x48, 0x4a, 0x7c, 0x93, 0x6c, 0x4c, 0x2a, 0x2e, 0x2f, 0x21, 0x1, 0xc5, 0xc3, 0xfe, 0xa1, 0xfe, 0xa3, 0x4, 0xd2, 0xc7, 0x3e, 0x3d, 0x9a, 0x24, 0x23, 0x87, 0x5e, 0xfb, 0xb2, 0x3, 0x6c, 0xfc, 0x94, 0x0, 0x0, 0x1, 0x0, 0x66, 0x0, 0x0, 0x4, 0x6b, 0x4, 0x60, 0x0, 0x8, 0x0, 0x38, 0x40, 0xa, 0x2, 0x8, 0x5, 0xa, 0x4, 0x5, 0x8, 0x8, 0x0, 0x9, 0x10, 0xd4, 0xdc, 0xfc, 0xd4, 0xc4, 0x11, 0x12, 0x39, 0x31, 0xb3, 0x4, 0x0, 0xbc, 0x7, 0x0, 0x2f, 0xe4, 0x32, 0x30, 0x40, 0xc, 0x3, 0x11, 0x4, 0x5, 0x4, 0x2, 0x11, 0x1, 0x11, 0x0, 0x8, 0x0, 0x7, 0x5, 0x10, 0xec, 0x4, 0xec, 0x7, 0x5, 0x10, 0xec, 0x13, 0x33, 0x9, 0x1, 0x33, 0x1, 0x11, 0x23, 0x11, 0x66, 0xd9, 0x1, 0x25, 0x1, 0x2e, 0xd9, 0xfe, 0x5d, 0xcb, 0x4, 0x60, 0xfe, 0x38, 0x1, 0xc8, 0xfd, 0x90, 0xfe, 0x10, 0x1, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x58, 0xfe, 0x56, 0x4, 0xbf, 0x4, 0x60, 0x0, 0x13, 0x0, 0xaa, 0x40, 0x22, 0x12, 0x11, 0x2, 0x3, 0x2, 0x3, 0x11, 0x11, 0x12, 0x11, 0x42, 0x9, 0xa9, 0xa, 0xbd, 0xf, 0x12, 0xa9, 0x0, 0xbc, 0x3, 0xa9, 0xf, 0xa, 0x4f, 0x4, 0x12, 0x3, 0x1, 0x0, 0x4, 0x1, 0x10, 0x14, 0x10, 0xdc, 0x4b, 0xb0, 0xb, 0x54, 0x4b, 0xb0, 0xc, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0x10, 0xff, 0xc0, 0x38, 0x59, 0x4b, 0xb0, 0x13, 0x54, 0x58, 0xb9, 0x0, 0x10, 0x0, 0x40, 0x38, 0x59, 0xc4, 0x32, 0xc4, 0x11, 0x39, 0x39, 0x10, 0xec, 0x31, 0x0, 0x2f, 0xec, 0xf4, 0xec, 0x10, 0xfc, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x59, 0x22, 0x1, 0x40, 0x42, 0x5, 0x2, 0x16, 0x2, 0x26, 0x2, 0x47, 0x2, 0x49, 0x11, 0x5, 0xb, 0x12, 0xf, 0x15, 0x18, 0x3, 0x1b, 0x12, 0x2b, 0x12, 0x20, 0x15, 0x36, 0x3, 0x39, 0x12, 0x30, 0x15, 0x40, 0x1, 0x40, 0x2, 0x45, 0x3, 0x40, 0x4, 0x40, 0xf, 0x43, 0x12, 0x57, 0x3, 0x59, 0x12, 0x5f, 0x15, 0x60, 0x1, 0x60, 0x2, 0x66, 0x3, 0x60, 0x4, 0x60, 0x5, 0x62, 0x12, 0x7f, 0x15, 0x80, 0x15, 0xaf, 0x15, 0x1b, 0x5d, 0x0, 0x5d, 0x13, 0x21, 0x15, 0x1, 0x21, 0x15, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x26, 0x3d, 0x1, 0x21, 0x35, 0x1, 0x21, 0x71, 0x3, 0x6a, 0xfd, 0x4c, 0x2, 0xb4, 0x4c, 0x69, 0x2f, 0x46, 0xb5, 0xa3, 0xfd, 0x37, 0x2, 0xb4, 0xfd, 0x65, 0x4, 0x60, 0xa8, 0xfc, 0xdb, 0xa7, 0x99, 0x61, 0x9c, 0xc0, 0xd6, 0x14, 0xa8, 0x3, 0x25, 0x0, 0x0, 0x0, 0x2, 0x0, 0x58, 0xff, 0x91, 0x3, 0xdb, 0x4, 0x60, 0x0, 0x1a, 0x0, 0x21, 0x0, 0xb1, 0x40, 0x11, 0x16, 0x4, 0x12, 0x11, 0x1b, 0x1e, 0x12, 0xc, 0x19, 0x3, 0x1, 0x0, 0xc, 0x1, 0x1, 0x17, 0x22, 0x10, 0xdc, 0x4b, 0x54, 0x4b, 0xb0, 0xc, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0x17, 0xff, 0xc0, 0x38, 0x59, 0x4b, 0xb0, 0x13, 0x54, 0x58, 0xb9, 0x0, 0x17, 0x0, 0x40, 0x38, 0x59, 0xc4, 0x32, 0xc4, 0x11, 0x39, 0x39, 0x10, 0xec, 0xdc, 0x3c, 0xec, 0x32, 0x31, 0x0, 0x40, 0xd, 0x19, 0xa9, 0x0, 0xbc, 0x13, 0x17, 0x8, 0xb9, 0x20, 0x3, 0x1b, 0xa9, 0x17, 0x2f, 0xfc, 0x3c, 0xdc, 0xec, 0x10, 0xcc, 0xf4, 0xec, 0x30, 0x40, 0xb, 0x19, 0x11, 0x2, 0x3, 0x2, 0x3, 0x11, 0x18, 0x19, 0x18, 0x42, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x59, 0x22, 0x1, 0x40, 0x3a, 0x5, 0x2, 0x16, 0x2, 0x26, 0x2, 0x47, 0x2, 0x49, 0x18, 0x5, 0xb, 0x19, 0xf, 0x23, 0x18, 0x3, 0x1b, 0x19, 0x2b, 0x19, 0x20, 0x23, 0x36, 0x3, 0x39, 0x19, 0x30, 0x23, 0x40, 0x1, 0x40, 0x2, 0x45, 0x3, 0x43, 0x19, 0x57, 0x3, 0x59, 0x19, 0x5f, 0x23, 0x60, 0x1, 0x60, 0x2, 0x66, 0x3, 0x62, 0x19, 0x7f, 0x23, 0x80, 0x23, 0xaf, 0x23, 0x17, 0x5d, 0x0, 0x5d, 0x13, 0x21, 0x15, 0x1, 0x33, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x16, 0x7, 0x6, 0x2b, 0x1, 0x6, 0x15, 0x23, 0x34, 0x37, 0x21, 0x35, 0x1, 0x21, 0x1, 0x33, 0x32, 0x35, 0x34, 0x7, 0x6, 0x71, 0x3, 0x6a, 0xfd, 0x4c, 0xaf, 0x22, 0x54, 0x41, 0x60, 0x84, 0x3a, 0x26, 0x1, 0x3e, 0x52, 0x7e, 0x69, 0x3, 0x99, 0x3, 0xfe, 0x96, 0x2, 0xb4, 0xfd, 0x65, 0x1, 0xff, 0x38, 0x8a, 0x46, 0x58, 0x4, 0x60, 0xa8, 0xfc, 0xdb, 0xa2, 0x47, 0x37, 0x57, 0x39, 0x57, 0x60, 0x2f, 0x3d, 0x33, 0x3c, 0x3b, 0x34, 0xa8, 0x3, 0x25, 0xfc, 0xc6, 0x36, 0x5d, 0x2, 0x2, 0x0, 0x0, 0x1, 0x0, 0x58, 0xfe, 0x4c, 0x4, 0x2f, 0x4, 0x60, 0x0, 0x20, 0x0, 0xa9, 0x40, 0xa, 0x1b, 0x1f, 0x15, 0x12, 0x22, 0x6, 0x1e, 0x1f, 0xe, 0x21, 0x10, 0xdc, 0xd4, 0xc4, 0xd4, 0xc4, 0xec, 0x10, 0xcc, 0xb2, 0x0, 0x1f, 0x1b, 0x11, 0x12, 0x39, 0x31, 0x40, 0x16, 0x1b, 0x42, 0x0, 0xa9, 0x1a, 0x1a, 0x1e, 0x21, 0x1d, 0xa9, 0x1e, 0xe, 0x86, 0xd, 0x93, 0x11, 0xb9, 0x9, 0xbd, 0x1e, 0xbc, 0x21, 0x0, 0x10, 0xe4, 0xfc, 0xec, 0xf4, 0xec, 0x10, 0xec, 0x11, 0x12, 0x39, 0x2f, 0xec, 0xec, 0xb3, 0x15, 0x6, 0x0, 0x9, 0x11, 0x12, 0x39, 0x39, 0x30, 0x40, 0x8, 0x1b, 0x11, 0x0, 0x1c, 0x11, 0x20, 0x1a, 0x1f, 0x7, 0x5, 0x10, 0xec, 0x4, 0x10, 0xec, 0x40, 0x1b, 0xc, 0x1c, 0xa, 0x0, 0x1b, 0x1c, 0x19, 0x0, 0x2a, 0x1c, 0x2a, 0x0, 0x38, 0x0, 0x3b, 0x1c, 0x49, 0x0, 0x4c, 0x1c, 0x54, 0x0, 0x5b, 0x1c, 0x71, 0x0, 0xd, 0x1, 0x5d, 0x40, 0x1b, 0x4, 0x1b, 0x4, 0x20, 0x14, 0x1b, 0x14, 0x20, 0x25, 0x1b, 0x24, 0x20, 0x35, 0x20, 0x37, 0x1b, 0x45, 0x20, 0x46, 0x1b, 0x54, 0x20, 0x5c, 0x1b, 0x7f, 0x1b, 0xd, 0x0, 0x5d, 0x40, 0x9, 0x7, 0xb, 0x6, 0xc, 0x1a, 0xc, 0x1a, 0xf, 0x4, 0x5d, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x4, 0x21, 0x22, 0x27, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2b, 0x1, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x2, 0x3c, 0x6a, 0x80, 0x62, 0x56, 0x51, 0xfe, 0xd0, 0xfe, 0xe8, 0x5e, 0x63, 0x64, 0x6a, 0x54, 0xc8, 0x6d, 0xbe, 0x63, 0x64, 0x5c, 0x5d, 0xa5, 0xae, 0x1, 0xae, 0xfd, 0x65, 0x3, 0x6a, 0x1, 0xdc, 0x38, 0x2a, 0x6d, 0x68, 0x8a, 0xdd, 0xf2, 0x12, 0x13, 0x25, 0xc3, 0x31, 0x32, 0x4b, 0x4b, 0x8f, 0x84, 0x4b, 0x4a, 0xa6, 0x1, 0xf3, 0x93, 0xa8, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6d, 0xfe, 0x4c, 0x4, 0x6c, 0x4, 0x60, 0x0, 0x24, 0x0, 0x2d, 0x0, 0x0, 0x1, 0x20, 0x37, 0x36, 0x5, 0x16, 0x17, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2b, 0x1, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x16, 0x15, 0x23, 0x34, 0x27, 0x30, 0x7, 0x6, 0x37, 0x26, 0x23, 0x22, 0x7, 0x14, 0x33, 0x32, 0x37, 0x1, 0xe7, 0xfe, 0xb1, 0x2, 0x2, 0x1, 0x2a, 0xf6, 0x9e, 0xc, 0x5c, 0x5e, 0xa4, 0xae, 0x1, 0xae, 0xfd, 0x65, 0x3, 0x6a, 0xfe, 0x65, 0x69, 0x81, 0x64, 0x54, 0x51, 0x27, 0x64, 0x99, 0x28, 0x14, 0x97, 0x9, 0x7d, 0xc5, 0x83, 0x1, 0x9e, 0xbe, 0x63, 0xfe, 0x4c, 0xbd, 0xfb, 0x5, 0x4, 0x3b, 0x2a, 0x31, 0x85, 0x4a, 0x4a, 0xa6, 0x1, 0xf3, 0x93, 0xa8, 0xfe, 0x24, 0x38, 0x2b, 0x6c, 0x67, 0x8b, 0x71, 0x55, 0x65, 0xa4, 0x52, 0x38, 0x11, 0x79, 0xfa, 0x2a, 0x4b, 0x2f, 0x4b, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x58, 0x0, 0x0, 0x3, 0xa5, 0x6, 0x12, 0x0, 0x1c, 0x0, 0x34, 0x40, 0x9, 0x1e, 0x5, 0x12, 0x16, 0x1a, 0x8, 0x0, 0xd, 0x1d, 0x10, 0xdc, 0xdc, 0xfc, 0xdc, 0xec, 0xc4, 0x31, 0x40, 0xe, 0xd, 0x86, 0xe, 0xc, 0x12, 0x9, 0xb9, 0x12, 0x97, 0x1b, 0x1a, 0xa9, 0x0, 0x1b, 0x0, 0x2f, 0xd4, 0xe4, 0x10, 0xf4, 0xec, 0x10, 0x4b, 0x50, 0x58, 0xdc, 0x1b, 0xd4, 0x59, 0xec, 0x30, 0x1, 0x33, 0x32, 0x37, 0x36, 0x35, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x35, 0x36, 0x37, 0x36, 0x33, 0x20, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x11, 0x23, 0x1, 0x54, 0x3f, 0xc0, 0x56, 0x3a, 0x1, 0x39, 0x63, 0xb3, 0x50, 0x4f, 0x4e, 0x4e, 0x4c, 0x51, 0x51, 0x55, 0x1, 0x13, 0x8a, 0x6d, 0x6c, 0x70, 0xaa, 0xca, 0x3, 0x1e, 0x72, 0x4c, 0x62, 0x85, 0x41, 0x72, 0x16, 0x15, 0x2b, 0xac, 0x23, 0x11, 0x12, 0x9d, 0x7d, 0xba, 0xaa, 0x73, 0x77, 0x1e, 0xfd, 0x74, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x58, 0x0, 0x0, 0x3, 0xa5, 0x6, 0x12, 0x0, 0x1c, 0x0, 0x35, 0x40, 0xa, 0x1e, 0x10, 0x0, 0x8, 0x3, 0x18, 0x12, 0x7, 0x45, 0x1d, 0x10, 0xfc, 0xec, 0xdc, 0xfc, 0xdc, 0xc4, 0x31, 0x40, 0xe, 0x10, 0x86, 0xf, 0xc, 0xb, 0x14, 0xb9, 0xb, 0x97, 0x2, 0x3, 0xa9, 0x0, 0x2, 0x0, 0x2f, 0xd4, 0xe4, 0x10, 0xf4, 0xec, 0x10, 0x4b, 0x50, 0x58, 0xdc, 0x1b, 0xd4, 0x59, 0xec, 0x30, 0x1, 0x11, 0x23, 0x11, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x21, 0x32, 0x17, 0x16, 0x17, 0x15, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x14, 0x17, 0x16, 0x33, 0x2, 0xa8, 0xca, 0xaa, 0x70, 0x6c, 0x6e, 0x89, 0x1, 0x13, 0x55, 0x51, 0x51, 0x4c, 0x4e, 0x4f, 0x4e, 0x50, 0xb3, 0x63, 0x39, 0x1, 0x3a, 0x56, 0xc0, 0x3, 0x1e, 0xfc, 0xe2, 0x2, 0x8c, 0x1e, 0x77, 0x73, 0xaa, 0xba, 0x7d, 0x9d, 0x12, 0x11, 0x23, 0xac, 0x2b, 0x15, 0x16, 0x72, 0x41, 0x85, 0x62, 0x4c, 0x72, 0x0, 0x0, 0x1, 0x0, 0x58, 0x0, 0x0, 0x3, 0xa5, 0x6, 0x12, 0x0, 0x1c, 0x0, 0x37, 0x40, 0x9, 0x1e, 0x18, 0x12, 0x7, 0x3, 0x8, 0x0, 0x10, 0x1d, 0x10, 0xdc, 0xdc, 0xfc, 0xdc, 0xec, 0xc4, 0x31, 0x40, 0x10, 0x10, 0x86, 0xf, 0xc, 0xb, 0x14, 0xb9, 0xb, 0x8c, 0x1d, 0x3, 0xa9, 0x0, 0x1, 0x97, 0x1d, 0x0, 0x10, 0xf4, 0xd4, 0xe4, 0x10, 0xf4, 0xec, 0x10, 0x4b, 0x50, 0x58, 0xdc, 0x1b, 0xd4, 0x59, 0xec, 0x30, 0x1, 0x13, 0x33, 0x11, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x21, 0x22, 0x27, 0x26, 0x27, 0x35, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x34, 0x27, 0x26, 0x23, 0x1, 0x54, 0x1, 0xca, 0xaa, 0x70, 0x6c, 0x6d, 0x8a, 0xfe, 0xed, 0x55, 0x51, 0x51, 0x4c, 0x4e, 0x4e, 0x4f, 0x50, 0xb3, 0x63, 0x39, 0x1, 0x3a, 0x56, 0xc0, 0x2, 0xf4, 0x3, 0x1e, 0xfd, 0x74, 0x1e, 0x77, 0x73, 0xaa, 0xba, 0x7d, 0x9d, 0x12, 0x11, 0x23, 0xac, 0x2b, 0x15, 0x16, 0x72, 0x41, 0x85, 0x62, 0x4c, 0x72, 0x0, 0x0, 0x0, 0x1, 0x0, 0x58, 0xfe, 0x4c, 0x3, 0xa5, 0x6, 0x14, 0x0, 0x23, 0x0, 0x2d, 0xb6, 0x25, 0x1a, 0x8, 0x12, 0x12, 0x0, 0x24, 0x10, 0xdc, 0xec, 0xdc, 0x32, 0xcc, 0x31, 0x0, 0x40, 0x10, 0x9, 0x87, 0x8, 0xd, 0x87, 0x4, 0x97, 0x24, 0x1a, 0x87, 0x1b, 0x16, 0x87, 0x1f, 0xbd, 0x24, 0x10, 0xfc, 0xec, 0xd4, 0xec, 0x10, 0xf4, 0xec, 0xd4, 0xec, 0x30, 0x13, 0x34, 0x37, 0x36, 0x21, 0x32, 0x17, 0x16, 0x17, 0x15, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x11, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x15, 0x6, 0x7, 0x6, 0x23, 0x20, 0x27, 0x26, 0x35, 0x58, 0x6e, 0x89, 0x1, 0x13, 0x55, 0x51, 0x51, 0x4c, 0x49, 0x54, 0x4e, 0x50, 0xb0, 0x66, 0x3a, 0x3a, 0x66, 0xb0, 0x50, 0x4e, 0x4f, 0x4e, 0x4c, 0x51, 0x51, 0x55, 0xfe, 0xed, 0x89, 0x6e, 0x4, 0x40, 0xba, 0x7d, 0x9d, 0x12, 0x11, 0x23, 0xac, 0x28, 0x18, 0x16, 0x72, 0x41, 0x85, 0xfb, 0xe0, 0x85, 0x41, 0x72, 0x16, 0x15, 0x2b, 0xac, 0x23, 0x11, 0x12, 0x9d, 0x7d, 0xba, 0x0, 0x3, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x5, 0xf0, 0x0, 0xd, 0x0, 0x17, 0x0, 0x22, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x6, 0x22, 0x27, 0x26, 0x0, 0x20, 0x0, 0x11, 0x10, 0x0, 0x20, 0x0, 0x11, 0x10, 0x1, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x10, 0x0, 0x2, 0xb5, 0x22, 0x20, 0x30, 0x2e, 0x22, 0x20, 0x42, 0x5e, 0x20, 0x22, 0x1, 0x4e, 0xfe, 0x48, 0xfe, 0xfd, 0x1, 0x3, 0x1, 0xb8, 0x1, 0x1, 0xfe, 0x23, 0x1, 0x3a, 0x1, 0x78, 0xfe, 0x88, 0xfe, 0xc6, 0xfe, 0xc5, 0xfe, 0x87, 0x1, 0x79, 0x2, 0xe9, 0x2e, 0x22, 0x22, 0x22, 0x22, 0x2e, 0x2f, 0x42, 0x21, 0x21, 0x2, 0x92, 0xfe, 0xb8, 0xfe, 0xe5, 0xfe, 0xe6, 0xfe, 0xb8, 0x1, 0x48, 0x1, 0x1a, 0x1, 0x1b, 0x1, 0xec, 0xfe, 0x5b, 0xfe, 0x9e, 0xfe, 0x9f, 0xfe, 0x5b, 0x1, 0xa4, 0x2, 0xc4, 0x1, 0xa5, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x4, 0x3e, 0x4, 0x60, 0x10, 0x6, 0x3, 0xc6, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0xff, 0xe3, 0x4, 0xc5, 0x4, 0x7c, 0x0, 0x1a, 0x0, 0x2f, 0x0, 0x3d, 0x40, 0xe, 0x31, 0x17, 0x12, 0x1f, 0x9, 0x25, 0x4, 0x12, 0x2c, 0xf, 0x12, 0x25, 0x45, 0x30, 0x10, 0xfc, 0xec, 0xd4, 0xec, 0x10, 0xc4, 0xd4, 0xec, 0xc4, 0x31, 0x40, 0xe, 0x0, 0xb9, 0x1b, 0xb8, 0x30, 0xa, 0xa9, 0x9, 0x30, 0x13, 0xb9, 0x22, 0x8c, 0x30, 0x0, 0x10, 0xf4, 0xec, 0x10, 0xd4, 0xec, 0x10, 0xf4, 0xec, 0xb2, 0x28, 0xa, 0x9, 0x11, 0x12, 0x39, 0x30, 0x1, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x25, 0x20, 0x17, 0x16, 0x11, 0x10, 0x0, 0x21, 0x22, 0x24, 0x35, 0x34, 0x36, 0x37, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x2, 0x45, 0x77, 0x45, 0x46, 0x44, 0x43, 0x74, 0x9b, 0x94, 0x89, 0x48, 0x4e, 0x54, 0x55, 0x97, 0xd2, 0x68, 0x63, 0x63, 0x60, 0xfe, 0xf6, 0x1, 0x61, 0x97, 0x97, 0xfe, 0xd6, 0xfe, 0xc6, 0xee, 0xfe, 0xfe, 0x8a, 0x7c, 0x70, 0x3c, 0x3c, 0x72, 0x71, 0x3, 0xdc, 0x2e, 0x2e, 0x40, 0x46, 0x2d, 0x2c, 0x98, 0x33, 0x38, 0x58, 0x5a, 0x38, 0x38, 0x74, 0x6f, 0xd0, 0xcd, 0x72, 0x6e, 0xa0, 0x9e, 0x9d, 0xfe, 0xee, 0xfe, 0xf2, 0xfe, 0xc2, 0xb6, 0xad, 0x6c, 0x92, 0x18, 0x18, 0x41, 0x40, 0x5d, 0x8d, 0x4f, 0x4e, 0x0, 0x1, 0x0, 0x71, 0xff, 0xe3, 0x5, 0xcb, 0x6, 0x14, 0x0, 0x27, 0x0, 0x47, 0x40, 0x27, 0x12, 0x1b, 0x11, 0x1c, 0x18, 0xa9, 0x15, 0x97, 0x28, 0x0, 0x5, 0x25, 0x1, 0xa9, 0x3, 0x25, 0xb9, 0x8, 0x11, 0x1c, 0x88, 0x1f, 0xb9, 0xe, 0xb8, 0x8, 0x8c, 0x28, 0x2, 0x0, 0x8, 0x1b, 0x34, 0x4, 0x22, 0x12, 0xb, 0x45, 0x28, 0x10, 0xfc, 0xec, 0xdc, 0xe4, 0xfc, 0xc4, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xfc, 0xec, 0x39, 0x10, 0xfe, 0xd4, 0xee, 0x11, 0x39, 0x39, 0x10, 0xfc, 0xec, 0x11, 0x12, 0x39, 0x39, 0x30, 0x25, 0x11, 0x23, 0x35, 0x21, 0x11, 0xe, 0x1, 0x23, 0x22, 0x0, 0x11, 0x10, 0x0, 0x21, 0x32, 0x16, 0x17, 0x35, 0x34, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x6, 0x15, 0x11, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3, 0xa9, 0x9b, 0x1, 0x41, 0x65, 0xd7, 0x7b, 0xfd, 0xfe, 0xd6, 0x1, 0x2d, 0x1, 0x6, 0x37, 0x69, 0x31, 0xa3, 0xb5, 0xfe, 0xe7, 0x69, 0x4d, 0x5f, 0xc0, 0x63, 0xb3, 0xc6, 0xc6, 0xb3, 0x4f, 0x7c, 0x9e, 0x1, 0x11, 0x8c, 0xfd, 0xf0, 0x24, 0x24, 0x1, 0x3e, 0x1, 0xe, 0x1, 0x12, 0x1, 0x3a, 0xf, 0xf, 0x21, 0xd6, 0xc0, 0x9c, 0x61, 0x99, 0xfe, 0xe5, 0x3e, 0x3e, 0xe3, 0xcd, 0xcd, 0xe3, 0xf, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x4, 0x81, 0x4, 0x60, 0x10, 0x6, 0x3, 0xd1, 0x0, 0x0, 0x0, 0x3, 0xfe, 0xf2, 0xfe, 0x56, 0x2, 0x2e, 0x6, 0x14, 0x0, 0x3, 0x0, 0x12, 0x0, 0x1b, 0x0, 0x39, 0x40, 0x11, 0x9, 0x13, 0x5, 0x4, 0x16, 0x12, 0xf, 0x4, 0x1d, 0x7, 0x1, 0x5, 0x8, 0x0, 0x4, 0x46, 0x1c, 0x10, 0xfc, 0x3c, 0xfc, 0x3c, 0xdc, 0xc4, 0x10, 0xdc, 0xec, 0x11, 0x12, 0x39, 0x39, 0x31, 0x40, 0xb, 0x18, 0xd, 0xbd, 0x4, 0xbc, 0x0, 0xb1, 0x9, 0x13, 0x6, 0x12, 0x0, 0x2f, 0x3c, 0xcc, 0x32, 0xe4, 0xe4, 0xfc, 0xc4, 0x30, 0x13, 0x33, 0x15, 0x23, 0x15, 0x33, 0x11, 0x33, 0x15, 0x23, 0x6, 0x7, 0x6, 0x23, 0x20, 0x35, 0x34, 0x21, 0x33, 0x7, 0x23, 0x22, 0x17, 0x14, 0x33, 0x32, 0x37, 0x36, 0xc1, 0xb8, 0xb8, 0xb8, 0xb5, 0xbd, 0x12, 0x37, 0x4b, 0xbc, 0xfe, 0xd1, 0x1, 0xe, 0xc1, 0x8, 0xb8, 0x75, 0x1, 0x7f, 0x5f, 0x2b, 0x1d, 0x6, 0x14, 0xe9, 0xcb, 0xfb, 0xa0, 0x8b, 0x78, 0x47, 0x60, 0xdd, 0xcd, 0x8b, 0x42, 0x41, 0x30, 0x20, 0x0, 0x0, 0x1, 0x0, 0xba, 0xfe, 0x4c, 0x4, 0x9c, 0x4, 0x60, 0x0, 0xa, 0x0, 0x0, 0x1, 0x23, 0x11, 0x1, 0x23, 0x9, 0x1, 0x33, 0x1, 0x11, 0x33, 0x4, 0x9c, 0xb9, 0xfd, 0xdb, 0xeb, 0x2, 0x52, 0xfd, 0x95, 0xf0, 0x2, 0x39, 0xb9, 0xfe, 0x4c, 0x3, 0x97, 0xfe, 0x1d, 0x2, 0xc, 0x2, 0x54, 0xfd, 0xdd, 0x2, 0x23, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x3, 0xf1, 0x4, 0x60, 0x0, 0x5, 0x0, 0x1b, 0x40, 0xd, 0x0, 0xbf, 0x3, 0xa9, 0x6, 0x5, 0x7, 0x3, 0x1, 0x8, 0x0, 0x46, 0x6, 0x10, 0xfc, 0xfc, 0xcc, 0xc4, 0x31, 0x0, 0x2f, 0x10, 0xec, 0xec, 0x30, 0x13, 0x33, 0x11, 0x21, 0x15, 0x21, 0xba, 0xb8, 0x2, 0x7f, 0xfc, 0xc9, 0x4, 0x60, 0xfc, 0x33, 0x93, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0xfe, 0x56, 0x5, 0xf8, 0x6, 0x12, 0x0, 0xb, 0x0, 0x24, 0x0, 0x43, 0x40, 0x1e, 0x3, 0xb9, 0xc, 0xf, 0x9, 0xb9, 0x18, 0x15, 0xb8, 0xf, 0x8c, 0x23, 0xbd, 0x25, 0x1f, 0x87, 0x1c, 0x97, 0x25, 0x18, 0xc, 0x6, 0x8, 0x22, 0x47, 0x0, 0x12, 0x12, 0x45, 0x25, 0x10, 0xfc, 0xec, 0xf4, 0xec, 0x32, 0x32, 0x31, 0x0, 0x10, 0xfc, 0xec, 0x10, 0xe4, 0xe4, 0xf4, 0xc4, 0xec, 0x10, 0xc6, 0xee, 0x30, 0x40, 0x9, 0x60, 0x26, 0x80, 0x26, 0xa0, 0x26, 0xe0, 0x26, 0x4, 0x1, 0x5d, 0x1, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x1, 0xe, 0x1, 0x23, 0x22, 0x2, 0x11, 0x10, 0x0, 0x33, 0x32, 0x16, 0x17, 0x35, 0x34, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x1, 0x2f, 0xa7, 0x92, 0x92, 0xa8, 0xa8, 0x92, 0x92, 0xa7, 0x2, 0x73, 0x3a, 0xb1, 0x7c, 0xcb, 0xff, 0x0, 0xff, 0xcb, 0x7c, 0xb1, 0x3a, 0xa3, 0xb5, 0xfe, 0xe7, 0x69, 0x4d, 0xb9, 0x2, 0x2f, 0xcb, 0xe7, 0xe7, 0xcb, 0xcb, 0xe7, 0xe7, 0xfd, 0xae, 0x64, 0x61, 0x1, 0x44, 0x1, 0x8, 0x1, 0x8, 0x1, 0x44, 0x61, 0x64, 0xc6, 0xd6, 0xc0, 0x9c, 0x61, 0x99, 0xf9, 0xda, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x58, 0x0, 0x0, 0x3, 0xa5, 0x6, 0x12, 0x0, 0x24, 0x0, 0x4c, 0x40, 0xb, 0x26, 0x5, 0x12, 0x16, 0x1f, 0x1a, 0x8, 0x20, 0x0, 0xe, 0x25, 0x10, 0xdc, 0xdc, 0x3c, 0xfc, 0x3c, 0xdc, 0xec, 0xc4, 0xb3, 0x1c, 0x1a, 0x23, 0x0, 0x10, 0xcc, 0x10, 0xcc, 0x31, 0x40, 0x14, 0xd, 0x86, 0xe, 0xc, 0x12, 0x24, 0x1b, 0xa9, 0x21, 0x1e, 0x1f, 0x9, 0xb9, 0x12, 0x97, 0x1f, 0x1a, 0xa9, 0x0, 0x1f, 0x0, 0x2f, 0xd4, 0xe4, 0x10, 0xf4, 0xec, 0x10, 0xdc, 0x3c, 0xec, 0x32, 0x10, 0x4b, 0x50, 0x58, 0xdc, 0x1b, 0xd4, 0x59, 0xec, 0x30, 0x1, 0x33, 0x32, 0x37, 0x36, 0x35, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x35, 0x36, 0x37, 0x36, 0x33, 0x20, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x15, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x1, 0x54, 0x3f, 0xc0, 0x56, 0x3a, 0x1, 0x39, 0x63, 0xb3, 0x50, 0x4f, 0x4e, 0x4e, 0x4c, 0x51, 0x51, 0x55, 0x1, 0x13, 0x8a, 0x6d, 0x6c, 0x70, 0xaa, 0xe7, 0xe7, 0xca, 0xe5, 0xe4, 0x3, 0x1e, 0x72, 0x4c, 0x62, 0x85, 0x41, 0x72, 0x16, 0x15, 0x2b, 0xac, 0x23, 0x11, 0x12, 0x9d, 0x7d, 0xba, 0xaa, 0x73, 0x77, 0x1e, 0xd4, 0xa4, 0xfe, 0xec, 0x1, 0x14, 0xa4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x58, 0x0, 0x0, 0x3, 0xa5, 0x6, 0x12, 0x0, 0x24, 0x0, 0x4d, 0x40, 0xc, 0x26, 0x10, 0x22, 0x1d, 0x8, 0x23, 0x3, 0x18, 0x12, 0x7, 0x45, 0x25, 0x10, 0xfc, 0xec, 0xdc, 0x3c, 0xfc, 0x3c, 0xdc, 0xc4, 0xb3, 0x20, 0x22, 0x0, 0x23, 0x10, 0xcc, 0x10, 0xcc, 0x31, 0x40, 0x14, 0x10, 0x86, 0xf, 0xc, 0xb, 0x2, 0x1e, 0xa9, 0x24, 0x21, 0x23, 0x14, 0xb9, 0xb, 0x97, 0x23, 0x3, 0xa9, 0x1d, 0x23, 0x0, 0x2f, 0xd4, 0xe4, 0x10, 0xf4, 0xec, 0x10, 0xdc, 0x3c, 0xec, 0x32, 0x10, 0x4b, 0x50, 0x58, 0xdc, 0x1b, 0xd4, 0x59, 0xec, 0x30, 0x13, 0x35, 0x33, 0x35, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x21, 0x32, 0x17, 0x16, 0x17, 0x15, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x11, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, 0xf7, 0xe7, 0xaa, 0x70, 0x6c, 0x6e, 0x89, 0x1, 0x13, 0x55, 0x51, 0x51, 0x4c, 0x4e, 0x4f, 0x4e, 0x50, 0xb3, 0x63, 0x39, 0x1, 0x3a, 0x56, 0xc0, 0x3e, 0xe5, 0xe5, 0xca, 0x1, 0x14, 0xa4, 0xd4, 0x1e, 0x77, 0x73, 0xaa, 0xba, 0x7d, 0x9d, 0x12, 0x11, 0x23, 0xac, 0x2b, 0x15, 0x16, 0x72, 0x41, 0x85, 0x62, 0x4c, 0x72, 0xfe, 0x9a, 0xa4, 0xfe, 0xec, 0x1, 0x14, 0x0, 0x0, 0x3, 0x0, 0x71, 0xff, 0xe3, 0x7, 0xc3, 0x6, 0x14, 0x0, 0xb, 0x0, 0x26, 0x0, 0x29, 0x0, 0x0, 0x0, 0x10, 0x17, 0x16, 0x20, 0x37, 0x36, 0x10, 0x27, 0x26, 0x20, 0x7, 0x25, 0x11, 0x33, 0x11, 0x21, 0x15, 0x1, 0x21, 0x15, 0x21, 0x2b, 0x1, 0x35, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x10, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x11, 0x1, 0x1, 0x2f, 0x53, 0x54, 0x1, 0x24, 0x54, 0x54, 0x54, 0x54, 0xfe, 0xdc, 0x54, 0x2, 0x20, 0xb8, 0x3, 0x69, 0xfd, 0x4c, 0x2, 0xb4, 0xfc, 0x97, 0x1a, 0x9e, 0x3a, 0x58, 0x59, 0x7c, 0xcb, 0x80, 0x7f, 0x7f, 0x80, 0xcb, 0x7c, 0x59, 0x58, 0xf2, 0x2, 0x9a, 0x2, 0xfa, 0xfe, 0x6a, 0x74, 0x73, 0x73, 0x74, 0x1, 0x96, 0x74, 0x73, 0x73, 0x48, 0x2, 0x5e, 0xfe, 0x4c, 0xa8, 0xfc, 0xdb, 0x93, 0xa8, 0x64, 0x30, 0x31, 0xa2, 0xa2, 0x2, 0x10, 0xa2, 0xa2, 0x31, 0x30, 0x4d, 0xfc, 0xf9, 0x3, 0x7, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0xfe, 0x4c, 0x8, 0x1c, 0x6, 0x14, 0x0, 0x34, 0x0, 0x40, 0x0, 0x0, 0x1, 0x11, 0x23, 0x35, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x10, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x11, 0x33, 0x11, 0x21, 0x15, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x4, 0x21, 0x22, 0x27, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2b, 0x1, 0x35, 0x1, 0x4, 0x10, 0x17, 0x16, 0x20, 0x37, 0x36, 0x10, 0x27, 0x26, 0x20, 0x7, 0x4, 0x5a, 0xb8, 0x3a, 0x58, 0x59, 0x7c, 0xcb, 0x80, 0x7f, 0x7f, 0x80, 0xcb, 0x7c, 0x59, 0x58, 0x3a, 0xb8, 0x3, 0x6a, 0xfe, 0x65, 0x6a, 0x80, 0x62, 0x56, 0x51, 0xfe, 0xd0, 0xfe, 0xe8, 0x5e, 0x63, 0x64, 0x6a, 0x54, 0xc8, 0x6d, 0xbe, 0x63, 0x64, 0x5c, 0x5d, 0xa5, 0xae, 0x1, 0xae, 0xfa, 0x3a, 0x53, 0x54, 0x1, 0x24, 0x54, 0x54, 0x54, 0x54, 0xfe, 0xdc, 0x54, 0x3, 0xcd, 0xfc, 0x33, 0xa8, 0x64, 0x30, 0x31, 0xa2, 0xa2, 0x2, 0x10, 0xa2, 0xa2, 0x31, 0x30, 0x64, 0x2, 0x5e, 0xfe, 0x4c, 0xa8, 0xfe, 0x24, 0x38, 0x2a, 0x6d, 0x68, 0x8a, 0xdd, 0xf2, 0x12, 0x13, 0x25, 0xc3, 0x31, 0x32, 0x4b, 0x4b, 0x8f, 0x84, 0x4b, 0x4a, 0xa6, 0x1, 0xf3, 0xd3, 0xfe, 0x6a, 0x74, 0x73, 0x73, 0x74, 0x1, 0x96, 0x74, 0x73, 0x73, 0x0, 0x0, 0x4, 0x0, 0x71, 0xff, 0x91, 0x7, 0xc2, 0x6, 0x14, 0x0, 0xb, 0x0, 0xe, 0x0, 0x33, 0x0, 0x3a, 0x0, 0x0, 0x0, 0x10, 0x17, 0x16, 0x20, 0x37, 0x36, 0x10, 0x27, 0x26, 0x20, 0x7, 0x25, 0x11, 0x1, 0x25, 0x21, 0x15, 0x1, 0x33, 0x12, 0x33, 0x32, 0x17, 0x16, 0x21, 0x23, 0x6, 0x15, 0x23, 0x34, 0x37, 0x21, 0x23, 0x35, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x10, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x11, 0x33, 0x1, 0x33, 0x32, 0x35, 0x34, 0x23, 0x6, 0x1, 0x2f, 0x53, 0x54, 0x1, 0x24, 0x54, 0x54, 0x54, 0x54, 0xfe, 0xdc, 0x54, 0x2, 0xd8, 0x2, 0x99, 0xfd, 0x67, 0x3, 0x68, 0xfd, 0x4c, 0xaf, 0x3c, 0xdb, 0xe3, 0x1, 0x1, 0xfe, 0xb2, 0x29, 0x3, 0x99, 0x3, 0xfe, 0x96, 0x9d, 0x3a, 0x58, 0x59, 0x7c, 0xcb, 0x80, 0x7f, 0x7f, 0x80, 0xcb, 0x7c, 0x59, 0x58, 0x3a, 0xb8, 0x1, 0xfd, 0x14, 0xae, 0x46, 0x58, 0x2, 0xfa, 0xfe, 0x6a, 0x74, 0x73, 0x73, 0x74, 0x1, 0x96, 0x74, 0x73, 0x73, 0x5f, 0xfc, 0xfa, 0x3, 0x6, 0x93, 0xa8, 0xfc, 0xdb, 0x1, 0x20, 0xf6, 0xbd, 0x33, 0x3c, 0x3b, 0x34, 0xa8, 0x64, 0x30, 0x31, 0xa2, 0xa2, 0x2, 0x10, 0xa2, 0xa2, 0x31, 0x30, 0x64, 0x2, 0x5e, 0xfa, 0x7f, 0x36, 0x5b, 0x2, 0x0, 0x1, 0x0, 0x37, 0x0, 0x0, 0x6, 0x40, 0x5, 0x9e, 0x0, 0x37, 0x0, 0x0, 0x1, 0x11, 0x21, 0x15, 0x21, 0x11, 0x14, 0x17, 0x16, 0x33, 0x21, 0x32, 0x37, 0x36, 0x35, 0x34, 0x26, 0x2f, 0x1, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1f, 0x1, 0x1e, 0x1, 0x15, 0x14, 0x7, 0x6, 0x29, 0x1, 0x22, 0x27, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x11, 0x1, 0x77, 0x1, 0x7b, 0xfe, 0x85, 0x25, 0x26, 0x73, 0x2, 0x40, 0x82, 0x46, 0x46, 0x5e, 0xb2, 0x40, 0xab, 0x98, 0xe0, 0xce, 0x66, 0xb4, 0x4c, 0x4e, 0xa8, 0x5a, 0x89, 0x89, 0x62, 0x94, 0x3f, 0xc6, 0xa3, 0x7c, 0x4c, 0xfe, 0xf9, 0xfd, 0xc4, 0xd5, 0x51, 0x51, 0x87, 0x87, 0x5, 0x9e, 0xfe, 0xc2, 0x8f, 0xfd, 0xa0, 0x89, 0x27, 0x27, 0x2d, 0x2c, 0x34, 0x49, 0x4d, 0x2a, 0xf, 0x24, 0x95, 0x82, 0x9e, 0xac, 0x1e, 0x1e, 0xae, 0x28, 0x28, 0x54, 0x54, 0x40, 0x49, 0x21, 0xe, 0x2c, 0x97, 0x89, 0x92, 0x65, 0x3e, 0x50, 0x4f, 0xd2, 0x2, 0x60, 0x8f, 0x1, 0x3e, 0x0, 0x0, 0x0, 0x2, 0x0, 0x37, 0xfe, 0x56, 0x5, 0x8, 0x6, 0x14, 0x0, 0x26, 0x0, 0x2f, 0x0, 0x0, 0x1, 0x11, 0x21, 0x30, 0x35, 0x34, 0x37, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x7, 0x6, 0x15, 0x13, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x3d, 0x1, 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x11, 0x1, 0x2, 0x11, 0x21, 0x11, 0x14, 0x17, 0x16, 0x33, 0x1, 0x77, 0x1, 0x78, 0x57, 0x51, 0xc3, 0xae, 0xb0, 0x63, 0x26, 0x27, 0x2, 0x51, 0x52, 0xb5, 0x46, 0x31, 0x69, 0x26, 0x26, 0xbd, 0xd5, 0x51, 0x51, 0x87, 0x87, 0x2, 0x33, 0x2, 0xfe, 0x88, 0x25, 0x26, 0x73, 0x5, 0x9e, 0xfe, 0xc2, 0x4e, 0xb5, 0x5b, 0x56, 0x99, 0x28, 0x28, 0x68, 0xfb, 0x29, 0xd6, 0x60, 0x60, 0x9c, 0x30, 0x31, 0x99, 0x14, 0x50, 0x4f, 0xd2, 0x2, 0x60, 0x8f, 0x1, 0x3e, 0xfa, 0xfc, 0x1, 0xa2, 0x1, 0x95, 0xfd, 0xa0, 0x89, 0x27, 0x27, 0x0, 0x3, 0x0, 0x37, 0xff, 0x70, 0x5, 0xc9, 0x5, 0x9e, 0x0, 0x2d, 0x0, 0x39, 0x0, 0x44, 0x0, 0x0, 0x1, 0x11, 0x21, 0x15, 0x36, 0x21, 0x32, 0x17, 0x16, 0x17, 0x15, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x10, 0x1f, 0x1, 0x36, 0x33, 0x20, 0x17, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x6, 0x15, 0x7, 0x34, 0x37, 0x21, 0x22, 0x27, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x11, 0x1, 0x16, 0x33, 0x32, 0x37, 0x36, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x5, 0x26, 0x35, 0x10, 0x37, 0x21, 0x11, 0x14, 0x17, 0x16, 0x33, 0x1, 0x77, 0x1, 0x7b, 0x95, 0x0, 0xff, 0x55, 0x51, 0x51, 0x4c, 0x4e, 0x4f, 0x4e, 0x50, 0xb3, 0x63, 0x63, 0x63, 0x8, 0x4f, 0xce, 0x1, 0x2b, 0x1, 0x65, 0x4b, 0x9d, 0x54, 0x49, 0x2, 0x99, 0x6, 0xfe, 0xeb, 0xd5, 0x51, 0x51, 0x87, 0x87, 0x3, 0x3b, 0x42, 0x53, 0x5f, 0x15, 0x1f, 0x1, 0x1, 0x83, 0x72, 0x28, 0x5, 0xfe, 0xd6, 0x80, 0x8b, 0xfe, 0x99, 0x25, 0x26, 0x73, 0x5, 0x9e, 0xfe, 0xc2, 0x7a, 0x95, 0x11, 0x12, 0x23, 0xac, 0x2b, 0x16, 0x15, 0x71, 0x72, 0xfe, 0x66, 0x72, 0x9, 0xab, 0xf6, 0x76, 0x29, 0x1e, 0x12, 0x32, 0x4c, 0x3, 0x4f, 0x41, 0x50, 0x4f, 0xd2, 0x2, 0x60, 0x8f, 0x1, 0x3e, 0xfa, 0xf9, 0x18, 0x7, 0xb, 0x27, 0x4b, 0x56, 0xa, 0x9, 0x9d, 0xf8, 0x1, 0x7, 0x9b, 0xfd, 0xa0, 0x89, 0x27, 0x27, 0x0, 0x0, 0x1, 0x0, 0x2f, 0xfe, 0x56, 0x6, 0x6f, 0x6, 0x14, 0x0, 0x35, 0x0, 0x0, 0x1, 0x11, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x37, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x7, 0x6, 0x1d, 0x1, 0x21, 0x3b, 0x1, 0x15, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x6, 0x6f, 0x52, 0x51, 0xb5, 0xfe, 0xe9, 0x69, 0x26, 0x26, 0x7c, 0x7c, 0x95, 0xac, 0xb9, 0xfe, 0xd3, 0xb9, 0xb0, 0xb0, 0x57, 0x57, 0xbd, 0xae, 0xb0, 0x63, 0x27, 0x26, 0x1, 0x2d, 0x2, 0xb7, 0x42, 0x59, 0x5a, 0x75, 0xc1, 0x63, 0x63, 0x2, 0xa4, 0xfd, 0x48, 0xd6, 0x60, 0x60, 0x9c, 0x30, 0x31, 0x99, 0x2, 0xb2, 0x9f, 0x9e, 0xbe, 0xa4, 0xfd, 0x87, 0x3, 0xd1, 0xfc, 0x2f, 0x3, 0xd1, 0x8f, 0x4e, 0xbb, 0x55, 0x56, 0x99, 0x28, 0x28, 0x68, 0x63, 0xae, 0x65, 0x32, 0x32, 0x77, 0x78, 0x0, 0x1, 0x0, 0xc1, 0x0, 0x0, 0x5, 0x41, 0x6, 0x14, 0x0, 0x27, 0x0, 0x0, 0x13, 0x33, 0x11, 0x21, 0x32, 0x37, 0x36, 0x35, 0x34, 0x26, 0x2f, 0x1, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1f, 0x1, 0x1e, 0x1, 0x15, 0x14, 0x7, 0x6, 0x29, 0x1, 0xc1, 0xb8, 0x1, 0xfd, 0x82, 0x46, 0x46, 0x5e, 0xb2, 0x40, 0xab, 0x98, 0xe0, 0xce, 0x66, 0xb4, 0x4c, 0x4e, 0xa8, 0x5a, 0x89, 0x89, 0x62, 0x94, 0x3f, 0xc6, 0xa3, 0x7c, 0x4c, 0xfe, 0xf9, 0xfd, 0x4f, 0x6, 0x14, 0xfa, 0x86, 0x2d, 0x2c, 0x34, 0x49, 0x4d, 0x2a, 0xf, 0x24, 0x95, 0x82, 0x9e, 0xac, 0x1e, 0x1e, 0xae, 0x28, 0x28, 0x54, 0x54, 0x40, 0x49, 0x21, 0xe, 0x2c, 0x97, 0x89, 0x92, 0x65, 0x3e, 0x0, 0x2, 0x0, 0xc1, 0x0, 0x0, 0x4, 0xe2, 0x6, 0x14, 0x0, 0xa, 0x0, 0xd, 0x0, 0x8e, 0x40, 0xd, 0xd, 0x5, 0x3, 0xb, 0x6, 0x3, 0x9, 0xb, 0x1, 0x8, 0x0, 0x46, 0xe, 0x10, 0xfc, 0xfc, 0x3c, 0xd4, 0xc4, 0x32, 0x11, 0x12, 0x39, 0x39, 0x31, 0x0, 0x40, 0xa, 0x42, 0xd, 0xa9, 0x2, 0xbc, 0x5, 0xa9, 0x0, 0x97, 0x7, 0x2f, 0xec, 0xec, 0xf4, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x40, 0xa, 0x5, 0x11, 0xc, 0xd, 0xc, 0xd, 0x11, 0x4, 0x5, 0x4, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x59, 0x1, 0x40, 0x42, 0x5, 0x4, 0x16, 0x4, 0x1b, 0xc, 0x26, 0x4, 0x47, 0x4, 0x49, 0xc, 0x6, 0xd, 0xd, 0xf, 0xf, 0x18, 0x5, 0x1d, 0xd, 0x2b, 0xd, 0x30, 0xf, 0x39, 0xd, 0x40, 0x3, 0x40, 0x4, 0x40, 0x6, 0x40, 0x7, 0x40, 0xf, 0x43, 0xd, 0x45, 0x5, 0x57, 0x5, 0x59, 0xd, 0x60, 0x3, 0x60, 0x4, 0x60, 0x6, 0x60, 0x7, 0x60, 0xf, 0x62, 0xd, 0x66, 0x5, 0xaf, 0xf, 0xbf, 0xf, 0xdf, 0xf, 0x1a, 0x5d, 0x0, 0x5d, 0x13, 0x33, 0x11, 0x21, 0x15, 0x1, 0x21, 0x15, 0x21, 0x2b, 0x1, 0x13, 0x11, 0x1, 0xc1, 0xb8, 0x3, 0x69, 0xfd, 0x4c, 0x2, 0xb4, 0xfc, 0x97, 0x1a, 0x9e, 0xb8, 0x2, 0x9a, 0x6, 0x14, 0xfe, 0x4c, 0xa8, 0xfc, 0xdb, 0x93, 0x3, 0xcd, 0xfc, 0xf9, 0x3, 0x7, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x36, 0xff, 0xe2, 0x3, 0xe9, 0x5, 0x1f, 0x0, 0xc, 0x0, 0x19, 0x0, 0x0, 0x13, 0x33, 0x1b, 0x1, 0x33, 0x1b, 0x1, 0x33, 0x3, 0x23, 0xb, 0x1, 0x23, 0x3, 0x33, 0x1b, 0x1, 0x33, 0x1b, 0x1, 0x33, 0x3, 0x23, 0xb, 0x1, 0x23, 0x36, 0x74, 0x91, 0x90, 0x89, 0x91, 0x90, 0x74, 0xb9, 0x88, 0x98, 0x99, 0x88, 0xb9, 0x74, 0x91, 0x90, 0x89, 0x91, 0x90, 0x74, 0xb9, 0x88, 0x98, 0x99, 0x88, 0x2, 0x55, 0xfe, 0x17, 0x1, 0xe9, 0xfe, 0x17, 0x1, 0xe9, 0xfd, 0x8d, 0x2, 0x2, 0xfd, 0xfe, 0x5, 0x3d, 0xfe, 0x17, 0x1, 0xe9, 0xfe, 0x17, 0x1, 0xe9, 0xfd, 0x8d, 0x2, 0x2, 0xfd, 0xfe, 0x0, 0x2, 0x0, 0x36, 0x0, 0xad, 0x3, 0xe9, 0x5, 0x1f, 0x0, 0x7, 0x0, 0xf, 0x0, 0x33, 0x40, 0xc, 0x11, 0xc, 0x4, 0x8, 0x9, 0x1, 0xd, 0x5, 0x8, 0x8, 0x0, 0x10, 0x10, 0xdc, 0x3c, 0xec, 0x32, 0xd4, 0x3c, 0xec, 0x32, 0xc4, 0x31, 0x40, 0xc, 0xb, 0xe, 0xd, 0xa9, 0x8, 0x10, 0x3, 0x6, 0x5, 0xa9, 0x0, 0x10, 0x0, 0x10, 0xd4, 0xfc, 0xcc, 0x32, 0x10, 0xd4, 0xfc, 0xcc, 0x32, 0x30, 0x13, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x36, 0x3, 0xb3, 0x8f, 0xfd, 0x6b, 0x8f, 0x3, 0xb3, 0x8f, 0xfd, 0x6b, 0x8f, 0x2, 0x55, 0xfe, 0x58, 0x1, 0x5, 0xfe, 0xfb, 0x4, 0x72, 0xfe, 0x58, 0x1, 0x5, 0xfe, 0xfb, 0x0, 0x1, 0x0, 0x0, 0xfe, 0x4a, 0x4, 0x90, 0x6, 0x14, 0x0, 0x19, 0x0, 0x33, 0x40, 0xc, 0x1b, 0x0, 0x16, 0x8, 0x17, 0x4e, 0xf, 0x8, 0x5, 0x46, 0xa, 0x1a, 0x10, 0xd4, 0xfc, 0xec, 0xf4, 0xec, 0x32, 0xcc, 0x31, 0x0, 0x40, 0xf, 0x12, 0x87, 0x0, 0x2, 0x8c, 0x1a, 0x9, 0x87, 0xb, 0x97, 0x16, 0xbc, 0x18, 0xbd, 0x1a, 0x10, 0xec, 0xec, 0xf4, 0xec, 0x10, 0xf4, 0xcc, 0xec, 0x30, 0x25, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x34, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x16, 0x15, 0x11, 0x10, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x23, 0x3, 0xd7, 0x83, 0xe7, 0xc1, 0xc6, 0x4c, 0x69, 0x31, 0x46, 0xb5, 0xa3, 0xf8, 0x95, 0xac, 0xb9, 0xb9, 0xac, 0xc9, 0xef, 0xe8, 0x2, 0xc4, 0x99, 0x61, 0x9c, 0xc0, 0xd6, 0xfd, 0x42, 0xfe, 0xc3, 0xbe, 0xa4, 0x2, 0x79, 0xf9, 0xec, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xfe, 0x56, 0x5, 0x76, 0x6, 0x14, 0x0, 0x21, 0x0, 0x3a, 0x40, 0xd, 0x1d, 0x23, 0x0, 0x15, 0x8, 0x17, 0x4e, 0xf, 0x8, 0x5, 0x46, 0xa, 0x22, 0x10, 0xd4, 0xfc, 0xec, 0xf4, 0xec, 0x32, 0xcc, 0xcc, 0x31, 0x0, 0x40, 0x12, 0x12, 0x87, 0x0, 0x2, 0x8c, 0x22, 0xa, 0x87, 0xb, 0x97, 0x22, 0x1c, 0x87, 0x1e, 0xbd, 0x16, 0xbc, 0x22, 0x10, 0xec, 0xfc, 0xec, 0x10, 0xf4, 0xec, 0x10, 0xf4, 0xcc, 0xec, 0x30, 0x25, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x34, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x16, 0x15, 0x11, 0x10, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x6, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x26, 0x27, 0x3, 0xd7, 0x83, 0xe7, 0xc1, 0xc6, 0x4c, 0x69, 0x31, 0x46, 0xb5, 0xa3, 0xf8, 0x95, 0xac, 0xb9, 0x4, 0x50, 0x68, 0x32, 0x46, 0xb6, 0x9e, 0x5, 0xac, 0xc9, 0xef, 0xe8, 0x2, 0xc4, 0x99, 0x61, 0x9c, 0xc0, 0xd6, 0xfd, 0x42, 0xfe, 0xc3, 0xbe, 0xa4, 0x2, 0x79, 0xfb, 0x8e, 0x94, 0x66, 0x9c, 0xb9, 0xdd, 0x0, 0x1, 0x0, 0x75, 0x2, 0x9c, 0x2, 0xc4, 0x6, 0x3, 0x0, 0x13, 0x0, 0x30, 0x40, 0x7, 0x15, 0x0, 0x3, 0xe, 0xa, 0xb, 0x14, 0x10, 0xd4, 0xdc, 0x3c, 0x2f, 0xcc, 0xcc, 0x4b, 0xb0, 0xd, 0x51, 0x58, 0xb1, 0x15, 0x40, 0x38, 0x59, 0x31, 0xb2, 0x7f, 0x15, 0x1, 0x5d, 0x0, 0x40, 0x6, 0x6, 0x11, 0xc, 0x2, 0xb, 0x14, 0x10, 0xd4, 0x3c, 0xc4, 0xd4, 0xcc, 0x30, 0x1, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x11, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x2, 0xc4, 0x74, 0x4e, 0x4e, 0x5e, 0x6c, 0x75, 0x75, 0x29, 0x71, 0x4a, 0x79, 0x7d, 0x4, 0x17, 0xfe, 0x85, 0x1, 0x77, 0x59, 0x59, 0x6b, 0x5c, 0xfe, 0x9e, 0x3, 0x67, 0xfe, 0xab, 0x38, 0x38, 0x86, 0x0, 0x0, 0x1, 0x0, 0x75, 0x2, 0x9c, 0x2, 0xc4, 0x6, 0x3, 0x0, 0x1b, 0x0, 0x3a, 0x4b, 0xb0, 0xe, 0x53, 0x58, 0x40, 0x8, 0x1d, 0x0, 0x3, 0x10, 0x16, 0xa, 0xb, 0x1c, 0x10, 0xd4, 0xdc, 0x3c, 0xcc, 0x2f, 0xcc, 0xcc, 0x4b, 0xb0, 0xd, 0x51, 0x58, 0xb1, 0x1d, 0x40, 0x38, 0x59, 0x31, 0xb2, 0x7f, 0x1d, 0x1, 0x5d, 0x0, 0x40, 0x7, 0x6, 0x19, 0x11, 0xf, 0x2, 0xb, 0x1c, 0x10, 0xd4, 0x3c, 0xd4, 0xcc, 0xd4, 0xcc, 0x30, 0x59, 0x1, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x34, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x2, 0xc4, 0x74, 0x4e, 0x4e, 0x5e, 0x6c, 0x75, 0x67, 0x72, 0xa0, 0x92, 0x42, 0x30, 0x29, 0x71, 0x4a, 0x79, 0x7d, 0x4, 0x17, 0xfe, 0x85, 0x1, 0x77, 0x59, 0x59, 0x6b, 0x5c, 0xfe, 0x9e, 0x2, 0x84, 0x78, 0x6b, 0x57, 0x36, 0x56, 0x72, 0x38, 0x38, 0x86, 0x0, 0x0, 0x0, 0x2, 0xff, 0xe9, 0x1, 0xad, 0x0, 0xee, 0x6, 0x3, 0x0, 0xd, 0x0, 0x11, 0x0, 0x23, 0x40, 0x7, 0x13, 0xf, 0x1, 0x8, 0xe, 0x0, 0x12, 0x10, 0xdc, 0x3c, 0xcc, 0xdc, 0x3c, 0xcc, 0x31, 0x0, 0x40, 0x7, 0xe, 0x11, 0x0, 0x8, 0x7, 0x0, 0x12, 0x10, 0xd4, 0xd4, 0xcc, 0x10, 0xdc, 0xcc, 0x30, 0x13, 0x33, 0x11, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x33, 0x15, 0x23, 0x7a, 0x74, 0x34, 0x33, 0x72, 0x2c, 0x1f, 0x42, 0x18, 0x18, 0x74, 0x74, 0x5, 0xf, 0xfd, 0x82, 0x78, 0x36, 0x36, 0x58, 0x1b, 0x1b, 0x56, 0x3, 0x72, 0x82, 0x0, 0x0, 0x1, 0x0, 0x75, 0x2, 0x9c, 0x2, 0x12, 0x5, 0x1e, 0x0, 0x11, 0x0, 0x1f, 0x40, 0x5, 0x11, 0xb, 0x7, 0x8, 0x12, 0x10, 0xdc, 0xcc, 0x0, 0xcc, 0x31, 0x0, 0x40, 0x7, 0x0, 0x11, 0x7, 0x3, 0xe, 0x9, 0x8, 0x2f, 0xc4, 0xd4, 0xcc, 0x10, 0xd4, 0xcc, 0x30, 0x1, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x17, 0x2, 0x12, 0x13, 0x2e, 0x1c, 0x62, 0x69, 0x75, 0x75, 0x24, 0x75, 0x54, 0xc, 0x1d, 0x12, 0x4, 0xaf, 0xa, 0x9, 0x71, 0x6b, 0xfe, 0xb6, 0x2, 0x73, 0x61, 0x39, 0x37, 0x2, 0x3, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x48, 0x2, 0x8d, 0x1, 0xe4, 0x5, 0xf, 0x0, 0x11, 0x0, 0x1b, 0xb4, 0x8, 0x6, 0xb, 0x11, 0x12, 0x10, 0xdc, 0xdc, 0x3c, 0xcc, 0x31, 0x0, 0xb5, 0x0, 0x11, 0x3, 0xe, 0x7, 0x9, 0x2f, 0xcc, 0xd4, 0xcc, 0xd4, 0xcc, 0x30, 0x13, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x26, 0x27, 0x48, 0x13, 0x2e, 0x1c, 0x62, 0x69, 0x74, 0x74, 0x24, 0x75, 0x54, 0xc, 0x1d, 0x12, 0x2, 0xfc, 0xa, 0x9, 0x71, 0x6b, 0x1, 0x4a, 0xfd, 0x8d, 0x61, 0x39, 0x37, 0x2, 0x3, 0x0, 0x1, 0x0, 0x48, 0x1, 0xad, 0x2, 0x75, 0x5, 0xf, 0x0, 0x1b, 0x0, 0x27, 0xb6, 0x1d, 0xe, 0x9, 0x6, 0x15, 0x0, 0x1c, 0x10, 0xdc, 0xdc, 0x3c, 0xdc, 0xdc, 0x31, 0x0, 0x40, 0xa, 0xd, 0xf, 0x14, 0x0, 0x1b, 0x3, 0x18, 0x8, 0x9, 0x14, 0x2f, 0x3c, 0xcc, 0xd4, 0xcc, 0xd4, 0xcc, 0x10, 0xdc, 0xcc, 0x30, 0x13, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x15, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x26, 0x3d, 0x2, 0xe, 0x1, 0x23, 0x22, 0x26, 0x27, 0x48, 0x13, 0x2e, 0x1c, 0x62, 0x69, 0x74, 0x30, 0x42, 0x1f, 0x2c, 0x72, 0x67, 0x24, 0x75, 0x54, 0xc, 0x1d, 0x12, 0x2, 0xfc, 0xa, 0x9, 0x71, 0x6b, 0x1, 0x4a, 0xfd, 0x8d, 0xb, 0x56, 0x36, 0x58, 0x6c, 0x78, 0xb, 0x61, 0x39, 0x37, 0x2, 0x3, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x20, 0x2, 0x9c, 0x2, 0x8f, 0x5, 0xf, 0x0, 0x16, 0x0, 0x21, 0x0, 0x0, 0x1, 0x1e, 0x1, 0x15, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x11, 0x33, 0x11, 0x33, 0x32, 0x37, 0x36, 0x3f, 0x1, 0x33, 0x7, 0x6, 0x7, 0x6, 0x1, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2b, 0x1, 0x1, 0x9b, 0x43, 0x46, 0x43, 0x44, 0x89, 0xf4, 0x74, 0x6b, 0x3d, 0x25, 0x25, 0x28, 0x66, 0x7b, 0x6e, 0x21, 0x21, 0x22, 0xfe, 0xd7, 0x7d, 0x4b, 0x27, 0x29, 0x29, 0x27, 0x4b, 0x7d, 0x3, 0xe9, 0xf, 0x4e, 0x3b, 0x5b, 0x2d, 0x2d, 0x2, 0x73, 0xfe, 0xf7, 0x15, 0x14, 0x3f, 0xa1, 0xab, 0x35, 0x1e, 0x1e, 0xff, 0x0, 0x17, 0x18, 0x2f, 0x2e, 0x18, 0x19, 0x0, 0x1, 0x0, 0x36, 0x2, 0x9c, 0x3, 0xe9, 0x5, 0xf, 0x0, 0xc, 0x0, 0x0, 0x13, 0x33, 0x1b, 0x1, 0x33, 0x1b, 0x1, 0x33, 0x3, 0x23, 0xb, 0x1, 0x23, 0x36, 0x74, 0x91, 0x90, 0x89, 0x91, 0x90, 0x74, 0xb9, 0x88, 0x98, 0x99, 0x88, 0x5, 0xf, 0xfe, 0x17, 0x1, 0xe9, 0xfe, 0x17, 0x1, 0xe9, 0xfd, 0x8d, 0x2, 0x2, 0xfd, 0xfe, 0x0, 0x1, 0x0, 0x26, 0x1, 0xad, 0x2, 0xd5, 0x5, 0xf, 0x0, 0x11, 0x0, 0x0, 0x1, 0x6, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x3f, 0x1, 0x1, 0x33, 0x1b, 0x1, 0x33, 0x1, 0x9f, 0x31, 0x2f, 0x2e, 0x4e, 0x5d, 0x44, 0x30, 0x1a, 0x1b, 0x20, 0x15, 0xfe, 0xe2, 0x7b, 0xdd, 0xdc, 0x7b, 0x2, 0x62, 0x70, 0x22, 0x23, 0x57, 0x14, 0x14, 0x4b, 0x2f, 0x2, 0x69, 0xfe, 0x16, 0x1, 0xea, 0x0, 0xff, 0xff, 0x0, 0xa0, 0x4, 0x74, 0x1, 0x9f, 0x6, 0x66, 0x10, 0x6, 0x3, 0x12, 0x0, 0x0, 0xff, 0xff, 0x0, 0xa0, 0x4, 0x74, 0x3, 0x13, 0x6, 0x66, 0x10, 0x26, 0x3, 0x12, 0x0, 0x0, 0x10, 0x7, 0x3, 0x12, 0x1, 0x74, 0x0, 0x0, 0xff, 0xff, 0x0, 0xae, 0x3, 0xe9, 0x1, 0xd3, 0x5, 0xd5, 0x10, 0x6, 0xa, 0xf6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb2, 0x3, 0xfe, 0x1, 0xd7, 0x5, 0xd5, 0x10, 0x6, 0xa, 0xf7, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc4, 0x4, 0xee, 0x1, 0xe9, 0x6, 0xda, 0x0, 0x5, 0x0, 0x17, 0x40, 0xa, 0x3, 0x9e, 0x0, 0x6, 0x3, 0x2, 0x0, 0x19, 0x5, 0x6, 0x10, 0xdc, 0xfc, 0xd4, 0xcc, 0x31, 0x0, 0x10, 0xd4, 0xec, 0x30, 0x1, 0x15, 0x13, 0x23, 0x3, 0x35, 0x1, 0x97, 0x52, 0x81, 0xa4, 0x6, 0xda, 0xac, 0xfe, 0xc0, 0x1, 0x40, 0xac, 0x0, 0x1, 0x0, 0x75, 0x3, 0xef, 0x1, 0x87, 0x6, 0x14, 0x0, 0xe, 0x0, 0x31, 0xb4, 0x0, 0x7, 0x4, 0xc, 0xf, 0x10, 0xdc, 0xb4, 0x3f, 0xc, 0x4f, 0xc, 0x2, 0x5d, 0xcc, 0xdc, 0xb6, 0x0, 0x7, 0x10, 0x7, 0x20, 0x7, 0x3, 0x5d, 0x3c, 0x31, 0x0, 0xb6, 0x1, 0x4, 0x0, 0x7, 0x8, 0x97, 0xf, 0x10, 0xf4, 0xcc, 0xdc, 0xb2, 0x0, 0x0, 0x1, 0x5d, 0x39, 0xcc, 0x30, 0x13, 0x35, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x35, 0x32, 0x17, 0x16, 0x14, 0x7, 0x6, 0x75, 0x40, 0x58, 0x58, 0x40, 0x73, 0x50, 0x4f, 0x4f, 0x50, 0x3, 0xef, 0x7b, 0x58, 0x40, 0x3f, 0x58, 0x7b, 0x50, 0x4f, 0xe6, 0x50, 0x50, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x75, 0x3, 0xef, 0x1, 0x87, 0x6, 0x14, 0x0, 0xe, 0x0, 0x31, 0xb4, 0x0, 0x8, 0xb, 0x4, 0xf, 0x10, 0xd4, 0xcc, 0xdc, 0x40, 0xd, 0x0, 0x4, 0x0, 0xb, 0x10, 0x4, 0x10, 0xb, 0x20, 0x4, 0x20, 0xb, 0x6, 0x5d, 0x3c, 0x31, 0x0, 0xb6, 0xe, 0xb, 0x0, 0x8, 0x7, 0x97, 0xf, 0x10, 0xf4, 0xcc, 0xd4, 0xb2, 0x0, 0x0, 0x1, 0x5d, 0x39, 0xcc, 0x30, 0x1, 0x22, 0x27, 0x26, 0x34, 0x37, 0x36, 0x33, 0x15, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x1, 0x87, 0x73, 0x50, 0x4f, 0x4f, 0x50, 0x73, 0x40, 0x58, 0x58, 0x40, 0x3, 0xef, 0x50, 0x50, 0xe6, 0x4f, 0x50, 0x7b, 0x58, 0x3f, 0x40, 0x58, 0x0, 0x0, 0x0, 0x1, 0x0, 0x75, 0x2, 0x9c, 0x2, 0x89, 0x6, 0x2, 0x0, 0x1c, 0x0, 0x2b, 0x40, 0x9, 0x1, 0x5, 0x0, 0x5, 0x16, 0x1a, 0xe, 0x0, 0x1d, 0x10, 0xd4, 0xc4, 0xdc, 0xdc, 0xcc, 0x11, 0x12, 0x39, 0x31, 0x0, 0x40, 0x9, 0x1a, 0x0, 0x12, 0xd, 0xe, 0x9, 0x12, 0x1c, 0x1d, 0x10, 0xd4, 0xd4, 0xcc, 0xd4, 0xcc, 0x10, 0xdc, 0xcc, 0x30, 0x1, 0x33, 0x32, 0x37, 0x36, 0x35, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x35, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x11, 0x23, 0x1, 0x14, 0x27, 0x79, 0x37, 0x24, 0x1, 0x23, 0x3f, 0x71, 0x32, 0x32, 0x31, 0x31, 0x30, 0x33, 0x33, 0x35, 0xae, 0x57, 0x44, 0x44, 0x46, 0x6b, 0x80, 0x4, 0x5b, 0x40, 0x2a, 0x37, 0x4b, 0x24, 0x40, 0xc, 0xc, 0x18, 0x60, 0x14, 0x9, 0xa, 0x58, 0x46, 0x68, 0x5f, 0x40, 0x43, 0x11, 0xfe, 0x93, 0x0, 0x0, 0x1, 0x0, 0x75, 0x2, 0x9c, 0x2, 0x89, 0x6, 0x2, 0x0, 0x1c, 0x0, 0x2d, 0x40, 0xa, 0x1c, 0x0, 0x18, 0xf, 0x0, 0x18, 0x7, 0x0, 0x3, 0x1d, 0x10, 0xdc, 0xcc, 0xdc, 0xcc, 0x10, 0xc4, 0x11, 0x12, 0x39, 0x31, 0x0, 0x40, 0x9, 0x3, 0x0, 0xb, 0x10, 0xf, 0x14, 0xb, 0x2, 0x1d, 0x10, 0xd4, 0xd4, 0xcc, 0xd4, 0xcc, 0x10, 0xdc, 0xcc, 0x30, 0x1, 0x11, 0x23, 0x11, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x15, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x14, 0x17, 0x16, 0x33, 0x1, 0xea, 0x7f, 0x6b, 0x47, 0x44, 0x45, 0x57, 0xad, 0x35, 0x33, 0x33, 0x30, 0x31, 0x32, 0x31, 0x32, 0x71, 0x3e, 0x24, 0x1, 0x25, 0x36, 0x79, 0x4, 0x5b, 0xfe, 0x41, 0x1, 0x6d, 0x11, 0x43, 0x40, 0x5f, 0x68, 0x46, 0x58, 0xa, 0x9, 0x14, 0x60, 0x18, 0xc, 0xc, 0x40, 0x24, 0x4b, 0x37, 0x2a, 0x40, 0x0, 0x0, 0x0, 0x1, 0x1, 0xb, 0x4, 0x32, 0x2, 0xf5, 0x6, 0xb0, 0x0, 0x6, 0x0, 0x0, 0x1, 0x25, 0x15, 0xd, 0x1, 0x15, 0x25, 0x1, 0xb, 0x1, 0xea, 0xfe, 0x99, 0x1, 0x67, 0xfe, 0x16, 0x5, 0xbb, 0xf5, 0x8b, 0xb4, 0xb4, 0x8b, 0xf5, 0x0, 0x0, 0x1, 0x1, 0xb, 0x4, 0x32, 0x2, 0xf5, 0x6, 0xb0, 0x0, 0x6, 0x0, 0x0, 0x1, 0x5, 0x35, 0x2d, 0x1, 0x35, 0x5, 0x2, 0xf5, 0xfe, 0x16, 0x1, 0x67, 0xfe, 0x99, 0x1, 0xea, 0x5, 0x27, 0xf5, 0x8b, 0xb4, 0xb4, 0x8b, 0xf5, 0x0, 0x0, 0x1, 0x0, 0xc1, 0x4, 0x7c, 0x3, 0x3f, 0x6, 0x66, 0x0, 0x6, 0x0, 0x3d, 0xb4, 0x4, 0x2, 0x75, 0x6, 0x7, 0x10, 0xdc, 0xec, 0x39, 0x31, 0x0, 0xb5, 0x4, 0x5, 0x2, 0x0, 0xb3, 0x7, 0x10, 0xf4, 0xcc, 0x32, 0xb4, 0x10, 0x2, 0x10, 0x5, 0x2, 0x5d, 0x39, 0x30, 0x0, 0x4b, 0xb0, 0x9, 0x54, 0x4b, 0xb0, 0xe, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x7, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x7, 0x0, 0x7, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x1, 0x33, 0x13, 0x23, 0xb, 0x1, 0x23, 0x1, 0xb6, 0x94, 0xf5, 0x8b, 0xb4, 0xb4, 0x8b, 0x6, 0x66, 0xfe, 0x16, 0x1, 0x67, 0xfe, 0x99, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc1, 0x4, 0x7c, 0x3, 0x3f, 0x6, 0x66, 0x0, 0x6, 0x0, 0x4c, 0xb4, 0x3, 0x5, 0x75, 0x1, 0x7, 0x10, 0xdc, 0xec, 0x39, 0x31, 0x0, 0xb5, 0x3, 0x0, 0x4, 0x1, 0xb3, 0x7, 0x10, 0xf4, 0x3c, 0xd4, 0xb2, 0x10, 0x0, 0x1, 0x5d, 0x39, 0x30, 0x0, 0x4b, 0xb0, 0x9, 0x54, 0x4b, 0xb0, 0xe, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x7, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x7, 0x0, 0x7, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x40, 0xc, 0x35, 0x0, 0x3a, 0x6, 0x35, 0x2, 0x3a, 0x4, 0x4, 0x33, 0x3, 0x1, 0x5d, 0x1, 0x5d, 0x1, 0x3, 0x33, 0x1b, 0x1, 0x33, 0x3, 0x1, 0xb6, 0xf5, 0x8b, 0xb4, 0xb4, 0x8b, 0xf5, 0x4, 0x7c, 0x1, 0xea, 0xfe, 0x99, 0x1, 0x67, 0xfe, 0x16, 0x0, 0x0, 0x1, 0x0, 0xc1, 0x4, 0xee, 0x3, 0x3f, 0x6, 0x66, 0x0, 0x6, 0x0, 0x37, 0x40, 0xc, 0x4, 0x5, 0x2, 0xb4, 0x0, 0xb3, 0x7, 0x4, 0x2, 0x75, 0x6, 0x7, 0x10, 0xdc, 0xec, 0x39, 0x31, 0x0, 0x10, 0xf4, 0xec, 0x32, 0x39, 0x30, 0x0, 0x4b, 0xb0, 0x9, 0x54, 0x4b, 0xb0, 0xe, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x7, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x7, 0x0, 0x7, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x1, 0x33, 0x13, 0x23, 0x27, 0x7, 0x23, 0x1, 0xb6, 0x94, 0xf5, 0x8b, 0xb4, 0xb4, 0x8b, 0x6, 0x66, 0xfe, 0x88, 0xf5, 0xf5, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc1, 0x4, 0xee, 0x3, 0x3f, 0x6, 0x66, 0x0, 0x6, 0x0, 0x37, 0x40, 0xc, 0x3, 0x0, 0xb4, 0x4, 0x1, 0xb3, 0x7, 0x3, 0x5, 0x75, 0x1, 0x7, 0x10, 0xdc, 0xec, 0x39, 0x31, 0x0, 0x10, 0xf4, 0x3c, 0xec, 0x39, 0x30, 0x0, 0x4b, 0xb0, 0x9, 0x54, 0x4b, 0xb0, 0xe, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x7, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x7, 0x0, 0x7, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x1, 0x3, 0x33, 0x17, 0x37, 0x33, 0x3, 0x1, 0xb6, 0xf5, 0x8b, 0xb4, 0xb4, 0x8b, 0xf5, 0x4, 0xee, 0x1, 0x78, 0xf5, 0xf5, 0xfe, 0x88, 0x0, 0x1, 0x0, 0xd6, 0x3, 0xe7, 0x1, 0x5e, 0x6, 0x12, 0x0, 0x3, 0x0, 0x13, 0x40, 0x4, 0x5, 0x0, 0x3, 0x4, 0x10, 0xdc, 0xdc, 0xcc, 0x31, 0x0, 0x40, 0x2, 0x3, 0x2, 0x2f, 0xc4, 0x30, 0x1, 0x11, 0x23, 0x11, 0x1, 0x5e, 0x88, 0x6, 0x12, 0xfd, 0xd5, 0x2, 0x2b, 0x0, 0x0, 0xff, 0xff, 0x0, 0xd5, 0x5, 0x62, 0x3, 0x2b, 0x5, 0xf6, 0x10, 0x6, 0x0, 0x71, 0x0, 0x0, 0x0, 0x1, 0x1, 0x73, 0x4, 0xee, 0x3, 0x52, 0x6, 0x66, 0x0, 0x3, 0x0, 0x0, 0x1, 0x33, 0x1, 0x23, 0x2, 0x8b, 0xc7, 0xfe, 0xba, 0x99, 0x6, 0x66, 0xfe, 0x88, 0x0, 0x1, 0x0, 0xaa, 0x4, 0xf0, 0x2, 0x89, 0x6, 0x66, 0x0, 0x3, 0x0, 0x0, 0x9, 0x1, 0x23, 0x1, 0x1, 0x6f, 0x1, 0x1a, 0x99, 0xfe, 0xba, 0x6, 0x66, 0xfe, 0x8a, 0x1, 0x76, 0x0, 0x0, 0x1, 0x0, 0xd6, 0xfe, 0xd1, 0x1, 0x5e, 0x0, 0xfc, 0x0, 0x3, 0x0, 0x13, 0x40, 0x4, 0x5, 0x0, 0x3, 0x4, 0x10, 0xdc, 0xdc, 0xcc, 0x31, 0x0, 0x40, 0x2, 0x3, 0x2, 0x2f, 0xc4, 0x30, 0x25, 0x11, 0x23, 0x11, 0x1, 0x5e, 0x88, 0xfc, 0xfd, 0xd5, 0x2, 0x2b, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xd5, 0xfe, 0xc0, 0x3, 0x2b, 0xff, 0x54, 0x10, 0x7, 0x0, 0x71, 0x0, 0x0, 0xf9, 0x5e, 0x0, 0x0, 0x0, 0x1, 0x0, 0xaa, 0xfe, 0x1c, 0x2, 0x89, 0xff, 0x92, 0x0, 0x3, 0x0, 0x0, 0x5, 0x1, 0x23, 0x1, 0x1, 0x6f, 0x1, 0x1a, 0x99, 0xfe, 0xba, 0x6e, 0xfe, 0x8a, 0x1, 0x76, 0x0, 0x0, 0x0, 0x1, 0x1, 0x73, 0xfe, 0x1c, 0x3, 0x52, 0xff, 0x94, 0x0, 0x3, 0x0, 0x0, 0x5, 0x33, 0x1, 0x23, 0x2, 0x8b, 0xc7, 0xfe, 0xba, 0x99, 0x6c, 0xfe, 0x88, 0x0, 0x0, 0x2, 0x0, 0x6f, 0x0, 0x0, 0x1, 0xd4, 0x4, 0x23, 0x0, 0x2, 0x0, 0x5, 0x0, 0x45, 0x40, 0xb, 0x0, 0x1, 0x3, 0x5, 0x3, 0x0, 0x4, 0x2, 0x5, 0x1, 0x6, 0x10, 0xd4, 0x3c, 0xc4, 0x4b, 0xb0, 0x10, 0x50, 0x58, 0xb3, 0x7, 0x40, 0x2, 0x40, 0x38, 0x38, 0x59, 0x32, 0x39, 0x39, 0x31, 0x0, 0x2f, 0xc4, 0xd4, 0xc4, 0x30, 0x40, 0x9, 0xf, 0x3, 0x0, 0x0, 0x60, 0x0, 0x6f, 0x3, 0x4, 0x5d, 0x1, 0x40, 0xd, 0x50, 0x7, 0x60, 0x7, 0x60, 0x4, 0x60, 0x2, 0x64, 0x3, 0x64, 0x0, 0x6, 0x5d, 0x1, 0x3, 0x21, 0x3, 0x13, 0x21, 0x1, 0x21, 0xb2, 0x1, 0x65, 0xb3, 0xb3, 0xfe, 0x9b, 0x2, 0xd9, 0x1, 0x4a, 0xfd, 0x27, 0xfe, 0xb6, 0x0, 0x1, 0x0, 0x6f, 0x2, 0xd9, 0x1, 0xd4, 0x4, 0x23, 0x0, 0x2, 0x0, 0x34, 0xb6, 0x0, 0x1, 0x3, 0x0, 0x2, 0x1, 0x3, 0x10, 0xd4, 0xc4, 0x4b, 0xb0, 0x10, 0x50, 0x58, 0xb3, 0x4, 0x40, 0x2, 0x40, 0x38, 0x38, 0x59, 0x39, 0x31, 0x0, 0x10, 0xd4, 0xc4, 0x30, 0x40, 0x5, 0x0, 0x0, 0x60, 0x0, 0x2, 0x5d, 0x1, 0x40, 0x9, 0x50, 0x4, 0x60, 0x4, 0x60, 0x2, 0x64, 0x0, 0x4, 0x5d, 0x1, 0x3, 0x21, 0x1, 0x21, 0xb2, 0x1, 0x65, 0x2, 0xd9, 0x1, 0x4a, 0x0, 0x0, 0xff, 0xff, 0x0, 0x75, 0x1, 0xfe, 0x1, 0x87, 0x4, 0x23, 0x10, 0x7, 0x2, 0x80, 0x0, 0x0, 0xfe, 0xf, 0x0, 0x0, 0xff, 0xff, 0x0, 0x75, 0x1, 0xfe, 0x1, 0x87, 0x4, 0x23, 0x10, 0x7, 0x2, 0x81, 0x0, 0x0, 0xfe, 0xf, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1f, 0x1, 0xd4, 0x2, 0xe1, 0x3, 0x96, 0x0, 0x7, 0x0, 0x0, 0x1, 0x15, 0x21, 0x35, 0x33, 0x11, 0x33, 0x11, 0x2, 0xe1, 0xfe, 0x3e, 0x96, 0x96, 0x2, 0x6a, 0x96, 0x96, 0x1, 0x2c, 0xfe, 0xd4, 0x0, 0x1, 0x1, 0x1f, 0x1, 0xd4, 0x2, 0xe1, 0x3, 0x96, 0x0, 0x7, 0x0, 0x0, 0x1, 0x35, 0x21, 0x15, 0x23, 0x11, 0x23, 0x11, 0x1, 0x1f, 0x1, 0xc2, 0x96, 0x96, 0x3, 0x0, 0x96, 0x96, 0xfe, 0xd4, 0x1, 0x2c, 0x0, 0x1, 0x0, 0x64, 0x0, 0xff, 0x2, 0xba, 0x3, 0x55, 0x0, 0xb, 0x0, 0x0, 0x1, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x23, 0x35, 0x1, 0x44, 0x96, 0xe0, 0xe0, 0x96, 0xe0, 0x2, 0x75, 0xe0, 0xe0, 0x96, 0xe0, 0xe0, 0x96, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0x1, 0xdf, 0x2, 0x26, 0x2, 0x75, 0x0, 0x3, 0x0, 0x0, 0x1, 0x21, 0x35, 0x21, 0x2, 0x26, 0xfe, 0x3e, 0x1, 0xc2, 0x1, 0xdf, 0x96, 0x0, 0x0, 0x1, 0x0, 0xc7, 0x5, 0x29, 0x3, 0x39, 0x6, 0x48, 0x0, 0xd, 0x0, 0x57, 0x40, 0xe, 0xb, 0xf0, 0x4, 0x7, 0x0, 0xb3, 0xe, 0x7, 0x56, 0x8, 0x1, 0x56, 0x0, 0xe, 0x10, 0xdc, 0xec, 0xd4, 0xec, 0x31, 0x0, 0x10, 0xf4, 0x3c, 0xd4, 0xec, 0x30, 0x0, 0x4b, 0xb0, 0x9, 0x54, 0x58, 0xbd, 0x0, 0xe, 0xff, 0xc0, 0x0, 0x1, 0x0, 0xe, 0x0, 0xe, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x0, 0x4b, 0xb0, 0xf, 0x54, 0x4b, 0xb0, 0x10, 0x54, 0x5b, 0x4b, 0xb0, 0x11, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0xe, 0x0, 0x40, 0x0, 0x1, 0x0, 0xe, 0x0, 0xe, 0xff, 0xc0, 0x38, 0x11, 0x37, 0x38, 0x59, 0x13, 0x33, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x37, 0x33, 0xe, 0x1, 0x23, 0x22, 0x26, 0xc7, 0x76, 0xb, 0x61, 0x57, 0x56, 0x60, 0xd, 0x76, 0xa, 0x9e, 0x91, 0x91, 0x9e, 0x6, 0x48, 0x4b, 0x4b, 0x4a, 0x4c, 0x8f, 0x90, 0x90, 0x0, 0x0, 0x0, 0x1, 0x1, 0x9a, 0x5, 0x44, 0x2, 0x66, 0x6, 0x10, 0x0, 0x3, 0x0, 0x4e, 0x40, 0x9, 0x2, 0xce, 0x0, 0xcd, 0x4, 0x1, 0x64, 0x0, 0x4, 0x10, 0xd4, 0xec, 0x31, 0x0, 0x10, 0xfc, 0xec, 0x30, 0x0, 0x4b, 0xb0, 0xa, 0x54, 0x4b, 0xb0, 0xd, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x4, 0x0, 0x40, 0x0, 0x1, 0x0, 0x4, 0x0, 0x4, 0xff, 0xc0, 0x38, 0x11, 0x37, 0x38, 0x59, 0x1, 0xb0, 0xd, 0x4b, 0x54, 0xb0, 0xe, 0x4b, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x4, 0x0, 0x40, 0x0, 0x1, 0x0, 0x4, 0x0, 0x4, 0xff, 0xc0, 0x38, 0x11, 0x37, 0x38, 0x59, 0x1, 0x33, 0x15, 0x23, 0x1, 0x9a, 0xcc, 0xcc, 0x6, 0x10, 0xcc, 0x0, 0x0, 0x2, 0x0, 0xee, 0x4, 0xe1, 0x3, 0x12, 0x7, 0x6, 0x0, 0xb, 0x0, 0x17, 0x0, 0x20, 0x40, 0x11, 0x3, 0xc1, 0x15, 0xf2, 0x9, 0xc1, 0xf, 0xf1, 0x18, 0x0, 0x56, 0xc, 0x78, 0x6, 0x56, 0x12, 0x18, 0x10, 0xd4, 0xec, 0xf4, 0xec, 0x31, 0x0, 0x10, 0xf4, 0xec, 0xf4, 0xec, 0x30, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x2, 0x98, 0x58, 0x40, 0x41, 0x57, 0x57, 0x41, 0x40, 0x58, 0x7a, 0x9f, 0x73, 0x73, 0x9f, 0x9f, 0x73, 0x73, 0x9f, 0x5, 0xf4, 0x3f, 0x58, 0x57, 0x40, 0x41, 0x57, 0x58, 0x40, 0x73, 0xa0, 0xa0, 0x73, 0x73, 0x9f, 0x9f, 0x0, 0x1, 0x1, 0x4c, 0xfe, 0x75, 0x2, 0xc1, 0x0, 0x0, 0x0, 0x13, 0x0, 0x20, 0x40, 0xf, 0xb, 0xe, 0xa, 0x7, 0xf3, 0xe, 0xf4, 0x0, 0x1, 0x0, 0xa, 0x4, 0x27, 0x11, 0x14, 0x10, 0xd4, 0xec, 0xc4, 0xd4, 0xcc, 0x31, 0x0, 0x2f, 0xfc, 0xfc, 0xc4, 0x12, 0x39, 0x30, 0x21, 0x33, 0xe, 0x1, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x1, 0xb8, 0x77, 0x2d, 0x2b, 0x37, 0x36, 0x20, 0x3e, 0x1f, 0x26, 0x44, 0x1e, 0x7a, 0x73, 0x35, 0x3d, 0x58, 0x1f, 0x2e, 0x2e, 0xf, 0xf, 0x85, 0xa, 0xa, 0x57, 0x5d, 0x30, 0x69, 0x0, 0x1, 0x0, 0xb6, 0x5, 0x1d, 0x3, 0x4a, 0x6, 0x37, 0x0, 0x1b, 0x0, 0x63, 0x40, 0x24, 0x0, 0x12, 0x7, 0xe, 0xb, 0x4, 0x1, 0x12, 0x7, 0xf, 0xb, 0x4, 0x12, 0xc3, 0x19, 0x7, 0x4, 0xc3, 0x15, 0xb, 0xed, 0x1c, 0xf, 0x1, 0xe, 0x0, 0x7, 0x15, 0x56, 0x16, 0x77, 0x7, 0x56, 0x8, 0x76, 0x1c, 0x10, 0xf4, 0xec, 0xfc, 0xec, 0x11, 0x39, 0x39, 0x39, 0x39, 0x31, 0x0, 0x10, 0xfc, 0x3c, 0xfc, 0xd4, 0x3c, 0xec, 0x11, 0x12, 0x39, 0x11, 0x12, 0x39, 0x11, 0x12, 0x39, 0x11, 0x12, 0x39, 0x30, 0x0, 0x4b, 0xb0, 0x9, 0x54, 0x4b, 0xb0, 0xc, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x1c, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x1, 0x27, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x7, 0x23, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x1f, 0x1, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x37, 0x33, 0xe, 0x1, 0x23, 0x22, 0x26, 0x1, 0xfc, 0x39, 0x16, 0x21, 0xd, 0x26, 0x24, 0x2, 0x7d, 0x2, 0x66, 0x5b, 0x26, 0x40, 0x25, 0x39, 0x16, 0x21, 0xd, 0x26, 0x24, 0x2, 0x7d, 0x2, 0x66, 0x5b, 0x26, 0x40, 0x5, 0x5a, 0x37, 0x14, 0x13, 0x49, 0x52, 0x87, 0x93, 0x1c, 0x21, 0x37, 0x14, 0x13, 0x49, 0x52, 0x87, 0x93, 0x1c, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xf0, 0x4, 0xee, 0x3, 0xae, 0x6, 0x66, 0x0, 0x3, 0x0, 0x7, 0x0, 0x42, 0x40, 0x11, 0x6, 0x2, 0xb4, 0x4, 0x0, 0xb3, 0x8, 0x4, 0x7, 0x3, 0x0, 0x5, 0x1, 0x3, 0x5, 0x7, 0x8, 0x10, 0xd4, 0xdc, 0xd4, 0xcc, 0x11, 0x39, 0x11, 0x12, 0x39, 0x31, 0x0, 0x10, 0xf4, 0x3c, 0xec, 0x32, 0x30, 0x0, 0x4b, 0xb0, 0x9, 0x54, 0x4b, 0xb0, 0xe, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x8, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x8, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x1, 0x33, 0x3, 0x23, 0x3, 0x33, 0x3, 0x23, 0x2, 0xfc, 0xb2, 0xf8, 0x87, 0x81, 0xaa, 0xdf, 0x89, 0x6, 0x66, 0xfe, 0x88, 0x1, 0x78, 0xfe, 0x88, 0x0, 0x0, 0x1, 0xff, 0xff, 0x1, 0xde, 0x2, 0xad, 0x4, 0x8, 0x0, 0xf, 0x0, 0x0, 0x3, 0x25, 0x33, 0x15, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x26, 0x35, 0x5, 0x1, 0x1, 0x16, 0xb8, 0x26, 0x26, 0x69, 0x2b, 0x40, 0xaf, 0x57, 0x52, 0xfe, 0xeb, 0x3, 0x64, 0xa4, 0x94, 0x99, 0x31, 0x30, 0x9c, 0x60, 0x5a, 0xc8, 0xa2, 0x0, 0x1, 0x0, 0xef, 0x4, 0xee, 0x3, 0x10, 0x6, 0x66, 0x0, 0xb, 0x0, 0x0, 0x1, 0x27, 0x7, 0x23, 0x37, 0x27, 0x33, 0x17, 0x37, 0x33, 0x7, 0x17, 0x2, 0x5c, 0x5c, 0x5d, 0xb4, 0xb5, 0xb5, 0xb4, 0x5d, 0x5c, 0xb4, 0xb6, 0xb6, 0x4, 0xee, 0x61, 0x61, 0xbb, 0xbd, 0x60, 0x60, 0xbd, 0xbb, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x75, 0x1, 0xab, 0x2, 0xfd, 0x5, 0xf, 0x0, 0xd, 0x0, 0x15, 0x0, 0x0, 0x1, 0x16, 0x15, 0x14, 0x23, 0x20, 0x35, 0x34, 0x37, 0x3, 0x33, 0x17, 0x37, 0x33, 0x1, 0x6, 0x15, 0x14, 0x33, 0x32, 0x35, 0x34, 0x2, 0x5, 0xb2, 0xf2, 0xfe, 0xf5, 0xb5, 0xfa, 0x89, 0xbf, 0xb7, 0x89, 0xfe, 0xbc, 0x89, 0x88, 0x81, 0x3, 0xdc, 0xf9, 0xb4, 0x84, 0x84, 0xbf, 0xf2, 0x1, 0x2f, 0xe0, 0xe0, 0xfe, 0x8a, 0xae, 0x98, 0x4d, 0x4d, 0x89, 0x0, 0x0, 0x0, 0x1, 0x0, 0x7a, 0x2, 0x9c, 0x0, 0xee, 0x6, 0x3, 0x0, 0x3, 0x0, 0xd, 0xb1, 0x2, 0x3, 0x2f, 0xcc, 0x31, 0x0, 0xb1, 0x0, 0x3, 0x2f, 0xc4, 0x30, 0x13, 0x33, 0x11, 0x23, 0x7a, 0x74, 0x74, 0x6, 0x3, 0xfc, 0x99, 0x0, 0x0, 0x0, 0x1, 0x0, 0x75, 0x2, 0x9c, 0x2, 0x90, 0x5, 0x2f, 0x0, 0x32, 0x0, 0x0, 0x1, 0x15, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x1f, 0x1, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x35, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2f, 0x1, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x2, 0x6a, 0x31, 0x35, 0x34, 0x39, 0x57, 0x2b, 0x2b, 0x1f, 0x1f, 0x5d, 0x28, 0x7d, 0x32, 0x34, 0x4e, 0x4d, 0x88, 0x39, 0x3e, 0x3d, 0x44, 0x40, 0x3f, 0x3e, 0x3d, 0x52, 0x58, 0x20, 0x1c, 0x6f, 0x28, 0x6c, 0x30, 0x30, 0x47, 0x46, 0x82, 0x40, 0x39, 0x39, 0x5, 0xd, 0x61, 0x16, 0xb, 0xb, 0x17, 0x18, 0x2f, 0x24, 0x14, 0x15, 0x12, 0x8, 0x18, 0x2a, 0x2b, 0x4d, 0x57, 0x33, 0x33, 0xa, 0xa, 0x13, 0x6b, 0x1e, 0xf, 0xf, 0x32, 0x2d, 0x2a, 0x17, 0x14, 0x17, 0x8, 0x15, 0x29, 0x2a, 0x49, 0x58, 0x30, 0x31, 0x9, 0x8, 0x0, 0x0, 0x1, 0x0, 0x75, 0x2, 0x9c, 0x3, 0x21, 0x5, 0xf, 0x0, 0xb, 0x0, 0x0, 0x1, 0x3, 0x1, 0x23, 0x27, 0x7, 0x23, 0x1, 0x3, 0x33, 0x17, 0x37, 0x3, 0x14, 0xff, 0x1, 0xc, 0x89, 0xcd, 0xcd, 0x89, 0x1, 0x12, 0xfb, 0x89, 0xbb, 0xbb, 0x5, 0xf, 0xfe, 0xcf, 0xfe, 0xbe, 0xf6, 0xf6, 0x1, 0x48, 0x1, 0x2b, 0xdf, 0xdf, 0x0, 0xff, 0xff, 0x0, 0x75, 0x2, 0x9c, 0x2, 0x89, 0x6, 0x2, 0x10, 0x6, 0x2, 0x83, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd6, 0x0, 0x0, 0x3, 0x1d, 0x5, 0x58, 0x0, 0x5, 0x0, 0x15, 0x40, 0x9, 0x1, 0xa9, 0x3, 0x0, 0x0, 0x8, 0x4, 0x2, 0x6, 0x10, 0xc4, 0xd4, 0xec, 0x31, 0x0, 0x2f, 0xd4, 0xec, 0x30, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x2, 0x95, 0xfe, 0x41, 0x2, 0x47, 0x4, 0xd0, 0x88, 0xfa, 0xa8, 0x0, 0x1, 0x0, 0xd6, 0x0, 0x0, 0x3, 0x1d, 0x5, 0x58, 0x0, 0x7, 0x0, 0x27, 0x40, 0x18, 0x3f, 0x4, 0x3f, 0x1, 0x2f, 0x4, 0x2f, 0x1, 0x1f, 0x4, 0x1f, 0x1, 0x6, 0x1, 0xa9, 0x4, 0x5, 0x0, 0x0, 0x4, 0x8, 0x6, 0x2, 0x8, 0x10, 0xc4, 0xd4, 0xec, 0x32, 0x31, 0x0, 0x2f, 0xd4, 0xdc, 0xec, 0x5d, 0x30, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x2, 0x95, 0xfe, 0x41, 0x1, 0xbf, 0x88, 0x3, 0x9c, 0x88, 0x1, 0x34, 0xfa, 0xa8, 0x0, 0x0, 0x1, 0x0, 0xd6, 0x0, 0x0, 0x3, 0x1d, 0x5, 0x58, 0x0, 0x7, 0x0, 0x19, 0x40, 0xb, 0x1, 0xa9, 0x4, 0x5, 0x0, 0x0, 0x4, 0x8, 0x6, 0x2, 0x8, 0x10, 0xc4, 0xd4, 0xec, 0x32, 0x31, 0x0, 0x2f, 0xd4, 0xdc, 0xec, 0x30, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x2, 0x95, 0xfe, 0x41, 0x1, 0xbf, 0x88, 0x2, 0x68, 0x88, 0x2, 0x68, 0xfa, 0xa8, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd6, 0x0, 0x0, 0x3, 0x1d, 0x5, 0x58, 0x0, 0x7, 0x0, 0x27, 0x40, 0x18, 0x70, 0x4, 0x70, 0x1, 0x30, 0x4, 0x30, 0x1, 0x10, 0x4, 0x10, 0x1, 0x6, 0x4, 0xa9, 0x1, 0x5, 0x0, 0x0, 0x4, 0x8, 0x6, 0x2, 0x8, 0x10, 0xc4, 0xd4, 0xec, 0x32, 0x31, 0x0, 0x2f, 0xd4, 0xdc, 0xec, 0x5d, 0x30, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x2, 0x95, 0xfe, 0x41, 0x1, 0xbf, 0x88, 0x1, 0x34, 0x88, 0x3, 0x9c, 0xfa, 0xa8, 0x0, 0x0, 0x1, 0x0, 0xd6, 0x0, 0x0, 0x3, 0x1d, 0x5, 0x58, 0x0, 0x5, 0x0, 0x15, 0x40, 0x9, 0x1, 0x0, 0xa9, 0x4, 0x0, 0x8, 0x2, 0x4, 0x6, 0x10, 0xc4, 0xd4, 0xec, 0x31, 0x0, 0x2f, 0xec, 0xc4, 0x30, 0x25, 0x11, 0x33, 0x11, 0x21, 0x35, 0x2, 0x95, 0x88, 0xfd, 0xb9, 0x88, 0x4, 0xd0, 0xfa, 0xa8, 0x88, 0xff, 0xff, 0x0, 0xc1, 0xfd, 0xec, 0x3, 0x3f, 0xff, 0xd6, 0x10, 0x7, 0x2, 0x87, 0x0, 0x0, 0xf9, 0x70, 0x0, 0x0, 0xff, 0xff, 0x0, 0xd5, 0x4, 0xe2, 0x3, 0x2b, 0x6, 0x76, 0x12, 0x27, 0x0, 0x71, 0x0, 0x0, 0x0, 0x80, 0x12, 0x6, 0x0, 0x71, 0x0, 0x80, 0xff, 0xff, 0x0, 0xae, 0x3, 0xe9, 0x3, 0x6d, 0x5, 0xd5, 0x12, 0x6, 0xa, 0xfb, 0x0, 0x0, 0xff, 0xff, 0x0, 0xee, 0xfe, 0x14, 0x3, 0x12, 0x0, 0x39, 0x10, 0x7, 0x2, 0x9c, 0x0, 0x0, 0xf9, 0x33, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb6, 0xfe, 0x76, 0x3, 0x4a, 0xff, 0x90, 0x0, 0x21, 0x0, 0x5f, 0x40, 0xe, 0x12, 0x1, 0x11, 0x0, 0x9, 0x1a, 0x56, 0x1b, 0x77, 0x9, 0x56, 0xa, 0x76, 0x22, 0x10, 0xf4, 0xec, 0xfc, 0xec, 0x11, 0x39, 0x39, 0x39, 0x39, 0x31, 0x0, 0x40, 0x15, 0x0, 0x16, 0x9, 0x11, 0xe, 0x5, 0x1, 0x16, 0x9, 0x12, 0xe, 0x5, 0x16, 0xc3, 0x1f, 0x9, 0x5, 0xc3, 0x1a, 0xe, 0x22, 0x10, 0xd4, 0x3c, 0xfc, 0xd4, 0x3c, 0xec, 0x11, 0x12, 0x39, 0x11, 0x12, 0x39, 0x11, 0x12, 0x39, 0x11, 0x12, 0x39, 0x30, 0x0, 0x4b, 0xb0, 0x9, 0x54, 0x58, 0xbd, 0x0, 0x1c, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x1, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x23, 0x36, 0x37, 0x36, 0x33, 0x32, 0x16, 0x1f, 0x1, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x33, 0x6, 0x7, 0x6, 0x23, 0x22, 0x26, 0x1, 0xfc, 0x39, 0x16, 0x11, 0x10, 0xd, 0x26, 0x12, 0x12, 0x2, 0x7d, 0x2, 0x33, 0x33, 0x5b, 0x26, 0x40, 0x25, 0x39, 0x16, 0x11, 0x10, 0xd, 0x26, 0x12, 0x12, 0x2, 0x7d, 0x2, 0x33, 0x33, 0x5b, 0x26, 0x40, 0xfe, 0xb3, 0x37, 0x14, 0xa, 0x9, 0x25, 0x24, 0x52, 0x87, 0x49, 0x4a, 0x1c, 0x21, 0x37, 0x14, 0xa, 0x9, 0x25, 0x24, 0x52, 0x87, 0x49, 0x4a, 0x1c, 0x0, 0x0, 0x2, 0xfc, 0xa8, 0x4, 0x7b, 0xfe, 0x87, 0x6, 0x66, 0x0, 0x3, 0x0, 0x4, 0x0, 0x36, 0x40, 0xc, 0x1, 0xb4, 0x0, 0xb3, 0x4, 0xb8, 0x5, 0x4, 0x3, 0x44, 0x1, 0x5, 0x10, 0xdc, 0xec, 0x39, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xec, 0x30, 0x0, 0x4b, 0xb0, 0x9, 0x54, 0x4b, 0xb0, 0xe, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x4, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x4, 0x0, 0x4, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x9, 0x1, 0x23, 0x9, 0x1, 0xfd, 0x6d, 0x1, 0x1a, 0x99, 0xfe, 0xba, 0x1, 0x58, 0x6, 0x66, 0xfe, 0x8a, 0x1, 0x76, 0xfe, 0x15, 0x0, 0x2, 0xfd, 0x71, 0x4, 0x7b, 0xff, 0x50, 0x6, 0x66, 0x0, 0x3, 0x0, 0x4, 0x0, 0x36, 0x40, 0xc, 0x2, 0xb4, 0x0, 0xb3, 0x4, 0xb8, 0x5, 0x4, 0x3, 0x44, 0x1, 0x5, 0x10, 0xd4, 0xec, 0x39, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xec, 0x30, 0x0, 0x4b, 0xb0, 0x9, 0x54, 0x4b, 0xb0, 0xe, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x4, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x4, 0x0, 0x4, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x1, 0x33, 0x1, 0x23, 0x17, 0xfe, 0x89, 0xc7, 0xfe, 0xba, 0x99, 0x8f, 0x6, 0x66, 0xfe, 0x88, 0x73, 0x0, 0x0, 0x2, 0xfc, 0xc1, 0x4, 0x7b, 0xff, 0x3f, 0x6, 0x66, 0x0, 0x6, 0x0, 0x7, 0x0, 0x3c, 0x40, 0xf, 0x4, 0x5, 0x2, 0xb4, 0x0, 0xb3, 0x7, 0xb8, 0x8, 0x7, 0x4, 0x2, 0x75, 0x6, 0x8, 0x10, 0xdc, 0xec, 0x39, 0x39, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xec, 0x32, 0x39, 0x30, 0x0, 0x4b, 0xb0, 0x9, 0x54, 0x4b, 0xb0, 0xe, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x7, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x7, 0x0, 0x7, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x1, 0x33, 0x13, 0x23, 0x27, 0x7, 0x23, 0x5, 0xfd, 0xb6, 0x94, 0xf5, 0x8b, 0xb4, 0xb4, 0x8b, 0x1, 0x3f, 0x6, 0x66, 0xfe, 0x88, 0xf5, 0xf5, 0x73, 0x0, 0x0, 0x0, 0xff, 0xff, 0xfc, 0xb4, 0x5, 0x1d, 0xff, 0x48, 0x6, 0x37, 0x10, 0x7, 0x2, 0x9e, 0xfb, 0xfe, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xfc, 0xd9, 0x5, 0x62, 0xff, 0x2f, 0x5, 0xf6, 0x10, 0x7, 0x0, 0x71, 0xfc, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xfb, 0xec, 0x5, 0x7c, 0x0, 0x14, 0x6, 0xb, 0x10, 0x7, 0xb, 0x1c, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xfc, 0xbf, 0x5, 0x29, 0xff, 0x31, 0x6, 0x48, 0x10, 0x7, 0x2, 0x9a, 0xfb, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xfd, 0xa2, 0x4, 0x7b, 0xfe, 0x5a, 0x6, 0x14, 0x0, 0x3, 0x0, 0x4, 0x0, 0x25, 0x40, 0xc, 0x2, 0xbe, 0x0, 0xb1, 0x4, 0xb8, 0x5, 0x4, 0x1, 0x8, 0x0, 0x5, 0x10, 0xd4, 0xec, 0x39, 0x31, 0x0, 0x10, 0xe4, 0xfc, 0xec, 0x30, 0x0, 0x1, 0x40, 0x7, 0x4, 0x4, 0x34, 0x4, 0x44, 0x4, 0x3, 0x5d, 0x1, 0x33, 0x15, 0x23, 0x17, 0xfd, 0xa2, 0xb8, 0xb8, 0x5e, 0x6, 0x14, 0xe9, 0xb0, 0x0, 0x0, 0x3, 0xfc, 0xd7, 0x4, 0x7b, 0xff, 0x29, 0x6, 0x10, 0x0, 0x3, 0x0, 0x7, 0x0, 0x8, 0x0, 0x49, 0x40, 0x11, 0x6, 0x2, 0xce, 0x4, 0x0, 0xcd, 0x8, 0xb8, 0x9, 0x1, 0x64, 0x8, 0x0, 0x5, 0x64, 0x4, 0x9, 0x10, 0xdc, 0xfc, 0xd4, 0x39, 0xec, 0x31, 0x0, 0x10, 0xe4, 0xfc, 0x3c, 0xec, 0x32, 0x30, 0x1, 0x40, 0x23, 0x4, 0x8, 0x34, 0x8, 0x44, 0x8, 0x60, 0x1, 0x60, 0x2, 0x60, 0x3, 0x60, 0x0, 0x60, 0x1, 0x60, 0x2, 0x60, 0x5, 0x60, 0x6, 0x60, 0x8, 0x70, 0x1, 0x70, 0x2, 0x70, 0x5, 0x70, 0x6, 0x70, 0x8, 0x11, 0x5d, 0x1, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x5, 0xfe, 0x5e, 0xcb, 0xcb, 0xfe, 0x79, 0xcb, 0xcb, 0x1, 0x29, 0x6, 0x10, 0xca, 0xca, 0xca, 0xcb, 0x0, 0x1, 0xfd, 0x37, 0x4, 0xf2, 0xfe, 0xf7, 0x6, 0x7b, 0x0, 0x19, 0x0, 0x22, 0x40, 0x9, 0x14, 0x56, 0x40, 0x5, 0x80, 0xc, 0x56, 0x19, 0xd, 0x2f, 0xcc, 0xec, 0x1a, 0xdc, 0x1a, 0xec, 0x31, 0x0, 0x40, 0x6, 0x17, 0xc1, 0x40, 0x2, 0xc0, 0xd, 0x2f, 0x1a, 0xdc, 0x1a, 0xec, 0x30, 0x1, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0xf, 0x1, 0x6, 0x7, 0x6, 0x15, 0x23, 0x35, 0x34, 0x36, 0x3f, 0x1, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0xfd, 0x37, 0x70, 0x69, 0x68, 0x7f, 0x58, 0x2c, 0x23, 0x4, 0x7, 0x77, 0x1e, 0x33, 0x2d, 0x2e, 0x3e, 0x47, 0x5a, 0x64, 0x6, 0x48, 0x33, 0x55, 0x43, 0x3d, 0x41, 0x20, 0x1a, 0x9, 0x10, 0x20, 0xc, 0x28, 0x36, 0x25, 0x22, 0x22, 0x28, 0x15, 0x24, 0x34, 0xff, 0xff, 0xfc, 0xec, 0x4, 0xe1, 0xff, 0x10, 0x7, 0x6, 0x10, 0x7, 0x2, 0x9c, 0xfb, 0xfe, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xfc, 0xf4, 0x4, 0xee, 0xff, 0xb2, 0x6, 0x66, 0x10, 0x7, 0x2, 0x9f, 0xfc, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xfc, 0xc5, 0x4, 0x7b, 0xff, 0x43, 0x6, 0x66, 0x0, 0x6, 0x0, 0x7, 0x0, 0x3c, 0x40, 0xf, 0x3, 0x0, 0xb4, 0x4, 0x1, 0xb3, 0x7, 0xb8, 0x8, 0x7, 0x3, 0x5, 0x75, 0x1, 0x8, 0x10, 0xdc, 0xec, 0x39, 0x39, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0x3c, 0xec, 0x39, 0x30, 0x0, 0x4b, 0xb0, 0x9, 0x54, 0x4b, 0xb0, 0xe, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x7, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x7, 0x0, 0x7, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x1, 0x3, 0x33, 0x17, 0x37, 0x33, 0x3, 0x7, 0xfd, 0xba, 0xf5, 0x8b, 0xb4, 0xb4, 0x8b, 0xf5, 0x4e, 0x4, 0xee, 0x1, 0x78, 0xf5, 0xf5, 0xfe, 0x88, 0x73, 0x0, 0x0, 0x0, 0x1, 0xfd, 0xbc, 0x4, 0xec, 0xfe, 0x44, 0x6, 0xa8, 0x0, 0x3, 0x0, 0xe, 0xb2, 0x2, 0x1b, 0x0, 0x2f, 0xec, 0x31, 0x0, 0xb1, 0x3, 0x1, 0x2f, 0xcc, 0x30, 0x1, 0x11, 0x23, 0x11, 0xfe, 0x44, 0x88, 0x6, 0xa8, 0xfe, 0x44, 0x1, 0xbc, 0x0, 0x0, 0x0, 0xff, 0xff, 0xfc, 0xf0, 0x4, 0xec, 0xff, 0x10, 0x6, 0xa8, 0x10, 0x27, 0x2, 0xbe, 0xff, 0x34, 0x0, 0x0, 0x10, 0x7, 0x2, 0xbe, 0x0, 0xcc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xfc, 0x5d, 0x4, 0xee, 0xff, 0x1b, 0x6, 0x66, 0x0, 0x3, 0x0, 0x7, 0x0, 0x42, 0x40, 0x11, 0x6, 0x2, 0xb4, 0x4, 0x0, 0xb3, 0x8, 0x4, 0x5, 0x1, 0x0, 0x7, 0x3, 0x1, 0x7, 0x5, 0x8, 0x10, 0xd4, 0xdc, 0xd4, 0xcc, 0x11, 0x39, 0x11, 0x12, 0x39, 0x31, 0x0, 0x10, 0xf4, 0x3c, 0xec, 0x32, 0x30, 0x0, 0x4b, 0xb0, 0x9, 0x54, 0x4b, 0xb0, 0xe, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x8, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x8, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x1, 0x13, 0x23, 0x3, 0x21, 0x13, 0x23, 0x3, 0xfd, 0xf, 0xcd, 0x87, 0xf8, 0x2, 0x0, 0xbe, 0x89, 0xdf, 0x6, 0x66, 0xfe, 0x88, 0x1, 0x78, 0xfe, 0x88, 0x1, 0x78, 0x0, 0x0, 0xff, 0xff, 0xfc, 0xbf, 0x5, 0x29, 0xff, 0x31, 0x7, 0x56, 0x10, 0x27, 0x2, 0xb8, 0x0, 0x0, 0x1, 0x42, 0x10, 0x7, 0x2, 0x9a, 0xfb, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfc, 0xbf, 0x5, 0x29, 0xff, 0x31, 0x6, 0x48, 0x0, 0xc, 0x0, 0x18, 0xb5, 0x7, 0x56, 0x8, 0x1, 0x56, 0x0, 0x2f, 0xec, 0xd4, 0xec, 0x31, 0x0, 0xb4, 0xa, 0xf0, 0x4, 0x0, 0x7, 0x2f, 0x3c, 0xdc, 0xec, 0x30, 0x3, 0x23, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x7, 0x23, 0x3e, 0x1, 0x20, 0x16, 0xcf, 0x76, 0xb, 0x61, 0x57, 0x56, 0x60, 0xd, 0x76, 0xa, 0x9e, 0x1, 0x22, 0x9e, 0x5, 0x29, 0x4b, 0x4b, 0x4a, 0x4c, 0x8f, 0x90, 0x90, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x1f, 0x3, 0xe9, 0xff, 0x44, 0x5, 0x28, 0x0, 0x3, 0x0, 0xa, 0x40, 0x3, 0x2, 0x1, 0x4, 0x0, 0x10, 0xd4, 0xcc, 0x30, 0x1, 0x23, 0x13, 0x33, 0xfe, 0xf2, 0xd3, 0xa4, 0x81, 0x3, 0xe9, 0x1, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfd, 0x90, 0x4, 0xc2, 0xfe, 0x82, 0x6, 0xc1, 0x0, 0x8, 0x0, 0x0, 0x1, 0x10, 0x23, 0x35, 0x16, 0x35, 0x23, 0x35, 0x33, 0xfe, 0x82, 0xf2, 0x70, 0x70, 0xf2, 0x5, 0xc3, 0xfe, 0xff, 0x7b, 0x3, 0x89, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfd, 0x90, 0x4, 0xc2, 0xfe, 0x82, 0x6, 0xc1, 0x0, 0x8, 0x0, 0x0, 0x1, 0x35, 0x33, 0x15, 0x23, 0x14, 0x37, 0x15, 0x22, 0xfd, 0x90, 0xf1, 0x6f, 0x70, 0xf2, 0x5, 0xc3, 0xfe, 0xfe, 0x89, 0x3, 0x7b, 0x0, 0x1, 0xff, 0x79, 0x4, 0x9a, 0x0, 0x87, 0x6, 0x12, 0x0, 0x3, 0x0, 0x0, 0x3, 0x33, 0x3, 0x23, 0x40, 0xc7, 0x75, 0x99, 0x6, 0x12, 0xfe, 0x88, 0x0, 0x0, 0xff, 0xff, 0xfc, 0xa8, 0xfd, 0xdf, 0xfe, 0x87, 0xff, 0x55, 0x10, 0x7, 0x0, 0x43, 0xfb, 0xfe, 0xf8, 0xef, 0x0, 0x0, 0xff, 0xff, 0xfd, 0x71, 0xfd, 0xdd, 0xff, 0x50, 0xff, 0x55, 0x10, 0x7, 0x0, 0x76, 0xfb, 0xfe, 0xf8, 0xef, 0x0, 0x0, 0x0, 0x1, 0xfd, 0x24, 0xfe, 0x14, 0xfe, 0x3c, 0xff, 0xce, 0x0, 0x7, 0x0, 0x0, 0x1, 0x23, 0x35, 0x33, 0x35, 0x33, 0x11, 0x23, 0xfd, 0xc4, 0xa0, 0xa0, 0x78, 0x78, 0xfe, 0xb5, 0x78, 0xa1, 0xfe, 0x46, 0x0, 0x0, 0x0, 0x1, 0xfd, 0xc4, 0xfe, 0x14, 0xfe, 0xdc, 0xff, 0xce, 0x0, 0x7, 0x0, 0x0, 0x5, 0x33, 0x15, 0x33, 0x15, 0x23, 0x15, 0x23, 0xfd, 0xc4, 0x78, 0xa0, 0xa0, 0x78, 0x32, 0xa1, 0x78, 0xa1, 0x0, 0x1, 0xfe, 0x55, 0x5, 0x86, 0x0, 0x3f, 0x7, 0x70, 0x0, 0x5, 0x0, 0x0, 0x3, 0x21, 0x35, 0x21, 0x11, 0x23, 0x49, 0xfe, 0x9e, 0x1, 0xea, 0x88, 0x6, 0xe8, 0x88, 0xfe, 0x16, 0x0, 0x0, 0x1, 0xfe, 0xf0, 0x3, 0x6b, 0x0, 0x7b, 0x4, 0xe0, 0x0, 0x13, 0x0, 0x31, 0x40, 0x6, 0x7, 0x56, 0xe, 0x4, 0x11, 0x0, 0x2f, 0x4b, 0xb0, 0xc, 0x54, 0x4b, 0xb0, 0xd, 0x54, 0x5b, 0x4b, 0xb0, 0xe, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0x0, 0x0, 0x40, 0x38, 0x59, 0xdc, 0x32, 0xdc, 0xec, 0x31, 0x0, 0x40, 0x5, 0xa, 0x4, 0xc1, 0x0, 0x11, 0x2f, 0xc4, 0xfc, 0xcc, 0x30, 0x1, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x33, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0xfe, 0xf0, 0x3d, 0x58, 0x1f, 0x2e, 0x2e, 0xf, 0xf, 0x85, 0xa, 0xa, 0x57, 0x5d, 0x30, 0x69, 0x3, 0xd7, 0x77, 0x2d, 0x2b, 0x37, 0x36, 0x20, 0x3e, 0x1f, 0x26, 0x44, 0x1e, 0x7a, 0x73, 0x35, 0x0, 0x0, 0x1, 0xfd, 0x80, 0xfe, 0x12, 0xfe, 0x56, 0xff, 0xbe, 0x0, 0xd, 0x0, 0x1c, 0x40, 0x6, 0xd, 0x6, 0xa, 0x56, 0x3, 0xe, 0x10, 0xd4, 0xfc, 0xcc, 0x32, 0x31, 0x0, 0x40, 0x6, 0x6, 0xc1, 0x7, 0xd, 0xc1, 0x0, 0x2f, 0xfc, 0xdc, 0xec, 0x30, 0x1, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x15, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0xfe, 0x56, 0x5a, 0x7c, 0x7c, 0x5a, 0x28, 0x35, 0x35, 0x28, 0xfe, 0x12, 0x7d, 0x5a, 0x59, 0x7c, 0x78, 0x35, 0x27, 0x28, 0x35, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfd, 0xb, 0xfe, 0x14, 0xfe, 0xf5, 0xff, 0x4d, 0x0, 0x7, 0x0, 0x0, 0x1, 0x33, 0x15, 0x21, 0x35, 0x33, 0x35, 0x33, 0xfe, 0x44, 0xb1, 0xfe, 0x16, 0xb1, 0x88, 0xfe, 0x9c, 0x88, 0x88, 0xb1, 0x0, 0x0, 0x0, 0x1, 0xfd, 0xb, 0xfe, 0x14, 0xfe, 0xf5, 0xff, 0x4d, 0x0, 0x7, 0x0, 0x0, 0x1, 0x23, 0x35, 0x21, 0x15, 0x23, 0x15, 0x23, 0xfd, 0xbc, 0xb1, 0x1, 0xea, 0xb1, 0x88, 0xfe, 0xc5, 0x88, 0x88, 0xb1, 0x0, 0x0, 0x0, 0x1, 0xfd, 0x24, 0xfe, 0x14, 0xfe, 0xdc, 0xff, 0xce, 0x0, 0xb, 0x0, 0x0, 0x1, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x15, 0x23, 0xfd, 0xc4, 0xa0, 0xa0, 0x78, 0xa0, 0xa0, 0x78, 0xfe, 0xb5, 0x78, 0xa1, 0xa1, 0x78, 0xa1, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfd, 0xb, 0xfe, 0x88, 0xfe, 0xf5, 0xff, 0x10, 0x0, 0x3, 0x0, 0x0, 0x1, 0x35, 0x21, 0x15, 0xfd, 0xb, 0x1, 0xea, 0xfe, 0x88, 0x88, 0x88, 0x0, 0x0, 0x0, 0x1, 0xfd, 0x7a, 0xfe, 0x56, 0xff, 0xd0, 0x0, 0x80, 0x0, 0xd, 0x0, 0x0, 0x27, 0x15, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x3d, 0x1, 0x30, 0x52, 0x51, 0xb5, 0xfe, 0xe9, 0x69, 0x26, 0x26, 0x80, 0x94, 0xd6, 0x60, 0x60, 0x9c, 0x30, 0x31, 0x99, 0x94, 0x0, 0x0, 0x1, 0xfd, 0x77, 0xfe, 0x56, 0xff, 0xcd, 0x0, 0x80, 0x0, 0xd, 0x0, 0x0, 0x25, 0x33, 0x15, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x26, 0x35, 0xfd, 0x77, 0xb8, 0x26, 0x26, 0x69, 0xe9, 0xfe, 0xb5, 0x51, 0x52, 0x80, 0x94, 0x99, 0x31, 0x30, 0x9c, 0x60, 0x60, 0xd6, 0x0, 0x1, 0xfd, 0xa2, 0xfe, 0x89, 0xfe, 0x5a, 0xff, 0x73, 0x0, 0x3, 0x0, 0x0, 0x5, 0x33, 0x15, 0x23, 0xfd, 0xa2, 0xb8, 0xb8, 0x8d, 0xea, 0xff, 0xff, 0xfc, 0xd5, 0xfe, 0x89, 0xff, 0x27, 0xff, 0x53, 0x10, 0x7, 0x0, 0x6a, 0xfb, 0xfe, 0xf9, 0x43, 0x0, 0x0, 0x0, 0x2, 0xfd, 0x28, 0xfe, 0x12, 0xfe, 0xd4, 0xff, 0xbe, 0x0, 0xb, 0x0, 0x17, 0x0, 0x1e, 0x40, 0x8, 0x0, 0x56, 0xc, 0x78, 0x6, 0x56, 0x12, 0x18, 0x10, 0xd4, 0xec, 0xf4, 0xec, 0x31, 0x0, 0x40, 0x6, 0x15, 0xc1, 0x3, 0x9, 0xc1, 0xf, 0x2f, 0xfc, 0xdc, 0xec, 0x30, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0xfe, 0x5b, 0x36, 0x27, 0x28, 0x35, 0x35, 0x28, 0x27, 0x36, 0x79, 0x7c, 0x5a, 0x5a, 0x7c, 0x7c, 0x5a, 0x5a, 0x7c, 0xfe, 0xea, 0x26, 0x36, 0x35, 0x27, 0x28, 0x35, 0x36, 0x26, 0x5a, 0x7d, 0x7d, 0x5a, 0x59, 0x7c, 0x7c, 0x0, 0x0, 0x0, 0x1, 0xfd, 0x6a, 0xfe, 0x14, 0xfe, 0x8f, 0xff, 0x54, 0x0, 0x3, 0x0, 0xa, 0x40, 0x3, 0x3, 0x0, 0x4, 0x0, 0x10, 0xd4, 0xcc, 0x30, 0x5, 0x33, 0x3, 0x23, 0xfd, 0xbc, 0xd3, 0xa4, 0x81, 0xac, 0xfe, 0xc0, 0xff, 0xff, 0xfd, 0x23, 0xfe, 0x75, 0xfe, 0xc1, 0x0, 0x0, 0x10, 0x7, 0x0, 0x7a, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xfd, 0x4c, 0xfe, 0x75, 0xfe, 0xc1, 0x0, 0x0, 0x10, 0x7, 0x2, 0x9d, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfd, 0xbc, 0xfe, 0x14, 0xfe, 0x44, 0xff, 0xa0, 0x0, 0x3, 0x0, 0xe, 0xb2, 0x2, 0x1b, 0x0, 0x2f, 0xec, 0x31, 0x0, 0xb1, 0x1, 0x3, 0x2f, 0xcc, 0x30, 0x5, 0x11, 0x23, 0x11, 0xfe, 0x44, 0x88, 0x60, 0xfe, 0x74, 0x1, 0x8c, 0x0, 0x1, 0xfc, 0xf0, 0xfe, 0x50, 0xff, 0x17, 0xff, 0x9a, 0x0, 0x7, 0x0, 0x0, 0x7, 0x11, 0x23, 0x35, 0x21, 0x15, 0x23, 0x11, 0xe9, 0x89, 0xfe, 0xeb, 0x89, 0x66, 0xfe, 0xb6, 0xc2, 0xc2, 0x1, 0x4a, 0x0, 0x0, 0x0, 0x1, 0xfc, 0x63, 0xfe, 0x39, 0xff, 0x98, 0xff, 0x58, 0x0, 0x14, 0x0, 0x0, 0x1, 0x6, 0x23, 0x22, 0x3, 0x34, 0x35, 0x33, 0x16, 0x33, 0x32, 0x37, 0x33, 0x16, 0x17, 0x32, 0x37, 0x33, 0x2, 0x7, 0x22, 0xfd, 0xfe, 0x3c, 0x74, 0xda, 0x11, 0x75, 0xe, 0x68, 0x65, 0xf, 0x76, 0xc, 0x69, 0x66, 0xf, 0x76, 0xf, 0xdc, 0x74, 0xfe, 0x8b, 0x52, 0x1, 0x1a, 0x2, 0x3, 0x96, 0x96, 0x95, 0x1, 0x96, 0xfe, 0xe2, 0x1, 0x0, 0x0, 0xff, 0xff, 0xfc, 0xc5, 0xfe, 0x14, 0xff, 0x43, 0xff, 0x8c, 0x11, 0x7, 0x2, 0x89, 0xfc, 0x4, 0xf9, 0x26, 0x0, 0x27, 0x0, 0x4b, 0xb0, 0x9, 0x54, 0x4b, 0xb0, 0xe, 0x54, 0x4b, 0xb0, 0xb, 0x54, 0x4b, 0xb0, 0xc, 0x54, 0x5b, 0x5b, 0x5b, 0x58, 0xbd, 0x0, 0x7, 0x0, 0x40, 0x0, 0x1, 0x0, 0x7, 0x0, 0x7, 0xff, 0xc0, 0x38, 0x11, 0x37, 0x38, 0x59, 0x0, 0xff, 0xff, 0xfc, 0xbf, 0xfe, 0x14, 0xff, 0x3d, 0xff, 0x8c, 0x11, 0x7, 0x2, 0x88, 0xfb, 0xfe, 0xf9, 0x26, 0x0, 0x27, 0x0, 0x4b, 0xb0, 0x9, 0x54, 0x4b, 0xb0, 0xe, 0x54, 0x4b, 0xb0, 0xb, 0x54, 0x4b, 0xb0, 0xc, 0x54, 0x5b, 0x5b, 0x5b, 0x58, 0xbd, 0x0, 0x7, 0x0, 0x40, 0x0, 0x1, 0x0, 0x7, 0x0, 0x7, 0xff, 0xc0, 0x38, 0x11, 0x37, 0x38, 0x59, 0x0, 0xff, 0xff, 0xfc, 0xbf, 0xfe, 0x39, 0xff, 0x31, 0xff, 0x58, 0x10, 0x7, 0x2, 0x9a, 0xfb, 0xf8, 0xf9, 0x10, 0x0, 0x0, 0x0, 0x1, 0xfc, 0xbf, 0xfe, 0x36, 0xff, 0x31, 0xff, 0x55, 0x0, 0xc, 0x0, 0x0, 0x3, 0x23, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x7, 0x23, 0x3e, 0x1, 0x20, 0x16, 0xcf, 0x76, 0xb, 0x61, 0x57, 0x56, 0x60, 0xd, 0x76, 0xa, 0x9e, 0x1, 0x22, 0x9e, 0xfe, 0x36, 0x4b, 0x4b, 0x4a, 0x4c, 0x8f, 0x90, 0x90, 0x0, 0x0, 0xff, 0xff, 0xfc, 0xb4, 0xfe, 0x39, 0xff, 0x48, 0xff, 0x53, 0x10, 0x7, 0x2, 0x9e, 0xfb, 0xfe, 0xf9, 0x1c, 0x0, 0x0, 0xff, 0xff, 0xfc, 0xd9, 0xfe, 0xc0, 0xff, 0x2f, 0xff, 0x54, 0x10, 0x7, 0x2, 0x8f, 0xfc, 0x4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xfb, 0xec, 0xfe, 0x1d, 0x0, 0x14, 0xfe, 0xac, 0x10, 0x7, 0x0, 0x42, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xfb, 0xec, 0xfe, 0x1d, 0x0, 0x14, 0xff, 0xee, 0x10, 0x7, 0xa, 0xf5, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfb, 0x8c, 0x1, 0xec, 0xff, 0xad, 0x3, 0xc, 0x0, 0x1b, 0x0, 0x0, 0x3, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x53, 0x4b, 0x8f, 0x4f, 0x5a, 0x71, 0x16, 0xb, 0x4d, 0x67, 0x33, 0x4f, 0x8d, 0x49, 0x4e, 0x92, 0x53, 0x35, 0x64, 0x4a, 0xc, 0x15, 0x74, 0x5d, 0x46, 0x89, 0x3, 0xc, 0xae, 0x3b, 0x37, 0x33, 0xa, 0x4, 0x21, 0x18, 0x3b, 0x3f, 0xae, 0x3c, 0x36, 0x16, 0x1f, 0x5, 0xa, 0x37, 0x3d, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfd, 0x78, 0x1, 0xc4, 0xff, 0x88, 0x2, 0x68, 0x0, 0x3, 0x0, 0x0, 0x3, 0x15, 0x21, 0x35, 0x78, 0xfd, 0xf0, 0x2, 0x68, 0xa4, 0xa4, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfa, 0xed, 0x1, 0xc4, 0xff, 0xff, 0x2, 0x68, 0x0, 0x3, 0x0, 0x0, 0x1, 0x35, 0x21, 0x15, 0xfa, 0xed, 0x5, 0x12, 0x1, 0xc4, 0xa4, 0xa4, 0x0, 0x0, 0x0, 0x1, 0xfb, 0x68, 0xff, 0xa2, 0xff, 0xbc, 0x4, 0xbc, 0x0, 0x3, 0x0, 0x0, 0x5, 0x27, 0x1, 0x17, 0xfb, 0xc8, 0x60, 0x3, 0xf5, 0x5f, 0x5e, 0x4e, 0x4, 0xcc, 0x4f, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfa, 0x12, 0xff, 0xba, 0xff, 0x91, 0x6, 0x17, 0x0, 0x3, 0x0, 0x0, 0x5, 0x27, 0x1, 0x17, 0xfa, 0x79, 0x67, 0x5, 0x19, 0x66, 0x46, 0x58, 0x6, 0x5, 0x59, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfd, 0xac, 0xfe, 0x12, 0xfe, 0x82, 0xff, 0xbe, 0x0, 0xd, 0x0, 0x1c, 0x40, 0x6, 0xd, 0x6, 0xa, 0x56, 0x3, 0xe, 0x10, 0xd4, 0xfc, 0xcc, 0x32, 0x31, 0x0, 0x40, 0x6, 0x0, 0xc1, 0xd, 0x7, 0xc1, 0x6, 0x2f, 0xfc, 0xdc, 0xec, 0x30, 0x5, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x35, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0xfd, 0xac, 0x5a, 0x7c, 0x7c, 0x5a, 0x28, 0x35, 0x35, 0x28, 0x42, 0x7d, 0x5a, 0x59, 0x7c, 0x78, 0x35, 0x27, 0x28, 0x35, 0x0, 0x1, 0xfc, 0xf1, 0xfe, 0x5b, 0xff, 0x18, 0xff, 0xa5, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x33, 0x15, 0x21, 0x35, 0x33, 0x11, 0xfc, 0xf1, 0x89, 0x1, 0x15, 0x89, 0xfe, 0x5b, 0x1, 0x4a, 0xc2, 0xc2, 0xfe, 0xb6, 0x0, 0x2, 0xfd, 0x21, 0xfe, 0x14, 0xfe, 0xe3, 0xff, 0xd6, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x5, 0x11, 0x21, 0x11, 0x1, 0x35, 0x23, 0x15, 0xfe, 0xe3, 0xfe, 0x3e, 0x1, 0x4a, 0xd2, 0x2a, 0xfe, 0x3e, 0x1, 0xc2, 0xfe, 0xb6, 0xd2, 0xd2, 0x0, 0x1, 0xfc, 0x63, 0xfe, 0x39, 0xff, 0x98, 0xff, 0x58, 0x0, 0x14, 0x0, 0x0, 0x5, 0x36, 0x33, 0x32, 0x13, 0x14, 0x15, 0x23, 0x26, 0x23, 0x22, 0x7, 0x23, 0x26, 0x27, 0x22, 0x7, 0x23, 0x12, 0x37, 0x32, 0xfd, 0xfe, 0x3b, 0x74, 0xda, 0x11, 0x76, 0xd, 0x67, 0x66, 0x10, 0x76, 0xb, 0x69, 0x66, 0xf, 0x76, 0xf, 0xdc, 0x74, 0xfa, 0x52, 0xfe, 0xe6, 0x2, 0x3, 0x96, 0x96, 0x95, 0x1, 0x96, 0x1, 0x1e, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfd, 0x2b, 0x4, 0xf3, 0xfe, 0xe5, 0x6, 0xad, 0x0, 0xb, 0x0, 0x0, 0x1, 0x7, 0x27, 0x37, 0x27, 0x37, 0x17, 0x37, 0x17, 0x7, 0x17, 0x7, 0xfe, 0x8, 0x7d, 0x60, 0x7d, 0x7d, 0x60, 0x7d, 0x7d, 0x60, 0x7d, 0x7d, 0x60, 0x5, 0x70, 0x7d, 0x60, 0x7d, 0x7d, 0x60, 0x7d, 0x7d, 0x60, 0x7d, 0x7d, 0x60, 0x0, 0x1, 0xfe, 0x6, 0x4, 0xc2, 0xff, 0x20, 0x6, 0xd2, 0x0, 0x1d, 0x0, 0x0, 0x1, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x15, 0xe, 0x1, 0x15, 0x14, 0x17, 0x16, 0x1f, 0x1, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x35, 0x34, 0x27, 0x26, 0x27, 0xfe, 0x43, 0x21, 0x1c, 0x93, 0x87, 0x52, 0x49, 0x9, 0xc, 0x12, 0x37, 0x21, 0x1c, 0x93, 0x87, 0x52, 0x49, 0x9, 0xc, 0x12, 0x5, 0xc7, 0x1c, 0x30, 0x1c, 0x50, 0x51, 0x2, 0x6e, 0x2, 0x1b, 0x1c, 0xa, 0xc, 0xf, 0xe, 0x2b, 0x1c, 0x30, 0x1c, 0x50, 0x51, 0x2, 0x6e, 0x2, 0x1b, 0x1c, 0xa, 0xc, 0xf, 0xe, 0xff, 0xff, 0xfb, 0xec, 0x4, 0x3a, 0x0, 0x14, 0x6, 0xb, 0x10, 0x27, 0xb, 0x1c, 0xfc, 0x0, 0x0, 0x0, 0x10, 0x7, 0xb, 0x1c, 0xfc, 0x0, 0xfe, 0xbe, 0x0, 0x0, 0xff, 0xff, 0xfc, 0xa8, 0x4, 0xf0, 0xfe, 0x87, 0x6, 0x66, 0x10, 0x7, 0x0, 0x43, 0xfb, 0xfe, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xfd, 0x71, 0x4, 0xee, 0xff, 0x50, 0x6, 0x66, 0x10, 0x7, 0x0, 0x76, 0xfb, 0xfe, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xfc, 0xb4, 0x5, 0x1d, 0xff, 0x48, 0x6, 0x37, 0x10, 0x7, 0x2, 0x9e, 0xfb, 0xfe, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xfd, 0x90, 0x4, 0xc2, 0xfe, 0x82, 0x6, 0xc1, 0x10, 0x6, 0x2, 0xc4, 0x0, 0x0, 0xff, 0xff, 0xfc, 0xe7, 0x5, 0x46, 0xff, 0x62, 0x7, 0xd2, 0x10, 0x7, 0x3, 0x1c, 0xfc, 0x10, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xfd, 0xc6, 0xfe, 0x56, 0xfe, 0xa2, 0xff, 0xa4, 0x10, 0x7, 0x3, 0x16, 0xfc, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfc, 0xd5, 0x5, 0x1d, 0xff, 0x2b, 0x6, 0x49, 0x0, 0x7, 0x0, 0x0, 0x3, 0x23, 0x35, 0x21, 0x15, 0x23, 0x11, 0x21, 0xd5, 0x96, 0xfe, 0xd6, 0x96, 0x2, 0x56, 0x5, 0x1d, 0x96, 0x96, 0x1, 0x2c, 0x0, 0x0, 0x2, 0xfd, 0x1f, 0xfe, 0x32, 0xfe, 0xe1, 0xff, 0xb8, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x21, 0xfe, 0xe1, 0xfe, 0x3e, 0x1, 0xc2, 0xfe, 0x3e, 0x1, 0xc2, 0xfe, 0x32, 0x78, 0x96, 0x78, 0x0, 0x0, 0x2, 0xfd, 0x15, 0xfe, 0x14, 0xfe, 0xeb, 0xff, 0xa0, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x5, 0x33, 0x11, 0x23, 0x1, 0x33, 0x11, 0x23, 0xfd, 0x15, 0x96, 0x96, 0x1, 0x40, 0x96, 0x96, 0x60, 0xfe, 0x74, 0x1, 0x8c, 0xfe, 0x74, 0x0, 0x0, 0x1, 0xfd, 0x1f, 0xfe, 0x14, 0xfe, 0xe1, 0xff, 0xd6, 0x0, 0x5, 0x0, 0x0, 0x5, 0x21, 0x11, 0x23, 0x11, 0x21, 0xfd, 0x1f, 0x1, 0xc2, 0x96, 0xfe, 0xd4, 0x2a, 0xfe, 0x3e, 0x1, 0x2c, 0x0, 0x1, 0xfc, 0xb6, 0x4, 0xee, 0xff, 0x4a, 0x6, 0x66, 0x0, 0x27, 0x0, 0x0, 0x1, 0x37, 0x33, 0x7, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x33, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x7, 0x23, 0x37, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x23, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0xfd, 0xff, 0x42, 0x6d, 0x6b, 0xb, 0x16, 0x10, 0xd, 0x26, 0x12, 0x12, 0x2, 0x7d, 0x2, 0x33, 0x33, 0x5b, 0x26, 0x20, 0x1e, 0x21, 0x42, 0x6e, 0x6b, 0xd, 0x14, 0x10, 0xd, 0x26, 0x12, 0x12, 0x2, 0x7d, 0x2, 0x33, 0x33, 0x5b, 0x26, 0x20, 0x1e, 0x5, 0xff, 0x67, 0xa9, 0x9, 0xe, 0xa, 0x24, 0x25, 0x52, 0x87, 0x4a, 0x49, 0xe, 0xd, 0x1d, 0x67, 0xa8, 0xb, 0xd, 0xa, 0x24, 0x25, 0x52, 0x87, 0x4a, 0x49, 0xe, 0xd, 0x0, 0x3, 0xfc, 0xb6, 0x4, 0x89, 0xff, 0x4a, 0x6, 0xcc, 0x0, 0x1d, 0x0, 0x21, 0x0, 0x25, 0x0, 0x0, 0x1, 0x27, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x1f, 0x1, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x3d, 0x1, 0x33, 0xe, 0x1, 0x23, 0x22, 0x26, 0x7, 0x33, 0x15, 0x23, 0x13, 0x33, 0x15, 0x23, 0xfd, 0xfc, 0x39, 0x19, 0x1f, 0xc, 0x24, 0x28, 0x7d, 0x67, 0x56, 0x24, 0x3d, 0x30, 0x39, 0x17, 0x22, 0xf, 0x20, 0x28, 0x7d, 0x2, 0x67, 0x54, 0x22, 0x3b, 0xe8, 0x96, 0x96, 0xd2, 0x96, 0x96, 0x5, 0x68, 0x21, 0xe, 0xb, 0x32, 0x2d, 0x6, 0x65, 0x76, 0x10, 0x1b, 0x1e, 0xd, 0xc, 0x33, 0x29, 0x6, 0x64, 0x77, 0x10, 0x2e, 0x96, 0x2, 0x43, 0x96, 0x0, 0x0, 0xff, 0xff, 0xfc, 0xb6, 0x4, 0xc5, 0xff, 0x4a, 0x6, 0x90, 0x10, 0x22, 0x16, 0xbb, 0x0, 0xb7, 0x10, 0x3, 0x16, 0xbb, 0x0, 0x0, 0x0, 0xa7, 0x0, 0x1, 0xfc, 0x63, 0xfe, 0x28, 0xff, 0x9d, 0xff, 0xc2, 0x0, 0xd, 0x0, 0x0, 0x1, 0x37, 0x21, 0x17, 0x23, 0x27, 0x37, 0x33, 0x7, 0x21, 0x27, 0x33, 0x17, 0x7, 0xfe, 0x70, 0x84, 0xfe, 0x19, 0x84, 0x7f, 0xaf, 0xaf, 0x7f, 0x84, 0x1, 0xe7, 0x84, 0x7e, 0xaf, 0xaf, 0xfe, 0x28, 0x9b, 0x9b, 0xcd, 0xcd, 0x9b, 0x9b, 0xcd, 0xcd, 0x0, 0x0, 0x1, 0xfd, 0x33, 0xfe, 0x14, 0xfe, 0xcd, 0xff, 0xa4, 0x0, 0x8, 0x0, 0x0, 0x1, 0x23, 0x35, 0x7, 0x35, 0x37, 0x17, 0x15, 0x27, 0xfe, 0x32, 0x64, 0x9b, 0xcd, 0xcd, 0x9b, 0xfe, 0x14, 0xe7, 0x84, 0x7e, 0xaf, 0xaf, 0x7e, 0x84, 0x0, 0x0, 0x1, 0xfd, 0x78, 0x4, 0xe1, 0xfe, 0x88, 0x7, 0x6, 0x0, 0x10, 0x0, 0x0, 0x1, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x15, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0xfe, 0x88, 0x40, 0x2a, 0x2c, 0x2c, 0x2a, 0x40, 0x72, 0x4e, 0x50, 0x50, 0x4e, 0x72, 0x6, 0x8b, 0x1, 0x2a, 0x2c, 0x40, 0x41, 0x2b, 0x2b, 0x1, 0x7b, 0x1, 0x4f, 0x50, 0xe6, 0x50, 0x4e, 0x1, 0x0, 0xff, 0xff, 0xfc, 0xbf, 0x4, 0x60, 0xff, 0x31, 0x6, 0xd8, 0x10, 0x27, 0x2, 0xc2, 0x0, 0x0, 0x0, 0x90, 0x10, 0x6, 0x2, 0xb8, 0x0, 0xe5, 0xff, 0xff, 0xfd, 0x2b, 0xfe, 0x14, 0xfe, 0xe5, 0xff, 0xce, 0x10, 0x7, 0x2, 0xee, 0x0, 0x0, 0xf9, 0x21, 0x0, 0x0, 0x0, 0x1, 0xfd, 0x78, 0x4, 0xe1, 0xfe, 0x88, 0x7, 0x6, 0x0, 0x12, 0x0, 0x0, 0x1, 0x30, 0x35, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x30, 0x35, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0xfd, 0x78, 0x72, 0x4e, 0x50, 0x50, 0x4e, 0x72, 0x40, 0x2a, 0x2c, 0x2c, 0x2a, 0x6, 0x8b, 0x7b, 0x1, 0x4e, 0x50, 0xe6, 0x50, 0x4f, 0x1, 0x7b, 0x1, 0x2b, 0x2b, 0x41, 0x40, 0x2c, 0x2a, 0xff, 0xff, 0xff, 0x2e, 0x5, 0x44, 0xff, 0xfa, 0x6, 0x10, 0x10, 0x7, 0x2, 0x9b, 0xfd, 0x94, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xfc, 0x90, 0xfe, 0x12, 0xff, 0x6f, 0xff, 0xbf, 0x0, 0x7, 0x0, 0x15, 0x0, 0x1d, 0x0, 0x0, 0x0, 0x16, 0x32, 0x3e, 0x1, 0x26, 0x22, 0x6, 0x37, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x27, 0x6, 0x22, 0x26, 0x34, 0x36, 0x32, 0x12, 0x36, 0x34, 0x26, 0x22, 0x6, 0x14, 0x16, 0xfd, 0x9, 0x35, 0x4f, 0x35, 0x2, 0x37, 0x4f, 0x35, 0xf7, 0x3e, 0xb5, 0x7c, 0x7c, 0xb6, 0x3d, 0x3e, 0xb6, 0x7c, 0x7c, 0xb6, 0xfe, 0x36, 0x36, 0x4f, 0x35, 0x35, 0xfe, 0xc3, 0x35, 0x35, 0x4d, 0x37, 0x35, 0x6d, 0x3f, 0x7c, 0xb3, 0x7d, 0x41, 0x40, 0x7d, 0xb3, 0x7c, 0xfe, 0xce, 0x36, 0x4d, 0x36, 0x35, 0x4f, 0x35, 0xff, 0xff, 0xfc, 0x70, 0xfe, 0x1b, 0x3, 0x90, 0xff, 0x85, 0x10, 0x7, 0xb, 0x1d, 0xfc, 0xc9, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xfc, 0x70, 0x6, 0x6b, 0x3, 0x90, 0x7, 0xd5, 0x10, 0x7, 0xb, 0x1d, 0xfc, 0xc9, 0x8, 0x50, 0x0, 0x0, 0x0, 0x1, 0xfc, 0x70, 0x6, 0xd7, 0x3, 0x90, 0x7, 0x6b, 0x0, 0x3, 0x0, 0x0, 0x1, 0x21, 0x15, 0x21, 0xfc, 0x70, 0x7, 0x20, 0xf8, 0xe0, 0x7, 0x6b, 0x94, 0x0, 0x0, 0x1, 0xfc, 0x70, 0xfe, 0xc0, 0x3, 0x90, 0xff, 0x54, 0x0, 0x3, 0x0, 0x0, 0x5, 0x21, 0x15, 0x21, 0xfc, 0x70, 0x7, 0x20, 0xf8, 0xe0, 0xac, 0x94, 0x0, 0x0, 0x0, 0x1, 0xfd, 0x2a, 0x6, 0xd, 0x2, 0xd6, 0x7, 0x27, 0x0, 0x23, 0x0, 0x0, 0x3, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x23, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x1f, 0x1, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x33, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x4, 0x90, 0x1c, 0x4f, 0x2c, 0x24, 0x65, 0x35, 0x46, 0x5, 0xa2, 0x4, 0x71, 0x70, 0xc8, 0x5b, 0x3f, 0x39, 0x5a, 0x90, 0x1c, 0x4f, 0x2c, 0x24, 0x61, 0x39, 0x47, 0x4, 0xa2, 0x4, 0x71, 0x70, 0xc8, 0x5b, 0x3f, 0x39, 0x6, 0x4a, 0x37, 0xb, 0x12, 0xa, 0x24, 0x30, 0x47, 0x87, 0x4a, 0x49, 0xe, 0xd, 0x22, 0x37, 0xb, 0x12, 0xa, 0x24, 0x2c, 0x4b, 0x87, 0x4a, 0x49, 0xe, 0xd, 0x0, 0x0, 0x0, 0xff, 0xff, 0xfc, 0x70, 0x6, 0x4, 0x3, 0x90, 0x7, 0x6e, 0x10, 0x7, 0xb, 0x1e, 0xfc, 0xc9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfc, 0x77, 0xfe, 0x28, 0x3, 0x93, 0xff, 0xc2, 0x0, 0x8, 0x0, 0x0, 0x1, 0x35, 0x21, 0x27, 0x33, 0x17, 0x7, 0x23, 0x37, 0xfc, 0x77, 0x6, 0x73, 0x84, 0x7e, 0xaf, 0xaf, 0x7e, 0x84, 0xfe, 0xc3, 0x64, 0x9b, 0xcd, 0xcd, 0x9b, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x71, 0x5, 0xd5, 0x10, 0x6, 0x11, 0xe9, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc1, 0x0, 0x0, 0x3, 0xd0, 0x4, 0x60, 0x10, 0x6, 0x11, 0xea, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x1c, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x0, 0x13, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0xc9, 0x5, 0x53, 0xca, 0xfe, 0x86, 0xcb, 0xfe, 0x86, 0xca, 0x5, 0xd5, 0xfc, 0xf4, 0x2, 0x62, 0xfa, 0xd5, 0x5, 0x2b, 0xfd, 0x9e, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x65, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x0, 0x13, 0x21, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0xc9, 0x3, 0x9c, 0xb8, 0xb9, 0xb9, 0xb9, 0xb9, 0x5, 0xd5, 0xfc, 0xf4, 0x2, 0x62, 0xfa, 0xd5, 0x5, 0x2b, 0xfd, 0x9e, 0x0, 0x0, 0x0, 0x1, 0x0, 0xa0, 0x4, 0x74, 0x1, 0x9f, 0x6, 0x66, 0x0, 0x3, 0x0, 0x11, 0x40, 0x6, 0x1, 0x0, 0x4, 0x2, 0x0, 0x4, 0x10, 0xd4, 0xcc, 0x31, 0x0, 0x10, 0xd4, 0xcc, 0x30, 0x1b, 0x1, 0x33, 0x3, 0xa0, 0x41, 0xbe, 0x6e, 0x4, 0x74, 0x1, 0xf2, 0xfe, 0xe, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xa0, 0xfe, 0x56, 0x1, 0x9f, 0x0, 0x48, 0x0, 0x3, 0x0, 0x11, 0x40, 0x6, 0x2, 0x3, 0x4, 0x0, 0x2, 0x4, 0x10, 0xd4, 0xcc, 0x31, 0x0, 0x10, 0xd4, 0xcc, 0x30, 0x25, 0x3, 0x23, 0x13, 0x1, 0x9f, 0x41, 0xbe, 0x6e, 0x48, 0xfe, 0xe, 0x1, 0xf2, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x33, 0x5, 0xd5, 0x10, 0x6, 0x3, 0xac, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x4, 0x79, 0x4, 0x60, 0x10, 0x6, 0x3, 0xcc, 0x0, 0x0, 0x0, 0x1, 0x1, 0xb6, 0xfe, 0x56, 0x2, 0x92, 0xff, 0xa4, 0x0, 0xd, 0x0, 0x0, 0x1, 0x23, 0x22, 0x27, 0x26, 0x3d, 0x1, 0x33, 0x15, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x2, 0x92, 0x94, 0x1a, 0x1a, 0x14, 0x95, 0xa, 0xc, 0xe, 0x23, 0xfe, 0x56, 0x21, 0x1a, 0x2e, 0xe5, 0xe5, 0xe, 0xc, 0xd, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7f, 0xff, 0xe3, 0x3, 0xf5, 0x4, 0x7b, 0x10, 0x6, 0x2, 0x16, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x3, 0xe7, 0x4, 0x7b, 0x10, 0x27, 0x0, 0x79, 0x1, 0x4f, 0xff, 0x84, 0x10, 0x6, 0x0, 0x46, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7f, 0xff, 0xe3, 0x3, 0xf5, 0x4, 0x7b, 0x10, 0x27, 0x0, 0x79, 0x0, 0x8e, 0xff, 0x84, 0x10, 0x6, 0x2, 0x16, 0x0, 0x0, 0xff, 0xff, 0x0, 0x9e, 0xff, 0x12, 0x1, 0xc3, 0x4, 0x23, 0x12, 0x6, 0x0, 0x1e, 0x0, 0x0, 0x0, 0x1, 0x1, 0x73, 0x4, 0xee, 0x3, 0x52, 0x6, 0x66, 0x0, 0x3, 0x0, 0x31, 0x40, 0x9, 0x2, 0xb4, 0x0, 0xb3, 0x4, 0x3, 0x44, 0x1, 0x4, 0x10, 0xd4, 0xec, 0x31, 0x0, 0x10, 0xf4, 0xec, 0x30, 0x0, 0x4b, 0xb0, 0x9, 0x54, 0x4b, 0xb0, 0xe, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x4, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x4, 0x0, 0x4, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x1, 0x33, 0x1, 0x23, 0x2, 0x8b, 0xc7, 0xfe, 0xba, 0x99, 0x6, 0x66, 0xfe, 0x88, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xd7, 0x5, 0x46, 0x3, 0x52, 0x7, 0xd2, 0x12, 0x26, 0x0, 0x6a, 0x0, 0x0, 0x11, 0x7, 0x3, 0x1b, 0x0, 0x0, 0x1, 0x6c, 0x0, 0x14, 0x0, 0x40, 0x7, 0xaf, 0x8, 0x9f, 0x8, 0x5f, 0x8, 0x3, 0x5d, 0x40, 0x5, 0x5f, 0x8, 0xf, 0x8, 0x2, 0x71, 0x30, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x6, 0x66, 0x10, 0x27, 0x3, 0x1b, 0xfe, 0xda, 0x0, 0x0, 0x10, 0x6, 0x3, 0x26, 0x0, 0x0, 0xff, 0xff, 0x0, 0xdb, 0x2, 0x48, 0x1, 0xae, 0x3, 0x46, 0x12, 0x6, 0x0, 0x79, 0x0, 0x0, 0xff, 0xff, 0xff, 0xe7, 0x0, 0x0, 0x5, 0x75, 0x6, 0x66, 0x10, 0x27, 0x3, 0x1b, 0xfe, 0x74, 0x0, 0x0, 0x10, 0x7, 0x3, 0x2a, 0x0, 0xea, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xf3, 0x0, 0x0, 0x6, 0x1f, 0x6, 0x66, 0x10, 0x27, 0x3, 0x1b, 0xfe, 0x80, 0x0, 0x0, 0x10, 0x7, 0x3, 0x2c, 0x0, 0xe4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xed, 0x0, 0x0, 0x2, 0x7d, 0x6, 0x66, 0x10, 0x27, 0x3, 0x1b, 0xfe, 0x7a, 0x0, 0x0, 0x10, 0x7, 0x3, 0x2e, 0x0, 0xea, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xf2, 0xff, 0xe3, 0x6, 0x1, 0x6, 0x66, 0x10, 0x27, 0x3, 0x1b, 0xfe, 0x7f, 0x0, 0x0, 0x10, 0x6, 0x3, 0x34, 0x28, 0x0, 0xff, 0xff, 0xff, 0xe1, 0x0, 0x0, 0x6, 0x91, 0x6, 0x66, 0x10, 0x27, 0x3, 0x1b, 0xfe, 0x6e, 0x0, 0x0, 0x10, 0x7, 0x3, 0x39, 0x1, 0xaa, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xdb, 0x0, 0x0, 0x6, 0x5, 0x6, 0x66, 0x10, 0x27, 0x3, 0x1b, 0xfe, 0x68, 0x0, 0x0, 0x10, 0x6, 0x3, 0x3d, 0x36, 0x0, 0xff, 0xff, 0x0, 0x5, 0x0, 0x0, 0x2, 0x80, 0x7, 0xd2, 0x10, 0x27, 0x3, 0x1c, 0xff, 0x2e, 0x0, 0x0, 0x12, 0x6, 0x3, 0x4d, 0xf, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x24, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0xec, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x25, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x6a, 0x5, 0xd5, 0x0, 0x5, 0x0, 0x19, 0x40, 0xc, 0x4, 0x95, 0x1, 0x81, 0x0, 0x7, 0x2, 0x4, 0x1c, 0x1, 0x4, 0x6, 0x10, 0xfc, 0xfc, 0xcc, 0xc4, 0x31, 0x0, 0x2f, 0xf4, 0xec, 0x30, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0xc9, 0x3, 0xa1, 0xfd, 0x29, 0x5, 0xd5, 0xaa, 0xfa, 0xd5, 0x0, 0x0, 0x2, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x5, 0xd5, 0x0, 0x2, 0x0, 0x6, 0x0, 0x3d, 0x40, 0xc, 0x42, 0x0, 0x95, 0x4, 0x81, 0x1, 0x95, 0x3, 0x8, 0x6, 0x3, 0x7, 0x10, 0xd4, 0xc4, 0xc4, 0x31, 0x0, 0x2f, 0xec, 0xf4, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x12, 0x0, 0x11, 0x5, 0x4, 0x3, 0x2, 0x11, 0x6, 0x6, 0x5, 0x0, 0x11, 0x4, 0x1, 0x11, 0x3, 0x3, 0x4, 0x5, 0x7, 0x10, 0xec, 0x10, 0xec, 0x7, 0x10, 0xec, 0x8, 0x10, 0xec, 0x59, 0x9, 0x1, 0x21, 0x5, 0x1, 0x33, 0x1, 0x2, 0xbc, 0xfe, 0x66, 0x3, 0x35, 0xfb, 0xb9, 0x2, 0x3a, 0xe5, 0x2, 0x39, 0x5, 0xe, 0xfb, 0x9a, 0xa8, 0x5, 0xd5, 0xfa, 0x2b, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x28, 0x0, 0x0, 0xff, 0xff, 0x0, 0x5c, 0x0, 0x0, 0x5, 0x1f, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x3d, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x3b, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x2b, 0x0, 0x0, 0x0, 0x3, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x5, 0xf0, 0x0, 0x3, 0x0, 0x12, 0x0, 0x21, 0x0, 0x32, 0x40, 0x1c, 0x4, 0x95, 0x13, 0x91, 0x22, 0x3, 0x95, 0x0, 0xad, 0x22, 0xb, 0x95, 0x1a, 0x8c, 0x22, 0x23, 0x10, 0x1, 0xf, 0x19, 0x16, 0x33, 0x0, 0x8, 0x19, 0x1e, 0x10, 0x22, 0x10, 0xfc, 0xec, 0xc4, 0xf4, 0xec, 0xc4, 0xec, 0x31, 0x0, 0x10, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x21, 0x15, 0x21, 0x1, 0x22, 0x7, 0x6, 0x11, 0x10, 0x0, 0x33, 0x32, 0x37, 0x36, 0x11, 0x10, 0x27, 0x26, 0x27, 0x20, 0x0, 0x11, 0x10, 0x7, 0x6, 0x21, 0x20, 0x27, 0x26, 0x11, 0x10, 0x37, 0x36, 0x1, 0xc5, 0x2, 0xc2, 0xfd, 0x3e, 0x1, 0x62, 0xdc, 0x81, 0x82, 0x1, 0x3, 0xdc, 0xdc, 0x81, 0x80, 0x80, 0x81, 0xdc, 0x1, 0x3a, 0x1, 0x78, 0xbc, 0xbc, 0xfe, 0xc6, 0xfe, 0xc5, 0xbc, 0xbd, 0xbd, 0xbc, 0x3, 0x70, 0xaa, 0x2, 0x86, 0xa4, 0xa4, 0xfe, 0xe5, 0xfe, 0xe6, 0xfe, 0xb8, 0xa4, 0xa4, 0x1, 0x1a, 0x1, 0x1b, 0xa4, 0xa4, 0xa4, 0xfe, 0x5b, 0xfe, 0x9e, 0xfe, 0x9f, 0xd2, 0xd3, 0xd2, 0xd2, 0x1, 0x62, 0x1, 0x62, 0xd3, 0xd2, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x1, 0x93, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x2c, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x6a, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x2e, 0x0, 0x0, 0x0, 0x1, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x5, 0xd5, 0x0, 0x6, 0x0, 0x3c, 0x40, 0xb, 0x42, 0x6, 0x95, 0x2, 0x81, 0x5, 0x1, 0x8, 0x4, 0x1, 0x7, 0x10, 0xd4, 0xc4, 0xc4, 0x31, 0x0, 0x2f, 0x3c, 0xf4, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x12, 0x6, 0x11, 0x3, 0x2, 0x1, 0x5, 0x11, 0x4, 0x4, 0x3, 0x6, 0x11, 0x2, 0x0, 0x11, 0x1, 0x1, 0x2, 0x5, 0x7, 0x10, 0xec, 0x10, 0xec, 0x7, 0x10, 0xec, 0x8, 0x10, 0xec, 0x59, 0x33, 0x23, 0x1, 0x33, 0x1, 0x23, 0x1, 0xe5, 0xd5, 0x2, 0x3a, 0xe5, 0x2, 0x39, 0xd2, 0xfe, 0x26, 0x5, 0xd5, 0xfa, 0x2b, 0x5, 0xe, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x1f, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x30, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x33, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x31, 0x0, 0x0, 0x0, 0x3, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x62, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x2a, 0x40, 0x16, 0x7, 0x95, 0x4, 0x81, 0xb, 0x3, 0x95, 0x0, 0xad, 0x8, 0x95, 0xb, 0xd, 0x4, 0x1, 0x9, 0x5, 0x0, 0x8, 0x4, 0x4, 0xc, 0x10, 0xfc, 0x3c, 0xc4, 0xd4, 0x3c, 0xc4, 0xec, 0x31, 0x0, 0x2f, 0xec, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x21, 0x15, 0x21, 0x3, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x1, 0x32, 0x2, 0xc7, 0xfd, 0x39, 0x69, 0x3, 0x99, 0xfc, 0x67, 0x3, 0x99, 0xfc, 0x67, 0x3, 0x71, 0xaa, 0x3, 0xe, 0xaa, 0xfb, 0x7f, 0xaa, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x5, 0xf0, 0x12, 0x6, 0x0, 0x32, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x3b, 0x5, 0xd5, 0x12, 0x6, 0x3, 0xb3, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8d, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x33, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x46, 0x40, 0x11, 0x42, 0xa, 0x6, 0x95, 0x7, 0x81, 0x0, 0x4, 0x95, 0x3, 0xd, 0x1, 0x8, 0x4, 0x7, 0x4, 0xc, 0x10, 0xfc, 0x3c, 0xd4, 0x3c, 0xcc, 0x31, 0x0, 0x2f, 0xec, 0x32, 0xf4, 0xec, 0x32, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x12, 0xb, 0x11, 0x5, 0x5, 0x4, 0xa, 0x11, 0x6, 0x6, 0x5, 0xb, 0x11, 0x5, 0x0, 0x11, 0x4, 0x5, 0x4, 0x5, 0x7, 0x10, 0xec, 0x10, 0xec, 0x7, 0x10, 0xec, 0x8, 0x10, 0xec, 0x59, 0x25, 0x21, 0x15, 0x21, 0x35, 0x9, 0x1, 0x35, 0x21, 0x15, 0x21, 0x1, 0x1, 0xb1, 0x2, 0xda, 0xfc, 0x3e, 0x1, 0xdf, 0xfe, 0x21, 0x3, 0xb0, 0xfd, 0x38, 0x1, 0xdf, 0xaa, 0xaa, 0xaa, 0x2, 0x70, 0x2, 0x11, 0xaa, 0xaa, 0xfd, 0xf3, 0x0, 0xff, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x4, 0xe9, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x37, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x4, 0xe7, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x3c, 0x0, 0x0, 0x0, 0x3, 0x0, 0x73, 0x0, 0x0, 0x5, 0xd9, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x11, 0x0, 0x27, 0x0, 0x3c, 0x40, 0x10, 0x29, 0xd, 0x19, 0x21, 0x12, 0x1a, 0x0, 0x1c, 0x25, 0x1d, 0x11, 0x4, 0x19, 0x16, 0x10, 0x28, 0x10, 0xfc, 0xec, 0xd4, 0x3c, 0x3c, 0xfc, 0x3c, 0x3c, 0xd4, 0xec, 0xc4, 0x31, 0x0, 0x40, 0xe, 0x11, 0x0, 0x95, 0x1d, 0x1a, 0x1b, 0x81, 0x27, 0x9, 0x8, 0x95, 0x25, 0x12, 0x27, 0x2f, 0xd4, 0x3c, 0xfc, 0x3c, 0x10, 0xf4, 0xd4, 0x3c, 0xfc, 0x3c, 0x30, 0x1, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x33, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x3, 0x26, 0x27, 0x26, 0x11, 0x10, 0x37, 0x36, 0x37, 0x35, 0x33, 0x15, 0x16, 0x17, 0x16, 0x11, 0x10, 0x7, 0x6, 0x7, 0x15, 0x23, 0x2, 0xc2, 0x96, 0x62, 0x82, 0x82, 0x62, 0x96, 0xca, 0x96, 0x62, 0x80, 0x80, 0x62, 0x96, 0xca, 0xf4, 0x9e, 0xbd, 0xbd, 0x9d, 0xf5, 0xca, 0xf4, 0x9d, 0xbc, 0xbc, 0x9d, 0xf4, 0xca, 0x4, 0x8e, 0x15, 0x57, 0x73, 0xc6, 0xc5, 0x73, 0x57, 0x15, 0x15, 0x57, 0x73, 0xc5, 0xc6, 0x73, 0x57, 0x15, 0xfc, 0x10, 0x16, 0x86, 0xa0, 0x1, 0xf, 0x1, 0xf, 0xa1, 0x87, 0x16, 0x9f, 0x9f, 0x17, 0x86, 0xa1, 0xfe, 0xf1, 0xfe, 0xf2, 0xa1, 0x86, 0x17, 0x9d, 0x0, 0xff, 0xff, 0x0, 0x3d, 0x0, 0x0, 0x5, 0x3b, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x3b, 0x0, 0x0, 0x0, 0x1, 0x0, 0x73, 0x0, 0x0, 0x5, 0xdb, 0x5, 0xd5, 0x0, 0x1d, 0x0, 0x2e, 0x40, 0x17, 0x10, 0xd, 0x95, 0x1b, 0x2, 0x15, 0xe, 0x7, 0x81, 0x0, 0x1f, 0x15, 0x1c, 0x16, 0x2, 0xe, 0x1c, 0x1b, 0xf, 0x8, 0x1c, 0x7, 0x1e, 0x10, 0xdc, 0xec, 0xd4, 0x3c, 0xfc, 0x3c, 0xd4, 0xec, 0xcc, 0x31, 0x0, 0x2f, 0xe4, 0x32, 0x32, 0xdc, 0x3c, 0xec, 0x32, 0x30, 0x21, 0x36, 0x27, 0x22, 0x27, 0x26, 0x3, 0x11, 0x33, 0x11, 0x10, 0x17, 0x16, 0x17, 0x11, 0x33, 0x11, 0x36, 0x37, 0x36, 0x19, 0x1, 0x33, 0x11, 0x2, 0x7, 0x6, 0x23, 0x6, 0x17, 0x2, 0xc2, 0x1, 0x1, 0xd6, 0xbc, 0xb8, 0x5, 0xd5, 0x82, 0x6e, 0x8a, 0xca, 0x8a, 0x6e, 0x82, 0xd5, 0x5, 0xb8, 0xbc, 0xd6, 0x1, 0x1, 0x86, 0xb0, 0xd2, 0xcc, 0x1, 0x68, 0x1, 0x99, 0xfe, 0x67, 0xfe, 0xe6, 0xa4, 0x8c, 0xe, 0x3, 0xf1, 0xfc, 0xf, 0xe, 0x8c, 0xa4, 0x1, 0x1a, 0x1, 0x99, 0xfe, 0x67, 0xfe, 0x98, 0xcc, 0xd2, 0x48, 0xee, 0x0, 0x0, 0x1, 0x0, 0x4e, 0x0, 0x0, 0x5, 0xcf, 0x5, 0xe7, 0x0, 0x26, 0x0, 0x33, 0x40, 0x1b, 0xb, 0x95, 0x1e, 0x91, 0x26, 0x3, 0x12, 0x15, 0x95, 0x2, 0x14, 0x3, 0x7, 0x19, 0x28, 0x10, 0x0, 0x22, 0x33, 0x1a, 0x12, 0xe, 0x19, 0x15, 0x1a, 0x10, 0x27, 0x10, 0xfc, 0xc4, 0xfc, 0xc4, 0x10, 0xf4, 0xc4, 0xec, 0xfc, 0xc4, 0x31, 0x0, 0x2f, 0x3c, 0xec, 0x32, 0x32, 0x32, 0xf4, 0xec, 0x30, 0x25, 0x15, 0x21, 0x35, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x0, 0x15, 0x14, 0x17, 0x16, 0x17, 0x15, 0x21, 0x35, 0x21, 0x26, 0x27, 0x26, 0x35, 0x10, 0x37, 0x36, 0x21, 0x20, 0x17, 0x16, 0x11, 0x14, 0x7, 0x6, 0x7, 0x5, 0xcf, 0xfd, 0xa8, 0xb1, 0x63, 0x63, 0x84, 0x84, 0xd8, 0xd8, 0xfe, 0xf7, 0x63, 0x64, 0xb2, 0xfd, 0xa8, 0x1, 0x3f, 0x9e, 0x49, 0x48, 0xc0, 0xbf, 0x1, 0x31, 0x1, 0x2f, 0xc1, 0xc0, 0x47, 0x47, 0xa1, 0xb2, 0xb2, 0xb2, 0x61, 0xa6, 0xa6, 0xca, 0xf0, 0x91, 0x91, 0xfe, 0xdd, 0xef, 0xca, 0xa6, 0xa6, 0x61, 0xb2, 0xb2, 0x8b, 0x95, 0x95, 0xb8, 0x1, 0x3e, 0xc5, 0xc5, 0xc5, 0xc4, 0xfe, 0xcb, 0xc2, 0x94, 0x94, 0x8d, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6, 0x0, 0x0, 0x2, 0x58, 0x7, 0x4e, 0x10, 0x27, 0x16, 0xb9, 0x3, 0x2f, 0x1, 0x75, 0x13, 0x6, 0x3, 0x2e, 0x0, 0x0, 0x0, 0x8, 0xb4, 0x9, 0x3, 0x6, 0x8, 0x7, 0x2b, 0x31, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x4, 0xe7, 0x7, 0x4e, 0x10, 0x27, 0x16, 0xb9, 0x4, 0x71, 0x1, 0x75, 0x13, 0x6, 0x3, 0x39, 0x0, 0x0, 0x0, 0x8, 0xb4, 0xc, 0x2, 0x7, 0x8, 0x7, 0x2b, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe7, 0x4, 0xe4, 0x6, 0x66, 0x12, 0x26, 0x3, 0x45, 0x0, 0x0, 0x10, 0x6, 0x3, 0x1b, 0x6e, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x85, 0xff, 0xe3, 0x3, 0xc8, 0x6, 0x66, 0x10, 0x26, 0x3, 0x1b, 0x50, 0x0, 0x12, 0x6, 0x3, 0x49, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x6, 0x66, 0x10, 0x27, 0x3, 0x1b, 0x0, 0xc6, 0x0, 0x0, 0x12, 0x6, 0x3, 0x4b, 0x0, 0x0, 0xff, 0xff, 0x0, 0xa6, 0x0, 0x0, 0x2, 0x98, 0x6, 0x66, 0x12, 0x26, 0x3, 0x4d, 0x0, 0x0, 0x10, 0x7, 0x3, 0x1b, 0xff, 0x46, 0x0, 0x0, 0xff, 0xff, 0x0, 0x95, 0xff, 0xe3, 0x4, 0x2a, 0x7, 0xd2, 0x12, 0x26, 0x3, 0x59, 0x0, 0x0, 0x10, 0x6, 0x3, 0x1c, 0x1b, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0xff, 0xe7, 0x4, 0xe4, 0x4, 0x79, 0x0, 0xd, 0x0, 0x2a, 0x0, 0xc8, 0x40, 0xb, 0x12, 0x11, 0x7, 0x2c, 0x10, 0x17, 0x7, 0x12, 0x25, 0x45, 0x2b, 0x10, 0xfc, 0xec, 0xd4, 0xc4, 0xc4, 0x12, 0x39, 0x39, 0x40, 0xa, 0x3f, 0x10, 0x2f, 0x10, 0x1f, 0x10, 0x3, 0x8f, 0x10, 0x1, 0x5d, 0x71, 0x0, 0x40, 0x11, 0x12, 0x11, 0xb, 0x3, 0xb9, 0x29, 0xb8, 0x19, 0xb, 0xb9, 0x21, 0x8c, 0xf, 0xbc, 0x16, 0x87, 0x19, 0x2f, 0xec, 0xe4, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x11, 0x39, 0x39, 0x5, 0x40, 0x14, 0x1d, 0x11, 0x0, 0x11, 0xe, 0x11, 0x12, 0x11, 0x11, 0x10, 0xf, 0x11, 0xe, 0x11, 0x0, 0x11, 0x1d, 0x11, 0x11, 0x10, 0x7, 0x10, 0x3c, 0xec, 0xec, 0xec, 0x8, 0x7, 0x10, 0x3c, 0xec, 0xec, 0x31, 0x30, 0x1, 0x40, 0xb, 0x84, 0x12, 0x86, 0x11, 0x88, 0x1, 0x89, 0xd, 0x80, 0x10, 0x5, 0x5d, 0x40, 0x13, 0x49, 0x13, 0x49, 0x12, 0x49, 0x1c, 0x4a, 0x1d, 0x4e, 0xd, 0x4c, 0x0, 0x4e, 0x1, 0x49, 0xe, 0x4b, 0x11, 0x9, 0x5d, 0x40, 0x11, 0x3a, 0xe, 0x39, 0x12, 0x3a, 0x11, 0x38, 0x1d, 0x38, 0x11, 0x3f, 0xd, 0x3c, 0x0, 0x3e, 0x1, 0x8, 0x5d, 0x40, 0xb, 0x2b, 0xd, 0x2b, 0x1, 0x2a, 0x0, 0x29, 0xe, 0x29, 0x11, 0x5, 0x5d, 0x40, 0xd, 0x19, 0xf, 0x18, 0xe, 0x1b, 0xd, 0x1b, 0x1, 0x1a, 0x0, 0x19, 0x11, 0x6, 0x5d, 0x0, 0x40, 0x5, 0x2b, 0x1e, 0x2b, 0x1f, 0x2, 0x5d, 0x1, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x1b, 0x1, 0x33, 0x3, 0x17, 0x16, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x26, 0x27, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x11, 0x10, 0x37, 0x36, 0x33, 0x20, 0x3, 0x4e, 0x2c, 0x2d, 0xb2, 0x86, 0x3d, 0x4d, 0x4b, 0x4c, 0x79, 0x86, 0x48, 0xa4, 0x63, 0xa4, 0xcd, 0x28, 0x9, 0x23, 0x29, 0x20, 0x58, 0x6e, 0x5e, 0x54, 0x29, 0x11, 0x2e, 0x5e, 0x2c, 0x8f, 0xeb, 0x72, 0x75, 0x7f, 0x8d, 0xc6, 0x1, 0x37, 0x2, 0x9, 0xe7, 0xed, 0x6e, 0x8a, 0xb6, 0xdc, 0x69, 0x6b, 0xd5, 0x1, 0xe7, 0x1, 0x25, 0xfd, 0xa1, 0xdb, 0x31, 0x29, 0x30, 0x9c, 0x54, 0x2a, 0x58, 0x6f, 0x57, 0x29, 0x98, 0x9d, 0x1, 0x13, 0x1, 0x26, 0x8a, 0x9a, 0x0, 0x0, 0x2, 0x0, 0xc0, 0xfe, 0x56, 0x4, 0x88, 0x6, 0x21, 0x0, 0xe, 0x0, 0x1c, 0x0, 0x37, 0x40, 0xf, 0x18, 0x12, 0x7, 0x1e, 0x45, 0x13, 0x12, 0xb, 0x16, 0x0, 0x1c, 0x8, 0x3, 0x46, 0x1d, 0x10, 0xfc, 0xec, 0x32, 0xc4, 0xd4, 0xec, 0xe4, 0xd4, 0xec, 0x31, 0x0, 0x40, 0xe, 0x1a, 0xb9, 0x5, 0x9, 0x15, 0xb9, 0x16, 0x11, 0xb9, 0xd, 0x8c, 0x2, 0xbd, 0x1d, 0x10, 0xec, 0xf4, 0xec, 0xd4, 0xfc, 0x39, 0xd4, 0xec, 0x30, 0x25, 0x11, 0x23, 0x11, 0x10, 0x21, 0x20, 0x11, 0x10, 0x7, 0x4, 0x11, 0x10, 0x21, 0x22, 0x3, 0x16, 0x33, 0x20, 0x11, 0x10, 0x5, 0x35, 0x20, 0x11, 0x34, 0x23, 0x20, 0x11, 0x1, 0x79, 0xb9, 0x1, 0xaa, 0x1, 0xb2, 0xac, 0x1, 0x18, 0xfe, 0x1e, 0xd4, 0x59, 0x6f, 0xc5, 0x1, 0x20, 0xfe, 0x30, 0x1, 0x6b, 0xea, 0xfe, 0xfb, 0x45, 0xfe, 0x11, 0x6, 0x3, 0x1, 0xc8, 0xfe, 0x7f, 0xfe, 0xee, 0x64, 0x5a, 0xfe, 0xf5, 0xfe, 0x26, 0x1, 0x4a, 0xad, 0x1, 0x3a, 0x1, 0x1a, 0x16, 0xaa, 0x1, 0x40, 0xdb, 0xfe, 0xc8, 0x0, 0x1, 0x0, 0x20, 0xfe, 0x56, 0x4, 0x7f, 0x4, 0x60, 0x0, 0xe, 0x0, 0x40, 0x40, 0x7, 0x10, 0x3, 0x7, 0x8, 0x4, 0xc, 0xf, 0x10, 0xd4, 0xd4, 0xfc, 0xd4, 0xc4, 0x31, 0x0, 0x40, 0x7, 0x2, 0xc, 0xbf, 0x6, 0xbd, 0x4, 0x7, 0x2f, 0x3c, 0xec, 0xe4, 0x32, 0x30, 0x5, 0x40, 0x12, 0x1, 0x11, 0x8, 0x7, 0x2, 0x11, 0x3, 0x4, 0x3, 0xe, 0xd, 0x1, 0x11, 0x0, 0x11, 0x7, 0x8, 0x7, 0x7, 0x10, 0xec, 0xec, 0x39, 0x39, 0x7, 0x10, 0xec, 0x8, 0xec, 0x1, 0x13, 0x1, 0x33, 0x1, 0x11, 0x23, 0x11, 0x1, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x1, 0x69, 0xf5, 0x1, 0x5e, 0xc3, 0xfe, 0x3b, 0xb8, 0xfe, 0xda, 0x2c, 0x5f, 0x31, 0x46, 0xc5, 0x3, 0xb0, 0xfd, 0x4c, 0x3, 0x64, 0xfb, 0xa0, 0xfe, 0x56, 0x1, 0xaa, 0x3, 0x44, 0x7e, 0x9e, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x5, 0xf0, 0x0, 0x1c, 0x0, 0x2d, 0x0, 0x54, 0x40, 0x14, 0x6, 0x5, 0x28, 0x4, 0x2f, 0x45, 0x1c, 0x28, 0x12, 0xa, 0x51, 0x12, 0x4, 0x12, 0x18, 0x21, 0x12, 0x12, 0x45, 0x2e, 0x10, 0xfc, 0xec, 0xd4, 0xec, 0x10, 0xf4, 0xb2, 0x7f, 0xa, 0x1, 0x5d, 0xec, 0xc4, 0xec, 0x11, 0x12, 0x39, 0x39, 0x0, 0x40, 0xe, 0x6, 0x5, 0x25, 0x2, 0x1c, 0x0, 0x2, 0xb9, 0x1a, 0x25, 0xb9, 0xe, 0x8c, 0x2e, 0x10, 0xf4, 0xec, 0xd4, 0xfc, 0xd4, 0xcc, 0x11, 0x12, 0x39, 0x39, 0x40, 0x6, 0x16, 0x1d, 0x53, 0x5, 0x6, 0x5, 0x7, 0xe, 0x10, 0xec, 0x39, 0x31, 0x30, 0x1, 0x26, 0x23, 0x22, 0x15, 0x14, 0x5, 0x16, 0x17, 0x16, 0x11, 0x10, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x11, 0x34, 0x37, 0x36, 0x37, 0x26, 0x35, 0x10, 0x21, 0x32, 0x17, 0x1, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x3, 0xec, 0x66, 0xef, 0xfd, 0x1, 0x8, 0xd0, 0x75, 0x8e, 0x89, 0x89, 0xf0, 0xef, 0x8a, 0x89, 0x89, 0x35, 0x4b, 0x9c, 0x1, 0xb9, 0xdd, 0x78, 0xfe, 0x18, 0x44, 0x37, 0x56, 0x55, 0x56, 0x95, 0x93, 0xac, 0x5b, 0x61, 0x7e, 0x40, 0x5, 0x11, 0x46, 0x75, 0x5c, 0x30, 0x25, 0x70, 0x87, 0xfe, 0xeb, 0xfe, 0xf7, 0x9c, 0x9d, 0x9d, 0x9c, 0x1, 0x13, 0xcc, 0xa5, 0x40, 0x24, 0x4f, 0x8d, 0x1, 0x10, 0x46, 0xfe, 0x28, 0x1d, 0x49, 0x71, 0xcc, 0xcb, 0x72, 0x73, 0xe8, 0xbe, 0xc7, 0x60, 0x67, 0xb, 0x6, 0x0, 0x1, 0x0, 0x85, 0xff, 0xe3, 0x3, 0xc8, 0x4, 0x7c, 0x0, 0x32, 0x0, 0x3d, 0x40, 0x22, 0xc, 0x86, 0xb, 0x88, 0x10, 0xb9, 0x8, 0xb8, 0x33, 0x1b, 0xa9, 0x18, 0x33, 0x27, 0x86, 0x28, 0x88, 0x23, 0xb9, 0x2c, 0x8c, 0x33, 0x34, 0x19, 0xb, 0x27, 0x14, 0x8, 0x4, 0x1f, 0x8, 0x30, 0x45, 0x33, 0x10, 0xfc, 0xec, 0xd4, 0xec, 0xd4, 0xc4, 0xc4, 0xc4, 0x31, 0x0, 0x10, 0xf4, 0xec, 0xf4, 0xec, 0x10, 0xd4, 0xec, 0x10, 0xf4, 0xec, 0xf4, 0xec, 0x30, 0x1, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x16, 0x17, 0x15, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x15, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x36, 0x1, 0x8b, 0x70, 0x3c, 0x3c, 0x72, 0x71, 0xc4, 0x4c, 0xaa, 0x62, 0x61, 0x50, 0x51, 0x47, 0x77, 0x45, 0x46, 0x44, 0x43, 0x74, 0x9b, 0x94, 0x89, 0x48, 0x4e, 0x54, 0x55, 0x97, 0x5d, 0x55, 0x55, 0x47, 0x5a, 0x54, 0x55, 0x50, 0xee, 0x81, 0x81, 0x8a, 0x2, 0x5c, 0x18, 0x41, 0x40, 0x5d, 0x8d, 0x4f, 0x4e, 0x18, 0x18, 0xa7, 0x1d, 0xd, 0xd, 0x2e, 0x2e, 0x40, 0x46, 0x2d, 0x2c, 0x98, 0x33, 0x38, 0x58, 0x5a, 0x38, 0x38, 0x12, 0x13, 0x25, 0xab, 0x1c, 0xe, 0xe, 0x5b, 0x5b, 0xad, 0x6c, 0x92, 0x0, 0x0, 0x1, 0x0, 0x6b, 0xfe, 0x52, 0x3, 0xf8, 0x6, 0x14, 0x0, 0x1d, 0x0, 0x3e, 0x40, 0xb, 0xa, 0xe, 0x12, 0x1f, 0x4, 0x19, 0x18, 0x1c, 0x12, 0x14, 0x1e, 0x10, 0xd4, 0xec, 0xd4, 0xd4, 0xd4, 0xc4, 0xfc, 0xcc, 0x4b, 0xb0, 0x10, 0x51, 0x58, 0xb9, 0x0, 0x16, 0x0, 0x40, 0x38, 0x59, 0x31, 0x0, 0x40, 0xe, 0x8, 0xb9, 0xa, 0x0, 0xb9, 0x12, 0x8c, 0x1e, 0x1a, 0x17, 0x87, 0x18, 0x97, 0x1e, 0x10, 0xf4, 0xec, 0x32, 0x10, 0xf4, 0xec, 0xdc, 0xec, 0x30, 0x25, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x34, 0x35, 0x16, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x20, 0x3, 0x10, 0x1, 0x21, 0x35, 0x21, 0x15, 0x0, 0x11, 0x10, 0x2, 0xca, 0x84, 0x4f, 0x54, 0x4a, 0x50, 0xa3, 0x45, 0x2a, 0x20, 0x20, 0x1f, 0x3a, 0xfd, 0xa2, 0x1, 0x2, 0x3b, 0xfd, 0xec, 0x3, 0x66, 0xfd, 0x2c, 0x7f, 0x1, 0x4b, 0x4f, 0x78, 0x73, 0x50, 0x57, 0x4b, 0x4c, 0x5, 0x2c, 0x23, 0x25, 0x35, 0x2c, 0x2a, 0x2, 0x33, 0x1, 0xec, 0x1, 0x59, 0xb9, 0xb9, 0xfe, 0x94, 0xfe, 0x27, 0xfe, 0x69, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x4, 0x7b, 0x0, 0x15, 0x0, 0x31, 0x40, 0x16, 0x6, 0x87, 0xe, 0x12, 0xb8, 0xc, 0xbc, 0x2, 0xbd, 0xb, 0x17, 0x46, 0x3, 0x8, 0x0, 0x4e, 0x9, 0xd, 0x8, 0xc, 0x46, 0x16, 0x10, 0xfc, 0xec, 0x32, 0xf4, 0xec, 0xec, 0x31, 0x0, 0x2f, 0xec, 0xe4, 0xf4, 0xc4, 0xec, 0x30, 0x40, 0x5, 0xa0, 0x17, 0x80, 0x17, 0x2, 0x1, 0x5d, 0x1, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x15, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x4, 0x64, 0xb8, 0x7c, 0x7c, 0x95, 0xac, 0xb9, 0xb9, 0x42, 0x59, 0x5a, 0x75, 0xc1, 0x63, 0x63, 0x2, 0xa4, 0xfb, 0xb2, 0x4, 0x48, 0x9f, 0x9e, 0xbe, 0xa4, 0xfd, 0x87, 0x4, 0x60, 0xae, 0x65, 0x32, 0x32, 0x77, 0x78, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x71, 0xff, 0xe9, 0x4, 0x75, 0x6, 0x24, 0x0, 0x8, 0x0, 0x11, 0x0, 0x21, 0x0, 0x4f, 0x40, 0x1b, 0xd, 0xb9, 0x12, 0x97, 0x22, 0x1, 0x95, 0x11, 0x22, 0x5, 0xb9, 0x1a, 0x8c, 0x22, 0x23, 0x45, 0x0, 0x9, 0x12, 0x16, 0x51, 0x1, 0x11, 0x12, 0x1e, 0x45, 0x22, 0x10, 0xfc, 0xec, 0x32, 0xf4, 0xb2, 0x7f, 0x16, 0x1, 0x5d, 0xec, 0x32, 0xec, 0x31, 0x0, 0x10, 0xf4, 0xec, 0x10, 0xd4, 0x40, 0x7, 0x3f, 0x11, 0x1f, 0x11, 0xf, 0x11, 0x3, 0x5d, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x40, 0xb, 0x19, 0x6, 0x16, 0x4, 0x77, 0x4, 0xa0, 0x23, 0x80, 0x23, 0x5, 0x1, 0x5d, 0x1, 0x21, 0x12, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x13, 0x2, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x3, 0x1, 0x32, 0x17, 0x16, 0x11, 0x10, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x11, 0x10, 0x37, 0x36, 0x3, 0xb1, 0xfd, 0x83, 0xf, 0x45, 0x56, 0x95, 0x96, 0x53, 0x49, 0x9, 0x1c, 0x36, 0x56, 0x93, 0x99, 0x51, 0x40, 0x13, 0x1, 0x3d, 0xf0, 0x89, 0x89, 0x89, 0x89, 0xf0, 0xf1, 0x88, 0x89, 0x89, 0x88, 0x2, 0xc6, 0xfe, 0xd5, 0x7f, 0x9c, 0x9d, 0x8a, 0x1, 0xc9, 0x1, 0x1c, 0x64, 0x9e, 0x9c, 0x7e, 0xfe, 0xfc, 0x2, 0xb4, 0xd4, 0xd3, 0xfe, 0x8a, 0xfe, 0x8b, 0xd4, 0xd5, 0xd5, 0xd4, 0x1, 0x75, 0x1, 0x76, 0xd3, 0xd4, 0x0, 0x1, 0x0, 0xa6, 0x0, 0x0, 0x2, 0x6e, 0x4, 0x60, 0x0, 0xd, 0x0, 0x1b, 0x40, 0x7, 0xf, 0x6, 0x0, 0x8, 0xd, 0x46, 0xe, 0x10, 0xfc, 0xfc, 0xd4, 0xc4, 0x31, 0x0, 0x40, 0x5, 0xd, 0xbc, 0x5, 0x87, 0x8, 0x2f, 0xec, 0xe4, 0x30, 0x1, 0x11, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x26, 0x35, 0x3, 0x1, 0x63, 0x22, 0x24, 0x6c, 0x59, 0x6f, 0xb4, 0x52, 0x52, 0x1, 0x4, 0x60, 0xfd, 0x2b, 0x91, 0x2e, 0x30, 0x9c, 0x60, 0x62, 0xd4, 0x2, 0xca, 0x0, 0x0, 0x1, 0x0, 0xbf, 0x0, 0x0, 0x4, 0x85, 0x4, 0x60, 0x0, 0xb, 0x0, 0x49, 0x40, 0x9, 0xd, 0x6, 0x4, 0x9, 0x1, 0x8, 0xb, 0x46, 0xc, 0x10, 0xfc, 0xec, 0x32, 0xc4, 0xd4, 0xc4, 0x31, 0x0, 0x40, 0x5, 0x3, 0x0, 0xbc, 0x7, 0xb, 0x2f, 0x3c, 0xe4, 0x32, 0x30, 0x40, 0x16, 0x8, 0x11, 0x9, 0x4, 0x5, 0x7, 0x11, 0x6, 0x6, 0x5, 0x8, 0x5, 0x9, 0x4, 0x3, 0x11, 0x4, 0x2, 0x11, 0x9, 0x9, 0x4, 0x7, 0x10, 0x4, 0xec, 0x10, 0x5, 0xec, 0x9, 0x3c, 0x3c, 0x7, 0x10, 0x5, 0xec, 0x10, 0x8, 0xec, 0x13, 0x33, 0x11, 0x1, 0x33, 0x9, 0x1, 0x23, 0x1, 0x7, 0x11, 0x23, 0xbf, 0xbe, 0x1, 0xe3, 0xe0, 0xfe, 0x47, 0x1, 0xfe, 0xe1, 0xfe, 0x62, 0x89, 0xbe, 0x4, 0x60, 0xfe, 0x2f, 0x1, 0xd1, 0xfe, 0x5a, 0xfd, 0x46, 0x2, 0x42, 0x81, 0xfe, 0x3f, 0x0, 0x1, 0x0, 0x3d, 0x0, 0x0, 0x4, 0x7f, 0x6, 0x14, 0x0, 0xd, 0x0, 0x46, 0x40, 0x5, 0xf, 0x1, 0xb, 0x5, 0xe, 0x10, 0xd4, 0xc4, 0xd4, 0xc4, 0x31, 0x0, 0x40, 0x6, 0xa, 0x87, 0xb, 0x97, 0x2, 0x5, 0x2f, 0x3c, 0xf4, 0xec, 0x30, 0x40, 0x18, 0x3, 0x11, 0x1, 0x0, 0x6, 0x4, 0x11, 0x5, 0x6, 0x5, 0x7, 0x11, 0x6, 0x11, 0x3, 0x11, 0x1, 0x0, 0x0, 0x2, 0x11, 0x0, 0x1, 0x0, 0x7, 0x10, 0x5, 0xec, 0x10, 0x9, 0xec, 0xec, 0x5, 0xec, 0x7, 0x10, 0x5, 0xec, 0x10, 0x8, 0xec, 0x9, 0x1, 0x23, 0x9, 0x1, 0x23, 0x1, 0x27, 0x26, 0x2b, 0x1, 0x35, 0x17, 0x16, 0x2, 0x7a, 0x2, 0x5, 0xc3, 0xfe, 0xc6, 0xfe, 0x7e, 0xc3, 0x1, 0xeb, 0x4a, 0x2f, 0x6b, 0x60, 0x75, 0xe2, 0x5, 0x65, 0xfa, 0x9b, 0x3, 0x3c, 0xfc, 0xc4, 0x4, 0x32, 0xc6, 0x7e, 0x9e, 0x2, 0x3, 0x0, 0xff, 0xff, 0x0, 0xae, 0xfe, 0x56, 0x4, 0xe5, 0x4, 0x60, 0x10, 0x6, 0x0, 0x77, 0x0, 0x0, 0x0, 0x1, 0x0, 0x4a, 0x0, 0x0, 0x4, 0x18, 0x4, 0x60, 0x0, 0x15, 0x0, 0x42, 0x40, 0x7, 0x17, 0x7, 0x12, 0x11, 0x0, 0x1, 0x16, 0x10, 0xd4, 0xc4, 0xd4, 0xec, 0xc4, 0x31, 0x40, 0x4, 0xb, 0x1, 0xbc, 0x0, 0x0, 0x2f, 0xe4, 0x32, 0x30, 0x40, 0x16, 0x14, 0x13, 0x12, 0x3, 0x11, 0x15, 0x11, 0x6, 0x5, 0x4, 0x3, 0x7, 0x3, 0x11, 0x1, 0x0, 0x0, 0x2, 0x11, 0x1, 0x1, 0x0, 0x7, 0x10, 0x5, 0xec, 0x10, 0x9, 0xec, 0x12, 0x17, 0x39, 0x5, 0xec, 0x12, 0x17, 0x39, 0x21, 0x1, 0x33, 0x1, 0x36, 0x37, 0x36, 0x37, 0x36, 0x27, 0x26, 0x27, 0x33, 0x31, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x1, 0xa0, 0xfe, 0xaa, 0xc6, 0x1, 0x21, 0x78, 0x64, 0x4c, 0x4, 0x2, 0x18, 0x1c, 0x6a, 0xba, 0x45, 0x2e, 0x2a, 0x88, 0xb1, 0x7b, 0x4, 0x60, 0xfc, 0x54, 0x7c, 0xac, 0x81, 0x70, 0x35, 0x64, 0x77, 0x83, 0x59, 0x7c, 0x72, 0x4e, 0xc4, 0xaf, 0xe4, 0x74, 0x0, 0x1, 0x0, 0x6b, 0xfe, 0x52, 0x4, 0x1, 0x6, 0x14, 0x0, 0x26, 0x0, 0x40, 0x40, 0xf, 0xa, 0xe, 0x12, 0x28, 0x4, 0x22, 0x1d, 0x1c, 0x20, 0x12, 0x18, 0x25, 0x12, 0x14, 0x27, 0x10, 0xd4, 0xec, 0xd4, 0xec, 0xd4, 0xd4, 0xc4, 0xd4, 0xc4, 0xfc, 0xcc, 0x31, 0x40, 0x12, 0x8, 0xb9, 0xa, 0x0, 0xb9, 0x12, 0x8c, 0x27, 0x16, 0x23, 0x87, 0x22, 0x1e, 0x1b, 0x87, 0x1c, 0x97, 0x27, 0x0, 0x10, 0xf4, 0xfc, 0x3c, 0xd4, 0xec, 0x39, 0x10, 0xf4, 0xec, 0xdc, 0xec, 0x30, 0x25, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x34, 0x35, 0x16, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x20, 0x11, 0x10, 0x25, 0x24, 0x11, 0x34, 0x37, 0x23, 0x35, 0x21, 0x15, 0x20, 0x11, 0x14, 0x5, 0x15, 0x24, 0x13, 0x12, 0x2, 0xda, 0x84, 0x4f, 0x54, 0x4a, 0x50, 0xa3, 0x45, 0x2a, 0x20, 0x20, 0x1f, 0x3a, 0xfd, 0x91, 0x1, 0x4d, 0xfe, 0xe8, 0xdc, 0xd0, 0x3, 0x15, 0xfd, 0x8b, 0x2, 0x10, 0xfd, 0xc6, 0x2, 0x1, 0x7f, 0x1, 0x4b, 0x4f, 0x78, 0x73, 0x50, 0x57, 0x4b, 0x4c, 0x5, 0x2c, 0x23, 0x25, 0x35, 0x2c, 0x2a, 0x1, 0xb5, 0x1, 0x2c, 0x58, 0x24, 0x1, 0x4, 0xc5, 0x52, 0xb9, 0xb9, 0xfe, 0xdd, 0xbf, 0x9, 0xaa, 0x16, 0xfe, 0xbc, 0xfe, 0xf1, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x4, 0x7b, 0x12, 0x6, 0x0, 0x52, 0x0, 0x0, 0x0, 0x1, 0x0, 0x4a, 0xff, 0xd9, 0x4, 0x98, 0x4, 0x60, 0x0, 0x17, 0x0, 0x2f, 0x40, 0xb, 0x19, 0xa, 0x1, 0x12, 0x8, 0x3, 0x13, 0x8, 0x0, 0x16, 0x18, 0x10, 0xdc, 0xc4, 0xec, 0xd4, 0xec, 0xc4, 0xc4, 0xcc, 0x31, 0x40, 0xc, 0x7, 0x87, 0xe, 0x8c, 0x15, 0x3, 0x13, 0x17, 0x87, 0x0, 0xbc, 0x15, 0x0, 0x2f, 0xf4, 0xec, 0x32, 0x32, 0x10, 0xf4, 0xec, 0x30, 0x13, 0x21, 0x15, 0x23, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x11, 0x21, 0x11, 0x23, 0x11, 0x23, 0x4a, 0x4, 0x31, 0x8d, 0x31, 0x37, 0xf, 0x2c, 0x7, 0x23, 0x4a, 0x25, 0x78, 0x5c, 0xfe, 0x63, 0xbc, 0x8f, 0x4, 0x60, 0xb8, 0xfd, 0x50, 0x48, 0x3f, 0x5, 0x1, 0x85, 0xd, 0xc, 0x83, 0xb0, 0x2, 0x9c, 0xfc, 0x58, 0x3, 0xa8, 0x0, 0x0, 0x2, 0x0, 0xba, 0xfe, 0x56, 0x4, 0xa4, 0x4, 0x7b, 0x0, 0x11, 0x0, 0x1d, 0x0, 0x31, 0x40, 0x19, 0x15, 0xb9, 0x4, 0xb8, 0x1e, 0x1b, 0xb9, 0xa, 0x8c, 0xf, 0xbd, 0x1e, 0x1f, 0x45, 0x12, 0x12, 0x7, 0x51, 0xd, 0x8, 0x18, 0x12, 0x10, 0x46, 0x1e, 0x10, 0xfc, 0xec, 0xec, 0xf4, 0xb2, 0x7f, 0x7, 0x1, 0x5d, 0xec, 0xec, 0x31, 0x0, 0x10, 0xec, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x36, 0x37, 0x36, 0x33, 0x32, 0x0, 0x11, 0x10, 0x2, 0x23, 0x22, 0x26, 0x27, 0x11, 0x23, 0x11, 0x34, 0x5, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x1, 0x14, 0x3d, 0x97, 0x3b, 0xb6, 0xcc, 0x0, 0xff, 0xff, 0xcc, 0x7b, 0xb1, 0x3a, 0xb9, 0x3, 0x2b, 0xa7, 0x92, 0x92, 0xa7, 0xa7, 0x92, 0x92, 0xa7, 0x3, 0x98, 0x66, 0x5a, 0x23, 0xfe, 0xbc, 0xfe, 0xf8, 0xfe, 0xf8, 0xfe, 0xbc, 0x61, 0x64, 0xfd, 0xae, 0x3, 0xcf, 0xe7, 0xdd, 0xcb, 0xe7, 0xe7, 0xcb, 0xcb, 0xe7, 0xe7, 0x0, 0x1, 0x0, 0x71, 0xfe, 0x52, 0x3, 0xe7, 0x4, 0x7b, 0x0, 0x24, 0x0, 0x36, 0x40, 0xc, 0x1d, 0x21, 0x12, 0x17, 0x26, 0x9, 0x48, 0x10, 0x12, 0x3, 0x45, 0x25, 0x10, 0xfc, 0xec, 0xf4, 0xcc, 0xd4, 0xfc, 0xc4, 0x31, 0x40, 0x11, 0x1b, 0xb9, 0x1d, 0x13, 0xb9, 0x0, 0x8c, 0x25, 0x9, 0x86, 0xa, 0x88, 0xd, 0xb9, 0x6, 0xb8, 0x25, 0x0, 0x10, 0xf4, 0xfc, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0xdc, 0xec, 0x30, 0x5, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x32, 0x16, 0x17, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x34, 0x35, 0x16, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2, 0xa8, 0xfe, 0xf3, 0xfe, 0xd6, 0x1, 0x2d, 0x1, 0x6, 0x55, 0xa2, 0x4c, 0x4e, 0x9d, 0x50, 0xb3, 0xc6, 0xc6, 0xaf, 0x83, 0x50, 0x54, 0x4a, 0x50, 0xa3, 0x45, 0x2a, 0x20, 0x20, 0x1f, 0x1d, 0x1, 0x3e, 0x1, 0xe, 0x1, 0x12, 0x1, 0x3a, 0x23, 0x23, 0xac, 0x2b, 0x2b, 0xe3, 0xcd, 0xcd, 0xe3, 0x4c, 0x4f, 0x78, 0x73, 0x50, 0x57, 0x4b, 0x4c, 0x5, 0x2c, 0x23, 0x25, 0x35, 0x2c, 0x2a, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0xff, 0xe3, 0x4, 0xd6, 0x4, 0x60, 0x0, 0xd, 0x0, 0x1e, 0x0, 0x31, 0x40, 0xb, 0x20, 0xf, 0xa, 0x12, 0x13, 0x51, 0x4, 0x12, 0x1b, 0x45, 0x1f, 0x10, 0xfc, 0xec, 0xf4, 0xb2, 0x7f, 0x13, 0x1, 0x5d, 0xec, 0xd4, 0xc4, 0x31, 0x40, 0xc, 0x7, 0xb9, 0x17, 0x8c, 0x1f, 0x11, 0x87, 0x0, 0xb9, 0xe, 0xbc, 0x1f, 0x0, 0x10, 0xf4, 0xec, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x22, 0x7, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x21, 0x15, 0x23, 0x16, 0x15, 0x10, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x11, 0x10, 0x37, 0x36, 0x2, 0x73, 0x98, 0x52, 0x56, 0xab, 0x95, 0x93, 0xac, 0x56, 0x4f, 0x9a, 0x2, 0x63, 0xce, 0x6d, 0x89, 0x89, 0xf0, 0xf1, 0x88, 0x89, 0x89, 0x71, 0x3, 0xce, 0x6e, 0x73, 0xbe, 0xc9, 0xe7, 0xe8, 0xc8, 0xb7, 0x7a, 0x6e, 0x92, 0xb8, 0x9c, 0xdd, 0xfe, 0xed, 0x9c, 0x9d, 0x9d, 0x9c, 0x1, 0x13, 0x1, 0x15, 0x9b, 0x81, 0x0, 0x1, 0x0, 0x64, 0x0, 0x0, 0x4, 0x6d, 0x4, 0x60, 0x0, 0x11, 0x0, 0x23, 0x40, 0x8, 0x13, 0xd, 0x3, 0xf, 0x8, 0xc, 0xa, 0x12, 0x10, 0xd4, 0xc4, 0xfc, 0xc4, 0xc4, 0xc4, 0x31, 0x0, 0x40, 0x8, 0xf, 0xb, 0x87, 0xc, 0xbc, 0x2, 0xb9, 0x5, 0x2f, 0xec, 0xf4, 0xec, 0x32, 0x30, 0x25, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x14, 0x2, 0xe6, 0x24, 0x6c, 0x59, 0x6f, 0xb4, 0x52, 0x52, 0xfe, 0x5c, 0x4, 0x9, 0xfe, 0x57, 0xcc, 0x30, 0x9c, 0x60, 0x62, 0xd4, 0x2, 0x12, 0xb8, 0xb8, 0xfd, 0xe3, 0x91, 0x0, 0x0, 0x1, 0x0, 0x95, 0xff, 0xe3, 0x4, 0x2a, 0x4, 0x60, 0x0, 0x1c, 0x0, 0x2b, 0x40, 0xa, 0x1e, 0x45, 0x9, 0x12, 0x13, 0x0, 0x8, 0x1c, 0x46, 0x1d, 0x10, 0xfc, 0xec, 0xd4, 0xec, 0xe4, 0x40, 0x7, 0x3f, 0x1e, 0x3f, 0x9, 0x3f, 0x13, 0x3, 0x5d, 0x31, 0x0, 0x40, 0x6, 0xd, 0x1c, 0xbc, 0x5, 0xb9, 0x17, 0x2f, 0xec, 0xf4, 0x3c, 0x30, 0x1, 0x11, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x27, 0x26, 0x27, 0x33, 0x31, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x27, 0x22, 0x27, 0x26, 0x35, 0x3, 0x1, 0x52, 0x32, 0x37, 0x6b, 0x96, 0x69, 0x3b, 0xf, 0x8, 0x1e, 0x1c, 0x6a, 0xba, 0x46, 0x2d, 0x2a, 0x80, 0x9c, 0xfe, 0xb3, 0x65, 0x62, 0x1, 0x4, 0x60, 0xfd, 0x2b, 0x87, 0x40, 0x45, 0xd0, 0x76, 0xbb, 0x66, 0x80, 0x77, 0x83, 0x5a, 0x7b, 0x73, 0x9a, 0xfd, 0xbb, 0xe4, 0x1, 0x78, 0x76, 0xc5, 0x2, 0xca, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x70, 0xfe, 0x56, 0x4, 0xd1, 0x4, 0x68, 0x0, 0xa, 0x0, 0x29, 0x0, 0x3d, 0x40, 0x10, 0x2b, 0x45, 0x7, 0x12, 0xf, 0x13, 0x2, 0x8, 0x1e, 0x16, 0x28, 0x23, 0x12, 0x1a, 0x45, 0x2a, 0x10, 0xfc, 0xec, 0xd4, 0x3c, 0xcc, 0xfc, 0x3c, 0xd4, 0xec, 0xec, 0x31, 0x0, 0x40, 0x10, 0x0, 0x1f, 0xb9, 0xb, 0x1e, 0xb8, 0x2a, 0x3, 0x27, 0x87, 0x13, 0x16, 0x8c, 0x15, 0xbd, 0x2a, 0x10, 0xec, 0xf4, 0x3c, 0xec, 0x32, 0x10, 0xf4, 0x3c, 0xec, 0x32, 0x30, 0x1, 0x22, 0x15, 0x11, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x32, 0x17, 0x16, 0x11, 0x10, 0x7, 0x6, 0x23, 0x11, 0x23, 0x11, 0x22, 0x27, 0x26, 0x11, 0x10, 0x37, 0x36, 0x37, 0x15, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x11, 0x10, 0x3, 0x3d, 0x41, 0x5f, 0x5f, 0x55, 0x56, 0x46, 0x36, 0x8c, 0x7f, 0x89, 0x89, 0x81, 0xcb, 0xb7, 0xc7, 0x86, 0x88, 0x88, 0x66, 0xa6, 0x42, 0x3a, 0x56, 0x56, 0x4d, 0x70, 0x3, 0xcb, 0x91, 0xfd, 0x52, 0x68, 0x5d, 0xdf, 0xd0, 0x70, 0x5b, 0x9d, 0x84, 0x8d, 0xfe, 0xd9, 0xfe, 0xf1, 0xa1, 0x98, 0xfe, 0x6e, 0x1, 0x91, 0x99, 0x9c, 0x1, 0x13, 0x1, 0x1e, 0x92, 0x6d, 0x1c, 0xa3, 0x17, 0x4e, 0x73, 0xbe, 0xca, 0x73, 0x67, 0x2, 0xaf, 0x1, 0x2e, 0x0, 0x1, 0x0, 0x3b, 0xfe, 0x55, 0x4, 0x64, 0x4, 0x61, 0x0, 0x17, 0x0, 0xae, 0x40, 0xc, 0x4, 0x10, 0x1, 0xd, 0x4, 0x9, 0xf, 0x14, 0xf, 0x3, 0x9, 0x18, 0x10, 0xd4, 0x3c, 0xd4, 0x3c, 0x11, 0x12, 0x17, 0x39, 0xb1, 0x19, 0xf, 0x10, 0xc4, 0x31, 0x40, 0x13, 0x4, 0x10, 0x1, 0xd, 0x4, 0x15, 0xf, 0x8, 0xa9, 0xf, 0x9, 0xbc, 0x18, 0x14, 0xa9, 0x15, 0x2, 0xbd, 0x18, 0x0, 0x10, 0xfc, 0x3c, 0xec, 0x10, 0xfc, 0x3c, 0xec, 0x11, 0x12, 0x17, 0x39, 0x30, 0xb0, 0x25, 0x4b, 0x53, 0x58, 0x40, 0x12, 0x0, 0x11, 0x11, 0xc, 0x11, 0x5, 0x3, 0xe, 0x0, 0x5, 0xe, 0x11, 0xf, 0x2, 0x11, 0x3, 0x3, 0xe, 0x7, 0x5, 0x10, 0xec, 0x10, 0xec, 0x7, 0x8, 0x10, 0xec, 0x10, 0xec, 0xb4, 0xd, 0xc, 0x11, 0xe, 0x3, 0xf, 0xb4, 0x4, 0x5, 0x0, 0xe, 0x3, 0xf, 0xb4, 0x10, 0xc, 0x11, 0x2, 0xf, 0xf, 0xb4, 0x1, 0xf, 0x2, 0x0, 0x5, 0xf, 0xb4, 0x6, 0x7, 0x5, 0x5, 0x4, 0x7, 0x5, 0x11, 0x12, 0x39, 0xb4, 0x17, 0x16, 0x11, 0x5, 0x4, 0x7, 0x5, 0x11, 0x12, 0x39, 0xb4, 0xb, 0xa, 0xc, 0x11, 0xc, 0x7, 0x5, 0x11, 0x12, 0x39, 0xb4, 0x12, 0x13, 0x11, 0x11, 0xc, 0x7, 0x5, 0x11, 0x12, 0x39, 0x59, 0x5, 0x3, 0x1, 0x23, 0x1, 0x3, 0x26, 0x2b, 0x1, 0x35, 0x17, 0x4, 0x17, 0x13, 0x1, 0x33, 0x1, 0x13, 0x16, 0x3b, 0x1, 0x15, 0x27, 0x24, 0x2, 0xdc, 0x95, 0xfe, 0xcd, 0xd9, 0x1, 0xb2, 0xb6, 0x31, 0x9a, 0x31, 0x46, 0x1, 0x2, 0x41, 0x94, 0x1, 0x33, 0xd9, 0xfe, 0x4e, 0xb6, 0x31, 0x9a, 0x31, 0x46, 0xfe, 0xfe, 0xfa, 0x1, 0x7f, 0xfd, 0xd0, 0x3, 0x18, 0x1, 0xd7, 0x7e, 0x9e, 0x2, 0x7, 0xa7, 0xfe, 0x81, 0x2, 0x30, 0xfc, 0xe8, 0xfe, 0x29, 0x7e, 0x9e, 0x2, 0x7, 0x0, 0x0, 0x1, 0x0, 0x70, 0xfe, 0x56, 0x4, 0xd1, 0x4, 0x60, 0x0, 0x1b, 0x0, 0x36, 0x40, 0xd, 0x1d, 0x13, 0x8, 0x14, 0x19, 0xd, 0x8, 0x0, 0xc, 0x6, 0x8, 0x5, 0x1c, 0x10, 0xdc, 0xec, 0xd4, 0x3c, 0xfc, 0x3c, 0xd4, 0xec, 0xcc, 0x31, 0x0, 0x40, 0xe, 0x13, 0xc, 0x5, 0xbc, 0x1c, 0xe, 0xb, 0x87, 0x19, 0x0, 0x8c, 0x1b, 0xbd, 0x1c, 0x10, 0xec, 0xf4, 0x3c, 0xec, 0x32, 0x10, 0xf4, 0x3c, 0x3c, 0x30, 0x5, 0x26, 0x27, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x17, 0x16, 0x17, 0x11, 0x33, 0x11, 0x36, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x7, 0x6, 0x7, 0x11, 0x23, 0x2, 0x45, 0xe7, 0x6b, 0x83, 0xba, 0x55, 0x4a, 0x7c, 0xb7, 0x83, 0x43, 0x55, 0xba, 0x83, 0x76, 0xdc, 0xb7, 0x19, 0x25, 0x61, 0x77, 0xf3, 0x2, 0x89, 0xfd, 0x7e, 0xb7, 0x4c, 0x42, 0xe, 0x3, 0xd5, 0xfc, 0x2c, 0xe, 0x42, 0x54, 0xaf, 0x2, 0x81, 0xfd, 0x78, 0xfc, 0x6e, 0x63, 0x23, 0xfe, 0x6e, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x87, 0xff, 0xe3, 0x6, 0x27, 0x4, 0x60, 0x0, 0x1a, 0x0, 0x38, 0x40, 0x14, 0x12, 0x12, 0x13, 0x1c, 0x45, 0x10, 0x12, 0x15, 0xb, 0x8, 0xc, 0x7, 0x12, 0x2, 0x5, 0x12, 0x4, 0x2, 0x45, 0x1b, 0x10, 0xfc, 0xdc, 0xec, 0x10, 0xec, 0xd4, 0xfc, 0xd4, 0xec, 0xec, 0xdc, 0xec, 0x31, 0x0, 0x40, 0x9, 0xb, 0x12, 0x4, 0xbc, 0xe, 0x9, 0x87, 0x17, 0x0, 0x2f, 0x3c, 0xec, 0x32, 0xf4, 0x3c, 0xc4, 0x30, 0x5, 0x20, 0x11, 0x34, 0x13, 0x33, 0x2, 0x15, 0x10, 0x33, 0x32, 0x11, 0x33, 0x10, 0x33, 0x32, 0x11, 0x34, 0x3, 0x33, 0x12, 0x15, 0x10, 0x21, 0x20, 0x3, 0x2, 0x2, 0x26, 0xfe, 0x61, 0x9b, 0xc6, 0x8f, 0xde, 0xcb, 0xaa, 0xcb, 0xde, 0x8f, 0xc6, 0x9b, 0xfe, 0x61, 0xfe, 0xf0, 0x21, 0x29, 0x1d, 0x2, 0x52, 0xeb, 0x1, 0x40, 0xfe, 0xc0, 0xf0, 0xfe, 0x4f, 0x2, 0x1a, 0xfd, 0xe6, 0x1, 0xb1, 0xf0, 0x1, 0x40, 0xfe, 0xc0, 0xeb, 0xfd, 0xae, 0x1, 0x2b, 0xfe, 0xd5, 0x0, 0xff, 0xff, 0x0, 0x5, 0x0, 0x0, 0x2, 0x7d, 0x6, 0x10, 0x12, 0x26, 0x3, 0x4d, 0xf, 0x0, 0x10, 0x7, 0x0, 0x6a, 0xff, 0x2e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x95, 0xff, 0xe3, 0x4, 0x2a, 0x6, 0x10, 0x10, 0x26, 0x0, 0x6a, 0x1d, 0x0, 0x12, 0x6, 0x3, 0x59, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x6, 0x66, 0x10, 0x26, 0x3, 0x1b, 0x7d, 0x0, 0x12, 0x6, 0x3, 0x53, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x95, 0xff, 0xe3, 0x4, 0x2a, 0x6, 0x66, 0x10, 0x26, 0x3, 0x1b, 0x22, 0x0, 0x12, 0x6, 0x3, 0x59, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xff, 0xe3, 0x6, 0x27, 0x6, 0x66, 0x12, 0x26, 0x3, 0x5d, 0x0, 0x0, 0x10, 0x7, 0x3, 0x1b, 0x1, 0x59, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0xfe, 0x56, 0x5, 0x6a, 0x5, 0xd5, 0x0, 0xc, 0x0, 0x0, 0x13, 0x33, 0x11, 0x1, 0x21, 0x9, 0x2, 0x23, 0x9, 0x1, 0x11, 0x23, 0xc9, 0xca, 0x2, 0x9e, 0x1, 0x4, 0xfd, 0x1b, 0x3, 0x1a, 0xfe, 0x92, 0x86, 0x1, 0x10, 0xfd, 0xd, 0xca, 0x5, 0xd5, 0xfd, 0x89, 0x2, 0x77, 0xfd, 0x48, 0xfc, 0xe3, 0xfe, 0x56, 0x1, 0x84, 0x2, 0xf5, 0xfd, 0x31, 0x0, 0x0, 0x0, 0x3, 0x0, 0xa7, 0xff, 0xe9, 0x4, 0x4d, 0x6, 0x24, 0x0, 0xa, 0x0, 0x1b, 0x0, 0x27, 0x0, 0x47, 0x40, 0xe, 0x5, 0x1c, 0x1a, 0x29, 0x45, 0x26, 0x1c, 0xd, 0x0, 0x1e, 0x1c, 0x14, 0x46, 0x28, 0x10, 0xfc, 0xec, 0x32, 0xd4, 0xec, 0xec, 0xd4, 0xb2, 0x3f, 0x1a, 0x1, 0x5d, 0xec, 0x31, 0x0, 0x40, 0x10, 0x1c, 0xb, 0x0, 0xb9, 0x1e, 0x28, 0x22, 0xb9, 0x11, 0x8c, 0x28, 0x7, 0xb9, 0x17, 0x97, 0x28, 0x10, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x10, 0xd4, 0xb6, 0x3f, 0x1e, 0x1f, 0x1e, 0xf, 0x1e, 0x3, 0x5d, 0xec, 0x39, 0x39, 0x30, 0x1, 0x32, 0x36, 0x37, 0x36, 0x35, 0x36, 0x23, 0x22, 0x7, 0x6, 0x1, 0x16, 0x15, 0x14, 0x7, 0x6, 0x20, 0x27, 0x26, 0x2, 0x37, 0x36, 0x17, 0x1e, 0x1, 0x12, 0x6, 0x7, 0x6, 0x23, 0x10, 0x17, 0x16, 0x33, 0x32, 0x37, 0x3e, 0x1, 0x26, 0x1, 0x69, 0x50, 0xcb, 0x44, 0x79, 0x1, 0xcc, 0x7a, 0x5d, 0x36, 0x1, 0xee, 0xf6, 0x3b, 0x7e, 0xfe, 0xe, 0x8b, 0x6f, 0x2, 0x78, 0x86, 0xd2, 0xa4, 0xda, 0x2, 0x5d, 0xfb, 0x59, 0xdf, 0x3a, 0x50, 0xae, 0x8f, 0x57, 0x18, 0x1, 0xad, 0x3, 0x70, 0x4, 0x3d, 0x6c, 0x93, 0xde, 0xba, 0x6c, 0xfe, 0xc7, 0xa7, 0xe9, 0x82, 0x5f, 0xd5, 0xd5, 0xa8, 0x3, 0x2c, 0xbe, 0xd5, 0x1, 0x1, 0xe2, 0xfe, 0xe5, 0xb6, 0x96, 0x14, 0xfe, 0xea, 0x80, 0xb0, 0x9c, 0x2d, 0xd1, 0x9e, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0xff, 0xe9, 0x4, 0x75, 0x6, 0x24, 0x0, 0xa, 0x0, 0x1f, 0x0, 0x37, 0x40, 0xf, 0xb, 0x0, 0x8, 0x21, 0x45, 0x15, 0x7, 0x8, 0xf, 0x15, 0x1a, 0x8, 0x19, 0x45, 0x20, 0x10, 0xfc, 0xec, 0xcc, 0xdc, 0xec, 0x10, 0xec, 0xfc, 0x3c, 0x31, 0x0, 0x40, 0xe, 0x4, 0x87, 0x12, 0x97, 0x20, 0x0, 0x87, 0xb, 0x1d, 0x87, 0x16, 0x8c, 0x1a, 0x20, 0x10, 0xcc, 0xf4, 0xec, 0xdc, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x34, 0x27, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x17, 0x16, 0x5, 0x20, 0x27, 0x26, 0x11, 0x34, 0x36, 0x33, 0x32, 0x12, 0x10, 0x0, 0x20, 0x0, 0x11, 0x17, 0x15, 0x10, 0x12, 0x20, 0x12, 0x3, 0xae, 0x31, 0x42, 0x95, 0x53, 0x78, 0x79, 0x4a, 0x1, 0x13, 0xfe, 0xcc, 0x83, 0xd3, 0xd0, 0xaf, 0xda, 0xf5, 0xfe, 0xe4, 0xfe, 0x23, 0xfe, 0xf5, 0xbc, 0xb0, 0x1, 0x2f, 0xa5, 0x3, 0x70, 0xf6, 0x7e, 0xaa, 0x89, 0x5a, 0xaa, 0x5a, 0x37, 0xaa, 0x41, 0x69, 0x1, 0x36, 0xa0, 0xde, 0xfe, 0x64, 0xfc, 0xfc, 0xfe, 0x65, 0x1, 0xb6, 0x1, 0xd2, 0x1, 0xa0, 0xfe, 0xf3, 0xfe, 0xbd, 0x1, 0x42, 0x0, 0x1, 0x0, 0x57, 0x0, 0x0, 0x5, 0x51, 0x5, 0xdf, 0x0, 0x20, 0x0, 0x49, 0x40, 0x9, 0x22, 0x0, 0x1b, 0x14, 0x4, 0x1c, 0xf, 0x7, 0x21, 0x10, 0xdc, 0xcc, 0xfc, 0x39, 0xdc, 0xc4, 0xb4, 0x3f, 0x0, 0x40, 0x1b, 0x2, 0x5d, 0xcc, 0x31, 0x0, 0x40, 0x11, 0x7, 0x4, 0x14, 0x5, 0xe, 0x95, 0xf, 0x1f, 0x0, 0x95, 0xd, 0x95, 0x14, 0x18, 0x11, 0x91, 0x5, 0x2f, 0xf4, 0x3c, 0xcc, 0xec, 0xec, 0xcc, 0xd4, 0xec, 0x11, 0x12, 0x39, 0x39, 0x40, 0x9, 0x6f, 0x1f, 0x7f, 0x1f, 0x8f, 0x1f, 0xcf, 0x1f, 0x4, 0x5d, 0x30, 0x1, 0x6, 0x3, 0x6, 0x15, 0x11, 0x23, 0x11, 0x34, 0x27, 0x2, 0x27, 0x26, 0x22, 0x7, 0x35, 0x36, 0x32, 0x17, 0x4, 0x13, 0x12, 0x25, 0x36, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x4, 0x46, 0xa0, 0x52, 0x2a, 0xcb, 0x2a, 0x52, 0xa0, 0x4d, 0x77, 0x28, 0x1f, 0x6f, 0x55, 0x1, 0x43, 0x48, 0x6b, 0x1, 0x1f, 0x26, 0x5f, 0x2a, 0x53, 0x11, 0x19, 0x4b, 0x85, 0x5, 0x11, 0x48, 0xfe, 0xf3, 0x8d, 0xa5, 0xfd, 0x76, 0x2, 0x8a, 0xa5, 0x8d, 0x1, 0xd, 0x48, 0x23, 0x9, 0xaa, 0xa, 0xd, 0x30, 0xfe, 0x72, 0x1, 0x7b, 0x43, 0x9, 0x20, 0x40, 0x5b, 0x29, 0x2f, 0x42, 0x0, 0xff, 0xff, 0xff, 0xe1, 0x0, 0x0, 0x6, 0xa1, 0x6, 0x66, 0x10, 0x27, 0x3, 0x1b, 0xfe, 0x6e, 0x0, 0x0, 0x10, 0x7, 0x3, 0x66, 0x1, 0x50, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x57, 0x0, 0x0, 0x5, 0x51, 0x7, 0x4e, 0x10, 0x27, 0x16, 0xb9, 0x4, 0xc5, 0x1, 0x75, 0x12, 0x6, 0x3, 0x66, 0x0, 0x0, 0x0, 0x3, 0x0, 0x70, 0xfe, 0x56, 0x4, 0xd1, 0x6, 0x14, 0x0, 0x15, 0x0, 0x1e, 0x0, 0x27, 0x0, 0x41, 0x40, 0x10, 0x29, 0x1a, 0x12, 0x6, 0x9, 0x1, 0x1e, 0x8, 0xc, 0x14, 0x20, 0x24, 0x12, 0x10, 0x45, 0x28, 0x10, 0xfc, 0xec, 0xd4, 0x3c, 0x3c, 0xfc, 0x3c, 0x3c, 0xd4, 0xec, 0xc4, 0x31, 0x40, 0x12, 0x1e, 0x20, 0x87, 0x1, 0x14, 0xb8, 0x28, 0x16, 0x1f, 0x87, 0x9, 0xc, 0x8c, 0x15, 0x97, 0xb, 0xbd, 0x28, 0x0, 0x10, 0xec, 0xe4, 0xf4, 0x3c, 0xfc, 0x3c, 0x10, 0xf4, 0x3c, 0xfc, 0x3c, 0x30, 0x1, 0x11, 0x32, 0x17, 0x16, 0x11, 0x10, 0x7, 0x6, 0x23, 0x11, 0x23, 0x11, 0x22, 0x27, 0x26, 0x11, 0x10, 0x37, 0x36, 0x33, 0x11, 0x13, 0x32, 0x37, 0x36, 0x37, 0x36, 0x27, 0x26, 0x23, 0x3, 0x11, 0x22, 0x7, 0x6, 0x17, 0x16, 0x17, 0x16, 0x2, 0xfc, 0xc7, 0x85, 0x89, 0x89, 0x85, 0xc7, 0xb7, 0xc7, 0x86, 0x88, 0x88, 0x86, 0xc7, 0xb7, 0x71, 0x4d, 0x54, 0x1, 0x1, 0x56, 0x4d, 0x71, 0xb7, 0x71, 0x4c, 0x57, 0x1, 0x1, 0x55, 0x4c, 0x6, 0x14, 0xfe, 0x63, 0x99, 0x9c, 0xfe, 0xed, 0xfe, 0xed, 0x9c, 0x99, 0xfe, 0x6f, 0x1, 0x91, 0x99, 0x9c, 0x1, 0x13, 0x1, 0x13, 0x9c, 0x99, 0x1, 0x9d, 0xfa, 0x77, 0x67, 0x73, 0xca, 0xc8, 0x75, 0x67, 0xfc, 0xb8, 0x3, 0x48, 0x67, 0x75, 0xc8, 0xca, 0x73, 0x67, 0x0, 0x0, 0x2, 0x0, 0x41, 0xff, 0xe3, 0x6, 0x6d, 0x4, 0x60, 0x0, 0x10, 0x0, 0x1e, 0x0, 0x45, 0x40, 0x16, 0x4, 0x11, 0x12, 0x10, 0x4, 0x6, 0xe, 0x20, 0x45, 0x3, 0x1d, 0x12, 0x6, 0x18, 0x8, 0x19, 0x14, 0x12, 0x1, 0xe, 0x45, 0x1f, 0x10, 0xfc, 0xc4, 0xec, 0xd4, 0xfc, 0xd4, 0xec, 0xc4, 0xec, 0x11, 0x12, 0x17, 0x39, 0x31, 0x0, 0x40, 0xf, 0x18, 0x10, 0x11, 0x3, 0x87, 0x1, 0xbc, 0x1f, 0x1b, 0x16, 0x87, 0x8, 0xc, 0x8c, 0x1f, 0x10, 0xf4, 0x3c, 0xec, 0x32, 0x10, 0xf4, 0xec, 0x32, 0x32, 0xcc, 0x30, 0x13, 0x35, 0x21, 0x15, 0x23, 0x16, 0x15, 0x10, 0x25, 0x24, 0x3, 0x2, 0x21, 0x20, 0x11, 0x34, 0x37, 0x29, 0x1, 0x6, 0x15, 0x10, 0x33, 0x32, 0x3, 0x33, 0x2, 0x37, 0x36, 0x11, 0x34, 0x41, 0x6, 0x2c, 0x93, 0x4d, 0xfe, 0x61, 0xfe, 0xf1, 0x22, 0x29, 0xfe, 0xf8, 0xfe, 0x61, 0x4d, 0x4, 0x3a, 0xfc, 0x92, 0x47, 0xde, 0xcf, 0x4, 0xaa, 0x4, 0xcf, 0xde, 0x3, 0xa8, 0xb8, 0xb8, 0xcf, 0xa4, 0xfd, 0xad, 0x1, 0x1, 0x1, 0x2a, 0xfe, 0xd5, 0x2, 0x52, 0xa4, 0xcf, 0xd1, 0xa7, 0xfe, 0x4f, 0x2, 0x1a, 0xfd, 0xe3, 0x3, 0x3, 0x1, 0xae, 0xa7, 0x0, 0x0, 0x1, 0x0, 0x70, 0xfe, 0x5b, 0x4, 0xcd, 0x4, 0x67, 0x0, 0x39, 0x0, 0x0, 0x5, 0x26, 0x27, 0x26, 0x34, 0x37, 0x7, 0x2, 0x7, 0x6, 0x23, 0x22, 0x35, 0x34, 0x1, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x35, 0x36, 0x33, 0x32, 0x17, 0x4, 0x11, 0x14, 0x7, 0x37, 0x12, 0x37, 0x36, 0x33, 0x32, 0x15, 0x14, 0x1, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x2, 0x7, 0x6, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x3, 0xf9, 0xf6, 0x21, 0xa, 0xd, 0xbd, 0x60, 0xc8, 0x37, 0x22, 0x37, 0x1, 0x24, 0x3e, 0xe, 0x1a, 0x8e, 0x39, 0x5b, 0x40, 0x5b, 0x1a, 0x1b, 0x1, 0x1d, 0x1d, 0xbd, 0x60, 0xc8, 0x37, 0x22, 0x37, 0xfe, 0xdc, 0x3e, 0xe, 0x1a, 0x8e, 0x39, 0x5b, 0x26, 0xcd, 0x46, 0xa2, 0x5d, 0x5f, 0x49, 0xa4, 0xa, 0x20, 0xf0, 0x49, 0x81, 0x35, 0x6c, 0xfe, 0xf7, 0x7c, 0x22, 0x4f, 0x9a, 0x1, 0x9, 0x8a, 0x7a, 0x3a, 0x36, 0x68, 0x6c, 0xe0, 0x30, 0x4, 0x27, 0xfe, 0xc3, 0x5b, 0x4d, 0x6c, 0x1, 0x9, 0x7c, 0x22, 0x4f, 0x9a, 0xfe, 0xf7, 0x8a, 0x7a, 0x3a, 0x36, 0x68, 0x6c, 0xfd, 0xe0, 0x66, 0x24, 0x31, 0xa0, 0x31, 0x0, 0x2, 0x0, 0x73, 0xfe, 0x58, 0x5, 0xd9, 0x5, 0xf0, 0x0, 0x11, 0x0, 0x1f, 0x0, 0x44, 0x40, 0xe, 0x21, 0x10, 0x1d, 0x19, 0xe, 0xa, 0x0, 0x1c, 0x3, 0x16, 0x19, 0x7, 0x10, 0x20, 0x10, 0xfc, 0xec, 0xdc, 0xb6, 0x0, 0x3, 0x10, 0x3, 0x30, 0x3, 0x3, 0x5d, 0xfc, 0x39, 0xdc, 0xb6, 0x0, 0xe, 0x10, 0xe, 0x30, 0xe, 0x3, 0x5d, 0xec, 0xec, 0x31, 0x0, 0x40, 0xc, 0x13, 0x95, 0xa, 0x91, 0x20, 0x1a, 0x95, 0x0, 0x3, 0x1, 0xbd, 0x20, 0x10, 0xec, 0xd4, 0x3c, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x5, 0x11, 0x23, 0x11, 0x26, 0x27, 0x26, 0x10, 0x37, 0x36, 0x21, 0x20, 0x17, 0x16, 0x11, 0x10, 0x7, 0x6, 0x2, 0x20, 0x7, 0x6, 0x11, 0x10, 0x17, 0x16, 0x20, 0x37, 0x36, 0x11, 0x10, 0x27, 0x3, 0x84, 0xb8, 0xfc, 0xa0, 0xbd, 0xbd, 0xbc, 0x1, 0x3b, 0x1, 0x3a, 0xbc, 0xbc, 0xbc, 0x9f, 0x7b, 0xfe, 0x48, 0x81, 0x82, 0x82, 0x81, 0x1, 0xb8, 0x81, 0x80, 0x80, 0x18, 0xfe, 0x70, 0x1, 0x90, 0x1a, 0xb3, 0xd2, 0x2, 0xc4, 0xd3, 0xd2, 0xd2, 0xd3, 0xfe, 0x9e, 0xfe, 0x9f, 0xd2, 0xb3, 0x5, 0x49, 0xa4, 0xa4, 0xfe, 0xe5, 0xfe, 0xe6, 0xa4, 0xa4, 0xa4, 0xa4, 0x1, 0x1a, 0x1, 0x1b, 0xa4, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0xfe, 0x56, 0x4, 0x75, 0x4, 0x7b, 0x0, 0xd, 0x0, 0x1f, 0x0, 0x3c, 0x40, 0x10, 0x21, 0x45, 0xa, 0x12, 0x1c, 0x0, 0x19, 0x7, 0xe, 0x12, 0x11, 0x4, 0x12, 0x15, 0x45, 0x20, 0x10, 0xfc, 0xec, 0xdc, 0xb2, 0x30, 0x11, 0x1, 0x5d, 0xfc, 0x39, 0x39, 0x39, 0xdc, 0xec, 0xec, 0x31, 0x0, 0x40, 0xd, 0x0, 0xb9, 0x19, 0xb8, 0x20, 0x7, 0xb9, 0xe, 0x11, 0x8c, 0xf, 0xbd, 0x20, 0x10, 0xec, 0xf4, 0x3c, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x22, 0x7, 0x6, 0x10, 0x17, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x26, 0x3, 0x11, 0x23, 0x11, 0x26, 0x27, 0x26, 0x11, 0x10, 0x37, 0x36, 0x33, 0x32, 0x0, 0x11, 0x10, 0x7, 0x6, 0x2, 0x73, 0x94, 0x56, 0x56, 0x55, 0x56, 0x95, 0x93, 0xac, 0x56, 0x56, 0x39, 0xaa, 0xbe, 0x6b, 0x89, 0x89, 0x88, 0xf1, 0xf0, 0x1, 0x12, 0x89, 0x6a, 0x3, 0xdf, 0x73, 0x74, 0xfe, 0x6e, 0x74, 0x73, 0xe8, 0xc8, 0xc7, 0x74, 0x75, 0xfc, 0x9, 0xfe, 0x6e, 0x1, 0x92, 0x1b, 0x7d, 0x9c, 0x1, 0x13, 0x1, 0x14, 0x9c, 0x9c, 0xfe, 0xc8, 0xfe, 0xec, 0xfe, 0xed, 0x9c, 0x7b, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8b, 0xfe, 0x52, 0x4, 0xab, 0x5, 0xd5, 0x0, 0x24, 0x0, 0x2e, 0x40, 0xa, 0x12, 0x16, 0x12, 0x26, 0xc, 0x23, 0x4, 0x1c, 0x1e, 0x25, 0x10, 0xdc, 0xec, 0xcc, 0xd4, 0xcc, 0xfc, 0xc4, 0x31, 0x0, 0x40, 0xd, 0x10, 0x95, 0x12, 0x8, 0x95, 0x1a, 0x8c, 0x25, 0x0, 0x95, 0x22, 0x81, 0x25, 0x10, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0xdc, 0xec, 0x30, 0x1, 0x20, 0x7, 0x6, 0x11, 0x10, 0x17, 0x16, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x34, 0x35, 0x16, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x20, 0x27, 0x26, 0x11, 0x10, 0x37, 0x36, 0x29, 0x1, 0x15, 0x3, 0x46, 0xfe, 0xf3, 0x60, 0x7b, 0x5b, 0x6d, 0xc8, 0x7a, 0x59, 0x54, 0x4a, 0x50, 0xa3, 0x45, 0x2a, 0x20, 0x20, 0x1f, 0x3a, 0xfe, 0xc0, 0x8e, 0x95, 0xb9, 0x8a, 0x1, 0x78, 0x1, 0x65, 0x5, 0x2b, 0x77, 0x98, 0xfe, 0xcd, 0xfe, 0xb5, 0x7f, 0x98, 0x54, 0x4f, 0x78, 0x73, 0x50, 0x57, 0x4b, 0x4c, 0x5, 0x2c, 0x23, 0x25, 0x35, 0x2c, 0x2a, 0xcb, 0xd6, 0x1, 0x65, 0x1, 0x4e, 0xed, 0xb1, 0xaa, 0x0, 0x0, 0x0, 0x1, 0x0, 0x71, 0xfe, 0x52, 0x4, 0x51, 0x4, 0x60, 0x0, 0x20, 0x0, 0x34, 0x40, 0xb, 0x19, 0x1d, 0x12, 0x22, 0x13, 0x7, 0xc, 0x12, 0x3, 0x45, 0x21, 0x10, 0xfc, 0xec, 0xcc, 0xd4, 0xcc, 0xfc, 0xc4, 0xb2, 0xf, 0x7, 0x1, 0x5d, 0x31, 0x0, 0x40, 0xd, 0x17, 0xb9, 0x19, 0xf, 0xb9, 0x0, 0x8c, 0x21, 0x9, 0xb9, 0x6, 0xb8, 0x21, 0x10, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0xdc, 0xec, 0x30, 0x5, 0x22, 0x0, 0x11, 0x10, 0x0, 0x29, 0x1, 0x15, 0x21, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x34, 0x35, 0x16, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2, 0x67, 0xcc, 0xfe, 0xd6, 0x1, 0x2d, 0x1, 0x6, 0x1, 0xad, 0xfe, 0x5b, 0xb3, 0xc6, 0xc5, 0x6f, 0x83, 0x50, 0x54, 0x4a, 0x50, 0xa3, 0x45, 0x2a, 0x20, 0x20, 0x20, 0x1d, 0x1, 0x3e, 0x1, 0xe, 0x1, 0x12, 0x1, 0x1f, 0x9c, 0xc7, 0xce, 0xcd, 0xe3, 0x4c, 0x4f, 0x78, 0x73, 0x50, 0x57, 0x4b, 0x4c, 0x5, 0x2c, 0x23, 0x25, 0x35, 0x2c, 0x2a, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x23, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x29, 0x0, 0x0, 0x0, 0x1, 0xff, 0x40, 0xfe, 0x56, 0x3, 0x46, 0x6, 0x14, 0x0, 0x27, 0x0, 0x36, 0xb7, 0x9, 0x14, 0x16, 0x13, 0x12, 0x20, 0x0, 0x28, 0x10, 0xdc, 0xcc, 0xfc, 0x3c, 0xcc, 0xcc, 0x31, 0x0, 0x40, 0x14, 0x16, 0x87, 0x13, 0xa, 0x87, 0x9, 0x13, 0xe, 0x87, 0x5, 0x97, 0x28, 0x20, 0x87, 0x1f, 0x24, 0x87, 0x1b, 0xbd, 0x28, 0x10, 0xfc, 0xec, 0xd4, 0xec, 0x10, 0xf4, 0xec, 0xcc, 0xd4, 0xec, 0x10, 0xec, 0x30, 0x33, 0x11, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x15, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x11, 0x21, 0x15, 0x21, 0x11, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x35, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0xee, 0x88, 0x60, 0xa9, 0x31, 0x32, 0x31, 0x33, 0x24, 0x29, 0x29, 0x2c, 0x78, 0x3a, 0x4b, 0x1, 0x41, 0xfe, 0xbf, 0x8b, 0x62, 0xad, 0x39, 0x33, 0x33, 0x2e, 0x31, 0x32, 0x32, 0x30, 0x57, 0x40, 0x52, 0x4, 0x82, 0xa0, 0x8e, 0x64, 0x9, 0x9, 0x12, 0xa4, 0x1c, 0xe, 0xf, 0x3e, 0x51, 0x6f, 0xfe, 0xc9, 0x8f, 0xfd, 0x3f, 0x92, 0xa5, 0x73, 0xa, 0xb, 0x16, 0xa4, 0x1f, 0x10, 0x11, 0x4b, 0x5f, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb3, 0xff, 0xfc, 0x4, 0xd4, 0x5, 0xd5, 0x0, 0x17, 0x0, 0x0, 0x1, 0x3, 0x1, 0x3, 0x6, 0x17, 0x16, 0x37, 0x15, 0x22, 0x27, 0x26, 0x37, 0x13, 0x1, 0x13, 0x36, 0x27, 0x26, 0x7, 0x35, 0x32, 0x17, 0x16, 0x2, 0x36, 0x6e, 0x3, 0xc, 0xea, 0x27, 0x1b, 0x42, 0x83, 0xe6, 0x51, 0x5f, 0x13, 0x9a, 0xfd, 0x6, 0xac, 0x27, 0x1b, 0x42, 0x83, 0xe6, 0x51, 0x5f, 0x4, 0x87, 0xfe, 0x5b, 0x1, 0x7e, 0xfd, 0x2c, 0x60, 0x2a, 0x6c, 0x23, 0xbd, 0x46, 0x52, 0xb6, 0x1, 0xda, 0xfe, 0x91, 0x2, 0x90, 0x60, 0x2a, 0x6c, 0x23, 0xbd, 0x46, 0x52, 0x0, 0x1, 0x0, 0xbf, 0x0, 0x0, 0x4, 0x88, 0x6, 0x13, 0x0, 0x7, 0x0, 0x42, 0x40, 0xa, 0x1, 0x2, 0x6, 0x5, 0x3, 0x7, 0x6, 0x0, 0x4, 0x8, 0x10, 0xdc, 0xcc, 0x17, 0x39, 0x31, 0x0, 0xb6, 0x42, 0x3, 0xa9, 0x7, 0x5, 0x97, 0x1, 0x2f, 0xe4, 0xd4, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x10, 0x3, 0x11, 0x0, 0x2, 0x11, 0x1, 0x0, 0x1, 0x7, 0x11, 0x4, 0x6, 0x11, 0x5, 0x4, 0x5, 0x7, 0x5, 0x10, 0xec, 0x10, 0xec, 0x7, 0x5, 0x10, 0xec, 0x10, 0xec, 0x59, 0x9, 0x1, 0x23, 0x13, 0x21, 0x1, 0x33, 0x3, 0x4, 0x88, 0xfe, 0xe7, 0xb8, 0xe2, 0xfd, 0x26, 0x1, 0x19, 0xb8, 0xe2, 0x3, 0x70, 0xfc, 0x90, 0x2, 0xc6, 0x3, 0x4d, 0xfd, 0x5d, 0x0, 0x0, 0x0, 0x1, 0x0, 0x72, 0xfe, 0x56, 0x6, 0x60, 0x5, 0xf0, 0x0, 0x21, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x6, 0x7, 0x35, 0x36, 0x21, 0x20, 0x13, 0x12, 0x11, 0x10, 0x3, 0x23, 0x0, 0x11, 0x10, 0x27, 0x6, 0x7, 0x6, 0x15, 0x11, 0x23, 0x36, 0x11, 0x34, 0x3f, 0x1, 0x2, 0x21, 0x22, 0x2, 0x51, 0xaa, 0xcd, 0x68, 0xd0, 0x1, 0x82, 0x1, 0xd9, 0xed, 0xd6, 0xf6, 0xe1, 0x1, 0x4, 0x52, 0x52, 0x5f, 0x40, 0xcd, 0x2, 0xb6, 0xbb, 0xd0, 0xfe, 0xa4, 0x30, 0x5, 0x3a, 0xfd, 0x8c, 0x2, 0x49, 0x4b, 0x69, 0xc6, 0xcf, 0xfe, 0xce, 0xfe, 0xec, 0xfd, 0xc2, 0xfe, 0x58, 0xfe, 0x92, 0x1, 0x4c, 0x1, 0xca, 0x1, 0xd1, 0x7d, 0x2f, 0x4d, 0x34, 0xd0, 0xfd, 0xc6, 0x21, 0x2, 0x14, 0xf7, 0x8f, 0x8d, 0x1, 0x4, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x77, 0xfe, 0x90, 0x4, 0x96, 0x4, 0x78, 0x0, 0x16, 0x0, 0x0, 0x1, 0x3, 0x23, 0x1, 0x26, 0x27, 0x1, 0x23, 0x1, 0x26, 0x27, 0x26, 0x23, 0x35, 0x20, 0x17, 0x16, 0x13, 0x12, 0x11, 0x23, 0x10, 0x27, 0x3, 0x6e, 0xef, 0xb9, 0x1, 0x64, 0xe, 0x32, 0xfe, 0x46, 0xb9, 0x2, 0x1f, 0x62, 0x2e, 0xbc, 0xd3, 0x1, 0x2d, 0xf2, 0xe0, 0xac, 0x74, 0xa8, 0x60, 0x1, 0x34, 0xfe, 0xcc, 0x1, 0xc0, 0x23, 0x4d, 0xfd, 0xd0, 0x2, 0xb0, 0x7f, 0x21, 0x84, 0xa4, 0xd8, 0xc8, 0xfe, 0x50, 0xfe, 0xdf, 0xfe, 0x89, 0x1, 0x5e, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x73, 0xfe, 0x4b, 0x7, 0x5, 0x5, 0xd5, 0x0, 0x3d, 0x0, 0x57, 0x40, 0x1c, 0x3c, 0xd, 0x1, 0x10, 0x8, 0x0, 0x39, 0x12, 0x3a, 0x3f, 0x10, 0x35, 0x1c, 0xd, 0x0, 0x11, 0x2b, 0x1c, 0x2c, 0x22, 0x1c, 0x19, 0x1e, 0x12, 0x1d, 0x19, 0x10, 0x3e, 0x10, 0xfc, 0xdc, 0xec, 0x10, 0xec, 0xd4, 0xfc, 0x39, 0xd4, 0x39, 0xec, 0xec, 0xdc, 0xec, 0x10, 0xdc, 0x4b, 0x53, 0x58, 0xb0, 0x9, 0x3c, 0x59, 0x5d, 0x31, 0x0, 0x40, 0xf, 0x9, 0x8, 0x3e, 0x2b, 0x39, 0x1d, 0x81, 0x3e, 0xd, 0x26, 0x31, 0x95, 0x15, 0x8c, 0x3e, 0x10, 0xf4, 0xec, 0x32, 0x39, 0x10, 0xf4, 0x3c, 0xcc, 0x10, 0xcc, 0x39, 0x30, 0x1, 0x10, 0x7, 0x6, 0x7, 0x6, 0x5, 0x6, 0x7, 0x27, 0x36, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x27, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x11, 0x34, 0x13, 0x36, 0x37, 0x33, 0x6, 0x3, 0x6, 0x15, 0x10, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x3d, 0x1, 0x33, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x11, 0x34, 0x27, 0x2, 0x27, 0x33, 0x16, 0x17, 0x12, 0x7, 0x5, 0x3d, 0x44, 0xdb, 0xb4, 0xfe, 0xec, 0x76, 0x8c, 0x61, 0x8a, 0x79, 0xcd, 0xa4, 0x67, 0x44, 0x64, 0x27, 0x27, 0x64, 0x65, 0x92, 0xd3, 0x79, 0x7b, 0x64, 0x3b, 0x5d, 0xf9, 0x54, 0x87, 0x43, 0x48, 0x49, 0x7d, 0x72, 0x48, 0x47, 0xc7, 0x46, 0x46, 0x74, 0x86, 0x41, 0x47, 0x43, 0x87, 0x54, 0xfa, 0x5f, 0x38, 0x64, 0x2, 0xe0, 0xfe, 0xef, 0xcb, 0xe6, 0xa6, 0x88, 0x64, 0x2a, 0x17, 0x85, 0x18, 0x30, 0x51, 0x80, 0x17, 0x41, 0x5e, 0xad, 0xad, 0x5e, 0x5e, 0xb1, 0xb4, 0x1, 0x98, 0xc9, 0x1, 0xe, 0x9f, 0x7f, 0x46, 0xfe, 0xbf, 0x9f, 0xb7, 0xfe, 0xcd, 0x6b, 0x6d, 0x69, 0x68, 0xc6, 0xf1, 0xf1, 0xc6, 0x68, 0x69, 0x6d, 0x77, 0x1, 0x27, 0xb7, 0x9f, 0x1, 0x41, 0x46, 0x82, 0x9c, 0xfe, 0xeb, 0x0, 0x0, 0x0, 0x1, 0x0, 0x87, 0xfe, 0x55, 0x6, 0x27, 0x4, 0x60, 0x0, 0x25, 0x0, 0x53, 0x40, 0x19, 0x10, 0x21, 0x19, 0x16, 0x12, 0x17, 0x27, 0x45, 0x14, 0x12, 0x0, 0x19, 0x2, 0xf, 0x8, 0x10, 0xb, 0x12, 0x6, 0x9, 0x12, 0x8, 0x6, 0x45, 0x26, 0x10, 0xfc, 0xdc, 0xec, 0x10, 0xec, 0xd4, 0xfc, 0x39, 0xd4, 0x39, 0xec, 0xec, 0xdc, 0xec, 0x10, 0xdc, 0x4b, 0x53, 0x58, 0xb0, 0x22, 0x3c, 0x59, 0x31, 0x0, 0x40, 0xf, 0x22, 0x21, 0x26, 0xf, 0x16, 0x8, 0xbc, 0x26, 0x0, 0x12, 0xd, 0x87, 0x4, 0x8c, 0x26, 0x10, 0xf4, 0xec, 0x32, 0x39, 0x10, 0xf4, 0x3c, 0xc4, 0x10, 0xcc, 0x39, 0x30, 0x21, 0x24, 0x3, 0x2, 0x21, 0x20, 0x11, 0x34, 0x13, 0x33, 0x2, 0x15, 0x2, 0x17, 0x16, 0x3, 0x33, 0x2, 0x37, 0x36, 0x11, 0x34, 0x3, 0x33, 0x12, 0x15, 0x16, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x7, 0x27, 0x36, 0x37, 0x36, 0x4, 0x88, 0xfe, 0xed, 0x1e, 0x23, 0xfe, 0xf2, 0xfe, 0x61, 0x87, 0xda, 0x8f, 0x1, 0xdf, 0xd0, 0x5, 0xaa, 0x3, 0xce, 0xde, 0x8f, 0xda, 0x87, 0x1, 0x39, 0x69, 0xc5, 0x9a, 0xd2, 0x6b, 0x70, 0x5b, 0x51, 0x8b, 0xc7, 0x1, 0x1, 0xd, 0xfe, 0xed, 0x2, 0x3a, 0xeb, 0x1, 0x40, 0xfe, 0xc0, 0xf0, 0xfe, 0x97, 0x1, 0x1, 0x1, 0xd4, 0xfe, 0x2b, 0x2, 0x2, 0x1, 0x68, 0xf0, 0x1, 0x40, 0xfe, 0xc0, 0xeb, 0xd1, 0x84, 0xf4, 0x9e, 0x7b, 0x49, 0x25, 0x10, 0x6c, 0xb, 0x2b, 0x3f, 0x0, 0x0, 0x0, 0x1, 0x0, 0x73, 0xfe, 0x56, 0x5, 0x48, 0x5, 0xf0, 0x0, 0x1d, 0x0, 0x2e, 0x40, 0xa, 0xf, 0x1c, 0x11, 0xc, 0x0, 0x4, 0x1c, 0x19, 0x45, 0x1e, 0x10, 0xfc, 0xec, 0xdc, 0xdc, 0x3c, 0xec, 0x31, 0x0, 0x40, 0xe, 0x0, 0x95, 0x1d, 0x8c, 0xe, 0x81, 0x1e, 0x8, 0x95, 0x15, 0x8c, 0xf, 0xbd, 0x1e, 0x10, 0xec, 0xf4, 0xec, 0x10, 0xfc, 0xf4, 0xec, 0x30, 0x1, 0x6, 0x7, 0x6, 0x11, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x19, 0x1, 0x33, 0x11, 0x23, 0x11, 0x6, 0x7, 0x6, 0x23, 0x20, 0x27, 0x26, 0x11, 0x10, 0x13, 0x36, 0x25, 0x2, 0xec, 0xb4, 0x60, 0x85, 0x6e, 0x62, 0xc3, 0xc4, 0x62, 0x63, 0xd9, 0xd9, 0x44, 0x68, 0x68, 0xaa, 0xff, 0x0, 0x9c, 0xa2, 0xba, 0x97, 0x1, 0x28, 0x5, 0x4a, 0x12, 0x84, 0xb9, 0xfe, 0xee, 0xf9, 0xab, 0x98, 0x98, 0x99, 0x1, 0xb, 0x2, 0xec, 0xf8, 0x81, 0x2, 0x90, 0x84, 0x40, 0x3f, 0xd5, 0xdd, 0x1, 0x47, 0x1, 0x36, 0x1, 0x8, 0xd5, 0x1, 0x0, 0x1, 0x0, 0x71, 0xfe, 0x56, 0x4, 0x8c, 0x4, 0x7b, 0x0, 0x1c, 0x0, 0x2e, 0x40, 0xa, 0xe, 0x8, 0x10, 0xb, 0x1c, 0x4, 0x8, 0x18, 0x45, 0x1d, 0x10, 0xfc, 0xec, 0xdc, 0xdc, 0x3c, 0xec, 0x31, 0x0, 0x40, 0xe, 0x0, 0x87, 0x1c, 0x8c, 0xd, 0xbc, 0x1d, 0x7, 0xa0, 0x14, 0x8c, 0xe, 0xbd, 0x1d, 0x10, 0xec, 0xf4, 0xec, 0x10, 0xfc, 0xf4, 0xec, 0x30, 0x1, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x20, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x23, 0x11, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x2, 0x8b, 0x9a, 0x50, 0x72, 0x5e, 0x53, 0x1, 0x4c, 0x54, 0x54, 0xb8, 0xb8, 0x3a, 0x58, 0x59, 0x90, 0xda, 0x85, 0x89, 0x9e, 0x7f, 0xfd, 0x3, 0xfd, 0xe, 0x63, 0x8d, 0xd0, 0xbd, 0x81, 0x74, 0x73, 0x74, 0xcb, 0x2, 0x31, 0xf9, 0xf6, 0x2, 0x52, 0x64, 0x30, 0x31, 0xa2, 0xa8, 0xf8, 0xec, 0xc8, 0xa2, 0x0, 0x0, 0x1, 0x0, 0xc9, 0xfe, 0x4b, 0x5, 0xe2, 0x5, 0xd5, 0x0, 0x25, 0x0, 0x39, 0x40, 0xe, 0x10, 0xd, 0xc, 0x15, 0x1c, 0x27, 0x45, 0x4, 0x1d, 0x21, 0x1c, 0x20, 0x4, 0x26, 0x10, 0xfc, 0xec, 0x32, 0xd4, 0xec, 0xec, 0xdc, 0xc4, 0x4b, 0x53, 0x58, 0xb1, 0xd, 0xc, 0x10, 0x3c, 0x59, 0x31, 0x0, 0x40, 0xb, 0x19, 0x95, 0x0, 0xb8, 0x1e, 0xd, 0xc, 0xbd, 0x20, 0x81, 0x1e, 0x2f, 0xe4, 0xfc, 0xcc, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x20, 0x17, 0x16, 0x11, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x7, 0x27, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x11, 0x36, 0x37, 0x36, 0x3, 0x4c, 0x1, 0x27, 0xb1, 0xbe, 0x3c, 0x43, 0xaa, 0xc3, 0xf1, 0xb9, 0x49, 0x61, 0x86, 0x7d, 0xd9, 0x98, 0x88, 0x2c, 0x36, 0x7e, 0x73, 0xcd, 0xcb, 0x73, 0x71, 0xca, 0xca, 0x4e, 0x69, 0x69, 0x4, 0x7b, 0xb3, 0xc2, 0xfe, 0xfd, 0xcc, 0xa1, 0xb2, 0x80, 0x93, 0x45, 0x35, 0xc, 0x85, 0x16, 0x32, 0x57, 0x7a, 0x6d, 0x68, 0x7f, 0xc0, 0x9d, 0x96, 0x86, 0x81, 0x7e, 0xde, 0xfe, 0x27, 0x5, 0xd5, 0xfd, 0x9a, 0x87, 0x42, 0x43, 0x0, 0x0, 0x2, 0x0, 0x2d, 0xff, 0xe3, 0x4, 0x92, 0x4, 0x9a, 0x0, 0x17, 0x0, 0x4d, 0x0, 0x0, 0x1, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x25, 0x16, 0x15, 0x14, 0x7, 0x6, 0x21, 0x22, 0x27, 0x26, 0x23, 0x22, 0x7, 0x27, 0x36, 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x6, 0x7, 0x6, 0x7, 0x6, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x36, 0x37, 0x17, 0x6, 0x3, 0x2c, 0x7f, 0x8d, 0x1f, 0x37, 0x1d, 0x25, 0x1d, 0x10, 0xe, 0xc, 0xf, 0x18, 0x1a, 0x23, 0x20, 0x1e, 0x19, 0x47, 0x3b, 0x49, 0x24, 0x1, 0xb, 0x6c, 0x7f, 0x6f, 0xfe, 0xf7, 0x8d, 0x63, 0x4b, 0x35, 0x41, 0x51, 0x54, 0x87, 0x5f, 0x82, 0x52, 0x3f, 0x5b, 0x9d, 0x4f, 0x4b, 0x31, 0x1b, 0x1f, 0x46, 0x75, 0x66, 0x47, 0x29, 0x48, 0x32, 0x40, 0x30, 0x29, 0x1e, 0x1d, 0x1f, 0x2e, 0x3e, 0x50, 0x65, 0x5e, 0xd2, 0x90, 0x38, 0x2a, 0x88, 0x37, 0x3, 0x44, 0x98, 0x16, 0xb, 0x21, 0x1a, 0x20, 0x1b, 0x21, 0x20, 0x15, 0x1c, 0x11, 0x14, 0x6, 0x5, 0x19, 0x14, 0x31, 0x18, 0x32, 0xc0, 0xd4, 0xb0, 0x9c, 0x88, 0x2e, 0x23, 0x41, 0x93, 0x4c, 0x2e, 0x23, 0x5e, 0x59, 0x7f, 0x8c, 0x71, 0x19, 0x17, 0x34, 0x2b, 0x26, 0x2, 0x1, 0xa, 0x7, 0x22, 0x1a, 0x48, 0x34, 0x42, 0x3b, 0x3b, 0x3d, 0x2f, 0x3f, 0x22, 0x2b, 0x9f, 0x56, 0x68, 0x50, 0x92, 0x0, 0x1, 0x0, 0x4f, 0xfe, 0x56, 0x5, 0xb, 0x5, 0xf6, 0x0, 0x21, 0x0, 0x0, 0x5, 0x4, 0x21, 0x20, 0x1, 0x0, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x23, 0x36, 0x37, 0x36, 0x21, 0x20, 0x17, 0x16, 0x15, 0x14, 0x7, 0x0, 0x1, 0x16, 0x33, 0x20, 0x37, 0x4, 0xfa, 0xff, 0x0, 0xfe, 0xed, 0xfe, 0xaf, 0xfe, 0xb9, 0x2, 0xba, 0xb3, 0x6c, 0x6c, 0x63, 0xa4, 0xb4, 0x5e, 0x23, 0x18, 0xf0, 0x2c, 0x56, 0xa3, 0x1, 0x18, 0x1, 0x13, 0xa1, 0xa2, 0xa2, 0xfe, 0xf7, 0xfe, 0x18, 0x9c, 0xd5, 0x1, 0x29, 0xe8, 0xec, 0xbe, 0x1, 0xa3, 0x1, 0xf1, 0xdb, 0x84, 0x9c, 0x8d, 0x65, 0x5d, 0x92, 0x36, 0x3f, 0xa1, 0x66, 0xc2, 0x90, 0x91, 0xf1, 0xd8, 0xb6, 0xfe, 0xf2, 0xfe, 0x85, 0xb5, 0xb3, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0xfe, 0x56, 0x4, 0x6a, 0x4, 0x7b, 0x0, 0x20, 0x0, 0x0, 0x1, 0x6, 0x23, 0x20, 0x1, 0x0, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x23, 0x36, 0x37, 0x36, 0x33, 0x32, 0x4, 0x15, 0x14, 0x7, 0x6, 0x1, 0x16, 0x33, 0x32, 0x37, 0x4, 0x5c, 0xda, 0xea, 0xfe, 0xee, 0xfe, 0xde, 0x2, 0x42, 0xa7, 0x5c, 0x5c, 0x54, 0x8b, 0x99, 0x50, 0x1e, 0x14, 0xcc, 0x25, 0x49, 0x8b, 0xee, 0xe8, 0x1, 0x14, 0x8a, 0xaf, 0xfe, 0x2f, 0x91, 0xa9, 0xfd, 0xc5, 0xfe, 0xef, 0x99, 0x1, 0x79, 0x1, 0x59, 0xc2, 0x6b, 0x7d, 0x6f, 0x53, 0x4b, 0x75, 0x2c, 0x32, 0x81, 0x52, 0x9c, 0xe8, 0xc2, 0xa4, 0x9c, 0xc5, 0xfe, 0xe0, 0xba, 0x90, 0x0, 0x0, 0x0, 0x2, 0x0, 0x73, 0x0, 0x0, 0x5, 0xb6, 0x5, 0xef, 0x0, 0x2, 0x0, 0x35, 0x0, 0x0, 0x25, 0x21, 0x9, 0x3, 0x26, 0x27, 0x26, 0x23, 0x22, 0xf, 0x1, 0x35, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x9, 0x1, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x15, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x9, 0x1, 0x16, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x21, 0x35, 0x33, 0x32, 0x37, 0x36, 0x1, 0xda, 0x2, 0x6e, 0xfe, 0xcd, 0xfe, 0x14, 0x1, 0x80, 0xfe, 0xdc, 0x13, 0x1a, 0x22, 0x3f, 0x19, 0x16, 0x45, 0x21, 0x20, 0x1f, 0x1c, 0x72, 0x4b, 0x2c, 0x2f, 0x1, 0x2, 0x1, 0x9, 0x34, 0x27, 0x4b, 0x72, 0x1d, 0x1e, 0x20, 0x21, 0x44, 0x17, 0x18, 0x3c, 0x26, 0x13, 0x1a, 0xfe, 0xd2, 0x1, 0x74, 0x6, 0x7, 0x1d, 0x45, 0x47, 0xfa, 0xc3, 0x47, 0x48, 0x1a, 0xc, 0xaa, 0x1, 0xca, 0xfe, 0x68, 0x2, 0x3d, 0x1, 0xbb, 0x1d, 0x1a, 0x22, 0x4, 0xa, 0xbb, 0xb, 0x5, 0x5, 0x43, 0x28, 0x46, 0xfe, 0x81, 0x1, 0x7f, 0x4b, 0x23, 0x43, 0x5, 0x5, 0xb, 0xbb, 0xa, 0x4, 0x22, 0x11, 0x26, 0xfe, 0x45, 0xfd, 0xc3, 0x9, 0x8, 0x21, 0xaa, 0xaa, 0x21, 0xf, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x36, 0x0, 0x0, 0x4, 0xcb, 0x4, 0x7b, 0x0, 0x2, 0x0, 0x35, 0x0, 0x0, 0x25, 0x21, 0x3, 0x9, 0x1, 0x3, 0x26, 0x27, 0x26, 0x23, 0x22, 0xf, 0x1, 0x35, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x1b, 0x1, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x15, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x3, 0x1, 0x16, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x21, 0x35, 0x33, 0x32, 0x37, 0x36, 0x1, 0x9a, 0x1, 0xcc, 0xe4, 0xfe, 0x5b, 0x1, 0x39, 0xef, 0x15, 0x11, 0x1d, 0x36, 0x15, 0x13, 0x3a, 0x1c, 0x1b, 0x1a, 0x18, 0x83, 0x40, 0x25, 0x28, 0xc5, 0xc5, 0x28, 0x25, 0x40, 0x83, 0x18, 0x1a, 0x1b, 0x1c, 0x3a, 0x13, 0x15, 0x36, 0x1d, 0x11, 0x15, 0xf6, 0x1, 0x2d, 0x6, 0x5, 0x19, 0x3a, 0x49, 0xfb, 0x6b, 0x49, 0x3a, 0x19, 0x5, 0x9e, 0x1, 0x38, 0xfe, 0xee, 0x1, 0xa4, 0x1, 0x3d, 0x1c, 0xe, 0x19, 0x3, 0x7, 0x8d, 0x8, 0x4, 0x4, 0x33, 0x1e, 0x35, 0xfe, 0xfa, 0x1, 0x6, 0x35, 0x1e, 0x33, 0x4, 0x4, 0x8, 0x8d, 0x7, 0x3, 0x19, 0xe, 0x1c, 0xfe, 0xb8, 0xfe, 0x67, 0x8, 0x5, 0x19, 0x9e, 0x9e, 0x19, 0x5, 0x0, 0x0, 0x0, 0x2, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x25, 0x6, 0x10, 0x0, 0x1d, 0x0, 0x2b, 0x0, 0x0, 0x1, 0x24, 0x7, 0x6, 0x7, 0x36, 0x37, 0x36, 0x33, 0x32, 0x0, 0x10, 0x0, 0x21, 0x20, 0x27, 0x26, 0x11, 0x10, 0x37, 0x36, 0x21, 0x32, 0x37, 0x36, 0x37, 0x15, 0x6, 0x7, 0x6, 0x12, 0x10, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x3, 0x2a, 0xfe, 0xd6, 0x57, 0x38, 0x16, 0x51, 0x55, 0x7b, 0x82, 0xf5, 0x1, 0x32, 0xfe, 0xce, 0xfe, 0xf9, 0xfe, 0xce, 0xa4, 0xa3, 0x8b, 0x7c, 0x1, 0xb0, 0x73, 0x95, 0xa0, 0x4b, 0x5e, 0x97, 0x6c, 0x8e, 0xc8, 0xba, 0xbc, 0x68, 0x69, 0x69, 0x65, 0xbf, 0xbc, 0x62, 0x5, 0x2d, 0x2, 0x73, 0x4a, 0xa0, 0x56, 0x22, 0x31, 0xfe, 0xbc, 0xfd, 0xf0, 0xfe, 0xbc, 0x9c, 0x9b, 0x1, 0x50, 0x1, 0xde, 0xd2, 0xbb, 0xa, 0xa, 0x27, 0xb1, 0x24, 0x8, 0x6, 0xfc, 0x41, 0x1, 0x82, 0xe6, 0x73, 0x74, 0xc0, 0xbd, 0x78, 0x73, 0x73, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x5b, 0x6, 0x10, 0x0, 0x1f, 0x0, 0x2f, 0x0, 0x0, 0x1, 0x26, 0x7, 0x6, 0x7, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x10, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x11, 0x10, 0x37, 0x36, 0x21, 0x32, 0x37, 0x36, 0x37, 0x15, 0x6, 0x7, 0x6, 0x13, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x2, 0x9b, 0xe3, 0x49, 0x2c, 0x14, 0x29, 0x65, 0x5b, 0x78, 0xcc, 0x7f, 0x80, 0x80, 0x7f, 0xdb, 0xff, 0x89, 0x88, 0x74, 0x67, 0x1, 0x4f, 0x5f, 0x5c, 0x53, 0x47, 0x5d, 0x45, 0x5a, 0xa8, 0x53, 0x54, 0x92, 0x95, 0x56, 0x58, 0x58, 0x54, 0x97, 0x94, 0x52, 0x53, 0x5, 0x37, 0x2, 0x78, 0x4a, 0xa9, 0x46, 0x36, 0x31, 0xa2, 0xa2, 0xfd, 0xf0, 0xa2, 0xa2, 0x9c, 0x9b, 0x1, 0x50, 0x1, 0xde, 0xd2, 0xbb, 0xa, 0xa, 0x27, 0xa7, 0x27, 0x5, 0x6, 0xfc, 0xf8, 0xcd, 0x72, 0x73, 0x73, 0x74, 0xcb, 0xc7, 0x78, 0x73, 0x73, 0x74, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2c, 0xfe, 0x56, 0x4, 0xb7, 0x5, 0xd5, 0x0, 0xf, 0x0, 0x34, 0x40, 0xd, 0x3, 0x12, 0x0, 0xf, 0x4, 0x1c, 0x7, 0x8, 0x12, 0xb, 0xc, 0x7, 0x10, 0x10, 0xdc, 0x3c, 0xdc, 0xec, 0x10, 0xfc, 0x3c, 0xdc, 0xec, 0x31, 0x0, 0x40, 0xd, 0x2, 0x9, 0x4, 0x7, 0x95, 0xf, 0xc, 0xbc, 0xd, 0x81, 0x5, 0xbd, 0x10, 0x10, 0xec, 0xec, 0xf4, 0x3c, 0xec, 0x32, 0xcc, 0x32, 0x30, 0x1, 0x11, 0x23, 0x35, 0x21, 0x11, 0x23, 0x11, 0x21, 0x15, 0x23, 0x11, 0x21, 0x11, 0x33, 0x11, 0x4, 0xb7, 0xcb, 0xfe, 0xeb, 0xcb, 0xfe, 0xeb, 0xcb, 0x1, 0xe0, 0xcb, 0x4, 0x60, 0xfe, 0xf2, 0x64, 0xfa, 0xa0, 0x5, 0x60, 0x64, 0x1, 0xe, 0x1, 0x75, 0xfe, 0x8b, 0x0, 0x0, 0x0, 0x1, 0x0, 0x37, 0xfe, 0x55, 0x4, 0x14, 0x5, 0xcf, 0x0, 0xf, 0x0, 0x33, 0x40, 0xd, 0x3, 0x8, 0x0, 0xf, 0x4, 0x8, 0x7, 0x8, 0x8, 0xb, 0xc, 0x7, 0x10, 0x10, 0xdc, 0x3c, 0xdc, 0xec, 0x10, 0xfc, 0x3c, 0xdc, 0xec, 0x31, 0x0, 0x40, 0xc, 0x2, 0x9, 0x4, 0x7, 0x87, 0xf, 0xc, 0xbc, 0xd, 0x5, 0xbd, 0x10, 0x10, 0xec, 0xcc, 0xf4, 0x3c, 0xec, 0x32, 0xcc, 0x32, 0x30, 0x1, 0x11, 0x23, 0x35, 0x23, 0x11, 0x23, 0x11, 0x23, 0x15, 0x23, 0x11, 0x21, 0x11, 0x33, 0x11, 0x4, 0x14, 0xad, 0xe5, 0xb9, 0xe5, 0xad, 0x1, 0x92, 0xb9, 0x4, 0x5f, 0xff, 0x0, 0x70, 0xfa, 0x86, 0x5, 0x7a, 0x70, 0x1, 0x0, 0x1, 0x70, 0xfe, 0x90, 0x0, 0x0, 0x1, 0x0, 0x70, 0xff, 0xf2, 0x4, 0xcd, 0x4, 0x67, 0x0, 0x33, 0x0, 0x0, 0x1, 0x2, 0x7, 0x6, 0x23, 0x22, 0x35, 0x34, 0x1, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x35, 0x36, 0x33, 0x32, 0x17, 0x4, 0x11, 0x14, 0x7, 0x37, 0x12, 0x37, 0x36, 0x33, 0x32, 0x15, 0x14, 0x1, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x15, 0x6, 0x23, 0x22, 0x27, 0x24, 0x11, 0x34, 0x37, 0x2, 0x28, 0x60, 0xc8, 0x37, 0x22, 0x37, 0x1, 0x24, 0x3e, 0xe, 0x1a, 0x8e, 0x39, 0x5b, 0x40, 0x5b, 0x1a, 0x1b, 0x1, 0x1d, 0x1d, 0xbd, 0x60, 0xc8, 0x37, 0x22, 0x37, 0xfe, 0xdc, 0x3e, 0xe, 0x1a, 0x8e, 0x39, 0x5b, 0x40, 0x5b, 0x1a, 0x1b, 0xfe, 0xe3, 0x1d, 0x1, 0x99, 0xfe, 0xf7, 0x7c, 0x22, 0x4f, 0x9a, 0x1, 0x9, 0x8a, 0x7a, 0x3a, 0x36, 0x68, 0x6c, 0xe0, 0x30, 0x4, 0x25, 0xfe, 0xc1, 0x5b, 0x4d, 0x6c, 0x1, 0x9, 0x7c, 0x22, 0x4f, 0x9a, 0xfe, 0xf7, 0x8a, 0x7a, 0x3a, 0x36, 0x68, 0x6c, 0xe0, 0x30, 0x4, 0x25, 0x1, 0x3f, 0x5b, 0x4d, 0x0, 0x2, 0x0, 0xba, 0xfe, 0x56, 0x4, 0xa4, 0x4, 0x7b, 0x0, 0x18, 0x0, 0x24, 0x0, 0x3a, 0x40, 0xe, 0x14, 0x26, 0x45, 0x1a, 0x12, 0xa, 0x51, 0x11, 0x8, 0x1f, 0x12, 0x0, 0x46, 0x25, 0x10, 0xfc, 0xec, 0xec, 0xf4, 0xb2, 0x7f, 0xa, 0x1, 0x5d, 0xec, 0xec, 0xc4, 0x31, 0x0, 0x40, 0xf, 0x13, 0xb9, 0x16, 0x1c, 0xb9, 0x6, 0xb8, 0x25, 0x22, 0xb9, 0xd, 0x8c, 0x16, 0xbd, 0x25, 0x10, 0xec, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x10, 0xec, 0x30, 0x13, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x10, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x12, 0x29, 0x1, 0x15, 0x21, 0x20, 0x11, 0x24, 0x10, 0x27, 0x26, 0x20, 0x7, 0x6, 0x10, 0x17, 0x16, 0x20, 0x37, 0xba, 0x5a, 0x36, 0x9e, 0x3b, 0xb6, 0xcc, 0x7f, 0x80, 0x80, 0x7f, 0xcc, 0x78, 0x5b, 0x59, 0x3a, 0x5, 0x1, 0x20, 0x1, 0xf4, 0xfe, 0x1c, 0xfe, 0x12, 0x3, 0x2b, 0x53, 0x54, 0xfe, 0xdc, 0x54, 0x53, 0x53, 0x54, 0x1, 0x24, 0x54, 0x2, 0x25, 0xd0, 0xa3, 0x62, 0x5e, 0x23, 0xa2, 0xa2, 0xfd, 0xf0, 0xa2, 0xa2, 0x31, 0x30, 0x64, 0xfe, 0x58, 0xaa, 0x2, 0xda, 0x34, 0x1, 0x96, 0x74, 0x73, 0x73, 0x74, 0xfe, 0x6a, 0x74, 0x73, 0x73, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x3, 0xe7, 0x4, 0x7b, 0x12, 0x6, 0x0, 0x46, 0x0, 0x0, 0xff, 0xff, 0xff, 0xdb, 0xfe, 0x56, 0x1, 0x79, 0x6, 0x14, 0x12, 0x6, 0x0, 0x4d, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x5, 0xf0, 0x12, 0x6, 0x1, 0x61, 0x0, 0x0, 0x0, 0x1, 0x0, 0x71, 0xff, 0xe3, 0x3, 0xd8, 0x4, 0x7b, 0x0, 0x21, 0x0, 0x0, 0x1, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x21, 0x15, 0x21, 0x16, 0x17, 0x16, 0x33, 0x32, 0x3f, 0x1, 0x15, 0x7, 0x6, 0x23, 0x20, 0x27, 0x26, 0x10, 0x37, 0x36, 0x21, 0x32, 0x17, 0x16, 0x17, 0x3, 0xd8, 0x25, 0x25, 0x63, 0x6a, 0xb7, 0x66, 0x5f, 0x12, 0x2, 0xa5, 0xfd, 0x5b, 0x12, 0x5f, 0x66, 0xb7, 0x80, 0x4d, 0x4a, 0x4f, 0x68, 0x6b, 0xfe, 0xf4, 0x9c, 0x9d, 0x9d, 0x9c, 0x1, 0xc, 0x65, 0x6e, 0x28, 0x27, 0x3, 0xae, 0xd, 0xa, 0x1a, 0x63, 0x5c, 0xa9, 0x90, 0xa9, 0x5c, 0x63, 0x1a, 0x19, 0xa7, 0x12, 0x16, 0x9c, 0x9c, 0x2, 0x28, 0x9c, 0x9c, 0x16, 0x8, 0xc, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc4, 0xff, 0xe3, 0x4, 0x2b, 0x4, 0x7b, 0x0, 0x21, 0x0, 0x0, 0x13, 0x35, 0x36, 0x37, 0x36, 0x33, 0x20, 0x17, 0x16, 0x10, 0x7, 0x6, 0x21, 0x22, 0x2f, 0x1, 0x35, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x21, 0x35, 0x21, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0xc4, 0x27, 0x28, 0x6e, 0x65, 0x1, 0xc, 0x9c, 0x9d, 0x9d, 0x9c, 0xfe, 0xf4, 0x6b, 0x68, 0x4f, 0x4a, 0x4d, 0x80, 0xb7, 0x66, 0x5f, 0x12, 0xfd, 0x5b, 0x2, 0xa5, 0x12, 0x5f, 0x66, 0xb7, 0x6a, 0x63, 0x25, 0x3, 0xae, 0xa3, 0xc, 0x8, 0x16, 0x9c, 0x9c, 0xfd, 0xd8, 0x9c, 0x9c, 0x16, 0x12, 0xa7, 0x19, 0x1a, 0x63, 0x5c, 0xa9, 0x90, 0xa9, 0x5c, 0x63, 0x1a, 0xa, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8d, 0x5, 0xd5, 0x12, 0x6, 0x0, 0xa0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0xa4, 0x6, 0x14, 0x12, 0x6, 0x0, 0xc0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x27, 0x5, 0xf0, 0x12, 0x6, 0x0, 0x26, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x1f, 0x5, 0xd5, 0x0, 0xc, 0x0, 0x94, 0x40, 0x10, 0x9, 0x8, 0x3, 0x2, 0x1, 0x5, 0xa, 0x6, 0x1c, 0x4, 0x3e, 0xa, 0x1c, 0x0, 0x4, 0xd, 0x10, 0xfc, 0xec, 0xfc, 0xec, 0x11, 0x17, 0x39, 0x31, 0x0, 0x40, 0xc, 0x42, 0xa, 0x7, 0x2, 0x3, 0x8, 0x3, 0x0, 0xaf, 0x8, 0xb, 0x5, 0x2f, 0x3c, 0xc4, 0xec, 0x32, 0x11, 0x17, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x18, 0x3, 0x11, 0x7, 0x8, 0x7, 0x2, 0x11, 0x1, 0x2, 0x8, 0x8, 0x7, 0x2, 0x11, 0x3, 0x2, 0x9, 0xa, 0x9, 0x1, 0x11, 0xa, 0xa, 0x9, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x5, 0xed, 0x59, 0xb2, 0x70, 0xe, 0x1, 0x1, 0x5d, 0x40, 0x11, 0x4, 0x2, 0x6, 0x7, 0x6, 0xa, 0x36, 0x2, 0x49, 0x7, 0x49, 0xa, 0x59, 0x7, 0x59, 0xa, 0x8, 0x40, 0x15, 0x2, 0x1, 0xd, 0x3, 0x16, 0x8, 0x19, 0x9, 0x26, 0x1, 0x29, 0x3, 0x35, 0x1, 0x3a, 0x3, 0x45, 0x8, 0x4a, 0x9, 0xa, 0x5d, 0x0, 0x5d, 0x13, 0x21, 0x9, 0x1, 0x21, 0x11, 0x23, 0x11, 0x1, 0x23, 0x1, 0x11, 0x23, 0xc9, 0x1, 0x2d, 0x1, 0x7d, 0x1, 0x7f, 0x1, 0x2d, 0xc5, 0xfe, 0x7f, 0xcb, 0xfe, 0x7f, 0xc4, 0x5, 0xd5, 0xfe, 0x21, 0x1, 0xdf, 0xfa, 0x2b, 0x5, 0x1f, 0xfe, 0x19, 0x1, 0xe7, 0xfa, 0xe1, 0x0, 0x0, 0x1, 0x0, 0x7f, 0xfe, 0x56, 0x4, 0xb3, 0x4, 0x60, 0x0, 0xc, 0x0, 0x4f, 0x40, 0x9, 0xe, 0x46, 0x7, 0x8, 0x4, 0xa, 0x8, 0x0, 0xd, 0x10, 0xdc, 0xec, 0xdc, 0xec, 0xec, 0x31, 0x0, 0x40, 0xd, 0x42, 0xa, 0x7, 0x2, 0x3, 0x9, 0x3, 0x0, 0xbc, 0x9, 0xc, 0xbd, 0x6, 0x2f, 0xec, 0xc4, 0xec, 0x32, 0x11, 0x17, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x12, 0x2, 0x11, 0x8, 0xa, 0x9, 0x3, 0x11, 0x7, 0x8, 0x7, 0x2, 0x11, 0x9, 0x1, 0x11, 0xa, 0xa, 0x9, 0x5, 0x7, 0x10, 0xed, 0x10, 0xed, 0x7, 0x10, 0xed, 0x8, 0x10, 0xed, 0x59, 0x13, 0x21, 0x13, 0x1, 0x21, 0x11, 0x23, 0x11, 0x1, 0x23, 0x1, 0x11, 0x23, 0x7f, 0x1, 0x1b, 0xfe, 0x1, 0x0, 0x1, 0x1b, 0xb9, 0xfe, 0xec, 0x99, 0xfe, 0xeb, 0xb9, 0x4, 0x60, 0xfe, 0x7b, 0x1, 0x85, 0xfb, 0xa0, 0x3, 0xb2, 0xfe, 0x60, 0x1, 0xa0, 0xfa, 0xa4, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x55, 0xfe, 0x56, 0x4, 0xa4, 0x4, 0x7b, 0x0, 0x1b, 0x0, 0x27, 0x0, 0x0, 0x17, 0x11, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x10, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x11, 0x21, 0x15, 0x21, 0x15, 0x23, 0x35, 0x23, 0x35, 0x0, 0x10, 0x27, 0x26, 0x20, 0x7, 0x6, 0x10, 0x17, 0x16, 0x20, 0x37, 0xba, 0x5a, 0x3d, 0x97, 0x3b, 0xb6, 0xcc, 0x7f, 0x80, 0x80, 0x7f, 0xcc, 0x7b, 0x58, 0x59, 0x3a, 0x1, 0xe5, 0xfe, 0x1b, 0xb9, 0x65, 0x3, 0x90, 0x53, 0x54, 0xfe, 0xdc, 0x54, 0x53, 0x53, 0x54, 0x1, 0x24, 0x54, 0x90, 0x2, 0xb5, 0xe7, 0x8c, 0x66, 0x5a, 0x23, 0xa2, 0xa2, 0xfd, 0xf0, 0xa2, 0xa2, 0x31, 0x30, 0x64, 0xfe, 0xc8, 0xaa, 0x70, 0x70, 0xaa, 0x1, 0xf4, 0x1, 0x96, 0x74, 0x73, 0x73, 0x74, 0xfe, 0x6a, 0x74, 0x73, 0x73, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x27, 0x5, 0xf0, 0x12, 0x6, 0x1, 0x48, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x27, 0x5, 0xf0, 0x12, 0x26, 0x3, 0x8d, 0x0, 0x0, 0x10, 0x7, 0x0, 0x79, 0x2, 0x33, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x27, 0x5, 0xf0, 0x10, 0x27, 0x0, 0x79, 0x0, 0xe4, 0x0, 0x0, 0x12, 0x6, 0x3, 0x91, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x7, 0x6b, 0x12, 0x26, 0x3, 0xa9, 0x0, 0x0, 0x10, 0x7, 0x16, 0xbc, 0x4, 0xee, 0x1, 0x75, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x7, 0x4e, 0x12, 0x26, 0x3, 0xa9, 0x0, 0x0, 0x11, 0x7, 0x16, 0xb9, 0x4, 0x9d, 0x1, 0x75, 0x0, 0x85, 0xb1, 0x92, 0x97, 0x42, 0xb0, 0x93, 0xb0, 0x98, 0x42, 0xb1, 0x80, 0x4, 0x42, 0xb1, 0x81, 0x0, 0x42, 0x7c, 0xb0, 0x0, 0xb0, 0x1, 0x23, 0x49, 0xb0, 0x13, 0xb0, 0xe, 0x23, 0x49, 0x61, 0xb0, 0x80, 0x62, 0x68, 0xb0, 0x13, 0x46, 0x61, 0xb0, 0x0, 0x46, 0x60, 0xb0, 0x92, 0x43, 0xb0, 0x1, 0x60, 0x23, 0x42, 0xb0, 0x92, 0x43, 0xb0, 0x1, 0x60, 0x43, 0xb0, 0x0, 0x55, 0x58, 0xb0, 0xe, 0xb0, 0x92, 0x43, 0xb0, 0x1, 0x60, 0x43, 0x38, 0xb0, 0xe, 0x11, 0xb0, 0x1, 0x35, 0x59, 0xb1, 0x80, 0x0, 0x42, 0xb1, 0x81, 0x0, 0x42, 0x18, 0xb0, 0x0, 0x10, 0xb0, 0x13, 0xb0, 0xe, 0xb0, 0x1, 0x23, 0x49, 0x68, 0x3b, 0xb0, 0x13, 0x11, 0xb0, 0x2, 0x35, 0x0, 0xb0, 0x0, 0xb0, 0x13, 0x23, 0x49, 0xb0, 0x40, 0x50, 0x58, 0xb0, 0x13, 0xb0, 0x40, 0x38, 0xb0, 0x13, 0x11, 0xb0, 0x2, 0x35, 0xb0, 0x1, 0x35, 0x59, 0x0, 0x0, 0x1, 0xff, 0xfa, 0xfe, 0x66, 0x5, 0xac, 0x5, 0xd5, 0x0, 0x1b, 0x0, 0x34, 0x40, 0xb, 0x5, 0xa, 0x1c, 0x1b, 0x14, 0xe, 0x16, 0x1c, 0x13, 0x11, 0x1c, 0x10, 0xd4, 0xcc, 0xfc, 0x3c, 0xcc, 0xdc, 0xfc, 0xcc, 0x31, 0x0, 0x40, 0xf, 0x5, 0x95, 0x4, 0xb0, 0x10, 0xe, 0x95, 0x17, 0x10, 0x16, 0x11, 0x95, 0x13, 0x81, 0x10, 0x2f, 0xf4, 0xec, 0x32, 0x10, 0xd4, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x25, 0x10, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x11, 0x34, 0x26, 0x23, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x21, 0x32, 0x16, 0x15, 0x5, 0xac, 0xcc, 0xe4, 0x4c, 0x3e, 0x86, 0x6f, 0x7c, 0x7c, 0xfe, 0x88, 0xcb, 0xfe, 0x52, 0x4, 0x8b, 0xfd, 0xee, 0x1, 0xa1, 0xba, 0xde, 0x68, 0xfe, 0xf2, 0xf4, 0xaa, 0x96, 0xc2, 0x1, 0x22, 0x9f, 0x9e, 0xfd, 0x39, 0x5, 0x2b, 0xaa, 0xaa, 0xfe, 0x46, 0xe9, 0xee, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x6a, 0x7, 0x6b, 0x12, 0x26, 0x3, 0xa7, 0x0, 0x0, 0x10, 0x7, 0x16, 0xba, 0x4, 0xae, 0x1, 0x75, 0x0, 0x1, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x27, 0x5, 0xf0, 0x0, 0x18, 0x0, 0x4e, 0x40, 0x9, 0x1a, 0x12, 0xb, 0x0, 0x11, 0x14, 0x19, 0x6, 0x19, 0x10, 0xdc, 0xec, 0x32, 0xd4, 0x3c, 0xcc, 0xcc, 0x31, 0x0, 0x40, 0x17, 0x13, 0x95, 0x12, 0xad, 0x19, 0xc, 0xa1, 0xb, 0xae, 0xe, 0x95, 0x9, 0x91, 0x19, 0x0, 0xa1, 0x1, 0xae, 0x17, 0x95, 0x3, 0x8c, 0x19, 0x10, 0xf4, 0xec, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0xb1, 0x12, 0xe, 0x49, 0xb1, 0x17, 0x13, 0x49, 0x50, 0x58, 0xb3, 0x12, 0x13, 0x40, 0x2, 0x17, 0x38, 0x59, 0x30, 0x1, 0x15, 0x6, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x17, 0x15, 0x26, 0x21, 0x20, 0x2, 0x7, 0x21, 0x15, 0x21, 0x16, 0x12, 0x21, 0x20, 0x5, 0x27, 0xd4, 0xfe, 0xf5, 0xfe, 0xb1, 0xfe, 0x7a, 0x1, 0x86, 0x1, 0x4f, 0x1, 0xf, 0xd0, 0xd3, 0xff, 0x0, 0xfe, 0xf8, 0xee, 0x16, 0x3, 0x1e, 0xfc, 0xe2, 0x16, 0xee, 0x1, 0x8, 0x1, 0x0, 0x1, 0x46, 0xd3, 0x90, 0x1, 0x9f, 0x1, 0x68, 0x1, 0x67, 0x1, 0x9f, 0x8e, 0xd5, 0xbd, 0xfe, 0xe3, 0xef, 0xaa, 0xef, 0xfe, 0xe4, 0xff, 0xff, 0x0, 0x87, 0xff, 0xe3, 0x4, 0xa2, 0x5, 0xf0, 0x12, 0x6, 0x0, 0x36, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x1, 0x93, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x2c, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6, 0x0, 0x0, 0x2, 0x58, 0x7, 0x4e, 0x10, 0x6, 0x0, 0x91, 0x0, 0x0, 0xff, 0xff, 0xff, 0x96, 0xfe, 0x66, 0x1, 0x93, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x2d, 0x0, 0x0, 0x0, 0x2, 0x0, 0x54, 0x0, 0x0, 0x8, 0x2f, 0x5, 0xd5, 0x0, 0x14, 0x0, 0x1c, 0x0, 0x33, 0x40, 0xc, 0x17, 0x19, 0x10, 0x0, 0x1c, 0x1b, 0xb, 0x1, 0x1c, 0xa, 0x6, 0x1d, 0x10, 0xd4, 0xd4, 0xec, 0xd4, 0x3c, 0xec, 0xdc, 0xec, 0x31, 0x0, 0x40, 0xe, 0x1b, 0x95, 0xc, 0xad, 0x14, 0x1, 0x95, 0xa, 0x81, 0x1c, 0x6, 0x95, 0x5, 0x14, 0x2f, 0x3c, 0xec, 0x32, 0xf4, 0xec, 0x10, 0xfc, 0xec, 0x30, 0x1, 0x21, 0x15, 0x10, 0x2, 0x5, 0x35, 0x36, 0x12, 0x11, 0x35, 0x21, 0x11, 0x33, 0x32, 0x4, 0x15, 0x14, 0x4, 0x23, 0x21, 0x25, 0x20, 0x11, 0x34, 0x26, 0x2b, 0x1, 0x11, 0x4, 0x70, 0xfe, 0x1b, 0xc8, 0xfe, 0x91, 0xd9, 0x95, 0x3, 0x78, 0xea, 0xfb, 0x1, 0x10, 0xfe, 0xf0, 0xfb, 0xfe, 0x4c, 0x1, 0xaa, 0x1, 0x40, 0x9d, 0xa3, 0xe0, 0x5, 0x2b, 0xb8, 0xfd, 0xca, 0xfd, 0xfb, 0x38, 0xaa, 0x2f, 0x1, 0xa6, 0x2, 0x58, 0xfe, 0xfd, 0x9a, 0xda, 0xdd, 0xde, 0xda, 0xa6, 0x1, 0x11, 0x8b, 0x87, 0xfd, 0xdd, 0x0, 0x0, 0x2, 0x0, 0xc9, 0x0, 0x0, 0x7, 0xcc, 0x5, 0xd5, 0x0, 0x12, 0x0, 0x1b, 0x0, 0x35, 0x40, 0xe, 0x13, 0x19, 0xf, 0x8, 0x0, 0x1c, 0x17, 0xa, 0x7, 0x2, 0x1c, 0x5, 0x4, 0x1c, 0x10, 0xfc, 0xec, 0x32, 0xdc, 0x3c, 0xec, 0x32, 0xdc, 0xec, 0x31, 0x0, 0x40, 0xd, 0x17, 0x1, 0x95, 0xb, 0x7, 0xad, 0x9, 0x5, 0x81, 0x18, 0x95, 0x0, 0x4, 0x2f, 0x3c, 0xec, 0xe4, 0x32, 0xfc, 0x3c, 0xec, 0x32, 0x30, 0x21, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x32, 0x4, 0x15, 0x14, 0x4, 0x23, 0x1, 0x34, 0x26, 0x2b, 0x1, 0x11, 0x33, 0x32, 0x36, 0x4, 0xd, 0xfd, 0x86, 0xca, 0xca, 0x2, 0x7a, 0xca, 0xea, 0xfb, 0x1, 0x10, 0xfe, 0xf0, 0xfb, 0x1, 0x36, 0x9d, 0xa3, 0xe0, 0xe0, 0xa1, 0x9f, 0x2, 0xc7, 0xfd, 0x39, 0x5, 0xd5, 0xfd, 0x9c, 0x2, 0x64, 0xfd, 0x9a, 0xda, 0xde, 0xdd, 0xda, 0x1, 0xb7, 0x8b, 0x87, 0xfd, 0xdd, 0x87, 0x0, 0x1, 0xff, 0xfa, 0x0, 0x0, 0x5, 0xac, 0x5, 0xd5, 0x0, 0x13, 0x0, 0x2c, 0x40, 0xa, 0x6, 0x1c, 0x3, 0x10, 0xa, 0x12, 0x1c, 0xe, 0xd, 0x14, 0x10, 0xd4, 0xcc, 0xfc, 0x3c, 0xcc, 0xdc, 0xec, 0x31, 0x0, 0x40, 0xb, 0xa, 0x95, 0x13, 0xc, 0x12, 0xd, 0x95, 0xf, 0x81, 0x5, 0xc, 0x2f, 0x3c, 0xf4, 0xec, 0x32, 0x10, 0xd4, 0xec, 0x30, 0x1, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x4, 0x14, 0xba, 0xde, 0xc9, 0x7c, 0x7c, 0xfe, 0x88, 0xcb, 0xfe, 0x52, 0x4, 0x8b, 0xfd, 0xee, 0x3, 0x71, 0xe9, 0xee, 0xfe, 0x66, 0x1, 0x8a, 0x9f, 0x9e, 0xfd, 0x39, 0x5, 0x2b, 0xaa, 0xaa, 0xfe, 0x46, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x86, 0x7, 0x6b, 0x12, 0x26, 0x3, 0xae, 0x0, 0x0, 0x10, 0x7, 0x16, 0xba, 0x4, 0xee, 0x1, 0x75, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x33, 0x7, 0x6b, 0x12, 0x26, 0x3, 0xac, 0x0, 0x0, 0x10, 0x7, 0x16, 0xbc, 0x4, 0xe5, 0x1, 0x75, 0xff, 0xff, 0x0, 0x23, 0x0, 0x0, 0x4, 0xbd, 0x7, 0x6d, 0x10, 0x27, 0x16, 0xc0, 0x4, 0x72, 0x1, 0x75, 0x12, 0x6, 0x3, 0xb7, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0xfe, 0xbf, 0x5, 0x3b, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x29, 0x40, 0xd, 0xd, 0x4, 0x6, 0x1c, 0x7, 0xb, 0x95, 0x9, 0x3, 0x1c, 0x2, 0x4, 0xc, 0x10, 0xfc, 0xec, 0xd4, 0xfc, 0xd4, 0xec, 0xec, 0x31, 0x0, 0xb7, 0xb, 0x4, 0x95, 0x6, 0x2, 0x81, 0x9, 0x1, 0x2f, 0x3c, 0xe4, 0x32, 0xec, 0xcc, 0x30, 0x29, 0x1, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x23, 0x2, 0xad, 0xfe, 0x1c, 0xca, 0x2, 0xde, 0xca, 0xfe, 0x1c, 0xaa, 0x5, 0xd5, 0xfa, 0xd5, 0x5, 0x2b, 0xfa, 0x2b, 0xfe, 0xbf, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x24, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc9, 0x0, 0x0, 0x4, 0xec, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x15, 0x0, 0x2e, 0x40, 0xc, 0x17, 0x9, 0x0, 0x19, 0x10, 0x2e, 0x4, 0xb, 0x1c, 0x15, 0x4, 0x16, 0x10, 0xfc, 0xec, 0x32, 0xf4, 0xec, 0xc4, 0xcc, 0x31, 0x0, 0x40, 0xc, 0xb, 0x95, 0x15, 0x81, 0x14, 0x4, 0x95, 0xc, 0xad, 0x5, 0x95, 0x14, 0x2f, 0xec, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x34, 0x26, 0x23, 0x21, 0x11, 0x21, 0x32, 0x36, 0x13, 0x15, 0x21, 0x11, 0x21, 0x32, 0x4, 0x15, 0x14, 0x4, 0x29, 0x1, 0x11, 0x4, 0x17, 0x9d, 0xa3, 0xfe, 0xbc, 0x1, 0x44, 0xa3, 0x9d, 0x6c, 0xfd, 0x10, 0x1, 0x4e, 0xfb, 0x1, 0x10, 0xfe, 0xf9, 0xfe, 0xfc, 0xfd, 0xe8, 0x1, 0xb7, 0x8b, 0x87, 0xfd, 0xdd, 0x87, 0x4, 0xa8, 0xa6, 0xfe, 0x40, 0xda, 0xde, 0xdd, 0xda, 0x5, 0xd5, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0xec, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x25, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x6a, 0x5, 0xd5, 0x0, 0x5, 0x0, 0x19, 0x40, 0xc, 0x4, 0x95, 0x1, 0x81, 0x0, 0x7, 0x2, 0x4, 0x1c, 0x1, 0x4, 0x6, 0x10, 0xfc, 0xfc, 0xcc, 0xc4, 0x31, 0x0, 0x2f, 0xf4, 0xec, 0x30, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0xc9, 0x3, 0xa1, 0xfd, 0x29, 0x5, 0xd5, 0xaa, 0xfa, 0xd5, 0x0, 0x0, 0x2, 0x0, 0x65, 0xfe, 0xbf, 0x5, 0xdb, 0x5, 0xd5, 0x0, 0x7, 0x0, 0x17, 0x0, 0x34, 0x40, 0xf, 0x2, 0x1c, 0xe, 0x13, 0x95, 0x19, 0x10, 0x17, 0x3, 0x1c, 0xd, 0x14, 0x95, 0x17, 0x18, 0x10, 0xdc, 0xec, 0xd4, 0xec, 0x10, 0xd4, 0xcc, 0xfc, 0x3c, 0xec, 0x31, 0x0, 0x40, 0xb, 0x3, 0x95, 0xd, 0x81, 0x12, 0x16, 0xf, 0x0, 0x17, 0x95, 0x14, 0x2f, 0xec, 0x32, 0x32, 0xcc, 0x32, 0xf4, 0xec, 0x30, 0x25, 0x21, 0x11, 0x21, 0x15, 0x10, 0x3, 0x6, 0x5, 0x36, 0x37, 0x12, 0x19, 0x1, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x1, 0xd3, 0x2, 0x94, 0xfe, 0x1b, 0x70, 0x17, 0xfe, 0xb1, 0x86, 0x26, 0x61, 0x3, 0x78, 0xaa, 0xaa, 0xfb, 0xde, 0xaa, 0xaa, 0x4, 0x81, 0xd4, 0xfe, 0xd, 0xfe, 0xb5, 0x44, 0x2b, 0x3f, 0x78, 0x1, 0x34, 0x2, 0x26, 0x1, 0x1a, 0xfa, 0xd5, 0xfe, 0x15, 0x1, 0x41, 0xfe, 0xbf, 0x1, 0xeb, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x28, 0x0, 0x0, 0x0, 0x1, 0x0, 0x28, 0x0, 0x0, 0x8, 0x76, 0x5, 0xd5, 0x0, 0x13, 0x0, 0x98, 0x40, 0xb, 0x8, 0x5, 0x1, 0x4, 0x6, 0x9, 0x1, 0x1c, 0xc, 0x0, 0x14, 0x10, 0xdc, 0x3c, 0xec, 0x32, 0xd4, 0xc4, 0x11, 0x39, 0x39, 0x31, 0x0, 0x40, 0x11, 0x42, 0xd, 0xc, 0x10, 0x13, 0x8, 0x9, 0x5, 0x2, 0x8, 0x12, 0x3, 0x0, 0xaf, 0xf, 0xa, 0x6, 0x2f, 0x3c, 0x3c, 0xec, 0x32, 0x32, 0x17, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x16, 0x7, 0x11, 0x6, 0x8, 0x11, 0x5, 0x9, 0x4, 0x6, 0x5, 0x3, 0x11, 0x4, 0x2, 0x11, 0x5, 0x8, 0x9, 0x9, 0x4, 0x9, 0x4, 0x9, 0x7, 0x10, 0x3c, 0x3c, 0x4, 0xed, 0x10, 0x5, 0xed, 0x7, 0x8, 0x10, 0xed, 0x5, 0x10, 0xed, 0x59, 0x1, 0x40, 0x13, 0xd, 0x1, 0x8, 0xe, 0x1, 0x7, 0xf, 0x1, 0x6, 0x10, 0x1, 0x5, 0x11, 0x1, 0x4, 0x12, 0x1, 0x3, 0x0, 0x10, 0x49, 0x3a, 0x49, 0x3a, 0x49, 0x3a, 0x49, 0x3a, 0x49, 0x3a, 0x49, 0x3a, 0x0, 0x40, 0x8, 0x13, 0x2, 0x10, 0x5, 0xd, 0x8, 0xc, 0x9, 0x10, 0x3c, 0x10, 0x3c, 0x10, 0x3c, 0x10, 0x3c, 0x1, 0x33, 0x11, 0x1, 0x33, 0x9, 0x1, 0x23, 0x9, 0x1, 0x11, 0x23, 0x11, 0x9, 0x1, 0x23, 0x9, 0x1, 0x33, 0x1, 0x3, 0xea, 0xca, 0x2, 0xaa, 0xf5, 0xfd, 0xdf, 0x2, 0x44, 0xd3, 0xfe, 0x13, 0xfe, 0xfe, 0xca, 0xfe, 0xfe, 0xfe, 0x13, 0xd3, 0x2, 0x44, 0xfd, 0xdf, 0xf5, 0x2, 0xaa, 0x5, 0xd5, 0xfd, 0x1e, 0x2, 0xe2, 0xfd, 0xb3, 0xfc, 0x78, 0x3, 0x1, 0xfe, 0xe9, 0xfe, 0x16, 0x1, 0xea, 0x1, 0x17, 0xfc, 0xff, 0x3, 0x88, 0x2, 0x4d, 0xfd, 0x1e, 0x0, 0x0, 0x0, 0x1, 0x0, 0x87, 0xff, 0xe3, 0x4, 0x9a, 0x5, 0xf0, 0x0, 0x28, 0x0, 0x3f, 0x40, 0xc, 0x1b, 0x1f, 0x19, 0x3, 0x2a, 0x16, 0x19, 0x9, 0x25, 0x10, 0x6, 0x29, 0x10, 0xfc, 0x32, 0xd4, 0xec, 0xcc, 0xd4, 0xfc, 0xcc, 0x31, 0x0, 0x40, 0x16, 0x1a, 0x95, 0x1b, 0xc, 0x10, 0xa1, 0xf, 0xae, 0x13, 0x95, 0xc, 0x25, 0xa1, 0x26, 0xae, 0x22, 0x95, 0x0, 0x91, 0xc, 0x8c, 0x29, 0x10, 0xe4, 0xf4, 0xec, 0xf4, 0xec, 0x10, 0xec, 0xf4, 0xec, 0x10, 0xd4, 0xec, 0x30, 0x1, 0x32, 0x4, 0x15, 0x14, 0x6, 0x7, 0x1e, 0x1, 0x15, 0x14, 0x4, 0x23, 0x22, 0x24, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x2, 0x49, 0xf6, 0x1, 0x38, 0x8e, 0x83, 0x91, 0xa3, 0xfe, 0x9d, 0xee, 0x7a, 0xfe, 0xe4, 0x2c, 0x99, 0xa9, 0x7c, 0xbc, 0xd0, 0xb9, 0xc3, 0xcc, 0xd4, 0xb3, 0x9e, 0xa3, 0xc6, 0x86, 0x5c, 0xcd, 0x71, 0xec, 0x5, 0xf0, 0xd1, 0xb2, 0x7c, 0xab, 0x21, 0x1f, 0xc4, 0x90, 0xe6, 0xe9, 0x42, 0x1c, 0xd0, 0x59, 0x2b, 0x90, 0x95, 0x84, 0x95, 0xa6, 0x77, 0x70, 0x73, 0x7b, 0x18, 0x4d, 0xc5, 0x28, 0x22, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x33, 0x5, 0xd5, 0x0, 0x9, 0x0, 0x79, 0x40, 0x1e, 0x3, 0x11, 0x9, 0x9, 0x8, 0x8, 0x11, 0x4, 0x4, 0x3, 0x42, 0x8, 0x3, 0x9, 0x6, 0xaf, 0x2, 0x5, 0x9, 0x4, 0x7, 0x3, 0x1c, 0x0, 0x36, 0x7, 0x1c, 0x6, 0x4, 0xa, 0x10, 0xfc, 0xec, 0xfc, 0xec, 0x11, 0x39, 0x39, 0x31, 0x0, 0x2f, 0x3c, 0xec, 0x32, 0x39, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x4, 0xed, 0x7, 0x10, 0x4, 0xed, 0x59, 0x22, 0xb2, 0x1f, 0xb, 0x1, 0x1, 0x5d, 0x40, 0x30, 0x36, 0x8, 0x38, 0x3, 0x48, 0x8, 0x47, 0x3, 0x69, 0x8, 0x66, 0x3, 0x80, 0x8, 0x7, 0x6, 0x4, 0x9, 0x9, 0x15, 0x4, 0x1a, 0x9, 0x46, 0x4, 0x49, 0x9, 0x57, 0x4, 0x58, 0x9, 0x65, 0x4, 0x69, 0x9, 0x79, 0x9, 0x85, 0x4, 0x8a, 0x9, 0x95, 0x4, 0x9a, 0x9, 0x9f, 0xb, 0x10, 0x5d, 0x0, 0x5d, 0x1, 0x11, 0x23, 0x11, 0x1, 0x21, 0x11, 0x33, 0x11, 0x1, 0x5, 0x33, 0xc4, 0xfd, 0x6a, 0xfe, 0xf0, 0xc4, 0x2, 0x96, 0x5, 0xd5, 0xfa, 0x2b, 0x4, 0xe1, 0xfb, 0x1f, 0x5, 0xd5, 0xfb, 0x1f, 0x4, 0xe1, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x33, 0x7, 0x6d, 0x12, 0x26, 0x3, 0xac, 0x0, 0x0, 0x11, 0x7, 0x16, 0xc0, 0x4, 0xf5, 0x1, 0x75, 0x0, 0x23, 0xb4, 0x6, 0xa, 0x12, 0x0, 0x7, 0x2b, 0xb0, 0xa, 0x4b, 0x54, 0xb0, 0xb, 0x4b, 0x54, 0x5b, 0xb0, 0x10, 0x4b, 0x54, 0x5b, 0x58, 0xbb, 0x0, 0x12, 0x0, 0x40, 0x0, 0xa, 0xff, 0xc0, 0x38, 0x38, 0x59, 0x31, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x86, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x59, 0x40, 0xb, 0x8, 0x5, 0x1, 0x4, 0x6, 0x9, 0x1, 0x1c, 0x0, 0x4, 0xc, 0x10, 0xfc, 0xec, 0x32, 0xd4, 0xc4, 0x11, 0x39, 0x39, 0x31, 0x0, 0x40, 0xb, 0x42, 0x8, 0x9, 0x5, 0x2, 0x4, 0x3, 0x0, 0xaf, 0xa, 0x6, 0x2f, 0x3c, 0xec, 0x32, 0x17, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x16, 0x7, 0x11, 0x6, 0x8, 0x11, 0x5, 0x9, 0x4, 0x6, 0x5, 0x3, 0x11, 0x4, 0x2, 0x11, 0x5, 0x8, 0x9, 0x9, 0x4, 0x9, 0x4, 0x9, 0x7, 0x10, 0x3c, 0x3c, 0x4, 0xed, 0x10, 0x5, 0xed, 0x7, 0x8, 0x10, 0xed, 0x5, 0x10, 0xed, 0x59, 0x13, 0x33, 0x11, 0x1, 0x21, 0x9, 0x1, 0x23, 0x9, 0x1, 0x11, 0x23, 0xc9, 0xca, 0x2, 0xd2, 0x1, 0x3, 0xfd, 0xbf, 0x2, 0x5f, 0xdc, 0xfd, 0xfa, 0xfe, 0xef, 0xca, 0x5, 0xd5, 0xfd, 0x1e, 0x2, 0xe2, 0xfd, 0xb2, 0xfc, 0x79, 0x3, 0x1, 0xfe, 0xe9, 0xfe, 0x16, 0x0, 0x0, 0x1, 0x0, 0x54, 0x0, 0x0, 0x5, 0x3a, 0x5, 0xd5, 0x0, 0xf, 0x0, 0x25, 0x40, 0xa, 0x11, 0x4, 0xa, 0x1c, 0x7, 0xb, 0x1c, 0x6, 0x1, 0x10, 0x10, 0xd4, 0xd4, 0xec, 0xd4, 0xec, 0xec, 0x31, 0x0, 0x40, 0x8, 0xb, 0x95, 0x6, 0x81, 0x1, 0x95, 0x0, 0x9, 0x2f, 0x3c, 0xec, 0xf4, 0xec, 0x30, 0x33, 0x35, 0x36, 0x37, 0x12, 0x11, 0x35, 0x21, 0x11, 0x23, 0x11, 0x21, 0x15, 0x10, 0x3, 0x6, 0x54, 0xd9, 0x3e, 0x57, 0x3, 0x78, 0xca, 0xfe, 0x1b, 0x66, 0x62, 0xaa, 0x2f, 0xa4, 0x1, 0x2, 0x2, 0x58, 0xfe, 0xfa, 0x2b, 0x5, 0x2b, 0xb8, 0xfd, 0xca, 0xfe, 0xf8, 0xfd, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x1f, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x30, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x3b, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x2b, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x5, 0xf0, 0x12, 0x6, 0x0, 0x32, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x3b, 0x5, 0xd5, 0x0, 0x7, 0x0, 0x1f, 0x40, 0x10, 0x4, 0x95, 0x7, 0x81, 0x2, 0x6, 0x9, 0x4, 0x3, 0x1c, 0x0, 0x4, 0x1c, 0x7, 0x4, 0x8, 0x10, 0xfc, 0xec, 0xd4, 0xec, 0xec, 0x31, 0x0, 0x2f, 0x3c, 0xf4, 0xec, 0x30, 0x1, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x5, 0x3b, 0xca, 0xfd, 0x22, 0xca, 0x5, 0xd5, 0xfa, 0x2b, 0x5, 0x2b, 0xfa, 0xd5, 0x5, 0xd5, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8d, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x33, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x27, 0x5, 0xf0, 0x12, 0x6, 0x0, 0x26, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x4, 0xe9, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x37, 0x0, 0x0, 0x0, 0x1, 0x0, 0x23, 0x0, 0x0, 0x4, 0xbd, 0x5, 0xd5, 0x0, 0x11, 0x0, 0x3e, 0xb4, 0x13, 0x11, 0x6, 0xd, 0x12, 0x10, 0xd4, 0xc4, 0xd4, 0xc4, 0x31, 0x0, 0xb6, 0x42, 0x10, 0xd, 0x81, 0x6, 0x95, 0x5, 0x2f, 0xec, 0xec, 0x32, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x12, 0xf, 0x11, 0x0, 0xd, 0xc, 0x10, 0x11, 0x11, 0x11, 0x0, 0xf, 0x11, 0xc, 0xe, 0x11, 0xd, 0xd, 0xc, 0x5, 0x7, 0x10, 0xec, 0x10, 0xec, 0x7, 0x10, 0xec, 0x8, 0x10, 0xec, 0x59, 0x25, 0x6, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x3f, 0x1, 0x1, 0x33, 0x9, 0x1, 0x33, 0x2, 0x8f, 0x15, 0x20, 0x4f, 0xfb, 0x4d, 0x3f, 0x77, 0x2e, 0x1c, 0x12, 0x2d, 0xfe, 0x21, 0xd9, 0x1, 0x73, 0x1, 0x75, 0xd9, 0xb5, 0x32, 0x26, 0x5d, 0xaa, 0x1b, 0x11, 0x2a, 0x6a, 0x4, 0x6b, 0xfc, 0x94, 0x3, 0x6c, 0x0, 0x0, 0x0, 0x3, 0x0, 0x79, 0x0, 0x0, 0x6, 0x6a, 0x5, 0xd5, 0x0, 0x6, 0x0, 0xd, 0x0, 0x1f, 0x0, 0x3d, 0x40, 0x11, 0x21, 0x10, 0xa, 0x19, 0x1a, 0xe, 0x0, 0x15, 0x1c, 0x1d, 0xd, 0x16, 0x3, 0x19, 0x11, 0x10, 0x20, 0x10, 0xfc, 0xec, 0xd4, 0x3c, 0x3c, 0xfc, 0x3c, 0x3c, 0xd4, 0xec, 0xec, 0x31, 0x0, 0x40, 0xe, 0xd, 0x0, 0x95, 0x17, 0x14, 0x15, 0x81, 0x1f, 0x7, 0x5, 0x95, 0x1d, 0xe, 0x1f, 0x2f, 0xdc, 0x3c, 0xec, 0x32, 0x10, 0xf4, 0xdc, 0x3c, 0xec, 0x32, 0x30, 0x1, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x33, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x27, 0x3, 0x24, 0x0, 0x11, 0x10, 0x0, 0x25, 0x35, 0x33, 0x15, 0x4, 0x0, 0x11, 0x10, 0x0, 0x5, 0x15, 0x23, 0x3, 0xd, 0xd9, 0xe6, 0xe6, 0xd9, 0xcb, 0xd9, 0xe4, 0xe4, 0xd9, 0xcb, 0xfe, 0xc3, 0xfe, 0xa9, 0x1, 0x57, 0x1, 0x3d, 0xcb, 0x1, 0x3d, 0x1, 0x55, 0xfe, 0xab, 0xfe, 0xc3, 0xcb, 0x4, 0xa2, 0x14, 0xcc, 0xc5, 0xc5, 0xcb, 0x14, 0x14, 0xcb, 0xc5, 0xc5, 0xcc, 0x14, 0xfc, 0x10, 0x17, 0x1, 0x2b, 0x1, 0x9, 0x1, 0x9, 0x1, 0x2d, 0x17, 0x8b, 0x8b, 0x17, 0xfe, 0xd5, 0xfe, 0xf5, 0xfe, 0xf7, 0xfe, 0xd5, 0x17, 0xb2, 0xff, 0xff, 0x0, 0x3d, 0x0, 0x0, 0x5, 0x3b, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x3b, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0xfe, 0xbf, 0x5, 0xe5, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x29, 0x40, 0xc, 0xd, 0x9, 0x95, 0x0, 0x6, 0x1c, 0x7, 0x3, 0x1c, 0x2, 0x4, 0xc, 0x10, 0xfc, 0xec, 0xd4, 0xec, 0x3c, 0xfc, 0xcc, 0x31, 0x0, 0x40, 0x8, 0x6, 0x2, 0x81, 0xb, 0x8, 0x4, 0x95, 0x1, 0x2f, 0xec, 0x32, 0xcc, 0xf4, 0x3c, 0x30, 0x29, 0x1, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x23, 0x5, 0x3b, 0xfb, 0x8e, 0xca, 0x2, 0xde, 0xca, 0xaa, 0xaa, 0x5, 0xd5, 0xfa, 0xd5, 0x5, 0x2b, 0xfa, 0xd5, 0xfe, 0x15, 0x0, 0x0, 0x1, 0x0, 0xaf, 0x0, 0x0, 0x4, 0xb3, 0x5, 0xd5, 0x0, 0xf, 0x0, 0x24, 0x40, 0xa, 0x11, 0x4, 0x1, 0xd, 0x1c, 0xe, 0x7, 0x1c, 0x6, 0x10, 0x10, 0xdc, 0xec, 0xd4, 0xec, 0x32, 0xec, 0x31, 0x0, 0xb7, 0x2, 0x95, 0xb, 0xad, 0xd, 0x6, 0x81, 0x0, 0x2f, 0xe4, 0x32, 0xf4, 0xec, 0x30, 0x21, 0x11, 0x21, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x21, 0x11, 0x33, 0x11, 0x3, 0xe8, 0xfe, 0x5f, 0xba, 0xde, 0xc9, 0x7c, 0x7c, 0x1, 0x78, 0xcb, 0x2, 0x64, 0xe9, 0xee, 0x1, 0x9a, 0xfe, 0x76, 0x9f, 0x9e, 0x2, 0xc7, 0xfa, 0x2b, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x7, 0xc5, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x2a, 0x40, 0xd, 0xd, 0x4, 0x2, 0x1c, 0x3, 0xa, 0x1c, 0xb, 0x7, 0x1c, 0x6, 0x4, 0xc, 0x10, 0xfc, 0xec, 0xd4, 0xfc, 0xd4, 0xec, 0xec, 0x31, 0x0, 0x40, 0x8, 0xa, 0x2, 0x6, 0x81, 0x0, 0x8, 0x95, 0x5, 0x2f, 0xec, 0x32, 0xf4, 0x3c, 0x3c, 0x30, 0x25, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x4, 0xac, 0x2, 0x4f, 0xca, 0xf9, 0x4, 0xca, 0x2, 0x4f, 0xca, 0xaa, 0x5, 0x2b, 0xfa, 0x2b, 0x5, 0xd5, 0xfa, 0xd5, 0x5, 0x2b, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0xfe, 0xbf, 0x8, 0x6f, 0x5, 0xd5, 0x0, 0xf, 0x0, 0x32, 0x40, 0xf, 0x11, 0xd, 0x95, 0x0, 0xa, 0x1c, 0xb, 0x6, 0x1c, 0x7, 0x3, 0x1c, 0x2, 0x4, 0x10, 0x10, 0xfc, 0xec, 0xd4, 0xfc, 0xd4, 0xec, 0x3c, 0xfc, 0xcc, 0x31, 0x0, 0x40, 0xa, 0x6, 0xa, 0x2, 0x81, 0xf, 0xc, 0x8, 0x4, 0x95, 0x1, 0x2f, 0xec, 0x32, 0x32, 0xcc, 0xf4, 0x3c, 0x3c, 0x30, 0x29, 0x1, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x23, 0x7, 0xc5, 0xf9, 0x4, 0xca, 0x2, 0x4f, 0xca, 0x2, 0x4f, 0xca, 0xaa, 0xaa, 0x5, 0xd5, 0xfa, 0xd5, 0x5, 0x2b, 0xfa, 0xd5, 0x5, 0x2b, 0xfa, 0xd5, 0xfe, 0x15, 0x0, 0x0, 0x2, 0x0, 0x3c, 0x0, 0x0, 0x6, 0x18, 0x5, 0xd5, 0x0, 0xc, 0x0, 0x17, 0x0, 0x2a, 0x40, 0x16, 0x2, 0x95, 0x3, 0x81, 0x0, 0x12, 0x95, 0x5, 0xad, 0x13, 0x95, 0x0, 0x10, 0xd, 0x19, 0x9, 0x12, 0x4, 0x1c, 0x1, 0x3, 0x18, 0x10, 0xcc, 0xdc, 0xec, 0x32, 0xd4, 0xec, 0xcc, 0x31, 0x0, 0x2f, 0xec, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x32, 0x4, 0x15, 0x14, 0x4, 0x23, 0x1, 0x34, 0x27, 0x26, 0x23, 0x21, 0x11, 0x21, 0x32, 0x37, 0x36, 0x1, 0xf5, 0xfe, 0x47, 0x2, 0x83, 0x1, 0x4e, 0xfb, 0x1, 0x10, 0xfe, 0xf0, 0xfb, 0x1, 0x36, 0x4f, 0x4e, 0xa3, 0xfe, 0xbc, 0x1, 0x44, 0xa1, 0x50, 0x4f, 0x5, 0x2b, 0xaa, 0xfd, 0x9a, 0xda, 0xde, 0xdd, 0xda, 0x1, 0xb7, 0x8b, 0x44, 0x43, 0xfd, 0xdd, 0x44, 0x43, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x46, 0x5, 0xd5, 0x10, 0x26, 0x3, 0xc0, 0x0, 0x0, 0x10, 0x7, 0x0, 0x2c, 0x4, 0xb3, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc9, 0x0, 0x0, 0x4, 0xec, 0x5, 0xd5, 0x0, 0xa, 0x0, 0x15, 0x0, 0x24, 0x40, 0x13, 0x5, 0x95, 0xd, 0xad, 0xb, 0x81, 0x6, 0x95, 0x15, 0x17, 0x0, 0x19, 0x11, 0x5, 0xc, 0x1c, 0xb, 0x4, 0x16, 0x10, 0xfc, 0xec, 0x32, 0xd4, 0xec, 0xcc, 0x31, 0x0, 0x2f, 0xec, 0xe4, 0xf4, 0xec, 0x30, 0x1, 0x34, 0x27, 0x26, 0x23, 0x21, 0x11, 0x21, 0x32, 0x37, 0x36, 0x1, 0x33, 0x11, 0x21, 0x32, 0x4, 0x15, 0x14, 0x4, 0x23, 0x21, 0x4, 0x17, 0x4f, 0x4e, 0xa3, 0xfe, 0xbc, 0x1, 0x44, 0xa3, 0x4e, 0x4f, 0xfc, 0xb2, 0xca, 0x1, 0x4e, 0xfb, 0x1, 0x10, 0xfe, 0xf0, 0xfb, 0xfd, 0xe8, 0x1, 0xb7, 0x8b, 0x44, 0x43, 0xfd, 0xdd, 0x44, 0x43, 0x4, 0xa8, 0xfd, 0x9a, 0xda, 0xde, 0xdd, 0xda, 0x0, 0x1, 0x0, 0x6f, 0xff, 0xe3, 0x5, 0x23, 0x5, 0xf0, 0x0, 0x18, 0x0, 0x4e, 0x40, 0x9, 0x1a, 0x5, 0x8, 0x19, 0x13, 0x7, 0x0, 0xe, 0x19, 0x10, 0xdc, 0x3c, 0xcc, 0xd4, 0xec, 0x32, 0xcc, 0x31, 0x0, 0x40, 0x17, 0x6, 0x95, 0x7, 0xad, 0x19, 0xd, 0xa1, 0xe, 0xae, 0xb, 0x95, 0x10, 0x91, 0x19, 0x0, 0xa1, 0x18, 0xae, 0x2, 0x95, 0x16, 0x8c, 0x19, 0x10, 0xf4, 0xec, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0xb1, 0x7, 0xb, 0x49, 0xb1, 0x2, 0x6, 0x49, 0x50, 0x58, 0xb3, 0x7, 0x6, 0x40, 0x2, 0x17, 0x38, 0x59, 0x30, 0x13, 0x16, 0x21, 0x20, 0x12, 0x37, 0x21, 0x35, 0x21, 0x26, 0x2, 0x21, 0x20, 0x7, 0x35, 0x36, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x27, 0x6f, 0xd3, 0x1, 0x0, 0x1, 0x8, 0xee, 0x16, 0xfc, 0xe2, 0x3, 0x1e, 0x16, 0xee, 0xfe, 0xf8, 0xff, 0x0, 0xd3, 0xd0, 0x1, 0xf, 0x1, 0x4f, 0x1, 0x86, 0xfe, 0x7a, 0xfe, 0xb1, 0xfe, 0xf5, 0xd4, 0x1, 0x46, 0xbd, 0x1, 0x1c, 0xef, 0xaa, 0xef, 0x1, 0x1d, 0xbd, 0xd5, 0x8e, 0xfe, 0x61, 0xfe, 0x99, 0xfe, 0x98, 0xfe, 0x61, 0x90, 0x0, 0x2, 0x0, 0xd3, 0xff, 0xe3, 0x8, 0x30, 0x5, 0xf0, 0x0, 0xf, 0x0, 0x26, 0x0, 0x38, 0x40, 0x1f, 0x0, 0x95, 0x14, 0x91, 0x27, 0x8, 0x95, 0x1c, 0x8c, 0x27, 0x21, 0x95, 0x26, 0xad, 0x24, 0x81, 0x23, 0x28, 0xc, 0x19, 0x18, 0x4, 0x19, 0x20, 0x10, 0x21, 0x25, 0x1c, 0x24, 0x4, 0x27, 0x10, 0xfc, 0xec, 0x32, 0xd4, 0x3c, 0xec, 0xd4, 0xec, 0xcc, 0x31, 0x0, 0x2f, 0xe4, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x22, 0x7, 0x6, 0x11, 0x10, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x11, 0x10, 0x27, 0x26, 0x1, 0x12, 0x37, 0x36, 0x21, 0x20, 0x17, 0x16, 0x11, 0x10, 0x7, 0x6, 0x21, 0x20, 0x27, 0x26, 0x3, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x5, 0x7e, 0xdc, 0x82, 0x81, 0x81, 0x82, 0xdc, 0xdc, 0x80, 0x81, 0x81, 0x80, 0xfc, 0x73, 0xe, 0xb4, 0xb4, 0x1, 0x3b, 0x1, 0x3a, 0xbc, 0xbc, 0xbc, 0xbc, 0xfe, 0xc6, 0xfe, 0xc5, 0xb4, 0xb4, 0xe, 0xfe, 0xd0, 0xca, 0xca, 0x5, 0x4c, 0xa4, 0xa4, 0xfe, 0xe5, 0xfe, 0xe6, 0xa4, 0xa4, 0xa4, 0xa4, 0x1, 0x1a, 0x1, 0x1b, 0xa4, 0xa4, 0xfd, 0xf3, 0x1, 0x18, 0xcd, 0xcc, 0xd2, 0xd3, 0xfe, 0x9e, 0xfe, 0x9f, 0xd2, 0xd3, 0xcd, 0xcd, 0x1, 0x18, 0xfd, 0x6b, 0x5, 0xd5, 0xfd, 0x6a, 0x0, 0x0, 0x0, 0x2, 0x0, 0x88, 0x0, 0x0, 0x4, 0xc6, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x16, 0x0, 0x40, 0x40, 0xb, 0x18, 0x4, 0x14, 0x5, 0x1c, 0x11, 0x0, 0x19, 0x9, 0xd, 0x17, 0x10, 0xd4, 0xc4, 0xec, 0xd4, 0xec, 0x32, 0xec, 0x31, 0x0, 0x40, 0xc, 0x42, 0x6, 0x95, 0x10, 0x81, 0x9, 0x15, 0x95, 0x3, 0xad, 0x13, 0x9, 0x2f, 0x3c, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x4b, 0x53, 0x58, 0xb7, 0x15, 0x11, 0xa, 0x16, 0x11, 0x9, 0xa, 0x9, 0x5, 0x7, 0x10, 0xec, 0x10, 0xec, 0x59, 0x1, 0x14, 0x16, 0x33, 0x21, 0x11, 0x21, 0x22, 0x6, 0x9, 0x1, 0x26, 0x24, 0x35, 0x34, 0x24, 0x29, 0x1, 0x11, 0x23, 0x11, 0x21, 0x1, 0x1, 0x9b, 0x95, 0x92, 0x1, 0x3a, 0xfe, 0xc6, 0x92, 0x95, 0xfe, 0xed, 0x1, 0x98, 0x64, 0xff, 0x0, 0x1, 0x4, 0x1, 0x2, 0x2, 0x4, 0xca, 0xfe, 0xf2, 0xfe, 0x76, 0x4, 0x27, 0x83, 0x87, 0x2, 0x12, 0x85, 0xfb, 0x56, 0x2, 0x8d, 0x1a, 0xa9, 0xd7, 0xce, 0xe0, 0xfa, 0x2b, 0x2, 0x77, 0xfd, 0x89, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0x2d, 0x4, 0x7b, 0x12, 0x6, 0x0, 0x44, 0x0, 0x0, 0x0, 0x2, 0x0, 0x70, 0xff, 0xe3, 0x4, 0x7f, 0x6, 0x37, 0x0, 0x1d, 0x0, 0x29, 0x0, 0x3a, 0x40, 0xe, 0x13, 0x14, 0x2b, 0x45, 0x27, 0x12, 0x3, 0x51, 0x1c, 0x21, 0x12, 0x9, 0x45, 0x2a, 0x10, 0xfc, 0xec, 0x32, 0xf4, 0xec, 0xec, 0xd4, 0xc4, 0x31, 0x0, 0x40, 0x11, 0x16, 0xa9, 0x11, 0x97, 0x2a, 0x24, 0xb9, 0x6, 0x1e, 0xb9, 0x9, 0x1c, 0x0, 0xb8, 0x6, 0x8c, 0x2a, 0x10, 0xe4, 0xf4, 0x39, 0x39, 0xec, 0x10, 0xee, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x32, 0x0, 0x11, 0x10, 0x0, 0x23, 0x22, 0x0, 0x3, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x24, 0x25, 0x36, 0x37, 0x17, 0x6, 0xf, 0x1, 0x6, 0x7, 0x6, 0xf, 0x1, 0x36, 0x17, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2, 0x7d, 0xf0, 0x1, 0x12, 0xfe, 0xee, 0xf0, 0xf1, 0xfe, 0xf6, 0x7, 0x6, 0x5, 0x3a, 0x5b, 0x1, 0x3b, 0x1, 0x8, 0x7a, 0x36, 0x33, 0x31, 0x2d, 0xfa, 0x7e, 0x4c, 0xc7, 0x13, 0x7, 0x82, 0xd3, 0x94, 0xac, 0xab, 0x95, 0x93, 0xac, 0xac, 0x4, 0x7b, 0xfe, 0xc8, 0xfe, 0xec, 0xfe, 0xed, 0xfe, 0xc7, 0x1, 0x30, 0x1, 0x1c, 0xe5, 0x77, 0x29, 0xa0, 0x76, 0xb9, 0xa0, 0x2, 0x1, 0x11, 0x92, 0x14, 0x1, 0x11, 0x9, 0x2c, 0x75, 0x99, 0x38, 0x77, 0x9c, 0xe7, 0xc9, 0xc9, 0xe7, 0xe8, 0xc8, 0xc7, 0xe9, 0x0, 0x0, 0x3, 0x0, 0xba, 0x0, 0x0, 0x4, 0x3e, 0x4, 0x60, 0x0, 0x8, 0x0, 0x11, 0x0, 0x20, 0x0, 0x2f, 0x40, 0xd, 0xe, 0x12, 0x16, 0x22, 0x5, 0x12, 0x1c, 0x0, 0x9, 0x8, 0x12, 0x46, 0x21, 0x10, 0xfc, 0xec, 0x32, 0xd4, 0xec, 0xcc, 0xd4, 0xec, 0x31, 0x0, 0x40, 0xb, 0x0, 0xa9, 0xa, 0x20, 0x9, 0xa9, 0x12, 0xbc, 0x1, 0xa9, 0x20, 0x2f, 0xec, 0xf4, 0xec, 0x10, 0xd4, 0xec, 0x30, 0x1, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x25, 0x21, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x21, 0x1, 0x72, 0x1, 0x6, 0x7e, 0x84, 0x84, 0x7e, 0xfe, 0xfa, 0xf2, 0x68, 0x84, 0x84, 0x68, 0xfe, 0x56, 0x1, 0xb6, 0xc5, 0xd4, 0x6c, 0x6a, 0x7f, 0x8c, 0xe7, 0xd6, 0xfe, 0x39, 0x2, 0x4, 0xfe, 0x8f, 0x5f, 0x5a, 0x5a, 0x5e, 0x1, 0xc9, 0xfe, 0xca, 0x53, 0x4a, 0x4a, 0x4f, 0x93, 0x90, 0x85, 0x67, 0x79, 0xf, 0x18, 0x98, 0x72, 0x96, 0xa4, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x3, 0xd0, 0x4, 0x60, 0x0, 0x5, 0x0, 0x19, 0xb6, 0x7, 0x2, 0x4, 0x8, 0x1, 0x46, 0x6, 0x10, 0xfc, 0xfc, 0xdc, 0xcc, 0x31, 0x0, 0xb4, 0x4, 0xa9, 0x1, 0xbc, 0x0, 0x2f, 0xf4, 0xec, 0x30, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0xba, 0x3, 0x16, 0xfd, 0xa3, 0x4, 0x60, 0x93, 0xfc, 0x33, 0x0, 0x0, 0x2, 0x0, 0x6b, 0xfe, 0xe5, 0x5, 0x1d, 0x4, 0x60, 0x0, 0x6, 0x0, 0x16, 0x0, 0x34, 0x40, 0xf, 0x2, 0x8, 0xd, 0x12, 0xa9, 0x18, 0xf, 0x16, 0x3, 0x8, 0xc, 0x13, 0xa9, 0x16, 0x17, 0x10, 0xdc, 0xec, 0xd4, 0xec, 0x10, 0xd4, 0xc4, 0xfc, 0x3c, 0xec, 0x31, 0x0, 0x40, 0xb, 0x3, 0xa9, 0xc, 0xbc, 0x11, 0x15, 0xe, 0x0, 0x16, 0xa9, 0x13, 0x2f, 0xec, 0x32, 0x32, 0xcc, 0x32, 0xf4, 0xec, 0x30, 0x25, 0x21, 0x11, 0x21, 0x15, 0x10, 0x7, 0x5, 0x36, 0x37, 0x36, 0x11, 0x35, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x1, 0xbb, 0x2, 0x16, 0xfe, 0x7d, 0x76, 0xfe, 0xd8, 0x5b, 0x28, 0x62, 0x2, 0xf5, 0x93, 0x93, 0xfc, 0x74, 0x93, 0x93, 0x3, 0x3a, 0x8c, 0xfe, 0x64, 0xdc, 0x36, 0x28, 0x55, 0xd3, 0x1, 0xa9, 0xd4, 0xfc, 0x33, 0xfe, 0x52, 0x1, 0x1b, 0xfe, 0xe5, 0x1, 0xae, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x7f, 0x4, 0x7b, 0x12, 0x6, 0x0, 0x48, 0x0, 0x0, 0x0, 0x1, 0x0, 0x46, 0x0, 0x0, 0x6, 0xef, 0x4, 0x60, 0x0, 0x13, 0x0, 0x98, 0x40, 0xb, 0x8, 0x5, 0x1, 0x4, 0x6, 0x9, 0x1, 0x8, 0xc, 0x0, 0x14, 0x10, 0xdc, 0x3c, 0xec, 0x32, 0xd4, 0xc4, 0x11, 0x39, 0x39, 0x31, 0x0, 0x40, 0x11, 0x42, 0xd, 0xc, 0x10, 0x13, 0x8, 0x9, 0x5, 0x2, 0x8, 0x12, 0x3, 0x0, 0xbc, 0xf, 0xa, 0x6, 0x2f, 0x3c, 0x3c, 0xec, 0x32, 0x32, 0x17, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x16, 0x7, 0x11, 0x6, 0x8, 0x11, 0x5, 0x9, 0x4, 0x6, 0x5, 0x3, 0x11, 0x4, 0x2, 0x11, 0x5, 0x8, 0x9, 0x9, 0x4, 0x9, 0x4, 0x9, 0x7, 0x10, 0x3c, 0x3c, 0x4, 0xed, 0x10, 0x5, 0xed, 0x7, 0x8, 0x10, 0xed, 0x5, 0x10, 0xed, 0x59, 0x1, 0x40, 0x13, 0xd, 0x1, 0x8, 0xe, 0x1, 0x7, 0xf, 0x1, 0x6, 0x10, 0x1, 0x5, 0x11, 0x1, 0x4, 0x12, 0x1, 0x3, 0x0, 0x10, 0x49, 0x3a, 0x49, 0x3a, 0x49, 0x3a, 0x49, 0x3a, 0x49, 0x3a, 0x49, 0x3a, 0x0, 0x40, 0x8, 0x13, 0x2, 0x10, 0x5, 0xd, 0x8, 0xc, 0x9, 0x10, 0x3c, 0x10, 0x3c, 0x10, 0x3c, 0x10, 0x3c, 0x1, 0x33, 0x11, 0x1, 0x33, 0x9, 0x1, 0x23, 0x1, 0x7, 0x11, 0x23, 0x11, 0x27, 0x1, 0x23, 0x9, 0x1, 0x33, 0x1, 0x3, 0x3f, 0xb7, 0x1, 0xe9, 0xd6, 0xfe, 0x6e, 0x1, 0xcc, 0xc5, 0xfe, 0x87, 0xbb, 0xb7, 0xbb, 0xfe, 0x87, 0xc5, 0x1, 0xcc, 0xfe, 0x6e, 0xd6, 0x1, 0xe9, 0x4, 0x60, 0xfd, 0xf2, 0x2, 0xe, 0xfe, 0x51, 0xfd, 0x4f, 0x2, 0x36, 0xc9, 0xfe, 0x93, 0x1, 0x6d, 0xc9, 0xfd, 0xca, 0x2, 0xb1, 0x1, 0xaf, 0xfd, 0xf2, 0x0, 0x0, 0x0, 0x1, 0x0, 0x85, 0xff, 0xe3, 0x3, 0xc8, 0x4, 0x7c, 0x0, 0x28, 0x0, 0x4e, 0x40, 0xb, 0x19, 0x12, 0x26, 0x2a, 0x10, 0x12, 0x3, 0x15, 0x20, 0xa, 0x29, 0x10, 0xdc, 0xc4, 0xc4, 0xd4, 0xec, 0xcc, 0xd4, 0xec, 0x31, 0x0, 0x40, 0x16, 0x20, 0x86, 0x1f, 0x88, 0x1c, 0xb9, 0x23, 0xb8, 0x29, 0x14, 0xa9, 0x15, 0x29, 0x9, 0x86, 0xa, 0x88, 0xd, 0xb9, 0x6, 0x8c, 0x29, 0x10, 0xf4, 0xfc, 0xb0, 0xc, 0x4b, 0x51, 0x58, 0xfc, 0x1b, 0xf4, 0x59, 0xec, 0x10, 0xd4, 0xec, 0x10, 0xf4, 0xfc, 0xb0, 0xc, 0x4b, 0x51, 0x58, 0xfc, 0x1b, 0xf4, 0x59, 0xec, 0x30, 0x1, 0x1e, 0x1, 0x15, 0x14, 0x4, 0x23, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x2, 0xc2, 0x7c, 0x8a, 0xfe, 0xfe, 0xee, 0x50, 0xa9, 0x5a, 0x47, 0xaa, 0x5d, 0x97, 0xa9, 0x96, 0x89, 0x94, 0x9b, 0x74, 0x87, 0x8b, 0x77, 0x47, 0xa1, 0x61, 0x62, 0xaa, 0x4c, 0xc4, 0xe3, 0x78, 0x2, 0x5c, 0x18, 0x92, 0x6c, 0xad, 0xb6, 0x1c, 0x1c, 0xab, 0x25, 0x25, 0x70, 0x5a, 0x58, 0x6b, 0x98, 0x59, 0x46, 0x40, 0x5c, 0x1a, 0x1d, 0xa7, 0x18, 0x18, 0x9d, 0x8d, 0x5d, 0x81, 0x0, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x4, 0x79, 0x4, 0x60, 0x0, 0x9, 0x0, 0x3f, 0x40, 0x15, 0x42, 0x8, 0x3, 0x9, 0x6, 0xbc, 0x2, 0x5, 0xb, 0x46, 0x9, 0x4, 0x7, 0x3, 0x8, 0x0, 0x7, 0x8, 0x6, 0x46, 0xa, 0x10, 0xfc, 0xec, 0xd4, 0xec, 0x11, 0x39, 0x39, 0xec, 0x31, 0x0, 0x2f, 0x3c, 0xe4, 0x32, 0x39, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x40, 0xa, 0x3, 0x11, 0x9, 0x9, 0x8, 0x8, 0x11, 0x4, 0x4, 0x3, 0x7, 0x10, 0xec, 0x7, 0x10, 0xec, 0x59, 0x1, 0x11, 0x23, 0x11, 0x1, 0x23, 0x11, 0x33, 0x11, 0x1, 0x4, 0x79, 0xb7, 0xfd, 0xe4, 0xec, 0xb7, 0x2, 0x1b, 0x4, 0x60, 0xfb, 0xa0, 0x3, 0x83, 0xfc, 0x7d, 0x4, 0x60, 0xfc, 0x7f, 0x3, 0x81, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x4, 0x79, 0x6, 0x14, 0x12, 0x26, 0x3, 0xcc, 0x0, 0x0, 0x11, 0x7, 0x2, 0x9a, 0x0, 0x9a, 0xff, 0xcc, 0x0, 0x23, 0xb4, 0x7, 0xa, 0x12, 0x3, 0x7, 0x2b, 0xb0, 0xe, 0x4b, 0x54, 0xb0, 0x10, 0x4b, 0x54, 0x5b, 0xb0, 0x15, 0x4b, 0x54, 0x5b, 0x58, 0xbb, 0x0, 0x12, 0x0, 0x40, 0x0, 0xa, 0xff, 0xc0, 0x38, 0x38, 0x59, 0x31, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x4, 0x91, 0x4, 0x60, 0x0, 0xb, 0x0, 0x59, 0x40, 0xb, 0x8, 0x5, 0x1, 0x4, 0x6, 0x9, 0x1, 0x8, 0x0, 0x46, 0xc, 0x10, 0xfc, 0xec, 0x32, 0xd4, 0xc4, 0x11, 0x39, 0x39, 0x31, 0x0, 0x40, 0xb, 0x42, 0x8, 0x9, 0x5, 0x2, 0x4, 0x3, 0x0, 0xbc, 0xa, 0x6, 0x2f, 0x3c, 0xec, 0x32, 0x17, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x16, 0x7, 0x11, 0x6, 0x8, 0x11, 0x5, 0x9, 0x4, 0x6, 0x5, 0x3, 0x11, 0x4, 0x2, 0x11, 0x5, 0x8, 0x9, 0x9, 0x4, 0x9, 0x4, 0x9, 0x7, 0x10, 0x3c, 0x3c, 0x4, 0xed, 0x10, 0x5, 0xed, 0x7, 0x8, 0x10, 0xed, 0x5, 0x10, 0xed, 0x59, 0x13, 0x33, 0x11, 0x1, 0x33, 0x9, 0x1, 0x23, 0x1, 0x7, 0x11, 0x23, 0xba, 0xb7, 0x2, 0x7, 0xe2, 0xfe, 0x54, 0x1, 0xe3, 0xce, 0xfe, 0x73, 0xc5, 0xb7, 0x4, 0x60, 0xfd, 0xf2, 0x2, 0xe, 0xfe, 0x4f, 0xfd, 0x51, 0x2, 0x35, 0xc8, 0xfe, 0x93, 0x0, 0x1, 0x0, 0x4c, 0x0, 0x0, 0x4, 0x73, 0x4, 0x60, 0x0, 0xf, 0x0, 0x24, 0x40, 0xa, 0x11, 0x46, 0xa, 0x8, 0x7, 0xb, 0x8, 0x6, 0x1, 0x10, 0x10, 0xd4, 0xd4, 0xec, 0xd4, 0xec, 0xec, 0x31, 0x0, 0xb7, 0xb, 0xa9, 0x6, 0xbc, 0x1, 0xa9, 0x0, 0x9, 0x2f, 0x3c, 0xec, 0xf4, 0xec, 0x30, 0x33, 0x35, 0x36, 0x37, 0x36, 0x11, 0x35, 0x21, 0x11, 0x23, 0x11, 0x21, 0x15, 0x10, 0x7, 0x6, 0x4c, 0xb6, 0x38, 0x44, 0x2, 0xf5, 0xb8, 0xfe, 0x7b, 0x58, 0x5e, 0x99, 0x1c, 0x7e, 0xb1, 0x1, 0xc5, 0xb7, 0xfb, 0xa0, 0x3, 0xcd, 0x6f, 0xfe, 0x50, 0xc2, 0xcf, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x5, 0x4f, 0x4, 0x60, 0x0, 0xc, 0x0, 0x4d, 0x40, 0x16, 0x42, 0xa, 0x7, 0x2, 0x3, 0x8, 0x3, 0x0, 0xbc, 0x9, 0x6, 0xc, 0xe, 0x46, 0x7, 0x8, 0x4, 0xa, 0x8, 0x0, 0x46, 0xd, 0x10, 0xfc, 0xec, 0xdc, 0xec, 0xec, 0x31, 0x0, 0x2f, 0x3c, 0xc4, 0xec, 0x32, 0x11, 0x17, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x12, 0x2, 0x11, 0x8, 0xa, 0x9, 0x3, 0x11, 0x7, 0x8, 0x7, 0x2, 0x11, 0x9, 0x1, 0x11, 0xa, 0xa, 0x9, 0x5, 0x7, 0x10, 0xed, 0x10, 0xed, 0x7, 0x10, 0xed, 0x8, 0x10, 0xed, 0x59, 0x13, 0x21, 0x9, 0x1, 0x21, 0x11, 0x23, 0x11, 0x1, 0x23, 0x1, 0x11, 0x23, 0xba, 0x1, 0xd, 0x1, 0x3e, 0x1, 0x3f, 0x1, 0xb, 0xb9, 0xfe, 0xcb, 0xb8, 0xfe, 0xca, 0xb9, 0x4, 0x60, 0xfd, 0x12, 0x2, 0xee, 0xfb, 0xa0, 0x3, 0xb0, 0xfd, 0x27, 0x2, 0xd9, 0xfc, 0x50, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x4, 0x81, 0x4, 0x60, 0x0, 0xb, 0x0, 0x27, 0x40, 0x14, 0x9, 0xa9, 0x2, 0x4, 0x0, 0xbc, 0x7, 0xb, 0xd, 0x46, 0x8, 0x4, 0x8, 0x5, 0x9, 0x1, 0x8, 0x0, 0x46, 0xc, 0x10, 0xfc, 0xec, 0x32, 0xdc, 0xec, 0x32, 0xec, 0x31, 0x0, 0x2f, 0x3c, 0xe4, 0x32, 0xdc, 0xec, 0x30, 0x13, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0xba, 0xb9, 0x2, 0x55, 0xb9, 0xb9, 0xfd, 0xab, 0xb9, 0x4, 0x60, 0xfe, 0x37, 0x1, 0xc9, 0xfb, 0xa0, 0x2, 0x4, 0xfd, 0xfc, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x4, 0x7b, 0x12, 0x6, 0x0, 0x52, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x4, 0x81, 0x4, 0x60, 0x0, 0x7, 0x0, 0x1f, 0x40, 0x10, 0x4, 0xa9, 0x7, 0xbc, 0x2, 0x6, 0x3, 0x8, 0x9, 0x46, 0x0, 0x4, 0x8, 0x7, 0x46, 0x8, 0x10, 0xfc, 0xec, 0xd4, 0xec, 0xec, 0x31, 0x0, 0x2f, 0x3c, 0xf4, 0xec, 0x30, 0x1, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x4, 0x81, 0xb9, 0xfd, 0xab, 0xb9, 0x4, 0x60, 0xfb, 0xa0, 0x3, 0xcd, 0xfc, 0x33, 0x4, 0x60, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0xa4, 0x4, 0x7b, 0x12, 0x6, 0x0, 0x53, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x3, 0xe7, 0x4, 0x7b, 0x12, 0x6, 0x0, 0x46, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3c, 0x0, 0x0, 0x4, 0x6d, 0x4, 0x60, 0x0, 0x7, 0x0, 0x1c, 0xb6, 0x9, 0x1, 0x3, 0x8, 0x6, 0x0, 0x8, 0x10, 0xdc, 0xd4, 0xfc, 0xdc, 0xcc, 0x31, 0x0, 0xb5, 0x3, 0x7, 0xa9, 0x0, 0xbc, 0x5, 0x2f, 0xf4, 0xec, 0x32, 0x30, 0x13, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x3c, 0x4, 0x31, 0xfe, 0x42, 0xb5, 0xfe, 0x42, 0x4, 0x60, 0x93, 0xfc, 0x33, 0x3, 0xcd, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3d, 0xfe, 0x56, 0x4, 0x7f, 0x4, 0x60, 0x12, 0x6, 0x0, 0x5c, 0x0, 0x0, 0x0, 0x3, 0x0, 0x70, 0xfe, 0x56, 0x6, 0x67, 0x5, 0xd5, 0x0, 0xa, 0x0, 0x28, 0x0, 0x33, 0x0, 0x42, 0x40, 0x11, 0x35, 0x45, 0x29, 0x12, 0x21, 0xc, 0x6, 0x19, 0x8, 0x27, 0x2e, 0x1a, 0x0, 0x12, 0x12, 0x45, 0x34, 0x10, 0xfc, 0xec, 0xd4, 0x3c, 0x3c, 0xfc, 0x3c, 0x3c, 0xd4, 0xec, 0xec, 0x31, 0x0, 0x40, 0x12, 0x2c, 0x8, 0xb9, 0x1e, 0x15, 0xb8, 0x19, 0x97, 0x34, 0x31, 0x3, 0xb9, 0x24, 0xf, 0x8c, 0xb, 0xbd, 0x34, 0x10, 0xec, 0xf4, 0x3c, 0xec, 0x32, 0x10, 0xe4, 0xf4, 0x3c, 0xec, 0x32, 0x30, 0x1, 0x14, 0x16, 0x33, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x1, 0x11, 0xe, 0x1, 0x23, 0x22, 0x2, 0x11, 0x10, 0x12, 0x33, 0x32, 0x16, 0x17, 0x11, 0x33, 0x11, 0x3e, 0x1, 0x33, 0x32, 0x12, 0x11, 0x10, 0x2, 0x23, 0x22, 0x26, 0x27, 0x11, 0x1, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x33, 0x32, 0x36, 0x1, 0x2f, 0x91, 0x7b, 0x62, 0x72, 0x72, 0x62, 0x7b, 0x91, 0x1, 0xe0, 0x39, 0x83, 0x53, 0xa7, 0xe9, 0xe9, 0xa7, 0x53, 0x83, 0x39, 0xb9, 0x39, 0x83, 0x53, 0xa7, 0xe9, 0xe9, 0xa7, 0x53, 0x83, 0x39, 0x1, 0xe0, 0x91, 0x7b, 0x62, 0x72, 0x72, 0x62, 0x7b, 0x91, 0x2, 0x2f, 0xeb, 0xc7, 0xa8, 0x2, 0x14, 0xa8, 0xc7, 0xfb, 0x3c, 0x2, 0x39, 0x5e, 0x4e, 0x1, 0x35, 0x1, 0x13, 0x1, 0x13, 0x1, 0x3d, 0x4c, 0x5e, 0x2, 0x4, 0xfd, 0xfc, 0x5e, 0x4c, 0xfe, 0xc3, 0xfe, 0xed, 0xfe, 0xed, 0xfe, 0xcb, 0x4e, 0x5e, 0xfd, 0xc7, 0x3, 0xd9, 0xeb, 0xc7, 0xa8, 0xfd, 0xec, 0xa8, 0xc7, 0x0, 0xff, 0xff, 0x0, 0x3b, 0x0, 0x0, 0x4, 0x79, 0x4, 0x60, 0x12, 0x6, 0x0, 0x5b, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0xfe, 0xe5, 0x5, 0x14, 0x4, 0x60, 0x0, 0xb, 0x0, 0x28, 0x40, 0xc, 0xd, 0x9, 0xa9, 0x6, 0x8, 0x0, 0x7, 0x3, 0x8, 0x2, 0x46, 0xc, 0x10, 0xfc, 0xec, 0xd4, 0x3c, 0xec, 0xfc, 0xcc, 0x31, 0x0, 0xb7, 0x6, 0x2, 0xbc, 0xb, 0x8, 0x4, 0xa9, 0x1, 0x2f, 0xec, 0x32, 0xcc, 0xf4, 0x3c, 0x30, 0x29, 0x1, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x23, 0x4, 0x81, 0xfc, 0x39, 0xb9, 0x2, 0x55, 0xb9, 0x93, 0x93, 0x4, 0x60, 0xfc, 0x33, 0x3, 0xcd, 0xfc, 0x33, 0xfe, 0x52, 0x0, 0x0, 0x0, 0x1, 0x0, 0x96, 0x0, 0x0, 0x4, 0x0, 0x4, 0x60, 0x0, 0x11, 0x0, 0x3b, 0x40, 0x11, 0x2, 0xa9, 0xd, 0xf, 0x7, 0xbc, 0x0, 0x13, 0x46, 0x1, 0xf, 0x8, 0x10, 0x8, 0x8, 0x7, 0x12, 0x10, 0xdc, 0xec, 0xd4, 0xec, 0x32, 0xec, 0x31, 0x0, 0x2f, 0xe4, 0x32, 0xd4, 0xec, 0xb0, 0x0, 0xb0, 0x2, 0x23, 0x49, 0xb0, 0xd, 0xb0, 0xf, 0x23, 0x49, 0x52, 0x58, 0xb1, 0x2, 0xd, 0xb8, 0xff, 0xc0, 0xb0, 0x2, 0x17, 0x38, 0x59, 0x30, 0x21, 0x11, 0x21, 0x22, 0x27, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x17, 0x16, 0x33, 0x21, 0x11, 0x33, 0x11, 0x3, 0x48, 0xfe, 0xa9, 0x99, 0x66, 0x5c, 0xb8, 0x34, 0x35, 0x68, 0x1, 0x29, 0xb8, 0x1, 0xd7, 0x5f, 0x56, 0xb8, 0x1, 0x1c, 0xfe, 0xf5, 0x75, 0x3b, 0x3b, 0x1, 0xf6, 0xfb, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x6, 0x98, 0x4, 0x60, 0x0, 0xb, 0x0, 0x29, 0x40, 0xd, 0xd, 0x46, 0x2, 0x8, 0x3, 0xa, 0x8, 0xb, 0x7, 0x8, 0x6, 0x46, 0xc, 0x10, 0xfc, 0xec, 0xd4, 0xfc, 0xd4, 0xec, 0xec, 0x31, 0x0, 0xb7, 0xa, 0x2, 0x6, 0xbc, 0x0, 0x8, 0xa9, 0x5, 0x2f, 0xec, 0x32, 0xf4, 0x3c, 0x3c, 0x30, 0x25, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x4, 0x5, 0x1, 0xda, 0xb9, 0xfa, 0x22, 0xb9, 0x1, 0xd9, 0xb9, 0x93, 0x3, 0xcd, 0xfb, 0xa0, 0x4, 0x60, 0xfc, 0x33, 0x3, 0xcd, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0xfe, 0xe5, 0x7, 0x2b, 0x4, 0x60, 0x0, 0xf, 0x0, 0x32, 0x40, 0xf, 0x11, 0xd, 0xa9, 0xa, 0x8, 0x0, 0xb, 0x6, 0x8, 0x7, 0x3, 0x8, 0x2, 0x46, 0x10, 0x10, 0xfc, 0xec, 0xd4, 0xfc, 0xd4, 0x3c, 0xec, 0xfc, 0xcc, 0x31, 0x0, 0x40, 0xa, 0x6, 0xa, 0x2, 0xbc, 0xf, 0xc, 0x8, 0x4, 0xa9, 0x1, 0x2f, 0xec, 0x32, 0x32, 0xcc, 0xf4, 0x3c, 0x3c, 0x30, 0x29, 0x1, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x23, 0x6, 0x98, 0xfa, 0x22, 0xb9, 0x1, 0xd9, 0xb9, 0x1, 0xda, 0xb9, 0x93, 0x93, 0x4, 0x60, 0xfc, 0x33, 0x3, 0xcd, 0xfc, 0x33, 0x3, 0xcd, 0xfc, 0x33, 0xfe, 0x52, 0x0, 0x0, 0x2, 0x0, 0x3e, 0x0, 0x0, 0x5, 0x2e, 0x4, 0x60, 0x0, 0xc, 0x0, 0x15, 0x0, 0x2c, 0x40, 0xb, 0x17, 0x45, 0x13, 0x12, 0x3, 0xe, 0xb, 0x8, 0x8, 0xa, 0x16, 0x10, 0xc4, 0xdc, 0xec, 0x32, 0xd4, 0xec, 0xec, 0x31, 0x0, 0x40, 0xb, 0x8, 0xa9, 0xb, 0xbc, 0x7, 0xe, 0xa9, 0xc, 0xf, 0xa9, 0x7, 0x2f, 0xec, 0xd4, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x5, 0x21, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x3, 0x71, 0xd6, 0xe7, 0xe7, 0xd6, 0xfe, 0x38, 0xfe, 0x95, 0x2, 0x24, 0x1, 0x7, 0xfe, 0xf9, 0x1, 0x7, 0x7e, 0x83, 0x83, 0x2, 0x97, 0xa3, 0xa8, 0xa8, 0xa4, 0x3, 0xcd, 0x93, 0xfe, 0x37, 0x93, 0xfe, 0x8f, 0x5f, 0x5a, 0x5a, 0x5e, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x5, 0x9b, 0x4, 0x7b, 0x10, 0x27, 0x0, 0xf3, 0x4, 0x22, 0x0, 0x0, 0x10, 0x6, 0x3, 0xe0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0x0, 0x0, 0x4, 0x3e, 0x4, 0x60, 0x0, 0x8, 0x0, 0x13, 0x0, 0x25, 0x40, 0xb, 0x15, 0x45, 0x0, 0x12, 0xf, 0x5, 0xb, 0x8, 0x9, 0x46, 0x14, 0x10, 0xfc, 0xec, 0x32, 0xd4, 0xec, 0xec, 0x31, 0x0, 0xb7, 0x4, 0xa9, 0xb, 0x9, 0xbc, 0x5, 0xa9, 0x13, 0x2f, 0xec, 0xe4, 0xd4, 0xec, 0x30, 0x1, 0x34, 0x26, 0x23, 0x21, 0x11, 0x21, 0x32, 0x36, 0x1, 0x33, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x21, 0x3, 0x7a, 0x83, 0x7e, 0xfe, 0xfa, 0x1, 0x6, 0x7e, 0x83, 0xfd, 0x40, 0xb9, 0x1, 0xe, 0xd6, 0xe7, 0xe7, 0xd6, 0xfe, 0x39, 0x1, 0x4c, 0x5a, 0x5e, 0xfe, 0x8f, 0x5f, 0x3, 0x6e, 0xfe, 0x37, 0xa3, 0xa8, 0xa8, 0xa4, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x71, 0xff, 0xe3, 0x3, 0xe7, 0x4, 0x7b, 0x0, 0x18, 0x0, 0x4d, 0x40, 0x9, 0x5, 0x8, 0x12, 0x13, 0x48, 0x7, 0xe, 0x0, 0x19, 0x10, 0xdc, 0x3c, 0xcc, 0xf4, 0xec, 0x32, 0x31, 0x0, 0x40, 0x17, 0xe, 0x86, 0xd, 0x88, 0xb, 0x18, 0x86, 0x0, 0x88, 0x2, 0xb9, 0x16, 0x7, 0xa9, 0x6, 0xbb, 0xb, 0xb9, 0x10, 0xb8, 0x16, 0x8c, 0x19, 0x10, 0xe4, 0xf4, 0xec, 0xf4, 0xee, 0x10, 0xfe, 0xf4, 0xee, 0x10, 0xf5, 0xee, 0xb1, 0x7, 0xb, 0x49, 0xb1, 0x2, 0x6, 0x49, 0x50, 0x58, 0xb3, 0x7, 0x6, 0x40, 0x2, 0x17, 0x38, 0x59, 0x30, 0x37, 0x16, 0x33, 0x32, 0x36, 0x37, 0x21, 0x35, 0x21, 0x2e, 0x1, 0x23, 0x22, 0x7, 0x35, 0x36, 0x33, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x22, 0x27, 0x71, 0x9e, 0x9d, 0x93, 0xd2, 0x13, 0xfd, 0xc8, 0x2, 0x32, 0xc, 0x9f, 0xc7, 0x9a, 0xa1, 0x9d, 0xa6, 0x1, 0x6, 0x1, 0x2d, 0xfe, 0xdb, 0xfe, 0xff, 0xbd, 0x93, 0xd5, 0x56, 0xab, 0xda, 0x93, 0x69, 0xdf, 0x56, 0xac, 0x46, 0xfe, 0xc3, 0xfe, 0xf1, 0xfe, 0xf2, 0xfe, 0xc2, 0x48, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc1, 0xff, 0xe3, 0x6, 0x4c, 0x4, 0x7b, 0x0, 0xb, 0x0, 0x1e, 0x0, 0x3a, 0x40, 0xf, 0x20, 0x45, 0x9, 0x12, 0x12, 0x3, 0x12, 0x18, 0xc, 0x19, 0x1d, 0x8, 0x1c, 0x46, 0x1f, 0x10, 0xfc, 0xec, 0x32, 0xd4, 0x3c, 0xec, 0xd4, 0xec, 0xec, 0x31, 0x0, 0x40, 0x10, 0x0, 0xb9, 0xf, 0xb8, 0x1b, 0x6, 0xb9, 0x15, 0x8c, 0x1b, 0x19, 0xa9, 0x1e, 0x1c, 0xbc, 0x1b, 0x2f, 0xe4, 0xd4, 0xec, 0x10, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x1, 0x36, 0x12, 0x33, 0x32, 0x0, 0x11, 0x10, 0x0, 0x23, 0x22, 0x0, 0x27, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x4, 0x4a, 0x94, 0xac, 0xab, 0x95, 0x93, 0xac, 0xac, 0xfd, 0x71, 0x13, 0xf9, 0xf0, 0xf0, 0x1, 0x12, 0xfe, 0xee, 0xf0, 0xf1, 0xfe, 0xf9, 0x9, 0xd0, 0xb8, 0xb8, 0x3, 0xdf, 0xe7, 0xc9, 0xc9, 0xe7, 0xe8, 0xc8, 0xc7, 0xe9, 0xfe, 0xc2, 0xbe, 0x1, 0x1c, 0xfe, 0xc8, 0xfe, 0xec, 0xfe, 0xed, 0xfe, 0xc7, 0x1, 0x2e, 0xf8, 0xfd, 0xf7, 0x4, 0x60, 0xfe, 0x41, 0x0, 0x2, 0x0, 0x74, 0x0, 0x0, 0x4, 0x22, 0x4, 0x60, 0x0, 0x8, 0x0, 0x16, 0x0, 0x3c, 0x40, 0x9, 0x14, 0x5, 0x8, 0x11, 0x0, 0x12, 0x9, 0xd, 0x17, 0x10, 0xd4, 0xc4, 0xec, 0xd4, 0xec, 0x32, 0x31, 0x0, 0x40, 0xb, 0x42, 0x6, 0xa9, 0x10, 0xbc, 0x9, 0x15, 0xa9, 0x3, 0x13, 0x9, 0x2f, 0x3c, 0xd4, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x4b, 0x53, 0x58, 0xb7, 0x15, 0x11, 0xa, 0x16, 0x11, 0x9, 0xa, 0x9, 0x5, 0x7, 0x10, 0xec, 0x10, 0xec, 0x59, 0x1, 0x14, 0x16, 0x3b, 0x1, 0x11, 0x23, 0x22, 0x6, 0x9, 0x1, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x33, 0x21, 0x11, 0x23, 0x11, 0x23, 0x1, 0x1, 0x7a, 0x80, 0x77, 0xf8, 0xf8, 0x77, 0x80, 0xfe, 0xfa, 0x1, 0x56, 0x74, 0x9a, 0xd7, 0xd9, 0x1, 0xb6, 0xb9, 0xe5, 0xfe, 0xb6, 0x3, 0x1d, 0x53, 0x5e, 0x1, 0x61, 0x5c, 0xfc, 0x8f, 0x1, 0xeb, 0x1a, 0x89, 0x8f, 0xa2, 0xa1, 0xfb, 0xa0, 0x1, 0xd9, 0xfe, 0x27, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x7f, 0x6, 0x6b, 0x12, 0x26, 0x3, 0xc9, 0x0, 0x0, 0x10, 0x6, 0x0, 0x43, 0x5a, 0x5, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x7f, 0x6, 0x10, 0x12, 0x26, 0x3, 0xc9, 0x0, 0x0, 0x11, 0x7, 0x0, 0x6a, 0x0, 0x96, 0x0, 0x0, 0x0, 0x85, 0xb1, 0x92, 0x97, 0x42, 0xb0, 0x93, 0xb0, 0x98, 0x42, 0xb1, 0x80, 0x4, 0x42, 0xb1, 0x81, 0x0, 0x42, 0x7c, 0xb0, 0xf, 0xb0, 0x1, 0x23, 0x49, 0xb0, 0x23, 0xb0, 0x1e, 0x23, 0x49, 0x61, 0xb0, 0x80, 0x62, 0x68, 0xb0, 0x23, 0x46, 0x61, 0xb0, 0xf, 0x46, 0x60, 0xb0, 0x92, 0x43, 0xb0, 0x1, 0x60, 0x23, 0x42, 0xb0, 0x92, 0x43, 0xb0, 0x1, 0x60, 0x43, 0xb0, 0x0, 0x55, 0x58, 0xb0, 0x1e, 0xb0, 0x92, 0x43, 0xb0, 0x1, 0x60, 0x43, 0x38, 0xb0, 0x1e, 0x11, 0xb0, 0x2, 0x35, 0x59, 0xb1, 0x80, 0x0, 0x42, 0xb1, 0x81, 0x0, 0x42, 0x18, 0xb0, 0xf, 0x10, 0xb0, 0x23, 0xb0, 0x1e, 0xb0, 0x1, 0x23, 0x49, 0x68, 0x3b, 0xb0, 0x23, 0x11, 0xb0, 0x3, 0x35, 0x0, 0xb0, 0x12, 0xb0, 0x23, 0x23, 0x49, 0xb0, 0x40, 0x50, 0x58, 0xb0, 0x23, 0xb0, 0x40, 0x38, 0xb0, 0x23, 0x11, 0xb0, 0x3, 0x35, 0xb0, 0x2, 0x35, 0x59, 0x0, 0x0, 0x1, 0x0, 0x2f, 0xfe, 0x56, 0x4, 0x90, 0x6, 0x14, 0x0, 0x1f, 0x0, 0x3f, 0x40, 0xf, 0x14, 0x17, 0x8, 0x10, 0x4e, 0x8, 0x1d, 0x9, 0x5, 0x8, 0x1, 0x3, 0x0, 0x46, 0x20, 0x10, 0xfc, 0x3c, 0xcc, 0xec, 0x32, 0x32, 0xcc, 0xf4, 0xfc, 0xcc, 0x31, 0x0, 0x40, 0x11, 0x14, 0xa9, 0x13, 0x1f, 0x8, 0x1, 0xa9, 0x7, 0x2, 0x4, 0x1a, 0x87, 0xa, 0xd, 0x4, 0x97, 0x1e, 0x2f, 0xec, 0xd4, 0xc4, 0xec, 0x10, 0xdc, 0x3c, 0xec, 0x32, 0x10, 0xd4, 0xec, 0x30, 0x13, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x11, 0x14, 0x0, 0x7, 0x35, 0x36, 0x12, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0xdf, 0xb0, 0xb0, 0xb9, 0x2, 0x1d, 0xfd, 0xe3, 0x42, 0xb2, 0x76, 0xb6, 0xd8, 0xfe, 0xa9, 0xd7, 0x7a, 0xf5, 0x7c, 0x7c, 0x9a, 0xa7, 0xb9, 0x3, 0xd1, 0x8f, 0x1, 0xb4, 0xfe, 0x4c, 0x8f, 0xfe, 0x6d, 0x65, 0x64, 0xe9, 0xfe, 0xea, 0xe2, 0xfe, 0x59, 0x29, 0x8c, 0x16, 0x1, 0x2e, 0xd2, 0xd0, 0x9f, 0xc4, 0x9e, 0xfe, 0xfb, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x3, 0xd8, 0x6, 0x6d, 0x12, 0x26, 0x3, 0xc7, 0x0, 0x0, 0x10, 0x7, 0x0, 0x76, 0x0, 0x86, 0x0, 0x7, 0x0, 0x1, 0x0, 0x71, 0xff, 0xe3, 0x3, 0xe7, 0x4, 0x7b, 0x0, 0x18, 0x0, 0x4e, 0x40, 0xa, 0xa, 0xb, 0x8, 0x12, 0x10, 0x2, 0x48, 0x16, 0x45, 0x19, 0x10, 0xfc, 0xe4, 0x32, 0xfc, 0x32, 0xcc, 0x31, 0x0, 0x40, 0x17, 0x2, 0x86, 0x3, 0x88, 0x5, 0x11, 0x86, 0x10, 0x88, 0xe, 0xb9, 0x13, 0x9, 0xa9, 0xa, 0xbb, 0x5, 0xb9, 0x0, 0xb8, 0x13, 0x8c, 0x19, 0x10, 0xe4, 0xf4, 0xec, 0xf4, 0xee, 0x10, 0xfe, 0xf4, 0xee, 0x10, 0xf5, 0xee, 0xb1, 0x9, 0x5, 0x49, 0xb1, 0xe, 0xa, 0x49, 0x50, 0x58, 0xb3, 0x9, 0xa, 0x40, 0x2, 0x17, 0x38, 0x59, 0x30, 0x1, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x6, 0x7, 0x21, 0x15, 0x21, 0x1e, 0x1, 0x33, 0x32, 0x37, 0x15, 0x6, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x2, 0xa4, 0xa6, 0x9d, 0xa1, 0x9a, 0xc7, 0x9f, 0xc, 0x2, 0x32, 0xfd, 0xc8, 0x13, 0xd2, 0x93, 0x9d, 0x9e, 0x93, 0xbd, 0xfe, 0xff, 0xfe, 0xdb, 0x1, 0x2d, 0x4, 0x7b, 0x46, 0xac, 0x56, 0xdf, 0x69, 0x93, 0xda, 0xab, 0x56, 0xaa, 0x48, 0x1, 0x3e, 0x1, 0xe, 0x1, 0xf, 0x1, 0x3d, 0xff, 0xff, 0x0, 0x6f, 0xff, 0xe3, 0x3, 0xc7, 0x4, 0x7b, 0x12, 0x6, 0x0, 0x56, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc1, 0x0, 0x0, 0x1, 0x79, 0x6, 0x14, 0x12, 0x6, 0x0, 0x4c, 0x0, 0x0, 0xff, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x2, 0x46, 0x6, 0x10, 0x10, 0x6, 0x0, 0xb1, 0x0, 0x0, 0xff, 0xff, 0xff, 0xdb, 0xfe, 0x56, 0x1, 0x79, 0x6, 0x14, 0x12, 0x6, 0x0, 0x4d, 0x0, 0x0, 0x0, 0x2, 0x0, 0x4c, 0x0, 0x0, 0x6, 0xbf, 0x4, 0x60, 0x0, 0x16, 0x0, 0x1f, 0x0, 0x36, 0x40, 0xe, 0x21, 0x45, 0x1a, 0x12, 0xc, 0x11, 0x8, 0x1e, 0x7, 0x12, 0x8, 0x6, 0x1, 0x20, 0x10, 0xd4, 0xd4, 0xec, 0xd4, 0x3c, 0xec, 0xd4, 0xec, 0xec, 0x31, 0x0, 0x40, 0xe, 0x1e, 0xa9, 0x9, 0x1f, 0xa9, 0x10, 0x12, 0xa9, 0x6, 0xbc, 0x1, 0xa9, 0x0, 0x10, 0x2f, 0x3c, 0xec, 0xf4, 0xec, 0x10, 0xec, 0xd4, 0xec, 0x30, 0x33, 0x35, 0x36, 0x37, 0x36, 0x11, 0x35, 0x21, 0x11, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x21, 0x11, 0x21, 0x15, 0x10, 0x7, 0x6, 0x25, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x1, 0x11, 0x4c, 0xb6, 0x38, 0x44, 0x2, 0xd8, 0xab, 0xd6, 0xe8, 0xe7, 0xd6, 0xfe, 0x9b, 0xfe, 0x9a, 0x58, 0x5e, 0x3, 0x78, 0x7e, 0x84, 0x84, 0x7e, 0xa3, 0x99, 0x1c, 0x7e, 0xb1, 0x1, 0xc5, 0xb7, 0xfe, 0x37, 0xa3, 0xa8, 0xa8, 0xa4, 0x3, 0xcd, 0x6f, 0xfe, 0x50, 0xc2, 0xcf, 0x76, 0x5f, 0x5a, 0x5a, 0x5e, 0xfe, 0x8f, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0x0, 0x0, 0x6, 0xb7, 0x4, 0x60, 0x0, 0x12, 0x0, 0x1b, 0x0, 0x38, 0x40, 0x10, 0x1d, 0x45, 0x16, 0x12, 0x5, 0xa, 0x12, 0x8, 0x1a, 0x0, 0xb, 0xf, 0x8, 0xd, 0x46, 0x1c, 0x10, 0xfc, 0xec, 0x32, 0xdc, 0x3c, 0xec, 0x32, 0xd4, 0xec, 0x31, 0x0, 0x40, 0xd, 0x13, 0xa9, 0x9, 0x1a, 0xb, 0xa9, 0x1, 0x10, 0x12, 0xe, 0xbc, 0x9, 0xd, 0x2f, 0x3c, 0xe4, 0x32, 0xdc, 0x3c, 0xec, 0x32, 0x10, 0xec, 0x30, 0x1, 0x11, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x21, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x1, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x1, 0x11, 0x4, 0x4e, 0xab, 0xd6, 0xe8, 0xe7, 0xd6, 0xfe, 0x9b, 0xfd, 0xde, 0xb9, 0xb9, 0x2, 0x22, 0x1, 0x5c, 0x7e, 0x84, 0x84, 0x7e, 0xa3, 0x4, 0x60, 0xfe, 0x37, 0xa3, 0xa8, 0xa8, 0xa4, 0x2, 0x4, 0xfd, 0xfc, 0x4, 0x60, 0xfe, 0x37, 0x1, 0xc9, 0xfc, 0x33, 0x5f, 0x5a, 0x5a, 0x5e, 0xfe, 0x8f, 0x0, 0x1, 0x0, 0x2f, 0x0, 0x0, 0x4, 0x89, 0x6, 0x14, 0x0, 0x1b, 0x0, 0x3a, 0x40, 0xf, 0x8, 0x19, 0x13, 0x8, 0x10, 0x4e, 0x19, 0x9, 0x5, 0x8, 0x1, 0x3, 0x0, 0x46, 0x1c, 0x10, 0xfc, 0x3c, 0xcc, 0xec, 0x32, 0x32, 0xf4, 0xec, 0x10, 0xcc, 0x31, 0x0, 0x40, 0xe, 0x8, 0x1, 0xa9, 0x7, 0x2, 0x4, 0x16, 0x87, 0xa, 0xd, 0x4, 0x97, 0x12, 0x1a, 0x2f, 0x3c, 0xec, 0xd4, 0xc4, 0xec, 0x10, 0xdc, 0x3c, 0xec, 0x32, 0x30, 0x13, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0xdf, 0xb0, 0xb0, 0xb9, 0x2, 0x1d, 0xfd, 0xe3, 0x42, 0xb3, 0x75, 0xbd, 0xca, 0xb8, 0x7c, 0x7c, 0x98, 0xa9, 0xb9, 0x3, 0xd1, 0x8f, 0x1, 0xb4, 0xfe, 0x4c, 0x8f, 0xfe, 0x6d, 0x65, 0x64, 0xea, 0xed, 0xfe, 0xd0, 0x1, 0x2a, 0x9f, 0x9e, 0xc1, 0xa1, 0xfe, 0xfb, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x4, 0x91, 0x6, 0x6d, 0x12, 0x26, 0x3, 0xce, 0x0, 0x0, 0x10, 0x6, 0x0, 0x76, 0x6f, 0x7, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x4, 0x79, 0x6, 0x6b, 0x12, 0x26, 0x3, 0xcc, 0x0, 0x0, 0x10, 0x6, 0x0, 0x43, 0x5d, 0x5, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3d, 0xfe, 0x56, 0x4, 0x7f, 0x6, 0x14, 0x12, 0x26, 0x3, 0xd7, 0x0, 0x0, 0x10, 0x6, 0x2, 0x9a, 0x5e, 0xcc, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0xfe, 0xe5, 0x4, 0x81, 0x4, 0x60, 0x0, 0xb, 0x0, 0x29, 0x40, 0xd, 0xd, 0x46, 0x6, 0x8, 0x7, 0xb, 0xa9, 0x9, 0x3, 0x8, 0x2, 0x46, 0xc, 0x10, 0xfc, 0xec, 0xd4, 0xfc, 0xd4, 0xec, 0xec, 0x31, 0x0, 0xb7, 0xb, 0x4, 0xa9, 0x6, 0x2, 0xbc, 0x9, 0x1, 0x2f, 0x3c, 0xe4, 0x32, 0xec, 0xcc, 0x30, 0x29, 0x1, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x23, 0x2, 0x54, 0xfe, 0x66, 0xb9, 0x2, 0x55, 0xb9, 0xfe, 0x66, 0x93, 0x4, 0x60, 0xfc, 0x33, 0x3, 0xcd, 0xfb, 0xa0, 0xfe, 0xe5, 0x0, 0x1, 0x0, 0x73, 0xff, 0xe3, 0x7, 0x5, 0x5, 0xd5, 0x0, 0x34, 0x0, 0x38, 0x40, 0x14, 0x24, 0x12, 0x25, 0x36, 0x10, 0x20, 0x1c, 0x29, 0x16, 0x1c, 0x17, 0xd, 0x1c, 0x4, 0x9, 0x12, 0x8, 0x4, 0x10, 0x35, 0x10, 0xfc, 0xdc, 0xec, 0x10, 0xec, 0xd4, 0xfc, 0xd4, 0xec, 0xec, 0xdc, 0xec, 0x31, 0x0, 0x40, 0x9, 0x16, 0x24, 0x8, 0x81, 0x11, 0x1c, 0x95, 0x2d, 0x0, 0x2f, 0x3c, 0xec, 0x32, 0xf4, 0x3c, 0xcc, 0x30, 0x5, 0x22, 0x27, 0x26, 0x11, 0x34, 0x13, 0x36, 0x37, 0x33, 0x6, 0x3, 0x6, 0x15, 0x10, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x3d, 0x1, 0x33, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x11, 0x34, 0x27, 0x2, 0x27, 0x33, 0x16, 0x17, 0x12, 0x15, 0x10, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x6, 0x7, 0x6, 0x2, 0x3a, 0xd3, 0x79, 0x7b, 0x64, 0x3b, 0x5d, 0xf9, 0x54, 0x87, 0x43, 0x48, 0x49, 0x7d, 0x72, 0x48, 0x47, 0xc7, 0x46, 0x46, 0x74, 0x86, 0x41, 0x47, 0x43, 0x87, 0x54, 0xfa, 0x5f, 0x38, 0x64, 0x7b, 0x7b, 0xd1, 0x92, 0x65, 0x64, 0x27, 0x27, 0x64, 0x65, 0x1d, 0xb1, 0xb4, 0x1, 0x98, 0xc9, 0x1, 0xe, 0x9f, 0x7f, 0x46, 0xfe, 0xbf, 0x9f, 0xb7, 0xfe, 0xcd, 0x6b, 0x6d, 0x69, 0x68, 0xc6, 0xf1, 0xf1, 0xc6, 0x68, 0x69, 0x6d, 0x77, 0x1, 0x27, 0xb7, 0x9f, 0x1, 0x41, 0x46, 0x82, 0x9c, 0xfe, 0xe7, 0xbe, 0xfe, 0x66, 0xb2, 0xb1, 0x5e, 0x5e, 0xad, 0xad, 0x5e, 0x5e, 0xff, 0xff, 0x0, 0x87, 0xff, 0xe3, 0x6, 0x27, 0x4, 0x60, 0x10, 0x6, 0x3, 0x5d, 0x0, 0x0, 0x0, 0x2, 0x0, 0x1e, 0x0, 0x0, 0x5, 0xb1, 0x5, 0xd5, 0x0, 0x12, 0x0, 0x1d, 0x0, 0x3a, 0x40, 0xe, 0x1f, 0x13, 0x19, 0x5, 0xd, 0x11, 0x19, 0xf, 0x0, 0x1c, 0xb, 0x9, 0xd, 0x1e, 0x10, 0xdc, 0x3c, 0xcc, 0xfc, 0x3c, 0x3c, 0xcc, 0x10, 0xd4, 0xec, 0xcc, 0x31, 0x0, 0x40, 0xf, 0xa, 0x12, 0x95, 0xc, 0x10, 0xe, 0x81, 0x9, 0x18, 0x95, 0x1, 0xad, 0x19, 0x95, 0x9, 0x2f, 0xec, 0xf4, 0xec, 0x10, 0xf4, 0xd4, 0x3c, 0xec, 0x32, 0x30, 0x1, 0x15, 0x21, 0x32, 0x4, 0x15, 0x14, 0x4, 0x23, 0x21, 0x11, 0x21, 0x35, 0x21, 0x35, 0x33, 0x15, 0x21, 0x15, 0x1, 0x34, 0x27, 0x26, 0x23, 0x21, 0x11, 0x21, 0x32, 0x37, 0x36, 0x2, 0x58, 0x1, 0x4e, 0xfb, 0x1, 0x10, 0xfe, 0xf0, 0xfb, 0xfd, 0xe8, 0xfe, 0x90, 0x1, 0x70, 0xca, 0x1, 0x71, 0x1, 0x13, 0x4f, 0x4e, 0xa3, 0xfe, 0xbc, 0x1, 0x44, 0xa3, 0x4e, 0x4f, 0x4, 0x51, 0xe2, 0xda, 0xde, 0xdd, 0xda, 0x4, 0x51, 0xa4, 0xe0, 0xe0, 0xa4, 0xfd, 0x66, 0x8b, 0x44, 0x43, 0xfd, 0xdd, 0x44, 0x43, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x1e, 0x0, 0x0, 0x4, 0xe7, 0x6, 0x14, 0x0, 0x7, 0x0, 0x19, 0x0, 0x3a, 0x40, 0xf, 0x1b, 0x45, 0x0, 0x12, 0x17, 0x9, 0x11, 0x5, 0x13, 0xf, 0x1c, 0xb, 0x9, 0xd, 0x1a, 0x10, 0xdc, 0x3c, 0xcc, 0xfc, 0x3c, 0x3c, 0xcc, 0x10, 0xd4, 0xec, 0xec, 0x31, 0x0, 0x40, 0xe, 0x9, 0x11, 0xa9, 0xb, 0xf, 0xd, 0x4, 0xa9, 0x13, 0xd, 0x97, 0x5, 0xa9, 0x8, 0x2f, 0xec, 0xe4, 0xd4, 0xec, 0x10, 0xd4, 0x3c, 0xec, 0x32, 0x30, 0x24, 0x34, 0x26, 0x23, 0x21, 0x11, 0x21, 0x32, 0x5, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x32, 0x16, 0x10, 0x6, 0x23, 0x4, 0x23, 0x83, 0x7e, 0xfe, 0xfa, 0x1, 0x6, 0x7e, 0xfd, 0xc3, 0xfe, 0xbb, 0x1, 0x45, 0xb9, 0x1, 0xa9, 0xfe, 0x57, 0x1, 0xe, 0xd6, 0xe7, 0xe7, 0xd6, 0xf2, 0xb4, 0x5e, 0xfe, 0x8f, 0x93, 0x3, 0xcd, 0x93, 0x1, 0xb4, 0xfe, 0x4c, 0x93, 0xfe, 0xca, 0xa3, 0xfe, 0xb0, 0xa4, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd3, 0xff, 0xe3, 0x7, 0x1b, 0x5, 0xf0, 0x0, 0x2b, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x12, 0x37, 0x36, 0x21, 0x32, 0x17, 0x16, 0x17, 0x15, 0x26, 0x27, 0x26, 0x23, 0x20, 0x7, 0x6, 0x7, 0x21, 0x15, 0x21, 0x12, 0x17, 0x16, 0x21, 0x32, 0x37, 0x36, 0x37, 0x15, 0x6, 0x7, 0x6, 0x23, 0x20, 0x27, 0x26, 0x3, 0x1, 0x9d, 0xca, 0xca, 0xd2, 0x1e, 0x9d, 0xc3, 0x1, 0x53, 0x86, 0x76, 0x77, 0x68, 0x66, 0x73, 0x74, 0x82, 0xff, 0x0, 0x88, 0x67, 0x19, 0x2, 0xb2, 0xfd, 0x46, 0x7, 0x81, 0x89, 0x0, 0xff, 0x82, 0x74, 0x73, 0x66, 0x6a, 0x77, 0x76, 0x84, 0xfe, 0xad, 0xc3, 0xba, 0x9, 0x2, 0xc7, 0xfd, 0x39, 0x5, 0xd5, 0xfd, 0x9c, 0x1, 0x8, 0xa7, 0xd0, 0x24, 0x23, 0x47, 0xd5, 0x5f, 0x2f, 0x2f, 0x9c, 0x77, 0xc6, 0xaa, 0xfe, 0xf3, 0x94, 0x9d, 0x2f, 0x2f, 0x5f, 0xd3, 0x48, 0x24, 0x24, 0xcf, 0xc6, 0x1, 0x4f, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc1, 0xff, 0xe3, 0x5, 0x81, 0x4, 0x7b, 0x0, 0x23, 0x0, 0x0, 0x1, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x21, 0x15, 0x21, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x15, 0x6, 0x23, 0x20, 0x27, 0x26, 0x27, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x36, 0x37, 0x36, 0x4, 0x3e, 0xa6, 0x9d, 0xa1, 0x9a, 0xe6, 0x5c, 0x22, 0xc, 0x1, 0xcc, 0xfe, 0x2c, 0xd, 0x9e, 0x55, 0x78, 0x9d, 0x9e, 0x93, 0xbc, 0xfe, 0xf3, 0x94, 0x7b, 0xa, 0x93, 0xb8, 0xb8, 0x98, 0x17, 0x7a, 0x97, 0x4, 0x7b, 0x46, 0xac, 0x56, 0xb4, 0x41, 0x57, 0x8f, 0xf4, 0x5e, 0x33, 0x56, 0xaa, 0x48, 0xad, 0x90, 0xe4, 0xfd, 0xfc, 0x4, 0x60, 0xfe, 0x33, 0xca, 0x80, 0x9e, 0x0, 0x0, 0x2, 0x0, 0x10, 0x0, 0x0, 0x6, 0xf8, 0x5, 0xd5, 0x0, 0xb, 0x0, 0xe, 0x0, 0x0, 0x21, 0x23, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x1, 0x23, 0x1, 0x33, 0x13, 0x9, 0x1, 0x6, 0xf8, 0xe1, 0xfe, 0xea, 0xfe, 0xe9, 0xca, 0xfe, 0xe7, 0xfe, 0xea, 0xe1, 0x3, 0x2, 0xe5, 0xb1, 0xfe, 0xdc, 0xfe, 0xdc, 0x2, 0x1b, 0xfd, 0xe5, 0x2, 0x1b, 0xfd, 0xe5, 0x5, 0xd5, 0xfc, 0xf3, 0x2, 0x37, 0xfd, 0xc9, 0x0, 0x2, 0x0, 0x33, 0x0, 0x0, 0x6, 0x11, 0x4, 0x60, 0x0, 0xb, 0x0, 0xe, 0x0, 0x0, 0x21, 0x23, 0x3, 0x23, 0x11, 0x23, 0x11, 0x23, 0x3, 0x23, 0x1, 0x33, 0x13, 0xb, 0x1, 0x6, 0x11, 0xc3, 0xec, 0xe3, 0xb8, 0xe5, 0xec, 0xc3, 0x2, 0x8e, 0xc3, 0x91, 0xf3, 0xf3, 0x1, 0x95, 0xfe, 0x6b, 0x1, 0x95, 0xfe, 0x6b, 0x4, 0x60, 0xfd, 0xb9, 0x1, 0xa1, 0xfe, 0x5f, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc9, 0x0, 0x0, 0x9, 0x14, 0x5, 0xd5, 0x0, 0x13, 0x0, 0x16, 0x0, 0x0, 0x21, 0x23, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x1, 0x23, 0x1, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x1, 0x33, 0x13, 0x9, 0x1, 0x9, 0x14, 0xe1, 0xfe, 0xea, 0xfe, 0xe9, 0xca, 0xfe, 0xe7, 0xfe, 0xea, 0xe1, 0x1, 0x6f, 0xfd, 0xf8, 0xca, 0xca, 0x2, 0x5f, 0x1, 0x3c, 0xe5, 0xb1, 0xfe, 0xdc, 0xfe, 0xdc, 0x2, 0x1b, 0xfd, 0xe5, 0x2, 0x1b, 0xfd, 0xe5, 0x2, 0xc7, 0xfd, 0x39, 0x5, 0xd5, 0xfd, 0x9c, 0x2, 0x64, 0xfc, 0xf3, 0x2, 0x37, 0xfd, 0xc9, 0x0, 0x2, 0x0, 0xc1, 0x0, 0x0, 0x7, 0xd0, 0x4, 0x60, 0x0, 0x13, 0x0, 0x16, 0x0, 0x0, 0x21, 0x23, 0x3, 0x23, 0x11, 0x23, 0x11, 0x23, 0x3, 0x23, 0x1, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x1, 0x33, 0x13, 0xb, 0x1, 0x7, 0xd0, 0xc3, 0xec, 0xe3, 0xb8, 0xe5, 0xec, 0xc3, 0x1, 0x1c, 0xfe, 0x6b, 0xb8, 0xb8, 0x1, 0xe9, 0x1, 0x1e, 0xc3, 0x91, 0xf3, 0xf3, 0x1, 0x95, 0xfe, 0x6b, 0x1, 0x95, 0xfe, 0x6b, 0x1, 0xe7, 0xfe, 0x19, 0x4, 0x60, 0xfe, 0x17, 0x1, 0xe9, 0xfd, 0xb9, 0x1, 0xa1, 0xfe, 0x5f, 0x0, 0x0, 0x0, 0x2, 0x0, 0x73, 0x0, 0x0, 0x5, 0xd9, 0x5, 0xd5, 0x0, 0x17, 0x0, 0x1a, 0x0, 0x82, 0x40, 0x14, 0x19, 0x1a, 0xe, 0xd, 0x14, 0x1c, 0xf, 0x13, 0xe, 0x0, 0x7, 0x1c, 0xc, 0x8, 0xd, 0x18, 0x0, 0x1c, 0x3, 0x1b, 0x10, 0xdc, 0xec, 0x39, 0xcc, 0xdc, 0xb4, 0xf, 0x8, 0x4f, 0x8, 0x2, 0x5d, 0x39, 0xec, 0x10, 0xcc, 0xdc, 0xb6, 0x0, 0x13, 0x40, 0xe, 0x40, 0x13, 0x3, 0x5d, 0x39, 0xec, 0x11, 0x12, 0x39, 0x39, 0x31, 0x0, 0x40, 0xe, 0x42, 0xc, 0xf, 0x11, 0x0, 0x3, 0x19, 0x95, 0x18, 0xd, 0x81, 0x14, 0x8, 0x2, 0x2f, 0x3c, 0x3c, 0xf4, 0x39, 0xec, 0xd4, 0x3c, 0xec, 0x32, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x14, 0x18, 0x11, 0xf, 0x1a, 0x18, 0x19, 0x11, 0xe, 0xf, 0xe, 0x18, 0x11, 0xc, 0x19, 0x18, 0x1a, 0x11, 0xd, 0xc, 0xd, 0x7, 0x5, 0x10, 0xed, 0x8, 0x10, 0xed, 0x7, 0x5, 0x10, 0xed, 0x8, 0x10, 0xed, 0x59, 0xb2, 0x40, 0x1c, 0x1, 0x1, 0x5d, 0x1, 0x11, 0x23, 0x11, 0x6, 0x7, 0x6, 0x11, 0x23, 0x10, 0x37, 0x36, 0x37, 0x1, 0x21, 0x1, 0x16, 0x17, 0x16, 0x11, 0x23, 0x10, 0x27, 0x26, 0x27, 0x1, 0x21, 0x3, 0x8b, 0xca, 0x93, 0x64, 0x82, 0xd5, 0xbd, 0x78, 0xaa, 0xfe, 0x51, 0x5, 0x12, 0xfe, 0x50, 0xa4, 0x74, 0xbc, 0xd5, 0x80, 0x60, 0xf8, 0x1, 0x3e, 0xfd, 0x83, 0x2, 0x59, 0xfd, 0xa7, 0x2, 0x59, 0x1c, 0x7e, 0xa4, 0xfe, 0xe5, 0x1, 0x62, 0xd2, 0x86, 0x31, 0x2, 0xea, 0xfd, 0x13, 0x32, 0x82, 0xd2, 0xfe, 0x9e, 0x1, 0x1e, 0xa1, 0x7a, 0xca, 0x2, 0x28, 0x0, 0x2, 0x0, 0x6b, 0x0, 0x0, 0x4, 0x7b, 0x4, 0x60, 0x0, 0x2, 0x0, 0x1a, 0x0, 0x7e, 0x40, 0x14, 0x0, 0x1, 0x3, 0x1a, 0x9, 0x1c, 0x4, 0x8, 0x3, 0xd, 0x14, 0x1c, 0x19, 0x15, 0x1a, 0x2, 0xd, 0x1c, 0x10, 0x1b, 0x10, 0xdc, 0xec, 0x39, 0xcc, 0xdc, 0xb2, 0x80, 0x15, 0x1, 0x5d, 0x39, 0xec, 0x10, 0xcc, 0xdc, 0xb2, 0x30, 0x3, 0x1, 0x5d, 0x39, 0xec, 0x11, 0x12, 0x39, 0x39, 0x31, 0x0, 0x40, 0xe, 0x42, 0x19, 0x4, 0x11, 0xd, 0x10, 0x0, 0x95, 0x2, 0x1a, 0xbc, 0x9, 0x15, 0xf, 0x2f, 0x3c, 0x3c, 0xf4, 0x39, 0xec, 0xd4, 0x3c, 0xec, 0x32, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x14, 0x2, 0x11, 0x4, 0x1, 0x2, 0x0, 0x11, 0x3, 0x4, 0x3, 0x2, 0x11, 0x19, 0x0, 0x2, 0x1, 0x11, 0x1a, 0x19, 0x1a, 0x7, 0x5, 0x10, 0xed, 0x8, 0x10, 0xed, 0x7, 0x5, 0x10, 0xed, 0x8, 0x10, 0xed, 0x59, 0xb4, 0x70, 0x1c, 0x8f, 0x1c, 0x2, 0x1, 0x5d, 0x1, 0x21, 0x13, 0x9, 0x1, 0x16, 0x17, 0x16, 0x11, 0x23, 0x34, 0x27, 0x26, 0x27, 0x11, 0x23, 0x11, 0x6, 0x7, 0x6, 0x15, 0x23, 0x10, 0x37, 0x36, 0x37, 0x1, 0x3, 0x45, 0xfe, 0x5d, 0xd1, 0x2, 0x8, 0xfe, 0xbb, 0x6b, 0x4b, 0x89, 0xc3, 0x56, 0x3a, 0x56, 0xb8, 0x53, 0x38, 0x56, 0xc2, 0x89, 0x4a, 0x6c, 0xfe, 0xbb, 0x3, 0xb6, 0xfe, 0x96, 0x2, 0x14, 0xfd, 0xcc, 0x26, 0x56, 0x9c, 0xfe, 0xec, 0xc7, 0x74, 0x4f, 0x1a, 0xfe, 0x5c, 0x1, 0xa2, 0x1a, 0x4b, 0x74, 0xc9, 0x1, 0x14, 0x9c, 0x55, 0x27, 0x2, 0x34, 0x0, 0x0, 0x2, 0x0, 0xc9, 0x0, 0x0, 0x7, 0xc4, 0x5, 0xd5, 0x0, 0x1e, 0x0, 0x21, 0x0, 0x0, 0x9, 0x1, 0x21, 0x1, 0x16, 0x17, 0x16, 0x11, 0x23, 0x10, 0x27, 0x26, 0x27, 0x11, 0x23, 0x11, 0x6, 0x7, 0x6, 0x11, 0x23, 0x10, 0x37, 0x36, 0x37, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x5, 0x1, 0x21, 0x3, 0xef, 0xfe, 0x9f, 0x5, 0x12, 0xfe, 0x50, 0xa4, 0x74, 0xbc, 0xd5, 0x80, 0x60, 0x99, 0xca, 0x93, 0x64, 0x82, 0xd5, 0xbd, 0x55, 0x6e, 0xfd, 0xb5, 0xca, 0xca, 0x3, 0x84, 0x1, 0x3e, 0xfd, 0x83, 0x3, 0x71, 0x2, 0x64, 0xfd, 0x13, 0x32, 0x82, 0xd2, 0xfe, 0x9e, 0x1, 0x1e, 0xa1, 0x7a, 0x20, 0xfd, 0xa7, 0x2, 0x59, 0x1c, 0x7e, 0xa4, 0xfe, 0xe5, 0x1, 0x62, 0xd2, 0x5f, 0x34, 0xfd, 0x39, 0x5, 0xd5, 0xfd, 0x9c, 0x6e, 0x2, 0x28, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc1, 0x0, 0x0, 0x6, 0x2e, 0x4, 0x60, 0x0, 0x1e, 0x0, 0x21, 0x0, 0x0, 0x9, 0x1, 0x21, 0x1, 0x16, 0x17, 0x16, 0x11, 0x23, 0x34, 0x27, 0x26, 0x27, 0x11, 0x23, 0x11, 0x6, 0x7, 0x6, 0x15, 0x23, 0x10, 0x37, 0x36, 0x37, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x1, 0x21, 0x13, 0x3, 0x37, 0xfe, 0xe7, 0x4, 0x10, 0xfe, 0xbb, 0x6b, 0x4b, 0x89, 0xc3, 0x56, 0x3a, 0x56, 0xb8, 0x53, 0x38, 0x56, 0xc2, 0x89, 0x1b, 0x1f, 0xfe, 0x92, 0xb8, 0xb8, 0x3, 0x7f, 0xfe, 0x5d, 0xd1, 0x2, 0x77, 0x1, 0xe9, 0xfd, 0xcc, 0x26, 0x56, 0x9c, 0xfe, 0xec, 0xc7, 0x74, 0x4f, 0x1a, 0xfe, 0x5c, 0x1, 0xa2, 0x1a, 0x4b, 0x74, 0xc9, 0x1, 0x14, 0x9c, 0x1f, 0x18, 0xfe, 0x19, 0x4, 0x60, 0xfe, 0x17, 0x1, 0x3f, 0xfe, 0x96, 0x0, 0x1, 0x0, 0x73, 0xfe, 0x56, 0x4, 0x73, 0x7, 0x7a, 0x0, 0x53, 0x0, 0x0, 0x1, 0x14, 0x7, 0x6, 0x23, 0x22, 0x26, 0x23, 0x22, 0x15, 0x14, 0x33, 0x32, 0x37, 0x36, 0x17, 0x16, 0x17, 0x15, 0x26, 0x23, 0x22, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x21, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x35, 0x32, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x21, 0x22, 0x7, 0x35, 0x36, 0x37, 0x3, 0x33, 0x13, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x15, 0x27, 0x26, 0x23, 0x22, 0xf, 0x1, 0x16, 0x17, 0x16, 0x15, 0x10, 0x5, 0x16, 0x17, 0x16, 0x4, 0x73, 0x73, 0x98, 0xc6, 0x44, 0xba, 0x23, 0x60, 0xdc, 0x41, 0x80, 0x74, 0x20, 0x62, 0x54, 0x44, 0x74, 0x3b, 0xfc, 0x3c, 0x7d, 0x4a, 0xa3, 0x35, 0x3f, 0x75, 0x1, 0x5f, 0x68, 0x46, 0x41, 0xbb, 0x58, 0xf9, 0x12, 0x56, 0x17, 0xa3, 0x52, 0x75, 0xfe, 0xc5, 0xa5, 0xde, 0xa0, 0x81, 0x9f, 0x73, 0xa0, 0x6a, 0x1e, 0xf, 0x17, 0x17, 0x23, 0x42, 0x1a, 0x23, 0x27, 0xb, 0xf, 0x22, 0x32, 0x5a, 0xa6, 0x62, 0x72, 0xfe, 0xef, 0x8d, 0x52, 0x55, 0x1, 0xbe, 0xcf, 0x67, 0x88, 0x8, 0x82, 0x72, 0xc, 0xb, 0x2, 0x7, 0x25, 0xa7, 0x27, 0x1b, 0x2c, 0x61, 0x92, 0x7a, 0x51, 0x5e, 0x58, 0x52, 0x6a, 0xbd, 0x37, 0x19, 0xa6, 0x2, 0x26, 0x36, 0x8d, 0xee, 0x4a, 0xb4, 0x2d, 0xd, 0x1, 0x83, 0xfe, 0x83, 0xde, 0x40, 0x18, 0x27, 0x12, 0x1b, 0xa, 0x57, 0x5, 0x2, 0x6f, 0xca, 0x18, 0x57, 0x64, 0xa7, 0xfe, 0xfd, 0x45, 0x1e, 0x5c, 0x60, 0x0, 0x0, 0x1, 0x0, 0x5b, 0xfe, 0x74, 0x3, 0xc8, 0x6, 0x6, 0x0, 0x4f, 0x0, 0x0, 0x1, 0x14, 0x7, 0x6, 0x23, 0x22, 0x26, 0x23, 0x22, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x10, 0x33, 0x21, 0x32, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x22, 0x23, 0x35, 0x32, 0x17, 0x32, 0x33, 0x20, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x35, 0x36, 0x37, 0x3, 0x33, 0x13, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0xf, 0x1, 0x4, 0x15, 0x14, 0x7, 0x16, 0x17, 0x16, 0x3, 0xc8, 0x76, 0x6d, 0xa2, 0x44, 0xa8, 0x19, 0x50, 0x62, 0x21, 0x27, 0x2c, 0xb2, 0x2d, 0x63, 0x58, 0x3b, 0x62, 0x31, 0xd2, 0x32, 0x69, 0x3f, 0x89, 0xc4, 0x1, 0x2c, 0x5a, 0x6e, 0x4e, 0x3c, 0x72, 0x5, 0xb2, 0xb, 0x21, 0x20, 0x15, 0x1, 0x35, 0x5e, 0x48, 0x5c, 0x91, 0xb8, 0x7e, 0x66, 0x9f, 0x73, 0xa0, 0x6a, 0x2f, 0x15, 0x2b, 0x51, 0x1a, 0x23, 0x32, 0xf, 0x22, 0x32, 0x5b, 0x1, 0x30, 0xe8, 0x6f, 0x47, 0x50, 0x1, 0x52, 0x9e, 0x5e, 0x56, 0x8, 0x81, 0x61, 0x1b, 0x9, 0x24, 0x27, 0x8b, 0x22, 0x17, 0x25, 0x52, 0x97, 0x1, 0xc, 0x60, 0x59, 0x4c, 0x38, 0x2b, 0x8, 0x98, 0x1, 0xa0, 0x51, 0x2a, 0x21, 0x37, 0xa7, 0x1f, 0xb, 0x1, 0x83, 0xfe, 0x83, 0xde, 0x63, 0x17, 0x32, 0xa, 0x57, 0x7, 0x6f, 0xca, 0x2f, 0xf2, 0xc4, 0x32, 0x16, 0x40, 0x49, 0x0, 0x0, 0x1, 0x0, 0x10, 0x0, 0x0, 0x6, 0xc1, 0x5, 0xd5, 0x0, 0x1c, 0x0, 0x0, 0x1, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x1, 0x23, 0x11, 0x23, 0x11, 0x23, 0x1, 0x33, 0x1, 0x33, 0x11, 0x33, 0x11, 0x33, 0x13, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x6, 0xc1, 0x3a, 0x19, 0x20, 0x25, 0x1d, 0x42, 0x3c, 0xfe, 0xe4, 0xfa, 0xca, 0xfa, 0xfe, 0x5c, 0xc3, 0x1, 0x5e, 0x7d, 0xca, 0x7d, 0xe8, 0x4e, 0x68, 0x42, 0x81, 0x33, 0x38, 0x5, 0x14, 0x7, 0x3, 0x19, 0x38, 0xa1, 0xfd, 0xa, 0xfe, 0xca, 0x1, 0x36, 0x4, 0x60, 0xfc, 0x54, 0x3, 0xeb, 0xfc, 0x13, 0x2, 0x72, 0xd4, 0x50, 0x33, 0x10, 0x0, 0x0, 0x1, 0x0, 0x32, 0xfe, 0x56, 0x6, 0xd0, 0x6, 0x1e, 0x0, 0x1c, 0x0, 0x0, 0x1, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x1, 0x23, 0x11, 0x23, 0x11, 0x23, 0x1, 0x33, 0x1, 0x33, 0x11, 0x33, 0x11, 0x33, 0x13, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x6, 0xd0, 0x3a, 0x19, 0x20, 0x25, 0x1d, 0x42, 0x3c, 0xfe, 0xe4, 0xfa, 0xb7, 0xfa, 0xfe, 0x5c, 0xc3, 0x1, 0x5e, 0x7d, 0xb7, 0x7d, 0xe8, 0x4e, 0x68, 0x42, 0x81, 0x33, 0x38, 0x3, 0xde, 0x7, 0x3, 0x19, 0x38, 0xa1, 0xfd, 0xa, 0xfe, 0x56, 0x1, 0xaa, 0x4, 0x60, 0xfc, 0x54, 0x5, 0x6a, 0xfa, 0x94, 0x2, 0x72, 0xd4, 0x50, 0x33, 0x10, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x5, 0xf0, 0x12, 0x6, 0x1, 0x61, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x4, 0x7b, 0x12, 0x6, 0x2, 0x37, 0x0, 0x0, 0x0, 0x1, 0x0, 0x10, 0x0, 0x0, 0x6, 0x27, 0x5, 0xf0, 0x0, 0x12, 0x0, 0x0, 0x1, 0x32, 0x17, 0x15, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x1, 0x23, 0x1, 0x33, 0x9, 0x1, 0x12, 0x36, 0x5, 0xa9, 0x3f, 0x3f, 0x44, 0x16, 0x19, 0x49, 0x22, 0x47, 0x54, 0xfe, 0x81, 0xe5, 0xfd, 0xc6, 0xd3, 0x1, 0xd9, 0x1, 0x38, 0x73, 0xae, 0x5, 0xf0, 0x15, 0xbb, 0xa, 0x4, 0x22, 0x43, 0xdd, 0xfc, 0x14, 0x5, 0xd5, 0xfb, 0x17, 0x3, 0x3d, 0x1, 0x32, 0x95, 0x0, 0x1, 0x0, 0x32, 0x0, 0x0, 0x5, 0x1f, 0x4, 0x7b, 0x0, 0x13, 0x0, 0x0, 0x1, 0x32, 0x17, 0x15, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x1, 0x23, 0x1, 0x33, 0x1, 0x13, 0x36, 0x37, 0x36, 0x4, 0xb4, 0x33, 0x38, 0x3a, 0x13, 0x26, 0x25, 0x1d, 0x41, 0x3d, 0xfe, 0xe4, 0xfa, 0xfe, 0x5c, 0xc3, 0x1, 0x5e, 0xe8, 0x50, 0x66, 0x42, 0x4, 0x7b, 0x10, 0x8d, 0x7, 0x3, 0x19, 0x37, 0xa2, 0xfd, 0xa, 0x4, 0x60, 0xfc, 0x54, 0x2, 0x70, 0xd5, 0x4f, 0x33, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x6, 0x27, 0x7, 0x70, 0x10, 0x27, 0x16, 0xc3, 0x4, 0xe4, 0x1, 0x7a, 0x12, 0x6, 0x4, 0x8, 0x0, 0x0, 0xff, 0xff, 0x0, 0x32, 0x0, 0x0, 0x5, 0x1f, 0x6, 0x66, 0x10, 0x27, 0x2, 0xc0, 0x4, 0xc2, 0x0, 0x0, 0x12, 0x6, 0x4, 0x9, 0x0, 0x0, 0x0, 0x3, 0x0, 0x73, 0xfe, 0x56, 0x7, 0xb3, 0x5, 0xf0, 0x0, 0x11, 0x0, 0x1e, 0x0, 0x2c, 0x0, 0x0, 0x9, 0x1, 0x6, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x37, 0x13, 0x1, 0x33, 0x1b, 0x1, 0x1, 0x10, 0x7, 0x2, 0x20, 0x3, 0x26, 0x10, 0x37, 0x12, 0x20, 0x13, 0x16, 0x3, 0x10, 0x27, 0x26, 0x20, 0x7, 0x6, 0x11, 0x10, 0x17, 0x16, 0x20, 0x37, 0x36, 0x7, 0xb3, 0xfe, 0x14, 0x52, 0x46, 0x4a, 0x7c, 0x93, 0x6c, 0x4c, 0x2a, 0x26, 0x37, 0x7c, 0xfe, 0xa2, 0xc3, 0xfd, 0xfd, 0xfd, 0x3f, 0x5f, 0x7e, 0xfe, 0x0, 0x7f, 0x60, 0x60, 0x7f, 0x2, 0x0, 0x7e, 0x5f, 0xd5, 0x1c, 0x38, 0xfe, 0x98, 0x3a, 0x1c, 0x1d, 0x39, 0x1, 0x68, 0x39, 0x1b, 0x4, 0x60, 0xfb, 0x38, 0xcb, 0x3a, 0x3d, 0x9a, 0x24, 0x21, 0x89, 0x1, 0x37, 0x3, 0x6b, 0xfd, 0x8a, 0x2, 0x76, 0xfe, 0x8a, 0xfe, 0xdd, 0xd0, 0xfe, 0xec, 0x1, 0x13, 0xd1, 0x2, 0x44, 0xd1, 0x1, 0x14, 0xfe, 0xed, 0xd1, 0xfe, 0xde, 0x1, 0x6, 0x72, 0xea, 0xea, 0x74, 0xfe, 0xfb, 0xfe, 0xfc, 0x74, 0xea, 0xea, 0x72, 0x0, 0x0, 0x3, 0x0, 0x71, 0xfe, 0x56, 0x6, 0xff, 0x4, 0x7b, 0x0, 0x11, 0x0, 0x1f, 0x0, 0x25, 0x0, 0x0, 0x9, 0x1, 0x6, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x37, 0x13, 0x1, 0x33, 0x1b, 0x1, 0x0, 0x10, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x10, 0x37, 0x36, 0x33, 0x32, 0x17, 0x2, 0x10, 0x23, 0x22, 0x10, 0x33, 0x6, 0xff, 0xfe, 0x14, 0x52, 0x46, 0x4a, 0x7c, 0x93, 0x6c, 0x4c, 0x2a, 0x26, 0x37, 0x7c, 0xfe, 0xa2, 0xc3, 0xfd, 0xfd, 0xfd, 0x75, 0x5f, 0x73, 0xcc, 0xce, 0x74, 0x60, 0x60, 0x74, 0xce, 0xcc, 0x73, 0x64, 0xdb, 0xe0, 0xe0, 0x4, 0x60, 0xfb, 0x38, 0xcb, 0x3a, 0x3d, 0x9a, 0x24, 0x21, 0x89, 0x1, 0x37, 0x3, 0x6b, 0xfd, 0x8a, 0x2, 0x76, 0xfe, 0xab, 0xfe, 0x48, 0xa7, 0xc9, 0xc8, 0xa6, 0x1, 0xbc, 0xa6, 0xc8, 0xc9, 0xfc, 0xcd, 0x3, 0x60, 0xfc, 0xa0, 0x0, 0x0, 0x2, 0x0, 0x73, 0xff, 0xe3, 0x7, 0x2d, 0x5, 0xf0, 0x0, 0x29, 0x0, 0x52, 0x0, 0x0, 0x25, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2b, 0x1, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x36, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x7, 0x23, 0x20, 0x27, 0x26, 0x10, 0x37, 0x36, 0x21, 0x33, 0x36, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x33, 0x20, 0x17, 0x16, 0x11, 0x10, 0x7, 0x6, 0x21, 0x23, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x4, 0x5d, 0x1e, 0xeb, 0x72, 0x80, 0x80, 0x72, 0xeb, 0x1e, 0xb, 0xf, 0x16, 0x1b, 0x1a, 0x3e, 0x1a, 0x1b, 0x16, 0x10, 0xa, 0x2e, 0xeb, 0x72, 0x82, 0x82, 0x72, 0xeb, 0x2e, 0xa, 0x10, 0x16, 0x1b, 0x1a, 0x3e, 0x1a, 0x1b, 0x16, 0x10, 0xfe, 0x2e, 0xfe, 0xa1, 0x98, 0xbd, 0xbd, 0x98, 0x1, 0x5f, 0x2d, 0xb, 0x10, 0x16, 0x1b, 0x1a, 0x3e, 0x1a, 0x1f, 0x12, 0x10, 0xb, 0x1d, 0x1, 0x5e, 0x98, 0xbc, 0xbc, 0x98, 0xfe, 0xa2, 0x1d, 0xa, 0x11, 0x16, 0x1b, 0x1a, 0x3e, 0x1a, 0x1f, 0x12, 0x10, 0xc2, 0x91, 0xa4, 0xf2, 0xf3, 0xa4, 0x91, 0x14, 0xe, 0x15, 0xc, 0xb, 0xb, 0xc, 0x15, 0x10, 0x12, 0x91, 0xa4, 0xf3, 0xf2, 0xa4, 0x91, 0x12, 0x10, 0x15, 0xc, 0xb, 0xb, 0xc, 0x15, 0x10, 0xa1, 0xaa, 0xd2, 0x2, 0x74, 0xd3, 0xaa, 0x15, 0xf, 0x15, 0xc, 0xb, 0xb, 0xe, 0x13, 0x11, 0x13, 0xaa, 0xd3, 0xfe, 0xc6, 0xfe, 0xc7, 0xd2, 0xab, 0x13, 0x11, 0x15, 0xc, 0xb, 0xb, 0xe, 0x13, 0x11, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0xff, 0xe3, 0x5, 0xa1, 0x4, 0x7b, 0x0, 0x26, 0x0, 0x50, 0x0, 0x0, 0x25, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2b, 0x1, 0x6, 0x7, 0xe, 0x1, 0x22, 0x26, 0x27, 0x26, 0x27, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x36, 0x37, 0x3e, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x7, 0x23, 0x20, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x21, 0x33, 0x36, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x33, 0x20, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x21, 0x23, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x3, 0x72, 0x2d, 0xa1, 0x48, 0x56, 0x56, 0x3f, 0xaa, 0x2d, 0x7, 0xa, 0x12, 0x2c, 0x34, 0x2c, 0x12, 0xa, 0x7, 0x2d, 0xa3, 0x47, 0x56, 0x55, 0x48, 0xa3, 0x2d, 0x7, 0xa, 0x12, 0x2c, 0x34, 0x16, 0x1b, 0xd, 0x9, 0xc9, 0x2e, 0xfe, 0xff, 0x78, 0x89, 0x89, 0x74, 0x1, 0x5, 0x2e, 0x7, 0x9, 0xd, 0x1b, 0x16, 0x34, 0x16, 0x1b, 0xd, 0x9, 0x7, 0x2e, 0x1, 0x2, 0x77, 0x89, 0x89, 0x74, 0xfe, 0xfb, 0x2e, 0x7, 0x9, 0xd, 0x1b, 0x16, 0x34, 0x16, 0x1b, 0xd, 0x9, 0xa4, 0x60, 0x74, 0xb7, 0xa7, 0x83, 0x61, 0xb, 0xa, 0x11, 0x14, 0x14, 0x11, 0xa, 0xb, 0x5f, 0x74, 0xb8, 0xbc, 0x70, 0x5f, 0xb, 0xa, 0x11, 0x14, 0xa, 0xc, 0xf, 0xa, 0x93, 0x89, 0x9c, 0xee, 0xe9, 0xa2, 0x88, 0xa, 0xa, 0xf, 0xc, 0xa, 0xa, 0xc, 0xf, 0xa, 0xa, 0x88, 0x9c, 0xef, 0xe8, 0xa2, 0x89, 0xa, 0xa, 0xf, 0xc, 0xa, 0xa, 0xc, 0xf, 0xa, 0xff, 0xff, 0x0, 0x76, 0xff, 0xe3, 0x8, 0xfa, 0x7, 0x74, 0x10, 0x26, 0x12, 0xcb, 0x0, 0x0, 0x10, 0x27, 0x4, 0x1a, 0x6, 0x97, 0x0, 0x0, 0x10, 0x7, 0x4, 0x18, 0x6, 0x30, 0x1, 0x27, 0xff, 0xff, 0x0, 0x98, 0xff, 0xe3, 0x7, 0xa1, 0x6, 0x10, 0x10, 0x26, 0x12, 0xcc, 0x0, 0x0, 0x10, 0x27, 0x4, 0x1a, 0x5, 0xfc, 0xfe, 0x9c, 0x10, 0x7, 0x4, 0x18, 0x5, 0x95, 0xff, 0xc3, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x7, 0x5, 0x7, 0x33, 0x10, 0x27, 0x17, 0x83, 0x0, 0x63, 0x1, 0x53, 0x10, 0x6, 0x3, 0xf4, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xff, 0xe3, 0x6, 0x27, 0x5, 0xe0, 0x10, 0x26, 0x17, 0x83, 0x0, 0x0, 0x10, 0x6, 0x3, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x73, 0xfe, 0x56, 0x5, 0x27, 0x5, 0xf0, 0x0, 0x1d, 0x0, 0x39, 0x40, 0xa, 0x0, 0x1c, 0x1b, 0xd, 0x30, 0x16, 0x19, 0x5, 0x10, 0x1e, 0x10, 0xfc, 0xec, 0xfc, 0xd4, 0xb4, 0x2f, 0x1b, 0x3f, 0x1b, 0x2, 0x5d, 0xec, 0x31, 0x0, 0x40, 0xc, 0xe, 0xa1, 0xd, 0xae, 0x12, 0x95, 0x9, 0x91, 0x1c, 0x1a, 0x95, 0x0, 0x2f, 0xec, 0xcc, 0xf4, 0xec, 0xf4, 0xec, 0x30, 0xb4, 0xf, 0x1f, 0x1f, 0x1f, 0x2, 0x1, 0x5d, 0x21, 0x23, 0x20, 0x27, 0x26, 0x11, 0x10, 0x37, 0x36, 0x21, 0x32, 0x17, 0x16, 0x17, 0x15, 0x26, 0x27, 0x26, 0x23, 0x20, 0x7, 0x6, 0x11, 0x10, 0x17, 0x16, 0x33, 0x21, 0x11, 0x23, 0x3, 0xfa, 0xae, 0xfe, 0xa5, 0xbb, 0xc3, 0xc3, 0xc3, 0x1, 0x53, 0x86, 0x76, 0x77, 0x68, 0x66, 0x73, 0x74, 0x82, 0xff, 0x0, 0x88, 0x88, 0x88, 0x98, 0xf0, 0x1, 0x6b, 0xc9, 0xc6, 0xd0, 0x1, 0x53, 0x1, 0x68, 0xcf, 0xd0, 0x24, 0x23, 0x47, 0xd5, 0x5f, 0x2f, 0x2f, 0x9c, 0x9d, 0xfe, 0xd8, 0xfe, 0xd3, 0x82, 0x94, 0xfd, 0xb0, 0x0, 0x0, 0x1, 0x0, 0x71, 0xfe, 0x56, 0x3, 0xe7, 0x4, 0x7b, 0x0, 0x1d, 0x0, 0x39, 0x40, 0xa, 0x1d, 0x12, 0x1a, 0xc, 0x48, 0x15, 0x12, 0x4, 0x45, 0x1e, 0x10, 0xfc, 0xec, 0xf4, 0xd4, 0xec, 0x31, 0x0, 0x40, 0xc, 0xc, 0x86, 0xd, 0x88, 0x11, 0xb9, 0x8, 0xb8, 0x1c, 0x19, 0xa9, 0x0, 0x2f, 0xec, 0xcc, 0xf4, 0xfc, 0xf5, 0xee, 0x30, 0x40, 0xb, 0xf, 0x1f, 0x10, 0x1f, 0x80, 0x1f, 0x90, 0x1f, 0xa0, 0x1f, 0x5, 0x1, 0x5d, 0x21, 0x20, 0x27, 0x26, 0x35, 0x10, 0x37, 0x36, 0x21, 0x32, 0x17, 0x16, 0x17, 0x15, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x11, 0x23, 0x11, 0x2, 0x98, 0xfe, 0xfb, 0x8d, 0x95, 0x97, 0x96, 0x1, 0x6, 0x55, 0x51, 0x51, 0x4c, 0x4e, 0x4f, 0x4e, 0x50, 0xb3, 0x63, 0x63, 0x63, 0x63, 0xb3, 0xf5, 0xc9, 0x96, 0x9f, 0xfa, 0x1, 0x12, 0x9d, 0x9d, 0x11, 0x12, 0x23, 0xac, 0x2b, 0x16, 0x15, 0x71, 0x72, 0xcd, 0xb9, 0x72, 0x71, 0xfd, 0xc3, 0x1, 0xaa, 0x0, 0x0, 0x1, 0x0, 0x3b, 0xff, 0xa5, 0x3, 0xca, 0x3, 0xa7, 0x0, 0x13, 0x0, 0x0, 0x1, 0x7, 0x27, 0x7, 0x17, 0x7, 0x27, 0x7, 0x27, 0x37, 0x27, 0x37, 0x17, 0x37, 0x27, 0x37, 0x17, 0x37, 0x17, 0x7, 0x3, 0xca, 0x64, 0xd8, 0x69, 0xd8, 0x64, 0xd8, 0x7d, 0xae, 0x7d, 0xd8, 0x64, 0xd8, 0x69, 0xd8, 0x64, 0xd8, 0x69, 0xae, 0x69, 0x2, 0x11, 0xae, 0x7d, 0xb5, 0x7d, 0xae, 0x7d, 0xd8, 0x64, 0xd8, 0x7d, 0xae, 0x7d, 0xb5, 0x7d, 0xae, 0x7d, 0xb5, 0x64, 0xb5, 0x0, 0x1, 0xfb, 0xda, 0x4, 0xde, 0xff, 0x42, 0x6, 0x7a, 0x0, 0x2f, 0x0, 0x0, 0x1, 0x21, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x21, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0xfe, 0xb9, 0xfe, 0x33, 0xa, 0xb, 0x13, 0x14, 0x19, 0x18, 0x38, 0x18, 0x19, 0x14, 0x13, 0xb, 0xa, 0xa, 0xb, 0x13, 0x14, 0x19, 0x18, 0x1c, 0x1, 0xcd, 0xa, 0xb, 0x13, 0x14, 0x19, 0x18, 0x38, 0x18, 0x19, 0x14, 0x14, 0xa, 0xa, 0xa, 0xb, 0x13, 0x14, 0x19, 0x18, 0x5, 0x67, 0x1b, 0x19, 0x1b, 0x12, 0x13, 0xb, 0xa, 0xa, 0xb, 0x13, 0x12, 0x1b, 0x19, 0x1b, 0x1c, 0x19, 0x1b, 0x12, 0x13, 0xb, 0xa, 0x1b, 0x19, 0x1b, 0x12, 0x13, 0xb, 0xa, 0xa, 0xb, 0x13, 0x15, 0x18, 0x19, 0x1c, 0x1b, 0x19, 0x1b, 0x12, 0x13, 0xb, 0xa, 0x0, 0x0, 0x1, 0xfd, 0x7, 0x5, 0x29, 0x0, 0x9, 0x6, 0x4d, 0x0, 0xd, 0x0, 0x0, 0x13, 0x23, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x35, 0x36, 0x37, 0x36, 0x33, 0x20, 0x9, 0x76, 0x17, 0xa2, 0x5d, 0x5b, 0x93, 0x88, 0x8b, 0x4a, 0x77, 0x7d, 0x1, 0x24, 0x5, 0x29, 0x9b, 0x2f, 0x4b, 0x17, 0x86, 0x27, 0x2a, 0x43, 0x0, 0x1, 0xfd, 0xb3, 0x4, 0xc2, 0xfe, 0xa5, 0x6, 0x61, 0x0, 0x8, 0x0, 0x0, 0x1, 0x22, 0x11, 0x35, 0x33, 0x15, 0x23, 0x14, 0x37, 0xfe, 0xa5, 0xf2, 0xf1, 0x85, 0x86, 0x4, 0xc2, 0x1, 0xb, 0x94, 0x9e, 0x9d, 0x3, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfd, 0xb3, 0x4, 0xc2, 0xfe, 0xa5, 0x6, 0x61, 0x0, 0x8, 0x0, 0x0, 0x1, 0x10, 0x23, 0x35, 0x16, 0x35, 0x23, 0x35, 0x33, 0xfe, 0xa5, 0xf2, 0x86, 0x85, 0xf1, 0x5, 0xcd, 0xfe, 0xf5, 0x67, 0x3, 0x9d, 0x9e, 0x0, 0x0, 0x0, 0x0, 0x1, 0xf9, 0xca, 0x4, 0xd9, 0x0, 0x9, 0x6, 0x4d, 0x0, 0xd, 0x0, 0x0, 0x1, 0x12, 0x21, 0x32, 0x5, 0x4, 0x25, 0x15, 0x24, 0x27, 0x24, 0x27, 0x26, 0x7, 0xf9, 0xca, 0x87, 0x1, 0xaf, 0x72, 0x1, 0x45, 0x1, 0x32, 0x1, 0x20, 0xfe, 0x5f, 0xef, 0xfe, 0xd9, 0x66, 0xdd, 0x98, 0x5, 0x1, 0x1, 0x4c, 0x7b, 0x74, 0x1, 0x86, 0x17, 0x5c, 0x71, 0x7, 0xc, 0xcf, 0x0, 0x0, 0x0, 0x8, 0xf7, 0xd6, 0xfe, 0x90, 0x3, 0x46, 0x7, 0x60, 0x0, 0xc, 0x0, 0x19, 0x0, 0x26, 0x0, 0x33, 0x0, 0x40, 0x0, 0x4d, 0x0, 0x5a, 0x0, 0x67, 0x0, 0x0, 0x1, 0x23, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x7, 0x23, 0x3e, 0x1, 0x20, 0x16, 0x1, 0x23, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x7, 0x23, 0x3e, 0x1, 0x20, 0x16, 0x5, 0x23, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x7, 0x23, 0x3e, 0x1, 0x20, 0x16, 0x1, 0x23, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x7, 0x23, 0x3e, 0x1, 0x20, 0x16, 0x5, 0x23, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x7, 0x23, 0x3e, 0x1, 0x20, 0x16, 0x1, 0x23, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x7, 0x23, 0x3e, 0x1, 0x20, 0x16, 0x5, 0x23, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x7, 0x23, 0x3e, 0x1, 0x20, 0x16, 0x1, 0x23, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x7, 0x23, 0x3e, 0x1, 0x20, 0x16, 0xfe, 0xc7, 0x76, 0xb, 0x61, 0x57, 0x56, 0x60, 0xd, 0x76, 0xa, 0x9e, 0x1, 0x22, 0x9e, 0x3, 0x38, 0x76, 0xb, 0x61, 0x57, 0x56, 0x60, 0xd, 0x76, 0xa, 0x9e, 0x1, 0x22, 0x9e, 0xf9, 0xae, 0x76, 0xb, 0x61, 0x57, 0x56, 0x60, 0xd, 0x76, 0xa, 0x9e, 0x1, 0x22, 0x9e, 0x6, 0x66, 0x76, 0xb, 0x61, 0x57, 0x56, 0x60, 0xd, 0x76, 0xa, 0x9e, 0x1, 0x22, 0x9e, 0xf9, 0xae, 0x76, 0xb, 0x61, 0x57, 0x56, 0x60, 0xd, 0x76, 0xa, 0x9e, 0x1, 0x22, 0x9e, 0x7, 0xb7, 0x76, 0xb, 0x61, 0x57, 0x56, 0x60, 0xd, 0x76, 0xa, 0x9e, 0x1, 0x22, 0x9e, 0xf7, 0xc, 0x76, 0xb, 0x61, 0x57, 0x56, 0x60, 0xd, 0x76, 0xa, 0x9e, 0x1, 0x22, 0x9e, 0x4, 0x89, 0x76, 0xb, 0x61, 0x57, 0x56, 0x60, 0xd, 0x76, 0xa, 0x9e, 0x1, 0x22, 0x9e, 0x6, 0x41, 0x4b, 0x4b, 0x4a, 0x4c, 0x8f, 0x90, 0x90, 0xfe, 0x51, 0x4b, 0x4b, 0x4a, 0x4c, 0x8f, 0x90, 0x90, 0x8f, 0x4b, 0x4b, 0x4a, 0x4c, 0x8f, 0x90, 0x90, 0xfa, 0x1, 0x4b, 0x4b, 0x4a, 0x4c, 0x8f, 0x90, 0x90, 0x8f, 0x4b, 0x4b, 0x4a, 0x4c, 0x8f, 0x90, 0x90, 0x2, 0x29, 0x4b, 0x4b, 0x4a, 0x4c, 0x8f, 0x90, 0x90, 0x8f, 0x4b, 0x4b, 0x4a, 0x4c, 0x8f, 0x90, 0x90, 0xfb, 0x98, 0x4b, 0x4b, 0x4a, 0x4c, 0x8f, 0x90, 0x90, 0x0, 0x0, 0x0, 0x0, 0x8, 0xf8, 0x58, 0xfd, 0xc3, 0x2, 0xc2, 0x8, 0x2d, 0x0, 0x5, 0x0, 0xb, 0x0, 0x11, 0x0, 0x17, 0x0, 0x1d, 0x0, 0x23, 0x0, 0x29, 0x0, 0x2f, 0x0, 0x0, 0x27, 0x37, 0x17, 0x13, 0x7, 0x3, 0x1, 0x7, 0x27, 0x3, 0x37, 0x13, 0x1, 0x27, 0x37, 0x25, 0x17, 0x5, 0x1, 0x17, 0x7, 0x5, 0x27, 0x25, 0x1, 0x35, 0x33, 0x5, 0x15, 0x2d, 0x1, 0x15, 0x23, 0x25, 0x35, 0x5, 0x1, 0x23, 0x35, 0x13, 0x33, 0xb, 0x1, 0x33, 0x15, 0x3, 0x23, 0x13, 0x6b, 0x96, 0x79, 0x6f, 0x5c, 0xa9, 0xfb, 0x77, 0x96, 0x79, 0x6f, 0x5c, 0xa9, 0x5, 0x1f, 0x96, 0x7a, 0x1, 0x56, 0x5c, 0xfe, 0xe3, 0xfa, 0x4c, 0x95, 0x79, 0xfe, 0xa9, 0x5b, 0x1, 0x1c, 0x6, 0x60, 0xac, 0x1, 0x40, 0xfe, 0xc0, 0xf8, 0xc2, 0xac, 0xfe, 0xc0, 0x1, 0x40, 0x4, 0x5f, 0xd3, 0xa4, 0x81, 0x52, 0xd3, 0xd3, 0xa4, 0x81, 0x52, 0x5a, 0x96, 0x79, 0xfe, 0xa9, 0x5c, 0x1, 0x1d, 0x5, 0xb5, 0x96, 0x79, 0x1, 0x57, 0x5c, 0xfe, 0xe3, 0xfe, 0xf1, 0x95, 0x7a, 0x6e, 0x5b, 0xa9, 0xfb, 0x77, 0x96, 0x79, 0x6f, 0x5c, 0xa8, 0x2, 0x18, 0xd4, 0xa4, 0x82, 0x52, 0xd4, 0xd4, 0xa4, 0x82, 0x52, 0x2, 0xdf, 0xac, 0x1, 0x40, 0xfe, 0xc0, 0xf8, 0xc2, 0xac, 0xfe, 0xc0, 0x1, 0x40, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x56, 0x5, 0xfc, 0x7, 0x6d, 0x10, 0x26, 0x17, 0x84, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc0, 0x4, 0xf5, 0x1, 0x75, 0xff, 0xff, 0x0, 0xc1, 0xfe, 0x56, 0x5, 0x38, 0x6, 0x14, 0x10, 0x26, 0x17, 0x85, 0x0, 0x0, 0x10, 0x7, 0x2, 0x9a, 0x0, 0xa0, 0xff, 0xcc, 0x0, 0x2, 0x0, 0x21, 0x0, 0x0, 0x4, 0xec, 0x5, 0xd5, 0x0, 0x12, 0x0, 0x1d, 0x0, 0x3a, 0x40, 0xe, 0x1f, 0x13, 0x19, 0x5, 0xd, 0x11, 0x19, 0xf, 0x0, 0x1c, 0xb, 0x9, 0xd, 0x1e, 0x10, 0xdc, 0x3c, 0xcc, 0xfc, 0x3c, 0x3c, 0xcc, 0x10, 0xd4, 0xec, 0xcc, 0x31, 0x0, 0x40, 0xf, 0xa, 0x12, 0x95, 0xc, 0x10, 0xe, 0x81, 0x9, 0x18, 0x95, 0x1, 0xad, 0x19, 0x95, 0x9, 0x2f, 0xec, 0xf4, 0xec, 0x10, 0xf4, 0xd4, 0x3c, 0xec, 0x32, 0x30, 0x1, 0x15, 0x21, 0x32, 0x4, 0x15, 0x14, 0x4, 0x23, 0x21, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x1, 0x34, 0x27, 0x26, 0x23, 0x21, 0x11, 0x21, 0x32, 0x37, 0x36, 0x1, 0x93, 0x1, 0x4e, 0xfb, 0x1, 0x10, 0xfe, 0xf0, 0xfb, 0xfd, 0xe8, 0xa8, 0xa8, 0xca, 0xa8, 0x1, 0xdc, 0x4f, 0x4e, 0xa3, 0xfe, 0xbc, 0x1, 0x44, 0xa3, 0x4e, 0x4f, 0x4, 0x51, 0xe2, 0xda, 0xde, 0xdd, 0xda, 0x4, 0x51, 0xa4, 0xe0, 0xe0, 0xa4, 0xfd, 0x66, 0x8b, 0x44, 0x43, 0xfd, 0xdd, 0x44, 0x43, 0x0, 0x0, 0x0, 0x2, 0x0, 0x26, 0x0, 0x0, 0x4, 0x45, 0x5, 0x9e, 0x0, 0xa, 0x0, 0x1e, 0x0, 0x39, 0x40, 0xf, 0x20, 0x45, 0x0, 0x12, 0x11, 0x16, 0x1e, 0x6, 0xc, 0x1c, 0x1c, 0x18, 0x16, 0x1a, 0x1f, 0x10, 0xdc, 0x3c, 0xcc, 0xfc, 0x3c, 0x3c, 0xcc, 0x10, 0xd4, 0xec, 0xec, 0x31, 0x0, 0x40, 0xd, 0x16, 0x1e, 0xa9, 0x18, 0x1c, 0x1a, 0x5, 0xa9, 0xc, 0x1a, 0x6, 0xa9, 0x15, 0x2f, 0xec, 0xc4, 0xd4, 0xec, 0x10, 0xd4, 0x3c, 0xec, 0x32, 0x30, 0x1, 0x34, 0x27, 0x26, 0x23, 0x21, 0x11, 0x21, 0x32, 0x37, 0x36, 0x1, 0x11, 0x21, 0x32, 0x17, 0x16, 0x10, 0x7, 0x6, 0x23, 0x21, 0x11, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0x15, 0x3, 0x81, 0x3e, 0x43, 0x80, 0xfe, 0xf9, 0x1, 0x7, 0x81, 0x42, 0x3e, 0xfd, 0xf8, 0x1, 0xf, 0xd0, 0x79, 0x74, 0x74, 0x73, 0xd6, 0xfe, 0x39, 0x9b, 0x9b, 0xb8, 0x9d, 0x1, 0x4c, 0x5e, 0x2a, 0x2e, 0xfe, 0x97, 0x2e, 0x2b, 0x2, 0xdf, 0xfe, 0xca, 0x55, 0x52, 0xfe, 0xb0, 0x52, 0x52, 0x3, 0xd1, 0x8f, 0x1, 0x3e, 0xfe, 0xc2, 0x8f, 0x0, 0x0, 0x2, 0x0, 0xc9, 0x0, 0x0, 0x4, 0xe1, 0x5, 0xd5, 0x0, 0xf, 0x0, 0x1c, 0x0, 0x0, 0x1, 0x17, 0x7, 0x27, 0x6, 0x2b, 0x1, 0x11, 0x23, 0x11, 0x21, 0x32, 0x17, 0x16, 0x15, 0x14, 0x27, 0x36, 0x37, 0x34, 0x26, 0x2b, 0x1, 0x11, 0x33, 0x32, 0x37, 0x27, 0x37, 0x4, 0x55, 0x8c, 0x6a, 0x92, 0x7e, 0xd6, 0xfe, 0xca, 0x1, 0xc8, 0xfb, 0x80, 0x81, 0xe2, 0xc, 0x1, 0x9a, 0x8d, 0xfe, 0xfe, 0x72, 0x47, 0xd7, 0x6a, 0x3, 0x23, 0x75, 0x7e, 0x7b, 0x53, 0xfd, 0xa8, 0x5, 0xd5, 0x71, 0x72, 0xdb, 0x92, 0x2d, 0x2c, 0x39, 0x86, 0x92, 0xfd, 0xcf, 0x2f, 0xb4, 0x7e, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0xfe, 0x56, 0x4, 0xa4, 0x4, 0x7b, 0x0, 0x10, 0x0, 0x29, 0x0, 0x0, 0x25, 0x27, 0x37, 0x17, 0x36, 0x35, 0x34, 0x27, 0x26, 0x20, 0x7, 0x6, 0x10, 0x17, 0x16, 0x33, 0x32, 0x5, 0x17, 0x7, 0x27, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x11, 0x23, 0x11, 0x33, 0x15, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x10, 0x7, 0x6, 0x3, 0x2a, 0x8c, 0x6e, 0x8a, 0x4f, 0x53, 0x54, 0xfe, 0xdc, 0x54, 0x53, 0x53, 0x54, 0x92, 0x46, 0x1, 0x1b, 0x93, 0x6f, 0x95, 0x57, 0x6c, 0x7b, 0x58, 0x59, 0x3a, 0xb9, 0xb9, 0x3a, 0x59, 0x58, 0x7b, 0xcc, 0x7f, 0x80, 0x80, 0xc, 0x98, 0xa7, 0x5d, 0xa5, 0x73, 0xc5, 0xcb, 0x74, 0x73, 0x74, 0x73, 0xfe, 0x6a, 0x74, 0x73, 0x14, 0xae, 0x5d, 0xb3, 0x2e, 0x30, 0x31, 0x64, 0xfd, 0xae, 0x6, 0xa, 0xaa, 0x64, 0x30, 0x31, 0xa2, 0xa2, 0xfd, 0xf0, 0xa2, 0xf, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x6a, 0x7, 0x7, 0x0, 0x7, 0x0, 0x1b, 0x40, 0xd, 0x3, 0x6, 0x95, 0x1, 0x81, 0x0, 0x3, 0x4, 0x6, 0x1c, 0x1, 0x4, 0x8, 0x10, 0xfc, 0xfc, 0xdc, 0xcc, 0x31, 0x0, 0x2f, 0xf4, 0xec, 0xcc, 0x30, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0xc9, 0x2, 0xf7, 0xaa, 0xfd, 0x29, 0x5, 0xd5, 0x1, 0x32, 0xfe, 0x24, 0xfa, 0xd5, 0x0, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x3, 0xd0, 0x5, 0x9a, 0x0, 0x7, 0x0, 0x1d, 0xb7, 0x9, 0x3, 0x4, 0x6, 0x8, 0x1, 0x46, 0x8, 0x10, 0xfc, 0xfc, 0xdc, 0xcc, 0xcc, 0x31, 0x0, 0xb5, 0x3, 0x6, 0xa9, 0x1, 0xbc, 0x0, 0x2f, 0xf4, 0xec, 0xcc, 0x30, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0xba, 0x2, 0x83, 0x93, 0xfd, 0xa2, 0x4, 0x60, 0x1, 0x3a, 0xfe, 0x33, 0xfc, 0x33, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x47, 0x0, 0x0, 0x4, 0xef, 0x5, 0xd5, 0x0, 0xd, 0x0, 0x29, 0x40, 0x14, 0x1, 0xc, 0x95, 0x9, 0x4, 0x8, 0x95, 0x5, 0x81, 0x0, 0xf, 0x6, 0xa, 0xc, 0x9, 0x1c, 0x2, 0x4, 0x1, 0xe, 0x10, 0xdc, 0x3c, 0xcc, 0xfc, 0x3c, 0xcc, 0xcc, 0xc4, 0x31, 0x0, 0x2f, 0xf4, 0xfc, 0xdc, 0x3c, 0xec, 0x32, 0x30, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x1, 0x4e, 0xfe, 0xf9, 0x1, 0x7, 0x3, 0xa1, 0xfd, 0x29, 0x2, 0x23, 0xfd, 0xdd, 0x2, 0x94, 0xaa, 0x2, 0x97, 0xaa, 0xfe, 0x13, 0xaa, 0xfd, 0x6c, 0x0, 0x0, 0x0, 0x1, 0x0, 0x38, 0x0, 0x0, 0x4, 0x55, 0x4, 0x60, 0x0, 0xd, 0x0, 0x2b, 0x40, 0xa, 0xf, 0x6, 0xa, 0xc, 0x9, 0x8, 0x2, 0x4, 0x1, 0xe, 0x10, 0xdc, 0x3c, 0xcc, 0xfc, 0x3c, 0xcc, 0xdc, 0xcc, 0x31, 0x0, 0x40, 0xa, 0x1, 0xc, 0xa9, 0x9, 0x4, 0x8, 0xa9, 0x5, 0xbc, 0x0, 0x2f, 0xf4, 0xfc, 0xdc, 0x3c, 0xec, 0x32, 0x30, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x1, 0x3f, 0xfe, 0xf9, 0x1, 0x7, 0x3, 0x16, 0xfd, 0xa2, 0x1, 0xa0, 0xfe, 0x60, 0x1, 0xf4, 0xaa, 0x1, 0xc2, 0x9d, 0xfe, 0xdb, 0xaa, 0xfe, 0xc, 0x0, 0x1, 0x0, 0xc9, 0xfe, 0x66, 0x4, 0xcc, 0x5, 0xd5, 0x0, 0x1b, 0x0, 0x33, 0x40, 0xc, 0x12, 0x18, 0x1c, 0x4, 0x1d, 0xc, 0x0, 0x6, 0x1c, 0x3, 0x4, 0x1c, 0x10, 0xfc, 0xfc, 0x3c, 0xdc, 0xcc, 0xc4, 0xfc, 0xcc, 0x31, 0x0, 0x40, 0xe, 0x12, 0x95, 0x11, 0xb0, 0x2, 0x0, 0x95, 0x7, 0x2, 0x6, 0x95, 0x3, 0x81, 0x2, 0x2f, 0xf4, 0xec, 0x10, 0xd4, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x11, 0x23, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x32, 0x17, 0x16, 0x15, 0x11, 0x10, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x34, 0x26, 0x23, 0x1, 0x93, 0xca, 0x3, 0xa1, 0xfd, 0x29, 0x1, 0xa1, 0xba, 0x71, 0x6d, 0xcc, 0xe4, 0x4c, 0x3e, 0x86, 0x38, 0x37, 0x7c, 0x7c, 0x2, 0xc7, 0xfd, 0x39, 0x5, 0xd5, 0xaa, 0xfe, 0x46, 0x77, 0x72, 0xee, 0xfe, 0xce, 0xfe, 0xf2, 0xf4, 0xaa, 0x4b, 0x4b, 0xc2, 0x1, 0x22, 0x9f, 0x9e, 0x0, 0x0, 0x1, 0x0, 0xba, 0xfe, 0x56, 0x4, 0xb, 0x4, 0x60, 0x0, 0x1d, 0x0, 0x33, 0x40, 0xc, 0x13, 0x19, 0x8, 0x4, 0x1f, 0xc, 0x0, 0x6, 0x8, 0x3, 0x46, 0x1e, 0x10, 0xfc, 0xfc, 0x3c, 0xdc, 0xcc, 0xc4, 0xfc, 0xcc, 0x31, 0x0, 0x40, 0xe, 0x13, 0xa9, 0x12, 0xbd, 0x1, 0x0, 0xa9, 0x7, 0x1, 0x6, 0xa9, 0x3, 0xbc, 0x1, 0x2f, 0xf4, 0xec, 0x10, 0xd4, 0xec, 0x10, 0xfc, 0xec, 0x30, 0x1, 0x11, 0x23, 0x11, 0x21, 0x15, 0x21, 0x11, 0x33, 0x20, 0x17, 0x16, 0x15, 0x11, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x34, 0x27, 0x26, 0x23, 0x1, 0x72, 0xb8, 0x3, 0x16, 0xfd, 0xa2, 0xfa, 0x1, 0x7, 0x46, 0x52, 0x52, 0x51, 0xb5, 0xc1, 0xac, 0x6e, 0x21, 0x26, 0x26, 0x31, 0x86, 0x1, 0xe7, 0xfe, 0x19, 0x4, 0x60, 0xaa, 0xfe, 0xc1, 0x47, 0x51, 0xe5, 0xfe, 0xf2, 0xd6, 0x60, 0x60, 0x9c, 0x30, 0x37, 0x93, 0x1, 0x8, 0xaa, 0x20, 0x29, 0x0, 0x1, 0x0, 0x28, 0xfe, 0xbf, 0x8, 0x91, 0x5, 0xd5, 0x0, 0x17, 0x0, 0x0, 0x1, 0x33, 0x11, 0x1, 0x33, 0x9, 0x1, 0x33, 0x11, 0x23, 0x11, 0x23, 0x9, 0x1, 0x11, 0x23, 0x11, 0x9, 0x1, 0x23, 0x9, 0x1, 0x33, 0x1, 0x3, 0xea, 0xca, 0x2, 0xaa, 0xf5, 0xfd, 0xdf, 0x1, 0xd7, 0x88, 0xc5, 0x29, 0xfe, 0x13, 0xfe, 0xfe, 0xca, 0xfe, 0xfe, 0xfe, 0x13, 0xd3, 0x2, 0x44, 0xfd, 0xdf, 0xf5, 0x2, 0xaa, 0x5, 0xd5, 0xfd, 0x1e, 0x2, 0xe2, 0xfd, 0xb3, 0xfd, 0x22, 0xfe, 0x15, 0x1, 0x41, 0x3, 0x1, 0xfe, 0xe9, 0xfe, 0x16, 0x1, 0xea, 0x1, 0x17, 0xfc, 0xff, 0x3, 0x88, 0x2, 0x4d, 0xfd, 0x1e, 0x0, 0x1, 0x0, 0x46, 0xfe, 0xe5, 0x7, 0x3, 0x4, 0x60, 0x0, 0x17, 0x0, 0x0, 0x1, 0x33, 0x11, 0x1, 0x33, 0x9, 0x1, 0x33, 0x11, 0x23, 0x11, 0x23, 0x1, 0x7, 0x11, 0x23, 0x11, 0x27, 0x1, 0x23, 0x9, 0x1, 0x33, 0x1, 0x3, 0x3f, 0xb7, 0x1, 0xe9, 0xd6, 0xfe, 0x6e, 0x1, 0x66, 0x7a, 0xb8, 0x21, 0xfe, 0x87, 0xbb, 0xb7, 0xbb, 0xfe, 0x87, 0xc5, 0x1, 0xcc, 0xfe, 0x6e, 0xd6, 0x1, 0xe9, 0x4, 0x60, 0xfd, 0xf2, 0x2, 0xe, 0xfe, 0x51, 0xfd, 0xe8, 0xfe, 0x4c, 0x1, 0x1b, 0x2, 0x36, 0xc9, 0xfe, 0x93, 0x1, 0x6d, 0xc9, 0xfd, 0xca, 0x2, 0xb1, 0x1, 0xaf, 0xfd, 0xf2, 0xff, 0xff, 0x0, 0x87, 0xfe, 0x75, 0x4, 0x9a, 0x5, 0xf0, 0x10, 0x26, 0x0, 0x7a, 0x39, 0x0, 0x12, 0x6, 0x3, 0xab, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x85, 0xfe, 0x75, 0x3, 0xc8, 0x4, 0x7c, 0x10, 0x26, 0x0, 0x7a, 0xce, 0x0, 0x12, 0x6, 0x3, 0xcb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0xfe, 0xbf, 0x5, 0xb4, 0x5, 0xd5, 0x0, 0xf, 0x0, 0x0, 0x13, 0x33, 0x11, 0x1, 0x21, 0x9, 0x1, 0x33, 0x11, 0x23, 0x11, 0x23, 0x9, 0x1, 0x11, 0x23, 0xc9, 0xca, 0x2, 0xd2, 0x1, 0x3, 0xfd, 0xbf, 0x1, 0xed, 0xa0, 0xc5, 0x45, 0xfd, 0xfa, 0xfe, 0xef, 0xca, 0x5, 0xd5, 0xfd, 0x1e, 0x2, 0xe2, 0xfd, 0xb2, 0xfd, 0x23, 0xfe, 0x15, 0x1, 0x41, 0x3, 0x1, 0xfe, 0xe9, 0xfe, 0x16, 0x0, 0x1, 0x0, 0xba, 0xfe, 0xe5, 0x4, 0xb3, 0x4, 0x60, 0x0, 0xf, 0x0, 0x0, 0x13, 0x33, 0x11, 0x1, 0x33, 0x9, 0x1, 0x33, 0x11, 0x23, 0x11, 0x23, 0x1, 0x7, 0x11, 0x23, 0xba, 0xb7, 0x2, 0x7, 0xe2, 0xfe, 0x54, 0x1, 0x77, 0x8e, 0xb8, 0x38, 0xfe, 0x73, 0xc5, 0xb7, 0x4, 0x60, 0xfd, 0xf2, 0x2, 0xe, 0xfe, 0x4f, 0xfd, 0xea, 0xfe, 0x4c, 0x1, 0x1b, 0x2, 0x35, 0xc8, 0xfe, 0x93, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x86, 0x5, 0xd5, 0x0, 0x12, 0x0, 0x0, 0x13, 0x33, 0x11, 0x37, 0x11, 0x33, 0x15, 0x1, 0x21, 0x9, 0x1, 0x23, 0x1, 0x11, 0x23, 0x11, 0x7, 0x11, 0x23, 0xc9, 0xca, 0xad, 0x64, 0x1, 0xc1, 0x1, 0x3, 0xfd, 0xbf, 0x2, 0x5f, 0xdc, 0xfd, 0xfa, 0x64, 0xad, 0xca, 0x5, 0xd5, 0xfd, 0x1e, 0xb1, 0x1, 0x54, 0xee, 0x1, 0xcb, 0xfd, 0xb2, 0xfc, 0x79, 0x3, 0x1, 0xfe, 0x25, 0x1, 0x75, 0xb1, 0xfe, 0x16, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x4, 0x91, 0x4, 0x60, 0x0, 0x12, 0x0, 0x0, 0x13, 0x33, 0x11, 0x37, 0x35, 0x33, 0x15, 0x1, 0x33, 0x9, 0x1, 0x23, 0x1, 0x11, 0x23, 0x35, 0x7, 0x11, 0x23, 0xba, 0xb7, 0x60, 0x65, 0x1, 0x42, 0xe2, 0xfe, 0x54, 0x1, 0xe3, 0xce, 0xfe, 0x73, 0x65, 0x60, 0xb7, 0x4, 0x60, 0xfd, 0xf2, 0x61, 0xdd, 0x76, 0x1, 0x46, 0xfe, 0x4f, 0xfd, 0x51, 0x2, 0x35, 0xfe, 0xc5, 0xd4, 0x61, 0xfe, 0x93, 0x0, 0x0, 0x1, 0x0, 0x21, 0x0, 0x0, 0x5, 0x86, 0x5, 0xd5, 0x0, 0x13, 0x0, 0x0, 0x13, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x1, 0x21, 0x9, 0x1, 0x23, 0x9, 0x1, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0xc9, 0xca, 0xa8, 0xa8, 0x2, 0xd2, 0x1, 0x3, 0xfd, 0xbf, 0x2, 0x5f, 0xdc, 0xfd, 0xfa, 0xfe, 0xef, 0xca, 0xa8, 0xa8, 0x5, 0xd5, 0xe0, 0x90, 0xfe, 0x8e, 0x2, 0xe2, 0xfd, 0xb2, 0xfc, 0x79, 0x3, 0x1, 0xfe, 0xe9, 0xfe, 0x16, 0x4, 0x65, 0x90, 0x0, 0x0, 0x1, 0x0, 0x3d, 0x0, 0x0, 0x4, 0x91, 0x6, 0x14, 0x0, 0x13, 0x0, 0x0, 0x13, 0x33, 0x15, 0x21, 0x15, 0x21, 0x11, 0x1, 0x33, 0x9, 0x1, 0x23, 0x1, 0x7, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0xba, 0xb7, 0x1, 0x64, 0xfe, 0x9c, 0x2, 0x7, 0xe2, 0xfe, 0x54, 0x1, 0xe3, 0xce, 0xfe, 0x73, 0xc5, 0xb7, 0x7d, 0x7d, 0x6, 0x14, 0x7a, 0x7d, 0xfd, 0x35, 0x2, 0xe, 0xfe, 0x4f, 0xfd, 0x51, 0x2, 0x35, 0xc8, 0xfe, 0x93, 0x5, 0x1d, 0x7d, 0x0, 0x0, 0x0, 0x1, 0x0, 0x32, 0x0, 0x0, 0x6, 0xb2, 0x5, 0xd5, 0x0, 0xd, 0x0, 0x5f, 0x40, 0xb, 0x8, 0x5, 0x1, 0x4, 0x6, 0x9, 0x1, 0x1c, 0xc, 0x0, 0xe, 0x10, 0xd4, 0xdc, 0xec, 0x32, 0xd4, 0xc4, 0x11, 0x39, 0x39, 0x31, 0x0, 0x40, 0xe, 0x42, 0xd, 0xa0, 0x0, 0x8, 0x9, 0x5, 0x2, 0x4, 0x3, 0x0, 0xaf, 0xa, 0x6, 0x2f, 0x3c, 0xec, 0x32, 0x17, 0x39, 0x10, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x16, 0x7, 0x11, 0x6, 0x8, 0x11, 0x5, 0x9, 0x4, 0x6, 0x5, 0x3, 0x11, 0x4, 0x2, 0x11, 0x5, 0x8, 0x9, 0x9, 0x4, 0x9, 0x4, 0x9, 0x7, 0x10, 0x3c, 0x3c, 0x4, 0xed, 0x10, 0x5, 0xed, 0x7, 0x8, 0x10, 0xed, 0x5, 0x10, 0xed, 0x59, 0x13, 0x21, 0x11, 0x1, 0x21, 0x9, 0x1, 0x23, 0x9, 0x1, 0x11, 0x23, 0x11, 0x21, 0x32, 0x2, 0x8d, 0x2, 0xd2, 0x1, 0x3, 0xfd, 0xbf, 0x2, 0x5f, 0xdc, 0xfd, 0xfa, 0xfe, 0xef, 0xca, 0xfe, 0x3d, 0x5, 0xd5, 0xfd, 0x1e, 0x2, 0xe2, 0xfd, 0xb2, 0xfc, 0x79, 0x3, 0x1, 0xfe, 0xe9, 0xfe, 0x16, 0x5, 0x2b, 0x0, 0x1, 0x0, 0x2a, 0x0, 0x0, 0x5, 0x82, 0x4, 0x60, 0x0, 0xd, 0x0, 0x5f, 0x40, 0xb, 0x8, 0x5, 0x1, 0x4, 0x6, 0x9, 0x1, 0x8, 0xb, 0x0, 0xe, 0x10, 0xd4, 0xdc, 0xec, 0x32, 0xd4, 0xc4, 0x11, 0x39, 0x39, 0x31, 0x0, 0x40, 0xe, 0x42, 0xd, 0xa0, 0x0, 0x8, 0x9, 0x5, 0x2, 0x4, 0x3, 0x0, 0xbc, 0xa, 0x6, 0x2f, 0x3c, 0xec, 0x32, 0x17, 0x39, 0x10, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x16, 0x7, 0x11, 0x6, 0x8, 0x11, 0x5, 0x9, 0x4, 0x6, 0x5, 0x3, 0x11, 0x4, 0x2, 0x11, 0x5, 0x8, 0x9, 0x9, 0x4, 0x9, 0x4, 0x9, 0x7, 0x10, 0x3c, 0x3c, 0x4, 0xed, 0x10, 0x5, 0xed, 0x7, 0x8, 0x10, 0xed, 0x5, 0x10, 0xed, 0x59, 0x13, 0x21, 0x11, 0x1, 0x33, 0x9, 0x1, 0x23, 0x1, 0x7, 0x11, 0x23, 0x11, 0x21, 0x2a, 0x2, 0x38, 0x2, 0x7, 0xe2, 0xfe, 0x54, 0x1, 0xe3, 0xce, 0xfe, 0x73, 0xc5, 0xb7, 0xfe, 0x7f, 0x4, 0x60, 0xfd, 0xf2, 0x2, 0xe, 0xfe, 0x4f, 0xfd, 0x51, 0x2, 0x35, 0xc8, 0xfe, 0x93, 0x3, 0xc6, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0xfe, 0xbf, 0x6, 0x4, 0x5, 0xd5, 0x0, 0xf, 0x0, 0x36, 0x40, 0x1a, 0xc, 0x95, 0x2, 0xad, 0x4, 0x0, 0x81, 0x6, 0x95, 0x9, 0xe, 0xa, 0x7, 0x95, 0xa, 0xb, 0x3, 0x1c, 0x5, 0x38, 0xd, 0x1, 0x1c, 0x0, 0x4, 0x10, 0x10, 0xfc, 0xec, 0x32, 0xfc, 0xec, 0x32, 0x3c, 0xec, 0x31, 0x0, 0x2f, 0x3c, 0xcc, 0xec, 0xe4, 0x32, 0xfc, 0xec, 0x30, 0xb2, 0x50, 0x11, 0x1, 0x1, 0x5d, 0x13, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0xc9, 0xca, 0x2, 0xde, 0xca, 0xc9, 0xc9, 0xca, 0xfd, 0x22, 0xca, 0x5, 0xd5, 0xfd, 0x9c, 0x2, 0x64, 0xfa, 0xd5, 0xfe, 0x15, 0x1, 0x41, 0x2, 0xc7, 0xfd, 0x39, 0x0, 0x0, 0x1, 0x0, 0xc1, 0xfe, 0xe5, 0x5, 0x40, 0x4, 0x60, 0x0, 0xf, 0x0, 0x31, 0x40, 0x1a, 0xd, 0xa9, 0x2, 0x4, 0x0, 0xbc, 0x6, 0xa9, 0x9, 0xb, 0xf, 0x11, 0x46, 0xc, 0x4, 0x8, 0x7, 0xa9, 0xa, 0x5, 0xd, 0x1, 0x8, 0x0, 0x46, 0x10, 0x10, 0xfc, 0xec, 0x32, 0xdc, 0x3c, 0xec, 0xec, 0x32, 0xec, 0x31, 0x0, 0x2f, 0x3c, 0xcc, 0xec, 0xe4, 0x32, 0xdc, 0xec, 0x30, 0x13, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0xc1, 0xb8, 0x2, 0x57, 0xb8, 0xb8, 0xb8, 0xb8, 0xfd, 0xa9, 0xb8, 0x4, 0x60, 0xfe, 0x33, 0x1, 0xcd, 0xfc, 0x39, 0xfe, 0x4c, 0x1, 0x1b, 0x2, 0x4, 0xfd, 0xfc, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x8, 0x12, 0x5, 0xd5, 0x0, 0xd, 0x0, 0x2d, 0x40, 0x18, 0x6, 0x95, 0x4, 0xa, 0x95, 0x2, 0xad, 0x4, 0x0, 0x81, 0xc, 0x8, 0x5, 0x9, 0x3, 0x1c, 0x7, 0x38, 0xb, 0x1, 0x1c, 0x0, 0x4, 0xe, 0x10, 0xfc, 0xec, 0x32, 0xfc, 0xec, 0x32, 0xc4, 0x31, 0x0, 0x2f, 0x3c, 0xe4, 0x32, 0xfc, 0xec, 0x10, 0xec, 0x30, 0x13, 0x33, 0x11, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0xc9, 0xca, 0x2, 0xde, 0x3, 0xa1, 0xfd, 0x29, 0xca, 0xfd, 0x22, 0xca, 0x5, 0xd5, 0xfd, 0x9c, 0x2, 0x64, 0xaa, 0xfa, 0xd5, 0x2, 0xc7, 0xfd, 0x39, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc1, 0x0, 0x0, 0x6, 0xe6, 0x4, 0x60, 0x0, 0xd, 0x0, 0x2b, 0x40, 0x16, 0x6, 0xa9, 0x4, 0xb, 0xa9, 0x2, 0x4, 0x0, 0xbc, 0x9, 0xd, 0x5, 0xa, 0x4, 0x8, 0x7, 0xb, 0x1, 0x8, 0x0, 0x46, 0xe, 0x10, 0xfc, 0xec, 0x32, 0xdc, 0xec, 0x32, 0xc4, 0x31, 0x0, 0x2f, 0x3c, 0xe4, 0x32, 0xdc, 0xec, 0x10, 0xec, 0x30, 0x13, 0x33, 0x11, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0xc1, 0xb8, 0x2, 0x57, 0x3, 0x16, 0xfd, 0xa2, 0xb8, 0xfd, 0xa9, 0xb8, 0x4, 0x60, 0xfe, 0x33, 0x1, 0xcd, 0xaa, 0xfc, 0x4a, 0x2, 0x4, 0xfd, 0xfc, 0x0, 0x1, 0x0, 0xc9, 0xfe, 0x66, 0x8, 0x74, 0x5, 0xd5, 0x0, 0x1d, 0x0, 0x38, 0x40, 0xe, 0x1f, 0xf, 0x1c, 0x13, 0x1a, 0x3, 0x1c, 0x0, 0x8, 0x4, 0x1c, 0x7, 0x4, 0x1e, 0x10, 0xfc, 0xec, 0xd4, 0x3c, 0xec, 0xdc, 0xcc, 0xfc, 0xcc, 0x31, 0x0, 0x40, 0xf, 0x1d, 0x95, 0xa, 0xad, 0x2, 0x3, 0x95, 0x7, 0x81, 0x6, 0x13, 0x95, 0x14, 0x6, 0x2, 0x2f, 0x3c, 0xdc, 0xec, 0x10, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x21, 0x32, 0x17, 0x16, 0x15, 0x11, 0x10, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x34, 0x26, 0x23, 0x5, 0x3b, 0xca, 0xfd, 0x22, 0xca, 0x4, 0x72, 0x1, 0xa1, 0xba, 0x71, 0x6d, 0xcc, 0xe4, 0x4c, 0x3e, 0x86, 0x38, 0x37, 0x7c, 0x7c, 0x2, 0xc7, 0xfd, 0x39, 0x5, 0x2b, 0xfa, 0xd5, 0x5, 0xd5, 0xfd, 0x9c, 0x77, 0x72, 0xee, 0xfe, 0xce, 0xfe, 0xf2, 0xf4, 0xaa, 0x4b, 0x4b, 0xc2, 0x1, 0x22, 0x9f, 0x9e, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc1, 0xfe, 0x56, 0x7, 0x21, 0x4, 0x60, 0x0, 0x1f, 0x0, 0x33, 0x40, 0xe, 0x21, 0xf, 0x8, 0x14, 0x1b, 0x3, 0x8, 0x0, 0x8, 0x4, 0x8, 0x7, 0x46, 0x20, 0x10, 0xfc, 0xec, 0xd4, 0x3c, 0xec, 0xdc, 0xcc, 0xfc, 0xcc, 0x31, 0x0, 0x40, 0xb, 0x1f, 0x9, 0x3, 0xa9, 0x7, 0xbc, 0x2, 0x13, 0x15, 0x2, 0x6, 0x2f, 0x3c, 0xdc, 0xcc, 0x10, 0xf4, 0xec, 0xdc, 0xcc, 0x30, 0x1, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x33, 0x20, 0x17, 0x16, 0x15, 0x11, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x34, 0x27, 0x26, 0x7, 0x4, 0x88, 0xb8, 0xfd, 0xa9, 0xb8, 0x3, 0xc7, 0xfa, 0x1, 0x7, 0x46, 0x52, 0x52, 0x51, 0xb5, 0xc1, 0xac, 0x6e, 0x21, 0x26, 0x26, 0x31, 0x86, 0x1, 0xe7, 0xfe, 0x19, 0x3, 0xc6, 0xfc, 0x3a, 0x4, 0x60, 0xfe, 0x17, 0x47, 0x51, 0xe5, 0xfe, 0xf2, 0xd6, 0x60, 0x60, 0x9c, 0x30, 0x37, 0x93, 0x1, 0x8, 0xa4, 0x26, 0x2e, 0x5, 0x0, 0x0, 0x2, 0x0, 0x73, 0xff, 0xe3, 0x6, 0xf7, 0x5, 0xf1, 0x0, 0x41, 0x0, 0x59, 0x0, 0x0, 0x25, 0x2e, 0x3, 0x35, 0x34, 0x3e, 0x4, 0x33, 0x32, 0x1e, 0x4, 0x15, 0x14, 0xe, 0x2, 0x7, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x2e, 0x2, 0x27, 0xe, 0x1, 0x23, 0x22, 0x24, 0x26, 0x2, 0x35, 0x34, 0x12, 0x3e, 0x1, 0x37, 0x15, 0xe, 0x3, 0x15, 0x14, 0x1e, 0x2, 0x33, 0x32, 0x36, 0x37, 0x3e, 0x3, 0x35, 0x34, 0x2e, 0x4, 0x23, 0x22, 0xe, 0x4, 0x15, 0x14, 0x1e, 0x2, 0x4, 0x2b, 0x39, 0x6c, 0x52, 0x32, 0x13, 0x2a, 0x44, 0x61, 0x81, 0x53, 0x4e, 0x7d, 0x61, 0x46, 0x2d, 0x15, 0x1a, 0x3f, 0x6a, 0x51, 0x26, 0x68, 0x3b, 0x3e, 0x65, 0x33, 0x2e, 0x78, 0x3d, 0x26, 0x51, 0x55, 0x57, 0x2b, 0x42, 0xc3, 0x79, 0xaa, 0xfe, 0xf4, 0xbc, 0x63, 0x5b, 0xac, 0xf7, 0x9d, 0x73, 0xab, 0x70, 0x38, 0x3c, 0x7b, 0xbe, 0x81, 0x52, 0x80, 0xb1, 0x3f, 0x53, 0x30, 0x14, 0xb, 0x17, 0x24, 0x30, 0x3e, 0x26, 0x31, 0x48, 0x33, 0x21, 0x12, 0x7, 0x28, 0x42, 0x54, 0xae, 0x31, 0x89, 0xaa, 0xc4, 0x6b, 0x42, 0x8a, 0x83, 0x74, 0x57, 0x32, 0x32, 0x54, 0x70, 0x7b, 0x7f, 0x3a, 0x53, 0xb4, 0xb2, 0xaa, 0x4a, 0x1a, 0x15, 0x13, 0x1a, 0xa8, 0x17, 0x12, 0x8, 0x14, 0x23, 0x1b, 0x26, 0x34, 0x74, 0xcf, 0x1, 0x1d, 0xa8, 0xa0, 0x1, 0x10, 0xcb, 0x7d, 0xe, 0xa7, 0x16, 0x66, 0x9a, 0xcd, 0x7c, 0x7d, 0xde, 0xa7, 0x62, 0x19, 0x6d, 0x3a, 0x86, 0x8e, 0x91, 0x45, 0x2f, 0x66, 0x63, 0x59, 0x43, 0x28, 0x2b, 0x47, 0x5b, 0x60, 0x5f, 0x26, 0x62, 0xab, 0x8e, 0x6e, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0xff, 0xe3, 0x5, 0x78, 0x4, 0x7a, 0x0, 0x3f, 0x0, 0x50, 0x0, 0x0, 0x13, 0x34, 0x3e, 0x2, 0x37, 0x15, 0xe, 0x3, 0x15, 0x14, 0x1e, 0x2, 0x33, 0x32, 0x36, 0x37, 0x2e, 0x3, 0x35, 0x34, 0x3e, 0x2, 0x33, 0x32, 0x1e, 0x2, 0x15, 0x14, 0x6, 0x7, 0x1e, 0x1, 0x33, 0x32, 0x3e, 0x2, 0x37, 0x15, 0xe, 0x3, 0x23, 0x22, 0x26, 0x27, 0xe, 0x3, 0x23, 0x22, 0x2e, 0x2, 0x5, 0x3e, 0x3, 0x35, 0x34, 0x2e, 0x2, 0x23, 0x22, 0xe, 0x2, 0x15, 0x14, 0x71, 0x4b, 0x8f, 0xd1, 0x86, 0x5d, 0x8a, 0x5b, 0x2d, 0x32, 0x60, 0x8a, 0x58, 0x27, 0x56, 0x1c, 0x24, 0x3f, 0x2f, 0x1b, 0x28, 0x50, 0x74, 0x4d, 0x42, 0x70, 0x50, 0x2d, 0x5c, 0x5f, 0x23, 0x44, 0x1e, 0x1b, 0x2d, 0x29, 0x2a, 0x18, 0x11, 0x25, 0x2d, 0x38, 0x25, 0x37, 0x82, 0x43, 0x1e, 0x46, 0x49, 0x47, 0x1f, 0x87, 0xd4, 0x91, 0x4c, 0x3, 0x56, 0x22, 0x2d, 0x1a, 0xb, 0x16, 0x21, 0x28, 0x12, 0x1a, 0x2c, 0x21, 0x13, 0x2, 0x28, 0x83, 0xd8, 0x9c, 0x58, 0x3, 0x9b, 0x6, 0x46, 0x72, 0x98, 0x58, 0x62, 0xa0, 0x72, 0x3e, 0xb, 0x11, 0x25, 0x67, 0x78, 0x82, 0x40, 0x5d, 0x9f, 0x73, 0x41, 0x39, 0x68, 0x92, 0x59, 0x9b, 0xf1, 0x5e, 0x13, 0xa, 0x4, 0xa, 0x13, 0xf, 0x9d, 0xa, 0x11, 0xc, 0x7, 0x1c, 0x2c, 0x12, 0x1b, 0x12, 0x9, 0x54, 0x99, 0xd6, 0xb8, 0x26, 0x5e, 0x64, 0x63, 0x2b, 0x4b, 0x69, 0x42, 0x1f, 0x26, 0x48, 0x69, 0x43, 0xf7, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xfe, 0x75, 0x5, 0x27, 0x5, 0xf0, 0x10, 0x27, 0x0, 0x7a, 0x1, 0x2d, 0x0, 0x0, 0x12, 0x6, 0x3, 0xb5, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x75, 0x3, 0xe7, 0x4, 0x7b, 0x10, 0x27, 0x0, 0x7a, 0x0, 0x8f, 0x0, 0x0, 0x12, 0x6, 0x3, 0xd5, 0x0, 0x0, 0x0, 0x1, 0xff, 0xfa, 0xfe, 0xbf, 0x4, 0xe9, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x2c, 0x40, 0xd, 0xd, 0xa, 0x40, 0x1, 0x1c, 0x4, 0xb, 0x1c, 0x8, 0x40, 0x5, 0x8, 0xc, 0x10, 0xc4, 0xdc, 0xec, 0xfc, 0x3c, 0xec, 0xfc, 0xc4, 0x31, 0x0, 0x40, 0x9, 0xa, 0x6, 0x95, 0x9, 0x81, 0x1, 0x95, 0x3, 0x5, 0x2f, 0xcc, 0xec, 0xf4, 0xec, 0x32, 0x30, 0x25, 0x33, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x2, 0xd7, 0xc9, 0xc9, 0xcb, 0xfd, 0xee, 0x4, 0xef, 0xfd, 0xee, 0xaa, 0xfe, 0x15, 0x1, 0x41, 0x5, 0x2b, 0xaa, 0xaa, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3c, 0xfe, 0xe5, 0x4, 0x6d, 0x4, 0x60, 0x0, 0xb, 0x0, 0x28, 0x40, 0xa, 0xd, 0x9, 0x1, 0x8, 0x4, 0xb, 0x8, 0x6, 0x8, 0xc, 0x10, 0xdc, 0xdc, 0xfc, 0x3c, 0xec, 0xdc, 0xcc, 0x31, 0x0, 0x40, 0x9, 0xb, 0x7, 0xa9, 0x8, 0xbc, 0x0, 0xa9, 0x3, 0x5, 0x2f, 0xcc, 0xec, 0xf4, 0xec, 0x32, 0x30, 0x25, 0x33, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x2, 0xaf, 0xb8, 0xb8, 0xb5, 0xfe, 0x42, 0x4, 0x31, 0xfe, 0x42, 0x99, 0xfe, 0x4c, 0x1, 0x1b, 0x3, 0xb6, 0xaa, 0xaa, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x4, 0xe7, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x3c, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3d, 0xfe, 0x56, 0x4, 0x7f, 0x4, 0x60, 0x0, 0x8, 0x0, 0x6f, 0x40, 0x10, 0x4, 0x8, 0xbc, 0x2, 0x9, 0x6, 0x3, 0x0, 0x8, 0x3, 0x4, 0x0, 0x8, 0x3, 0x4, 0x9, 0x10, 0xd4, 0x4b, 0xb0, 0xa, 0x54, 0x4b, 0xb0, 0x8, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0xb, 0x0, 0x40, 0x38, 0x59, 0x4b, 0xb0, 0x14, 0x54, 0x58, 0xb9, 0x0, 0xb, 0xff, 0xc0, 0x38, 0x59, 0xd4, 0xfc, 0x49, 0x3a, 0x11, 0x12, 0x39, 0x31, 0x0, 0x10, 0xcc, 0xe4, 0x32, 0x30, 0x40, 0x19, 0x7, 0x11, 0x8, 0x0, 0x8, 0x6, 0x11, 0x5, 0x6, 0x0, 0x8, 0x0, 0x6, 0x11, 0x6, 0x7, 0x3, 0x3, 0x4, 0x5, 0x11, 0x4, 0x4, 0x3, 0x42, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x5, 0xed, 0x59, 0x22, 0x25, 0x11, 0x23, 0x11, 0x1, 0x33, 0x9, 0x1, 0x33, 0x2, 0xc5, 0xc3, 0xfe, 0x3b, 0xc3, 0x1, 0x5e, 0x1, 0x5e, 0xc3, 0x12, 0xfe, 0x44, 0x1, 0xbc, 0x4, 0x4e, 0xfc, 0x94, 0x3, 0x6c, 0x0, 0x1, 0xff, 0xfc, 0x0, 0x0, 0x4, 0xe7, 0x5, 0xd5, 0x0, 0x10, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x35, 0x1, 0x33, 0x9, 0x1, 0x33, 0x1, 0x15, 0x21, 0x3, 0xdf, 0xfe, 0xf8, 0xcb, 0xfe, 0xf9, 0x1, 0x7, 0xfd, 0xf0, 0xd9, 0x1, 0x9e, 0x1, 0x9b, 0xd9, 0xfd, 0xf0, 0x1, 0x8, 0x1, 0x73, 0xfe, 0x8d, 0x1, 0x73, 0xaa, 0xaa, 0x3, 0xe, 0xfd, 0x9a, 0x2, 0x66, 0xfc, 0xf2, 0xaa, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3d, 0xfe, 0x56, 0x4, 0x7f, 0x4, 0x60, 0x0, 0x10, 0x0, 0x0, 0x9, 0x1, 0x15, 0x21, 0x15, 0x21, 0x15, 0x23, 0x35, 0x21, 0x35, 0x21, 0x35, 0x1, 0x33, 0x9, 0x1, 0x4, 0x7f, 0xfe, 0x46, 0x1, 0x6, 0xfe, 0xfa, 0xc3, 0xfe, 0xef, 0x1, 0x11, 0xfe, 0x3b, 0xc3, 0x1, 0x5e, 0x1, 0x5e, 0x4, 0x60, 0xfb, 0xb2, 0x58, 0xaa, 0xba, 0xba, 0xaa, 0x58, 0x4, 0x4e, 0xfc, 0x94, 0x3, 0x6c, 0x0, 0x0, 0x1, 0x0, 0x3d, 0xfe, 0xbf, 0x5, 0x3b, 0x5, 0xd5, 0x0, 0xf, 0x0, 0x0, 0x25, 0x33, 0x11, 0x23, 0x11, 0x23, 0x9, 0x1, 0x23, 0x9, 0x1, 0x33, 0x9, 0x1, 0x33, 0x1, 0x4, 0xcb, 0x70, 0xc5, 0x14, 0xfe, 0x5c, 0xfe, 0x59, 0xda, 0x2, 0x15, 0xfe, 0x2f, 0xd9, 0x1, 0x73, 0x1, 0x75, 0xd9, 0xfe, 0x20, 0xaa, 0xfe, 0x15, 0x1, 0x41, 0x2, 0x7b, 0xfd, 0x85, 0x3, 0x1d, 0x2, 0xb8, 0xfd, 0xd5, 0x2, 0x2b, 0xfd, 0x33, 0x0, 0x0, 0x1, 0x0, 0x3b, 0xfe, 0xe5, 0x4, 0x79, 0x4, 0x60, 0x0, 0xf, 0x0, 0x0, 0x25, 0x33, 0x11, 0x23, 0x11, 0x23, 0x9, 0x1, 0x23, 0x9, 0x1, 0x33, 0x9, 0x1, 0x33, 0x1, 0x4, 0x8, 0x71, 0xb8, 0x21, 0xfe, 0xba, 0xfe, 0xba, 0xd9, 0x1, 0xb3, 0xfe, 0x72, 0xd9, 0x1, 0x29, 0x1, 0x29, 0xd9, 0xfe, 0x6b, 0x99, 0xfe, 0x4c, 0x1, 0x1b, 0x1, 0xb8, 0xfe, 0x48, 0x2, 0x4a, 0x2, 0x16, 0xfe, 0x71, 0x1, 0x8f, 0xfd, 0xdf, 0x0, 0x0, 0x1, 0xff, 0xfa, 0xfe, 0xbf, 0x7, 0x47, 0x5, 0xd5, 0x0, 0xf, 0x0, 0x35, 0x40, 0x10, 0x11, 0x5, 0x95, 0x8, 0x2, 0x1c, 0x3, 0xa, 0xd, 0x40, 0xf, 0x1c, 0xc, 0x40, 0xa, 0x10, 0x10, 0xd4, 0xe4, 0xfc, 0xe4, 0x10, 0xd4, 0xec, 0x3c, 0xfc, 0xcc, 0x31, 0x0, 0x40, 0xb, 0xf, 0xa, 0x95, 0x2, 0xc, 0x81, 0x7, 0x4, 0x0, 0x95, 0x9, 0x2f, 0xec, 0x32, 0xcc, 0xf4, 0x3c, 0xec, 0x32, 0x30, 0x25, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x23, 0x11, 0x21, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x2, 0xd6, 0x2, 0xde, 0xca, 0xc9, 0xc9, 0xfb, 0x8e, 0xfd, 0xee, 0x4, 0xef, 0xfd, 0xee, 0xaa, 0x5, 0x2b, 0xfa, 0xd5, 0xfe, 0x15, 0x1, 0x41, 0x5, 0x2b, 0xaa, 0xaa, 0x0, 0x0, 0x1, 0x0, 0x5, 0xfe, 0xe5, 0x6, 0x42, 0x4, 0x60, 0x0, 0xf, 0x0, 0x33, 0x40, 0xe, 0x11, 0x5, 0xa9, 0x2, 0x8, 0x8, 0x3, 0xa, 0xd, 0xf, 0x8, 0xc, 0xa, 0x10, 0x10, 0xdc, 0xc4, 0xfc, 0xc4, 0x10, 0xd4, 0x3c, 0xec, 0xfc, 0xcc, 0x31, 0x0, 0x40, 0xb, 0xf, 0xb, 0xa9, 0x2, 0xc, 0xbc, 0x7, 0x4, 0x0, 0xa9, 0x9, 0x2f, 0xec, 0x32, 0xcc, 0xf4, 0x3c, 0xec, 0x32, 0x30, 0x25, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x23, 0x11, 0x21, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x2, 0x78, 0x2, 0x5a, 0xb8, 0xb8, 0xb8, 0xfc, 0x39, 0xfe, 0x42, 0x4, 0x31, 0xfe, 0x42, 0x99, 0x3, 0xc7, 0xfc, 0x39, 0xfe, 0x4c, 0x1, 0x1b, 0x3, 0xb6, 0xaa, 0xaa, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xaf, 0xfe, 0xbf, 0x5, 0x7c, 0x5, 0xd5, 0x0, 0x14, 0x0, 0x2e, 0x40, 0xc, 0x1, 0x16, 0x4, 0x6, 0x13, 0x1c, 0x4, 0x14, 0xd, 0x1c, 0xc, 0x15, 0x10, 0xdc, 0xec, 0xd4, 0x3c, 0xec, 0x32, 0xec, 0x32, 0x31, 0x0, 0x40, 0xb, 0x7, 0x95, 0x11, 0xad, 0x13, 0xc, 0x81, 0x0, 0x95, 0x3, 0x5, 0x2f, 0xcc, 0xec, 0xe4, 0x32, 0xf4, 0xec, 0x30, 0x25, 0x33, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x22, 0x27, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x21, 0x11, 0x33, 0x4, 0xb3, 0xc9, 0xc9, 0xcb, 0xfe, 0x5f, 0xba, 0x71, 0x6d, 0xc9, 0x7c, 0x7c, 0x1, 0x78, 0xcb, 0xaa, 0xfe, 0x15, 0x1, 0x41, 0x2, 0xc7, 0x77, 0x72, 0xee, 0x1, 0x37, 0xfe, 0xd9, 0x9f, 0x9e, 0x2, 0x64, 0x0, 0x0, 0x1, 0x0, 0x96, 0xfe, 0xe5, 0x4, 0xb8, 0x4, 0x60, 0x0, 0x15, 0x0, 0x46, 0x40, 0xc, 0x1, 0x17, 0x46, 0x6, 0x14, 0x8, 0x4, 0x15, 0xd, 0x8, 0xc, 0x16, 0x10, 0xdc, 0xec, 0xd4, 0x3c, 0xec, 0x32, 0xec, 0x32, 0x31, 0x0, 0x40, 0xa, 0x7, 0xa9, 0x12, 0x14, 0xc, 0xbc, 0x0, 0xa9, 0x3, 0x5, 0x2f, 0xcc, 0xec, 0xe4, 0x32, 0xd4, 0xec, 0xb0, 0x5, 0xb0, 0x7, 0x23, 0x49, 0xb0, 0x12, 0xb0, 0x14, 0x23, 0x49, 0x52, 0x58, 0xb1, 0x7, 0x12, 0xb8, 0xff, 0xc0, 0xb0, 0x2, 0x17, 0x38, 0x59, 0x30, 0x25, 0x33, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x22, 0x27, 0x26, 0x3d, 0x1, 0x33, 0x15, 0x14, 0x17, 0x16, 0x33, 0x21, 0x11, 0x33, 0x4, 0x0, 0xb8, 0xb8, 0xb8, 0xfe, 0xa9, 0x99, 0x66, 0x5c, 0xb8, 0x34, 0x35, 0x68, 0x1, 0x29, 0xb8, 0x99, 0xfe, 0x4c, 0x1, 0x1b, 0x2, 0x9, 0x5f, 0x56, 0xb8, 0xea, 0xd3, 0x75, 0x3b, 0x3b, 0x1, 0xbe, 0x0, 0x1, 0x0, 0xaf, 0x0, 0x0, 0x4, 0xb3, 0x5, 0xd5, 0x0, 0x18, 0x0, 0x0, 0x1, 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x3b, 0x1, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x2, 0x82, 0x3b, 0xba, 0x71, 0x6d, 0xc9, 0x7c, 0x7c, 0x12, 0x90, 0xd6, 0xcb, 0xcb, 0xd6, 0x90, 0x2, 0xc7, 0x77, 0x72, 0xee, 0x1, 0x37, 0xfe, 0xd9, 0x9f, 0x9e, 0x1, 0x39, 0xfe, 0xc7, 0x2, 0x64, 0xfa, 0x2b, 0x2, 0xc7, 0xfe, 0xcf, 0x0, 0x0, 0x0, 0x1, 0x0, 0x96, 0x0, 0x0, 0x4, 0x0, 0x4, 0x60, 0x0, 0x18, 0x0, 0x0, 0x1, 0x35, 0x33, 0x15, 0x33, 0x11, 0x33, 0x11, 0x23, 0x11, 0x23, 0x15, 0x23, 0x35, 0x23, 0x22, 0x27, 0x26, 0x3d, 0x1, 0x33, 0x15, 0x14, 0x17, 0x16, 0x1, 0xf9, 0xa0, 0xaf, 0xb8, 0xb8, 0xaf, 0xa0, 0x8, 0x99, 0x66, 0x5c, 0xb8, 0x34, 0x2b, 0x2, 0xa4, 0xc2, 0xc4, 0x1, 0xbe, 0xfb, 0xa0, 0x2, 0x9, 0xc4, 0xc4, 0x5f, 0x56, 0xb8, 0xea, 0xd3, 0x75, 0x3b, 0x30, 0x0, 0x0, 0x0, 0x1, 0x0, 0xaf, 0x0, 0x0, 0x4, 0xb3, 0x5, 0xd5, 0x0, 0xf, 0x0, 0x24, 0x40, 0xa, 0x11, 0x8, 0x1c, 0x6, 0xc, 0x0, 0x1c, 0xf, 0x4, 0x10, 0x10, 0xfc, 0xec, 0x32, 0xd4, 0xec, 0xcc, 0x31, 0x0, 0xb7, 0x2, 0x95, 0xb, 0xad, 0xf, 0x81, 0x7, 0xe, 0x2f, 0x3c, 0xf4, 0xf4, 0xec, 0x30, 0x1, 0x11, 0x21, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x21, 0x11, 0x23, 0x11, 0x1, 0x7a, 0x1, 0xa1, 0xba, 0xde, 0xc9, 0x7c, 0x7c, 0xfe, 0x88, 0xcb, 0x5, 0xd5, 0xfd, 0x9c, 0xe9, 0xee, 0xfe, 0x66, 0x1, 0x8a, 0x9f, 0x9e, 0xfd, 0x39, 0x5, 0xd5, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x4, 0x64, 0x6, 0x14, 0x12, 0x6, 0x0, 0x4b, 0x0, 0x0, 0x0, 0x2, 0x0, 0x14, 0xff, 0xe3, 0x7, 0x14, 0x5, 0xf0, 0x0, 0x22, 0x0, 0x2a, 0x0, 0x49, 0x40, 0x11, 0x23, 0x24, 0x9, 0xf, 0x24, 0x19, 0x8, 0x33, 0x9, 0x19, 0x18, 0x1e, 0x12, 0x1d, 0x0, 0x18, 0x2b, 0x10, 0xdc, 0x32, 0xdc, 0xec, 0x10, 0xec, 0xf4, 0xec, 0xc4, 0x11, 0x12, 0x39, 0x31, 0x0, 0x40, 0x16, 0x10, 0xa1, 0xf, 0xae, 0xc, 0x1e, 0x18, 0x8, 0x95, 0x0, 0x24, 0xad, 0xc, 0x95, 0x14, 0x28, 0x95, 0x4, 0x91, 0x14, 0x8c, 0x2b, 0x10, 0xe4, 0xf4, 0xec, 0x10, 0xec, 0xf4, 0x3c, 0xec, 0x32, 0xcc, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x12, 0x37, 0x36, 0x21, 0x20, 0x17, 0x16, 0x13, 0x21, 0x10, 0x0, 0x21, 0x32, 0x36, 0x37, 0x15, 0x6, 0x7, 0x6, 0x23, 0x20, 0x27, 0x26, 0x3, 0x6, 0x27, 0x26, 0x3d, 0x1, 0x33, 0x15, 0x14, 0x17, 0x16, 0x25, 0x21, 0x26, 0x27, 0x26, 0x20, 0x7, 0x6, 0x1, 0xb2, 0x22, 0x96, 0xbc, 0x1, 0x3a, 0x1, 0x43, 0xb5, 0xbb, 0x1, 0xfb, 0x70, 0x1, 0x12, 0x1, 0x12, 0x8b, 0xfc, 0x70, 0x6f, 0x83, 0x84, 0x92, 0xfe, 0xa2, 0xc5, 0xbc, 0xa, 0xaa, 0x76, 0x7a, 0xaa, 0x4b, 0x42, 0x1, 0x40, 0x3, 0xad, 0x18, 0x62, 0x82, 0xfe, 0x48, 0x80, 0x61, 0x3, 0x6d, 0x1, 0xa, 0xa7, 0xd2, 0xd2, 0xdb, 0xfe, 0x84, 0xfe, 0xf4, 0xfe, 0xce, 0x60, 0x5f, 0xd7, 0x46, 0x24, 0x24, 0xcd, 0xc2, 0x1, 0x55, 0x1, 0x67, 0x6b, 0xdf, 0x4c, 0x3e, 0xa0, 0x41, 0x39, 0x2, 0xbf, 0x7c, 0xa4, 0xa4, 0x7c, 0x0, 0x0, 0x0, 0x2, 0x0, 0xf, 0xff, 0xe3, 0x5, 0x66, 0x4, 0x7b, 0x0, 0x25, 0x0, 0x2e, 0x0, 0x69, 0x40, 0x11, 0x2e, 0x26, 0x15, 0x1d, 0x26, 0x8, 0x13, 0x4b, 0x0, 0x6, 0x12, 0x5, 0x15, 0x12, 0xb, 0x0, 0x2f, 0x10, 0xdc, 0x32, 0xec, 0xdc, 0x40, 0xb, 0x0, 0x5, 0x70, 0x30, 0x7f, 0x5, 0xb0, 0x30, 0xcf, 0x30, 0x5, 0x5d, 0xec, 0x10, 0xf4, 0xec, 0xc4, 0x11, 0x12, 0x39, 0x31, 0x0, 0x40, 0x1a, 0x13, 0x26, 0x14, 0x1e, 0x86, 0x1d, 0x88, 0x19, 0x6, 0xb, 0x26, 0xa9, 0x14, 0x19, 0xb9, 0x22, 0x0, 0x14, 0xbb, 0x2a, 0xb9, 0xf, 0xb8, 0x22, 0x8c, 0x2f, 0x10, 0xe4, 0xf4, 0xec, 0xe4, 0xb2, 0x6f, 0x14, 0x1, 0x5d, 0x32, 0x10, 0xec, 0x10, 0xfc, 0x3c, 0xcc, 0x10, 0xf4, 0xb2, 0x2f, 0x1d, 0x1, 0x5d, 0xec, 0x11, 0x12, 0x39, 0x30, 0x1, 0x22, 0x27, 0x26, 0x3d, 0x1, 0x33, 0x15, 0x14, 0x17, 0x16, 0x33, 0x36, 0x37, 0x36, 0x21, 0x32, 0x17, 0x16, 0x1d, 0x1, 0x21, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x15, 0x6, 0x7, 0x6, 0x23, 0x20, 0x27, 0x26, 0x1, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x1, 0x58, 0x90, 0x59, 0x60, 0x9c, 0x30, 0x39, 0x4a, 0x1a, 0x74, 0x92, 0x0, 0xff, 0xe2, 0x83, 0x84, 0xfc, 0xb2, 0xc, 0x66, 0x67, 0xb7, 0x6a, 0x64, 0x63, 0x62, 0x68, 0x63, 0x6e, 0x65, 0xfe, 0xf3, 0x9c, 0x94, 0x3, 0x4e, 0x2, 0x52, 0x53, 0x88, 0x9a, 0x5d, 0x5c, 0xe, 0x2, 0x4, 0x52, 0x5a, 0xac, 0x46, 0x31, 0x97, 0x21, 0x26, 0xc5, 0x82, 0xa1, 0x91, 0x92, 0xfa, 0x5a, 0xbe, 0x64, 0x63, 0x1a, 0x1a, 0x34, 0xae, 0x2c, 0x14, 0x16, 0x9c, 0x94, 0x1, 0x81, 0x97, 0x5a, 0x5a, 0x57, 0x57, 0x9e, 0x0, 0x0, 0x0, 0x2, 0x0, 0x14, 0xfe, 0x87, 0x7, 0x14, 0x5, 0xf0, 0x0, 0x7, 0x0, 0x2d, 0x0, 0x0, 0x1, 0x21, 0x26, 0x27, 0x26, 0x20, 0x7, 0x6, 0x7, 0x12, 0x37, 0x36, 0x21, 0x20, 0x17, 0x16, 0x13, 0x21, 0x10, 0x0, 0x21, 0x32, 0x36, 0x37, 0x15, 0x6, 0x7, 0x6, 0x7, 0x11, 0x23, 0x11, 0x24, 0x27, 0x26, 0x3, 0x6, 0x27, 0x26, 0x3d, 0x1, 0x33, 0x15, 0x14, 0x17, 0x16, 0x2, 0x8b, 0x3, 0xad, 0x18, 0x62, 0x82, 0xfe, 0x48, 0x80, 0x61, 0xf1, 0x22, 0x96, 0xbc, 0x1, 0x3a, 0x1, 0x43, 0xb5, 0xbb, 0x1, 0xfb, 0x70, 0x1, 0x12, 0x1, 0x12, 0x8b, 0xfc, 0x70, 0x6f, 0x83, 0x6d, 0x77, 0xb2, 0xfe, 0xfd, 0xa0, 0xbc, 0xa, 0xaa, 0x76, 0x7a, 0xaa, 0x4b, 0x42, 0x3, 0x6d, 0xbf, 0x7c, 0xa4, 0xa4, 0x7c, 0xbf, 0x1, 0xa, 0xa7, 0xd2, 0xd2, 0xdb, 0xfe, 0x84, 0xfe, 0xf4, 0xfe, 0xce, 0x60, 0x5f, 0xd7, 0x46, 0x24, 0x1e, 0x5, 0xfe, 0xa3, 0x1, 0x63, 0x20, 0xa6, 0xc3, 0x1, 0x54, 0x1, 0x67, 0x6b, 0xdf, 0x4c, 0x3e, 0xa0, 0x41, 0x39, 0x0, 0x0, 0x0, 0x2, 0x0, 0xf, 0xfe, 0xb7, 0x5, 0x66, 0x4, 0x7b, 0x0, 0x8, 0x0, 0x31, 0x0, 0x0, 0x1, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0xf, 0x1, 0x22, 0x27, 0x26, 0x3d, 0x1, 0x33, 0x15, 0x14, 0x17, 0x16, 0x33, 0x36, 0x37, 0x36, 0x21, 0x32, 0x17, 0x16, 0x1d, 0x1, 0x21, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x15, 0x6, 0x7, 0x6, 0x7, 0x11, 0x23, 0x11, 0x26, 0x27, 0x26, 0x4, 0xae, 0x2, 0x52, 0x53, 0x88, 0x9a, 0x5d, 0x5c, 0xe, 0xc6, 0x90, 0x59, 0x60, 0x9c, 0x30, 0x39, 0x4a, 0x1a, 0x74, 0x92, 0x0, 0xff, 0xe2, 0x83, 0x84, 0xfc, 0xb2, 0xc, 0x66, 0x67, 0xb7, 0x6a, 0x64, 0x63, 0x62, 0x68, 0x63, 0x4f, 0x4a, 0xa6, 0xc2, 0x7b, 0x94, 0x2, 0x94, 0x97, 0x5a, 0x5a, 0x57, 0x57, 0x9e, 0x8f, 0x52, 0x5a, 0xac, 0x46, 0x31, 0x97, 0x21, 0x26, 0xc5, 0x82, 0xa1, 0x91, 0x92, 0xfa, 0x5a, 0xbe, 0x64, 0x63, 0x1a, 0x1a, 0x34, 0xae, 0x2c, 0x14, 0x10, 0x4, 0xfe, 0xd2, 0x1, 0x33, 0x1a, 0x7b, 0x94, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x1, 0x93, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x2c, 0x0, 0x0, 0xff, 0xff, 0x0, 0x28, 0x0, 0x0, 0x8, 0x76, 0x7, 0x6d, 0x10, 0x27, 0x16, 0xc0, 0x6, 0x5b, 0x1, 0x75, 0x12, 0x6, 0x3, 0xaa, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0x0, 0x0, 0x6, 0xef, 0x6, 0x48, 0x10, 0x27, 0x2, 0x9a, 0x1, 0xa8, 0x0, 0x0, 0x12, 0x6, 0x3, 0xca, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0xfe, 0x66, 0x5, 0x35, 0x5, 0xd5, 0x0, 0x1c, 0x0, 0x0, 0x1, 0x33, 0x32, 0x17, 0x16, 0x15, 0x11, 0x10, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x34, 0x26, 0x23, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x1, 0x21, 0x2, 0xa9, 0x8b, 0xba, 0x71, 0x6d, 0xcc, 0xe4, 0x4c, 0x3e, 0x86, 0x38, 0x37, 0x7c, 0x7c, 0xfe, 0x88, 0xca, 0xca, 0x2, 0x9e, 0x1, 0x4, 0x3, 0x71, 0x77, 0x72, 0xee, 0xfe, 0xce, 0xfe, 0xf2, 0xf4, 0xaa, 0x4b, 0x4b, 0xc2, 0x1, 0x22, 0x9f, 0x9e, 0xfd, 0x39, 0x5, 0xd5, 0xfd, 0x89, 0x2, 0x77, 0x0, 0x1, 0x0, 0xbf, 0xfe, 0x56, 0x4, 0x88, 0x4, 0x60, 0x0, 0x1e, 0x0, 0x0, 0x1, 0x33, 0x20, 0x17, 0x16, 0x15, 0x11, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x34, 0x27, 0x26, 0x23, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x1, 0x33, 0x2, 0x5e, 0x14, 0x1, 0x5, 0x48, 0x52, 0x52, 0x51, 0xb5, 0xc1, 0xac, 0x6e, 0x21, 0x26, 0x26, 0x2c, 0x8b, 0xfe, 0xfc, 0xb9, 0xb9, 0x2, 0x25, 0xeb, 0x2, 0x77, 0x47, 0x51, 0xe5, 0xfe, 0xf2, 0xd6, 0x60, 0x60, 0x9c, 0x30, 0x37, 0x93, 0x1, 0x8, 0xa6, 0x24, 0x29, 0xfe, 0x19, 0x4, 0x60, 0xfe, 0x1d, 0x1, 0xe3, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x36, 0xfe, 0x56, 0x6, 0x3, 0x5, 0xd5, 0x0, 0x14, 0x0, 0x0, 0x21, 0x23, 0x11, 0x21, 0x15, 0x10, 0x3, 0x6, 0x5, 0x35, 0x36, 0x37, 0x12, 0x19, 0x1, 0x21, 0x11, 0x33, 0x15, 0x1, 0x23, 0x5, 0x3a, 0xca, 0xfe, 0x1b, 0x84, 0x62, 0xfe, 0x91, 0xd4, 0x43, 0x75, 0x3, 0x78, 0xc9, 0xfe, 0x92, 0x86, 0x5, 0x2b, 0xd4, 0xfe, 0x18, 0xfe, 0xaa, 0xfd, 0x38, 0xa7, 0x2e, 0xa8, 0x1, 0x25, 0x2, 0x35, 0x1, 0x1a, 0xfa, 0xd5, 0xaa, 0xfe, 0x56, 0x0, 0x1, 0x0, 0x2e, 0xfe, 0x56, 0x5, 0x2b, 0x4, 0x60, 0x0, 0x14, 0x0, 0x0, 0x25, 0x33, 0x15, 0x1, 0x23, 0x13, 0x23, 0x11, 0x21, 0x15, 0x10, 0x3, 0x6, 0x5, 0x35, 0x36, 0x37, 0x36, 0x11, 0x35, 0x21, 0x4, 0x73, 0xb8, 0xfe, 0xde, 0x7b, 0xe5, 0xb8, 0xfe, 0x7b, 0x76, 0x5e, 0xfe, 0xcc, 0xb3, 0x3b, 0x62, 0x2, 0xf5, 0x99, 0x99, 0xfe, 0x56, 0x1, 0xaa, 0x3, 0xc7, 0x86, 0xfe, 0x92, 0xfe, 0xfc, 0xcf, 0x1d, 0x99, 0x1b, 0x7f, 0xcf, 0x1, 0xa7, 0xd4, 0x0, 0x1, 0x0, 0xc9, 0xfe, 0x66, 0x5, 0x3b, 0x5, 0xd5, 0x0, 0x14, 0x0, 0x31, 0x40, 0xe, 0xf, 0x8, 0x0, 0x1c, 0x16, 0x4, 0xa, 0x38, 0x7, 0x3, 0x1c, 0x5, 0x4, 0x15, 0x10, 0xfc, 0xec, 0x32, 0xfc, 0xec, 0xfc, 0x3c, 0xcc, 0x31, 0x0, 0x40, 0xb, 0xe, 0x10, 0x4, 0x2, 0x95, 0x8, 0xad, 0x9, 0x6, 0x81, 0x4, 0x2f, 0xe4, 0x32, 0xfc, 0xec, 0x10, 0xdc, 0xcc, 0x30, 0x25, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x10, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x4, 0x71, 0xfd, 0x22, 0xca, 0xca, 0x2, 0xde, 0xca, 0xce, 0xe3, 0x4c, 0x3e, 0x86, 0x38, 0x37, 0x68, 0x2, 0x5f, 0xfd, 0x39, 0x5, 0xd5, 0xfd, 0x9c, 0x2, 0x64, 0xfa, 0x93, 0xfe, 0xf2, 0xf4, 0xaa, 0x4b, 0x4b, 0x0, 0x0, 0x1, 0x0, 0xc1, 0xfe, 0x56, 0x4, 0x88, 0x4, 0x60, 0x0, 0x15, 0x0, 0x2f, 0x40, 0xd, 0x10, 0x8, 0x0, 0x8, 0x17, 0x46, 0xa, 0x7, 0x3, 0x8, 0x5, 0x46, 0x16, 0x10, 0xfc, 0xec, 0x32, 0xdc, 0xec, 0xfc, 0x3c, 0xcc, 0x31, 0x0, 0x40, 0xa, 0xf, 0x11, 0x4, 0x2, 0xa9, 0x8, 0x9, 0x6, 0xbc, 0x4, 0x2f, 0xf4, 0x3c, 0xdc, 0xec, 0x10, 0xdc, 0xcc, 0x30, 0x5, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x3, 0xd0, 0xfd, 0xa9, 0xb8, 0xb8, 0x2, 0x57, 0xb8, 0x52, 0x51, 0xb5, 0xc1, 0xac, 0x6e, 0x21, 0x26, 0x14, 0x2, 0x18, 0xfd, 0xfc, 0x4, 0x60, 0xfe, 0x33, 0x1, 0xcd, 0xfb, 0x8c, 0xd6, 0x60, 0x60, 0x9c, 0x30, 0x37, 0x0, 0x0, 0x1, 0x0, 0xc9, 0xfe, 0x56, 0x6, 0x4, 0x5, 0xd5, 0x0, 0x10, 0x0, 0x0, 0x21, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x15, 0x1, 0x23, 0x5, 0x3b, 0xca, 0xfd, 0x22, 0xca, 0xca, 0x2, 0xde, 0xca, 0xc9, 0xfe, 0x92, 0x86, 0x2, 0xc7, 0xfd, 0x39, 0x5, 0xd5, 0xfd, 0x9c, 0x2, 0x64, 0xfa, 0xd5, 0xaa, 0xfe, 0x56, 0x0, 0x1, 0x0, 0xc1, 0xfe, 0x56, 0x5, 0x40, 0x4, 0x60, 0x0, 0x10, 0x0, 0x0, 0x21, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x15, 0x1, 0x23, 0x4, 0x88, 0xb8, 0xfd, 0xa9, 0xb8, 0xb8, 0x2, 0x57, 0xb8, 0xb8, 0xfe, 0xde, 0x7b, 0x2, 0x4, 0xfd, 0xfc, 0x4, 0x60, 0xfe, 0x33, 0x1, 0xcd, 0xfc, 0x39, 0x99, 0xfe, 0x56, 0x0, 0x1, 0x0, 0xaf, 0xfe, 0xbf, 0x4, 0xb3, 0x5, 0xd5, 0x0, 0x14, 0x0, 0x2f, 0x40, 0xd, 0x14, 0x1c, 0x11, 0x1, 0xe, 0x1c, 0x16, 0x4, 0xf, 0x8, 0x1c, 0x7, 0x15, 0x10, 0xdc, 0xec, 0xd4, 0xec, 0xfc, 0x32, 0x32, 0xec, 0x31, 0x0, 0x40, 0xb, 0x2, 0x95, 0xc, 0xad, 0xe, 0x7, 0x81, 0x0, 0x95, 0x13, 0x11, 0x2f, 0xcc, 0xec, 0xe4, 0x32, 0xf4, 0xec, 0x30, 0x25, 0x11, 0x21, 0x22, 0x27, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x23, 0x11, 0x3, 0xe8, 0xfe, 0x5f, 0xba, 0x71, 0x6d, 0xc9, 0x7c, 0x7c, 0x1, 0x78, 0xcb, 0xcb, 0xc9, 0xaa, 0x2, 0x1d, 0x77, 0x72, 0xee, 0x1, 0x37, 0xfe, 0xd9, 0x9f, 0x9e, 0x2, 0x64, 0xfa, 0x2b, 0xfe, 0xbf, 0x1, 0xeb, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x96, 0xfe, 0xe5, 0x4, 0x0, 0x4, 0x60, 0x0, 0x15, 0x0, 0x47, 0x40, 0xd, 0x15, 0x8, 0x12, 0x1, 0xf, 0x8, 0x17, 0x46, 0x10, 0x8, 0x8, 0x7, 0x16, 0x10, 0xdc, 0xec, 0xd4, 0xec, 0xfc, 0x32, 0x32, 0xec, 0x31, 0x0, 0x40, 0xa, 0x2, 0xa9, 0xd, 0xf, 0x7, 0xbc, 0x0, 0xa9, 0x14, 0x12, 0x2f, 0xcc, 0xec, 0xe4, 0x32, 0xd4, 0xec, 0xb0, 0x12, 0xb0, 0x2, 0x23, 0x49, 0xb0, 0xd, 0xb0, 0xf, 0x23, 0x49, 0x52, 0x58, 0xb1, 0x2, 0xd, 0xb8, 0xff, 0xc0, 0xb0, 0x2, 0x17, 0x38, 0x59, 0x30, 0x25, 0x11, 0x21, 0x22, 0x27, 0x26, 0x3d, 0x1, 0x33, 0x15, 0x14, 0x17, 0x16, 0x33, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x23, 0x11, 0x3, 0x48, 0xfe, 0xa9, 0x99, 0x66, 0x5c, 0xb8, 0x34, 0x35, 0x68, 0x1, 0x29, 0xb8, 0xb8, 0xb8, 0x99, 0x1, 0x70, 0x5f, 0x56, 0xb8, 0xea, 0xd3, 0x75, 0x3b, 0x3b, 0x1, 0xbe, 0xfb, 0xa0, 0xfe, 0xe5, 0x1, 0xb4, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0xfe, 0x56, 0x6, 0xe8, 0x5, 0xd5, 0x0, 0x11, 0x0, 0x0, 0x25, 0x33, 0x15, 0x1, 0x23, 0x1, 0x23, 0x11, 0x1, 0x23, 0x1, 0x11, 0x23, 0x11, 0x21, 0x9, 0x1, 0x21, 0x6, 0x1f, 0xc9, 0xfe, 0x92, 0x86, 0x1, 0x2b, 0xc5, 0xfe, 0x7f, 0xcb, 0xfe, 0x7f, 0xc4, 0x1, 0x2d, 0x1, 0x7d, 0x1, 0x7f, 0x1, 0x2d, 0xaa, 0xaa, 0xfe, 0x56, 0x1, 0xaa, 0x5, 0x1f, 0xfc, 0x0, 0x4, 0x0, 0xfa, 0xe1, 0x5, 0xd5, 0xfc, 0x8, 0x3, 0xf8, 0x0, 0x0, 0x1, 0x0, 0xc1, 0xfe, 0x56, 0x6, 0x0, 0x4, 0x60, 0x0, 0x11, 0x0, 0x0, 0x25, 0x33, 0x15, 0x1, 0x23, 0x13, 0x23, 0x11, 0x1, 0x23, 0x1, 0x11, 0x23, 0x11, 0x21, 0x9, 0x1, 0x21, 0x5, 0x48, 0xb8, 0xfe, 0xde, 0x7b, 0xe5, 0xb2, 0xfe, 0xcb, 0xb8, 0xfe, 0xca, 0xb2, 0x1, 0x6, 0x1, 0x3e, 0x1, 0x3f, 0x1, 0x4, 0x99, 0x99, 0xfe, 0x56, 0x1, 0xaa, 0x3, 0xb0, 0xfd, 0x27, 0x2, 0xd9, 0xfc, 0x50, 0x4, 0x60, 0xfd, 0x12, 0x2, 0xee, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc1, 0x0, 0x0, 0x1, 0x79, 0x6, 0x14, 0x12, 0x6, 0x0, 0x4f, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x7, 0x92, 0x10, 0x27, 0x2, 0x9a, 0x0, 0xce, 0x1, 0x4a, 0x13, 0x6, 0x3, 0xa4, 0x0, 0x0, 0x0, 0x12, 0xb4, 0x18, 0x0, 0x8, 0x13, 0x7, 0x2b, 0x31, 0x0, 0x40, 0x5, 0x6f, 0x0, 0x6f, 0x8, 0x2, 0x5d, 0x30, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0x2d, 0x6, 0x1f, 0x10, 0x26, 0x2, 0x9a, 0x4f, 0xd7, 0x13, 0x6, 0x3, 0xc4, 0x0, 0x0, 0x0, 0x8, 0xb4, 0x22, 0x0, 0x8, 0x19, 0x7, 0x2b, 0x31, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x7, 0x4e, 0x12, 0x26, 0x3, 0xa4, 0x0, 0x0, 0x11, 0x7, 0x16, 0xb9, 0x4, 0xbc, 0x1, 0x75, 0x0, 0x14, 0xb4, 0xa, 0x12, 0xd, 0x5, 0x7, 0x2b, 0x40, 0x9, 0x30, 0x12, 0x3f, 0xd, 0x0, 0x12, 0xf, 0xd, 0x4, 0x5d, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0x2d, 0x6, 0x10, 0x12, 0x26, 0x3, 0xc4, 0x0, 0x0, 0x11, 0x6, 0x0, 0x6a, 0x52, 0x0, 0x0, 0x20, 0xb4, 0x14, 0x2d, 0x28, 0xb, 0x7, 0x2b, 0x40, 0x15, 0x7f, 0x28, 0x6f, 0x28, 0x50, 0x2d, 0x5f, 0x28, 0x40, 0x2d, 0x4f, 0x28, 0x30, 0x2d, 0x3f, 0x28, 0x0, 0x2d, 0xf, 0x28, 0xa, 0x5d, 0x31, 0xff, 0xff, 0x0, 0x8, 0x0, 0x0, 0x7, 0x48, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x88, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x7, 0x6f, 0x4, 0x7b, 0x12, 0x6, 0x0, 0xa8, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x7, 0x6d, 0x10, 0x27, 0x16, 0xc0, 0x4, 0xa1, 0x1, 0x75, 0x13, 0x6, 0x3, 0xa9, 0x0, 0x0, 0x0, 0x7, 0x40, 0x3, 0x40, 0x0, 0x1, 0x5d, 0x31, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x7f, 0x6, 0x48, 0x10, 0x27, 0x2, 0x9a, 0x0, 0x96, 0x0, 0x0, 0x13, 0x6, 0x3, 0xc9, 0x0, 0x0, 0x0, 0x7, 0x40, 0x3, 0x70, 0x0, 0x1, 0x5d, 0x31, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x75, 0xff, 0xe3, 0x5, 0xd9, 0x5, 0xf0, 0x12, 0x6, 0x1, 0x51, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x7f, 0x4, 0x7b, 0x12, 0x6, 0x2, 0x1b, 0x0, 0x0, 0xff, 0xff, 0x0, 0x75, 0xff, 0xe3, 0x5, 0xd9, 0x7, 0x4e, 0x10, 0x27, 0x16, 0xb9, 0x5, 0x20, 0x1, 0x75, 0x12, 0x6, 0x4, 0x6c, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x7f, 0x6, 0x10, 0x10, 0x26, 0x0, 0x6a, 0x54, 0x0, 0x12, 0x6, 0x4, 0x6d, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x28, 0x0, 0x0, 0x8, 0x76, 0x7, 0x4e, 0x10, 0x27, 0x16, 0xb9, 0x6, 0x51, 0x1, 0x75, 0x12, 0x6, 0x3, 0xaa, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0x0, 0x0, 0x6, 0xef, 0x6, 0x10, 0x10, 0x27, 0x0, 0x6a, 0x1, 0x9e, 0x0, 0x0, 0x12, 0x6, 0x3, 0xca, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xff, 0xe3, 0x4, 0x9a, 0x7, 0x4e, 0x10, 0x27, 0x16, 0xb9, 0x4, 0x87, 0x1, 0x75, 0x12, 0x6, 0x3, 0xab, 0x0, 0x0, 0xff, 0xff, 0x0, 0x85, 0xff, 0xe3, 0x3, 0xc8, 0x6, 0x10, 0x10, 0x26, 0x0, 0x6a, 0x3a, 0x0, 0x12, 0x6, 0x3, 0xcb, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xa0, 0xff, 0xc1, 0x4, 0xf8, 0x5, 0xd5, 0x12, 0x6, 0x1, 0x79, 0x0, 0x0, 0xff, 0xff, 0x0, 0x58, 0xfe, 0x4c, 0x4, 0x2f, 0x4, 0x60, 0x12, 0x6, 0x2, 0x54, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x33, 0x7, 0x31, 0x10, 0x27, 0x0, 0x71, 0x0, 0xf5, 0x1, 0x3b, 0x12, 0x6, 0x3, 0xac, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x4, 0x79, 0x5, 0xf5, 0x10, 0x27, 0x0, 0x71, 0x0, 0x92, 0xff, 0xff, 0x12, 0x6, 0x3, 0xcc, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x33, 0x7, 0x4e, 0x10, 0x27, 0x16, 0xb9, 0x4, 0xf5, 0x1, 0x75, 0x12, 0x6, 0x3, 0xac, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x4, 0x79, 0x6, 0x10, 0x10, 0x27, 0x0, 0x6a, 0x0, 0x92, 0x0, 0x0, 0x12, 0x6, 0x3, 0xcc, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x7, 0x4e, 0x12, 0x26, 0x3, 0xb2, 0x0, 0x0, 0x11, 0x7, 0x16, 0xb9, 0x5, 0x27, 0x1, 0x75, 0x0, 0x14, 0xb4, 0x3, 0x1f, 0x1a, 0x9, 0x7, 0x2b, 0x40, 0x9, 0x40, 0x1f, 0x4f, 0x1a, 0x10, 0x1f, 0x1f, 0x1a, 0x4, 0x5d, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x6, 0x10, 0x12, 0x26, 0x3, 0xd2, 0x0, 0x0, 0x11, 0x6, 0x0, 0x6a, 0x73, 0x0, 0x0, 0x14, 0xb4, 0x3, 0x1f, 0x1a, 0x9, 0x7, 0x2b, 0x40, 0x9, 0x40, 0x1f, 0x4f, 0x1a, 0x30, 0x1f, 0x3f, 0x1a, 0x4, 0x5d, 0x31, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x5, 0xf0, 0x12, 0x6, 0x1, 0x61, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x4, 0x7b, 0x12, 0x6, 0x2, 0x37, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x7, 0x4e, 0x12, 0x26, 0x4, 0x7c, 0x0, 0x0, 0x10, 0x7, 0x16, 0xb9, 0x5, 0x27, 0x1, 0x75, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x6, 0x10, 0x12, 0x26, 0x4, 0x7d, 0x0, 0x0, 0x10, 0x6, 0x0, 0x6a, 0x73, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6f, 0xff, 0xe3, 0x5, 0x23, 0x7, 0x4e, 0x10, 0x27, 0x16, 0xb9, 0x4, 0x67, 0x1, 0x75, 0x12, 0x6, 0x3, 0xc1, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x3, 0xe7, 0x6, 0x10, 0x10, 0x26, 0x0, 0x6a, 0xe2, 0x0, 0x12, 0x6, 0x3, 0xe1, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x23, 0x0, 0x0, 0x4, 0xbd, 0x7, 0x31, 0x10, 0x27, 0x0, 0x71, 0x0, 0x72, 0x1, 0x3b, 0x12, 0x6, 0x3, 0xb7, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3d, 0xfe, 0x56, 0x4, 0x7f, 0x5, 0xf5, 0x10, 0x26, 0x0, 0x71, 0x5e, 0xff, 0x12, 0x6, 0x3, 0xd7, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x23, 0x0, 0x0, 0x4, 0xbd, 0x7, 0x4e, 0x10, 0x27, 0x16, 0xb9, 0x4, 0x72, 0x1, 0x75, 0x12, 0x6, 0x3, 0xb7, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3d, 0xfe, 0x56, 0x4, 0x7f, 0x6, 0x10, 0x10, 0x26, 0x0, 0x6a, 0x5e, 0x0, 0x12, 0x6, 0x3, 0xd7, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x23, 0x0, 0x0, 0x4, 0xbd, 0x7, 0x6b, 0x10, 0x27, 0x16, 0xc2, 0x4, 0x72, 0x1, 0x75, 0x12, 0x6, 0x3, 0xb7, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3d, 0xfe, 0x56, 0x4, 0x7f, 0x6, 0x66, 0x10, 0x26, 0x2, 0x9f, 0x5e, 0x0, 0x12, 0x6, 0x3, 0xd7, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaf, 0x0, 0x0, 0x4, 0xb3, 0x7, 0x4e, 0x10, 0x27, 0x16, 0xb9, 0x4, 0xcc, 0x1, 0x75, 0x12, 0x6, 0x3, 0xbb, 0x0, 0x0, 0xff, 0xff, 0x0, 0x96, 0x0, 0x0, 0x4, 0x0, 0x6, 0x10, 0x10, 0x26, 0x0, 0x6a, 0x5e, 0x0, 0x12, 0x6, 0x3, 0xdb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0xfe, 0xbf, 0x4, 0x6a, 0x5, 0xd5, 0x0, 0x9, 0x0, 0x23, 0x40, 0xa, 0xb, 0x2, 0x6, 0x95, 0x9, 0x4, 0x1c, 0x1, 0x4, 0xa, 0x10, 0xfc, 0xfc, 0x3c, 0xec, 0xcc, 0xc4, 0x31, 0x0, 0xb6, 0x4, 0x95, 0x1, 0x81, 0x6, 0x8, 0x0, 0x2f, 0xcc, 0xcc, 0xf4, 0xec, 0x30, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0xc9, 0x3, 0xa1, 0xfd, 0x29, 0xc9, 0xc9, 0x5, 0xd5, 0xaa, 0xfb, 0x7f, 0xfe, 0x15, 0x1, 0x41, 0x0, 0x0, 0x1, 0x0, 0xba, 0xfe, 0xe5, 0x3, 0xd0, 0x4, 0x60, 0x0, 0x9, 0x0, 0x23, 0x40, 0xa, 0xb, 0x2, 0x6, 0xa9, 0x9, 0x4, 0x8, 0x1, 0x46, 0xa, 0x10, 0xfc, 0xfc, 0x3c, 0xec, 0xdc, 0xcc, 0x31, 0x0, 0xb6, 0x4, 0xa9, 0x1, 0xbc, 0x6, 0x8, 0x0, 0x2f, 0xcc, 0xcc, 0xf4, 0xec, 0x30, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0xba, 0x3, 0x16, 0xfd, 0xa2, 0xb8, 0xb8, 0x4, 0x60, 0xaa, 0xfc, 0xe3, 0xfe, 0x4c, 0x1, 0x1b, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x46, 0x7, 0x4e, 0x12, 0x26, 0x3, 0xbf, 0x0, 0x0, 0x10, 0x7, 0x16, 0xb9, 0x5, 0xb7, 0x1, 0x75, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x5, 0x9b, 0x6, 0x10, 0x12, 0x26, 0x3, 0xdf, 0x0, 0x0, 0x10, 0x7, 0x0, 0x6a, 0x1, 0x8, 0x0, 0x0, 0x0, 0x1, 0x0, 0x47, 0xfe, 0x56, 0x4, 0xef, 0x5, 0xd5, 0x0, 0x19, 0x0, 0x39, 0x40, 0xd, 0x19, 0xe, 0x1b, 0x6, 0xa, 0xc, 0x9, 0x1c, 0x2, 0x15, 0x4, 0x1, 0x1a, 0x10, 0xdc, 0x3c, 0x3c, 0xcc, 0xfc, 0x3c, 0xcc, 0xcc, 0xc4, 0xdc, 0xcc, 0x31, 0x0, 0x40, 0xe, 0x14, 0x15, 0xe, 0x0, 0x1, 0xc, 0x95, 0x9, 0x4, 0x8, 0x95, 0x5, 0x81, 0x0, 0x2f, 0xf4, 0xfc, 0xdc, 0x3c, 0xec, 0x32, 0x10, 0xcc, 0xdc, 0xcc, 0x30, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x1, 0x4e, 0xfe, 0xf9, 0x1, 0x7, 0x3, 0xa1, 0xfd, 0x29, 0x2, 0x23, 0xfd, 0xdd, 0x1, 0x69, 0x47, 0x52, 0xbf, 0xfe, 0xe9, 0x69, 0x4c, 0x2, 0x94, 0xaa, 0x2, 0x97, 0xaa, 0xfe, 0x13, 0xaa, 0xfd, 0xec, 0x94, 0xc8, 0x60, 0x6e, 0x9c, 0x61, 0xad, 0x0, 0x0, 0x0, 0x1, 0x0, 0x38, 0xfe, 0x56, 0x4, 0x55, 0x4, 0x60, 0x0, 0x19, 0x0, 0x3b, 0x40, 0xe, 0x1b, 0x6, 0x9, 0x19, 0xe, 0xa, 0xc, 0x9, 0x8, 0x2, 0x15, 0x4, 0x1, 0x1a, 0x10, 0xdc, 0x3c, 0xc4, 0xcc, 0xfc, 0x3c, 0xcc, 0xdc, 0xcc, 0x10, 0xdc, 0xcc, 0x31, 0x0, 0x40, 0xe, 0x14, 0x15, 0xe, 0x0, 0x1, 0xc, 0xa9, 0x9, 0x4, 0x8, 0xa9, 0x5, 0xbc, 0x0, 0x2f, 0xf4, 0xec, 0xdc, 0x3c, 0xfc, 0x3c, 0x10, 0xcc, 0xdc, 0xcc, 0x30, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x1, 0x3f, 0xfe, 0xf9, 0x1, 0x7, 0x3, 0x16, 0xfd, 0xa2, 0x1, 0xa0, 0xfe, 0x60, 0x1, 0x6e, 0x46, 0x52, 0xc0, 0xfe, 0xe9, 0x6a, 0x4b, 0x1, 0xf4, 0xaa, 0x1, 0xc2, 0x9d, 0xfe, 0xdb, 0xaa, 0xfe, 0x8c, 0x94, 0xc8, 0x60, 0x6e, 0x9c, 0x61, 0xad, 0x0, 0x1, 0x0, 0x3d, 0xfe, 0x66, 0x5, 0x2a, 0x5, 0xd5, 0x0, 0x17, 0x0, 0x0, 0x25, 0x16, 0x7, 0x6, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x37, 0x9, 0x1, 0x23, 0x9, 0x1, 0x33, 0x9, 0x1, 0x33, 0x1, 0x5, 0x2a, 0x1, 0x2, 0xf, 0x53, 0x66, 0xe4, 0x4c, 0x3e, 0x87, 0x37, 0x28, 0xb, 0xfe, 0x5e, 0xfe, 0x59, 0xda, 0x2, 0x15, 0xfe, 0x2f, 0xd9, 0x1, 0x73, 0x1, 0x75, 0xd9, 0xfe, 0x20, 0x1a, 0x2, 0x18, 0xbe, 0x62, 0x7a, 0xaa, 0x4b, 0x35, 0x73, 0x2, 0x78, 0xfd, 0x85, 0x3, 0x1d, 0x2, 0xb8, 0xfd, 0xd5, 0x2, 0x2b, 0xfd, 0x33, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3b, 0xfe, 0x56, 0x4, 0x64, 0x4, 0x60, 0x0, 0x17, 0x0, 0x0, 0x9, 0x2, 0x16, 0x15, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x32, 0x37, 0x3e, 0x1, 0x35, 0x9, 0x1, 0x23, 0x9, 0x1, 0x33, 0x9, 0x1, 0x4, 0x64, 0xfe, 0x6b, 0x1, 0x6b, 0x1b, 0x43, 0x51, 0xc4, 0xc1, 0xc4, 0x19, 0x4f, 0x35, 0xfe, 0xbd, 0xfe, 0xba, 0xd9, 0x1, 0xb3, 0xfe, 0x72, 0xd9, 0x1, 0x29, 0x1, 0x29, 0x4, 0x60, 0xfd, 0xdf, 0xfe, 0x17, 0x26, 0x39, 0xcd, 0x61, 0x73, 0x9c, 0x3, 0xa, 0x6d, 0x98, 0x1, 0xb4, 0xfe, 0x48, 0x2, 0x4a, 0x2, 0x16, 0xfe, 0x71, 0x1, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3d, 0x0, 0x0, 0x5, 0x3b, 0x5, 0xd5, 0x0, 0x11, 0x0, 0x0, 0x13, 0x33, 0x9, 0x1, 0x33, 0x1, 0x21, 0x15, 0x21, 0x1, 0x23, 0x9, 0x1, 0x23, 0x1, 0x21, 0x35, 0x21, 0x81, 0xd9, 0x1, 0x73, 0x1, 0x75, 0xd9, 0xfe, 0x4e, 0x1, 0x74, 0xfe, 0x90, 0x1, 0xce, 0xd9, 0xfe, 0x5c, 0xfe, 0x59, 0xda, 0x1, 0xd4, 0xfe, 0x8c, 0x1, 0x96, 0x5, 0xd5, 0xfd, 0xd5, 0x2, 0x2b, 0xfd, 0x77, 0x90, 0xfd, 0x44, 0x2, 0x7b, 0xfd, 0x85, 0x2, 0xbc, 0x90, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3b, 0x0, 0x0, 0x4, 0x79, 0x4, 0x60, 0x0, 0x11, 0x0, 0x0, 0x9, 0x1, 0x33, 0x9, 0x1, 0x33, 0x1, 0x21, 0x15, 0x21, 0x1, 0x23, 0x9, 0x1, 0x23, 0x1, 0x21, 0x35, 0x1, 0xb7, 0xfe, 0xa9, 0xd9, 0x1, 0x29, 0x1, 0x29, 0xd9, 0xfe, 0xaa, 0x1, 0xd, 0xfe, 0xe0, 0x1, 0x7e, 0xd9, 0xfe, 0xba, 0xfe, 0xba, 0xd9, 0x1, 0x7f, 0xfe, 0xdf, 0x2, 0x94, 0x1, 0xcc, 0xfe, 0x71, 0x1, 0x8f, 0xfe, 0x34, 0x90, 0xfd, 0xfc, 0x1, 0xb8, 0xfe, 0x48, 0x2, 0x4, 0x90, 0x0, 0x2, 0x0, 0x91, 0x0, 0x0, 0x4, 0xb4, 0x5, 0xd5, 0x0, 0xa, 0x0, 0x15, 0x0, 0x26, 0x40, 0xa, 0x17, 0x4, 0x5, 0x14, 0x1c, 0xb, 0x0, 0x19, 0x10, 0x16, 0x10, 0xdc, 0xec, 0xd4, 0xec, 0x32, 0xec, 0x31, 0x0, 0x40, 0x9, 0x6, 0x95, 0x14, 0xad, 0xb, 0x81, 0x5, 0x95, 0xc, 0x2f, 0xec, 0xe4, 0xf4, 0xec, 0x30, 0x1, 0x14, 0x17, 0x16, 0x33, 0x21, 0x11, 0x21, 0x22, 0x7, 0x6, 0x1, 0x11, 0x21, 0x22, 0x24, 0x35, 0x34, 0x24, 0x33, 0x21, 0x11, 0x1, 0x66, 0x4f, 0x4e, 0xa3, 0x1, 0x44, 0xfe, 0xbc, 0xa3, 0x4e, 0x4f, 0x3, 0x4e, 0xfd, 0xe8, 0xfb, 0xfe, 0xf0, 0x1, 0x10, 0xfb, 0x1, 0x4e, 0x1, 0xb7, 0x8a, 0x43, 0x44, 0x2, 0x23, 0x43, 0x44, 0x3, 0x93, 0xfa, 0x2b, 0xda, 0xdd, 0xde, 0xda, 0x2, 0x66, 0x0, 0x0, 0x2, 0x0, 0x71, 0x0, 0x0, 0x3, 0xf5, 0x4, 0x60, 0x0, 0xa, 0x0, 0x16, 0x0, 0x25, 0x40, 0xb, 0x18, 0x46, 0x5, 0x15, 0x8, 0xb, 0x0, 0x12, 0x11, 0x45, 0x17, 0x10, 0xfc, 0xec, 0xd4, 0xec, 0x32, 0xec, 0x31, 0x0, 0xb7, 0x6, 0xa9, 0x15, 0xb, 0xbc, 0x5, 0xa9, 0xc, 0x2f, 0xec, 0xe4, 0xd4, 0xec, 0x30, 0x1, 0x14, 0x17, 0x16, 0x33, 0x21, 0x11, 0x21, 0x22, 0x7, 0x6, 0x1, 0x11, 0x21, 0x22, 0x27, 0x26, 0x10, 0x37, 0x36, 0x33, 0x21, 0x11, 0x1, 0x35, 0x3e, 0x42, 0x81, 0x1, 0x7, 0xfe, 0xf9, 0x80, 0x43, 0x3e, 0x2, 0xc0, 0xfe, 0x39, 0xd6, 0x73, 0x74, 0x74, 0x79, 0xd0, 0x1, 0xf, 0x1, 0x4c, 0x5a, 0x2b, 0x2e, 0x1, 0x69, 0x2e, 0x2a, 0x2, 0xb6, 0xfb, 0xa0, 0x52, 0x52, 0x1, 0x50, 0x52, 0x55, 0x1, 0xc5, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x91, 0xff, 0xe3, 0x7, 0x43, 0x5, 0xd5, 0x0, 0xc, 0x0, 0x30, 0x0, 0x39, 0x40, 0xe, 0x32, 0x4, 0x26, 0x1c, 0x29, 0xd, 0x1b, 0xc, 0x1c, 0x1d, 0x5, 0x19, 0x17, 0x31, 0x10, 0xdc, 0xec, 0xd4, 0xec, 0x32, 0x39, 0xd4, 0xec, 0xec, 0x31, 0x0, 0x40, 0x10, 0x22, 0x8, 0x95, 0x13, 0x1, 0x95, 0x1a, 0xad, 0x2d, 0x13, 0x8c, 0x28, 0xbc, 0x1d, 0x81, 0x31, 0x10, 0xec, 0xec, 0xe4, 0x32, 0xf4, 0xec, 0x10, 0xec, 0x32, 0x30, 0x1, 0x21, 0x22, 0x7, 0x6, 0x10, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x13, 0x6, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x24, 0x33, 0x21, 0x11, 0x33, 0x11, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x3, 0xea, 0xfe, 0xbc, 0xa3, 0x4e, 0x4f, 0x4f, 0x5f, 0x81, 0xb4, 0x4b, 0x56, 0x21, 0xc, 0xe, 0x33, 0x6a, 0x5e, 0x6e, 0xee, 0x81, 0x88, 0x1, 0x10, 0xfb, 0x1, 0x4e, 0xc9, 0x3f, 0x34, 0x70, 0x69, 0x3b, 0x3f, 0xca, 0x6e, 0x68, 0xd7, 0xd9, 0x66, 0x31, 0x2, 0xc9, 0x43, 0x44, 0xfe, 0xea, 0x50, 0x5f, 0x6d, 0x7d, 0x9f, 0xfe, 0xdd, 0x1d, 0x1c, 0x60, 0x36, 0x31, 0x81, 0x89, 0xca, 0xde, 0xda, 0x2, 0x66, 0xfb, 0xec, 0x8f, 0x5b, 0x4a, 0x4a, 0x4f, 0x9b, 0x2, 0x9f, 0xfd, 0x5a, 0xe0, 0x7f, 0x78, 0x78, 0x39, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0xff, 0xe3, 0x6, 0x73, 0x4, 0x60, 0x0, 0xd, 0x0, 0x30, 0x0, 0x38, 0x40, 0xf, 0x32, 0x46, 0x26, 0x8, 0x29, 0xe, 0xd, 0x1b, 0x8, 0x1e, 0x5, 0x12, 0x16, 0x45, 0x31, 0x10, 0xfc, 0xec, 0xd4, 0xec, 0x32, 0x39, 0xd4, 0xec, 0xec, 0x31, 0x0, 0x40, 0xe, 0x22, 0x9, 0xa9, 0x31, 0x1, 0xa9, 0x1a, 0x2d, 0x12, 0x8c, 0x28, 0x1d, 0xbc, 0x31, 0x10, 0xec, 0xcc, 0xe4, 0x32, 0xd4, 0xec, 0x10, 0xec, 0x32, 0x30, 0x1, 0x21, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x13, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x21, 0x11, 0x33, 0x11, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x3, 0x3d, 0xfe, 0xf9, 0x80, 0x43, 0x3e, 0x41, 0x40, 0x6a, 0x94, 0x5c, 0x2d, 0x31, 0x43, 0x5d, 0x5e, 0x88, 0xac, 0x66, 0x65, 0x74, 0x79, 0xd0, 0x1, 0xf, 0xb8, 0x3e, 0x3c, 0x6a, 0x68, 0x3c, 0x3e, 0xb8, 0x64, 0x68, 0xce, 0xd3, 0x64, 0x1f, 0x2, 0x2, 0x2e, 0x2a, 0x5e, 0x5c, 0x3a, 0x39, 0x6d, 0x34, 0x9c, 0xfe, 0xf6, 0x6c, 0x30, 0x31, 0x61, 0x60, 0xa6, 0xaa, 0x52, 0x55, 0x1, 0xc5, 0xfd, 0x61, 0x9f, 0x50, 0x4f, 0x4f, 0x52, 0x9d, 0x1, 0x41, 0xfe, 0xb8, 0xec, 0x73, 0x78, 0x78, 0x25, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0xff, 0xe3, 0x7, 0x3, 0x5, 0xf0, 0x0, 0x37, 0x0, 0x40, 0x40, 0xf, 0x39, 0x2e, 0x1c, 0x2c, 0x6, 0xb, 0x19, 0x1b, 0x2c, 0x0, 0x19, 0x23, 0x12, 0x6, 0x38, 0x10, 0xfc, 0xd4, 0xec, 0xcc, 0xd4, 0xfc, 0xcc, 0x10, 0xec, 0xcc, 0x31, 0x0, 0x40, 0x13, 0x1f, 0x5, 0x95, 0x6, 0x27, 0x95, 0x32, 0x12, 0xa1, 0x13, 0xae, 0xf, 0x95, 0x17, 0x91, 0x2d, 0x32, 0x8c, 0x38, 0x10, 0xe4, 0xcc, 0xf4, 0xec, 0xf4, 0xec, 0x10, 0xec, 0xd4, 0xec, 0x39, 0x30, 0x1, 0x34, 0x27, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x16, 0x17, 0x16, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x3, 0xaa, 0x5c, 0x5d, 0xa5, 0xae, 0xb6, 0x95, 0x4f, 0x4f, 0x51, 0x52, 0x98, 0x53, 0xbe, 0x72, 0x73, 0x64, 0x65, 0x59, 0xe6, 0x86, 0x86, 0x47, 0x47, 0x83, 0x91, 0x52, 0x51, 0x3f, 0x34, 0x70, 0x69, 0x3b, 0x3f, 0xca, 0x6e, 0x68, 0xd7, 0xd9, 0x66, 0x30, 0x1c, 0x21, 0x1, 0xb2, 0x84, 0x4a, 0x4b, 0xa6, 0x3b, 0x3c, 0x70, 0x73, 0x3d, 0x3e, 0x24, 0x26, 0xb4, 0x20, 0x10, 0x10, 0x68, 0x69, 0xb2, 0x7c, 0x55, 0x56, 0x21, 0x1f, 0x62, 0x62, 0x90, 0x80, 0x5b, 0x4a, 0x4a, 0x4f, 0x9b, 0x2, 0x9f, 0xfd, 0x5a, 0xe0, 0x7f, 0x78, 0x78, 0x38, 0x50, 0x61, 0x0, 0x1, 0x0, 0xab, 0xff, 0xe3, 0x6, 0x46, 0x4, 0x7c, 0x0, 0x35, 0x0, 0x47, 0x40, 0xe, 0x37, 0x2e, 0x12, 0x2c, 0xb, 0x12, 0x1b, 0x2c, 0x0, 0x12, 0x23, 0x6, 0x14, 0x36, 0x10, 0xdc, 0xc4, 0xd4, 0xec, 0xcc, 0xd4, 0xec, 0x10, 0xec, 0xcc, 0x31, 0x0, 0x40, 0x13, 0x14, 0x86, 0x13, 0x88, 0xf, 0xb9, 0x17, 0xb8, 0x36, 0x5, 0xa9, 0x6, 0x36, 0x27, 0xb9, 0x32, 0x8c, 0x2c, 0x36, 0x10, 0xcc, 0xf4, 0xec, 0x10, 0xd4, 0xec, 0x10, 0xf4, 0xfc, 0xb0, 0xc, 0x4b, 0x51, 0x58, 0xfc, 0x1b, 0xf4, 0x59, 0xec, 0x30, 0x1, 0x34, 0x27, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x16, 0x17, 0x16, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x3, 0x13, 0x4e, 0x48, 0x89, 0x94, 0x9b, 0x74, 0x43, 0x44, 0x46, 0x45, 0x77, 0x47, 0x51, 0x50, 0x61, 0x62, 0xaa, 0x4c, 0xc4, 0x71, 0x72, 0x3c, 0x3c, 0x70, 0x81, 0x40, 0x45, 0x3e, 0x3d, 0x69, 0x68, 0x3c, 0x3e, 0xb8, 0x64, 0x68, 0xce, 0xc7, 0x70, 0x62, 0x1, 0x38, 0x66, 0x38, 0x33, 0x98, 0x2c, 0x2d, 0x46, 0x40, 0x2e, 0x2e, 0xd, 0xd, 0x1d, 0xa7, 0x18, 0x18, 0x4e, 0x4f, 0x8d, 0x5d, 0x40, 0x41, 0x18, 0x19, 0x48, 0x4f, 0x48, 0x58, 0x44, 0x45, 0x4f, 0x52, 0x9d, 0x1, 0x41, 0xfe, 0xb8, 0xec, 0x73, 0x78, 0x75, 0x65, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0xfe, 0x56, 0x5, 0x3c, 0x5, 0xf0, 0x0, 0x29, 0x0, 0x3a, 0x40, 0xd, 0x8, 0xd, 0x19, 0x1d, 0x27, 0x1c, 0x2b, 0x2, 0x19, 0x25, 0x14, 0x6, 0x2a, 0x10, 0xfc, 0xd4, 0xec, 0xcc, 0xec, 0xd4, 0xfc, 0xcc, 0x31, 0x0, 0x40, 0x12, 0x21, 0x7, 0x95, 0x8, 0x0, 0x14, 0xa1, 0x15, 0xae, 0x11, 0x95, 0x19, 0x91, 0x27, 0x95, 0x28, 0xbd, 0x0, 0x2f, 0xec, 0xec, 0xf4, 0xec, 0xf4, 0xec, 0x10, 0xd4, 0xec, 0x39, 0x30, 0x21, 0x23, 0x11, 0x34, 0x27, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x16, 0x17, 0x16, 0x15, 0x11, 0x33, 0x11, 0x23, 0x4, 0x73, 0xc9, 0x5c, 0x5d, 0xa5, 0xae, 0xb6, 0x95, 0x4f, 0x4f, 0x51, 0x52, 0x98, 0x53, 0xbe, 0x72, 0x73, 0x64, 0x65, 0x59, 0xe6, 0x86, 0x86, 0x47, 0x47, 0x83, 0x91, 0x52, 0x51, 0xc9, 0xc9, 0x1, 0xb1, 0x85, 0x4a, 0x4b, 0xa6, 0x3b, 0x3c, 0x70, 0x73, 0x3d, 0x3e, 0x24, 0x26, 0xb4, 0x20, 0x10, 0x10, 0x68, 0x69, 0xb2, 0x7c, 0x55, 0x56, 0x21, 0x1f, 0x62, 0x61, 0x92, 0xfe, 0xf9, 0xfd, 0xac, 0x0, 0x0, 0x1, 0x0, 0xab, 0xfe, 0x56, 0x4, 0x83, 0x4, 0x7c, 0x0, 0x29, 0x0, 0x3f, 0x40, 0xc, 0x11, 0x12, 0x21, 0x1, 0x12, 0x2b, 0x6, 0x12, 0x29, 0xc, 0x1a, 0x2a, 0x10, 0xdc, 0xc4, 0xd4, 0xec, 0xcc, 0xec, 0xd4, 0xec, 0x31, 0x0, 0x40, 0x11, 0x1a, 0x86, 0x19, 0x88, 0x15, 0xb9, 0x1d, 0xb8, 0x4, 0xb, 0xa9, 0xc, 0x0, 0xa9, 0x2, 0xbd, 0x4, 0x2f, 0xec, 0xec, 0xd4, 0xec, 0x10, 0xf4, 0xfc, 0xb0, 0xc, 0x4b, 0x51, 0x58, 0xfc, 0x1b, 0xf4, 0x59, 0xec, 0x30, 0x25, 0x33, 0x11, 0x23, 0x11, 0x23, 0x11, 0x34, 0x27, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x16, 0x17, 0x16, 0x15, 0x3, 0xc8, 0xbb, 0xb8, 0xb8, 0x4e, 0x48, 0x89, 0x94, 0x9b, 0x74, 0x43, 0x44, 0x46, 0x45, 0x77, 0x47, 0x51, 0x50, 0x61, 0x62, 0xaa, 0x4c, 0xc4, 0x71, 0x72, 0x3c, 0x3c, 0x70, 0x7e, 0x43, 0x45, 0x99, 0xfd, 0xbd, 0x1, 0xaa, 0x1, 0x46, 0x58, 0x38, 0x33, 0x98, 0x2c, 0x2d, 0x46, 0x40, 0x2e, 0x2e, 0xd, 0xd, 0x1d, 0xa7, 0x18, 0x18, 0x4e, 0x4f, 0x8d, 0x5d, 0x40, 0x41, 0x18, 0x18, 0x49, 0x4b, 0x6a, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x36, 0xff, 0xe3, 0x7, 0xca, 0x5, 0xd5, 0x0, 0x21, 0x0, 0x34, 0x40, 0xd, 0x23, 0x4, 0xb, 0x1c, 0xa, 0x15, 0x1c, 0x0, 0x16, 0x1c, 0x21, 0x1c, 0x22, 0x10, 0xd4, 0xd4, 0xec, 0xd4, 0xec, 0xd4, 0xfc, 0xec, 0x31, 0x0, 0x40, 0xe, 0x16, 0x95, 0x21, 0x81, 0x22, 0x5, 0x95, 0x10, 0x8c, 0x1c, 0x95, 0x1b, 0xa, 0x22, 0x10, 0xcc, 0x3c, 0xec, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x11, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x21, 0x15, 0x10, 0x3, 0x6, 0x5, 0x35, 0x36, 0x37, 0x12, 0x19, 0x1, 0x5, 0x3a, 0x3f, 0x34, 0x70, 0x69, 0x3b, 0x3f, 0xca, 0x6e, 0x68, 0xd7, 0xd6, 0x69, 0x6e, 0xfe, 0x1b, 0x84, 0x62, 0xfe, 0x91, 0xd4, 0x43, 0x75, 0x5, 0xd5, 0xfb, 0xec, 0x8f, 0x5b, 0x4a, 0x4a, 0x4f, 0x9b, 0x2, 0x9f, 0xfd, 0x5a, 0xe0, 0x7f, 0x78, 0x78, 0x7d, 0xe2, 0x3, 0x71, 0xd4, 0xfe, 0x18, 0xfe, 0xaa, 0xfd, 0x38, 0xa7, 0x2e, 0xa8, 0x1, 0x25, 0x2, 0x35, 0x1, 0x1a, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2e, 0xff, 0xe3, 0x6, 0xee, 0x4, 0x60, 0x0, 0x20, 0x0, 0x34, 0x40, 0xd, 0x22, 0x46, 0xa, 0x8, 0x9, 0x14, 0x8, 0x0, 0x15, 0x8, 0x20, 0x1b, 0x21, 0x10, 0xd4, 0xd4, 0xec, 0xd4, 0xec, 0xd4, 0xfc, 0xec, 0x31, 0x0, 0x40, 0xe, 0x15, 0xa9, 0x20, 0xbc, 0x21, 0x4, 0xa9, 0xf, 0x8c, 0x1b, 0xa9, 0x1a, 0x9, 0x21, 0x10, 0xcc, 0x3c, 0xec, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x21, 0x15, 0x10, 0x3, 0x6, 0x5, 0x35, 0x36, 0x37, 0x36, 0x11, 0x35, 0x4, 0x73, 0x7a, 0x67, 0x68, 0x3c, 0x3e, 0xb8, 0x64, 0x68, 0xce, 0xc7, 0x70, 0x62, 0xfe, 0x7b, 0x76, 0x5e, 0xfe, 0xcc, 0xb3, 0x3b, 0x62, 0x4, 0x60, 0xfd, 0x4, 0x57, 0x8a, 0x4f, 0x52, 0x9d, 0x1, 0x41, 0xfe, 0xb8, 0xec, 0x73, 0x78, 0x75, 0x65, 0x7b, 0x2, 0x8f, 0x86, 0xfe, 0x92, 0xfe, 0xfc, 0xcf, 0x1d, 0x99, 0x1b, 0x7f, 0xcf, 0x1, 0xa7, 0xd4, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xff, 0xe3, 0x8, 0x2d, 0x5, 0xd5, 0x12, 0x6, 0x1, 0xb8, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc1, 0xff, 0xe3, 0x7, 0x3, 0x4, 0x60, 0x0, 0x1c, 0x0, 0x36, 0x40, 0xf, 0x1e, 0x46, 0xa, 0x8, 0x9, 0x14, 0x1c, 0x8, 0x0, 0x15, 0x19, 0x8, 0x18, 0x46, 0x1d, 0x10, 0xfc, 0xec, 0x32, 0xdc, 0xec, 0x32, 0xd4, 0xfc, 0xec, 0x31, 0x0, 0x40, 0xd, 0x15, 0xa9, 0x1a, 0x1c, 0x18, 0xbc, 0x17, 0x4, 0xa9, 0xf, 0x8c, 0x9, 0x17, 0x2f, 0xcc, 0xf4, 0xec, 0x10, 0xe4, 0x32, 0xdc, 0xec, 0x30, 0x1, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x3d, 0x1, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x4, 0x88, 0x7a, 0x67, 0x68, 0x3c, 0x3e, 0xb8, 0x64, 0x68, 0xce, 0xc7, 0x70, 0x62, 0xfd, 0xa9, 0xb8, 0xb8, 0x2, 0x57, 0x4, 0x60, 0xfd, 0x4, 0x57, 0x8a, 0x4f, 0x52, 0x9d, 0x1, 0x41, 0xfe, 0xb8, 0xec, 0x73, 0x78, 0x75, 0x65, 0x7b, 0xcc, 0xfd, 0xfc, 0x4, 0x60, 0xfe, 0x33, 0x1, 0xcd, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x89, 0x5, 0xf0, 0x0, 0x1b, 0x0, 0x30, 0x40, 0xb, 0x1d, 0x4, 0x10, 0x19, 0x1c, 0x1b, 0x14, 0x1c, 0xa, 0x10, 0x1c, 0x10, 0xfc, 0xec, 0xdc, 0xec, 0xc4, 0xec, 0x31, 0x0, 0x40, 0xe, 0x16, 0x95, 0x6, 0x1a, 0x10, 0x95, 0xf, 0x12, 0x95, 0xd, 0x91, 0x6, 0x8c, 0x1c, 0x10, 0xe4, 0xf4, 0xec, 0xd4, 0xfc, 0xcc, 0x10, 0xec, 0x30, 0x1, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x20, 0x27, 0x26, 0x10, 0x37, 0x36, 0x21, 0x20, 0x17, 0x15, 0x26, 0x21, 0x20, 0x11, 0x10, 0x21, 0x32, 0x36, 0x35, 0x11, 0x33, 0x5, 0x89, 0x64, 0x2d, 0x89, 0x7c, 0x97, 0xfe, 0x9b, 0xc4, 0xc0, 0xbf, 0xc5, 0x1, 0x65, 0x1, 0x27, 0xe1, 0xe1, 0xfe, 0xea, 0xfd, 0xdb, 0x2, 0x25, 0xd7, 0x7b, 0xca, 0x1, 0xba, 0xe0, 0x7f, 0x39, 0x21, 0x1e, 0xd2, 0xcc, 0x2, 0xd0, 0xcd, 0xd2, 0x8e, 0xd7, 0xbf, 0xfd, 0x9f, 0xfd, 0xa0, 0x94, 0xa4, 0x1, 0xf0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x46, 0x4, 0x7b, 0x0, 0x1b, 0x0, 0x30, 0x40, 0xb, 0x1d, 0x45, 0x6, 0x12, 0x12, 0x14, 0xd, 0x12, 0x0, 0x45, 0x1c, 0x10, 0xfc, 0xec, 0xd4, 0xec, 0xc4, 0xec, 0x31, 0x0, 0x40, 0xe, 0x10, 0xb9, 0x18, 0x13, 0x7, 0xb9, 0x6, 0x9, 0xb9, 0x4, 0xb8, 0x18, 0x8c, 0x1c, 0x10, 0xe4, 0xf4, 0xec, 0xd4, 0xfc, 0xcc, 0x10, 0xec, 0x30, 0x13, 0x10, 0x37, 0x36, 0x21, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x7, 0x6, 0x10, 0x17, 0x16, 0x33, 0x32, 0x11, 0x35, 0x33, 0x15, 0x14, 0x6, 0x23, 0x20, 0x27, 0x26, 0x71, 0x92, 0x96, 0x1, 0xb, 0xd0, 0xba, 0xbe, 0xc4, 0xbd, 0x62, 0x5a, 0x5a, 0x62, 0xbd, 0xe2, 0xb8, 0xc9, 0xe5, 0xfe, 0xfc, 0x95, 0x8e, 0x2, 0x2f, 0x1, 0xe, 0x9d, 0xa1, 0x6e, 0xaa, 0x7c, 0x7c, 0x72, 0xfe, 0x7c, 0x72, 0x7c, 0x1, 0x3e, 0xbe, 0xc5, 0xec, 0xe7, 0xa6, 0x9e, 0x0, 0x1, 0xff, 0xfa, 0xff, 0xe3, 0x5, 0x66, 0x5, 0xd5, 0x0, 0x19, 0x0, 0x2f, 0x40, 0xc, 0x9, 0x1c, 0xb, 0x1b, 0x18, 0x40, 0x0, 0x1c, 0x17, 0x40, 0x14, 0x1a, 0x10, 0xd4, 0xe4, 0xfc, 0xe4, 0xcc, 0xdc, 0xec, 0x31, 0x0, 0x40, 0xc, 0x5, 0x95, 0x10, 0x15, 0x0, 0x95, 0x17, 0x81, 0x10, 0x8c, 0xa, 0x1a, 0x10, 0xcc, 0xe4, 0xf4, 0xec, 0x32, 0x10, 0xec, 0x30, 0x1, 0x11, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x21, 0x35, 0x21, 0x15, 0x2, 0xd7, 0x3f, 0x34, 0x6f, 0x69, 0x3b, 0x3f, 0xca, 0x6e, 0x68, 0xd7, 0xd6, 0x69, 0x6e, 0xfd, 0xee, 0x4, 0xef, 0x5, 0x2b, 0xfc, 0x96, 0x8f, 0x5b, 0x4a, 0x4a, 0x4f, 0x9b, 0x2, 0x9f, 0xfd, 0x5a, 0xe0, 0x7f, 0x78, 0x78, 0x7d, 0xe2, 0x3, 0x71, 0xaa, 0xaa, 0x0, 0x0, 0x0, 0x1, 0x0, 0x5, 0xff, 0xe3, 0x4, 0xf6, 0x4, 0x60, 0x0, 0x19, 0x0, 0x32, 0x40, 0xa, 0xa, 0x8, 0xb, 0x1b, 0x18, 0x0, 0x8, 0x15, 0x17, 0x1a, 0x10, 0xd4, 0xdc, 0xfc, 0xcc, 0xcc, 0xdc, 0xec, 0x31, 0x0, 0x40, 0xc, 0x5, 0xa9, 0x10, 0x8c, 0x1a, 0x0, 0x16, 0xa9, 0x17, 0xbc, 0xa, 0x1a, 0x10, 0xcc, 0xf4, 0xec, 0x32, 0x10, 0xf4, 0xec, 0xb2, 0x10, 0xa, 0x1, 0x5d, 0x30, 0x1, 0x11, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x21, 0x35, 0x21, 0x15, 0x2, 0x78, 0x3e, 0x3d, 0x69, 0x68, 0x3c, 0x3e, 0xb8, 0x64, 0x68, 0xce, 0xc7, 0x70, 0x62, 0xfe, 0x42, 0x4, 0x31, 0x3, 0xb6, 0xfd, 0xae, 0x56, 0x46, 0x45, 0x4f, 0x52, 0x9d, 0x1, 0x41, 0xfe, 0xb8, 0xec, 0x73, 0x78, 0x75, 0x65, 0x7b, 0x2, 0x7e, 0xaa, 0xaa, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xa4, 0xff, 0xe3, 0x4, 0x7b, 0x5, 0xf0, 0x12, 0x6, 0x1, 0x52, 0x0, 0x0, 0xff, 0xff, 0x0, 0x85, 0xff, 0xe3, 0x3, 0xc8, 0x4, 0x7c, 0x12, 0x6, 0x3, 0x49, 0x0, 0x0, 0x0, 0x1, 0x0, 0x54, 0xfe, 0x66, 0x5, 0x3a, 0x5, 0xd5, 0x0, 0x18, 0x0, 0x2f, 0x40, 0xb, 0xd, 0x1a, 0x4, 0x13, 0x1c, 0x7, 0x14, 0x1c, 0x6, 0x1, 0x19, 0x10, 0xd4, 0xd4, 0xec, 0xd4, 0xec, 0xec, 0xcc, 0x31, 0x0, 0x40, 0xd, 0xd, 0x95, 0xc, 0xbd, 0x19, 0x14, 0x95, 0x6, 0x81, 0x1, 0x95, 0x0, 0x19, 0x10, 0x32, 0xec, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x33, 0x35, 0x36, 0x37, 0x36, 0x11, 0x35, 0x21, 0x11, 0x10, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x21, 0x15, 0x10, 0x3, 0x6, 0x54, 0xdd, 0x3a, 0x57, 0x3, 0x78, 0xcd, 0xe3, 0x4d, 0x3f, 0x86, 0x37, 0x37, 0xfe, 0x1b, 0x66, 0x62, 0xaa, 0x30, 0xa3, 0xf6, 0x2, 0x64, 0xfe, 0xfa, 0x93, 0xfe, 0xf2, 0xf4, 0xaa, 0x4b, 0x4c, 0xc1, 0x4, 0xc3, 0xb8, 0xfd, 0xca, 0xfe, 0xf8, 0xfd, 0x0, 0x0, 0x1, 0x0, 0x4c, 0xfe, 0x56, 0x4, 0x73, 0x4, 0x60, 0x0, 0x18, 0x0, 0x2f, 0x40, 0xb, 0xd, 0x1a, 0x46, 0x13, 0x8, 0x7, 0x14, 0x8, 0x6, 0x1, 0x19, 0x10, 0xd4, 0xd4, 0xec, 0xd4, 0xec, 0xec, 0xcc, 0x31, 0x0, 0x40, 0xd, 0xd, 0xa9, 0xc, 0xbd, 0x19, 0x14, 0xa9, 0x6, 0xbc, 0x1, 0xa9, 0x0, 0x19, 0x10, 0x32, 0xec, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x33, 0x35, 0x36, 0x37, 0x36, 0x11, 0x35, 0x21, 0x11, 0x14, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x21, 0x15, 0x10, 0x7, 0x6, 0x4c, 0xbb, 0x33, 0x44, 0x2, 0xf5, 0xa3, 0xb5, 0x46, 0x31, 0x61, 0x2e, 0x26, 0xfe, 0x7b, 0x58, 0x5e, 0x99, 0x1d, 0x7d, 0xa6, 0x1, 0xd0, 0xb7, 0xfb, 0x8c, 0xd6, 0xc0, 0x9c, 0x30, 0x29, 0xa1, 0x3, 0xe1, 0x6f, 0xfe, 0x50, 0xc2, 0xcf, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x54, 0x0, 0x0, 0x9, 0x1c, 0x5, 0xd5, 0x0, 0x17, 0x0, 0x0, 0x33, 0x35, 0x36, 0x37, 0x12, 0x11, 0x35, 0x21, 0x9, 0x1, 0x33, 0x9, 0x1, 0x23, 0x9, 0x1, 0x23, 0x9, 0x1, 0x21, 0x15, 0x10, 0x3, 0x6, 0x54, 0xd9, 0x3e, 0x57, 0x3, 0x79, 0x1, 0x73, 0x1, 0x75, 0xd9, 0xfe, 0x20, 0x2, 0x0, 0xd9, 0xfe, 0x5c, 0xfe, 0x59, 0xda, 0x2, 0x15, 0xfe, 0xa0, 0xfd, 0xb8, 0x66, 0x62, 0xaa, 0x2f, 0xa4, 0x1, 0x2, 0x2, 0x58, 0xfe, 0xfd, 0xd5, 0x2, 0x2b, 0xfd, 0x33, 0xfc, 0xf8, 0x2, 0x7b, 0xfd, 0x85, 0x3, 0x1d, 0x2, 0xe, 0xb8, 0xfd, 0xca, 0xfe, 0xf8, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x4c, 0x0, 0x0, 0x7, 0xb2, 0x4, 0x60, 0x0, 0x18, 0x0, 0x0, 0x9, 0x2, 0x23, 0x9, 0x1, 0x23, 0x9, 0x1, 0x21, 0x15, 0x10, 0x7, 0x6, 0x5, 0x35, 0x36, 0x37, 0x36, 0x11, 0x35, 0x21, 0x17, 0x9, 0x1, 0x7, 0x9d, 0xfe, 0x6b, 0x1, 0xaa, 0xd9, 0xfe, 0xba, 0xfe, 0xba, 0xd9, 0x1, 0xb3, 0xfe, 0xdf, 0xfe, 0x30, 0x58, 0x5e, 0xfe, 0xcc, 0xb6, 0x38, 0x44, 0x2, 0xf5, 0x1, 0x1, 0x27, 0x1, 0x29, 0x4, 0x60, 0xfd, 0xdf, 0xfd, 0xc1, 0x1, 0xb8, 0xfe, 0x48, 0x2, 0x4a, 0x1, 0x83, 0x6f, 0xfe, 0x50, 0xc2, 0xcf, 0x1d, 0x99, 0x1c, 0x7e, 0xb1, 0x1, 0xc5, 0xb7, 0x3, 0xfe, 0x74, 0x1, 0x8f, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc9, 0x0, 0x0, 0x6, 0xe8, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x1a, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x1, 0x6, 0x21, 0x23, 0x11, 0x23, 0x11, 0x21, 0x32, 0x4, 0x15, 0x14, 0x7, 0x1, 0x33, 0x9, 0x1, 0x23, 0x1, 0x93, 0xfe, 0x8d, 0x9a, 0x9a, 0x8d, 0x1, 0x95, 0x7f, 0xfe, 0xea, 0xfe, 0xca, 0x1, 0xc8, 0xfb, 0x1, 0x1, 0x6, 0x1, 0x68, 0xd9, 0xfe, 0x20, 0x2, 0x0, 0xd9, 0x5, 0x2f, 0xfd, 0xcf, 0x92, 0x87, 0x86, 0x92, 0xfd, 0xb3, 0x8a, 0xfd, 0xa8, 0x5, 0xd5, 0xe3, 0xdb, 0x30, 0x2a, 0x2, 0x18, 0xfd, 0x33, 0xfc, 0xf8, 0x0, 0x2, 0x0, 0xba, 0xfe, 0x56, 0x6, 0xa8, 0x4, 0x7b, 0x0, 0x18, 0x0, 0x20, 0x0, 0x0, 0x9, 0x2, 0x23, 0x1, 0x6, 0x7, 0x6, 0x23, 0x22, 0x26, 0x27, 0x11, 0x23, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x17, 0x1, 0x0, 0x10, 0x26, 0x20, 0x6, 0x10, 0x16, 0x20, 0x6, 0x93, 0xfe, 0x6b, 0x1, 0xaa, 0xd9, 0xfe, 0xcb, 0x1a, 0x5c, 0x7f, 0xcc, 0x7b, 0xb1, 0x3a, 0xb9, 0xb9, 0x3a, 0xb1, 0x7b, 0xcc, 0x7f, 0x54, 0x1d, 0x1, 0x25, 0xfe, 0x2b, 0xa7, 0xfe, 0xdc, 0xa7, 0xa7, 0x1, 0x24, 0x4, 0x60, 0xfd, 0xdf, 0xfd, 0xc1, 0x1, 0xa1, 0xa8, 0x74, 0xa2, 0x61, 0x64, 0xfd, 0xae, 0x6, 0xa, 0xaa, 0x64, 0x61, 0xa2, 0x6b, 0x97, 0x1, 0x89, 0xfd, 0x4, 0x1, 0x96, 0xe7, 0xe7, 0xfe, 0x6a, 0xe7, 0x0, 0x0, 0x0, 0x2, 0x0, 0x88, 0x0, 0x0, 0x7, 0xbc, 0x5, 0xd5, 0x0, 0x15, 0x0, 0x1d, 0x0, 0x0, 0x33, 0x1, 0x26, 0x24, 0x35, 0x34, 0x24, 0x29, 0x1, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x1, 0x12, 0x10, 0x16, 0x33, 0x21, 0x11, 0x21, 0x22, 0x88, 0x1, 0x98, 0x64, 0xff, 0x0, 0x1, 0x4, 0x1, 0x2, 0x4, 0xe8, 0xfd, 0x1c, 0x2, 0xc5, 0xfd, 0x3b, 0x2, 0xf6, 0xfc, 0x3e, 0xfe, 0xf4, 0xfe, 0x76, 0x37, 0x95, 0x92, 0x1, 0x38, 0xfe, 0xc8, 0x92, 0x2, 0x8d, 0x1a, 0xa9, 0xd7, 0xce, 0xe0, 0xaa, 0xfe, 0x46, 0xaa, 0xfd, 0xe3, 0xaa, 0x2, 0x77, 0xfd, 0x89, 0x4, 0xaa, 0xfe, 0xfa, 0x87, 0x2, 0x12, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x74, 0xff, 0xe3, 0x7, 0x77, 0x4, 0x7b, 0x0, 0x1f, 0x0, 0x26, 0x0, 0x2f, 0x0, 0x0, 0x1, 0x15, 0x21, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x20, 0x27, 0x26, 0x27, 0x23, 0x1, 0x23, 0x1, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x33, 0x21, 0x36, 0x33, 0x32, 0x0, 0x7, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x7, 0x25, 0x14, 0x16, 0x3b, 0x1, 0x11, 0x23, 0x22, 0x6, 0x7, 0x77, 0xfc, 0xb2, 0xc, 0xcd, 0xb7, 0x6a, 0xc7, 0x62, 0x63, 0xd0, 0x6b, 0xfe, 0xf4, 0x9d, 0x98, 0x4, 0xe5, 0xfe, 0xb6, 0xc6, 0x1, 0x56, 0x74, 0x9a, 0xd7, 0xd9, 0x2, 0x65, 0x56, 0x67, 0xe2, 0x1, 0x7, 0xb8, 0x2, 0xa5, 0x88, 0x9a, 0xb9, 0xe, 0xfd, 0x4b, 0x80, 0x77, 0xf8, 0xf8, 0x77, 0x80, 0x2, 0x5e, 0x5a, 0xbe, 0xc7, 0x34, 0x34, 0xae, 0x2a, 0x2c, 0x9c, 0x98, 0xc2, 0xfe, 0x27, 0x1, 0xeb, 0x1a, 0x89, 0x8f, 0xa2, 0xa1, 0x1b, 0xfe, 0xdd, 0xc4, 0x97, 0xb4, 0xae, 0x9e, 0x8a, 0x53, 0x5e, 0x1, 0x61, 0x5c, 0xff, 0xff, 0x0, 0x73, 0xfe, 0xf8, 0x5, 0xd9, 0x5, 0xf0, 0x10, 0x6, 0x0, 0x34, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x56, 0x4, 0x5a, 0x4, 0x7b, 0x10, 0x6, 0x0, 0x54, 0x0, 0x0, 0xff, 0xff, 0x0, 0x44, 0x0, 0x0, 0x7, 0xa6, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x3a, 0x0, 0x0, 0xff, 0xff, 0x0, 0x56, 0x0, 0x0, 0x6, 0x35, 0x4, 0x60, 0x10, 0x6, 0x0, 0x5a, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x86, 0x5, 0xd5, 0x0, 0x14, 0x0, 0x0, 0x1, 0x33, 0x17, 0x37, 0x21, 0x1, 0x17, 0x23, 0x27, 0x7, 0x1, 0x23, 0x9, 0x1, 0x11, 0x23, 0x11, 0x33, 0x11, 0x1, 0x27, 0x2, 0x6a, 0x87, 0x97, 0xdd, 0x1, 0x3, 0xfe, 0xa3, 0xc8, 0x8e, 0x80, 0x9e, 0x2, 0x5f, 0xdc, 0xfd, 0xfa, 0xfe, 0xef, 0xca, 0xca, 0x1, 0xaf, 0xdb, 0x5, 0x8a, 0x97, 0xe2, 0xfe, 0x9b, 0xc8, 0x80, 0xa1, 0xfc, 0x79, 0x3, 0x1, 0xfe, 0xe9, 0xfe, 0x16, 0x5, 0xd5, 0xfd, 0x1e, 0x1, 0xb8, 0xdc, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x4, 0x91, 0x4, 0x60, 0x0, 0x13, 0x0, 0x0, 0x1, 0x33, 0x17, 0x37, 0x33, 0x7, 0x17, 0x23, 0x27, 0x7, 0x1, 0x23, 0x1, 0x7, 0x11, 0x23, 0x11, 0x33, 0x11, 0x1, 0x2, 0x35, 0x8c, 0x41, 0x76, 0xe2, 0xe6, 0x93, 0x8e, 0x4c, 0x7f, 0x1, 0xe3, 0xce, 0xfe, 0x73, 0xc5, 0xb7, 0xb7, 0x1, 0x4b, 0x4, 0x29, 0x40, 0x77, 0xe9, 0x93, 0x4c, 0x81, 0xfd, 0x51, 0x2, 0x35, 0xc8, 0xfe, 0x93, 0x4, 0x60, 0xfd, 0xf2, 0x1, 0x50, 0x0, 0x1, 0x0, 0x54, 0xfe, 0x66, 0x8, 0x73, 0x5, 0xd5, 0x0, 0x25, 0x0, 0x39, 0x40, 0xe, 0xe, 0x1c, 0x27, 0x13, 0x19, 0x20, 0x1c, 0x1d, 0x7, 0x21, 0x1c, 0x6, 0x1, 0x26, 0x10, 0xd4, 0xd4, 0xec, 0xd4, 0x3c, 0xec, 0xdc, 0xc4, 0xcc, 0xec, 0x31, 0x0, 0x40, 0xf, 0x13, 0x95, 0x12, 0x1d, 0x95, 0x8, 0x21, 0x95, 0x6, 0x81, 0x12, 0xbd, 0x8, 0x0, 0x1f, 0x2f, 0x3c, 0xcc, 0xec, 0xf4, 0xec, 0x10, 0xec, 0x10, 0xec, 0x30, 0x33, 0x35, 0x36, 0x37, 0x12, 0x11, 0x35, 0x21, 0x11, 0x21, 0x32, 0x17, 0x16, 0x15, 0x11, 0x10, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x34, 0x26, 0x23, 0x21, 0x11, 0x23, 0x11, 0x21, 0x15, 0x10, 0x3, 0x6, 0x54, 0xd9, 0x3e, 0x57, 0x3, 0x78, 0x1, 0xa1, 0xba, 0x71, 0x6d, 0xcc, 0xe4, 0x4c, 0x3e, 0x86, 0x38, 0x37, 0x7c, 0x7c, 0xfe, 0x88, 0xca, 0xfe, 0x1b, 0x66, 0x62, 0xaa, 0x2f, 0xa4, 0x1, 0x2, 0x2, 0x58, 0xfe, 0xfd, 0x9c, 0x77, 0x72, 0xee, 0xfe, 0xce, 0xfe, 0xf2, 0xf4, 0xaa, 0x4b, 0x4b, 0xc2, 0x1, 0x22, 0x9f, 0x9e, 0xfd, 0x39, 0x5, 0x2b, 0xb8, 0xfd, 0xca, 0xfe, 0xf8, 0xfd, 0x0, 0x1, 0x0, 0x4c, 0xfe, 0x56, 0x7, 0xc, 0x4, 0x60, 0x0, 0x27, 0x0, 0x39, 0x40, 0xe, 0xe, 0x8, 0x29, 0x14, 0x1a, 0x22, 0x8, 0x1f, 0x7, 0x23, 0x8, 0x6, 0x1, 0x28, 0x10, 0xd4, 0xd4, 0xec, 0xd4, 0x3c, 0xec, 0xdc, 0xc4, 0xcc, 0xec, 0x31, 0x0, 0x40, 0xf, 0x14, 0xa9, 0x13, 0x1f, 0xa9, 0x8, 0x23, 0xa9, 0x6, 0xbc, 0x13, 0xbd, 0x8, 0x0, 0x21, 0x2f, 0x3c, 0xcc, 0xec, 0xf4, 0xec, 0x10, 0xec, 0x10, 0xec, 0x30, 0x33, 0x35, 0x36, 0x37, 0x36, 0x11, 0x35, 0x21, 0x11, 0x33, 0x20, 0x17, 0x16, 0x15, 0x11, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x34, 0x27, 0x26, 0x23, 0x21, 0x11, 0x23, 0x11, 0x21, 0x15, 0x10, 0x7, 0x6, 0x4c, 0xb6, 0x38, 0x44, 0x2, 0xf5, 0xfa, 0x1, 0x7, 0x46, 0x52, 0x52, 0x51, 0xb5, 0xc1, 0xac, 0x6e, 0x21, 0x26, 0x26, 0x2c, 0x8b, 0xfe, 0xfc, 0xb8, 0xfe, 0x7b, 0x58, 0x5e, 0x99, 0x1c, 0x7e, 0xb1, 0x1, 0xc5, 0xb7, 0xfe, 0x17, 0x47, 0x51, 0xe5, 0xfe, 0xf2, 0xd5, 0x61, 0x60, 0x9c, 0x30, 0x37, 0x93, 0x1, 0x8, 0xa6, 0x24, 0x29, 0xfe, 0x19, 0x3, 0xcd, 0x6f, 0xfe, 0x50, 0xc2, 0xcf, 0x0, 0x0, 0x1, 0x0, 0xc9, 0xfe, 0x66, 0x8, 0x74, 0x5, 0xd5, 0x0, 0x21, 0x0, 0x3f, 0x40, 0x11, 0x10, 0xc, 0x1c, 0x23, 0x17, 0x1d, 0x3, 0x1c, 0x1b, 0x5, 0x38, 0x1f, 0x1, 0x1c, 0x0, 0x4, 0x22, 0x10, 0xfc, 0xec, 0x32, 0xfc, 0x3c, 0xec, 0x32, 0xd4, 0xcc, 0xec, 0xcc, 0x31, 0x0, 0x40, 0x10, 0x12, 0x95, 0x10, 0xbd, 0x1c, 0x1b, 0x1e, 0x95, 0x6, 0x2, 0xad, 0x4, 0x0, 0x81, 0x20, 0x1c, 0x2f, 0x3c, 0xe4, 0x32, 0xfc, 0x3c, 0xec, 0x32, 0x10, 0xfc, 0xec, 0x30, 0x13, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x32, 0x17, 0x16, 0x15, 0x11, 0x10, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x34, 0x26, 0x23, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0xc9, 0xca, 0x2, 0xde, 0xca, 0x1, 0xa1, 0xba, 0x71, 0x6d, 0xcc, 0xe4, 0x4c, 0x3e, 0x86, 0x38, 0x37, 0x7c, 0x7c, 0xfe, 0x88, 0xca, 0xfd, 0x22, 0xca, 0x5, 0xd5, 0xfd, 0x9c, 0x2, 0x64, 0xfd, 0x9c, 0x77, 0x72, 0xee, 0xfe, 0xce, 0xfe, 0xf2, 0xf4, 0xaa, 0x4b, 0x4b, 0xc2, 0x1, 0x22, 0x9f, 0x9e, 0xfd, 0x39, 0x2, 0xc7, 0xfd, 0x39, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0xfe, 0x56, 0x7, 0x1a, 0x4, 0x60, 0x0, 0x23, 0x0, 0x40, 0x40, 0x10, 0xc, 0x8, 0x25, 0x12, 0x18, 0x20, 0x4, 0x8, 0x1d, 0x5, 0x21, 0x1, 0x8, 0x0, 0x46, 0x24, 0x10, 0xfc, 0xec, 0x32, 0xdc, 0x3c, 0xec, 0x32, 0xdc, 0xc4, 0xcc, 0xec, 0x31, 0x0, 0x40, 0x11, 0x12, 0xa9, 0x11, 0x1d, 0xa9, 0x6, 0x21, 0xa9, 0x2, 0x4, 0x0, 0xbc, 0x1f, 0x11, 0xbd, 0x6, 0x23, 0x2f, 0xcc, 0xec, 0x3c, 0xe4, 0x32, 0xdc, 0xec, 0x10, 0xec, 0x10, 0xec, 0x30, 0x13, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x20, 0x17, 0x16, 0x15, 0x11, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x34, 0x27, 0x26, 0x23, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0xba, 0xb9, 0x2, 0x55, 0xb9, 0xfa, 0x1, 0x7, 0x46, 0x52, 0x52, 0x51, 0xb5, 0xc1, 0xac, 0x6e, 0x21, 0x26, 0x26, 0x2c, 0x8b, 0xfe, 0xfc, 0xb9, 0xfd, 0xab, 0xb9, 0x4, 0x60, 0xfe, 0x37, 0x1, 0xc9, 0xfe, 0x17, 0x47, 0x51, 0xe5, 0xfe, 0xf2, 0xd5, 0x61, 0x60, 0x9c, 0x30, 0x37, 0x93, 0x1, 0x8, 0xa6, 0x24, 0x29, 0xfe, 0x19, 0x2, 0x4, 0xfd, 0xfc, 0x0, 0x1, 0x0, 0xc9, 0xfe, 0xbf, 0x6, 0x4, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x0, 0x21, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x4, 0x71, 0xfd, 0x22, 0xca, 0x4, 0x72, 0xc9, 0xc9, 0x5, 0x2b, 0xfa, 0xd5, 0x5, 0xd5, 0xfa, 0xd5, 0xfe, 0x15, 0x1, 0x41, 0x0, 0x0, 0x1, 0x0, 0xba, 0xfe, 0xe5, 0x5, 0x39, 0x4, 0x60, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x4, 0x81, 0xb8, 0xb8, 0xb9, 0xfd, 0xab, 0xb9, 0x4, 0x60, 0xfc, 0x39, 0xfe, 0x4c, 0x1, 0x1b, 0x3, 0xcd, 0xfc, 0x33, 0x4, 0x60, 0x0, 0x1, 0x0, 0xb2, 0xff, 0xc4, 0x5, 0x70, 0x5, 0xd5, 0x0, 0x23, 0x0, 0x0, 0x1, 0x1e, 0x1, 0x17, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x7, 0x16, 0x17, 0x7, 0x26, 0x27, 0xe, 0x1, 0x23, 0x20, 0x0, 0x19, 0x1, 0x33, 0x11, 0x14, 0x1e, 0x2, 0x33, 0x32, 0x36, 0x37, 0x2e, 0x1, 0x27, 0x3, 0x88, 0x27, 0x55, 0x2e, 0x2c, 0xcb, 0x61, 0x4f, 0x59, 0x46, 0x71, 0x6c, 0x45, 0xaf, 0x6b, 0xfe, 0xeb, 0xfe, 0xd9, 0xcb, 0x2a, 0x59, 0x8c, 0x62, 0x3f, 0x66, 0x29, 0x36, 0x5e, 0x26, 0x1, 0xe3, 0x34, 0x5a, 0x29, 0x65, 0xb9, 0x3, 0x8b, 0xfc, 0x5c, 0xe5, 0x90, 0x33, 0x27, 0x9e, 0x34, 0x48, 0x2e, 0x2f, 0x1, 0x29, 0x1, 0x25, 0x3, 0xa4, 0xfc, 0x75, 0x78, 0xab, 0x6d, 0x33, 0x12, 0x14, 0x2d, 0x60, 0x34, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb2, 0x0, 0x0, 0x5, 0x33, 0x5, 0xf2, 0x0, 0x19, 0x0, 0x0, 0x33, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x15, 0x23, 0x35, 0x34, 0x2e, 0x2, 0x23, 0x22, 0xe, 0x2, 0x15, 0x11, 0x21, 0x15, 0x21, 0x11, 0xb2, 0x1, 0x22, 0x1, 0x18, 0x1, 0x19, 0x1, 0x24, 0xcb, 0x2b, 0x5a, 0x8b, 0x60, 0x62, 0x8b, 0x5a, 0x2a, 0x3, 0xb6, 0xfc, 0x4a, 0x3, 0xa4, 0x1, 0x25, 0x1, 0x29, 0xfe, 0xd9, 0xfe, 0xd9, 0x39, 0x20, 0x79, 0xab, 0x6d, 0x32, 0x32, 0x6d, 0xab, 0x79, 0xfe, 0xe7, 0xaf, 0xfe, 0x3d, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x5d, 0x0, 0x0, 0x5, 0xd5, 0x5, 0xf2, 0x0, 0x13, 0x0, 0x23, 0x0, 0x0, 0x1, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, 0x21, 0x22, 0x2e, 0x2, 0x34, 0x3e, 0x2, 0x33, 0x20, 0x0, 0x11, 0x3, 0x11, 0x34, 0x2e, 0x2, 0x23, 0x22, 0xe, 0x2, 0x14, 0x1e, 0x2, 0x33, 0x4, 0xdb, 0xfa, 0xfa, 0xcb, 0xfe, 0x91, 0x8b, 0xd8, 0x94, 0x4d, 0x4d, 0x94, 0xd8, 0x8c, 0x1, 0x17, 0x1, 0x22, 0xcb, 0x2a, 0x5a, 0x8a, 0x60, 0x69, 0x8f, 0x56, 0x25, 0x2c, 0x5b, 0x8b, 0x5f, 0x2, 0x72, 0xaf, 0xfe, 0x3d, 0x1, 0xc3, 0x50, 0x8e, 0xc4, 0xe8, 0xc5, 0x8f, 0x51, 0xfe, 0xd6, 0xfe, 0xdc, 0xfe, 0xce, 0x1, 0x19, 0x79, 0xab, 0x6d, 0x32, 0x3a, 0x64, 0x88, 0x9e, 0x84, 0x5f, 0x35, 0x0, 0x1, 0x0, 0x5a, 0x0, 0x0, 0x5, 0xcb, 0x5, 0xf2, 0x0, 0x19, 0x0, 0x0, 0x21, 0x11, 0x34, 0x2e, 0x2, 0x23, 0x22, 0xe, 0x2, 0x1d, 0x1, 0x23, 0x35, 0x10, 0x0, 0x21, 0x20, 0x0, 0x19, 0x1, 0x33, 0x15, 0x23, 0x11, 0x4, 0x6, 0x2a, 0x5a, 0x8c, 0x61, 0x60, 0x8b, 0x5a, 0x2b, 0xcb, 0x1, 0x24, 0x1, 0x19, 0x1, 0x18, 0x1, 0x22, 0xfa, 0xfa, 0x3, 0x8b, 0x79, 0xab, 0x6d, 0x32, 0x32, 0x6d, 0xab, 0x79, 0x20, 0x39, 0x1, 0x27, 0x1, 0x27, 0xfe, 0xd7, 0xfe, 0xdb, 0xfe, 0xce, 0xaf, 0xfe, 0x3d, 0x0, 0x1, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x33, 0x5, 0xd5, 0x0, 0x19, 0x0, 0x0, 0x1, 0x11, 0x21, 0x15, 0x21, 0x11, 0x14, 0x1e, 0x2, 0x33, 0x32, 0x3e, 0x2, 0x3d, 0x1, 0x33, 0x15, 0x10, 0x0, 0x21, 0x20, 0x0, 0x19, 0x1, 0x1, 0x7d, 0x3, 0xb6, 0xfc, 0x4a, 0x2a, 0x5a, 0x8b, 0x62, 0x60, 0x8b, 0x5a, 0x2b, 0xcb, 0xfe, 0xdc, 0xfe, 0xe7, 0xfe, 0xe8, 0xfe, 0xde, 0x5, 0xd5, 0xfe, 0x8b, 0xaf, 0xfe, 0x99, 0x79, 0xab, 0x6d, 0x32, 0x32, 0x6d, 0xab, 0x79, 0x20, 0x39, 0xfe, 0xd9, 0xfe, 0xd9, 0x1, 0x29, 0x1, 0x25, 0x3, 0xa4, 0x0, 0x1, 0x0, 0xb2, 0x0, 0x0, 0x5, 0x8a, 0x5, 0xf3, 0x0, 0x29, 0x0, 0x0, 0x1, 0x14, 0xe, 0x4, 0x7, 0x21, 0x15, 0x21, 0x11, 0x33, 0x15, 0x33, 0x32, 0x3e, 0x4, 0x35, 0x34, 0x2e, 0x2, 0x22, 0xe, 0x2, 0x1d, 0x1, 0x23, 0x35, 0x34, 0x3e, 0x2, 0x20, 0x1e, 0x2, 0x5, 0x8a, 0x33, 0x54, 0x6d, 0x71, 0x6e, 0x2c, 0x1, 0xe4, 0xfb, 0x64, 0xcb, 0x56, 0x3d, 0x99, 0x9d, 0x97, 0x75, 0x47, 0x30, 0x66, 0x9e, 0xdc, 0x9c, 0x63, 0x2e, 0xcb, 0x4c, 0x99, 0xe5, 0x1, 0x32, 0xeb, 0x9f, 0x52, 0x3, 0x81, 0x67, 0xb4, 0x99, 0x7c, 0x5d, 0x3d, 0xd, 0xaa, 0x1, 0x4c, 0xa2, 0x2b, 0x53, 0x7b, 0xa2, 0xc7, 0x75, 0x67, 0xab, 0x79, 0x43, 0x40, 0x70, 0x97, 0x56, 0x47, 0x4b, 0x79, 0xd2, 0x9a, 0x58, 0x5a, 0xa5, 0xe7, 0x0, 0x0, 0x0, 0x1, 0x0, 0xbc, 0x0, 0x0, 0x4, 0xed, 0x5, 0xd5, 0x0, 0x9, 0x0, 0x0, 0x25, 0x21, 0x15, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x1, 0x87, 0x2, 0xdb, 0xfc, 0x5a, 0xcb, 0x3, 0x66, 0xfc, 0x9a, 0xaf, 0xaf, 0x5, 0xd5, 0xfe, 0x8b, 0xaf, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb2, 0x0, 0x0, 0x5, 0x33, 0x5, 0xf2, 0x0, 0x17, 0x0, 0x0, 0x33, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x15, 0x23, 0x35, 0x34, 0x2e, 0x2, 0x23, 0x22, 0xe, 0x2, 0x15, 0x11, 0x21, 0x15, 0xb2, 0x1, 0x22, 0x1, 0x18, 0x1, 0x19, 0x1, 0x24, 0xcb, 0x2b, 0x5a, 0x8b, 0x60, 0x62, 0x8b, 0x5a, 0x2a, 0x3, 0xb6, 0x3, 0xa4, 0x1, 0x25, 0x1, 0x29, 0xfe, 0xd9, 0xfe, 0xd9, 0x39, 0x20, 0x79, 0xab, 0x6d, 0x32, 0x32, 0x6d, 0xab, 0x79, 0xfd, 0x24, 0xaf, 0x0, 0x0, 0x2, 0x0, 0xb2, 0xff, 0xe3, 0x6, 0xae, 0x5, 0xf2, 0x0, 0x29, 0x0, 0x38, 0x0, 0x0, 0x0, 0x22, 0xe, 0x2, 0x15, 0x11, 0x23, 0x11, 0x34, 0x3e, 0x2, 0x20, 0x1e, 0x2, 0x1d, 0x1, 0x33, 0x15, 0x23, 0x11, 0x14, 0xe, 0x2, 0x23, 0x22, 0x2e, 0x2, 0x34, 0x3e, 0x2, 0x3b, 0x1, 0x35, 0x34, 0x2e, 0x1, 0x0, 0x14, 0x1e, 0x2, 0x32, 0x3e, 0x2, 0x35, 0x11, 0x23, 0x22, 0xe, 0x1, 0x3, 0xc3, 0xf0, 0xaf, 0x71, 0x36, 0xcb, 0x5b, 0xab, 0xf6, 0x1, 0x36, 0xf6, 0xab, 0x5b, 0xce, 0xce, 0x42, 0x74, 0xa1, 0x5e, 0x5f, 0x9f, 0x74, 0x41, 0x44, 0x75, 0x9f, 0x5b, 0xea, 0x35, 0x6f, 0xfe, 0xc8, 0x25, 0x41, 0x58, 0x68, 0x56, 0x3e, 0x22, 0xea, 0x39, 0x5a, 0x3e, 0x5, 0x4e, 0x32, 0x6d, 0xab, 0x79, 0xfc, 0x75, 0x3, 0xa4, 0x93, 0xdd, 0x94, 0x4a, 0x4a, 0x94, 0xdd, 0x93, 0x34, 0xaf, 0xfe, 0xd7, 0x6b, 0xa3, 0x6e, 0x39, 0x3a, 0x73, 0xaf, 0xea, 0xa8, 0x6c, 0x33, 0x18, 0x7a, 0xad, 0x6d, 0xfc, 0xe1, 0xa8, 0x70, 0x42, 0x1c, 0x1b, 0x41, 0x6b, 0x50, 0x1, 0x23, 0x19, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x5d, 0xff, 0xe3, 0x5, 0xd5, 0x5, 0xd5, 0x0, 0x15, 0x0, 0x23, 0x0, 0x0, 0x1, 0x14, 0xe, 0x2, 0x23, 0x22, 0x2e, 0x2, 0x34, 0x3e, 0x2, 0x33, 0x21, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x21, 0x22, 0xe, 0x2, 0x14, 0x1e, 0x2, 0x33, 0x32, 0x36, 0x35, 0x11, 0x4, 0xdb, 0x49, 0x90, 0xd5, 0x8b, 0x8c, 0xd8, 0x94, 0x4d, 0x4d, 0x94, 0xd8, 0x8b, 0x1, 0x6f, 0xcb, 0xfa, 0xfa, 0xfd, 0xc5, 0x5f, 0x8b, 0x5b, 0x2c, 0x25, 0x56, 0x8f, 0x69, 0xc0, 0xae, 0x2, 0x57, 0x92, 0xe9, 0xa2, 0x57, 0x5d, 0x9d, 0xd1, 0xe8, 0xd0, 0x9e, 0x5c, 0x1, 0x75, 0xfe, 0x8b, 0xaf, 0x42, 0x6e, 0x90, 0x9e, 0x94, 0x73, 0x45, 0xf7, 0xf2, 0x1, 0x41, 0x0, 0x0, 0x1, 0x0, 0xbc, 0x0, 0x0, 0x5, 0x33, 0x5, 0xd5, 0x0, 0x18, 0x0, 0x0, 0x13, 0x33, 0x11, 0x3e, 0x1, 0x33, 0x32, 0x1e, 0x2, 0x1d, 0x1, 0x23, 0x35, 0x34, 0x2e, 0x2, 0x22, 0xe, 0x2, 0x15, 0x11, 0x23, 0xbc, 0xcb, 0x3f, 0xbc, 0x76, 0x8a, 0xd4, 0x92, 0x4b, 0xcb, 0x2b, 0x5a, 0x8b, 0xc0, 0x8b, 0x5b, 0x2b, 0xcb, 0x5, 0xd5, 0xfe, 0x9, 0x4d, 0x49, 0x48, 0x93, 0xdd, 0x96, 0x4b, 0x32, 0x79, 0xab, 0x6d, 0x32, 0x32, 0x6c, 0xac, 0x79, 0xfd, 0xf3, 0x0, 0x1, 0x0, 0xbc, 0x0, 0x0, 0x4, 0x44, 0x5, 0xd5, 0x0, 0x5, 0x0, 0x0, 0x1, 0x11, 0x21, 0x15, 0x21, 0x11, 0x1, 0x87, 0x2, 0xbd, 0xfc, 0x78, 0x5, 0xd5, 0xfa, 0xda, 0xaf, 0x5, 0xd5, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xbc, 0xff, 0xe3, 0x6, 0xcb, 0x5, 0xd5, 0x0, 0x1d, 0x0, 0x0, 0x1, 0x11, 0x14, 0x1e, 0x2, 0x32, 0x3e, 0x2, 0x35, 0x11, 0x33, 0x11, 0x14, 0xe, 0x2, 0x22, 0x2e, 0x2, 0x35, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x3, 0xca, 0x36, 0x54, 0x66, 0x60, 0x62, 0x51, 0x33, 0xcb, 0x48, 0x80, 0xb0, 0xd2, 0xb3, 0x84, 0x4b, 0xfe, 0x88, 0xcb, 0xcb, 0x4, 0x60, 0xfd, 0x31, 0x4b, 0x66, 0x3e, 0x1b, 0x1b, 0x3e, 0x66, 0x4b, 0x2, 0xcf, 0xfd, 0x49, 0x77, 0xab, 0x6f, 0x35, 0x35, 0x6f, 0xab, 0x77, 0x2, 0x8, 0xfc, 0x4f, 0x5, 0xd5, 0xfe, 0x8b, 0x0, 0x0, 0x0, 0x0, 0x2, 0x1, 0x8, 0xff, 0xe6, 0x6, 0x1a, 0x5, 0xf0, 0x0, 0x2b, 0x0, 0x3e, 0x0, 0x0, 0x1, 0x33, 0x15, 0x33, 0x3e, 0x3, 0x33, 0x32, 0x1e, 0x2, 0x17, 0x15, 0x2e, 0x3, 0x23, 0x22, 0x6, 0x7, 0x16, 0x4, 0x1e, 0x1, 0x15, 0x14, 0xe, 0x4, 0x23, 0x22, 0x2e, 0x2, 0x35, 0x34, 0x36, 0x37, 0x23, 0x13, 0x14, 0x1e, 0x2, 0x33, 0x32, 0x3e, 0x2, 0x35, 0x34, 0x2e, 0x1, 0x24, 0x2b, 0x1, 0xe, 0x1, 0x1, 0xc, 0xcb, 0x4e, 0x42, 0x99, 0xa3, 0xa8, 0x52, 0x3c, 0x64, 0x58, 0x54, 0x2d, 0x35, 0x6a, 0x65, 0x5c, 0x27, 0x61, 0xb3, 0x4f, 0x9b, 0x1, 0x11, 0xcc, 0x76, 0x27, 0x4c, 0x6f, 0x93, 0xb4, 0x6a, 0x9f, 0xef, 0xa1, 0x50, 0x4c, 0x43, 0x8b, 0xcb, 0x2a, 0x65, 0xa6, 0x7d, 0x7c, 0xac, 0x6a, 0x2f, 0x42, 0x9f, 0xfe, 0xf6, 0xc8, 0x1d, 0x4c, 0x57, 0x5, 0xd5, 0xf5, 0x3f, 0x65, 0x47, 0x25, 0x9, 0x12, 0x1b, 0x12, 0xd7, 0x23, 0x2f, 0x1c, 0xb, 0x39, 0x34, 0x9, 0x59, 0xa1, 0xe8, 0x99, 0x53, 0x9d, 0x8b, 0x75, 0x54, 0x2f, 0x63, 0xae, 0xed, 0x89, 0x80, 0xe7, 0x65, 0xfe, 0x34, 0x5f, 0xaf, 0x85, 0x50, 0x4c, 0x7f, 0xa8, 0x5c, 0x60, 0xae, 0x84, 0x4e, 0x61, 0xeb, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb2, 0x0, 0x0, 0x5, 0x29, 0x5, 0xd5, 0x0, 0x18, 0x0, 0x0, 0x21, 0x23, 0x11, 0xe, 0x1, 0x23, 0x22, 0x2e, 0x2, 0x35, 0x11, 0x33, 0x11, 0x14, 0x1e, 0x2, 0x32, 0x3e, 0x2, 0x3d, 0x1, 0x33, 0x5, 0x29, 0xcb, 0x45, 0xb6, 0x76, 0x8a, 0xd4, 0x92, 0x4b, 0xcb, 0x2b, 0x5a, 0x8b, 0xc0, 0x8b, 0x5b, 0x2b, 0xcb, 0x1, 0xe3, 0x3f, 0x43, 0x48, 0x93, 0xdd, 0x96, 0x2, 0x26, 0xfd, 0xf3, 0x79, 0xab, 0x6d, 0x32, 0x32, 0x6c, 0xab, 0x7a, 0x98, 0x0, 0x1, 0x0, 0x46, 0xff, 0xca, 0x5, 0x1a, 0x5, 0xd5, 0x0, 0x19, 0x0, 0x0, 0x25, 0x15, 0x1, 0x2e, 0x3, 0x3e, 0x1, 0x37, 0x36, 0x24, 0x37, 0x3, 0x33, 0x1, 0xe, 0x3, 0x7, 0xe, 0x2, 0x16, 0x17, 0x5, 0x1a, 0xfc, 0x16, 0x3e, 0x67, 0x3f, 0xb, 0x3b, 0x8b, 0x77, 0x9b, 0x1, 0x38, 0xa4, 0xcf, 0xee, 0x1, 0x3, 0x71, 0xcb, 0xc1, 0xbb, 0x60, 0x67, 0x5f, 0xd, 0x38, 0x2f, 0x98, 0xce, 0x1, 0x40, 0x13, 0x39, 0x4c, 0x60, 0x75, 0x8a, 0x50, 0x68, 0xa6, 0x47, 0x1, 0x2f, 0xfe, 0x89, 0x2b, 0x58, 0x61, 0x6d, 0x40, 0x45, 0x5c, 0x3e, 0x26, 0xf, 0x0, 0x2, 0x0, 0xa8, 0xff, 0xd0, 0x5, 0x80, 0x5, 0xf3, 0x0, 0x35, 0x0, 0x43, 0x0, 0x0, 0x13, 0x34, 0x3e, 0x2, 0x33, 0x32, 0x16, 0x17, 0x3e, 0x3, 0x35, 0x34, 0x2e, 0x2, 0x22, 0xe, 0x2, 0x1d, 0x1, 0x23, 0x35, 0x34, 0x3e, 0x2, 0x20, 0x1e, 0x2, 0x15, 0x14, 0xe, 0x2, 0x7, 0x1e, 0x1, 0x17, 0x7, 0x2e, 0x1, 0x27, 0xe, 0x1, 0x23, 0x22, 0x2e, 0x2, 0x25, 0x22, 0xe, 0x2, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x2e, 0x1, 0xb7, 0x3b, 0x65, 0x84, 0x48, 0x78, 0xed, 0x76, 0x28, 0x41, 0x2f, 0x1a, 0x2f, 0x64, 0x9f, 0xe0, 0x9d, 0x62, 0x2c, 0xcb, 0x4e, 0x9a, 0xe5, 0x1, 0x2c, 0xeb, 0xa0, 0x54, 0x22, 0x3f, 0x57, 0x36, 0x38, 0x6d, 0x38, 0x88, 0x36, 0x6f, 0x38, 0x6e, 0xf9, 0x7e, 0x47, 0x84, 0x66, 0x3d, 0x1, 0x6c, 0x21, 0x3f, 0x31, 0x1d, 0x58, 0x58, 0x56, 0xb0, 0x51, 0x5e, 0xaf, 0x1, 0x9, 0x49, 0x72, 0x4e, 0x28, 0x60, 0x50, 0x32, 0x73, 0x7c, 0x86, 0x46, 0x67, 0xae, 0x7d, 0x46, 0x40, 0x70, 0x97, 0x56, 0x47, 0x4b, 0x79, 0xd2, 0x9a, 0x58, 0x58, 0xa3, 0xe7, 0x90, 0x56, 0xa5, 0x9c, 0x8e, 0x3f, 0x2d, 0x5f, 0x33, 0x8e, 0x34, 0x65, 0x30, 0x59, 0x64, 0x24, 0x4b, 0x71, 0xdc, 0x13, 0x24, 0x33, 0x20, 0x41, 0x4f, 0x48, 0x40, 0x42, 0x50, 0x0, 0x1, 0x0, 0x64, 0x0, 0x0, 0x5, 0xd5, 0x5, 0xf2, 0x0, 0x17, 0x0, 0x0, 0x25, 0x33, 0x15, 0x21, 0x11, 0x34, 0x2e, 0x2, 0x23, 0x22, 0xe, 0x2, 0x1d, 0x1, 0x23, 0x35, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x4, 0xdb, 0xfa, 0xfe, 0x3b, 0x2b, 0x5a, 0x8c, 0x61, 0x62, 0x8b, 0x59, 0x29, 0xcb, 0x1, 0x20, 0x1, 0x1c, 0x1, 0x1a, 0x1, 0x21, 0xaf, 0xaf, 0x3, 0x8b, 0x79, 0xab, 0x6d, 0x32, 0x34, 0x6d, 0xab, 0x77, 0x20, 0x39, 0x1, 0x27, 0x1, 0x27, 0xfe, 0xd6, 0xfe, 0xdc, 0x0, 0x2, 0x0, 0x69, 0x0, 0x0, 0x5, 0xb9, 0x5, 0xe2, 0x0, 0x1a, 0x0, 0x24, 0x0, 0x0, 0x1, 0x22, 0xe, 0x2, 0x7, 0x1, 0x15, 0x21, 0x22, 0x2e, 0x2, 0x3e, 0x1, 0x37, 0x3e, 0x1, 0x37, 0x1, 0x33, 0x13, 0x3e, 0x3, 0x33, 0x1, 0xe, 0x1, 0x1e, 0x1, 0x33, 0x21, 0x1, 0xe, 0x1, 0x5, 0x26, 0x2d, 0x70, 0x7c, 0x85, 0x43, 0x2, 0x74, 0xfb, 0xc4, 0x42, 0x6e, 0x4b, 0x23, 0x14, 0x51, 0x4d, 0x43, 0xa1, 0x59, 0xfe, 0xe4, 0xf3, 0xbc, 0x50, 0x9f, 0x96, 0x88, 0x38, 0xfc, 0x91, 0x50, 0x44, 0xe, 0x59, 0x4d, 0x2, 0xf4, 0xfd, 0xea, 0x47, 0x81, 0x5, 0x29, 0x23, 0x40, 0x5b, 0x39, 0xfc, 0x72, 0xa4, 0x20, 0x45, 0x6c, 0x99, 0xc8, 0x7e, 0x6d, 0xc9, 0x58, 0x1, 0x97, 0xfe, 0xee, 0x42, 0x6b, 0x4a, 0x28, 0xfc, 0x7e, 0x85, 0xa9, 0x60, 0x23, 0x2, 0xfb, 0x4a, 0xa6, 0x0, 0x1, 0x0, 0xb2, 0xff, 0xe3, 0x6, 0x23, 0x5, 0xd5, 0x0, 0x17, 0x0, 0x0, 0x1, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x19, 0x1, 0x33, 0x11, 0x14, 0x1e, 0x2, 0x33, 0x32, 0x3e, 0x2, 0x35, 0x11, 0x21, 0x15, 0x5, 0x29, 0xfe, 0xdf, 0xfe, 0xe6, 0xfe, 0xe4, 0xfe, 0xe0, 0xcb, 0x2a, 0x59, 0x8c, 0x62, 0x61, 0x8c, 0x59, 0x2a, 0x1, 0xc5, 0x5, 0x26, 0xfd, 0xb, 0xfe, 0xdd, 0xfe, 0xd5, 0x1, 0x27, 0x1, 0x27, 0x3, 0xa4, 0xfc, 0x75, 0x78, 0xab, 0x6d, 0x33, 0x33, 0x6d, 0xab, 0x78, 0x3, 0x8b, 0xaf, 0x0, 0x1, 0x0, 0x92, 0xff, 0xe3, 0x5, 0x59, 0x5, 0xf1, 0x0, 0x37, 0x0, 0x0, 0x1, 0x14, 0xe, 0x2, 0x20, 0x2e, 0x2, 0x35, 0x33, 0x14, 0x1e, 0x2, 0x33, 0x32, 0x3e, 0x2, 0x35, 0x34, 0x26, 0x23, 0x21, 0x35, 0x21, 0x32, 0x3e, 0x2, 0x35, 0x34, 0x26, 0x20, 0x6, 0x15, 0x23, 0x34, 0x3e, 0x2, 0x32, 0x1e, 0x2, 0x15, 0x14, 0xe, 0x2, 0x7, 0x1e, 0x3, 0x5, 0x59, 0x4d, 0x99, 0xe6, 0xfe, 0xce, 0xe5, 0x98, 0x4c, 0xcb, 0x2b, 0x60, 0x9b, 0x71, 0x70, 0x9b, 0x5e, 0x2a, 0xca, 0xc9, 0xfd, 0xb0, 0x2, 0x50, 0x51, 0x77, 0x4d, 0x25, 0x9f, 0xfe, 0xca, 0xa0, 0xcb, 0x4a, 0x88, 0xbf, 0xea, 0xc0, 0x89, 0x4c, 0x25, 0x40, 0x54, 0x2e, 0x44, 0x75, 0x57, 0x32, 0x1, 0xbc, 0x67, 0xad, 0x7e, 0x47, 0x4a, 0x82, 0xaf, 0x65, 0x41, 0x72, 0x57, 0x32, 0x32, 0x56, 0x70, 0x3e, 0x80, 0x7f, 0xaf, 0x27, 0x43, 0x5c, 0x35, 0x76, 0x71, 0x72, 0x7b, 0x5f, 0x95, 0x67, 0x36, 0x35, 0x66, 0x93, 0x5d, 0x3b, 0x68, 0x53, 0x3c, 0xf, 0x11, 0x3f, 0x5b, 0x76, 0x0, 0x0, 0x1, 0x0, 0x0, 0xff, 0xe3, 0x5, 0x71, 0x5, 0xd5, 0x0, 0x17, 0x0, 0x0, 0x1, 0x11, 0x14, 0x1e, 0x2, 0x33, 0x32, 0x3e, 0x2, 0x3d, 0x1, 0x33, 0x15, 0x10, 0x0, 0x21, 0x20, 0x0, 0x19, 0x1, 0x23, 0x35, 0x1, 0xc5, 0x29, 0x5a, 0x8c, 0x63, 0x62, 0x8b, 0x59, 0x29, 0xcb, 0xfe, 0xdf, 0xfe, 0xe5, 0xfe, 0xe6, 0xfe, 0xdf, 0xfa, 0x5, 0xd5, 0xfc, 0x75, 0x78, 0xab, 0x6d, 0x33, 0x33, 0x6e, 0xaa, 0x78, 0x20, 0x39, 0xfe, 0xdc, 0xfe, 0xd6, 0x1, 0x2d, 0x1, 0x21, 0x2, 0xf4, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xa0, 0xff, 0xe2, 0x5, 0x79, 0x5, 0xd5, 0x0, 0x2e, 0x0, 0x0, 0x1, 0x2e, 0x1, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x16, 0x17, 0x1, 0x15, 0x25, 0x2e, 0x1, 0x23, 0x22, 0xe, 0x2, 0x15, 0x14, 0x16, 0x33, 0x32, 0x3e, 0x2, 0x3d, 0x1, 0x33, 0x15, 0x14, 0xe, 0x2, 0x23, 0x22, 0x2e, 0x2, 0x35, 0x34, 0x3e, 0x2, 0x37, 0x2, 0x64, 0x38, 0x8a, 0x55, 0x8d, 0xdb, 0x6a, 0xa2, 0x47, 0x2, 0x6b, 0xfe, 0x96, 0x1a, 0x40, 0x2a, 0x6f, 0xba, 0x87, 0x4b, 0xd0, 0xd3, 0x69, 0x9b, 0x65, 0x32, 0xcb, 0x52, 0x9c, 0xe4, 0x91, 0x92, 0xe9, 0xa3, 0x58, 0x4e, 0x8a, 0xbd, 0x6f, 0x5, 0x0, 0x19, 0x12, 0xaa, 0x18, 0x1e, 0xfe, 0xfe, 0xd4, 0x94, 0xb, 0xd, 0x48, 0x86, 0xc0, 0x79, 0xf0, 0xf8, 0x3c, 0x6d, 0x98, 0x5c, 0x47, 0x4b, 0x80, 0xd3, 0x97, 0x53, 0x56, 0xa5, 0xf2, 0x9c, 0x7e, 0xd7, 0xa5, 0x6b, 0x13, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb2, 0x0, 0x0, 0x5, 0x29, 0x5, 0xf2, 0x0, 0x15, 0x0, 0x0, 0x33, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x19, 0x1, 0x23, 0x11, 0x34, 0x2e, 0x2, 0x23, 0x22, 0xe, 0x2, 0x15, 0x11, 0xb2, 0x1, 0x20, 0x1, 0x1c, 0x1, 0x1a, 0x1, 0x21, 0xcb, 0x2b, 0x5a, 0x8b, 0x60, 0x62, 0x8b, 0x5a, 0x2a, 0x3, 0xa4, 0x1, 0x27, 0x1, 0x27, 0xfe, 0xd6, 0xfe, 0xdc, 0xfc, 0x5c, 0x3, 0x8b, 0x79, 0xab, 0x6d, 0x32, 0x32, 0x6d, 0xab, 0x79, 0xfc, 0x75, 0x0, 0x1, 0x0, 0x78, 0xff, 0xc6, 0x5, 0x50, 0x5, 0xf3, 0x0, 0x25, 0x0, 0x0, 0x25, 0x17, 0x15, 0x1, 0x35, 0x17, 0x1e, 0x1, 0x33, 0x32, 0x3e, 0x2, 0x35, 0x34, 0x26, 0x23, 0x22, 0xe, 0x2, 0x1d, 0x1, 0x23, 0x35, 0x34, 0x3e, 0x2, 0x20, 0x1e, 0x2, 0x15, 0x14, 0xe, 0x2, 0x3, 0x4d, 0xc3, 0xfc, 0xfb, 0xed, 0x1a, 0x4a, 0x2a, 0x72, 0xbb, 0x84, 0x49, 0xd2, 0xd0, 0x68, 0x9b, 0x66, 0x32, 0xcb, 0x52, 0x9c, 0xe3, 0x1, 0x24, 0xe9, 0xa3, 0x57, 0x4b, 0x89, 0xbd, 0xe9, 0x55, 0xce, 0x1, 0x45, 0xd4, 0x67, 0xb, 0xd, 0x56, 0x94, 0xc6, 0x71, 0xdf, 0xef, 0x3c, 0x6d, 0x98, 0x5c, 0x47, 0x4b, 0x80, 0xd3, 0x97, 0x53, 0x53, 0xa0, 0xe9, 0x96, 0x74, 0xde, 0xb6, 0x7d, 0x0, 0x0, 0x1, 0x0, 0x5a, 0x0, 0x0, 0x5, 0xb5, 0x5, 0xf2, 0x0, 0x1c, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0xe, 0x3, 0x1d, 0x1, 0x23, 0x35, 0x34, 0x3e, 0x2, 0x33, 0x32, 0x4, 0x1e, 0x1, 0x15, 0x11, 0x23, 0x11, 0x34, 0x2e, 0x2, 0x3, 0x67, 0xcb, 0x56, 0x8b, 0x62, 0x34, 0xcb, 0x66, 0xb6, 0xf8, 0x93, 0x9d, 0x0, 0xff, 0xb5, 0x63, 0xcb, 0x38, 0x66, 0x8e, 0x5, 0x47, 0xfc, 0x94, 0x3, 0x6c, 0xc, 0x49, 0x70, 0x95, 0x58, 0x2a, 0x39, 0x82, 0xd9, 0x9c, 0x57, 0x57, 0x9c, 0xd9, 0x82, 0xfc, 0x5c, 0x3, 0x95, 0x4f, 0x95, 0x76, 0x4f, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xa8, 0x0, 0x0, 0x5, 0x7d, 0x5, 0xf3, 0x0, 0x22, 0x0, 0x3b, 0x0, 0x0, 0x1, 0x22, 0x2e, 0x4, 0x35, 0x26, 0x3e, 0x2, 0x33, 0x32, 0x1e, 0x2, 0x15, 0x14, 0xe, 0x2, 0x7, 0x21, 0x15, 0x21, 0x11, 0x33, 0x15, 0x33, 0x32, 0x36, 0x37, 0x36, 0x26, 0x25, 0x34, 0x2e, 0x2, 0x23, 0x22, 0xe, 0x2, 0x17, 0x1e, 0x3, 0x33, 0x32, 0x1e, 0x2, 0x7, 0x3e, 0x3, 0x2, 0x12, 0x56, 0x78, 0x50, 0x2e, 0x17, 0x7, 0x3, 0x4f, 0x9c, 0xe5, 0x93, 0xa0, 0xec, 0x9c, 0x4d, 0x4c, 0x85, 0xb7, 0x6c, 0x1, 0xd9, 0xfb, 0x64, 0xcb, 0x4e, 0x51, 0xc3, 0x5f, 0x28, 0xa2, 0x1, 0xd5, 0x30, 0x65, 0x9e, 0x6f, 0x6b, 0x9e, 0x65, 0x2e, 0x6, 0x3, 0x12, 0x2b, 0x4b, 0x3b, 0x79, 0xb1, 0x6d, 0x27, 0x11, 0x2b, 0x48, 0x35, 0x1d, 0x2, 0x9b, 0x23, 0x39, 0x47, 0x47, 0x40, 0x15, 0x6b, 0xc2, 0x94, 0x58, 0x5e, 0xa7, 0xe5, 0x88, 0x79, 0xdd, 0xbc, 0x94, 0x31, 0xaa, 0x1, 0x4c, 0xa2, 0x3f, 0x3d, 0xb2, 0xc3, 0xe6, 0x64, 0xaa, 0x7b, 0x45, 0x39, 0x64, 0x87, 0x4d, 0x26, 0x37, 0x25, 0x12, 0x40, 0x72, 0x9c, 0x5b, 0x2d, 0x6a, 0x78, 0x87, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb2, 0x0, 0x0, 0x6, 0x23, 0x5, 0xf2, 0x0, 0x19, 0x0, 0x0, 0x21, 0x11, 0x34, 0x2e, 0x2, 0x23, 0x22, 0xe, 0x2, 0x15, 0x11, 0x23, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x19, 0x1, 0x33, 0x15, 0x23, 0x11, 0x4, 0x5e, 0x2a, 0x5a, 0x8c, 0x61, 0x60, 0x8b, 0x5a, 0x2b, 0xcb, 0x1, 0x24, 0x1, 0x19, 0x1, 0x18, 0x1, 0x22, 0xfa, 0xfa, 0x3, 0x8b, 0x79, 0xab, 0x6d, 0x32, 0x32, 0x6d, 0xab, 0x79, 0xfc, 0x75, 0x3, 0xa4, 0x1, 0x27, 0x1, 0x27, 0xfe, 0xd7, 0xfe, 0xdb, 0xfe, 0xce, 0xaf, 0xfe, 0x3d, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x38, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0x0, 0x0, 0x5, 0xd5, 0x5, 0xd5, 0x0, 0x1a, 0x0, 0x0, 0x29, 0x1, 0x11, 0xe, 0x1, 0x23, 0x22, 0x2e, 0x2, 0x3d, 0x1, 0x33, 0x15, 0x14, 0x1e, 0x2, 0x32, 0x3e, 0x2, 0x35, 0x11, 0x33, 0x11, 0x33, 0x5, 0xd5, 0xfe, 0x3b, 0x41, 0xba, 0x76, 0x8a, 0xd4, 0x92, 0x4b, 0xcb, 0x2b, 0x5a, 0x8b, 0xc0, 0x8b, 0x5b, 0x2b, 0xcb, 0xfa, 0x1, 0xf3, 0x48, 0x4a, 0x48, 0x93, 0xdd, 0x96, 0xb1, 0x98, 0x79, 0xab, 0x6d, 0x32, 0x32, 0x6c, 0xab, 0x7a, 0x2, 0xd, 0xfa, 0xda, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x96, 0xff, 0xe3, 0x5, 0xe, 0x5, 0xee, 0x0, 0x3d, 0x0, 0x0, 0x13, 0x33, 0x14, 0x1e, 0x2, 0x33, 0x32, 0x3e, 0x2, 0x35, 0x34, 0x2e, 0x2, 0x27, 0x2e, 0x5, 0x27, 0x26, 0x3e, 0x2, 0x32, 0x1e, 0x2, 0x15, 0x23, 0x2e, 0x3, 0x23, 0x22, 0xe, 0x2, 0x17, 0x1e, 0x3, 0x17, 0x1e, 0x3, 0x15, 0x14, 0xe, 0x2, 0x20, 0x2e, 0x2, 0x96, 0xcb, 0x35, 0x60, 0x87, 0x52, 0x50, 0x88, 0x64, 0x38, 0x36, 0x61, 0x89, 0x54, 0x43, 0x7f, 0x71, 0x5f, 0x46, 0x28, 0x2, 0x2, 0x49, 0x87, 0xbf, 0xea, 0xc3, 0x8d, 0x4e, 0xcb, 0x3, 0x27, 0x4e, 0x7a, 0x56, 0x4f, 0x78, 0x4f, 0x24, 0x4, 0x4, 0x26, 0x4b, 0x71, 0x50, 0x88, 0xd5, 0x94, 0x4e, 0x52, 0x96, 0xd5, 0xfe, 0xfc, 0xd2, 0x95, 0x50, 0x1, 0xc3, 0x44, 0x74, 0x54, 0x30, 0x20, 0x44, 0x69, 0x49, 0x3a, 0x55, 0x3d, 0x28, 0xd, 0xa, 0x1e, 0x2d, 0x3f, 0x58, 0x73, 0x4b, 0x5a, 0x9a, 0x72, 0x40, 0x3d, 0x6c, 0x91, 0x54, 0x2c, 0x54, 0x42, 0x29, 0x27, 0x46, 0x5f, 0x37, 0x32, 0x49, 0x35, 0x25, 0xd, 0x17, 0x42, 0x69, 0x99, 0x6e, 0x66, 0xa4, 0x73, 0x3d, 0x4b, 0x82, 0xaf, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb2, 0x0, 0x0, 0x5, 0x29, 0x5, 0xf2, 0x0, 0x15, 0x0, 0x0, 0x33, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x15, 0x23, 0x35, 0x34, 0x2e, 0x2, 0x23, 0x22, 0xe, 0x2, 0x15, 0x11, 0xb2, 0x1, 0x22, 0x1, 0x16, 0x1, 0x17, 0x1, 0x28, 0xcb, 0x2c, 0x5c, 0x8c, 0x60, 0x62, 0x8a, 0x58, 0x29, 0x3, 0xa4, 0x1, 0x25, 0x1, 0x29, 0xfe, 0xdd, 0xfe, 0xd5, 0x39, 0x20, 0x79, 0xab, 0x6d, 0x32, 0x32, 0x6d, 0xab, 0x79, 0xfc, 0x75, 0x0, 0x0, 0x0, 0x2, 0x0, 0xa0, 0xff, 0xe3, 0x5, 0x67, 0x5, 0xf1, 0x0, 0x31, 0x0, 0x40, 0x0, 0x0, 0x1, 0x14, 0xe, 0x2, 0x20, 0x2e, 0x2, 0x35, 0x33, 0x14, 0x1e, 0x2, 0x33, 0x32, 0x3e, 0x2, 0x35, 0x34, 0x26, 0x23, 0x21, 0x35, 0x33, 0x2e, 0x3, 0x35, 0x34, 0x3e, 0x2, 0x32, 0x1e, 0x2, 0x15, 0x14, 0xe, 0x2, 0x7, 0x1e, 0x3, 0x1, 0x32, 0x3e, 0x2, 0x35, 0x34, 0x26, 0x20, 0x6, 0x15, 0x14, 0x1e, 0x2, 0x5, 0x67, 0x4d, 0x99, 0xe6, 0xfe, 0xce, 0xe5, 0x98, 0x4c, 0xcb, 0x2b, 0x60, 0x9b, 0x71, 0x70, 0x9b, 0x5e, 0x2a, 0xca, 0xc9, 0xfd, 0xb0, 0xe0, 0x20, 0x37, 0x28, 0x17, 0x4a, 0x88, 0xbf, 0xea, 0xc0, 0x89, 0x4c, 0x25, 0x40, 0x54, 0x2e, 0x44, 0x75, 0x57, 0x32, 0xfd, 0x9b, 0x51, 0x77, 0x4d, 0x25, 0x9f, 0xfe, 0xca, 0xa0, 0x18, 0x44, 0x7c, 0x1, 0xbc, 0x67, 0xad, 0x7e, 0x47, 0x4a, 0x82, 0xaf, 0x65, 0x41, 0x72, 0x57, 0x32, 0x32, 0x56, 0x70, 0x3e, 0x80, 0x7f, 0xaf, 0x11, 0x32, 0x3f, 0x4a, 0x29, 0x5f, 0x95, 0x67, 0x36, 0x35, 0x66, 0x93, 0x5d, 0x3b, 0x68, 0x53, 0x3c, 0xf, 0x11, 0x3f, 0x5b, 0x76, 0x1, 0x67, 0x27, 0x43, 0x5c, 0x35, 0x76, 0x73, 0x74, 0x7b, 0x26, 0x55, 0x4a, 0x30, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xbc, 0x0, 0x0, 0x4, 0x4d, 0x5, 0xd5, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x1, 0x87, 0x2, 0xc6, 0xfd, 0x3a, 0xcb, 0x5, 0xd5, 0xfe, 0x8b, 0xaf, 0xfc, 0x4f, 0x5, 0xd5, 0x0, 0x0, 0x0, 0x3, 0x0, 0x78, 0x0, 0x0, 0x6, 0x4, 0x5, 0xd5, 0x0, 0x5, 0x0, 0xf, 0x0, 0x27, 0x0, 0x0, 0x1, 0xe, 0x1, 0x10, 0x16, 0x17, 0x33, 0x3e, 0x3, 0x34, 0x2e, 0x2, 0x27, 0x3, 0x2e, 0x3, 0x10, 0x3e, 0x2, 0x37, 0x35, 0x33, 0x15, 0x1e, 0x3, 0x10, 0xe, 0x2, 0x7, 0x15, 0x23, 0x2, 0xd7, 0xc1, 0xd1, 0xd1, 0xc1, 0xcb, 0x5d, 0x95, 0x68, 0x38, 0x38, 0x68, 0x95, 0x5d, 0xcb, 0x87, 0xe0, 0xa0, 0x58, 0x58, 0xa0, 0xe0, 0x87, 0xcb, 0x87, 0xe0, 0xa1, 0x5a, 0x5a, 0xa1, 0xe0, 0x87, 0xcb, 0x4, 0x8e, 0x7, 0xd9, 0xfe, 0x76, 0xd8, 0x7, 0x4, 0x3b, 0x6b, 0x98, 0xc4, 0x99, 0x6c, 0x3b, 0x3, 0xfc, 0x10, 0x6, 0x54, 0x96, 0xd5, 0x1, 0xc, 0xd6, 0x98, 0x54, 0x5, 0x9f, 0x9f, 0x5, 0x54, 0x98, 0xd6, 0xfe, 0xf4, 0xd5, 0x98, 0x54, 0x5, 0x9d, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x32, 0x0, 0x0, 0x5, 0x6e, 0x5, 0xf2, 0x0, 0x1b, 0x0, 0x2b, 0x0, 0x0, 0x1, 0x22, 0x2e, 0x2, 0x27, 0x11, 0x21, 0x15, 0x21, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x11, 0x10, 0x0, 0x21, 0x32, 0x1e, 0x2, 0x14, 0xe, 0x2, 0x0, 0x14, 0x1e, 0x2, 0x32, 0x3e, 0x2, 0x34, 0x2e, 0x2, 0x22, 0xe, 0x1, 0x3, 0x2a, 0x3e, 0x6e, 0x5e, 0x4b, 0x1a, 0x3, 0x98, 0xfc, 0x68, 0xcb, 0xbe, 0xbe, 0x1, 0x22, 0x1, 0x17, 0x8b, 0xd9, 0x94, 0x4d, 0x4d, 0x94, 0xd8, 0xfe, 0x6, 0x24, 0x56, 0x8d, 0xd2, 0x8e, 0x55, 0x25, 0x26, 0x57, 0x8e, 0xd0, 0x8c, 0x56, 0x1, 0xd7, 0x15, 0x25, 0x34, 0x1e, 0xfe, 0xe6, 0xaf, 0x9a, 0x9a, 0xaf, 0x2, 0x65, 0x1, 0x24, 0x1, 0x20, 0x4e, 0x8b, 0xc2, 0xe8, 0xc1, 0x8a, 0x4d, 0x2, 0x5a, 0x9c, 0x81, 0x5c, 0x32, 0x32, 0x5b, 0x81, 0x9e, 0x85, 0x61, 0x36, 0x37, 0x61, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x5, 0xf0, 0x12, 0x6, 0x0, 0x32, 0x0, 0x0, 0x0, 0x3, 0x0, 0x6e, 0xff, 0xe6, 0x5, 0xf8, 0x5, 0xd5, 0x0, 0x1f, 0x0, 0x29, 0x0, 0x33, 0x0, 0x0, 0x0, 0x14, 0xe, 0x1, 0x4, 0x20, 0x24, 0x2e, 0x1, 0x3d, 0x1, 0x33, 0x15, 0x14, 0x1e, 0x2, 0x17, 0x11, 0x22, 0x2e, 0x2, 0x35, 0x34, 0x36, 0x3b, 0x1, 0x11, 0x32, 0x1e, 0x1, 0x25, 0x11, 0x22, 0xe, 0x2, 0x14, 0x1e, 0x2, 0x0, 0x34, 0x2e, 0x2, 0x23, 0x11, 0x3e, 0x2, 0x5, 0xf8, 0x64, 0xba, 0xfe, 0xf9, 0xfe, 0xba, 0xfe, 0xfa, 0xb7, 0x62, 0xcb, 0x3c, 0x6b, 0x94, 0x57, 0x77, 0xaf, 0x73, 0x38, 0xed, 0xef, 0xc0, 0x85, 0xe0, 0xa2, 0xfd, 0x2e, 0x4f, 0x66, 0x3c, 0x17, 0x17, 0x3c, 0x66, 0x2, 0xac, 0x38, 0x69, 0x95, 0x5c, 0x5a, 0x95, 0x69, 0x2, 0x84, 0xfe, 0xc9, 0x8c, 0x4b, 0x4d, 0x8e, 0xc8, 0x7c, 0x27, 0x27, 0x56, 0x87, 0x5d, 0x34, 0x4, 0x2, 0xe6, 0x2a, 0x50, 0x70, 0x47, 0x99, 0x92, 0xfe, 0x51, 0x4b, 0x8d, 0xd8, 0x1, 0xb, 0x10, 0x21, 0x33, 0x46, 0x32, 0x20, 0xf, 0xfd, 0x8a, 0xaa, 0x89, 0x60, 0x33, 0xfd, 0x1d, 0x4, 0x34, 0x5f, 0x0, 0x0, 0x1, 0x0, 0x75, 0x3, 0xef, 0x1, 0x87, 0x6, 0x14, 0x0, 0xe, 0x0, 0x0, 0x1, 0x22, 0x27, 0x26, 0x34, 0x37, 0x36, 0x33, 0x15, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x1, 0x87, 0x73, 0x50, 0x4f, 0x4f, 0x50, 0x73, 0x40, 0x58, 0x58, 0x40, 0x3, 0xef, 0x50, 0x50, 0xe6, 0x4f, 0x50, 0x7b, 0x58, 0x3f, 0x40, 0x58, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb2, 0x3, 0xfe, 0x1, 0xd7, 0x5, 0xd5, 0x0, 0x5, 0x0, 0x0, 0x1, 0x33, 0x15, 0x3, 0x23, 0x13, 0x1, 0x4, 0xd3, 0xa4, 0x81, 0x52, 0x5, 0xd5, 0x98, 0xfe, 0xc1, 0x1, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x4, 0xf5, 0x1, 0xdf, 0x6, 0x6d, 0x0, 0x3, 0x0, 0x0, 0x1, 0x33, 0x1, 0x23, 0x1, 0x18, 0xc7, 0xfe, 0xba, 0x99, 0x6, 0x6d, 0xfe, 0x88, 0x0, 0x1, 0x0, 0x5, 0x4, 0xf1, 0x2, 0xd9, 0x7, 0x25, 0x0, 0x15, 0x0, 0x0, 0x1, 0xe, 0x3, 0x15, 0x23, 0x34, 0x3e, 0x2, 0x37, 0x3e, 0x3, 0x35, 0x33, 0x14, 0xe, 0x2, 0x1, 0x6f, 0x3a, 0x5a, 0x3d, 0x1f, 0x7a, 0x33, 0x5e, 0x86, 0x53, 0x42, 0x5b, 0x39, 0x1a, 0x7a, 0x2e, 0x5a, 0x88, 0x5, 0xc3, 0x5, 0x24, 0x39, 0x48, 0x28, 0x40, 0x7b, 0x62, 0x3f, 0x6, 0x4, 0x25, 0x39, 0x48, 0x28, 0x47, 0x7b, 0x5e, 0x3b, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0x4, 0xf0, 0x1, 0xde, 0x6, 0x66, 0x10, 0x7, 0x0, 0x43, 0xff, 0x55, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x4, 0xe8, 0x3, 0x35, 0x6, 0xed, 0x0, 0x29, 0x0, 0x0, 0x13, 0x23, 0x26, 0x3e, 0x2, 0x33, 0x32, 0x1e, 0x2, 0x15, 0x14, 0xe, 0x2, 0x23, 0x22, 0x2e, 0x2, 0x27, 0x33, 0x1e, 0x3, 0x33, 0x32, 0x3e, 0x2, 0x35, 0x34, 0x2e, 0x2, 0x27, 0x26, 0xe, 0x2, 0x75, 0x6d, 0x1, 0x47, 0x7e, 0xae, 0x66, 0x3f, 0x7a, 0x60, 0x3c, 0x20, 0x3d, 0x5b, 0x3c, 0x27, 0x4f, 0x43, 0x31, 0x7, 0x86, 0x3, 0x13, 0x1b, 0x1e, 0xe, 0x1a, 0x26, 0x19, 0xc, 0x1c, 0x30, 0x42, 0x26, 0x4a, 0x85, 0x65, 0x3b, 0x4, 0xf0, 0x79, 0xbe, 0x82, 0x44, 0x22, 0x46, 0x6e, 0x4c, 0x30, 0x52, 0x3e, 0x23, 0x13, 0x2b, 0x47, 0x33, 0xf, 0x18, 0x12, 0x9, 0x13, 0x1e, 0x25, 0x12, 0x27, 0x3c, 0x2a, 0x18, 0x3, 0x6, 0x2e, 0x63, 0x93, 0x0, 0x1, 0x0, 0x5a, 0x4, 0xf1, 0x3, 0xb2, 0x6, 0x14, 0x0, 0x5, 0x0, 0x0, 0x13, 0x11, 0x33, 0x15, 0x21, 0x15, 0x5a, 0x8c, 0x2, 0xcc, 0x4, 0xf1, 0x1, 0x23, 0xa9, 0x7a, 0x0, 0x0, 0x0, 0x1, 0x0, 0xae, 0xff, 0xe4, 0x7, 0x11, 0x4, 0x60, 0x0, 0x2a, 0x0, 0x0, 0x25, 0xe, 0x1, 0x23, 0x22, 0x2e, 0x2, 0x35, 0x11, 0x33, 0x11, 0x14, 0x1e, 0x2, 0x33, 0x32, 0x3e, 0x2, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x3e, 0x2, 0x35, 0x11, 0x33, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x26, 0x3, 0xa2, 0x45, 0xbf, 0x83, 0x57, 0x88, 0x5d, 0x31, 0xb9, 0x1c, 0x3a, 0x56, 0x3b, 0x47, 0x72, 0x51, 0x2b, 0xb9, 0x71, 0x78, 0x46, 0x72, 0x50, 0x2b, 0xb9, 0xb9, 0x3f, 0xb0, 0x79, 0x7c, 0xa8, 0xd6, 0x7e, 0x74, 0x3f, 0x78, 0xb0, 0x71, 0x2, 0xa4, 0xfd, 0x4e, 0x51, 0x71, 0x48, 0x20, 0x31, 0x5c, 0x83, 0x52, 0x2, 0x7a, 0xfd, 0x62, 0xa3, 0x9b, 0x32, 0x5d, 0x82, 0x51, 0x2, 0x7a, 0xfb, 0xa0, 0xae, 0x69, 0x61, 0x7a, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x4, 0x7b, 0x0, 0x16, 0x0, 0x0, 0x1, 0x35, 0x10, 0x23, 0x22, 0x6, 0x15, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x1d, 0x1, 0x3, 0xac, 0xf8, 0x95, 0xac, 0x2, 0xf1, 0xfd, 0xf, 0xb9, 0xb9, 0x42, 0xb2, 0x76, 0xc2, 0xc5, 0x1, 0xc2, 0xdc, 0x1, 0x3d, 0xbe, 0xa4, 0xfe, 0x27, 0xa0, 0xfe, 0x56, 0x6, 0xa, 0xae, 0x66, 0x63, 0xee, 0xe9, 0xe2, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0xfe, 0x56, 0x5, 0x2f, 0x4, 0x7b, 0x0, 0x10, 0x0, 0x28, 0x0, 0x0, 0x0, 0x14, 0x1e, 0x2, 0x32, 0x3e, 0x2, 0x35, 0x34, 0x2e, 0x2, 0x22, 0xe, 0x1, 0x1, 0x23, 0x11, 0xe, 0x1, 0x23, 0x22, 0x2e, 0x2, 0x10, 0x3e, 0x2, 0x33, 0x32, 0x16, 0x17, 0x35, 0x33, 0x11, 0x33, 0x15, 0x23, 0x1, 0x2f, 0x2b, 0x51, 0x74, 0x92, 0x75, 0x51, 0x2b, 0x2c, 0x51, 0x74, 0x92, 0x74, 0x51, 0x3, 0x0, 0xb8, 0x3a, 0xb0, 0x7d, 0x66, 0xa8, 0x79, 0x43, 0x43, 0x79, 0xa8, 0x66, 0x7d, 0xb0, 0x3a, 0xb8, 0xd5, 0xd5, 0x2, 0x94, 0xca, 0xa1, 0x70, 0x3c, 0x3c, 0x70, 0xa1, 0x65, 0x64, 0xa1, 0x71, 0x3c, 0x3c, 0x70, 0xfb, 0x21, 0x2, 0x52, 0x64, 0x61, 0x55, 0x9b, 0xd9, 0x1, 0x6, 0xd9, 0x9b, 0x55, 0x61, 0x64, 0xaa, 0xfc, 0x40, 0xa0, 0x0, 0x0, 0x1, 0x0, 0xba, 0xfe, 0x56, 0x5, 0x3a, 0x4, 0x7b, 0x0, 0x16, 0x0, 0x0, 0x21, 0x11, 0x23, 0x11, 0x10, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x11, 0x33, 0x15, 0x4, 0x65, 0xb9, 0xf8, 0x95, 0xac, 0xb9, 0xb9, 0x42, 0xb2, 0x76, 0xc2, 0xc6, 0xd5, 0xfe, 0x56, 0x4, 0x48, 0x1, 0x3d, 0xbe, 0xa4, 0xfd, 0x87, 0x4, 0x60, 0xae, 0x66, 0x63, 0xee, 0xe9, 0xfd, 0xfc, 0xa0, 0x0, 0x0, 0x1, 0x0, 0xae, 0xff, 0xe3, 0x4, 0x62, 0x6, 0x14, 0x0, 0x1a, 0x0, 0x0, 0x13, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x3d, 0x1, 0x33, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x27, 0x26, 0xae, 0xb8, 0x2, 0xfc, 0xfd, 0x4, 0x3e, 0x3d, 0x7d, 0x98, 0x54, 0x56, 0xb8, 0xb8, 0x43, 0xb0, 0x76, 0xc1, 0x64, 0x64, 0x1, 0xba, 0x4, 0x5a, 0xfe, 0x4c, 0xa0, 0xfe, 0x1, 0x9f, 0x50, 0x4f, 0x5f, 0x62, 0xa1, 0xeb, 0xfd, 0x30, 0xac, 0x67, 0x62, 0x78, 0x77, 0x0, 0x2, 0x0, 0x71, 0xfe, 0x56, 0x5, 0x2f, 0x4, 0x7b, 0x0, 0x15, 0x0, 0x2d, 0x0, 0x0, 0x1, 0x33, 0x15, 0x21, 0x11, 0xe, 0x1, 0x23, 0x22, 0x2e, 0x2, 0x10, 0x3e, 0x2, 0x33, 0x32, 0x16, 0x17, 0x35, 0x33, 0x1, 0x14, 0x1e, 0x2, 0x33, 0x32, 0x3e, 0x4, 0x35, 0x34, 0x2e, 0x2, 0x23, 0x22, 0xe, 0x4, 0x4, 0x5a, 0xd5, 0xfe, 0x73, 0x3a, 0xb0, 0x7d, 0x66, 0xa8, 0x79, 0x43, 0x43, 0x79, 0xa8, 0x66, 0x7d, 0xb0, 0x3a, 0xb8, 0xfc, 0xd5, 0x21, 0x49, 0x78, 0x57, 0x3c, 0x5d, 0x46, 0x30, 0x1e, 0xd, 0x21, 0x4b, 0x77, 0x57, 0x3c, 0x5d, 0x45, 0x30, 0x1e, 0xd, 0xfe, 0xf6, 0xa0, 0x2, 0x52, 0x64, 0x61, 0x55, 0x9b, 0xd9, 0x1, 0x6, 0xd9, 0x9b, 0x55, 0x61, 0x64, 0xaa, 0xfd, 0xcf, 0x4e, 0x9c, 0x7b, 0x4d, 0x25, 0x41, 0x55, 0x61, 0x66, 0x30, 0x4e, 0x9b, 0x7c, 0x4d, 0x26, 0x40, 0x56, 0x60, 0x66, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x3, 0xec, 0x6, 0x14, 0x0, 0x9, 0x0, 0x0, 0x29, 0x1, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x3, 0x97, 0xfd, 0x23, 0xb8, 0x2, 0x7a, 0xfd, 0x86, 0x2, 0x25, 0x6, 0x14, 0xfe, 0x4c, 0xa0, 0xfc, 0xe0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x4, 0x7b, 0x0, 0x14, 0x0, 0x0, 0x21, 0x11, 0x10, 0x23, 0x22, 0x6, 0x15, 0x11, 0x21, 0x15, 0x21, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x11, 0x3, 0xac, 0xf8, 0x95, 0xac, 0x2, 0xf1, 0xfc, 0x56, 0xb9, 0x42, 0xb2, 0x76, 0xc2, 0xc5, 0x2, 0x9e, 0x1, 0x3d, 0xbe, 0xa4, 0xfc, 0x7d, 0xa0, 0x6, 0xa, 0xae, 0x66, 0x63, 0xee, 0xe9, 0xfd, 0x5c, 0x0, 0x2, 0x0, 0xba, 0xfe, 0x56, 0x5, 0xe8, 0x4, 0x7b, 0x0, 0x2c, 0x0, 0x3c, 0x0, 0x0, 0x1, 0x21, 0x34, 0x2e, 0x2, 0x23, 0x22, 0xe, 0x2, 0x15, 0x11, 0x23, 0x11, 0x33, 0x15, 0x3e, 0x3, 0x33, 0x32, 0x1e, 0x4, 0x15, 0x33, 0x15, 0x23, 0xe, 0x3, 0x23, 0x22, 0x2e, 0x2, 0x34, 0x3e, 0x2, 0x5, 0x21, 0x22, 0xe, 0x2, 0x15, 0x14, 0x1e, 0x2, 0x33, 0x32, 0x3e, 0x2, 0x3, 0x66, 0x1, 0x31, 0x48, 0x76, 0x97, 0x4f, 0x52, 0x8c, 0x67, 0x3b, 0xb9, 0xb9, 0x2a, 0x63, 0x6d, 0x76, 0x3d, 0x44, 0x88, 0x7e, 0x6d, 0x51, 0x2e, 0x92, 0x96, 0x12, 0x60, 0x81, 0x94, 0x46, 0x48, 0x7f, 0x60, 0x38, 0x37, 0x5a, 0x73, 0x1, 0x66, 0xfe, 0xd6, 0x1a, 0x32, 0x28, 0x18, 0x17, 0x2b, 0x40, 0x29, 0x19, 0x51, 0x51, 0x44, 0x2, 0x2f, 0x64, 0xa1, 0x70, 0x3d, 0x29, 0x5a, 0x8e, 0x65, 0xfb, 0xeb, 0x6, 0xa, 0xaa, 0x3c, 0x4c, 0x2c, 0x11, 0x27, 0x48, 0x68, 0x83, 0x9b, 0x57, 0xa0, 0x71, 0xa1, 0x69, 0x31, 0x24, 0x49, 0x6e, 0x94, 0x6f, 0x49, 0x25, 0xa0, 0xf, 0x21, 0x33, 0x24, 0x1d, 0x31, 0x26, 0x15, 0x17, 0x3d, 0x69, 0x0, 0x0, 0x2, 0x0, 0x71, 0xff, 0xe3, 0x5, 0x2f, 0x6, 0x14, 0x0, 0x10, 0x0, 0x26, 0x0, 0x0, 0x1, 0x21, 0x22, 0xe, 0x2, 0x15, 0x14, 0x1e, 0x2, 0x33, 0x32, 0x3e, 0x2, 0x35, 0x13, 0x11, 0x14, 0xe, 0x2, 0x22, 0x2e, 0x2, 0x35, 0x34, 0x3e, 0x2, 0x33, 0x21, 0x11, 0x33, 0x11, 0x33, 0x15, 0x3, 0xa2, 0xfe, 0xc6, 0x49, 0x74, 0x51, 0x2b, 0x2b, 0x51, 0x74, 0x49, 0x51, 0x76, 0x4d, 0x26, 0xb8, 0x42, 0x7f, 0xba, 0xf2, 0xbb, 0x7f, 0x42, 0x40, 0x7f, 0xbb, 0x7b, 0x1, 0x3c, 0xb8, 0xd5, 0x3, 0xc0, 0x35, 0x66, 0x95, 0x61, 0x65, 0xa1, 0x70, 0x3c, 0x3c, 0x71, 0xa0, 0x65, 0x1, 0x91, 0xfe, 0x39, 0x72, 0xc3, 0x90, 0x51, 0x56, 0x9b, 0xd8, 0x83, 0x71, 0xcb, 0x9a, 0x5b, 0x1, 0xb4, 0xfe, 0x4c, 0xa0, 0x0, 0x1, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x6, 0x14, 0x0, 0x12, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x10, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x11, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x4, 0x64, 0xb8, 0xf8, 0x95, 0xac, 0xb9, 0xb9, 0x42, 0xb2, 0x76, 0xc2, 0xc5, 0x2, 0xa4, 0xfd, 0x5c, 0x2, 0x9e, 0x1, 0x3d, 0xbe, 0xa4, 0xfb, 0xdd, 0x7, 0xbe, 0xfd, 0x9e, 0x66, 0x63, 0xee, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0xfe, 0x56, 0x2, 0x6c, 0x4, 0x60, 0x0, 0x5, 0x0, 0x0, 0x1, 0x33, 0x15, 0x21, 0x11, 0x33, 0x1, 0x72, 0xfa, 0xfe, 0x4e, 0xb8, 0xfe, 0xf6, 0xa0, 0x6, 0xa, 0x0, 0x0, 0x1, 0x0, 0xba, 0xfe, 0x56, 0x7, 0x1d, 0x6, 0x14, 0x0, 0x2a, 0x0, 0x0, 0x1, 0x15, 0x14, 0x16, 0x33, 0x32, 0x3e, 0x2, 0x35, 0x11, 0x33, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x2e, 0x2, 0x35, 0x11, 0x10, 0x23, 0x22, 0xe, 0x2, 0x15, 0x11, 0x23, 0x11, 0x33, 0x11, 0x3e, 0x3, 0x33, 0x32, 0x16, 0x4, 0x48, 0x71, 0x78, 0x46, 0x72, 0x50, 0x2b, 0xb9, 0xb9, 0x3f, 0xb0, 0x79, 0x3d, 0x81, 0x6b, 0x44, 0xf7, 0x4b, 0x6e, 0x48, 0x24, 0xb9, 0xb9, 0x13, 0x41, 0x57, 0x68, 0x3b, 0xc3, 0xc4, 0x2, 0xa4, 0xe2, 0xa3, 0x9b, 0x32, 0x5d, 0x82, 0x51, 0x2, 0x7a, 0xfb, 0xa0, 0xae, 0x69, 0x61, 0x29, 0x65, 0xa9, 0x81, 0x1, 0x2, 0x1, 0x3d, 0x32, 0x5c, 0x83, 0x51, 0xfb, 0xdd, 0x7, 0xbe, 0xfd, 0x9e, 0x27, 0x49, 0x37, 0x22, 0xec, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x74, 0x6, 0x14, 0x0, 0x18, 0x0, 0x2d, 0x0, 0x0, 0x1, 0x13, 0x33, 0x7, 0x5, 0x21, 0x15, 0x23, 0x1e, 0x1, 0x15, 0x14, 0xe, 0x2, 0x22, 0x2e, 0x2, 0x35, 0x34, 0x3e, 0x2, 0x37, 0x3, 0x14, 0x1e, 0x2, 0x33, 0x32, 0x3e, 0x2, 0x35, 0x34, 0x2e, 0x2, 0x27, 0x23, 0x22, 0xe, 0x2, 0x1, 0x6, 0xc2, 0xd4, 0xa4, 0x1, 0x42, 0x1, 0x37, 0x7d, 0x43, 0x3d, 0x44, 0x83, 0xc0, 0xf6, 0xc0, 0x82, 0x44, 0x3e, 0x6f, 0x9a, 0x5b, 0xe1, 0x28, 0x51, 0x77, 0x50, 0x4f, 0x78, 0x50, 0x28, 0x12, 0x2b, 0x47, 0x34, 0x87, 0x4e, 0x78, 0x51, 0x29, 0x5, 0xa, 0x1, 0xa, 0xe2, 0xd2, 0xa0, 0x4e, 0xd7, 0x84, 0x7a, 0xce, 0x97, 0x55, 0x55, 0x97, 0xce, 0x7a, 0x78, 0xc6, 0x94, 0x5e, 0x10, 0xfd, 0xc0, 0x53, 0x95, 0x6f, 0x41, 0x41, 0x6f, 0x95, 0x53, 0x4d, 0x77, 0x63, 0x56, 0x2c, 0x45, 0x75, 0x9a, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xae, 0xfe, 0x56, 0x4, 0x58, 0x6, 0x14, 0x0, 0x13, 0x0, 0x0, 0x13, 0x11, 0x33, 0x11, 0x10, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x23, 0x11, 0xe, 0x1, 0x23, 0x22, 0x26, 0xae, 0xb8, 0xf8, 0x95, 0x56, 0x57, 0xb8, 0xb8, 0x43, 0xb0, 0x76, 0xc2, 0xc7, 0x1, 0xba, 0x4, 0x5a, 0xfb, 0xad, 0xfe, 0xc2, 0x5f, 0x5e, 0xa5, 0x2, 0x7b, 0xf9, 0xf6, 0x2, 0x56, 0x67, 0x62, 0xef, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x4, 0x64, 0x6, 0x14, 0x12, 0x6, 0x0, 0x4b, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6a, 0xff, 0xe2, 0x4, 0x30, 0x6, 0x14, 0x0, 0x2d, 0x0, 0x42, 0x0, 0x0, 0x1, 0x15, 0xe, 0x1, 0x7, 0x16, 0x12, 0x15, 0x11, 0x23, 0x35, 0xe, 0x3, 0x23, 0x22, 0x2e, 0x2, 0x37, 0x3e, 0x3, 0x37, 0x2e, 0x3, 0x35, 0x34, 0x3f, 0x1, 0x33, 0x7, 0xe, 0x1, 0x7, 0x6, 0x1e, 0x2, 0x37, 0x3e, 0x1, 0x1, 0x14, 0x1e, 0x2, 0x33, 0x32, 0x3e, 0x2, 0x3d, 0x1, 0x34, 0x2e, 0x2, 0x27, 0xe, 0x3, 0x3, 0x3c, 0x1a, 0x34, 0x1a, 0xa9, 0xb3, 0xb8, 0x1b, 0x48, 0x5c, 0x70, 0x43, 0x62, 0x9c, 0x6a, 0x37, 0x3, 0x2, 0x3e, 0x6d, 0x9a, 0x5e, 0x44, 0x5d, 0x3b, 0x1a, 0x22, 0x24, 0xc7, 0x2a, 0x13, 0xf, 0x1, 0x2, 0x2e, 0x47, 0x57, 0x28, 0x1b, 0x39, 0xfe, 0xa, 0x21, 0x43, 0x65, 0x44, 0x4d, 0x78, 0x52, 0x2b, 0x1e, 0x45, 0x70, 0x51, 0x3d, 0x6c, 0x52, 0x30, 0x5, 0x2c, 0xb1, 0x10, 0x20, 0x12, 0x64, 0xfe, 0xe5, 0xb9, 0xfd, 0xff, 0xac, 0x2d, 0x4a, 0x36, 0x1d, 0x42, 0x78, 0xaa, 0x69, 0x60, 0xb7, 0xad, 0xa3, 0x4b, 0xa, 0x34, 0x47, 0x53, 0x29, 0x44, 0x35, 0x39, 0x3f, 0x1d, 0x3b, 0x17, 0x2d, 0x3f, 0x22, 0x2, 0x11, 0x12, 0x22, 0xfc, 0xa0, 0x45, 0x73, 0x53, 0x2d, 0x37, 0x5d, 0x7b, 0x44, 0x56, 0x35, 0x77, 0x75, 0x68, 0x26, 0x32, 0x75, 0x87, 0x9a, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0xfe, 0x56, 0x5, 0x39, 0x4, 0x7b, 0x0, 0x14, 0x0, 0x0, 0x1, 0x15, 0x21, 0x11, 0x10, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x11, 0x5, 0x39, 0xfe, 0x73, 0xf8, 0x95, 0xac, 0xb9, 0xb9, 0x42, 0xb2, 0x76, 0xc2, 0xc5, 0xfe, 0xf6, 0xa0, 0x4, 0x48, 0x1, 0x3d, 0xbe, 0xa4, 0xfd, 0x87, 0x4, 0x60, 0xae, 0x66, 0x63, 0xee, 0xe9, 0xfc, 0x52, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x8c, 0xff, 0xe3, 0x4, 0x5a, 0x6, 0x24, 0x0, 0x28, 0x0, 0x3e, 0x0, 0x0, 0x13, 0x35, 0x33, 0x3e, 0x3, 0x33, 0x32, 0x16, 0x17, 0x15, 0x26, 0x23, 0x22, 0xe, 0x2, 0x7, 0x33, 0x32, 0x1e, 0x2, 0x15, 0x11, 0x23, 0x35, 0xe, 0x3, 0x23, 0x22, 0x2e, 0x2, 0x27, 0x26, 0x12, 0x37, 0x13, 0x1e, 0x3, 0x33, 0x32, 0x3e, 0x2, 0x3d, 0x1, 0x34, 0x2e, 0x2, 0x2b, 0x1, 0xe, 0x3, 0x8c, 0xc4, 0x37, 0x8d, 0xa7, 0xc1, 0x6b, 0x19, 0x2d, 0x16, 0x34, 0x32, 0x47, 0x7f, 0x72, 0x62, 0x2a, 0x3, 0x77, 0xd1, 0x9c, 0x5a, 0xb8, 0x18, 0x46, 0x5c, 0x74, 0x45, 0x66, 0x97, 0x66, 0x35, 0x3, 0x5, 0x36, 0x38, 0x56, 0x6, 0x2d, 0x49, 0x61, 0x38, 0x46, 0x73, 0x53, 0x2e, 0x2a, 0x62, 0x9f, 0x75, 0x47, 0x1d, 0x2a, 0x1b, 0xa, 0x3, 0xb6, 0xaa, 0x60, 0xa5, 0x7a, 0x45, 0x6, 0x4, 0xbd, 0x1d, 0x2a, 0x4b, 0x68, 0x3d, 0x4c, 0x8a, 0xc2, 0x77, 0xfd, 0xaf, 0xae, 0x2c, 0x4a, 0x36, 0x1f, 0x41, 0x72, 0x9b, 0x5a, 0x83, 0x1, 0x1d, 0x8b, 0xfd, 0xfd, 0x58, 0x75, 0x46, 0x1d, 0x33, 0x5b, 0x7c, 0x49, 0x68, 0x40, 0x86, 0x6d, 0x45, 0x41, 0x87, 0x84, 0x7e, 0x0, 0x0, 0x0, 0x1, 0x0, 0xae, 0xff, 0xe3, 0x5, 0x2d, 0x6, 0x14, 0x0, 0x16, 0x0, 0x0, 0x13, 0x11, 0x33, 0x11, 0x10, 0x33, 0x32, 0x3e, 0x2, 0x35, 0x11, 0x21, 0x15, 0x23, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x26, 0xae, 0xb8, 0xf8, 0x4b, 0x77, 0x53, 0x2d, 0x1, 0x8d, 0xd5, 0xb8, 0x43, 0xb0, 0x76, 0xc3, 0xc6, 0x1, 0xba, 0x2, 0xa6, 0xfd, 0x61, 0xfe, 0xc2, 0x32, 0x5c, 0x83, 0x51, 0x4, 0x2f, 0xa0, 0xfa, 0x8c, 0xac, 0x67, 0x62, 0xee, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xd4, 0xfe, 0x56, 0x1, 0x72, 0x4, 0x60, 0x0, 0xb, 0x0, 0x0, 0x13, 0x33, 0x11, 0x14, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0xba, 0xb8, 0xa3, 0xb5, 0x46, 0x31, 0x69, 0x4c, 0x4, 0x60, 0xfb, 0x8c, 0xd6, 0xc0, 0x9c, 0x61, 0x99, 0x0, 0x0, 0x1, 0xff, 0xd9, 0xff, 0xe3, 0x4, 0x58, 0x6, 0x14, 0x0, 0x16, 0x0, 0x0, 0x3, 0x21, 0x11, 0x10, 0x33, 0x32, 0x3e, 0x2, 0x35, 0x11, 0x33, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x11, 0x23, 0x27, 0x1, 0x8d, 0xf8, 0x4b, 0x77, 0x53, 0x2d, 0xb8, 0xb8, 0x43, 0xb0, 0x76, 0xc3, 0xc6, 0xd5, 0x6, 0x14, 0xfb, 0xad, 0xfe, 0xc2, 0x32, 0x5c, 0x83, 0x51, 0x2, 0x7b, 0xfb, 0xa0, 0xac, 0x67, 0x62, 0xee, 0xe9, 0x3, 0xba, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xfe, 0x56, 0x3, 0x7b, 0x4, 0x7b, 0x0, 0x31, 0x0, 0x0, 0x17, 0x14, 0x1e, 0x2, 0x33, 0x21, 0x15, 0x21, 0x22, 0x2e, 0x2, 0x35, 0x34, 0x3e, 0x6, 0x35, 0x34, 0x2e, 0x2, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x3, 0x33, 0x32, 0x1e, 0x2, 0x15, 0x14, 0xe, 0x6, 0xc1, 0x4, 0xa, 0x14, 0x11, 0x2, 0x50, 0xfd, 0x74, 0x2a, 0x44, 0x30, 0x1a, 0x3c, 0x62, 0x7d, 0x83, 0x7d, 0x62, 0x3c, 0x2d, 0x52, 0x73, 0x47, 0x5b, 0x9a, 0x4e, 0x26, 0x4a, 0x4f, 0x59, 0x35, 0x73, 0xb8, 0x81, 0x45, 0x3c, 0x62, 0x7e, 0x82, 0x7e, 0x62, 0x3c, 0xd9, 0x8, 0x11, 0xf, 0x9, 0xa0, 0x1b, 0x2f, 0x3f, 0x24, 0x31, 0x6a, 0x71, 0x76, 0x7c, 0x7f, 0x83, 0x85, 0x43, 0x48, 0x69, 0x44, 0x21, 0x26, 0x2a, 0xae, 0xe, 0x17, 0xf, 0x8, 0x35, 0x6c, 0xa2, 0x6d, 0x4b, 0x95, 0x90, 0x87, 0x7c, 0x6f, 0x5e, 0x4a, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x4, 0x64, 0x4, 0x7b, 0x12, 0x6, 0x0, 0x51, 0x0, 0x0, 0x0, 0x1, 0x0, 0xa, 0xfe, 0x56, 0x2, 0xf6, 0x4, 0x60, 0x0, 0x31, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x22, 0x2e, 0x2, 0x35, 0x34, 0x3e, 0x4, 0x37, 0x2e, 0x3, 0x35, 0x34, 0x3e, 0x2, 0x37, 0x33, 0xe, 0x3, 0x15, 0x14, 0x1e, 0x2, 0x37, 0x3e, 0x1, 0x37, 0x7, 0xe, 0x3, 0x15, 0x14, 0x1e, 0x2, 0xfc, 0x1, 0xfa, 0xfd, 0xd6, 0x24, 0x46, 0x37, 0x21, 0x23, 0x3c, 0x53, 0x60, 0x6a, 0x35, 0x2f, 0x6e, 0x5f, 0x3f, 0xb, 0x20, 0x3b, 0x30, 0xe7, 0x3b, 0x4d, 0x2c, 0x11, 0x26, 0x3f, 0x52, 0x2d, 0x19, 0x42, 0x23, 0x1, 0x66, 0xa9, 0x79, 0x42, 0x4, 0xb, 0x11, 0xfe, 0xf6, 0xa0, 0x16, 0x2e, 0x46, 0x2f, 0x3a, 0x87, 0x8e, 0x90, 0x89, 0x7d, 0x33, 0x2, 0x20, 0x44, 0x6b, 0x4c, 0x1e, 0x3f, 0x46, 0x4d, 0x2c, 0x25, 0x48, 0x43, 0x3e, 0x1a, 0x30, 0x44, 0x28, 0xe, 0x5, 0x3, 0x15, 0x12, 0xb7, 0x59, 0xcb, 0xc8, 0xb8, 0x45, 0xc, 0x1a, 0x14, 0xd, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xae, 0xfe, 0x56, 0x7, 0x11, 0x4, 0x60, 0x0, 0x2a, 0x0, 0x0, 0x25, 0xe, 0x1, 0x23, 0x22, 0x2e, 0x2, 0x35, 0x11, 0x33, 0x11, 0x14, 0x1e, 0x2, 0x33, 0x32, 0x3e, 0x2, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x3e, 0x2, 0x35, 0x11, 0x33, 0x11, 0x23, 0x11, 0xe, 0x1, 0x23, 0x22, 0x26, 0x3, 0xa2, 0x45, 0xbf, 0x83, 0x57, 0x88, 0x5d, 0x31, 0xb9, 0x1c, 0x3a, 0x56, 0x3b, 0x47, 0x72, 0x51, 0x2b, 0xb9, 0x71, 0x78, 0x46, 0x72, 0x50, 0x2b, 0xb9, 0xb9, 0x3f, 0xb0, 0x79, 0x7c, 0xa8, 0xd6, 0x7e, 0x74, 0x3f, 0x78, 0xb0, 0x71, 0x2, 0xa4, 0xfd, 0x4e, 0x51, 0x71, 0x48, 0x20, 0x31, 0x5c, 0x83, 0x52, 0x2, 0x7a, 0xfd, 0x62, 0xa3, 0x9b, 0x32, 0x5d, 0x82, 0x51, 0x2, 0x7a, 0xf9, 0xf6, 0x2, 0x58, 0x69, 0x61, 0x7a, 0x0, 0x0, 0x2, 0x0, 0x6e, 0xfe, 0x56, 0x3, 0xf4, 0x4, 0x7c, 0x0, 0x2c, 0x0, 0x44, 0x0, 0x0, 0x1, 0x14, 0xe, 0x6, 0x15, 0x14, 0x16, 0x33, 0x21, 0x15, 0x21, 0x22, 0x2e, 0x2, 0x35, 0x34, 0x36, 0x37, 0x3e, 0x3, 0x27, 0x2e, 0x5, 0x35, 0x34, 0x3e, 0x2, 0x33, 0x32, 0x1e, 0x2, 0x25, 0x22, 0xe, 0x2, 0x15, 0x14, 0x1e, 0x4, 0x15, 0x14, 0x7, 0x3e, 0x3, 0x35, 0x34, 0x2e, 0x2, 0x3, 0xf4, 0x3c, 0x62, 0x7e, 0x83, 0x7e, 0x62, 0x3c, 0x1f, 0x15, 0x2, 0x50, 0xfd, 0x74, 0x26, 0x43, 0x31, 0x1d, 0x52, 0x48, 0x19, 0x23, 0x14, 0x4, 0x6, 0x8, 0x2a, 0x36, 0x3b, 0x31, 0x20, 0x49, 0x78, 0x9a, 0x50, 0x6e, 0xb0, 0x7b, 0x42, 0xfe, 0x25, 0x2b, 0x56, 0x44, 0x2a, 0x1f, 0x2e, 0x37, 0x2e, 0x1f, 0x32, 0x3c, 0x82, 0x6c, 0x45, 0x28, 0x4b, 0x6a, 0x2, 0xd2, 0x4e, 0x99, 0x91, 0x89, 0x7d, 0x6e, 0x5d, 0x49, 0x19, 0x17, 0x1a, 0xa0, 0x19, 0x2b, 0x39, 0x20, 0x42, 0x90, 0x49, 0x19, 0x44, 0x4c, 0x4f, 0x24, 0x2f, 0x52, 0x4b, 0x48, 0x4d, 0x54, 0x32, 0x4f, 0x86, 0x60, 0x36, 0x3a, 0x6e, 0x9e, 0xaa, 0x1a, 0x34, 0x4d, 0x33, 0x21, 0x42, 0x44, 0x48, 0x4c, 0x53, 0x2c, 0x51, 0x4f, 0x3a, 0x7e, 0x84, 0x8a, 0x48, 0x45, 0x69, 0x48, 0x24, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x4, 0xe0, 0x4, 0x7b, 0x0, 0x24, 0x0, 0x0, 0x1, 0x22, 0xe, 0x2, 0x15, 0x11, 0x23, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x1e, 0x2, 0x15, 0x14, 0xe, 0x2, 0x7, 0x21, 0x15, 0x21, 0x35, 0x3e, 0x3, 0x35, 0x34, 0x2e, 0x2, 0x2, 0xc1, 0x4f, 0x7c, 0x56, 0x2d, 0xb9, 0xb9, 0x3f, 0xbd, 0x79, 0x63, 0xa2, 0x74, 0x3f, 0x21, 0x3d, 0x56, 0x35, 0x1, 0x29, 0xfd, 0xfd, 0x3f, 0x60, 0x42, 0x22, 0x23, 0x47, 0x6c, 0x3, 0xdb, 0x34, 0x5a, 0x7a, 0x46, 0xfd, 0x73, 0x4, 0x60, 0xac, 0x61, 0x66, 0x46, 0x7d, 0xae, 0x67, 0x53, 0x8b, 0x7b, 0x71, 0x39, 0xa0, 0x84, 0x34, 0x6d, 0x79, 0x8a, 0x50, 0x49, 0x81, 0x61, 0x38, 0xff, 0xff, 0x0, 0xae, 0xff, 0xe3, 0x4, 0x58, 0x4, 0x7b, 0x12, 0x6, 0x0, 0x58, 0x0, 0x0, 0x0, 0x1, 0x0, 0xae, 0xfe, 0x56, 0x5, 0x2d, 0x6, 0x14, 0x0, 0x16, 0x0, 0x0, 0x13, 0x11, 0x33, 0x11, 0x10, 0x33, 0x32, 0x3e, 0x2, 0x35, 0x11, 0x33, 0x11, 0x33, 0x15, 0x21, 0x11, 0xe, 0x1, 0x23, 0x22, 0x26, 0xae, 0xb8, 0xf8, 0x4b, 0x77, 0x53, 0x2d, 0xb8, 0xd5, 0xfe, 0x73, 0x43, 0xb0, 0x76, 0xc3, 0xc6, 0x1, 0xba, 0x2, 0xa6, 0xfd, 0x61, 0xfe, 0xc2, 0x32, 0x5c, 0x83, 0x51, 0x4, 0x2f, 0xf8, 0xe2, 0xa0, 0x2, 0x56, 0x67, 0x62, 0xee, 0x0, 0x0, 0x0, 0x1, 0x0, 0xae, 0xff, 0xe3, 0x7, 0x1c, 0x4, 0x7b, 0x0, 0x27, 0x0, 0x0, 0x1, 0x11, 0x33, 0x15, 0x3e, 0x3, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x10, 0x23, 0x22, 0xe, 0x2, 0x15, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x10, 0x33, 0x32, 0x3e, 0x2, 0x3, 0x8f, 0xb8, 0x21, 0x4f, 0x57, 0x5b, 0x2c, 0xc3, 0xc4, 0xb8, 0xf8, 0x3c, 0x6b, 0x50, 0x2e, 0xb8, 0x43, 0xb1, 0x64, 0xc3, 0xc6, 0xb8, 0xf8, 0x3f, 0x6f, 0x53, 0x30, 0x1, 0xe5, 0x2, 0x7b, 0xae, 0x33, 0x4b, 0x32, 0x19, 0xec, 0xeb, 0xfd, 0x5c, 0x2, 0x9e, 0x1, 0x3d, 0x32, 0x5c, 0x83, 0x51, 0xfd, 0x87, 0xac, 0x67, 0x62, 0xee, 0xe9, 0x2, 0xa6, 0xfd, 0x61, 0xfe, 0xc2, 0x2f, 0x5b, 0x84, 0x0, 0x0, 0x1, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x4, 0x7b, 0x0, 0x14, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x10, 0x23, 0x22, 0xe, 0x2, 0x15, 0x11, 0x23, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x4, 0x64, 0xb8, 0xf8, 0x4b, 0x77, 0x53, 0x2c, 0xb9, 0xb9, 0x42, 0xb2, 0x76, 0xc3, 0xc4, 0x2, 0xa4, 0xfd, 0x5c, 0x2, 0x9e, 0x1, 0x3d, 0x32, 0x5c, 0x83, 0x51, 0xfb, 0xdd, 0x6, 0xa, 0xae, 0x67, 0x62, 0xec, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6f, 0xfe, 0x56, 0x4, 0x58, 0x4, 0x7b, 0x10, 0x6, 0x0, 0x4a, 0xfe, 0x0, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x3, 0x98, 0x4, 0x60, 0x0, 0x5, 0x0, 0x0, 0x25, 0x21, 0x15, 0x21, 0x11, 0x33, 0x1, 0x72, 0x2, 0x26, 0xfd, 0x22, 0xb8, 0xa0, 0xa0, 0x4, 0x60, 0x0, 0x0, 0x1, 0x0, 0xae, 0xfe, 0x56, 0x7, 0x1c, 0x6, 0x14, 0x0, 0x27, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x3e, 0x3, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x10, 0x23, 0x22, 0xe, 0x2, 0x15, 0x11, 0x23, 0x11, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x10, 0x33, 0x32, 0x3e, 0x2, 0x3, 0x8f, 0xb8, 0x21, 0x4f, 0x57, 0x5b, 0x2c, 0xc3, 0xc4, 0xb8, 0xf8, 0x39, 0x6a, 0x51, 0x31, 0xb8, 0x43, 0xb1, 0x64, 0xc3, 0xc6, 0xb8, 0xf8, 0x3f, 0x6f, 0x53, 0x30, 0x1, 0xe5, 0x4, 0x2f, 0xfd, 0x9e, 0x33, 0x4b, 0x32, 0x19, 0xec, 0xeb, 0xfd, 0x5c, 0x2, 0x9e, 0x1, 0x3d, 0x2f, 0x5a, 0x84, 0x55, 0xfb, 0xdd, 0x2, 0x56, 0x67, 0x62, 0xee, 0xe9, 0x2, 0xa6, 0xfd, 0x61, 0xfe, 0xc2, 0x2f, 0x5b, 0x84, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x29, 0xfe, 0x56, 0x4, 0xa4, 0x4, 0x7b, 0x0, 0x1b, 0x0, 0x2c, 0x0, 0x0, 0x25, 0x11, 0x21, 0x15, 0x21, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x1e, 0x2, 0x10, 0xe, 0x2, 0x23, 0x22, 0x26, 0x1, 0x34, 0x2e, 0x2, 0x22, 0xe, 0x2, 0x14, 0x1e, 0x2, 0x32, 0x3e, 0x2, 0x1, 0x73, 0x3, 0x15, 0xfc, 0xeb, 0xb9, 0x91, 0x91, 0xb9, 0x3a, 0xb0, 0x7c, 0x66, 0xa8, 0x7a, 0x43, 0x43, 0x7a, 0xa8, 0x66, 0x7c, 0xb0, 0x2, 0x38, 0x2b, 0x51, 0x74, 0x92, 0x74, 0x51, 0x2b, 0x2b, 0x51, 0x74, 0x92, 0x75, 0x50, 0x2b, 0xa8, 0xfe, 0xa8, 0x9b, 0x5f, 0x5f, 0x9b, 0x5, 0x10, 0xaa, 0x64, 0x61, 0x56, 0x9b, 0xd8, 0xfe, 0xfa, 0xd8, 0x9b, 0x56, 0x61, 0x1, 0xeb, 0x64, 0xa1, 0x70, 0x3d, 0x3c, 0x70, 0xa1, 0xca, 0xa1, 0x70, 0x3c, 0x3c, 0x71, 0xa0, 0x0, 0xff, 0xff, 0x0, 0x6f, 0xff, 0xe3, 0x4, 0x73, 0x4, 0x7b, 0x10, 0x6, 0x0, 0x52, 0xfe, 0x0, 0x0, 0x3, 0x0, 0x46, 0xfe, 0x56, 0x6, 0x21, 0x6, 0x14, 0x0, 0x27, 0x0, 0x2e, 0x0, 0x38, 0x0, 0x0, 0x0, 0x10, 0xe, 0x2, 0x23, 0x11, 0x23, 0x11, 0x22, 0x2e, 0x4, 0x3d, 0x1, 0x33, 0x15, 0x14, 0x1e, 0x2, 0x33, 0x11, 0x22, 0x2e, 0x2, 0x35, 0x34, 0x3e, 0x2, 0x3b, 0x1, 0x11, 0x32, 0x1e, 0x1, 0x25, 0x11, 0x22, 0x6, 0x15, 0x14, 0x16, 0x0, 0x34, 0x2e, 0x2, 0x23, 0x11, 0x32, 0x3e, 0x1, 0x6, 0x21, 0x67, 0xb4, 0xf3, 0x8b, 0xb8, 0x57, 0xa4, 0x91, 0x78, 0x56, 0x30, 0xb4, 0x50, 0x83, 0xa9, 0x5a, 0x62, 0x9c, 0x6f, 0x3b, 0x3b, 0x6f, 0x9c, 0x62, 0xb8, 0x8e, 0xf3, 0xb2, 0xfd, 0x15, 0x7d, 0x74, 0x7b, 0x3, 0xa, 0x45, 0x7d, 0xb0, 0x6a, 0x6a, 0xb0, 0x7d, 0x2, 0xc7, 0xfe, 0xf8, 0xd6, 0x97, 0x52, 0xfe, 0x56, 0x1, 0xaa, 0x27, 0x49, 0x67, 0x80, 0x95, 0x53, 0x5d, 0x56, 0x57, 0x98, 0x72, 0x42, 0x3, 0x1a, 0x2b, 0x4f, 0x6e, 0x43, 0x48, 0x70, 0x4d, 0x27, 0xfe, 0x4c, 0x46, 0x89, 0xcf, 0x1, 0x26, 0x4f, 0x48, 0x42, 0x4d, 0xfd, 0x80, 0xc0, 0x8f, 0x5f, 0x2f, 0xfc, 0xe6, 0x39, 0x6b, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xae, 0xff, 0xe3, 0x6, 0x7e, 0x6, 0x14, 0x0, 0x16, 0x0, 0x0, 0x25, 0x21, 0x15, 0x21, 0x35, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x10, 0x33, 0x32, 0x3e, 0x2, 0x37, 0x11, 0x33, 0x4, 0x58, 0x2, 0x26, 0xfd, 0x22, 0x43, 0xb0, 0x76, 0xc3, 0xc6, 0xb8, 0xf8, 0x49, 0x75, 0x54, 0x2e, 0x2, 0xb8, 0xa0, 0xa0, 0xac, 0x67, 0x62, 0xee, 0xe9, 0x4, 0x5a, 0xfb, 0xad, 0xfe, 0xc2, 0x2f, 0x58, 0x7d, 0x4d, 0x2, 0x8c, 0x0, 0x0, 0x0, 0x2, 0x0, 0xf0, 0x0, 0x0, 0x1, 0xc3, 0x3, 0x52, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x37, 0x33, 0x15, 0x23, 0x11, 0x33, 0x15, 0x23, 0xf0, 0xd3, 0xd3, 0xd3, 0xd3, 0xfe, 0xfe, 0x3, 0x52, 0xfe, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0x1, 0xb2, 0x2, 0x7f, 0x2, 0x83, 0x0, 0x6, 0x0, 0x0, 0x13, 0x4, 0x25, 0x15, 0x6, 0x24, 0x27, 0x64, 0x1, 0xf, 0x1, 0xc, 0x88, 0xfe, 0xf5, 0x88, 0x2, 0x83, 0x5a, 0x5a, 0xa4, 0x2d, 0x1, 0x2c, 0x0, 0x0, 0x0, 0x2, 0x2, 0x44, 0xfe, 0x43, 0x2, 0xda, 0xff, 0xd3, 0x0, 0x3, 0x0, 0x7, 0x0, 0x1c, 0xb4, 0x4, 0x3, 0x5, 0x1, 0x9, 0x10, 0xdc, 0x3c, 0xcc, 0x32, 0x31, 0x0, 0xb6, 0x6, 0x2, 0x0, 0x4, 0x2, 0x0, 0x8, 0x10, 0xdc, 0xdc, 0xdc, 0x49, 0x3a, 0x30, 0x5, 0x33, 0x15, 0x23, 0x15, 0x33, 0x15, 0x23, 0x2, 0x44, 0x96, 0x96, 0x96, 0x96, 0x2d, 0x96, 0x64, 0x96, 0x0, 0x0, 0xff, 0xff, 0x0, 0xab, 0xfe, 0x43, 0x3, 0x82, 0xff, 0xd3, 0x10, 0x27, 0x5, 0x10, 0x0, 0xa8, 0x0, 0x0, 0x11, 0x7, 0x5, 0x16, 0xfe, 0xe4, 0x0, 0x0, 0x0, 0x13, 0xb0, 0x10, 0x4b, 0x52, 0x58, 0xbb, 0x0, 0x0, 0x0, 0x4, 0x0, 0x4, 0x0, 0x40, 0x38, 0x10, 0x3c, 0x31, 0x59, 0x0, 0x0, 0x3, 0x0, 0xff, 0xfe, 0x43, 0x3, 0xa2, 0xff, 0xd3, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x25, 0xb6, 0x0, 0x3, 0x8, 0x4, 0x9, 0x5, 0xd, 0x10, 0xdc, 0x3c, 0xdc, 0x3c, 0xdc, 0xcc, 0x31, 0x0, 0x40, 0x9, 0xa, 0x6, 0x4, 0x8, 0x6, 0x3, 0x4, 0x1, 0xc, 0x10, 0xdc, 0x3c, 0xdc, 0x3c, 0xdc, 0x49, 0x3a, 0x30, 0x5, 0x35, 0x21, 0x15, 0x37, 0x33, 0x15, 0x23, 0x15, 0x33, 0x15, 0x23, 0x0, 0xff, 0x1, 0x90, 0x7d, 0x96, 0x96, 0x96, 0x96, 0xc3, 0x96, 0x96, 0x96, 0x96, 0x64, 0x96, 0x0, 0x0, 0x3, 0x0, 0xff, 0xfe, 0x43, 0x3, 0xa2, 0xff, 0xd3, 0x0, 0x3, 0x0, 0x7, 0x0, 0xf, 0x0, 0x2e, 0x40, 0x9, 0xc, 0xb, 0x8, 0xf, 0x4, 0x0, 0x5, 0x1, 0x11, 0x10, 0xdc, 0x3c, 0xdc, 0x3c, 0xdc, 0xdc, 0xdc, 0xcc, 0x31, 0x0, 0x40, 0xb, 0x7, 0x2, 0x0, 0x5, 0xa, 0x2, 0x8, 0xb, 0x0, 0xd, 0x10, 0x10, 0xdc, 0x3c, 0xdc, 0x3c, 0x3c, 0xcc, 0xdc, 0x49, 0x3a, 0x30, 0x5, 0x33, 0x15, 0x23, 0x15, 0x33, 0x15, 0x23, 0x27, 0x15, 0x23, 0x35, 0x23, 0x35, 0x21, 0x15, 0x3, 0xc, 0x96, 0x96, 0x96, 0x96, 0xfa, 0x96, 0x7d, 0x1, 0x90, 0x2d, 0x96, 0x64, 0x96, 0xfa, 0xc8, 0xc8, 0x96, 0x96, 0x0, 0x1, 0x2, 0x44, 0xfe, 0xbb, 0x2, 0xda, 0xff, 0x51, 0x0, 0x3, 0x0, 0x10, 0xb5, 0x2, 0x0, 0x4, 0x0, 0x1, 0x5, 0x10, 0xdc, 0xcc, 0x31, 0x0, 0x10, 0xdc, 0xcc, 0x30, 0x5, 0x33, 0x15, 0x23, 0x2, 0x44, 0x96, 0x96, 0xaf, 0x96, 0xff, 0xff, 0x1, 0xc7, 0xfe, 0xbb, 0x3, 0x57, 0xff, 0x51, 0x10, 0x26, 0x5, 0x14, 0x7d, 0x0, 0x11, 0x6, 0x5, 0x14, 0x83, 0x0, 0x0, 0xf, 0xb2, 0x0, 0x0, 0x5, 0x49, 0x53, 0x58, 0xb9, 0x0, 0x0, 0x0, 0x40, 0x38, 0x59, 0x31, 0x0, 0x0, 0x3, 0x1, 0xc7, 0xfe, 0x43, 0x3, 0x57, 0xff, 0xd3, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x4f, 0x40, 0x9, 0x4, 0xb, 0xa, 0x5, 0x0, 0x1, 0xb, 0xa, 0xd, 0x10, 0xd4, 0xcc, 0xdc, 0xcc, 0xdc, 0x49, 0x3a, 0x31, 0xb2, 0x0, 0x8, 0x5, 0x49, 0x53, 0x58, 0x41, 0xc, 0x0, 0xb, 0x0, 0xa, 0x0, 0x9, 0x0, 0x8, 0x0, 0x40, 0x0, 0x4, 0x0, 0x7, 0x0, 0x6, 0x0, 0x5, 0x0, 0x4, 0xff, 0xc0, 0x0, 0x4, 0x17, 0x38, 0x17, 0x38, 0x59, 0x0, 0x40, 0x9, 0x3, 0xb, 0x8, 0x0, 0xb, 0x7, 0x8, 0x4, 0xc, 0x10, 0xdc, 0x3c, 0xdc, 0x3c, 0xdc, 0x49, 0x3a, 0x30, 0x1, 0x33, 0x15, 0x23, 0x3, 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, 0x2, 0x44, 0x96, 0x96, 0x7d, 0x96, 0x96, 0xfa, 0x96, 0x96, 0xfe, 0xd9, 0x96, 0x1, 0x90, 0x96, 0x96, 0x96, 0x0, 0x0, 0x1, 0x1, 0x63, 0xfe, 0xbb, 0x3, 0xbb, 0xff, 0x51, 0x0, 0x3, 0x0, 0x10, 0xb5, 0x2, 0x0, 0x4, 0x0, 0x2, 0x5, 0x10, 0xdc, 0xcc, 0x31, 0x0, 0x10, 0xdc, 0xcc, 0x30, 0x5, 0x21, 0x15, 0x21, 0x1, 0x63, 0x2, 0x58, 0xfd, 0xa8, 0xaf, 0x96, 0x0, 0x0, 0x0, 0x1, 0x1, 0x63, 0xfe, 0x75, 0x3, 0xbb, 0xff, 0xa1, 0x0, 0x7, 0x0, 0x19, 0xb4, 0x5, 0x2, 0x0, 0x6, 0x9, 0x10, 0xdc, 0xdc, 0xdc, 0xcc, 0x31, 0x0, 0xb4, 0x1, 0x0, 0x3, 0x5, 0x8, 0x10, 0xdc, 0xdc, 0x3c, 0xcc, 0x30, 0x5, 0x15, 0x23, 0x35, 0x23, 0x35, 0x21, 0x15, 0x2, 0xda, 0x96, 0xe1, 0x2, 0x58, 0xf5, 0x96, 0x96, 0x96, 0x96, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x5, 0x0, 0x0, 0x96, 0x5, 0x96, 0x0, 0x3, 0x0, 0x10, 0xb5, 0x1, 0x3, 0x4, 0x1, 0x3, 0x4, 0x10, 0xd4, 0xcc, 0x31, 0x0, 0x10, 0xdc, 0xcc, 0x30, 0x11, 0x33, 0x15, 0x23, 0x96, 0x96, 0x5, 0x96, 0x96, 0x0, 0xff, 0xff, 0x0, 0x0, 0x5, 0x0, 0x0, 0x96, 0x5, 0x96, 0x10, 0x6, 0x5, 0x19, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2f, 0xfe, 0x1b, 0x3, 0xb9, 0xff, 0xdd, 0x10, 0x27, 0x5, 0x14, 0x0, 0xdf, 0xff, 0x60, 0x10, 0x26, 0x5, 0x14, 0xe5, 0xf6, 0x11, 0x7, 0x5, 0x14, 0xfe, 0xeb, 0x0, 0x8c, 0x0, 0x3d, 0xb2, 0x0, 0xa, 0x4, 0x49, 0x53, 0x58, 0xb9, 0x0, 0xa, 0xff, 0xc0, 0x38, 0x59, 0xb3, 0x0, 0x4, 0xa, 0x5, 0x10, 0x49, 0x3a, 0x31, 0x0, 0xb2, 0x0, 0x9, 0xc, 0x49, 0x53, 0x58, 0xb9, 0x0, 0x9, 0xff, 0xc0, 0x38, 0x59, 0xb2, 0x0, 0x4, 0x9, 0x49, 0x53, 0x58, 0xb9, 0x0, 0x4, 0xff, 0xc0, 0x38, 0x59, 0xb3, 0x0, 0x4, 0x9, 0x4, 0x10, 0x49, 0x3a, 0x30, 0x0, 0x0, 0x1, 0x2, 0x4e, 0x1, 0xe5, 0x2, 0xe4, 0x2, 0x7b, 0x0, 0x3, 0x0, 0x10, 0xb5, 0x1, 0x3, 0x4, 0x3, 0x1, 0x5, 0x10, 0xd4, 0xcc, 0x31, 0x0, 0x10, 0xdc, 0xcc, 0x30, 0x1, 0x33, 0x15, 0x23, 0x2, 0x4e, 0x96, 0x96, 0x2, 0x7b, 0x96, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x44, 0xfe, 0x43, 0x2, 0xda, 0xff, 0xd3, 0x0, 0x3, 0x0, 0x10, 0xb5, 0x2, 0x0, 0x4, 0x0, 0x2, 0x5, 0x10, 0xdc, 0xcc, 0x31, 0x0, 0x10, 0xdc, 0xcc, 0x30, 0x5, 0x33, 0x11, 0x23, 0x2, 0x44, 0x96, 0x96, 0x2d, 0xfe, 0x70, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0x3, 0xc6, 0x2, 0x7f, 0x4, 0x6a, 0x0, 0x3, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x64, 0x2, 0x1b, 0xfd, 0xe5, 0x4, 0x6a, 0xa4, 0x0, 0x0, 0x0, 0x1, 0x1, 0x63, 0x5, 0x0, 0x3, 0xbb, 0x5, 0x96, 0x0, 0x3, 0x0, 0x10, 0xb5, 0x1, 0x3, 0x4, 0x3, 0x1, 0x5, 0x10, 0xd4, 0xcc, 0x31, 0x0, 0x10, 0xdc, 0xcc, 0x30, 0x1, 0x21, 0x15, 0x21, 0x1, 0x63, 0x2, 0x58, 0xfd, 0xa8, 0x5, 0x96, 0x96, 0x0, 0x0, 0x1, 0x0, 0xd1, 0xff, 0x38, 0x1, 0x8b, 0x5, 0x28, 0x0, 0x3, 0x0, 0x1c, 0xb4, 0x5, 0x2, 0x8, 0x0, 0x4, 0x10, 0xd4, 0xec, 0xcc, 0x31, 0x0, 0xb2, 0x1, 0x2, 0x4, 0x10, 0xcc, 0xcc, 0x30, 0xb4, 0x40, 0x5, 0x50, 0x5, 0x2, 0x1, 0x5d, 0x13, 0x33, 0x11, 0x23, 0xd1, 0xba, 0xba, 0x5, 0x28, 0xfa, 0x10, 0x0, 0x0, 0x0, 0x0, 0x1, 0x5, 0x19, 0x5, 0x0, 0x5, 0xaf, 0x5, 0x96, 0x0, 0x3, 0x0, 0x10, 0xb5, 0x1, 0x3, 0x4, 0x1, 0x3, 0x4, 0x10, 0xd4, 0xcc, 0x31, 0x0, 0x10, 0xdc, 0xcc, 0x30, 0x1, 0x33, 0x15, 0x23, 0x5, 0x19, 0x96, 0x96, 0x5, 0x96, 0x96, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc5, 0x5, 0x0, 0x1, 0x5b, 0x5, 0x96, 0x0, 0x3, 0x0, 0x10, 0xb5, 0x1, 0x3, 0x4, 0x1, 0x3, 0x4, 0x10, 0xd4, 0xcc, 0x31, 0x0, 0x10, 0xdc, 0xcc, 0x30, 0x13, 0x33, 0x15, 0x23, 0xc5, 0x96, 0x96, 0x5, 0x96, 0x96, 0x0, 0x2, 0x0, 0xd1, 0x0, 0x0, 0x1, 0x8b, 0x4, 0x60, 0x0, 0x3, 0x0, 0x7, 0x0, 0x23, 0xb6, 0x9, 0x2, 0x6, 0x8, 0x0, 0x4, 0x8, 0x10, 0xd4, 0x32, 0xec, 0x32, 0xcc, 0x31, 0x0, 0xb4, 0x3, 0x1, 0xbc, 0x5, 0x7, 0x2f, 0xcc, 0xf4, 0xcc, 0x30, 0xb4, 0x40, 0x9, 0x50, 0x9, 0x2, 0x1, 0x5d, 0x13, 0x33, 0x15, 0x23, 0x11, 0x33, 0x15, 0x23, 0xd1, 0xba, 0xba, 0xba, 0xba, 0x4, 0x60, 0xca, 0xfd, 0x34, 0xca, 0x0, 0x0, 0x0, 0x1, 0x0, 0x66, 0x0, 0x0, 0x2, 0xdc, 0x4, 0x60, 0x0, 0xd, 0x0, 0x1d, 0xb6, 0xf, 0x5, 0xc, 0x9, 0x8, 0xd, 0xe, 0x10, 0xd4, 0xec, 0xd4, 0xcc, 0xcc, 0x31, 0x0, 0xb6, 0x5, 0xa9, 0x4, 0xbc, 0xa, 0xa9, 0xc, 0x2f, 0xec, 0xf4, 0xec, 0x30, 0x13, 0x10, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x6, 0x15, 0x11, 0x21, 0x15, 0x21, 0x66, 0xcd, 0xe3, 0x92, 0x94, 0x86, 0x6e, 0x1, 0xbc, 0xfd, 0x8a, 0x2, 0x5e, 0x1, 0xe, 0xf4, 0x8f, 0x96, 0xc2, 0xfe, 0x16, 0x8f, 0x0, 0x0, 0x1, 0x1, 0x63, 0xfe, 0x43, 0x3, 0xbb, 0xff, 0xd3, 0x0, 0x7, 0x0, 0x19, 0xb4, 0x5, 0x2, 0x0, 0x6, 0x9, 0x10, 0xdc, 0xdc, 0xdc, 0xcc, 0x31, 0x0, 0xb4, 0x1, 0x0, 0x3, 0x5, 0x8, 0x10, 0xdc, 0xdc, 0x3c, 0xcc, 0x30, 0x5, 0x15, 0x23, 0x35, 0x23, 0x35, 0x21, 0x15, 0x2, 0xda, 0x96, 0xe1, 0x2, 0x58, 0xc3, 0xfa, 0xfa, 0x96, 0x96, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x4, 0x9f, 0x4, 0x60, 0x0, 0x27, 0x0, 0x6f, 0xb7, 0x29, 0x46, 0x1f, 0x8, 0x1e, 0x1, 0x8, 0x2, 0xb7, 0x16, 0x8, 0x15, 0xa, 0x8, 0xb, 0x46, 0x28, 0x10, 0xfc, 0xec, 0xd4, 0xfc, 0xdc, 0xb7, 0x7f, 0x2, 0x7f, 0x2, 0x6f, 0x2, 0x5f, 0x2, 0xb2, 0x3f, 0x2, 0x5, 0x5d, 0xec, 0xd4, 0x4b, 0xb0, 0x1d, 0x53, 0x58, 0xb9, 0x0, 0x1e, 0xff, 0xc0, 0x38, 0x59, 0xfc, 0xfc, 0xb7, 0x4a, 0x3, 0x3a, 0x3, 0x29, 0x3, 0x7a, 0x3, 0xb2, 0x44, 0x3, 0x5, 0x5d, 0x4b, 0xb0, 0xa, 0x51, 0x58, 0xb9, 0x0, 0x29, 0xff, 0xc0, 0x38, 0x59, 0x31, 0x0, 0xb4, 0x1f, 0x16, 0xbc, 0xa, 0x1, 0x2f, 0x2f, 0xfc, 0xc4, 0xb7, 0x3a, 0x0, 0x3a, 0x3, 0x55, 0x1d, 0x5b, 0x9, 0xb6, 0x65, 0x17, 0x6a, 0x3, 0x79, 0x9, 0x7, 0x5d, 0x30, 0x9, 0x1, 0x23, 0x1, 0xe, 0x4, 0x15, 0x11, 0x23, 0x35, 0x34, 0x3e, 0x5, 0x37, 0x1, 0x33, 0x1, 0x3e, 0x4, 0x35, 0x11, 0x33, 0x15, 0x14, 0xe, 0x5, 0x3, 0x80, 0x1, 0x1d, 0xd9, 0xfe, 0x60, 0x1c, 0x23, 0x38, 0x21, 0x1a, 0xb8, 0x14, 0x1f, 0x32, 0x2d, 0x41, 0x2c, 0x1f, 0xfe, 0xe4, 0xd9, 0x1, 0xa0, 0x1b, 0x23, 0x38, 0x22, 0x1a, 0xb8, 0x14, 0x1f, 0x32, 0x2e, 0x40, 0x2c, 0x1, 0x9b, 0xfe, 0x65, 0x2, 0x58, 0xe, 0x15, 0x35, 0x41, 0x6e, 0x45, 0xfe, 0xf4, 0xb9, 0x51, 0x8a, 0x60, 0x51, 0x32, 0x2c, 0x15, 0xd, 0x1, 0x9b, 0xfd, 0xa8, 0xd, 0x15, 0x36, 0x41, 0x6e, 0x45, 0x1, 0xc, 0xb9, 0x52, 0x89, 0x61, 0x51, 0x31, 0x2c, 0x15, 0x0, 0x0, 0x1, 0x0, 0x58, 0x0, 0x0, 0x4, 0x48, 0x4, 0x60, 0x0, 0x15, 0x0, 0x36, 0xb7, 0x17, 0x13, 0x11, 0x8, 0x0, 0x8, 0x15, 0x16, 0x10, 0xdc, 0xd4, 0xdc, 0xfc, 0xdc, 0xdc, 0xb4, 0x74, 0xa, 0x6f, 0x7, 0x2, 0x5d, 0x31, 0x4b, 0xb0, 0xa, 0x51, 0x58, 0xb9, 0x0, 0x17, 0xff, 0xc0, 0x38, 0x59, 0x0, 0xb7, 0x8, 0xa9, 0x9, 0xbc, 0x11, 0xa9, 0x15, 0xa9, 0xb0, 0x14, 0x2f, 0xec, 0xec, 0xfc, 0xec, 0x30, 0x25, 0x11, 0x34, 0x2e, 0x3, 0x23, 0x21, 0x35, 0x21, 0x32, 0x1e, 0x3, 0x15, 0x11, 0x33, 0x15, 0x21, 0x35, 0x2, 0xe8, 0xb, 0x26, 0x45, 0x79, 0x57, 0xfe, 0xb6, 0x1, 0x4a, 0x7b, 0xb1, 0x74, 0x45, 0x1b, 0xa6, 0xfc, 0x10, 0x8f, 0x1, 0xcf, 0x4b, 0x63, 0x66, 0x3a, 0x25, 0x8f, 0x2e, 0x55, 0x8b, 0xa6, 0x72, 0xfe, 0x55, 0x8f, 0x8f, 0x0, 0x0, 0x1, 0x0, 0x58, 0xff, 0xf6, 0x3, 0x11, 0x4, 0x60, 0x0, 0x1f, 0x0, 0x3f, 0xb7, 0x21, 0x3, 0x8, 0x4, 0x0, 0x8, 0x16, 0x1b, 0xb1, 0xd, 0x20, 0x10, 0xdc, 0xd4, 0xd4, 0xec, 0xdc, 0xec, 0xcc, 0xb4, 0x74, 0x1d, 0x5c, 0x10, 0x2, 0x5d, 0x4b, 0xb0, 0xf, 0x51, 0x4b, 0xb0, 0xd, 0x53, 0x5a, 0x58, 0x7d, 0xb0, 0x6, 0x2f, 0x18, 0x59, 0x31, 0x0, 0xb7, 0x1b, 0xa9, 0x1c, 0xbc, 0x20, 0x10, 0xa9, 0xb, 0xb0, 0x3, 0x2f, 0x2f, 0xec, 0x10, 0xfc, 0xec, 0x30, 0x1, 0x14, 0x12, 0x17, 0x23, 0x26, 0x27, 0xe, 0x3, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x3e, 0x3, 0x35, 0x34, 0x2e, 0x1, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x16, 0x2, 0x7f, 0x45, 0x4d, 0xc7, 0x3a, 0x19, 0x21, 0x46, 0x50, 0x50, 0x37, 0x2e, 0x33, 0x22, 0x24, 0x2c, 0x45, 0x56, 0x38, 0x28, 0x33, 0x65, 0x5c, 0x5a, 0x60, 0xdd, 0xcb, 0x2, 0x5e, 0x90, 0xfe, 0xc0, 0x8e, 0x87, 0x70, 0x51, 0x67, 0x36, 0x13, 0xe, 0xa9, 0xa, 0xd, 0x34, 0x5b, 0xaa, 0x75, 0x97, 0xa1, 0x3b, 0x8f, 0xf4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x58, 0x0, 0x0, 0x4, 0x17, 0x4, 0x60, 0x0, 0x7, 0x0, 0x28, 0xb6, 0x9, 0x0, 0x1, 0x8, 0x4, 0x5, 0x8, 0x10, 0xdc, 0xdc, 0xfc, 0xdc, 0xdc, 0x31, 0x4b, 0xb0, 0xa, 0x51, 0x58, 0xb9, 0x0, 0x9, 0xff, 0xc0, 0x38, 0x59, 0x0, 0xb5, 0x1, 0x4, 0xa9, 0x6, 0xbc, 0x3, 0x2f, 0xfc, 0xfc, 0xc4, 0x30, 0x1, 0x23, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x4, 0x17, 0xc6, 0xba, 0xfd, 0xc1, 0x3, 0xbf, 0x3, 0xd1, 0xfc, 0x2f, 0x3, 0xd1, 0x8f, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0x0, 0x0, 0x4, 0x80, 0x4, 0x60, 0x0, 0x3, 0x0, 0xf, 0x0, 0x3c, 0xb7, 0x11, 0x46, 0x4, 0x8, 0x7, 0xb, 0x1, 0x8, 0xb2, 0x2, 0x46, 0x10, 0x10, 0xfc, 0xec, 0xd4, 0xd4, 0xfc, 0xfc, 0xb4, 0x70, 0xd, 0x6a, 0xa, 0x2, 0x5d, 0x4b, 0xb0, 0xa, 0x51, 0x58, 0xb9, 0x0, 0x11, 0xff, 0xc0, 0x38, 0x59, 0x31, 0x0, 0xb7, 0xb, 0xa9, 0xc, 0xbc, 0x2, 0x0, 0x3, 0x2, 0xb0, 0x6, 0x2f, 0x2f, 0xd4, 0xc4, 0x10, 0xfc, 0xfc, 0x30, 0x1, 0x11, 0x23, 0x11, 0x5, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x21, 0x35, 0x21, 0x20, 0x16, 0x1, 0x88, 0xb9, 0x3, 0xb1, 0xb9, 0x81, 0xba, 0xfe, 0x2e, 0x1, 0xd0, 0x1, 0x15, 0xe1, 0x2, 0xac, 0xfd, 0x54, 0x2, 0x60, 0x26, 0xfd, 0xc6, 0x2, 0x60, 0xd8, 0x99, 0x8f, 0xfa, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x1, 0x74, 0x4, 0x60, 0x0, 0x3, 0x0, 0x21, 0xb6, 0x5, 0x46, 0x1, 0x8, 0x2, 0x46, 0x4, 0x10, 0xfc, 0xfc, 0xfc, 0x4b, 0xb0, 0xa, 0x51, 0x58, 0xb9, 0x0, 0x5, 0xff, 0xc0, 0x38, 0x59, 0x31, 0x0, 0xb2, 0x3, 0xbc, 0x1, 0x2f, 0xe4, 0x30, 0x1, 0x11, 0x23, 0x11, 0x1, 0x74, 0xba, 0x4, 0x60, 0xfb, 0xa0, 0x4, 0x60, 0x0, 0x1, 0x0, 0x58, 0x0, 0x0, 0x2, 0x6d, 0x4, 0x60, 0x0, 0xd, 0x0, 0x45, 0xb6, 0xf, 0x1, 0x5, 0x8, 0x8, 0xd, 0xe, 0x10, 0xdc, 0xdc, 0xfc, 0xdc, 0xdc, 0x31, 0x4b, 0xb0, 0xe, 0x53, 0x4b, 0xb0, 0x10, 0x51, 0x5a, 0x58, 0x7c, 0xb0, 0x2, 0x2f, 0x18, 0xb3, 0x6a, 0x3, 0x5a, 0x3, 0xb4, 0x6a, 0xb, 0x5a, 0xb, 0x4, 0x5d, 0x31, 0x59, 0x4b, 0xb0, 0xa, 0x51, 0x58, 0xb9, 0x0, 0xf, 0xff, 0xc0, 0x38, 0x59, 0x0, 0xb5, 0x2, 0xc, 0xa9, 0xd, 0xbc, 0x7, 0x2f, 0xfc, 0xfc, 0xc4, 0x30, 0x1, 0x15, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x34, 0x36, 0x37, 0x23, 0x35, 0x2, 0x6d, 0x50, 0x57, 0x41, 0xba, 0x4d, 0x38, 0xf8, 0x4, 0x60, 0x8f, 0x9b, 0xbd, 0xfd, 0x87, 0x2, 0x79, 0x7f, 0xb2, 0x27, 0x8f, 0x0, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x4, 0x80, 0x4, 0x60, 0x0, 0xd, 0x0, 0x37, 0xb7, 0xf, 0x46, 0x1, 0x8, 0x2, 0x8, 0x8, 0x9, 0xb1, 0x46, 0xe, 0x10, 0xfc, 0xfc, 0xdc, 0xfc, 0xfc, 0xb2, 0x70, 0xb, 0x1, 0x5d, 0x4b, 0xb0, 0xa, 0x51, 0x58, 0xb9, 0x0, 0xf, 0xff, 0xc0, 0x38, 0x59, 0x31, 0x0, 0xb5, 0x7, 0xa9, 0xa, 0xbc, 0x8, 0x2, 0x2f, 0x2f, 0xfc, 0xec, 0xb2, 0x74, 0x0, 0x1, 0x5d, 0x0, 0x30, 0x1, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x21, 0x11, 0x23, 0x11, 0x21, 0x20, 0x16, 0x4, 0x80, 0xba, 0x82, 0xb8, 0xfe, 0xe7, 0xb9, 0x1, 0xd0, 0x1, 0x14, 0xe2, 0x2, 0x5e, 0xfd, 0xa2, 0x2, 0x79, 0xc6, 0x92, 0xfc, 0x2f, 0x4, 0x60, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb9, 0xff, 0xe3, 0x4, 0xbf, 0x4, 0x6b, 0x0, 0x1f, 0x0, 0x5b, 0xb7, 0x21, 0x19, 0x8, 0xa, 0x11, 0x1, 0x8, 0x1e, 0xb1, 0x46, 0x20, 0x10, 0xfc, 0xfc, 0xdc, 0xdc, 0xb7, 0x74, 0x14, 0x70, 0x14, 0x7f, 0xa, 0x2f, 0xa, 0xb2, 0xa0, 0xa, 0x5, 0x5d, 0xfc, 0xdc, 0x31, 0x4b, 0xb0, 0xa, 0x51, 0x58, 0xb9, 0x0, 0x21, 0xff, 0xc0, 0x38, 0x59, 0x0, 0xb7, 0xf, 0xa9, 0x14, 0x1f, 0xbc, 0x20, 0x5, 0xa9, 0xb0, 0x1c, 0x2f, 0xec, 0x10, 0xfc, 0xc4, 0xec, 0xb5, 0x6c, 0xa, 0x6e, 0x19, 0x6e, 0x1e, 0xb5, 0x5c, 0xa, 0x5e, 0x19, 0x5e, 0x1e, 0xb7, 0x44, 0xa, 0x44, 0x1, 0x34, 0xa, 0x34, 0x1, 0xb0, 0xa, 0x5d, 0x30, 0x1, 0x11, 0x14, 0x1e, 0x2, 0x32, 0x3e, 0x2, 0x35, 0x34, 0x2e, 0x2, 0x23, 0x22, 0x7, 0x35, 0x36, 0x33, 0x32, 0x1e, 0x2, 0x15, 0x10, 0x2, 0x20, 0x2, 0x19, 0x1, 0x1, 0x72, 0x2d, 0x59, 0x74, 0xa0, 0x74, 0x59, 0x2d, 0x13, 0x30, 0x5a, 0x43, 0x42, 0x5d, 0x72, 0x57, 0x66, 0x90, 0x54, 0x25, 0xfc, 0xfd, 0xf2, 0xfc, 0x4, 0x60, 0xfd, 0xb4, 0x74, 0xa2, 0x5b, 0x28, 0x28, 0x5b, 0xa2, 0x74, 0x71, 0x9d, 0x7d, 0x3d, 0x1e, 0x8f, 0x1e, 0x51, 0x9f, 0xd2, 0x8d, 0xfe, 0xd4, 0xfe, 0xf3, 0x1, 0xd, 0x1, 0x2c, 0x2, 0x44, 0x0, 0x0, 0x1, 0x0, 0x88, 0x1, 0xa2, 0x1, 0x42, 0x4, 0x60, 0x0, 0x3, 0x0, 0x23, 0xb4, 0x5, 0x1, 0x8, 0x2, 0x4, 0x10, 0xdc, 0xfc, 0xdc, 0x31, 0x4b, 0xb0, 0xa, 0x51, 0x58, 0xb9, 0x0, 0x5, 0xff, 0xc0, 0x38, 0x59, 0x0, 0xb4, 0x1, 0x2, 0x0, 0xbc, 0x4, 0x10, 0xe4, 0x2f, 0xc4, 0x30, 0x1, 0x11, 0x7, 0x11, 0x1, 0x42, 0xba, 0x4, 0x60, 0xfd, 0x8e, 0x4c, 0x2, 0xbe, 0x0, 0x0, 0x1, 0x0, 0x58, 0xfe, 0x56, 0x3, 0x92, 0x4, 0x60, 0x0, 0x10, 0x0, 0x38, 0xb6, 0x12, 0x46, 0x0, 0x8, 0x3, 0xa, 0x11, 0x10, 0xdc, 0xdc, 0xfc, 0xfc, 0xb4, 0x61, 0xc, 0x5f, 0x9, 0x2, 0x5d, 0x4b, 0xb0, 0xa, 0x51, 0x58, 0xb9, 0x0, 0x12, 0xff, 0xc0, 0x38, 0x59, 0x31, 0x0, 0xb6, 0xa, 0xa9, 0xb, 0xbc, 0x1, 0xbd, 0x11, 0x10, 0xec, 0xfc, 0xec, 0xb6, 0x5f, 0x3, 0x4f, 0x3, 0x3f, 0x3, 0x3, 0x5d, 0x30, 0x1, 0x11, 0x23, 0x11, 0x34, 0x2e, 0x3, 0x23, 0x21, 0x35, 0x21, 0x32, 0x1e, 0x2, 0x3, 0x92, 0xba, 0x15, 0x32, 0x58, 0x7f, 0x5d, 0xfe, 0xfb, 0x1, 0x1, 0xa8, 0xd6, 0x86, 0x35, 0x1, 0xee, 0xfc, 0x68, 0x3, 0x98, 0x72, 0x9b, 0x75, 0x42, 0x1f, 0x8f, 0x3d, 0x97, 0xe8, 0x0, 0x0, 0x1, 0x0, 0x58, 0x0, 0x0, 0x3, 0xca, 0x4, 0x60, 0x0, 0x19, 0x0, 0x35, 0xb6, 0x1b, 0x7, 0x8, 0x13, 0xe, 0x19, 0x1a, 0x10, 0xdc, 0xd4, 0xdc, 0xfc, 0xdc, 0xb7, 0x4f, 0xf, 0x4f, 0x18, 0x3f, 0xf, 0x3f, 0x18, 0xb0, 0x4, 0x5d, 0x31, 0x4b, 0xb0, 0xa, 0x51, 0x58, 0xb9, 0x0, 0x1b, 0xff, 0xc0, 0x38, 0x59, 0x0, 0xb6, 0x19, 0xa9, 0x0, 0xbc, 0xe, 0xa9, 0xd, 0x2f, 0xec, 0xfc, 0xec, 0x30, 0x13, 0x21, 0x32, 0x1e, 0x3, 0x14, 0xe, 0x3, 0x23, 0x21, 0x35, 0x21, 0x32, 0x3e, 0x2, 0x34, 0x2e, 0x2, 0x23, 0x21, 0x58, 0x1, 0x58, 0x75, 0xbb, 0x78, 0x50, 0x22, 0x22, 0x50, 0x78, 0xbb, 0x75, 0xfe, 0xa8, 0x1, 0x58, 0x64, 0x8d, 0x4e, 0x22, 0x22, 0x4e, 0x8d, 0x64, 0xfe, 0xa8, 0x4, 0x60, 0x40, 0x6b, 0x92, 0x9d, 0xac, 0x9d, 0x92, 0x6b, 0x40, 0x8e, 0x3e, 0x75, 0x91, 0xbc, 0x91, 0x75, 0x3e, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x58, 0x0, 0x0, 0x3, 0xf0, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x36, 0xb7, 0xa, 0x7, 0x8, 0x1, 0x8, 0x8, 0x0, 0x5, 0xb2, 0x8, 0x2, 0x9, 0x10, 0xdc, 0xfc, 0xdc, 0xfc, 0xd4, 0xb2, 0x7f, 0x1, 0x1, 0x5d, 0xfc, 0xdc, 0x31, 0x4b, 0xb0, 0xa, 0x51, 0x58, 0xb9, 0x0, 0xa, 0xff, 0xc0, 0x38, 0x59, 0x0, 0xb6, 0x7, 0x2, 0xa9, 0x4, 0x5, 0xbc, 0x0, 0x2f, 0xfc, 0xcc, 0xfc, 0xc4, 0x30, 0x21, 0x1, 0x21, 0x11, 0x33, 0x11, 0x5, 0x7, 0x1, 0x1, 0x81, 0x1, 0x94, 0xfd, 0x43, 0xbb, 0x2, 0xdd, 0x3, 0xfe, 0x57, 0x3, 0xd1, 0x2, 0x4, 0xfe, 0x8b, 0x1, 0x6e, 0xfc, 0xf, 0x0, 0x0, 0x2, 0x0, 0xba, 0x0, 0x0, 0x4, 0x95, 0x4, 0x60, 0x0, 0x8, 0x0, 0xf, 0x0, 0x34, 0xb7, 0x11, 0x46, 0x0, 0x8, 0xb, 0xa, 0x8, 0x1, 0xb1, 0x46, 0x10, 0x10, 0xfc, 0xfc, 0xdc, 0xfc, 0xfc, 0x31, 0x4b, 0xb0, 0xa, 0x51, 0x58, 0xb9, 0x0, 0x11, 0xff, 0xc0, 0x38, 0x59, 0x0, 0xb6, 0x9, 0xa9, 0x2, 0xbc, 0xa, 0xa9, 0x1, 0x2f, 0xec, 0xf4, 0xec, 0xb4, 0x6f, 0xc, 0x7e, 0xc, 0x2, 0x5d, 0x30, 0x29, 0x1, 0x11, 0x21, 0x32, 0x1e, 0x2, 0x15, 0x1, 0x11, 0x21, 0x11, 0x34, 0x26, 0x23, 0x4, 0x95, 0xfc, 0x25, 0x1, 0xe3, 0x8d, 0xc0, 0x77, 0x34, 0xfc, 0xdf, 0x2, 0x67, 0x82, 0xb9, 0x4, 0x60, 0x3a, 0x81, 0xbd, 0x8a, 0x1, 0x73, 0xfc, 0xbe, 0x1, 0xea, 0xc6, 0x92, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x58, 0x0, 0x0, 0x4, 0xb5, 0x4, 0x70, 0x0, 0x25, 0x0, 0x64, 0xb7, 0x27, 0x46, 0xc, 0x8, 0x11, 0xe, 0x1b, 0x8, 0xb4, 0x1c, 0x1, 0x8, 0x0, 0x26, 0x10, 0xdc, 0xec, 0xd4, 0xb2, 0x70, 0x1c, 0x1, 0x5d, 0xfc, 0xdc, 0xdc, 0xfc, 0xfc, 0xb7, 0x4a, 0x23, 0x3a, 0x23, 0x2a, 0x23, 0x1c, 0x23, 0xb7, 0x68, 0x23, 0x5a, 0x23, 0x4a, 0x4, 0x68, 0x4, 0xb4, 0x73, 0x4, 0xc, 0x23, 0x8, 0x5d, 0x4b, 0xb0, 0xa, 0x51, 0x58, 0xb9, 0x0, 0x27, 0xff, 0xc0, 0x38, 0x59, 0x31, 0x0, 0xb7, 0x14, 0xa9, 0xa, 0x0, 0xbc, 0xf, 0xa9, 0xe, 0xb0, 0x1b, 0x2f, 0x2f, 0xec, 0xfc, 0xd4, 0xfc, 0xb7, 0x58, 0x4, 0x6c, 0x11, 0x5c, 0x11, 0x76, 0x4, 0xb2, 0x7f, 0x11, 0x5, 0x5d, 0x30, 0x13, 0x33, 0x1e, 0x1, 0x17, 0x3e, 0x4, 0x33, 0x20, 0x19, 0x1, 0x21, 0x35, 0x21, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x6, 0x7, 0x3, 0x23, 0x13, 0x3e, 0x4, 0x35, 0x34, 0x2, 0x58, 0xd9, 0x4, 0x42, 0x16, 0x1c, 0x4d, 0x4c, 0x62, 0x4c, 0x33, 0x1, 0x92, 0xfd, 0xce, 0x1, 0x78, 0x7a, 0x61, 0xb4, 0x56, 0x30, 0x2a, 0x2, 0x5, 0x62, 0xba, 0x50, 0x3, 0xf, 0x5, 0x7, 0x3, 0x5d, 0x4, 0x60, 0xb, 0x9d, 0x4e, 0x46, 0x64, 0x36, 0x1e, 0x8, 0xfd, 0xee, 0xfd, 0xa2, 0x8e, 0x1, 0xd0, 0xc3, 0xbb, 0xa0, 0x5b, 0xce, 0xe, 0x17, 0xfe, 0x12, 0x1, 0xa2, 0x10, 0x49, 0x1b, 0x33, 0x27, 0x16, 0x40, 0x1, 0x7, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0xfe, 0x56, 0x1, 0x74, 0x4, 0x60, 0x0, 0x3, 0x0, 0x24, 0xb6, 0x5, 0x46, 0x1, 0x8, 0x2, 0x46, 0x4, 0x10, 0xfc, 0xfc, 0xfc, 0x4b, 0xb0, 0xa, 0x51, 0x58, 0xb9, 0x0, 0x5, 0xff, 0xc0, 0x38, 0x59, 0x31, 0x0, 0xb4, 0x2, 0xbd, 0x3, 0xbc, 0x4, 0x10, 0xe4, 0xe4, 0x30, 0x1, 0x11, 0x23, 0x11, 0x1, 0x74, 0xba, 0x4, 0x60, 0xf9, 0xf6, 0x6, 0xa, 0x0, 0x0, 0x1, 0x0, 0x58, 0x0, 0x0, 0x2, 0x78, 0x4, 0x60, 0x0, 0xd, 0x0, 0x31, 0xb7, 0xf, 0x46, 0xb, 0x8, 0x0, 0x5, 0xd, 0xe, 0x10, 0xdc, 0xd4, 0xdc, 0xfc, 0xfc, 0x4b, 0xb0, 0xa, 0x51, 0x58, 0xb9, 0x0, 0xf, 0xff, 0xc0, 0x38, 0x59, 0x31, 0x0, 0xb6, 0x5, 0xa9, 0x6, 0xbc, 0xd, 0xa9, 0xc, 0x2f, 0xec, 0xfc, 0xec, 0xb4, 0x10, 0xa, 0x0, 0xa, 0x2, 0x5d, 0x30, 0x25, 0x11, 0x34, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x16, 0x15, 0x11, 0x21, 0x35, 0x1, 0xbe, 0x64, 0x6a, 0x7e, 0x7e, 0xcd, 0xbb, 0xfd, 0xe0, 0x8f, 0x2, 0x58, 0x7b, 0x6f, 0x8f, 0xb1, 0xdd, 0xfd, 0x2e, 0x8f, 0x0, 0x0, 0x0, 0x2, 0x0, 0xb9, 0xff, 0xe3, 0x4, 0xbf, 0x4, 0x60, 0x0, 0x9, 0x0, 0x13, 0x0, 0x5d, 0xb7, 0x15, 0x4, 0x8, 0xf, 0xc, 0x8, 0x9, 0x46, 0xb0, 0x14, 0x10, 0xfc, 0xfc, 0xdc, 0xb2, 0x7f, 0xf, 0x1, 0x5d, 0xfc, 0xdc, 0xb6, 0x4a, 0xa, 0x3c, 0xa, 0x60, 0x1, 0x3, 0x5d, 0x31, 0xb7, 0x59, 0x7, 0x54, 0x6, 0x69, 0x7, 0x64, 0x6, 0xb0, 0x4, 0x5d, 0x4b, 0xb0, 0xa, 0x51, 0x58, 0xb9, 0x0, 0x15, 0xff, 0xc0, 0x38, 0x59, 0x0, 0xb7, 0xa, 0xa9, 0x0, 0xbc, 0x14, 0xe, 0xa9, 0x6, 0x2f, 0xec, 0x10, 0xfc, 0xfc, 0xb7, 0x34, 0xf, 0x34, 0xc, 0x26, 0xf, 0x26, 0xc, 0xb7, 0x42, 0xf, 0x42, 0xc, 0x52, 0x3, 0x64, 0x3, 0xb0, 0x8, 0x5d, 0x30, 0x13, 0x21, 0x20, 0x4, 0x11, 0x10, 0x0, 0x20, 0x0, 0x11, 0x1, 0x21, 0x11, 0x10, 0x20, 0x11, 0x34, 0x2e, 0x2, 0xb9, 0x1, 0xe7, 0x1, 0x1d, 0x1, 0x2, 0xff, 0x0, 0xfd, 0xfa, 0xff, 0x0, 0x1, 0xe7, 0xfe, 0xd2, 0x2, 0x94, 0x2d, 0x5f, 0x7f, 0x4, 0x60, 0xfa, 0xfe, 0xd4, 0xfe, 0xd0, 0xfe, 0xd9, 0x1, 0x27, 0x1, 0x30, 0x1, 0x8d, 0xfe, 0x6b, 0xfe, 0x49, 0x1, 0xbf, 0x75, 0x9c, 0x58, 0x24, 0x0, 0x0, 0x1, 0x0, 0x58, 0xff, 0x42, 0x4, 0x48, 0x4, 0x60, 0x0, 0x13, 0x0, 0x4b, 0xb7, 0x15, 0x46, 0x2, 0x8, 0x1, 0xf, 0x8, 0xc, 0xb1, 0xe, 0x14, 0x10, 0xdc, 0xc4, 0xfc, 0xdc, 0xfc, 0xfc, 0xb6, 0x3e, 0xd, 0x1d, 0xd, 0xf, 0xd, 0x3, 0x5d, 0x31, 0x4b, 0xb0, 0xa, 0x51, 0x58, 0xb9, 0x0, 0x15, 0xff, 0xc0, 0x38, 0x59, 0x0, 0xb7, 0x10, 0xa9, 0xb, 0xa9, 0xc, 0x1, 0xbc, 0xe, 0xb1, 0xbc, 0x15, 0x10, 0xe4, 0xe4, 0xd4, 0xec, 0xe4, 0xb4, 0x14, 0x10, 0x5, 0x10, 0x2, 0x5d, 0x30, 0xb4, 0x67, 0xd, 0x47, 0xd, 0x2, 0x5d, 0x1, 0x11, 0x33, 0x11, 0x14, 0xe, 0x4, 0x7, 0x5, 0x35, 0x25, 0x1, 0x33, 0x1, 0x3e, 0x1, 0x12, 0x3, 0x88, 0xc0, 0x13, 0x31, 0x58, 0x88, 0xc2, 0x82, 0xfe, 0x80, 0x1, 0x24, 0xfe, 0xd4, 0xc2, 0x1, 0x14, 0x84, 0x90, 0x46, 0x3, 0x44, 0x1, 0x1c, 0xfe, 0xe4, 0x76, 0xb2, 0xaf, 0x88, 0x7f, 0x6a, 0x2f, 0x8b, 0xa9, 0x68, 0x4, 0xd, 0xfc, 0x32, 0x39, 0x96, 0x1, 0x8, 0x0, 0x0, 0x1, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x4, 0x60, 0x0, 0x17, 0x0, 0x5e, 0xb7, 0x19, 0x46, 0x0, 0x8, 0x3, 0xd, 0x8, 0x8, 0xb2, 0x13, 0x46, 0x18, 0x10, 0xfc, 0xfc, 0xd4, 0xdc, 0xfc, 0xfc, 0x31, 0x4b, 0xb0, 0xa, 0x51, 0x58, 0xb9, 0x0, 0x19, 0xff, 0xc0, 0x38, 0x59, 0x0, 0xb7, 0x10, 0xa9, 0xb, 0x7, 0xa9, 0x14, 0xbc, 0x2, 0xb1, 0xbd, 0x18, 0x10, 0xec, 0xfc, 0xfc, 0xdc, 0xb7, 0x4a, 0x13, 0x1f, 0xb, 0xf, 0xb, 0x2f, 0xb, 0xb0, 0x4, 0x5d, 0x4b, 0xb0, 0x17, 0x50, 0x4b, 0xb0, 0x12, 0x53, 0x5a, 0x58, 0xb9, 0x0, 0xb, 0x0, 0x40, 0x38, 0x59, 0xfc, 0xb7, 0x6a, 0x3, 0x5c, 0x3, 0x4a, 0x3, 0x7f, 0x4, 0xb0, 0x4, 0x5d, 0x30, 0x1, 0x11, 0x23, 0x11, 0x34, 0x26, 0x2b, 0x1, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x21, 0x20, 0x16, 0x4, 0x64, 0xba, 0x91, 0xa9, 0xfd, 0x47, 0x4a, 0x29, 0x43, 0x52, 0x43, 0x86, 0x9b, 0x1, 0xb6, 0x1, 0x10, 0xe4, 0x2, 0x5e, 0xfb, 0xf8, 0x4, 0xa, 0xd0, 0xa1, 0xf0, 0x49, 0x45, 0xd, 0x98, 0x10, 0x94, 0xb0, 0x1, 0x64, 0xf5, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x4, 0x8e, 0x4, 0x60, 0x0, 0x1c, 0x0, 0x6a, 0xb7, 0x1e, 0x3, 0x8, 0xc, 0x16, 0x10, 0x8, 0x7, 0xb2, 0x0, 0x46, 0x1d, 0x10, 0xfc, 0xc4, 0xfc, 0xd4, 0xdc, 0xb4, 0x5f, 0xc, 0x3f, 0xc, 0x2, 0x5d, 0xfc, 0xdc, 0xb7, 0x3d, 0xe, 0x3d, 0xa, 0x4b, 0xe, 0x4b, 0xa, 0xb0, 0x4, 0x5d, 0x31, 0x4b, 0xb0, 0xa, 0x51, 0x58, 0xb9, 0x0, 0x1e, 0xff, 0xc0, 0x38, 0x59, 0x0, 0xb7, 0x19, 0xa9, 0x14, 0x10, 0xa9, 0x0, 0xbc, 0x9, 0xb1, 0xa9, 0x6, 0x2f, 0xec, 0xfc, 0xfc, 0x7d, 0xdc, 0xb2, 0x5f, 0x14, 0x1, 0x71, 0x18, 0xb6, 0x70, 0x14, 0x50, 0x14, 0x4a, 0x1c, 0x3, 0x5d, 0x4b, 0xb0, 0x19, 0x50, 0x4b, 0xb0, 0x12, 0x53, 0x5a, 0x58, 0xb9, 0x0, 0x14, 0x0, 0x40, 0x38, 0x59, 0xfc, 0x30, 0x13, 0x21, 0x20, 0x0, 0x10, 0x0, 0x29, 0x1, 0x35, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x1, 0x7, 0x6, 0x16, 0x33, 0x32, 0x37, 0x15, 0x6, 0x23, 0x22, 0x26, 0x35, 0xba, 0x1, 0xaa, 0x1, 0x2, 0x1, 0x28, 0xfe, 0xd7, 0xfe, 0xff, 0xfe, 0x56, 0x1, 0x5e, 0xec, 0xd1, 0xd8, 0xe4, 0xa5, 0x1, 0x1, 0x48, 0x4a, 0x29, 0x43, 0x52, 0x43, 0x86, 0x9b, 0x4, 0x60, 0xfe, 0xdc, 0xfd, 0xe8, 0xfe, 0xdc, 0x8e, 0xc0, 0xee, 0xdb, 0xba, 0xde, 0x49, 0x45, 0xd, 0x98, 0x10, 0x94, 0xb0, 0x0, 0x1, 0x0, 0x58, 0xfe, 0x56, 0x3, 0xf9, 0x4, 0x63, 0x0, 0x16, 0x0, 0x47, 0xb7, 0x18, 0x8, 0x8, 0x7, 0x3, 0xe, 0x8, 0x11, 0xb3, 0x0, 0x8, 0x16, 0x17, 0x10, 0xdc, 0xfc, 0xd4, 0xfc, 0xc4, 0xdc, 0xb2, 0x7f, 0x7, 0x1, 0x5d, 0xfc, 0xdc, 0xb7, 0x36, 0x3, 0x44, 0x3, 0x54, 0x3, 0x5, 0x3, 0xb0, 0x4, 0x5d, 0x31, 0x4b, 0xb0, 0xa, 0x51, 0x58, 0xb9, 0x0, 0x18, 0xff, 0xc0, 0x38, 0x59, 0x0, 0xb5, 0x7, 0x0, 0xbc, 0x10, 0xbd, 0x17, 0x10, 0xec, 0xfc, 0xc4, 0xb2, 0x37, 0x3, 0x1, 0x5d, 0x30, 0x1, 0x17, 0x16, 0x17, 0x3e, 0x1, 0x3d, 0x1, 0x33, 0x15, 0x14, 0xe, 0x2, 0x7, 0x11, 0x23, 0x11, 0x34, 0x2e, 0x1, 0x27, 0x3, 0x1, 0x25, 0x9f, 0x66, 0x3a, 0x75, 0x68, 0xb8, 0x3d, 0x68, 0x80, 0x48, 0xba, 0x39, 0x3d, 0x31, 0xd3, 0x4, 0x63, 0xe4, 0x92, 0x99, 0x2e, 0xc3, 0x97, 0x84, 0x84, 0x6f, 0xba, 0x7e, 0x53, 0x12, 0xfc, 0x86, 0x3, 0x26, 0x50, 0xab, 0x6a, 0x49, 0x1, 0x39, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x58, 0x0, 0x0, 0x4, 0x5, 0x4, 0x60, 0x0, 0x1a, 0x0, 0x6c, 0xb7, 0x1c, 0x46, 0x17, 0xd, 0x8, 0xc, 0x2, 0x8, 0xb2, 0x1a, 0x1, 0x1b, 0x10, 0xdc, 0xc4, 0xfc, 0xdc, 0xb0, 0xc, 0x4b, 0x51, 0xb0, 0x10, 0x4b, 0x53, 0x5a, 0x58, 0xb9, 0x0, 0xc, 0x0, 0x40, 0x38, 0xb1, 0xc, 0x0, 0x2f, 0x10, 0x59, 0xfc, 0xc4, 0xfc, 0xb7, 0x3c, 0x16, 0x3b, 0x3, 0x3f, 0x0, 0x48, 0x3, 0xb7, 0x6c, 0x0, 0x59, 0x0, 0x5f, 0x0, 0x4a, 0x16, 0xb6, 0x69, 0x16, 0x7c, 0x0, 0x3d, 0x0, 0x9, 0x5d, 0x31, 0x4b, 0xb0, 0xa, 0x51, 0x58, 0xb9, 0x0, 0x1c, 0xff, 0xc0, 0x38, 0x59, 0x0, 0xb5, 0xc, 0x1, 0xbc, 0x1a, 0xa9, 0x19, 0x2f, 0xec, 0xfc, 0xc4, 0xb7, 0x54, 0x16, 0x38, 0x3, 0x54, 0x3, 0x74, 0x3, 0xb0, 0x4, 0x5d, 0x30, 0x25, 0x1, 0x33, 0x1, 0x36, 0x37, 0x3e, 0x4, 0x35, 0x11, 0x33, 0x15, 0x14, 0xe, 0x5, 0x7, 0x1, 0x15, 0x21, 0x35, 0x2, 0xf4, 0xfd, 0x64, 0xda, 0x1, 0x83, 0x4, 0x7, 0x18, 0x1a, 0x2c, 0x18, 0x13, 0xb8, 0x12, 0x1a, 0x2e, 0x26, 0x3d, 0x24, 0x1e, 0x1, 0x3, 0xfc, 0x53, 0x8e, 0x3, 0xd2, 0xfd, 0xc9, 0x3, 0x5, 0x11, 0x16, 0x34, 0x37, 0x5a, 0x37, 0x1, 0xc, 0xb9, 0x4a, 0x7d, 0x58, 0x4d, 0x2e, 0x2f, 0x15, 0x10, 0xfe, 0x8e, 0x47, 0x8e, 0x0, 0x2, 0x0, 0xba, 0xfe, 0x56, 0x5, 0x11, 0x4, 0x5f, 0x0, 0x3, 0x0, 0xa, 0x0, 0x52, 0xb0, 0x7, 0xb7, 0xc, 0x8, 0x8, 0x5, 0xa, 0x8, 0x4, 0x1, 0xb4, 0x8, 0x2, 0x6, 0x46, 0xb, 0x10, 0xfc, 0xd4, 0xfc, 0xdc, 0xfc, 0xd4, 0xb7, 0x4f, 0x5, 0x5f, 0x5, 0x6f, 0x5, 0x7f, 0x5, 0xb0, 0x4, 0x5d, 0xfc, 0xcc, 0x31, 0x4b, 0xb0, 0xa, 0x51, 0x58, 0xb9, 0x0, 0xc, 0xff, 0xc0, 0x38, 0x59, 0x0, 0xb7, 0x2, 0x1, 0x6, 0xa9, 0x7, 0xbc, 0x0, 0xbd, 0xb0, 0x4, 0x2f, 0xec, 0xfc, 0xfc, 0xdc, 0xc4, 0xb2, 0xaf, 0x1, 0x1, 0x5d, 0xb4, 0x40, 0x9, 0x50, 0x9, 0x2, 0x71, 0x30, 0x1, 0x11, 0x7, 0x11, 0x9, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x1, 0x8c, 0xba, 0x1, 0xd3, 0x1, 0x94, 0xfc, 0x81, 0x4, 0x57, 0xfe, 0x57, 0xfe, 0x56, 0x4, 0x56, 0x4c, 0xfb, 0xf6, 0x1, 0xaa, 0x3, 0xd1, 0x8e, 0x6e, 0xfc, 0xf, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x58, 0x0, 0x0, 0x3, 0xca, 0x4, 0x60, 0x0, 0x11, 0x0, 0x40, 0xb6, 0x13, 0x46, 0x1, 0x8, 0x2, 0xa, 0x12, 0x10, 0xdc, 0xdc, 0xfc, 0xec, 0x31, 0xb0, 0xe, 0x4b, 0x54, 0xb0, 0xf, 0x4b, 0x54, 0x5b, 0x58, 0xb0, 0xc, 0x2f, 0x31, 0x59, 0x4b, 0xb0, 0xa, 0x51, 0x58, 0xb9, 0x0, 0x13, 0xff, 0xc0, 0x38, 0x59, 0x0, 0xb4, 0xa, 0xa9, 0xb, 0xbc, 0x2, 0x2f, 0xfc, 0xec, 0x30, 0x4b, 0xb0, 0x10, 0x50, 0x58, 0xb1, 0x3, 0x0, 0x2f, 0x2f, 0x30, 0x59, 0x1, 0x11, 0x23, 0x11, 0x34, 0x2e, 0x3, 0x23, 0x21, 0x35, 0x21, 0x32, 0x1e, 0x3, 0x3, 0xca, 0xba, 0x15, 0x33, 0x50, 0x7e, 0x52, 0xfe, 0xb0, 0x1, 0x4f, 0x7e, 0xbf, 0x7a, 0x4d, 0x1f, 0x2, 0x3a, 0xfd, 0xc6, 0x2, 0x3a, 0x49, 0x76, 0x69, 0x46, 0x29, 0x8f, 0x35, 0x5d, 0x8d, 0xa1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x58, 0x0, 0x0, 0x5, 0x53, 0x4, 0x60, 0x0, 0x28, 0x0, 0xa2, 0xb7, 0x2a, 0x20, 0x8, 0x1f, 0xf, 0x8, 0xe, 0x3, 0xb6, 0x8, 0x2, 0x16, 0x8, 0x1, 0x2, 0x29, 0x10, 0xdc, 0xd4, 0xfc, 0x10, 0xfc, 0xdc, 0xb4, 0x10, 0xe, 0x0, 0xe, 0x2, 0x5d, 0xfc, 0xdc, 0xb7, 0x48, 0x6, 0x3b, 0x6, 0x2b, 0x6, 0x10, 0x1f, 0xb7, 0x0, 0x1f, 0x50, 0x0, 0x60, 0x0, 0x70, 0x0, 0xb0, 0x8, 0x5d, 0xfc, 0xdc, 0x4b, 0xb0, 0xb, 0x50, 0x58, 0xbb, 0x0, 0x16, 0xff, 0xc0, 0x0, 0x1, 0xff, 0xc0, 0x38, 0x38, 0x31, 0xb1, 0x4, 0x15, 0x2f, 0x7d, 0x2f, 0x18, 0x59, 0xb7, 0x20, 0x0, 0x30, 0x0, 0x57, 0x15, 0x57, 0x4, 0xb0, 0x4, 0x5d, 0x31, 0xb7, 0x66, 0x13, 0x67, 0x4, 0x77, 0x4, 0x76, 0x13, 0xb2, 0x87, 0x4, 0x5, 0x5d, 0x4b, 0xb0, 0xa, 0x51, 0x58, 0xb9, 0x0, 0x2a, 0xff, 0xc0, 0x38, 0x59, 0x0, 0xb7, 0x15, 0xa9, 0x4, 0x1f, 0xe, 0x2, 0xbc, 0x16, 0xb1, 0xa9, 0x0, 0x2f, 0xec, 0xfc, 0xc4, 0xc4, 0xdc, 0xb7, 0xaf, 0x4, 0x1f, 0x4, 0x2f, 0x4, 0x9f, 0x4, 0xb0, 0x4, 0x5d, 0xec, 0xb6, 0x43, 0x1d, 0x43, 0x22, 0x48, 0x25, 0x3, 0x5d, 0x30, 0x21, 0x23, 0x3, 0x33, 0x13, 0x3e, 0x8, 0x37, 0x33, 0x2, 0x7, 0x6, 0x7, 0x6, 0x7, 0x13, 0x32, 0x3e, 0x6, 0x37, 0x33, 0xe, 0x7, 0x1, 0xae, 0xbc, 0x9a, 0xb9, 0x49, 0x30, 0x4b, 0x38, 0x28, 0x1d, 0x11, 0xf, 0x8, 0xd, 0x6, 0xa5, 0x12, 0x18, 0x29, 0x6c, 0x5f, 0xa7, 0x2b, 0x62, 0x97, 0x92, 0x6b, 0x63, 0x45, 0x38, 0x22, 0xa, 0xb9, 0x12, 0x2a, 0x3d, 0x4b, 0x69, 0x81, 0xab, 0xcb, 0x4, 0x60, 0xfd, 0xf1, 0x1, 0xf, 0x21, 0x23, 0x40, 0x35, 0x5d, 0x45, 0x79, 0x2b, 0xfe, 0xfc, 0x67, 0xab, 0x45, 0x3d, 0x6, 0xfe, 0xcd, 0xf, 0x28, 0x43, 0x69, 0x92, 0xc5, 0xfa, 0x9d, 0xa6, 0xfc, 0xe4, 0xa3, 0x89, 0x57, 0x3d, 0x1a, 0x0, 0x1, 0x0, 0x14, 0xff, 0xf8, 0x4, 0x88, 0x4, 0x60, 0x0, 0x1e, 0x0, 0x49, 0xb7, 0x20, 0x46, 0x1, 0x8, 0x3, 0xa, 0x8, 0x17, 0xb3, 0x8, 0x18, 0x11, 0x1f, 0x10, 0xdc, 0xd4, 0xfc, 0xfc, 0xdc, 0xfc, 0xfc, 0x31, 0xb4, 0xd0, 0x19, 0xd0, 0x18, 0x2, 0x5d, 0x4b, 0xb0, 0xa, 0x51, 0x58, 0xb9, 0x0, 0x20, 0xff, 0xc0, 0x38, 0x59, 0x0, 0xb7, 0x13, 0xa9, 0xe, 0x1, 0xa, 0xa9, 0x18, 0xa9, 0xb2, 0x19, 0xbc, 0x1, 0x2f, 0xfc, 0xec, 0xfc, 0x10, 0xd4, 0xfc, 0xb6, 0x7f, 0x3, 0x6a, 0x3, 0x5b, 0x3, 0x3, 0x5d, 0x30, 0x1, 0x11, 0x23, 0x11, 0x34, 0x2e, 0x3, 0x2b, 0x1, 0x11, 0x14, 0x6, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x23, 0x35, 0x21, 0x32, 0x1e, 0x2, 0x4, 0x88, 0xba, 0xa, 0x24, 0x40, 0x70, 0x50, 0xf6, 0x7b, 0x98, 0x35, 0x4e, 0x41, 0x26, 0x47, 0x2e, 0xad, 0x2, 0x5d, 0x8f, 0xc1, 0x6c, 0x2c, 0x2, 0x5e, 0xfd, 0xa2, 0x2, 0x60, 0x4a, 0x63, 0x65, 0x3a, 0x25, 0xfd, 0xcd, 0xd6, 0xd0, 0x10, 0x8f, 0xe, 0x72, 0xa3, 0x2, 0x33, 0x8f, 0x43, 0x8a, 0xb4, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x3, 0xa, 0x4, 0x60, 0x10, 0x27, 0x5, 0x2b, 0x1, 0x96, 0x0, 0x0, 0x10, 0x6, 0x5, 0x2b, 0x0, 0x0, 0xff, 0xff, 0x0, 0x88, 0x0, 0x0, 0x2, 0xa8, 0x4, 0x60, 0x10, 0x27, 0x5, 0x2b, 0x1, 0x34, 0x0, 0x0, 0x10, 0x6, 0x5, 0x2f, 0x0, 0x0, 0xff, 0xff, 0x0, 0x88, 0x1, 0xa2, 0x2, 0x7f, 0x4, 0x60, 0x10, 0x27, 0x5, 0x2f, 0x1, 0x3d, 0x0, 0x0, 0x10, 0x6, 0x5, 0x2f, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0x2, 0xe4, 0x2, 0x99, 0x4, 0x60, 0x0, 0x3, 0x0, 0x14, 0x40, 0x9, 0x2, 0xb4, 0x0, 0xbc, 0x4, 0x3, 0x44, 0x1, 0x4, 0x10, 0xd4, 0xec, 0x31, 0x0, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x33, 0x1, 0x23, 0x1, 0xd2, 0xc7, 0xfe, 0xba, 0x99, 0x4, 0x60, 0xfe, 0x84, 0x0, 0x2, 0x0, 0xba, 0x2, 0xe4, 0x4, 0x6e, 0x4, 0x60, 0x0, 0x3, 0x0, 0x7, 0x0, 0x1d, 0x40, 0xe, 0x3, 0x7, 0xb4, 0x1, 0x5, 0xbc, 0x8, 0x3, 0x44, 0x1, 0x7, 0x44, 0x5, 0x8, 0x10, 0xd4, 0xec, 0xdc, 0xec, 0x31, 0x0, 0x10, 0xf4, 0x3c, 0xec, 0x32, 0x30, 0x1, 0x33, 0x1, 0x23, 0x3, 0x33, 0x1, 0x23, 0x3, 0xa7, 0xc7, 0xfe, 0xba, 0x99, 0xbd, 0xc7, 0xfe, 0xba, 0x99, 0x4, 0x60, 0xfe, 0x84, 0x1, 0x7c, 0xfe, 0x84, 0x0, 0x2, 0x0, 0x0, 0xff, 0xd7, 0x4, 0xdc, 0x7, 0x22, 0x0, 0x25, 0x0, 0x30, 0x0, 0x0, 0x1, 0x16, 0x17, 0x16, 0x15, 0x23, 0x34, 0x27, 0x26, 0x27, 0x33, 0x16, 0x17, 0x16, 0x37, 0x36, 0x37, 0x36, 0x35, 0x33, 0x14, 0x17, 0x16, 0x17, 0x16, 0x37, 0x36, 0x35, 0x33, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x6, 0x7, 0x6, 0x25, 0x9, 0x1, 0x5, 0x7, 0x27, 0x1, 0x23, 0x1, 0x23, 0x35, 0x2, 0xb1, 0xf, 0xa, 0x14, 0x72, 0x17, 0x1f, 0x62, 0x7b, 0x1e, 0x19, 0xd, 0x1d, 0x2e, 0x5, 0x4, 0x71, 0x9, 0xe, 0x1d, 0x26, 0x9, 0x8, 0x71, 0x18, 0x2d, 0x61, 0x54, 0x15, 0x20, 0x21, 0x1d, 0xfd, 0xf6, 0x2, 0x4, 0x1, 0x0, 0x1, 0x1b, 0x19, 0x7d, 0xfe, 0xc1, 0x42, 0xfd, 0xae, 0x73, 0x6, 0x16, 0x31, 0x32, 0x6a, 0xff, 0xee, 0x7b, 0xa2, 0xcd, 0x40, 0x45, 0x23, 0x4, 0x7, 0x24, 0x1c, 0x5d, 0x7d, 0xd, 0x15, 0x1, 0x1, 0x18, 0x18, 0x71, 0xab, 0x21, 0x3c, 0x22, 0x1c, 0x7, 0x5, 0x69, 0xfa, 0x8d, 0x2, 0xc5, 0x62, 0x50, 0x2d, 0xfc, 0x8d, 0x6, 0x46, 0x60, 0x0, 0x2, 0x0, 0x0, 0xff, 0xd7, 0x4, 0xdc, 0x7, 0x29, 0x0, 0x2a, 0x0, 0x35, 0x0, 0x0, 0x1, 0x15, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x15, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x32, 0x37, 0x36, 0x37, 0x15, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x35, 0x26, 0x37, 0x36, 0x5, 0x9, 0x1, 0x5, 0x7, 0x27, 0x1, 0x23, 0x1, 0x23, 0x35, 0x3, 0xa8, 0x4d, 0x40, 0x56, 0x3a, 0x31, 0x31, 0x38, 0x55, 0x46, 0x1e, 0x25, 0x2f, 0x3e, 0x37, 0x50, 0x36, 0x2e, 0x4e, 0x40, 0x3f, 0x5e, 0x47, 0x3f, 0x44, 0x29, 0x37, 0x2d, 0x1c, 0x23, 0x1, 0x8e, 0x46, 0xfd, 0x96, 0x2, 0x4, 0x1, 0x0, 0x1, 0x1b, 0x19, 0x7d, 0xfe, 0xc1, 0x42, 0xfd, 0xae, 0x73, 0x7, 0x29, 0x5e, 0xa, 0x1d, 0x26, 0x23, 0x14, 0x20, 0x1b, 0x2, 0x5c, 0x2a, 0x24, 0x40, 0x2e, 0x22, 0x29, 0x1, 0xd, 0x13, 0x18, 0x6e, 0x14, 0x10, 0xd, 0x46, 0x3e, 0x5d, 0x4b, 0x48, 0x2a, 0xe, 0x12, 0x1a, 0x21, 0x23, 0x54, 0x48, 0x23, 0x9d, 0xfa, 0x8d, 0x2, 0xc5, 0x62, 0x50, 0x2d, 0xfc, 0x8d, 0x6, 0x46, 0x60, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x85, 0x0, 0x0, 0x5, 0x7a, 0x5, 0x14, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x0, 0x25, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x1, 0x33, 0x15, 0x23, 0x25, 0x33, 0x1, 0x23, 0x4, 0xc6, 0xb4, 0xb4, 0xfe, 0x3e, 0xb4, 0xb4, 0xfd, 0x8f, 0xb4, 0xb4, 0x2, 0x94, 0xa0, 0xfd, 0x5e, 0xa0, 0xfa, 0xfa, 0xfa, 0xfa, 0x5, 0x14, 0xfa, 0xfa, 0xfa, 0xec, 0x0, 0x5, 0x0, 0x85, 0x0, 0x0, 0x7, 0x3c, 0x5, 0x14, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x13, 0x0, 0x0, 0x25, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x1, 0x33, 0x15, 0x23, 0x25, 0x33, 0x1, 0x23, 0x6, 0x88, 0xb4, 0xb4, 0xfe, 0x3e, 0xb4, 0xb4, 0xfe, 0x3e, 0xb4, 0xb4, 0xfd, 0x8f, 0xb4, 0xb4, 0x2, 0x94, 0xa0, 0xfd, 0x5e, 0xa0, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0x5, 0x14, 0xfa, 0xfa, 0xfa, 0xec, 0x0, 0x1, 0x0, 0xdb, 0x0, 0x0, 0x2, 0x0, 0x1, 0xec, 0x0, 0x5, 0x0, 0x0, 0x21, 0x23, 0x35, 0x13, 0x33, 0x3, 0x1, 0xae, 0xd3, 0xa4, 0x81, 0x52, 0xac, 0x1, 0x40, 0xfe, 0xc0, 0x0, 0x0, 0x2, 0x0, 0xfc, 0x4, 0xfd, 0x3, 0x5, 0x6, 0xf1, 0x0, 0xa, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x7, 0x6, 0x17, 0x2b, 0x1, 0x35, 0x33, 0x11, 0x33, 0x11, 0x36, 0x37, 0x36, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x1, 0xcd, 0x37, 0x4e, 0x16, 0x35, 0x1e, 0x1, 0x47, 0x34, 0x18, 0xaf, 0x70, 0x51, 0x66, 0x24, 0x68, 0x3f, 0x46, 0x41, 0x40, 0x36, 0x5, 0x62, 0xd, 0x21, 0x15, 0x20, 0x10, 0x1, 0x1c, 0x15, 0xa8, 0x65, 0x1, 0x8f, 0xfe, 0xbf, 0x49, 0x28, 0x18, 0x1a, 0x19, 0x52, 0x5b, 0x32, 0x2a, 0x0, 0x0, 0x2, 0x0, 0xdb, 0x0, 0x0, 0x2, 0x0, 0x5, 0x11, 0x0, 0x5, 0x0, 0x9, 0x0, 0x0, 0x1, 0x23, 0x35, 0x13, 0x33, 0xb, 0x1, 0x33, 0x15, 0x23, 0x1, 0xae, 0xd3, 0xa4, 0x81, 0x52, 0xd3, 0xd3, 0xd3, 0x3, 0x25, 0xac, 0x1, 0x40, 0xfe, 0xc0, 0xfd, 0x2d, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x93, 0x0, 0x0, 0x3, 0xb0, 0x5, 0xf0, 0x0, 0x3, 0x0, 0x24, 0x0, 0x0, 0x25, 0x15, 0x23, 0x35, 0x37, 0x35, 0x34, 0x26, 0x27, 0x2e, 0x1, 0x2f, 0x1, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1f, 0x1, 0x1e, 0x1, 0x1d, 0x1, 0x2, 0xbc, 0xcb, 0x6, 0x6, 0x6, 0x8, 0x27, 0x2f, 0x58, 0x5a, 0x48, 0xdf, 0xb8, 0x67, 0xc1, 0x5e, 0x61, 0xb3, 0x4f, 0x6c, 0x83, 0x33, 0x39, 0x5a, 0x5a, 0x38, 0xfe, 0xfe, 0xfe, 0x93, 0x7b, 0x34, 0x3c, 0x15, 0x19, 0x35, 0x2f, 0x56, 0x56, 0x89, 0x4c, 0x9f, 0xc2, 0x38, 0x39, 0xbc, 0x43, 0x46, 0x6e, 0x59, 0x31, 0x5e, 0x35, 0x59, 0x56, 0x82, 0x65, 0x9a, 0x0, 0x1, 0x0, 0xa3, 0x0, 0x55, 0x3, 0x1e, 0x3, 0xde, 0x0, 0x22, 0x0, 0x0, 0x37, 0x35, 0x36, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x7, 0x6, 0x7, 0x6, 0x17, 0x14, 0x17, 0x16, 0x37, 0x36, 0x37, 0x15, 0x6, 0x7, 0x6, 0xa3, 0x2f, 0x53, 0x44, 0x34, 0x8e, 0x33, 0x35, 0x15, 0x1e, 0x67, 0x63, 0x62, 0x6e, 0x5a, 0x64, 0x46, 0x33, 0x31, 0x60, 0x1, 0xc8, 0x39, 0x3a, 0x48, 0x3a, 0x5a, 0xcd, 0xe7, 0x55, 0xb0, 0x6, 0x19, 0x14, 0x21, 0x18, 0x4c, 0x4f, 0x54, 0x41, 0x4b, 0x76, 0x3f, 0x3d, 0x16, 0xb9, 0x1f, 0x2, 0x1, 0x1a, 0x30, 0x70, 0x73, 0x32, 0xe, 0xf, 0x13, 0x23, 0xb9, 0x3c, 0x50, 0x5a, 0x0, 0xff, 0xff, 0xff, 0xb5, 0x0, 0x0, 0x2, 0x85, 0x7, 0x83, 0x10, 0x27, 0x5, 0x7b, 0xff, 0x1d, 0x1, 0xc2, 0x10, 0x6, 0x5, 0x54, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6c, 0x0, 0x0, 0x1, 0xc3, 0x7, 0xfd, 0x10, 0x27, 0x5, 0x7c, 0xff, 0x1d, 0x1, 0x86, 0x10, 0x6, 0x5, 0x54, 0x0, 0x0, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x3, 0x40, 0x4, 0xb5, 0x10, 0x27, 0x5, 0x7c, 0xff, 0xc2, 0xfe, 0x3e, 0x10, 0x6, 0x5, 0x70, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6c, 0xfe, 0xc, 0x1, 0xc3, 0x6, 0x14, 0x10, 0x27, 0x5, 0x7d, 0xff, 0x1d, 0x0, 0x0, 0x10, 0x6, 0x5, 0x54, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xf3, 0x5, 0xc0, 0x4, 0xb5, 0x10, 0x27, 0x5, 0x7c, 0xff, 0xf4, 0xfe, 0x3e, 0x10, 0x6, 0x5, 0x71, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc1, 0x0, 0x0, 0x1, 0x79, 0x6, 0x14, 0x0, 0x3, 0x0, 0x0, 0x13, 0x33, 0x11, 0x23, 0xc1, 0xb8, 0xb8, 0x6, 0x14, 0xf9, 0xec, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xa2, 0x6, 0xeb, 0x2, 0x9d, 0x10, 0x26, 0x5, 0x8e, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x3, 0x39, 0xfe, 0xa2, 0xff, 0xff, 0x0, 0x8b, 0xff, 0xc6, 0x3, 0xa0, 0x4, 0x1a, 0x10, 0x26, 0x5, 0x6f, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x0, 0xfa, 0x3, 0x84, 0xff, 0xff, 0x0, 0x82, 0xff, 0xec, 0x6, 0xeb, 0x3, 0x20, 0x10, 0x26, 0x5, 0x8e, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x2, 0xbc, 0x2, 0x8a, 0xff, 0xff, 0x0, 0x82, 0xff, 0xec, 0x6, 0xeb, 0x4, 0x1a, 0x10, 0x26, 0x5, 0x8e, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x2, 0xbc, 0x2, 0x8a, 0xff, 0xff, 0x0, 0x9d, 0xfe, 0xc, 0x5, 0x28, 0x3, 0x66, 0x10, 0x26, 0x5, 0x5a, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x3, 0x7, 0x0, 0x19, 0x0, 0x1, 0x0, 0x9d, 0xfe, 0xc, 0x5, 0x28, 0x3, 0x66, 0x0, 0x1e, 0x0, 0x0, 0x13, 0x24, 0x33, 0x20, 0x17, 0x15, 0x20, 0x7, 0x6, 0x11, 0x14, 0x17, 0x16, 0x21, 0x32, 0x37, 0x15, 0x6, 0x23, 0x20, 0x27, 0x26, 0x35, 0x10, 0x37, 0x36, 0x37, 0x22, 0x7, 0x6, 0x7, 0x9d, 0x1, 0x14, 0xc3, 0x1, 0x24, 0xc4, 0xfe, 0xda, 0xd7, 0xe0, 0x4a, 0x7f, 0x1, 0x4b, 0xc1, 0xd4, 0x96, 0xfa, 0xfe, 0x5e, 0xa9, 0x83, 0xd4, 0x60, 0x89, 0x65, 0x9f, 0x7e, 0x68, 0x3, 0x27, 0x3f, 0x36, 0x9a, 0xa7, 0xae, 0xfe, 0xfb, 0x87, 0x60, 0xa4, 0x76, 0xb8, 0x63, 0xc2, 0x96, 0xe0, 0x1, 0x2, 0xdf, 0x65, 0x34, 0x13, 0xf, 0x2d, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x9d, 0xfe, 0xc, 0x5, 0x28, 0x4, 0xb0, 0x10, 0x26, 0x5, 0x5a, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x2, 0x3f, 0x4, 0x1a, 0x0, 0x1, 0x0, 0x7d, 0xff, 0xda, 0x3, 0x1b, 0x3, 0x52, 0x0, 0x19, 0x0, 0x0, 0x25, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x33, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x5, 0x6, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x1, 0x87, 0xac, 0x23, 0x8, 0x3c, 0x42, 0xad, 0xe3, 0x71, 0x42, 0x52, 0x20, 0x50, 0xfe, 0xfa, 0x2e, 0x2d, 0x66, 0x67, 0x73, 0x54, 0x21, 0x97, 0x31, 0x70, 0x1b, 0x2a, 0x4e, 0x74, 0x81, 0x92, 0x5b, 0x7c, 0x98, 0x69, 0x63, 0x4b, 0xc2, 0x29, 0x7, 0x26, 0xb8, 0x2a, 0xff, 0xff, 0x0, 0x7d, 0xff, 0xda, 0x3, 0x1b, 0x4, 0xb0, 0x10, 0x26, 0x5, 0x5c, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x1, 0x45, 0x4, 0x1a, 0x0, 0x1, 0xff, 0xab, 0xfe, 0xc, 0x3, 0x62, 0x2, 0x26, 0x0, 0x11, 0x0, 0x0, 0x25, 0x36, 0x35, 0x34, 0x27, 0x33, 0x16, 0x15, 0x14, 0x7, 0x2, 0x5, 0x4, 0x21, 0x35, 0x20, 0x37, 0x36, 0x2, 0xa3, 0xa, 0x35, 0xb8, 0x32, 0x8, 0x2e, 0xfe, 0xdd, 0xfe, 0xe4, 0xfe, 0xbe, 0x1, 0x30, 0xcb, 0xda, 0x9e, 0x3a, 0x48, 0x7e, 0x88, 0x76, 0x84, 0x52, 0x3e, 0xfe, 0xa2, 0x9b, 0x97, 0xb8, 0x80, 0x8a, 0x0, 0x0, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x3, 0x62, 0x3, 0xb6, 0x10, 0x26, 0x5, 0x5e, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x2, 0x71, 0x3, 0x20, 0x0, 0x1, 0x0, 0x82, 0xfe, 0xc, 0x9, 0x1a, 0x2, 0xee, 0x0, 0x3f, 0x0, 0x0, 0x25, 0x6, 0x7, 0x6, 0x7, 0x6, 0x23, 0x26, 0x27, 0x24, 0x11, 0x34, 0x37, 0x33, 0x6, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x27, 0x26, 0x2f, 0x1, 0x33, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x33, 0x14, 0x17, 0x16, 0x33, 0x32, 0x19, 0x1, 0x33, 0x11, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x6, 0x7, 0x6, 0x7, 0x6, 0x4, 0xfc, 0x18, 0x54, 0x85, 0xc1, 0x50, 0x78, 0x80, 0x6d, 0xfe, 0xed, 0x69, 0xb8, 0x6c, 0x1, 0x1, 0x93, 0x5f, 0x51, 0x62, 0x5f, 0x79, 0x5e, 0x40, 0x1, 0x1, 0x10, 0x40, 0xb8, 0x24, 0x10, 0x1c, 0x3b, 0x73, 0x52, 0x2c, 0x25, 0xb8, 0x13, 0x40, 0x6e, 0x8e, 0xb8, 0x5c, 0x4b, 0x66, 0x25, 0x20, 0x49, 0x30, 0x8a, 0x11, 0x31, 0x5f, 0x32, 0x46, 0x84, 0x2c, 0xb3, 0x6b, 0xaa, 0x3e, 0x1a, 0x1, 0x1c, 0x47, 0x1, 0x48, 0xf6, 0xb4, 0xce, 0xdc, 0xb3, 0x26, 0x18, 0x25, 0x30, 0x9e, 0x6c, 0x8e, 0x7d, 0x3d, 0xea, 0x9c, 0x4a, 0x3c, 0x81, 0x7a, 0x67, 0xc2, 0xcd, 0x32, 0xa9, 0x1, 0x18, 0x1, 0x26, 0xfe, 0xaa, 0xc7, 0x71, 0x5c, 0x18, 0x9, 0x19, 0x46, 0x7b, 0x9f, 0x1e, 0xf, 0x3, 0x6, 0x0, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0x9, 0x1a, 0x4, 0xb0, 0x10, 0x26, 0x5, 0x60, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x4, 0xe2, 0x3, 0x20, 0x0, 0x2, 0x0, 0x82, 0xfe, 0xc, 0x9, 0x13, 0x2, 0xe5, 0x0, 0x32, 0x0, 0x3f, 0x0, 0x0, 0x5, 0x6, 0x7, 0x6, 0x23, 0x26, 0x27, 0x24, 0x11, 0x34, 0x37, 0x33, 0x6, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x33, 0x6, 0x17, 0x16, 0x17, 0x36, 0x37, 0x36, 0x37, 0x36, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x29, 0x1, 0x22, 0x27, 0x26, 0x35, 0x14, 0x1, 0x22, 0x7, 0x6, 0x7, 0x33, 0x32, 0x37, 0x36, 0x27, 0x26, 0x27, 0x26, 0x4, 0x90, 0x58, 0xee, 0x50, 0x78, 0x80, 0x6d, 0xfe, 0xed, 0x69, 0xb8, 0x6c, 0x1, 0x1, 0x93, 0x5f, 0x51, 0x66, 0x5b, 0xa2, 0x2b, 0x21, 0x27, 0xab, 0x1, 0xe, 0xa, 0x28, 0x73, 0x7b, 0x7e, 0x81, 0x4f, 0x51, 0x7d, 0x61, 0xba, 0xb8, 0xca, 0xfe, 0xe4, 0xfe, 0xec, 0x26, 0x34, 0x2d, 0x2, 0xa1, 0x4c, 0x7e, 0xa8, 0x91, 0xbb, 0xed, 0x81, 0xbb, 0x1, 0x2, 0x89, 0x25, 0xf2, 0x9b, 0x4d, 0x1a, 0x1, 0x1c, 0x47, 0x1, 0x48, 0xf6, 0xb4, 0xce, 0xdc, 0xb3, 0x26, 0x18, 0x25, 0x44, 0x8a, 0x6c, 0x7f, 0x93, 0x8a, 0xf, 0x37, 0x28, 0x32, 0x92, 0x6c, 0x6e, 0x36, 0x22, 0x1, 0x2, 0x25, 0x47, 0xe9, 0xa9, 0x6d, 0x78, 0x1e, 0x1a, 0x10, 0xba, 0x2, 0xa9, 0x51, 0x6c, 0xc2, 0x3f, 0x5b, 0x46, 0x87, 0x13, 0x5, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0x9, 0x13, 0x3, 0xb6, 0x10, 0x26, 0x5, 0x62, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x4, 0xfb, 0x3, 0x20, 0x0, 0x2, 0x0, 0x90, 0x0, 0x0, 0x6, 0xdc, 0x6, 0x14, 0x0, 0xc, 0x0, 0x1f, 0x0, 0x0, 0x25, 0x33, 0x32, 0x37, 0x36, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x13, 0x29, 0x1, 0x35, 0x21, 0x11, 0x33, 0x11, 0x12, 0x25, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x3, 0x41, 0xbb, 0xed, 0x81, 0xbb, 0x1, 0x2, 0x89, 0x25, 0x30, 0x50, 0x7a, 0xb1, 0x75, 0xfd, 0xc1, 0xfe, 0x91, 0x1, 0x6f, 0xb8, 0xd9, 0x1, 0x14, 0x5c, 0x44, 0x78, 0x66, 0xba, 0xb8, 0xca, 0xb8, 0x3f, 0x5d, 0x44, 0x87, 0x13, 0x5, 0x51, 0x78, 0xfe, 0x92, 0xb8, 0x5, 0x5c, 0xfb, 0xe, 0x1, 0x3f, 0x63, 0x21, 0x27, 0x45, 0xeb, 0xa9, 0x6d, 0x78, 0x0, 0x0, 0xff, 0xff, 0x0, 0x90, 0x0, 0x0, 0x6, 0xdc, 0x6, 0x14, 0x10, 0x26, 0x5, 0x64, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x3, 0xcf, 0x3, 0x52, 0x0, 0x1, 0x0, 0x75, 0xfe, 0xc, 0x4, 0xb2, 0x4, 0x2a, 0x0, 0x2a, 0x0, 0x0, 0x5, 0x16, 0x21, 0x32, 0x37, 0x15, 0x6, 0x23, 0x20, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x15, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x15, 0x4, 0x7, 0x6, 0x15, 0x14, 0x1, 0x53, 0x77, 0x1, 0x53, 0xc1, 0xd4, 0x96, 0xfa, 0xfe, 0x5b, 0xa6, 0x62, 0x57, 0x71, 0x4d, 0x33, 0x2f, 0x58, 0xcc, 0x7c, 0xfc, 0xc3, 0x74, 0x5d, 0x30, 0x2d, 0x2e, 0x28, 0x29, 0x9e, 0xfe, 0xfe, 0xef, 0xec, 0xd1, 0xb1, 0x9e, 0x76, 0xb8, 0x63, 0xbc, 0x6f, 0xc9, 0xb1, 0x65, 0x83, 0x19, 0x4, 0x1e, 0x38, 0x82, 0xd0, 0x7f, 0x4d, 0xa9, 0x41, 0x34, 0x68, 0x4b, 0x19, 0x18, 0x12, 0x45, 0x1d, 0xb8, 0x1a, 0x95, 0x83, 0xb9, 0x75, 0xff, 0xff, 0x0, 0x75, 0xfe, 0xc, 0x4, 0xb2, 0x5, 0x46, 0x10, 0x26, 0x5, 0x66, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x1, 0x77, 0x4, 0xb0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x2, 0x6c, 0x0, 0xb8, 0x0, 0x3, 0x0, 0x0, 0x23, 0x35, 0x21, 0x15, 0x14, 0x2, 0x80, 0xb8, 0xb8, 0x0, 0xff, 0xff, 0x0, 0x82, 0xff, 0xa4, 0x7, 0x9e, 0x5, 0x14, 0x10, 0x26, 0x5, 0xba, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x5, 0xf5, 0x4, 0x7e, 0xff, 0xff, 0x0, 0x6b, 0xfe, 0x48, 0x5, 0x9b, 0x5, 0x14, 0x10, 0x26, 0x5, 0x8f, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x3, 0x52, 0x4, 0x7e, 0x0, 0x2, 0x0, 0x90, 0xff, 0xc9, 0x5, 0xc7, 0x6, 0x14, 0x0, 0x21, 0x0, 0x3d, 0x0, 0x0, 0x1, 0x15, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x37, 0x36, 0x37, 0x36, 0x1, 0x36, 0x19, 0x1, 0x33, 0x11, 0x10, 0x7, 0x6, 0x7, 0x6, 0x27, 0x26, 0x27, 0x24, 0x35, 0x34, 0x37, 0x33, 0x6, 0x15, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x3, 0xd0, 0x4a, 0x26, 0x50, 0xe, 0xc, 0x44, 0x66, 0x58, 0x52, 0x4e, 0x42, 0x38, 0x44, 0x2d, 0x3c, 0x39, 0x3c, 0x4e, 0x4a, 0x12, 0x20, 0x1, 0x2, 0x4b, 0x55, 0x1, 0x66, 0x4c, 0xb8, 0x6e, 0x95, 0xdd, 0x88, 0x76, 0xcf, 0x65, 0xfe, 0xdb, 0x10, 0xb8, 0xe, 0x2, 0xa0, 0x79, 0x7f, 0x8c, 0x59, 0x98, 0x4, 0x6f, 0x52, 0x4, 0xe, 0x1e, 0x21, 0x1c, 0x12, 0x10, 0xa, 0xf, 0x58, 0x6e, 0x2a, 0x27, 0xb, 0x58, 0xa, 0x1a, 0x1a, 0x1e, 0x26, 0x11, 0x10, 0x1c, 0x2f, 0x2e, 0x51, 0x26, 0x2b, 0xfc, 0xae, 0x49, 0x1, 0x1, 0x3, 0xb1, 0xfc, 0x4f, 0xfe, 0xb9, 0x7b, 0xa7, 0x1f, 0x13, 0x1, 0x2, 0x1e, 0x58, 0xc3, 0x4b, 0x35, 0x3a, 0x2c, 0x5c, 0x2e, 0x23, 0x1b, 0x2f, 0x0, 0x1, 0x0, 0x90, 0xfe, 0xc8, 0x5, 0x18, 0x6, 0x14, 0x0, 0x1b, 0x0, 0x0, 0x25, 0x36, 0x35, 0x11, 0x33, 0x11, 0x10, 0x7, 0x6, 0x5, 0x6, 0x23, 0x22, 0x27, 0x24, 0x3, 0x26, 0x37, 0x33, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x4, 0x12, 0x4e, 0xb8, 0x62, 0x79, 0xfe, 0xfb, 0x86, 0x55, 0x5f, 0x49, 0xfe, 0xdc, 0x1, 0x1, 0x40, 0xb8, 0x41, 0xa6, 0x28, 0x49, 0x50, 0x6d, 0xae, 0x49, 0x7e, 0xe3, 0x4, 0x6a, 0xfb, 0x96, 0xfe, 0xc3, 0x90, 0xb1, 0x42, 0x22, 0x16, 0x5c, 0x1, 0x11, 0x8a, 0x5c, 0x73, 0x73, 0x82, 0x3e, 0x10, 0x22, 0x35, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x8c, 0xfe, 0x14, 0x4, 0x5e, 0x2, 0xf3, 0x0, 0x11, 0x0, 0x2e, 0x0, 0x0, 0x1, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x7, 0x26, 0x7, 0x6, 0x15, 0x11, 0x23, 0x11, 0x34, 0x37, 0x36, 0x33, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x6, 0x2, 0x62, 0x7a, 0x4c, 0x2c, 0x15, 0x35, 0x6, 0x15, 0x3b, 0x28, 0x2e, 0x3b, 0x1b, 0x44, 0x6e, 0x32, 0x4b, 0x19, 0xc8, 0x78, 0x41, 0x5a, 0x2, 0xa2, 0x4d, 0x5c, 0x4d, 0x4f, 0xb6, 0x1c, 0x8, 0x62, 0x78, 0x58, 0xb2, 0x1, 0x27, 0x2a, 0x16, 0x39, 0x3a, 0x18, 0x14, 0x58, 0x11, 0xc, 0x1b, 0x44, 0x44, 0x28, 0xc1, 0x1c, 0x4e, 0x1a, 0x4f, 0xfe, 0x14, 0x1, 0xec, 0xad, 0x66, 0x37, 0x2a, 0x28, 0x94, 0x84, 0x3f, 0x24, 0x53, 0xa7, 0x2d, 0x38, 0x92, 0x41, 0x50, 0x2, 0xff, 0xff, 0x0, 0x93, 0xfe, 0xb5, 0x5, 0x48, 0x3, 0xb6, 0x10, 0x26, 0x5, 0xd3, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x2, 0x3f, 0x3, 0x20, 0x0, 0x2, 0x0, 0x8b, 0xff, 0xc6, 0x3, 0xa0, 0x2, 0xde, 0x0, 0xf, 0x0, 0x1f, 0x0, 0x0, 0x1, 0x22, 0x7, 0x6, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x32, 0x17, 0x16, 0x15, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x1, 0xbb, 0x42, 0x21, 0x1a, 0x1, 0x1, 0x37, 0x39, 0x39, 0x5b, 0x5d, 0x4b, 0x42, 0x7b, 0x98, 0xc6, 0xb6, 0x8d, 0x1, 0x93, 0xa5, 0x84, 0x60, 0x51, 0xa7, 0x25, 0x54, 0x2, 0x2a, 0x57, 0x45, 0x7b, 0x52, 0x2c, 0x2c, 0x39, 0x2e, 0x55, 0x4d, 0x41, 0x78, 0xb3, 0xa0, 0x7c, 0x94, 0xc8, 0x4b, 0x55, 0x23, 0x4a, 0xef, 0xb5, 0x4e, 0xb9, 0x0, 0x0, 0x2, 0xff, 0xab, 0xfe, 0xc, 0x3, 0x40, 0x2, 0x86, 0x0, 0xb, 0x0, 0x26, 0x0, 0x0, 0x1, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x34, 0x27, 0x26, 0x1, 0x10, 0x7, 0x6, 0x7, 0x6, 0x21, 0x35, 0x20, 0x37, 0x36, 0x37, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x1, 0xee, 0x3f, 0x2c, 0x18, 0x33, 0x2f, 0xc0, 0x56, 0x25, 0x1, 0x2e, 0xac, 0x5f, 0x5d, 0xc0, 0xfe, 0x93, 0x1, 0x67, 0x86, 0xa8, 0x3e, 0x76, 0x2d, 0x96, 0x28, 0x74, 0x59, 0x68, 0x89, 0x59, 0x48, 0x82, 0x19, 0x11, 0x1, 0xc4, 0x39, 0x21, 0x24, 0x33, 0x2f, 0x2c, 0xb8, 0x3b, 0x19, 0xfe, 0xf4, 0xfe, 0xcc, 0xa0, 0x58, 0x2a, 0x56, 0xb8, 0x4c, 0x5f, 0x94, 0xa, 0x21, 0x22, 0x62, 0x89, 0x8d, 0x57, 0x67, 0x33, 0x5a, 0x8f, 0x66, 0x0, 0x0, 0x0, 0x1, 0x0, 0x82, 0xfe, 0xf3, 0x5, 0xc0, 0x3, 0x4a, 0x0, 0x36, 0x0, 0x0, 0x25, 0x6, 0x5, 0x6, 0x23, 0x22, 0x27, 0x24, 0x11, 0x34, 0x37, 0x33, 0x6, 0x17, 0x16, 0x17, 0x16, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x34, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x23, 0x26, 0x27, 0x26, 0x27, 0x26, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x5, 0x56, 0x66, 0xfe, 0xa9, 0xb1, 0x78, 0x81, 0x48, 0xfe, 0xdb, 0x3f, 0xb8, 0x42, 0x1, 0x2, 0xa4, 0x61, 0x3d, 0x7e, 0x81, 0xb1, 0x54, 0x3b, 0x7e, 0x42, 0x72, 0x43, 0x3a, 0x40, 0x1, 0xbe, 0x5f, 0xd0, 0x60, 0x8d, 0x1b, 0xb8, 0xd, 0x42, 0x28, 0x45, 0x4e, 0x3e, 0x3c, 0x7d, 0xf8, 0x39, 0x4d, 0x2, 0x1, 0xc, 0xaa, 0x49, 0x26, 0x1a, 0x68, 0x1, 0x5, 0x75, 0x71, 0x83, 0x63, 0x93, 0x2d, 0x1a, 0x6, 0xb, 0x18, 0x21, 0x50, 0x38, 0x35, 0x4a, 0x1d, 0xf, 0x2e, 0x1b, 0x33, 0x39, 0x73, 0x96, 0x4a, 0x25, 0x2a, 0x3d, 0xad, 0x3d, 0x21, 0x14, 0x2, 0x2, 0x27, 0x26, 0x22, 0x37, 0x2a, 0x53, 0x40, 0x55, 0x59, 0x44, 0x0, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0x5, 0xc0, 0x3, 0x4a, 0x10, 0x26, 0x5, 0x71, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x1, 0xf4, 0xfe, 0xc, 0x0, 0x2, 0x0, 0xdc, 0x4, 0xba, 0x3, 0x24, 0x6, 0x9a, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x13, 0x35, 0x25, 0x15, 0x1, 0x35, 0x25, 0x15, 0xdc, 0x2, 0x48, 0xfd, 0xb8, 0x2, 0x48, 0x5, 0xaa, 0x6e, 0x82, 0x6e, 0xfe, 0x8e, 0x6e, 0x82, 0x6e, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xdc, 0x4, 0xba, 0x3, 0x24, 0x6, 0xfd, 0x0, 0x26, 0x0, 0x35, 0x0, 0x0, 0x1, 0x36, 0x37, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x16, 0x33, 0x16, 0x33, 0x15, 0x22, 0x2f, 0x1, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x33, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x2, 0xb, 0x25, 0x15, 0x21, 0x17, 0x6c, 0x45, 0x1c, 0x3f, 0x49, 0x28, 0x37, 0xc, 0x13, 0xe, 0x12, 0x14, 0x2f, 0x14, 0x34, 0x1a, 0x4b, 0x55, 0x5e, 0x72, 0x38, 0xf, 0x5a, 0xc, 0x23, 0x30, 0x38, 0x9f, 0x3, 0x3, 0x9, 0x22, 0x14, 0x17, 0xb, 0x12, 0x2d, 0x14, 0x5, 0x64, 0x24, 0x2a, 0x7, 0xd, 0x39, 0x5e, 0x57, 0x34, 0x15, 0x27, 0x36, 0x4f, 0x27, 0x26, 0x1, 0x1, 0x6e, 0x2, 0x5, 0x3d, 0x4e, 0x56, 0x9a, 0x29, 0x71, 0x61, 0x1a, 0x4b, 0xee, 0x7, 0x7, 0x15, 0x18, 0x22, 0x1c, 0x9, 0xd, 0x1c, 0x25, 0x12, 0x8, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xdc, 0xfe, 0x16, 0x3, 0x24, 0xff, 0xf6, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x13, 0x35, 0x25, 0x15, 0x25, 0x35, 0x25, 0x15, 0xdc, 0x2, 0x48, 0xfd, 0xb8, 0x2, 0x48, 0xfe, 0x16, 0x6e, 0x82, 0x6e, 0x6e, 0x6e, 0x82, 0x6e, 0x0, 0x1, 0x0, 0xdc, 0x4, 0xba, 0x3, 0x24, 0x5, 0xaa, 0x0, 0x3, 0x0, 0x0, 0x13, 0x35, 0x25, 0x15, 0xdc, 0x2, 0x48, 0x4, 0xba, 0x6e, 0x82, 0x6e, 0x0, 0x0, 0x0, 0x2, 0x0, 0xdc, 0x4, 0xb9, 0x3, 0x24, 0x6, 0xfd, 0x0, 0x1e, 0x0, 0x2d, 0x0, 0x0, 0x1, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x1e, 0x1, 0x33, 0x15, 0x22, 0x27, 0x26, 0x27, 0x6, 0x7, 0x6, 0x23, 0x35, 0x32, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x2, 0x29, 0x9, 0x13, 0x6c, 0x45, 0x1c, 0x3f, 0x49, 0x28, 0x37, 0xe, 0x11, 0x24, 0x14, 0x23, 0x20, 0x1e, 0x1c, 0x2b, 0x45, 0xc8, 0x93, 0x98, 0x8b, 0x17, 0x56, 0x3, 0x3, 0x9, 0x22, 0x14, 0x17, 0xb, 0x12, 0x2d, 0x14, 0x5, 0xba, 0x2, 0xa, 0x38, 0x5f, 0x57, 0x34, 0x15, 0x27, 0x36, 0x4f, 0x20, 0x2d, 0x1, 0x1, 0x6e, 0x2, 0x2, 0x3, 0x3d, 0x2a, 0x7b, 0x6e, 0x6d, 0x12, 0x70, 0x7, 0x7, 0x15, 0x18, 0x22, 0x1c, 0x9, 0xd, 0x1c, 0x25, 0x12, 0x8, 0x0, 0x0, 0x0, 0x1, 0x0, 0xdc, 0xfe, 0xe8, 0x3, 0x24, 0xff, 0xd8, 0x0, 0x3, 0x0, 0x0, 0x13, 0x35, 0x25, 0x15, 0xdc, 0x2, 0x48, 0xfe, 0xe8, 0x6e, 0x82, 0x6e, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc8, 0x4, 0xcb, 0x3, 0x38, 0x6, 0xf4, 0x0, 0x28, 0x0, 0x0, 0x1, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x33, 0x6, 0x15, 0x14, 0x17, 0x16, 0x37, 0x36, 0x37, 0x36, 0x35, 0x33, 0x16, 0x15, 0x14, 0x33, 0x32, 0x35, 0x34, 0x27, 0x33, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x27, 0x26, 0x2, 0x10, 0xf, 0x21, 0x39, 0x45, 0x4f, 0x29, 0x22, 0x10, 0x61, 0xb, 0x19, 0x13, 0x32, 0x3d, 0x4, 0x2, 0x60, 0x3, 0x59, 0x47, 0xd, 0x67, 0xc, 0x1b, 0x2d, 0x53, 0x47, 0x1f, 0x1b, 0x5, 0x84, 0x4c, 0x28, 0x45, 0x3f, 0x34, 0x6d, 0x6d, 0x62, 0x7d, 0x38, 0x54, 0x22, 0x19, 0x14, 0x18, 0xaa, 0x52, 0x59, 0x24, 0x36, 0xc3, 0xae, 0x73, 0x39, 0x49, 0x74, 0x85, 0x36, 0x59, 0xa, 0x9, 0x21, 0x1e, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xec, 0x4, 0xe1, 0x3, 0x10, 0x7, 0x6, 0x0, 0xb, 0x0, 0x13, 0x0, 0x0, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x3e, 0x1, 0x14, 0x6, 0x22, 0x26, 0x34, 0x36, 0x32, 0x2, 0x96, 0x58, 0x40, 0x41, 0x57, 0x57, 0x41, 0x40, 0x58, 0x7a, 0x9f, 0xe6, 0x9f, 0x9f, 0xe6, 0x5, 0xf4, 0x3f, 0x58, 0x57, 0x40, 0x41, 0x57, 0x58, 0xb3, 0xe6, 0xa0, 0xa0, 0xe6, 0x9f, 0x0, 0x0, 0x1, 0x0, 0x98, 0x4, 0xb9, 0x3, 0x68, 0x5, 0xc1, 0x0, 0x13, 0x0, 0x0, 0x13, 0x37, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x15, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x7, 0x98, 0xa0, 0x67, 0x43, 0x2a, 0x36, 0x3a, 0x29, 0x6b, 0x58, 0x5a, 0x5a, 0x43, 0x35, 0x22, 0x4c, 0x4d, 0x44, 0xa5, 0x5, 0x36, 0x7b, 0x53, 0x15, 0xd, 0x10, 0x29, 0x4c, 0x7d, 0x40, 0x1d, 0x16, 0x11, 0x11, 0x46, 0x80, 0x0, 0x0, 0xff, 0xff, 0x1, 0x4f, 0x4, 0xbf, 0x2, 0xa6, 0x6, 0x77, 0x10, 0x7, 0x5, 0x91, 0x0, 0xd5, 0xff, 0x8d, 0x0, 0x0, 0xff, 0xff, 0x1, 0x4f, 0xfe, 0xc, 0x2, 0xa6, 0xff, 0xc4, 0x10, 0x7, 0x5, 0x91, 0x0, 0xd5, 0xf8, 0xda, 0x0, 0x0, 0x0, 0x2, 0x0, 0xdc, 0x4, 0xeb, 0x3, 0x24, 0x7, 0x2f, 0x0, 0x1e, 0x0, 0x2d, 0x0, 0x0, 0x1, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x2e, 0x1, 0x23, 0x35, 0x32, 0x17, 0x16, 0x17, 0x36, 0x37, 0x36, 0x33, 0x15, 0x22, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x1, 0xd7, 0x9, 0x13, 0x6c, 0x45, 0x1c, 0x3f, 0x49, 0x28, 0x37, 0xe, 0x11, 0x24, 0x14, 0x23, 0x20, 0x1e, 0x1c, 0x2b, 0x45, 0xc8, 0x93, 0x98, 0x8b, 0x17, 0x56, 0x3, 0x3, 0x9, 0x22, 0x14, 0x17, 0xb, 0x12, 0x2d, 0x14, 0x6, 0x2e, 0x2, 0xa, 0x38, 0x5f, 0x57, 0x34, 0x15, 0x27, 0x36, 0x4f, 0x20, 0x2d, 0x1, 0x1, 0x6e, 0x2, 0x2, 0x3, 0x3d, 0x2a, 0x7b, 0x6e, 0x6d, 0x12, 0x70, 0x7, 0x7, 0x15, 0x18, 0x22, 0x1c, 0x9, 0xd, 0x1c, 0x25, 0x12, 0x8, 0x0, 0x0, 0x0, 0x1, 0x0, 0xf3, 0x4, 0xee, 0x3, 0xd, 0x6, 0x34, 0x0, 0x6, 0x0, 0x0, 0x1, 0x3, 0x33, 0x17, 0x37, 0x33, 0x3, 0x1, 0xb6, 0xc3, 0x8b, 0x82, 0x82, 0x8b, 0xc3, 0x4, 0xee, 0x1, 0x46, 0xc3, 0xc3, 0xfe, 0xba, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0xb8, 0x1, 0xc2, 0x2, 0x94, 0x2, 0xbc, 0x0, 0x3, 0x0, 0x0, 0x1, 0x33, 0x15, 0x23, 0x1, 0xb8, 0xdc, 0xdc, 0x2, 0xbc, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x16, 0x0, 0x0, 0x2, 0xbc, 0x5, 0x14, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x10, 0x27, 0x2, 0x3, 0x33, 0x12, 0x13, 0x16, 0x2, 0xbc, 0xb4, 0x25, 0x31, 0x9c, 0xc4, 0x79, 0x49, 0x20, 0x1, 0xa9, 0xdc, 0x1, 0x21, 0x1, 0x6e, 0xfe, 0xdd, 0xfe, 0x94, 0x9b, 0x0, 0x0, 0x0, 0x1, 0x0, 0x52, 0x0, 0x0, 0x3, 0xf0, 0x5, 0x14, 0x0, 0x18, 0x0, 0x0, 0x1, 0x16, 0x17, 0x16, 0x11, 0x23, 0x10, 0x27, 0x2, 0x3, 0x33, 0x16, 0x17, 0x16, 0x33, 0x16, 0x37, 0x36, 0x37, 0x33, 0x6, 0x7, 0x2, 0x23, 0x22, 0x1, 0xa6, 0x1b, 0x17, 0x20, 0xb4, 0x25, 0x31, 0x9c, 0xc7, 0x42, 0x3, 0x52, 0xb4, 0x7b, 0x36, 0x1f, 0x8, 0xb4, 0x8, 0x29, 0x63, 0xf3, 0x6f, 0x3, 0x61, 0x6a, 0x72, 0x9b, 0xfe, 0x16, 0x1, 0xa9, 0xdc, 0x1, 0x21, 0x1, 0x6e, 0x9b, 0x5, 0x98, 0x2, 0x95, 0x55, 0x50, 0x79, 0x6d, 0xfe, 0xfa, 0x0, 0x1, 0x0, 0x4c, 0x0, 0x0, 0x4, 0x12, 0x5, 0x14, 0x0, 0x25, 0x0, 0x0, 0x1, 0x16, 0x17, 0x16, 0x11, 0x23, 0x10, 0x27, 0x2, 0x3, 0x33, 0x16, 0x17, 0x16, 0x37, 0x36, 0x37, 0x36, 0x35, 0x33, 0x14, 0x17, 0x16, 0x17, 0x16, 0x37, 0x36, 0x35, 0x33, 0x10, 0x7, 0x6, 0x23, 0x22, 0x27, 0x6, 0x7, 0x6, 0x1, 0xab, 0x18, 0xf, 0x20, 0xb4, 0x25, 0x31, 0x9c, 0xc4, 0x2f, 0x28, 0x14, 0x2f, 0x48, 0x8, 0x6, 0xb4, 0xe, 0x16, 0x2f, 0x3b, 0xf, 0xd, 0xb4, 0x27, 0x47, 0x9b, 0x85, 0x20, 0x34, 0x34, 0x2e, 0x3, 0x35, 0x57, 0x59, 0xbe, 0xfe, 0x39, 0x1, 0xa9, 0xdc, 0x1, 0x21, 0x1, 0x6e, 0x72, 0x7c, 0x3e, 0x8, 0xc, 0x40, 0x32, 0xa6, 0xde, 0x19, 0x25, 0x2, 0x2, 0x2c, 0x2a, 0xca, 0xfe, 0xcf, 0x3b, 0x6c, 0x3e, 0x33, 0xc, 0xa, 0x0, 0x0, 0x1, 0x0, 0xaf, 0xff, 0xec, 0x3, 0xa7, 0x5, 0x20, 0x0, 0x2a, 0x0, 0x0, 0x1, 0x15, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x15, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x32, 0x37, 0x36, 0x37, 0x15, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x27, 0x26, 0x37, 0x36, 0x3, 0x23, 0x7a, 0x66, 0x88, 0x5c, 0x4d, 0x4f, 0x59, 0x87, 0x70, 0x30, 0x3b, 0x4a, 0x63, 0x58, 0x7e, 0x56, 0x49, 0x7c, 0x65, 0x65, 0x95, 0x70, 0x64, 0x6b, 0x41, 0x58, 0x48, 0x2c, 0x37, 0x1, 0x2, 0xe2, 0x70, 0x5, 0x20, 0xa8, 0x11, 0x34, 0x43, 0x40, 0x23, 0x39, 0x30, 0x4, 0xa4, 0x4c, 0x40, 0x72, 0x52, 0x3c, 0x4a, 0x1, 0x17, 0x21, 0x2b, 0xc4, 0x25, 0x1c, 0x17, 0x7d, 0x70, 0xa5, 0x86, 0x80, 0x4c, 0x18, 0x20, 0x30, 0x3a, 0x3f, 0x96, 0x80, 0x3f, 0x0, 0x2, 0x0, 0x87, 0xff, 0xec, 0x3, 0xc5, 0x5, 0x24, 0x0, 0xd, 0x0, 0x1c, 0x0, 0x0, 0x0, 0x22, 0x7, 0x6, 0x7, 0x6, 0x17, 0x16, 0x32, 0x37, 0x36, 0x27, 0x26, 0x27, 0x3, 0x16, 0x13, 0x16, 0x15, 0x10, 0x7, 0x6, 0x20, 0x27, 0x26, 0x11, 0x34, 0x37, 0x12, 0x2, 0x69, 0x86, 0x56, 0x4e, 0x4, 0x4, 0x47, 0x29, 0xfe, 0x29, 0x47, 0x4, 0x4, 0x4e, 0x99, 0xbf, 0x86, 0x5a, 0x55, 0x69, 0xfe, 0x3e, 0x69, 0x55, 0x5a, 0x87, 0x4, 0x68, 0xd4, 0xc0, 0xae, 0xc7, 0x73, 0x42, 0x42, 0x73, 0xc7, 0xae, 0xc0, 0x1, 0x90, 0x1, 0xfe, 0xa1, 0xeb, 0xb3, 0xfe, 0xcb, 0x75, 0x90, 0x90, 0x75, 0x1, 0x35, 0xb3, 0xeb, 0x1, 0x61, 0x0, 0x1, 0x0, 0x55, 0x0, 0x0, 0x3, 0xf2, 0x5, 0x14, 0x0, 0x11, 0x0, 0x0, 0x1, 0x10, 0x13, 0x12, 0x13, 0x23, 0x2, 0x3, 0x2, 0x27, 0x6, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x3, 0x4e, 0x25, 0x1d, 0x62, 0xc4, 0x55, 0x1f, 0x1c, 0x2, 0x60, 0x8e, 0xb2, 0xa7, 0xb4, 0xa5, 0xd2, 0x5, 0x14, 0xfe, 0xdc, 0xfe, 0x9f, 0xfe, 0xeb, 0xfe, 0x86, 0x1, 0x44, 0x1, 0x4b, 0x1, 0x2a, 0x91, 0x1c, 0x32, 0xb4, 0x32, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3c, 0x0, 0x0, 0x4, 0x10, 0x5, 0x14, 0x0, 0x12, 0x0, 0x0, 0x21, 0x26, 0x3, 0x2, 0x27, 0x33, 0x12, 0x13, 0x16, 0x17, 0x36, 0x37, 0x12, 0x13, 0x33, 0x2, 0x3, 0x2, 0x7, 0x1, 0xcc, 0x11, 0x62, 0x9f, 0x7e, 0xc4, 0x9a, 0x5a, 0x30, 0x2, 0x2, 0x30, 0x5a, 0x9a, 0xc4, 0xa5, 0x78, 0x55, 0x1e, 0xf6, 0x1, 0x3a, 0x1, 0xfe, 0xe6, 0xfe, 0xca, 0xfe, 0xc5, 0xa8, 0xb, 0xb, 0xa8, 0x1, 0x3b, 0x1, 0x36, 0xfe, 0xd3, 0xfe, 0x49, 0xfe, 0xca, 0xfa, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3c, 0x0, 0x0, 0x4, 0x10, 0x5, 0x14, 0x0, 0x12, 0x0, 0x0, 0x1, 0x33, 0x16, 0x13, 0x12, 0x13, 0x23, 0x2, 0x3, 0x26, 0x27, 0x6, 0x7, 0x2, 0x3, 0x23, 0x36, 0x13, 0x12, 0x1, 0xcc, 0xb4, 0x1e, 0x55, 0x78, 0xa5, 0xc4, 0x9a, 0x5a, 0x30, 0x2, 0x2, 0x30, 0x5a, 0x9a, 0xc4, 0x7e, 0x9f, 0x62, 0x5, 0x14, 0xfa, 0xfe, 0xca, 0xfe, 0x49, 0xfe, 0xd3, 0x1, 0x36, 0x1, 0x3b, 0xa8, 0xb, 0xb, 0xa8, 0xfe, 0xc5, 0xfe, 0xca, 0xe6, 0x1, 0xfe, 0x1, 0x3a, 0x0, 0x0, 0x2, 0x0, 0x64, 0x0, 0x0, 0x3, 0xf2, 0x5, 0x1e, 0x0, 0x14, 0x0, 0x23, 0x0, 0x0, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x12, 0x13, 0x23, 0x2, 0x3, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x2, 0xbf, 0xce, 0x3d, 0xad, 0x3a, 0x69, 0x5f, 0x7b, 0x95, 0x9a, 0x5c, 0x81, 0xd, 0xa, 0x12, 0x25, 0x5a, 0xc4, 0x5b, 0x2c, 0x2c, 0x47, 0x5c, 0x4f, 0x39, 0x38, 0x3c, 0x1b, 0x53, 0x47, 0x2, 0x55, 0x12, 0x33, 0x37, 0x65, 0x7b, 0x8f, 0x61, 0x7d, 0x55, 0x77, 0xa6, 0x87, 0x96, 0xfe, 0xcd, 0xfe, 0xa4, 0x1, 0x9c, 0x1, 0x6e, 0x57, 0x6c, 0x3c, 0x61, 0x37, 0x36, 0x47, 0x39, 0x36, 0x18, 0x14, 0x11, 0x0, 0x0, 0x0, 0x3, 0x0, 0x85, 0x0, 0x0, 0x3, 0xc7, 0x5, 0x14, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x0, 0x25, 0x33, 0x15, 0x23, 0x1, 0x33, 0x15, 0x23, 0x25, 0x33, 0x1, 0x23, 0x3, 0x4, 0xb4, 0xb4, 0xfd, 0x8f, 0xb4, 0xb4, 0x2, 0x94, 0xa0, 0xfd, 0x5e, 0xa0, 0xfa, 0xfa, 0x5, 0x14, 0xfa, 0xfa, 0xfa, 0xec, 0x0, 0x1, 0x0, 0x0, 0xff, 0x1f, 0x2, 0x66, 0x2, 0x8b, 0x0, 0x11, 0x0, 0x0, 0x15, 0x36, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x33, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0xa9, 0x70, 0x6b, 0x2f, 0x1a, 0x16, 0x96, 0x19, 0x4c, 0x4f, 0xa5, 0x69, 0xbd, 0x46, 0x5, 0x71, 0x6d, 0x8f, 0x50, 0x4f, 0x60, 0x60, 0x4e, 0x6f, 0xaa, 0xa0, 0xa6, 0x71, 0x48, 0x6, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb2, 0x3, 0xfe, 0x1, 0xd7, 0x5, 0xd5, 0x0, 0x5, 0x0, 0x0, 0x1, 0x33, 0x15, 0x3, 0x23, 0x13, 0x1, 0x4, 0xd3, 0xa4, 0x81, 0x52, 0x5, 0xd5, 0x98, 0xfe, 0xc1, 0x1, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x57, 0x0, 0xce, 0x4, 0x5, 0x4, 0x4c, 0x0, 0x9, 0x0, 0x0, 0x13, 0x21, 0x1b, 0x1, 0x21, 0x5, 0x13, 0x25, 0x5, 0x13, 0x57, 0x1, 0x67, 0x70, 0x70, 0x1, 0x67, 0xfe, 0xde, 0x6f, 0xfe, 0xdc, 0xfe, 0xdc, 0x6f, 0x2, 0xf7, 0x1, 0x55, 0xfe, 0xab, 0xd4, 0xfe, 0xab, 0xd3, 0xd3, 0x1, 0x55, 0x0, 0x1, 0x0, 0x82, 0xff, 0xec, 0x6, 0xeb, 0x2, 0x9d, 0x0, 0x1d, 0x0, 0x0, 0x1, 0x16, 0x15, 0x14, 0x7, 0x6, 0x5, 0x4, 0x23, 0x22, 0x27, 0x24, 0x11, 0x34, 0x37, 0x33, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x25, 0x24, 0x37, 0x36, 0x35, 0x34, 0x27, 0x6, 0xdc, 0xf, 0x4c, 0x80, 0xfe, 0xc3, 0xfe, 0xe3, 0xb9, 0xbf, 0x81, 0xfe, 0xb6, 0x3f, 0xb8, 0x41, 0xcb, 0x68, 0x97, 0xb9, 0x1, 0x9, 0x0, 0xff, 0x43, 0x37, 0x19, 0x2, 0x9d, 0x5a, 0x46, 0x87, 0x65, 0xab, 0x40, 0x3a, 0x26, 0x61, 0x1, 0xc, 0x8a, 0x5c, 0x5e, 0x88, 0x7d, 0x43, 0x22, 0x39, 0x36, 0x71, 0x5d, 0x4b, 0x3b, 0x3d, 0x0, 0x0, 0x2, 0x0, 0x6b, 0xfe, 0x48, 0x5, 0x9b, 0x3, 0xd9, 0x0, 0xf, 0x0, 0x38, 0x0, 0x0, 0x1, 0x36, 0x35, 0x34, 0x27, 0x26, 0x7, 0x6, 0x7, 0x6, 0x7, 0x14, 0x17, 0x16, 0x33, 0x32, 0x1, 0x32, 0x37, 0x24, 0x11, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x25, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x33, 0x6, 0x7, 0x6, 0x17, 0x16, 0x4, 0xa8, 0x29, 0x42, 0x1f, 0x2c, 0x34, 0x28, 0x28, 0x1, 0x37, 0x28, 0x2a, 0x48, 0xfd, 0x80, 0xf0, 0xa2, 0x1, 0x4a, 0x3f, 0x7a, 0x85, 0x4b, 0x62, 0x8, 0x17, 0x96, 0x4e, 0x4c, 0x63, 0x39, 0x67, 0x27, 0x21, 0x3c, 0x5c, 0xf3, 0xce, 0xfe, 0xce, 0xd3, 0x85, 0x4d, 0x52, 0xb7, 0x55, 0x3, 0x1, 0xc, 0x35, 0x2, 0x19, 0x2b, 0x4d, 0x3b, 0x33, 0x19, 0x1, 0x1, 0x2a, 0x29, 0x33, 0x50, 0x26, 0x19, 0xfd, 0x6, 0x73, 0xea, 0x1, 0x48, 0x4b, 0x43, 0x57, 0x81, 0x34, 0x2c, 0x94, 0x45, 0x24, 0x32, 0x5a, 0x77, 0x66, 0xa0, 0xcc, 0x8c, 0xd5, 0xbd, 0x9f, 0x1, 0x1, 0xbf, 0x6e, 0xae, 0xb4, 0xd8, 0xb9, 0x9b, 0x3c, 0x34, 0xe5, 0x0, 0x1, 0x1, 0xc9, 0x4, 0xd1, 0x2, 0x37, 0x7, 0x19, 0x0, 0x3, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x1, 0xc9, 0x6e, 0x4, 0xd1, 0x2, 0x48, 0xfd, 0xb8, 0x0, 0x0, 0x1, 0x0, 0x7a, 0x5, 0x32, 0x1, 0xd1, 0x6, 0xea, 0x0, 0x18, 0x0, 0x0, 0x13, 0x37, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x37, 0x15, 0x5, 0x7a, 0x4e, 0x2c, 0x10, 0x10, 0x38, 0x3a, 0x5c, 0x3e, 0x34, 0x32, 0x40, 0x42, 0x11, 0x1d, 0x5e, 0x21, 0x78, 0xfe, 0xa9, 0x5, 0x96, 0x12, 0x14, 0x24, 0x25, 0x2d, 0x60, 0x2b, 0x2d, 0x21, 0x64, 0x21, 0x12, 0x20, 0x1a, 0x4d, 0x1b, 0xa, 0x1d, 0x66, 0x4d, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xff, 0xec, 0x6, 0xeb, 0x4, 0x99, 0x10, 0x26, 0x5, 0x8e, 0x0, 0x0, 0x10, 0x7, 0x5, 0x4b, 0x1, 0x84, 0xfd, 0xa8, 0xff, 0xff, 0x0, 0x82, 0xff, 0xec, 0x6, 0xeb, 0x4, 0x1a, 0x10, 0x26, 0x5, 0x8e, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc8, 0x3, 0x39, 0x3, 0x84, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0x6, 0xeb, 0x2, 0x9d, 0x10, 0x26, 0x5, 0x8e, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc8, 0x3, 0x39, 0xff, 0x6, 0xff, 0xff, 0x0, 0x82, 0xfe, 0x90, 0x6, 0xeb, 0x3, 0x20, 0x10, 0x26, 0x5, 0x8e, 0x0, 0x0, 0x10, 0x27, 0x16, 0xc5, 0x2, 0xbc, 0x2, 0x8a, 0x10, 0x7, 0x16, 0xd5, 0x2, 0xa9, 0xfe, 0x90, 0xff, 0xff, 0x0, 0x82, 0xff, 0xec, 0x6, 0xeb, 0x3, 0xb6, 0x10, 0x26, 0x5, 0x8e, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc7, 0x2, 0xbc, 0x3, 0x20, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0x6, 0xeb, 0x2, 0x9d, 0x10, 0x26, 0x5, 0x8e, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc7, 0x2, 0xbc, 0xff, 0x6, 0xff, 0xff, 0x0, 0x82, 0xff, 0xec, 0x6, 0xeb, 0x4, 0x1a, 0x10, 0x26, 0x5, 0x8e, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc9, 0x2, 0xbc, 0x3, 0x84, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0x6, 0xeb, 0x2, 0x9d, 0x10, 0x26, 0x5, 0x8e, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc9, 0x2, 0xbc, 0xff, 0x6, 0xff, 0xff, 0x0, 0x9d, 0xfe, 0xc, 0x5, 0x28, 0x5, 0xaf, 0x10, 0x26, 0x5, 0x5a, 0x0, 0x0, 0x10, 0x7, 0x5, 0x7c, 0x0, 0x8a, 0xff, 0x38, 0xff, 0xff, 0x0, 0x9d, 0xfe, 0xc, 0x5, 0x28, 0x5, 0xaa, 0x10, 0x26, 0x5, 0x5a, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc8, 0x2, 0x3f, 0x5, 0x14, 0xff, 0xff, 0x0, 0x9d, 0xfe, 0xc, 0x5, 0x28, 0x3, 0x66, 0x10, 0x26, 0x5, 0x5a, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x2, 0x8a, 0x0, 0x19, 0xff, 0xff, 0x0, 0x9d, 0xfe, 0xc, 0x5, 0x28, 0x3, 0x66, 0x10, 0x26, 0x5, 0x5a, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc8, 0x3, 0x7, 0x0, 0xaf, 0xff, 0xff, 0x0, 0x9d, 0xfe, 0xc, 0x5, 0x28, 0x5, 0xaa, 0x10, 0x26, 0x5, 0x5a, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x1, 0xc2, 0x4, 0x1a, 0xff, 0xff, 0x0, 0x9d, 0xfe, 0xc, 0x5, 0x28, 0x3, 0x66, 0x10, 0x26, 0x5, 0x5a, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc7, 0x2, 0x96, 0x0, 0x96, 0xff, 0xff, 0x0, 0x9d, 0xfe, 0xc, 0x5, 0x28, 0x3, 0x66, 0x10, 0x26, 0x5, 0x5a, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc9, 0x2, 0x96, 0x0, 0xaf, 0xff, 0xff, 0x0, 0x7d, 0xff, 0xda, 0x3, 0x1b, 0x5, 0xf7, 0x10, 0x26, 0x5, 0x5c, 0x0, 0x0, 0x10, 0x7, 0x5, 0x4b, 0xff, 0xc2, 0xff, 0x6, 0xff, 0xff, 0x0, 0x7d, 0xfe, 0x90, 0x3, 0x1b, 0x3, 0x52, 0x10, 0x26, 0x5, 0x5c, 0x0, 0x0, 0x10, 0x7, 0x16, 0xd5, 0x1, 0x19, 0xfe, 0x90, 0xff, 0xff, 0x0, 0x7d, 0xfe, 0xa2, 0x3, 0x1b, 0x3, 0x52, 0x10, 0x26, 0x5, 0x5c, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x1, 0xa9, 0xfe, 0xa2, 0xff, 0xff, 0x0, 0x7d, 0xfe, 0xa2, 0x3, 0x1b, 0x5, 0xf7, 0x10, 0x27, 0x16, 0xc4, 0x1, 0xa9, 0xfe, 0xa2, 0x10, 0x26, 0x5, 0x5c, 0x0, 0x0, 0x10, 0x7, 0x5, 0x4b, 0xff, 0xc2, 0xff, 0x6, 0xff, 0xff, 0x0, 0x7d, 0xff, 0xda, 0x3, 0x1b, 0x4, 0xb0, 0x10, 0x26, 0x5, 0x5c, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x0, 0xfa, 0x4, 0x1a, 0xff, 0xff, 0x0, 0x7d, 0xfe, 0xd4, 0x3, 0x1b, 0x3, 0x52, 0x10, 0x26, 0x5, 0x5c, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x1, 0x2b, 0xfe, 0xd4, 0xff, 0xff, 0x0, 0x7d, 0xff, 0xda, 0x3, 0x1b, 0x5, 0xaa, 0x10, 0x26, 0x5, 0x5c, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x0, 0xfa, 0x4, 0x1a, 0xff, 0xff, 0x0, 0x7d, 0xff, 0xda, 0x3, 0x1b, 0x5, 0x78, 0x10, 0x26, 0x5, 0x5c, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc7, 0x0, 0xfa, 0x4, 0xe2, 0xff, 0xff, 0x0, 0x7d, 0xff, 0xda, 0x3, 0x1b, 0x5, 0xaa, 0x10, 0x26, 0x5, 0x5c, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc9, 0x0, 0xfa, 0x5, 0x14, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x3, 0xc1, 0x5, 0x2f, 0x10, 0x27, 0x5, 0x4b, 0x0, 0xbc, 0xfe, 0x3e, 0x10, 0x6, 0x5, 0x5e, 0x0, 0x0, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x3, 0xc9, 0x4, 0x72, 0x10, 0x27, 0x5, 0x7f, 0x0, 0xbc, 0xfe, 0x3e, 0x10, 0x6, 0x5, 0x5e, 0x0, 0x0, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x4, 0xe, 0x2, 0x26, 0x10, 0x26, 0x5, 0x5e, 0x0, 0x0, 0x10, 0x7, 0x16, 0xd5, 0x2, 0x58, 0xfe, 0xc, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x3, 0xca, 0x2, 0x26, 0x10, 0x26, 0x5, 0x5e, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x3, 0x34, 0xfe, 0x48, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x5, 0x13, 0x2, 0x26, 0x10, 0x27, 0x5, 0x7f, 0x2, 0x6, 0xf9, 0x1e, 0x10, 0x6, 0x5, 0x5e, 0x0, 0x0, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x3, 0xca, 0x2, 0x26, 0x10, 0x27, 0x16, 0xc4, 0x3, 0x34, 0xfe, 0x48, 0x10, 0x26, 0x5, 0x5e, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x0, 0xb4, 0x0, 0x28, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x3, 0x84, 0x3, 0xb6, 0x10, 0x26, 0x5, 0x5e, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x1, 0xf4, 0x3, 0x20, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x3, 0x84, 0x4, 0xb0, 0x10, 0x26, 0x5, 0x5e, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x1, 0xf4, 0x3, 0x20, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x3, 0x84, 0x4, 0xb0, 0x10, 0x26, 0x5, 0x5e, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc9, 0x1, 0xf4, 0x4, 0x1a, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0x9, 0x1a, 0x3, 0xb6, 0x10, 0x26, 0x5, 0x60, 0x0, 0x0, 0x10, 0x27, 0x16, 0xc4, 0x5, 0x5f, 0x3, 0x20, 0x10, 0x7, 0x16, 0xc4, 0x5, 0xf5, 0xfe, 0xa2, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0x9, 0x1a, 0x2, 0xee, 0x10, 0x26, 0x5, 0x60, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc7, 0x5, 0x78, 0xff, 0x6, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0x9, 0x1a, 0x4, 0xb0, 0x10, 0x26, 0x5, 0x60, 0x0, 0x0, 0x10, 0x27, 0x16, 0xc6, 0x4, 0xe2, 0x3, 0x20, 0x10, 0x7, 0x16, 0xc7, 0x5, 0x78, 0xff, 0x6, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0x9, 0x13, 0x2, 0xe5, 0x10, 0x26, 0x5, 0x62, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x5, 0x78, 0xfe, 0xa2, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0x9, 0x13, 0x4, 0xb0, 0x10, 0x26, 0x5, 0x62, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x4, 0x7e, 0x3, 0x20, 0xff, 0xff, 0x0, 0x90, 0x0, 0x0, 0x6, 0xdc, 0x6, 0x14, 0x10, 0x26, 0x5, 0x64, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x3, 0x84, 0x3, 0x52, 0xff, 0xff, 0x0, 0x75, 0xfe, 0xc, 0x4, 0xb2, 0x6, 0x40, 0x10, 0x26, 0x5, 0x66, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x1, 0x2c, 0x4, 0xb0, 0x0, 0x2, 0x0, 0x82, 0xff, 0xa4, 0x7, 0x9e, 0x3, 0xd9, 0x0, 0xf, 0x0, 0x3a, 0x0, 0x0, 0x1, 0x36, 0x35, 0x34, 0x27, 0x26, 0x7, 0x6, 0x7, 0x6, 0x7, 0x14, 0x17, 0x16, 0x33, 0x32, 0x13, 0x6, 0x5, 0x4, 0x21, 0x20, 0x27, 0x24, 0x3, 0x26, 0x37, 0x33, 0x6, 0x15, 0x14, 0x17, 0x16, 0x21, 0x20, 0x37, 0x36, 0x37, 0x36, 0x37, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x7, 0x6, 0x6, 0xb5, 0x29, 0x42, 0x1f, 0x2c, 0x34, 0x28, 0x28, 0x1, 0x37, 0x28, 0x2a, 0x48, 0xb3, 0x6e, 0xfe, 0xc3, 0xfe, 0xef, 0xfe, 0xe1, 0xfe, 0xd9, 0x82, 0xfe, 0xb7, 0x1, 0x1, 0x40, 0xb8, 0x41, 0xcb, 0x5a, 0x1, 0x18, 0x1, 0x41, 0xd1, 0xd7, 0x64, 0x23, 0x14, 0x3f, 0x7a, 0x85, 0x4b, 0x62, 0x8, 0x17, 0x96, 0x4e, 0x4c, 0x5a, 0x42, 0x60, 0x2e, 0x18, 0x1, 0x2, 0x2, 0x19, 0x2b, 0x4d, 0x3b, 0x33, 0x19, 0x1, 0x1, 0x2a, 0x29, 0x33, 0x50, 0x26, 0x19, 0xfe, 0xda, 0xb4, 0x46, 0x3d, 0x29, 0x64, 0x1, 0x9, 0x8a, 0x5c, 0x5e, 0x88, 0x74, 0x4c, 0x22, 0x39, 0x3b, 0x6c, 0x26, 0x4e, 0x4b, 0x43, 0x57, 0x81, 0x34, 0x2c, 0x94, 0x45, 0x24, 0x32, 0x48, 0x66, 0x36, 0x89, 0xe2, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xa2, 0x7, 0x9e, 0x3, 0xd9, 0x10, 0x26, 0x5, 0xba, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x3, 0x6b, 0xfe, 0xa2, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xa2, 0x7, 0x9e, 0x5, 0x14, 0x10, 0x26, 0x5, 0xba, 0x0, 0x0, 0x10, 0x27, 0x16, 0xc4, 0x5, 0xf5, 0x4, 0x7e, 0x10, 0x7, 0x16, 0xc4, 0x3, 0x6b, 0xfe, 0xa2, 0xff, 0xff, 0x0, 0x82, 0xff, 0xa4, 0x7, 0x9e, 0x6, 0xe, 0x10, 0x26, 0x5, 0xba, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x5, 0x78, 0x4, 0x7e, 0xff, 0xff, 0x0, 0x82, 0xfd, 0xa8, 0x7, 0x9e, 0x3, 0xd9, 0x10, 0x26, 0x5, 0xba, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc7, 0x2, 0xee, 0xfe, 0xa2, 0xff, 0xff, 0x0, 0x82, 0xff, 0xa4, 0x7, 0x9e, 0x6, 0xe, 0x10, 0x26, 0x5, 0xba, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc9, 0x5, 0x78, 0x5, 0x78, 0xff, 0xff, 0x0, 0x6b, 0xfe, 0x48, 0x5, 0x9b, 0x5, 0x14, 0x10, 0x26, 0x5, 0x8f, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x3, 0xcf, 0x4, 0x7e, 0xff, 0xff, 0x0, 0x6b, 0xfe, 0x48, 0x5, 0x9b, 0x6, 0xe, 0x10, 0x26, 0x5, 0x8f, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x3, 0x52, 0x4, 0x7e, 0x0, 0x1, 0x0, 0x82, 0xff, 0xa7, 0x7, 0x29, 0x6, 0x14, 0x0, 0x2d, 0x0, 0x0, 0x25, 0x32, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x1, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x15, 0x5, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x1, 0x16, 0x15, 0x14, 0x7, 0x6, 0x5, 0x6, 0x23, 0x22, 0x27, 0x24, 0x11, 0x34, 0x37, 0x33, 0x6, 0x15, 0x14, 0x17, 0x16, 0x3, 0x2, 0xb8, 0xc2, 0x9d, 0x24, 0x10, 0x36, 0xfe, 0xca, 0x32, 0xa, 0x23, 0x64, 0x2, 0xe9, 0xfd, 0xad, 0x47, 0x15, 0x6, 0x1f, 0x1, 0x13, 0x66, 0x3e, 0x35, 0xfe, 0xf7, 0xe3, 0xa1, 0xc0, 0x80, 0xfe, 0xb6, 0x3f, 0xb8, 0x41, 0xcb, 0x68, 0x58, 0x50, 0x41, 0x37, 0x1a, 0x2e, 0x45, 0x42, 0x1, 0x7c, 0x3d, 0x51, 0x23, 0x21, 0x77, 0x2a, 0x1, 0x36, 0xba, 0xfa, 0x1e, 0x28, 0xb, 0x19, 0x20, 0x25, 0xfe, 0xb6, 0x7b, 0x7b, 0x71, 0x65, 0x56, 0x55, 0x49, 0x26, 0x62, 0x1, 0xb, 0x8a, 0x5c, 0x5e, 0x88, 0x7e, 0x42, 0x22, 0x0, 0x0, 0x0, 0x1, 0x0, 0x82, 0xff, 0xa7, 0x8, 0x0, 0x6, 0x14, 0x0, 0x2e, 0x0, 0x0, 0x1, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x21, 0x1, 0x6, 0x7, 0x6, 0x17, 0x16, 0x17, 0x5, 0x16, 0x15, 0x14, 0x7, 0x6, 0x4, 0x23, 0x21, 0x22, 0x27, 0x24, 0x11, 0x34, 0x37, 0x33, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x21, 0x32, 0x24, 0x36, 0x3d, 0x1, 0x34, 0x27, 0x25, 0x24, 0x1, 0xc7, 0xb, 0x11, 0xa2, 0x2, 0xb0, 0x1, 0x60, 0xfc, 0x68, 0x5f, 0xf, 0x9, 0x4, 0x6, 0xae, 0x3, 0xca, 0xf8, 0x3e, 0x35, 0xfe, 0x14, 0xa1, 0xfe, 0xc, 0xc0, 0x80, 0xfe, 0xb6, 0x3f, 0xb8, 0x41, 0xcb, 0x68, 0x97, 0x1, 0xf4, 0xb8, 0x1, 0x6d, 0x2f, 0x79, 0xfc, 0x59, 0xfe, 0x9d, 0x3, 0x6b, 0x8, 0x5, 0x3e, 0x62, 0x61, 0x1, 0x9b, 0xfd, 0xe8, 0x37, 0x23, 0xa, 0x23, 0x35, 0x1b, 0x96, 0x26, 0xf8, 0x71, 0x65, 0x56, 0x9e, 0x26, 0x62, 0x1, 0xb, 0x8a, 0x5c, 0x5e, 0x88, 0x7e, 0x42, 0x22, 0x96, 0x6a, 0x8, 0x8, 0x6a, 0x13, 0x91, 0x37, 0xff, 0xff, 0x0, 0x82, 0xff, 0xa7, 0x7, 0x29, 0x6, 0x14, 0x10, 0x26, 0x5, 0xc2, 0x0, 0x0, 0x10, 0x7, 0x16, 0xd5, 0x5, 0x46, 0x3, 0x84, 0xff, 0xff, 0x0, 0x90, 0xff, 0xc9, 0x5, 0xc7, 0x6, 0x14, 0x10, 0x26, 0x5, 0x6b, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x2, 0xee, 0x5, 0x46, 0xff, 0xff, 0x0, 0x90, 0xff, 0xc9, 0x5, 0xc7, 0x6, 0xd6, 0x10, 0x26, 0x5, 0x6b, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x2, 0x71, 0x5, 0x46, 0xff, 0xff, 0x0, 0x90, 0xfd, 0xa8, 0x5, 0xc7, 0x6, 0x14, 0x10, 0x26, 0x5, 0x6b, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc7, 0x2, 0x58, 0xfe, 0xa2, 0xff, 0xff, 0x0, 0x82, 0xff, 0xa7, 0x7, 0x29, 0x7, 0x2b, 0x10, 0x26, 0x5, 0xc2, 0x0, 0x0, 0x10, 0x7, 0x16, 0xe8, 0x3, 0xca, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xff, 0xa7, 0x7, 0x29, 0x7, 0x2b, 0x10, 0x26, 0x5, 0xc8, 0x0, 0x0, 0x10, 0x7, 0x16, 0xd5, 0x5, 0x46, 0x3, 0x84, 0xff, 0xff, 0x0, 0x82, 0xff, 0xa7, 0x7, 0x29, 0x7, 0x3a, 0x10, 0x26, 0x5, 0xc8, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x3, 0x84, 0x6, 0xa4, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xa2, 0x7, 0x29, 0x7, 0x2b, 0x10, 0x26, 0x5, 0xc8, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x2, 0x58, 0xfe, 0xa2, 0xff, 0xff, 0x0, 0x82, 0xfd, 0xa8, 0x7, 0x29, 0x7, 0x2b, 0x10, 0x26, 0x5, 0xc8, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc8, 0x2, 0xd5, 0xfe, 0xa2, 0xff, 0xff, 0x0, 0x82, 0xff, 0xa7, 0x7, 0x29, 0x8, 0x34, 0x10, 0x26, 0x5, 0xc8, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x3, 0x84, 0x6, 0xa4, 0xff, 0xff, 0x0, 0x90, 0xfe, 0xc8, 0x5, 0xc9, 0x7, 0xc4, 0x10, 0x26, 0x5, 0x6c, 0x0, 0x0, 0x10, 0x7, 0x5, 0x7f, 0x2, 0xbc, 0x1, 0x90, 0xff, 0xff, 0x0, 0x90, 0xfe, 0xc8, 0x5, 0x18, 0x7, 0x9e, 0x10, 0x26, 0x5, 0x6c, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x4, 0x6a, 0x7, 0x8, 0xff, 0xff, 0x0, 0x90, 0xfe, 0xc8, 0x5, 0x78, 0x8, 0x34, 0x10, 0x26, 0x5, 0x6c, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x3, 0xe8, 0x6, 0xa4, 0xff, 0xff, 0x0, 0x90, 0xfc, 0xe0, 0x5, 0x18, 0x6, 0x14, 0x10, 0x26, 0x5, 0x6c, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc7, 0x2, 0x26, 0xfd, 0xda, 0xff, 0xff, 0x0, 0x93, 0xfd, 0x76, 0x5, 0x48, 0x3, 0xb6, 0x10, 0x26, 0x5, 0xd3, 0x0, 0x0, 0x10, 0x27, 0x16, 0xc4, 0x2, 0x3f, 0x3, 0x20, 0x10, 0x7, 0x16, 0xc4, 0x2, 0xbc, 0xfd, 0x76, 0x0, 0x1, 0x0, 0x93, 0xfe, 0xb5, 0x5, 0x48, 0x2, 0xee, 0x0, 0x1d, 0x0, 0x0, 0x1, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x24, 0x11, 0x34, 0x37, 0x33, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x33, 0x16, 0x5, 0x48, 0x64, 0x6e, 0xf9, 0x61, 0x50, 0x84, 0x6d, 0xfe, 0xb8, 0x2f, 0xb8, 0x31, 0xc9, 0x5d, 0x5d, 0x4c, 0x47, 0xc1, 0x4c, 0x22, 0x66, 0xb8, 0x68, 0x1, 0x38, 0xad, 0xb2, 0xc5, 0x44, 0x1b, 0x25, 0x6a, 0x1, 0x64, 0xeb, 0x51, 0x90, 0xac, 0xed, 0x34, 0x18, 0x14, 0x35, 0xde, 0x62, 0x60, 0xb8, 0xde, 0x9c, 0x0, 0xff, 0xff, 0x0, 0x93, 0xfe, 0xb5, 0x5, 0x48, 0x5, 0x16, 0x10, 0x26, 0x5, 0xd3, 0x0, 0x0, 0x10, 0x7, 0x5, 0x4b, 0x0, 0xc8, 0xfe, 0x25, 0xff, 0xff, 0x0, 0x93, 0xfd, 0x5d, 0x5, 0x48, 0x3, 0xb6, 0x10, 0x26, 0x5, 0xd3, 0x0, 0x0, 0x10, 0x27, 0x16, 0xc4, 0x2, 0x3f, 0x3, 0x20, 0x10, 0x7, 0x16, 0xd5, 0x2, 0x26, 0xfd, 0x5d, 0xff, 0xff, 0x0, 0x93, 0xfe, 0xb5, 0x5, 0x48, 0x4, 0xb0, 0x10, 0x26, 0x5, 0xd3, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x1, 0xf4, 0x3, 0x20, 0x0, 0x3, 0x0, 0x90, 0xff, 0xbd, 0x5, 0x1b, 0x3, 0xe5, 0x0, 0xa, 0x0, 0x32, 0x0, 0x3f, 0x0, 0x0, 0x1, 0x34, 0x23, 0x22, 0x6, 0x14, 0x17, 0x16, 0x17, 0x3e, 0x1, 0x3, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x33, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x26, 0x27, 0x35, 0x16, 0x17, 0x0, 0x11, 0x14, 0x7, 0x6, 0x23, 0x22, 0x13, 0x16, 0x15, 0x14, 0xf, 0x1, 0x16, 0x33, 0x32, 0x37, 0x36, 0x34, 0x26, 0x3, 0x5f, 0x5f, 0x41, 0x2d, 0x7, 0x15, 0x44, 0x24, 0x49, 0x6c, 0x96, 0x6e, 0x39, 0x65, 0xc1, 0x10, 0xb8, 0xe, 0x7c, 0x1b, 0x1a, 0x38, 0x2d, 0x48, 0x1d, 0x12, 0x2c, 0x2d, 0x43, 0x7, 0x7, 0x2c, 0x51, 0xda, 0xdd, 0x1, 0x4e, 0x28, 0x4a, 0xaf, 0x84, 0x7f, 0x6, 0x62, 0x1d, 0x34, 0x31, 0x7d, 0x11, 0x7, 0x3e, 0x1, 0xed, 0x87, 0x58, 0x41, 0x25, 0x76, 0x33, 0x1b, 0x88, 0xfe, 0x68, 0x4f, 0x20, 0x3d, 0xac, 0x4a, 0x36, 0x3e, 0x28, 0x45, 0x26, 0x9, 0x21, 0x42, 0x84, 0x51, 0x48, 0x4a, 0x51, 0x53, 0x1, 0x27, 0xe, 0xb9, 0x42, 0xb5, 0xfe, 0xef, 0xfe, 0xf5, 0x67, 0x3d, 0x71, 0x2, 0x3f, 0x25, 0x27, 0x93, 0x69, 0x21, 0x2e, 0x43, 0x1e, 0x5d, 0x93, 0x0, 0x0, 0xff, 0xff, 0x0, 0x9d, 0xfe, 0xc, 0x5, 0x28, 0x4, 0xb0, 0x10, 0x27, 0x16, 0xc7, 0x2, 0x96, 0x0, 0x96, 0x10, 0x26, 0x5, 0x5a, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x2, 0x3f, 0x4, 0x1a, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x3, 0x40, 0x4, 0x72, 0x10, 0x27, 0x5, 0x7f, 0xff, 0xf4, 0xfe, 0x3e, 0x10, 0x6, 0x5, 0x70, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xf3, 0x5, 0xc0, 0x3, 0x4a, 0x10, 0x6, 0x5, 0x71, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xf3, 0x5, 0xc0, 0x4, 0x72, 0x10, 0x26, 0x5, 0x71, 0x0, 0x0, 0x10, 0x7, 0x5, 0x7f, 0xff, 0xf4, 0xfe, 0x3e, 0xff, 0xff, 0x0, 0x8b, 0xff, 0xc6, 0x3, 0xa0, 0x2, 0xde, 0x10, 0x6, 0x5, 0x6f, 0x0, 0x0, 0xff, 0xff, 0x1, 0xb8, 0x1, 0xc2, 0x2, 0x94, 0x2, 0xbc, 0x10, 0x6, 0x5, 0x80, 0x0, 0x0, 0xff, 0xff, 0x1, 0x16, 0x0, 0x0, 0x2, 0xbc, 0x5, 0x14, 0x10, 0x6, 0x5, 0x81, 0x0, 0x0, 0xff, 0xff, 0x0, 0x52, 0x0, 0x0, 0x3, 0xf0, 0x5, 0x14, 0x10, 0x6, 0x5, 0x82, 0x0, 0x0, 0xff, 0xff, 0x0, 0x4c, 0x0, 0x0, 0x4, 0x12, 0x5, 0x14, 0x10, 0x6, 0x5, 0x83, 0x0, 0x0, 0x0, 0x1, 0x0, 0x52, 0x0, 0x0, 0x3, 0xc5, 0x5, 0x25, 0x0, 0x27, 0x0, 0x0, 0x1, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x7, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x37, 0x36, 0x37, 0x15, 0x6, 0x23, 0x22, 0x27, 0x16, 0x17, 0x16, 0x11, 0x23, 0x10, 0x27, 0x2, 0x3, 0x33, 0x16, 0x17, 0x16, 0x1, 0xc8, 0x4, 0x58, 0x5c, 0x6c, 0x54, 0x58, 0x5c, 0x44, 0x38, 0x1e, 0x1f, 0x19, 0x2f, 0x30, 0x45, 0x8d, 0xc3, 0x3d, 0x8d, 0x92, 0x1b, 0x17, 0x20, 0xb4, 0x25, 0x31, 0x9c, 0xc7, 0x42, 0x3, 0x1b, 0x4, 0x14, 0xf, 0x13, 0x78, 0x3a, 0x3d, 0x19, 0x9c, 0x24, 0x2, 0x1, 0x21, 0x22, 0x15, 0x34, 0x15, 0x27, 0x2, 0x2, 0x11, 0xb4, 0x1a, 0x51, 0x6a, 0x72, 0x9b, 0xfe, 0x16, 0x1, 0xa9, 0xdc, 0x1, 0x21, 0x1, 0x6e, 0x9b, 0x5, 0x38, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6a, 0xff, 0xf5, 0x3, 0xe2, 0x5, 0x24, 0x0, 0x14, 0x0, 0x28, 0x0, 0x0, 0x1, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x17, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x10, 0x37, 0x12, 0x33, 0x32, 0x13, 0x16, 0x11, 0x14, 0x7, 0x6, 0x23, 0x22, 0x2, 0x80, 0x2d, 0x32, 0x21, 0x13, 0x1b, 0x57, 0x5a, 0x57, 0x58, 0x5a, 0x56, 0x1b, 0xf, 0x25, 0x32, 0x2d, 0x5a, 0x28, 0x91, 0xa0, 0x2e, 0x35, 0x5f, 0xb3, 0xaa, 0x9f, 0xbe, 0x5f, 0x35, 0x32, 0x9c, 0x91, 0x1, 0x5a, 0xa1, 0x4a, 0x6b, 0x56, 0xd7, 0xd8, 0xe0, 0xe0, 0xd5, 0xda, 0x3c, 0x85, 0x4a, 0xa1, 0xd0, 0x95, 0x9e, 0xb8, 0x79, 0x1, 0x26, 0xc4, 0x1, 0x76, 0xfe, 0x8a, 0xbb, 0xfe, 0xd1, 0x8b, 0xa6, 0x9e, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd0, 0x0, 0x0, 0x3, 0x90, 0x5, 0x1f, 0x0, 0x20, 0x0, 0x0, 0x33, 0x12, 0x37, 0x36, 0x37, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x15, 0x6, 0x7, 0x6, 0x7, 0xd0, 0x41, 0x6f, 0x44, 0x64, 0x4e, 0x2e, 0x86, 0x62, 0x70, 0x8c, 0x78, 0x58, 0x57, 0x73, 0x3e, 0x30, 0x42, 0x37, 0x2c, 0x67, 0x8c, 0x60, 0xe1, 0x70, 0x86, 0x35, 0x0, 0xff, 0xb5, 0x6f, 0x55, 0x25, 0x6d, 0x97, 0xae, 0x61, 0x6f, 0x1f, 0xb4, 0x33, 0x2f, 0x41, 0x62, 0x4d, 0x33, 0x29, 0x29, 0xb4, 0x49, 0x98, 0xb7, 0xe1, 0xff, 0xff, 0x0, 0x3c, 0x0, 0x0, 0x4, 0x10, 0x5, 0x14, 0x10, 0x6, 0x5, 0x87, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3c, 0x0, 0x0, 0x4, 0x10, 0x5, 0x14, 0x10, 0x6, 0x5, 0x88, 0x0, 0x0, 0xff, 0xff, 0x0, 0x64, 0x0, 0x0, 0x3, 0xf2, 0x5, 0x1e, 0x10, 0x6, 0x5, 0x89, 0x0, 0x0, 0x0, 0x2, 0x0, 0x87, 0xff, 0xe3, 0x4, 0x8f, 0x5, 0xf0, 0x0, 0xb, 0x0, 0x15, 0x0, 0x28, 0x40, 0xb, 0x17, 0x1b, 0x9, 0x1c, 0xf, 0x1e, 0x3, 0x1c, 0x14, 0x1b, 0x16, 0x10, 0xfc, 0xec, 0xf4, 0xec, 0xec, 0x31, 0x0, 0x40, 0xa, 0x6, 0xa0, 0x16, 0x0, 0xa0, 0xd, 0x91, 0x12, 0x8c, 0x16, 0x10, 0xe4, 0xf4, 0xec, 0x10, 0xec, 0x30, 0x1, 0x22, 0x2, 0x11, 0x10, 0x12, 0x33, 0x32, 0x12, 0x11, 0x10, 0x2, 0x24, 0x20, 0x0, 0x11, 0x10, 0x0, 0x20, 0x0, 0x11, 0x10, 0x2, 0x8b, 0x9c, 0x9d, 0x9d, 0x9c, 0x9d, 0x9d, 0x9d, 0xfe, 0x68, 0x1, 0xf6, 0x1, 0x9, 0xfe, 0xf7, 0xfe, 0xa, 0xfe, 0xf7, 0x5, 0x50, 0xfe, 0xcd, 0xfe, 0xcc, 0xfe, 0xcd, 0xfe, 0xcd, 0x1, 0x33, 0x1, 0x33, 0x1, 0x34, 0x1, 0x33, 0xa0, 0xfe, 0x73, 0xfe, 0x86, 0xfe, 0x87, 0xfe, 0x73, 0x1, 0x8d, 0x1, 0x79, 0x1, 0x7a, 0x0, 0x1, 0x0, 0xe1, 0x0, 0x0, 0x4, 0x5a, 0x5, 0xd5, 0x0, 0xa, 0x0, 0x28, 0x40, 0x9, 0x3, 0x1f, 0x5, 0x1c, 0x8, 0x0, 0x1f, 0xa, 0xc, 0x10, 0xd4, 0xec, 0xcc, 0xfc, 0xfc, 0x31, 0x0, 0x40, 0xb, 0x8, 0xa0, 0x7, 0x9, 0xa0, 0x6, 0x81, 0x4, 0x0, 0xa0, 0x2, 0x2f, 0xec, 0x32, 0xf4, 0xec, 0xd4, 0xec, 0x30, 0x25, 0x15, 0x21, 0x35, 0x21, 0x11, 0x33, 0x5, 0x15, 0x25, 0x11, 0x4, 0x3d, 0xfc, 0xa4, 0x1, 0x4a, 0xca, 0x1, 0x65, 0xfe, 0x99, 0xaa, 0xaa, 0xaa, 0x5, 0x2b, 0x48, 0xb8, 0x48, 0xfb, 0x8d, 0x0, 0x0, 0x0, 0x1, 0x0, 0xe1, 0x0, 0x0, 0x4, 0x3d, 0x5, 0xd5, 0x0, 0x9, 0x0, 0x1f, 0xb7, 0x1, 0x1c, 0x2, 0x4, 0x8, 0x1c, 0x7, 0xa, 0x10, 0xdc, 0xec, 0x32, 0xd4, 0xec, 0x31, 0x0, 0xb6, 0x3, 0xa0, 0x9, 0x2, 0x8, 0x81, 0x6, 0x2f, 0xe4, 0x32, 0xd4, 0xec, 0x30, 0x1, 0x11, 0x33, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x3, 0x75, 0xc8, 0xfd, 0x6c, 0xc8, 0xc8, 0x3, 0xe7, 0x1, 0xee, 0xfd, 0x68, 0xfc, 0xc3, 0x5, 0xd5, 0xfe, 0x12, 0x0, 0x0, 0x0, 0x1, 0x0, 0xe1, 0x0, 0x0, 0x4, 0x3d, 0x5, 0xd5, 0x0, 0x9, 0x0, 0x1f, 0xb6, 0x3, 0x7, 0x1c, 0x9, 0x5, 0x1, 0xa, 0x10, 0xdc, 0x32, 0xd4, 0xec, 0x32, 0x31, 0x0, 0xb7, 0x6, 0xa0, 0x4, 0x9, 0x81, 0x3, 0xa0, 0x1, 0x2f, 0xec, 0xf4, 0xd4, 0xec, 0x30, 0x29, 0x1, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x4, 0x3d, 0xfc, 0xa4, 0x2, 0x94, 0xfd, 0x6c, 0x2, 0x94, 0xc8, 0xaa, 0x1, 0xb9, 0xaa, 0x2, 0xc8, 0x0, 0x1, 0x0, 0xe1, 0x0, 0x0, 0x4, 0x3d, 0x5, 0xd5, 0x0, 0x9, 0x0, 0x20, 0xb7, 0x5, 0x1c, 0x1, 0x7, 0x9, 0x1c, 0x3, 0xa, 0x10, 0xdc, 0xec, 0xd4, 0x32, 0xec, 0x31, 0x0, 0xb7, 0x4, 0xa0, 0x8, 0x7, 0x81, 0x0, 0xa0, 0x2, 0x2f, 0xec, 0xe4, 0xd4, 0xec, 0x30, 0x25, 0x21, 0x15, 0x21, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x1, 0xa9, 0x2, 0x94, 0xfc, 0xa4, 0x2, 0x94, 0xc8, 0xfd, 0x6c, 0xaa, 0xaa, 0x3, 0xd, 0x2, 0xc8, 0xfc, 0x8e, 0x0, 0x0, 0x1, 0x0, 0xe1, 0x0, 0x0, 0x4, 0x3d, 0x5, 0xd5, 0x0, 0x7, 0x0, 0x1b, 0xb5, 0x0, 0x5, 0x1, 0x1c, 0x3, 0x8, 0x10, 0xdc, 0xec, 0x32, 0xc4, 0x31, 0x0, 0xb6, 0xc, 0x6, 0xa0, 0x0, 0x4, 0x81, 0x2, 0x2f, 0xe4, 0xd4, 0xec, 0x30, 0x1, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x4, 0x3d, 0xfd, 0x6c, 0xc8, 0xc8, 0x2, 0x94, 0x2, 0xd6, 0xfd, 0x2a, 0x5, 0xd5, 0xfd, 0xab, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xe1, 0x0, 0x0, 0x4, 0x3d, 0x5, 0xd5, 0x0, 0x7, 0x0, 0x1b, 0xb6, 0x1, 0x1c, 0x7, 0x5, 0x1c, 0x3, 0x8, 0x10, 0xdc, 0xec, 0xd4, 0xec, 0x31, 0x0, 0xb5, 0x6, 0xa0, 0x2, 0x4, 0x81, 0x0, 0x2f, 0xe4, 0xd4, 0xec, 0x30, 0x21, 0x23, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x4, 0x3d, 0xc8, 0xfd, 0x6c, 0xc8, 0x2, 0x94, 0x2, 0x63, 0x3, 0x72, 0xfd, 0x38, 0x0, 0x0, 0x1, 0x0, 0xd6, 0x0, 0x0, 0x4, 0x41, 0x5, 0xd5, 0x0, 0x7, 0x0, 0x27, 0xb5, 0x2, 0x0, 0x6, 0x1c, 0x4, 0x8, 0x10, 0xdc, 0xfc, 0xcc, 0x39, 0x31, 0x0, 0xb4, 0x1, 0x0, 0x5, 0x81, 0x3, 0x2f, 0xec, 0xdc, 0xcc, 0x30, 0xb6, 0x7, 0x87, 0x6, 0x87, 0x1, 0x2, 0x1, 0x7, 0x10, 0x4, 0xec, 0x5, 0xec, 0x1, 0x15, 0x1, 0x23, 0x11, 0x33, 0x11, 0x1, 0x4, 0x41, 0xfd, 0x93, 0xfe, 0xc9, 0x2, 0x53, 0x4, 0x75, 0xc3, 0xfc, 0x4e, 0x5, 0xd5, 0xfa, 0xdb, 0x3, 0xc5, 0x0, 0x2, 0x0, 0xd6, 0x0, 0x0, 0x4, 0x41, 0x5, 0xd5, 0x0, 0x2, 0x0, 0x9, 0x0, 0x28, 0xb6, 0xb, 0x7, 0x5, 0x0, 0x1c, 0x3, 0xa, 0x10, 0xdc, 0xfc, 0x3c, 0xdc, 0xcc, 0x0, 0xb5, 0x2, 0xa0, 0x6, 0x4, 0x81, 0x9, 0x2f, 0xf4, 0xdc, 0xec, 0xb4, 0x0, 0x1, 0x7, 0x8, 0x8, 0x10, 0x7, 0x5, 0xdc, 0x4, 0x3c, 0x31, 0x30, 0x25, 0x1, 0x21, 0x3, 0x33, 0x11, 0x21, 0x15, 0x1, 0x23, 0x1, 0x9f, 0x1, 0xfe, 0xfe, 0x2, 0xc9, 0xc9, 0x2, 0xa2, 0xfd, 0x93, 0xfe, 0xb0, 0x3, 0x1d, 0x2, 0x8, 0xfe, 0xa0, 0xc3, 0xfc, 0x4e, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x9d, 0x0, 0x0, 0x4, 0x7b, 0x5, 0xee, 0x0, 0xb, 0x0, 0x1e, 0x0, 0x32, 0x40, 0xe, 0x20, 0x45, 0x7, 0x1c, 0x1a, 0x16, 0x1e, 0x1c, 0xe, 0x1, 0x1c, 0x13, 0x45, 0x1f, 0x10, 0xfc, 0xec, 0xdc, 0xb2, 0x40, 0xe, 0x1, 0x5d, 0xfc, 0x39, 0xdc, 0xec, 0xec, 0x31, 0x0, 0x40, 0x9, 0x3, 0x95, 0xe, 0x1e, 0x9, 0x95, 0x16, 0x91, 0xc, 0x2f, 0xf4, 0xec, 0xd4, 0x3c, 0xec, 0x30, 0x0, 0x14, 0x1e, 0x1, 0x32, 0x3e, 0x1, 0x34, 0x2e, 0x1, 0x22, 0x6, 0x1, 0x23, 0x11, 0x26, 0x27, 0x2e, 0x1, 0x34, 0x3e, 0x1, 0x33, 0x32, 0x1e, 0x1, 0x14, 0x6, 0x7, 0x6, 0x7, 0x1, 0x39, 0x5b, 0x9c, 0xb8, 0x9d, 0x5a, 0x5a, 0x9d, 0xb8, 0x9c, 0x1, 0x5f, 0xc8, 0x50, 0x47, 0x72, 0x85, 0x85, 0xe4, 0x86, 0x87, 0xe4, 0x84, 0x84, 0x72, 0x45, 0x4d, 0x4, 0xbb, 0x70, 0x60, 0x37, 0x37, 0x60, 0x70, 0x5f, 0x38, 0x38, 0xfa, 0xe6, 0x3, 0x1f, 0xb, 0x1e, 0x31, 0xa7, 0xc5, 0xa7, 0x62, 0x62, 0xa7, 0xc5, 0xa7, 0x31, 0x1d, 0xc, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc1, 0x0, 0x0, 0x1, 0x79, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x15, 0x40, 0xa, 0x0, 0xaf, 0x2, 0x5, 0x4, 0x2, 0x8, 0x0, 0x4, 0x4, 0x10, 0xfc, 0xfc, 0xec, 0x31, 0x0, 0x2f, 0xec, 0x30, 0x13, 0x33, 0x11, 0x23, 0xc1, 0xb8, 0xb8, 0x5, 0xd5, 0xfa, 0x2b, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x21, 0x3, 0x93, 0x0, 0x7, 0x0, 0xf, 0x0, 0x2f, 0x40, 0xa, 0x11, 0x45, 0x5, 0x1c, 0xd, 0x1, 0x1c, 0x9, 0x45, 0x10, 0x10, 0xf4, 0xec, 0xd4, 0xb6, 0x10, 0xd, 0x30, 0xd, 0xa0, 0xd, 0x3, 0x5d, 0xec, 0xec, 0x31, 0x0, 0x40, 0x9, 0x7, 0xa0, 0xb, 0x10, 0x3, 0xa0, 0xf, 0x8c, 0x10, 0x10, 0xf4, 0xec, 0x10, 0xd4, 0xec, 0x30, 0x0, 0x10, 0x16, 0x20, 0x36, 0x10, 0x26, 0x20, 0x0, 0x10, 0x0, 0x20, 0x0, 0x10, 0x0, 0x20, 0x1, 0xd, 0xb9, 0x1, 0x6, 0xb9, 0xb9, 0xfe, 0xfa, 0xfe, 0xab, 0x1, 0x15, 0x1, 0x86, 0x1, 0x15, 0xfe, 0xeb, 0xfe, 0x7a, 0x2, 0x3e, 0xfe, 0xfa, 0xb9, 0xb9, 0x1, 0x6, 0xb9, 0xfe, 0x1, 0x1, 0x86, 0x1, 0x15, 0xfe, 0xeb, 0xfe, 0x7a, 0xfe, 0xeb, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3d, 0x0, 0x0, 0x3, 0x27, 0x5, 0xd9, 0x0, 0x8, 0x0, 0x2b, 0x40, 0xb, 0x0, 0x6, 0x3, 0x2, 0x1, 0x3, 0x1c, 0x7, 0x8, 0x6, 0x9, 0x10, 0xdc, 0xc4, 0x32, 0xfc, 0xc4, 0x32, 0x11, 0x12, 0x39, 0x31, 0x0, 0x40, 0x9, 0x0, 0x6, 0x3, 0x3, 0x4, 0x1, 0x7, 0x81, 0x4, 0x2f, 0xec, 0x32, 0x11, 0x17, 0x39, 0x30, 0x1, 0x13, 0x33, 0x1, 0x11, 0x23, 0x11, 0x1, 0x33, 0x1, 0xb2, 0xb3, 0xc2, 0xfe, 0xe7, 0xb8, 0xfe, 0xe7, 0xc2, 0x4, 0x36, 0x1, 0xa3, 0xfd, 0x51, 0xfc, 0xd6, 0x3, 0x2a, 0x2, 0xaf, 0x0, 0x1, 0x0, 0x3d, 0x0, 0x0, 0x4, 0x7f, 0x3, 0x71, 0x0, 0x6, 0x0, 0x0, 0x33, 0x1, 0x33, 0x1, 0x23, 0x9, 0x1, 0x3d, 0x1, 0xa4, 0xfa, 0x1, 0xa4, 0xc3, 0xfe, 0xa2, 0xfe, 0xa2, 0x3, 0x71, 0xfc, 0x8f, 0x2, 0xbd, 0xfd, 0x43, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x4, 0x81, 0x3, 0x71, 0x0, 0x7, 0x0, 0x20, 0x40, 0xa, 0x9, 0x4, 0x7, 0x1c, 0x5, 0x4, 0x1c, 0x2, 0x4, 0x8, 0x10, 0xfc, 0xec, 0xd4, 0xfc, 0xec, 0x31, 0x0, 0xb5, 0x6, 0x3, 0xa3, 0x5, 0xa0, 0x1, 0x2f, 0xec, 0xf4, 0x3c, 0x30, 0x29, 0x1, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x4, 0x81, 0xfc, 0x39, 0xb9, 0x2, 0x55, 0xb9, 0x3, 0x71, 0xfd, 0x22, 0x2, 0xde, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x4, 0x81, 0x3, 0x71, 0x0, 0x7, 0x0, 0x20, 0x40, 0x9, 0x9, 0x4, 0x0, 0x1c, 0x5, 0x3, 0x6, 0x4, 0x8, 0x10, 0xfc, 0x3c, 0xd4, 0xfc, 0xec, 0x31, 0x0, 0xb6, 0x6, 0xa0, 0x0, 0xa3, 0x4, 0xa0, 0x2, 0x2f, 0xec, 0xf4, 0xec, 0x30, 0x1, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x4, 0x81, 0xfc, 0x39, 0x3, 0xe, 0xfc, 0xf2, 0x3, 0x71, 0xfc, 0x8f, 0x93, 0x2, 0x4b, 0x93, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0x0, 0x0, 0x4, 0x4f, 0x5, 0xe2, 0x0, 0x15, 0x0, 0x21, 0x0, 0x3e, 0x40, 0xf, 0x23, 0x45, 0x1, 0x1d, 0x1c, 0x11, 0x15, 0x1c, 0x6, 0x17, 0x1c, 0x4, 0xb, 0x45, 0x22, 0x10, 0xfc, 0xc4, 0xec, 0xdc, 0xb2, 0x40, 0x6, 0x1, 0x5d, 0xfc, 0xdc, 0xb2, 0x40, 0x11, 0x1, 0x5d, 0xec, 0xc4, 0xec, 0x31, 0x0, 0x40, 0xc, 0x1a, 0x95, 0x6, 0x15, 0x20, 0x95, 0xe, 0x91, 0x0, 0x5, 0xa0, 0x2, 0x2f, 0xec, 0x32, 0xf4, 0xec, 0xd4, 0x3c, 0xec, 0x30, 0x25, 0x21, 0x15, 0x21, 0x35, 0x21, 0x11, 0x26, 0x27, 0x2e, 0x1, 0x34, 0x3e, 0x1, 0x20, 0x1e, 0x1, 0x14, 0x6, 0x7, 0x6, 0x7, 0x0, 0x14, 0x1e, 0x1, 0x32, 0x3e, 0x1, 0x34, 0x2e, 0x1, 0x22, 0x6, 0x2, 0xbc, 0x1, 0x87, 0xfc, 0x3a, 0x1, 0x87, 0x52, 0x4a, 0x72, 0x85, 0x85, 0xe4, 0x1, 0xc, 0xe6, 0x83, 0x83, 0x73, 0x4b, 0x52, 0xfe, 0x51, 0x5b, 0x9c, 0xb8, 0x9d, 0x5a, 0x5a, 0x9d, 0xb8, 0x9c, 0x93, 0x93, 0x93, 0x2, 0x7b, 0xb, 0x20, 0x31, 0xa8, 0xc5, 0xa9, 0x62, 0x62, 0xa9, 0xc5, 0xa8, 0x31, 0x20, 0xb, 0x1, 0x9f, 0x70, 0x60, 0x38, 0x38, 0x60, 0x70, 0x60, 0x38, 0x38, 0x0, 0x0, 0x2, 0x0, 0xba, 0x0, 0x0, 0x4, 0x81, 0x4, 0xa6, 0x0, 0x8, 0x0, 0xc, 0x0, 0x25, 0x40, 0xa, 0x3, 0x6, 0x0, 0x5, 0xc, 0x4, 0xe, 0xb, 0x4, 0xd, 0x10, 0xec, 0xdc, 0xfc, 0xd4, 0xcc, 0xcc, 0x32, 0x31, 0x0, 0xb6, 0x2, 0x3, 0x6, 0x8, 0xb, 0xa0, 0x9, 0x2f, 0xec, 0xdc, 0xdc, 0xdc, 0xcc, 0x30, 0x1, 0x10, 0x33, 0x15, 0x22, 0x7, 0x33, 0x15, 0x23, 0x1, 0x21, 0x35, 0x21, 0x2, 0x11, 0xf2, 0x84, 0x2, 0x85, 0xf1, 0x2, 0x70, 0xfc, 0x39, 0x3, 0xc7, 0x3, 0x9c, 0x1, 0xa, 0x66, 0x9a, 0x9e, 0xfc, 0xf8, 0x93, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0x0, 0x0, 0x5, 0xe7, 0x5, 0xee, 0x0, 0x11, 0x0, 0x1b, 0x0, 0x32, 0x40, 0xe, 0x1d, 0x3, 0x8, 0x5, 0x8, 0x12, 0x8, 0x6, 0x0, 0x19, 0x8, 0xd, 0x45, 0x1c, 0x10, 0xfc, 0xec, 0xd4, 0x3c, 0xec, 0x32, 0xd4, 0xfc, 0xcc, 0x31, 0x0, 0x40, 0xb, 0x7, 0x9, 0x5, 0xa0, 0x1b, 0x1, 0x16, 0xa0, 0xe, 0x91, 0x3, 0x2f, 0xf4, 0xec, 0xd4, 0x3c, 0xec, 0x32, 0xcc, 0x30, 0x1, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x23, 0x22, 0x26, 0x10, 0x36, 0x20, 0x17, 0x16, 0x3, 0x35, 0x34, 0x27, 0x26, 0x22, 0x6, 0x14, 0x16, 0x33, 0x3, 0x71, 0x2, 0x76, 0xb9, 0xfe, 0x43, 0x9c, 0xf8, 0xbc, 0xb0, 0xb1, 0x1, 0x66, 0x5e, 0x8b, 0x9c, 0x5d, 0x38, 0xc6, 0x6d, 0x72, 0x5e, 0x4, 0x3a, 0xc9, 0xfc, 0x8f, 0x2, 0xde, 0xfe, 0xc4, 0x1, 0x3c, 0xd6, 0x1, 0x55, 0xe5, 0x66, 0x98, 0xfe, 0x81, 0xc9, 0x83, 0x5d, 0x38, 0x98, 0xc6, 0x83, 0x0, 0x0, 0x1, 0x0, 0xc1, 0x0, 0x0, 0x3, 0x44, 0x5, 0xd5, 0x0, 0x9, 0x0, 0x27, 0x40, 0xa, 0xb, 0x5, 0x9, 0x13, 0x0, 0x6, 0x1c, 0x3, 0x4, 0xa, 0x10, 0xfc, 0xfc, 0x3c, 0xfc, 0x3c, 0xcc, 0x31, 0x0, 0x40, 0x9, 0x7, 0xa0, 0x9, 0x1, 0x6, 0xa0, 0x4, 0xaf, 0x1, 0x2f, 0xf4, 0xec, 0x10, 0xdc, 0xec, 0x30, 0x1, 0x11, 0x23, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x1, 0x79, 0xb8, 0x2, 0x83, 0xfe, 0x35, 0x1, 0xcb, 0x2, 0xdf, 0xfd, 0x21, 0x5, 0xd5, 0x93, 0xfe, 0x2f, 0x92, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3d, 0x0, 0x0, 0x2, 0xc0, 0x5, 0xd5, 0x0, 0x9, 0x0, 0x27, 0x40, 0xa, 0xb, 0x4, 0x3, 0x12, 0x1, 0x7, 0x13, 0x9, 0x5, 0xa, 0x10, 0xdc, 0x3c, 0xfc, 0x3c, 0xfc, 0xec, 0x31, 0x0, 0x40, 0x9, 0x7, 0xa0, 0x9, 0x2, 0x6, 0xa0, 0x4, 0xaf, 0x2, 0x2f, 0xf4, 0xec, 0x10, 0xdc, 0xec, 0x30, 0x1, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x2, 0x8, 0xb8, 0xfd, 0x7d, 0x1, 0xcb, 0xfe, 0x35, 0x2, 0xdf, 0xfd, 0x21, 0x5, 0xd5, 0x93, 0xfe, 0x2f, 0x92, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0x0, 0x0, 0x4, 0x8, 0x5, 0xd5, 0x0, 0xa, 0x0, 0x17, 0x0, 0x25, 0x40, 0xb, 0x19, 0x1b, 0x7, 0x1c, 0xf, 0x17, 0x2, 0x1c, 0x15, 0x4, 0x18, 0x10, 0xfc, 0xfc, 0x3c, 0xd4, 0xec, 0xec, 0x31, 0x0, 0xb7, 0x1, 0xa0, 0xb, 0x16, 0x81, 0x3, 0xa0, 0x14, 0x2f, 0xec, 0xec, 0xd4, 0xec, 0x30, 0x1, 0x21, 0x11, 0x21, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x21, 0x11, 0x33, 0x11, 0x2, 0x9c, 0xfe, 0xd0, 0x1, 0x2c, 0x52, 0x34, 0x2c, 0x2c, 0x3d, 0x19, 0x69, 0x7f, 0x58, 0x58, 0x58, 0x6c, 0xfd, 0xce, 0xb9, 0x2, 0xde, 0xfd, 0xb5, 0x5d, 0x4f, 0x7a, 0x7d, 0x49, 0x5f, 0x93, 0x87, 0x5f, 0xd2, 0xad, 0x87, 0x85, 0x5, 0xd5, 0xfd, 0x9c, 0x0, 0x0, 0x1, 0x0, 0xc1, 0x0, 0x0, 0x4, 0x24, 0x5, 0xd5, 0x0, 0x10, 0x0, 0x3b, 0x40, 0xa, 0x12, 0x4, 0x10, 0x6, 0x1c, 0xc, 0x7, 0xd, 0x4, 0x11, 0x10, 0xf4, 0xdc, 0xb2, 0x5f, 0x7, 0x1, 0x5d, 0x39, 0xfc, 0xd4, 0xec, 0x0, 0x40, 0x9, 0x1, 0xc, 0x6, 0xd, 0x0, 0xa0, 0xe, 0x81, 0x6, 0x2f, 0xf4, 0xec, 0x39, 0x11, 0x39, 0x39, 0x40, 0x7, 0x1, 0x12, 0x0, 0x12, 0xc, 0xd, 0xc, 0x7, 0x10, 0x5, 0xec, 0xec, 0x31, 0x30, 0x1, 0x13, 0x16, 0x17, 0x16, 0x12, 0x7, 0x23, 0x34, 0x2, 0x27, 0x26, 0x27, 0x3, 0x35, 0x21, 0x15, 0x1, 0xbd, 0x9d, 0x88, 0x34, 0x42, 0xb, 0x1, 0xb8, 0x1b, 0x35, 0x4d, 0x89, 0xc3, 0x3, 0x63, 0x5, 0x41, 0xfe, 0xef, 0xea, 0xb8, 0xe6, 0xfe, 0xc9, 0x71, 0x99, 0x1, 0x5f, 0x96, 0xdc, 0xdc, 0x1, 0x39, 0x56, 0x93, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3d, 0x0, 0x0, 0x2, 0xc, 0x5, 0xd5, 0x0, 0x6, 0x0, 0x34, 0xb7, 0x8, 0x3, 0x2, 0x4, 0x1c, 0x0, 0x2, 0x7, 0x10, 0xd4, 0xdc, 0xfc, 0x11, 0x39, 0xcc, 0x31, 0x0, 0x40, 0xb, 0x1, 0x12, 0x0, 0x12, 0x2, 0x3, 0x2, 0x2, 0x3, 0x81, 0x5, 0x2f, 0xf4, 0xcc, 0xb2, 0x1f, 0x2, 0x1, 0x5d, 0x7, 0x10, 0x4, 0xec, 0xec, 0xb4, 0x8d, 0x1, 0x8d, 0x0, 0x2, 0x5d, 0x30, 0x9, 0x1, 0x35, 0x1, 0x33, 0x11, 0x23, 0x1, 0x54, 0xfe, 0xe9, 0x1, 0x15, 0xba, 0xb8, 0x4, 0xdf, 0xfe, 0xc7, 0xf6, 0x1, 0x39, 0xfa, 0x2b, 0x0, 0x0, 0x0, 0x3, 0x0, 0xc1, 0x0, 0x0, 0x6, 0xeb, 0x4, 0x1a, 0x0, 0xf, 0x0, 0x18, 0x0, 0x21, 0x0, 0x2d, 0x40, 0xd, 0x23, 0x4, 0xe, 0x1c, 0x10, 0x16, 0x1c, 0x19, 0x1f, 0x1c, 0x1, 0x4, 0x22, 0x10, 0xfc, 0xec, 0xd4, 0xec, 0xd4, 0xfc, 0xec, 0x31, 0x0, 0x40, 0xa, 0x13, 0xa0, 0xa, 0x1c, 0xa0, 0x4, 0x18, 0x21, 0xa0, 0x0, 0x2f, 0xec, 0x32, 0xd4, 0xec, 0xd4, 0xec, 0x30, 0x33, 0x11, 0x34, 0x12, 0x33, 0x32, 0x16, 0x17, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x15, 0x11, 0x3, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x21, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x21, 0xc1, 0xf4, 0xc6, 0x7d, 0x78, 0x35, 0x25, 0x96, 0xd3, 0xd2, 0x5e, 0x88, 0xba, 0xa4, 0x5a, 0x81, 0x7f, 0x1, 0xfe, 0xfd, 0x48, 0xa4, 0x5a, 0x6c, 0x94, 0x1, 0xfe, 0x1, 0xee, 0xa6, 0x0, 0xff, 0x4b, 0x2d, 0x2d, 0xd2, 0x58, 0x80, 0x68, 0xfd, 0x26, 0x2, 0x7c, 0x82, 0x80, 0xc5, 0x95, 0xfe, 0x6e, 0x1, 0x63, 0x83, 0x7f, 0xa7, 0xd2, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3d, 0x0, 0x0, 0x3, 0x8b, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x26, 0x40, 0xb, 0xd, 0x8, 0x1f, 0xa, 0x6, 0x1c, 0x4, 0x0, 0x1f, 0x2, 0xc, 0x10, 0xdc, 0xfc, 0x3c, 0xfc, 0x3c, 0xfc, 0xcc, 0x31, 0x0, 0xb6, 0x9, 0x1, 0x2, 0x6, 0x4, 0x81, 0xb, 0x2f, 0xf4, 0xdc, 0x3c, 0xdc, 0x3c, 0x30, 0x1, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x1, 0x88, 0xfe, 0xb5, 0x1, 0x4b, 0xb8, 0x1, 0x4b, 0xfe, 0xb5, 0xb8, 0x3, 0x80, 0x94, 0x1, 0xc1, 0xfe, 0x3f, 0x94, 0xfc, 0x80, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3d, 0x0, 0x0, 0x6, 0x8, 0x5, 0xd5, 0x0, 0x13, 0x0, 0x39, 0x40, 0x10, 0x15, 0xc, 0x1f, 0xa, 0xe, 0x1c, 0x10, 0x8, 0x6, 0x12, 0x1c, 0x0, 0x4, 0x1f, 0x2, 0x14, 0x10, 0xdc, 0xfc, 0x3c, 0xfc, 0x3c, 0xdc, 0x3c, 0xfc, 0x3c, 0xfc, 0xcc, 0x31, 0x0, 0x40, 0xc, 0x1, 0x11, 0xd, 0xa0, 0x3, 0x7, 0xb, 0x5, 0x9, 0x81, 0x13, 0xf, 0x2f, 0x3c, 0xf4, 0x3c, 0xdc, 0x3c, 0x3c, 0xfc, 0x3c, 0x3c, 0x30, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x1, 0x88, 0xfe, 0xb5, 0x1, 0x4b, 0xb9, 0x1, 0xc3, 0xb8, 0x1, 0x4c, 0xfe, 0xb4, 0xb8, 0xfe, 0x3d, 0x3, 0x81, 0x93, 0x1, 0xc1, 0xfe, 0x3f, 0x1, 0xc1, 0xfe, 0x3f, 0x93, 0xfc, 0x7f, 0x3, 0x81, 0xfc, 0x7f, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0x0, 0x0, 0x4, 0x81, 0x3, 0x71, 0x0, 0x3, 0x0, 0x7, 0x0, 0x21, 0x40, 0xa, 0x9, 0x4, 0x1, 0x1c, 0x7, 0x5, 0x1c, 0x3, 0x4, 0x8, 0x10, 0xfc, 0xec, 0xd4, 0xfc, 0xec, 0x31, 0x0, 0xb6, 0x4, 0xa0, 0x0, 0xa3, 0x6, 0xa0, 0x2, 0x2f, 0xec, 0xf4, 0xec, 0x30, 0x1, 0x11, 0x21, 0x11, 0x17, 0x11, 0x21, 0x11, 0x4, 0x81, 0xfc, 0x39, 0xb9, 0x2, 0x55, 0x3, 0x71, 0xfc, 0x8f, 0x3, 0x71, 0x93, 0xfd, 0xb5, 0x2, 0x4b, 0x0, 0x0, 0x2, 0x0, 0x3d, 0x0, 0x0, 0x4, 0xc3, 0x5, 0xd5, 0x0, 0x2, 0x0, 0x6, 0x0, 0x3d, 0xb3, 0x8, 0x3, 0x6, 0x7, 0x10, 0xd4, 0xc4, 0xc4, 0x31, 0x0, 0xb7, 0x42, 0x1, 0x95, 0x6, 0x81, 0x2, 0x95, 0x5, 0x2f, 0xec, 0xf4, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x12, 0x2, 0x11, 0x4, 0x1, 0x2, 0x0, 0x11, 0x3, 0x3, 0x4, 0x2, 0x11, 0x5, 0x1, 0x11, 0x6, 0x6, 0x5, 0x5, 0x7, 0x10, 0xec, 0x10, 0xec, 0x7, 0x10, 0xec, 0x8, 0x10, 0xec, 0x59, 0x1, 0x21, 0x9, 0x2, 0x23, 0x1, 0x3, 0xc6, 0xfd, 0x74, 0x1, 0x46, 0x2, 0x43, 0xfe, 0x30, 0xe6, 0xfe, 0x30, 0x5, 0x42, 0xfb, 0x7e, 0x5, 0x15, 0xfa, 0x2b, 0x5, 0xd5, 0x0, 0x0, 0x0, 0x3, 0x0, 0xc1, 0x0, 0x0, 0x5, 0x6e, 0x5, 0xd5, 0x0, 0xa, 0x0, 0xe, 0x0, 0x1d, 0x0, 0x34, 0x40, 0xf, 0x1f, 0x1b, 0x5, 0x1c, 0x14, 0x1a, 0x0, 0x1c, 0xf, 0xe, 0xc, 0x1c, 0x1c, 0x4, 0x1e, 0x10, 0xfc, 0xec, 0xdc, 0x3c, 0xfc, 0x3c, 0xd4, 0xec, 0xec, 0x31, 0x0, 0x40, 0xc, 0x19, 0xb, 0xa0, 0x1, 0x1d, 0xa, 0xa0, 0x10, 0x81, 0xd, 0xa0, 0x1b, 0x2f, 0xec, 0xf4, 0xec, 0xdc, 0x3c, 0xec, 0x32, 0x30, 0x1, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2b, 0x1, 0x1, 0x11, 0x21, 0x19, 0x1, 0x21, 0x32, 0x17, 0x16, 0x15, 0x6, 0x7, 0x6, 0x2f, 0x1, 0x11, 0x21, 0x11, 0x21, 0x3, 0x6d, 0xa8, 0x5d, 0x25, 0x1f, 0x1f, 0x1d, 0x69, 0xa4, 0xfe, 0xd, 0x1, 0x3b, 0x1, 0xb0, 0x84, 0x40, 0x45, 0x1, 0x44, 0x5c, 0x8c, 0xd4, 0xfd, 0x54, 0x1, 0xf4, 0x3, 0x71, 0x51, 0x45, 0x3d, 0x3c, 0x64, 0x5e, 0xfd, 0x9c, 0xfd, 0xb5, 0x2, 0x4b, 0x2, 0xf7, 0x85, 0x90, 0x7c, 0x91, 0x5b, 0x7c, 0x1, 0x1, 0xfd, 0x22, 0x3, 0x71, 0x0, 0x1, 0x0, 0xc1, 0x0, 0x0, 0x3, 0x7d, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x28, 0x40, 0xc, 0xd, 0x4, 0x0, 0x1c, 0xa, 0x2, 0x8, 0x4, 0x1c, 0x6, 0x4, 0xc, 0x10, 0xfc, 0xfc, 0x3c, 0xdc, 0x3c, 0xfc, 0xec, 0x31, 0x0, 0xb7, 0x5, 0x3, 0xa0, 0x7, 0x9, 0xb, 0x81, 0x1, 0x2f, 0xf4, 0xdc, 0xcc, 0xfc, 0xcc, 0x30, 0x21, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x3, 0x7d, 0xb8, 0xfe, 0xb5, 0xb9, 0xb9, 0x1, 0x4b, 0xb8, 0x3, 0x81, 0xfe, 0xfc, 0x2, 0x9b, 0xfe, 0xfc, 0x1, 0xc1, 0x0, 0x0, 0x0, 0x2, 0x0, 0x70, 0x0, 0x0, 0x5, 0xa, 0x5, 0xd5, 0x0, 0xa, 0x0, 0x1b, 0x0, 0x2e, 0x40, 0xd, 0x1d, 0x4, 0x1a, 0x1f, 0x18, 0xb, 0x1c, 0xd, 0x1, 0x7, 0x13, 0x1b, 0x1c, 0x10, 0xfc, 0xcc, 0xd4, 0x3c, 0xfc, 0x3c, 0xfc, 0xec, 0x31, 0x0, 0x40, 0xa, 0x1b, 0xe, 0xa0, 0x0, 0x19, 0x2, 0xa0, 0x17, 0x81, 0xc, 0x2f, 0xf4, 0xec, 0xd4, 0x3c, 0xec, 0x32, 0x30, 0x1, 0x21, 0x11, 0x21, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x5, 0x11, 0x23, 0x11, 0x21, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x21, 0x11, 0x21, 0x15, 0x1, 0xdc, 0x1, 0x30, 0xfe, 0xd4, 0x52, 0x34, 0x2c, 0x2c, 0x3d, 0x2, 0x27, 0xb9, 0xfe, 0xab, 0x6b, 0x7d, 0x58, 0x58, 0x58, 0x6c, 0x2, 0x32, 0x1, 0x4c, 0x2, 0xf7, 0x2, 0x4b, 0x5d, 0x4f, 0x7a, 0x7d, 0x49, 0x5f, 0x93, 0xfd, 0x9c, 0x2, 0x64, 0x87, 0x5f, 0xd2, 0xad, 0x87, 0x85, 0xfd, 0x22, 0x93, 0x0, 0x1, 0x0, 0x3d, 0x0, 0x0, 0x3, 0x8b, 0x5, 0xd5, 0x0, 0x7, 0x0, 0x1f, 0x40, 0x9, 0x9, 0x0, 0x1f, 0x2, 0x1c, 0x4, 0x1f, 0x6, 0x8, 0x10, 0xdc, 0xfc, 0xfc, 0xfc, 0xcc, 0x31, 0x0, 0xb5, 0x5, 0x2, 0xa0, 0x7, 0x81, 0x3, 0x2f, 0xf4, 0xec, 0x32, 0x30, 0x1, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x3, 0x8b, 0xfe, 0xb5, 0xb8, 0xfe, 0xb5, 0x5, 0xd5, 0x93, 0xfa, 0xbe, 0x5, 0x42, 0x93, 0x0, 0x2, 0x0, 0x3d, 0x0, 0x0, 0x4, 0xc3, 0x5, 0xd5, 0x0, 0x2, 0x0, 0x6, 0x0, 0x3d, 0xb3, 0x8, 0x3, 0x4, 0x7, 0x10, 0xd4, 0xc4, 0xc4, 0x31, 0x0, 0xb7, 0x42, 0x1, 0x95, 0x5, 0x81, 0x2, 0xa0, 0x4, 0x2f, 0xec, 0xf4, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x12, 0x1, 0x11, 0x6, 0x2, 0x1, 0x0, 0x11, 0x3, 0x3, 0x6, 0x1, 0x11, 0x5, 0x2, 0x11, 0x4, 0x4, 0x5, 0x5, 0x7, 0x10, 0xec, 0x10, 0xec, 0x7, 0x10, 0xec, 0x8, 0x10, 0xec, 0x59, 0x25, 0x9, 0x1, 0x5, 0x21, 0x1, 0x33, 0x3, 0xc6, 0xfe, 0xba, 0xfe, 0xba, 0x3, 0x89, 0xfb, 0x7a, 0x1, 0xd0, 0xe6, 0x93, 0x4, 0x82, 0xfb, 0x7e, 0x93, 0x5, 0xd5, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0x0, 0x0, 0x4, 0x4f, 0x5, 0xd5, 0x0, 0x1a, 0x0, 0x26, 0x0, 0x0, 0x1, 0x35, 0x21, 0x35, 0x21, 0x11, 0x16, 0x17, 0x1e, 0x1, 0x14, 0x6, 0x7, 0x6, 0x7, 0x11, 0x23, 0x11, 0x26, 0x27, 0x2e, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x2, 0x14, 0x1e, 0x1, 0x32, 0x3e, 0x1, 0x34, 0x2e, 0x1, 0x22, 0x6, 0x2, 0x4, 0xfe, 0xb5, 0x2, 0x3, 0x58, 0x45, 0x72, 0x84, 0x84, 0x72, 0x4a, 0x53, 0xb8, 0x52, 0x4a, 0x72, 0x85, 0x43, 0x45, 0x6f, 0x4a, 0xa5, 0x5b, 0x9c, 0xb8, 0x9d, 0x5a, 0x5a, 0x9d, 0xb8, 0x9c, 0x4, 0x4f, 0xf3, 0x93, 0xfe, 0x7b, 0xd, 0x1e, 0x32, 0xa6, 0xc6, 0xa6, 0x31, 0x20, 0xb, 0xfe, 0x7b, 0x1, 0x86, 0xb, 0x1f, 0x31, 0xa6, 0xc6, 0x53, 0x56, 0x2f, 0x1f, 0xfe, 0xde, 0x70, 0x5f, 0x38, 0x38, 0x5f, 0x70, 0x60, 0x38, 0x38, 0x0, 0x0, 0x1, 0x0, 0xc1, 0x0, 0x0, 0x3, 0x7d, 0x5, 0xd5, 0x0, 0x7, 0x0, 0x20, 0x40, 0xa, 0x9, 0x4, 0x3, 0x1c, 0x1, 0x5, 0x1c, 0x7, 0x4, 0x8, 0x10, 0xfc, 0xec, 0xd4, 0xec, 0xec, 0x31, 0x0, 0xb5, 0x6, 0x4, 0xa0, 0x0, 0x81, 0x2, 0x2f, 0xf4, 0xfc, 0xcc, 0x30, 0x1, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x3, 0x7d, 0xb8, 0xfe, 0xb5, 0xb9, 0x5, 0xd5, 0xfa, 0x2b, 0x5, 0x42, 0xfe, 0xc5, 0x1, 0xce, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc1, 0x0, 0x0, 0x3, 0x7d, 0x4, 0xe6, 0x0, 0x9, 0x0, 0x23, 0x40, 0xb, 0xb, 0x4, 0x1, 0x1c, 0x3, 0x9, 0x5, 0x1c, 0x7, 0x4, 0xa, 0x10, 0xfc, 0xfc, 0x3c, 0xdc, 0xfc, 0xec, 0x31, 0x0, 0xb5, 0x8, 0x0, 0xa0, 0x6, 0x4, 0x2, 0x2f, 0xd4, 0xcc, 0xfc, 0xcc, 0x30, 0x1, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x3, 0x7d, 0xb8, 0xfe, 0xb5, 0xb9, 0xb9, 0x3, 0xe2, 0xfc, 0x1e, 0x3, 0x4f, 0xfe, 0xfc, 0x2, 0x9b, 0xfe, 0xfc, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc1, 0x0, 0x0, 0x3, 0x6d, 0x5, 0xd5, 0x0, 0x3, 0x0, 0xb, 0x0, 0x2b, 0x40, 0xc, 0xd, 0x4, 0xa, 0x1c, 0x6, 0x3, 0x1, 0x1c, 0x4, 0x8, 0x4, 0xc, 0x10, 0xfc, 0x3c, 0xec, 0xdc, 0x3c, 0xfc, 0xec, 0x31, 0x0, 0x40, 0xa, 0x0, 0xa0, 0x5, 0x7, 0xa0, 0x9, 0x81, 0x2, 0xa0, 0xb, 0x2f, 0xec, 0xf4, 0xec, 0xd4, 0xec, 0x30, 0x1, 0x11, 0x21, 0x11, 0x25, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x1, 0x7a, 0x1, 0x3b, 0xfe, 0xc, 0x1, 0xf4, 0xfe, 0xc, 0x2, 0xac, 0xfd, 0x54, 0x2, 0xde, 0xfd, 0xb5, 0x2, 0x4b, 0x93, 0x1, 0xd1, 0x93, 0xfa, 0x2b, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0x0, 0x0, 0x4, 0x4f, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x24, 0x0, 0x3d, 0x40, 0xf, 0x26, 0x45, 0x7, 0x1c, 0x11, 0xc, 0x15, 0x1c, 0x22, 0x18, 0x1, 0x1c, 0x1d, 0x45, 0x25, 0x10, 0xfc, 0xec, 0xdc, 0xb2, 0x40, 0x18, 0x1, 0x5d, 0x3c, 0xfc, 0x3c, 0xdc, 0xb2, 0x40, 0x11, 0x1, 0x5d, 0xec, 0xec, 0x31, 0x0, 0x40, 0xb, 0x3, 0x95, 0x18, 0x15, 0xa, 0x95, 0xc, 0x22, 0x23, 0x81, 0x16, 0x2f, 0xec, 0xd4, 0x3c, 0xec, 0xd4, 0x3c, 0xec, 0x30, 0x0, 0x14, 0x1e, 0x1, 0x32, 0x3e, 0x1, 0x34, 0x2e, 0x1, 0x22, 0x6, 0x25, 0x16, 0x17, 0x1e, 0x1, 0x14, 0x6, 0x7, 0x6, 0x7, 0x11, 0x23, 0x11, 0x26, 0x27, 0x2e, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x11, 0x33, 0x1, 0xd, 0x5b, 0x9c, 0xb8, 0x9d, 0x5a, 0x5a, 0x9d, 0xb8, 0x9c, 0x1, 0x54, 0x58, 0x45, 0x72, 0x84, 0x84, 0x72, 0x4a, 0x53, 0xb8, 0x52, 0x4a, 0x72, 0x85, 0x43, 0x45, 0x6f, 0x4a, 0x52, 0xb8, 0x3, 0x22, 0x70, 0x5f, 0x38, 0x38, 0x5f, 0x70, 0x60, 0x38, 0x38, 0xce, 0xd, 0x1e, 0x32, 0xa6, 0xc6, 0xa6, 0x31, 0x20, 0xb, 0xfe, 0x7b, 0x1, 0x86, 0xb, 0x1f, 0x31, 0xa6, 0xc6, 0x53, 0x56, 0x2f, 0x1f, 0xb, 0x1, 0x86, 0x0, 0x0, 0x2, 0x0, 0x71, 0x0, 0x0, 0x4, 0x4f, 0x5, 0xd5, 0x0, 0x1c, 0x0, 0x28, 0x0, 0x0, 0x1, 0x16, 0x17, 0x1e, 0x1, 0x14, 0x6, 0x7, 0x6, 0x7, 0x11, 0x23, 0x11, 0x26, 0x27, 0x2e, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x35, 0x21, 0x35, 0x21, 0x15, 0x21, 0x0, 0x14, 0x1e, 0x1, 0x32, 0x3e, 0x1, 0x34, 0x2e, 0x1, 0x22, 0x6, 0x2, 0xbc, 0x58, 0x45, 0x72, 0x84, 0x84, 0x72, 0x4a, 0x53, 0xb8, 0x52, 0x4a, 0x72, 0x85, 0x43, 0x45, 0x6f, 0x4a, 0x52, 0xfe, 0xb5, 0x3, 0x4e, 0xfe, 0xb5, 0xfe, 0x51, 0x5b, 0x9c, 0xb8, 0x9d, 0x5a, 0x5a, 0x9d, 0xb8, 0x9c, 0x4, 0x50, 0xd, 0x1e, 0x32, 0xa6, 0xc6, 0xa6, 0x31, 0x20, 0xb, 0xfe, 0x7b, 0x1, 0x86, 0xb, 0x1f, 0x31, 0xa6, 0xc6, 0x53, 0x56, 0x2f, 0x1f, 0xb, 0xf3, 0x93, 0x93, 0xfd, 0xe0, 0x70, 0x5f, 0x38, 0x38, 0x5f, 0x70, 0x60, 0x38, 0x38, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd9, 0x5, 0x62, 0x3, 0x2f, 0x5, 0xf6, 0x0, 0x3, 0x0, 0x10, 0xb2, 0x2, 0x0, 0x4, 0x10, 0xdc, 0xcc, 0x31, 0x0, 0xb2, 0x1, 0xa0, 0x3, 0x2f, 0xec, 0x30, 0x13, 0x21, 0x15, 0x21, 0xd9, 0x2, 0x56, 0xfd, 0xaa, 0x5, 0xf6, 0x94, 0x0, 0x0, 0x0, 0x1, 0x0, 0x42, 0x4, 0xe0, 0x3, 0xbe, 0x6, 0x66, 0x0, 0x13, 0x0, 0x0, 0x1, 0x3, 0xe, 0x1, 0x23, 0x22, 0x26, 0x2f, 0x1, 0x7, 0x23, 0x13, 0x33, 0x17, 0x1e, 0x1, 0x33, 0x32, 0x3f, 0x1, 0x3, 0xbe, 0xa2, 0x11, 0x45, 0x3d, 0x39, 0x51, 0x1b, 0x63, 0xb4, 0x8b, 0xf5, 0x94, 0x74, 0x5, 0x32, 0xd, 0x25, 0x13, 0x78, 0x6, 0x66, 0xfe, 0xbc, 0x22, 0x20, 0x25, 0x2f, 0xaf, 0xf5, 0x1, 0x78, 0xe0, 0xa, 0x1c, 0x24, 0xe2, 0x0, 0x1, 0x1, 0xa4, 0x5, 0x44, 0x2, 0x70, 0x6, 0x10, 0x0, 0x3, 0x0, 0xf, 0xb2, 0x2, 0x8, 0x0, 0x2f, 0xec, 0x31, 0x0, 0xb2, 0x1, 0x8, 0x3, 0x2f, 0xec, 0x30, 0x1, 0x33, 0x15, 0x23, 0x1, 0xa4, 0xcc, 0xcc, 0x6, 0x10, 0xcc, 0x0, 0x1, 0x0, 0xbf, 0x4, 0xee, 0x3, 0x3d, 0x6, 0x66, 0x0, 0x6, 0x0, 0x37, 0xb4, 0x4, 0x2, 0x75, 0x6, 0x7, 0x10, 0xdc, 0xec, 0x39, 0x31, 0x0, 0xb6, 0x4, 0x5, 0x2, 0xb4, 0x0, 0xb3, 0x7, 0x10, 0xf4, 0xec, 0x32, 0x39, 0x30, 0x0, 0x4b, 0xb0, 0x9, 0x54, 0x4b, 0xb0, 0xe, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x7, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x7, 0x0, 0x7, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x1, 0x33, 0x13, 0x23, 0x27, 0x7, 0x23, 0x1, 0xb4, 0x94, 0xf5, 0x8b, 0xb4, 0xb4, 0x8b, 0x6, 0x66, 0xfe, 0x88, 0xf5, 0xf5, 0x0, 0x0, 0x0, 0x1, 0x0, 0x5b, 0x4, 0xee, 0x3, 0xa5, 0x6, 0x66, 0x0, 0x6, 0x0, 0x45, 0xb3, 0x5, 0x6, 0x2, 0x7, 0x10, 0xdc, 0xcc, 0x39, 0x31, 0x0, 0xb6, 0x6, 0x0, 0x5, 0x3, 0xa0, 0x0, 0x7, 0x10, 0xdc, 0xfc, 0xcc, 0x11, 0x39, 0x30, 0xb7, 0x3, 0xa0, 0x6, 0x4, 0xa0, 0x5, 0x6, 0x5, 0x7, 0x5, 0x10, 0xec, 0x10, 0xec, 0x40, 0x9, 0x55, 0x6, 0x65, 0x6, 0x75, 0x6, 0x85, 0x6, 0x4, 0x40, 0xb, 0x29, 0x4, 0x39, 0x4, 0x49, 0x4, 0x55, 0x5, 0x65, 0x5, 0x5, 0x1, 0x5d, 0x0, 0x5d, 0x1, 0x21, 0x35, 0x5, 0x27, 0x33, 0x5, 0x3, 0xa5, 0xfc, 0xb6, 0x2, 0x7b, 0xec, 0xb6, 0x1, 0x5, 0x4, 0xee, 0x94, 0x2, 0xe6, 0xe4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x42, 0x4, 0xe0, 0x3, 0xbe, 0x6, 0x66, 0x0, 0x13, 0x0, 0x0, 0x13, 0x33, 0x17, 0x16, 0x33, 0x32, 0x36, 0x3f, 0x1, 0x33, 0x13, 0x23, 0x27, 0x7, 0xe, 0x1, 0x23, 0x22, 0x26, 0x27, 0x42, 0x8b, 0x78, 0x13, 0x25, 0xd, 0x32, 0x5, 0x74, 0x94, 0xf5, 0x8b, 0xb4, 0x63, 0x1b, 0x51, 0x39, 0x3d, 0x45, 0x11, 0x6, 0x66, 0xe2, 0x24, 0x1c, 0xa, 0xe0, 0xfe, 0x88, 0xf5, 0xaf, 0x2f, 0x25, 0x20, 0x22, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x5b, 0x4, 0xee, 0x3, 0xa5, 0x6, 0x66, 0x0, 0x6, 0x0, 0x43, 0xb3, 0x2, 0x5, 0x1, 0x7, 0x10, 0xdc, 0xcc, 0x39, 0x31, 0x0, 0xb6, 0x1, 0x0, 0x2, 0x4, 0xa0, 0x0, 0x7, 0x10, 0xdc, 0xfc, 0xcc, 0x11, 0x39, 0x30, 0xb7, 0x4, 0xa0, 0x1, 0x3, 0xa0, 0x2, 0x1, 0x2, 0x7, 0x5, 0x10, 0xec, 0x10, 0xec, 0x40, 0x14, 0x55, 0x1, 0x65, 0x1, 0x75, 0x1, 0x85, 0x1, 0x4, 0x26, 0x3, 0x36, 0x3, 0x46, 0x3, 0x5a, 0x2, 0x6a, 0x2, 0x5, 0x1, 0x5d, 0x0, 0x5d, 0x13, 0x35, 0x25, 0x33, 0x7, 0x25, 0x15, 0x5b, 0x1, 0x5, 0xb6, 0xec, 0x2, 0x7b, 0x4, 0xee, 0x94, 0xe4, 0xe6, 0x2, 0x94, 0x0, 0x0, 0x0, 0x1, 0x1, 0x9a, 0xfe, 0x87, 0x2, 0x66, 0xff, 0x53, 0x0, 0x3, 0x0, 0xf, 0xb2, 0x2, 0x8, 0x0, 0x2f, 0xec, 0x31, 0x0, 0xb2, 0x3, 0x8, 0x1, 0x2f, 0xec, 0x30, 0x5, 0x33, 0x15, 0x23, 0x1, 0x9a, 0xcc, 0xcc, 0xad, 0xcc, 0x0, 0x0, 0x2, 0x0, 0xd5, 0x5, 0x46, 0x3, 0x27, 0x6, 0x10, 0x0, 0x3, 0x0, 0x7, 0x0, 0x18, 0xb5, 0x2, 0x8, 0x0, 0x4, 0x8, 0x6, 0x2f, 0xfc, 0xdc, 0xec, 0x31, 0x0, 0xb4, 0x5, 0x1, 0x8, 0x7, 0x3, 0x2f, 0x3c, 0xfc, 0x3c, 0x30, 0x1, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x2, 0x5c, 0xcb, 0xcb, 0xfe, 0x79, 0xcb, 0xcb, 0x6, 0x10, 0xca, 0xca, 0xca, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc8, 0x4, 0x75, 0x1, 0xba, 0x6, 0x14, 0x0, 0x8, 0x0, 0x1c, 0xb7, 0xa, 0x4, 0x0, 0x5, 0x3, 0x7, 0x4, 0x9, 0x10, 0xfc, 0x3c, 0xdc, 0xdc, 0xec, 0x31, 0x0, 0xb4, 0x2, 0x3, 0x8, 0xa0, 0x6, 0x2f, 0xec, 0xdc, 0xcc, 0x30, 0x1, 0x10, 0x23, 0x35, 0x32, 0x37, 0x23, 0x35, 0x33, 0x1, 0xba, 0xf2, 0x84, 0x2, 0x85, 0xf1, 0x5, 0x80, 0xfe, 0xf5, 0x67, 0x9a, 0x9e, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc8, 0x4, 0x75, 0x1, 0xba, 0x6, 0x14, 0x0, 0x8, 0x0, 0x1c, 0xb7, 0xa, 0x4, 0x6, 0x3, 0x5, 0x8, 0x4, 0x9, 0x10, 0xfc, 0xdc, 0xdc, 0x3c, 0xec, 0x31, 0x0, 0xb4, 0x2, 0x3, 0x7, 0xa0, 0x5, 0x2f, 0xec, 0xdc, 0xcc, 0x30, 0x13, 0x10, 0x33, 0x15, 0x22, 0x7, 0x33, 0x15, 0x23, 0xc8, 0xf2, 0x84, 0x2, 0x85, 0xf1, 0x5, 0x9, 0x1, 0xb, 0x67, 0x9a, 0x9e, 0x0, 0x2, 0x0, 0x64, 0x0, 0x0, 0x4, 0x17, 0x3, 0xfb, 0x0, 0x3, 0x0, 0x7, 0x0, 0x1c, 0xb6, 0x9, 0x6, 0x2, 0x8, 0x0, 0x4, 0x8, 0x10, 0xdc, 0xdc, 0xfc, 0xdc, 0xcc, 0x31, 0x0, 0xb5, 0x1, 0x8, 0x3, 0x5, 0xa0, 0x7, 0x2f, 0xec, 0xd4, 0xec, 0x30, 0x1, 0x33, 0x15, 0x23, 0x1, 0x21, 0x15, 0x21, 0x1, 0xd7, 0xcc, 0xcc, 0xfe, 0x8d, 0x3, 0xb3, 0xfc, 0x4d, 0x3, 0xfb, 0xcc, 0xfd, 0x64, 0x93, 0x0, 0x3, 0x0, 0x64, 0x0, 0x0, 0x4, 0x17, 0x3, 0xde, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x27, 0x40, 0x9, 0xd, 0xa, 0x6, 0x2, 0x8, 0x4, 0x0, 0x8, 0xc, 0x10, 0xdc, 0xdc, 0x3c, 0xfc, 0x3c, 0xdc, 0xcc, 0x31, 0x0, 0x40, 0x9, 0x9, 0xa0, 0xb, 0x1, 0x8, 0x3, 0x5, 0x8, 0x7, 0x2f, 0xec, 0xd4, 0xec, 0xd4, 0xec, 0x30, 0x1, 0x33, 0x15, 0x23, 0x15, 0x33, 0x15, 0x23, 0x1, 0x21, 0x15, 0x21, 0x1, 0xd7, 0xcc, 0xcc, 0xcc, 0xcc, 0xfe, 0x8d, 0x3, 0xb3, 0xfc, 0x4d, 0x2, 0x84, 0xcc, 0xec, 0xcc, 0x3, 0xde, 0x92, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x2, 0xf7, 0x0, 0x93, 0x0, 0x3, 0x0, 0x12, 0xb3, 0x2, 0x5, 0x0, 0x4, 0x10, 0xc4, 0xdc, 0xc4, 0x31, 0x0, 0xb2, 0x1, 0xa0, 0x3, 0x2f, 0xec, 0x30, 0x27, 0x21, 0x15, 0x21, 0x14, 0x3, 0xb, 0xfc, 0xf5, 0x93, 0x93, 0x0, 0x0, 0x5, 0x0, 0xb0, 0xfe, 0xe6, 0x4, 0x91, 0x6, 0x27, 0x0, 0x3, 0x0, 0x7, 0x0, 0x1e, 0x0, 0x27, 0x0, 0x2f, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x3, 0x11, 0x33, 0x19, 0x1, 0x21, 0x11, 0x21, 0x11, 0x33, 0x11, 0x16, 0x17, 0x16, 0x15, 0x14, 0x6, 0x7, 0x1e, 0x1, 0x15, 0x14, 0x7, 0x6, 0x27, 0x11, 0x23, 0x13, 0x11, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x3, 0x11, 0x36, 0x37, 0x36, 0x35, 0x34, 0x26, 0x1, 0x6e, 0xcd, 0xcd, 0xcd, 0xfe, 0x75, 0x1, 0x8b, 0x64, 0xd1, 0x72, 0x75, 0x78, 0x74, 0x8b, 0x9b, 0x80, 0x81, 0xf1, 0x64, 0x64, 0x78, 0x3e, 0x44, 0x44, 0x3e, 0x78, 0x98, 0x49, 0x49, 0x92, 0x4, 0x89, 0xfe, 0x76, 0x1, 0x8a, 0xfd, 0xe7, 0xfe, 0x21, 0x1, 0xdf, 0xfd, 0x90, 0x5, 0x1a, 0x1, 0xd, 0xfe, 0xf3, 0x2, 0x52, 0x54, 0x9a, 0x78, 0x8e, 0x12, 0x1c, 0xb1, 0x85, 0xaf, 0x60, 0x61, 0x2, 0xfe, 0xe6, 0x5, 0xa3, 0xfe, 0x77, 0x4, 0x2c, 0x30, 0x64, 0x63, 0x31, 0x2d, 0xfd, 0xeb, 0xfe, 0x21, 0x1, 0x3a, 0x3b, 0x7a, 0x7b, 0x74, 0x0, 0x0, 0x3, 0x0, 0x82, 0xff, 0xeb, 0x4, 0xdb, 0x4, 0x7b, 0x0, 0x7, 0x0, 0xf, 0x0, 0x2a, 0x0, 0x4c, 0x40, 0xf, 0x24, 0x8, 0x25, 0x10, 0x8, 0x16, 0xe, 0x6, 0xa, 0x2, 0x12, 0x1b, 0x14, 0x45, 0x2b, 0x10, 0xfc, 0x3c, 0xf4, 0x3c, 0xd4, 0x3c, 0x3c, 0xec, 0xdc, 0xfc, 0x40, 0x6, 0x21, 0x1f, 0x1d, 0x3, 0x1b, 0x23, 0x11, 0x12, 0x17, 0x39, 0x31, 0x0, 0x40, 0x8, 0x0, 0x16, 0x4, 0x87, 0x12, 0x8c, 0x24, 0x2b, 0x10, 0x3c, 0xf4, 0xec, 0xd4, 0xc4, 0x40, 0x9, 0xc, 0x19, 0x8, 0x87, 0x28, 0x87, 0x1d, 0xb8, 0x2b, 0x10, 0xfc, 0xec, 0xec, 0xd4, 0xc4, 0x30, 0x25, 0x22, 0x15, 0x14, 0x33, 0x32, 0x35, 0x34, 0x3, 0x22, 0x15, 0x14, 0x33, 0x32, 0x35, 0x34, 0x13, 0x14, 0x23, 0x22, 0x35, 0x34, 0x21, 0x11, 0x6, 0x23, 0x22, 0x35, 0x34, 0x33, 0x32, 0x17, 0x36, 0x33, 0x20, 0x19, 0x1, 0x23, 0x11, 0x34, 0x23, 0x22, 0x7, 0x1, 0x68, 0x3f, 0x3f, 0x41, 0x41, 0x3f, 0x3f, 0x41, 0xb8, 0xf9, 0xe6, 0x1, 0x27, 0x2b, 0x16, 0xe6, 0xe6, 0xa8, 0x2c, 0x4c, 0xbd, 0x1, 0x96, 0xb8, 0xe2, 0x89, 0x57, 0xf0, 0x40, 0x40, 0x40, 0x40, 0x3, 0x7, 0x40, 0x40, 0x40, 0x40, 0xfc, 0xc1, 0xcd, 0xc9, 0xd0, 0x1, 0x70, 0x8, 0xd8, 0xb7, 0x51, 0x51, 0xfe, 0xbe, 0xfc, 0xc7, 0x3, 0x39, 0xaa, 0x8e, 0x0, 0x2, 0x0, 0x8b, 0xff, 0xdd, 0x5, 0x87, 0x4, 0x8c, 0x0, 0x7, 0x0, 0x2f, 0x0, 0x40, 0x40, 0xe, 0x31, 0x1c, 0xf, 0x12, 0x28, 0x6, 0x2e, 0x2, 0xa, 0x14, 0x12, 0x23, 0x45, 0x30, 0x10, 0xfc, 0xec, 0x3c, 0xcc, 0xdc, 0xcc, 0xdc, 0xfc, 0x3c, 0xcc, 0x31, 0x0, 0x40, 0x13, 0x19, 0x87, 0x1e, 0x16, 0x87, 0x21, 0x8c, 0x30, 0x12, 0x87, 0x25, 0x4, 0x8, 0x0, 0x2a, 0x87, 0xd, 0xb8, 0x30, 0x10, 0xfc, 0xec, 0xcc, 0xdc, 0xcc, 0xdc, 0xf4, 0x10, 0xf4, 0xec, 0xd4, 0xec, 0x30, 0x1, 0x22, 0x15, 0x14, 0x33, 0x32, 0x35, 0x34, 0x3, 0x22, 0x35, 0x34, 0x24, 0x33, 0x20, 0x11, 0x10, 0xd, 0x1, 0x4, 0x15, 0x14, 0x21, 0x32, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x6, 0x23, 0x20, 0x35, 0x34, 0x2d, 0x1, 0x36, 0x35, 0x34, 0x21, 0x22, 0x7, 0x16, 0x15, 0x14, 0x1, 0x60, 0x40, 0x40, 0x40, 0x43, 0xd2, 0x1, 0x76, 0xbb, 0x2, 0x42, 0xfe, 0x99, 0xfe, 0xee, 0xfe, 0xc4, 0x1, 0xf, 0x89, 0xd5, 0xa8, 0x9f, 0x8a, 0x86, 0x69, 0x55, 0x76, 0xcb, 0xab, 0xfe, 0x3a, 0x1, 0xd6, 0x1, 0xe, 0xd7, 0xfe, 0x6b, 0x6e, 0x4c, 0x3f, 0x3, 0x6f, 0x40, 0x40, 0x40, 0x40, 0xfe, 0xec, 0xe4, 0x89, 0xc4, 0xfe, 0xab, 0xfe, 0xec, 0x4e, 0x3b, 0x45, 0x6a, 0x66, 0x8e, 0xd5, 0x61, 0x91, 0x7f, 0xf9, 0xef, 0x65, 0x3a, 0x2e, 0x9a, 0xba, 0x38, 0x38, 0x55, 0xd8, 0x0, 0x0, 0x3, 0x0, 0x89, 0xff, 0xec, 0x4, 0xf4, 0x4, 0x8c, 0x0, 0x7, 0x0, 0xe, 0x0, 0x38, 0x0, 0x0, 0x1, 0x16, 0x33, 0x32, 0x37, 0x26, 0x27, 0x22, 0x12, 0x32, 0x35, 0x34, 0x22, 0x1d, 0x1, 0x25, 0x34, 0x37, 0x26, 0x35, 0x34, 0x37, 0x36, 0x21, 0x20, 0x17, 0x16, 0x19, 0x1, 0x23, 0x11, 0x34, 0x27, 0x26, 0x23, 0x20, 0x7, 0x6, 0x15, 0x36, 0x33, 0x20, 0x10, 0x23, 0x22, 0x27, 0x6, 0x15, 0x14, 0x17, 0x36, 0x33, 0x32, 0x15, 0x14, 0x23, 0x20, 0x1, 0x69, 0x36, 0x5, 0x17, 0x30, 0x49, 0x1, 0x12, 0x4b, 0x68, 0x68, 0xfe, 0xaf, 0x2a, 0x29, 0x85, 0x93, 0x1, 0x37, 0x1, 0x21, 0x8b, 0x6f, 0xb8, 0x5e, 0x52, 0xbf, 0xfe, 0xfd, 0x58, 0x3b, 0x2a, 0x3a, 0x1, 0x4, 0xfa, 0x39, 0x14, 0x1c, 0x16, 0x17, 0xab, 0xcc, 0xcc, 0xfe, 0x75, 0x2, 0x60, 0x14, 0x12, 0x11, 0x1, 0xfe, 0x10, 0x2f, 0x27, 0x22, 0x4, 0xad, 0x7f, 0x80, 0x36, 0x4f, 0xd4, 0x66, 0x71, 0xb3, 0x8f, 0xfe, 0xf7, 0xfd, 0xbf, 0x2, 0x41, 0xbc, 0x85, 0x74, 0x71, 0x4c, 0x49, 0x13, 0xfe, 0xb6, 0xb, 0x24, 0x5c, 0x39, 0x2e, 0x8d, 0xc8, 0xb6, 0x0, 0x0, 0x2, 0x0, 0x6d, 0xfe, 0x18, 0x3, 0x51, 0x4, 0x8c, 0x0, 0x19, 0x0, 0x21, 0x0, 0x36, 0x40, 0xd, 0x6, 0x8, 0x11, 0xd, 0x8, 0xc, 0x0, 0x20, 0x16, 0x1c, 0x0, 0x45, 0x22, 0x10, 0xfc, 0xcc, 0xdc, 0xcc, 0x10, 0xd4, 0xfc, 0xdc, 0xfc, 0x31, 0x0, 0x40, 0xe, 0x1e, 0x18, 0x1a, 0x14, 0x87, 0x3, 0xb8, 0x22, 0xd, 0xf, 0x87, 0x9, 0xbd, 0x22, 0x10, 0xfc, 0xec, 0xcc, 0x10, 0xfc, 0xec, 0xc4, 0xdc, 0xc4, 0x30, 0x13, 0x34, 0x36, 0x33, 0x20, 0x19, 0x1, 0x10, 0x6, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x35, 0x11, 0x10, 0x23, 0x16, 0x7, 0x6, 0x27, 0x26, 0x13, 0x26, 0x17, 0x6, 0x37, 0x16, 0x27, 0x36, 0x6d, 0xa2, 0xdd, 0x1, 0x65, 0x9a, 0xcd, 0xd6, 0x74, 0xd, 0xbd, 0x22, 0x78, 0xaf, 0x82, 0x3, 0x1, 0x5, 0xd8, 0xd0, 0xd6, 0x43, 0x3, 0x2, 0x42, 0x43, 0x3, 0x1, 0x3, 0xa6, 0x71, 0x75, 0xfd, 0xf4, 0xfd, 0x8f, 0xfe, 0xf9, 0xf0, 0xd0, 0x8d, 0xa, 0xd1, 0xf3, 0x2, 0xdf, 0x1, 0x68, 0x15, 0x21, 0xcf, 0x1, 0x1, 0x1, 0x9, 0x1, 0x41, 0x43, 0x3, 0x2, 0x42, 0x42, 0x0, 0x0, 0x0, 0x2, 0x0, 0x7f, 0xff, 0xff, 0x4, 0x97, 0x4, 0x9a, 0x0, 0xb, 0x0, 0x29, 0x0, 0x32, 0x40, 0xd, 0x10, 0x12, 0x13, 0x1d, 0x9, 0x15, 0x3, 0x19, 0x23, 0x12, 0x26, 0x45, 0x2a, 0x10, 0xfc, 0xec, 0xd4, 0xcc, 0xd4, 0xcc, 0xdc, 0x3c, 0xec, 0x31, 0x0, 0x40, 0xb, 0x1f, 0x87, 0xc, 0xb8, 0x2a, 0x0, 0x25, 0x1b, 0x6, 0x17, 0x12, 0x2f, 0xd4, 0xcc, 0xd4, 0xc4, 0xcc, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x3, 0x20, 0x17, 0x16, 0x19, 0x1, 0x7, 0x13, 0x34, 0x27, 0x14, 0x27, 0x26, 0x35, 0x34, 0x33, 0x32, 0x17, 0x10, 0x5, 0x6, 0x7, 0x6, 0x1d, 0x1, 0x23, 0x35, 0x34, 0x37, 0x36, 0x2, 0xb0, 0x24, 0x1c, 0x20, 0x20, 0x25, 0x1b, 0x20, 0x55, 0x1, 0x25, 0x7c, 0x7b, 0xb8, 0x1, 0x65, 0xc8, 0xd9, 0xda, 0xf4, 0x36, 0xfe, 0x99, 0xe3, 0x4c, 0x11, 0xb8, 0x1e, 0x6a, 0x2, 0x60, 0x20, 0x20, 0x25, 0x1b, 0x22, 0x1e, 0x25, 0x1b, 0x2, 0x3a, 0x79, 0x78, 0xfe, 0xd9, 0xfd, 0x7e, 0x1, 0x1, 0x29, 0x8e, 0x52, 0xa6, 0x1, 0x2, 0xb7, 0xc0, 0x68, 0x1, 0x96, 0x6, 0x4, 0x86, 0x1e, 0x86, 0x4b, 0x4b, 0xaa, 0x3e, 0xdc, 0x0, 0x0, 0x2, 0x0, 0x8b, 0xfe, 0x20, 0x5, 0x86, 0x4, 0x8c, 0x0, 0xb, 0x0, 0x36, 0x0, 0x35, 0x40, 0xe, 0x1f, 0x12, 0x12, 0x24, 0x2d, 0x9, 0x33, 0x3, 0x17, 0x12, 0xc, 0x28, 0x45, 0x37, 0x10, 0xfc, 0x3c, 0xec, 0xcc, 0xd4, 0xcc, 0xd4, 0x3c, 0xfc, 0x3c, 0x31, 0x0, 0x40, 0xd, 0x6, 0x35, 0x0, 0x2f, 0x87, 0x10, 0xb8, 0x37, 0x19, 0x87, 0x26, 0x8c, 0x37, 0x10, 0xf4, 0xec, 0x10, 0xf4, 0xec, 0xcc, 0xd4, 0xcc, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x7, 0x34, 0x37, 0x36, 0x33, 0x20, 0x11, 0x14, 0xd, 0x1, 0x6, 0x15, 0x14, 0x21, 0x32, 0x37, 0x36, 0x33, 0x32, 0x15, 0x10, 0x13, 0x7, 0x2, 0x11, 0x2, 0x21, 0x20, 0x35, 0x34, 0x2d, 0x1, 0x36, 0x35, 0x34, 0x21, 0x22, 0x7, 0x16, 0x7, 0x6, 0x23, 0x22, 0x1, 0x60, 0x24, 0x1c, 0x20, 0x20, 0x25, 0x1b, 0x20, 0xf5, 0xe7, 0x90, 0xba, 0x2, 0x42, 0xfe, 0x99, 0xfe, 0xad, 0xfb, 0x1, 0xf, 0xef, 0x79, 0x23, 0x78, 0x97, 0x94, 0x90, 0xbe, 0x4a, 0xfe, 0x69, 0xfe, 0x3a, 0x1, 0x95, 0x1, 0x4f, 0xd7, 0xfe, 0x6b, 0x6e, 0x4c, 0x49, 0x10, 0x1a, 0xbf, 0xd2, 0x3, 0x6f, 0x20, 0x20, 0x25, 0x1b, 0x22, 0x1e, 0x25, 0x1b, 0x30, 0x89, 0x79, 0x4b, 0xfe, 0xe9, 0xfe, 0x70, 0x6a, 0x4e, 0x64, 0x66, 0xef, 0x44, 0xd7, 0xfe, 0xfc, 0xfe, 0x94, 0x51, 0x1, 0x63, 0x1, 0x77, 0xfe, 0xf5, 0xf9, 0xd8, 0x7f, 0x69, 0x43, 0x91, 0x7c, 0x38, 0x35, 0x73, 0xbd, 0x0, 0x2, 0x0, 0x73, 0xff, 0xef, 0x4, 0xf4, 0x4, 0x95, 0x0, 0xb, 0x0, 0x2a, 0x0, 0x3b, 0x40, 0xe, 0x26, 0x8, 0x25, 0x3, 0x14, 0x9, 0x1d, 0x18, 0x20, 0x8, 0xc, 0x10, 0x45, 0x2b, 0x10, 0xfc, 0x3c, 0xec, 0xdc, 0xcc, 0xcc, 0xd4, 0xcc, 0xdc, 0xec, 0x31, 0x0, 0x40, 0x10, 0x22, 0x87, 0x29, 0x8c, 0x2b, 0x1d, 0x87, 0x1c, 0x0, 0x16, 0x6, 0x12, 0xb8, 0x26, 0xbc, 0x2b, 0x10, 0xec, 0xf4, 0xcc, 0xd4, 0xcc, 0xd4, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x26, 0x6, 0x15, 0x14, 0x16, 0x1, 0x34, 0x37, 0x26, 0x37, 0x12, 0x5, 0x16, 0x15, 0x14, 0x7, 0x6, 0x27, 0x16, 0x17, 0x16, 0x37, 0x15, 0x7, 0x6, 0x15, 0x14, 0x5, 0x4, 0x19, 0x1, 0x33, 0x11, 0x10, 0x25, 0x24, 0x1, 0xe6, 0x24, 0x1c, 0x21, 0x1f, 0x25, 0x1b, 0x20, 0xfe, 0xad, 0xa5, 0xa6, 0x1, 0x1, 0x1, 0x6c, 0xdc, 0xdd, 0x81, 0x36, 0x2, 0x5a, 0x41, 0x90, 0x8d, 0x93, 0x1, 0x8b, 0x1, 0x7c, 0xb8, 0xfd, 0xcc, 0xfd, 0xb3, 0x3, 0x95, 0x20, 0x20, 0x24, 0x1b, 0x1, 0x1, 0x21, 0x20, 0x24, 0x1c, 0xfd, 0x98, 0x8f, 0x56, 0x6d, 0xea, 0x1, 0x2d, 0x1, 0x1, 0xb7, 0xc6, 0x2, 0x1, 0x88, 0xbd, 0x47, 0x34, 0xc, 0xa1, 0x17, 0x18, 0x70, 0xa8, 0x6, 0x6, 0x1, 0xbe, 0x2, 0x3f, 0xfd, 0xc1, 0xfd, 0xb4, 0x1, 0x1, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0xff, 0xe3, 0x4, 0xbc, 0x4, 0x7b, 0x0, 0x7, 0x0, 0x1c, 0x0, 0x31, 0x40, 0xb, 0x9, 0x8, 0x1c, 0x6, 0x10, 0x2, 0xe, 0x8, 0x14, 0x46, 0x1d, 0x10, 0xfc, 0xec, 0xcc, 0xdc, 0xcc, 0xdc, 0xec, 0x31, 0x0, 0x40, 0x6, 0xb, 0x87, 0x18, 0xb8, 0x8, 0x1d, 0x10, 0x3c, 0xfc, 0xec, 0x40, 0x6, 0x0, 0xe, 0x4, 0x12, 0x8c, 0x1d, 0x10, 0xf4, 0xc4, 0xdc, 0xc4, 0x30, 0x25, 0x22, 0x15, 0x14, 0x33, 0x32, 0x35, 0x34, 0x5, 0x11, 0x34, 0x21, 0x20, 0x15, 0x11, 0x20, 0x15, 0x14, 0x23, 0x22, 0x35, 0x11, 0x34, 0x24, 0x33, 0x32, 0x4, 0x15, 0x11, 0x1, 0xa5, 0x40, 0x40, 0x40, 0x2, 0x1f, 0xfe, 0xb9, 0xfe, 0xb5, 0x1, 0x19, 0xe6, 0xeb, 0x1, 0x1f, 0xe4, 0xd6, 0x1, 0x29, 0xeb, 0x40, 0x40, 0x40, 0x40, 0xeb, 0x3, 0x1f, 0xc6, 0xc6, 0xfe, 0x50, 0xc4, 0xc8, 0xc8, 0x2, 0x8e, 0xcc, 0x76, 0x76, 0xcc, 0xfc, 0xc7, 0x0, 0x0, 0x0, 0x2, 0x0, 0x81, 0xff, 0xe2, 0x4, 0x83, 0x4, 0xa1, 0x0, 0xb, 0x0, 0x2e, 0x0, 0x3c, 0x40, 0xe, 0x10, 0x12, 0x12, 0x2d, 0x19, 0x20, 0x9, 0x22, 0x3, 0x20, 0x12, 0x27, 0x45, 0x2f, 0x10, 0xfc, 0xec, 0xcc, 0xd4, 0xcc, 0x10, 0xdc, 0x3c, 0xdc, 0xec, 0x31, 0x0, 0x40, 0x10, 0x0, 0x20, 0x6, 0x24, 0x8c, 0x2f, 0x19, 0x87, 0x2d, 0x1d, 0x15, 0x87, 0xe, 0x29, 0xb8, 0x12, 0x2f, 0xf4, 0x3c, 0xec, 0x32, 0xdc, 0xec, 0x10, 0xf4, 0xcc, 0xd4, 0xcc, 0x30, 0x25, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x1, 0x36, 0x37, 0x32, 0x19, 0x1, 0x23, 0x11, 0x34, 0x23, 0x22, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x23, 0x22, 0x7, 0x3, 0x20, 0x15, 0x14, 0x23, 0x22, 0x35, 0x11, 0x10, 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x1, 0x6c, 0x24, 0x1c, 0x20, 0x20, 0x25, 0x1b, 0x20, 0x1, 0x4c, 0x20, 0x99, 0xf2, 0xb8, 0x37, 0x2a, 0x3e, 0x28, 0x80, 0x7a, 0x2a, 0x4d, 0x23, 0x36, 0x1, 0x1, 0x1, 0x19, 0xd5, 0xfb, 0xf2, 0x97, 0x26, 0x38, 0x22, 0x24, 0xf1, 0x20, 0x20, 0x25, 0x1b, 0x22, 0x1e, 0x25, 0x1b, 0x3, 0x33, 0x7c, 0x1, 0xfe, 0xa9, 0xfc, 0xb6, 0x3, 0x30, 0xdb, 0xaf, 0x71, 0x69, 0xbd, 0xe1, 0xfe, 0x50, 0xc4, 0xda, 0xd2, 0x2, 0x96, 0x1, 0x57, 0x75, 0xab, 0x0, 0x3, 0x0, 0x0, 0xfe, 0x14, 0x4, 0xb2, 0x4, 0x7b, 0x0, 0x7, 0x0, 0xf, 0x0, 0x2b, 0x0, 0x3f, 0x40, 0xe, 0x2d, 0x24, 0x8, 0x27, 0x6, 0x12, 0x2, 0x17, 0x8, 0xe, 0x2b, 0xa, 0x1b, 0x2c, 0x10, 0x3c, 0xcc, 0xdc, 0xcc, 0xfc, 0xcc, 0xdc, 0xcc, 0xdc, 0xfc, 0xcc, 0x31, 0x0, 0x40, 0x11, 0xc, 0x19, 0x8, 0x29, 0x87, 0x1d, 0x21, 0xb8, 0x2c, 0x0, 0x10, 0x5, 0x14, 0x8c, 0x26, 0xbd, 0x2c, 0x10, 0xec, 0xf4, 0xc4, 0xdc, 0xc4, 0x10, 0xfc, 0x3c, 0xec, 0xc4, 0xdc, 0xc4, 0x30, 0x25, 0x22, 0x15, 0x14, 0x33, 0x32, 0x35, 0x34, 0x1, 0x22, 0x15, 0x14, 0x33, 0x32, 0x35, 0x34, 0x13, 0x20, 0x17, 0x16, 0x23, 0x22, 0x35, 0x11, 0x6, 0x23, 0x26, 0x37, 0x36, 0x37, 0x36, 0x17, 0x36, 0x33, 0x20, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x21, 0x22, 0x7, 0x2, 0x9, 0x40, 0x40, 0x40, 0xfe, 0x99, 0x40, 0x40, 0x40, 0xae, 0x1, 0x17, 0x2, 0x2, 0xe4, 0xef, 0x21, 0x1f, 0xd9, 0x1, 0x1, 0xd3, 0xa2, 0x37, 0x79, 0xc1, 0x1, 0x2d, 0x9e, 0xb8, 0xfe, 0xe6, 0xb2, 0x5e, 0xf5, 0x40, 0x40, 0x40, 0x40, 0x2, 0xf6, 0x40, 0x40, 0x40, 0x40, 0xfd, 0x98, 0xdd, 0xc3, 0xe3, 0x2, 0x1b, 0x7, 0x2, 0xd7, 0xc7, 0x1, 0x1, 0x65, 0x64, 0xd5, 0x6d, 0xfa, 0xdb, 0x5, 0x25, 0xa3, 0x8b, 0x0, 0x0, 0x0, 0x2, 0x0, 0x57, 0xff, 0xef, 0x4, 0xcb, 0x4, 0x91, 0x0, 0xb, 0x0, 0x2c, 0x0, 0x39, 0x40, 0x10, 0x2e, 0x1d, 0x12, 0x20, 0x24, 0x12, 0x19, 0x9, 0x10, 0x3, 0x14, 0x12, 0xc, 0x29, 0x45, 0x2d, 0x10, 0xfc, 0x3c, 0xec, 0xcc, 0xd4, 0xcc, 0xd4, 0xfc, 0xdc, 0xfc, 0xdc, 0x31, 0x0, 0x40, 0xd, 0x16, 0x87, 0x27, 0x8c, 0x2d, 0x6, 0x2b, 0x0, 0x22, 0x87, 0xe, 0x1b, 0xb8, 0xf4, 0x3c, 0xec, 0xcc, 0xd4, 0xcc, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x5, 0x34, 0x33, 0x32, 0x15, 0x14, 0x7, 0x6, 0x17, 0x14, 0x33, 0x32, 0x35, 0x11, 0x34, 0x5, 0x4, 0x15, 0x11, 0x23, 0x11, 0x34, 0x23, 0x22, 0x15, 0x11, 0x10, 0x25, 0x24, 0x11, 0x10, 0x37, 0x22, 0x1, 0x40, 0x24, 0x1c, 0x20, 0x20, 0x25, 0x1b, 0x20, 0xfe, 0xf9, 0xe6, 0xec, 0x90, 0x8b, 0x1, 0xb5, 0xb6, 0x1, 0x27, 0x1, 0x28, 0xb8, 0x75, 0x6a, 0xfe, 0x91, 0xfe, 0x92, 0xd5, 0xd3, 0x3, 0xf8, 0x20, 0x20, 0x25, 0x1b, 0x22, 0x1e, 0x25, 0x1b, 0x40, 0xd9, 0xd5, 0xaf, 0x8d, 0x88, 0xa8, 0xcc, 0xb0, 0x2, 0x58, 0xfe, 0x1, 0x1, 0xfb, 0xfc, 0x73, 0x3, 0x8d, 0x67, 0x68, 0xfd, 0xa9, 0xfe, 0xb9, 0x1, 0x1, 0x1, 0x5c, 0x1, 0x15, 0x97, 0x0, 0x0, 0x2, 0x0, 0x5f, 0xff, 0xe3, 0x4, 0xbe, 0x4, 0x8c, 0x0, 0x7, 0x0, 0x22, 0x0, 0x39, 0x40, 0xd, 0x24, 0x19, 0x8, 0x1c, 0x9, 0xd, 0x8, 0x2, 0x14, 0x6, 0x10, 0x45, 0x23, 0x10, 0xfc, 0xcc, 0xdc, 0xcc, 0xfc, 0xcc, 0xdc, 0xec, 0xcc, 0x31, 0x0, 0x40, 0x10, 0x0, 0xe, 0x4, 0x12, 0xb8, 0x1a, 0xbc, 0x23, 0x17, 0x87, 0xa, 0xa9, 0x1e, 0x8, 0x8c, 0x23, 0x10, 0xf4, 0x3c, 0xec, 0xec, 0x10, 0xec, 0xfc, 0xc4, 0xdc, 0xc4, 0x30, 0x1, 0x32, 0x35, 0x34, 0x23, 0x22, 0x7, 0x14, 0x3, 0x35, 0x33, 0x32, 0x36, 0x35, 0x11, 0x24, 0x35, 0x34, 0x37, 0x36, 0x15, 0x11, 0x16, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x10, 0x21, 0x22, 0x27, 0x6, 0x23, 0x1, 0x57, 0x40, 0x40, 0x3e, 0x2, 0xb8, 0x7a, 0x5d, 0x55, 0xfe, 0xe8, 0xe2, 0xee, 0x5d, 0x83, 0xe3, 0xb8, 0xfe, 0x69, 0xb9, 0x54, 0x72, 0xd9, 0x3, 0x73, 0x40, 0x40, 0x40, 0x40, 0xfc, 0x70, 0x8f, 0x65, 0x9c, 0x1, 0x67, 0x8, 0xcc, 0xdd, 0x1, 0x1, 0xdb, 0xfd, 0x75, 0xa9, 0x1, 0x1, 0xb1, 0x3, 0x2f, 0xfc, 0xd1, 0xfe, 0xb2, 0x73, 0x73, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x49, 0xff, 0xef, 0x4, 0x73, 0x4, 0x7c, 0x0, 0x7, 0x0, 0x1d, 0x0, 0x32, 0x40, 0xc, 0x19, 0x8, 0x17, 0x6, 0x10, 0x2, 0xc, 0x13, 0x12, 0x8, 0x45, 0x1e, 0x10, 0xfc, 0xec, 0x3c, 0xcc, 0xdc, 0xcc, 0xdc, 0xfc, 0x31, 0x0, 0x40, 0xd, 0x4, 0xa, 0x0, 0xe, 0xb8, 0x18, 0xbc, 0x1e, 0x15, 0x87, 0x1c, 0x8c, 0x1e, 0x10, 0xf4, 0xfc, 0x10, 0xec, 0xfc, 0xc4, 0xdc, 0xc4, 0x30, 0x1, 0x22, 0x15, 0x14, 0x33, 0x32, 0x35, 0x34, 0x1, 0x34, 0x37, 0x26, 0x37, 0x36, 0x33, 0x16, 0x7, 0x6, 0x0, 0x15, 0x16, 0x21, 0x20, 0x19, 0x1, 0x33, 0x11, 0x10, 0x25, 0x24, 0x1, 0x35, 0x40, 0x40, 0x40, 0xfe, 0xd4, 0xb6, 0xb7, 0x1, 0x1, 0xe5, 0xed, 0x1, 0x1, 0xfe, 0xec, 0x1, 0x1, 0x4d, 0x1, 0x67, 0xb8, 0xfd, 0xe1, 0xfd, 0xf5, 0x3, 0xee, 0x40, 0x40, 0x40, 0x40, 0xfd, 0x52, 0xda, 0xc4, 0x26, 0xb6, 0xc2, 0x2, 0xbc, 0x97, 0xfe, 0xd1, 0xa8, 0xcb, 0x1, 0x27, 0x2, 0xb4, 0xfd, 0x4c, 0xfe, 0x42, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x49, 0xff, 0xef, 0x4, 0x73, 0x6, 0x14, 0x0, 0x7, 0x0, 0x1d, 0x0, 0x32, 0x40, 0xc, 0x1a, 0x8, 0x17, 0x6, 0x10, 0x2, 0xc, 0x13, 0x12, 0x8, 0x45, 0x1e, 0x10, 0xfc, 0xec, 0x3c, 0xcc, 0xdc, 0xcc, 0xdc, 0xfc, 0x31, 0x0, 0x40, 0xd, 0x4, 0xa, 0x0, 0xe, 0xb8, 0x18, 0x97, 0x1e, 0x15, 0x87, 0x1c, 0x8c, 0x1e, 0x10, 0xf4, 0xfc, 0x10, 0xec, 0xfc, 0xc4, 0xdc, 0xc4, 0x30, 0x1, 0x22, 0x15, 0x14, 0x33, 0x32, 0x35, 0x34, 0x1, 0x34, 0x37, 0x26, 0x37, 0x36, 0x17, 0x16, 0x7, 0x6, 0x0, 0x15, 0x16, 0x21, 0x20, 0x19, 0x1, 0x33, 0x11, 0x10, 0x25, 0x24, 0x1, 0x35, 0x40, 0x40, 0x40, 0xfe, 0xd4, 0xb6, 0xb7, 0x1, 0x1, 0xe5, 0xed, 0x1, 0x1, 0xfe, 0xec, 0x1, 0x1, 0x4d, 0x1, 0x67, 0xb8, 0xfd, 0xe1, 0xfd, 0xf5, 0x4, 0x4, 0x40, 0x40, 0x40, 0x40, 0xfd, 0x3c, 0xef, 0xc5, 0x25, 0xb7, 0xc2, 0x1, 0x1, 0xbd, 0xad, 0xfe, 0xd2, 0xa8, 0xcb, 0x1, 0x27, 0x4, 0x68, 0xfb, 0x98, 0xfe, 0x42, 0x1, 0x1, 0x0, 0x0, 0x0, 0x3, 0x0, 0x59, 0xff, 0xef, 0x5, 0xcc, 0x4, 0xe9, 0x0, 0xb, 0x0, 0x17, 0x0, 0x45, 0x0, 0x0, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x21, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x1, 0x26, 0x27, 0x6, 0x27, 0x22, 0x26, 0x35, 0x11, 0x36, 0x17, 0x32, 0x7, 0x6, 0x5, 0x11, 0x14, 0x33, 0x32, 0x35, 0x11, 0x33, 0x3, 0x14, 0x37, 0x36, 0x35, 0x11, 0x24, 0x37, 0x34, 0x17, 0x16, 0x17, 0x36, 0x35, 0x26, 0x27, 0x37, 0x16, 0x17, 0x6, 0x7, 0x11, 0x14, 0x6, 0x4, 0x1f, 0x24, 0x1c, 0x20, 0x20, 0x25, 0x1b, 0x20, 0xfd, 0x6, 0x24, 0x1c, 0x20, 0x20, 0x25, 0x1b, 0x20, 0x2, 0x4b, 0x94, 0x66, 0x67, 0xb4, 0xa6, 0x9c, 0x1, 0xfc, 0xd4, 0x1, 0x1, 0xfe, 0xe9, 0xa5, 0xa4, 0xb8, 0x1, 0xa3, 0x9b, 0xfe, 0xe7, 0x1, 0xd3, 0xd7, 0x1b, 0x1d, 0x7, 0x12, 0xa8, 0x1f, 0x5, 0x1, 0xc4, 0xb2, 0x3, 0xd2, 0x20, 0x20, 0x25, 0x1b, 0x22, 0x1e, 0x25, 0x1b, 0x20, 0x20, 0x25, 0x1b, 0x22, 0x1e, 0x25, 0x1b, 0xfc, 0x1d, 0x1, 0x49, 0x4b, 0x1, 0xa3, 0x9a, 0x2, 0x62, 0xe1, 0x2, 0xeb, 0xc7, 0x5, 0xfe, 0x76, 0x84, 0x84, 0x1, 0x34, 0xfe, 0xcb, 0x8b, 0x5, 0x5, 0x82, 0x1, 0x8c, 0x8, 0xcb, 0xee, 0x1, 0x1, 0x98, 0x34, 0x32, 0x40, 0x37, 0x2d, 0x5d, 0x66, 0xc5, 0x6e, 0xfe, 0x39, 0xa5, 0x99, 0x0, 0x2, 0x0, 0xba, 0xff, 0xe3, 0x5, 0x68, 0x6, 0x14, 0x0, 0x1d, 0x0, 0x25, 0x0, 0x41, 0x40, 0x10, 0x27, 0x0, 0x8, 0x1b, 0x17, 0x8, 0x14, 0x10, 0x24, 0xd, 0x20, 0x10, 0x8, 0x8, 0x46, 0x26, 0x10, 0xfc, 0xec, 0xcc, 0xdc, 0xcc, 0x10, 0xdc, 0xfc, 0xdc, 0xfc, 0xcc, 0x31, 0x0, 0x40, 0x8, 0x15, 0x19, 0x12, 0x87, 0x2, 0x6, 0x8c, 0x26, 0x10, 0xf4, 0x3c, 0xfc, 0x3c, 0xcc, 0x40, 0x8, 0x22, 0xf, 0x1e, 0xb, 0xb8, 0x1c, 0x97, 0x26, 0x10, 0xec, 0xfc, 0xc4, 0xdc, 0xc4, 0x30, 0x1, 0x10, 0x21, 0x22, 0x27, 0x6, 0x23, 0x20, 0x19, 0x1, 0x34, 0x33, 0x32, 0x15, 0x14, 0x21, 0x11, 0x14, 0x33, 0x32, 0x35, 0x11, 0x33, 0x11, 0x14, 0x33, 0x32, 0x35, 0x11, 0x33, 0x1, 0x22, 0x15, 0x14, 0x33, 0x32, 0x35, 0x34, 0x5, 0x68, 0xfe, 0xa9, 0x94, 0x66, 0x67, 0xb4, 0xfe, 0xbe, 0xfd, 0xd3, 0xfe, 0xe8, 0xa5, 0xa4, 0xb8, 0xa2, 0x9b, 0xb8, 0xfc, 0x3e, 0x40, 0x40, 0x40, 0x1, 0x20, 0xfe, 0xc3, 0x4a, 0x4a, 0x1, 0x3d, 0x2, 0x7c, 0xdf, 0xeb, 0xcc, 0xfe, 0x5c, 0xa4, 0xa4, 0x1, 0x40, 0xfe, 0xbf, 0xa6, 0xa7, 0x4, 0xf4, 0xfd, 0xcc, 0x40, 0x40, 0x40, 0x40, 0x0, 0x0, 0x2, 0x0, 0x68, 0xff, 0xef, 0x5, 0x16, 0x4, 0x7d, 0x0, 0xb, 0x0, 0x2d, 0x0, 0x3f, 0x40, 0x10, 0x18, 0x8, 0x15, 0x11, 0x8, 0xe, 0x2c, 0x9, 0x28, 0x3, 0x2c, 0x8, 0x24, 0x20, 0x45, 0x2e, 0x10, 0xfc, 0x3c, 0xec, 0xcc, 0xd4, 0xcc, 0x10, 0xd4, 0xfc, 0xd4, 0xec, 0x31, 0x0, 0x40, 0x10, 0x6, 0x22, 0x0, 0x26, 0xb8, 0x16, 0xbc, 0x2e, 0xf, 0x13, 0xc, 0x87, 0x1a, 0x1e, 0x8c, 0x2e, 0x10, 0xf4, 0x3c, 0xfc, 0x3c, 0xc4, 0x10, 0xe4, 0xf4, 0xcc, 0xd4, 0xcc, 0x30, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x13, 0x32, 0x35, 0x11, 0x33, 0x11, 0x14, 0x33, 0x32, 0x35, 0x11, 0x33, 0x11, 0x10, 0x21, 0x22, 0x27, 0x6, 0x23, 0x20, 0x11, 0x34, 0x37, 0x26, 0x35, 0x34, 0x33, 0x32, 0x15, 0x14, 0x3, 0x6, 0x15, 0x14, 0x1, 0x64, 0x24, 0x1c, 0x20, 0x20, 0x25, 0x1b, 0x20, 0x41, 0xa4, 0xb8, 0xa2, 0x9b, 0xb8, 0xfe, 0xa9, 0x94, 0x66, 0x67, 0xb4, 0xfe, 0xbe, 0x99, 0x89, 0xe6, 0xec, 0xe8, 0x42, 0x3, 0xd2, 0x20, 0x20, 0x25, 0x1b, 0x22, 0x1e, 0x25, 0x1b, 0xfc, 0xb3, 0xa7, 0x1, 0x34, 0xfe, 0xcb, 0xa9, 0xaa, 0x3, 0x2f, 0xfc, 0xd1, 0xfe, 0xc3, 0x4a, 0x4a, 0x1, 0x3d, 0xf0, 0xa6, 0x25, 0x9e, 0xf8, 0xdc, 0x89, 0xfe, 0xf1, 0x4d, 0x90, 0xa7, 0x0, 0x0, 0x2, 0x0, 0x68, 0xff, 0xef, 0x5, 0x16, 0x6, 0x14, 0x0, 0xb, 0x0, 0x2d, 0x0, 0x3f, 0x40, 0x10, 0x18, 0x8, 0x15, 0x11, 0x8, 0xe, 0x2c, 0x9, 0x28, 0x3, 0x2c, 0x8, 0x24, 0x20, 0x45, 0x2e, 0x10, 0xfc, 0x3c, 0xec, 0xcc, 0xd4, 0xcc, 0x10, 0xd4, 0xfc, 0xd4, 0xec, 0x31, 0x0, 0x40, 0x10, 0x6, 0x22, 0x0, 0x26, 0xb8, 0x16, 0x97, 0x2e, 0xf, 0x13, 0xc, 0x87, 0x1a, 0x1e, 0x8c, 0x2e, 0x10, 0xf4, 0x3c, 0xfc, 0x3c, 0xc4, 0x10, 0xe4, 0xf4, 0xcc, 0xd4, 0xcc, 0x30, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x13, 0x32, 0x35, 0x11, 0x33, 0x11, 0x14, 0x33, 0x32, 0x35, 0x11, 0x33, 0x11, 0x10, 0x21, 0x22, 0x27, 0x6, 0x23, 0x20, 0x11, 0x34, 0x37, 0x26, 0x35, 0x34, 0x33, 0x32, 0x15, 0x14, 0x3, 0x6, 0x15, 0x14, 0x1, 0x64, 0x24, 0x1c, 0x20, 0x20, 0x25, 0x1b, 0x20, 0x41, 0xa4, 0xb8, 0xa2, 0x9b, 0xb8, 0xfe, 0xa9, 0x94, 0x66, 0x67, 0xb4, 0xfe, 0xbe, 0x99, 0x89, 0xe6, 0xec, 0xe8, 0x42, 0x3, 0xd2, 0x20, 0x20, 0x25, 0x1b, 0x22, 0x1e, 0x25, 0x1b, 0xfc, 0xb3, 0xa7, 0x1, 0x34, 0xfe, 0xcb, 0xa9, 0xaa, 0x4, 0xe8, 0xfb, 0x18, 0xfe, 0xc3, 0x4a, 0x4a, 0x1, 0x3d, 0xf0, 0xa6, 0x25, 0x9e, 0xf8, 0xdc, 0x8b, 0xfe, 0xf3, 0x4c, 0x91, 0xa7, 0x0, 0x0, 0x1, 0x0, 0x40, 0xff, 0xe3, 0x5, 0x16, 0x4, 0x60, 0x0, 0x17, 0x0, 0x24, 0x40, 0x7, 0x6, 0x8, 0x8, 0x2, 0x8, 0x0, 0x18, 0x10, 0xdc, 0xec, 0xdc, 0xec, 0x31, 0x0, 0x40, 0xa, 0x7, 0x1, 0xbc, 0x18, 0x4, 0x87, 0xb, 0xf, 0x8c, 0x18, 0x10, 0xf4, 0x3c, 0xfc, 0x10, 0xfc, 0x3c, 0x30, 0x1, 0x33, 0x11, 0x10, 0x21, 0x32, 0x19, 0x1, 0x33, 0x11, 0x10, 0x21, 0x20, 0x27, 0x6, 0x23, 0x22, 0x35, 0x34, 0x33, 0x32, 0x7, 0x32, 0x35, 0x1, 0x93, 0xb8, 0x1, 0x1a, 0xf9, 0xb8, 0xfe, 0x4f, 0xfe, 0xb3, 0x29, 0x33, 0xb6, 0xc6, 0x9c, 0x90, 0x2, 0x29, 0x4, 0x60, 0xfd, 0x2c, 0xfe, 0xed, 0x1, 0x13, 0x2, 0xd4, 0xfc, 0xc5, 0xfe, 0xbe, 0x38, 0x38, 0x9c, 0x96, 0x7b, 0x8b, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x73, 0xff, 0xef, 0x4, 0xf4, 0x6, 0x14, 0x0, 0xb, 0x0, 0x2a, 0x0, 0x3b, 0x40, 0xe, 0x26, 0x8, 0x25, 0x3, 0x14, 0x9, 0x1d, 0x18, 0x20, 0x8, 0xc, 0x10, 0x45, 0x2b, 0x10, 0xfc, 0x3c, 0xec, 0xdc, 0xcc, 0xcc, 0xd4, 0xcc, 0xdc, 0xec, 0x31, 0x0, 0x40, 0x10, 0x22, 0x87, 0x29, 0x8c, 0x2b, 0x1d, 0x87, 0x1c, 0x0, 0x16, 0x6, 0x12, 0xb8, 0x26, 0x97, 0x2b, 0x10, 0xec, 0xf4, 0xcc, 0xd4, 0xcc, 0xd4, 0xec, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x26, 0x6, 0x15, 0x14, 0x16, 0x1, 0x34, 0x37, 0x26, 0x37, 0x12, 0x5, 0x16, 0x15, 0x14, 0x7, 0x6, 0x27, 0x16, 0x17, 0x16, 0x37, 0x15, 0x7, 0x6, 0x15, 0x14, 0x5, 0x4, 0x19, 0x1, 0x33, 0x11, 0x10, 0x25, 0x24, 0x1, 0xe6, 0x24, 0x1c, 0x21, 0x1f, 0x25, 0x1b, 0x20, 0xfe, 0xad, 0xa5, 0xa6, 0x1, 0x1, 0x1, 0x6c, 0xdc, 0xdd, 0x81, 0x36, 0x2, 0x5a, 0x41, 0x90, 0x8d, 0x93, 0x1, 0x8b, 0x1, 0x7c, 0xb8, 0xfd, 0xcc, 0xfd, 0xb3, 0x3, 0x95, 0x20, 0x20, 0x24, 0x1b, 0x1, 0x1, 0x21, 0x20, 0x24, 0x1c, 0xfd, 0x98, 0x8f, 0x56, 0x6d, 0xea, 0x1, 0x2d, 0x1, 0x1, 0xb7, 0xc6, 0x2, 0x1, 0x88, 0xbd, 0x47, 0x34, 0xc, 0xa1, 0x17, 0x18, 0x70, 0xa8, 0x6, 0x6, 0x1, 0xbe, 0x3, 0xda, 0xfc, 0x26, 0xfd, 0xb4, 0x1, 0x1, 0x0, 0x0, 0x0, 0x2, 0x0, 0x8b, 0xff, 0xef, 0x5, 0x12, 0x4, 0x8c, 0x0, 0xb, 0x0, 0x2c, 0x0, 0x37, 0x40, 0xc, 0x1d, 0x12, 0xc, 0x9, 0x27, 0x19, 0x12, 0x3, 0x10, 0x23, 0x45, 0x2d, 0x10, 0xfc, 0x3c, 0xcc, 0xec, 0xd4, 0xcc, 0xd4, 0xfc, 0x31, 0x0, 0x40, 0x10, 0x2b, 0x87, 0x1f, 0x8c, 0x2e, 0x6, 0x0, 0x25, 0xe, 0x87, 0x1b, 0x17, 0x87, 0x12, 0xb8, 0x2e, 0x10, 0xf4, 0xfc, 0xd4, 0xfc, 0xd4, 0xdc, 0xcc, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x5, 0x34, 0x21, 0x20, 0x11, 0x10, 0x21, 0x20, 0x17, 0x7, 0x26, 0x23, 0x20, 0x15, 0x14, 0x21, 0x20, 0x11, 0x10, 0x21, 0x20, 0x27, 0x26, 0x35, 0x34, 0x33, 0x32, 0x15, 0x14, 0x7, 0x16, 0x33, 0x20, 0x1, 0x63, 0x24, 0x1c, 0x20, 0x20, 0x24, 0x1c, 0x20, 0x2, 0xbd, 0xfe, 0x80, 0xfd, 0xd4, 0x2, 0x36, 0x1, 0x62, 0xe6, 0x75, 0xf8, 0xe5, 0xfe, 0x8c, 0x1, 0x92, 0x2, 0x1a, 0xfd, 0xc4, 0xfe, 0xab, 0x87, 0x55, 0xd3, 0xe0, 0x16, 0x4b, 0xb7, 0x1, 0x16, 0x1, 0x58, 0x20, 0x20, 0x24, 0x1c, 0x20, 0x20, 0x24, 0x1c, 0x10, 0xe8, 0x1, 0x38, 0x1, 0x24, 0xdc, 0x7b, 0xbb, 0x8c, 0x9f, 0xfe, 0x8f, 0xfe, 0x9b, 0x6e, 0x45, 0x7b, 0xcb, 0xd2, 0x4e, 0x14, 0x25, 0x0, 0x0, 0x2, 0x0, 0x4f, 0xff, 0xef, 0x4, 0xaa, 0x4, 0x8c, 0x0, 0xb, 0x0, 0x30, 0x0, 0x40, 0x40, 0x10, 0x32, 0x2c, 0x12, 0x1e, 0x1a, 0x12, 0xc, 0x9, 0x12, 0x25, 0x12, 0x3, 0x26, 0x16, 0x45, 0x31, 0x10, 0xfc, 0x3c, 0xcc, 0xec, 0xd4, 0xcc, 0xdc, 0xec, 0xd4, 0xec, 0xdc, 0x31, 0x0, 0x40, 0x11, 0xe, 0x87, 0x25, 0x18, 0x0, 0x10, 0x6, 0x1c, 0x87, 0x14, 0x2f, 0x8c, 0x31, 0x21, 0x87, 0x2a, 0xb8, 0xf4, 0xec, 0x10, 0xf4, 0x3c, 0xec, 0xcc, 0xd4, 0xcc, 0xd4, 0xcc, 0xec, 0x30, 0x25, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x5, 0x26, 0x27, 0x26, 0x7, 0x16, 0x7, 0x6, 0x27, 0x26, 0x35, 0x10, 0x21, 0x20, 0x13, 0x16, 0x37, 0x36, 0x35, 0x11, 0x10, 0x21, 0x20, 0x7, 0x6, 0x7, 0x27, 0x36, 0x37, 0x36, 0x5, 0x4, 0x19, 0x1, 0x14, 0x25, 0x26, 0x1, 0x34, 0x25, 0x1b, 0x20, 0x20, 0x24, 0x1c, 0x20, 0x1, 0xb, 0x2c, 0xab, 0x44, 0xc, 0xe3, 0x2, 0x2, 0xcf, 0xf9, 0x1, 0x29, 0x1, 0x3c, 0x57, 0x25, 0x44, 0x76, 0xfe, 0xa2, 0xfe, 0xf3, 0x27, 0x1a, 0x2, 0xb7, 0x6, 0x11, 0x47, 0x1, 0xa1, 0x2, 0x26, 0xfe, 0xbe, 0xde, 0xf8, 0x21, 0x1f, 0x24, 0x1c, 0x20, 0x20, 0x24, 0x1b, 0x1e, 0xf3, 0x3, 0x1, 0x54, 0x1, 0xb7, 0xd6, 0x1, 0x1, 0xeb, 0x1, 0x89, 0xfe, 0xb0, 0x91, 0x1, 0x2, 0xae, 0x1, 0xa8, 0x1, 0x18, 0x72, 0x4a, 0x63, 0x14, 0x6f, 0x3c, 0xf9, 0x1, 0x1, 0xfe, 0x89, 0xfd, 0xd4, 0xfa, 0x1, 0x1, 0x0, 0x0, 0x2, 0x0, 0x73, 0xff, 0xe5, 0x4, 0x76, 0x4, 0x7b, 0x0, 0x7, 0x0, 0x21, 0x0, 0x3a, 0x40, 0x7, 0x21, 0x12, 0x8, 0x2, 0x12, 0x45, 0x22, 0x10, 0xfc, 0xc4, 0xd4, 0xec, 0x40, 0x6, 0x6, 0x16, 0xc, 0x8, 0x1c, 0x23, 0x10, 0xdc, 0xec, 0xdc, 0xc4, 0x31, 0x0, 0x40, 0x9, 0x21, 0x0, 0x14, 0x4, 0x1a, 0x87, 0xf, 0x8c, 0x22, 0x10, 0xf4, 0xec, 0xcc, 0xdc, 0xcc, 0xcc, 0x40, 0x5, 0x1f, 0x87, 0xa, 0xb8, 0x22, 0x10, 0xfc, 0xfc, 0x30, 0x1, 0x22, 0x15, 0x14, 0x33, 0x32, 0x35, 0x34, 0x1, 0x12, 0x21, 0x20, 0x19, 0x1, 0x10, 0x21, 0x20, 0x24, 0x35, 0x34, 0x33, 0x32, 0x15, 0x14, 0x7, 0x16, 0x33, 0x20, 0x35, 0x11, 0x34, 0x21, 0x20, 0x7, 0x1, 0x54, 0x40, 0x40, 0x40, 0xfe, 0xf8, 0x29, 0x1, 0xcd, 0x1, 0xf4, 0xfe, 0x22, 0xff, 0x0, 0xfe, 0xdb, 0xe5, 0xdd, 0x45, 0x19, 0x8f, 0x1, 0x1e, 0xfe, 0xcc, 0xfe, 0xd9, 0x18, 0x1, 0x54, 0x40, 0x40, 0x40, 0x40, 0x1, 0xce, 0x1, 0x59, 0xfe, 0xd7, 0xfd, 0xb8, 0xfe, 0xdb, 0x9d, 0x8f, 0xd2, 0xd7, 0x3d, 0x49, 0x8, 0xd8, 0x1, 0xc4, 0xcc, 0xd5, 0x0, 0x0, 0x0, 0x3, 0x0, 0x4f, 0xff, 0xef, 0x5, 0x81, 0x5, 0x6f, 0x0, 0xb, 0x0, 0x35, 0x0, 0x3d, 0x0, 0x0, 0x25, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x25, 0x11, 0x6, 0x21, 0x24, 0x37, 0x36, 0x21, 0x20, 0x17, 0x36, 0x3d, 0x1, 0x26, 0x27, 0x37, 0x16, 0x17, 0x6, 0x7, 0x11, 0x14, 0x25, 0x26, 0x27, 0x26, 0x27, 0x26, 0x7, 0x16, 0x7, 0x6, 0x27, 0x26, 0x37, 0x12, 0x21, 0x20, 0x13, 0x16, 0x37, 0x36, 0x1, 0x20, 0x27, 0x34, 0x21, 0x20, 0x15, 0x14, 0x1, 0x34, 0x25, 0x1b, 0x20, 0x20, 0x24, 0x1c, 0x20, 0x2, 0x96, 0x46, 0xfe, 0xeb, 0xfd, 0xde, 0x2, 0x2, 0x2, 0x1e, 0x1, 0x8e, 0x72, 0x40, 0xa, 0x5c, 0xa0, 0x74, 0x4, 0x1, 0xd6, 0xfe, 0xbe, 0xde, 0x2b, 0x2c, 0xab, 0x44, 0xc, 0xe3, 0x2, 0x2, 0xcf, 0xfa, 0x1, 0x1, 0x1, 0x28, 0x1, 0x3c, 0x57, 0x25, 0x44, 0x76, 0xfe, 0xa5, 0x1, 0x74, 0x1, 0xfe, 0x8d, 0xfe, 0x89, 0xf8, 0x21, 0x1f, 0x24, 0x1c, 0x20, 0x20, 0x24, 0x1b, 0x3d, 0x1, 0x99, 0xe, 0x1, 0xfc, 0xe9, 0x9a, 0x36, 0x1c, 0x2, 0x54, 0x62, 0x5a, 0xab, 0x64, 0x95, 0xa6, 0xfd, 0xc3, 0xfa, 0x1, 0x1, 0xe9, 0xf3, 0x3, 0x1, 0x54, 0x1, 0xb7, 0xd6, 0x1, 0x1, 0xeb, 0x1, 0x89, 0xfe, 0xb0, 0x91, 0x1, 0x2, 0x2, 0xd1, 0x45, 0x6d, 0x4d, 0x64, 0x0, 0x0, 0x3, 0x0, 0x7f, 0xff, 0xe8, 0x6, 0x19, 0x4, 0x99, 0x0, 0x6, 0x0, 0xd, 0x0, 0x39, 0x0, 0x0, 0x0, 0x22, 0x15, 0x6, 0x33, 0x32, 0x37, 0x24, 0x22, 0x15, 0x6, 0x33, 0x32, 0x37, 0x1, 0x24, 0x11, 0x10, 0x37, 0x26, 0x37, 0x36, 0x17, 0x16, 0x7, 0x6, 0x7, 0x6, 0x13, 0x16, 0x25, 0x24, 0x35, 0x11, 0x6, 0x2b, 0x1, 0x26, 0x37, 0x36, 0x17, 0x32, 0x17, 0x36, 0x17, 0x16, 0x19, 0x1, 0x23, 0x11, 0x34, 0x7, 0x6, 0x7, 0x6, 0x7, 0x13, 0x10, 0x1, 0xa8, 0x80, 0x1, 0x41, 0x3f, 0x1, 0x1, 0xe0, 0x80, 0x1, 0x41, 0x3f, 0x1, 0xfe, 0xf9, 0xfe, 0x1c, 0xa3, 0xc2, 0x1, 0x1, 0xe5, 0xee, 0x2, 0x1, 0x75, 0x8a, 0xc, 0x7, 0x1, 0x1c, 0x1, 0x0, 0x14, 0x1d, 0x2, 0xe6, 0x1, 0x1, 0xd3, 0xa2, 0x35, 0x72, 0x97, 0xfd, 0xb8, 0x52, 0x58, 0x36, 0x26, 0x24, 0x1, 0x4, 0x4, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xfc, 0x24, 0x1, 0x1, 0x2d, 0x1, 0xa, 0xd3, 0x2f, 0x99, 0xd7, 0x1, 0x1, 0xd4, 0x8b, 0x75, 0x8a, 0xfe, 0xea, 0x9f, 0x1, 0x1, 0xb5, 0x1, 0xb2, 0x9, 0x6, 0xee, 0xc9, 0x1, 0x63, 0x64, 0x1, 0x2, 0xfe, 0xc0, 0xfc, 0xa9, 0x3, 0x57, 0x83, 0x1, 0x1, 0x37, 0x27, 0x1c, 0xfd, 0xd6, 0xfe, 0xb3, 0x0, 0x3, 0x0, 0x73, 0xff, 0xe3, 0x4, 0x76, 0x4, 0x7b, 0x0, 0x7, 0x0, 0x20, 0x0, 0x28, 0x0, 0x3c, 0x40, 0xe, 0x21, 0x12, 0xe, 0x8, 0x1f, 0x6, 0x18, 0x2, 0x25, 0x12, 0xa, 0x14, 0x45, 0x29, 0x10, 0xfc, 0x3c, 0xec, 0xc4, 0xdc, 0xc4, 0xdc, 0xfc, 0xec, 0x31, 0x0, 0x40, 0x6, 0x4, 0x1c, 0x87, 0x11, 0x8c, 0x29, 0x10, 0xf4, 0xec, 0xcc, 0x40, 0xa, 0x0, 0x16, 0x27, 0x87, 0x8, 0x23, 0x87, 0xc, 0xb8, 0x29, 0x10, 0xfc, 0xec, 0xdc, 0xec, 0xdc, 0xcc, 0x30, 0x1, 0x22, 0x15, 0x14, 0x33, 0x32, 0x35, 0x34, 0x37, 0x20, 0x11, 0x10, 0x21, 0x20, 0x19, 0x1, 0x14, 0x21, 0x22, 0x24, 0x35, 0x34, 0x33, 0x32, 0x15, 0x14, 0x7, 0x16, 0x33, 0x20, 0x35, 0x11, 0x6, 0x13, 0x34, 0x21, 0x20, 0x15, 0x14, 0x21, 0x20, 0x1, 0x54, 0x40, 0x40, 0x40, 0xed, 0xfd, 0xf2, 0x2, 0x15, 0x1, 0xee, 0xfd, 0xfe, 0xd2, 0xfe, 0xd1, 0xdd, 0xed, 0x3d, 0x41, 0x40, 0x1, 0x35, 0x53, 0x55, 0xfe, 0xbb, 0xfe, 0xb8, 0x1, 0x48, 0x1, 0x45, 0x1, 0x47, 0x40, 0x40, 0x40, 0x40, 0xcb, 0x1, 0x34, 0x1, 0x35, 0xfe, 0xd0, 0xfd, 0x91, 0xf9, 0x82, 0xaa, 0xd6, 0xd9, 0x47, 0x29, 0x23, 0xaf, 0x1, 0x1f, 0x35, 0x1, 0x36, 0x9b, 0x9b, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x8b, 0xff, 0xef, 0x5, 0x78, 0x4, 0xd8, 0x0, 0xb, 0x0, 0x34, 0x0, 0x3e, 0x40, 0xd, 0x1a, 0x27, 0x12, 0xe, 0x9, 0x31, 0x23, 0x12, 0x3, 0x12, 0x2d, 0x45, 0x35, 0x10, 0xfc, 0x3c, 0xcc, 0xec, 0xd4, 0xcc, 0xd4, 0xfc, 0x3c, 0x31, 0x0, 0x40, 0x13, 0xc, 0x87, 0x29, 0x8c, 0x36, 0x6, 0x0, 0x2f, 0x10, 0x87, 0x25, 0x1d, 0x87, 0x18, 0x21, 0x87, 0x14, 0xb8, 0x36, 0x10, 0xf4, 0xec, 0xdc, 0xec, 0xd4, 0xfc, 0xd4, 0xdc, 0xc4, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x1, 0x20, 0x11, 0x34, 0x25, 0x24, 0x35, 0x34, 0x21, 0x32, 0x17, 0x16, 0x33, 0x32, 0x13, 0x17, 0x2, 0x23, 0x22, 0x27, 0x26, 0x23, 0x22, 0x15, 0x14, 0x5, 0x4, 0x11, 0x10, 0x21, 0x20, 0x27, 0x26, 0x35, 0x34, 0x33, 0x32, 0x15, 0x14, 0x7, 0x16, 0x1, 0x68, 0x24, 0x1c, 0x20, 0x20, 0x25, 0x1b, 0x20, 0x1, 0x24, 0x1, 0x97, 0xfe, 0x7b, 0xfd, 0xdd, 0x1, 0xa1, 0xcb, 0x61, 0x6a, 0x6a, 0x68, 0x40, 0x94, 0x4d, 0xf3, 0xa7, 0x71, 0x4b, 0x9d, 0xcd, 0x1, 0x79, 0x2, 0x29, 0xfd, 0xab, 0xfe, 0xc7, 0x87, 0x6d, 0xe1, 0xd7, 0x5f, 0x9c, 0x1, 0x8b, 0x20, 0x20, 0x25, 0x1b, 0x22, 0x1e, 0x25, 0x1b, 0xfe, 0xf9, 0x1, 0x0, 0xbd, 0x31, 0x45, 0xe6, 0xfc, 0x59, 0x6c, 0x1, 0x4, 0x30, 0xfe, 0x94, 0x78, 0x50, 0x5e, 0x62, 0x38, 0x52, 0xfe, 0xc2, 0xfe, 0x73, 0x75, 0x5f, 0x7c, 0xde, 0xda, 0x5d, 0x46, 0x1c, 0x0, 0x0, 0x0, 0x2, 0x0, 0xcb, 0xfe, 0xad, 0x5, 0xf0, 0x4, 0xa1, 0x0, 0x3, 0x0, 0x27, 0x0, 0x0, 0x0, 0x22, 0x14, 0x32, 0x3, 0x27, 0x1, 0x0, 0x27, 0x26, 0xf, 0x1, 0x6, 0x27, 0x24, 0x13, 0x12, 0x21, 0x33, 0x32, 0x7, 0x6, 0x27, 0x26, 0x35, 0x34, 0x37, 0x22, 0x11, 0x14, 0x33, 0x32, 0x3f, 0x1, 0x36, 0x17, 0x16, 0x15, 0x14, 0x1, 0x3, 0x41, 0x80, 0x80, 0xf1, 0x81, 0x2, 0x53, 0x1, 0x32, 0x3b, 0x39, 0x8a, 0xc2, 0x92, 0xa0, 0xfe, 0x68, 0x1, 0x2, 0x1, 0x68, 0xcd, 0xd4, 0x1, 0x1, 0xd3, 0xd4, 0x4, 0xa4, 0xda, 0x4e, 0x55, 0xd7, 0x7e, 0x9c, 0xf5, 0xfe, 0xb1, 0x4, 0xd, 0x80, 0xfb, 0x20, 0x86, 0x2, 0x2b, 0x1, 0x1e, 0x3b, 0x39, 0x6a, 0x96, 0x71, 0x1, 0x1, 0x1, 0x90, 0x1, 0x90, 0xce, 0xd6, 0x1, 0x1, 0xd0, 0x14, 0x21, 0xfe, 0xfe, 0xe6, 0x42, 0xa6, 0x61, 0x3, 0x5, 0xa6, 0xa9, 0xfe, 0xc8, 0x0, 0xff, 0xff, 0x0, 0x6f, 0xff, 0xe5, 0x4, 0xb6, 0x4, 0x80, 0x10, 0x27, 0x6, 0x3b, 0x5, 0xf, 0xfd, 0x75, 0x10, 0x7, 0x6, 0x3b, 0x5, 0xf, 0xfa, 0xc9, 0x0, 0x0, 0x0, 0x2, 0xfb, 0x60, 0x5, 0x1c, 0xff, 0xa7, 0x7, 0xb, 0x0, 0x13, 0x0, 0x1b, 0x0, 0x2b, 0x40, 0xb, 0xd, 0xb, 0xf, 0x9, 0x0, 0x12, 0xf, 0x14, 0x9, 0x18, 0x5, 0x2f, 0xcc, 0xdc, 0xcc, 0xdc, 0xfc, 0x11, 0x12, 0x39, 0x39, 0x31, 0x0, 0x40, 0x8, 0x16, 0x7, 0x1a, 0x2, 0x11, 0xd, 0x12, 0x2, 0x2f, 0xfc, 0xcc, 0x10, 0xcc, 0xdc, 0xcc, 0x30, 0x3, 0x2, 0x21, 0x20, 0x26, 0x37, 0x36, 0x17, 0x32, 0x7, 0x6, 0x7, 0x16, 0x33, 0x24, 0x27, 0x34, 0x27, 0x37, 0x16, 0x5, 0x34, 0x7, 0x22, 0x15, 0x6, 0x17, 0x16, 0x59, 0x2, 0xfd, 0xc7, 0xfe, 0xb6, 0xc3, 0x1, 0x1, 0xe5, 0xf2, 0x4, 0x1, 0x23, 0x21, 0x41, 0x1, 0x5b, 0x1, 0x56, 0x8a, 0xa8, 0xfc, 0xde, 0x42, 0x38, 0x1, 0x3f, 0x3c, 0x6, 0x1d, 0xfe, 0xff, 0xa8, 0x6b, 0xd9, 0x1, 0xd8, 0x50, 0x24, 0x4, 0x1, 0x55, 0x2e, 0x46, 0x8a, 0x8f, 0x4d, 0x3f, 0x1, 0x3e, 0x3d, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x7b, 0x0, 0x0, 0x3, 0xc9, 0x4, 0x7b, 0x0, 0x10, 0x0, 0x18, 0x0, 0x2b, 0x40, 0x9, 0x3, 0x8, 0x4, 0x15, 0xb, 0x11, 0xf, 0x45, 0x19, 0x10, 0xfc, 0xcc, 0xdc, 0xcc, 0xdc, 0xec, 0x31, 0x0, 0x40, 0xb, 0x13, 0xd, 0x0, 0x17, 0x9, 0x7, 0x87, 0x0, 0xb8, 0x4, 0x19, 0x10, 0x3c, 0xfc, 0xec, 0xdc, 0xcc, 0x10, 0xdc, 0xcc, 0x30, 0x1, 0x20, 0x19, 0x1, 0x23, 0x11, 0x10, 0x23, 0x22, 0x7, 0x32, 0x15, 0x14, 0x23, 0x22, 0x35, 0x10, 0x13, 0x14, 0x33, 0x32, 0x35, 0x34, 0x23, 0x22, 0x2, 0x12, 0x1, 0xb7, 0xb8, 0xff, 0x6e, 0x3d, 0xda, 0xe5, 0xe1, 0xa6, 0x3b, 0x43, 0x3e, 0x40, 0x4, 0x7b, 0xfe, 0x6a, 0xfd, 0x1b, 0x2, 0xcb, 0x1, 0x19, 0x56, 0xc1, 0xc7, 0xc7, 0x1, 0xae, 0xfe, 0x52, 0x37, 0x37, 0x37, 0x0, 0x0, 0x0, 0xff, 0xff, 0xfc, 0x9a, 0x0, 0x0, 0x3, 0xc9, 0x6, 0x72, 0x10, 0x26, 0x6, 0x52, 0x0, 0x0, 0x10, 0x6, 0x6, 0x3c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfb, 0x40, 0x4, 0xec, 0xff, 0x6a, 0x7, 0x69, 0x0, 0x11, 0x0, 0x1f, 0xb7, 0x0, 0x12, 0x6, 0x2, 0xb, 0xe, 0x12, 0x9, 0x2f, 0xec, 0xd4, 0xdc, 0xd4, 0xec, 0x31, 0x0, 0xb5, 0x10, 0x7, 0x2, 0xc, 0x3, 0xb, 0x2f, 0x3c, 0xcc, 0x32, 0xd4, 0xcc, 0x30, 0x1, 0x14, 0x21, 0x15, 0x20, 0x11, 0x10, 0x21, 0x20, 0x11, 0x10, 0x21, 0x35, 0x20, 0x37, 0x34, 0x21, 0x20, 0xfb, 0xfe, 0x1, 0x25, 0xfe, 0x1d, 0x2, 0x26, 0x2, 0x4, 0xfe, 0x3f, 0x1, 0x1, 0x2, 0xfe, 0xba, 0xfe, 0x98, 0x6, 0x25, 0xbb, 0x7e, 0x1, 0x3f, 0x1, 0x3e, 0xfe, 0xc2, 0xfe, 0xc1, 0x7e, 0xbb, 0xc5, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfb, 0x40, 0x4, 0xec, 0x0, 0x0, 0x7, 0x69, 0x0, 0x14, 0x0, 0x24, 0x40, 0x9, 0x0, 0x12, 0x6, 0x2, 0xe, 0x11, 0x12, 0xc, 0x9, 0x2f, 0xcc, 0xec, 0xd4, 0xdc, 0xd4, 0xec, 0x31, 0x0, 0xb6, 0x13, 0x7, 0xc, 0x2, 0xf, 0x3, 0xe, 0x2f, 0x3c, 0xcc, 0x32, 0x32, 0xd4, 0xcc, 0x30, 0x1, 0x14, 0x21, 0x15, 0x20, 0x11, 0x10, 0x21, 0x20, 0x11, 0x14, 0x7, 0x33, 0x15, 0x21, 0x35, 0x20, 0x37, 0x36, 0x21, 0x20, 0xfb, 0xfe, 0x1, 0x25, 0xfe, 0x1d, 0x2, 0x26, 0x2, 0x4, 0x3e, 0xd4, 0xfd, 0xa9, 0x1, 0x2, 0x1, 0x1, 0xfe, 0xb9, 0xfe, 0x98, 0x6, 0x25, 0xbb, 0x7e, 0x1, 0x3f, 0x1, 0x3e, 0xfe, 0xc2, 0x77, 0x4a, 0x7e, 0x7e, 0xbb, 0xc5, 0x0, 0x0, 0x0, 0x0, 0x2, 0xfb, 0x40, 0x4, 0xec, 0xff, 0x6a, 0x7, 0x69, 0x0, 0x11, 0x0, 0x15, 0x0, 0x2a, 0x40, 0xa, 0x0, 0x12, 0x6, 0x14, 0x2, 0x12, 0xc, 0xe, 0x12, 0x9, 0x2f, 0xec, 0xdc, 0xc4, 0xdc, 0xc4, 0xdc, 0xec, 0x31, 0x0, 0x40, 0x9, 0x10, 0x7, 0x15, 0xa0, 0x13, 0x2, 0xc, 0x3, 0xb, 0x2f, 0x3c, 0xcc, 0x32, 0xdc, 0xfc, 0xdc, 0xcc, 0x30, 0x1, 0x14, 0x21, 0x15, 0x20, 0x11, 0x10, 0x21, 0x20, 0x11, 0x10, 0x21, 0x35, 0x20, 0x37, 0x34, 0x21, 0x20, 0x5, 0x15, 0x23, 0x35, 0xfb, 0xfe, 0x1, 0x25, 0xfe, 0x1d, 0x2, 0x26, 0x2, 0x4, 0xfe, 0x3f, 0x1, 0x1, 0x2, 0xfe, 0xba, 0xfe, 0x98, 0x1, 0xdf, 0xee, 0x6, 0x25, 0xbb, 0x7e, 0x1, 0x3f, 0x1, 0x3e, 0xfe, 0xc2, 0xfe, 0xc1, 0x7e, 0xbb, 0xc5, 0x4e, 0xdc, 0xdc, 0x0, 0x2, 0xfb, 0x40, 0x4, 0xec, 0x0, 0x0, 0x7, 0x69, 0x0, 0x14, 0x0, 0x18, 0x0, 0x2e, 0x40, 0xb, 0x0, 0x12, 0x6, 0x18, 0x2, 0x16, 0xe, 0x11, 0x12, 0xc, 0x9, 0x2f, 0xcc, 0xec, 0xd4, 0xc4, 0xdc, 0xc4, 0xd4, 0xec, 0x31, 0x0, 0x40, 0xa, 0x13, 0x7, 0x15, 0xa0, 0x17, 0xc, 0x2, 0xf, 0x3, 0xe, 0x2f, 0x3c, 0xcc, 0x32, 0x32, 0xdc, 0xfc, 0xdc, 0xcc, 0x30, 0x1, 0x14, 0x21, 0x15, 0x20, 0x11, 0x10, 0x21, 0x20, 0x11, 0x14, 0x7, 0x33, 0x15, 0x21, 0x35, 0x20, 0x37, 0x36, 0x21, 0x20, 0x5, 0x15, 0x23, 0x35, 0xfb, 0xfe, 0x1, 0x25, 0xfe, 0x1d, 0x2, 0x26, 0x2, 0x4, 0x3e, 0xd4, 0xfd, 0xa9, 0x1, 0x2, 0x1, 0x1, 0xfe, 0xb9, 0xfe, 0x98, 0x1, 0xdf, 0xee, 0x6, 0x25, 0xbb, 0x7e, 0x1, 0x3f, 0x1, 0x3e, 0xfe, 0xc2, 0x77, 0x4a, 0x7e, 0x7e, 0xbb, 0xc5, 0x54, 0xdc, 0xdc, 0x0, 0x0, 0x2, 0xfc, 0xfe, 0xfd, 0x33, 0xfe, 0xb6, 0xff, 0xb2, 0x0, 0x4, 0x0, 0x15, 0x0, 0x0, 0x4, 0x22, 0x14, 0x33, 0x36, 0x3, 0x36, 0x35, 0x34, 0x27, 0x6, 0x23, 0x22, 0x35, 0x34, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0xfd, 0xee, 0x82, 0x41, 0x41, 0x5c, 0x90, 0x5, 0x28, 0x44, 0xb3, 0xaa, 0x65, 0x4e, 0x5b, 0xcc, 0xbc, 0x81, 0x1, 0xfe, 0xcf, 0x6f, 0x5b, 0x11, 0x10, 0x24, 0x9e, 0xba, 0x4e, 0x5b, 0x8b, 0x75, 0xd6, 0x0, 0x0, 0x2, 0xfc, 0xa7, 0xfd, 0x8e, 0xfe, 0xc8, 0xff, 0xaf, 0x0, 0x7, 0x0, 0x1d, 0x0, 0x25, 0x40, 0x8, 0x1b, 0x19, 0x6, 0x12, 0x2, 0xe, 0x15, 0xa, 0x2f, 0xcc, 0xd4, 0xcc, 0xdc, 0xcc, 0xdc, 0xcc, 0x31, 0x0, 0x40, 0x7, 0x4, 0xc, 0x0, 0x10, 0x1a, 0x8, 0x17, 0x2f, 0xcc, 0xcc, 0xdc, 0xc4, 0xdc, 0xc4, 0x30, 0x5, 0x22, 0x15, 0x14, 0x33, 0x32, 0x35, 0x34, 0x13, 0x22, 0x35, 0x34, 0x37, 0x26, 0x35, 0x34, 0x33, 0x32, 0x15, 0x14, 0x6, 0x15, 0x14, 0x33, 0x32, 0x35, 0x11, 0x33, 0x11, 0x14, 0xfd, 0x1e, 0x16, 0x17, 0x15, 0x72, 0xf3, 0x3e, 0x4a, 0x75, 0x75, 0x6d, 0x82, 0x9e, 0x84, 0xb2, 0x16, 0x16, 0x15, 0x17, 0xfe, 0x40, 0x92, 0x73, 0x3e, 0xa, 0x5b, 0x79, 0x75, 0x3f, 0x7b, 0x45, 0x42, 0x58, 0x1, 0x46, 0xfe, 0xba, 0xc3, 0x0, 0x0, 0x0, 0x2, 0xfb, 0x60, 0x5, 0x1c, 0xff, 0xa7, 0x7, 0xb, 0x0, 0x14, 0x0, 0x1b, 0x0, 0x0, 0x3, 0x16, 0x7, 0x27, 0x36, 0x35, 0x36, 0x25, 0x22, 0x7, 0x16, 0x7, 0x6, 0x7, 0x6, 0x27, 0x26, 0x37, 0x36, 0x21, 0x20, 0x0, 0x34, 0x7, 0x22, 0x17, 0x14, 0x33, 0x59, 0x1, 0xa8, 0x8a, 0x56, 0x1, 0xfe, 0xa5, 0x41, 0x21, 0x2e, 0xa, 0x15, 0xd9, 0xe5, 0x1, 0x1, 0x7b, 0x78, 0x1, 0x1a, 0x2, 0x39, 0xfc, 0xe1, 0x3c, 0x3f, 0x1, 0x38, 0x6, 0xa, 0x5f, 0x8f, 0x8a, 0x46, 0x2e, 0x55, 0x1, 0x4, 0x44, 0x57, 0xb0, 0x1, 0x1, 0xd9, 0x54, 0x5f, 0x60, 0xfe, 0xae, 0x7e, 0x1, 0x3f, 0x3d, 0x0, 0x0, 0x0, 0x2, 0xfb, 0x1c, 0xfd, 0xc7, 0x0, 0xd, 0xff, 0xb1, 0x0, 0x7, 0x0, 0x1a, 0x0, 0x23, 0x40, 0x5, 0x6, 0x11, 0x2, 0x18, 0xd, 0x2f, 0xcc, 0xc4, 0xdc, 0xc4, 0x31, 0x0, 0x40, 0xa, 0x16, 0x87, 0x8, 0x0, 0xf, 0x4, 0xb, 0x87, 0x13, 0x1b, 0x10, 0xdc, 0xfc, 0xc4, 0xdc, 0xc4, 0x3c, 0xfc, 0x30, 0x1, 0x32, 0x35, 0x34, 0x23, 0x22, 0x15, 0x14, 0x5, 0x22, 0x2, 0x23, 0x16, 0x15, 0x14, 0x23, 0x22, 0x35, 0x10, 0x21, 0x32, 0x12, 0x33, 0x32, 0x37, 0x17, 0x6, 0xfb, 0xdc, 0x30, 0x30, 0x2b, 0x2, 0xc9, 0xda, 0xac, 0xb8, 0x5c, 0xc4, 0xb8, 0x1, 0x4c, 0xde, 0xde, 0x60, 0x5d, 0xa6, 0x86, 0xbf, 0xfe, 0x4e, 0x30, 0x2f, 0x2e, 0x31, 0x69, 0x1, 0x33, 0x20, 0x72, 0xbf, 0xa7, 0x1, 0x43, 0xfe, 0xd0, 0xc6, 0x72, 0xf0, 0x0, 0x2, 0x0, 0x81, 0xfe, 0x14, 0x4, 0xf4, 0x5, 0xb9, 0x0, 0xb, 0x0, 0x32, 0x0, 0x0, 0x5, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1, 0x11, 0x10, 0x21, 0x20, 0x11, 0x35, 0x10, 0x21, 0x32, 0x15, 0x14, 0x23, 0x22, 0x27, 0x15, 0x14, 0x21, 0x20, 0x19, 0x1, 0x34, 0x0, 0x35, 0x34, 0x33, 0x32, 0x4, 0x32, 0x37, 0x17, 0x2, 0x23, 0x22, 0x24, 0x23, 0x22, 0x14, 0x0, 0x1, 0xf2, 0x24, 0x1c, 0x20, 0x20, 0x25, 0x1b, 0x20, 0x2, 0xb1, 0xfe, 0x1, 0xfd, 0xfd, 0x1, 0x6d, 0xd9, 0xd9, 0x8e, 0x2d, 0x1, 0x51, 0x1, 0x47, 0xfd, 0x58, 0xf9, 0x75, 0x1, 0x9, 0x5e, 0x7c, 0x80, 0x74, 0xbe, 0x49, 0xfe, 0xf3, 0x54, 0x4b, 0x2, 0xb6, 0x3f, 0x20, 0x20, 0x24, 0x1c, 0x20, 0x20, 0x24, 0x1c, 0x2, 0xb3, 0xfd, 0x60, 0xfe, 0x40, 0x1, 0x11, 0x7f, 0x1, 0x2c, 0xc8, 0xd1, 0x73, 0x6b, 0x96, 0x1, 0x45, 0x2, 0x72, 0x7d, 0x1, 0x33, 0xd8, 0xd1, 0xfd, 0xc4, 0x54, 0xfe, 0xfb, 0xf9, 0xae, 0xfe, 0x99, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x7a, 0xff, 0xe3, 0x2, 0x98, 0x4, 0x7b, 0x0, 0x15, 0x0, 0x21, 0x0, 0x2a, 0x40, 0x9, 0x19, 0x0, 0x1f, 0xb, 0x10, 0x8, 0x7, 0x46, 0x22, 0x10, 0xfc, 0xfc, 0xcc, 0xc4, 0xdc, 0xc4, 0x31, 0x0, 0x40, 0xb, 0xe, 0x87, 0x9, 0xb8, 0x22, 0x1c, 0x14, 0x16, 0x4, 0x8c, 0x22, 0x10, 0xf4, 0xcc, 0xdc, 0xcc, 0x10, 0xfc, 0xfc, 0x30, 0x25, 0x6, 0x7, 0x6, 0x23, 0x22, 0x19, 0x1, 0x34, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x15, 0x11, 0x3e, 0x1, 0x33, 0x32, 0x7, 0x32, 0x36, 0x37, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x6, 0x16, 0x2, 0x8e, 0x1, 0x43, 0x43, 0x9b, 0xf2, 0xe8, 0xcc, 0x6a, 0x46, 0x50, 0x88, 0x48, 0xb, 0x4f, 0x51, 0xb2, 0xb5, 0x24, 0x1b, 0x1, 0x21, 0x1f, 0x25, 0x1b, 0x1, 0x21, 0xa2, 0x70, 0x27, 0x28, 0x1, 0x46, 0x2, 0x6e, 0xe4, 0x4a, 0x76, 0x2d, 0x4f, 0xfd, 0x21, 0x33, 0x5d, 0xef, 0x20, 0x20, 0x24, 0x1c, 0x20, 0x20, 0x24, 0x1c, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7a, 0xff, 0xe3, 0x4, 0xc8, 0x4, 0x7b, 0x10, 0x26, 0x6, 0x47, 0x0, 0x0, 0x10, 0x7, 0x6, 0x47, 0x2, 0x30, 0x0, 0x0, 0x0, 0x2, 0xff, 0xd3, 0xff, 0xf6, 0x3, 0x30, 0x7, 0x2c, 0x0, 0xb, 0x0, 0x28, 0x0, 0x0, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x1, 0x26, 0x7, 0x6, 0x13, 0x17, 0x16, 0x15, 0x11, 0x33, 0x20, 0x7, 0x6, 0x7, 0x23, 0x22, 0x19, 0x1, 0x34, 0x2f, 0x1, 0x26, 0x35, 0x34, 0x33, 0x32, 0x17, 0x1, 0x7, 0x2, 0x4e, 0x24, 0x1c, 0x20, 0x20, 0x25, 0x1b, 0x20, 0xfe, 0xa4, 0x73, 0x20, 0x24, 0xcb, 0x8c, 0x65, 0x17, 0x1, 0x3, 0x1, 0x1, 0xd3, 0x2, 0xfb, 0x90, 0x8b, 0x71, 0xc9, 0x98, 0x7a, 0x1, 0x6d, 0x85, 0x1, 0x12, 0x20, 0x20, 0x25, 0x1b, 0x22, 0x1e, 0x25, 0x1b, 0x5, 0x18, 0x90, 0x1a, 0x1d, 0xfe, 0xf9, 0xb4, 0x83, 0xb5, 0xfe, 0x1d, 0xe7, 0xcf, 0x1, 0x1, 0x38, 0x2, 0x32, 0xae, 0xba, 0xb4, 0x91, 0x79, 0xa6, 0x9c, 0xfe, 0x2c, 0x76, 0x0, 0x0, 0x0, 0x2, 0x0, 0x5c, 0xff, 0xe3, 0x3, 0xeb, 0x7, 0x23, 0x0, 0x1a, 0x0, 0x22, 0x0, 0x36, 0x40, 0x8, 0x3, 0x12, 0x10, 0x7, 0x12, 0xc, 0x45, 0x23, 0x10, 0xfc, 0xec, 0xdc, 0xec, 0x40, 0x7, 0x21, 0x16, 0x1d, 0x13, 0x8, 0x0, 0xc, 0x10, 0xdc, 0xec, 0xdc, 0xdc, 0xcc, 0x31, 0x0, 0x40, 0xb, 0x5, 0x87, 0xe, 0x98, 0x23, 0x1b, 0x14, 0x1f, 0x18, 0x8c, 0x23, 0x10, 0xf4, 0xc4, 0xdc, 0xc4, 0x10, 0xfc, 0xfc, 0x30, 0x1, 0x34, 0x24, 0x35, 0x34, 0x25, 0x26, 0x15, 0x14, 0x17, 0x7, 0x26, 0x35, 0x10, 0x21, 0x20, 0x11, 0x14, 0x4, 0x15, 0x11, 0x24, 0x15, 0x14, 0x23, 0x22, 0x35, 0x37, 0x22, 0x15, 0x14, 0x33, 0x32, 0x35, 0x34, 0x1, 0xc2, 0x1, 0x69, 0xfe, 0xd8, 0xf3, 0xa0, 0x78, 0xdc, 0x1, 0xab, 0x1, 0xe4, 0xfe, 0x8f, 0x1, 0x19, 0xe2, 0xef, 0xef, 0x40, 0x40, 0x40, 0x3, 0xe7, 0xb8, 0xdc, 0x58, 0xba, 0x1, 0x1, 0xb8, 0x34, 0xa0, 0x7c, 0xec, 0x60, 0x1, 0x50, 0xfe, 0xb0, 0xa4, 0xd9, 0xb3, 0xfd, 0xf7, 0xa, 0xe5, 0xdc, 0xdd, 0x3f, 0x40, 0x40, 0x40, 0x40, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xbc, 0xff, 0xea, 0x3, 0x90, 0x7, 0x16, 0x0, 0xb, 0x0, 0x22, 0x0, 0x0, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x1, 0x35, 0x26, 0x27, 0x37, 0x16, 0x1f, 0x1, 0x21, 0x17, 0x6, 0x15, 0x11, 0x24, 0x7, 0x6, 0x23, 0x22, 0x19, 0x1, 0x34, 0x37, 0x23, 0x2, 0xae, 0x24, 0x1c, 0x20, 0x20, 0x25, 0x1b, 0x20, 0xfe, 0x64, 0x2, 0x74, 0xa6, 0x84, 0x4, 0x4, 0x1, 0x2e, 0x3b, 0xe0, 0x1, 0x1a, 0x1, 0x1, 0xd5, 0xfb, 0x9c, 0xef, 0x1, 0x6, 0x20, 0x20, 0x25, 0x1b, 0x22, 0x1e, 0x25, 0x1b, 0x3, 0xc8, 0x88, 0x9d, 0xc4, 0x5f, 0xf8, 0x70, 0x95, 0xbd, 0xac, 0x98, 0xfe, 0x89, 0xa, 0xf1, 0xd0, 0x1, 0x38, 0x2, 0x3e, 0x99, 0x75, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x93, 0xfe, 0x25, 0x4, 0x98, 0x4, 0x74, 0x0, 0x2f, 0x0, 0x3b, 0x0, 0x0, 0x1, 0x34, 0x23, 0x22, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x23, 0x22, 0x1d, 0x1, 0x24, 0x7, 0x6, 0x7, 0x23, 0x26, 0x11, 0x35, 0x10, 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x33, 0x32, 0x19, 0x1, 0x10, 0x7, 0x6, 0x21, 0x20, 0x27, 0x26, 0x35, 0x37, 0x16, 0x5, 0x4, 0x11, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x3, 0xe0, 0x22, 0x33, 0x43, 0x32, 0x7f, 0x7a, 0x37, 0x4a, 0x2c, 0x22, 0x1, 0x1a, 0x1, 0x1, 0xd3, 0x2, 0xfb, 0xb6, 0x85, 0x2f, 0x49, 0x4e, 0x5c, 0x3d, 0x30, 0x82, 0xb6, 0x42, 0x57, 0xfe, 0x96, 0xfe, 0xa1, 0x54, 0x4f, 0xbd, 0x15, 0x1, 0x33, 0x1, 0x48, 0xfd, 0xa9, 0x24, 0x1c, 0x20, 0x20, 0x25, 0x1b, 0x20, 0x3, 0x58, 0x74, 0x5c, 0x44, 0x44, 0x5c, 0x74, 0x5d, 0xa, 0xf1, 0xcf, 0x1, 0x3, 0x1, 0x35, 0xf6, 0x1, 0x2, 0x3c, 0x5c, 0x55, 0x43, 0xfe, 0xfe, 0xfc, 0xaa, 0xfe, 0xf7, 0x66, 0x88, 0x77, 0x70, 0x76, 0xa, 0xca, 0x8, 0x9, 0x1, 0x67, 0x2, 0x48, 0x20, 0x20, 0x25, 0x1b, 0x22, 0x1e, 0x25, 0x1b, 0x0, 0x0, 0x0, 0x1, 0xfd, 0x12, 0x4, 0xf1, 0xfd, 0xc6, 0x6, 0x56, 0x0, 0x3, 0x0, 0xe, 0x40, 0x5, 0x2, 0x0, 0x2, 0x8, 0x0, 0x2f, 0xfc, 0x31, 0x0, 0x2f, 0xcc, 0x30, 0x1, 0x33, 0x11, 0x23, 0xfd, 0x12, 0xb4, 0xb4, 0x6, 0x56, 0xfe, 0x9b, 0x0, 0x2, 0xfb, 0x7f, 0x4, 0xe0, 0xff, 0xa3, 0x7, 0x20, 0x0, 0x7, 0x0, 0x1b, 0x0, 0x27, 0x40, 0x8, 0x1b, 0x8, 0xf, 0x2, 0x15, 0x6, 0x11, 0xc, 0x2f, 0xd4, 0xcc, 0xdc, 0xcc, 0xcc, 0xdc, 0xcc, 0x31, 0x0, 0x40, 0x8, 0x0, 0xf, 0x4, 0x13, 0x1b, 0xd, 0x18, 0xc, 0x2f, 0xdc, 0x3c, 0xcc, 0xdc, 0xc4, 0xdc, 0xc4, 0x30, 0x1, 0x16, 0x27, 0x36, 0x7, 0x22, 0x17, 0x6, 0x25, 0x14, 0x2, 0x29, 0x1, 0x35, 0x36, 0x35, 0x6, 0x37, 0x34, 0x17, 0x16, 0x1d, 0x1, 0x14, 0x7, 0x20, 0x36, 0x35, 0xfc, 0x19, 0x2b, 0x2, 0x1, 0x2a, 0x2b, 0x1, 0x1, 0x3, 0xb5, 0xd7, 0xfe, 0x84, 0xfe, 0x55, 0x90, 0xb7, 0x1, 0x9d, 0x91, 0x47, 0x1, 0xb1, 0xf3, 0x6, 0x6d, 0x1, 0x2b, 0x2b, 0x2, 0x29, 0x2c, 0x7d, 0xe5, 0xfe, 0xdd, 0x85, 0x2e, 0x70, 0x7, 0x9d, 0x88, 0x1, 0x1, 0x83, 0xb7, 0x5c, 0x28, 0x8d, 0xfa, 0x0, 0x0, 0x0, 0x1, 0xfb, 0x3e, 0x4, 0xc8, 0x0, 0x2e, 0x6, 0xf3, 0x0, 0x34, 0x0, 0x0, 0x1, 0x22, 0x11, 0x10, 0x21, 0x32, 0x16, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x15, 0x14, 0x7, 0x16, 0x37, 0x36, 0x37, 0x33, 0x6, 0x7, 0x6, 0x21, 0x23, 0x35, 0x36, 0x35, 0x34, 0x23, 0x22, 0x7, 0x6, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x15, 0x14, 0x3b, 0x1, 0x26, 0x35, 0x34, 0x33, 0x16, 0x7, 0x6, 0x7, 0x6, 0xfc, 0x2e, 0xf0, 0x1, 0x25, 0x32, 0x7e, 0x2a, 0x26, 0x49, 0x48, 0x48, 0xdc, 0x9d, 0x84, 0x42, 0x4f, 0x5, 0x99, 0x2, 0x67, 0x28, 0xfe, 0xe2, 0xc5, 0xd0, 0x4c, 0x18, 0x42, 0x43, 0x5d, 0x69, 0x25, 0x3e, 0x17, 0x92, 0x65, 0x3e, 0x2e, 0x60, 0x68, 0x2, 0x2, 0x3e, 0x33, 0x4, 0xc8, 0x1, 0x14, 0x1, 0x17, 0x82, 0x1, 0x1, 0x41, 0x3f, 0xd7, 0x7e, 0x3d, 0x4, 0xd, 0x10, 0x68, 0x82, 0x5c, 0x24, 0x85, 0x6b, 0x62, 0x38, 0x3a, 0x3b, 0x1, 0x1, 0x2d, 0x46, 0x90, 0xa1, 0x2, 0x5f, 0x5a, 0x1, 0x6b, 0x66, 0x32, 0x29, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfc, 0x4e, 0x4, 0xe0, 0xfe, 0x8c, 0x7, 0x1e, 0x0, 0xb, 0x0, 0x21, 0x40, 0x7, 0x7, 0x5, 0x8, 0xa9, 0x0, 0x2, 0xb, 0x2f, 0x3c, 0xcc, 0xfc, 0x3c, 0xdc, 0x31, 0x0, 0x40, 0x7, 0x4, 0x2, 0x5, 0xa9, 0x9, 0xb, 0x8, 0x2f, 0x3c, 0xcc, 0xfc, 0x3c, 0xdc, 0x30, 0x1, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0xfc, 0x4e, 0xd8, 0x8e, 0xd8, 0xd8, 0x8e, 0x5, 0xb8, 0x8e, 0xd8, 0xd8, 0x8e, 0xd8, 0xd8, 0x0, 0x0, 0xff, 0xff, 0xfb, 0x1c, 0x5, 0x17, 0x0, 0xd, 0x7, 0x1, 0x10, 0x7, 0x6, 0x45, 0x0, 0x0, 0x7, 0x50, 0x0, 0x0, 0x0, 0x2, 0xfc, 0x9a, 0x4, 0xf6, 0xfe, 0x3e, 0x6, 0x72, 0x0, 0x7, 0x0, 0xf, 0x0, 0x17, 0x40, 0x4, 0xc, 0x4, 0x8, 0x0, 0x2f, 0xcc, 0xdc, 0xcc, 0x31, 0x0, 0x40, 0x4, 0xe, 0x2, 0xa, 0x6, 0x2f, 0xcc, 0xdc, 0xcc, 0x30, 0x1, 0x34, 0x33, 0x32, 0x15, 0x14, 0x23, 0x22, 0x37, 0x14, 0x33, 0x32, 0x35, 0x34, 0x23, 0x22, 0xfc, 0x9a, 0xd4, 0xd0, 0xd4, 0xd0, 0x84, 0x4c, 0x54, 0x50, 0x50, 0x5, 0xbe, 0xb4, 0xb4, 0xc8, 0xc8, 0x48, 0x48, 0x48, 0x0, 0x0, 0x2, 0x0, 0x87, 0xff, 0xe3, 0x4, 0x8f, 0x4, 0x60, 0x0, 0xd, 0x0, 0x1d, 0x0, 0x0, 0x1, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x20, 0x37, 0x36, 0x35, 0x34, 0x26, 0x27, 0x20, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x21, 0x20, 0x27, 0x26, 0x11, 0x34, 0x37, 0x36, 0x2, 0x8b, 0x8f, 0x5e, 0x4c, 0x3a, 0x4e, 0x1, 0x62, 0x58, 0x31, 0x9d, 0x9d, 0x1, 0x19, 0x88, 0x63, 0x6f, 0x8c, 0xfe, 0xf7, 0xfe, 0xed, 0x80, 0x71, 0x6f, 0x92, 0x3, 0xc0, 0x84, 0x68, 0xb3, 0xbd, 0x60, 0x81, 0x99, 0x57, 0xae, 0xa3, 0xfc, 0xa0, 0xc4, 0x92, 0xe9, 0xfd, 0x8e, 0xb3, 0xa5, 0x94, 0x1, 0x5, 0xe6, 0x95, 0xc4, 0x0, 0x2, 0x0, 0x63, 0xff, 0x67, 0x4, 0xa8, 0x4, 0x9b, 0x0, 0x3, 0x0, 0x26, 0x0, 0x0, 0x0, 0x14, 0x32, 0x34, 0x3, 0x37, 0x36, 0x11, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x6, 0x17, 0x36, 0x37, 0x36, 0x15, 0x14, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x5, 0x20, 0x17, 0x16, 0x15, 0x10, 0x5, 0x7, 0x1, 0xb6, 0x80, 0xa, 0xf2, 0xd2, 0x70, 0x48, 0xbc, 0x92, 0x67, 0x63, 0x1, 0x1, 0x2f, 0x35, 0x70, 0xd8, 0xe4, 0x86, 0x49, 0xb4, 0x8d, 0x75, 0x1, 0xb, 0x1, 0x11, 0x81, 0xa6, 0xfe, 0xce, 0xf6, 0x2, 0x16, 0x80, 0x80, 0xfd, 0xea, 0x87, 0x75, 0x1, 0xcb, 0x7f, 0x70, 0x48, 0x45, 0x43, 0x6c, 0x65, 0x5c, 0x67, 0x2, 0x2, 0xe2, 0xd4, 0x2, 0x1, 0x55, 0xd4, 0xdc, 0x9a, 0x89, 0x73, 0x1, 0x75, 0x97, 0xc8, 0xfd, 0xcf, 0xa8, 0x87, 0x0, 0x0, 0x2, 0x0, 0x63, 0xff, 0x79, 0x4, 0x5c, 0x5, 0xb1, 0x0, 0x3, 0x0, 0x24, 0x0, 0x0, 0x0, 0x32, 0x34, 0x22, 0x3, 0x32, 0x37, 0x6, 0x23, 0x26, 0x35, 0x34, 0x33, 0x32, 0x11, 0x14, 0x7, 0x6, 0x23, 0x20, 0x27, 0x26, 0x35, 0x10, 0x3f, 0x1, 0x24, 0x35, 0x17, 0x10, 0x1, 0x7, 0x6, 0x11, 0x14, 0x17, 0x16, 0x3, 0x2b, 0x80, 0x80, 0x72, 0xd0, 0x25, 0xf, 0x33, 0xdd, 0xe0, 0xed, 0x5d, 0x66, 0xdc, 0xfe, 0xcd, 0x81, 0xa6, 0xcf, 0xd3, 0x1, 0x1f, 0xb8, 0xfe, 0x94, 0xd9, 0x7c, 0x70, 0x48, 0x1, 0x46, 0x80, 0xfe, 0x50, 0xb6, 0x13, 0x3, 0xc6, 0xd8, 0xfe, 0xe4, 0xf0, 0x66, 0x6f, 0x75, 0x97, 0xc8, 0x1, 0x54, 0xa2, 0xa5, 0xe0, 0xe9, 0x1, 0xfe, 0xc7, 0xfe, 0xe5, 0xa9, 0x61, 0xfe, 0xfb, 0x7f, 0x70, 0x48, 0x0, 0x0, 0x1, 0x0, 0x16, 0xff, 0xed, 0x5, 0x8a, 0x6, 0xa4, 0x0, 0x2f, 0x0, 0x0, 0x25, 0x32, 0x19, 0x1, 0x34, 0x27, 0x24, 0x35, 0x34, 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x37, 0x17, 0x2, 0x23, 0x22, 0x27, 0x26, 0x23, 0x22, 0x15, 0x14, 0x5, 0x16, 0x15, 0x11, 0x10, 0x25, 0x24, 0x27, 0x6, 0x23, 0x22, 0x35, 0x34, 0x33, 0x32, 0x7, 0x32, 0x35, 0x11, 0x33, 0x11, 0x10, 0x3, 0x11, 0xe2, 0xb6, 0xfe, 0xb6, 0xef, 0xa1, 0x33, 0x5d, 0x4c, 0x2f, 0x7c, 0x80, 0x74, 0xbe, 0x6b, 0x5a, 0x31, 0x84, 0x41, 0x1, 0x51, 0xbd, 0xfe, 0x66, 0xfe, 0xdc, 0x28, 0x33, 0xb6, 0xc6, 0x9c, 0x90, 0x2, 0x29, 0xb8, 0x83, 0x1, 0x44, 0x1, 0x6a, 0xbe, 0x52, 0x97, 0xc6, 0xe6, 0x3a, 0x6a, 0xc4, 0x54, 0xfe, 0xfb, 0x68, 0x38, 0x4b, 0x4f, 0xc8, 0x70, 0xc6, 0xfe, 0x74, 0xfe, 0x24, 0x2, 0x2, 0x36, 0x38, 0x9c, 0x96, 0x7b, 0x8b, 0x2, 0x91, 0xfd, 0xd6, 0xfe, 0xed, 0x0, 0x2, 0x0, 0x63, 0xff, 0x57, 0x4, 0xce, 0x5, 0xb1, 0x0, 0x3, 0x0, 0x25, 0x0, 0x0, 0x0, 0x32, 0x34, 0x22, 0x1, 0x24, 0x5, 0x4, 0x27, 0x26, 0x35, 0x10, 0x3f, 0x1, 0x24, 0x35, 0x17, 0x10, 0x1, 0x7, 0x6, 0x11, 0x14, 0x17, 0x16, 0x33, 0x32, 0x17, 0x26, 0x27, 0x26, 0x33, 0x32, 0x7, 0x6, 0x7, 0x16, 0x17, 0x3, 0x21, 0x80, 0x80, 0x1, 0xad, 0xfe, 0xe2, 0xfe, 0xf1, 0xfe, 0xbe, 0x72, 0x8a, 0xcf, 0xd3, 0x1, 0x1f, 0xb8, 0xfe, 0x94, 0xd9, 0x7c, 0x54, 0x39, 0xef, 0x6c, 0x63, 0xd9, 0x2, 0x2, 0xd4, 0xec, 0xc, 0xb, 0x7e, 0x78, 0xa2, 0x1, 0x98, 0x80, 0xfd, 0x3f, 0x4c, 0x1, 0x1, 0x76, 0x8f, 0xa7, 0x1, 0x54, 0xa2, 0xa5, 0xe0, 0xe9, 0x1, 0xfe, 0xc7, 0xfe, 0xe5, 0xa9, 0x61, 0xfe, 0xfb, 0x6d, 0x59, 0x3c, 0x18, 0xc5, 0xd0, 0xe4, 0xd8, 0xc9, 0x5, 0xc7, 0x4b, 0x0, 0x0, 0x0, 0x3, 0x0, 0x63, 0xff, 0x57, 0x4, 0xce, 0x5, 0xb1, 0x0, 0x3, 0x0, 0x2d, 0x0, 0x32, 0x0, 0x0, 0x0, 0x32, 0x34, 0x22, 0x5, 0x12, 0x37, 0x26, 0x35, 0x26, 0x33, 0x32, 0x7, 0x36, 0x35, 0x17, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x11, 0x14, 0x17, 0x16, 0x33, 0x32, 0x17, 0x26, 0x27, 0x26, 0x33, 0x32, 0x7, 0x6, 0x7, 0x16, 0x17, 0x15, 0x24, 0x5, 0x4, 0x27, 0x26, 0x12, 0x14, 0x33, 0x32, 0x34, 0x3, 0x21, 0x80, 0x80, 0xfd, 0x42, 0x2, 0xe5, 0x91, 0x1, 0xe4, 0xfb, 0xf, 0x9c, 0xb8, 0xb3, 0x7d, 0x62, 0x24, 0x8f, 0x7c, 0x54, 0x39, 0xef, 0x6c, 0x63, 0xd9, 0x2, 0x2, 0xd4, 0xec, 0xc, 0xb, 0x7e, 0x78, 0xa2, 0xfe, 0xe2, 0xfe, 0xf1, 0xfe, 0xbe, 0x72, 0x8a, 0xf8, 0x3d, 0x43, 0x1, 0x98, 0x80, 0xcb, 0x1, 0x68, 0xa1, 0x28, 0xaa, 0xe7, 0xad, 0xad, 0xa2, 0x1, 0xbd, 0xeb, 0xa4, 0xc, 0x3f, 0x66, 0x58, 0xfe, 0xf2, 0x6d, 0x59, 0x3c, 0x18, 0xc5, 0xd0, 0xe4, 0xd8, 0xc9, 0x5, 0xc7, 0x4b, 0x9d, 0x4c, 0x1, 0x1, 0x76, 0x8f, 0x3, 0xc8, 0x74, 0x74, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x59, 0xff, 0xef, 0x5, 0xf4, 0x6, 0x7f, 0x0, 0x34, 0x0, 0x40, 0x0, 0x0, 0x1, 0x14, 0x6, 0x27, 0x26, 0x27, 0x6, 0x27, 0x22, 0x26, 0x35, 0x11, 0x34, 0x33, 0x32, 0x7, 0x6, 0x5, 0x11, 0x14, 0x33, 0x32, 0x35, 0x11, 0x33, 0x3, 0x14, 0x37, 0x36, 0x35, 0x11, 0x10, 0x27, 0x24, 0x35, 0x34, 0x33, 0x32, 0x4, 0x32, 0x37, 0x17, 0x2, 0x23, 0x22, 0x24, 0x23, 0x22, 0x15, 0x14, 0x5, 0x16, 0x11, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x5, 0x7, 0xb2, 0xa5, 0x94, 0x66, 0x67, 0xb4, 0xa6, 0x9c, 0xfd, 0xd4, 0x1, 0x1, 0xfe, 0xe9, 0xa5, 0xa4, 0xb8, 0x1, 0xa3, 0x9b, 0xd9, 0xfe, 0xac, 0xfa, 0x75, 0x1, 0x9, 0x5e, 0x7c, 0x80, 0x75, 0xbd, 0x49, 0xfe, 0xf2, 0x53, 0x4c, 0x1, 0x5c, 0xdf, 0xfc, 0x3e, 0x24, 0x1c, 0x20, 0x20, 0x25, 0x1b, 0x20, 0x1, 0x2c, 0xa5, 0x99, 0x1, 0x1, 0x49, 0x4b, 0x1, 0xa3, 0x9a, 0x2, 0x62, 0xdf, 0xeb, 0xc7, 0x5, 0xfe, 0x76, 0x84, 0x84, 0x1, 0x34, 0xfe, 0xcb, 0x8b, 0x5, 0x5, 0x82, 0x1, 0x6a, 0x1, 0x45, 0x61, 0x9a, 0xd8, 0xd1, 0xfc, 0xc3, 0x54, 0xfe, 0xfb, 0xf9, 0x57, 0x38, 0xd2, 0x8b, 0xfe, 0xbe, 0x1, 0x1a, 0x20, 0x20, 0x25, 0x1b, 0x22, 0x1e, 0x25, 0x1b, 0x0, 0x0, 0x3, 0x0, 0x82, 0xfe, 0x14, 0x4, 0xdb, 0x4, 0x7b, 0x0, 0x5, 0x0, 0xb, 0x0, 0x26, 0x0, 0x0, 0x25, 0x22, 0x14, 0x33, 0x32, 0x34, 0x3, 0x22, 0x14, 0x33, 0x32, 0x34, 0x13, 0x14, 0x23, 0x22, 0x35, 0x34, 0x21, 0x11, 0x6, 0x23, 0x22, 0x35, 0x34, 0x33, 0x32, 0x17, 0x36, 0x33, 0x20, 0x19, 0x1, 0x23, 0x11, 0x34, 0x23, 0x22, 0x7, 0x1, 0x68, 0x3f, 0x3f, 0x41, 0x41, 0x3f, 0x3f, 0x41, 0xb8, 0xf9, 0xe6, 0x1, 0x27, 0x2b, 0x16, 0xe6, 0xe6, 0xa8, 0x2c, 0x4c, 0xbd, 0x1, 0x96, 0xb8, 0xe2, 0x89, 0x57, 0xf0, 0x80, 0x80, 0x3, 0x7, 0x80, 0x80, 0xfc, 0xc1, 0xcd, 0xc9, 0xd0, 0x1, 0x70, 0x8, 0xd8, 0xb7, 0x51, 0x51, 0xfe, 0xbe, 0xfa, 0xdb, 0x5, 0x25, 0xaa, 0x8e, 0x0, 0x4, 0x0, 0x96, 0xfe, 0x52, 0x5, 0x70, 0x4, 0x74, 0x0, 0xb, 0x0, 0x11, 0x0, 0x4d, 0x0, 0x55, 0x0, 0x0, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x0, 0x32, 0x35, 0x34, 0x22, 0x15, 0x5, 0x6, 0x23, 0x26, 0x37, 0x36, 0x37, 0x36, 0x37, 0x25, 0x11, 0x34, 0x23, 0x22, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x23, 0x22, 0x15, 0x11, 0x24, 0x7, 0x6, 0x7, 0x23, 0x26, 0x19, 0x1, 0x10, 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x33, 0x32, 0x19, 0x1, 0x37, 0x17, 0x7, 0x15, 0x36, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x27, 0x6, 0x13, 0x1, 0x6, 0x17, 0x16, 0x37, 0x36, 0x37, 0x1, 0x89, 0x24, 0x1c, 0x20, 0x20, 0x25, 0x1b, 0x20, 0x2, 0xe5, 0x6e, 0x6e, 0xfe, 0xb4, 0x76, 0x70, 0x86, 0x2, 0x1, 0x2b, 0x2d, 0x95, 0x1, 0x1a, 0x22, 0x32, 0x44, 0x32, 0x7f, 0x7a, 0x37, 0x4a, 0x2c, 0x22, 0x1, 0x1a, 0x1, 0x1, 0xd3, 0x2, 0xfb, 0xb6, 0x84, 0x30, 0x49, 0x4e, 0x5c, 0x3d, 0x30, 0x82, 0xb6, 0x8e, 0x4a, 0xd8, 0x25, 0x12, 0x95, 0x2e, 0x33, 0x3f, 0xad, 0x35, 0x78, 0x76, 0xfe, 0x84, 0x27, 0xf, 0x18, 0xaa, 0x81, 0x51, 0x1, 0x9c, 0x20, 0x20, 0x25, 0x1b, 0x22, 0x1e, 0x25, 0x1b, 0xfd, 0x9e, 0x39, 0x33, 0x33, 0xb9, 0x68, 0x1, 0x6b, 0x2f, 0x2f, 0x33, 0x77, 0xe1, 0x2, 0xb1, 0x74, 0x5c, 0x44, 0x44, 0x5c, 0x74, 0xfe, 0xdf, 0xa, 0xf1, 0xcf, 0x1, 0x3, 0x1, 0x35, 0x1, 0xba, 0x1, 0x2, 0x3c, 0x5c, 0x55, 0x43, 0xfe, 0xfe, 0xfd, 0xc8, 0x72, 0x54, 0xad, 0xab, 0x8, 0x1, 0x8, 0x94, 0x46, 0x2d, 0x32, 0x1, 0x3, 0x62, 0x47, 0x1, 0x3b, 0xfe, 0xd0, 0x1f, 0x15, 0x22, 0x82, 0x62, 0x2c, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x69, 0xff, 0xf7, 0x4, 0xf7, 0x4, 0x91, 0x0, 0x1c, 0x0, 0x20, 0x0, 0x0, 0x1, 0x24, 0x1b, 0x1, 0x14, 0x17, 0x16, 0x35, 0x11, 0x33, 0x11, 0x14, 0x5, 0x4, 0x35, 0x11, 0x34, 0x23, 0x22, 0x15, 0x11, 0x20, 0x15, 0x14, 0x23, 0x22, 0x35, 0x11, 0x10, 0x12, 0x32, 0x34, 0x22, 0x1, 0xc5, 0x1, 0x6d, 0x1, 0x1, 0x7e, 0x8d, 0xb8, 0xfe, 0xc0, 0xfe, 0xc5, 0xb6, 0xa5, 0x1, 0x18, 0xd3, 0xfd, 0xac, 0x80, 0x80, 0x4, 0x91, 0x1, 0xfe, 0xb9, 0xfd, 0xa9, 0x65, 0x3, 0x3, 0x6a, 0x3, 0x8d, 0xfc, 0x73, 0xfb, 0x1, 0x1, 0xfe, 0x2, 0x58, 0xb0, 0xa4, 0xfe, 0x5c, 0xcc, 0xeb, 0xdf, 0x2, 0x7c, 0x1, 0x39, 0xfc, 0x7, 0x80, 0x0, 0x0, 0x0, 0x3, 0x0, 0x7f, 0xff, 0xe8, 0x7, 0x93, 0x4, 0x99, 0x0, 0x6, 0x0, 0xd, 0x0, 0x49, 0x0, 0x0, 0x0, 0x22, 0x15, 0x6, 0x33, 0x32, 0x37, 0x24, 0x22, 0x15, 0x6, 0x33, 0x32, 0x37, 0x5, 0x11, 0x16, 0x33, 0x36, 0x35, 0x11, 0x33, 0x11, 0x10, 0x25, 0x22, 0x27, 0x6, 0x25, 0x35, 0x32, 0x35, 0x11, 0x34, 0x7, 0x6, 0x7, 0x6, 0x7, 0x13, 0x12, 0x25, 0x24, 0x11, 0x10, 0x37, 0x26, 0x37, 0x36, 0x17, 0x16, 0x7, 0x6, 0x7, 0x6, 0x13, 0x16, 0x25, 0x24, 0x35, 0x11, 0x6, 0x23, 0x30, 0x23, 0x26, 0x37, 0x36, 0x17, 0x32, 0x17, 0x36, 0x17, 0x16, 0x1, 0xa8, 0x80, 0x1, 0x41, 0x3f, 0x1, 0x1, 0xe0, 0x80, 0x1, 0x41, 0x3f, 0x1, 0x2, 0x91, 0xb, 0x54, 0x63, 0xb8, 0xfe, 0xe9, 0x62, 0x2a, 0x40, 0xfe, 0xd6, 0xdb, 0x52, 0x58, 0x36, 0x26, 0x24, 0x1, 0x1, 0xfe, 0x48, 0xfe, 0x1c, 0xa3, 0xc2, 0x1, 0x1, 0xe5, 0xee, 0x2, 0x1, 0x75, 0x8a, 0xc, 0x7, 0x1, 0x1c, 0x1, 0x0, 0x14, 0x1d, 0x2, 0xe6, 0x1, 0x1, 0xd3, 0xa2, 0x35, 0x72, 0x97, 0xfd, 0x4, 0x4, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x6d, 0xfd, 0x6f, 0x36, 0x4, 0xa0, 0x3, 0x4a, 0xfc, 0xb6, 0xfe, 0xbd, 0x1, 0x2c, 0x2f, 0x3, 0xb8, 0xcc, 0x1, 0xe1, 0x83, 0x1, 0x1, 0x37, 0x27, 0x1c, 0xfd, 0xd6, 0xfe, 0xb3, 0x1, 0x1, 0x1, 0x2d, 0x1, 0xa, 0xd3, 0x2f, 0x99, 0xd7, 0x1, 0x1, 0xd4, 0x8b, 0x75, 0x8a, 0xfe, 0xea, 0x9f, 0x1, 0x1, 0xb5, 0x1, 0xb2, 0x9, 0x6, 0xee, 0xc9, 0x1, 0x63, 0x64, 0x1, 0x2, 0x0, 0x0, 0x4, 0x0, 0x7f, 0xff, 0xe8, 0x7, 0xc9, 0x4, 0x99, 0x0, 0x6, 0x0, 0xd, 0x0, 0x4c, 0x0, 0x58, 0x0, 0x0, 0x0, 0x22, 0x15, 0x6, 0x33, 0x32, 0x37, 0x24, 0x22, 0x15, 0x6, 0x33, 0x32, 0x37, 0x5, 0x11, 0x16, 0x33, 0x32, 0x35, 0x11, 0x33, 0x11, 0x10, 0x21, 0x22, 0x27, 0x6, 0x27, 0x26, 0x37, 0x36, 0x33, 0x32, 0x17, 0x11, 0x34, 0x7, 0x6, 0x7, 0x6, 0x7, 0x13, 0x12, 0x25, 0x24, 0x11, 0x10, 0x37, 0x26, 0x37, 0x36, 0x17, 0x16, 0x7, 0x6, 0x7, 0x6, 0x13, 0x16, 0x25, 0x24, 0x35, 0x11, 0x6, 0x23, 0x30, 0x23, 0x26, 0x37, 0x36, 0x17, 0x32, 0x17, 0x36, 0x17, 0x16, 0x3, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x26, 0x6, 0x15, 0x14, 0x16, 0x1, 0xa8, 0x80, 0x1, 0x41, 0x3f, 0x1, 0x1, 0xe0, 0x80, 0x1, 0x41, 0x3f, 0x1, 0x2, 0x91, 0x1a, 0x66, 0x78, 0xb8, 0xfe, 0xd4, 0x85, 0x24, 0x38, 0x9f, 0xd9, 0x5, 0x5, 0xc4, 0x24, 0x2b, 0x52, 0x62, 0x2c, 0x13, 0x37, 0x1, 0x1, 0xfe, 0x48, 0xfe, 0x1c, 0xa3, 0xc2, 0x1, 0x1, 0xe5, 0xee, 0x2, 0x1, 0x75, 0x8a, 0xc, 0x7, 0x1, 0x1c, 0x1, 0x0, 0x14, 0x1d, 0x2, 0xe6, 0x1, 0x1, 0xd3, 0xa2, 0x35, 0x72, 0x97, 0xfd, 0xf4, 0x24, 0x1c, 0x21, 0x1f, 0x25, 0x1b, 0x20, 0x4, 0x4, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x6d, 0xfd, 0xd3, 0x94, 0x9e, 0x3, 0x4a, 0xfc, 0xb6, 0xfe, 0xbe, 0x63, 0x65, 0x2, 0x3, 0xc6, 0xc1, 0x8, 0x1, 0xe3, 0x93, 0x11, 0x14, 0x24, 0x10, 0x33, 0xfd, 0xd6, 0xfe, 0xb3, 0x1, 0x1, 0x1, 0x2d, 0x1, 0xa, 0xd3, 0x2f, 0x99, 0xd7, 0x1, 0x1, 0xd4, 0x8b, 0x75, 0x8a, 0xfe, 0xea, 0x9f, 0x1, 0x1, 0xb5, 0x1, 0xb2, 0x9, 0x6, 0xee, 0xc9, 0x1, 0x63, 0x64, 0x1, 0x2, 0xfb, 0xea, 0x20, 0x20, 0x24, 0x1b, 0x1, 0x1, 0x21, 0x20, 0x24, 0x1c, 0x0, 0x1, 0x0, 0x78, 0xff, 0xe1, 0x6, 0x86, 0x6, 0x9f, 0x0, 0x19, 0x0, 0x0, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x1, 0x21, 0x35, 0x21, 0x15, 0x21, 0x4, 0x11, 0x10, 0x0, 0x25, 0x36, 0x0, 0x11, 0x34, 0x27, 0x37, 0x16, 0x6, 0x86, 0xfe, 0x3b, 0xfe, 0xb7, 0xfe, 0xb1, 0xfe, 0x4f, 0x1, 0xdc, 0xfe, 0x74, 0x5, 0x4a, 0xfd, 0x75, 0xfd, 0xaf, 0x1, 0x34, 0x1, 0x11, 0xfa, 0x1, 0x53, 0x53, 0x9b, 0x76, 0x3, 0x10, 0xfe, 0x96, 0xfe, 0x3b, 0x1, 0xf8, 0x1, 0x58, 0x1, 0xc2, 0x1, 0x4, 0xa8, 0xa9, 0xe7, 0xfe, 0x22, 0xfe, 0xf2, 0xfe, 0x5d, 0x1, 0x1, 0x1, 0x7c, 0x1, 0xc, 0x85, 0xbf, 0x4b, 0xc5, 0x0, 0x0, 0x1, 0x0, 0x6e, 0xff, 0xff, 0x5, 0xa2, 0x6, 0x9f, 0x0, 0x15, 0x0, 0x0, 0x5, 0x11, 0x6, 0x23, 0x22, 0x0, 0x35, 0x10, 0x37, 0x21, 0x4, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0x21, 0x15, 0x3, 0xc1, 0xbc, 0x96, 0xe2, 0xfe, 0xe1, 0xbe, 0x1, 0xf, 0xfe, 0xf1, 0xcc, 0x71, 0x9e, 0xba, 0xb4, 0x1, 0x2d, 0x1, 0x2, 0xc1, 0x4a, 0x1, 0x4c, 0xdf, 0x1, 0x7, 0xf7, 0xf7, 0xf8, 0xbd, 0xdd, 0x58, 0x3, 0x31, 0xfa, 0x2, 0xa2, 0x0, 0x0, 0x1, 0x0, 0x6f, 0xfe, 0xd1, 0x5, 0x32, 0x6, 0xb3, 0x0, 0x17, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x36, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x17, 0x7, 0x26, 0x35, 0x26, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x21, 0x11, 0x4, 0x7e, 0xfe, 0x8d, 0x1, 0x70, 0x6f, 0x83, 0x7e, 0x64, 0x90, 0x91, 0x1, 0xfe, 0xb7, 0xbd, 0xdf, 0x1, 0x73, 0xfe, 0xd1, 0x1, 0x2e, 0x5, 0x3, 0x8d, 0x86, 0x78, 0x73, 0x67, 0x64, 0x7b, 0xb2, 0x8f, 0xae, 0xe0, 0xef, 0xb0, 0xfb, 0x8c, 0xfe, 0x31, 0x0, 0x2, 0x0, 0x6e, 0xff, 0xe2, 0x6, 0x3f, 0x6, 0x9f, 0x0, 0xb, 0x0, 0x1c, 0x0, 0x0, 0x1, 0x10, 0x0, 0x23, 0x22, 0x0, 0x11, 0x10, 0x0, 0x33, 0x32, 0x0, 0x37, 0x10, 0x0, 0x25, 0x4, 0x0, 0x11, 0x10, 0x25, 0x35, 0x21, 0x35, 0x21, 0x15, 0x21, 0x15, 0x4, 0x5, 0x82, 0xfe, 0xa2, 0xcd, 0xd1, 0xfe, 0xa6, 0x1, 0x49, 0xe6, 0xeb, 0x1, 0x3c, 0xbd, 0xfe, 0x50, 0xfe, 0xcc, 0xfe, 0xd3, 0xfe, 0x40, 0x2, 0x97, 0xfd, 0xd0, 0x5, 0x6, 0xfd, 0xd1, 0x2, 0x93, 0x2, 0xde, 0x1, 0xb, 0x1, 0x3d, 0xfe, 0xc2, 0xfe, 0xf7, 0xfe, 0xfd, 0xfe, 0xa6, 0x1, 0x60, 0xfd, 0xfe, 0xb8, 0xfe, 0x49, 0x2, 0x1, 0x1, 0xb4, 0x1, 0x49, 0x2, 0x3d, 0x9c, 0x3f, 0xa9, 0xa9, 0x3c, 0xa5, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0x0, 0x0, 0x4, 0x6a, 0x6, 0xb3, 0x0, 0x13, 0x0, 0x0, 0x21, 0x11, 0x10, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x17, 0x7, 0x26, 0x11, 0x34, 0x0, 0x33, 0x32, 0x0, 0x19, 0x1, 0x3, 0xb6, 0xce, 0x82, 0x94, 0xb1, 0x8a, 0x79, 0xce, 0x1, 0x10, 0xf2, 0xe4, 0x1, 0x20, 0x4, 0x59, 0x1, 0x4, 0xb7, 0xab, 0x91, 0xd3, 0x85, 0x8d, 0xbf, 0x1, 0x1d, 0xb0, 0x1, 0x34, 0xfe, 0xd4, 0xfe, 0xd3, 0xfb, 0xa6, 0x0, 0x0, 0x1, 0x0, 0x50, 0x0, 0x1, 0x5, 0xb6, 0x6, 0xb3, 0x0, 0x19, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x17, 0x7, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x1d, 0x1, 0x21, 0x11, 0x5, 0x2, 0xfe, 0xa8, 0xb5, 0x92, 0x5f, 0x6b, 0x8b, 0x58, 0x84, 0x92, 0xfd, 0xb5, 0xba, 0xee, 0x2, 0xc, 0x2, 0x8, 0x1, 0xf5, 0xfc, 0x4, 0x5, 0x23, 0x89, 0x67, 0x69, 0x92, 0x4d, 0x6b, 0x7c, 0x90, 0xa0, 0xaa, 0xf4, 0xe8, 0xac, 0x83, 0xfd, 0x6c, 0x0, 0x0, 0x0, 0x2, 0x0, 0x3c, 0xff, 0xe1, 0x5, 0x8f, 0x6, 0x9f, 0x0, 0xa, 0x0, 0x19, 0x0, 0x0, 0x1, 0x21, 0x11, 0x1e, 0x1, 0x33, 0x3e, 0x1, 0x11, 0x34, 0x26, 0x1, 0x2, 0x0, 0x23, 0x22, 0x0, 0x19, 0x1, 0x21, 0x35, 0x21, 0x11, 0x21, 0x20, 0x0, 0x3, 0x3e, 0xfe, 0xfe, 0x1, 0x9e, 0xb3, 0x83, 0xc0, 0xe1, 0x1, 0x9f, 0x2, 0xfe, 0xe7, 0xe6, 0xef, 0xfe, 0xea, 0xfe, 0xb3, 0x2, 0x1, 0x1, 0x1, 0x1, 0xa, 0x1, 0x46, 0x3, 0xfd, 0xfe, 0x2b, 0xfb, 0xac, 0x1, 0xd4, 0x1, 0xc, 0xfa, 0xa1, 0xfe, 0x57, 0xfe, 0xdf, 0xfe, 0xae, 0x1, 0x2, 0x1, 0x35, 0x3, 0xe7, 0xa0, 0xfd, 0xfe, 0xfe, 0xde, 0x0, 0x2, 0x0, 0x79, 0xff, 0xe1, 0x7, 0x14, 0x6, 0xb3, 0x0, 0x8, 0x0, 0x17, 0x0, 0x0, 0x25, 0x11, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x1, 0x11, 0x21, 0x11, 0x21, 0x4, 0x0, 0x13, 0x10, 0x0, 0x29, 0x1, 0x11, 0x21, 0x11, 0x4, 0x59, 0x80, 0xfe, 0xa2, 0xfe, 0xba, 0x1, 0x46, 0x1, 0x5e, 0x2, 0x8a, 0xfe, 0xac, 0xfe, 0xd6, 0xfe, 0x65, 0xfe, 0x2e, 0x1, 0x1, 0xc8, 0x1, 0xa4, 0x1, 0x2a, 0x2, 0x5, 0x81, 0x5, 0x94, 0xfe, 0x7a, 0xfe, 0xc0, 0xfe, 0xe5, 0xfe, 0x4d, 0x1, 0x6a, 0x2, 0x11, 0xfb, 0xe5, 0x2, 0x1, 0xe1, 0x1, 0x8e, 0x1, 0x83, 0x1, 0xe2, 0xfd, 0xe9, 0xfd, 0x4f, 0x0, 0x1, 0x0, 0x3c, 0x0, 0x1, 0x3, 0x1e, 0x6, 0xfd, 0x0, 0x7, 0x0, 0x0, 0x25, 0x11, 0x21, 0x11, 0x33, 0x15, 0x21, 0x11, 0x2, 0x6b, 0xfd, 0xd1, 0xb3, 0x2, 0x2f, 0x1, 0x5, 0xb9, 0x1, 0x43, 0xa4, 0xf9, 0xa8, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x78, 0x0, 0x0, 0x4, 0x7d, 0x6, 0x9f, 0x0, 0xb, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x14, 0x16, 0x33, 0x36, 0x13, 0x11, 0x6, 0x23, 0x26, 0x0, 0x19, 0x1, 0x33, 0x11, 0x36, 0x33, 0x32, 0x0, 0x15, 0x11, 0x3, 0xca, 0xb4, 0x9c, 0x95, 0xba, 0xb0, 0x9f, 0x74, 0xdc, 0xc3, 0x91, 0xf5, 0xfe, 0xf7, 0xb4, 0xde, 0x6c, 0xf5, 0x1, 0x12, 0x2, 0x6, 0x1, 0xb5, 0x7d, 0xdf, 0x39, 0xfe, 0x5e, 0x9d, 0xe4, 0x1, 0xfe, 0x44, 0x1, 0x6f, 0x55, 0x2, 0x1, 0x44, 0x1, 0x3, 0x3, 0x3c, 0xfe, 0xcb, 0x4e, 0xfe, 0xb7, 0xee, 0xfc, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x3c, 0xff, 0xe1, 0x6, 0x46, 0x6, 0xa0, 0x0, 0xb, 0x0, 0x1c, 0x0, 0x0, 0x1, 0x10, 0x26, 0x23, 0x22, 0x7, 0x11, 0x10, 0x16, 0x17, 0x3e, 0x1, 0x1, 0x6, 0x0, 0x19, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x36, 0x33, 0x20, 0x0, 0x10, 0x0, 0x5, 0x88, 0xe4, 0x82, 0x8d, 0x99, 0xb6, 0x8e, 0x77, 0xcf, 0xfe, 0xc1, 0xeb, 0xfe, 0xed, 0xfe, 0xa6, 0xb3, 0x2, 0xc0, 0xa4, 0x8d, 0x1, 0x5, 0x1, 0x14, 0xfe, 0xc3, 0x2, 0x38, 0x1, 0x9, 0xbb, 0x3d, 0xfe, 0x80, 0xfe, 0xfa, 0xb5, 0x2, 0x2, 0xa4, 0xfe, 0xb9, 0x1, 0x1, 0x31, 0x1, 0x30, 0x3, 0xbf, 0xfd, 0xeb, 0x2, 0xb5, 0xfd, 0xc0, 0x3c, 0xfe, 0xbf, 0xfd, 0x9c, 0xfe, 0xea, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x78, 0xff, 0xe2, 0x6, 0x97, 0x6, 0x9f, 0x0, 0xa, 0x0, 0x1f, 0x0, 0x0, 0x1, 0x22, 0x6, 0x15, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x11, 0x1, 0x11, 0x21, 0x11, 0x10, 0x2, 0x25, 0x22, 0x0, 0x11, 0x10, 0x0, 0x33, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x11, 0x2, 0xab, 0x82, 0xf2, 0x2, 0xbb, 0x87, 0xb5, 0x9a, 0x2, 0x17, 0xfe, 0x9e, 0xf4, 0xfe, 0xee, 0xc7, 0xfe, 0xc6, 0x1, 0x35, 0xfe, 0x1, 0x1f, 0xfd, 0x4c, 0x3, 0x69, 0x2, 0x18, 0x3, 0xfc, 0xc1, 0xfe, 0xdb, 0xe0, 0xdf, 0xdc, 0x1, 0xbf, 0xfc, 0x19, 0x3, 0xe7, 0xfe, 0x41, 0xfe, 0xec, 0xfe, 0xb8, 0x1, 0x1, 0x2d, 0x1, 0x2a, 0x1, 0x27, 0x1, 0x3d, 0x1, 0x58, 0xaa, 0xfd, 0xfe, 0xfb, 0x78, 0x0, 0x0, 0x0, 0x1, 0x0, 0x82, 0x0, 0x1, 0x4, 0x87, 0x6, 0x9f, 0x0, 0x19, 0x0, 0x0, 0x25, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x34, 0x36, 0x33, 0x21, 0x15, 0x21, 0x26, 0x6, 0x17, 0x15, 0x36, 0x33, 0x32, 0x0, 0x15, 0x11, 0x3, 0xca, 0xbd, 0x9a, 0xb1, 0x8c, 0xb4, 0xe5, 0xf1, 0x1, 0xbf, 0xfe, 0x15, 0x84, 0x74, 0x2, 0xa7, 0xaa, 0xfc, 0x1, 0x4, 0x1, 0x2, 0x77, 0xe2, 0xa2, 0x61, 0xfc, 0x66, 0x5, 0x9, 0xcc, 0xc9, 0xaa, 0x1, 0x58, 0xa5, 0xad, 0x50, 0xfe, 0xd2, 0xfe, 0xfd, 0x91, 0x0, 0x2, 0x0, 0x64, 0xfe, 0xa9, 0x6, 0x72, 0x6, 0xb3, 0x0, 0xb, 0x0, 0x21, 0x0, 0x0, 0x1, 0x10, 0x0, 0x23, 0x22, 0x0, 0x11, 0x10, 0x0, 0x33, 0x20, 0x0, 0x13, 0x33, 0x10, 0x21, 0x20, 0x3, 0x7, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x7, 0x16, 0x33, 0x36, 0x5, 0xb4, 0xfe, 0xad, 0xfb, 0xef, 0xfe, 0xab, 0x1, 0x5f, 0xe6, 0x1, 0x3, 0x1, 0x4a, 0xa, 0xb4, 0xfe, 0xbe, 0xfe, 0xd4, 0x19, 0x81, 0xfe, 0xbb, 0xfe, 0x3f, 0x1, 0xcb, 0x1, 0x38, 0x1, 0x39, 0x1, 0xd2, 0xfe, 0xe8, 0xbe, 0x1, 0x95, 0x8c, 0x3, 0x62, 0x1, 0x13, 0x1, 0x9f, 0xfe, 0x69, 0xfe, 0xe5, 0xfe, 0xca, 0xfe, 0x56, 0x1, 0xc9, 0xfd, 0xb5, 0xfe, 0xa9, 0x1, 0x47, 0xe, 0x2, 0x1b, 0x1, 0x65, 0x1, 0x6a, 0x1, 0xe7, 0xfe, 0x18, 0xfe, 0x96, 0xfe, 0xed, 0xfe, 0x34, 0x54, 0xf0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x32, 0xff, 0xe2, 0x5, 0xbd, 0x6, 0xb3, 0x0, 0x13, 0x0, 0x0, 0x1, 0x16, 0x0, 0x23, 0x22, 0x0, 0x35, 0x11, 0x21, 0x35, 0x21, 0x11, 0x14, 0x16, 0x33, 0x3e, 0x1, 0x35, 0x11, 0x33, 0x5, 0xbd, 0x1, 0xfe, 0xe6, 0xe4, 0xe1, 0xfe, 0xd8, 0xfe, 0x7b, 0x2, 0x39, 0xcb, 0x89, 0x8d, 0xbe, 0xb3, 0x1, 0xff, 0xe0, 0xfe, 0xc3, 0x1, 0x3d, 0xea, 0x4, 0xb, 0x9f, 0xfb, 0x52, 0xad, 0xd7, 0x1, 0xd5, 0xae, 0x4, 0xae, 0x0, 0x1, 0x0, 0x50, 0x0, 0x1, 0x4, 0x87, 0x6, 0xa0, 0x0, 0x16, 0x0, 0x0, 0x25, 0x11, 0x6, 0x23, 0x22, 0x0, 0x35, 0x34, 0x37, 0x23, 0x35, 0x21, 0x15, 0x6, 0x3, 0x1e, 0x1, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0x3, 0xd4, 0xa2, 0xad, 0xf2, 0xfe, 0xf0, 0xa5, 0xd8, 0x1, 0xd8, 0xe8, 0x1, 0x1, 0xb2, 0x93, 0x91, 0xbe, 0xb3, 0x1, 0x2, 0xca, 0x56, 0x1, 0x2d, 0xe7, 0x9f, 0xd8, 0xa0, 0x93, 0x76, 0xfe, 0xe6, 0xb9, 0xaf, 0x56, 0x3, 0x34, 0xf9, 0x62, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6e, 0xff, 0xe2, 0x6, 0xd3, 0x6, 0xa0, 0x0, 0x19, 0x0, 0x0, 0x25, 0x11, 0x21, 0x11, 0x10, 0x0, 0x23, 0x22, 0x0, 0x35, 0x10, 0x37, 0x17, 0x6, 0x15, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x21, 0x11, 0x6, 0x21, 0xfe, 0x49, 0xfe, 0xe6, 0xdc, 0xe3, 0xfe, 0xdd, 0xbc, 0x73, 0x72, 0x2, 0xc7, 0x80, 0xae, 0x94, 0xb4, 0x2, 0x69, 0x83, 0x3, 0x79, 0xfe, 0x38, 0xfe, 0xd2, 0xfe, 0xdc, 0x1, 0x2f, 0xd3, 0x1, 0x1c, 0x8f, 0x71, 0x75, 0xc5, 0x9a, 0xc8, 0xdf, 0xd3, 0x4, 0x6c, 0xfd, 0xfb, 0xfb, 0xe8, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x82, 0xff, 0xe2, 0x4, 0x89, 0x6, 0xa0, 0x0, 0x13, 0x0, 0x0, 0x1, 0x2, 0x0, 0x23, 0x20, 0x0, 0x35, 0x11, 0x33, 0x11, 0x1e, 0x1, 0x33, 0x3e, 0x1, 0x35, 0x34, 0x27, 0x37, 0x16, 0x4, 0x89, 0x2, 0xfe, 0xd0, 0xbf, 0xfe, 0xf4, 0xfe, 0xf6, 0xb3, 0x1, 0xc2, 0xa0, 0x81, 0xb1, 0x97, 0x5f, 0xf6, 0x2, 0x2a, 0xfe, 0xf5, 0xfe, 0xc3, 0x1, 0x6a, 0xeb, 0x4, 0x69, 0xfb, 0x94, 0xc5, 0xee, 0x1, 0xdd, 0xdb, 0xd1, 0x8e, 0x90, 0xc1, 0x0, 0x0, 0x2, 0x0, 0x82, 0xff, 0xff, 0x4, 0x88, 0x6, 0xb3, 0x0, 0x8, 0x0, 0x15, 0x0, 0x0, 0x1, 0x36, 0x26, 0x23, 0x21, 0x11, 0x21, 0x3e, 0x1, 0x37, 0x14, 0x0, 0x29, 0x1, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x20, 0x0, 0x3, 0xca, 0x2, 0xdb, 0x9c, 0xfe, 0xe0, 0x1, 0x20, 0x9d, 0xd9, 0xbd, 0xfe, 0xd1, 0xfe, 0xfc, 0xfe, 0xe0, 0x2, 0xc2, 0xfc, 0x8b, 0x1, 0xd3, 0x1, 0x0, 0x1, 0x33, 0x4, 0x8b, 0xbe, 0xcb, 0xfd, 0x1, 0x1, 0xb6, 0xbf, 0xda, 0xfe, 0xc4, 0xfe, 0x2b, 0xa1, 0x6, 0xb4, 0xfe, 0xc1, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x64, 0xfe, 0x8b, 0x6, 0x72, 0x6, 0xb3, 0x0, 0xb, 0x0, 0x21, 0x0, 0x0, 0x1, 0x10, 0x0, 0x23, 0x22, 0x0, 0x11, 0x10, 0x0, 0x33, 0x32, 0x0, 0x13, 0x10, 0x21, 0x35, 0x32, 0x37, 0x26, 0x27, 0x6, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x3, 0x16, 0x5, 0xb4, 0xfe, 0xb0, 0xf8, 0xfa, 0xfe, 0xb0, 0x1, 0x61, 0xe7, 0xf5, 0x1, 0x55, 0xbe, 0xfe, 0x6d, 0xe6, 0x2, 0x2, 0x7d, 0xd8, 0xfe, 0xfc, 0xfe, 0xb3, 0xfe, 0x45, 0x1, 0xc2, 0x1, 0x49, 0x1, 0x3d, 0x1, 0xc6, 0xc9, 0xc9, 0x3, 0x61, 0x1, 0x13, 0x1, 0xa0, 0xfe, 0x5d, 0xfe, 0xf1, 0xfe, 0xd3, 0xfe, 0x4d, 0x1, 0xb8, 0xfd, 0xa8, 0xfe, 0xa9, 0x9e, 0xbc, 0x76, 0x38, 0xb1, 0x2, 0x22, 0x1, 0x60, 0x1, 0x5f, 0x1, 0xf0, 0xfe, 0x12, 0xfe, 0x9c, 0xfe, 0xc8, 0xfe, 0xd8, 0x80, 0x0, 0x0, 0x0, 0x3, 0x0, 0x64, 0x0, 0x1, 0x6, 0x89, 0x6, 0xac, 0x0, 0x8, 0x0, 0x11, 0x0, 0x22, 0x0, 0x0, 0x1, 0x23, 0x11, 0x33, 0x32, 0x12, 0x37, 0x26, 0x2, 0x25, 0x23, 0x6, 0x2, 0x15, 0x14, 0x0, 0x3b, 0x1, 0x1, 0x10, 0x0, 0x21, 0x23, 0x11, 0x23, 0x11, 0x23, 0x4, 0x0, 0x10, 0x0, 0x29, 0x1, 0x20, 0x0, 0x4, 0x37, 0x62, 0x62, 0xb4, 0xdc, 0x1, 0x2, 0xd4, 0xfe, 0x36, 0x65, 0xb3, 0xee, 0x0, 0xff, 0xa2, 0x65, 0x3, 0x61, 0xfe, 0xb1, 0xfe, 0xfd, 0x62, 0xad, 0x65, 0xfe, 0xfc, 0xfe, 0xa5, 0x1, 0x5e, 0x1, 0x1, 0x1, 0x74, 0x1, 0x4, 0x1, 0x4e, 0x6, 0x17, 0xfc, 0x34, 0x1, 0x20, 0xca, 0xd2, 0x1, 0xf, 0x1, 0x2, 0xfe, 0xf1, 0xd0, 0xce, 0xfe, 0xe3, 0x1, 0xeb, 0xfe, 0xcb, 0xfe, 0xb4, 0xfe, 0x4c, 0x1, 0xb4, 0x1, 0x1, 0x4e, 0x2, 0x68, 0x1, 0x42, 0xfe, 0xc4, 0x0, 0x0, 0x1, 0x0, 0x5a, 0x0, 0x1, 0x5, 0x70, 0x6, 0xa0, 0x0, 0xf, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x4, 0xb4, 0xfe, 0x88, 0xb3, 0xfd, 0xd1, 0xbd, 0x1, 0x72, 0xb3, 0x2, 0x34, 0x2, 0x66, 0x1, 0x51, 0xfc, 0x4a, 0x3, 0xb5, 0x1, 0xd9, 0xfe, 0xd0, 0x2, 0x41, 0xfd, 0xc1, 0xfe, 0x5, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x83, 0xff, 0xe1, 0x4, 0x88, 0x6, 0xb3, 0x0, 0x11, 0x0, 0x0, 0x5, 0x23, 0x11, 0x34, 0x26, 0x7, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x26, 0x0, 0x33, 0x32, 0x0, 0x17, 0x4, 0x88, 0xb4, 0xbf, 0x8b, 0x8a, 0xcb, 0xb2, 0x1, 0x1, 0x28, 0xe1, 0xe5, 0x1, 0x17, 0x1, 0x1f, 0x4, 0xac, 0xac, 0xdc, 0x1, 0xdb, 0xac, 0xfb, 0x54, 0x4, 0xa8, 0xe9, 0x1, 0x41, 0xfe, 0xb8, 0xd8, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6e, 0x0, 0x1, 0x4, 0x75, 0x6, 0xa0, 0x0, 0x11, 0x0, 0x0, 0x25, 0x11, 0x6, 0x23, 0x22, 0x2, 0x35, 0x11, 0x33, 0x11, 0x6, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0x3, 0xc1, 0xd2, 0x90, 0xfc, 0xf5, 0xb4, 0x2, 0x96, 0xa0, 0xb8, 0xb3, 0xb4, 0x1, 0x2, 0xc2, 0x4d, 0x1, 0x12, 0xdb, 0x2, 0x3d, 0xfd, 0xc5, 0xb1, 0x9e, 0x55, 0x3, 0x35, 0xf9, 0x61, 0x0, 0x0, 0x1, 0x0, 0x78, 0xff, 0xe1, 0x4, 0x7e, 0x6, 0xa0, 0x0, 0x1f, 0x0, 0x0, 0x1, 0x14, 0x2, 0x5, 0x26, 0x24, 0x3d, 0x1, 0x33, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3d, 0x1, 0x6, 0x23, 0x22, 0x2, 0x35, 0x11, 0x33, 0x11, 0x1e, 0x1, 0x33, 0x32, 0x37, 0x11, 0x33, 0x4, 0x7e, 0xf4, 0xfe, 0xea, 0xd1, 0xfe, 0xd5, 0xbd, 0xb6, 0x87, 0x8e, 0xcb, 0xb6, 0xa9, 0xf6, 0xfe, 0xb4, 0x1, 0xa7, 0xa6, 0xa4, 0xad, 0xb3, 0x1, 0xce, 0xb8, 0xfe, 0xcd, 0x2, 0x2, 0xf0, 0xe0, 0x24, 0x21, 0x90, 0xa4, 0xa5, 0xa7, 0xfb, 0x53, 0x1, 0x39, 0xb9, 0x2, 0x38, 0xfd, 0xc8, 0x97, 0xbb, 0x58, 0x3, 0x32, 0x0, 0x0, 0x1, 0x0, 0x82, 0x0, 0x1, 0x4, 0x87, 0x6, 0x9f, 0x0, 0x11, 0x0, 0x0, 0x25, 0x11, 0x36, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x11, 0x36, 0x33, 0x32, 0x4, 0x19, 0x1, 0x3, 0xd4, 0x1, 0x99, 0xcf, 0x87, 0xb0, 0xb4, 0xb3, 0xae, 0x9c, 0xd9, 0x1, 0x2f, 0x1, 0x2, 0xab, 0x93, 0xbd, 0x30, 0xfc, 0x35, 0x6, 0x9e, 0xfd, 0xcd, 0x30, 0xff, 0xfe, 0xd8, 0xfd, 0x8c, 0x0, 0x1, 0x0, 0x79, 0xff, 0xe1, 0x6, 0x1d, 0x6, 0xb3, 0x0, 0x19, 0x0, 0x0, 0x5, 0x35, 0x6, 0x23, 0x24, 0x0, 0x11, 0x2, 0x0, 0x21, 0x4, 0x17, 0x7, 0x26, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x25, 0x16, 0x37, 0x11, 0x33, 0x11, 0x5, 0x67, 0xf6, 0xa3, 0xfe, 0x75, 0xfe, 0x36, 0x1, 0x1, 0xdf, 0x1, 0x77, 0x1, 0x5, 0xf6, 0x66, 0xdb, 0xc0, 0xfe, 0xfc, 0xfe, 0x72, 0x1, 0x80, 0x1, 0x14, 0xa0, 0xfd, 0xb6, 0x1, 0x61, 0x7f, 0x1, 0x2, 0x7, 0x1, 0x6e, 0x1, 0x87, 0x1, 0xd5, 0x2, 0xa5, 0xb0, 0xb8, 0xfe, 0x91, 0xfe, 0xb2, 0xfe, 0xd1, 0xfe, 0x58, 0x2, 0x1, 0x9e, 0x1, 0xf7, 0xfc, 0xe9, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x78, 0xff, 0xe2, 0x6, 0x7b, 0x6, 0xa0, 0x0, 0xa, 0x0, 0x1d, 0x0, 0x0, 0x1, 0x22, 0x2, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x1, 0x11, 0x21, 0x11, 0x10, 0x0, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x33, 0x11, 0x33, 0x11, 0x21, 0x11, 0x2, 0xc7, 0xc7, 0xca, 0xc7, 0x9b, 0x88, 0xa0, 0x2, 0xa, 0xfe, 0xab, 0xfe, 0xf5, 0xcf, 0xfe, 0xfb, 0xfe, 0xe2, 0x1, 0x47, 0x1, 0x8, 0xf9, 0xb5, 0x2, 0x6, 0x3, 0xfc, 0xfe, 0xf4, 0x9e, 0xda, 0xf6, 0xc7, 0xd7, 0x1, 0xdc, 0xfc, 0x17, 0x3, 0xe9, 0xfe, 0x24, 0xfe, 0xda, 0xfe, 0xe8, 0x1, 0x50, 0x1, 0x20, 0x1, 0xf, 0x1, 0x3b, 0x2, 0x4, 0xfd, 0xfc, 0xfb, 0x77, 0x0, 0x2, 0x0, 0x82, 0xff, 0xff, 0x4, 0x88, 0x6, 0x9f, 0x0, 0x8, 0x0, 0x19, 0x0, 0x0, 0x1, 0x34, 0x26, 0x23, 0x21, 0x11, 0x21, 0x3e, 0x1, 0x37, 0x14, 0x6, 0x23, 0x21, 0x15, 0x21, 0x11, 0x23, 0x35, 0x21, 0x11, 0x23, 0x11, 0x21, 0x32, 0x16, 0x3, 0xca, 0x70, 0x5d, 0xfe, 0x39, 0x1, 0xc7, 0x50, 0x7e, 0xbd, 0xd2, 0xb9, 0xfe, 0x39, 0x2, 0x1b, 0xb3, 0xfe, 0x98, 0xb4, 0x2, 0x7b, 0xb9, 0xd2, 0x5, 0x12, 0x81, 0x6d, 0xfe, 0x14, 0x2, 0x7f, 0x80, 0xaa, 0xf7, 0xff, 0xfe, 0x7b, 0xe7, 0xfe, 0x28, 0x6, 0xa0, 0xe2, 0x0, 0x0, 0x1, 0x0, 0x64, 0xff, 0xe2, 0x4, 0x98, 0x6, 0xb3, 0x0, 0x20, 0x0, 0x0, 0x1, 0x14, 0x0, 0x23, 0x20, 0x0, 0x35, 0x33, 0x6, 0x12, 0x33, 0x32, 0x36, 0x35, 0x34, 0x25, 0x24, 0x11, 0x34, 0x12, 0x33, 0x32, 0x12, 0x15, 0x23, 0x36, 0x26, 0x23, 0x22, 0x6, 0x17, 0x14, 0x0, 0x4, 0x98, 0xfe, 0xeb, 0xe4, 0xfe, 0xf4, 0xfe, 0xd1, 0xbf, 0x1, 0xcd, 0xac, 0xa4, 0x9a, 0xfe, 0x5d, 0xfe, 0x60, 0xfe, 0xd4, 0xe2, 0xee, 0xba, 0x1, 0xaa, 0x79, 0x80, 0x8a, 0x2, 0x3, 0x44, 0x1, 0xd1, 0xd3, 0xfe, 0xe4, 0x1, 0x65, 0xfc, 0xb5, 0xfe, 0xf4, 0xa9, 0x9a, 0xc8, 0xaa, 0xaa, 0x1, 0x1f, 0xa0, 0x1, 0x13, 0xfe, 0xe1, 0xd1, 0xc6, 0x8b, 0x96, 0x76, 0xce, 0xfe, 0xa2, 0x0, 0x0, 0x0, 0x1, 0x0, 0x82, 0xff, 0xff, 0x4, 0x88, 0x6, 0x9f, 0x0, 0x13, 0x0, 0x0, 0x1, 0x10, 0x0, 0x23, 0x22, 0x27, 0x11, 0x21, 0x15, 0x21, 0x11, 0x33, 0x11, 0x16, 0x33, 0x32, 0x36, 0x19, 0x1, 0x33, 0x4, 0x88, 0xfe, 0xde, 0xf0, 0xa5, 0x9b, 0x2, 0xcc, 0xfc, 0x80, 0xb4, 0x8d, 0xbe, 0x84, 0xcf, 0xb4, 0x4, 0xd2, 0xfe, 0xcc, 0xfe, 0xd8, 0x17, 0xfe, 0x1e, 0xac, 0x6, 0xa0, 0xfc, 0x8d, 0x16, 0xa0, 0x1, 0x6, 0x1, 0xe3, 0x0, 0x0, 0x2, 0x0, 0x3c, 0x0, 0x1, 0x5, 0x90, 0x6, 0x9f, 0x0, 0x2, 0x0, 0xd, 0x0, 0x0, 0x1, 0x21, 0x9, 0x1, 0x23, 0x3, 0x1, 0x23, 0x9, 0x1, 0x23, 0x35, 0x21, 0x1, 0x4, 0x7a, 0xfd, 0x9e, 0x1, 0x13, 0x1, 0xae, 0xd7, 0xeb, 0xfe, 0x6b, 0xdc, 0x2, 0x1a, 0xfe, 0x7b, 0xff, 0x5, 0x54, 0xfd, 0xef, 0x5, 0xf6, 0xfd, 0xf8, 0xfc, 0xce, 0x1, 0xf6, 0xfd, 0x4f, 0x3, 0x5f, 0x2, 0x96, 0xa9, 0xfc, 0x9c, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3c, 0xff, 0xe2, 0x6, 0x47, 0x6, 0xa0, 0x0, 0x15, 0x0, 0x0, 0x1, 0x16, 0x0, 0x23, 0x20, 0x0, 0x35, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x6, 0x47, 0x2, 0xfe, 0xd5, 0xd0, 0xfe, 0xff, 0xfe, 0xf3, 0xfe, 0xb0, 0xb4, 0x2, 0xb7, 0x2, 0xb3, 0xa8, 0x81, 0xc3, 0xb3, 0x2, 0xc, 0xf3, 0xfe, 0xc9, 0x1, 0x5a, 0xd0, 0x3, 0xf4, 0xfe, 0x89, 0x2, 0x17, 0xfb, 0x5e, 0x8b, 0xf1, 0xd1, 0xab, 0x2, 0x9e, 0x0, 0x0, 0x1, 0x0, 0x82, 0x0, 0x1, 0x4, 0x88, 0x6, 0xa0, 0x0, 0x11, 0x0, 0x0, 0x1, 0x35, 0x34, 0x26, 0x2b, 0x1, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x32, 0x16, 0x1d, 0x1, 0x33, 0x15, 0x3, 0xf, 0x58, 0x84, 0xfd, 0xb4, 0xb4, 0x1, 0x0, 0xbd, 0xd7, 0xbe, 0x2, 0x37, 0x9f, 0x9b, 0x8b, 0xfc, 0x5, 0x6, 0x9f, 0xfd, 0xfc, 0xbd, 0xa7, 0x62, 0xa0, 0x0, 0x0, 0x1, 0x0, 0x6f, 0xff, 0xe2, 0x5, 0x14, 0x6, 0xb3, 0x0, 0x21, 0x0, 0x0, 0x1, 0x10, 0x0, 0x23, 0x22, 0x0, 0x11, 0x26, 0x37, 0x17, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x12, 0x0, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x26, 0x23, 0x22, 0x7, 0x16, 0x0, 0x5, 0x14, 0xfe, 0x98, 0xf4, 0xf3, 0xfe, 0xaa, 0x1, 0xb7, 0x89, 0x81, 0xe6, 0xa8, 0xd3, 0xc7, 0x2, 0xfc, 0xfa, 0xc3, 0x7d, 0x91, 0xc3, 0xc2, 0x1, 0x91, 0x7d, 0x2, 0x2, 0x3, 0x0, 0x2, 0x35, 0xfe, 0xe7, 0xfe, 0xc6, 0x1, 0x3a, 0x1, 0x23, 0xe6, 0xc3, 0x83, 0x89, 0x9f, 0xe4, 0xd7, 0xe7, 0xcc, 0x1, 0x1c, 0x1, 0x4c, 0xf6, 0x81, 0x9f, 0x9f, 0x8e, 0x8e, 0x7d, 0xb8, 0xfe, 0xc5, 0x0, 0x1, 0x0, 0x3c, 0x0, 0x1, 0x4, 0x42, 0x6, 0xa0, 0x0, 0x11, 0x0, 0x0, 0x25, 0x11, 0x23, 0x26, 0x2, 0x3d, 0x1, 0x23, 0x35, 0x21, 0x15, 0x6, 0x16, 0x3b, 0x1, 0x11, 0x33, 0x11, 0x3, 0x8f, 0xee, 0xd6, 0xd1, 0xbe, 0x1, 0x76, 0xd, 0x5a, 0x9f, 0xf1, 0xb3, 0x1, 0x2, 0x74, 0x1, 0x1, 0x5, 0xb4, 0x14, 0x9f, 0x6d, 0x66, 0xf9, 0x3, 0x8a, 0xf9, 0x61, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6e, 0x0, 0x1, 0x4, 0x52, 0x6, 0xa0, 0x0, 0x15, 0x0, 0x0, 0x1, 0x10, 0x4, 0x7, 0x11, 0x23, 0x11, 0x26, 0x24, 0x19, 0x1, 0x33, 0x11, 0x1e, 0x1, 0x3b, 0x1, 0x3e, 0x1, 0x35, 0x11, 0x33, 0x4, 0x52, 0xfe, 0xc2, 0x4c, 0xbb, 0x5b, 0xfe, 0xbc, 0xb4, 0x1, 0xa3, 0x61, 0x83, 0x5e, 0x95, 0xb5, 0x4, 0x87, 0xfe, 0xd9, 0xe1, 0x1, 0xfd, 0x83, 0x2, 0x7d, 0x1, 0xe5, 0x1, 0x23, 0x2, 0x19, 0xfd, 0xe5, 0xc7, 0xa9, 0x1, 0xa4, 0xcb, 0x2, 0x1b, 0x0, 0x0, 0x0, 0x3, 0x0, 0x50, 0xff, 0xe1, 0x5, 0x98, 0x6, 0xb3, 0x0, 0xa, 0x0, 0x15, 0x0, 0x33, 0x0, 0x0, 0x1, 0x23, 0x22, 0x6, 0x7, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x17, 0x15, 0x33, 0x32, 0x36, 0x37, 0xe, 0x1, 0x2b, 0x1, 0x11, 0x21, 0x15, 0x21, 0x15, 0xe, 0x1, 0x7, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x3b, 0x1, 0x11, 0x21, 0x35, 0x21, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x2, 0x9c, 0xc2, 0x45, 0x85, 0x2, 0x7f, 0x48, 0x50, 0x77, 0x2, 0x3d, 0x78, 0x58, 0x63, 0x61, 0x1, 0xb3, 0x68, 0x78, 0xbf, 0x1, 0xde, 0xc0, 0xb3, 0x1, 0x5a, 0xfe, 0xa6, 0x2, 0xd6, 0x94, 0xb0, 0xda, 0xd5, 0xb5, 0xc2, 0xfe, 0x82, 0x1, 0x7e, 0x2, 0xb8, 0xa1, 0xbe, 0xe2, 0x2, 0x39, 0x5d, 0x7e, 0x7d, 0x5f, 0x68, 0x60, 0x4, 0xd, 0x64, 0x59, 0x87, 0x5a, 0xb5, 0x79, 0x64, 0x9f, 0xd3, 0xfe, 0xe7, 0x97, 0xef, 0x9c, 0xcb, 0x2, 0x2, 0xc7, 0xb2, 0x93, 0xe1, 0x1, 0x19, 0x95, 0xb5, 0xbe, 0xc2, 0xbc, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0xff, 0xe2, 0x3, 0xac, 0x4, 0xbd, 0x0, 0x11, 0x0, 0x0, 0x1, 0x10, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x10, 0x33, 0x32, 0x11, 0x26, 0x0, 0x35, 0x33, 0x16, 0x0, 0x3, 0xac, 0xfe, 0x5b, 0xfe, 0x5d, 0x26, 0xb0, 0x22, 0xf2, 0xef, 0x1, 0xfe, 0x7a, 0xbb, 0x1, 0x1, 0x7e, 0x1, 0xaa, 0xfe, 0x38, 0x1, 0xd2, 0xcf, 0xcf, 0xfe, 0xba, 0x1, 0x3c, 0xd4, 0x1, 0x6b, 0xd4, 0xa4, 0xfe, 0x96, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x64, 0xff, 0xe3, 0x3, 0xc0, 0x6, 0xb3, 0x0, 0x12, 0x0, 0x1a, 0x0, 0x0, 0x1, 0x10, 0x21, 0x20, 0x11, 0x10, 0x25, 0x37, 0x36, 0x27, 0x26, 0x35, 0x33, 0x14, 0x17, 0x16, 0xf, 0x1, 0x4, 0x3, 0x10, 0x27, 0x6, 0x11, 0x10, 0x21, 0x32, 0x3, 0xc0, 0xfe, 0x59, 0xfe, 0x4b, 0x1, 0x8b, 0x13, 0x2f, 0x93, 0x93, 0xb7, 0x81, 0x82, 0x30, 0x13, 0x1, 0x3e, 0xb4, 0xf6, 0xfe, 0x1, 0x1, 0xf3, 0x2, 0x21, 0xfd, 0xc2, 0x2, 0x3c, 0x2, 0x8, 0x41, 0x43, 0xa7, 0x69, 0x6a, 0x8e, 0x41, 0x88, 0x85, 0xb4, 0x49, 0x7b, 0xfe, 0x32, 0x1, 0xb7, 0x15, 0x14, 0xfe, 0x48, 0xfe, 0x50, 0x0, 0x0, 0x0, 0x2, 0x0, 0x5a, 0xfe, 0x1e, 0x4, 0x4c, 0x4, 0x69, 0x0, 0x18, 0x0, 0x24, 0x0, 0x0, 0x25, 0x14, 0x0, 0x23, 0x22, 0x0, 0x35, 0x10, 0x25, 0x36, 0x37, 0x34, 0x23, 0x22, 0x1f, 0x1, 0x7, 0x27, 0x10, 0x21, 0x20, 0x3, 0x14, 0x7, 0x4, 0x3, 0x34, 0x26, 0x27, 0x6, 0x2, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x4, 0x4c, 0xfe, 0xff, 0xf3, 0xe8, 0xfe, 0xea, 0x1, 0xd2, 0xab, 0x1, 0xb3, 0x9c, 0x2, 0x6, 0xa0, 0xf, 0x1, 0x45, 0x1, 0x53, 0x2, 0xa9, 0x1, 0x7d, 0xb4, 0x91, 0xa7, 0xa9, 0xaa, 0xb7, 0x91, 0x84, 0xbf, 0x2a, 0xd7, 0xfe, 0xcb, 0x1, 0x36, 0xd6, 0x1, 0xa6, 0x8d, 0x77, 0x82, 0x93, 0x86, 0x31, 0x28, 0x57, 0x1, 0x8, 0xfe, 0xe4, 0x7f, 0x82, 0xa9, 0xfe, 0x87, 0x95, 0xf6, 0x1d, 0x1c, 0xfe, 0xff, 0x89, 0xae, 0xd4, 0xd5, 0x0, 0x2, 0x0, 0x64, 0xfe, 0x28, 0x6, 0x13, 0x4, 0x61, 0x0, 0x1f, 0x0, 0x27, 0x0, 0x0, 0x1, 0x2, 0x21, 0x20, 0x11, 0x34, 0x37, 0x26, 0x23, 0x22, 0x11, 0x10, 0x5, 0x4, 0x17, 0x23, 0x26, 0x25, 0x6, 0x7, 0x27, 0x36, 0x37, 0x24, 0x11, 0x10, 0x21, 0x32, 0x17, 0x36, 0x21, 0x20, 0x3, 0x10, 0x23, 0x20, 0x11, 0x10, 0x21, 0x32, 0x6, 0x13, 0x1, 0xfe, 0x5e, 0xfe, 0x4e, 0x1c, 0x57, 0x75, 0xf6, 0x1, 0x65, 0x2, 0x2b, 0x5, 0xc7, 0xb, 0xfe, 0x68, 0x96, 0x74, 0x7a, 0x6b, 0x9c, 0xfe, 0x9e, 0x1, 0x85, 0xb3, 0x6f, 0x66, 0x0, 0xff, 0x1, 0xa3, 0xb4, 0xef, 0xfe, 0xf5, 0x1, 0xb, 0xef, 0x2, 0x50, 0xfd, 0xe3, 0x2, 0x28, 0x8e, 0x42, 0xa4, 0xfe, 0xad, 0xfe, 0xb, 0xc1, 0xca, 0xd4, 0x9e, 0x63, 0x3, 0xa2, 0x6c, 0x71, 0x2f, 0xfd, 0x1, 0xe3, 0x1, 0xec, 0xac, 0xb1, 0xfd, 0xf9, 0x1, 0x7a, 0xfe, 0x87, 0xfe, 0x62, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0xfe, 0x1d, 0x3, 0x98, 0x4, 0x60, 0x0, 0x17, 0x0, 0x0, 0x5, 0x10, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x10, 0x33, 0x32, 0x19, 0x1, 0x10, 0x23, 0x22, 0x15, 0x17, 0x23, 0x27, 0x10, 0x21, 0x20, 0x11, 0x3, 0x98, 0xfe, 0x74, 0xfe, 0x58, 0x21, 0xac, 0x19, 0xf4, 0xe2, 0xe1, 0xc8, 0x37, 0xac, 0x31, 0x1, 0x6e, 0x1, 0x8b, 0x3f, 0xfe, 0x5c, 0x1, 0xa6, 0xe1, 0xe3, 0xfe, 0xe8, 0x1, 0x16, 0x3, 0x13, 0x1, 0x2, 0xf4, 0xe2, 0xdc, 0x1, 0x86, 0xfe, 0x6f, 0x0, 0x1, 0x0, 0x64, 0xfe, 0x1d, 0x3, 0xac, 0x4, 0x60, 0x0, 0x22, 0x0, 0x0, 0x5, 0x10, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x10, 0x21, 0x16, 0x11, 0x35, 0x34, 0x27, 0x23, 0x35, 0x33, 0x36, 0x35, 0x34, 0x23, 0x22, 0x15, 0x17, 0x23, 0x27, 0x10, 0x21, 0x20, 0x11, 0x14, 0x7, 0x16, 0x15, 0x3, 0xac, 0xfe, 0x6f, 0xfe, 0x49, 0x25, 0xae, 0x20, 0x1, 0x4, 0xdd, 0xaa, 0xa6, 0x81, 0xc8, 0xeb, 0xc8, 0x16, 0xb0, 0x17, 0x1, 0x79, 0x1, 0x9f, 0xd3, 0xda, 0x3d, 0xfe, 0x5a, 0x1, 0xa0, 0xe5, 0xe5, 0xfe, 0xec, 0x2, 0x1, 0x1a, 0x86, 0xd8, 0x1a, 0x98, 0x5c, 0xd9, 0xcf, 0xbf, 0xa5, 0x9b, 0x1, 0x54, 0xfe, 0xa2, 0xd2, 0x85, 0x68, 0xfe, 0x0, 0x0, 0x0, 0x3, 0x0, 0x29, 0xff, 0xe3, 0x3, 0x9d, 0x6, 0xb4, 0x0, 0xf, 0x0, 0x17, 0x0, 0x1f, 0x0, 0x0, 0x1, 0x10, 0x21, 0x20, 0x11, 0x10, 0x37, 0x26, 0x13, 0x10, 0x25, 0x4, 0x11, 0x6, 0x7, 0x4, 0x3, 0x10, 0x7, 0x26, 0x11, 0x10, 0x33, 0x32, 0x3, 0x36, 0x23, 0x22, 0x17, 0x2, 0x17, 0x36, 0x3, 0x9d, 0xfe, 0x5c, 0xfe, 0x5a, 0xc1, 0xec, 0x1, 0x1, 0x5b, 0x1, 0x46, 0x1, 0x78, 0x1, 0x4c, 0xb4, 0xf2, 0xf1, 0xf3, 0xee, 0xbc, 0x1, 0xab, 0xb1, 0x1, 0x1, 0xaf, 0xae, 0x2, 0xd, 0xfd, 0xd6, 0x2, 0x2a, 0x1, 0x71, 0x61, 0x71, 0x1, 0xe, 0x1, 0x45, 0x11, 0x11, 0xfe, 0xac, 0xb1, 0x74, 0x44, 0xfe, 0x27, 0x1, 0xa5, 0x1, 0x1, 0xfe, 0x5c, 0xfe, 0x61, 0x4, 0xc9, 0xfa, 0xdc, 0xfe, 0xe5, 0x1, 0x1, 0x0, 0x0, 0x2, 0x0, 0x64, 0xff, 0xe3, 0x6, 0x4, 0x4, 0x60, 0x0, 0x16, 0x0, 0x1e, 0x0, 0x0, 0x13, 0x10, 0x21, 0x32, 0x17, 0x36, 0x33, 0x20, 0x11, 0x2, 0x3, 0x23, 0x0, 0x11, 0x12, 0x23, 0x22, 0x7, 0x16, 0x15, 0x2, 0x21, 0x20, 0x1, 0x10, 0x23, 0x22, 0x11, 0x10, 0x33, 0x32, 0x64, 0x1, 0xa4, 0xf5, 0x68, 0x7e, 0x92, 0x1, 0x8f, 0x2, 0xe5, 0xe0, 0x1, 0x13, 0x2, 0xe8, 0x65, 0x6f, 0x17, 0x1c, 0xfe, 0x73, 0xfe, 0x60, 0x2, 0x94, 0xf2, 0xee, 0xec, 0xf4, 0x2, 0xb, 0x2, 0x55, 0xbc, 0xb7, 0xfd, 0xec, 0xfe, 0xc0, 0xfe, 0xe6, 0x1, 0x15, 0x1, 0x40, 0x1, 0x8e, 0xba, 0x4a, 0xbd, 0xfd, 0xd4, 0x2, 0x28, 0x1, 0xca, 0xfe, 0x36, 0xfe, 0x64, 0x0, 0x1, 0x0, 0x64, 0x0, 0x0, 0x3, 0xc0, 0x4, 0x60, 0x0, 0xf, 0x0, 0x0, 0x1, 0x10, 0x3, 0x23, 0x12, 0x11, 0x10, 0x20, 0x11, 0x10, 0x13, 0x23, 0x2, 0x11, 0x10, 0x20, 0x3, 0xc0, 0x8f, 0xb7, 0x92, 0xfe, 0xc, 0x91, 0xb8, 0x8d, 0x3, 0x5c, 0x2, 0x44, 0xfe, 0xf4, 0xfe, 0xc9, 0x1, 0x20, 0x1, 0x23, 0x1, 0x90, 0xfe, 0x6d, 0xfe, 0xe0, 0xfe, 0xdf, 0x1, 0x38, 0x1, 0xf, 0x2, 0x19, 0x0, 0x0, 0x0, 0x1, 0x0, 0x5a, 0xfe, 0x1d, 0x3, 0xa5, 0x4, 0x56, 0x0, 0x1c, 0x0, 0x0, 0x5, 0x12, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x10, 0x21, 0x16, 0x11, 0x35, 0x34, 0x2b, 0x1, 0x35, 0x33, 0x24, 0x35, 0x34, 0x27, 0x33, 0x16, 0x15, 0x14, 0x7, 0x4, 0x11, 0x3, 0xa5, 0x2, 0xfe, 0x6d, 0xfe, 0x46, 0x32, 0xaa, 0x28, 0x1, 0x9, 0xda, 0xe8, 0xb4, 0x67, 0x1, 0x29, 0xb6, 0xe9, 0x79, 0xef, 0x1, 0x3, 0x3e, 0xfe, 0x5b, 0x1, 0x98, 0xef, 0xe6, 0xfe, 0xeb, 0x2, 0x1, 0x1b, 0x9d, 0xfe, 0x94, 0x46, 0xc0, 0xb3, 0xac, 0xa8, 0xb7, 0xcf, 0x61, 0x5b, 0xfe, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0xfe, 0x28, 0x8, 0x20, 0x4, 0x6a, 0x0, 0x30, 0x0, 0x0, 0x1, 0x6, 0x3, 0x23, 0x12, 0x35, 0x10, 0x23, 0x22, 0x3, 0x7, 0x23, 0x27, 0x10, 0x23, 0x22, 0x11, 0x7, 0x23, 0x27, 0x10, 0x23, 0x22, 0x11, 0x10, 0x5, 0x4, 0x13, 0x23, 0x26, 0x25, 0x4, 0x7, 0x27, 0x36, 0x37, 0x24, 0x11, 0x10, 0x21, 0x32, 0x17, 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x20, 0x8, 0x20, 0x1, 0xc7, 0xd7, 0xec, 0xdb, 0xd8, 0x2, 0xb, 0x97, 0xc, 0xca, 0xc5, 0xa, 0x96, 0xa, 0xde, 0xdb, 0x3, 0x8, 0x1, 0xb2, 0x43, 0xaf, 0x31, 0xfe, 0x43, 0xfe, 0xb0, 0x84, 0x6d, 0x82, 0xe6, 0xfd, 0xc5, 0x1, 0x8f, 0xd5, 0x5c, 0x60, 0xbc, 0xcd, 0x58, 0x5e, 0xce, 0x1, 0x8f, 0x2, 0xaa, 0xec, 0xfe, 0xf4, 0x1, 0x4, 0xf4, 0x1, 0x2b, 0xfe, 0xf9, 0xe1, 0xe1, 0x1, 0xc, 0xfe, 0xf4, 0xe1, 0xe1, 0x1, 0x7, 0xfe, 0xa3, 0xfe, 0x3e, 0xe0, 0x66, 0xfe, 0xb8, 0xe7, 0x54, 0x1e, 0x98, 0x80, 0x6f, 0x27, 0xe5, 0x1, 0xd5, 0x1, 0xe3, 0xcb, 0xd5, 0xd9, 0xcf, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x64, 0xff, 0xe2, 0x3, 0xac, 0x6, 0xb3, 0x0, 0x14, 0x0, 0x1d, 0x0, 0x0, 0x1, 0x10, 0x21, 0x20, 0x11, 0x10, 0x21, 0x16, 0x17, 0x11, 0x34, 0x23, 0x22, 0x1d, 0x1, 0x23, 0x35, 0x10, 0x21, 0x20, 0x11, 0x3, 0x26, 0x27, 0x20, 0x11, 0x10, 0x21, 0x32, 0x11, 0x3, 0xac, 0xfe, 0x6f, 0xfe, 0x49, 0x1, 0xba, 0x7f, 0x65, 0xd0, 0xd9, 0xb7, 0x1, 0x90, 0x1, 0x7a, 0xaa, 0x44, 0x96, 0xfe, 0xf0, 0x1, 0x7, 0xe3, 0x1, 0xbc, 0xfe, 0x26, 0x2, 0x3f, 0x2, 0x21, 0xb, 0x31, 0x1, 0x4e, 0xd3, 0xc8, 0x2f, 0x2f, 0x1, 0x54, 0xfe, 0xa0, 0xfe, 0x2d, 0x2c, 0xa, 0xfe, 0x6a, 0xfe, 0x4e, 0x1, 0x59, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x82, 0xff, 0xe1, 0x3, 0xca, 0x6, 0xa9, 0x0, 0x10, 0x0, 0x19, 0x0, 0x0, 0x1, 0x10, 0x21, 0x20, 0x19, 0x1, 0x10, 0x29, 0x1, 0x15, 0x21, 0x22, 0x15, 0x11, 0x36, 0x37, 0x20, 0x3, 0x10, 0x23, 0x6, 0x7, 0x11, 0x10, 0x33, 0x32, 0x3, 0xca, 0xfe, 0x52, 0xfe, 0x66, 0x1, 0x4e, 0x1, 0xa2, 0xfe, 0x30, 0x76, 0x8b, 0x92, 0x1, 0x81, 0xb4, 0xfb, 0x7b, 0x74, 0xed, 0xfd, 0x2, 0x19, 0xfd, 0xc8, 0x1, 0xf1, 0x3, 0x7b, 0x1, 0x5c, 0x92, 0x8e, 0xfe, 0x6e, 0x40, 0xb, 0xfd, 0xd7, 0x1, 0x9d, 0xa, 0x3b, 0xfe, 0x6b, 0xfe, 0x91, 0x0, 0x0, 0x1, 0x0, 0x64, 0xff, 0xff, 0x5, 0xe5, 0x4, 0x60, 0x0, 0x1c, 0x0, 0x0, 0x1, 0x12, 0x1, 0x23, 0x0, 0x11, 0x2, 0x23, 0x22, 0x11, 0x15, 0x23, 0x35, 0x10, 0x23, 0x22, 0x11, 0x2, 0x1, 0x23, 0x0, 0x11, 0x10, 0x21, 0x32, 0x17, 0x36, 0x33, 0x20, 0x5, 0xe5, 0x1, 0xfe, 0xed, 0xd1, 0x1, 0x2f, 0x1, 0xd2, 0xe7, 0xa5, 0xe7, 0xd3, 0x1, 0x1, 0x38, 0xd1, 0xfe, 0xe6, 0x1, 0x88, 0xe1, 0x57, 0x61, 0xdc, 0x1, 0x85, 0x2, 0x56, 0xfe, 0xd2, 0xfe, 0xd8, 0x1, 0x16, 0x1, 0x40, 0x1, 0x7e, 0xfe, 0xa7, 0xd2, 0xd2, 0x1, 0x59, 0xfe, 0x82, 0xfe, 0xce, 0xfe, 0xdb, 0x1, 0x24, 0x1, 0x33, 0x2, 0xa, 0xe3, 0xe3, 0x0, 0x0, 0x1, 0x0, 0x64, 0xff, 0xe2, 0x3, 0xac, 0x6, 0xa9, 0x0, 0x1c, 0x0, 0x0, 0x1, 0x10, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x10, 0x33, 0x32, 0x11, 0x10, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x34, 0x24, 0x35, 0x33, 0x14, 0x4, 0x15, 0x14, 0x7, 0x16, 0x3, 0xac, 0xfe, 0x5b, 0xfe, 0x5d, 0x12, 0xb2, 0x10, 0xef, 0xf1, 0xc7, 0xae, 0x81, 0xc2, 0x1c, 0xfe, 0xaf, 0xc1, 0x1, 0x2d, 0xb4, 0xe1, 0x2, 0x1, 0xfd, 0xe1, 0x1, 0xd9, 0xc8, 0xc6, 0xfe, 0xb1, 0x1, 0x93, 0x1, 0x6d, 0x96, 0xab, 0x9f, 0x99, 0xc2, 0x64, 0xc8, 0xa8, 0xaf, 0x48, 0x94, 0x0, 0x0, 0x1, 0x0, 0x64, 0xfe, 0x1d, 0x3, 0xab, 0x4, 0x69, 0x0, 0x18, 0x0, 0x0, 0x5, 0x12, 0x21, 0x20, 0x3, 0x37, 0x33, 0x7, 0x10, 0x33, 0x32, 0x19, 0x1, 0x5, 0x16, 0x15, 0x10, 0x5, 0x35, 0x20, 0x27, 0x36, 0x25, 0x35, 0x25, 0x3, 0xab, 0x1, 0xfe, 0x63, 0xfe, 0x57, 0x2, 0x14, 0xb4, 0x14, 0xf2, 0xf7, 0xfe, 0x64, 0xe3, 0xfe, 0x39, 0x1, 0x29, 0x1, 0x1, 0xfe, 0xd7, 0x3, 0x2a, 0x40, 0xfe, 0x5d, 0x1, 0xa2, 0x94, 0x94, 0xfe, 0xea, 0x1, 0x19, 0x3, 0xf7, 0x4f, 0x87, 0x72, 0xfe, 0xdc, 0x2, 0xa4, 0x96, 0x75, 0x47, 0x76, 0xb2, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0x0, 0x0, 0x5, 0xfa, 0x6, 0xa9, 0x0, 0x23, 0x0, 0x0, 0x1, 0x10, 0x1, 0x23, 0x0, 0x11, 0x2, 0x23, 0x22, 0x11, 0x15, 0x23, 0x35, 0x12, 0x23, 0x22, 0x11, 0x10, 0x1, 0x23, 0x0, 0x11, 0x10, 0x13, 0x12, 0x25, 0x15, 0x4, 0x1, 0x15, 0x37, 0x32, 0x17, 0x36, 0x33, 0x20, 0x5, 0xfa, 0xfe, 0xe2, 0xe5, 0x1, 0x4f, 0x2, 0xe4, 0xde, 0xa7, 0x1, 0xdc, 0xe8, 0x1, 0x50, 0xee, 0xfe, 0xea, 0xfe, 0xfe, 0x1, 0xa8, 0xfe, 0x76, 0xfe, 0xc4, 0xb6, 0xd9, 0x5b, 0x60, 0xdc, 0x1, 0x92, 0x2, 0x4b, 0xfe, 0xdb, 0xfe, 0xdb, 0x1, 0x8, 0x1, 0x42, 0x1, 0x89, 0xfe, 0x9e, 0xc3, 0xc3, 0x1, 0x62, 0xfe, 0x77, 0xfe, 0xbe, 0xfe, 0xf7, 0x1, 0x2b, 0x1, 0x20, 0x1, 0x8d, 0x1, 0x49, 0x1, 0x48, 0x40, 0xa7, 0x17, 0xfe, 0x51, 0x29, 0x4d, 0xfd, 0xfd, 0x0, 0x0, 0x1, 0x0, 0x82, 0xff, 0xe2, 0x3, 0xca, 0x6, 0x9e, 0x0, 0x13, 0x0, 0x0, 0x1, 0x10, 0x21, 0x20, 0x19, 0x1, 0x33, 0x11, 0x10, 0x21, 0x32, 0x11, 0x36, 0x2, 0x35, 0x37, 0x33, 0x7, 0x14, 0x12, 0x3, 0xca, 0xfe, 0x66, 0xfe, 0x52, 0xaa, 0x1, 0x4, 0xe6, 0x1, 0xc8, 0x6, 0xb6, 0x1b, 0xda, 0x1, 0xe3, 0xfd, 0xff, 0x2, 0x10, 0x4, 0xac, 0xfb, 0x54, 0xfe, 0x7c, 0x1, 0x75, 0xa9, 0x1, 0x10, 0x7f, 0xaa, 0xa4, 0x5d, 0xfe, 0xcc, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x5a, 0xfe, 0x1d, 0x4, 0xe2, 0x5, 0x70, 0x0, 0xc, 0x0, 0x19, 0x0, 0x0, 0x13, 0x10, 0x25, 0x3, 0x33, 0x3, 0x4, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x2, 0x12, 0x33, 0x32, 0x12, 0x11, 0x10, 0x25, 0x13, 0x23, 0x13, 0x4, 0x5a, 0x2, 0x5, 0x17, 0xb2, 0x17, 0x1, 0xff, 0xfe, 0xc5, 0xfe, 0xfb, 0xfe, 0xf8, 0xfe, 0xc0, 0xb4, 0x1, 0xdc, 0xb8, 0xad, 0xe6, 0xfe, 0xaf, 0x17, 0xb1, 0x16, 0xfe, 0xaf, 0x1, 0x3a, 0x2, 0xc8, 0x5f, 0x1, 0xf, 0xfe, 0xed, 0x5c, 0xfd, 0x32, 0xfe, 0xc1, 0xfe, 0x29, 0x1, 0xd2, 0x1, 0x4b, 0xfe, 0xd2, 0xfe, 0x9d, 0x1, 0x5b, 0x1, 0x36, 0x2, 0x30, 0x92, 0xfd, 0x81, 0x2, 0x7e, 0x90, 0x0, 0x0, 0x1, 0x0, 0xa, 0xfe, 0x1d, 0x3, 0xb6, 0x4, 0x92, 0x0, 0x20, 0x0, 0x0, 0x5, 0x10, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x10, 0x21, 0x32, 0x19, 0x1, 0x26, 0x23, 0x22, 0x15, 0x3, 0x23, 0x3, 0x34, 0x2b, 0x1, 0x27, 0x37, 0x17, 0x33, 0x32, 0x17, 0x36, 0x33, 0x20, 0x11, 0x3, 0xb6, 0xfe, 0x6e, 0xfe, 0x47, 0x19, 0xb2, 0x17, 0x1, 0x5, 0xe8, 0x2, 0x87, 0x7b, 0xa, 0x8f, 0xa, 0x9c, 0x52, 0x6d, 0x14, 0x57, 0x50, 0x8f, 0x4f, 0x43, 0xa0, 0x1, 0x30, 0x40, 0xfe, 0x5d, 0x1, 0xa3, 0xe3, 0xe3, 0xfe, 0xe9, 0x1, 0x17, 0x3, 0x67, 0xb6, 0x8c, 0xfe, 0xa5, 0x1, 0x5b, 0x78, 0x28, 0xa1, 0x32, 0xbb, 0xbb, 0xfe, 0xc7, 0x0, 0x2, 0x0, 0x64, 0xfe, 0x1d, 0x6, 0x21, 0x4, 0x60, 0x0, 0x32, 0x0, 0x3a, 0x0, 0x0, 0x13, 0x10, 0x21, 0x20, 0x17, 0x36, 0x33, 0x20, 0x3, 0x14, 0x7, 0x16, 0x1d, 0x1, 0x6, 0x4, 0x21, 0x20, 0x24, 0x3d, 0x1, 0x34, 0x36, 0x16, 0x1d, 0x1, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3d, 0x1, 0x34, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x27, 0x10, 0x23, 0x22, 0x7, 0x1e, 0x1, 0x15, 0x10, 0x21, 0x20, 0x1, 0x10, 0x23, 0x22, 0x11, 0x10, 0x33, 0x32, 0x64, 0x1, 0xa1, 0x1, 0x3, 0x5d, 0x78, 0xbc, 0x1, 0x89, 0x1, 0xfb, 0xdf, 0x1, 0xfe, 0xd8, 0xfe, 0xea, 0xfe, 0xe2, 0xfe, 0xe8, 0x63, 0x64, 0x99, 0xd6, 0xeb, 0xa0, 0xb7, 0x50, 0x1b, 0x53, 0xb9, 0x3, 0xd4, 0x9f, 0x61, 0xa, 0xa, 0xfe, 0x5d, 0xfe, 0x59, 0x2, 0x96, 0xf5, 0xed, 0xed, 0xf5, 0x2, 0x65, 0x1, 0xfb, 0xc6, 0xc1, 0xfe, 0x52, 0xfa, 0xa3, 0x6a, 0x98, 0x5c, 0xb4, 0xe1, 0xbc, 0x77, 0x1d, 0x1f, 0x43, 0x44, 0x1e, 0x1d, 0x34, 0x73, 0x9a, 0x6f, 0x58, 0xa7, 0x97, 0xb5, 0x9b, 0x1, 0x37, 0xae, 0x3c, 0x5c, 0x22, 0xfe, 0x17, 0x1, 0xe5, 0x1, 0x71, 0xfe, 0x91, 0xfe, 0xa6, 0x0, 0x1, 0x0, 0x64, 0xfe, 0x1d, 0x3, 0x98, 0x6, 0x9f, 0x0, 0x19, 0x0, 0x0, 0x5, 0x10, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x10, 0x33, 0x32, 0x19, 0x1, 0x26, 0x27, 0x22, 0x15, 0x17, 0x23, 0x27, 0x10, 0x21, 0x16, 0x17, 0x11, 0x33, 0x3, 0x98, 0xfe, 0x77, 0xfe, 0x55, 0x21, 0xb6, 0x23, 0xf7, 0xdf, 0x67, 0xad, 0xa4, 0x32, 0xb1, 0x2a, 0x1, 0x3e, 0xa7, 0x7c, 0xaa, 0x3f, 0xfe, 0x5c, 0x1, 0xa4, 0xe1, 0xe1, 0xfe, 0xe8, 0x1, 0x18, 0x3, 0xbe, 0x4b, 0xb, 0xc9, 0xf6, 0xce, 0x1, 0x7c, 0xa, 0x50, 0x2, 0x99, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0xfe, 0x29, 0x5, 0xe6, 0x4, 0x5f, 0x0, 0x25, 0x0, 0x0, 0x5, 0x36, 0x37, 0x0, 0x11, 0x10, 0x21, 0x32, 0x17, 0x36, 0x33, 0x20, 0x11, 0x14, 0x7, 0x23, 0x12, 0x35, 0x2, 0x23, 0x22, 0x11, 0x7, 0x23, 0x27, 0x10, 0x23, 0x22, 0x11, 0x10, 0x5, 0x4, 0x15, 0x23, 0x34, 0x27, 0x26, 0x7, 0x1, 0x10, 0x50, 0xb3, 0xfe, 0x51, 0x1, 0x8c, 0xd8, 0x60, 0x5b, 0xca, 0x1, 0x99, 0xa8, 0xc9, 0xc0, 0x2, 0xe0, 0xdb, 0x3, 0x9e, 0x5, 0xe0, 0xda, 0x2, 0x2, 0x1, 0x6e, 0xb3, 0xe6, 0xbf, 0xc2, 0xb3, 0x3c, 0x35, 0x1, 0x29, 0x1, 0x95, 0x1, 0xe3, 0xe7, 0xe7, 0xfe, 0x35, 0xd9, 0xfa, 0x1, 0x3, 0xd0, 0x1, 0x41, 0xfe, 0xe9, 0xc4, 0xc4, 0x1, 0x17, 0xfe, 0xa7, 0xfe, 0x29, 0xe1, 0xaa, 0xf1, 0xa7, 0x71, 0x2b, 0xad, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0xfe, 0x1d, 0x3, 0xac, 0x4, 0x4e, 0x0, 0x1b, 0x0, 0x0, 0x5, 0x10, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x10, 0x33, 0x32, 0x19, 0x1, 0x6, 0x7, 0x20, 0x11, 0x34, 0x37, 0x33, 0x6, 0x15, 0x10, 0x33, 0x36, 0x37, 0x11, 0x33, 0x3, 0xac, 0xfe, 0x67, 0xfe, 0x51, 0x12, 0xb8, 0x16, 0xfd, 0xed, 0x7c, 0x80, 0xfe, 0x7a, 0xaf, 0xcf, 0xcb, 0xd3, 0x91, 0x6b, 0xaa, 0x42, 0xfe, 0x5f, 0x1, 0xa0, 0x96, 0x93, 0xfe, 0xe9, 0x1, 0x19, 0x1, 0x76, 0x3f, 0xa, 0x1, 0xad, 0xdc, 0xd6, 0xe0, 0xd2, 0xfe, 0xde, 0xb, 0x3e, 0x2, 0x8a, 0x0, 0x0, 0x2, 0x0, 0x3c, 0xff, 0xe2, 0x3, 0xa2, 0x6, 0xb3, 0x0, 0x1e, 0x0, 0x28, 0x0, 0x0, 0x1, 0x10, 0x21, 0x20, 0x11, 0x10, 0x21, 0x16, 0x17, 0x11, 0x34, 0x23, 0x22, 0x1d, 0x1, 0x14, 0x6, 0x26, 0x3d, 0x1, 0x36, 0x23, 0x7, 0x35, 0x33, 0x32, 0x17, 0x36, 0x33, 0x20, 0x11, 0x3, 0x11, 0x2e, 0x1, 0x27, 0x22, 0x11, 0x10, 0x33, 0x32, 0x3, 0xa2, 0xfe, 0x83, 0xfe, 0x35, 0x1, 0xa2, 0x87, 0x7a, 0xa4, 0x80, 0x47, 0x4e, 0x1, 0x7e, 0x8b, 0x86, 0x5a, 0x58, 0x52, 0xa4, 0x1, 0x38, 0xaa, 0x36, 0x7a, 0x48, 0xf2, 0xfe, 0xec, 0x1, 0xa9, 0xfe, 0x39, 0x2, 0x21, 0x2, 0x3f, 0xa, 0x2c, 0x1, 0x99, 0x8c, 0x96, 0x56, 0x35, 0x27, 0x27, 0x35, 0x58, 0x80, 0x34, 0xca, 0xb8, 0xb8, 0xfe, 0xee, 0xfb, 0xe4, 0x2, 0x6, 0x11, 0x15, 0x5, 0xfe, 0x4d, 0xfe, 0x6b, 0x0, 0x0, 0x0, 0x1, 0x0, 0x82, 0x0, 0x0, 0x3, 0xca, 0x6, 0xb3, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x37, 0x34, 0x23, 0x22, 0x15, 0x11, 0x36, 0x33, 0x20, 0x11, 0x10, 0x3, 0x23, 0x12, 0x11, 0x10, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x10, 0x21, 0x20, 0x15, 0x7, 0x2, 0x5a, 0x16, 0xa0, 0xa4, 0x94, 0x74, 0x1, 0x96, 0xad, 0xd3, 0xcb, 0xef, 0x84, 0x76, 0xaa, 0x1, 0x4e, 0x1, 0x41, 0x11, 0x5, 0x25, 0x98, 0x74, 0xcf, 0xfe, 0x99, 0x47, 0xfe, 0x34, 0xfe, 0xdb, 0xfe, 0xb0, 0x1, 0x53, 0x1, 0x1e, 0x1, 0x44, 0x39, 0xfc, 0x83, 0x5, 0x53, 0x1, 0x60, 0xf5, 0x99, 0x0, 0x1, 0x0, 0x5a, 0xfe, 0x1d, 0x4, 0x38, 0x4, 0x41, 0x0, 0x20, 0x0, 0x0, 0x1, 0x14, 0x7, 0x16, 0x11, 0x2, 0x21, 0x20, 0x11, 0x35, 0x10, 0x13, 0x33, 0x2, 0x11, 0x15, 0x10, 0x21, 0x20, 0x11, 0x2, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x27, 0x36, 0x26, 0x27, 0x33, 0x1e, 0x1, 0x4, 0x1a, 0xc7, 0xe5, 0x1, 0xfe, 0x14, 0xfe, 0xf, 0x74, 0xbb, 0x7b, 0x1, 0x3e, 0x1, 0x40, 0x2, 0xd7, 0xad, 0xa6, 0xc7, 0x2, 0x2, 0xd7, 0xa, 0xba, 0xa, 0xc4, 0x2, 0xab, 0xa7, 0x60, 0x57, 0xfe, 0xcc, 0xfe, 0x4, 0x3, 0x1e, 0xa3, 0x1, 0x28, 0x1, 0x3b, 0xfe, 0xcc, 0xfe, 0xc6, 0x98, 0xfd, 0x6e, 0x1, 0x6c, 0x1, 0x3d, 0x87, 0xce, 0x57, 0x8d, 0xb6, 0x84, 0x95, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x64, 0xff, 0xe3, 0x3, 0xab, 0x6, 0x9f, 0x0, 0xa, 0x0, 0x13, 0x0, 0x0, 0x1, 0x12, 0x21, 0x20, 0x11, 0x10, 0x21, 0x36, 0x17, 0x11, 0x33, 0x3, 0x11, 0x26, 0x23, 0x22, 0x11, 0x10, 0x33, 0x32, 0x3, 0xab, 0x1, 0xfe, 0x5b, 0xfe, 0x5d, 0x1, 0xa3, 0x5c, 0x9f, 0xa9, 0xa9, 0x84, 0x78, 0xee, 0xef, 0xfb, 0x1, 0xf7, 0xfd, 0xec, 0x2, 0x34, 0x2, 0x2b, 0x1, 0x47, 0x2, 0xa3, 0xfb, 0x2e, 0x1, 0xa7, 0x42, 0xfe, 0x61, 0xfe, 0x58, 0x0, 0x0, 0x2, 0x0, 0x83, 0xff, 0xe2, 0x3, 0xe8, 0x6, 0xb3, 0x0, 0x1e, 0x0, 0x27, 0x0, 0x0, 0x13, 0x2, 0x21, 0x32, 0x17, 0x36, 0x3b, 0x1, 0x15, 0x27, 0x22, 0x17, 0x15, 0x14, 0x6, 0x26, 0x3d, 0x1, 0x34, 0x23, 0x22, 0x15, 0x11, 0x36, 0x33, 0x20, 0x11, 0x10, 0x21, 0x20, 0x11, 0x17, 0x10, 0x33, 0x20, 0x11, 0x10, 0x23, 0x26, 0x7, 0x83, 0x1, 0x1, 0x39, 0xa4, 0x52, 0x58, 0x5a, 0x85, 0x8a, 0x7e, 0x1, 0x4e, 0x47, 0x80, 0x9f, 0x7f, 0x7d, 0x1, 0xa2, 0xfe, 0x2b, 0xfe, 0x8d, 0xaa, 0xe2, 0x1, 0x8, 0xf2, 0x7f, 0x79, 0x5, 0xa1, 0x1, 0x12, 0xb8, 0xb8, 0xca, 0x34, 0x80, 0x58, 0x35, 0x27, 0x28, 0x34, 0x56, 0x96, 0x96, 0xfe, 0x60, 0x47, 0xfd, 0xd5, 0xfd, 0xcb, 0x1, 0xf9, 0x24, 0xfe, 0xb7, 0x1, 0xa9, 0x1, 0x9f, 0x1, 0x3e, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0xfe, 0x1d, 0x3, 0xc5, 0x6, 0x9e, 0x0, 0x25, 0x0, 0x0, 0x1, 0x33, 0x11, 0x21, 0x15, 0x21, 0x15, 0x16, 0x0, 0x15, 0x10, 0x21, 0x20, 0x3, 0x37, 0x33, 0x7, 0x10, 0x33, 0x32, 0x13, 0x34, 0x0, 0x3, 0x35, 0x23, 0x22, 0x15, 0x14, 0x3b, 0x1, 0x15, 0x23, 0x4, 0x11, 0x10, 0x21, 0x33, 0x2, 0xa, 0xa8, 0x1, 0x13, 0xfe, 0xed, 0x2, 0x1, 0xc, 0xfe, 0x5e, 0xfe, 0x5b, 0x1, 0x20, 0xaf, 0x1b, 0xf2, 0xee, 0x1, 0xff, 0x0, 0x3, 0x56, 0xbe, 0x9a, 0x2f, 0x2f, 0xfe, 0xd4, 0x1, 0x55, 0x51, 0x6, 0x9e, 0xfd, 0xa4, 0x82, 0x4b, 0xfa, 0xfe, 0x11, 0xce, 0xfe, 0x5f, 0x1, 0xa1, 0xe5, 0xef, 0xfe, 0xf5, 0x1, 0x18, 0xa6, 0x2, 0xc, 0x1, 0x2, 0x4b, 0xb7, 0xa6, 0x86, 0x1, 0x1, 0x2b, 0x1, 0x3b, 0x0, 0x2, 0x0, 0x82, 0xff, 0xe2, 0x3, 0xca, 0x6, 0x9e, 0x0, 0xa, 0x0, 0x13, 0x0, 0x0, 0x1, 0x10, 0x21, 0x20, 0x19, 0x1, 0x33, 0x11, 0x36, 0x33, 0x20, 0x3, 0x10, 0x23, 0x22, 0x7, 0x11, 0x10, 0x33, 0x32, 0x3, 0xca, 0xfe, 0x62, 0xfe, 0x56, 0xaa, 0x89, 0x7f, 0x1, 0x96, 0xb4, 0xef, 0x60, 0x9b, 0xfe, 0xec, 0x2, 0x28, 0xfd, 0xba, 0x2, 0x2f, 0x4, 0x8d, 0xfd, 0x83, 0x3f, 0xfd, 0xc8, 0x1, 0xac, 0x3b, 0xfe, 0x4c, 0xfe, 0x89, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x14, 0xfe, 0x1e, 0x3, 0x8e, 0x4, 0x93, 0x0, 0x23, 0x0, 0x0, 0x1, 0x7, 0x25, 0x3, 0x4, 0x17, 0x6, 0x4, 0x23, 0x35, 0x32, 0x36, 0x35, 0x26, 0x2f, 0x1, 0x13, 0x25, 0x37, 0x5, 0x37, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0xf, 0x1, 0x3, 0x8e, 0x51, 0xfe, 0xe8, 0x8f, 0x1, 0x9, 0x1, 0x1, 0xfe, 0xb3, 0xee, 0xa0, 0xe6, 0x1, 0xc0, 0x73, 0xd6, 0xfe, 0x88, 0x51, 0x1, 0x66, 0x56, 0x13, 0x3f, 0x4c, 0x45, 0x44, 0x91, 0x4f, 0x52, 0x23, 0x5c, 0x1, 0xd5, 0x80, 0xb0, 0xfe, 0xd2, 0x78, 0xb5, 0xbc, 0xd0, 0x96, 0x73, 0x70, 0x98, 0x32, 0x45, 0x1, 0xa0, 0xba, 0x8c, 0xc2, 0x9a, 0x22, 0x25, 0x2d, 0x34, 0x87, 0x2e, 0x2d, 0x8c, 0x55, 0x41, 0x9c, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0xff, 0xe2, 0x3, 0xac, 0x6, 0xb3, 0x0, 0x27, 0x0, 0x0, 0x1, 0x10, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x10, 0x33, 0x32, 0x11, 0x34, 0x27, 0x23, 0x35, 0x33, 0x32, 0x35, 0x36, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x34, 0x24, 0x35, 0x33, 0x14, 0x4, 0x15, 0x14, 0x7, 0x16, 0x15, 0x14, 0x7, 0x16, 0x3, 0xac, 0xfe, 0x61, 0xfe, 0x57, 0x28, 0xb4, 0x28, 0xef, 0xf1, 0x71, 0xa3, 0xa3, 0x65, 0x2, 0x67, 0xa3, 0xa2, 0x5a, 0x2, 0xfe, 0x82, 0xa7, 0x1, 0x81, 0xa3, 0xb7, 0xb1, 0xbd, 0x1, 0x81, 0xfe, 0x61, 0x1, 0xb3, 0x94, 0x94, 0xfe, 0xd9, 0x1, 0xb, 0xdc, 0x2, 0x82, 0x9c, 0x80, 0x85, 0x92, 0x6d, 0x95, 0xa5, 0x56, 0x8a, 0xb7, 0xa0, 0x3d, 0x45, 0x88, 0x91, 0x48, 0x71, 0x0, 0x1, 0x0, 0x78, 0xff, 0xe2, 0x3, 0xc0, 0x6, 0xb3, 0x0, 0x27, 0x0, 0x0, 0x1, 0x10, 0x21, 0x20, 0x19, 0x1, 0x33, 0x11, 0x10, 0x33, 0x32, 0x11, 0x34, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x35, 0x36, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x34, 0x26, 0x35, 0x33, 0x14, 0x16, 0x17, 0x14, 0x7, 0x16, 0x15, 0x14, 0x7, 0x16, 0x3, 0xc0, 0xfe, 0x5b, 0xfe, 0x5d, 0xaa, 0xf3, 0xf7, 0x77, 0xb7, 0xb7, 0x6f, 0x2, 0x71, 0xb7, 0xb6, 0x64, 0x2, 0xfc, 0xba, 0xef, 0x4, 0xad, 0xb7, 0xb1, 0xbc, 0x1, 0x81, 0xfe, 0x61, 0x1, 0xef, 0x4, 0xb8, 0xfb, 0x48, 0xfe, 0x9d, 0x1, 0xb, 0xe3, 0x78, 0x97, 0x8f, 0x7b, 0xbf, 0x6d, 0x51, 0xc1, 0x88, 0x59, 0xa2, 0xb3, 0x3e, 0x45, 0x92, 0x87, 0x48, 0x71, 0x0, 0x0, 0x0, 0x2, 0x0, 0x64, 0xfe, 0xe0, 0x3, 0xaa, 0x4, 0x60, 0x0, 0x11, 0x0, 0x19, 0x0, 0x0, 0x17, 0x32, 0x37, 0x24, 0x11, 0x10, 0x21, 0x20, 0x11, 0x12, 0x5, 0x16, 0x33, 0x15, 0x26, 0x27, 0x6, 0x7, 0x13, 0x10, 0x17, 0x36, 0x11, 0x10, 0x23, 0x22, 0x8d, 0x97, 0x46, 0xfe, 0xfa, 0x1, 0xa6, 0x1, 0xa0, 0x2, 0xfe, 0xed, 0x52, 0x91, 0xe1, 0x91, 0x9e, 0xdf, 0x8b, 0xf2, 0xec, 0xee, 0xf0, 0x54, 0x73, 0xb2, 0x1, 0x5f, 0x2, 0x30, 0xfd, 0xd0, 0xfe, 0xa2, 0xb3, 0x73, 0xcc, 0x49, 0xd1, 0xcf, 0x4b, 0x3, 0x53, 0xfe, 0x9d, 0x7a, 0x79, 0x1, 0x64, 0x1, 0xa1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0xfe, 0x1d, 0x3, 0xac, 0x4, 0x5f, 0x0, 0x1d, 0x0, 0x0, 0x5, 0x10, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x12, 0x33, 0x32, 0x11, 0x35, 0x10, 0x7, 0x23, 0x35, 0x33, 0x24, 0x3d, 0x1, 0x5, 0x15, 0x23, 0x11, 0x25, 0x10, 0x5, 0x4, 0x11, 0x3, 0xac, 0xfe, 0x59, 0xfe, 0x5f, 0x1f, 0xbb, 0x27, 0x1, 0xf2, 0xef, 0xdd, 0xb5, 0x6f, 0x1, 0x23, 0xfe, 0x42, 0xae, 0x3, 0x1f, 0xfe, 0xda, 0x1, 0x26, 0x3d, 0xfe, 0x5a, 0x1, 0xa4, 0xe2, 0xdd, 0xfe, 0xe3, 0x1, 0x1f, 0xa4, 0x1, 0x1e, 0x2, 0x83, 0x5a, 0xf4, 0x79, 0x13, 0xf4, 0x1, 0x75, 0x1f, 0xfd, 0xd3, 0x3f, 0x80, 0xfe, 0xf4, 0x0, 0x1, 0x0, 0x64, 0xfe, 0x1d, 0x3, 0xab, 0x6, 0xb3, 0x0, 0x25, 0x0, 0x0, 0x5, 0x10, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x10, 0x33, 0x32, 0x11, 0x35, 0x34, 0x2b, 0x1, 0x35, 0x33, 0x24, 0x11, 0x6, 0x23, 0x24, 0x11, 0x10, 0x21, 0x15, 0x20, 0x15, 0x14, 0x37, 0x32, 0x37, 0x11, 0x12, 0x5, 0x4, 0x15, 0x3, 0xab, 0xfe, 0x5f, 0xfe, 0x5a, 0x20, 0xb4, 0x20, 0xf2, 0xec, 0xf2, 0x9d, 0x43, 0x1, 0x4d, 0x5c, 0x8e, 0xfe, 0x57, 0x1, 0xa9, 0xff, 0x0, 0xfd, 0xc4, 0xdd, 0x1, 0xfe, 0xe4, 0x1, 0x1b, 0x41, 0xfe, 0x5e, 0x1, 0xa8, 0xde, 0xe2, 0xfe, 0xdd, 0x1, 0x21, 0xd1, 0xfd, 0x8a, 0x11, 0x1, 0xb5, 0x29, 0x2, 0x1, 0x87, 0x1, 0x76, 0x84, 0xf2, 0xfc, 0x1, 0xb0, 0xfe, 0xe5, 0xfe, 0x80, 0x54, 0x77, 0xfc, 0x0, 0x0, 0x3, 0x0, 0x64, 0xff, 0xe2, 0x4, 0x1f, 0x6, 0xb3, 0x0, 0x17, 0x0, 0x1f, 0x0, 0x27, 0x0, 0x0, 0x1, 0x15, 0x10, 0x21, 0x20, 0x11, 0x10, 0x25, 0x21, 0x11, 0x21, 0x20, 0x11, 0x10, 0x21, 0x20, 0x11, 0x15, 0x33, 0x15, 0x23, 0x11, 0x33, 0x15, 0x5, 0x21, 0x22, 0x15, 0x14, 0x33, 0x32, 0x35, 0x1, 0x14, 0x33, 0x21, 0x35, 0x34, 0x23, 0x22, 0x3, 0xad, 0xfe, 0x59, 0xfe, 0x5e, 0x1, 0x9f, 0x1, 0xa, 0xfe, 0xf6, 0xfe, 0x61, 0x1, 0xa6, 0x1, 0xa3, 0x72, 0x72, 0x72, 0xfe, 0xe9, 0xfe, 0xfb, 0xeb, 0xf6, 0xfa, 0xfe, 0x10, 0xeb, 0x1, 0x5, 0xfa, 0xf6, 0x2, 0x36, 0xee, 0xfe, 0x9a, 0x1, 0x66, 0x1, 0x77, 0x1, 0x1, 0x13, 0x1, 0x77, 0x1, 0x69, 0xfe, 0x97, 0xef, 0x88, 0xfe, 0xed, 0x8a, 0x1, 0xe6, 0xe2, 0xed, 0x3, 0xee, 0xed, 0xef, 0xdd, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x64, 0xfe, 0x1d, 0x6, 0x39, 0x4, 0x60, 0x0, 0x1b, 0x0, 0x24, 0x0, 0x0, 0x1, 0x12, 0x21, 0x22, 0x27, 0x15, 0x10, 0x21, 0x35, 0x32, 0x35, 0x11, 0x10, 0x23, 0x22, 0x11, 0x10, 0x21, 0x15, 0x24, 0x11, 0x10, 0x21, 0x32, 0x17, 0x36, 0x33, 0x20, 0x3, 0x10, 0x23, 0x22, 0x11, 0x15, 0x10, 0x37, 0x32, 0x6, 0x39, 0x2, 0xfe, 0x59, 0x88, 0x60, 0xfe, 0x5e, 0xf8, 0xf8, 0xf2, 0x1, 0x4, 0xfe, 0x48, 0x1, 0xa6, 0xe7, 0x5d, 0x59, 0xed, 0x1, 0xa7, 0xb5, 0xf7, 0xe3, 0xe8, 0xf2, 0x2, 0x27, 0xfd, 0xbb, 0x88, 0xc7, 0xfe, 0x7a, 0x8c, 0xf8, 0x2, 0x93, 0x1, 0xa1, 0xfe, 0x53, 0xfe, 0x65, 0x8a, 0x3, 0x2, 0x22, 0x2, 0x38, 0xec, 0xec, 0xfd, 0xc7, 0x1, 0xae, 0xfe, 0xc5, 0xe7, 0xfe, 0xb9, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x5a, 0xfe, 0x1d, 0x4, 0x10, 0x4, 0x60, 0x0, 0x1f, 0x0, 0x0, 0x5, 0x10, 0x21, 0x20, 0x11, 0x10, 0x25, 0x24, 0x35, 0x34, 0x23, 0x22, 0x7, 0x17, 0x23, 0x27, 0x10, 0x21, 0x20, 0x13, 0x14, 0x5, 0x4, 0x15, 0x10, 0x21, 0x20, 0x11, 0x34, 0x27, 0x33, 0x16, 0x4, 0x10, 0xfe, 0x14, 0xfe, 0x36, 0x1, 0x37, 0x1, 0x36, 0x9f, 0xbf, 0x2, 0x5, 0x9c, 0xa, 0x1, 0x62, 0x1, 0x4f, 0x2, 0xfe, 0xcb, 0xfe, 0xca, 0x1, 0x1a, 0x1, 0x34, 0x60, 0xbe, 0x56, 0x19, 0xfe, 0x36, 0x1, 0xca, 0x1, 0x39, 0xbc, 0xbd, 0x8d, 0xaf, 0xaa, 0x3c, 0x2f, 0x1, 0x42, 0xfe, 0xcf, 0xde, 0xb9, 0xb8, 0xf0, 0xfe, 0xb9, 0x1, 0x4c, 0x81, 0x98, 0x9e, 0x0, 0x0, 0x1, 0x0, 0x64, 0xfe, 0x1d, 0x3, 0xac, 0x4, 0x4e, 0x0, 0x1b, 0x0, 0x0, 0x13, 0x33, 0x11, 0x16, 0x17, 0x32, 0x11, 0x34, 0x27, 0x33, 0x16, 0x15, 0x10, 0x21, 0x22, 0x27, 0x11, 0x10, 0x33, 0x32, 0x11, 0x27, 0x33, 0x17, 0x10, 0x21, 0x20, 0x11, 0x64, 0xaa, 0x6c, 0x90, 0xd3, 0xdf, 0xd9, 0xb9, 0xfe, 0x7a, 0x82, 0x7a, 0xfb, 0xef, 0x1d, 0xb4, 0x1d, 0xfe, 0x5f, 0xfe, 0x59, 0x4, 0x4d, 0xfd, 0x6c, 0x3e, 0x1, 0x1, 0x22, 0xb5, 0xfd, 0xd7, 0xdb, 0xfe, 0x53, 0x2b, 0xfe, 0xae, 0xfe, 0xe1, 0x1, 0x1b, 0x8d, 0x90, 0xfe, 0x5c, 0x1, 0xa7, 0x0, 0x0, 0x0, 0x2, 0x0, 0x50, 0xfe, 0x1d, 0x4, 0x42, 0x4, 0x68, 0x0, 0x18, 0x0, 0x24, 0x0, 0x0, 0x13, 0x34, 0x12, 0x33, 0x20, 0x12, 0x15, 0x10, 0x5, 0x6, 0x7, 0x14, 0x33, 0x32, 0x2f, 0x1, 0x37, 0x17, 0x10, 0x21, 0x20, 0x13, 0x34, 0x37, 0x24, 0x13, 0x14, 0x12, 0x33, 0x32, 0x12, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x50, 0xf5, 0xfd, 0x1, 0x8, 0xf8, 0xfe, 0x4, 0x83, 0x1, 0xb3, 0x9c, 0x2, 0x6, 0xa0, 0xf, 0xfe, 0xbb, 0xfe, 0xad, 0x2, 0x95, 0xfe, 0x99, 0xb4, 0x93, 0xa8, 0xc2, 0x8e, 0x98, 0xb2, 0x8d, 0xb4, 0x2, 0x48, 0xe3, 0x1, 0x3d, 0xfe, 0xbe, 0xde, 0xfe, 0x46, 0x65, 0x77, 0x82, 0x93, 0x86, 0x31, 0x28, 0x57, 0xfe, 0xf8, 0x1, 0x1c, 0x7e, 0x83, 0xaa, 0x1, 0x64, 0x80, 0xfe, 0xf6, 0x1, 0x9, 0x7f, 0xba, 0xdc, 0xdd, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0xff, 0x63, 0x3, 0xac, 0x4, 0x61, 0x0, 0x1b, 0x0, 0x0, 0x5, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x27, 0x36, 0x37, 0x24, 0x11, 0x10, 0x25, 0x20, 0x11, 0x7, 0x23, 0x37, 0x10, 0x23, 0x22, 0x11, 0x10, 0x5, 0x16, 0x17, 0x2, 0xe9, 0x3b, 0x3b, 0x5f, 0x83, 0x43, 0x83, 0x43, 0x88, 0xfe, 0xce, 0x1, 0xaf, 0x1, 0x99, 0xb, 0xc3, 0x1a, 0xe2, 0xfe, 0x1, 0x42, 0x8d, 0x7c, 0x9d, 0x1, 0x3, 0x4d, 0x4b, 0x90, 0x4f, 0x6d, 0x30, 0xc1, 0x1, 0x84, 0x1, 0xbf, 0x2, 0xfe, 0x54, 0xcb, 0xc7, 0x1, 0x24, 0xfe, 0xbc, 0xfe, 0xa9, 0x97, 0x2c, 0x9d, 0x0, 0x0, 0x3, 0x0, 0x6e, 0xff, 0xec, 0x3, 0x27, 0x3, 0xe0, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x0, 0x13, 0x33, 0x15, 0x23, 0x5, 0x33, 0x15, 0x23, 0x5, 0x33, 0x15, 0x23, 0x6e, 0xcd, 0xcd, 0x1, 0xf2, 0xc7, 0xc7, 0xfe, 0xe, 0xca, 0xca, 0x3, 0xe0, 0xbd, 0xca, 0xba, 0xf8, 0xbb, 0x0, 0x2, 0x0, 0x64, 0x3, 0x5c, 0x2, 0x28, 0x6, 0xb3, 0x0, 0xf, 0x0, 0x17, 0x0, 0x0, 0x1, 0x32, 0x3, 0x10, 0x7, 0x22, 0x19, 0x1, 0x34, 0x3b, 0x1, 0x15, 0x21, 0x22, 0x1d, 0x1, 0x17, 0x34, 0x23, 0x22, 0x7, 0x14, 0x33, 0x32, 0x1, 0x4a, 0xdf, 0x1, 0xe4, 0xe0, 0xc6, 0xfb, 0xfe, 0xec, 0x41, 0xea, 0x7b, 0x6e, 0x1, 0x74, 0x76, 0x5, 0xb2, 0xfe, 0xdc, 0xfe, 0xcf, 0x1, 0x1, 0x32, 0x1, 0x63, 0xc2, 0x60, 0x4c, 0xa9, 0xd0, 0xb7, 0xbd, 0xc3, 0x0, 0x2, 0x0, 0x10, 0x0, 0x3, 0x5, 0x68, 0x5, 0xd8, 0x0, 0x2, 0x0, 0x6, 0x0, 0x3d, 0x40, 0xc, 0x42, 0x0, 0x95, 0x6, 0x81, 0x1, 0x95, 0x5, 0x8, 0x3, 0x6, 0x7, 0x10, 0xd4, 0xc4, 0xc4, 0x31, 0x0, 0x2f, 0xec, 0xf4, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x12, 0x1, 0x11, 0x4, 0x6, 0x5, 0x2, 0x11, 0x3, 0x4, 0x3, 0x1, 0x11, 0x5, 0x0, 0x11, 0x6, 0x5, 0x6, 0x5, 0x7, 0x10, 0xec, 0x10, 0xec, 0x7, 0x10, 0xec, 0x8, 0x10, 0xec, 0x59, 0x9, 0x2, 0x25, 0x1, 0x23, 0x1, 0x1, 0x23, 0x1, 0x99, 0x1, 0x9c, 0x1, 0x10, 0xfd, 0xc7, 0xe5, 0xfd, 0xc6, 0x5, 0x2e, 0xfb, 0x9c, 0x4, 0x64, 0xaa, 0xfa, 0x2b, 0x5, 0xd5, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x8, 0x4b, 0x10, 0x27, 0x2, 0x9c, 0x0, 0xc0, 0x1, 0x45, 0x12, 0x6, 0x6, 0xb4, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x5, 0xd5, 0x12, 0x6, 0x3, 0x29, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x4, 0xc0, 0x1, 0x74, 0x12, 0x6, 0x6, 0xb4, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xb0, 0x5, 0xd5, 0x0, 0x2, 0x0, 0x6, 0x0, 0x40, 0xb7, 0x2, 0x1c, 0x5, 0x0, 0x1c, 0x3, 0x4, 0x7, 0x10, 0xfc, 0xec, 0xd4, 0xec, 0x31, 0x0, 0xb5, 0x42, 0x0, 0x1, 0x4, 0xaf, 0x3, 0x2f, 0xec, 0x39, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x12, 0x2, 0x11, 0x5, 0x4, 0x6, 0x1, 0x11, 0x3, 0x6, 0x3, 0x2, 0x11, 0x5, 0x0, 0x11, 0x4, 0x5, 0x4, 0x4, 0x7, 0x10, 0xed, 0x10, 0xed, 0x7, 0x10, 0xed, 0x10, 0x8, 0xed, 0x59, 0x1, 0x11, 0x9, 0x1, 0x11, 0x1, 0x15, 0x1, 0x73, 0x3, 0xa3, 0xfb, 0xb3, 0x4, 0xe7, 0x4, 0xc2, 0xfc, 0x4e, 0x1, 0xda, 0xfd, 0x16, 0x5, 0xd5, 0xfd, 0x87, 0xe4, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xb0, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x4, 0x29, 0x1, 0x74, 0x12, 0x6, 0x6, 0xb6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xb0, 0x7, 0x4e, 0x10, 0x27, 0x16, 0xb9, 0x4, 0x29, 0x1, 0x75, 0x12, 0x6, 0x6, 0xb6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xb0, 0x5, 0xd5, 0x10, 0x27, 0x6, 0xd6, 0x1, 0x65, 0x0, 0x0, 0x12, 0x6, 0x6, 0xb6, 0x0, 0x0, 0x0, 0x2, 0x0, 0x77, 0x0, 0x0, 0x5, 0x5e, 0x5, 0xd5, 0x0, 0x2, 0x0, 0x6, 0x0, 0x3f, 0xb6, 0x2, 0x1c, 0x3, 0x1, 0x1c, 0x4, 0x7, 0x10, 0xdc, 0xec, 0xd4, 0xec, 0x31, 0x0, 0xb5, 0x42, 0x0, 0x2, 0x6, 0xaf, 0x3, 0x2f, 0xec, 0x39, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x12, 0x1, 0x11, 0x5, 0x6, 0x4, 0x2, 0x11, 0x3, 0x4, 0x3, 0x1, 0x11, 0x5, 0x0, 0x11, 0x6, 0x5, 0x6, 0x4, 0x7, 0x10, 0xed, 0x10, 0xed, 0x7, 0x10, 0xed, 0x10, 0x8, 0xed, 0x59, 0x9, 0x2, 0x13, 0x1, 0x35, 0x1, 0x4, 0xb4, 0xfc, 0x5d, 0x3, 0xa3, 0xaa, 0xfb, 0x19, 0x4, 0xe7, 0x4, 0xc2, 0xfe, 0x28, 0xfe, 0x26, 0xfe, 0xf0, 0x2, 0x78, 0xe4, 0x2, 0x79, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x5, 0x5e, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x5, 0x31, 0x1, 0x74, 0x12, 0x6, 0x6, 0xba, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x3, 0x6, 0x9d, 0x5, 0xd8, 0x10, 0x27, 0x6, 0xb2, 0x1, 0x35, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x3, 0x6, 0x36, 0x5, 0xd8, 0x10, 0x27, 0x6, 0xd6, 0x4, 0xa1, 0x0, 0x0, 0x10, 0x6, 0x6, 0xb2, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x9d, 0x5, 0xd5, 0x10, 0x26, 0x6, 0xd6, 0x0, 0x0, 0x10, 0x7, 0x6, 0xb4, 0x1, 0x35, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x6, 0x36, 0x5, 0xd5, 0x10, 0x27, 0x6, 0xd6, 0x4, 0xa1, 0x0, 0x0, 0x10, 0x6, 0x6, 0xb4, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x9d, 0x7, 0x4f, 0x10, 0x27, 0x6, 0xb5, 0x1, 0x35, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x6, 0x36, 0x7, 0x4f, 0x10, 0x26, 0x6, 0xb5, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0xa1, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x7, 0x45, 0x5, 0xd5, 0x10, 0x27, 0x6, 0xb6, 0x1, 0x95, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x7, 0x45, 0x5, 0xd5, 0x10, 0x27, 0x6, 0xd6, 0x5, 0xb0, 0x0, 0x0, 0x10, 0x6, 0x6, 0xb6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x7, 0x45, 0x7, 0x4f, 0x10, 0x27, 0x6, 0xb7, 0x1, 0x95, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x7, 0x45, 0x7, 0x4f, 0x10, 0x26, 0x6, 0xb7, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x5, 0xb0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xb0, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x6, 0xc9, 0x0, 0x30, 0x12, 0x6, 0x6, 0xb7, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0xf3, 0x5, 0xd5, 0x10, 0x27, 0x6, 0xba, 0x1, 0x95, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x7, 0x45, 0x5, 0xd5, 0x10, 0x26, 0x6, 0xba, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x5, 0xb0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0xf3, 0x7, 0x4f, 0x10, 0x27, 0x6, 0xbb, 0x1, 0x95, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x7, 0x45, 0x7, 0x4f, 0x10, 0x26, 0x6, 0xbb, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x5, 0xb0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x5, 0x5e, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x3, 0x3f, 0x0, 0x30, 0x12, 0x6, 0x6, 0xbb, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x5, 0x9, 0x1, 0x95, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x0, 0x13, 0x33, 0x15, 0x23, 0xc9, 0xcc, 0xcc, 0x5, 0xd5, 0xcc, 0x0, 0x2, 0x0, 0x89, 0x2, 0x9c, 0x3, 0xe7, 0x5, 0xdf, 0x0, 0x2, 0x0, 0x6, 0x0, 0x0, 0x1, 0x3, 0x21, 0x5, 0x1, 0x33, 0x1, 0x2, 0x38, 0xf6, 0x1, 0xee, 0xfd, 0x59, 0x1, 0x67, 0x90, 0x1, 0x67, 0x5, 0x60, 0xfd, 0xaa, 0x6e, 0x3, 0x43, 0xfc, 0xbd, 0x0, 0x1, 0x0, 0x5e, 0x2, 0xda, 0x2, 0xe5, 0x5, 0xb7, 0x0, 0x3, 0x0, 0x0, 0x13, 0x1, 0x17, 0x1, 0x5e, 0x2, 0x19, 0x6e, 0xfd, 0xe7, 0x3, 0x37, 0x2, 0x80, 0x5d, 0xfd, 0x80, 0x0, 0x0, 0x1, 0x0, 0x5e, 0x2, 0xda, 0x2, 0xe5, 0x5, 0xb7, 0x0, 0x3, 0x0, 0x0, 0x1, 0x7, 0x1, 0x37, 0x2, 0xe5, 0x6e, 0xfd, 0xe7, 0x6e, 0x3, 0x37, 0x5d, 0x2, 0x80, 0x5d, 0x0, 0x0, 0x0, 0x1, 0x0, 0x89, 0x3, 0x30, 0x2, 0xad, 0x5, 0x64, 0x0, 0x11, 0x0, 0x0, 0x1, 0x14, 0x6, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x35, 0x33, 0x2, 0xad, 0x9f, 0xe6, 0x9f, 0x7a, 0x57, 0x41, 0x40, 0x58, 0x7a, 0x4, 0x43, 0x73, 0xa0, 0xa0, 0x73, 0x1, 0x21, 0xfe, 0xdf, 0x41, 0x57, 0x58, 0x40, 0x2b, 0xf6, 0x0, 0x0, 0x1, 0x0, 0x89, 0x3, 0x21, 0x2, 0xad, 0x5, 0x55, 0x0, 0x11, 0x0, 0x0, 0x1, 0x11, 0x23, 0x34, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x34, 0x36, 0x32, 0x16, 0x2, 0xad, 0x7a, 0x58, 0x40, 0x41, 0x57, 0x7a, 0x9f, 0xe6, 0x9f, 0x4, 0x42, 0xfe, 0xdf, 0xf6, 0x2b, 0x40, 0x58, 0x57, 0x41, 0xfe, 0xdf, 0x1, 0x21, 0x73, 0xa0, 0xa0, 0x0, 0x1, 0x0, 0x89, 0x3, 0x30, 0x2, 0xb5, 0x5, 0x55, 0x0, 0x10, 0x0, 0x0, 0x1, 0x21, 0x35, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x35, 0x21, 0x32, 0x16, 0x14, 0x6, 0x1, 0xa3, 0xfe, 0xe6, 0x1, 0x1a, 0x40, 0x58, 0x58, 0x40, 0xfe, 0xe6, 0x1, 0x1a, 0x73, 0x9f, 0x9f, 0x3, 0x30, 0x7b, 0x58, 0x40, 0x3f, 0x58, 0x7b, 0x9f, 0xe6, 0xa0, 0x0, 0x0, 0x2, 0x0, 0x89, 0x3, 0x30, 0x2, 0xad, 0x5, 0x55, 0x0, 0xb, 0x0, 0x13, 0x0, 0x0, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x3e, 0x1, 0x14, 0x6, 0x22, 0x26, 0x34, 0x36, 0x32, 0x2, 0x33, 0x58, 0x40, 0x41, 0x57, 0x57, 0x41, 0x40, 0x58, 0x7a, 0x9f, 0xe6, 0x9f, 0x9f, 0xe6, 0x4, 0x43, 0x3f, 0x58, 0x57, 0x40, 0x41, 0x57, 0x58, 0xb3, 0xe6, 0xa0, 0xa0, 0xe6, 0x9f, 0x0, 0x0, 0x2, 0x0, 0x48, 0x2, 0x9d, 0x3, 0x3e, 0x5, 0xde, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x9, 0x1, 0x17, 0x1, 0x25, 0x1, 0x17, 0x1, 0x1, 0x99, 0x1, 0x1e, 0x87, 0xfe, 0xe3, 0xfe, 0x27, 0x1, 0x1d, 0x87, 0xfe, 0xe3, 0x2, 0xce, 0x3, 0x10, 0x31, 0xfc, 0xf0, 0x31, 0x3, 0x10, 0x31, 0xfc, 0xf0, 0x0, 0x0, 0x2, 0x0, 0x89, 0x2, 0x9c, 0x2, 0xa5, 0x5, 0xdf, 0x0, 0x3, 0x0, 0x7, 0x0, 0x1f, 0xb7, 0x9, 0x3, 0x5d, 0x0, 0x7, 0x5d, 0x4, 0x8, 0x10, 0xdc, 0xec, 0xdc, 0xec, 0xc4, 0x31, 0x0, 0xb6, 0x3, 0x4, 0xf7, 0x1, 0x5, 0x91, 0x8, 0x10, 0xf4, 0x3c, 0xec, 0x32, 0x30, 0x1, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x2, 0x15, 0x90, 0xfd, 0xe4, 0x90, 0x2, 0x9c, 0x3, 0x43, 0xfc, 0xbd, 0x3, 0x43, 0xfc, 0xbd, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x2, 0x7e, 0x1, 0x95, 0x3, 0x4b, 0x0, 0x3, 0x0, 0x0, 0x13, 0x33, 0x15, 0x23, 0xc9, 0xcc, 0xcc, 0x3, 0x4b, 0xcd, 0x0, 0x1, 0x0, 0x89, 0x4, 0x6, 0x2, 0xad, 0x4, 0x81, 0x0, 0x3, 0x0, 0x0, 0x1, 0x21, 0x35, 0x21, 0x2, 0xad, 0xfd, 0xdc, 0x2, 0x24, 0x4, 0x6, 0x7b, 0x0, 0x0, 0x1, 0x0, 0x89, 0x3, 0x31, 0x2, 0xad, 0x5, 0x56, 0x0, 0xb, 0x0, 0x0, 0x1, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x1, 0xd8, 0x7a, 0xd5, 0xd5, 0x7a, 0xd5, 0x4, 0x6, 0xd5, 0xd5, 0x7b, 0xd5, 0xd5, 0x7b, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x89, 0x3, 0x31, 0x2, 0xad, 0x5, 0x87, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x23, 0x35, 0x21, 0x15, 0x1, 0xd8, 0x7a, 0xd5, 0x2, 0x24, 0x5, 0xc, 0xfe, 0x25, 0x1, 0xdb, 0x7b, 0x7b, 0xff, 0xff, 0x0, 0x10, 0x0, 0x3, 0x8, 0x3a, 0x5, 0xd8, 0x10, 0x27, 0x6, 0xcf, 0x5, 0x55, 0x0, 0x0, 0x10, 0x6, 0x6, 0xb2, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x6, 0xc7, 0x5, 0xd5, 0x10, 0x27, 0x6, 0xcf, 0x3, 0xe2, 0x0, 0x0, 0x10, 0x6, 0x6, 0xb4, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x7, 0x22, 0x5, 0xd5, 0x10, 0x27, 0x6, 0xcf, 0x4, 0x3d, 0x0, 0x0, 0x10, 0x6, 0x6, 0xb6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x8, 0x71, 0x5, 0xd5, 0x10, 0x27, 0x6, 0xcf, 0x5, 0x8c, 0x0, 0x0, 0x10, 0x6, 0x6, 0xba, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x39, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x8, 0x4b, 0x10, 0x27, 0x2, 0x9c, 0x0, 0xc0, 0x1, 0x45, 0x12, 0x6, 0x6, 0xe0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x5, 0xd5, 0x12, 0x6, 0x3, 0x30, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x4, 0xc0, 0x1, 0x74, 0x12, 0x6, 0x6, 0xe0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x77, 0x0, 0x0, 0x5, 0x5e, 0x5, 0xd5, 0x0, 0x6, 0x0, 0x3a, 0xb5, 0x1, 0x1c, 0x4, 0x3, 0x0, 0x7, 0x10, 0xdc, 0x3c, 0xd4, 0xec, 0x31, 0x0, 0xb3, 0x42, 0x3, 0xaf, 0x6, 0x2f, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x12, 0x1, 0x11, 0x3, 0x4, 0x5, 0x0, 0x11, 0x6, 0x6, 0x5, 0x1, 0x11, 0x4, 0x2, 0x11, 0x3, 0x3, 0x4, 0x4, 0x7, 0x10, 0xed, 0x10, 0xed, 0x7, 0x10, 0xed, 0x10, 0x8, 0xed, 0x59, 0x37, 0x9, 0x1, 0x35, 0x1, 0x15, 0x1, 0x77, 0x4, 0x4d, 0xfb, 0xb3, 0x4, 0xe7, 0xfb, 0x19, 0xb6, 0x2, 0x34, 0x2, 0x30, 0xbb, 0xfd, 0x87, 0xe4, 0xfd, 0x88, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x5, 0x5e, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x4, 0x29, 0x1, 0x74, 0x12, 0x6, 0x6, 0xe2, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x5, 0x5e, 0x7, 0x4e, 0x10, 0x27, 0x16, 0xb9, 0x4, 0x29, 0x1, 0x75, 0x12, 0x6, 0x6, 0xe2, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x5, 0x5e, 0x5, 0xd5, 0x10, 0x27, 0x6, 0xd6, 0x0, 0xb6, 0x0, 0x0, 0x12, 0x6, 0x6, 0xe2, 0x0, 0x0, 0x0, 0x1, 0x0, 0x77, 0x0, 0x0, 0x5, 0x5e, 0x5, 0xd5, 0x0, 0x6, 0x0, 0x3a, 0xb5, 0x5, 0x0, 0x6, 0x1c, 0x3, 0x7, 0x10, 0xdc, 0xec, 0xcc, 0x32, 0x31, 0x0, 0xb3, 0x42, 0x4, 0xaf, 0x1, 0x2f, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x12, 0x6, 0x11, 0x4, 0x3, 0x2, 0x0, 0x11, 0x1, 0x1, 0x2, 0x6, 0x11, 0x3, 0x5, 0x11, 0x4, 0x4, 0x3, 0x4, 0x7, 0x10, 0xed, 0x10, 0xed, 0x7, 0x10, 0xed, 0x10, 0x8, 0xed, 0x59, 0x25, 0x15, 0x1, 0x35, 0x1, 0x15, 0x1, 0x5, 0x5e, 0xfb, 0x19, 0x4, 0xe7, 0xfb, 0xb3, 0xb6, 0xb6, 0x2, 0x78, 0xe4, 0x2, 0x79, 0xbb, 0xfd, 0xd0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x5, 0x5e, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x5, 0x31, 0x1, 0x74, 0x12, 0x6, 0x6, 0xe6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x9d, 0x5, 0xd5, 0x10, 0x27, 0x6, 0xde, 0x1, 0x35, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x6, 0x36, 0x5, 0xd5, 0x12, 0x26, 0x0, 0x39, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0xa1, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x9d, 0x5, 0xd5, 0x10, 0x27, 0x6, 0xe0, 0x1, 0x35, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x6, 0x36, 0x5, 0xd5, 0x10, 0x26, 0x6, 0xe0, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0xa1, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x9d, 0x7, 0x4f, 0x10, 0x27, 0x6, 0xe1, 0x1, 0x35, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x6, 0x36, 0x7, 0x4f, 0x10, 0x26, 0x6, 0xe1, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0xa1, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0xf3, 0x5, 0xd5, 0x10, 0x27, 0x6, 0xe2, 0x1, 0x95, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x7, 0x45, 0x5, 0xd5, 0x10, 0x26, 0x6, 0xe2, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x5, 0xb0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0xf3, 0x7, 0x4f, 0x10, 0x27, 0x6, 0xe3, 0x1, 0x95, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x7, 0x45, 0x7, 0x4f, 0x10, 0x26, 0x6, 0xe3, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x5, 0xb0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0xf3, 0x5, 0xd5, 0x10, 0x27, 0x6, 0xe6, 0x1, 0x95, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x7, 0x45, 0x5, 0xd5, 0x10, 0x26, 0x6, 0xe6, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x5, 0xb0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0xf3, 0x7, 0x4f, 0x10, 0x27, 0x6, 0xe7, 0x1, 0x95, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x7, 0x45, 0x7, 0x4f, 0x10, 0x26, 0x6, 0xe7, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x5, 0xb0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x5, 0x5e, 0x7, 0x4e, 0x10, 0x27, 0x16, 0xb9, 0x5, 0x31, 0x1, 0x75, 0x12, 0x6, 0x6, 0xe6, 0x0, 0x0, 0x0, 0x1, 0x0, 0x89, 0x2, 0x9b, 0x3, 0xa0, 0x5, 0xdf, 0x0, 0x6, 0x0, 0x3c, 0xb4, 0x1, 0x5, 0x0, 0x3, 0x7, 0x10, 0xdc, 0xcc, 0x32, 0x39, 0x31, 0x0, 0xb5, 0x42, 0x1, 0xf7, 0x4, 0x91, 0x7, 0x10, 0xf4, 0xe4, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x12, 0x6, 0x7d, 0x4, 0x3, 0x2, 0x0, 0x7d, 0x1, 0x1, 0x2, 0x6, 0x7d, 0x3, 0x5, 0x7d, 0x4, 0x4, 0x3, 0x4, 0x7, 0x10, 0xed, 0x10, 0xed, 0x7, 0x10, 0xed, 0x10, 0x8, 0xed, 0x59, 0x1, 0x15, 0x1, 0x35, 0x1, 0x15, 0x1, 0x3, 0xa0, 0xfc, 0xe9, 0x3, 0x17, 0xfd, 0x60, 0x3, 0xe, 0x73, 0x1, 0x62, 0x80, 0x1, 0x62, 0x73, 0xfe, 0xd1, 0x0, 0x1, 0x0, 0x89, 0x2, 0x9c, 0x1, 0x19, 0x5, 0xdf, 0x0, 0x3, 0x0, 0x14, 0xb3, 0x2, 0x5d, 0x0, 0x4, 0x10, 0xdc, 0xec, 0x31, 0x0, 0xb4, 0x3, 0xf7, 0x1, 0x91, 0x4, 0x10, 0xf4, 0xec, 0x30, 0x13, 0x11, 0x33, 0x11, 0x89, 0x90, 0x2, 0x9c, 0x3, 0x43, 0xfc, 0xbd, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x38, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb2, 0x0, 0x0, 0x5, 0x29, 0x8, 0x4b, 0x10, 0x27, 0x2, 0x9c, 0x0, 0xf0, 0x1, 0x45, 0x12, 0x6, 0x6, 0xfb, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb2, 0x0, 0x0, 0x5, 0x29, 0x5, 0xf2, 0x0, 0x11, 0x0, 0x2a, 0x40, 0x9, 0xa, 0x1c, 0x8, 0x38, 0x11, 0x1c, 0x0, 0x41, 0x12, 0x10, 0xfc, 0x4b, 0xb0, 0x10, 0x54, 0x58, 0xb9, 0x0, 0x0, 0xff, 0xc0, 0x38, 0x59, 0xec, 0xfc, 0xec, 0x31, 0x0, 0xb5, 0xd, 0x95, 0x4, 0x91, 0x9, 0x0, 0x2f, 0x3c, 0xf4, 0xec, 0x30, 0x33, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x19, 0x1, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0xb2, 0x1, 0x21, 0x1, 0x1b, 0x1, 0x1a, 0x1, 0x21, 0xcb, 0xae, 0xc2, 0xc3, 0xae, 0x3, 0xa4, 0x1, 0x24, 0x1, 0x2a, 0xfe, 0xd6, 0xfe, 0xdc, 0xfc, 0x5c, 0x3, 0x8b, 0xf0, 0xd3, 0xd3, 0xf0, 0xfc, 0x75, 0xff, 0xff, 0x0, 0xb2, 0x0, 0x0, 0x5, 0x29, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x4, 0xe7, 0x1, 0x74, 0x12, 0x6, 0x6, 0xfb, 0x0, 0x0, 0x0, 0x1, 0x0, 0x77, 0x0, 0x0, 0x5, 0x5e, 0x5, 0xd5, 0x0, 0x11, 0x0, 0x1c, 0xb6, 0x4, 0x19, 0xd, 0x32, 0x0, 0x9, 0x12, 0x10, 0xdc, 0x3c, 0xf4, 0xec, 0x31, 0x0, 0xb6, 0x7, 0x95, 0x9, 0x81, 0x1, 0x95, 0x10, 0x2f, 0xec, 0xf4, 0xec, 0x30, 0x37, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x29, 0x1, 0x35, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x29, 0x1, 0x77, 0x1, 0xbe, 0x1, 0x35, 0x1, 0x1f, 0xfe, 0xe1, 0xfe, 0xcb, 0xfe, 0x42, 0x1, 0x9f, 0x1, 0xb2, 0x1, 0x96, 0xfe, 0x68, 0xfe, 0x50, 0xfe, 0x61, 0xa6, 0x1, 0x18, 0x1, 0x2e, 0x1, 0x2c, 0x1, 0x17, 0xa6, 0xfe, 0x97, 0xfe, 0x80, 0xfe, 0x7e, 0xfe, 0x96, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x5, 0x5e, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x4, 0xc7, 0x1, 0x74, 0x12, 0x6, 0x6, 0xfd, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x5, 0x5e, 0x7, 0x4e, 0x10, 0x27, 0x16, 0xb9, 0x4, 0xc7, 0x1, 0x75, 0x12, 0x6, 0x6, 0xfd, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x5, 0x5e, 0x5, 0xd5, 0x10, 0x27, 0x6, 0xd6, 0x0, 0xb6, 0x0, 0x0, 0x12, 0x6, 0x6, 0xfd, 0x0, 0x0, 0x0, 0x1, 0x0, 0x79, 0x0, 0x0, 0x5, 0x60, 0x5, 0xd5, 0x0, 0x11, 0x0, 0x1d, 0xb7, 0x0, 0x9, 0x32, 0xe, 0x19, 0x5, 0x10, 0x12, 0x10, 0xfc, 0xec, 0xf4, 0x3c, 0x31, 0x0, 0xb6, 0xb, 0x95, 0x8, 0x81, 0x11, 0x95, 0x2, 0x2f, 0xec, 0xf4, 0xec, 0x30, 0x25, 0x15, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x29, 0x1, 0x15, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x5, 0x60, 0xfe, 0x61, 0xfe, 0x50, 0xfe, 0x68, 0x1, 0x96, 0x1, 0xb2, 0x1, 0x9f, 0xfe, 0x42, 0xfe, 0xcb, 0xfe, 0xe1, 0x1, 0x1f, 0x1, 0x35, 0xa6, 0xa6, 0x1, 0x6a, 0x1, 0x82, 0x1, 0x80, 0x1, 0x69, 0xa6, 0xfe, 0xe9, 0xfe, 0xd4, 0xfe, 0xd2, 0xfe, 0xe8, 0xff, 0xff, 0x0, 0x79, 0x0, 0x0, 0x5, 0x60, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x5, 0x22, 0x1, 0x74, 0x12, 0x6, 0x7, 0x1, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xff, 0xe3, 0x6, 0xac, 0x5, 0xd5, 0x10, 0x26, 0x6, 0xd6, 0x0, 0x0, 0x10, 0x7, 0x6, 0xf9, 0x1, 0x83, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb2, 0xff, 0xe3, 0x6, 0xa5, 0x5, 0xd5, 0x10, 0x27, 0x6, 0xd6, 0x5, 0x10, 0x0, 0x0, 0x10, 0x6, 0x6, 0xf9, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0xac, 0x5, 0xf2, 0x10, 0x27, 0x6, 0xfb, 0x1, 0x83, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb2, 0x0, 0x0, 0x6, 0xa5, 0x5, 0xf2, 0x10, 0x26, 0x6, 0xfb, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x5, 0x10, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0xac, 0x7, 0x4f, 0x10, 0x27, 0x6, 0xfc, 0x1, 0x83, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb2, 0x0, 0x0, 0x6, 0xa5, 0x7, 0x4f, 0x10, 0x26, 0x6, 0xfc, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x5, 0x10, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0xf3, 0x5, 0xd5, 0x10, 0x27, 0x6, 0xfd, 0x1, 0x95, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x6, 0xbd, 0x5, 0xd5, 0x10, 0x27, 0x6, 0xd6, 0x5, 0x28, 0x0, 0x0, 0x10, 0x6, 0x6, 0xfd, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0xf3, 0x7, 0x4f, 0x10, 0x27, 0x6, 0xfe, 0x1, 0x95, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x6, 0xbd, 0x7, 0x4f, 0x10, 0x26, 0x6, 0xfe, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x5, 0x28, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x7, 0x1d, 0x5, 0xd5, 0x10, 0x27, 0x7, 0x1, 0x1, 0xbd, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x79, 0x0, 0x0, 0x6, 0xbd, 0x5, 0xd5, 0x10, 0x27, 0x6, 0xd6, 0x5, 0x28, 0x0, 0x0, 0x10, 0x6, 0x7, 0x1, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x7, 0x1d, 0x7, 0x4f, 0x10, 0x27, 0x7, 0x2, 0x1, 0xbd, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x79, 0x0, 0x0, 0x6, 0xbd, 0x7, 0x4f, 0x10, 0x26, 0x7, 0x2, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x5, 0x28, 0x0, 0x0, 0xff, 0xff, 0x0, 0xf0, 0x0, 0x0, 0x7, 0x1d, 0x5, 0xd5, 0x10, 0x27, 0x7, 0x1, 0x1, 0xbd, 0x0, 0x0, 0x10, 0x6, 0x17, 0x15, 0x0, 0x0, 0x0, 0x1, 0x0, 0x89, 0x2, 0x9c, 0x3, 0x8, 0x5, 0xdf, 0x0, 0x11, 0x0, 0x1f, 0xb5, 0x9, 0x0, 0xe, 0x7e, 0x5, 0x12, 0x10, 0xdc, 0xec, 0xcc, 0x32, 0x31, 0x0, 0x40, 0x9, 0x11, 0xdd, 0x1, 0xf7, 0xb, 0xdd, 0x8, 0x91, 0x12, 0x10, 0xf4, 0xec, 0xf4, 0xec, 0x30, 0x1, 0x15, 0x23, 0x20, 0x24, 0x35, 0x34, 0x24, 0x21, 0x33, 0x15, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x3, 0x8, 0x6e, 0xfe, 0xf0, 0xfe, 0xff, 0x1, 0x0, 0x1, 0x11, 0x6e, 0x81, 0xcd, 0x99, 0xbe, 0xa8, 0x3, 0xa, 0x6e, 0xcb, 0xd7, 0xd7, 0xca, 0x6e, 0x93, 0xa0, 0xb9, 0x7b, 0xff, 0xff, 0x0, 0xb2, 0xff, 0xe3, 0x6, 0x95, 0x5, 0xdf, 0x10, 0x27, 0x6, 0xf8, 0x5, 0x7c, 0x0, 0x0, 0x10, 0x6, 0x6, 0xf9, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb2, 0x0, 0x0, 0x6, 0x95, 0x5, 0xf2, 0x10, 0x27, 0x6, 0xf8, 0x5, 0x7c, 0x0, 0x0, 0x10, 0x6, 0x6, 0xfb, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x6, 0x7d, 0x5, 0xdf, 0x10, 0x27, 0x6, 0xf8, 0x5, 0x64, 0x0, 0x0, 0x10, 0x6, 0x6, 0xfd, 0x0, 0x0, 0xff, 0xff, 0x0, 0x79, 0x0, 0x0, 0x6, 0xaf, 0x5, 0xdf, 0x10, 0x27, 0x6, 0xf8, 0x5, 0x96, 0x0, 0x0, 0x10, 0x6, 0x7, 0x1, 0x0, 0x0, 0x0, 0x2, 0x0, 0x46, 0x0, 0x0, 0x4, 0x3e, 0x5, 0xf2, 0x0, 0xb, 0x0, 0x19, 0x0, 0x25, 0x40, 0x9, 0xc, 0x9, 0x1c, 0x17, 0x3, 0x19, 0x11, 0x10, 0x1a, 0x10, 0xfc, 0xec, 0xdc, 0xec, 0x32, 0x31, 0x0, 0x40, 0x9, 0x6, 0x95, 0xc, 0xe, 0x0, 0x95, 0x14, 0x91, 0x18, 0x2f, 0xf4, 0xec, 0xdc, 0x39, 0xee, 0x30, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x13, 0x6, 0x7, 0x22, 0x24, 0x35, 0x34, 0x24, 0x33, 0x32, 0x4, 0x15, 0x11, 0x23, 0x2, 0x42, 0x7a, 0xad, 0xc8, 0x5f, 0x80, 0xb2, 0xcc, 0xcc, 0x80, 0xb2, 0xeb, 0xfe, 0xef, 0x1, 0x23, 0xd9, 0xec, 0x1, 0x10, 0xca, 0x5, 0x52, 0xa4, 0x97, 0xa8, 0x94, 0xa9, 0x93, 0xa4, 0x97, 0xfd, 0x33, 0x49, 0x1, 0xf0, 0xec, 0xfa, 0xe1, 0xf0, 0xec, 0xfb, 0xea, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0xc1, 0x8, 0x4b, 0x10, 0x27, 0x2, 0x9c, 0x0, 0xc0, 0x1, 0x45, 0x12, 0x6, 0x7, 0x19, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc9, 0x0, 0x0, 0x4, 0xc1, 0x5, 0xf2, 0x0, 0xb, 0x0, 0x19, 0x0, 0x25, 0x40, 0x9, 0x9, 0x19, 0x15, 0xd, 0x3, 0x1c, 0xf, 0x4, 0x1a, 0x10, 0xfc, 0xec, 0x32, 0xdc, 0xec, 0x31, 0x0, 0x40, 0x9, 0x6, 0x95, 0xc, 0x18, 0x0, 0x95, 0x12, 0x91, 0xe, 0x2f, 0xf4, 0xec, 0xdc, 0x39, 0xee, 0x30, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x1, 0x11, 0x23, 0x11, 0x34, 0x24, 0x33, 0x32, 0x4, 0x15, 0x14, 0x4, 0x23, 0x26, 0x2, 0xc5, 0x66, 0xcc, 0xb2, 0x80, 0x5f, 0xc8, 0xad, 0xfe, 0x54, 0xca, 0x1, 0x10, 0xec, 0xd9, 0x1, 0x23, 0xfe, 0xef, 0xeb, 0xb2, 0x5, 0x52, 0x97, 0xa4, 0x93, 0xa9, 0x94, 0xa8, 0x97, 0xa4, 0xfd, 0x33, 0xfd, 0x7b, 0x4, 0x16, 0xec, 0xf0, 0xe1, 0xfa, 0xec, 0xf0, 0x1, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0xc1, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x4, 0xc0, 0x1, 0x74, 0x12, 0x6, 0x7, 0x19, 0x0, 0x0, 0x0, 0x2, 0x0, 0x46, 0xff, 0xe3, 0x4, 0x3e, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x19, 0x0, 0x28, 0x40, 0x9, 0xc, 0x3, 0x1c, 0xf, 0x9, 0x19, 0x15, 0x10, 0x1a, 0x10, 0xfc, 0xec, 0xdc, 0xec, 0x32, 0x31, 0x0, 0x40, 0xb, 0x6, 0x95, 0xc, 0x18, 0x0, 0x95, 0x12, 0x8c, 0xe, 0x91, 0x1a, 0x10, 0xec, 0xf4, 0xee, 0xd4, 0x39, 0xec, 0x30, 0x25, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1, 0x11, 0x33, 0x11, 0x14, 0x4, 0x23, 0x22, 0x24, 0x35, 0x34, 0x24, 0x33, 0x16, 0x2, 0x42, 0x66, 0xcc, 0xb2, 0x80, 0x5f, 0xc8, 0xad, 0x1, 0xac, 0xca, 0xfe, 0xf0, 0xec, 0xd9, 0xfe, 0xdd, 0x1, 0x11, 0xeb, 0xb2, 0x83, 0x97, 0xa4, 0x93, 0xa9, 0x94, 0xa8, 0x97, 0xa4, 0x2, 0xcd, 0x2, 0x85, 0xfb, 0xea, 0xec, 0xf0, 0xe1, 0xfa, 0xec, 0xf0, 0x1, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0xff, 0xe3, 0x4, 0x3e, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x5, 0xd3, 0x1, 0x74, 0x12, 0x6, 0x7, 0x1b, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0xff, 0xe3, 0x4, 0xfc, 0x7, 0x4e, 0x10, 0x27, 0x16, 0xb9, 0x5, 0xd3, 0x1, 0x75, 0x12, 0x6, 0x7, 0x1b, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc9, 0xff, 0xe3, 0x4, 0xc1, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x19, 0x0, 0x28, 0x40, 0x9, 0x3, 0x19, 0x11, 0x19, 0x9, 0x1c, 0x17, 0x4, 0x1a, 0x10, 0xfc, 0xec, 0x32, 0xdc, 0xec, 0x31, 0x0, 0x40, 0xb, 0x6, 0x95, 0xc, 0xe, 0x0, 0x95, 0x14, 0x8c, 0x18, 0x91, 0x1a, 0x10, 0xec, 0xf4, 0xee, 0xd4, 0x39, 0xec, 0x30, 0x25, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x3, 0x36, 0x37, 0x32, 0x4, 0x15, 0x14, 0x4, 0x23, 0x22, 0x24, 0x35, 0x11, 0x33, 0x2, 0xc5, 0x7a, 0xad, 0xc8, 0x5f, 0x80, 0xb2, 0xcc, 0xcc, 0x80, 0xb2, 0xeb, 0x1, 0x11, 0xfe, 0xdd, 0xd9, 0xec, 0xfe, 0xf0, 0xca, 0x83, 0xa4, 0x97, 0xa8, 0x94, 0xa9, 0x93, 0xa4, 0x97, 0x2, 0xcd, 0x49, 0x1, 0xf0, 0xec, 0xfa, 0xe1, 0xf0, 0xec, 0x4, 0x16, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xff, 0xe3, 0x4, 0xc1, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x3, 0x35, 0x1, 0x74, 0x12, 0x6, 0x7, 0x1e, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x18, 0x5, 0xf2, 0x10, 0x27, 0x7, 0x17, 0x1, 0xda, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0x0, 0x0, 0x5, 0xb3, 0x5, 0xf2, 0x10, 0x27, 0x6, 0xd6, 0x4, 0x1e, 0x0, 0x0, 0x10, 0x6, 0x7, 0x17, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x3f, 0x5, 0xf2, 0x10, 0x27, 0x7, 0x19, 0x1, 0x7e, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x11, 0x5, 0xf2, 0x10, 0x27, 0x6, 0xd6, 0x4, 0x7c, 0x0, 0x0, 0x10, 0x6, 0x7, 0x19, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x3f, 0x7, 0x4f, 0x10, 0x26, 0x6, 0xd6, 0x0, 0x0, 0x10, 0x7, 0x7, 0x1a, 0x1, 0x7e, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x11, 0x7, 0x4f, 0x10, 0x26, 0x7, 0x1a, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0x7c, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xff, 0xe3, 0x6, 0x18, 0x5, 0xd5, 0x10, 0x27, 0x7, 0x1b, 0x1, 0xda, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0xff, 0xe3, 0x5, 0xb3, 0x5, 0xd5, 0x10, 0x26, 0x7, 0x1b, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0x1e, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xff, 0xe3, 0x6, 0x18, 0x7, 0x4f, 0x10, 0x27, 0x7, 0x1c, 0x1, 0xda, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0xff, 0xe3, 0x5, 0xb3, 0x7, 0x4f, 0x10, 0x26, 0x7, 0x1c, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0x1e, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xff, 0xe3, 0x6, 0x3f, 0x5, 0xd5, 0x10, 0x27, 0x7, 0x1e, 0x1, 0x7e, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xff, 0xe3, 0x6, 0x11, 0x5, 0xd5, 0x10, 0x26, 0x7, 0x1e, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0x7c, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xff, 0xe3, 0x6, 0x3f, 0x7, 0x4f, 0x10, 0x27, 0x7, 0x1f, 0x1, 0x7e, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xff, 0xe3, 0x6, 0x11, 0x7, 0x4f, 0x10, 0x26, 0x7, 0x1f, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0x7c, 0x0, 0x0, 0xff, 0xff, 0x0, 0xf0, 0xff, 0xe3, 0x6, 0x3f, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x15, 0x0, 0x0, 0x10, 0x7, 0x7, 0x1e, 0x1, 0x7e, 0x0, 0x0, 0x0, 0x2, 0x0, 0x89, 0x2, 0x8b, 0x3, 0x9, 0x5, 0xdf, 0x0, 0xb, 0x0, 0x19, 0x0, 0x24, 0xb7, 0x3, 0x7e, 0x11, 0x9, 0x19, 0x5d, 0x18, 0x1a, 0x10, 0xdc, 0xec, 0x32, 0xd4, 0xec, 0x31, 0x0, 0x40, 0xa, 0x6, 0xdd, 0xe, 0x0, 0xdd, 0x14, 0xf7, 0x18, 0x91, 0x1a, 0x10, 0xf4, 0xf4, 0xfc, 0xd4, 0xec, 0x30, 0x1, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x3, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x1, 0xc9, 0x58, 0x50, 0x5e, 0x4a, 0x5c, 0x54, 0x61, 0x61, 0x51, 0x5f, 0x94, 0xac, 0xb7, 0x89, 0x95, 0xab, 0x90, 0x2, 0xf9, 0x56, 0x46, 0x54, 0x48, 0x55, 0x47, 0x51, 0x4b, 0x1, 0x7d, 0x29, 0x86, 0x84, 0x8c, 0x7e, 0x86, 0x84, 0x2, 0x4a, 0x0, 0x0, 0x0, 0x2, 0x0, 0x38, 0x2, 0x8b, 0x2, 0xb8, 0x5, 0xdf, 0x0, 0xb, 0x0, 0x1a, 0x0, 0x0, 0x1, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1, 0x30, 0x11, 0x33, 0x11, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x1, 0x78, 0x4f, 0x61, 0x54, 0x5c, 0x4a, 0x5e, 0x50, 0x1, 0x8, 0x90, 0xab, 0x95, 0x89, 0xb7, 0xac, 0x94, 0x5f, 0x2, 0xf9, 0x4b, 0x51, 0x47, 0x55, 0x48, 0x54, 0x46, 0x56, 0x1, 0x7d, 0x1, 0x69, 0xfd, 0xb6, 0x84, 0x86, 0x7e, 0x8c, 0x84, 0x86, 0xff, 0xff, 0x0, 0x46, 0x0, 0x0, 0x5, 0x91, 0x5, 0xf2, 0x10, 0x27, 0x6, 0xf8, 0x4, 0x78, 0x0, 0x0, 0x10, 0x6, 0x7, 0x17, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xc3, 0x5, 0xf2, 0x10, 0x27, 0x6, 0xf8, 0x4, 0xaa, 0x0, 0x0, 0x10, 0x6, 0x7, 0x19, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0xff, 0xe3, 0x5, 0x91, 0x5, 0xdf, 0x10, 0x27, 0x6, 0xf8, 0x4, 0x78, 0x0, 0x0, 0x10, 0x6, 0x7, 0x1b, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xff, 0xe3, 0x5, 0xc3, 0x5, 0xdf, 0x10, 0x27, 0x6, 0xf8, 0x4, 0xaa, 0x0, 0x0, 0x10, 0x6, 0x7, 0x1e, 0x0, 0x0, 0x0, 0x1, 0x0, 0x46, 0x0, 0x0, 0x4, 0x3e, 0x5, 0xf2, 0x0, 0xf, 0x0, 0x1b, 0xb6, 0xa, 0x1c, 0x7, 0x0, 0x1c, 0x1, 0x10, 0x10, 0xdc, 0xec, 0xdc, 0xec, 0x31, 0x0, 0xb5, 0x0, 0xd, 0x95, 0x4, 0x91, 0x8, 0x2f, 0xf4, 0xec, 0xcc, 0x30, 0x1, 0x23, 0x34, 0x24, 0x33, 0x32, 0x4, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x1, 0x10, 0xca, 0x1, 0x23, 0xd9, 0xec, 0x1, 0x10, 0xca, 0xcc, 0x66, 0x80, 0xb2, 0x4, 0x17, 0xfa, 0xe1, 0xf0, 0xec, 0xfb, 0xea, 0x4, 0x17, 0xa4, 0x97, 0xa9, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0xc1, 0x8, 0x4b, 0x10, 0x27, 0x2, 0x9c, 0x0, 0xc0, 0x1, 0x45, 0x12, 0x6, 0x7, 0x37, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x4, 0xc1, 0x5, 0xf2, 0x0, 0xf, 0x0, 0x1c, 0xb7, 0x0, 0x1c, 0xf, 0x6, 0x1c, 0x9, 0x4, 0x10, 0x10, 0xfc, 0xec, 0xdc, 0xec, 0x31, 0x0, 0xb5, 0xf, 0x3, 0x95, 0xc, 0x91, 0x8, 0x2f, 0xf4, 0xec, 0xcc, 0x30, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x34, 0x24, 0x33, 0x32, 0x4, 0x15, 0x3, 0xf7, 0xb2, 0x80, 0x66, 0xcc, 0xca, 0x1, 0x10, 0xec, 0xd9, 0x1, 0x23, 0x4, 0x17, 0x92, 0xa9, 0x97, 0xa4, 0xfb, 0xe9, 0x4, 0x16, 0xec, 0xf0, 0xe1, 0xfa, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0xc1, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x4, 0xc0, 0x1, 0x74, 0x12, 0x6, 0x7, 0x37, 0x0, 0x0, 0x0, 0x1, 0x0, 0x46, 0xff, 0xe3, 0x4, 0x3e, 0x5, 0xd5, 0x0, 0xf, 0x0, 0x1e, 0xb6, 0x6, 0x1c, 0x9, 0x0, 0x1c, 0xf, 0x10, 0x10, 0xdc, 0xec, 0xdc, 0xec, 0x31, 0x0, 0xb7, 0x0, 0x3, 0x95, 0xc, 0x8c, 0x7, 0x91, 0x10, 0x10, 0xe4, 0xf4, 0xee, 0xcc, 0x30, 0x1, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x4, 0x23, 0x22, 0x24, 0x35, 0x1, 0x10, 0xb2, 0x80, 0x66, 0xcc, 0xca, 0xfe, 0xf0, 0xec, 0xd9, 0xfe, 0xdd, 0x1, 0xbe, 0x92, 0xa9, 0x97, 0xa4, 0x4, 0x17, 0xfb, 0xea, 0xec, 0xf0, 0xe1, 0xfa, 0x0, 0xff, 0xff, 0x0, 0x46, 0xff, 0xe3, 0x4, 0x3e, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x5, 0xd3, 0x1, 0x74, 0x12, 0x6, 0x7, 0x39, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0xff, 0xe3, 0x4, 0xfc, 0x7, 0x4e, 0x10, 0x27, 0x16, 0xb9, 0x5, 0xd3, 0x1, 0x75, 0x12, 0x6, 0x7, 0x39, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0xff, 0xe3, 0x4, 0xc1, 0x5, 0xd5, 0x0, 0xf, 0x0, 0x1f, 0xb7, 0x0, 0x1c, 0x1, 0xa, 0x1c, 0x7, 0x4, 0x10, 0x10, 0xfc, 0xec, 0xdc, 0xec, 0x31, 0x0, 0xb7, 0x0, 0xd, 0x95, 0x4, 0x8c, 0x8, 0x91, 0x10, 0x10, 0xe4, 0xf4, 0xee, 0xcc, 0x30, 0x1, 0x33, 0x14, 0x4, 0x23, 0x22, 0x24, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3, 0xf7, 0xca, 0xfe, 0xdd, 0xd9, 0xec, 0xfe, 0xf0, 0xca, 0xcc, 0x66, 0x80, 0xb2, 0x1, 0xbe, 0xfa, 0xe1, 0xf0, 0xec, 0x4, 0x16, 0xfb, 0xe9, 0xa4, 0x97, 0xa9, 0xff, 0xff, 0x0, 0xc9, 0xff, 0xe3, 0x4, 0xc1, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x3, 0x35, 0x1, 0x74, 0x10, 0x6, 0x7, 0x3c, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x18, 0x5, 0xf2, 0x10, 0x27, 0x7, 0x35, 0x1, 0xda, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0x0, 0x0, 0x5, 0xb3, 0x5, 0xf2, 0x10, 0x26, 0x7, 0x35, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0x1e, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x3f, 0x5, 0xf2, 0x10, 0x27, 0x7, 0x37, 0x1, 0x7e, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x11, 0x5, 0xf2, 0x10, 0x26, 0x7, 0x37, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0x7c, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x3f, 0x7, 0x4f, 0x10, 0x27, 0x7, 0x38, 0x1, 0x7e, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x11, 0x7, 0x4f, 0x10, 0x26, 0x7, 0x38, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0x7c, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xff, 0xe3, 0x6, 0x18, 0x5, 0xd5, 0x10, 0x27, 0x7, 0x39, 0x1, 0xda, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0xff, 0xe3, 0x5, 0xb3, 0x5, 0xd5, 0x10, 0x26, 0x7, 0x39, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0x1e, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xff, 0xe3, 0x6, 0x18, 0x7, 0x4f, 0x10, 0x27, 0x7, 0x3a, 0x1, 0xda, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0xff, 0xe3, 0x5, 0xb3, 0x7, 0x4f, 0x10, 0x26, 0x7, 0x3a, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0x1e, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xff, 0xe3, 0x6, 0x3f, 0x5, 0xd5, 0x10, 0x27, 0x7, 0x3c, 0x1, 0x7e, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xff, 0xe3, 0x6, 0x11, 0x5, 0xd5, 0x10, 0x26, 0x7, 0x3c, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0x7c, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xff, 0xe3, 0x6, 0x3f, 0x7, 0x4f, 0x10, 0x27, 0x7, 0x3d, 0x1, 0x7e, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xff, 0xe3, 0x6, 0x11, 0x7, 0x4f, 0x10, 0x26, 0x7, 0x3d, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0x7c, 0x0, 0x0, 0xff, 0xff, 0x0, 0xf0, 0xff, 0xe3, 0x6, 0x3f, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x15, 0x0, 0x0, 0x10, 0x7, 0x7, 0x3c, 0x1, 0x7e, 0x0, 0x0, 0x0, 0x1, 0x0, 0x89, 0x2, 0x8b, 0x3, 0x9, 0x5, 0xdf, 0x0, 0xf, 0x0, 0x1e, 0xb6, 0x0, 0x5d, 0x1, 0xa, 0x5d, 0x7, 0x10, 0x10, 0xdc, 0xec, 0xd4, 0xec, 0x31, 0x0, 0xb7, 0x0, 0xd, 0xdd, 0x4, 0xf7, 0x8, 0x91, 0x10, 0x10, 0xf4, 0xf4, 0xfc, 0xcc, 0x30, 0x1, 0x33, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x2, 0x79, 0x90, 0xb7, 0x89, 0x95, 0xab, 0x90, 0x61, 0x4f, 0x5c, 0x54, 0x3, 0x95, 0x8c, 0x7e, 0x86, 0x84, 0x2, 0x4a, 0xfd, 0xb6, 0x50, 0x4d, 0x4c, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x89, 0x2, 0x8b, 0x3, 0x9, 0x5, 0xdf, 0x0, 0xf, 0x0, 0x0, 0x1, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x1, 0x19, 0x54, 0x5c, 0x4f, 0x61, 0x90, 0xab, 0x95, 0x89, 0xb7, 0x3, 0x95, 0x51, 0x4c, 0x4d, 0x50, 0x2, 0x4a, 0xfd, 0xb6, 0x84, 0x86, 0x7e, 0x8c, 0x0, 0x0, 0x1, 0x0, 0x77, 0x0, 0x0, 0x4, 0x18, 0x5, 0xd5, 0x0, 0x5, 0x0, 0x17, 0xb5, 0x2, 0x1c, 0x0, 0x3a, 0x3, 0x6, 0x10, 0xdc, 0xfc, 0xec, 0x31, 0x0, 0xb4, 0x3, 0x95, 0x4, 0x81, 0x1, 0x2f, 0xf4, 0xec, 0x30, 0x21, 0x23, 0x11, 0x21, 0x35, 0x21, 0x4, 0x18, 0xca, 0xfd, 0x29, 0x3, 0xa1, 0x5, 0x2b, 0xaa, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x6a, 0x8, 0x4b, 0x10, 0x27, 0x2, 0x9c, 0x0, 0xa9, 0x1, 0x45, 0x12, 0x6, 0x7, 0x51, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x6a, 0x5, 0xd5, 0x0, 0x5, 0x0, 0x18, 0x40, 0xc, 0x4, 0x95, 0x1, 0x81, 0x0, 0x4, 0x1c, 0x2, 0x3a, 0x0, 0x4, 0x6, 0x10, 0xfc, 0xec, 0xec, 0x31, 0x0, 0x2f, 0xf4, 0xec, 0x30, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0xc9, 0x3, 0xa1, 0xfd, 0x29, 0x5, 0xd5, 0xaa, 0xfa, 0xd5, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x6a, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x4, 0xa9, 0x1, 0x74, 0x12, 0x6, 0x7, 0x51, 0x0, 0x0, 0x0, 0x1, 0x0, 0x77, 0x0, 0x0, 0x4, 0x18, 0x5, 0xd5, 0x0, 0x5, 0x0, 0x17, 0xb5, 0x4, 0x1c, 0x1, 0x3a, 0x3, 0x6, 0x10, 0xdc, 0xfc, 0xec, 0x31, 0x0, 0xb4, 0x3, 0x95, 0x0, 0x81, 0x2, 0x2f, 0xe4, 0xec, 0x30, 0x1, 0x11, 0x21, 0x35, 0x21, 0x11, 0x4, 0x18, 0xfc, 0x5f, 0x2, 0xd7, 0x5, 0xd5, 0xfa, 0x2b, 0xaa, 0x5, 0x2b, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x4, 0x19, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x5, 0xb3, 0x1, 0x74, 0x12, 0x6, 0x7, 0x53, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x4, 0xdc, 0x7, 0x4e, 0x10, 0x27, 0x16, 0xb9, 0x5, 0xb3, 0x1, 0x75, 0x12, 0x6, 0x7, 0x53, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x6a, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x2f, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x6a, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x3, 0x35, 0x1, 0x74, 0x12, 0x6, 0x7, 0x56, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x35, 0x5, 0xd5, 0x10, 0x26, 0x6, 0xd6, 0x0, 0x0, 0x10, 0x7, 0x7, 0x4f, 0x1, 0x1d, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x5, 0xaf, 0x5, 0xd5, 0x10, 0x27, 0x6, 0xd6, 0x4, 0x1a, 0x0, 0x0, 0x10, 0x6, 0x7, 0x4f, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xed, 0x5, 0xd5, 0x10, 0x26, 0x6, 0xd6, 0x0, 0x0, 0x10, 0x7, 0x7, 0x51, 0x1, 0x83, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xa5, 0x5, 0xd5, 0x10, 0x27, 0x6, 0xd6, 0x4, 0x10, 0x0, 0x0, 0x10, 0x6, 0x7, 0x51, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xed, 0x7, 0x4f, 0x10, 0x27, 0x7, 0x52, 0x1, 0x83, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xa5, 0x7, 0x4f, 0x10, 0x26, 0x7, 0x52, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0x10, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x35, 0x5, 0xd5, 0x10, 0x27, 0x7, 0x53, 0x1, 0x1d, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x5, 0xaf, 0x5, 0xd5, 0x10, 0x26, 0x7, 0x53, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0x1a, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x36, 0x7, 0x4f, 0x10, 0x27, 0x7, 0x54, 0x1, 0x1d, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x5, 0xaf, 0x7, 0x4f, 0x10, 0x26, 0x7, 0x54, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0x1a, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xed, 0x5, 0xd5, 0x10, 0x27, 0x7, 0x56, 0x1, 0x83, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xa5, 0x5, 0xd5, 0x10, 0x26, 0x7, 0x56, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0x10, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xed, 0x7, 0x4f, 0x10, 0x27, 0x7, 0x57, 0x1, 0x83, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xa5, 0x7, 0x4f, 0x10, 0x26, 0x7, 0x57, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0x10, 0x0, 0x0, 0xff, 0xff, 0x0, 0xf0, 0x0, 0x0, 0x5, 0xed, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x15, 0x0, 0x0, 0x10, 0x7, 0x7, 0x56, 0x1, 0x83, 0x0, 0x0, 0x0, 0x1, 0x0, 0x89, 0x2, 0x9c, 0x2, 0xa5, 0x5, 0xdf, 0x0, 0x5, 0x0, 0x19, 0xb4, 0x1, 0x0, 0x5d, 0x3, 0x6, 0x10, 0xdc, 0xec, 0xcc, 0x31, 0x0, 0xb6, 0x0, 0xdd, 0x2, 0xf7, 0x4, 0x91, 0x6, 0x10, 0xf4, 0xf4, 0xec, 0x30, 0x1, 0x21, 0x15, 0x21, 0x11, 0x33, 0x1, 0x19, 0x1, 0x8c, 0xfd, 0xe4, 0x90, 0x3, 0xa, 0x6e, 0x3, 0x43, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x89, 0x2, 0x9c, 0x3, 0xa0, 0x5, 0xdf, 0x0, 0x11, 0x0, 0x1f, 0xb5, 0x9, 0x0, 0xe, 0x7e, 0x5, 0x12, 0x10, 0xdc, 0xec, 0xcc, 0x32, 0x31, 0x0, 0x40, 0x9, 0x11, 0xdd, 0x1, 0xf7, 0xb, 0xdd, 0x8, 0x91, 0x12, 0x10, 0xf4, 0xec, 0xf4, 0xec, 0x30, 0x1, 0x15, 0x21, 0x20, 0x24, 0x35, 0x34, 0x24, 0x29, 0x1, 0x15, 0x21, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x3, 0xa0, 0xfe, 0xfa, 0xfe, 0xf0, 0xfe, 0xff, 0x1, 0x0, 0x1, 0x11, 0x1, 0x6, 0xfe, 0xe7, 0xcd, 0x99, 0xbe, 0xa8, 0x3, 0xa, 0x6e, 0xcb, 0xd7, 0xd7, 0xca, 0x6e, 0x93, 0xa0, 0xb9, 0x7b, 0x0, 0x0, 0x1, 0x0, 0x89, 0x2, 0x9c, 0x2, 0xa5, 0x5, 0xdf, 0x0, 0x5, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x21, 0x35, 0x2, 0x15, 0x90, 0xfd, 0xe4, 0x3, 0xa, 0x2, 0xd5, 0xfc, 0xbd, 0x6e, 0x0, 0x2, 0x0, 0x77, 0xff, 0xe3, 0x6, 0x8a, 0x3, 0x7d, 0x0, 0xb, 0x0, 0x19, 0x0, 0x28, 0x40, 0x9, 0x3, 0x19, 0x17, 0x15, 0x9, 0x19, 0xf, 0x19, 0x1a, 0x10, 0xdc, 0xd4, 0xec, 0xd4, 0x39, 0xec, 0x31, 0x0, 0x40, 0xa, 0x6, 0x95, 0x12, 0x8c, 0x1a, 0x17, 0x0, 0x95, 0xc, 0x1a, 0x10, 0xd4, 0xec, 0x32, 0x10, 0xf4, 0xee, 0x30, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x32, 0x4, 0x15, 0x14, 0x4, 0x23, 0x22, 0x24, 0x35, 0x34, 0x37, 0x21, 0x35, 0x4, 0x8d, 0x9c, 0x8b, 0xc8, 0x5f, 0x5f, 0xc8, 0x98, 0x8f, 0xfa, 0x1, 0x3, 0xfe, 0xef, 0xec, 0xeb, 0xfe, 0xef, 0x4c, 0xfd, 0x9a, 0x2, 0xd3, 0xa6, 0x6e, 0xa8, 0x94, 0x94, 0xa8, 0x83, 0x91, 0xaa, 0xe1, 0xdd, 0xec, 0xf0, 0xf0, 0xec, 0xaa, 0x6a, 0xaa, 0xff, 0xff, 0x0, 0x46, 0xff, 0xe3, 0x6, 0x59, 0x6, 0xa, 0x10, 0x27, 0x2, 0x9c, 0x0, 0x69, 0xff, 0x4, 0x12, 0x6, 0x7, 0x6c, 0x0, 0x0, 0x0, 0x2, 0x0, 0x46, 0xff, 0xe3, 0x6, 0x59, 0x3, 0x7d, 0x0, 0xb, 0x0, 0x19, 0x0, 0x29, 0x40, 0xa, 0x9, 0x19, 0xf, 0x11, 0x3, 0x19, 0xd, 0x17, 0x10, 0x1a, 0x10, 0xfc, 0xc4, 0xec, 0xd4, 0x39, 0xec, 0x31, 0x0, 0x40, 0xa, 0x6, 0x95, 0x14, 0x8c, 0x1a, 0xf, 0x0, 0x95, 0xc, 0x1a, 0x10, 0xd4, 0xec, 0x32, 0x10, 0xf4, 0xee, 0x30, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x21, 0x15, 0x21, 0x16, 0x15, 0x14, 0x4, 0x23, 0x22, 0x24, 0x35, 0x34, 0x24, 0x2, 0x43, 0x8f, 0x99, 0xc8, 0x60, 0x5e, 0xc8, 0x8b, 0x9b, 0x4, 0x16, 0xfd, 0x99, 0x4d, 0xfe, 0xef, 0xeb, 0xec, 0xfe, 0xef, 0x1, 0x3, 0x2, 0xd3, 0x91, 0x83, 0xa8, 0x94, 0x94, 0xa8, 0x6e, 0xa6, 0xaa, 0xaa, 0x6a, 0xaa, 0xec, 0xf0, 0xf0, 0xec, 0xdd, 0xe1, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb, 0xff, 0xe3, 0x6, 0x1e, 0x5, 0x17, 0x10, 0x27, 0x16, 0xc1, 0x4, 0x69, 0xff, 0x3c, 0x12, 0x6, 0x7, 0x6c, 0xc5, 0x0, 0x0, 0x2, 0x0, 0x77, 0x0, 0x0, 0x6, 0x8a, 0x3, 0x9a, 0x0, 0xb, 0x0, 0x19, 0x0, 0x22, 0x40, 0x9, 0x9, 0x19, 0xf, 0x11, 0x3, 0x19, 0x17, 0xd, 0x1a, 0x10, 0xdc, 0xd4, 0xec, 0xd4, 0x39, 0xec, 0x31, 0x0, 0xb6, 0x6, 0x95, 0x13, 0x0, 0xf, 0x95, 0xc, 0x2f, 0xec, 0x32, 0xd4, 0xec, 0x30, 0x25, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x21, 0x35, 0x21, 0x26, 0x35, 0x34, 0x24, 0x33, 0x32, 0x4, 0x15, 0x14, 0x4, 0x4, 0x8d, 0x8f, 0x98, 0xc8, 0x5f, 0x5f, 0xc8, 0x8b, 0x9c, 0xfb, 0xea, 0x2, 0x66, 0x4c, 0x1, 0x11, 0xeb, 0xec, 0x1, 0x11, 0xfe, 0xfd, 0xaa, 0x91, 0x83, 0xa8, 0x94, 0x94, 0xa8, 0x6e, 0xa6, 0xaa, 0xaa, 0x6a, 0xaa, 0xec, 0xf0, 0xf0, 0xec, 0xdd, 0xe1, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x6, 0x8a, 0x5, 0x17, 0x10, 0x27, 0x16, 0xc1, 0x6, 0xaa, 0xff, 0x3c, 0x12, 0x6, 0x7, 0x6e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x6, 0x8a, 0x5, 0x15, 0x10, 0x27, 0x16, 0xb9, 0x6, 0xaa, 0xff, 0x3c, 0x12, 0x6, 0x7, 0x6e, 0x0, 0x0, 0x0, 0x2, 0x0, 0x46, 0x0, 0x0, 0x6, 0x59, 0x3, 0x9a, 0x0, 0xb, 0x0, 0x19, 0x0, 0x23, 0x40, 0xa, 0x3, 0x19, 0x17, 0x15, 0x9, 0x19, 0x18, 0xf, 0x10, 0x1a, 0x10, 0xfc, 0xc4, 0xec, 0xd4, 0x39, 0xec, 0x31, 0x0, 0xb6, 0x6, 0x95, 0x12, 0x0, 0x18, 0x95, 0xc, 0x2f, 0xec, 0x32, 0xd4, 0xec, 0x30, 0x25, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x22, 0x24, 0x35, 0x34, 0x24, 0x33, 0x32, 0x4, 0x15, 0x14, 0x7, 0x21, 0x15, 0x2, 0x43, 0x9b, 0x8b, 0xc8, 0x5e, 0x60, 0xc8, 0x99, 0x8f, 0xfa, 0xfe, 0xfd, 0x1, 0x11, 0xec, 0xeb, 0x1, 0x11, 0x4d, 0x2, 0x67, 0xaa, 0xa6, 0x6e, 0xa8, 0x94, 0x94, 0xa8, 0x83, 0x91, 0xaa, 0xe1, 0xdd, 0xec, 0xf0, 0xf0, 0xec, 0xaa, 0x6a, 0xaa, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0x0, 0x0, 0x6, 0x59, 0x5, 0x17, 0x10, 0x27, 0x16, 0xc1, 0x4, 0x54, 0xff, 0x3c, 0x12, 0x6, 0x7, 0x71, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xff, 0xe3, 0x8, 0x48, 0x3, 0x7d, 0x10, 0x27, 0x7, 0x6a, 0x1, 0xbe, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0xff, 0xe3, 0x7, 0xd0, 0x3, 0x7d, 0x10, 0x27, 0x6, 0xd6, 0x6, 0x3b, 0x0, 0x0, 0x10, 0x6, 0x7, 0x6a, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x8, 0x33, 0x3, 0x9a, 0x10, 0x27, 0x7, 0x71, 0x1, 0xda, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0x0, 0x0, 0x6, 0x59, 0x3, 0x9a, 0x10, 0x27, 0x6, 0xd6, 0x4, 0x79, 0x0, 0x0, 0x12, 0x6, 0x7, 0x71, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x8, 0x33, 0x5, 0x17, 0x10, 0x27, 0x7, 0x72, 0x1, 0xda, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0x0, 0x0, 0x6, 0x59, 0x5, 0x17, 0x12, 0x26, 0x7, 0x72, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0x79, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0x0, 0x0, 0x6, 0x59, 0x5, 0x15, 0x10, 0x27, 0x16, 0xb9, 0x4, 0x54, 0xff, 0x3c, 0x12, 0x6, 0x7, 0x71, 0x0, 0x0, 0x0, 0x2, 0x0, 0x89, 0x3, 0xdf, 0x4, 0x5c, 0x5, 0xe4, 0x0, 0xb, 0x0, 0x18, 0x0, 0x0, 0x1, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x22, 0x26, 0x35, 0x34, 0x36, 0x20, 0x16, 0x15, 0x14, 0x7, 0x21, 0x15, 0x1, 0xc9, 0x6a, 0x3e, 0x5f, 0x49, 0x45, 0x63, 0x49, 0x5f, 0x9d, 0xa3, 0xac, 0x1, 0x28, 0xac, 0x30, 0x1, 0x83, 0x4, 0x4d, 0x4a, 0x42, 0x53, 0x4b, 0x46, 0x58, 0x43, 0x49, 0x6e, 0x7e, 0x7c, 0x84, 0x87, 0x87, 0x84, 0x51, 0x3b, 0x6e, 0x0, 0x1, 0x0, 0x89, 0x2, 0x8b, 0x3, 0x2e, 0x5, 0xdf, 0x0, 0x11, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x6, 0x1, 0xdc, 0xa8, 0xab, 0x90, 0x61, 0x62, 0x61, 0x61, 0x90, 0xab, 0x2, 0x8b, 0x86, 0x84, 0x2, 0x4a, 0xfd, 0xb6, 0x50, 0x4d, 0x4d, 0x50, 0x2, 0x4a, 0xfd, 0xb6, 0x84, 0x86, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x89, 0x3, 0xdf, 0x4, 0x5c, 0x5, 0xe4, 0x0, 0xb, 0x0, 0x19, 0x0, 0x0, 0x1, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x30, 0x21, 0x35, 0x21, 0x26, 0x35, 0x34, 0x36, 0x20, 0x16, 0x15, 0x14, 0x6, 0x3, 0x1c, 0x5f, 0x49, 0x63, 0x45, 0x49, 0x5f, 0x3e, 0x6a, 0xfd, 0x6d, 0x1, 0x83, 0x30, 0xac, 0x1, 0x28, 0xac, 0xa3, 0x4, 0x4d, 0x49, 0x43, 0x58, 0x46, 0x4b, 0x53, 0x42, 0x4a, 0x6e, 0x6e, 0x3b, 0x51, 0x84, 0x87, 0x87, 0x84, 0x7c, 0x7e, 0x0, 0x0, 0x0, 0x1, 0x0, 0x77, 0x0, 0x0, 0x6, 0x8a, 0x3, 0x9a, 0x0, 0xf, 0x0, 0x1a, 0xb5, 0x0, 0x3, 0x19, 0xc, 0x8, 0x10, 0x10, 0xdc, 0xd4, 0xec, 0xcc, 0x31, 0x0, 0xb5, 0x6, 0x95, 0x9, 0x0, 0x95, 0xf, 0x2f, 0xec, 0xd4, 0xec, 0x30, 0x25, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x35, 0x21, 0x32, 0x4, 0x15, 0x14, 0x4, 0x23, 0x4, 0x8d, 0x62, 0xc5, 0x98, 0x8f, 0xfb, 0xea, 0x4, 0x16, 0xfa, 0x1, 0x3, 0xfe, 0xef, 0xec, 0xa5, 0x92, 0xa5, 0x83, 0x91, 0xaa, 0xe1, 0xdd, 0xec, 0xf0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0x0, 0x0, 0x6, 0x59, 0x6, 0xa, 0x10, 0x27, 0x2, 0x9c, 0x0, 0xa4, 0xff, 0x4, 0x12, 0x6, 0x7, 0x7f, 0x0, 0x0, 0x0, 0x1, 0x0, 0x46, 0x0, 0x0, 0x6, 0x59, 0x3, 0x9a, 0x0, 0xf, 0x0, 0x1b, 0xb6, 0x0, 0xd, 0x19, 0x8, 0x4, 0x10, 0x10, 0x10, 0xfc, 0xc4, 0xec, 0xcc, 0x31, 0x0, 0xb5, 0xa, 0x95, 0x7, 0x0, 0x95, 0x1, 0x2f, 0xec, 0xd4, 0xec, 0x30, 0x25, 0x15, 0x22, 0x24, 0x35, 0x34, 0x24, 0x33, 0x21, 0x15, 0x21, 0x22, 0x6, 0x15, 0x14, 0x16, 0x2, 0x43, 0xec, 0xfe, 0xef, 0x1, 0x3, 0xfa, 0x4, 0x16, 0xfb, 0xea, 0x8f, 0x99, 0xc6, 0xa5, 0xa5, 0xf0, 0xec, 0xdd, 0xe1, 0xaa, 0x91, 0x83, 0xa5, 0x92, 0x0, 0xff, 0xff, 0x0, 0x46, 0x0, 0x0, 0x6, 0x59, 0x5, 0x17, 0x10, 0x27, 0x16, 0xc1, 0x4, 0xa4, 0xff, 0x3c, 0x12, 0x6, 0x7, 0x7f, 0x0, 0x0, 0x0, 0x1, 0x0, 0x77, 0x0, 0x0, 0x6, 0x8a, 0x3, 0x9a, 0x0, 0xf, 0x0, 0x1a, 0xb5, 0x0, 0xd, 0x19, 0x4, 0x9, 0x10, 0x10, 0xdc, 0xd4, 0xec, 0xcc, 0x31, 0x0, 0xb5, 0x0, 0x95, 0x1, 0xa, 0x95, 0x7, 0x2f, 0xec, 0xd4, 0xec, 0x30, 0x1, 0x35, 0x32, 0x4, 0x15, 0x14, 0x4, 0x23, 0x21, 0x35, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x4, 0x8d, 0xec, 0x1, 0x11, 0xfe, 0xfd, 0xfa, 0xfb, 0xea, 0x4, 0x16, 0x8f, 0x98, 0xc5, 0x2, 0xf5, 0xa5, 0xf0, 0xec, 0xdd, 0xe1, 0xaa, 0x91, 0x83, 0xa5, 0x92, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x6, 0x8a, 0x5, 0x17, 0x10, 0x27, 0x16, 0xc1, 0x6, 0xaa, 0xff, 0x3c, 0x12, 0x6, 0x7, 0x81, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x6, 0x8a, 0x5, 0x15, 0x10, 0x27, 0x16, 0xb9, 0x6, 0xaa, 0xff, 0x3c, 0x12, 0x6, 0x7, 0x81, 0x0, 0x0, 0x0, 0x1, 0x0, 0x46, 0x0, 0x0, 0x6, 0x59, 0x3, 0x9a, 0x0, 0xf, 0x0, 0x1b, 0xb6, 0x0, 0x3, 0x19, 0x8, 0xc, 0x10, 0x10, 0x10, 0xfc, 0xc4, 0xec, 0xcc, 0x31, 0x0, 0xb5, 0x0, 0x95, 0xf, 0x6, 0x95, 0x9, 0x2f, 0xec, 0xd4, 0xec, 0x30, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x21, 0x15, 0x21, 0x22, 0x24, 0x35, 0x34, 0x24, 0x33, 0x2, 0x43, 0x62, 0xc6, 0x99, 0x8f, 0x4, 0x16, 0xfb, 0xea, 0xfa, 0xfe, 0xfd, 0x1, 0x11, 0xec, 0x2, 0xf5, 0x92, 0xa5, 0x83, 0x91, 0xaa, 0xe1, 0xdd, 0xec, 0xf0, 0xff, 0xff, 0x0, 0x46, 0x0, 0x0, 0x6, 0x59, 0x5, 0x17, 0x10, 0x27, 0x16, 0xc1, 0x4, 0xa4, 0xff, 0x3c, 0x12, 0x6, 0x7, 0x84, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x8, 0x48, 0x3, 0x9a, 0x10, 0x27, 0x7, 0x7d, 0x1, 0xbe, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x7, 0xd0, 0x3, 0x9a, 0x10, 0x26, 0x7, 0x7d, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x6, 0x3b, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x8, 0x33, 0x3, 0x9a, 0x10, 0x27, 0x7, 0x7f, 0x1, 0xda, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0x0, 0x0, 0x7, 0xc6, 0x3, 0x9a, 0x10, 0x26, 0x7, 0x7f, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x6, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x8, 0x33, 0x5, 0x17, 0x10, 0x27, 0x7, 0x80, 0x1, 0xda, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0x0, 0x0, 0x7, 0xc6, 0x5, 0x17, 0x10, 0x26, 0x7, 0x80, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x6, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x8, 0x48, 0x3, 0x9a, 0x10, 0x27, 0x7, 0x81, 0x1, 0xbe, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x7, 0xd0, 0x3, 0x9a, 0x10, 0x26, 0x7, 0x81, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x6, 0x3b, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x8, 0x48, 0x5, 0x17, 0x10, 0x27, 0x7, 0x82, 0x1, 0xbe, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x7, 0xd0, 0x5, 0x17, 0x10, 0x26, 0x7, 0x82, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x6, 0x3b, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x8, 0x33, 0x3, 0x9a, 0x10, 0x27, 0x7, 0x84, 0x1, 0xda, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0x0, 0x0, 0x7, 0xc6, 0x3, 0x9a, 0x10, 0x26, 0x7, 0x84, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x6, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x8, 0x33, 0x5, 0x17, 0x10, 0x27, 0x7, 0x85, 0x1, 0xda, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0x0, 0x0, 0x7, 0xc6, 0x5, 0x17, 0x10, 0x26, 0x7, 0x85, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x6, 0x31, 0x0, 0x0, 0x0, 0x1, 0x0, 0x89, 0x3, 0xdf, 0x4, 0x5c, 0x5, 0xe4, 0x0, 0xf, 0x0, 0x0, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x21, 0x15, 0x21, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x1, 0xdc, 0x52, 0x69, 0x50, 0x59, 0x2, 0x92, 0xfd, 0x6e, 0x9e, 0xa3, 0xac, 0xa7, 0x5, 0x76, 0x44, 0x5a, 0x48, 0x43, 0x6e, 0x7e, 0x83, 0x7d, 0x87, 0x0, 0x0, 0x1, 0x0, 0x77, 0x0, 0x0, 0x5, 0x5e, 0x5, 0xd5, 0x0, 0xc, 0x0, 0x0, 0x25, 0x15, 0x1, 0x35, 0x2d, 0x1, 0x35, 0x1, 0x15, 0xd, 0x1, 0x15, 0x5, 0x5, 0x5e, 0xfb, 0x19, 0x3, 0x6a, 0xfc, 0x96, 0x4, 0xe7, 0xfc, 0x14, 0x3, 0xec, 0xfc, 0x14, 0xb6, 0xb6, 0x1, 0x32, 0xe4, 0xd4, 0xd5, 0xe4, 0x1, 0x32, 0xbb, 0xe9, 0xec, 0xb8, 0xe9, 0x0, 0x0, 0x0, 0x1, 0x0, 0x46, 0x0, 0x0, 0x4, 0xa, 0x5, 0xd5, 0x0, 0xc, 0x0, 0x1c, 0xb7, 0x7, 0x1c, 0x4, 0x3f, 0x0, 0x1c, 0xb, 0xd, 0x10, 0xdc, 0xec, 0xfc, 0xec, 0x31, 0x0, 0xb5, 0x3, 0x95, 0x7, 0xb, 0x81, 0x6, 0x2f, 0xf4, 0xd4, 0xec, 0x30, 0x1, 0x10, 0x0, 0x21, 0x33, 0x11, 0x23, 0x11, 0x24, 0x0, 0x11, 0x35, 0x33, 0x1, 0x10, 0x1, 0x54, 0x1, 0x43, 0x63, 0xca, 0xfe, 0xfa, 0xfe, 0xc, 0xca, 0x5, 0xa8, 0xfe, 0x99, 0xfe, 0xbd, 0xfd, 0x2, 0x2, 0x58, 0x3, 0x1, 0x6f, 0x1, 0x9d, 0x6e, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x32, 0x8, 0x4b, 0x10, 0x27, 0x2, 0x9c, 0x2, 0x20, 0x1, 0x45, 0x12, 0x6, 0x7, 0x98, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8d, 0x5, 0xd5, 0x0, 0xc, 0x0, 0x1e, 0x40, 0x9, 0x1, 0x1c, 0x2, 0x3f, 0x6, 0x1c, 0x8, 0x4, 0xd, 0x10, 0xfc, 0xec, 0xfc, 0xec, 0x31, 0x0, 0xb5, 0xa, 0x95, 0x6, 0x1, 0x81, 0x8, 0x2f, 0xf4, 0xd4, 0xec, 0x30, 0x1, 0x35, 0x33, 0x15, 0x10, 0x0, 0x5, 0x11, 0x23, 0x11, 0x33, 0x20, 0x0, 0x3, 0xc3, 0xca, 0xfe, 0xc, 0xfe, 0xfa, 0xca, 0x63, 0x1, 0x43, 0x1, 0x54, 0x5, 0xa8, 0x2d, 0x6e, 0xfe, 0x63, 0xfe, 0x91, 0x3, 0xfd, 0xa8, 0x2, 0xfe, 0x1, 0x43, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8d, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x6, 0x20, 0x1, 0x74, 0x12, 0x6, 0x7, 0x98, 0x0, 0x0, 0x0, 0x1, 0x0, 0x46, 0x0, 0x0, 0x4, 0xa, 0x5, 0xd5, 0x0, 0xc, 0x0, 0x1c, 0xb7, 0x6, 0x1c, 0x9, 0x3f, 0x0, 0x1c, 0x3, 0xd, 0x10, 0xdc, 0xec, 0xfc, 0xec, 0x31, 0x0, 0xb5, 0xa, 0x95, 0x6, 0x7, 0x81, 0x2, 0x2f, 0xe4, 0xd4, 0xec, 0x30, 0x25, 0x15, 0x23, 0x35, 0x10, 0x0, 0x25, 0x11, 0x33, 0x11, 0x23, 0x20, 0x0, 0x1, 0x10, 0xca, 0x1, 0xf4, 0x1, 0x6, 0xca, 0x63, 0xfe, 0xbd, 0xfe, 0xac, 0x2d, 0x2d, 0x6e, 0x1, 0x9d, 0x1, 0x6f, 0x3, 0x2, 0x58, 0xfd, 0x2, 0xfe, 0xbd, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0x0, 0x0, 0x4, 0xa, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x5, 0xa3, 0x1, 0x74, 0x12, 0x6, 0x7, 0x9a, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0x0, 0x0, 0x4, 0xcc, 0x7, 0x4e, 0x10, 0x27, 0x16, 0xb9, 0x5, 0xa3, 0x1, 0x75, 0x12, 0x6, 0x7, 0x9a, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8d, 0x5, 0xd5, 0x0, 0xc, 0x0, 0x1e, 0x40, 0x9, 0x0, 0x1c, 0xa, 0x3f, 0x6, 0x1c, 0x5, 0x4, 0xd, 0x10, 0xfc, 0xec, 0xfc, 0xec, 0x31, 0x0, 0xb5, 0x3, 0x95, 0x7, 0x5, 0x81, 0xb, 0x2f, 0xe4, 0xd4, 0xec, 0x30, 0x25, 0x10, 0x0, 0x21, 0x23, 0x11, 0x33, 0x11, 0x4, 0x0, 0x11, 0x15, 0x23, 0x3, 0xc3, 0xfe, 0xac, 0xfe, 0xbd, 0x63, 0xca, 0x1, 0x6, 0x1, 0xf4, 0xca, 0x2d, 0x1, 0x67, 0x1, 0x43, 0x2, 0xfe, 0xfd, 0xa8, 0x3, 0xfe, 0x91, 0xfe, 0x63, 0x6e, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8d, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x3, 0x33, 0x1, 0x74, 0x12, 0x6, 0x7, 0x9d, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xe4, 0x5, 0xd5, 0x10, 0x27, 0x7, 0x96, 0x1, 0xda, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0x0, 0x0, 0x5, 0x91, 0x5, 0xd5, 0x10, 0x27, 0x6, 0xd6, 0x3, 0xfc, 0x0, 0x0, 0x10, 0x6, 0x7, 0x96, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x10, 0x5, 0xd5, 0x10, 0x27, 0x7, 0x98, 0x1, 0x83, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xb4, 0x5, 0xd5, 0x10, 0x27, 0x6, 0xd6, 0x4, 0x1f, 0x0, 0x0, 0x10, 0x6, 0x7, 0x98, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x10, 0x7, 0x4f, 0x10, 0x27, 0x7, 0x99, 0x1, 0x83, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xb4, 0x7, 0x4f, 0x10, 0x26, 0x7, 0x99, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0x1f, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xe4, 0x5, 0xd5, 0x10, 0x27, 0x7, 0x9a, 0x1, 0xda, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0x0, 0x0, 0x5, 0x91, 0x5, 0xd5, 0x10, 0x26, 0x7, 0x9a, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x3, 0xfc, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xe4, 0x7, 0x4f, 0x10, 0x27, 0x7, 0x9b, 0x1, 0xda, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0x0, 0x0, 0x5, 0x91, 0x7, 0x4f, 0x10, 0x26, 0x7, 0x9b, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x3, 0xfc, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x10, 0x5, 0xd5, 0x10, 0x27, 0x7, 0x9d, 0x1, 0x83, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xb4, 0x5, 0xd5, 0x10, 0x26, 0x7, 0x9d, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0x1f, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x10, 0x7, 0x4f, 0x10, 0x27, 0x7, 0x9e, 0x1, 0x83, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xb4, 0x7, 0x4f, 0x10, 0x26, 0x7, 0x9e, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0x1f, 0x0, 0x0, 0xff, 0xff, 0x0, 0xf0, 0x0, 0x0, 0x6, 0x10, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x15, 0x0, 0x0, 0x10, 0x7, 0x7, 0x9d, 0x1, 0x83, 0x0, 0x0, 0x0, 0x1, 0x0, 0x89, 0x2, 0x9c, 0x2, 0xe8, 0x5, 0xdf, 0x0, 0xc, 0x0, 0x1e, 0xb6, 0xc, 0x5d, 0xb, 0x7, 0x5d, 0x4, 0xd, 0x10, 0xdc, 0xec, 0xd4, 0xec, 0x31, 0x0, 0xb7, 0x7, 0xdd, 0x4, 0xc, 0xf7, 0x5, 0x91, 0xd, 0x10, 0xf4, 0xf4, 0xdc, 0xec, 0x30, 0x1, 0x34, 0x26, 0x2b, 0x1, 0x11, 0x33, 0x11, 0x1e, 0x1, 0x1d, 0x1, 0x23, 0x2, 0x58, 0xb8, 0xcf, 0x48, 0x90, 0xe3, 0xec, 0x90, 0x2, 0xc6, 0xc7, 0x9c, 0x1, 0xb6, 0xfe, 0xb9, 0x15, 0xe5, 0xac, 0x56, 0x0, 0x0, 0x0, 0x1, 0x0, 0x89, 0x2, 0x8b, 0x2, 0xec, 0x5, 0xee, 0x0, 0x2b, 0x0, 0x0, 0x1, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x17, 0x16, 0x1f, 0x1, 0x16, 0x17, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2f, 0x1, 0x26, 0x27, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x2, 0xb8, 0x43, 0x77, 0x37, 0x42, 0x68, 0x23, 0x2d, 0x38, 0x47, 0x7f, 0x43, 0x3e, 0xa9, 0xa4, 0x3d, 0x8b, 0x4a, 0x47, 0x89, 0x42, 0x41, 0x6d, 0x27, 0x2e, 0x2f, 0x47, 0x7f, 0x3f, 0x3b, 0xa2, 0x8f, 0x3d, 0x7e, 0x5, 0xc3, 0x87, 0x1f, 0x1e, 0x48, 0x29, 0x40, 0x13, 0x1c, 0xf, 0xe, 0x18, 0x40, 0x3c, 0x66, 0x79, 0x7e, 0x1b, 0x1a, 0x84, 0x27, 0x27, 0x4c, 0x38, 0x3d, 0x23, 0x28, 0x9, 0xd, 0x17, 0x3b, 0x36, 0x5f, 0x6f, 0x80, 0x16, 0x0, 0x0, 0x0, 0x1, 0x0, 0x89, 0x2, 0x9c, 0x2, 0xe8, 0x5, 0xdf, 0x0, 0xe, 0x0, 0x0, 0x1, 0x30, 0x15, 0x23, 0x35, 0x34, 0x36, 0x37, 0x30, 0x11, 0x33, 0x11, 0x23, 0x22, 0x6, 0x1, 0x19, 0x90, 0xec, 0xe3, 0x90, 0x48, 0xcf, 0xb8, 0x2, 0xc6, 0x2a, 0x56, 0xac, 0xe5, 0x15, 0x1, 0x47, 0xfe, 0x4a, 0x9c, 0x0, 0x0, 0x0, 0x1, 0x0, 0x46, 0xff, 0xe3, 0x5, 0x6c, 0x5, 0xf2, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x33, 0x10, 0x6, 0x23, 0x22, 0x26, 0x19, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x10, 0x36, 0x33, 0x32, 0x16, 0x11, 0x3, 0x3e, 0x56, 0x5c, 0x60, 0x52, 0xca, 0xba, 0xc2, 0xaa, 0xd2, 0x56, 0x5c, 0x60, 0x52, 0xca, 0xba, 0xc2, 0xaa, 0xd2, 0x1, 0xbe, 0xd3, 0x68, 0x5a, 0xe1, 0xfe, 0xe7, 0xc2, 0xb7, 0x1, 0x25, 0x2, 0x58, 0xd3, 0x68, 0x5a, 0xe1, 0x1, 0x19, 0xc2, 0xb7, 0xfe, 0xdb, 0x0, 0x0, 0x0, 0x1, 0x0, 0x46, 0xff, 0xe3, 0x5, 0x6c, 0x5, 0xf2, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x11, 0x10, 0x36, 0x33, 0x32, 0x16, 0x11, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x10, 0x6, 0x23, 0x22, 0x26, 0x11, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x2, 0x74, 0xd2, 0xaa, 0xc2, 0xba, 0xca, 0x52, 0x60, 0x5c, 0x56, 0xd2, 0xaa, 0xc2, 0xba, 0xca, 0x52, 0x60, 0x5c, 0x56, 0x1, 0xbe, 0x2, 0x58, 0x1, 0x25, 0xb7, 0xc2, 0xfe, 0xe7, 0xe1, 0x5a, 0x68, 0xd3, 0xfd, 0xa8, 0xfe, 0xdb, 0xb7, 0xc2, 0x1, 0x19, 0xe1, 0x5a, 0x68, 0x0, 0xff, 0xff, 0x0, 0x46, 0xff, 0xe3, 0x5, 0x6c, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x5, 0xf3, 0x1, 0x74, 0x10, 0x6, 0x7, 0xb2, 0x0, 0x0, 0x0, 0x1, 0x0, 0x46, 0xff, 0xe3, 0x6, 0xdc, 0x3, 0xb7, 0x0, 0x27, 0x0, 0x0, 0x1, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x35, 0x20, 0x12, 0x15, 0x6, 0x2, 0x21, 0x22, 0x2, 0x2f, 0x1, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x15, 0x22, 0x2, 0x35, 0x34, 0x12, 0x21, 0x32, 0x12, 0x17, 0x3, 0xfa, 0x21, 0x84, 0x72, 0x7a, 0x7c, 0x4b, 0xab, 0x1, 0x3, 0xc8, 0x1, 0xa3, 0xfe, 0xd9, 0xac, 0xd7, 0x34, 0x32, 0x20, 0x84, 0x73, 0x7f, 0x77, 0x55, 0xa1, 0xf9, 0xd2, 0xa4, 0x1, 0x27, 0xad, 0xd6, 0x34, 0x1, 0xb0, 0x58, 0xcb, 0xa7, 0x7c, 0x60, 0xe5, 0xa5, 0xfe, 0xc3, 0xad, 0x95, 0xfe, 0xc8, 0x1, 0x19, 0x7e, 0x70, 0x58, 0xcb, 0xa7, 0x7c, 0x60, 0xe5, 0xa5, 0x1, 0x4a, 0xa0, 0x9a, 0x1, 0x33, 0xfe, 0xe7, 0x7e, 0xff, 0xff, 0x0, 0x46, 0xff, 0xe3, 0x6, 0xdc, 0x5, 0x17, 0x10, 0x27, 0x16, 0xc1, 0x5, 0x8b, 0xff, 0x3c, 0x10, 0x6, 0x7, 0xb4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x46, 0xff, 0xe3, 0x6, 0xdc, 0x3, 0xb7, 0x0, 0x27, 0x0, 0x0, 0x1, 0x37, 0x36, 0x12, 0x33, 0x20, 0x12, 0x17, 0x14, 0x2, 0x23, 0x35, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0xf, 0x1, 0x6, 0x2, 0x23, 0x20, 0x2, 0x27, 0x34, 0x12, 0x21, 0x15, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3, 0x28, 0x32, 0x34, 0xd7, 0xac, 0x1, 0x27, 0xa3, 0x1, 0xd2, 0xf9, 0xa1, 0x55, 0x76, 0x80, 0x72, 0x84, 0x21, 0x32, 0x34, 0xd6, 0xad, 0xfe, 0xd9, 0xa3, 0x1, 0xc8, 0x1, 0x3, 0xab, 0x4b, 0x7c, 0x7a, 0x73, 0x84, 0x1, 0xb0, 0x70, 0x7e, 0x1, 0x19, 0xfe, 0xc8, 0x95, 0xa6, 0xfe, 0xbc, 0xa5, 0xe5, 0x60, 0x7c, 0xa7, 0xcb, 0x58, 0x70, 0x7e, 0xfe, 0xe7, 0x1, 0x38, 0x95, 0xad, 0x1, 0x3d, 0xa5, 0xe5, 0x60, 0x7c, 0xa7, 0xcb, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0xff, 0xe3, 0x6, 0xdc, 0x5, 0x17, 0x10, 0x27, 0x16, 0xc1, 0x5, 0x8b, 0xff, 0x3c, 0x10, 0x6, 0x7, 0xb6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xff, 0xe3, 0x7, 0x1, 0x5, 0xf2, 0x10, 0x26, 0x6, 0xd6, 0x0, 0x0, 0x10, 0x7, 0x7, 0xb1, 0x1, 0x95, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0xff, 0xe3, 0x6, 0x83, 0x5, 0xf2, 0x10, 0x26, 0x7, 0xb1, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0xee, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xff, 0xe3, 0x7, 0x1, 0x5, 0xf2, 0x10, 0x27, 0x7, 0xb2, 0x1, 0x95, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0xff, 0xe3, 0x6, 0x83, 0x5, 0xf2, 0x10, 0x26, 0x7, 0xb2, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0xee, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xff, 0xe3, 0x7, 0x1, 0x7, 0x4f, 0x10, 0x27, 0x7, 0xb3, 0x1, 0x95, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0xff, 0xe3, 0x6, 0x83, 0x7, 0x4f, 0x10, 0x26, 0x7, 0xb3, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0xee, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xff, 0xe3, 0x8, 0xd9, 0x3, 0xb7, 0x10, 0x27, 0x7, 0xb4, 0x1, 0xfd, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0xff, 0xe3, 0x8, 0x55, 0x3, 0xb7, 0x10, 0x27, 0x6, 0xd6, 0x6, 0xc0, 0x0, 0x0, 0x10, 0x6, 0x7, 0xb4, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xff, 0xe3, 0x8, 0xd9, 0x5, 0x17, 0x10, 0x27, 0x7, 0xb5, 0x1, 0xfd, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0xff, 0xe3, 0x8, 0x55, 0x5, 0x17, 0x10, 0x26, 0x7, 0xb5, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x6, 0xc0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xff, 0xe3, 0x8, 0xd9, 0x3, 0xb7, 0x10, 0x27, 0x7, 0xb6, 0x1, 0xfd, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0xff, 0xe3, 0x8, 0x55, 0x3, 0xb7, 0x10, 0x26, 0x7, 0xb6, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x6, 0xc0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xff, 0xe3, 0x8, 0xd9, 0x5, 0x17, 0x10, 0x27, 0x7, 0xb7, 0x1, 0xfd, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0xff, 0xe3, 0x8, 0x55, 0x5, 0x17, 0x10, 0x26, 0x7, 0xb7, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x6, 0xc0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x89, 0x3, 0xcf, 0x4, 0xaf, 0x5, 0xe6, 0x0, 0x27, 0x0, 0x0, 0x1, 0x3e, 0x2, 0x37, 0x32, 0x16, 0x17, 0x14, 0x6, 0x23, 0x35, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0xf, 0x1, 0xe, 0x1, 0x23, 0x22, 0x26, 0x27, 0x34, 0x36, 0x33, 0x15, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x2, 0x5b, 0x2a, 0x27, 0x73, 0x6f, 0xbe, 0x62, 0x1, 0x84, 0x9d, 0x49, 0x3d, 0x4a, 0x3c, 0x4b, 0x32, 0x17, 0x41, 0xb, 0x91, 0x73, 0xba, 0x66, 0x1, 0x7e, 0xa3, 0x4d, 0x38, 0x4b, 0x3a, 0x42, 0x45, 0x4, 0xcc, 0x46, 0x3d, 0x96, 0x1, 0xa8, 0x4d, 0x5d, 0xb5, 0x6e, 0x77, 0x2d, 0x1b, 0x6c, 0x41, 0x23, 0x76, 0x15, 0xba, 0xae, 0x54, 0x61, 0xb1, 0x6b, 0x79, 0x2e, 0x31, 0x65, 0x4d, 0x0, 0x1, 0x0, 0x77, 0x0, 0x0, 0x4, 0x3b, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x2e, 0xb5, 0x2, 0x1c, 0x8, 0x6, 0x4, 0x9, 0x10, 0xdc, 0xcc, 0xd4, 0xec, 0x31, 0x0, 0xb6, 0x42, 0x8, 0x95, 0x2, 0x6, 0x81, 0x0, 0x2f, 0xf4, 0xd4, 0xec, 0x30, 0x4b, 0x53, 0x58, 0xb7, 0x6, 0x11, 0x5, 0x7, 0x11, 0x4, 0x4, 0x5, 0x5, 0x7, 0x10, 0xed, 0x10, 0xed, 0x59, 0x21, 0x23, 0x11, 0x21, 0x35, 0x1, 0x33, 0x1, 0x21, 0x4, 0x3b, 0xca, 0xfd, 0x6, 0x2, 0x3d, 0xca, 0xfd, 0xc3, 0x2, 0xfa, 0x2, 0x58, 0xad, 0x2, 0xd0, 0xfd, 0x2d, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8d, 0x8, 0x4b, 0x10, 0x27, 0x2, 0x9c, 0xff, 0xe2, 0x1, 0x45, 0x12, 0x6, 0x7, 0xc9, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8d, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x2f, 0xb6, 0x4, 0x5, 0x7, 0x1c, 0x0, 0x4, 0x9, 0x10, 0xfc, 0xec, 0xd4, 0xcc, 0x31, 0x0, 0xb6, 0x42, 0x1, 0x95, 0x7, 0x3, 0x81, 0x0, 0x2f, 0xf4, 0xd4, 0xec, 0x30, 0x4b, 0x53, 0x58, 0xb7, 0x2, 0x11, 0x5, 0x3, 0x11, 0x4, 0x4, 0x5, 0x5, 0x7, 0x10, 0xed, 0x10, 0xed, 0x59, 0x33, 0x11, 0x21, 0x1, 0x33, 0x1, 0x15, 0x21, 0x11, 0xc9, 0x2, 0xfa, 0xfd, 0xc3, 0xca, 0x2, 0x3d, 0xfd, 0x6, 0x3, 0x2, 0x2, 0xd3, 0xfd, 0x30, 0xad, 0xfd, 0xa8, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8d, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x3, 0xe2, 0x1, 0x74, 0x12, 0x6, 0x7, 0xc9, 0x0, 0x0, 0x0, 0x1, 0x0, 0x77, 0x0, 0x0, 0x4, 0x3b, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x2e, 0xb5, 0x7, 0x1c, 0x1, 0x3, 0x6, 0x9, 0x10, 0xdc, 0xcc, 0xd4, 0xec, 0x31, 0x0, 0xb6, 0x42, 0x2, 0x95, 0x7, 0x0, 0x81, 0x4, 0x2f, 0xe4, 0xd4, 0xec, 0x30, 0x4b, 0x53, 0x58, 0xb7, 0x2, 0x11, 0x5, 0x3, 0x11, 0x4, 0x4, 0x5, 0x5, 0x7, 0x10, 0xed, 0x10, 0xed, 0x59, 0x1, 0x11, 0x21, 0x1, 0x23, 0x1, 0x35, 0x21, 0x11, 0x4, 0x3b, 0xfd, 0x6, 0x2, 0x3d, 0xca, 0xfd, 0xc3, 0x2, 0xfa, 0x5, 0xd5, 0xfc, 0xfe, 0xfd, 0x2d, 0x2, 0xd0, 0xad, 0x2, 0x58, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x4, 0x40, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x5, 0xda, 0x1, 0x74, 0x12, 0x6, 0x7, 0xcb, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x5, 0x3, 0x7, 0x4e, 0x10, 0x27, 0x16, 0xb9, 0x5, 0xda, 0x1, 0x75, 0x12, 0x6, 0x7, 0xcb, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8d, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x2f, 0xb6, 0x5, 0x4, 0x1, 0x1c, 0x0, 0x4, 0x9, 0x10, 0xfc, 0xec, 0xd4, 0xcc, 0x31, 0x0, 0xb6, 0x42, 0x7, 0x95, 0x3, 0x0, 0x81, 0x6, 0x2f, 0xe4, 0xd4, 0xec, 0x30, 0x4b, 0x53, 0x58, 0xb7, 0x6, 0x11, 0x5, 0x7, 0x11, 0x4, 0x4, 0x5, 0x5, 0x7, 0x10, 0xed, 0x10, 0xed, 0x59, 0x13, 0x33, 0x11, 0x21, 0x15, 0x1, 0x23, 0x1, 0x21, 0xc9, 0xca, 0x2, 0xfa, 0xfd, 0xc3, 0xca, 0x2, 0x3d, 0xfd, 0x6, 0x5, 0xd5, 0xfd, 0xa8, 0xad, 0xfd, 0x30, 0x2, 0xd3, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8d, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x3, 0x35, 0x1, 0x74, 0x12, 0x6, 0x7, 0xce, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xf8, 0x5, 0xd5, 0x10, 0x27, 0x7, 0xc7, 0x1, 0xbd, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x5, 0xc8, 0x5, 0xd5, 0x10, 0x27, 0x6, 0xd6, 0x4, 0x33, 0x0, 0x0, 0x10, 0x6, 0x7, 0xc7, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x10, 0x5, 0xd5, 0x10, 0x27, 0x7, 0xc9, 0x1, 0x83, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x15, 0x5, 0xd5, 0x10, 0x27, 0x6, 0xd6, 0x4, 0x80, 0x0, 0x0, 0x10, 0x6, 0x7, 0xc9, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x10, 0x7, 0x4f, 0x10, 0x27, 0x7, 0xca, 0x1, 0x83, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x15, 0x7, 0x4f, 0x10, 0x26, 0x7, 0xca, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0x80, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xf8, 0x5, 0xd5, 0x10, 0x27, 0x7, 0xcb, 0x1, 0xbd, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x5, 0xc8, 0x5, 0xd5, 0x10, 0x26, 0x7, 0xcb, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0x33, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xfd, 0x7, 0x4f, 0x10, 0x27, 0x7, 0xcc, 0x1, 0xbd, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x5, 0xc8, 0x7, 0x4f, 0x10, 0x26, 0x7, 0xcc, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0x33, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x10, 0x5, 0xd5, 0x10, 0x27, 0x7, 0xce, 0x1, 0x83, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x15, 0x5, 0xd5, 0x10, 0x26, 0x7, 0xce, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0x80, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x10, 0x7, 0x4f, 0x10, 0x27, 0x7, 0xcf, 0x1, 0x83, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x15, 0x7, 0x4f, 0x10, 0x26, 0x7, 0xcf, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x4, 0x80, 0x0, 0x0, 0xff, 0xff, 0x0, 0xf0, 0x0, 0x0, 0x6, 0x10, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x15, 0x0, 0x0, 0x10, 0x7, 0x7, 0xce, 0x1, 0x83, 0x0, 0x0, 0x0, 0x1, 0x0, 0x89, 0x2, 0x9b, 0x2, 0xe8, 0x5, 0xdf, 0x0, 0x8, 0x0, 0x34, 0xb6, 0x5, 0x7, 0x3, 0x2, 0x5d, 0x8, 0x9, 0x10, 0xdc, 0xec, 0xd4, 0x39, 0xcc, 0x31, 0x0, 0x40, 0x9, 0x42, 0x2, 0xdd, 0x8, 0x5, 0xf7, 0x0, 0x91, 0x9, 0x10, 0xf4, 0xf4, 0xdc, 0xec, 0x30, 0x4b, 0x53, 0x58, 0xb7, 0x6, 0x7d, 0x5, 0x7, 0x7d, 0x4, 0x4, 0x5, 0x7, 0x10, 0x5, 0xed, 0x10, 0xed, 0x59, 0x13, 0x33, 0x11, 0x21, 0x15, 0x1, 0x23, 0x1, 0x21, 0x89, 0x90, 0x1, 0xcf, 0xfe, 0xa5, 0x91, 0x1, 0x6d, 0xfe, 0x20, 0x5, 0xdf, 0xfe, 0xb7, 0x79, 0xfe, 0x7e, 0x1, 0x8d, 0x0, 0xff, 0xff, 0x0, 0x89, 0x3, 0x31, 0x2, 0xad, 0x5, 0x56, 0x12, 0x6, 0x6, 0xd8, 0x0, 0x0, 0x0, 0x1, 0x0, 0x89, 0x2, 0x9c, 0x3, 0x6f, 0x5, 0xdf, 0x0, 0xb, 0x0, 0x0, 0x13, 0x33, 0x1b, 0x1, 0x33, 0x9, 0x1, 0x23, 0xb, 0x1, 0x23, 0x1, 0xb0, 0x91, 0xc5, 0xc6, 0x91, 0xfe, 0xed, 0x1, 0x25, 0x91, 0xe1, 0xe3, 0x91, 0x1, 0x2f, 0x5, 0xdf, 0xfe, 0xde, 0x1, 0x22, 0xfe, 0x79, 0xfe, 0x44, 0x1, 0x52, 0xfe, 0xae, 0x1, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0xff, 0xe3, 0x6, 0xdc, 0x3, 0x7d, 0x0, 0x13, 0x0, 0x27, 0x40, 0x9, 0x9, 0x1c, 0xc, 0x1, 0x1c, 0xa, 0x0, 0x4, 0x14, 0x10, 0xfc, 0xc4, 0xec, 0xd4, 0xec, 0x31, 0x0, 0x40, 0xa, 0x5, 0x95, 0x10, 0x8c, 0x14, 0xc, 0x95, 0x9, 0x0, 0x14, 0x10, 0xd4, 0x3c, 0xec, 0x10, 0xf4, 0xee, 0x30, 0x13, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x21, 0x15, 0x21, 0x11, 0x14, 0x4, 0x23, 0x22, 0x24, 0x35, 0xc9, 0xca, 0xce, 0x65, 0x5e, 0xd4, 0x2, 0xe4, 0xfd, 0xe6, 0xfe, 0xef, 0xeb, 0xec, 0xfe, 0xef, 0x3, 0x7d, 0xfe, 0x42, 0xa4, 0x98, 0x94, 0xa8, 0x1, 0xbe, 0xaa, 0xfe, 0xec, 0xec, 0xf0, 0xf0, 0xec, 0x0, 0x0, 0x0, 0x1, 0x0, 0x77, 0xff, 0xe3, 0x6, 0x8a, 0x3, 0x7d, 0x0, 0x13, 0x0, 0x25, 0xb7, 0xb, 0x1c, 0x8, 0x13, 0x1c, 0x0, 0xa, 0x14, 0x10, 0xdc, 0xd4, 0xec, 0xd4, 0xec, 0x31, 0x0, 0x40, 0xa, 0xf, 0x95, 0x4, 0x8c, 0x14, 0x8, 0x95, 0xa, 0x0, 0x14, 0x10, 0xd4, 0x3c, 0xec, 0x10, 0xf4, 0xee, 0x30, 0x1, 0x11, 0x14, 0x4, 0x23, 0x22, 0x24, 0x35, 0x11, 0x21, 0x35, 0x21, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x6, 0x8a, 0xfe, 0xef, 0xec, 0xeb, 0xfe, 0xef, 0xfd, 0xe6, 0x2, 0xe4, 0xd3, 0x5f, 0x65, 0xce, 0x3, 0x7d, 0xfe, 0x42, 0xec, 0xf0, 0xf0, 0xec, 0x1, 0x14, 0xaa, 0xfe, 0x42, 0xa8, 0x94, 0x98, 0xa4, 0x1, 0xbe, 0x0, 0x0, 0x0, 0x1, 0x0, 0x77, 0x0, 0x0, 0x6, 0x8a, 0x3, 0x9a, 0x0, 0x13, 0x0, 0x1f, 0xb7, 0x9, 0x1c, 0xd, 0x1, 0x1c, 0x0, 0xa, 0x14, 0x10, 0xdc, 0xd4, 0xec, 0xd4, 0xec, 0x31, 0x0, 0xb6, 0x5, 0x95, 0x10, 0xc, 0x95, 0xa, 0x0, 0x2f, 0x3c, 0xec, 0xd4, 0xec, 0x30, 0x21, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x21, 0x35, 0x21, 0x11, 0x34, 0x24, 0x33, 0x32, 0x4, 0x15, 0x6, 0x8a, 0xca, 0xce, 0x65, 0x5f, 0xd3, 0xfd, 0x1c, 0x2, 0x1a, 0x1, 0x11, 0xeb, 0xec, 0x1, 0x11, 0x1, 0xbe, 0xa4, 0x98, 0x94, 0xa8, 0xfe, 0x42, 0xaa, 0x1, 0x14, 0xec, 0xf0, 0xf0, 0xec, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0xdc, 0x6, 0xa, 0x10, 0x27, 0x2, 0x9c, 0x0, 0xc0, 0xff, 0x4, 0x10, 0x6, 0x7, 0xe6, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x6, 0xdc, 0x3, 0x9a, 0x0, 0x13, 0x0, 0x21, 0x40, 0x9, 0xb, 0x1c, 0x7, 0x13, 0x1c, 0x9, 0x0, 0x4, 0x14, 0x10, 0xfc, 0xc4, 0xec, 0xd4, 0xec, 0x31, 0x0, 0xb6, 0xf, 0x95, 0x4, 0x8, 0x95, 0xa, 0x0, 0x2f, 0x3c, 0xec, 0xd4, 0xec, 0x30, 0x33, 0x11, 0x34, 0x24, 0x33, 0x32, 0x4, 0x15, 0x11, 0x21, 0x15, 0x21, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0xc9, 0x1, 0x11, 0xec, 0xeb, 0x1, 0x11, 0x2, 0x1a, 0xfd, 0x1c, 0xd4, 0x5e, 0x65, 0xce, 0x1, 0xbe, 0xec, 0xf0, 0xf0, 0xec, 0xfe, 0xec, 0xaa, 0x1, 0xbe, 0xa8, 0x94, 0x98, 0xa4, 0xfe, 0x42, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0xdc, 0x5, 0x17, 0x10, 0x27, 0x16, 0xc1, 0x4, 0xc0, 0xff, 0x3c, 0x12, 0x6, 0x7, 0xe6, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8d, 0x5, 0xd5, 0x0, 0x13, 0x0, 0x23, 0x40, 0xa, 0x10, 0x19, 0x5, 0x3f, 0xa, 0x1c, 0x0, 0xb, 0x4, 0x14, 0x10, 0xfc, 0x3c, 0xec, 0xfc, 0xec, 0x31, 0x0, 0xb7, 0xd, 0x95, 0x8, 0x0, 0x95, 0x1, 0x81, 0xb, 0x2f, 0xf4, 0xec, 0xd4, 0xec, 0x30, 0x13, 0x35, 0x21, 0x32, 0x4, 0x15, 0x14, 0x4, 0x2b, 0x1, 0x11, 0x23, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0xc9, 0x1, 0xc8, 0xfb, 0x1, 0x1, 0xfe, 0xff, 0xfb, 0xfe, 0xca, 0x1, 0xc8, 0x8d, 0x9a, 0x9a, 0x8d, 0x5, 0x2f, 0xa6, 0xe3, 0xdb, 0xdd, 0xe2, 0xfd, 0xa8, 0x2, 0xfe, 0x92, 0x87, 0x86, 0x92, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8d, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x4, 0x16, 0x1, 0x74, 0x12, 0x6, 0x7, 0xe8, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8d, 0x5, 0xd5, 0x0, 0x13, 0x0, 0x23, 0x40, 0xa, 0x4, 0x19, 0xf, 0x3f, 0xa, 0x1c, 0x0, 0x9, 0x4, 0x14, 0x10, 0xfc, 0x3c, 0xec, 0xfc, 0xec, 0x31, 0x0, 0xb7, 0x7, 0x95, 0xb, 0x0, 0x95, 0x9, 0x81, 0x13, 0x2f, 0xe4, 0xec, 0xd4, 0xec, 0x30, 0x37, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x11, 0x33, 0x11, 0x33, 0x32, 0x4, 0x15, 0x14, 0x4, 0x23, 0x21, 0xc9, 0x1, 0xc8, 0x8d, 0x9a, 0x9a, 0x8d, 0xfe, 0x38, 0xca, 0xfe, 0xfb, 0x1, 0x1, 0xfe, 0xff, 0xfb, 0xfe, 0x38, 0xa6, 0x92, 0x86, 0x87, 0x92, 0x2, 0xfe, 0xfd, 0xa8, 0xe2, 0xdd, 0xdb, 0xe3, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x46, 0x0, 0x0, 0x4, 0xa, 0x5, 0xd5, 0x0, 0x13, 0x0, 0x22, 0x40, 0x9, 0xb, 0x1c, 0x13, 0x8, 0x3f, 0x4, 0x19, 0xf, 0x14, 0x10, 0xdc, 0xec, 0xfc, 0x3c, 0xec, 0x31, 0x0, 0xb7, 0x7, 0x95, 0xb, 0x0, 0x95, 0x13, 0x81, 0xa, 0x2f, 0xf4, 0xec, 0xd4, 0xec, 0x30, 0x1, 0x21, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x21, 0x11, 0x23, 0x11, 0x23, 0x22, 0x24, 0x35, 0x34, 0x24, 0x33, 0x21, 0x4, 0xa, 0xfe, 0x38, 0x8d, 0x9a, 0x9a, 0x8d, 0x1, 0xc8, 0xca, 0xfe, 0xfb, 0xfe, 0xff, 0x1, 0x1, 0xfb, 0x1, 0xc8, 0x5, 0x2f, 0x92, 0x86, 0x87, 0x92, 0xfd, 0x2, 0x2, 0x58, 0xe2, 0xdd, 0xdb, 0xe3, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0x0, 0x0, 0x4, 0xa, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x4, 0x84, 0x1, 0x74, 0x12, 0x6, 0x7, 0xeb, 0x0, 0x0, 0x0, 0x1, 0x0, 0x46, 0x0, 0x0, 0x4, 0xa, 0x5, 0xd5, 0x0, 0x13, 0x0, 0x22, 0x40, 0x9, 0x9, 0x1c, 0xc, 0x0, 0x3f, 0x10, 0x19, 0x5, 0x14, 0x10, 0xdc, 0xec, 0xfc, 0x3c, 0xec, 0x31, 0x0, 0xb7, 0xd, 0x95, 0x9, 0x0, 0x95, 0xa, 0x81, 0x1, 0x2f, 0xe4, 0xec, 0xd4, 0xec, 0x30, 0x25, 0x15, 0x21, 0x22, 0x24, 0x35, 0x34, 0x24, 0x3b, 0x1, 0x11, 0x33, 0x11, 0x21, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x4, 0xa, 0xfe, 0x38, 0xfb, 0xfe, 0xff, 0x1, 0x1, 0xfb, 0xfe, 0xca, 0xfe, 0x38, 0x8d, 0x9a, 0x9a, 0x8d, 0xa6, 0xa6, 0xe3, 0xdb, 0xdd, 0xe2, 0x2, 0x58, 0xfd, 0x2, 0x92, 0x87, 0x86, 0x92, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xe4, 0x7, 0x4f, 0x10, 0x27, 0x7, 0xec, 0x1, 0xda, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x46, 0x0, 0x0, 0x5, 0x91, 0x7, 0x4f, 0x10, 0x27, 0x6, 0xd6, 0x3, 0xfc, 0x0, 0x0, 0x10, 0x6, 0x7, 0xec, 0x0, 0x0, 0x0, 0x1, 0x0, 0x89, 0x2, 0x9b, 0x2, 0xe8, 0x5, 0xdf, 0x0, 0x14, 0x0, 0x24, 0xb7, 0xb, 0x5d, 0x8, 0x0, 0x4, 0x7e, 0x10, 0x15, 0x10, 0xdc, 0xec, 0xd4, 0x3c, 0xec, 0x31, 0x0, 0x40, 0xa, 0x8, 0xdd, 0xb, 0x0, 0xdd, 0x9, 0xf7, 0x14, 0x91, 0x15, 0x10, 0xf4, 0xe4, 0xfc, 0xd4, 0xec, 0x30, 0x1, 0x21, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x21, 0x11, 0x23, 0x11, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x36, 0x33, 0x21, 0x2, 0xe8, 0xfe, 0xe1, 0x56, 0x52, 0x58, 0x50, 0x1, 0x1f, 0x90, 0x8f, 0x94, 0x5b, 0x51, 0xa2, 0x9e, 0x1, 0x1f, 0x5, 0x71, 0x45, 0x50, 0x42, 0x4a, 0xfe, 0x4b, 0x1, 0x48, 0x47, 0x3f, 0x7c, 0x7b, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x77, 0x0, 0x0, 0x5, 0x5e, 0x5, 0xd5, 0x0, 0xc, 0x0, 0x0, 0x37, 0x2d, 0x1, 0x35, 0x2d, 0x1, 0x35, 0x1, 0x15, 0xd, 0x1, 0x15, 0x1, 0x77, 0x3, 0xec, 0xfc, 0x14, 0x3, 0xec, 0xfc, 0x14, 0x4, 0xe7, 0xfc, 0x96, 0x3, 0x6a, 0xfb, 0x19, 0xb6, 0xee, 0xe9, 0xb8, 0xec, 0xe9, 0xbb, 0xfe, 0xce, 0xe4, 0xd5, 0xd4, 0xe4, 0xfe, 0xce, 0x0, 0x0, 0x2, 0x0, 0x96, 0x0, 0x0, 0x5, 0x68, 0x5, 0xf3, 0x0, 0xb, 0x0, 0x1c, 0x0, 0x50, 0xb6, 0x9, 0x17, 0x14, 0x3, 0x1a, 0xe, 0x1d, 0x10, 0xd4, 0xc4, 0xcc, 0xd4, 0x39, 0xcc, 0x31, 0x0, 0x40, 0x9, 0x42, 0x6, 0x17, 0x0, 0x11, 0x18, 0x19, 0xaf, 0x1c, 0x2f, 0xfc, 0x39, 0xd4, 0xcc, 0xd4, 0xcc, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x16, 0x16, 0x15, 0x17, 0x14, 0x18, 0x11, 0x1b, 0xc, 0x1c, 0x19, 0x11, 0x1a, 0x1b, 0x1a, 0x18, 0x11, 0x1c, 0x17, 0x11, 0xc, 0xc, 0x1c, 0x5, 0x7, 0x10, 0xed, 0x10, 0xed, 0x7, 0x10, 0xed, 0x8, 0x10, 0xed, 0x11, 0x12, 0x39, 0x39, 0x59, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x1, 0x26, 0x35, 0x34, 0x36, 0x17, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x9, 0x1, 0x33, 0x1, 0x23, 0x1, 0xa6, 0x34, 0x3c, 0x3c, 0x32, 0x2c, 0x42, 0x3a, 0xfe, 0xe7, 0x29, 0xb0, 0x60, 0x6a, 0xa7, 0x9f, 0x7e, 0x1, 0x22, 0x1, 0xda, 0xd2, 0xfd, 0xc7, 0xe5, 0x5, 0x4e, 0x2f, 0x30, 0x40, 0x2e, 0x42, 0x2c, 0x22, 0x3d, 0xfe, 0xbe, 0x6a, 0x79, 0x69, 0x9c, 0x1, 0x91, 0x73, 0x66, 0x9c, 0x8, 0xfc, 0xe2, 0x5, 0xe, 0xfa, 0x2b, 0x0, 0xff, 0xff, 0x0, 0x96, 0xff, 0xe2, 0x5, 0x68, 0x8, 0x4b, 0x10, 0x27, 0x2, 0x9c, 0x0, 0xc0, 0x1, 0x45, 0x12, 0x6, 0x7, 0xf4, 0x0, 0x0, 0x0, 0x2, 0x0, 0x96, 0xff, 0xe2, 0x5, 0x68, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x1c, 0x0, 0x50, 0xb6, 0x9, 0x3, 0x15, 0x9, 0xf, 0x1b, 0x1d, 0x10, 0xd4, 0xc4, 0xcc, 0xd4, 0x39, 0xcc, 0x31, 0x0, 0x40, 0x9, 0x42, 0x6, 0x12, 0x0, 0x18, 0x11, 0xd, 0xaf, 0x10, 0x2f, 0xec, 0x39, 0xd4, 0xcc, 0xd4, 0xcc, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x16, 0x14, 0x13, 0x1c, 0x15, 0x11, 0x11, 0xe, 0xc, 0xd, 0x10, 0x11, 0xf, 0xf, 0xe, 0x11, 0x11, 0xd, 0x12, 0x11, 0xc, 0xc, 0xd, 0x5, 0x7, 0x10, 0xed, 0x10, 0xed, 0x7, 0x10, 0xed, 0x8, 0x10, 0xed, 0x11, 0x12, 0x39, 0x39, 0x59, 0x25, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x3, 0x1, 0x33, 0x1, 0x23, 0x9, 0x1, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x6, 0x26, 0x35, 0x34, 0x1, 0xa6, 0x32, 0x3a, 0x42, 0x2c, 0x32, 0x3c, 0x3c, 0xb3, 0x1, 0x8b, 0xe5, 0x2, 0x39, 0xd2, 0xfe, 0x26, 0xfe, 0xde, 0x7e, 0x9f, 0xa7, 0x6a, 0x60, 0xb0, 0x87, 0x3d, 0x22, 0x2c, 0x42, 0x2e, 0x40, 0x30, 0x2f, 0x1, 0x42, 0x4, 0xc, 0xfa, 0x2b, 0x5, 0xe, 0xfc, 0xe2, 0x8, 0x9c, 0x66, 0x73, 0x91, 0x1, 0x9c, 0x69, 0x79, 0x0, 0xff, 0xff, 0x0, 0x96, 0xff, 0xe2, 0x5, 0x68, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x4, 0xc0, 0x1, 0x74, 0x12, 0x6, 0x7, 0xf4, 0x0, 0x0, 0x0, 0x2, 0x0, 0x4d, 0x0, 0x0, 0x5, 0x58, 0x5, 0x4b, 0x0, 0xb, 0x0, 0x1c, 0x0, 0x54, 0x40, 0xa, 0x3, 0xc, 0x9, 0x12, 0x1c, 0x1c, 0x19, 0x12, 0x1b, 0x1d, 0x10, 0xdc, 0xc4, 0xd4, 0xec, 0x10, 0xcc, 0xd4, 0xcc, 0x31, 0x0, 0xb7, 0x42, 0x0, 0xc, 0xf, 0x6, 0x1c, 0x15, 0x1a, 0x2f, 0xdc, 0x39, 0xcc, 0xd4, 0x39, 0xcc, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x16, 0xe, 0xd, 0xf, 0xc, 0x1c, 0x11, 0x19, 0x1a, 0x18, 0xc, 0x11, 0x17, 0x18, 0x17, 0x1c, 0x11, 0x19, 0x1b, 0x11, 0x1a, 0x19, 0x1a, 0x4, 0x7, 0x10, 0xed, 0x10, 0xed, 0x7, 0x10, 0xed, 0x10, 0x8, 0xed, 0x11, 0x12, 0x39, 0x39, 0x59, 0x1, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x25, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x1, 0x15, 0x1, 0x35, 0x1, 0x1, 0x5d, 0x32, 0x3a, 0x42, 0x2c, 0x32, 0x3c, 0x3c, 0x1, 0x44, 0xc, 0xa4, 0x60, 0x6d, 0xa3, 0xae, 0x47, 0x41, 0x4a, 0x3, 0x8b, 0xfb, 0x19, 0x4, 0x4d, 0x3, 0xdd, 0x3d, 0x22, 0x2c, 0x42, 0x2e, 0x40, 0x30, 0x2f, 0x3b, 0x61, 0x7f, 0xa1, 0x63, 0x8e, 0x81, 0x25, 0xfe, 0x36, 0xe4, 0xfd, 0x88, 0xb6, 0x2, 0x34, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x4d, 0x0, 0x0, 0x5, 0x58, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x4, 0xae, 0x1, 0x74, 0x12, 0x6, 0x7, 0xf6, 0x0, 0x0, 0x0, 0x2, 0x0, 0x77, 0x0, 0x0, 0x5, 0x82, 0x5, 0x4b, 0x0, 0xb, 0x0, 0x1c, 0x0, 0x52, 0x40, 0x9, 0x9, 0xc, 0x3, 0x17, 0xf, 0xd, 0x1c, 0x10, 0x1d, 0x10, 0xdc, 0xec, 0xd4, 0xd4, 0xcc, 0xd4, 0xcc, 0x31, 0x0, 0xb7, 0x42, 0x0, 0xc, 0x1a, 0x6, 0xd, 0x14, 0xf, 0x2f, 0xdc, 0x39, 0xcc, 0xd4, 0x39, 0xcc, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x16, 0x1c, 0x1b, 0x1a, 0xc, 0xd, 0x11, 0x10, 0xf, 0x11, 0xc, 0x11, 0x12, 0x11, 0x12, 0xd, 0x11, 0x10, 0xe, 0x11, 0xf, 0x10, 0xf, 0x4, 0x7, 0x10, 0xed, 0x10, 0xed, 0x7, 0x10, 0xed, 0x10, 0x8, 0xed, 0x11, 0x12, 0x39, 0x39, 0x59, 0x1, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x27, 0x9, 0x1, 0x15, 0x1, 0x35, 0x1, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x4, 0x72, 0x34, 0x3c, 0x3c, 0x32, 0x2c, 0x42, 0x3a, 0xde, 0xfd, 0xaf, 0x4, 0x4d, 0xfb, 0x19, 0x3, 0x8b, 0x4a, 0x41, 0x47, 0xae, 0xb4, 0x5a, 0x6e, 0x99, 0x3, 0xdd, 0x2f, 0x30, 0x40, 0x2e, 0x42, 0x2c, 0x22, 0x3d, 0x3b, 0xfe, 0xd2, 0xfd, 0xcc, 0xb6, 0x2, 0x78, 0xe4, 0x1, 0xca, 0x25, 0x81, 0x8e, 0x6d, 0x97, 0x87, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x5, 0x82, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x5, 0x31, 0x1, 0x74, 0x12, 0x6, 0x7, 0xf8, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x7, 0x17, 0x7, 0x4f, 0x10, 0x27, 0x7, 0xf9, 0x1, 0x95, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x7, 0x45, 0x7, 0x4f, 0x10, 0x26, 0x7, 0xf9, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x5, 0xb0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x89, 0x2, 0x9b, 0x3, 0xb2, 0x5, 0x90, 0x0, 0xb, 0x0, 0x20, 0x0, 0x0, 0x1, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x27, 0x5, 0x1, 0x15, 0x1, 0x35, 0x25, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x23, 0x22, 0x26, 0x3, 0x6, 0x21, 0x26, 0x26, 0x1f, 0x1c, 0x2a, 0x25, 0x88, 0xfe, 0xa1, 0x2, 0xa0, 0xfc, 0xe9, 0x2, 0x37, 0x2e, 0x29, 0x2c, 0x27, 0x48, 0x32, 0x30, 0x47, 0x1, 0x2, 0x40, 0x62, 0x4, 0xc2, 0x1b, 0x1b, 0x24, 0x19, 0x25, 0x18, 0x13, 0x23, 0x19, 0x9e, 0xfe, 0xd1, 0x73, 0x1, 0x62, 0x80, 0xfe, 0x14, 0x19, 0x2f, 0x4f, 0x3b, 0x2c, 0x2b, 0x49, 0x0, 0x0, 0x0, 0x2, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x5, 0xf2, 0x0, 0xa, 0x0, 0x27, 0x0, 0x0, 0x1, 0x32, 0x36, 0x35, 0x34, 0x26, 0x22, 0x6, 0x15, 0x14, 0x16, 0x7, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x19, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x1, 0xeb, 0x28, 0x42, 0x3a, 0x64, 0x3a, 0x42, 0x42, 0xae, 0xc3, 0xc2, 0xae, 0xcb, 0xfe, 0xdf, 0xfe, 0xe6, 0xfe, 0xe5, 0xfe, 0xdf, 0xad, 0x8a, 0x6a, 0xa7, 0x49, 0x4a, 0x7e, 0x3c, 0x4, 0x80, 0x42, 0x2c, 0x22, 0x3e, 0x3e, 0x22, 0x2c, 0x42, 0x88, 0xfe, 0x52, 0xf0, 0xd3, 0xd3, 0xf0, 0x3, 0x8b, 0xfc, 0x5c, 0xfe, 0xdc, 0xfe, 0xd6, 0x1, 0x2a, 0x1, 0x24, 0x2, 0xb2, 0x6a, 0xa5, 0x90, 0x74, 0x5f, 0x55, 0x56, 0x0, 0x2, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x5, 0xf2, 0x0, 0xa, 0x0, 0x27, 0x0, 0x0, 0x1, 0x32, 0x36, 0x35, 0x34, 0x26, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x19, 0x1, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x3, 0xf0, 0x2c, 0x42, 0x3a, 0x64, 0x3a, 0x42, 0x96, 0x30, 0x3c, 0x7e, 0x4a, 0x49, 0xa7, 0x6a, 0x8a, 0xad, 0xfe, 0xdf, 0xfe, 0xe5, 0xfe, 0xe6, 0xfe, 0xdf, 0xcb, 0xae, 0xc2, 0xc3, 0xae, 0x4, 0x80, 0x42, 0x2c, 0x22, 0x3e, 0x3e, 0x22, 0x2c, 0x42, 0x88, 0x14, 0x56, 0x55, 0x5f, 0x74, 0x90, 0xa5, 0x6a, 0xfd, 0x4e, 0xfe, 0xdc, 0xfe, 0xd6, 0x1, 0x2a, 0x1, 0x24, 0x3, 0xa4, 0xfc, 0x75, 0xf0, 0xd3, 0xd3, 0xf0, 0x0, 0x2, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x5, 0xf2, 0x0, 0xa, 0x0, 0x27, 0x0, 0x0, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x19, 0x1, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x1, 0xeb, 0x2c, 0x42, 0x3a, 0x64, 0x3a, 0x42, 0x96, 0x30, 0x3c, 0x7e, 0x4a, 0x49, 0xa7, 0x6a, 0x8a, 0xad, 0x1, 0x21, 0x1, 0x1b, 0x1, 0x1a, 0x1, 0x21, 0xcb, 0xae, 0xc2, 0xc3, 0xae, 0x1, 0x55, 0x42, 0x2c, 0x22, 0x3e, 0x3e, 0x22, 0x2c, 0x42, 0x88, 0x14, 0x56, 0x55, 0x5f, 0x74, 0x90, 0xa5, 0x6a, 0x2, 0xb2, 0x1, 0x24, 0x1, 0x2a, 0xfe, 0xd6, 0xfe, 0xdc, 0xfc, 0x5c, 0x3, 0x8b, 0xf0, 0xd3, 0xd3, 0xf0, 0x0, 0x2, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x5, 0xf2, 0x0, 0xa, 0x0, 0x27, 0x0, 0x0, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x32, 0x36, 0x35, 0x34, 0x26, 0x37, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x19, 0x1, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x3, 0xf0, 0x28, 0x42, 0x3a, 0x64, 0x3a, 0x42, 0x42, 0xae, 0xc3, 0xc2, 0xae, 0xcb, 0x1, 0x21, 0x1, 0x1a, 0x1, 0x1b, 0x1, 0x21, 0xad, 0x8a, 0x6a, 0xa7, 0x49, 0x4a, 0x7e, 0x3c, 0x1, 0x55, 0x42, 0x2c, 0x22, 0x3e, 0x3e, 0x22, 0x2c, 0x42, 0x88, 0x1, 0xae, 0xf0, 0xd3, 0xd3, 0xf0, 0xfc, 0x75, 0x3, 0xa4, 0x1, 0x24, 0x1, 0x2a, 0xfe, 0xd6, 0xfe, 0xdc, 0xfd, 0x4e, 0x6a, 0xa5, 0x90, 0x74, 0x5f, 0x55, 0x56, 0xff, 0xff, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x4, 0xe7, 0x1, 0x74, 0x12, 0x6, 0x7, 0xff, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x4, 0xe7, 0x1, 0x74, 0x12, 0x6, 0x8, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x53, 0x0, 0x0, 0x5, 0x5e, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x24, 0x0, 0x0, 0x12, 0x14, 0x16, 0x32, 0x36, 0x34, 0x26, 0x7, 0x22, 0x5, 0x16, 0x15, 0x14, 0x6, 0x7, 0x6, 0x26, 0x35, 0x34, 0x36, 0x3b, 0x1, 0x20, 0x0, 0x11, 0x10, 0x0, 0x29, 0x1, 0x35, 0x21, 0x20, 0x0, 0x11, 0x10, 0x27, 0x26, 0xf3, 0x3c, 0x68, 0x3c, 0x3b, 0x35, 0x35, 0x1, 0x31, 0x14, 0x8b, 0x85, 0x73, 0x9d, 0xa3, 0x6d, 0xb3, 0x1, 0xb2, 0x1, 0x96, 0xfe, 0x68, 0xfe, 0x50, 0xfe, 0x61, 0x1, 0xbe, 0x1, 0x35, 0x1, 0x1f, 0x8f, 0x86, 0x5, 0x1, 0x60, 0x2f, 0x2f, 0x60, 0x2f, 0x1, 0x1, 0x2c, 0x31, 0x6a, 0x97, 0x3, 0x3, 0x97, 0x70, 0x63, 0xa1, 0xfe, 0x97, 0xfe, 0x80, 0xfe, 0x7e, 0xfe, 0x96, 0xa6, 0x1, 0x18, 0x1, 0x2e, 0x1, 0x2c, 0x8c, 0x81, 0xff, 0xff, 0x0, 0x53, 0x0, 0x0, 0x5, 0x5e, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x4, 0xc7, 0x1, 0x74, 0x12, 0x6, 0x8, 0x3, 0x0, 0x0, 0x0, 0x2, 0x0, 0x79, 0x0, 0x0, 0x5, 0x84, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x24, 0x0, 0x0, 0x0, 0x34, 0x26, 0x23, 0x26, 0x6, 0x14, 0x16, 0x32, 0x25, 0x4, 0x7, 0x6, 0x11, 0x10, 0x0, 0x29, 0x1, 0x15, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x4, 0xe4, 0x3b, 0x35, 0x35, 0x3b, 0x3c, 0x68, 0xfe, 0xd0, 0xfe, 0xeb, 0x85, 0x90, 0x1, 0x1f, 0x1, 0x35, 0x1, 0xbe, 0xfe, 0x61, 0xfe, 0x50, 0xfe, 0x68, 0x1, 0x96, 0x1, 0xb2, 0xb3, 0x6d, 0xa3, 0x9d, 0x73, 0x85, 0x8b, 0x4, 0xa1, 0x60, 0x2e, 0x1, 0x2f, 0x60, 0x2f, 0xbc, 0x9, 0x81, 0x8c, 0xfe, 0xd4, 0xfe, 0xd2, 0xfe, 0xe8, 0xa6, 0x1, 0x6a, 0x1, 0x82, 0x1, 0x80, 0x1, 0x69, 0xa1, 0x63, 0x70, 0x97, 0x3, 0x3, 0x97, 0x6a, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0x79, 0x0, 0x0, 0x5, 0x84, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x5, 0x22, 0x1, 0x74, 0x12, 0x6, 0x8, 0x5, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x7, 0x41, 0x7, 0x4f, 0x10, 0x27, 0x8, 0x6, 0x1, 0xbd, 0x0, 0x0, 0x10, 0x6, 0x6, 0xd6, 0x0, 0x0, 0xff, 0xff, 0x0, 0x79, 0x0, 0x0, 0x6, 0xbd, 0x7, 0x4f, 0x10, 0x26, 0x8, 0x6, 0x0, 0x0, 0x10, 0x7, 0x6, 0xd6, 0x5, 0x28, 0x0, 0x0, 0x0, 0x2, 0x0, 0x89, 0x2, 0x9c, 0x3, 0xbd, 0x5, 0xdf, 0x0, 0xb, 0x0, 0x26, 0x0, 0x0, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x7, 0x22, 0x26, 0x35, 0x34, 0x37, 0x6, 0x7, 0x6, 0x15, 0x14, 0x16, 0x33, 0x21, 0x15, 0x21, 0x20, 0x24, 0x10, 0x24, 0x21, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x3, 0x15, 0x1f, 0x26, 0x26, 0x21, 0x1b, 0x26, 0x26, 0x1e, 0x46, 0x63, 0xd, 0xc1, 0x49, 0x4d, 0xbe, 0xa8, 0x1, 0x19, 0xfe, 0xfa, 0xfe, 0xf0, 0xfe, 0xff, 0x1, 0x0, 0x1, 0x11, 0x72, 0x52, 0x5f, 0x62, 0x5, 0x71, 0x19, 0x24, 0x1b, 0x1b, 0x1b, 0x1b, 0x24, 0x19, 0xcf, 0x56, 0x3c, 0x21, 0x1c, 0x3, 0x46, 0x4a, 0xa0, 0xb9, 0x7b, 0x6e, 0xcb, 0x1, 0xae, 0xca, 0x59, 0x52, 0x3b, 0x57, 0x0, 0x0, 0x2, 0x0, 0x46, 0x0, 0x0, 0x6, 0x2e, 0x5, 0xf2, 0x0, 0xb, 0x0, 0x1c, 0x0, 0x0, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x13, 0x11, 0x6, 0x7, 0x22, 0x24, 0x35, 0x34, 0x24, 0x33, 0x32, 0x4, 0x15, 0x11, 0x1, 0x17, 0x1, 0x2, 0x42, 0x7a, 0xad, 0xc8, 0x5f, 0x80, 0xb2, 0xcc, 0xcc, 0x80, 0xb2, 0xeb, 0xfe, 0xef, 0x1, 0x23, 0xd9, 0xec, 0x1, 0x10, 0x1, 0x56, 0x9a, 0xfe, 0x68, 0x5, 0x52, 0xa4, 0x97, 0xa8, 0x94, 0xa9, 0x93, 0xa4, 0x97, 0xfa, 0xae, 0x2, 0x85, 0x49, 0x1, 0xf0, 0xec, 0xfa, 0xe1, 0xf0, 0xec, 0xfc, 0xa8, 0x2, 0xc, 0x66, 0xfd, 0x9c, 0x0, 0x2, 0x0, 0x77, 0x0, 0x0, 0x6, 0x5f, 0x5, 0xf2, 0x0, 0xb, 0x0, 0x1c, 0x0, 0x0, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x1, 0x21, 0x1, 0x37, 0x1, 0x11, 0x34, 0x24, 0x33, 0x32, 0x4, 0x15, 0x14, 0x4, 0x23, 0x26, 0x27, 0x4, 0x63, 0x66, 0xcc, 0xb2, 0x80, 0x5f, 0xc8, 0xad, 0xfe, 0x54, 0xfe, 0xde, 0xfe, 0x68, 0x9a, 0x1, 0x56, 0x1, 0x10, 0xec, 0xd9, 0x1, 0x23, 0xfe, 0xef, 0xeb, 0xb2, 0x80, 0x5, 0x52, 0x97, 0xa4, 0x93, 0xa9, 0x94, 0xa8, 0x97, 0xa4, 0xfa, 0xae, 0x2, 0x64, 0x66, 0xfd, 0xf4, 0x3, 0x58, 0xec, 0xf0, 0xe1, 0xfa, 0xec, 0xf0, 0x1, 0x49, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x6, 0x5f, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x6, 0x5e, 0x1, 0x74, 0x12, 0x6, 0x8, 0xb, 0x0, 0x0, 0x0, 0x2, 0x0, 0x46, 0xff, 0xe3, 0x6, 0x2e, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x1c, 0x0, 0x0, 0x25, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1, 0x21, 0x1, 0x7, 0x1, 0x11, 0x14, 0x4, 0x23, 0x22, 0x24, 0x35, 0x34, 0x24, 0x33, 0x16, 0x17, 0x2, 0x42, 0x66, 0xcc, 0xb2, 0x80, 0x5f, 0xc8, 0xad, 0x1, 0xac, 0x1, 0x22, 0x1, 0x98, 0x9a, 0xfe, 0xaa, 0xfe, 0xf0, 0xec, 0xd9, 0xfe, 0xdd, 0x1, 0x11, 0xeb, 0xb2, 0x80, 0x83, 0x97, 0xa4, 0x93, 0xa9, 0x94, 0xa8, 0x97, 0xa4, 0x5, 0x52, 0xfd, 0x9c, 0x66, 0x2, 0xc, 0xfc, 0xa8, 0xec, 0xf0, 0xe1, 0xfa, 0xec, 0xf0, 0x1, 0x49, 0xff, 0xff, 0x0, 0x46, 0xff, 0xe3, 0x6, 0x2e, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x5, 0xd3, 0x1, 0x74, 0x12, 0x6, 0x8, 0xd, 0x0, 0x0, 0x0, 0x2, 0x0, 0x77, 0xff, 0xe3, 0x6, 0x5f, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x1c, 0x0, 0x0, 0x25, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x3, 0x11, 0x36, 0x37, 0x32, 0x4, 0x15, 0x14, 0x4, 0x23, 0x22, 0x24, 0x35, 0x11, 0x1, 0x27, 0x1, 0x4, 0x63, 0x7a, 0xad, 0xc8, 0x5f, 0x80, 0xb2, 0xcc, 0xcc, 0x80, 0xb2, 0xeb, 0x1, 0x11, 0xfe, 0xdd, 0xd9, 0xec, 0xfe, 0xf0, 0xfe, 0xaa, 0x9a, 0x1, 0x98, 0x83, 0xa4, 0x97, 0xa8, 0x94, 0xa9, 0x93, 0xa4, 0x97, 0x5, 0x52, 0xfd, 0x7b, 0x49, 0x1, 0xf0, 0xec, 0xfa, 0xe1, 0xf0, 0xec, 0x3, 0x58, 0xfd, 0xf4, 0x66, 0x2, 0x64, 0x0, 0xff, 0xff, 0x0, 0x77, 0xff, 0xe3, 0x6, 0x5f, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x4, 0xd3, 0x1, 0x74, 0x12, 0x6, 0x8, 0xf, 0x0, 0x0, 0x0, 0x2, 0x0, 0x89, 0x2, 0x8b, 0x4, 0x11, 0x5, 0xdf, 0x0, 0x10, 0x0, 0x1c, 0x0, 0x0, 0x1, 0x11, 0x3, 0x27, 0x13, 0x33, 0x11, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x5, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1, 0x91, 0xc6, 0x42, 0xf7, 0xa1, 0x51, 0x5f, 0x94, 0xac, 0xb7, 0x89, 0x95, 0xab, 0x1, 0x40, 0x58, 0x50, 0x5e, 0x4a, 0x5c, 0x54, 0x61, 0x3, 0x95, 0x1, 0xc0, 0xfe, 0xfe, 0x3d, 0x1, 0x4f, 0xfe, 0x97, 0x29, 0x86, 0x84, 0x8c, 0x7e, 0x86, 0x18, 0x56, 0x46, 0x54, 0x48, 0x55, 0x47, 0x51, 0x4b, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x3b, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x2b, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0x2, 0x9c, 0x3, 0x6f, 0x5, 0xdf, 0x12, 0x6, 0x7, 0xe1, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0x0, 0x0, 0x8, 0x1a, 0x8, 0x4b, 0x10, 0x27, 0x7, 0x18, 0x3, 0x59, 0x0, 0x0, 0x10, 0x6, 0x7, 0xf0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0x0, 0x0, 0x8, 0x1a, 0x5, 0xf2, 0x10, 0x26, 0x7, 0xf0, 0x0, 0x0, 0x10, 0x7, 0x7, 0x19, 0x3, 0x59, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0x0, 0x0, 0x8, 0x1a, 0x7, 0x4f, 0x10, 0x26, 0x7, 0xf0, 0x0, 0x0, 0x10, 0x7, 0x7, 0x1a, 0x3, 0x59, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0xff, 0xe3, 0x7, 0x97, 0x5, 0xdf, 0x10, 0x26, 0x7, 0xf0, 0x0, 0x0, 0x10, 0x7, 0x7, 0x1b, 0x3, 0x59, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0xff, 0xe3, 0x7, 0x97, 0x7, 0x4f, 0x10, 0x26, 0x7, 0xf0, 0x0, 0x0, 0x10, 0x7, 0x7, 0x1c, 0x3, 0x59, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0xff, 0xe3, 0x8, 0x1a, 0x5, 0xdf, 0x10, 0x26, 0x7, 0xf0, 0x0, 0x0, 0x10, 0x7, 0x7, 0x1e, 0x3, 0x59, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0xff, 0xe3, 0x8, 0x1a, 0x7, 0x4f, 0x10, 0x26, 0x7, 0xf0, 0x0, 0x0, 0x10, 0x7, 0x7, 0x1f, 0x3, 0x59, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0x2, 0x8b, 0x6, 0x62, 0x5, 0xdf, 0x10, 0x27, 0x7, 0x2f, 0x3, 0x59, 0x0, 0x0, 0x10, 0x6, 0x7, 0xf0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x46, 0x0, 0x0, 0x6, 0x2e, 0x5, 0xf2, 0x0, 0x12, 0x0, 0x3a, 0x40, 0x9, 0x3, 0x2, 0x5, 0x1c, 0x12, 0xb, 0x1c, 0xc, 0x13, 0x10, 0xdc, 0xec, 0xdc, 0xec, 0xcc, 0x39, 0x31, 0x0, 0x40, 0x9, 0x42, 0xb, 0x8, 0x95, 0x0, 0xf, 0x91, 0x1, 0x4, 0x2f, 0xcc, 0xf4, 0x39, 0xec, 0xcc, 0x30, 0x4b, 0x53, 0x58, 0xb7, 0x1, 0x11, 0x2, 0x0, 0x11, 0x3, 0x3, 0x2, 0x4, 0x7, 0x10, 0xed, 0x10, 0xe, 0xed, 0x59, 0x25, 0x1, 0x17, 0x1, 0x21, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x24, 0x33, 0x32, 0x4, 0x15, 0x4, 0x3e, 0x1, 0x56, 0x9a, 0xfe, 0x68, 0xfe, 0xde, 0xcc, 0x66, 0x80, 0xb2, 0xca, 0x1, 0x23, 0xd9, 0xec, 0x1, 0x10, 0xbe, 0x2, 0xc, 0x66, 0xfd, 0x9c, 0x4, 0x17, 0xa4, 0x97, 0xa9, 0x92, 0xfa, 0xe1, 0xf0, 0xec, 0x0, 0x0, 0x1, 0x0, 0x77, 0x0, 0x0, 0x6, 0x5f, 0x5, 0xf2, 0x0, 0x12, 0x0, 0x3a, 0x40, 0x9, 0x8, 0x1c, 0x7, 0xf, 0x1c, 0x10, 0x0, 0x11, 0x13, 0x10, 0xdc, 0xdc, 0x39, 0xec, 0xdc, 0xec, 0x31, 0x0, 0x40, 0x9, 0x42, 0x7, 0xb, 0x95, 0x0, 0x4, 0x91, 0x12, 0xf, 0x2f, 0xcc, 0xf4, 0x39, 0xec, 0xcc, 0x30, 0x4b, 0x53, 0x58, 0xb7, 0x12, 0x11, 0x11, 0x0, 0x11, 0x10, 0x11, 0x10, 0x4, 0x7, 0x10, 0xed, 0x10, 0xe, 0xed, 0x59, 0x25, 0x11, 0x34, 0x24, 0x33, 0x32, 0x4, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x21, 0x1, 0x37, 0x2, 0x67, 0x1, 0x10, 0xec, 0xd9, 0x1, 0x23, 0xca, 0xb2, 0x80, 0x66, 0xcc, 0xfe, 0xde, 0xfe, 0x68, 0x9a, 0xbe, 0x3, 0x58, 0xec, 0xf0, 0xe1, 0xfa, 0x92, 0xa9, 0x97, 0xa4, 0xfb, 0xe9, 0x2, 0x64, 0x66, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x46, 0xff, 0xe3, 0x6, 0x2e, 0x5, 0xd5, 0x0, 0x12, 0x0, 0x3d, 0x40, 0x9, 0x10, 0x11, 0xe, 0x1c, 0x1, 0x8, 0x1c, 0x7, 0x13, 0x10, 0xdc, 0xec, 0xdc, 0xec, 0x31, 0x0, 0x40, 0xc, 0x42, 0x12, 0xf, 0x7, 0xb, 0x95, 0x4, 0x8c, 0x0, 0xf, 0x91, 0x13, 0x10, 0xe4, 0x39, 0xf4, 0xee, 0xcc, 0x10, 0xcc, 0x30, 0x4b, 0x53, 0x58, 0xb7, 0x12, 0x11, 0x11, 0x0, 0x11, 0x10, 0x11, 0x10, 0x4, 0x7, 0x10, 0xed, 0x10, 0xe, 0xed, 0x59, 0x1, 0x11, 0x14, 0x4, 0x23, 0x22, 0x24, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x21, 0x1, 0x7, 0x4, 0x3e, 0xfe, 0xf0, 0xec, 0xd9, 0xfe, 0xdd, 0xca, 0xb2, 0x80, 0x66, 0xcc, 0x1, 0x22, 0x1, 0x98, 0x9a, 0x5, 0x17, 0xfc, 0xa8, 0xec, 0xf0, 0xe1, 0xfa, 0x92, 0xa9, 0x97, 0xa4, 0x4, 0x17, 0xfd, 0x9c, 0x66, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x77, 0xff, 0xe3, 0x6, 0x5f, 0x5, 0xd5, 0x0, 0x12, 0x0, 0x3f, 0x40, 0x9, 0xb, 0x1c, 0xc, 0x5, 0x1c, 0x3, 0x0, 0x2, 0x13, 0x10, 0xdc, 0xdc, 0x39, 0xec, 0xdc, 0xec, 0x31, 0x0, 0x40, 0xc, 0x42, 0x1, 0x4, 0xc, 0x8, 0x95, 0xf, 0x8c, 0x0, 0x4, 0x91, 0x13, 0x10, 0xe4, 0x39, 0xf4, 0xee, 0xcc, 0x10, 0xcc, 0x30, 0x4b, 0x53, 0x58, 0xb7, 0x1, 0x11, 0x2, 0x0, 0x11, 0x3, 0x3, 0x2, 0x4, 0x7, 0x10, 0xed, 0x10, 0xe, 0xed, 0x59, 0x9, 0x1, 0x27, 0x1, 0x21, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x33, 0x14, 0x4, 0x23, 0x22, 0x24, 0x35, 0x2, 0x67, 0xfe, 0xaa, 0x9a, 0x1, 0x98, 0x1, 0x22, 0xcc, 0x66, 0x80, 0xb2, 0xca, 0xfe, 0xdd, 0xd9, 0xec, 0xfe, 0xf0, 0x5, 0x17, 0xfd, 0xf4, 0x66, 0x2, 0x64, 0xfb, 0xe9, 0xa4, 0x97, 0xa9, 0x92, 0xfa, 0xe1, 0xf0, 0xec, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0x0, 0x0, 0x9, 0xcd, 0x8, 0x4b, 0x10, 0x27, 0x7, 0x36, 0x5, 0xc, 0x0, 0x0, 0x10, 0x6, 0x8, 0x27, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0x0, 0x0, 0x9, 0xcd, 0x5, 0xf2, 0x10, 0x27, 0x7, 0x37, 0x5, 0xc, 0x0, 0x0, 0x10, 0x6, 0x8, 0x27, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0x0, 0x0, 0x9, 0xcd, 0x7, 0x4f, 0x10, 0x27, 0x7, 0x38, 0x5, 0xc, 0x0, 0x0, 0x10, 0x6, 0x8, 0x27, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0xff, 0xe3, 0x7, 0x3b, 0x5, 0xe4, 0x10, 0x27, 0x7, 0x39, 0x2, 0xfd, 0x0, 0x0, 0x10, 0x6, 0x8, 0x27, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0xff, 0xe3, 0x7, 0x3b, 0x7, 0x4f, 0x10, 0x27, 0x7, 0x3a, 0x2, 0xfd, 0x0, 0x0, 0x10, 0x6, 0x8, 0x27, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0xff, 0xe3, 0x9, 0xcd, 0x5, 0xe4, 0x10, 0x27, 0x7, 0x3c, 0x5, 0xc, 0x0, 0x0, 0x10, 0x6, 0x8, 0x27, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0xff, 0xe3, 0x9, 0xcd, 0x7, 0x4f, 0x10, 0x27, 0x7, 0x3d, 0x5, 0xc, 0x0, 0x0, 0x10, 0x6, 0x8, 0x27, 0x0, 0x0, 0x0, 0x2, 0x0, 0x89, 0x2, 0xa8, 0x5, 0x28, 0x5, 0xe4, 0x0, 0xa, 0x0, 0x28, 0x0, 0x0, 0x1, 0x32, 0x36, 0x35, 0x34, 0x26, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x33, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3d, 0x1, 0x33, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x3d, 0x1, 0x1, 0xc9, 0x62, 0x46, 0x6e, 0x74, 0x6e, 0x50, 0x58, 0x94, 0xac, 0xac, 0x94, 0x95, 0xab, 0x2f, 0xb9, 0x51, 0x2c, 0x43, 0x45, 0x90, 0xab, 0x6d, 0x61, 0xac, 0x4, 0x5a, 0x54, 0x3a, 0x4b, 0x4d, 0x4d, 0x4b, 0x46, 0x48, 0x6e, 0x85, 0x7c, 0x70, 0x87, 0x87, 0x70, 0x58, 0x3b, 0xa7, 0x6f, 0x42, 0x47, 0x6a, 0xa7, 0xa7, 0x84, 0x87, 0x88, 0x83, 0x39, 0x0, 0x0, 0x0, 0x3, 0x0, 0x89, 0x2, 0xa8, 0x8, 0x24, 0x5, 0xe4, 0x0, 0xa, 0x0, 0x33, 0x0, 0x3e, 0x0, 0x0, 0x1, 0x32, 0x36, 0x35, 0x34, 0x26, 0x22, 0x6, 0x15, 0x14, 0x16, 0x21, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x33, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3d, 0x1, 0x33, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x3d, 0x1, 0x21, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1, 0xc9, 0x62, 0x46, 0x6e, 0x74, 0x6e, 0x50, 0x2, 0x3f, 0x2b, 0xac, 0x94, 0x95, 0xab, 0x2f, 0xb9, 0x51, 0x2c, 0x43, 0x45, 0x90, 0xab, 0x6d, 0x61, 0xac, 0xfb, 0xca, 0x94, 0xac, 0xac, 0x94, 0x95, 0xab, 0x2f, 0x1, 0xeb, 0x62, 0x46, 0x6e, 0x74, 0x6e, 0x50, 0x4, 0x5a, 0x54, 0x3a, 0x4b, 0x4d, 0x4d, 0x4b, 0x46, 0x48, 0x3b, 0x58, 0x70, 0x87, 0x87, 0x70, 0x58, 0x3b, 0xa7, 0x6f, 0x42, 0x47, 0x6a, 0xa7, 0xa7, 0x84, 0x87, 0x88, 0x83, 0x39, 0x85, 0x7c, 0x70, 0x87, 0x87, 0x70, 0x58, 0x3b, 0x54, 0x3a, 0x4b, 0x4d, 0x4d, 0x4b, 0x46, 0x48, 0x0, 0x0, 0x0, 0x1, 0x0, 0x46, 0x0, 0x0, 0x6, 0x59, 0x5, 0x89, 0x0, 0x12, 0x0, 0x3c, 0x40, 0xa, 0x10, 0x12, 0x1, 0x9, 0x5, 0x19, 0x1, 0xc, 0x10, 0x13, 0x10, 0xfc, 0xc4, 0xec, 0xcc, 0x10, 0xcc, 0x39, 0x31, 0x0, 0xb7, 0x42, 0x12, 0x2, 0x95, 0xf, 0x8, 0x95, 0x9, 0x2f, 0xec, 0xd4, 0xec, 0xcc, 0x30, 0x4b, 0x53, 0x58, 0x40, 0xa, 0x11, 0x11, 0x11, 0x12, 0x12, 0x10, 0x11, 0x0, 0x12, 0x0, 0x5, 0x7, 0x10, 0xed, 0x10, 0x8, 0xed, 0x59, 0x1, 0x11, 0x21, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x15, 0x22, 0x24, 0x35, 0x34, 0x24, 0x33, 0x21, 0x1, 0x37, 0x6, 0x59, 0xfb, 0xea, 0x8f, 0x99, 0xc6, 0x62, 0xec, 0xfe, 0xef, 0x1, 0x3, 0xfa, 0x3, 0x58, 0xfd, 0xf2, 0x68, 0x3, 0xf2, 0xfe, 0xfe, 0x91, 0x83, 0xa5, 0x92, 0xa5, 0xf0, 0xec, 0xdd, 0xe1, 0x1, 0x55, 0x9a, 0xff, 0xff, 0x0, 0x46, 0x0, 0x0, 0x6, 0x59, 0x5, 0x89, 0x10, 0x27, 0x16, 0xc1, 0x4, 0xa4, 0xff, 0x3c, 0x12, 0x6, 0x8, 0x29, 0x0, 0x0, 0x0, 0x1, 0x0, 0x77, 0xfe, 0x11, 0x6, 0x8a, 0x3, 0x9a, 0x0, 0x12, 0x0, 0x38, 0xb7, 0x9, 0x5, 0x19, 0xc, 0x10, 0x12, 0x0, 0x13, 0x10, 0xcc, 0x39, 0xdc, 0xd4, 0xec, 0xcc, 0x31, 0x0, 0xb7, 0x42, 0x8, 0x95, 0x9, 0x1, 0x95, 0x12, 0x10, 0x2f, 0xcc, 0xec, 0xd4, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x40, 0xa, 0x11, 0x11, 0x11, 0x12, 0x12, 0x10, 0x11, 0x0, 0x12, 0x0, 0x5, 0x7, 0x10, 0xed, 0x10, 0x8, 0xed, 0x59, 0x17, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x35, 0x32, 0x4, 0x15, 0x14, 0x4, 0x23, 0x21, 0x1, 0x7, 0x77, 0x4, 0x16, 0x8f, 0x99, 0xc6, 0x62, 0xec, 0x1, 0x11, 0xfe, 0xfd, 0xfa, 0xfc, 0xa8, 0x2, 0xd, 0x67, 0x58, 0x1, 0x2, 0x91, 0x83, 0xa5, 0x92, 0xa5, 0xf0, 0xec, 0xdd, 0xe1, 0xfe, 0xab, 0x9a, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0xfe, 0x11, 0x6, 0x8a, 0x5, 0x17, 0x10, 0x27, 0x16, 0xc1, 0x6, 0x5c, 0xff, 0x3c, 0x12, 0x6, 0x8, 0x2b, 0x0, 0x0, 0x0, 0x1, 0x0, 0x46, 0xfe, 0x11, 0x6, 0x59, 0x3, 0x9a, 0x0, 0x12, 0x0, 0x3a, 0x40, 0x9, 0x3, 0x1, 0x12, 0xe, 0x19, 0xa, 0x7, 0x10, 0x13, 0x10, 0xfc, 0xcc, 0xec, 0xd4, 0xcc, 0x39, 0x31, 0x0, 0xb7, 0x42, 0xb, 0x95, 0xa, 0x11, 0x95, 0x1, 0x3, 0x2f, 0xcc, 0xec, 0xd4, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x40, 0xa, 0x2, 0x11, 0x1, 0x1, 0x1, 0x3, 0x11, 0x0, 0x1, 0x0, 0x5, 0x7, 0x10, 0xed, 0x10, 0x8, 0xed, 0x59, 0x5, 0x1, 0x27, 0x1, 0x21, 0x22, 0x24, 0x35, 0x34, 0x24, 0x33, 0x15, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x21, 0x6, 0x59, 0xfd, 0x9c, 0x68, 0x2, 0xe, 0xfc, 0xa8, 0xfa, 0xfe, 0xfd, 0x1, 0x11, 0xec, 0x62, 0xc6, 0x99, 0x8f, 0x4, 0x16, 0x58, 0xfe, 0x69, 0x9a, 0x1, 0x55, 0xe1, 0xdd, 0xec, 0xf0, 0xa5, 0x92, 0xa5, 0x83, 0x91, 0x0, 0xff, 0xff, 0x0, 0x46, 0xfe, 0x11, 0x6, 0x59, 0x5, 0x17, 0x10, 0x27, 0x16, 0xc1, 0x4, 0x69, 0xff, 0x3c, 0x12, 0x6, 0x8, 0x2d, 0x0, 0x0, 0x0, 0x1, 0x0, 0x89, 0x2, 0xb5, 0x4, 0x5c, 0x5, 0xe4, 0x0, 0x12, 0x0, 0x0, 0x1, 0x5, 0x27, 0x25, 0x21, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x15, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x21, 0x4, 0x5c, 0xfe, 0xb1, 0x3d, 0x1, 0x2e, 0xfd, 0xcc, 0x9e, 0xa3, 0xac, 0xa7, 0x52, 0x69, 0x50, 0x59, 0x2, 0x92, 0x3, 0xac, 0xf7, 0x42, 0xe8, 0x7e, 0x83, 0x7d, 0x87, 0x6e, 0x44, 0x5a, 0x48, 0x43, 0x0, 0x0, 0x0, 0x1, 0x0, 0x77, 0x0, 0x0, 0x5, 0x4, 0x5, 0xd5, 0x0, 0x10, 0x0, 0x0, 0x25, 0x23, 0x35, 0x33, 0x35, 0x21, 0x35, 0x1, 0x33, 0x1, 0x21, 0x11, 0x33, 0x15, 0x23, 0x15, 0x23, 0x3, 0x71, 0xc9, 0xc9, 0xfd, 0x6, 0x2, 0x3d, 0xca, 0xfd, 0xc3, 0x2, 0xfa, 0xc9, 0xc9, 0xca, 0xe0, 0xa4, 0xd4, 0xad, 0x2, 0xd0, 0xfd, 0x2d, 0xfe, 0x82, 0xa4, 0xe0, 0x0, 0x0, 0x1, 0x0, 0x21, 0x0, 0x0, 0x4, 0xae, 0x5, 0xd5, 0x0, 0x10, 0x0, 0x0, 0x25, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x11, 0x21, 0x1, 0x33, 0x1, 0x15, 0x21, 0x15, 0x33, 0x15, 0x1, 0xb4, 0xca, 0xc9, 0xc9, 0x2, 0xfa, 0xfd, 0xc3, 0xca, 0x2, 0x3d, 0xfd, 0x6, 0xc9, 0xe0, 0xe0, 0xe0, 0xa4, 0x1, 0x7e, 0x2, 0xd3, 0xfd, 0x30, 0xad, 0xd4, 0xa4, 0x0, 0xff, 0xff, 0x0, 0x21, 0x0, 0x0, 0x4, 0xae, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x4, 0x3, 0x1, 0x74, 0x12, 0x6, 0x8, 0x31, 0x0, 0x0, 0x0, 0x1, 0x0, 0x77, 0x0, 0x0, 0x5, 0x4, 0x5, 0xd5, 0x0, 0x10, 0x0, 0x0, 0x1, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x21, 0x1, 0x23, 0x1, 0x35, 0x21, 0x35, 0x23, 0x35, 0x3, 0x71, 0xca, 0xc9, 0xc9, 0xfd, 0x6, 0x2, 0x3d, 0xca, 0xfd, 0xc3, 0x2, 0xfa, 0xc9, 0x4, 0xf5, 0xe0, 0xe0, 0xa4, 0xfe, 0x82, 0xfd, 0x2d, 0x2, 0xd0, 0xad, 0xd4, 0xa4, 0xff, 0xff, 0x0, 0x77, 0x0, 0x0, 0x5, 0x4, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x5, 0xda, 0x1, 0x74, 0x12, 0x6, 0x8, 0x33, 0x0, 0x0, 0x0, 0x1, 0x0, 0x21, 0x0, 0x0, 0x4, 0xae, 0x5, 0xd5, 0x0, 0x10, 0x0, 0x0, 0x1, 0x33, 0x15, 0x23, 0x15, 0x21, 0x15, 0x1, 0x23, 0x1, 0x21, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x1, 0xb4, 0xc9, 0xc9, 0x2, 0xfa, 0xfd, 0xc3, 0xca, 0x2, 0x3d, 0xfd, 0x6, 0xc9, 0xc9, 0xca, 0x4, 0xf5, 0xa4, 0xd4, 0xad, 0xfd, 0x30, 0x2, 0xd3, 0x1, 0x7e, 0xa4, 0xe0, 0xff, 0xff, 0x0, 0x21, 0x0, 0x0, 0x4, 0xae, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x3, 0x56, 0x1, 0x74, 0x12, 0x6, 0x8, 0x35, 0x0, 0x0, 0x0, 0x1, 0x0, 0xa, 0x2, 0x9b, 0x2, 0xe8, 0x5, 0xdf, 0x0, 0x10, 0x0, 0x0, 0x13, 0x33, 0x15, 0x33, 0x15, 0x23, 0x15, 0x21, 0x15, 0x1, 0x23, 0x1, 0x21, 0x35, 0x23, 0x35, 0x33, 0x89, 0x90, 0x7f, 0x7f, 0x1, 0xcf, 0xfe, 0xa5, 0x91, 0x1, 0x6d, 0xfe, 0x20, 0x7f, 0x7f, 0x5, 0xdf, 0x75, 0x6e, 0x66, 0x79, 0xfe, 0x7e, 0x1, 0x8d, 0xd4, 0x6e, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc9, 0xff, 0xe3, 0x4, 0xc1, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x1b, 0x0, 0x2c, 0x40, 0xa, 0x3, 0x19, 0x11, 0x16, 0x1b, 0x9, 0x1c, 0x19, 0x4, 0x1c, 0x10, 0xfc, 0xec, 0x32, 0x32, 0xdc, 0xec, 0x31, 0x0, 0x40, 0xc, 0x6, 0x95, 0x16, 0xc, 0xe, 0x0, 0x95, 0x14, 0x8c, 0x1a, 0x91, 0x19, 0x2f, 0xec, 0xf4, 0xee, 0xd4, 0x39, 0x39, 0xec, 0x30, 0x25, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x3, 0x36, 0x37, 0x32, 0x4, 0x15, 0x14, 0x4, 0x23, 0x22, 0x27, 0x15, 0x22, 0x23, 0x11, 0x33, 0x2, 0xc5, 0x7a, 0xad, 0xc8, 0x5f, 0x80, 0xb2, 0xcc, 0xcc, 0x80, 0xb2, 0xeb, 0x1, 0x11, 0xfe, 0xdd, 0xd9, 0xb7, 0x7b, 0x4f, 0x7b, 0xca, 0x83, 0xa4, 0x97, 0xa8, 0x94, 0xa9, 0x93, 0xa4, 0x97, 0x2, 0xcd, 0x49, 0x1, 0xf0, 0xec, 0xfa, 0xe1, 0x48, 0x2b, 0x5, 0xd5, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xb0, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x27, 0x0, 0x0, 0x0, 0x2, 0x0, 0x73, 0x0, 0x0, 0x5, 0x5a, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x11, 0x0, 0x1f, 0x40, 0x9, 0x0, 0x1c, 0xa, 0x32, 0x4, 0x19, 0xe, 0x10, 0x12, 0x10, 0xfc, 0xec, 0xf4, 0xec, 0x31, 0x0, 0xb6, 0x0, 0x95, 0x9, 0x81, 0x7, 0x95, 0xb, 0x2f, 0xec, 0xf4, 0xec, 0x30, 0x1, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x33, 0x13, 0x11, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x4, 0x90, 0xf4, 0xfe, 0xcb, 0xfe, 0xe1, 0x1, 0x1f, 0x1, 0x35, 0xf4, 0xca, 0xfe, 0x61, 0xfe, 0x50, 0xfe, 0x68, 0x1, 0x96, 0x1, 0xb2, 0x5, 0x2f, 0xfe, 0xe9, 0xfe, 0xd4, 0xfe, 0xd2, 0xfe, 0xe8, 0x5, 0x2f, 0xfa, 0x2b, 0x1, 0x6a, 0x1, 0x82, 0x1, 0x80, 0x1, 0x69, 0x0, 0x0, 0x0, 0x1, 0x0, 0x89, 0x2, 0x9c, 0x3, 0x4e, 0x5, 0xdf, 0x0, 0x9, 0x0, 0x0, 0x13, 0x21, 0x15, 0x1, 0x21, 0x15, 0x21, 0x35, 0x1, 0x21, 0x97, 0x2, 0xa9, 0xfd, 0xf9, 0x2, 0x15, 0xfd, 0x3b, 0x2, 0x8, 0xfe, 0x6, 0x5, 0xdf, 0x56, 0xfd, 0x81, 0x6e, 0x56, 0x2, 0x7f, 0x0, 0x0, 0x0, 0x3, 0x0, 0x89, 0x1, 0xec, 0x3, 0x4e, 0x6, 0x8f, 0x0, 0x13, 0x0, 0x16, 0x0, 0x19, 0x0, 0x0, 0x1, 0x15, 0x23, 0x35, 0x21, 0x35, 0x1, 0x11, 0x21, 0x35, 0x21, 0x35, 0x33, 0x15, 0x21, 0x15, 0x1, 0x11, 0x21, 0x15, 0x1, 0x15, 0x37, 0x3, 0x35, 0x7, 0x2, 0x24, 0x69, 0xfe, 0xce, 0x1, 0x32, 0xfe, 0xdc, 0x1, 0x24, 0x69, 0x1, 0x1c, 0xfe, 0xe4, 0x1, 0x2a, 0xfe, 0xd6, 0x6d, 0xd6, 0x82, 0x2, 0x9c, 0xb0, 0xb0, 0x56, 0x1, 0x78, 0x1, 0x7, 0x6e, 0xb0, 0xb0, 0x56, 0xfe, 0xa2, 0xfe, 0xdf, 0x6e, 0x2, 0xd5, 0x86, 0x86, 0xfd, 0x99, 0xa0, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x75, 0x0, 0x0, 0x3, 0x21, 0x2, 0x73, 0x0, 0xb, 0x0, 0x0, 0x1, 0x3, 0x1, 0x23, 0x27, 0x7, 0x23, 0x1, 0x3, 0x33, 0x17, 0x37, 0x3, 0x14, 0xff, 0x1, 0xc, 0x89, 0xcd, 0xcd, 0x89, 0x1, 0x12, 0xfb, 0x89, 0xbb, 0xbb, 0x2, 0x73, 0xfe, 0xcf, 0xfe, 0xbe, 0xf6, 0xf6, 0x1, 0x48, 0x1, 0x2b, 0xdf, 0xdf, 0x0, 0xff, 0xff, 0x0, 0x89, 0x0, 0x0, 0x7, 0x97, 0x5, 0xf2, 0x10, 0x27, 0x7, 0x17, 0x3, 0x59, 0x0, 0x0, 0x10, 0x6, 0x7, 0xf0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0x0, 0x0, 0x9, 0xb1, 0x5, 0xf2, 0x10, 0x26, 0x8, 0x27, 0x0, 0x0, 0x10, 0x7, 0x7, 0x35, 0x5, 0x73, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0x0, 0x0, 0xc, 0xc9, 0x5, 0xf2, 0x10, 0x26, 0x8, 0x28, 0x0, 0x0, 0x10, 0x7, 0x7, 0x37, 0x8, 0x8, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0x0, 0x0, 0xc, 0xc9, 0x7, 0x4f, 0x10, 0x26, 0x8, 0x28, 0x0, 0x0, 0x10, 0x7, 0x7, 0x38, 0x8, 0x8, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0xff, 0xe3, 0xa, 0x37, 0x5, 0xe4, 0x10, 0x26, 0x8, 0x28, 0x0, 0x0, 0x10, 0x7, 0x7, 0x39, 0x5, 0xf9, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0xff, 0xe3, 0xa, 0x37, 0x7, 0x4f, 0x10, 0x26, 0x8, 0x28, 0x0, 0x0, 0x10, 0x7, 0x7, 0x3a, 0x5, 0xf9, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0xff, 0xe3, 0xc, 0xc9, 0x5, 0xe4, 0x10, 0x26, 0x8, 0x28, 0x0, 0x0, 0x10, 0x7, 0x7, 0x3c, 0x8, 0x8, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0xff, 0xe3, 0xc, 0xc9, 0x7, 0x4f, 0x10, 0x26, 0x8, 0x28, 0x0, 0x0, 0x10, 0x7, 0x7, 0x3d, 0x8, 0x8, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x1, 0xf7, 0x3, 0xe5, 0x2, 0x9f, 0x0, 0x3, 0x0, 0x0, 0x3, 0x21, 0x15, 0x21, 0x14, 0x3, 0xf9, 0xfc, 0x7, 0x2, 0x9f, 0xa8, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0xff, 0x1, 0x4, 0x5, 0x2, 0x9f, 0x0, 0x7, 0x0, 0x0, 0x3, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x14, 0x4, 0x19, 0xfe, 0x59, 0xca, 0xfe, 0x58, 0x2, 0x9f, 0xa8, 0xfd, 0xa, 0x2, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0xff, 0x1, 0x5, 0xc6, 0x2, 0x9f, 0x0, 0xb, 0x0, 0x0, 0x3, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x14, 0x5, 0xda, 0xfe, 0x59, 0xca, 0xf7, 0xca, 0xfe, 0x58, 0x2, 0x9f, 0xa8, 0xfd, 0xa, 0x2, 0xf6, 0xfd, 0xa, 0x2, 0xf6, 0x0, 0x0, 0x1, 0xff, 0xec, 0xff, 0x1, 0x7, 0x87, 0x2, 0x9f, 0x0, 0xf, 0x0, 0x0, 0x3, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x14, 0x7, 0x9b, 0xfe, 0x59, 0xca, 0xf7, 0xca, 0xf7, 0xca, 0xfe, 0x58, 0x2, 0x9f, 0xa8, 0xfd, 0xa, 0x2, 0xf6, 0xfd, 0xa, 0x2, 0xf6, 0xfd, 0xa, 0x2, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0xff, 0x1, 0x9, 0x48, 0x2, 0x9f, 0x0, 0x13, 0x0, 0x0, 0x3, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x14, 0x9, 0x5c, 0xfe, 0x59, 0xca, 0xf7, 0xca, 0xf7, 0xca, 0xf7, 0xca, 0xfe, 0x58, 0x2, 0x9f, 0xa8, 0xfd, 0xa, 0x2, 0xf6, 0xfd, 0xa, 0x2, 0xf6, 0xfd, 0xa, 0x2, 0xf6, 0xfd, 0xa, 0x2, 0xf6, 0x0, 0x0, 0x1, 0xff, 0xec, 0xff, 0x1, 0xb, 0x9, 0x2, 0x9f, 0x0, 0x17, 0x0, 0x0, 0x3, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x14, 0xb, 0x1d, 0xfe, 0x59, 0xca, 0xf7, 0xca, 0xf7, 0xca, 0xf7, 0xca, 0xf7, 0xca, 0xfe, 0x58, 0x2, 0x9f, 0xa8, 0xfd, 0xa, 0x2, 0xf6, 0xfd, 0xa, 0x2, 0xf6, 0xfd, 0xa, 0x2, 0xf6, 0xfd, 0xa, 0x2, 0xf6, 0xfd, 0xa, 0x2, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x1, 0xf7, 0x4, 0x5, 0x5, 0x94, 0x0, 0x7, 0x0, 0x0, 0x3, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x14, 0x1, 0xa8, 0xca, 0x1, 0xa7, 0xfb, 0xe7, 0x2, 0x9f, 0x2, 0xf5, 0xfd, 0xb, 0xa8, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x1, 0xf7, 0x5, 0xc6, 0x5, 0x94, 0x0, 0xb, 0x0, 0x0, 0x3, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x14, 0x1, 0xa8, 0xca, 0xf7, 0xca, 0x1, 0xa7, 0xfa, 0x26, 0x2, 0x9f, 0x2, 0xf5, 0xfd, 0xb, 0x2, 0xf5, 0xfd, 0xb, 0xa8, 0x0, 0x0, 0x1, 0xff, 0xec, 0x1, 0xf7, 0x7, 0x87, 0x5, 0x94, 0x0, 0xf, 0x0, 0x0, 0x3, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x14, 0x1, 0xa8, 0xca, 0xf7, 0xca, 0xf7, 0xca, 0x1, 0xa7, 0xf8, 0x65, 0x2, 0x9f, 0x2, 0xf5, 0xfd, 0xb, 0x2, 0xf5, 0xfd, 0xb, 0x2, 0xf5, 0xfd, 0xb, 0xa8, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x1, 0xf7, 0x9, 0x47, 0x5, 0x94, 0x0, 0x13, 0x0, 0x0, 0x3, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x14, 0x1, 0xa8, 0xca, 0xf7, 0xca, 0xf7, 0xca, 0xf7, 0xca, 0x1, 0xa6, 0xf6, 0xa5, 0x2, 0x9f, 0x2, 0xf5, 0xfd, 0xb, 0x2, 0xf5, 0xfd, 0xb, 0x2, 0xf5, 0xfd, 0xb, 0x2, 0xf5, 0xfd, 0xb, 0xa8, 0x0, 0x0, 0x1, 0xff, 0xec, 0x1, 0xf7, 0xb, 0x9, 0x5, 0x94, 0x0, 0x17, 0x0, 0x0, 0x3, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x14, 0x1, 0xa8, 0xca, 0xf7, 0xca, 0xf7, 0xca, 0xf7, 0xca, 0xf7, 0xca, 0x1, 0xa7, 0xf4, 0xe3, 0x2, 0x9f, 0x2, 0xf5, 0xfd, 0xb, 0x2, 0xf5, 0xfd, 0xb, 0x2, 0xf5, 0xfd, 0xb, 0x2, 0xf5, 0xfd, 0xb, 0x2, 0xf5, 0xfd, 0xb, 0xa8, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0xff, 0x1, 0x4, 0x10, 0x5, 0x94, 0x0, 0xb, 0x0, 0x0, 0x3, 0x21, 0x13, 0x33, 0x3, 0x21, 0x15, 0x21, 0x3, 0x23, 0x13, 0x21, 0x14, 0x1, 0xc2, 0xea, 0xd5, 0xea, 0x1, 0x8d, 0xfe, 0x3f, 0xea, 0xd5, 0xea, 0xfe, 0x72, 0x2, 0x9f, 0x2, 0xf5, 0xfd, 0xb, 0xa8, 0xfd, 0xa, 0x2, 0xf6, 0x0, 0x1, 0xff, 0xec, 0xff, 0x1, 0x5, 0xd3, 0x5, 0x94, 0x0, 0x13, 0x0, 0x0, 0x3, 0x21, 0x13, 0x33, 0x3, 0x33, 0x13, 0x33, 0x3, 0x21, 0x15, 0x21, 0x3, 0x23, 0x13, 0x23, 0x3, 0x23, 0x13, 0x21, 0x14, 0x1, 0xc2, 0xea, 0xd5, 0xea, 0xee, 0xea, 0xd5, 0xea, 0x1, 0x8d, 0xfe, 0x3f, 0xea, 0xd5, 0xea, 0xee, 0xea, 0xd5, 0xea, 0xfe, 0x72, 0x2, 0x9f, 0x2, 0xf5, 0xfd, 0xb, 0x2, 0xf5, 0xfd, 0xb, 0xa8, 0xfd, 0xa, 0x2, 0xf6, 0xfd, 0xa, 0x2, 0xf6, 0x0, 0x1, 0xff, 0xec, 0xff, 0x1, 0x7, 0x96, 0x5, 0x94, 0x0, 0x1b, 0x0, 0x0, 0x3, 0x21, 0x13, 0x33, 0x3, 0x33, 0x13, 0x33, 0x3, 0x33, 0x13, 0x33, 0x3, 0x21, 0x15, 0x21, 0x3, 0x23, 0x13, 0x23, 0x3, 0x23, 0x13, 0x23, 0x3, 0x23, 0x13, 0x21, 0x14, 0x1, 0xc2, 0xea, 0xd5, 0xea, 0xee, 0xea, 0xd5, 0xea, 0xee, 0xea, 0xd5, 0xea, 0x1, 0x8d, 0xfe, 0x3f, 0xea, 0xd5, 0xea, 0xee, 0xea, 0xd5, 0xea, 0xee, 0xea, 0xd5, 0xea, 0xfe, 0x72, 0x2, 0x9f, 0x2, 0xf5, 0xfd, 0xb, 0x2, 0xf5, 0xfd, 0xb, 0x2, 0xf5, 0xfd, 0xb, 0xa8, 0xfd, 0xa, 0x2, 0xf6, 0xfd, 0xa, 0x2, 0xf6, 0xfd, 0xa, 0x2, 0xf6, 0x0, 0x1, 0xff, 0xec, 0xff, 0x1, 0x9, 0x59, 0x5, 0x94, 0x0, 0x23, 0x0, 0x0, 0x3, 0x21, 0x13, 0x33, 0x3, 0x33, 0x13, 0x33, 0x3, 0x33, 0x13, 0x33, 0x3, 0x33, 0x13, 0x33, 0x3, 0x21, 0x15, 0x21, 0x3, 0x23, 0x13, 0x23, 0x3, 0x23, 0x13, 0x23, 0x3, 0x23, 0x13, 0x23, 0x3, 0x23, 0x13, 0x21, 0x14, 0x1, 0xc2, 0xea, 0xd5, 0xea, 0xee, 0xea, 0xd5, 0xea, 0xee, 0xea, 0xd5, 0xea, 0xee, 0xea, 0xd5, 0xea, 0x1, 0x8d, 0xfe, 0x3f, 0xea, 0xd5, 0xea, 0xee, 0xea, 0xd5, 0xea, 0xee, 0xea, 0xd5, 0xea, 0xee, 0xea, 0xd5, 0xea, 0xfe, 0x72, 0x2, 0x9f, 0x2, 0xf5, 0xfd, 0xb, 0x2, 0xf5, 0xfd, 0xb, 0x2, 0xf5, 0xfd, 0xb, 0x2, 0xf5, 0xfd, 0xb, 0xa8, 0xfd, 0xa, 0x2, 0xf6, 0xfd, 0xa, 0x2, 0xf6, 0xfd, 0xa, 0x2, 0xf6, 0xfd, 0xa, 0x2, 0xf6, 0x0, 0x1, 0xff, 0xec, 0xff, 0x1, 0xb, 0x1c, 0x5, 0x94, 0x0, 0x2b, 0x0, 0x0, 0x3, 0x21, 0x13, 0x33, 0x3, 0x33, 0x13, 0x33, 0x3, 0x33, 0x13, 0x33, 0x3, 0x33, 0x13, 0x33, 0x3, 0x33, 0x13, 0x33, 0x3, 0x21, 0x15, 0x21, 0x3, 0x23, 0x13, 0x23, 0x3, 0x23, 0x13, 0x23, 0x3, 0x23, 0x13, 0x23, 0x3, 0x23, 0x13, 0x23, 0x3, 0x23, 0x13, 0x21, 0x14, 0x1, 0xc2, 0xea, 0xd5, 0xea, 0xee, 0xea, 0xd5, 0xea, 0xee, 0xea, 0xd5, 0xea, 0xee, 0xea, 0xd5, 0xea, 0xee, 0xea, 0xd5, 0xea, 0x1, 0x8d, 0xfe, 0x3f, 0xea, 0xd5, 0xea, 0xee, 0xea, 0xd5, 0xea, 0xee, 0xea, 0xd5, 0xea, 0xee, 0xea, 0xd5, 0xea, 0xee, 0xea, 0xd5, 0xea, 0xfe, 0x72, 0x2, 0x9f, 0x2, 0xf5, 0xfd, 0xb, 0x2, 0xf5, 0xfd, 0xb, 0x2, 0xf5, 0xfd, 0xb, 0x2, 0xf5, 0xfd, 0xb, 0x2, 0xf5, 0xfd, 0xb, 0xa8, 0xfd, 0xa, 0x2, 0xf6, 0xfd, 0xa, 0x2, 0xf6, 0xfd, 0xa, 0x2, 0xf6, 0xfd, 0xa, 0x2, 0xf6, 0xfd, 0xa, 0x2, 0xf6, 0x0, 0x1, 0xff, 0xec, 0x0, 0x53, 0x4, 0x5, 0x4, 0x43, 0x0, 0xb, 0x0, 0x0, 0x3, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x14, 0x1, 0xa8, 0xca, 0x1, 0xa7, 0xfe, 0x59, 0xca, 0xfe, 0x58, 0x2, 0x9f, 0x1, 0xa4, 0xfe, 0x5c, 0xa8, 0xfe, 0x5c, 0x1, 0xa4, 0x0, 0x1, 0xff, 0xec, 0x0, 0x53, 0x5, 0xc6, 0x4, 0x43, 0x0, 0x13, 0x0, 0x0, 0x3, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x14, 0x1, 0xa8, 0xca, 0xf6, 0xca, 0x1, 0xa8, 0xfe, 0x58, 0xca, 0xf6, 0xca, 0xfe, 0x58, 0x2, 0x9f, 0x1, 0xa4, 0xfe, 0x5c, 0x1, 0xa4, 0xfe, 0x5c, 0xa8, 0xfe, 0x5c, 0x1, 0xa4, 0xfe, 0x5c, 0x1, 0xa4, 0x0, 0x1, 0xff, 0xec, 0x0, 0x53, 0x7, 0x84, 0x4, 0x43, 0x0, 0x1b, 0x0, 0x0, 0x3, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x14, 0x1, 0xa8, 0xca, 0xf6, 0xca, 0xf8, 0xca, 0x1, 0xa4, 0xfe, 0x5c, 0xca, 0xf8, 0xca, 0xf6, 0xca, 0xfe, 0x58, 0x2, 0x9f, 0x1, 0xa4, 0xfe, 0x5c, 0x1, 0xa4, 0xfe, 0x5c, 0x1, 0xa4, 0xfe, 0x5c, 0xa8, 0xfe, 0x5c, 0x1, 0xa4, 0xfe, 0x5c, 0x1, 0xa4, 0xfe, 0x5c, 0x1, 0xa4, 0x0, 0x1, 0xff, 0xec, 0x0, 0x53, 0x9, 0x46, 0x4, 0x43, 0x0, 0x23, 0x0, 0x0, 0x3, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x14, 0x1, 0xa8, 0xca, 0xf6, 0xca, 0xf8, 0xca, 0xf6, 0xca, 0x1, 0xa6, 0xfe, 0x5a, 0xca, 0xf6, 0xca, 0xf8, 0xca, 0xf6, 0xca, 0xfe, 0x58, 0x2, 0x9f, 0x1, 0xa4, 0xfe, 0x5c, 0x1, 0xa4, 0xfe, 0x5c, 0x1, 0xa4, 0xfe, 0x5c, 0x1, 0xa4, 0xfe, 0x5c, 0xa8, 0xfe, 0x5c, 0x1, 0xa4, 0xfe, 0x5c, 0x1, 0xa4, 0xfe, 0x5c, 0x1, 0xa4, 0xfe, 0x5c, 0x1, 0xa4, 0x0, 0x1, 0xff, 0xec, 0x0, 0x53, 0xb, 0x9, 0x4, 0x43, 0x0, 0x2b, 0x0, 0x0, 0x3, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x14, 0x1, 0xa8, 0xca, 0xf6, 0xca, 0xf8, 0xca, 0xf6, 0xca, 0xf8, 0xca, 0x1, 0xa7, 0xfe, 0x59, 0xca, 0xf8, 0xca, 0xf6, 0xca, 0xf8, 0xca, 0xf6, 0xca, 0xfe, 0x58, 0x2, 0x9f, 0x1, 0xa4, 0xfe, 0x5c, 0x1, 0xa4, 0xfe, 0x5c, 0x1, 0xa4, 0xfe, 0x5c, 0x1, 0xa4, 0xfe, 0x5c, 0x1, 0xa4, 0xfe, 0x5c, 0xa8, 0xfe, 0x5c, 0x1, 0xa4, 0xfe, 0x5c, 0x1, 0xa4, 0xfe, 0x5c, 0x1, 0xa4, 0xfe, 0x5c, 0x1, 0xa4, 0xfe, 0x5c, 0x1, 0xa4, 0x0, 0x1, 0xff, 0xec, 0xff, 0x1, 0x4, 0x10, 0x5, 0x94, 0x0, 0x11, 0x0, 0x0, 0x3, 0x21, 0x3, 0x33, 0x1b, 0x1, 0x33, 0x3, 0x21, 0x15, 0x21, 0x13, 0x23, 0xb, 0x1, 0x23, 0x13, 0x21, 0x14, 0x1, 0x8d, 0xea, 0xd5, 0x9a, 0x9a, 0xd5, 0xea, 0x1, 0x8d, 0xfe, 0x72, 0xea, 0xd5, 0x99, 0x99, 0xd5, 0xea, 0xfe, 0x72, 0x2, 0x9f, 0x2, 0xf5, 0xfe, 0xe, 0x1, 0xf2, 0xfd, 0xb, 0xa8, 0xfd, 0xa, 0x1, 0xef, 0xfe, 0x11, 0x2, 0xf6, 0x0, 0x3, 0xff, 0xec, 0xff, 0x1, 0x6, 0x19, 0x5, 0x94, 0x0, 0x2, 0x0, 0xe, 0x0, 0x11, 0x0, 0x0, 0x1, 0x1b, 0x1, 0x25, 0x21, 0x1, 0x33, 0x1, 0x21, 0x15, 0x21, 0x1, 0x23, 0x1, 0x21, 0x1, 0x3, 0x21, 0x2, 0x32, 0xd0, 0xd1, 0xfc, 0x19, 0x1, 0x5e, 0x1, 0x44, 0xe9, 0x1, 0x44, 0x1, 0x5e, 0xfe, 0xa3, 0xfe, 0xbb, 0xe9, 0xfe, 0xbb, 0xfe, 0xa3, 0x3, 0x16, 0xcf, 0x1, 0x9f, 0x1, 0xf7, 0xfe, 0x1a, 0x1, 0xe6, 0xa8, 0x2, 0xf5, 0xfd, 0xb, 0xa8, 0xfd, 0xa, 0x2, 0xf6, 0x2, 0x8d, 0xfe, 0x1b, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0xff, 0x57, 0x6, 0x63, 0x2, 0x9f, 0x0, 0xd, 0x0, 0x0, 0x3, 0x21, 0x15, 0x21, 0x11, 0x21, 0x35, 0x21, 0x35, 0x21, 0x11, 0x21, 0x11, 0x21, 0x14, 0x6, 0x77, 0xfb, 0xfb, 0x1, 0xf9, 0xfe, 0xd1, 0x1, 0xf9, 0xfc, 0x73, 0xfe, 0x58, 0x2, 0x9f, 0xa8, 0xfe, 0x8, 0xa8, 0xa8, 0xfe, 0x8, 0x2, 0xa0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xec, 0xfe, 0x15, 0x9, 0xb7, 0x2, 0x9f, 0x0, 0x14, 0x0, 0x18, 0x0, 0x1b, 0x0, 0x1f, 0x0, 0x23, 0x0, 0x0, 0x3, 0x35, 0x21, 0x15, 0x21, 0x9, 0x1, 0x21, 0x1, 0x7, 0x5, 0x21, 0x27, 0x7, 0x21, 0x25, 0x27, 0x1, 0x21, 0x9, 0x1, 0x21, 0x1, 0x37, 0x25, 0x21, 0x17, 0x37, 0x1, 0x17, 0x37, 0x27, 0x37, 0x17, 0x1, 0x21, 0x14, 0x9, 0xcb, 0xfe, 0xba, 0xfd, 0xf4, 0x2, 0xc, 0xfe, 0xfa, 0xfe, 0x77, 0x83, 0x1, 0x6, 0xfe, 0xfa, 0x83, 0x83, 0xfe, 0xfa, 0x1, 0x6, 0x83, 0xfe, 0x77, 0xfe, 0xfa, 0x2, 0xc, 0xfd, 0xf4, 0x1, 0x6, 0x1, 0x89, 0x83, 0xfe, 0xfa, 0x1, 0x6, 0x83, 0x83, 0xfe, 0xfa, 0x83, 0x83, 0x83, 0x83, 0x83, 0x1, 0x89, 0xfe, 0xfa, 0x1, 0xf7, 0xa8, 0xa8, 0xfe, 0xf, 0xfe, 0xf, 0x1, 0x75, 0x7c, 0xf9, 0x7c, 0x7c, 0xf9, 0x7c, 0xfe, 0x8b, 0x1, 0xf1, 0x1, 0xf1, 0xfe, 0x8b, 0x7c, 0xf9, 0x7c, 0x7c, 0xfe, 0xf, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x1, 0x75, 0x0, 0x0, 0x0, 0xa, 0xff, 0xec, 0x1, 0xf7, 0x9, 0x47, 0x7, 0x37, 0x0, 0x2b, 0x0, 0x2f, 0x0, 0x33, 0x0, 0x37, 0x0, 0x3b, 0x0, 0x3f, 0x0, 0x43, 0x0, 0x47, 0x0, 0x4b, 0x0, 0x4f, 0x0, 0x0, 0x3, 0x21, 0x35, 0x23, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x35, 0x33, 0x15, 0x33, 0x35, 0x33, 0x15, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x15, 0x33, 0x15, 0x23, 0x15, 0x33, 0x15, 0x23, 0x15, 0x21, 0x15, 0x21, 0x1, 0x23, 0x15, 0x33, 0x25, 0x23, 0x15, 0x33, 0x25, 0x23, 0x15, 0x33, 0x5, 0x23, 0x15, 0x33, 0x25, 0x23, 0x15, 0x33, 0x25, 0x23, 0x15, 0x33, 0x5, 0x23, 0x15, 0x33, 0x25, 0x23, 0x15, 0x33, 0x25, 0x23, 0x15, 0x33, 0x14, 0x1, 0xa8, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xf7, 0xca, 0xf7, 0xca, 0xf7, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0x1, 0xa6, 0xf6, 0xa5, 0x6, 0xeb, 0xf7, 0xf7, 0xfe, 0x3f, 0xf7, 0xf7, 0xfe, 0x3f, 0xf7, 0xf7, 0x3, 0x82, 0xf7, 0xf7, 0xfe, 0x3f, 0xf7, 0xf7, 0xfe, 0x3f, 0xf7, 0xf7, 0x3, 0x82, 0xf7, 0xf7, 0xfe, 0x3f, 0xf7, 0xf7, 0xfe, 0x3f, 0xf7, 0xf7, 0x2, 0x9f, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0x3, 0xf0, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0x0, 0x2, 0xff, 0xec, 0x0, 0xa7, 0x5, 0x8b, 0x2, 0x9f, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x3, 0x21, 0x15, 0x21, 0xb6, 0x3, 0xf8, 0xfc, 0x8, 0xca, 0x5, 0x9f, 0xfa, 0x61, 0x1, 0x4f, 0xa8, 0x1, 0xf8, 0xa8, 0x0, 0x1, 0x0, 0x71, 0x0, 0x3a, 0x4, 0x23, 0x4, 0x5b, 0x0, 0x8, 0x0, 0x0, 0x1, 0x15, 0x21, 0x1, 0x27, 0x9, 0x1, 0x37, 0x1, 0x4, 0x23, 0xfe, 0x7d, 0xfe, 0x43, 0x72, 0x1, 0x9f, 0xfe, 0x61, 0x72, 0x1, 0xbc, 0x2, 0x9f, 0xa8, 0xfe, 0x43, 0x72, 0x1, 0x9f, 0x1, 0x9e, 0x72, 0xfe, 0x44, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x3a, 0x3, 0x9e, 0x4, 0x5b, 0x0, 0x8, 0x0, 0x0, 0x3, 0x21, 0x1, 0x17, 0x9, 0x1, 0x7, 0x1, 0x21, 0x14, 0x1, 0x84, 0x1, 0xbc, 0x72, 0xfe, 0x61, 0x1, 0x9f, 0x72, 0xfe, 0x43, 0xfe, 0x7d, 0x2, 0x9f, 0x1, 0xbc, 0x72, 0xfe, 0x62, 0xfe, 0x61, 0x72, 0x1, 0xbd, 0x0, 0x0, 0x0, 0x2, 0x0, 0x3d, 0x0, 0x0, 0x4, 0x7f, 0x4, 0x60, 0x0, 0x7, 0x0, 0xa, 0x0, 0x0, 0x21, 0x23, 0x3, 0x21, 0x3, 0x23, 0x1, 0x33, 0x1, 0x21, 0x3, 0x4, 0x7f, 0xc3, 0x66, 0xfe, 0x10, 0x66, 0xc3, 0x1, 0xa4, 0xfa, 0xfe, 0xc3, 0x1, 0x80, 0xc0, 0x1, 0x13, 0xfe, 0xed, 0x4, 0x60, 0xfd, 0x47, 0x2, 0x5, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xb, 0x0, 0x0, 0x5, 0x5b, 0x4, 0x60, 0x0, 0xf, 0x0, 0x13, 0x0, 0x0, 0x33, 0x1, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x3, 0x1, 0x3, 0x21, 0x11, 0xb, 0x1, 0xd9, 0x3, 0x6a, 0xfd, 0xf6, 0x1, 0xf3, 0xfe, 0xd, 0x2, 0x17, 0xfd, 0x2f, 0xfe, 0xbe, 0x74, 0x1, 0x9a, 0xe8, 0x1, 0x4, 0x4, 0x60, 0x94, 0xfe, 0xd3, 0x94, 0xfe, 0x88, 0x93, 0x1, 0x13, 0xfe, 0xed, 0x3, 0xcd, 0xfd, 0xda, 0x2, 0x26, 0x0, 0x0, 0x0, 0x3, 0x0, 0x7b, 0xff, 0xe3, 0x7, 0x6f, 0x4, 0x7b, 0x0, 0x34, 0x0, 0x3d, 0x0, 0x4a, 0x0, 0x0, 0x25, 0xe, 0x1, 0x23, 0x22, 0x27, 0x26, 0x3d, 0x1, 0x21, 0x2e, 0x1, 0x23, 0x22, 0x7, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x17, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x21, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x1, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x25, 0x32, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x1d, 0x1, 0x4, 0x7, 0x4a, 0xd4, 0x84, 0xe2, 0x84, 0x84, 0x3, 0x4e, 0xc, 0xcc, 0xb7, 0x68, 0x64, 0x64, 0x64, 0x64, 0xd0, 0x6a, 0xa7, 0x7c, 0x7c, 0x4d, 0x49, 0xd8, 0x8f, 0xbd, 0x69, 0x69, 0x7f, 0x7e, 0xfb, 0xfe, 0xfe, 0x53, 0x54, 0x97, 0x60, 0xb6, 0x54, 0x65, 0x5f, 0x5f, 0x5a, 0x8e, 0x6a, 0x6b, 0xfc, 0xf7, 0x1, 0x53, 0x52, 0x89, 0x99, 0x5c, 0x5d, 0xe, 0x1, 0x69, 0xdf, 0xac, 0x41, 0x40, 0x6f, 0x99, 0x5c, 0x5d, 0x9b, 0x5a, 0x5e, 0x91, 0x92, 0xfa, 0x5a, 0xbf, 0xc8, 0x1b, 0x1a, 0x35, 0xae, 0x2a, 0x2c, 0x3d, 0x3c, 0x77, 0x78, 0x78, 0x5d, 0x5e, 0xa8, 0xbd, 0x60, 0x60, 0x12, 0x7f, 0x46, 0x45, 0x2e, 0x2e, 0xaa, 0x27, 0x14, 0x13, 0x30, 0x30, 0x1, 0x87, 0x97, 0x5a, 0x5a, 0x57, 0x57, 0x9e, 0x60, 0x66, 0x7b, 0x62, 0x3a, 0x39, 0x6d, 0x6c, 0xb4, 0x29, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x3e, 0x0, 0x0, 0x4, 0x3e, 0x4, 0x60, 0x0, 0xa, 0x0, 0x11, 0x0, 0x23, 0x0, 0x0, 0x25, 0x20, 0x35, 0x34, 0x29, 0x1, 0x15, 0x33, 0x15, 0x23, 0x15, 0x1, 0x34, 0x2b, 0x1, 0x11, 0x33, 0x32, 0x37, 0x14, 0x7, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x21, 0x35, 0x23, 0x35, 0x33, 0x11, 0x21, 0x32, 0x16, 0x2, 0x78, 0x1, 0x2, 0xfe, 0xfe, 0xfe, 0xfa, 0xdc, 0xdc, 0x1, 0xde, 0xec, 0xf2, 0xf2, 0xec, 0xb9, 0xd6, 0x7f, 0x8c, 0xe7, 0xd6, 0xfe, 0x39, 0x7c, 0x7c, 0x1, 0xb6, 0xc5, 0xd4, 0x99, 0xb5, 0xb4, 0x66, 0xa4, 0x5f, 0x2, 0x9d, 0x91, 0xfe, 0xda, 0xaa, 0xd0, 0x1f, 0x18, 0x98, 0x72, 0x96, 0xa4, 0xf8, 0xa4, 0x2, 0xc4, 0x90, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x3, 0xe7, 0x4, 0x7b, 0x10, 0x6, 0x0, 0x46, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0x0, 0x0, 0x4, 0x67, 0x4, 0x60, 0x0, 0x8, 0x0, 0x11, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x25, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x29, 0x1, 0x1, 0x73, 0x8d, 0xd9, 0xcb, 0xcb, 0xd9, 0xfe, 0xba, 0x1, 0x37, 0x1, 0x46, 0x1, 0x30, 0xfe, 0xce, 0xfe, 0xbc, 0xfe, 0xc9, 0x3, 0xcd, 0xfc, 0xc7, 0xc7, 0xd6, 0xd5, 0xc7, 0x93, 0xfe, 0xf1, 0xfe, 0xe0, 0xfe, 0xdf, 0xfe, 0xf0, 0x0, 0x2, 0x0, 0x24, 0x0, 0x0, 0x4, 0x67, 0x4, 0x60, 0x0, 0xc, 0x0, 0x19, 0x0, 0x0, 0x13, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x29, 0x1, 0x11, 0x23, 0x35, 0x33, 0x21, 0x15, 0x23, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x1, 0x11, 0xba, 0x1, 0x37, 0x1, 0x46, 0x1, 0x30, 0xfe, 0xce, 0xfe, 0xbc, 0xfe, 0xc9, 0x96, 0x96, 0x1, 0x7a, 0xc1, 0x8d, 0xd9, 0xcb, 0xcb, 0xd9, 0x8d, 0x4, 0x60, 0xfe, 0xf1, 0xfe, 0xe0, 0xfe, 0xdf, 0xfe, 0xf0, 0x1, 0xf5, 0xa4, 0xa4, 0xfe, 0x9f, 0xc7, 0xd6, 0xd5, 0xc7, 0xfe, 0xcc, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x3, 0x8b, 0x4, 0x60, 0x0, 0xb, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0xba, 0x2, 0xc4, 0xfd, 0xf6, 0x1, 0xf3, 0xfe, 0xd, 0x2, 0x17, 0xfd, 0x2f, 0x4, 0x60, 0x94, 0xfe, 0xd3, 0x94, 0xfe, 0x88, 0x93, 0x0, 0x1, 0x0, 0x82, 0xff, 0xe3, 0x3, 0xc5, 0x4, 0x7c, 0x0, 0x31, 0x0, 0x0, 0x1, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x35, 0x36, 0x37, 0x36, 0x33, 0x32, 0x4, 0x15, 0x14, 0x6, 0x2, 0xbf, 0x70, 0x3c, 0x3c, 0x72, 0x71, 0xc4, 0x4c, 0xaa, 0x62, 0x61, 0x50, 0x51, 0x47, 0x77, 0x45, 0x46, 0x44, 0x43, 0x74, 0x9b, 0x94, 0x89, 0x48, 0x4e, 0x54, 0x55, 0x97, 0x5d, 0x55, 0x55, 0x47, 0x5a, 0x54, 0x55, 0x50, 0xee, 0x1, 0x2, 0x8a, 0x2, 0x3, 0x18, 0x41, 0x40, 0x5d, 0x8d, 0x4f, 0x4e, 0x18, 0x18, 0xa7, 0x1d, 0xd, 0xd, 0x2e, 0x2e, 0x40, 0x46, 0x2d, 0x2c, 0x98, 0x33, 0x38, 0x58, 0x5a, 0x38, 0x38, 0x12, 0x13, 0x25, 0xab, 0x1c, 0xe, 0xe, 0xb6, 0xad, 0x6c, 0x92, 0x0, 0x2, 0x0, 0xc1, 0xfe, 0x4c, 0x1, 0x79, 0x4, 0x60, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x13, 0x33, 0x11, 0x23, 0x11, 0x35, 0x33, 0x15, 0xc1, 0xb8, 0xb8, 0xb8, 0x4, 0x60, 0xfb, 0xa0, 0xfe, 0x4c, 0xe9, 0xe9, 0x0, 0x1, 0x0, 0x0, 0xff, 0xe3, 0x2, 0x7b, 0x4, 0x60, 0x0, 0x10, 0x0, 0x0, 0x3d, 0x1, 0x1e, 0x1, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x10, 0x6, 0x23, 0x22, 0x26, 0x44, 0x92, 0x4e, 0x67, 0x2e, 0x2b, 0x97, 0x9e, 0xba, 0x47, 0x8f, 0x3d, 0xb9, 0x3c, 0x3d, 0x4d, 0x46, 0xd7, 0x2, 0x79, 0xfd, 0x87, 0xfe, 0xe6, 0xea, 0x2c, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x4, 0x9c, 0x4, 0x60, 0x10, 0x6, 0x0, 0xfa, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2, 0x0, 0x0, 0x3, 0xfc, 0x4, 0x7b, 0x0, 0xd, 0x0, 0x0, 0x13, 0x33, 0x11, 0x37, 0x17, 0x7, 0x11, 0x21, 0x15, 0x21, 0x11, 0x7, 0x27, 0x37, 0xba, 0xb9, 0x89, 0x4c, 0xd5, 0x2, 0x89, 0xfc, 0xbe, 0x6e, 0x4a, 0xb8, 0x4, 0x7b, 0xfe, 0x64, 0x61, 0x6a, 0x97, 0xfe, 0x6b, 0xaa, 0x1, 0xbc, 0x4e, 0x6a, 0x83, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x5, 0x4f, 0x4, 0x60, 0x10, 0x6, 0x3, 0xd0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x4, 0x79, 0x4, 0x60, 0x10, 0x6, 0x3, 0xcc, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x4, 0x7b, 0x10, 0x6, 0x0, 0x52, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7f, 0xff, 0xe3, 0x3, 0xf5, 0x4, 0x7b, 0x10, 0x6, 0x2, 0x16, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0x0, 0x2d, 0x5, 0x9, 0x4, 0x31, 0x0, 0xa, 0x0, 0x16, 0x0, 0x0, 0x1, 0x34, 0x26, 0x20, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x14, 0x0, 0x21, 0x20, 0x0, 0x35, 0x34, 0x0, 0x21, 0x20, 0x0, 0x4, 0x6d, 0xe7, 0xfe, 0x6e, 0xe7, 0xe8, 0xc8, 0xc7, 0xe9, 0x9c, 0xfe, 0xc8, 0xfe, 0xec, 0xfe, 0xed, 0xfe, 0xc7, 0x1, 0x39, 0x1, 0x13, 0x1, 0x14, 0x1, 0x38, 0x2, 0x2f, 0x94, 0xac, 0xab, 0x95, 0x93, 0xac, 0xac, 0x93, 0xf0, 0xfe, 0xee, 0x1, 0x12, 0xf0, 0xf1, 0x1, 0x11, 0xfe, 0xef, 0x0, 0x0, 0x1, 0x0, 0x71, 0x0, 0x74, 0x5, 0x9, 0x3, 0xea, 0x0, 0x18, 0x0, 0x0, 0x25, 0x23, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x20, 0x6, 0x15, 0x14, 0x16, 0x17, 0x23, 0x2e, 0x1, 0x35, 0x34, 0x0, 0x21, 0x20, 0x0, 0x11, 0x14, 0x6, 0x4, 0xc3, 0xac, 0x2b, 0x2b, 0xe3, 0xfe, 0x66, 0xe3, 0x2b, 0x2b, 0xaa, 0x24, 0x24, 0x1, 0x3e, 0x1, 0xe, 0x1, 0x12, 0x1, 0x3a, 0x23, 0x74, 0x4e, 0x9d, 0x50, 0xb3, 0xc6, 0xc6, 0xb3, 0x50, 0x9d, 0x4e, 0x4d, 0xa5, 0x5d, 0xfd, 0x1, 0x2a, 0xfe, 0xd3, 0xfe, 0xfa, 0x55, 0xa2, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x33, 0x0, 0x5, 0x5, 0x4d, 0x4, 0x59, 0x0, 0x9, 0x0, 0x13, 0x0, 0x2b, 0x0, 0x0, 0x9, 0x1, 0xe, 0x1, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x27, 0x3e, 0x1, 0x33, 0x20, 0x0, 0x15, 0x14, 0x6, 0x7, 0x17, 0x7, 0x27, 0xe, 0x1, 0x23, 0x20, 0x0, 0x35, 0x34, 0x36, 0x37, 0x27, 0x37, 0x3, 0xb2, 0xfd, 0xb0, 0x2a, 0x28, 0xe8, 0xc8, 0x4f, 0x75, 0x9a, 0x29, 0x29, 0xeb, 0xd3, 0x48, 0x6e, 0x2e, 0x97, 0x4d, 0xc5, 0x77, 0x1, 0x14, 0x1, 0x38, 0x33, 0x34, 0xa8, 0x4f, 0xb3, 0x4d, 0xc6, 0x78, 0xfe, 0xed, 0xfe, 0xc7, 0x34, 0x33, 0xa8, 0x4e, 0x1, 0x18, 0x1, 0xe7, 0x29, 0x67, 0x41, 0x93, 0xac, 0x14, 0x5c, 0x2a, 0x67, 0x3e, 0x97, 0xa9, 0x13, 0x14, 0x7d, 0x36, 0x36, 0xfe, 0xef, 0xf1, 0x5d, 0x9f, 0x43, 0x8b, 0x5f, 0x92, 0x35, 0x36, 0x1, 0x12, 0xf0, 0x60, 0xa1, 0x3f, 0x8b, 0x60, 0x0, 0x3, 0x0, 0x71, 0xff, 0xe3, 0x7, 0xc3, 0x4, 0x7b, 0x0, 0x26, 0x0, 0x2f, 0x0, 0x3d, 0x0, 0x0, 0x13, 0x35, 0x21, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x17, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x11, 0x10, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0xe, 0x1, 0x23, 0x22, 0x27, 0x26, 0x37, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x1, 0x32, 0x37, 0x36, 0x10, 0x27, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x17, 0x16, 0x71, 0x3, 0x4e, 0xc, 0x66, 0x66, 0xb7, 0x6a, 0xc8, 0x62, 0x64, 0xd0, 0x6a, 0xa0, 0xf2, 0x51, 0x47, 0x68, 0x69, 0x8c, 0xf1, 0x88, 0x89, 0x89, 0x88, 0xf1, 0x8c, 0x69, 0x6a, 0x42, 0x4e, 0xe8, 0x8f, 0xe2, 0x84, 0x84, 0xb9, 0x2, 0x52, 0x52, 0x89, 0x99, 0x5c, 0x5d, 0xe, 0x2, 0x8, 0x94, 0x56, 0x56, 0x55, 0x56, 0x95, 0x93, 0xac, 0x56, 0x56, 0x2, 0x0, 0x5a, 0xbe, 0x64, 0x63, 0x34, 0x34, 0xae, 0x2a, 0x2c, 0x6e, 0x6d, 0x6e, 0x36, 0x37, 0x9d, 0x9c, 0xfe, 0xed, 0xfe, 0xec, 0x9c, 0x9c, 0x37, 0x38, 0x6c, 0x6b, 0x70, 0x91, 0x92, 0xc4, 0x98, 0x5a, 0x59, 0x57, 0x57, 0x9e, 0xfe, 0xb4, 0x73, 0x74, 0x1, 0x92, 0x74, 0x73, 0xe8, 0xc8, 0xc7, 0x74, 0x75, 0x0, 0x1, 0x0, 0x71, 0x2, 0x2f, 0x4, 0x75, 0x4, 0x7b, 0x0, 0xd, 0x0, 0x0, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x10, 0x0, 0x33, 0x32, 0x0, 0x11, 0x3, 0xb2, 0xac, 0x93, 0x94, 0xac, 0xc2, 0x1, 0x11, 0xf1, 0xf0, 0x1, 0x12, 0x2, 0x2f, 0xc7, 0xe9, 0xe7, 0xc9, 0x1, 0x14, 0x1, 0x38, 0xfe, 0xc8, 0xfe, 0xec, 0x0, 0x0, 0x1, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x2, 0x2f, 0x0, 0xd, 0x0, 0x0, 0x1, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x33, 0x10, 0x0, 0x23, 0x22, 0x0, 0x11, 0x1, 0x34, 0xac, 0x93, 0x94, 0xac, 0xc2, 0xfe, 0xef, 0xf1, 0xf0, 0xfe, 0xee, 0x2, 0x2f, 0xc7, 0xe9, 0xe7, 0xc9, 0xfe, 0xec, 0xfe, 0xc8, 0x1, 0x38, 0x1, 0x14, 0x0, 0x0, 0x2, 0x0, 0x97, 0x0, 0x0, 0x3, 0xcc, 0x4, 0x60, 0x0, 0x7, 0x0, 0x11, 0x0, 0x0, 0x1, 0x11, 0x21, 0x32, 0x36, 0x34, 0x26, 0x23, 0x25, 0x21, 0x32, 0x16, 0x10, 0x6, 0x23, 0x21, 0x11, 0x23, 0x1, 0x4e, 0x1, 0x1, 0x5b, 0x63, 0x63, 0x5b, 0xfe, 0x48, 0x1, 0xb8, 0xbc, 0xc1, 0xc1, 0xbc, 0xfe, 0xff, 0xb7, 0x3, 0xc5, 0xfe, 0x98, 0x5e, 0xac, 0x5e, 0x9b, 0xaa, 0xfe, 0xb6, 0xaa, 0xfe, 0x3e, 0x0, 0x0, 0x2, 0x0, 0x32, 0x0, 0x0, 0x4, 0xf, 0x4, 0x60, 0x0, 0x16, 0x0, 0x21, 0x0, 0x0, 0x1, 0x2e, 0x1, 0x35, 0x34, 0x37, 0x36, 0x33, 0x21, 0x11, 0x23, 0x11, 0x23, 0x22, 0x7, 0x6, 0x7, 0x3, 0x23, 0x13, 0x36, 0x37, 0x36, 0x1, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x1, 0xb5, 0x6a, 0x70, 0x6b, 0x6c, 0xd9, 0x1, 0x84, 0xb9, 0xa9, 0x61, 0x3b, 0x3b, 0x3f, 0xa2, 0xc3, 0xae, 0x35, 0x34, 0x35, 0x1, 0xd8, 0xc6, 0x77, 0x3f, 0x40, 0x40, 0x3f, 0x77, 0xc6, 0x2, 0xd, 0x1b, 0x8c, 0x69, 0xa2, 0x51, 0x50, 0xfb, 0xa0, 0x1, 0xd9, 0x25, 0x24, 0x71, 0xfe, 0xe1, 0x1, 0x32, 0x5e, 0x36, 0x36, 0x1, 0xc9, 0x2a, 0x2a, 0x54, 0x53, 0x2b, 0x2b, 0x0, 0x0, 0x2, 0x0, 0x32, 0x0, 0x0, 0x4, 0xf, 0x4, 0x60, 0x0, 0x16, 0x0, 0x21, 0x0, 0x0, 0x1, 0x26, 0x27, 0x26, 0x27, 0x3, 0x33, 0x13, 0x16, 0x17, 0x16, 0x3b, 0x1, 0x11, 0x33, 0x11, 0x21, 0x22, 0x27, 0x26, 0x35, 0x34, 0x36, 0x1, 0x11, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x1, 0xb5, 0x37, 0x35, 0x34, 0x35, 0xae, 0xc3, 0xa2, 0x3f, 0x3b, 0x3b, 0x61, 0xa9, 0xb9, 0xfe, 0x7c, 0xd9, 0x6c, 0x6b, 0x70, 0x2, 0xb, 0xc6, 0x77, 0x3f, 0x40, 0x40, 0x3f, 0x77, 0x2, 0x53, 0x11, 0x36, 0x36, 0x5e, 0x1, 0x32, 0xfe, 0xe1, 0x71, 0x24, 0x25, 0x1, 0xd9, 0xfb, 0xa0, 0x50, 0x51, 0xa2, 0x69, 0x8c, 0xfe, 0x63, 0x1, 0x51, 0x2b, 0x2b, 0x53, 0x54, 0x2a, 0x2a, 0xff, 0xff, 0x0, 0x3c, 0x0, 0x0, 0x4, 0x6d, 0x4, 0x60, 0x10, 0x6, 0x3, 0xd6, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0xff, 0xe0, 0x4, 0x14, 0x4, 0x60, 0x0, 0xf, 0x0, 0x0, 0x24, 0x20, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x6, 0x20, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x1, 0xe6, 0x1, 0x2, 0x73, 0xb9, 0xd9, 0xfe, 0x58, 0xd9, 0xb9, 0x7d, 0x8e, 0xa2, 0x2, 0xb3, 0xfd, 0x3b, 0xdb, 0xe0, 0xe0, 0xdb, 0x2, 0xc5, 0xfd, 0x4d, 0xa2, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xae, 0x0, 0x4c, 0x5, 0x2b, 0x3, 0xf6, 0x0, 0x13, 0x0, 0x0, 0x25, 0x21, 0x35, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x35, 0x21, 0x15, 0x23, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x3, 0x54, 0xfd, 0x5a, 0x2, 0x9f, 0x9f, 0x9f, 0xbe, 0xa4, 0xfd, 0x85, 0x4, 0x60, 0xac, 0x66, 0x63, 0xf0, 0x4c, 0xb8, 0x7c, 0x7c, 0x96, 0xac, 0xb8, 0xb8, 0x42, 0xb2, 0x74, 0xc2, 0xc8, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xae, 0x0, 0x4e, 0x6, 0xdb, 0x3, 0xf8, 0x0, 0x3, 0x0, 0x7, 0x0, 0x1b, 0x0, 0x0, 0x13, 0x35, 0x33, 0x15, 0x3, 0x35, 0x33, 0x15, 0x5, 0x21, 0x35, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x35, 0x21, 0x15, 0x23, 0x1e, 0x1, 0x15, 0x14, 0x6, 0xae, 0xca, 0xca, 0xca, 0x3, 0x8c, 0xfd, 0x5a, 0x2, 0x9f, 0x9f, 0x9f, 0xbe, 0xa4, 0xfd, 0x85, 0x4, 0x60, 0xac, 0x66, 0x63, 0xf0, 0x2, 0x78, 0xcc, 0xcc, 0xfe, 0x7a, 0xca, 0xca, 0xa4, 0xb8, 0x7c, 0x7c, 0x94, 0xae, 0xb8, 0xb8, 0x44, 0xb0, 0x76, 0xc0, 0xc8, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2f, 0xfe, 0x18, 0x4, 0xaa, 0x4, 0x7b, 0x0, 0x26, 0x0, 0x0, 0x1, 0x1e, 0x1, 0x15, 0x14, 0x7, 0x6, 0x23, 0x21, 0x35, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x35, 0x21, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x21, 0x35, 0x21, 0x15, 0x23, 0x1e, 0x1, 0x15, 0x14, 0x7, 0x6, 0x3, 0xb8, 0x7c, 0x76, 0x7a, 0x7b, 0xe2, 0xfd, 0x5c, 0x2, 0x9e, 0xa1, 0x9c, 0xbe, 0xa4, 0xfd, 0x87, 0x2, 0x9e, 0xa2, 0x4d, 0x4e, 0x60, 0x5f, 0xa3, 0xfd, 0x87, 0x4, 0x60, 0xae, 0x67, 0x62, 0x3e, 0x3e, 0x1, 0xc, 0x45, 0xc0, 0x82, 0xaf, 0x5f, 0x5f, 0xb9, 0x72, 0x75, 0x8f, 0xa6, 0xb9, 0x39, 0x39, 0x77, 0x8d, 0x53, 0x53, 0xb9, 0xb9, 0x3f, 0xb0, 0x79, 0x7a, 0x56, 0x55, 0x0, 0xff, 0xff, 0x0, 0x3d, 0x0, 0x0, 0x4, 0x7f, 0x4, 0x60, 0x10, 0x6, 0x0, 0x59, 0x0, 0x0, 0xff, 0xff, 0x0, 0x56, 0x0, 0x0, 0x6, 0x35, 0x4, 0x60, 0x10, 0x6, 0x0, 0x5a, 0x0, 0x0, 0xff, 0xff, 0x0, 0x58, 0x0, 0x0, 0x3, 0xdb, 0x4, 0x60, 0x10, 0x6, 0x0, 0x5d, 0x0, 0x0, 0x0, 0x1, 0x0, 0x78, 0xff, 0xe3, 0x3, 0xba, 0x4, 0x60, 0x0, 0x17, 0x0, 0x0, 0x37, 0x16, 0x33, 0x32, 0x36, 0x34, 0x26, 0x2b, 0x1, 0x35, 0x1, 0x25, 0x35, 0x21, 0x15, 0x1, 0x32, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x20, 0x27, 0x8a, 0xa1, 0xd3, 0x80, 0x84, 0x7b, 0x6e, 0x7f, 0x1, 0xa, 0xfd, 0xd4, 0x3, 0x0, 0xfe, 0xf6, 0x46, 0x97, 0x6f, 0xe4, 0xfe, 0x7d, 0xc9, 0xbd, 0x42, 0x64, 0xbb, 0x64, 0x90, 0x1, 0x3e, 0x1, 0x93, 0x93, 0xfe, 0xc2, 0x4a, 0x9f, 0x6d, 0xa0, 0xb6, 0x37, 0x0, 0x1, 0x0, 0xb3, 0x0, 0x0, 0x3, 0xfc, 0x4, 0x7b, 0x0, 0x5, 0x0, 0x0, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0xb3, 0x3, 0x49, 0xfd, 0x81, 0x4, 0x7b, 0xaa, 0xfc, 0x2f, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3d, 0x0, 0x0, 0x4, 0x7f, 0x4, 0x60, 0x10, 0x6, 0x2, 0x4e, 0x0, 0x0, 0x0, 0x1, 0x0, 0x97, 0x0, 0x0, 0x3, 0xec, 0x4, 0x60, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x3, 0xec, 0xb6, 0xfe, 0x17, 0xb6, 0x4, 0x60, 0xfb, 0xa0, 0x3, 0xb7, 0xfc, 0x49, 0x4, 0x60, 0x0, 0x0, 0xff, 0xff, 0x0, 0x97, 0x0, 0x0, 0x3, 0xcc, 0x4, 0x60, 0x10, 0x6, 0x8, 0x7a, 0x0, 0x0, 0x0, 0x1, 0x0, 0x5a, 0x0, 0x0, 0x4, 0x5e, 0x4, 0x60, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x33, 0x11, 0x36, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x10, 0x7, 0x6, 0x7, 0x15, 0x23, 0x35, 0x26, 0x27, 0x26, 0x19, 0x1, 0x33, 0x11, 0x14, 0x17, 0x16, 0x17, 0x2, 0x0, 0xb8, 0x55, 0x39, 0x56, 0xc2, 0x88, 0x6d, 0xb1, 0xb8, 0xaf, 0x6d, 0x8a, 0xc4, 0x56, 0x39, 0x53, 0x4, 0x60, 0xfd, 0x31, 0x1a, 0x4d, 0x73, 0xc9, 0x1, 0x2c, 0xfe, 0xd4, 0xfe, 0xec, 0x9c, 0x7d, 0x19, 0xee, 0xee, 0x19, 0x7d, 0x9c, 0x1, 0x14, 0x1, 0x2c, 0xfe, 0xd4, 0xc7, 0x75, 0x4d, 0x1a, 0xff, 0xff, 0x0, 0x4c, 0x0, 0x0, 0x4, 0x73, 0x4, 0x60, 0x10, 0x6, 0x3, 0xcf, 0x0, 0x0, 0x0, 0x2, 0x0, 0xa, 0x2, 0x9c, 0x3, 0x68, 0x5, 0xe0, 0x0, 0x2, 0x0, 0xa, 0x0, 0x0, 0x1, 0x3, 0x21, 0x3, 0x33, 0x1, 0x23, 0x27, 0x21, 0x7, 0x23, 0x1, 0xb9, 0xad, 0x1, 0x5a, 0xf5, 0x90, 0x1, 0x67, 0x84, 0x56, 0xfe, 0x58, 0x56, 0x86, 0x5, 0x71, 0xfe, 0x60, 0x2, 0xf, 0xfc, 0xbc, 0xd6, 0xd6, 0x0, 0x2, 0x0, 0x5, 0x2, 0x9c, 0x4, 0x96, 0x5, 0xe0, 0x0, 0xf, 0x0, 0x13, 0x0, 0x0, 0x1, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x35, 0x21, 0x7, 0x23, 0x1, 0x17, 0x3, 0x21, 0x11, 0x4, 0x8a, 0xfe, 0x2e, 0x1, 0xbf, 0xfe, 0x41, 0x1, 0xde, 0xfd, 0xa2, 0xfe, 0xb3, 0x65, 0x81, 0x1, 0x8a, 0x57, 0xd0, 0x1, 0x22, 0x5, 0xe0, 0x5f, 0xf8, 0x5f, 0xfe, 0xd1, 0x5f, 0xd6, 0xd6, 0x3, 0x44, 0x58, 0xfe, 0x49, 0x1, 0xb7, 0x0, 0x0, 0x3, 0x0, 0x7f, 0x2, 0x9c, 0x3, 0x1a, 0x5, 0xe0, 0x0, 0xa, 0x0, 0x15, 0x0, 0x26, 0x0, 0x0, 0x13, 0x11, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x3, 0x15, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x25, 0x21, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x21, 0xfe, 0xcc, 0x67, 0x31, 0x32, 0x32, 0x31, 0x67, 0xcc, 0xbc, 0x5e, 0x2d, 0x2e, 0x2e, 0x2d, 0x5e, 0xfe, 0xc5, 0x1, 0x45, 0x91, 0x4f, 0x4f, 0x29, 0x28, 0x4e, 0x5e, 0x68, 0xac, 0x9e, 0xfe, 0xaf, 0x4, 0x2b, 0xfe, 0xce, 0x26, 0x26, 0x4d, 0x4f, 0x25, 0x25, 0x1, 0x58, 0xfc, 0x1f, 0x1f, 0x40, 0x3f, 0x20, 0x1f, 0x5d, 0x36, 0x35, 0x64, 0x4c, 0x2e, 0x2d, 0xb, 0x12, 0x72, 0x55, 0x70, 0x7a, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x7f, 0x2, 0x9c, 0x3, 0x95, 0x5, 0xe0, 0x0, 0xa, 0x0, 0x15, 0x0, 0x0, 0x13, 0x11, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x25, 0x21, 0x20, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x29, 0x1, 0xfe, 0x9a, 0xc2, 0x5b, 0x5a, 0x5a, 0x5b, 0xc2, 0xfe, 0xe7, 0x1, 0x5, 0x1, 0x12, 0x7f, 0x80, 0x80, 0x81, 0xfe, 0xf0, 0xfe, 0xfb, 0x5, 0x83, 0xfd, 0x76, 0x4e, 0x4f, 0xa9, 0xa8, 0x4e, 0x4e, 0x5d, 0x65, 0x65, 0xd7, 0xd8, 0x66, 0x65, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x7f, 0x2, 0x9c, 0x2, 0xdd, 0x5, 0xe0, 0x0, 0xb, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x7f, 0x2, 0x52, 0xfe, 0x2d, 0x1, 0xc0, 0xfe, 0x40, 0x1, 0xdf, 0xfd, 0xa2, 0x5, 0xe0, 0x5f, 0xf8, 0x5f, 0xfe, 0xd1, 0x5f, 0x0, 0x0, 0x1, 0x0, 0x53, 0x2, 0x9c, 0x2, 0xb1, 0x5, 0xe0, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x2, 0xb1, 0xfd, 0xa2, 0x1, 0xde, 0xfe, 0x40, 0x1, 0xc0, 0xfe, 0x2d, 0x5, 0xe0, 0xfc, 0xbc, 0x5f, 0x1, 0x2f, 0x5f, 0xf8, 0x5f, 0x0, 0x1, 0x0, 0x48, 0x2, 0x8c, 0x3, 0x7e, 0x5, 0xef, 0x0, 0x24, 0x0, 0x0, 0x1, 0x35, 0x23, 0x35, 0x21, 0x11, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x15, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x36, 0x3, 0x0, 0xd0, 0x1, 0x4e, 0x4a, 0x59, 0x58, 0x65, 0xdd, 0x7c, 0x7d, 0x7d, 0x7c, 0xdd, 0x5c, 0x53, 0x52, 0x46, 0x46, 0x50, 0x4f, 0x57, 0xad, 0x57, 0x56, 0x56, 0x57, 0xad, 0x43, 0x6a, 0x3, 0x13, 0xe1, 0x5d, 0xfe, 0x99, 0x2f, 0x17, 0x18, 0x72, 0x73, 0xcc, 0xcd, 0x73, 0x72, 0x14, 0x14, 0x27, 0x79, 0x35, 0x1b, 0x1b, 0x55, 0x56, 0xaa, 0xa9, 0x56, 0x55, 0x14, 0x0, 0x0, 0x1, 0x0, 0x7f, 0x2, 0x9c, 0x3, 0x4c, 0x5, 0xe0, 0x0, 0xb, 0x0, 0x0, 0x13, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x7f, 0x7f, 0x1, 0xce, 0x80, 0x80, 0xfe, 0x32, 0x7f, 0x5, 0xe0, 0xfe, 0xa9, 0x1, 0x57, 0xfc, 0xbc, 0x1, 0x8e, 0xfe, 0x72, 0x0, 0x0, 0x1, 0x0, 0x7f, 0x2, 0x9c, 0x0, 0xfe, 0x5, 0xe0, 0x0, 0x3, 0x0, 0x0, 0x13, 0x33, 0x11, 0x23, 0x7f, 0x7f, 0x7f, 0x5, 0xe0, 0xfc, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xbd, 0x1, 0xb6, 0x0, 0xfe, 0x5, 0xe0, 0x0, 0xc, 0x0, 0x0, 0x13, 0x33, 0x11, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x7f, 0x7f, 0x41, 0x40, 0x8f, 0x31, 0x28, 0x54, 0x46, 0x5, 0xe0, 0xfc, 0xf6, 0x97, 0x44, 0x45, 0x60, 0x54, 0x6c, 0x0, 0x0, 0x0, 0x1, 0x0, 0x7f, 0x2, 0x9c, 0x3, 0x69, 0x5, 0xe0, 0x0, 0xa, 0x0, 0x0, 0x13, 0x33, 0x11, 0x1, 0x33, 0x9, 0x1, 0x23, 0x1, 0x11, 0x23, 0x7f, 0x7f, 0x1, 0xa6, 0xa4, 0xfe, 0x2d, 0x1, 0xf4, 0xa7, 0xfe, 0x3c, 0x7f, 0x5, 0xe0, 0xfe, 0x9f, 0x1, 0x61, 0xfe, 0x7a, 0xfe, 0x42, 0x1, 0x93, 0xfe, 0x6d, 0x0, 0x1, 0x0, 0x7f, 0x2, 0x9c, 0x2, 0xc8, 0x5, 0xe0, 0x0, 0x5, 0x0, 0x0, 0x13, 0x33, 0x11, 0x21, 0x15, 0x21, 0x7f, 0x7f, 0x1, 0xca, 0xfd, 0xb7, 0x5, 0xe0, 0xfd, 0x1b, 0x5f, 0x0, 0x0, 0x1, 0x0, 0x7f, 0x2, 0x9c, 0x3, 0xdb, 0x5, 0xe0, 0x0, 0xc, 0x0, 0x0, 0x13, 0x33, 0x1b, 0x1, 0x33, 0x11, 0x23, 0x11, 0x3, 0x23, 0x3, 0x11, 0x23, 0x7f, 0xbd, 0xf0, 0xf2, 0xbd, 0x7c, 0xf2, 0x80, 0xf3, 0x7b, 0x5, 0xe0, 0xfd, 0xc7, 0x2, 0x39, 0xfc, 0xbc, 0x2, 0xde, 0xfd, 0xc3, 0x2, 0x3d, 0xfd, 0x22, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x7f, 0x2, 0x9c, 0x3, 0x47, 0x5, 0xe0, 0x0, 0x9, 0x0, 0x0, 0x13, 0x33, 0x1, 0x11, 0x33, 0x11, 0x23, 0x1, 0x11, 0x23, 0x7f, 0xab, 0x1, 0xa1, 0x7c, 0xac, 0xfe, 0x5f, 0x7b, 0x5, 0xe0, 0xfd, 0x45, 0x2, 0xbb, 0xfc, 0xbc, 0x2, 0xbb, 0xfd, 0x45, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x7f, 0x2, 0x9c, 0x3, 0x47, 0x5, 0xe0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x23, 0x11, 0x33, 0x11, 0x1, 0x3, 0x47, 0x7c, 0xfe, 0x5f, 0xab, 0x7b, 0x1, 0xa1, 0x5, 0xe0, 0xfc, 0xbc, 0x2, 0xbb, 0xfd, 0x45, 0x3, 0x44, 0xfd, 0x45, 0x2, 0xbb, 0x0, 0x0, 0x2, 0x0, 0x48, 0x2, 0x8c, 0x3, 0xaf, 0x5, 0xef, 0x0, 0xf, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x24, 0x20, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x20, 0x27, 0x26, 0x10, 0x1, 0xfc, 0x8a, 0x52, 0x51, 0x51, 0x52, 0x8a, 0x8b, 0x51, 0x51, 0x51, 0x51, 0xfe, 0xaf, 0x1, 0x8c, 0x77, 0x76, 0x76, 0x77, 0xfe, 0x74, 0x77, 0x77, 0x5, 0x93, 0x5b, 0x5c, 0x9f, 0x9e, 0x5c, 0x5b, 0x5b, 0x5c, 0x9e, 0x9f, 0x5c, 0x5b, 0x5c, 0x76, 0x76, 0xc6, 0xc5, 0x76, 0x76, 0x75, 0x76, 0x1, 0x8c, 0x0, 0x0, 0x0, 0x2, 0x0, 0x47, 0x2, 0x8c, 0x3, 0x3e, 0x5, 0xef, 0x0, 0xf, 0x0, 0x40, 0x0, 0x0, 0x1, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x3, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x35, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x1, 0xc2, 0x73, 0x43, 0x44, 0x44, 0x43, 0x73, 0x74, 0x44, 0x43, 0x43, 0x42, 0x9a, 0x52, 0x36, 0x35, 0x3c, 0x25, 0x80, 0x6a, 0x3c, 0x3d, 0x30, 0x45, 0x52, 0x90, 0x5e, 0x58, 0x36, 0x35, 0x60, 0x6c, 0x3c, 0x3d, 0x63, 0x61, 0xb8, 0xb7, 0xc4, 0x3d, 0x3d, 0x6c, 0x6c, 0x2a, 0x36, 0x52, 0x49, 0xa2, 0x4, 0x29, 0x2b, 0x2b, 0x4c, 0x4b, 0x2c, 0x2b, 0x2b, 0x2c, 0x4b, 0x4c, 0x2b, 0x2b, 0x1, 0x35, 0x2, 0x23, 0x23, 0x2c, 0x26, 0x29, 0x19, 0x24, 0x25, 0x4c, 0x59, 0x18, 0x2b, 0x4, 0x38, 0x3a, 0x36, 0x69, 0x47, 0x32, 0x32, 0x12, 0x13, 0x37, 0x38, 0x50, 0x79, 0x41, 0x41, 0x82, 0x79, 0x50, 0x38, 0x37, 0x13, 0x12, 0x27, 0x32, 0x31, 0x49, 0x2e, 0x2a, 0x0, 0x2, 0x0, 0x7f, 0x2, 0x9c, 0x2, 0xde, 0x5, 0xe0, 0x0, 0x9, 0x0, 0x15, 0x0, 0x0, 0x13, 0x11, 0x33, 0x32, 0x37, 0x36, 0x34, 0x27, 0x26, 0x23, 0x25, 0x21, 0x32, 0x17, 0x16, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x11, 0x23, 0xfe, 0xa0, 0x59, 0x30, 0x31, 0x31, 0x30, 0x59, 0xfe, 0xe1, 0x1, 0x1f, 0x9e, 0x51, 0x51, 0x51, 0x51, 0x9e, 0xa0, 0x7f, 0x5, 0x83, 0xfe, 0xc6, 0x29, 0x29, 0x96, 0x29, 0x29, 0x5d, 0x3f, 0x40, 0xf6, 0x40, 0x3f, 0xfe, 0xb0, 0x0, 0x0, 0x2, 0x0, 0x7f, 0x2, 0x9c, 0x3, 0x5b, 0x5, 0xe0, 0x0, 0x17, 0x0, 0x20, 0x0, 0x0, 0x1, 0x16, 0x17, 0x16, 0x1f, 0x1, 0x23, 0x27, 0x26, 0x27, 0x26, 0x2b, 0x1, 0x11, 0x23, 0x11, 0x21, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x2, 0x3d, 0x29, 0x26, 0x27, 0x27, 0x81, 0x88, 0x79, 0x2e, 0x2c, 0x2c, 0x4c, 0x8a, 0x7f, 0x1, 0x1f, 0xa1, 0x50, 0x4f, 0x29, 0x2a, 0xfe, 0x73, 0xa0, 0x5c, 0x5e, 0x5e, 0x5c, 0x4, 0x24, 0xc, 0x29, 0x28, 0x47, 0xe4, 0xd6, 0x54, 0x1c, 0x1b, 0xfe, 0x9f, 0x3, 0x44, 0x3c, 0x3c, 0x79, 0x4f, 0x34, 0x34, 0x1, 0x4b, 0xfe, 0xd7, 0x4c, 0x49, 0x4a, 0x4a, 0x0, 0x0, 0x1, 0xff, 0xfc, 0x2, 0x9c, 0x3, 0x18, 0x5, 0xe0, 0x0, 0x7, 0x0, 0x0, 0x3, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x4, 0x3, 0x1c, 0xfe, 0xb2, 0x80, 0xfe, 0xb2, 0x5, 0xe0, 0x5f, 0xfd, 0x1b, 0x2, 0xe5, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x70, 0x2, 0x8c, 0x3, 0x40, 0x5, 0xe0, 0x0, 0x13, 0x0, 0x0, 0x13, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x7, 0x6, 0x20, 0x27, 0x26, 0x35, 0x70, 0x80, 0x6e, 0x7a, 0x7b, 0x37, 0x36, 0x80, 0x5b, 0x5b, 0xfe, 0x9c, 0x5b, 0x5b, 0x5, 0xe0, 0xfe, 0x4, 0x86, 0x76, 0x3b, 0x3b, 0x86, 0x1, 0xfc, 0xfd, 0xf6, 0xa3, 0x54, 0x53, 0x53, 0x54, 0xa3, 0x0, 0x0, 0x1, 0x0, 0x2b, 0x2, 0x9c, 0x4, 0xd2, 0x5, 0xe0, 0x0, 0xc, 0x0, 0x0, 0x13, 0x33, 0x1b, 0x1, 0x33, 0x1b, 0x1, 0x33, 0x3, 0x23, 0xb, 0x1, 0x23, 0x2b, 0x80, 0xc6, 0xc5, 0x8f, 0xc6, 0xc5, 0x82, 0xed, 0xa0, 0xc6, 0xc9, 0xa0, 0x5, 0xe0, 0xfd, 0x3d, 0x2, 0xc3, 0xfd, 0x3d, 0x2, 0xc3, 0xfc, 0xbc, 0x2, 0xd6, 0xfd, 0x2a, 0x0, 0x2, 0x0, 0x4d, 0x2, 0x8c, 0x2, 0xa1, 0x5, 0x1e, 0x0, 0xc, 0x0, 0x2b, 0x0, 0x0, 0x1, 0x22, 0x7, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x36, 0x3d, 0x1, 0x37, 0x11, 0x23, 0x35, 0x6, 0x7, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x3b, 0x1, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x35, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x1, 0xba, 0x8c, 0x36, 0x37, 0x52, 0x46, 0x60, 0x3a, 0x3b, 0x73, 0x73, 0x28, 0x3b, 0x3c, 0x55, 0x6d, 0x80, 0xa0, 0x9e, 0xa3, 0x6a, 0x5f, 0x3c, 0x3a, 0x39, 0x35, 0x40, 0x3c, 0x3b, 0x39, 0x99, 0x4c, 0x4b, 0x3, 0xd7, 0x1c, 0x1d, 0x45, 0x37, 0x40, 0x3d, 0x3d, 0x64, 0x17, 0x2b, 0xfe, 0x9a, 0x5f, 0x39, 0x1b, 0x1b, 0x6c, 0x5b, 0x69, 0x6c, 0xa, 0x47, 0x4e, 0xd, 0xd, 0x1a, 0x60, 0x15, 0xb, 0xb, 0x46, 0x47, 0x0, 0x2, 0x0, 0x4d, 0x2, 0x8c, 0x2, 0xa1, 0x5, 0x1e, 0x0, 0xc, 0x0, 0x2d, 0x0, 0x0, 0x1, 0x32, 0x37, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x6, 0x1d, 0x1, 0x7, 0x11, 0x33, 0x15, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x15, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x1, 0x35, 0x8c, 0x36, 0x37, 0x52, 0x46, 0x60, 0x3a, 0x3b, 0x74, 0x74, 0x28, 0x3b, 0x3c, 0x55, 0x6d, 0x40, 0x3f, 0x50, 0x4f, 0x9e, 0xa3, 0x6a, 0x5f, 0x3c, 0x3a, 0x39, 0x35, 0x40, 0x3c, 0x3c, 0x38, 0x99, 0x4c, 0x4c, 0x3, 0xd3, 0x1c, 0x1d, 0x45, 0x37, 0x40, 0x3d, 0x3c, 0x65, 0x17, 0x2b, 0x1, 0x66, 0x5f, 0x39, 0x1b, 0x1b, 0x36, 0x36, 0x5a, 0x6a, 0x36, 0x36, 0xa, 0x47, 0x4e, 0xd, 0xd, 0x1a, 0x60, 0x15, 0xc, 0xa, 0x46, 0x47, 0x0, 0x0, 0x0, 0x2, 0x0, 0x47, 0x2, 0x8c, 0x2, 0xbe, 0x5, 0x1e, 0x0, 0x13, 0x0, 0x1f, 0x0, 0x0, 0x1, 0x35, 0x33, 0x11, 0x23, 0x35, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x10, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x4, 0x14, 0x17, 0x16, 0x32, 0x37, 0x36, 0x34, 0x27, 0x26, 0x22, 0x7, 0x2, 0x4a, 0x74, 0x74, 0x25, 0x37, 0x38, 0x4e, 0x80, 0x51, 0x50, 0x50, 0x51, 0x80, 0x4e, 0x38, 0x37, 0xfe, 0x9a, 0x34, 0x35, 0xb8, 0x35, 0x35, 0x35, 0x35, 0xb8, 0x35, 0x4, 0xb0, 0x5f, 0xfd, 0x8d, 0x5e, 0x38, 0x1b, 0x1b, 0x5a, 0x5b, 0x1, 0x28, 0x5b, 0x5a, 0x1b, 0x1b, 0xa1, 0xe4, 0x41, 0x40, 0x40, 0x41, 0xe4, 0x41, 0x40, 0x40, 0x0, 0x0, 0x3, 0x0, 0x4d, 0x2, 0x8c, 0x4, 0xaf, 0x5, 0x1e, 0x0, 0x33, 0x0, 0x3c, 0x0, 0x4a, 0x0, 0x0, 0x1, 0xe, 0x1, 0x23, 0x22, 0x27, 0x26, 0x3d, 0x1, 0x21, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x36, 0x37, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x26, 0x25, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x3f, 0x1, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x1d, 0x1, 0x2, 0x8a, 0x2f, 0x86, 0x53, 0x8e, 0x53, 0x54, 0x2, 0x15, 0x7, 0x40, 0x41, 0x73, 0x41, 0x7e, 0x3f, 0x3f, 0x41, 0x42, 0x42, 0x6a, 0x4e, 0x4e, 0x30, 0x2e, 0x44, 0x44, 0x5b, 0x77, 0x84, 0x50, 0x4f, 0x9f, 0xa2, 0x34, 0x35, 0x5f, 0x3d, 0x72, 0x35, 0x3f, 0x78, 0x39, 0x59, 0x86, 0xfe, 0x16, 0x1, 0x34, 0x34, 0x56, 0x60, 0x3b, 0x3a, 0x9, 0xe3, 0x8d, 0x36, 0x36, 0x29, 0x28, 0x46, 0x61, 0x3a, 0x3a, 0x2, 0xf3, 0x33, 0x34, 0x51, 0x52, 0x8c, 0x32, 0x6b, 0x38, 0x38, 0x1e, 0x1d, 0x61, 0x18, 0xc, 0xc, 0x22, 0x21, 0x43, 0x43, 0x22, 0x21, 0x68, 0x5e, 0x6a, 0x36, 0x36, 0xa, 0x47, 0x27, 0x27, 0x1a, 0x1a, 0x60, 0x15, 0x16, 0x36, 0xda, 0x54, 0x32, 0x33, 0x31, 0x31, 0x58, 0x36, 0x1c, 0x1d, 0x45, 0x37, 0x20, 0x20, 0x3d, 0x3c, 0x65, 0x17, 0x0, 0x0, 0x2, 0x0, 0x75, 0x2, 0x8c, 0x2, 0xec, 0x6, 0x3, 0x0, 0xb, 0x0, 0x1d, 0x0, 0x0, 0x0, 0x34, 0x27, 0x26, 0x22, 0x7, 0x6, 0x14, 0x17, 0x16, 0x32, 0x37, 0x1, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x10, 0x7, 0x6, 0x23, 0x22, 0x26, 0x27, 0x15, 0x23, 0x11, 0x33, 0x2, 0x74, 0x34, 0x35, 0xb8, 0x35, 0x34, 0x34, 0x35, 0xb8, 0x35, 0xfe, 0xaa, 0x24, 0x70, 0x4d, 0x81, 0x50, 0x50, 0x50, 0x50, 0x81, 0x4d, 0x70, 0x24, 0x75, 0x75, 0x3, 0x63, 0xe4, 0x40, 0x41, 0x41, 0x40, 0xe4, 0x40, 0x41, 0x41, 0x1, 0x8d, 0x38, 0x36, 0x5a, 0x5b, 0xfe, 0xd8, 0x5b, 0x5a, 0x36, 0x38, 0x5e, 0x3, 0x67, 0x0, 0x0, 0x2, 0x0, 0x47, 0x2, 0x8c, 0x2, 0xbe, 0x6, 0x3, 0x0, 0x13, 0x0, 0x1f, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x23, 0x35, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x10, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x4, 0x14, 0x17, 0x16, 0x32, 0x37, 0x36, 0x34, 0x27, 0x26, 0x22, 0x7, 0x2, 0x4a, 0x74, 0x74, 0x25, 0x37, 0x38, 0x4e, 0x80, 0x50, 0x51, 0x51, 0x50, 0x80, 0x4e, 0x38, 0x37, 0xfe, 0x9a, 0x34, 0x35, 0xb8, 0x35, 0x35, 0x35, 0x35, 0xb8, 0x35, 0x4, 0xb0, 0x1, 0x53, 0xfc, 0x99, 0x5e, 0x38, 0x1b, 0x1b, 0x5a, 0x5b, 0x1, 0x28, 0x5b, 0x5a, 0x1b, 0x1b, 0xa1, 0xe4, 0x40, 0x41, 0x41, 0x40, 0xe4, 0x40, 0x41, 0x41, 0x0, 0x2, 0x0, 0x47, 0x2, 0x8c, 0x2, 0xd5, 0x5, 0x1e, 0x0, 0x1a, 0x0, 0x23, 0x0, 0x0, 0x1, 0x15, 0x21, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x15, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x7, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x2, 0xd5, 0xfd, 0xeb, 0x8, 0x40, 0x41, 0x73, 0x43, 0x3f, 0x3e, 0x3e, 0x3e, 0x42, 0x41, 0x44, 0xa9, 0x62, 0x63, 0x5e, 0x5d, 0x9f, 0x8e, 0x53, 0x53, 0x74, 0x1, 0x34, 0x34, 0x56, 0x61, 0x3a, 0x3a, 0x9, 0x3, 0xef, 0x32, 0x6a, 0x38, 0x38, 0xf, 0xe, 0x1d, 0x61, 0x18, 0xc, 0xc, 0x57, 0x57, 0x95, 0x9a, 0x5b, 0x5a, 0x51, 0x52, 0x6d, 0x54, 0x33, 0x32, 0x31, 0x30, 0x58, 0x0, 0x0, 0x0, 0x2, 0x0, 0x47, 0x2, 0x8c, 0x2, 0xd5, 0x5, 0x1e, 0x0, 0x14, 0x0, 0x1b, 0x0, 0x4d, 0x4b, 0xb0, 0xc, 0x53, 0x58, 0x40, 0x7, 0x2, 0x1b, 0xf, 0x9, 0x15, 0x0, 0x1c, 0x10, 0xd4, 0xcc, 0xc4, 0xd4, 0xcc, 0x32, 0x4b, 0xb0, 0x15, 0x53, 0x4b, 0xb0, 0x18, 0x51, 0x5a, 0x4b, 0xb0, 0x11, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x2, 0xff, 0xc0, 0x0, 0xf, 0xff, 0xc0, 0x0, 0x1b, 0xff, 0xc0, 0x38, 0x38, 0x38, 0x59, 0x31, 0x0, 0x40, 0x9, 0x3, 0x9, 0x15, 0x2, 0x5, 0xc, 0x18, 0x12, 0x1c, 0x10, 0xd4, 0xcc, 0x2f, 0xcc, 0xd4, 0xcc, 0xd4, 0xcc, 0x30, 0x59, 0x13, 0x35, 0x21, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x37, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x37, 0x47, 0x2, 0x15, 0x7, 0x82, 0x73, 0x43, 0x7d, 0x3e, 0x3f, 0x83, 0x43, 0xa9, 0xc5, 0xbb, 0x9f, 0x8e, 0xa6, 0x74, 0x1, 0x68, 0x56, 0x61, 0x75, 0x8, 0x3, 0xbb, 0x32, 0x6b, 0x6f, 0x1d, 0x1d, 0x61, 0x18, 0x18, 0xae, 0x95, 0x9a, 0xb5, 0xa3, 0x6d, 0x54, 0x65, 0x62, 0x58, 0x0, 0x0, 0x0, 0x1, 0x0, 0x54, 0x2, 0x8c, 0x2, 0x62, 0x5, 0x1f, 0x0, 0x32, 0x0, 0x0, 0x13, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x15, 0x6, 0x7, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x36, 0xf9, 0x47, 0x26, 0x25, 0x48, 0x47, 0x7b, 0x30, 0x36, 0x35, 0x3e, 0x3d, 0x66, 0x2c, 0x4b, 0x2c, 0x2c, 0x2b, 0x2a, 0x49, 0x62, 0x5d, 0x57, 0x2d, 0x31, 0x35, 0x35, 0x5f, 0x3b, 0x36, 0x35, 0x2d, 0x39, 0x35, 0x35, 0x33, 0x96, 0xa2, 0x2b, 0x2c, 0x3, 0xee, 0xe, 0x24, 0x24, 0x34, 0x4f, 0x2c, 0x2c, 0x7, 0x7, 0xd, 0x5e, 0x11, 0xe, 0x19, 0x1a, 0x24, 0x27, 0x19, 0x19, 0x55, 0x1d, 0x1f, 0x31, 0x33, 0x1f, 0x20, 0xb, 0xa, 0x15, 0x60, 0x10, 0x7, 0x8, 0x66, 0x61, 0x3c, 0x29, 0x29, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x52, 0x2, 0x8c, 0x2, 0x60, 0x5, 0x1f, 0x0, 0x31, 0x0, 0x0, 0x1, 0x1e, 0x1, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x35, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x1, 0xbb, 0x46, 0x4c, 0x48, 0x47, 0x7b, 0x30, 0x36, 0x35, 0x3e, 0x3d, 0x32, 0x33, 0x2d, 0x4b, 0x58, 0x2b, 0x2a, 0x49, 0x62, 0x5d, 0x56, 0x2e, 0x31, 0x35, 0x36, 0x5f, 0x3a, 0x36, 0x35, 0x2d, 0x39, 0x6a, 0x32, 0x96, 0x52, 0x51, 0x2c, 0x2b, 0x3, 0xbc, 0xd, 0x48, 0x34, 0x4f, 0x2d, 0x2b, 0x6, 0x7, 0xe, 0x5d, 0x10, 0x7, 0x8, 0x34, 0x24, 0x27, 0x19, 0x19, 0x55, 0x1c, 0x20, 0x31, 0x32, 0x20, 0x1f, 0xa, 0xb, 0x14, 0x60, 0xf, 0x10, 0x33, 0x33, 0x61, 0x3c, 0x29, 0x29, 0x0, 0x0, 0x2, 0x0, 0x47, 0x1, 0xad, 0x2, 0xbe, 0x5, 0x1e, 0x0, 0xd, 0x0, 0x31, 0x0, 0x0, 0x0, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x17, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x35, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x3d, 0x1, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x10, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x35, 0x33, 0x2, 0x4a, 0x34, 0x34, 0x5e, 0x5d, 0x34, 0x34, 0x34, 0x34, 0x5d, 0x5e, 0x34, 0xa8, 0x50, 0x50, 0xa5, 0x3d, 0x37, 0x36, 0x33, 0x33, 0x32, 0x32, 0x33, 0x72, 0x39, 0x39, 0x24, 0x38, 0x38, 0x4e, 0x82, 0x4f, 0x50, 0x50, 0x4f, 0x82, 0x4e, 0x38, 0x38, 0x24, 0x74, 0x3, 0x6d, 0xe0, 0x3d, 0x3e, 0x3e, 0x3d, 0xe0, 0x3d, 0x3e, 0x3e, 0x46, 0xa0, 0x4e, 0x4f, 0x9, 0x8, 0x10, 0x65, 0x19, 0xc, 0xb, 0x34, 0x35, 0x6b, 0x33, 0x37, 0x1c, 0x1b, 0x58, 0x58, 0x1, 0x22, 0x58, 0x58, 0x1b, 0x1c, 0x37, 0x5f, 0x0, 0x2, 0x0, 0x7a, 0x1, 0xa8, 0x0, 0xee, 0x5, 0xf, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x13, 0x33, 0x11, 0x23, 0x15, 0x35, 0x33, 0x15, 0x7a, 0x74, 0x74, 0x74, 0x5, 0xf, 0xfd, 0x8d, 0xf4, 0x82, 0x82, 0x0, 0x0, 0x1, 0x0, 0x75, 0x2, 0x9c, 0x2, 0xe7, 0x6, 0x3, 0x0, 0xa, 0x0, 0x0, 0x13, 0x33, 0x11, 0x1, 0x33, 0x9, 0x1, 0x23, 0x1, 0x11, 0x23, 0x75, 0x75, 0x1, 0x5a, 0x94, 0xfe, 0x89, 0x1, 0x86, 0x97, 0xfe, 0x9a, 0x75, 0x6, 0x3, 0xfd, 0xfe, 0x1, 0xe, 0xfe, 0xdb, 0xfe, 0xb2, 0x1, 0x32, 0xfe, 0xce, 0x0, 0x1, 0x0, 0x75, 0x2, 0x9c, 0x4, 0x7b, 0x5, 0x1e, 0x0, 0x22, 0x0, 0x34, 0x40, 0xa, 0x24, 0x1b, 0x1c, 0x14, 0x0, 0x3, 0xe, 0xa, 0xb, 0x23, 0x10, 0xd4, 0xdc, 0x3c, 0x2f, 0xcc, 0x39, 0x2f, 0xdc, 0xcc, 0x31, 0xb2, 0x7f, 0x24, 0x1, 0x5d, 0x0, 0x40, 0xa, 0x20, 0x6, 0xc, 0x17, 0x11, 0x23, 0x1c, 0x2, 0xb, 0x23, 0x10, 0xd4, 0x3c, 0x3c, 0x10, 0xd4, 0x3c, 0xc4, 0xcc, 0x32, 0x30, 0x1, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x17, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x2, 0xb2, 0x74, 0x48, 0x4b, 0x59, 0x68, 0x75, 0x75, 0x27, 0x6f, 0x4d, 0x4c, 0x6c, 0x1a, 0x2b, 0x79, 0x52, 0x6f, 0x77, 0x74, 0x48, 0x4a, 0x5a, 0x69, 0x3, 0xfe, 0xfe, 0x9e, 0x1, 0x77, 0x5b, 0x57, 0x6b, 0x5c, 0xfe, 0x9e, 0x2, 0x73, 0x61, 0x39, 0x37, 0x45, 0x42, 0x45, 0x42, 0x89, 0x7e, 0xfe, 0x85, 0x1, 0x77, 0x5a, 0x58, 0x6b, 0x0, 0x1, 0x0, 0x75, 0x1, 0xad, 0x2, 0xc4, 0x5, 0x1e, 0x0, 0x1e, 0x0, 0x34, 0x40, 0x7, 0x7, 0x0, 0xc, 0x17, 0x13, 0x14, 0x1f, 0x10, 0xd4, 0xdc, 0x3c, 0x2f, 0xcc, 0xcc, 0x4b, 0xb0, 0xd, 0x51, 0x58, 0xb1, 0x20, 0x40, 0x38, 0x59, 0x31, 0xb2, 0x7f, 0x20, 0x1, 0x5d, 0x0, 0x40, 0x8, 0xf, 0x15, 0x1b, 0x1f, 0x7, 0x6, 0x14, 0x1f, 0x10, 0xd4, 0xd4, 0xcc, 0x10, 0xd4, 0xc4, 0xcc, 0x30, 0x1, 0x11, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x15, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x2, 0xc4, 0x34, 0x33, 0x72, 0xa0, 0x93, 0x42, 0x30, 0x4e, 0x4e, 0x5e, 0x6c, 0x75, 0x75, 0x29, 0x38, 0x39, 0x4a, 0x79, 0x3f, 0x3e, 0x4, 0x17, 0xfe, 0x7a, 0x78, 0x36, 0x36, 0x58, 0x36, 0x56, 0x1, 0x82, 0x59, 0x59, 0x6b, 0x5c, 0xfe, 0x9e, 0x2, 0x73, 0x61, 0x38, 0x1c, 0x1c, 0x42, 0x44, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x47, 0x2, 0x8c, 0x2, 0xcf, 0x5, 0x1e, 0x0, 0xb, 0x0, 0x17, 0x0, 0x36, 0x40, 0x5, 0x9, 0xf, 0x3, 0x15, 0x18, 0x10, 0xd4, 0xcc, 0xd4, 0xcc, 0x4b, 0xb0, 0x15, 0x53, 0x4b, 0xb0, 0x18, 0x51, 0x5a, 0x4b, 0xb0, 0x11, 0x54, 0x5b, 0x58, 0xbb, 0x0, 0xf, 0xff, 0xc0, 0x0, 0x9, 0xff, 0xc0, 0x38, 0x38, 0x59, 0x31, 0x0, 0x40, 0x5, 0x0, 0xc, 0x6, 0x12, 0x18, 0x10, 0xd4, 0xcc, 0x2f, 0xcc, 0x30, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x1, 0x8b, 0x5d, 0x6d, 0x6c, 0x5e, 0x5d, 0x6c, 0x6c, 0x5d, 0x97, 0xad, 0xad, 0x97, 0x98, 0xac, 0xac, 0x4, 0xc7, 0x81, 0x71, 0x71, 0x81, 0x82, 0x70, 0x6f, 0x83, 0x57, 0xae, 0x9b, 0x9a, 0xaf, 0xaf, 0x9a, 0x9b, 0xae, 0x0, 0x0, 0x0, 0x1, 0x0, 0x47, 0x2, 0x8c, 0x2, 0x75, 0x5, 0x1e, 0x0, 0x20, 0x0, 0x0, 0x13, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x35, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x47, 0x30, 0x33, 0x33, 0x36, 0xa5, 0x5e, 0x5f, 0x5d, 0x5e, 0xa0, 0x3a, 0x35, 0x33, 0x31, 0x31, 0x32, 0x31, 0x33, 0x70, 0x3f, 0x3e, 0x3e, 0x3f, 0x70, 0x33, 0x31, 0x32, 0x31, 0x4, 0xf7, 0x14, 0xa, 0x9, 0x58, 0x58, 0x99, 0x97, 0x59, 0x59, 0xa, 0xa, 0x14, 0x5f, 0x18, 0xc, 0xc, 0x3f, 0x40, 0xe6, 0x40, 0x3f, 0xc, 0xc, 0x18, 0x0, 0x0, 0x0, 0x1, 0x0, 0x47, 0x3, 0xd5, 0x2, 0xcf, 0x5, 0x1e, 0x0, 0x10, 0x0, 0x0, 0x1, 0x34, 0x27, 0x26, 0x22, 0x7, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x30, 0x2, 0x54, 0x36, 0x36, 0xba, 0x36, 0x37, 0x7a, 0xac, 0x98, 0x97, 0x57, 0x56, 0x3, 0xd5, 0x6f, 0x42, 0x41, 0x41, 0x40, 0x71, 0x9b, 0xae, 0x57, 0x57, 0x9b, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x47, 0x2, 0x8c, 0x2, 0xcf, 0x3, 0xd5, 0x0, 0x10, 0x0, 0x0, 0x13, 0x14, 0x17, 0x16, 0x32, 0x37, 0x36, 0x35, 0x33, 0x14, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x30, 0xc2, 0x36, 0x36, 0xba, 0x36, 0x37, 0x7a, 0xac, 0x98, 0x97, 0x56, 0x57, 0x3, 0xd5, 0x6f, 0x42, 0x41, 0x41, 0x40, 0x71, 0x9b, 0xae, 0x57, 0x57, 0x9b, 0x0, 0x2, 0x0, 0x75, 0x1, 0xad, 0x2, 0xec, 0x5, 0x1e, 0x0, 0x11, 0x0, 0x1d, 0x0, 0x0, 0x13, 0x11, 0x23, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x10, 0x7, 0x6, 0x23, 0x22, 0x26, 0x24, 0x34, 0x27, 0x26, 0x22, 0x7, 0x6, 0x14, 0x17, 0x16, 0x32, 0x37, 0xea, 0x75, 0x75, 0x24, 0x70, 0x4d, 0x81, 0x50, 0x50, 0x50, 0x50, 0x81, 0x4d, 0x70, 0x1, 0x66, 0x34, 0x35, 0xb8, 0x35, 0x34, 0x34, 0x35, 0xb8, 0x35, 0x2, 0xfa, 0xfe, 0xb3, 0x3, 0x62, 0x5f, 0x38, 0x36, 0x5a, 0x5b, 0xfe, 0xd8, 0x5b, 0x5a, 0x36, 0xa1, 0xe4, 0x40, 0x41, 0x41, 0x40, 0xe4, 0x40, 0x41, 0x41, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x23, 0x2, 0x9c, 0x1, 0xdb, 0x5, 0xc1, 0x0, 0x14, 0x0, 0x0, 0x13, 0x15, 0x33, 0x15, 0x23, 0x11, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x35, 0xec, 0xef, 0xef, 0x30, 0x48, 0x77, 0x77, 0x86, 0x33, 0x33, 0x55, 0x55, 0x5, 0xc1, 0xb2, 0x50, 0xfe, 0xac, 0x4d, 0x2c, 0x56, 0x2d, 0x2c, 0x76, 0x1, 0x54, 0x50, 0xb2, 0x0, 0x0, 0x1, 0x0, 0x6e, 0x2, 0x8c, 0x2, 0xbd, 0x5, 0xf, 0x0, 0x16, 0x0, 0x0, 0x13, 0x11, 0x33, 0x11, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x23, 0x35, 0x6, 0x7, 0x6, 0x23, 0x22, 0x26, 0x6e, 0x74, 0x27, 0x27, 0x4e, 0x5e, 0x36, 0x37, 0x74, 0x74, 0x2b, 0x37, 0x38, 0x4a, 0x79, 0x7e, 0x3, 0x94, 0x1, 0x7b, 0xfe, 0x88, 0x59, 0x2c, 0x2d, 0x36, 0x35, 0x5c, 0x1, 0x63, 0xfd, 0x8d, 0x60, 0x39, 0x1c, 0x1b, 0x86, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6e, 0x2, 0xc7, 0x3, 0x41, 0x4, 0xd4, 0x0, 0x16, 0x0, 0x0, 0x1, 0x21, 0x35, 0x21, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x21, 0x35, 0x21, 0x15, 0x23, 0x1e, 0x1, 0x15, 0x14, 0x7, 0x6, 0x2, 0x19, 0xfe, 0x55, 0x1, 0xa6, 0x65, 0x32, 0x32, 0x3c, 0x3c, 0x67, 0xfe, 0x70, 0x2, 0xc1, 0x6c, 0x40, 0x3e, 0x4b, 0x4c, 0x2, 0xc7, 0x67, 0x23, 0x22, 0x46, 0x53, 0x31, 0x30, 0x67, 0x67, 0x25, 0x64, 0x41, 0x6c, 0x38, 0x38, 0x0, 0x0, 0x1, 0x0, 0x75, 0x2, 0x8d, 0x4, 0x7b, 0x5, 0x10, 0x0, 0x28, 0x0, 0x0, 0x1, 0x6, 0x7, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x23, 0x35, 0x6, 0x7, 0x6, 0x23, 0x22, 0x26, 0x2, 0x51, 0x2b, 0x3c, 0x3d, 0x52, 0x6e, 0x78, 0x75, 0x24, 0x24, 0x49, 0x5a, 0x35, 0x34, 0x74, 0x24, 0x24, 0x4b, 0x59, 0x34, 0x35, 0x74, 0x74, 0x28, 0x37, 0x38, 0x4c, 0x4d, 0x6c, 0x3, 0x15, 0x45, 0x21, 0x22, 0x8a, 0x7f, 0x1, 0x7a, 0xfe, 0x89, 0x5b, 0x2b, 0x2c, 0x36, 0x34, 0x5c, 0x1, 0x63, 0xfe, 0x89, 0x5b, 0x2b, 0x2c, 0x36, 0x36, 0x5a, 0x1, 0x63, 0xfd, 0x8d, 0x62, 0x3b, 0x1b, 0x1c, 0x46, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x26, 0x2, 0x9c, 0x2, 0xd5, 0x5, 0xf, 0x0, 0x6, 0x0, 0x0, 0x13, 0x33, 0x1b, 0x1, 0x33, 0x1, 0x23, 0x26, 0x7b, 0xdd, 0xdc, 0x7b, 0xfe, 0xf8, 0x9e, 0x5, 0xf, 0xfd, 0xf2, 0x2, 0xe, 0xfd, 0x8d, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x79, 0x1, 0xad, 0x2, 0xdb, 0x6, 0xb, 0x0, 0xe, 0x0, 0x1c, 0x0, 0x0, 0x13, 0x11, 0x23, 0x11, 0x10, 0x21, 0x20, 0x17, 0x16, 0x7, 0x16, 0x17, 0x12, 0x21, 0x26, 0x27, 0x16, 0x33, 0x32, 0x35, 0x34, 0x5, 0x35, 0x16, 0x35, 0x34, 0x23, 0x22, 0x15, 0xed, 0x74, 0x1, 0xc, 0x1, 0x11, 0x1, 0x1, 0x6e, 0xb0, 0x1, 0x1, 0xfe, 0xcf, 0x85, 0x39, 0x46, 0x7d, 0xb5, 0xfe, 0xdb, 0xe6, 0x94, 0xa5, 0x2, 0xc3, 0xfe, 0xea, 0x3, 0x5e, 0x1, 0x0, 0xd8, 0x99, 0x38, 0x33, 0x95, 0xfe, 0xf6, 0x1, 0xb8, 0x61, 0xb0, 0x9e, 0xc, 0x5f, 0x4, 0xb7, 0x7b, 0xaf, 0x0, 0x0, 0x1, 0x0, 0x14, 0x1, 0xad, 0x2, 0xd5, 0x5, 0xf, 0x0, 0xe, 0x0, 0x0, 0x1b, 0x2, 0x33, 0x1, 0x15, 0x23, 0x35, 0x3, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0xe3, 0x9b, 0xdc, 0x7b, 0xfe, 0xe3, 0x74, 0xb9, 0x1c, 0x3c, 0x1f, 0x2c, 0x7c, 0x4, 0xad, 0xfe, 0x7c, 0x1, 0xe6, 0xfd, 0x8d, 0xef, 0xef, 0x1, 0xd4, 0x47, 0x58, 0x0, 0x0, 0x2, 0x0, 0x47, 0x2, 0x8c, 0x2, 0xcf, 0x5, 0xef, 0x0, 0x1b, 0x0, 0x2b, 0x0, 0x0, 0x1, 0x26, 0x23, 0x22, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x20, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x26, 0x35, 0x34, 0x21, 0x32, 0x17, 0x1, 0x6, 0x7, 0x6, 0x14, 0x17, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x2, 0x79, 0x41, 0x96, 0xa0, 0xa7, 0x82, 0x4a, 0x5a, 0x56, 0x57, 0xfe, 0xd2, 0x56, 0x57, 0x57, 0x21, 0x2f, 0x62, 0x1, 0x16, 0x8b, 0x4c, 0xfe, 0xcc, 0x2b, 0x22, 0x37, 0x36, 0x36, 0x5e, 0x5d, 0x6c, 0x39, 0x3d, 0x50, 0x28, 0x5, 0x72, 0x28, 0x42, 0x34, 0x1a, 0x15, 0x3f, 0x4b, 0x9c, 0x94, 0x57, 0x58, 0x58, 0x57, 0x9a, 0x72, 0x5d, 0x24, 0x14, 0x2c, 0x4f, 0x98, 0x27, 0xfe, 0xf8, 0x11, 0x28, 0x40, 0xe4, 0x3f, 0x41, 0x82, 0x6a, 0x70, 0x36, 0x39, 0x6, 0x4, 0x0, 0x2, 0x0, 0x47, 0x1, 0xad, 0x3, 0x9, 0x5, 0x14, 0x0, 0xa, 0x0, 0x29, 0x0, 0x0, 0x1, 0x22, 0x15, 0x11, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x15, 0x23, 0x35, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x15, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x11, 0x34, 0x2, 0xa, 0x29, 0x3d, 0x3b, 0x36, 0x37, 0x2d, 0x21, 0x58, 0x51, 0x56, 0x56, 0x51, 0x81, 0x73, 0x7e, 0x53, 0x56, 0x56, 0x40, 0x68, 0x29, 0x25, 0x36, 0x36, 0x31, 0x46, 0x4, 0xbc, 0x51, 0xfe, 0x7f, 0x3a, 0x35, 0x7d, 0x74, 0x3f, 0x33, 0x58, 0x4a, 0x4f, 0xa5, 0x98, 0x5a, 0x55, 0xe2, 0xe1, 0x55, 0x58, 0x9a, 0xa0, 0x52, 0x3d, 0x10, 0x5c, 0xc, 0x2c, 0x41, 0x6a, 0x71, 0x40, 0x3a, 0x1, 0x81, 0xa9, 0x0, 0x1, 0x0, 0x25, 0x1, 0xad, 0x2, 0xc4, 0x5, 0x10, 0x0, 0x17, 0x0, 0x0, 0x1, 0x27, 0x3, 0x23, 0x1, 0x3, 0x26, 0x2b, 0x1, 0x35, 0x17, 0x16, 0x1f, 0x1, 0x13, 0x33, 0x1, 0x13, 0x16, 0x3b, 0x1, 0x15, 0x27, 0x26, 0x1, 0xcd, 0x5e, 0xc1, 0x89, 0x1, 0x12, 0x73, 0x1f, 0x61, 0x1f, 0x2c, 0xa3, 0x28, 0x5e, 0xc1, 0x89, 0xfe, 0xef, 0x72, 0x1f, 0x61, 0x1f, 0x2c, 0xa3, 0x2, 0x10, 0xd7, 0xfe, 0xc6, 0x1, 0xbc, 0x1, 0x7, 0x47, 0x58, 0x1, 0x4, 0x5d, 0xd7, 0x1, 0x3a, 0xfe, 0x44, 0xfe, 0xf8, 0x46, 0x59, 0x2, 0x4, 0xff, 0xff, 0x0, 0x7a, 0x0, 0x0, 0x0, 0xee, 0x3, 0x67, 0x12, 0x7, 0xb, 0x4a, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x75, 0x0, 0x0, 0x2, 0x12, 0x2, 0x82, 0x12, 0x7, 0x2, 0x75, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6e, 0xff, 0xf0, 0x2, 0xbd, 0x2, 0x73, 0x12, 0x7, 0x8, 0xb7, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x26, 0x0, 0x0, 0x2, 0xd5, 0x2, 0x73, 0x12, 0x7, 0x8, 0xba, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x79, 0xff, 0x11, 0x2, 0xdb, 0x3, 0x6f, 0x12, 0x7, 0x8, 0xbb, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x14, 0xff, 0x11, 0x2, 0xd5, 0x2, 0x73, 0x12, 0x7, 0x8, 0xbc, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0x0, 0x2, 0x0, 0x79, 0xff, 0x11, 0x2, 0xef, 0x2, 0x82, 0x0, 0x10, 0x0, 0x1c, 0x0, 0x0, 0x13, 0x36, 0x37, 0x36, 0x33, 0x32, 0x16, 0x10, 0x6, 0x23, 0x22, 0x26, 0x27, 0x11, 0x23, 0x11, 0x34, 0x5, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0xb2, 0x26, 0x5f, 0x25, 0x73, 0x80, 0xa0, 0xa0, 0x80, 0x4e, 0x6f, 0x25, 0x74, 0x1, 0xfe, 0x69, 0x5c, 0x5b, 0x6a, 0x6a, 0x5b, 0x5c, 0x69, 0x2, 0x3, 0x39, 0x32, 0x14, 0xb5, 0xfe, 0xd8, 0xb6, 0x37, 0x38, 0xfe, 0xb3, 0x2, 0x22, 0x81, 0x7b, 0x71, 0x82, 0x82, 0x71, 0x72, 0x81, 0x81, 0xff, 0xff, 0x0, 0x47, 0xff, 0x11, 0x3, 0x9, 0x2, 0x78, 0x12, 0x7, 0x8, 0xbe, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x25, 0xff, 0x11, 0x2, 0xc4, 0x2, 0x74, 0x12, 0x7, 0x8, 0xbf, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0xfe, 0x56, 0x4, 0xa3, 0x4, 0x7b, 0x0, 0x1c, 0x0, 0x28, 0x0, 0x0, 0x13, 0x10, 0x12, 0x21, 0x32, 0x16, 0x17, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x3e, 0x1, 0x33, 0x32, 0x12, 0x11, 0x10, 0x2, 0x23, 0x22, 0x26, 0x27, 0x15, 0x23, 0x13, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0xba, 0xfe, 0x1, 0x6, 0x61, 0xac, 0x51, 0x51, 0x9e, 0x52, 0xb5, 0xb4, 0x39, 0xb2, 0x7c, 0xce, 0xfc, 0xfc, 0xce, 0x7c, 0xb2, 0x39, 0xb8, 0xb8, 0xa5, 0x95, 0x94, 0xa5, 0xa5, 0x94, 0x95, 0xa5, 0x2, 0x46, 0x1, 0x1e, 0x1, 0x17, 0x1d, 0x1e, 0xb3, 0x2c, 0x2a, 0xbd, 0xbf, 0x5b, 0x63, 0x62, 0xfe, 0xc6, 0xfe, 0xfd, 0xfe, 0xfc, 0xfe, 0xc6, 0x62, 0x63, 0xaa, 0x2, 0x23, 0xc8, 0xdc, 0xdc, 0xc8, 0xc7, 0xdc, 0xdc, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7f, 0x2, 0x9c, 0x3, 0x4c, 0x5, 0xe0, 0x10, 0x6, 0x8, 0x93, 0x0, 0x0, 0x0, 0x1, 0x0, 0x74, 0x0, 0x0, 0x2, 0x84, 0x4, 0x60, 0x0, 0x13, 0x0, 0x0, 0x13, 0x35, 0x21, 0x15, 0x23, 0x11, 0x33, 0x15, 0x23, 0x11, 0x33, 0x15, 0x21, 0x35, 0x33, 0x11, 0x23, 0x35, 0x33, 0x11, 0x74, 0x2, 0x10, 0xa8, 0xa8, 0xa8, 0xa8, 0xfd, 0xf0, 0xb0, 0xb0, 0xb0, 0x3, 0xbc, 0xa4, 0xa4, 0xfe, 0xac, 0xa4, 0xfe, 0xe0, 0xa4, 0xa4, 0x1, 0x20, 0xa4, 0x1, 0x54, 0x0, 0x0, 0x0, 0x3, 0x0, 0x32, 0xfe, 0x56, 0x5, 0x24, 0x4, 0x7b, 0x0, 0x19, 0x0, 0x22, 0x0, 0x2b, 0x0, 0x0, 0x25, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x17, 0x33, 0x15, 0x23, 0x6, 0x7, 0x6, 0x23, 0x22, 0x26, 0x1, 0x21, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x1, 0x21, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x1, 0x73, 0xb9, 0x88, 0x88, 0xb9, 0x3a, 0xb1, 0x7b, 0xcb, 0x80, 0x66, 0x15, 0x85, 0x81, 0xb, 0x74, 0x80, 0xcb, 0x7b, 0xb1, 0x2, 0x37, 0xfd, 0x90, 0x8, 0x4a, 0x54, 0x92, 0x92, 0x54, 0x4a, 0xfd, 0x9d, 0x2, 0x66, 0xf, 0x3e, 0x54, 0x92, 0x92, 0x54, 0x3e, 0xa8, 0xfd, 0xae, 0x3, 0xae, 0x90, 0x1, 0xcc, 0xaa, 0x64, 0x61, 0xa2, 0x82, 0xc3, 0x90, 0xea, 0x95, 0xa2, 0x61, 0x1, 0xc0, 0xae, 0x66, 0x74, 0x74, 0x66, 0x1, 0x3e, 0x84, 0x56, 0x74, 0x74, 0x56, 0x0, 0x0, 0x0, 0x1, 0x0, 0x91, 0xfe, 0x56, 0x2, 0x2f, 0x6, 0x14, 0x0, 0x10, 0x0, 0x0, 0x25, 0x15, 0x14, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x27, 0x37, 0x23, 0x11, 0x33, 0x11, 0x2, 0x2f, 0xa4, 0xb4, 0x46, 0x30, 0x6a, 0x26, 0x2a, 0x4, 0x2, 0xb8, 0xb8, 0x9a, 0xae, 0xd6, 0xc0, 0x9c, 0x30, 0x36, 0x94, 0x14, 0x6, 0x14, 0xfa, 0x86, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x47, 0x2, 0x8c, 0x2, 0xbe, 0x5, 0x1e, 0x0, 0x13, 0x0, 0x1f, 0x0, 0x0, 0x13, 0x15, 0x23, 0x11, 0x33, 0x15, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x10, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x24, 0x34, 0x27, 0x26, 0x22, 0x7, 0x6, 0x14, 0x17, 0x16, 0x32, 0x37, 0xbb, 0x74, 0x74, 0x25, 0x38, 0x37, 0x4e, 0x80, 0x50, 0x51, 0x51, 0x50, 0x80, 0x4e, 0x37, 0x38, 0x1, 0x66, 0x35, 0x34, 0xb8, 0x35, 0x35, 0x35, 0x35, 0xb8, 0x34, 0x2, 0xfa, 0x5f, 0x2, 0x73, 0x5e, 0x38, 0x1b, 0x1b, 0x5a, 0x5b, 0xfe, 0xd8, 0x5b, 0x5a, 0x1b, 0x1b, 0xa1, 0xe4, 0x41, 0x40, 0x40, 0x41, 0xe4, 0x41, 0x40, 0x40, 0x0, 0x0, 0x0, 0x1, 0x0, 0x47, 0x2, 0x8c, 0x2, 0x75, 0x5, 0x1e, 0x0, 0x1d, 0x0, 0x0, 0x1, 0x15, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x16, 0x2, 0x75, 0x31, 0x31, 0x32, 0x32, 0x71, 0x3e, 0x3f, 0x3f, 0x3e, 0x71, 0x32, 0x32, 0x31, 0x31, 0x30, 0x68, 0x3b, 0x9f, 0xbc, 0xbe, 0xa5, 0x35, 0x33, 0x33, 0x4, 0xf7, 0x60, 0x18, 0xc, 0xc, 0x40, 0x3f, 0xe6, 0x3f, 0x40, 0xc, 0xc, 0x18, 0x5f, 0x14, 0x14, 0xb2, 0x97, 0x99, 0xb0, 0x9, 0xa, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x47, 0x2, 0x4b, 0x2, 0x75, 0x5, 0x1e, 0x0, 0x7, 0x0, 0x2b, 0x0, 0x0, 0x1, 0x16, 0x33, 0x32, 0x35, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x7, 0x34, 0x37, 0x26, 0x27, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x15, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x14, 0x17, 0x16, 0x17, 0x36, 0x33, 0x32, 0x17, 0x16, 0x23, 0x22, 0x1, 0x5a, 0x25, 0x30, 0x5c, 0x1, 0x52, 0x40, 0x35, 0x4, 0x60, 0x8, 0x24, 0x1e, 0x5e, 0xbe, 0xa5, 0x34, 0x34, 0x31, 0x32, 0x2f, 0x34, 0x31, 0x32, 0x71, 0x3e, 0x3f, 0x3f, 0x2, 0x6, 0x35, 0x7b, 0xbc, 0x1, 0x1, 0xd2, 0x33, 0x2, 0xee, 0xb, 0x20, 0x2a, 0x9a, 0x20, 0x26, 0x2, 0x3b, 0x2f, 0x13, 0x1d, 0x5a, 0x96, 0x99, 0xb0, 0x9, 0xa, 0x14, 0x60, 0x17, 0xd, 0xc, 0x3f, 0x40, 0xe6, 0x40, 0x2, 0x5, 0x62, 0x8a, 0x69, 0x0, 0x0, 0x2, 0x0, 0x47, 0x2, 0x8c, 0x2, 0xcf, 0x6, 0x3, 0x0, 0x11, 0x0, 0x2e, 0x0, 0x0, 0x1, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x26, 0x37, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x27, 0x7, 0x27, 0x37, 0x27, 0x33, 0x17, 0x37, 0x17, 0x7, 0x2, 0x10, 0x20, 0x1b, 0x1c, 0x1a, 0x69, 0x3a, 0x3b, 0x6e, 0x5c, 0x5b, 0x6e, 0x11, 0x11, 0x6, 0x4f, 0x24, 0x24, 0x5a, 0x59, 0x91, 0x92, 0xb2, 0xae, 0x8b, 0xc, 0x10, 0x10, 0x1b, 0x64, 0xc9, 0x15, 0xb1, 0x72, 0x90, 0x50, 0xd1, 0x15, 0xba, 0x4, 0x9c, 0xa, 0x4, 0x5, 0x3d, 0x3c, 0x6d, 0x6a, 0x7c, 0x7c, 0x6a, 0x44, 0x35, 0x34, 0xa5, 0x50, 0x51, 0x50, 0x61, 0x8f, 0x57, 0x57, 0xae, 0x8f, 0x8c, 0xae, 0x2, 0x1, 0x3, 0x65, 0x3c, 0x38, 0x33, 0x72, 0x51, 0x3e, 0x36, 0x37, 0x0, 0x0, 0x0, 0x1, 0x0, 0x54, 0x2, 0x8c, 0x2, 0x62, 0x5, 0x1f, 0x0, 0x31, 0x0, 0x0, 0x1, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x35, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x6, 0x1, 0xbd, 0x4e, 0x2b, 0x2c, 0x51, 0x52, 0x96, 0x32, 0x36, 0x35, 0x38, 0x2d, 0x35, 0x36, 0x3a, 0x5f, 0x36, 0x35, 0x31, 0x2e, 0x56, 0x5d, 0x61, 0x49, 0x56, 0x2d, 0x2b, 0x4b, 0x2d, 0x33, 0x32, 0x3d, 0x3d, 0x6c, 0x2f, 0x7c, 0x47, 0x48, 0x4c, 0x3, 0xee, 0xd, 0x29, 0x29, 0x3c, 0x61, 0x33, 0x33, 0x8, 0x7, 0x10, 0x60, 0x15, 0xa, 0xb, 0x20, 0x1f, 0x33, 0x31, 0x1f, 0x1d, 0x55, 0x32, 0x27, 0x24, 0x1a, 0x19, 0x7, 0x7, 0x11, 0x5e, 0xd, 0xe, 0x2c, 0x2c, 0x4f, 0x34, 0x48, 0x0, 0x0, 0x1, 0x0, 0x1e, 0x2, 0x9c, 0x1, 0xdf, 0x6, 0x3, 0x0, 0x15, 0x0, 0x0, 0x1, 0x15, 0x23, 0x22, 0x7, 0x6, 0x1d, 0x1, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x37, 0x36, 0x33, 0x1, 0xdf, 0x6f, 0x3e, 0x19, 0x18, 0xbf, 0xbf, 0x75, 0x6e, 0x6e, 0x37, 0x37, 0x77, 0x6, 0x3, 0x55, 0x17, 0x16, 0x3a, 0x38, 0x50, 0xfd, 0xdd, 0x2, 0x23, 0x50, 0x2c, 0x69, 0x2f, 0x30, 0x0, 0x0, 0x1, 0xff, 0xe9, 0x1, 0xad, 0x1, 0x5c, 0x5, 0xf, 0x0, 0x15, 0x0, 0x0, 0x13, 0x15, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x3d, 0x1, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0x15, 0xee, 0x34, 0x33, 0x72, 0x2c, 0x1f, 0x42, 0x18, 0x18, 0x72, 0x72, 0x74, 0x6e, 0x2, 0x9c, 0xb, 0x78, 0x36, 0x36, 0x58, 0x1b, 0x1c, 0x55, 0xb, 0x50, 0x2, 0x23, 0xfd, 0xdd, 0x50, 0x0, 0x0, 0x0, 0x2, 0x0, 0x47, 0x1, 0xad, 0x2, 0xbe, 0x5, 0xf, 0x0, 0xc, 0x0, 0x2c, 0x0, 0x0, 0x1, 0x35, 0x23, 0x22, 0x7, 0x6, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x13, 0x11, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x35, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x3d, 0x1, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x2, 0x4a, 0xc6, 0x5d, 0x34, 0x34, 0x34, 0x34, 0x5d, 0x5e, 0x34, 0x34, 0x74, 0x50, 0x50, 0xa5, 0x3d, 0x37, 0x36, 0x33, 0x33, 0x32, 0x32, 0x33, 0x72, 0x39, 0x39, 0x24, 0x38, 0x38, 0x4e, 0x82, 0x4f, 0x50, 0x50, 0x4f, 0x82, 0x3, 0xdd, 0xeb, 0x3e, 0x3d, 0xe0, 0x3d, 0x3e, 0x3e, 0x3d, 0x1, 0xa2, 0xfd, 0xdb, 0xa0, 0x4e, 0x4f, 0x8, 0x9, 0x10, 0x65, 0x19, 0xc, 0xb, 0x34, 0x35, 0x6b, 0x33, 0x37, 0x1c, 0x1b, 0x58, 0x58, 0x91, 0x82, 0x58, 0x58, 0x0, 0x0, 0x1, 0x0, 0x6e, 0x1, 0xad, 0x2, 0xbd, 0x5, 0xf, 0x0, 0x16, 0x0, 0x0, 0x13, 0x11, 0x33, 0x11, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x23, 0x11, 0x6, 0x7, 0x6, 0x23, 0x22, 0x26, 0x6e, 0x74, 0x27, 0x27, 0x4e, 0x5e, 0x36, 0x37, 0x74, 0x74, 0x2b, 0x38, 0x37, 0x4a, 0x79, 0x7e, 0x3, 0x94, 0x1, 0x7b, 0xfe, 0x88, 0x59, 0x2c, 0x2d, 0x36, 0x35, 0x5c, 0x1, 0x63, 0xfc, 0x9e, 0x1, 0x4f, 0x39, 0x1c, 0x1b, 0x86, 0x0, 0x0, 0x2, 0x0, 0x49, 0x2, 0x9c, 0x1, 0x96, 0x6, 0x3, 0x0, 0xb, 0x0, 0xf, 0x0, 0x0, 0x13, 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x11, 0x33, 0x15, 0x23, 0x49, 0x72, 0x74, 0x67, 0x67, 0x74, 0x74, 0x74, 0x3, 0x99, 0x5c, 0x1, 0x1a, 0xfe, 0xe6, 0x5c, 0xfd, 0xfd, 0x2, 0x6a, 0x82, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x7a, 0x2, 0x9c, 0x1, 0x7e, 0x5, 0xf, 0x0, 0xc, 0x0, 0x0, 0x13, 0x11, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x26, 0x35, 0x11, 0xee, 0x17, 0x18, 0x43, 0x1e, 0x2c, 0x72, 0x66, 0x5, 0xf, 0xfe, 0x70, 0x55, 0x1c, 0x1b, 0x57, 0x6c, 0x77, 0x1, 0x90, 0x0, 0x0, 0x1, 0x0, 0x49, 0x2, 0x9c, 0x1, 0x96, 0x5, 0xf, 0x0, 0xb, 0x0, 0x0, 0x13, 0x35, 0x21, 0x15, 0x23, 0x11, 0x33, 0x15, 0x21, 0x35, 0x33, 0x11, 0x49, 0x1, 0x4d, 0x6a, 0x6a, 0xfe, 0xb3, 0x6f, 0x4, 0xb3, 0x5c, 0x5c, 0xfe, 0x45, 0x5c, 0x5c, 0x1, 0xbb, 0x0, 0x1, 0x0, 0x49, 0x2, 0x9c, 0x1, 0x96, 0x5, 0xf, 0x0, 0x13, 0x0, 0x0, 0x13, 0x35, 0x21, 0x15, 0x23, 0x15, 0x33, 0x15, 0x23, 0x15, 0x33, 0x15, 0x21, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x35, 0x49, 0x1, 0x4d, 0x6a, 0x6a, 0x6a, 0x6a, 0xfe, 0xb3, 0x6f, 0x6f, 0x6f, 0x4, 0xb3, 0x5c, 0x5c, 0xbe, 0x5c, 0xa1, 0x5c, 0x5c, 0xa1, 0x5c, 0xbe, 0x0, 0x0, 0x0, 0x3, 0xff, 0x56, 0x1, 0xad, 0x1, 0x60, 0x6, 0x3, 0x0, 0x3, 0x0, 0x12, 0x0, 0x1b, 0x0, 0x0, 0x13, 0x33, 0x15, 0x23, 0x3, 0x22, 0x35, 0x34, 0x3b, 0x1, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x6, 0x7, 0x6, 0x27, 0x23, 0x22, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x7a, 0x74, 0x74, 0x65, 0xbf, 0xaa, 0x7a, 0x74, 0x72, 0x79, 0xb, 0x22, 0x33, 0x14, 0x72, 0x4b, 0x2, 0x2, 0x4e, 0x42, 0x18, 0xb, 0x6, 0x3, 0x82, 0xfc, 0x2c, 0x7c, 0x73, 0x2, 0x73, 0xfd, 0x8d, 0x57, 0x3f, 0x23, 0x35, 0x98, 0x1d, 0x24, 0x1b, 0xd, 0x0, 0x1, 0x0, 0x7a, 0x1, 0xad, 0x1, 0x7e, 0x6, 0x3, 0x0, 0xe, 0x0, 0x0, 0x13, 0x11, 0x33, 0x11, 0x15, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x26, 0x35, 0x7a, 0x74, 0x17, 0x18, 0x43, 0x1e, 0x2c, 0x72, 0x66, 0x2, 0xe4, 0x3, 0x1f, 0xfc, 0xe1, 0x53, 0x56, 0x1b, 0x1b, 0x58, 0x6c, 0x78, 0x0, 0x0, 0x1, 0x0, 0x5b, 0x1, 0xad, 0x1, 0x60, 0x6, 0x3, 0x0, 0x11, 0x0, 0x0, 0x1, 0x15, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x27, 0x37, 0x23, 0x11, 0x33, 0x11, 0x1, 0x60, 0x33, 0x34, 0x72, 0x2c, 0x1f, 0x42, 0x18, 0x1b, 0x3, 0x2, 0x74, 0x74, 0x2, 0xf2, 0x61, 0x78, 0x36, 0x36, 0x58, 0x1b, 0x1e, 0x53, 0xb, 0x3, 0x67, 0xfc, 0xef, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x71, 0x2, 0x9c, 0x2, 0x83, 0x5, 0x1e, 0x0, 0x5, 0x0, 0x0, 0x13, 0x33, 0x11, 0x21, 0x15, 0x21, 0x71, 0x7f, 0x1, 0x93, 0xfd, 0xee, 0x5, 0x1e, 0xfd, 0xdd, 0x5f, 0x0, 0x0, 0x1, 0x0, 0x75, 0x1, 0xad, 0x4, 0x7b, 0x5, 0x1e, 0x0, 0x34, 0x0, 0x0, 0x1, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x11, 0x14, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x26, 0x37, 0x34, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x11, 0x23, 0x11, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x15, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x2, 0x9f, 0x2b, 0x3d, 0x3c, 0x52, 0x6f, 0x3b, 0x3c, 0x66, 0x72, 0xa1, 0x93, 0x42, 0x30, 0x1, 0x1, 0x48, 0x4a, 0x5a, 0x34, 0x35, 0x74, 0x24, 0x24, 0x4b, 0x59, 0x34, 0x34, 0x75, 0x75, 0x27, 0x38, 0x37, 0x4d, 0x4c, 0x36, 0x36, 0x4, 0x97, 0x45, 0x21, 0x21, 0x45, 0x44, 0x7e, 0xfe, 0x7a, 0x78, 0x6c, 0x58, 0x36, 0x56, 0x30, 0xe8, 0x3d, 0x2d, 0x5a, 0x58, 0x35, 0x36, 0x5c, 0xfe, 0x9e, 0x1, 0x77, 0x5b, 0x2c, 0x2b, 0x35, 0x36, 0x5c, 0xfe, 0x9e, 0x2, 0x73, 0x61, 0x39, 0x1c, 0x1b, 0x22, 0x23, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x75, 0x1, 0xad, 0x4, 0x7b, 0x5, 0x10, 0x0, 0x28, 0x0, 0x0, 0x1, 0x6, 0x7, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x23, 0x11, 0x6, 0x7, 0x6, 0x23, 0x22, 0x26, 0x2, 0x51, 0x2b, 0x3c, 0x3d, 0x52, 0x6e, 0x78, 0x75, 0x24, 0x24, 0x49, 0x5a, 0x35, 0x34, 0x74, 0x24, 0x24, 0x4b, 0x59, 0x34, 0x35, 0x74, 0x74, 0x28, 0x37, 0x38, 0x4c, 0x4d, 0x6c, 0x3, 0x15, 0x45, 0x22, 0x21, 0x8a, 0x7e, 0x1, 0x7b, 0xfe, 0x89, 0x5b, 0x2b, 0x2c, 0x35, 0x35, 0x5c, 0x1, 0x63, 0xfe, 0x89, 0x5b, 0x2b, 0x2c, 0x36, 0x35, 0x5b, 0x1, 0x63, 0xfc, 0x9d, 0x1, 0x51, 0x3a, 0x1b, 0x1c, 0x46, 0x0, 0x0, 0x0, 0x1, 0xff, 0xe9, 0x1, 0xad, 0x2, 0xc9, 0x5, 0x1e, 0x0, 0x1f, 0x0, 0x0, 0x13, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0xee, 0x34, 0x33, 0x72, 0x2c, 0x1f, 0x42, 0x30, 0x74, 0x2a, 0x70, 0x4a, 0x7a, 0x3e, 0x3f, 0x74, 0x27, 0x28, 0x4e, 0x5e, 0x36, 0x36, 0x2, 0x91, 0x78, 0x36, 0x36, 0x58, 0x36, 0x56, 0x2, 0x7e, 0x61, 0x38, 0x38, 0x42, 0x44, 0x81, 0xfe, 0x85, 0x1, 0x77, 0x59, 0x2c, 0x2d, 0x35, 0x36, 0x5c, 0x0, 0x0, 0x0, 0x1, 0x0, 0x75, 0x1, 0xad, 0x3, 0x55, 0x5, 0x1e, 0x0, 0x20, 0x0, 0x0, 0x1, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x15, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x11, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x26, 0x35, 0x2, 0x50, 0x27, 0x27, 0x4e, 0x5e, 0x36, 0x36, 0x75, 0x75, 0x29, 0x38, 0x39, 0x4a, 0x79, 0x3f, 0x3e, 0x30, 0x42, 0x1f, 0x2c, 0x72, 0x33, 0x34, 0x4, 0x13, 0x59, 0x2c, 0x2d, 0x35, 0x36, 0x5c, 0xfe, 0x9e, 0x2, 0x73, 0x61, 0x38, 0x1c, 0x1c, 0x42, 0x44, 0x81, 0xfe, 0x7a, 0x56, 0x36, 0x58, 0x36, 0x36, 0x78, 0x0, 0x0, 0x0, 0x1, 0x0, 0x71, 0x2, 0x9c, 0x2, 0xc4, 0x5, 0x1e, 0x0, 0x9, 0x0, 0x0, 0x13, 0x33, 0x1, 0x11, 0x33, 0x11, 0x23, 0x1, 0x11, 0x23, 0x71, 0xab, 0x1, 0x2d, 0x7b, 0xab, 0xfe, 0xd3, 0x7b, 0x5, 0x1e, 0xfe, 0x7, 0x1, 0xf9, 0xfd, 0x7e, 0x1, 0xfa, 0xfe, 0x6, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x47, 0x2, 0x8c, 0x2, 0xcf, 0x5, 0x1e, 0x0, 0xf, 0x0, 0x17, 0x0, 0x20, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x16, 0x22, 0x7, 0x6, 0x7, 0x21, 0x26, 0x27, 0x17, 0x21, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x1, 0x8b, 0x97, 0x57, 0x56, 0x56, 0x57, 0x97, 0x98, 0x55, 0x57, 0x57, 0x55, 0xf5, 0xba, 0x36, 0x2f, 0x7, 0x1, 0x91, 0x6, 0x2f, 0x31, 0xfe, 0x77, 0xb, 0x26, 0x36, 0x5e, 0x5d, 0x36, 0x26, 0x5, 0x1e, 0x57, 0x57, 0x9b, 0x9a, 0x57, 0x58, 0x58, 0x57, 0x9a, 0x9b, 0x57, 0x57, 0x57, 0x40, 0x39, 0x5c, 0x5b, 0x38, 0xef, 0x45, 0x2d, 0x41, 0x41, 0x2e, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x47, 0x1, 0xae, 0x2, 0xcf, 0x6, 0x3, 0x0, 0x1d, 0x0, 0x26, 0x0, 0x2e, 0x0, 0x0, 0x1, 0x23, 0x35, 0x21, 0x15, 0x23, 0x15, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x15, 0x33, 0x15, 0x21, 0x35, 0x33, 0x35, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x17, 0x11, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x3, 0x11, 0x6, 0x7, 0x6, 0x14, 0x17, 0x16, 0x1, 0x4f, 0x97, 0x1, 0xa2, 0x97, 0x70, 0x46, 0x56, 0x56, 0x46, 0x70, 0x97, 0xfe, 0x5e, 0x97, 0x6e, 0x43, 0x57, 0x57, 0x43, 0x6e, 0x74, 0x36, 0x25, 0x36, 0x36, 0x25, 0xaa, 0x34, 0x23, 0x37, 0x36, 0x24, 0x5, 0xa7, 0x5c, 0x5c, 0x8c, 0xe, 0x46, 0x57, 0x9b, 0x9a, 0x57, 0x47, 0xe, 0x85, 0x5c, 0x5c, 0x86, 0xe, 0x46, 0x57, 0x9a, 0x9b, 0x57, 0x45, 0xf, 0x5b, 0xfe, 0x2a, 0xe, 0x2c, 0x41, 0x70, 0x6f, 0x41, 0x2d, 0xfe, 0x39, 0x1, 0xd4, 0xe, 0x2a, 0x41, 0xe2, 0x40, 0x2b, 0x0, 0x1, 0x0, 0x46, 0x1, 0xad, 0x2, 0x61, 0x5, 0x1e, 0x0, 0x3a, 0x0, 0x0, 0x1, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x1f, 0x1, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x2f, 0x1, 0x15, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x26, 0x3d, 0x2, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2f, 0x1, 0x2e, 0x1, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x16, 0x2, 0x3b, 0x31, 0x6a, 0x38, 0x57, 0x2a, 0x2c, 0x1f, 0x1f, 0x5d, 0x28, 0x7b, 0x34, 0x34, 0x4d, 0x4e, 0x88, 0x39, 0x3e, 0xd, 0x30, 0x42, 0x93, 0xa0, 0x72, 0x33, 0x34, 0x40, 0x3f, 0x3e, 0x3d, 0x52, 0x58, 0x1f, 0x20, 0x6c, 0x29, 0x6b, 0x60, 0x47, 0x46, 0x82, 0x40, 0x72, 0x4, 0xfd, 0x62, 0x17, 0x16, 0x17, 0x18, 0x2f, 0x24, 0x15, 0x14, 0x12, 0x8, 0x18, 0x2b, 0x2a, 0x4d, 0x57, 0x33, 0x33, 0x9, 0x3, 0x7, 0x56, 0x36, 0x58, 0x36, 0x36, 0x78, 0x22, 0x6a, 0x1d, 0xf, 0xf, 0x32, 0x2d, 0x2a, 0x17, 0x16, 0x15, 0x8, 0x14, 0x54, 0x49, 0x58, 0x30, 0x30, 0x10, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xe9, 0x1, 0xad, 0x1, 0xca, 0x6, 0x3, 0x0, 0x17, 0x0, 0x0, 0x13, 0x2, 0x3, 0x34, 0x37, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x7, 0x6, 0x15, 0x13, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x7a, 0x1, 0x1, 0x37, 0x33, 0x7a, 0x6e, 0x6f, 0x3e, 0x18, 0x19, 0x2, 0x34, 0x33, 0x72, 0x2c, 0x1f, 0x42, 0x30, 0x2, 0x91, 0x1, 0x5d, 0x1, 0x4d, 0x65, 0x33, 0x30, 0x55, 0x17, 0x16, 0x3a, 0xfd, 0x4a, 0x78, 0x36, 0x36, 0x58, 0x36, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x23, 0x1, 0xad, 0x1, 0xdb, 0x5, 0xc1, 0x0, 0x1f, 0x0, 0x0, 0x13, 0x15, 0x33, 0x15, 0x23, 0x11, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x3d, 0x1, 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x35, 0xec, 0xef, 0xef, 0x30, 0x48, 0x77, 0x34, 0x33, 0x72, 0x2c, 0x1f, 0x42, 0x30, 0x3, 0x86, 0x33, 0x33, 0x55, 0x55, 0x5, 0xc1, 0xb2, 0x50, 0xfe, 0xac, 0x4d, 0x2c, 0x61, 0x78, 0x36, 0x36, 0x58, 0x36, 0x56, 0xb, 0x2d, 0x2c, 0x76, 0x1, 0x54, 0x50, 0xb2, 0x0, 0x2, 0x0, 0x5e, 0x2, 0x8c, 0x3, 0x90, 0x5, 0xf, 0x0, 0x17, 0x0, 0x21, 0x0, 0x0, 0x13, 0x35, 0x33, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x6, 0x7, 0x6, 0x23, 0x22, 0x26, 0x3d, 0x1, 0x29, 0x1, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x5e, 0x6e, 0x74, 0x1, 0x67, 0x74, 0x75, 0x75, 0x74, 0x2b, 0x38, 0x37, 0x4a, 0x79, 0x7e, 0x1, 0xda, 0xfe, 0x9a, 0x27, 0x27, 0x4e, 0x5e, 0x36, 0x31, 0x3, 0x99, 0x5c, 0x1, 0x1a, 0xfe, 0xe6, 0x1, 0x1a, 0xfe, 0xe6, 0x5c, 0xfd, 0x60, 0x39, 0x1c, 0x1b, 0x86, 0x82, 0x5, 0x2, 0x59, 0x2c, 0x2d, 0x36, 0x2f, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x47, 0x2, 0x8b, 0x2, 0xd8, 0x5, 0xf, 0x0, 0x26, 0x0, 0x0, 0x13, 0x35, 0x21, 0x15, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x35, 0x21, 0x15, 0x23, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x20, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x47, 0x1, 0x17, 0x45, 0x28, 0x29, 0x37, 0x38, 0x5a, 0x5b, 0x37, 0x38, 0x2a, 0x2c, 0x3f, 0x1, 0x12, 0x94, 0x47, 0x24, 0x22, 0x5a, 0x59, 0xfe, 0xe4, 0x59, 0x5a, 0x21, 0x22, 0x4a, 0x4, 0xb3, 0x5c, 0x7b, 0x27, 0x3a, 0x3f, 0x4b, 0x59, 0x37, 0x36, 0x36, 0x37, 0x59, 0x52, 0x38, 0x3e, 0x23, 0x7b, 0x5c, 0x38, 0x3f, 0x3e, 0x4c, 0x83, 0x52, 0x52, 0x51, 0x52, 0x80, 0x52, 0x3c, 0x3d, 0x3a, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x75, 0x2, 0x8a, 0x2, 0x92, 0x5, 0xf, 0x0, 0x13, 0x0, 0x0, 0x1, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x1, 0x84, 0x51, 0x48, 0x75, 0x44, 0x45, 0x85, 0x86, 0x45, 0x44, 0x75, 0x48, 0x2, 0xe2, 0x50, 0x5a, 0x1, 0x83, 0xfe, 0x73, 0x7b, 0x3e, 0x3f, 0x3f, 0x3e, 0x7b, 0x1, 0x8d, 0xfe, 0x7d, 0x5a, 0x50, 0x0, 0x0, 0x1, 0x0, 0x7a, 0x2, 0x9c, 0x2, 0xbf, 0x5, 0xf, 0x0, 0x1e, 0x0, 0x0, 0x1, 0x33, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x17, 0x16, 0x3f, 0x1, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x1, 0x67, 0xcb, 0x48, 0x23, 0x22, 0x59, 0x5a, 0x8e, 0x2c, 0x72, 0x66, 0x74, 0x17, 0x1a, 0x41, 0x20, 0x5a, 0x38, 0x37, 0x29, 0x32, 0x3a, 0x30, 0x4, 0xc4, 0x38, 0x3f, 0x3e, 0x4c, 0x83, 0x52, 0x52, 0x6c, 0x77, 0x1, 0x90, 0xfe, 0x70, 0x55, 0x1c, 0x1c, 0x1, 0x1, 0x36, 0x37, 0x59, 0x51, 0x38, 0x43, 0x1f, 0x18, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x26, 0x2, 0x9c, 0x2, 0xd5, 0x5, 0xf, 0x0, 0x6, 0x0, 0x0, 0x1, 0x23, 0xb, 0x1, 0x23, 0x1, 0x33, 0x2, 0xd5, 0x7b, 0xdc, 0xdd, 0x7b, 0x1, 0x9, 0x9e, 0x2, 0x9c, 0x2, 0xe, 0xfd, 0xf2, 0x2, 0x73, 0x0, 0x0, 0x0, 0x1, 0x0, 0x37, 0x2, 0x9c, 0x2, 0x6e, 0x5, 0xf, 0x0, 0x9, 0x0, 0x0, 0x13, 0x21, 0x15, 0x1, 0x21, 0x15, 0x21, 0x35, 0x1, 0x21, 0x47, 0x2, 0x27, 0xfe, 0x4c, 0x1, 0xb4, 0xfd, 0xc9, 0x1, 0xb4, 0xfe, 0x5c, 0x5, 0xf, 0x5e, 0xfe, 0x3d, 0x52, 0x5e, 0x1, 0xc3, 0x0, 0x0, 0x0, 0x1, 0x0, 0x37, 0x1, 0xad, 0x2, 0xfd, 0x5, 0xf, 0x0, 0x16, 0x0, 0x0, 0x13, 0x21, 0x15, 0x1, 0x21, 0x15, 0x23, 0x15, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x26, 0x3d, 0x1, 0x21, 0x35, 0x1, 0x21, 0x47, 0x2, 0x27, 0xfe, 0x4c, 0x1, 0xb4, 0x1, 0x17, 0x18, 0x43, 0x1e, 0x2c, 0x72, 0x66, 0xfe, 0x3e, 0x1, 0xb4, 0xfe, 0x5c, 0x5, 0xf, 0x5e, 0xfe, 0x3d, 0x52, 0xb, 0x56, 0x1b, 0x1b, 0x58, 0x6c, 0x78, 0xb, 0x5e, 0x1, 0xc3, 0x0, 0x0, 0x2, 0x0, 0x37, 0x2, 0x5e, 0x2, 0x6e, 0x5, 0xf, 0x0, 0x14, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x6, 0x15, 0x23, 0x34, 0x37, 0x23, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x33, 0x36, 0x33, 0x32, 0x17, 0x14, 0x23, 0x27, 0x33, 0x32, 0x35, 0x34, 0x23, 0x6, 0x1, 0x7c, 0x2, 0x60, 0x2, 0xe5, 0x1, 0xb4, 0xfe, 0x5c, 0x2, 0x27, 0xfe, 0x4c, 0x6e, 0x26, 0x8a, 0x8f, 0x1, 0xd2, 0xd, 0xd, 0x6d, 0x2c, 0x37, 0x2, 0x9c, 0x1d, 0x21, 0x21, 0x1d, 0x5e, 0x1, 0xc3, 0x52, 0x5e, 0xfe, 0x3d, 0xa2, 0x8a, 0x6a, 0x52, 0x1f, 0x33, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x37, 0x1, 0xa8, 0x2, 0xa3, 0x5, 0xf, 0x0, 0x21, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2b, 0x1, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x68, 0x43, 0x51, 0x3e, 0x36, 0x33, 0x60, 0x60, 0xb0, 0x3b, 0x3f, 0x3f, 0x43, 0x35, 0x7e, 0x45, 0x78, 0x3e, 0x3f, 0x3a, 0x3a, 0x68, 0x6e, 0x1, 0xf, 0xfe, 0x5c, 0x2, 0x26, 0x3, 0xa7, 0x20, 0x17, 0x3d, 0x3b, 0x4d, 0x7c, 0x43, 0x44, 0xa, 0xb, 0x14, 0x6d, 0x1b, 0x1c, 0x2a, 0x2a, 0x50, 0x4a, 0x2a, 0x29, 0x5d, 0x1, 0x18, 0x52, 0x5e, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x47, 0x2, 0x8f, 0x2, 0xcf, 0x6, 0xc, 0x0, 0x8, 0x0, 0x10, 0x0, 0x1d, 0x0, 0x0, 0x1, 0x21, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x22, 0x7, 0x6, 0x7, 0x13, 0x32, 0x17, 0x16, 0x10, 0x7, 0x6, 0x23, 0x22, 0x26, 0x10, 0x37, 0x36, 0x2, 0x53, 0xfe, 0x6f, 0x6, 0x2f, 0x36, 0x5e, 0x5d, 0x36, 0x2f, 0x5, 0x9, 0x2b, 0x36, 0xba, 0x36, 0x2c, 0x8, 0xc7, 0x97, 0x57, 0x56, 0x56, 0x57, 0x97, 0x98, 0xac, 0x56, 0x56, 0x4, 0x2a, 0x80, 0x4d, 0x57, 0x58, 0x4d, 0xde, 0x6d, 0x47, 0x59, 0x58, 0x46, 0x6f, 0x1, 0x83, 0x76, 0x77, 0xfe, 0x5e, 0x77, 0x77, 0xee, 0x1, 0xa2, 0x77, 0x76, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfc, 0x5b, 0x4, 0xee, 0xff, 0xa5, 0x6, 0x66, 0x0, 0x5, 0x0, 0x0, 0x1, 0x21, 0x35, 0x21, 0x37, 0x33, 0xfe, 0xb0, 0xfd, 0xab, 0x2, 0x17, 0xa8, 0x8b, 0x4, 0xee, 0x94, 0xe4, 0x0, 0x1, 0xfc, 0x5b, 0x4, 0xee, 0xff, 0xa5, 0x6, 0x66, 0x0, 0x5, 0x0, 0x0, 0x1, 0x3, 0x33, 0x17, 0x21, 0x15, 0xfd, 0x50, 0xf5, 0x8b, 0xa8, 0x2, 0x17, 0x4, 0xee, 0x1, 0x78, 0xe4, 0x94, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfc, 0x5b, 0x4, 0xee, 0xff, 0xa5, 0x6, 0x66, 0x0, 0x5, 0x0, 0x0, 0x1, 0x13, 0x23, 0x27, 0x21, 0x35, 0xfe, 0xb0, 0xf5, 0x8b, 0xa8, 0xfd, 0xe9, 0x6, 0x66, 0xfe, 0x88, 0xe4, 0x94, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfc, 0x5b, 0x4, 0xee, 0xff, 0xa5, 0x6, 0x66, 0x0, 0x5, 0x0, 0x0, 0x1, 0x21, 0x15, 0x21, 0x7, 0x23, 0xfd, 0x50, 0x2, 0x55, 0xfd, 0xe9, 0xa8, 0x8b, 0x6, 0x66, 0x94, 0xe4, 0x0, 0x1, 0xfc, 0x42, 0x4, 0xee, 0xff, 0xbe, 0x6, 0x66, 0x0, 0x9, 0x0, 0x0, 0x1, 0x33, 0x13, 0x23, 0x27, 0x7, 0x23, 0x3, 0x33, 0x17, 0xfe, 0x35, 0x94, 0xf5, 0x8b, 0xb4, 0xb4, 0x94, 0xf5, 0x8b, 0xb4, 0x6, 0x66, 0xfe, 0x88, 0xf5, 0xf5, 0x1, 0x78, 0xf5, 0x0, 0x1, 0xfc, 0x42, 0x4, 0xee, 0xff, 0xbe, 0x6, 0x66, 0x0, 0x9, 0x0, 0x0, 0x1, 0x17, 0x37, 0x33, 0x3, 0x23, 0x27, 0x7, 0x23, 0x13, 0xfd, 0xcb, 0xb4, 0xb4, 0x8b, 0xf5, 0x94, 0xb4, 0xb4, 0x8b, 0xf5, 0x6, 0x66, 0xf5, 0xf5, 0xfe, 0x88, 0xf5, 0xf5, 0x1, 0x78, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0xfe, 0x13, 0x5, 0x68, 0x5, 0xd5, 0x10, 0x27, 0x2, 0xd6, 0x4, 0xbc, 0x0, 0x1, 0x12, 0x6, 0x0, 0x24, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7b, 0xfe, 0x13, 0x4, 0x2d, 0x4, 0x7b, 0x10, 0x27, 0x2, 0xd6, 0x4, 0x54, 0x0, 0x1, 0x12, 0x6, 0x0, 0x44, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0xec, 0x7, 0x50, 0x10, 0x27, 0x16, 0xc1, 0x4, 0xbc, 0x1, 0x75, 0x12, 0x6, 0x0, 0x25, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb8, 0xff, 0xe3, 0x4, 0xa4, 0x7, 0x52, 0x10, 0x27, 0x2, 0xb8, 0x3, 0x16, 0x1, 0x3e, 0x12, 0x6, 0x0, 0x45, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x89, 0x4, 0xec, 0x5, 0xd5, 0x12, 0x26, 0x0, 0x25, 0x0, 0x0, 0x10, 0x7, 0x2, 0xd4, 0x4, 0xa5, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x89, 0x4, 0xa4, 0x6, 0x14, 0x12, 0x26, 0x0, 0x45, 0x0, 0x0, 0x10, 0x7, 0x2, 0xd4, 0x4, 0x9a, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0xc0, 0x4, 0xec, 0x5, 0xd5, 0x12, 0x26, 0x0, 0x25, 0x0, 0x0, 0x10, 0x7, 0x2, 0x8f, 0x0, 0x97, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0xc0, 0x4, 0xa4, 0x6, 0x14, 0x12, 0x26, 0x0, 0x45, 0x0, 0x0, 0x10, 0x7, 0x2, 0x8f, 0x0, 0x8f, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xfe, 0x75, 0x5, 0x27, 0x7, 0x6c, 0x10, 0x27, 0x16, 0xba, 0x5, 0x4c, 0x1, 0x76, 0x12, 0x6, 0x0, 0x89, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x75, 0x3, 0xe7, 0x6, 0x66, 0x12, 0x26, 0x0, 0xa9, 0x0, 0x0, 0x10, 0x6, 0x0, 0x76, 0x43, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xb0, 0x7, 0x50, 0x10, 0x27, 0x16, 0xc1, 0x4, 0xec, 0x1, 0x75, 0x12, 0x6, 0x0, 0x27, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x5a, 0x7, 0x89, 0x10, 0x27, 0x2, 0xb8, 0x5, 0xfe, 0x1, 0x75, 0x12, 0x6, 0x0, 0x47, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x8a, 0x5, 0xb0, 0x5, 0xd5, 0x10, 0x27, 0x2, 0xd4, 0x4, 0xec, 0x0, 0x1, 0x12, 0x6, 0x0, 0x27, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x8a, 0x4, 0x5a, 0x6, 0x14, 0x10, 0x27, 0x2, 0xd4, 0x4, 0x66, 0x0, 0x1, 0x12, 0x6, 0x0, 0x47, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0xc1, 0x5, 0xb0, 0x5, 0xd5, 0x10, 0x27, 0x2, 0xe2, 0x4, 0xec, 0x0, 0x1, 0x12, 0x6, 0x0, 0x27, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0xc1, 0x4, 0x5a, 0x6, 0x14, 0x10, 0x27, 0x2, 0xe2, 0x4, 0x66, 0x0, 0x1, 0x12, 0x6, 0x0, 0x47, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x77, 0x5, 0xb0, 0x5, 0xd5, 0x12, 0x26, 0x0, 0x27, 0x0, 0x0, 0x10, 0x6, 0x0, 0x7a, 0x5b, 0x2, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x75, 0x4, 0x5a, 0x6, 0x14, 0x12, 0x26, 0x0, 0x47, 0x0, 0x0, 0x10, 0x6, 0x0, 0x7a, 0xf6, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x15, 0x5, 0xb0, 0x5, 0xd5, 0x10, 0x27, 0x2, 0xde, 0x4, 0xec, 0x0, 0x1, 0x12, 0x6, 0x0, 0x27, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x15, 0x4, 0x5a, 0x6, 0x14, 0x10, 0x27, 0x2, 0xde, 0x4, 0x66, 0x0, 0x1, 0x12, 0x6, 0x0, 0x47, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x8, 0x5a, 0x12, 0x26, 0x0, 0x28, 0x0, 0x0, 0x10, 0x6, 0x16, 0xf2, 0xee, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x7f, 0x7, 0x5e, 0x10, 0x27, 0x16, 0xf2, 0xff, 0xd9, 0xff, 0x4, 0x12, 0x6, 0x0, 0x48, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x8, 0x5a, 0x12, 0x26, 0x0, 0x28, 0x0, 0x0, 0x10, 0x6, 0x16, 0xf1, 0xec, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x7f, 0x7, 0x5e, 0x12, 0x26, 0x0, 0x48, 0x0, 0x0, 0x10, 0x7, 0x16, 0xf1, 0xff, 0xd7, 0xff, 0x4, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x4b, 0x4, 0x8b, 0x5, 0xd5, 0x12, 0x26, 0x0, 0x28, 0x0, 0x0, 0x10, 0x7, 0x2, 0xde, 0x4, 0xb1, 0x0, 0x37, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x4b, 0x4, 0x7f, 0x4, 0x7b, 0x12, 0x26, 0x0, 0x48, 0x0, 0x0, 0x10, 0x7, 0x2, 0xde, 0x4, 0xb0, 0x0, 0x37, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x76, 0x4, 0x8b, 0x5, 0xd5, 0x12, 0x26, 0x0, 0x28, 0x0, 0x0, 0x10, 0x7, 0x2, 0xb0, 0x0, 0xb3, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x76, 0x4, 0x7f, 0x4, 0x7b, 0x12, 0x26, 0x0, 0x48, 0x0, 0x0, 0x10, 0x7, 0x2, 0xb0, 0x0, 0x9b, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x75, 0x4, 0x8b, 0x7, 0x6d, 0x10, 0x27, 0x16, 0xc0, 0x4, 0xa1, 0x1, 0x75, 0x12, 0x26, 0x0, 0x28, 0x0, 0x0, 0x10, 0x7, 0x0, 0x7a, 0x0, 0xbe, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x75, 0x4, 0x7f, 0x6, 0x48, 0x12, 0x26, 0x0, 0x48, 0x0, 0x0, 0x10, 0x27, 0x2, 0x9a, 0x0, 0x87, 0x0, 0x0, 0x10, 0x6, 0x0, 0x7a, 0x4b, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x23, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x4, 0x76, 0x1, 0x74, 0x12, 0x6, 0x0, 0x29, 0x0, 0x0, 0xff, 0xff, 0x0, 0x2f, 0x0, 0x0, 0x2, 0xf8, 0x7, 0x89, 0x10, 0x27, 0x2, 0xb8, 0x3, 0xe0, 0x1, 0x75, 0x12, 0x6, 0x0, 0x49, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x8b, 0x7, 0x18, 0x12, 0x26, 0x0, 0x2a, 0x0, 0x0, 0x10, 0x7, 0x2, 0x8b, 0x1, 0x32, 0x1, 0x22, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x56, 0x4, 0x5a, 0x5, 0xf6, 0x12, 0x26, 0x0, 0x4a, 0x0, 0x0, 0x10, 0x6, 0x2, 0x8b, 0x49, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x3b, 0x7, 0x4e, 0x10, 0x27, 0x16, 0xc1, 0x5, 0x14, 0x1, 0x73, 0x12, 0x6, 0x0, 0x2b, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb8, 0x0, 0x0, 0x4, 0x64, 0x7, 0x52, 0x10, 0x27, 0x2, 0xb8, 0x3, 0x16, 0x1, 0x3e, 0x12, 0x6, 0x0, 0x4b, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x89, 0x5, 0x3b, 0x5, 0xd5, 0x10, 0x27, 0x2, 0xd4, 0x5, 0x2, 0x0, 0x0, 0x12, 0x6, 0x0, 0x2b, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x89, 0x4, 0x64, 0x6, 0x14, 0x10, 0x27, 0x2, 0xd4, 0x4, 0x8f, 0x0, 0x0, 0x12, 0x6, 0x0, 0x4b, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x3b, 0x7, 0x50, 0x12, 0x26, 0x0, 0x2b, 0x0, 0x0, 0x10, 0x7, 0x0, 0x6a, 0x1, 0x8, 0x1, 0x40, 0xff, 0xff, 0xff, 0xed, 0x0, 0x0, 0x4, 0x64, 0x7, 0x4e, 0x10, 0x27, 0x2, 0xb9, 0x3, 0x16, 0x1, 0x3e, 0x12, 0x6, 0x0, 0x4b, 0x0, 0x0, 0xff, 0xff, 0x0, 0x11, 0xfe, 0x74, 0x5, 0x3b, 0x5, 0xd5, 0x12, 0x26, 0x0, 0x2b, 0x0, 0x0, 0x10, 0x7, 0x0, 0x7a, 0xfe, 0xee, 0xff, 0xff, 0xff, 0xff, 0x0, 0x2, 0xfe, 0x74, 0x4, 0x64, 0x6, 0x14, 0x12, 0x26, 0x0, 0x4b, 0x0, 0x0, 0x10, 0x7, 0x0, 0x7a, 0xfe, 0xdf, 0xff, 0xff, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x39, 0x5, 0x3b, 0x5, 0xd5, 0x12, 0x26, 0x0, 0x2b, 0x0, 0x0, 0x10, 0x7, 0x2, 0xdf, 0x5, 0xa, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x39, 0x4, 0x64, 0x6, 0x14, 0x12, 0x26, 0x0, 0x4b, 0x0, 0x0, 0x10, 0x7, 0x2, 0xdf, 0x4, 0x95, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0xfe, 0x76, 0x2, 0x94, 0x5, 0xd5, 0x12, 0x26, 0x0, 0x2c, 0x0, 0x0, 0x10, 0x7, 0x2, 0xb0, 0xff, 0x4a, 0x0, 0x0, 0xff, 0xff, 0xff, 0xd3, 0xfe, 0x76, 0x2, 0x67, 0x6, 0x14, 0x10, 0x27, 0x2, 0xb0, 0xff, 0x1d, 0x0, 0x0, 0x12, 0x6, 0x0, 0x4c, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7, 0x0, 0x0, 0x2, 0x59, 0x8, 0x5a, 0x12, 0x26, 0x0, 0x2c, 0x0, 0x0, 0x10, 0x7, 0x16, 0xef, 0xfe, 0x74, 0x0, 0x0, 0xff, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x2, 0x46, 0x7, 0x16, 0x12, 0x26, 0x0, 0xf3, 0x0, 0x0, 0x10, 0x7, 0x16, 0xef, 0xfe, 0x61, 0xfe, 0xbc, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x6a, 0x7, 0x6c, 0x10, 0x27, 0x16, 0xba, 0x4, 0xe2, 0x1, 0x76, 0x12, 0x6, 0x0, 0x2e, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x4, 0x9c, 0x7, 0x6c, 0x10, 0x27, 0x16, 0xba, 0x3, 0x5a, 0x1, 0x76, 0x12, 0x6, 0x0, 0x4e, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x89, 0x5, 0x6a, 0x5, 0xd5, 0x12, 0x26, 0x0, 0x2e, 0x0, 0x0, 0x10, 0x7, 0x2, 0xd4, 0x4, 0xdc, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x89, 0x4, 0x9c, 0x6, 0x14, 0x12, 0x26, 0x0, 0x4e, 0x0, 0x0, 0x10, 0x7, 0x2, 0xd4, 0x4, 0x91, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0xc0, 0x5, 0x6a, 0x5, 0xd5, 0x12, 0x26, 0x0, 0x2e, 0x0, 0x0, 0x10, 0x7, 0x2, 0x8f, 0x1, 0xd, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0xc0, 0x4, 0x9c, 0x6, 0x14, 0x12, 0x26, 0x0, 0x4e, 0x0, 0x0, 0x10, 0x6, 0x2, 0x8f, 0x76, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x89, 0x4, 0x6a, 0x5, 0xd5, 0x10, 0x27, 0x2, 0xd4, 0x4, 0x9a, 0x0, 0x0, 0x10, 0x6, 0x0, 0x2f, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x89, 0x1, 0x84, 0x6, 0x14, 0x10, 0x27, 0x2, 0xd4, 0x3, 0x27, 0x0, 0x0, 0x10, 0x6, 0x0, 0x4f, 0xb, 0x0, 0xff, 0xff, 0x0, 0x3, 0xfe, 0x8a, 0x4, 0x6a, 0x7, 0x6b, 0x10, 0x27, 0x2, 0xb5, 0x3, 0x2a, 0x1, 0x75, 0x10, 0x27, 0x2, 0xd4, 0x4, 0x99, 0x0, 0x1, 0x12, 0x6, 0x0, 0x2f, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0x89, 0x2, 0x53, 0x7, 0x31, 0x10, 0x27, 0x0, 0x71, 0xff, 0x28, 0x1, 0x3b, 0x10, 0x6, 0x9, 0x30, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0xc0, 0x4, 0x6a, 0x5, 0xd5, 0x12, 0x26, 0x0, 0x2f, 0x0, 0x0, 0x10, 0x7, 0x2, 0x8f, 0x0, 0x8e, 0x0, 0x0, 0xff, 0xff, 0xff, 0xf4, 0xfe, 0xc0, 0x2, 0x4a, 0x6, 0x14, 0x10, 0x27, 0x2, 0x8f, 0xff, 0x1f, 0x0, 0x0, 0x12, 0x6, 0x0, 0x4f, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x14, 0x4, 0x6a, 0x5, 0xd5, 0x10, 0x27, 0x2, 0x88, 0x0, 0x97, 0xf9, 0x26, 0x12, 0x6, 0x0, 0x2f, 0x0, 0x0, 0xff, 0xff, 0xff, 0xde, 0xfe, 0x14, 0x2, 0x5c, 0x6, 0x14, 0x10, 0x27, 0x2, 0x88, 0xff, 0x1d, 0xf9, 0x26, 0x12, 0x6, 0x0, 0x4f, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x1f, 0x7, 0x6c, 0x10, 0x27, 0x16, 0xba, 0x5, 0x73, 0x1, 0x76, 0x12, 0x6, 0x0, 0x30, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x7, 0x1d, 0x6, 0x66, 0x12, 0x26, 0x0, 0x50, 0x0, 0x0, 0x10, 0x7, 0x0, 0x76, 0x1, 0x94, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x1f, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x5, 0x77, 0x1, 0x74, 0x12, 0x6, 0x0, 0x30, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x7, 0x1d, 0x6, 0x14, 0x10, 0x27, 0x2, 0xb8, 0x5, 0xe9, 0x0, 0x0, 0x12, 0x6, 0x0, 0x50, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x89, 0x6, 0x1f, 0x5, 0xd5, 0x10, 0x27, 0x2, 0xd4, 0x5, 0x74, 0x0, 0x0, 0x10, 0x6, 0x0, 0x30, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x89, 0x7, 0x1d, 0x4, 0x7b, 0x10, 0x27, 0x2, 0xd4, 0x5, 0xe6, 0x0, 0x0, 0x10, 0x6, 0x0, 0x50, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x33, 0x7, 0x50, 0x10, 0x27, 0x16, 0xc1, 0x4, 0xf5, 0x1, 0x75, 0x12, 0x6, 0x0, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x4, 0x64, 0x6, 0x14, 0x10, 0x27, 0x2, 0xb8, 0x4, 0x89, 0x0, 0x0, 0x12, 0x6, 0x0, 0x51, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x89, 0x5, 0x33, 0x5, 0xd5, 0x10, 0x27, 0x2, 0xd4, 0x4, 0xfe, 0x0, 0x0, 0x10, 0x6, 0x0, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x89, 0x4, 0x64, 0x4, 0x7b, 0x10, 0x27, 0x2, 0xd4, 0x4, 0x8f, 0x0, 0x0, 0x10, 0x6, 0x0, 0x51, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0xc0, 0x5, 0x33, 0x5, 0xd5, 0x12, 0x26, 0x0, 0x31, 0x0, 0x0, 0x10, 0x7, 0x2, 0x8f, 0x0, 0xf7, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0xc0, 0x4, 0x64, 0x4, 0x7b, 0x12, 0x26, 0x0, 0x51, 0x0, 0x0, 0x10, 0x7, 0x2, 0x8f, 0x0, 0x8c, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x14, 0x5, 0x33, 0x5, 0xd5, 0x10, 0x27, 0x2, 0x88, 0x0, 0xfe, 0xf9, 0x26, 0x12, 0x6, 0x0, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x14, 0x4, 0x64, 0x4, 0x7b, 0x10, 0x27, 0x2, 0x88, 0x0, 0x95, 0xf9, 0x26, 0x12, 0x6, 0x0, 0x51, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x8, 0x5a, 0x12, 0x26, 0x0, 0x32, 0x0, 0x0, 0x10, 0x6, 0x16, 0xf7, 0x66, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x7, 0xc, 0x12, 0x26, 0x0, 0x52, 0x0, 0x0, 0x10, 0x7, 0x16, 0xf7, 0xff, 0xb2, 0xfe, 0xb2, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x8, 0x56, 0x12, 0x26, 0x0, 0x32, 0x0, 0x0, 0x10, 0x6, 0x16, 0xf5, 0x6c, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x7, 0xf, 0x12, 0x26, 0x0, 0x52, 0x0, 0x0, 0x10, 0x27, 0x0, 0x6a, 0x0, 0x6f, 0x0, 0xff, 0x10, 0x7, 0x16, 0xbb, 0x4, 0x72, 0x0, 0x12, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x8, 0x5a, 0x12, 0x26, 0x0, 0x32, 0x0, 0x0, 0x10, 0x6, 0x16, 0xf2, 0x6a, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x7, 0x5e, 0x10, 0x26, 0x0, 0x52, 0x0, 0x0, 0x10, 0x7, 0x16, 0xf2, 0xff, 0xb5, 0xff, 0x4, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x8, 0x5a, 0x12, 0x26, 0x0, 0x32, 0x0, 0x0, 0x10, 0x6, 0x16, 0xf1, 0x68, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x7, 0x5e, 0x10, 0x27, 0x16, 0xf1, 0xff, 0xb9, 0xff, 0x4, 0x10, 0x6, 0x0, 0x52, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8d, 0x7, 0x6c, 0x10, 0x27, 0x16, 0xba, 0x4, 0x9e, 0x1, 0x76, 0x12, 0x6, 0x0, 0x33, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0xa4, 0x6, 0x66, 0x12, 0x26, 0x0, 0x53, 0x0, 0x0, 0x10, 0x6, 0x0, 0x76, 0x32, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8d, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x4, 0x84, 0x1, 0x74, 0x12, 0x6, 0x0, 0x33, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0xa4, 0x6, 0x14, 0x10, 0x27, 0x2, 0xb8, 0x4, 0xa6, 0x0, 0x0, 0x12, 0x6, 0x0, 0x53, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x54, 0x7, 0x4e, 0x10, 0x27, 0x16, 0xc1, 0x4, 0x83, 0x1, 0x73, 0x12, 0x6, 0x0, 0x35, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x3, 0x4a, 0x6, 0x14, 0x10, 0x27, 0x2, 0xb8, 0x4, 0x17, 0x0, 0x0, 0x12, 0x6, 0x0, 0x55, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x89, 0x5, 0x54, 0x5, 0xd5, 0x10, 0x27, 0x2, 0xd4, 0x4, 0x7d, 0x0, 0x0, 0x10, 0x6, 0x0, 0x35, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x89, 0x3, 0x4a, 0x4, 0x7b, 0x10, 0x27, 0x2, 0xd4, 0x3, 0x20, 0x0, 0x0, 0x10, 0x6, 0x0, 0x55, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x89, 0x5, 0x54, 0x7, 0x31, 0x10, 0x27, 0x0, 0x71, 0x0, 0x7d, 0x1, 0x3b, 0x10, 0x6, 0x9, 0x53, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x89, 0x3, 0x4a, 0x5, 0xf5, 0x10, 0x26, 0x0, 0x71, 0x18, 0xff, 0x10, 0x6, 0x9, 0x54, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0xc0, 0x5, 0x54, 0x5, 0xd5, 0x12, 0x26, 0x0, 0x35, 0x0, 0x0, 0x10, 0x7, 0x2, 0x8f, 0x0, 0xe5, 0x0, 0x0, 0xff, 0xff, 0x0, 0x54, 0xfe, 0xc0, 0x3, 0x4a, 0x4, 0x7b, 0x12, 0x26, 0x0, 0x55, 0x0, 0x0, 0x10, 0x7, 0x2, 0x8f, 0xff, 0x7f, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xff, 0xe3, 0x4, 0xa2, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x4, 0xb8, 0x1, 0x74, 0x12, 0x6, 0x0, 0x36, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6f, 0xff, 0xe3, 0x3, 0xc7, 0x6, 0x14, 0x10, 0x27, 0x2, 0xb8, 0x4, 0x27, 0x0, 0x0, 0x12, 0x6, 0x0, 0x56, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xfe, 0x89, 0x4, 0xa2, 0x5, 0xf0, 0x10, 0x27, 0x2, 0xd4, 0x4, 0x8a, 0x0, 0x0, 0x10, 0x6, 0x0, 0x36, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6f, 0xfe, 0x8a, 0x3, 0xc7, 0x4, 0x7b, 0x10, 0x27, 0x2, 0xd4, 0x4, 0x25, 0x0, 0x1, 0x12, 0x6, 0x0, 0x56, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xff, 0xe3, 0x4, 0xa2, 0x7, 0x6d, 0x10, 0x27, 0x16, 0xba, 0x4, 0xe2, 0x1, 0x76, 0x10, 0x27, 0x16, 0xc1, 0x3, 0xa4, 0x1, 0x92, 0x12, 0x6, 0x0, 0x36, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6f, 0xff, 0xe3, 0x3, 0xe2, 0x6, 0x66, 0x12, 0x26, 0x0, 0x56, 0x0, 0x0, 0x10, 0x26, 0x2, 0x9b, 0x8c, 0x56, 0x10, 0x7, 0x0, 0x76, 0x0, 0x90, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xff, 0xe3, 0x4, 0xa2, 0x8, 0x57, 0x10, 0x26, 0x16, 0xf6, 0xe4, 0x0, 0x12, 0x6, 0x0, 0x36, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6f, 0xff, 0xe3, 0x3, 0xc7, 0x7, 0xc9, 0x10, 0x27, 0x2, 0xb8, 0x4, 0x2d, 0x1, 0xb5, 0x12, 0x6, 0x1, 0x23, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xfe, 0x89, 0x4, 0xa2, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x4, 0x9b, 0x1, 0x74, 0x12, 0x6, 0x9, 0x5b, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6f, 0xfe, 0x8a, 0x3, 0xc7, 0x5, 0xde, 0x10, 0x27, 0x2, 0xb8, 0x4, 0x27, 0xff, 0xca, 0x12, 0x6, 0x9, 0x5c, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x4, 0xe9, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x4, 0x72, 0x1, 0x74, 0x12, 0x6, 0x0, 0x37, 0x0, 0x0, 0xff, 0xff, 0x0, 0x37, 0x0, 0x0, 0x2, 0xf2, 0x7, 0x89, 0x10, 0x27, 0x2, 0xb8, 0x3, 0x1a, 0x1, 0x75, 0x12, 0x6, 0x0, 0x57, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfa, 0xfe, 0x89, 0x4, 0xe9, 0x5, 0xd5, 0x10, 0x27, 0x2, 0xd4, 0x4, 0x71, 0x0, 0x0, 0x10, 0x6, 0x0, 0x37, 0x0, 0x0, 0xff, 0xff, 0x0, 0x37, 0xfe, 0x89, 0x2, 0xf2, 0x5, 0x9e, 0x10, 0x27, 0x2, 0xd4, 0x3, 0xe8, 0x0, 0x0, 0x10, 0x6, 0x0, 0x57, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfa, 0xfe, 0xc0, 0x4, 0xe9, 0x5, 0xd5, 0x12, 0x26, 0x0, 0x37, 0x0, 0x0, 0x10, 0x6, 0x2, 0x8f, 0x62, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x37, 0xfe, 0xc0, 0x3, 0x1f, 0x5, 0x9e, 0x10, 0x26, 0x2, 0x8f, 0xf4, 0x0, 0x12, 0x6, 0x0, 0x57, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfa, 0xfe, 0x14, 0x4, 0xe9, 0x5, 0xd5, 0x10, 0x27, 0x2, 0x88, 0x0, 0x72, 0xf9, 0x26, 0x12, 0x6, 0x0, 0x37, 0x0, 0x0, 0xff, 0xff, 0x0, 0x37, 0xfe, 0x14, 0x3, 0x27, 0x5, 0x9e, 0x10, 0x27, 0x2, 0x88, 0xff, 0xe8, 0xf9, 0x26, 0x12, 0x6, 0x0, 0x57, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb2, 0xfe, 0x89, 0x5, 0x29, 0x5, 0xd5, 0x10, 0x27, 0x2, 0xd5, 0x4, 0xf0, 0x0, 0x0, 0x12, 0x6, 0x0, 0x38, 0x0, 0x0, 0xff, 0xff, 0x0, 0xae, 0xfe, 0x89, 0x4, 0x58, 0x4, 0x7b, 0x10, 0x27, 0x2, 0xd5, 0x4, 0x7b, 0x0, 0x0, 0x12, 0x6, 0x0, 0x58, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb2, 0xfe, 0x76, 0x5, 0x29, 0x5, 0xd5, 0x12, 0x26, 0x0, 0x38, 0x0, 0x0, 0x10, 0x7, 0x2, 0xb0, 0x0, 0xf2, 0x0, 0x0, 0xff, 0xff, 0x0, 0xae, 0xfe, 0x76, 0x4, 0x58, 0x4, 0x7b, 0x12, 0x26, 0x0, 0x58, 0x0, 0x0, 0x10, 0x7, 0x2, 0xb0, 0x0, 0x8f, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb2, 0xfe, 0x4b, 0x5, 0x29, 0x5, 0xd5, 0x12, 0x26, 0x0, 0x38, 0x0, 0x0, 0x10, 0x7, 0x2, 0xde, 0x4, 0xe0, 0x0, 0x37, 0xff, 0xff, 0x0, 0xae, 0xfe, 0x4b, 0x4, 0x58, 0x4, 0x7b, 0x12, 0x26, 0x0, 0x58, 0x0, 0x0, 0x10, 0x7, 0x2, 0xde, 0x4, 0x75, 0x0, 0x37, 0xff, 0xff, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x8, 0x5a, 0x10, 0x26, 0x16, 0xf7, 0x2e, 0x0, 0x12, 0x6, 0x0, 0x38, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xae, 0xff, 0xe3, 0x4, 0x58, 0x7, 0xec, 0x10, 0x26, 0x1, 0x2b, 0x0, 0x0, 0x10, 0x7, 0x0, 0x76, 0x0, 0x96, 0x1, 0x86, 0xff, 0xff, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x8, 0x34, 0x10, 0x26, 0x16, 0xed, 0x32, 0x0, 0x12, 0x6, 0x0, 0x38, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xae, 0xff, 0xe3, 0x4, 0x58, 0x6, 0xf4, 0x10, 0x27, 0x16, 0xed, 0xff, 0xc8, 0xfe, 0xc0, 0x12, 0x6, 0x0, 0x58, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x7, 0x7d, 0x12, 0x26, 0x0, 0x39, 0x0, 0x0, 0x10, 0x7, 0x2, 0x9e, 0x0, 0xed, 0x1, 0x46, 0xff, 0xff, 0x0, 0x3d, 0x0, 0x0, 0x4, 0x7f, 0x6, 0x37, 0x12, 0x26, 0x0, 0x59, 0x0, 0x0, 0x10, 0x6, 0x2, 0x9e, 0x6d, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0xfe, 0x89, 0x5, 0x68, 0x5, 0xd5, 0x10, 0x26, 0x0, 0x39, 0x0, 0x0, 0x10, 0x7, 0x2, 0xd4, 0x4, 0xbc, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3d, 0xfe, 0x89, 0x4, 0x7f, 0x4, 0x60, 0x10, 0x26, 0x0, 0x59, 0x0, 0x0, 0x10, 0x7, 0x2, 0xd4, 0x4, 0x5e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x44, 0x0, 0x0, 0x7, 0xa6, 0x7, 0x72, 0x10, 0x27, 0x16, 0xbc, 0x5, 0xf5, 0x1, 0x7c, 0x12, 0x6, 0x0, 0x3a, 0x0, 0x0, 0xff, 0xff, 0x0, 0x56, 0x0, 0x0, 0x6, 0x35, 0x6, 0x6b, 0x10, 0x27, 0x0, 0x43, 0x1, 0x9, 0x0, 0x5, 0x12, 0x6, 0x0, 0x5a, 0x0, 0x0, 0xff, 0xff, 0x0, 0x44, 0x0, 0x0, 0x7, 0xa6, 0x7, 0x72, 0x10, 0x27, 0x16, 0xba, 0x5, 0xf5, 0x1, 0x7c, 0x12, 0x6, 0x0, 0x3a, 0x0, 0x0, 0xff, 0xff, 0x0, 0x56, 0x0, 0x0, 0x6, 0x35, 0x6, 0x6d, 0x10, 0x27, 0x0, 0x76, 0x1, 0x86, 0x0, 0x7, 0x12, 0x6, 0x0, 0x5a, 0x0, 0x0, 0xff, 0xff, 0x0, 0x44, 0x0, 0x0, 0x7, 0xa6, 0x7, 0x4e, 0x10, 0x27, 0x0, 0x6a, 0x1, 0xf5, 0x1, 0x3e, 0x12, 0x6, 0x0, 0x3a, 0x0, 0x0, 0xff, 0xff, 0x0, 0x56, 0x0, 0x0, 0x6, 0x35, 0x6, 0x10, 0x10, 0x27, 0x0, 0x6a, 0x1, 0x45, 0x0, 0x0, 0x12, 0x6, 0x0, 0x5a, 0x0, 0x0, 0xff, 0xff, 0x0, 0x44, 0x0, 0x0, 0x7, 0xa6, 0x7, 0x4e, 0x10, 0x27, 0x16, 0xc1, 0x5, 0xf5, 0x1, 0x73, 0x12, 0x6, 0x0, 0x3a, 0x0, 0x0, 0xff, 0xff, 0x0, 0x56, 0x0, 0x0, 0x6, 0x35, 0x6, 0x14, 0x10, 0x27, 0x2, 0xb8, 0x5, 0x47, 0x0, 0x0, 0x12, 0x6, 0x0, 0x5a, 0x0, 0x0, 0xff, 0xff, 0x0, 0x44, 0xfe, 0x89, 0x7, 0xa6, 0x5, 0xd5, 0x12, 0x26, 0x0, 0x3a, 0x0, 0x0, 0x10, 0x7, 0x2, 0xd4, 0x5, 0xfb, 0x0, 0x0, 0xff, 0xff, 0x0, 0x56, 0xfe, 0x89, 0x6, 0x35, 0x4, 0x60, 0x12, 0x26, 0x0, 0x5a, 0x0, 0x0, 0x10, 0x7, 0x2, 0xd4, 0x5, 0x4a, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3d, 0x0, 0x0, 0x5, 0x3b, 0x7, 0x4f, 0x10, 0x27, 0x16, 0xc1, 0x4, 0xca, 0x1, 0x73, 0x12, 0x6, 0x0, 0x3b, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3b, 0x0, 0x0, 0x4, 0x79, 0x6, 0x14, 0x10, 0x27, 0x2, 0xb8, 0x4, 0x62, 0x0, 0x0, 0x12, 0x6, 0x0, 0x5b, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3d, 0x0, 0x0, 0x5, 0x3b, 0x7, 0x4e, 0x12, 0x26, 0x0, 0x3b, 0x0, 0x0, 0x10, 0x7, 0x0, 0x6a, 0x0, 0xca, 0x1, 0x3e, 0xff, 0xff, 0x0, 0x3b, 0x0, 0x0, 0x4, 0x79, 0x6, 0x10, 0x12, 0x26, 0x0, 0x5b, 0x0, 0x0, 0x10, 0x6, 0x0, 0x6a, 0x66, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x4, 0xe7, 0x7, 0x50, 0x10, 0x27, 0x16, 0xc1, 0x4, 0x72, 0x1, 0x75, 0x12, 0x6, 0x0, 0x3c, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3d, 0xfe, 0x56, 0x4, 0x7f, 0x6, 0x14, 0x10, 0x27, 0x2, 0xb8, 0x4, 0x60, 0x0, 0x0, 0x12, 0x6, 0x0, 0x5c, 0x0, 0x0, 0xff, 0xff, 0x0, 0x5c, 0x0, 0x0, 0x5, 0x1f, 0x7, 0x6d, 0x10, 0x27, 0x16, 0xbd, 0x4, 0xbe, 0x1, 0x75, 0x12, 0x6, 0x0, 0x3d, 0x0, 0x0, 0xff, 0xff, 0x0, 0x58, 0x0, 0x0, 0x3, 0xdb, 0x6, 0x66, 0x12, 0x26, 0x0, 0x5d, 0x0, 0x0, 0x10, 0x6, 0x2, 0x88, 0x1a, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x5c, 0xfe, 0x89, 0x5, 0x1f, 0x5, 0xd5, 0x12, 0x26, 0x0, 0x3d, 0x0, 0x0, 0x10, 0x7, 0x2, 0xd4, 0x4, 0xd9, 0x0, 0x0, 0xff, 0xff, 0x0, 0x58, 0xfe, 0x89, 0x3, 0xdb, 0x4, 0x60, 0x12, 0x26, 0x0, 0x5d, 0x0, 0x0, 0x10, 0x7, 0x2, 0xd4, 0x4, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0x5c, 0xfe, 0xc0, 0x5, 0x1f, 0x5, 0xd5, 0x12, 0x26, 0x0, 0x3d, 0x0, 0x0, 0x10, 0x7, 0x2, 0x8f, 0x0, 0xc7, 0x0, 0x0, 0xff, 0xff, 0x0, 0x58, 0xfe, 0xc0, 0x3, 0xdb, 0x4, 0x60, 0x12, 0x26, 0x0, 0x5d, 0x0, 0x0, 0x10, 0x6, 0x2, 0x8f, 0x1b, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0xc0, 0x4, 0x64, 0x6, 0x14, 0x12, 0x26, 0x0, 0x4b, 0x0, 0x0, 0x10, 0x6, 0x2, 0x8f, 0x66, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x4, 0x0, 0x0, 0x2, 0xf2, 0x7, 0x4e, 0x12, 0x26, 0x0, 0x57, 0x0, 0x0, 0x10, 0x7, 0x0, 0x6a, 0xff, 0x2d, 0x1, 0x3e, 0xff, 0xff, 0x0, 0x56, 0x0, 0x0, 0x6, 0x35, 0x7, 0x6, 0x12, 0x26, 0x0, 0x5a, 0x0, 0x0, 0x10, 0x7, 0x2, 0x9c, 0x1, 0x42, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3d, 0xfe, 0x56, 0x4, 0x7f, 0x7, 0x6, 0x12, 0x26, 0x0, 0x5c, 0x0, 0x0, 0x10, 0x7, 0x2, 0x9c, 0x0, 0x81, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x5, 0x61, 0x6, 0x14, 0x12, 0x26, 0x0, 0x44, 0x0, 0x0, 0x10, 0x7, 0x2, 0x80, 0x3, 0xda, 0x0, 0x0, 0xff, 0xff, 0x0, 0x2f, 0x0, 0x0, 0x2, 0xf8, 0x7, 0x89, 0x10, 0x27, 0x2, 0xb8, 0x3, 0xe0, 0x1, 0x75, 0x12, 0x6, 0x1, 0x41, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2, 0x0, 0x0, 0x2, 0xf8, 0x6, 0x14, 0x0, 0x18, 0x0, 0x0, 0x21, 0x23, 0x11, 0x7, 0x27, 0x37, 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x7, 0x6, 0x15, 0x11, 0x37, 0x17, 0x5, 0x1, 0x98, 0xb9, 0x93, 0x4a, 0xdd, 0xb0, 0xb0, 0xae, 0xbd, 0xae, 0xb0, 0x64, 0x26, 0x26, 0xd6, 0x4b, 0xfe, 0xdf, 0x2, 0x14, 0x68, 0x6a, 0x9d, 0x1, 0x1e, 0x8f, 0x4e, 0xbb, 0xab, 0x99, 0x28, 0x29, 0x67, 0xfe, 0x74, 0x98, 0x69, 0xcf, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2f, 0x0, 0x0, 0x2, 0xf8, 0x6, 0x14, 0x0, 0x17, 0x0, 0x0, 0x21, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x36, 0x37, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x7, 0x6, 0x7, 0x33, 0x15, 0x23, 0x1, 0x98, 0xb9, 0xb0, 0xb0, 0xb0, 0xb3, 0xd, 0x47, 0x57, 0xbd, 0xae, 0xb0, 0x64, 0x26, 0x1e, 0x6, 0xfd, 0xff, 0x3, 0x45, 0x8f, 0x8c, 0x8f, 0x89, 0x46, 0x56, 0x99, 0x28, 0x20, 0x44, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0xb4, 0x5, 0xf2, 0x0, 0x37, 0x0, 0x0, 0x1, 0x26, 0x23, 0x22, 0xe, 0x3, 0x15, 0x11, 0x23, 0x11, 0x34, 0x3e, 0x3, 0x33, 0x32, 0x4, 0x17, 0x22, 0x4, 0x15, 0x14, 0x1e, 0x5, 0x15, 0x14, 0x4, 0x23, 0x22, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x2e, 0x7, 0x35, 0x34, 0x36, 0x4, 0x3, 0x6d, 0xae, 0x40, 0x66, 0x5f, 0x40, 0x26, 0xcb, 0x39, 0x64, 0x90, 0xa6, 0x63, 0xd9, 0x1, 0x30, 0x37, 0xcf, 0xfe, 0xff, 0x43, 0x6a, 0x81, 0x81, 0x6a, 0x43, 0xfe, 0xf7, 0xd3, 0xb4, 0xc9, 0x6d, 0xb1, 0x6f, 0x62, 0x97, 0x29, 0x46, 0x5b, 0x64, 0x64, 0x5b, 0x46, 0x29, 0xdf, 0x4, 0xf4, 0x5a, 0x18, 0x40, 0x68, 0xa7, 0x6f, 0xfc, 0x88, 0x3, 0x91, 0x83, 0xcf, 0x8b, 0x5c, 0x28, 0xc5, 0xbd, 0x7d, 0x5f, 0x2d, 0x43, 0x2d, 0x2d, 0x3e, 0x54, 0x8c, 0x5c, 0xa4, 0xc9, 0x5f, 0xd0, 0x45, 0x46, 0x76, 0x58, 0x35, 0x50, 0x33, 0x29, 0x20, 0x24, 0x32, 0x42, 0x67, 0x43, 0x8f, 0xbb, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x5, 0xf0, 0x10, 0x6, 0x3, 0x48, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0xfe, 0x89, 0x5, 0x68, 0x5, 0xd5, 0x10, 0x27, 0x2, 0xd4, 0x4, 0xb7, 0x0, 0x0, 0x12, 0x6, 0x0, 0x24, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7b, 0xfe, 0x89, 0x4, 0x2d, 0x4, 0x7b, 0x10, 0x27, 0x2, 0xd4, 0x4, 0x21, 0x0, 0x0, 0x12, 0x6, 0x0, 0x44, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x7, 0xf0, 0x12, 0x26, 0x0, 0x24, 0x0, 0x0, 0x10, 0x7, 0x2, 0xba, 0x4, 0xbc, 0x1, 0x75, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0x2d, 0x6, 0x7b, 0x12, 0x26, 0x0, 0x44, 0x0, 0x0, 0x10, 0x7, 0x2, 0xba, 0x4, 0x54, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x8, 0x3a, 0x12, 0x26, 0x0, 0x24, 0x0, 0x0, 0x10, 0x6, 0x16, 0xf8, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0xaf, 0x6, 0xc5, 0x10, 0x27, 0x16, 0xf8, 0xff, 0x97, 0xfe, 0x8b, 0x10, 0x6, 0x0, 0x44, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x8, 0x3a, 0x12, 0x26, 0x0, 0x24, 0x0, 0x0, 0x10, 0x6, 0x16, 0xf9, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0x2d, 0x6, 0xc6, 0x10, 0x26, 0x0, 0x44, 0x0, 0x0, 0x10, 0x7, 0x16, 0xf9, 0xff, 0x94, 0xfe, 0x8c, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x8, 0x5b, 0x12, 0x26, 0x0, 0x24, 0x0, 0x0, 0x10, 0x6, 0x16, 0xff, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0x9d, 0x6, 0xe6, 0x10, 0x27, 0x16, 0xff, 0xff, 0x96, 0xfe, 0x8b, 0x10, 0x6, 0x0, 0x44, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x8, 0x75, 0x12, 0x26, 0x0, 0x24, 0x0, 0x0, 0x10, 0x6, 0x16, 0xfa, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0x2d, 0x7, 0x0, 0x10, 0x27, 0x16, 0xfa, 0xff, 0x96, 0xfe, 0x8b, 0x10, 0x6, 0x0, 0x44, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0xfe, 0x89, 0x5, 0x68, 0x7, 0x6d, 0x12, 0x26, 0x0, 0x84, 0x0, 0x0, 0x10, 0x7, 0x2, 0xd4, 0x4, 0xaf, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7b, 0xfe, 0x89, 0x4, 0x2d, 0x6, 0x66, 0x12, 0x26, 0x0, 0xa4, 0x0, 0x0, 0x10, 0x7, 0x2, 0xd4, 0x4, 0x22, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x8, 0x5a, 0x12, 0x26, 0x0, 0x24, 0x0, 0x0, 0x10, 0x6, 0x16, 0xfc, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0x2d, 0x7, 0x4, 0x10, 0x27, 0x16, 0xfc, 0xff, 0x91, 0xfe, 0xaa, 0x10, 0x6, 0x0, 0x44, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x8, 0x5a, 0x12, 0x26, 0x0, 0x24, 0x0, 0x0, 0x10, 0x6, 0x16, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0x2d, 0x7, 0x4, 0x10, 0x27, 0x16, 0xfd, 0xff, 0x92, 0xfe, 0xaa, 0x10, 0x6, 0x0, 0x44, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x8, 0x8b, 0x12, 0x26, 0x0, 0x24, 0x0, 0x0, 0x10, 0x6, 0x16, 0xfe, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0x2d, 0x7, 0x35, 0x10, 0x27, 0x16, 0xfe, 0xff, 0x94, 0xfe, 0xaa, 0x10, 0x6, 0x0, 0x44, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x8, 0x59, 0x12, 0x26, 0x0, 0x24, 0x0, 0x0, 0x10, 0x6, 0x16, 0xfb, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0x2d, 0x7, 0x3, 0x10, 0x26, 0x0, 0x44, 0x0, 0x0, 0x10, 0x7, 0x16, 0xfb, 0xff, 0x92, 0xfe, 0xaa, 0xff, 0xff, 0x0, 0x10, 0xfe, 0x89, 0x5, 0x68, 0x7, 0x92, 0x12, 0x26, 0x0, 0xc4, 0x0, 0x0, 0x10, 0x7, 0x2, 0xd4, 0x4, 0xc0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7b, 0xfe, 0x89, 0x4, 0x2d, 0x6, 0x1f, 0x12, 0x26, 0x0, 0xc5, 0x0, 0x0, 0x10, 0x7, 0x2, 0xd4, 0x4, 0x33, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x89, 0x4, 0x8b, 0x5, 0xd5, 0x10, 0x26, 0x0, 0x28, 0x0, 0x0, 0x10, 0x7, 0x2, 0xd4, 0x4, 0x9e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x89, 0x4, 0x7f, 0x4, 0x7b, 0x10, 0x26, 0x0, 0x48, 0x0, 0x0, 0x10, 0x7, 0x2, 0xd4, 0x4, 0x8b, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x7, 0xf0, 0x12, 0x26, 0x0, 0x28, 0x0, 0x0, 0x10, 0x7, 0x2, 0xba, 0x4, 0x9e, 0x1, 0x75, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x7f, 0x6, 0x7b, 0x12, 0x26, 0x0, 0x48, 0x0, 0x0, 0x10, 0x7, 0x2, 0xba, 0x4, 0x8d, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x7, 0x5e, 0x10, 0x27, 0x16, 0xbb, 0x4, 0x9e, 0x1, 0x75, 0x12, 0x6, 0x0, 0x28, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x7f, 0x6, 0x37, 0x10, 0x27, 0x2, 0x9e, 0x0, 0x97, 0x0, 0x0, 0x12, 0x6, 0x0, 0x48, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x18, 0x8, 0x3a, 0x12, 0x26, 0x0, 0x28, 0x0, 0x0, 0x10, 0x6, 0x16, 0xf8, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0xe8, 0x6, 0xc5, 0x10, 0x27, 0x16, 0xf8, 0xff, 0xd0, 0xfe, 0x8b, 0x10, 0x6, 0x0, 0x48, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x8, 0x3a, 0x12, 0x26, 0x0, 0x28, 0x0, 0x0, 0x10, 0x6, 0x16, 0xf9, 0xee, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x7f, 0x6, 0xc6, 0x10, 0x27, 0x16, 0xf9, 0xff, 0xd0, 0xfe, 0x8c, 0x10, 0x6, 0x0, 0x48, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0xf5, 0x8, 0x5b, 0x12, 0x26, 0x0, 0x28, 0x0, 0x0, 0x10, 0x6, 0x16, 0xff, 0xee, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0xd7, 0x6, 0xe6, 0x10, 0x26, 0x0, 0x48, 0x0, 0x0, 0x10, 0x7, 0x16, 0xff, 0xff, 0xd0, 0xfe, 0x8b, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x8, 0x75, 0x12, 0x26, 0x0, 0x28, 0x0, 0x0, 0x10, 0x6, 0x16, 0xfa, 0xea, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x7f, 0x7, 0x0, 0x10, 0x27, 0x16, 0xfa, 0xff, 0xd1, 0xfe, 0x8b, 0x10, 0x6, 0x0, 0x48, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x89, 0x4, 0x8b, 0x7, 0x6d, 0x12, 0x26, 0x0, 0x8c, 0x0, 0x0, 0x10, 0x7, 0x2, 0xd4, 0x4, 0x9e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x89, 0x4, 0x7f, 0x6, 0x66, 0x10, 0x27, 0x2, 0xd4, 0x4, 0x8b, 0x0, 0x0, 0x10, 0x26, 0x9, 0xb2, 0x0, 0x0, 0x10, 0x7, 0x2, 0x88, 0x0, 0x8b, 0x0, 0x0, 0xff, 0xff, 0x0, 0x5a, 0x0, 0x0, 0x2, 0x1a, 0x7, 0xf0, 0x12, 0x26, 0x0, 0x2c, 0x0, 0x0, 0x10, 0x7, 0x2, 0xba, 0x3, 0x23, 0x1, 0x75, 0xff, 0xff, 0x0, 0x44, 0x0, 0x0, 0x2, 0x4, 0x6, 0x7c, 0x12, 0x26, 0x0, 0xf3, 0x0, 0x0, 0x10, 0x7, 0x2, 0xba, 0x3, 0xd, 0x0, 0x1, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x89, 0x1, 0x93, 0x5, 0xd5, 0x10, 0x26, 0x0, 0x2c, 0x0, 0x0, 0x10, 0x7, 0x2, 0xd4, 0x3, 0x2e, 0x0, 0x0, 0xff, 0xff, 0x0, 0xbf, 0xfe, 0x89, 0x1, 0x79, 0x6, 0x14, 0x10, 0x26, 0x0, 0x4c, 0x0, 0x0, 0x10, 0x7, 0x2, 0xd4, 0x3, 0x1d, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xfe, 0x89, 0x5, 0xd9, 0x5, 0xf0, 0x10, 0x26, 0x0, 0x32, 0x0, 0x0, 0x10, 0x7, 0x2, 0xd4, 0x5, 0x27, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x89, 0x4, 0x75, 0x4, 0x7b, 0x10, 0x26, 0x0, 0x52, 0x0, 0x0, 0x10, 0x7, 0x2, 0xd4, 0x4, 0x73, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x7, 0xf0, 0x12, 0x26, 0x0, 0x32, 0x0, 0x0, 0x10, 0x7, 0x2, 0xba, 0x5, 0x27, 0x1, 0x75, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x6, 0x7b, 0x12, 0x26, 0x0, 0x52, 0x0, 0x0, 0x10, 0x7, 0x2, 0xba, 0x4, 0x7d, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x8, 0x3a, 0x12, 0x26, 0x0, 0x32, 0x0, 0x0, 0x10, 0x6, 0x16, 0xf8, 0x6c, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0xce, 0x6, 0xc5, 0x10, 0x27, 0x16, 0xf8, 0xff, 0xb6, 0xfe, 0x8b, 0x10, 0x6, 0x0, 0x52, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x8, 0x3a, 0x12, 0x26, 0x0, 0x32, 0x0, 0x0, 0x10, 0x6, 0x16, 0xf9, 0x6a, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x6, 0xc6, 0x10, 0x27, 0x16, 0xf9, 0xff, 0xb5, 0xfe, 0x8c, 0x10, 0x6, 0x0, 0x52, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x8, 0x5b, 0x12, 0x26, 0x0, 0x32, 0x0, 0x0, 0x10, 0x6, 0x16, 0xff, 0x6a, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0xbd, 0x6, 0xe6, 0x10, 0x27, 0x16, 0xff, 0xff, 0xb6, 0xfe, 0x8b, 0x10, 0x6, 0x0, 0x52, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x8, 0x75, 0x12, 0x26, 0x0, 0x32, 0x0, 0x0, 0x10, 0x6, 0x16, 0xfa, 0x65, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x7, 0x0, 0x10, 0x27, 0x16, 0xfa, 0xff, 0xb6, 0xfe, 0x8b, 0x10, 0x6, 0x0, 0x52, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xfe, 0x89, 0x5, 0xd9, 0x7, 0x6d, 0x12, 0x26, 0x0, 0x96, 0x0, 0x0, 0x10, 0x7, 0x2, 0xd4, 0x5, 0x27, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x89, 0x4, 0x75, 0x6, 0x66, 0x10, 0x27, 0x2, 0xd4, 0x4, 0x73, 0x0, 0x0, 0x10, 0x26, 0x9, 0xc6, 0x0, 0x0, 0x10, 0x6, 0x2, 0x88, 0x73, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x67, 0xff, 0xe3, 0x6, 0x1d, 0x7, 0x6b, 0x10, 0x27, 0x16, 0xba, 0x5, 0x27, 0x1, 0x75, 0x12, 0x6, 0x1, 0x62, 0x0, 0x0, 0xff, 0xff, 0x0, 0x76, 0xff, 0xe3, 0x4, 0xd3, 0x6, 0x66, 0x10, 0x26, 0x0, 0x76, 0x73, 0x0, 0x12, 0x6, 0x1, 0x63, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x67, 0xff, 0xe3, 0x6, 0x1d, 0x7, 0x6b, 0x10, 0x27, 0x16, 0xbc, 0x5, 0x27, 0x1, 0x75, 0x12, 0x6, 0x1, 0x62, 0x0, 0x0, 0xff, 0xff, 0x0, 0x76, 0xff, 0xe3, 0x4, 0xd3, 0x6, 0x66, 0x10, 0x26, 0x0, 0x43, 0x73, 0x0, 0x12, 0x6, 0x1, 0x63, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x67, 0xff, 0xe3, 0x6, 0x1d, 0x7, 0xf0, 0x12, 0x26, 0x1, 0x62, 0x0, 0x0, 0x10, 0x7, 0x2, 0xba, 0x5, 0x27, 0x1, 0x75, 0xff, 0xff, 0x0, 0x76, 0xff, 0xe3, 0x4, 0xd3, 0x6, 0x7b, 0x12, 0x26, 0x1, 0x63, 0x0, 0x0, 0x10, 0x7, 0x2, 0xba, 0x4, 0x7d, 0x0, 0x0, 0xff, 0xff, 0x0, 0x67, 0xff, 0xe3, 0x6, 0x1d, 0x7, 0x5e, 0x10, 0x27, 0x16, 0xbb, 0x5, 0x27, 0x1, 0x75, 0x12, 0x6, 0x1, 0x62, 0x0, 0x0, 0xff, 0xff, 0x0, 0x76, 0xff, 0xe3, 0x4, 0xd3, 0x6, 0x37, 0x10, 0x26, 0x2, 0x9e, 0x73, 0x0, 0x12, 0x6, 0x1, 0x63, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x67, 0xfe, 0x89, 0x6, 0x1d, 0x6, 0x14, 0x12, 0x26, 0x1, 0x62, 0x0, 0x0, 0x10, 0x7, 0x2, 0xd4, 0x5, 0x27, 0x0, 0x0, 0xff, 0xff, 0x0, 0x76, 0xfe, 0x89, 0x4, 0xd3, 0x4, 0xeb, 0x12, 0x26, 0x1, 0x63, 0x0, 0x0, 0x10, 0x7, 0x2, 0xd4, 0x4, 0x73, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb2, 0xfe, 0x89, 0x5, 0x29, 0x5, 0xd5, 0x10, 0x26, 0x0, 0x38, 0x0, 0x0, 0x10, 0x7, 0x2, 0xd4, 0x4, 0xf5, 0x0, 0x0, 0xff, 0xff, 0x0, 0xae, 0xfe, 0x89, 0x4, 0x58, 0x4, 0x7b, 0x10, 0x26, 0x0, 0x58, 0x0, 0x0, 0x10, 0x7, 0x2, 0xd4, 0x4, 0x7b, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x7, 0xf0, 0x12, 0x26, 0x0, 0x38, 0x0, 0x0, 0x10, 0x7, 0x2, 0xba, 0x4, 0xee, 0x1, 0x75, 0xff, 0xff, 0x0, 0xae, 0xff, 0xe3, 0x4, 0x58, 0x6, 0x7b, 0x12, 0x26, 0x0, 0x58, 0x0, 0x0, 0x10, 0x7, 0x2, 0xba, 0x4, 0x7d, 0x0, 0x0, 0xff, 0xff, 0x0, 0xad, 0xff, 0xf7, 0x6, 0x5f, 0x7, 0x6b, 0x10, 0x27, 0x16, 0xba, 0x4, 0xee, 0x1, 0x75, 0x12, 0x6, 0x1, 0x71, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb0, 0xff, 0xe3, 0x5, 0x69, 0x6, 0x66, 0x10, 0x26, 0x0, 0x76, 0x7b, 0x0, 0x12, 0x6, 0x1, 0x72, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xad, 0xff, 0xf7, 0x6, 0x5f, 0x7, 0x6b, 0x10, 0x27, 0x16, 0xbc, 0x4, 0xee, 0x1, 0x75, 0x12, 0x6, 0x1, 0x71, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb0, 0xff, 0xe3, 0x5, 0x69, 0x6, 0x66, 0x10, 0x26, 0x0, 0x43, 0x7b, 0x0, 0x12, 0x6, 0x1, 0x72, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xad, 0xff, 0xf7, 0x6, 0x5f, 0x7, 0xf0, 0x12, 0x26, 0x1, 0x71, 0x0, 0x0, 0x10, 0x7, 0x2, 0xba, 0x4, 0xee, 0x1, 0x75, 0xff, 0xff, 0x0, 0xb0, 0xff, 0xe3, 0x5, 0x69, 0x6, 0x7b, 0x12, 0x26, 0x1, 0x72, 0x0, 0x0, 0x10, 0x7, 0x2, 0xba, 0x4, 0x7d, 0x0, 0x0, 0xff, 0xff, 0x0, 0xad, 0xff, 0xf7, 0x6, 0x5f, 0x7, 0x5e, 0x10, 0x27, 0x16, 0xbb, 0x4, 0xee, 0x1, 0x75, 0x12, 0x6, 0x1, 0x71, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb0, 0xff, 0xe3, 0x5, 0x69, 0x6, 0x37, 0x10, 0x27, 0x2, 0x9e, 0x0, 0x80, 0x0, 0x0, 0x12, 0x6, 0x1, 0x72, 0x0, 0x0, 0xff, 0xff, 0x0, 0xad, 0xfe, 0x89, 0x6, 0x5f, 0x6, 0x14, 0x12, 0x26, 0x1, 0x71, 0x0, 0x0, 0x10, 0x7, 0x2, 0xd4, 0x4, 0xf5, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb0, 0xfe, 0x89, 0x5, 0x69, 0x4, 0xeb, 0x12, 0x26, 0x1, 0x72, 0x0, 0x0, 0x10, 0x7, 0x2, 0xd4, 0x4, 0x7b, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x4, 0xe7, 0x7, 0x72, 0x12, 0x26, 0x0, 0x3c, 0x0, 0x0, 0x10, 0x7, 0x16, 0xbc, 0x4, 0x72, 0x1, 0x7c, 0xff, 0xff, 0x0, 0x3d, 0xfe, 0x56, 0x4, 0x7f, 0x6, 0x6b, 0x12, 0x26, 0x0, 0x5c, 0x0, 0x0, 0x10, 0x6, 0x0, 0x43, 0x21, 0x5, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfc, 0xfe, 0x89, 0x4, 0xe7, 0x5, 0xd5, 0x10, 0x27, 0x2, 0xd4, 0x4, 0x76, 0x0, 0x0, 0x12, 0x6, 0x0, 0x3c, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3d, 0xfe, 0x56, 0x4, 0x7f, 0x4, 0x60, 0x10, 0x27, 0x2, 0xd4, 0x5, 0x74, 0x0, 0x0, 0x12, 0x6, 0x0, 0x5c, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x4, 0xe7, 0x7, 0xf7, 0x12, 0x26, 0x0, 0x3c, 0x0, 0x0, 0x10, 0x7, 0x2, 0xba, 0x4, 0x72, 0x1, 0x7c, 0xff, 0xff, 0x0, 0x3d, 0xfe, 0x56, 0x4, 0x7f, 0x6, 0x82, 0x12, 0x26, 0x0, 0x5c, 0x0, 0x0, 0x10, 0x7, 0x2, 0xba, 0x4, 0x60, 0x0, 0x7, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x4, 0xe7, 0x7, 0x5e, 0x10, 0x27, 0x16, 0xbb, 0x4, 0x72, 0x1, 0x75, 0x12, 0x6, 0x0, 0x3c, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3d, 0xfe, 0x56, 0x4, 0x7f, 0x6, 0x37, 0x10, 0x26, 0x2, 0x9e, 0x77, 0x0, 0x12, 0x6, 0x0, 0x5c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x1c, 0x5, 0xd5, 0x0, 0x9, 0x0, 0x0, 0x13, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0xc9, 0xca, 0xe8, 0xca, 0x2, 0xd7, 0xfa, 0xad, 0x5, 0xd5, 0xfa, 0xd5, 0x5, 0x2b, 0xfa, 0xd5, 0xaa, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x20, 0x0, 0x0, 0x3, 0xb2, 0x6, 0x14, 0x0, 0x13, 0x0, 0x0, 0x13, 0x33, 0x15, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0xc1, 0xb8, 0xe0, 0xb8, 0xa1, 0xa1, 0xb8, 0xe0, 0xb8, 0xa1, 0xa1, 0x6, 0x14, 0x93, 0x93, 0x93, 0x7d, 0xfa, 0xfc, 0x5, 0x4, 0xfa, 0xfc, 0x5, 0x4, 0x7d, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe7, 0x4, 0xe4, 0x6, 0x61, 0x10, 0x26, 0x3, 0x45, 0x0, 0x0, 0x10, 0x6, 0xa, 0xa5, 0x70, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe7, 0x4, 0xe4, 0x6, 0x61, 0x10, 0x26, 0x3, 0x45, 0x0, 0x0, 0x10, 0x6, 0xa, 0xdd, 0x48, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe7, 0x4, 0xe4, 0x6, 0x66, 0x10, 0x26, 0x3, 0x45, 0x0, 0x0, 0x10, 0x7, 0xa, 0xb2, 0x0, 0x94, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe7, 0x4, 0xe4, 0x6, 0x66, 0x10, 0x26, 0x3, 0x45, 0x0, 0x0, 0x10, 0x7, 0xa, 0xbf, 0x0, 0x84, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe7, 0x4, 0xe4, 0x6, 0x66, 0x10, 0x26, 0x3, 0x45, 0x0, 0x0, 0x10, 0x7, 0xa, 0xb3, 0x0, 0x84, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe7, 0x4, 0xe4, 0x6, 0x66, 0x10, 0x26, 0x3, 0x45, 0x0, 0x0, 0x10, 0x7, 0xa, 0xc0, 0x0, 0xa0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe7, 0x4, 0xe4, 0x7, 0x6d, 0x10, 0x26, 0x3, 0x45, 0x0, 0x0, 0x10, 0x6, 0xa, 0xb4, 0x76, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe7, 0x4, 0xe4, 0x7, 0x6d, 0x10, 0x26, 0x3, 0x45, 0x0, 0x0, 0x10, 0x6, 0xa, 0xc1, 0x44, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x6, 0x61, 0x10, 0x26, 0x3, 0x26, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa5, 0xff, 0x23, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x6, 0x61, 0x10, 0x26, 0x3, 0x26, 0x0, 0x0, 0x10, 0x7, 0xa, 0xdd, 0xfe, 0xf3, 0x0, 0x0, 0xff, 0xff, 0x0, 0x5, 0x0, 0x0, 0x6, 0xf4, 0x6, 0x66, 0x10, 0x27, 0x3, 0x26, 0x1, 0x8c, 0x0, 0x0, 0x10, 0x7, 0xa, 0xb2, 0xff, 0x7c, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6, 0x0, 0x0, 0x6, 0xf4, 0x6, 0x66, 0x10, 0x27, 0x3, 0x26, 0x1, 0x8c, 0x0, 0x0, 0x10, 0x6, 0xa, 0xbf, 0x88, 0x0, 0xff, 0xff, 0x0, 0x7, 0x0, 0x0, 0x6, 0x16, 0x6, 0x66, 0x10, 0x27, 0x3, 0x26, 0x0, 0xae, 0x0, 0x0, 0x10, 0x7, 0xa, 0xb3, 0xff, 0x53, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x4, 0x0, 0x0, 0x6, 0x58, 0x6, 0x66, 0x10, 0x27, 0x3, 0x26, 0x0, 0xf0, 0x0, 0x0, 0x10, 0x7, 0xa, 0xc0, 0xff, 0x6f, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7, 0x0, 0x0, 0x5, 0x99, 0x7, 0x6d, 0x10, 0x26, 0x3, 0x26, 0x31, 0x0, 0x10, 0x7, 0xa, 0xb4, 0xff, 0x51, 0x0, 0x0, 0xff, 0xff, 0x0, 0x4, 0x0, 0x0, 0x5, 0xe0, 0x7, 0x6d, 0x10, 0x26, 0x3, 0x26, 0x78, 0x0, 0x10, 0x7, 0xa, 0xc1, 0xff, 0x4e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x85, 0xff, 0xe3, 0x3, 0xc8, 0x6, 0x61, 0x10, 0x26, 0x3, 0x49, 0x0, 0x0, 0x10, 0x6, 0xa, 0xa5, 0x44, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x85, 0xff, 0xe3, 0x3, 0xc8, 0x6, 0x61, 0x10, 0x26, 0x3, 0x49, 0x0, 0x0, 0x10, 0x6, 0xa, 0xdd, 0x39, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x85, 0xff, 0xe3, 0x3, 0xc8, 0x6, 0x66, 0x10, 0x26, 0x3, 0x49, 0x0, 0x0, 0x10, 0x6, 0xa, 0xb2, 0x20, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x85, 0xff, 0xe3, 0x3, 0xc8, 0x6, 0x66, 0x10, 0x26, 0x3, 0x49, 0x0, 0x0, 0x10, 0x6, 0xa, 0xbf, 0x25, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x85, 0xff, 0xe3, 0x3, 0xe3, 0x6, 0x66, 0x10, 0x26, 0x3, 0x49, 0x0, 0x0, 0x10, 0x6, 0xa, 0xb3, 0x4f, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x85, 0xff, 0xe3, 0x4, 0x3, 0x6, 0x66, 0x10, 0x26, 0x3, 0x49, 0x0, 0x0, 0x10, 0x6, 0xa, 0xc0, 0x52, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7, 0x0, 0x0, 0x5, 0x2d, 0x6, 0x61, 0x10, 0x27, 0x3, 0x2a, 0x0, 0xa2, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa5, 0xfe, 0x81, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7, 0x0, 0x0, 0x5, 0x2d, 0x6, 0x61, 0x10, 0x27, 0x3, 0x2a, 0x0, 0xa2, 0x0, 0x0, 0x10, 0x7, 0xa, 0xdd, 0xfe, 0x81, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x5, 0x0, 0x0, 0x7, 0x37, 0x6, 0x66, 0x10, 0x27, 0x3, 0x2a, 0x2, 0xac, 0x0, 0x0, 0x10, 0x7, 0xa, 0xb2, 0xff, 0x7c, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6, 0x0, 0x0, 0x7, 0x49, 0x6, 0x66, 0x10, 0x27, 0x3, 0x2a, 0x2, 0xbe, 0x0, 0x0, 0x10, 0x6, 0xa, 0xbf, 0x88, 0x0, 0xff, 0xff, 0x0, 0x7, 0x0, 0x0, 0x6, 0xad, 0x6, 0x66, 0x10, 0x27, 0x3, 0x2a, 0x2, 0x22, 0x0, 0x0, 0x10, 0x7, 0xa, 0xb3, 0xff, 0x53, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x4, 0x0, 0x0, 0x6, 0xe9, 0x6, 0x66, 0x10, 0x27, 0x3, 0x2a, 0x2, 0x5e, 0x0, 0x0, 0x10, 0x7, 0xa, 0xc0, 0xff, 0x6f, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x6, 0x61, 0x10, 0x26, 0x3, 0x4b, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa5, 0x0, 0xa6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x6, 0x61, 0x10, 0x26, 0x3, 0x4b, 0x0, 0x0, 0x10, 0x7, 0xa, 0xdd, 0x0, 0xa2, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x6, 0x66, 0x10, 0x26, 0x3, 0x4b, 0x0, 0x0, 0x10, 0x7, 0xa, 0xb2, 0x0, 0x80, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x6, 0x66, 0x10, 0x26, 0x3, 0x4b, 0x0, 0x0, 0x10, 0x6, 0xa, 0xbf, 0x70, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x6, 0x66, 0x10, 0x26, 0x3, 0x4b, 0x0, 0x0, 0x10, 0x7, 0xa, 0xb3, 0x0, 0x84, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x6, 0x66, 0x10, 0x26, 0x3, 0x4b, 0x0, 0x0, 0x10, 0x7, 0xa, 0xc0, 0x0, 0xae, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x7, 0x6d, 0x10, 0x26, 0x3, 0x4b, 0x0, 0x0, 0x10, 0x7, 0xa, 0xb4, 0x0, 0x9c, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x7, 0x6d, 0x10, 0x26, 0x3, 0x4b, 0x0, 0x0, 0x10, 0x7, 0xa, 0xc1, 0x0, 0x87, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7, 0x0, 0x0, 0x5, 0xe9, 0x6, 0x61, 0x10, 0x27, 0x3, 0x2c, 0x0, 0xae, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa5, 0xfe, 0x81, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7, 0x0, 0x0, 0x5, 0xe6, 0x6, 0x61, 0x10, 0x27, 0x3, 0x2c, 0x0, 0xab, 0x0, 0x0, 0x10, 0x7, 0xa, 0xdd, 0xfe, 0x81, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x5, 0x0, 0x0, 0x7, 0xe7, 0x6, 0x66, 0x10, 0x27, 0x3, 0x2c, 0x2, 0xac, 0x0, 0x0, 0x10, 0x7, 0xa, 0xb2, 0xff, 0x7c, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6, 0x0, 0x0, 0x7, 0xed, 0x6, 0x66, 0x10, 0x27, 0x3, 0x2c, 0x2, 0xb2, 0x0, 0x0, 0x10, 0x6, 0xa, 0xbf, 0x88, 0x0, 0xff, 0xff, 0x0, 0x7, 0x0, 0x0, 0x7, 0x6e, 0x6, 0x66, 0x10, 0x27, 0x3, 0x2c, 0x2, 0x33, 0x0, 0x0, 0x10, 0x7, 0xa, 0xb3, 0xff, 0x53, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x4, 0x0, 0x0, 0x7, 0x9f, 0x6, 0x66, 0x10, 0x27, 0x3, 0x2c, 0x2, 0x64, 0x0, 0x0, 0x10, 0x7, 0xa, 0xc0, 0xff, 0x6f, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7, 0x0, 0x0, 0x6, 0xaf, 0x7, 0x6d, 0x10, 0x27, 0x3, 0x2c, 0x1, 0x74, 0x0, 0x0, 0x10, 0x7, 0xa, 0xb4, 0xff, 0x51, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x4, 0x0, 0x0, 0x6, 0xca, 0x7, 0x6d, 0x10, 0x27, 0x3, 0x2c, 0x1, 0x8f, 0x0, 0x0, 0x10, 0x7, 0xa, 0xc1, 0xff, 0x4e, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x9b, 0x0, 0x0, 0x2, 0x6e, 0x6, 0x61, 0x10, 0x26, 0x3, 0x4d, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa5, 0xff, 0x15, 0x0, 0x0, 0xff, 0xff, 0x0, 0x91, 0x0, 0x0, 0x2, 0x6e, 0x6, 0x61, 0x10, 0x26, 0x3, 0x4d, 0x0, 0x0, 0x10, 0x7, 0xa, 0xdd, 0xff, 0xb, 0x0, 0x0, 0xff, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x2, 0xb9, 0x6, 0x66, 0x10, 0x26, 0x3, 0x4d, 0x0, 0x0, 0x10, 0x7, 0xa, 0xb2, 0xff, 0x27, 0x0, 0x0, 0xff, 0xff, 0xff, 0xba, 0x0, 0x0, 0x2, 0xc7, 0x6, 0x66, 0x10, 0x26, 0x3, 0x4d, 0x0, 0x0, 0x10, 0x7, 0xa, 0xbf, 0xff, 0x3c, 0x0, 0x0, 0xff, 0xff, 0x0, 0x5, 0x0, 0x0, 0x2, 0xe5, 0x6, 0x66, 0x10, 0x26, 0x3, 0x4d, 0x0, 0x0, 0x10, 0x7, 0xa, 0xb3, 0xff, 0x51, 0x0, 0x0, 0xff, 0xff, 0xff, 0xd2, 0x0, 0x0, 0x2, 0xee, 0x6, 0x66, 0x10, 0x26, 0x3, 0x4d, 0x0, 0x0, 0x10, 0x7, 0xa, 0xc0, 0xff, 0x3d, 0x0, 0x0, 0xff, 0xff, 0xff, 0xcb, 0x0, 0x0, 0x2, 0x6e, 0x7, 0x6d, 0x10, 0x26, 0x3, 0x4d, 0x0, 0x0, 0x10, 0x7, 0xa, 0xb4, 0xff, 0x15, 0x0, 0x0, 0xff, 0xff, 0xff, 0xc6, 0x0, 0x0, 0x2, 0x6e, 0x7, 0x6d, 0x10, 0x26, 0x3, 0x4d, 0x0, 0x0, 0x10, 0x7, 0xa, 0xc1, 0xff, 0x10, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7, 0x0, 0x0, 0x2, 0x41, 0x6, 0x61, 0x10, 0x27, 0x3, 0x2e, 0x0, 0xae, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa5, 0xfe, 0x81, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7, 0x0, 0x0, 0x2, 0x35, 0x6, 0x61, 0x10, 0x27, 0x3, 0x2e, 0x0, 0xa2, 0x0, 0x0, 0x10, 0x7, 0xa, 0xdd, 0xfe, 0x81, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x5, 0x0, 0x0, 0x4, 0x4b, 0x6, 0x66, 0x10, 0x27, 0x3, 0x2e, 0x2, 0xb8, 0x0, 0x0, 0x10, 0x7, 0xa, 0xb2, 0xff, 0x7c, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6, 0x0, 0x0, 0x4, 0x4b, 0x6, 0x66, 0x10, 0x27, 0x3, 0x2e, 0x2, 0xb8, 0x0, 0x0, 0x10, 0x6, 0xa, 0xbf, 0x88, 0x0, 0xff, 0xff, 0x0, 0x7, 0x0, 0x0, 0x3, 0xc7, 0x6, 0x66, 0x10, 0x27, 0x3, 0x2e, 0x2, 0x34, 0x0, 0x0, 0x10, 0x7, 0xa, 0xb3, 0xff, 0x53, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x4, 0x0, 0x0, 0x4, 0x3, 0x6, 0x66, 0x10, 0x27, 0x3, 0x2e, 0x2, 0x70, 0x0, 0x0, 0x10, 0x7, 0xa, 0xc0, 0xff, 0x6f, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7, 0x0, 0x0, 0x3, 0x22, 0x7, 0x6d, 0x10, 0x27, 0x3, 0x2e, 0x1, 0x8f, 0x0, 0x0, 0x10, 0x7, 0xa, 0xb4, 0xff, 0x51, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x4, 0x0, 0x0, 0x3, 0x29, 0x7, 0x6d, 0x10, 0x27, 0x3, 0x2e, 0x1, 0x96, 0x0, 0x0, 0x10, 0x7, 0xa, 0xc1, 0xff, 0x4e, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x6, 0x61, 0x10, 0x26, 0x3, 0x53, 0x0, 0x0, 0x10, 0x6, 0xa, 0xa5, 0x78, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x6, 0x61, 0x10, 0x26, 0x3, 0x53, 0x0, 0x0, 0x10, 0x6, 0xa, 0xdd, 0x6e, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x6, 0x66, 0x10, 0x26, 0x3, 0x53, 0x0, 0x0, 0x10, 0x6, 0xa, 0xb2, 0x65, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x6, 0x66, 0x10, 0x26, 0x3, 0x53, 0x0, 0x0, 0x10, 0x6, 0xa, 0xbf, 0x54, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x6, 0x66, 0x10, 0x26, 0x3, 0x53, 0x0, 0x0, 0x10, 0x7, 0xa, 0xb3, 0x0, 0x88, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x6, 0x66, 0x10, 0x26, 0x3, 0x53, 0x0, 0x0, 0x10, 0x7, 0xa, 0xc0, 0x0, 0x91, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7, 0xff, 0xe3, 0x5, 0xfc, 0x6, 0x61, 0x10, 0x26, 0x3, 0x34, 0x23, 0x0, 0x10, 0x7, 0xa, 0xa5, 0xfe, 0x81, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7, 0xff, 0xe3, 0x6, 0x56, 0x6, 0x61, 0x10, 0x26, 0x3, 0x34, 0x7d, 0x0, 0x10, 0x7, 0xa, 0xdd, 0xfe, 0x81, 0x0, 0x0, 0xff, 0xff, 0x0, 0x5, 0xff, 0xe3, 0x8, 0x4f, 0x6, 0x66, 0x10, 0x27, 0x3, 0x34, 0x2, 0x76, 0x0, 0x0, 0x10, 0x7, 0xa, 0xb2, 0xff, 0x7c, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6, 0xff, 0xe3, 0x8, 0x59, 0x6, 0x66, 0x10, 0x27, 0x3, 0x34, 0x2, 0x80, 0x0, 0x0, 0x10, 0x6, 0xa, 0xbf, 0x88, 0x0, 0xff, 0xff, 0x0, 0x7, 0xff, 0xe3, 0x7, 0xf, 0x6, 0x66, 0x10, 0x27, 0x3, 0x34, 0x1, 0x36, 0x0, 0x0, 0x10, 0x7, 0xa, 0xb3, 0xff, 0x53, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x4, 0xff, 0xe3, 0x7, 0x50, 0x6, 0x66, 0x10, 0x27, 0x3, 0x34, 0x1, 0x77, 0x0, 0x0, 0x10, 0x7, 0xa, 0xc0, 0xff, 0x6f, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x95, 0xff, 0xe3, 0x4, 0x2a, 0x6, 0x61, 0x10, 0x26, 0x3, 0x59, 0x0, 0x0, 0x10, 0x6, 0xa, 0xa5, 0x3d, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x95, 0xff, 0xe3, 0x4, 0x2a, 0x6, 0x61, 0x10, 0x26, 0x3, 0x59, 0x0, 0x0, 0x10, 0x6, 0xa, 0xdd, 0x1b, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x95, 0xff, 0xe3, 0x4, 0x2a, 0x6, 0x66, 0x10, 0x26, 0x3, 0x59, 0x0, 0x0, 0x10, 0x6, 0xa, 0xb2, 0x27, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x95, 0xff, 0xe3, 0x4, 0x2a, 0x6, 0x66, 0x10, 0x26, 0x3, 0x59, 0x0, 0x0, 0x10, 0x6, 0xa, 0xbf, 0x21, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x95, 0xff, 0xe3, 0x4, 0x2a, 0x6, 0x66, 0x10, 0x26, 0x3, 0x59, 0x0, 0x0, 0x10, 0x6, 0xa, 0xb3, 0x60, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x95, 0xff, 0xe3, 0x4, 0x2a, 0x6, 0x66, 0x10, 0x26, 0x3, 0x59, 0x0, 0x0, 0x10, 0x6, 0xa, 0xc0, 0x57, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x95, 0xff, 0xe3, 0x4, 0x2a, 0x7, 0x6d, 0x10, 0x26, 0x3, 0x59, 0x0, 0x0, 0x10, 0x6, 0xa, 0xb4, 0x38, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x95, 0xff, 0xe3, 0x4, 0x2a, 0x7, 0x6d, 0x10, 0x26, 0x3, 0x59, 0x0, 0x0, 0x10, 0x6, 0xa, 0xc1, 0x18, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7, 0x0, 0x0, 0x6, 0x49, 0x6, 0x61, 0x10, 0x27, 0x3, 0x39, 0x1, 0x62, 0x0, 0x0, 0x10, 0x7, 0xa, 0xdd, 0xfe, 0x81, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6, 0x0, 0x0, 0x7, 0xff, 0x6, 0x66, 0x10, 0x27, 0x3, 0x39, 0x3, 0x18, 0x0, 0x0, 0x10, 0x6, 0xa, 0xbf, 0x88, 0x0, 0xff, 0xff, 0x0, 0x4, 0x0, 0x0, 0x8, 0x1d, 0x6, 0x66, 0x10, 0x27, 0x3, 0x39, 0x3, 0x36, 0x0, 0x0, 0x10, 0x7, 0xa, 0xc0, 0xff, 0x6f, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x4, 0x0, 0x0, 0x7, 0x33, 0x7, 0x6d, 0x10, 0x27, 0x3, 0x39, 0x2, 0x4c, 0x0, 0x0, 0x10, 0x7, 0xa, 0xc1, 0xff, 0x4e, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xff, 0xe3, 0x6, 0x27, 0x6, 0x61, 0x10, 0x26, 0x3, 0x5d, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa5, 0x1, 0x5e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xff, 0xe3, 0x6, 0x27, 0x6, 0x61, 0x10, 0x26, 0x3, 0x5d, 0x0, 0x0, 0x10, 0x7, 0xa, 0xdd, 0x1, 0x54, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xff, 0xe3, 0x6, 0x27, 0x6, 0x66, 0x10, 0x26, 0x3, 0x5d, 0x0, 0x0, 0x10, 0x7, 0xa, 0xb2, 0x1, 0x59, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xff, 0xe3, 0x6, 0x27, 0x6, 0x66, 0x10, 0x26, 0x3, 0x5d, 0x0, 0x0, 0x10, 0x7, 0xa, 0xbf, 0x1, 0x5e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xff, 0xe3, 0x6, 0x27, 0x6, 0x66, 0x10, 0x26, 0x3, 0x5d, 0x0, 0x0, 0x10, 0x7, 0xa, 0xb3, 0x1, 0xa4, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xff, 0xe3, 0x6, 0x27, 0x6, 0x66, 0x10, 0x26, 0x3, 0x5d, 0x0, 0x0, 0x10, 0x7, 0xa, 0xc0, 0x1, 0x8b, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xff, 0xe3, 0x6, 0x27, 0x7, 0x6d, 0x10, 0x26, 0x3, 0x5d, 0x0, 0x0, 0x10, 0x7, 0xa, 0xb4, 0x1, 0x63, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xff, 0xe3, 0x6, 0x27, 0x7, 0x6d, 0x10, 0x26, 0x3, 0x5d, 0x0, 0x0, 0x10, 0x7, 0xa, 0xc1, 0x1, 0x5e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7, 0x0, 0x0, 0x6, 0x1d, 0x6, 0x61, 0x10, 0x26, 0x3, 0x3d, 0x4e, 0x0, 0x10, 0x7, 0xa, 0xa5, 0xfe, 0x81, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7, 0x0, 0x0, 0x6, 0x71, 0x6, 0x61, 0x10, 0x27, 0x3, 0x3d, 0x0, 0xa2, 0x0, 0x0, 0x10, 0x7, 0xa, 0xdd, 0xfe, 0x81, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x5, 0x0, 0x0, 0x8, 0x69, 0x6, 0x66, 0x10, 0x27, 0x3, 0x3d, 0x2, 0x9a, 0x0, 0x0, 0x10, 0x7, 0xa, 0xb2, 0xff, 0x7c, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6, 0x0, 0x0, 0x8, 0x75, 0x6, 0x66, 0x10, 0x27, 0x3, 0x3d, 0x2, 0xa6, 0x0, 0x0, 0x10, 0x6, 0xa, 0xbf, 0x88, 0x0, 0xff, 0xff, 0x0, 0x7, 0x0, 0x0, 0x7, 0x43, 0x6, 0x66, 0x10, 0x27, 0x3, 0x3d, 0x1, 0x74, 0x0, 0x0, 0x10, 0x7, 0xa, 0xb3, 0xff, 0x53, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x4, 0x0, 0x0, 0x7, 0x79, 0x6, 0x66, 0x10, 0x27, 0x3, 0x3d, 0x1, 0xaa, 0x0, 0x0, 0x10, 0x7, 0xa, 0xc0, 0xff, 0x6f, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7, 0x0, 0x0, 0x7, 0x11, 0x7, 0x6d, 0x10, 0x27, 0x3, 0x3d, 0x1, 0x42, 0x0, 0x0, 0x10, 0x7, 0xa, 0xb4, 0xff, 0x51, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x4, 0x0, 0x0, 0x7, 0x50, 0x7, 0x6d, 0x10, 0x27, 0x3, 0x3d, 0x1, 0x81, 0x0, 0x0, 0x10, 0x7, 0xa, 0xc1, 0xff, 0x4e, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe7, 0x4, 0xe4, 0x6, 0x66, 0x10, 0x26, 0x3, 0x45, 0x0, 0x0, 0x10, 0x6, 0xa, 0xd1, 0x74, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe7, 0x4, 0xe4, 0x6, 0x66, 0x10, 0x6, 0x3, 0x40, 0x0, 0x0, 0xff, 0xff, 0x0, 0x85, 0xff, 0xe3, 0x3, 0xc8, 0x6, 0x66, 0x10, 0x26, 0x3, 0x49, 0x0, 0x0, 0x10, 0x6, 0xa, 0xd1, 0x54, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x85, 0xff, 0xe3, 0x3, 0xc8, 0x6, 0x66, 0x10, 0x6, 0x3, 0x41, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x6, 0x66, 0x10, 0x26, 0x3, 0x4b, 0x0, 0x0, 0x10, 0x7, 0xa, 0xd1, 0x0, 0xc6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x6, 0x66, 0x10, 0x6, 0x3, 0x42, 0x0, 0x0, 0xff, 0xff, 0xff, 0x8d, 0x0, 0x0, 0x2, 0x6e, 0x6, 0x66, 0x10, 0x26, 0x3, 0x4d, 0x0, 0x0, 0x10, 0x7, 0xa, 0xd1, 0xfe, 0xe3, 0x0, 0x0, 0xff, 0xff, 0x0, 0xa6, 0x0, 0x0, 0x2, 0x98, 0x6, 0x66, 0x10, 0x6, 0x3, 0x43, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x6, 0x66, 0x10, 0x26, 0x3, 0x53, 0x0, 0x0, 0x10, 0x6, 0xa, 0xd1, 0x7b, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x6, 0x66, 0x10, 0x6, 0x3, 0x60, 0x0, 0x0, 0xff, 0xff, 0x0, 0x95, 0xff, 0xe3, 0x4, 0x2a, 0x6, 0x66, 0x10, 0x26, 0x3, 0x59, 0x0, 0x0, 0x10, 0x6, 0xa, 0xd1, 0x30, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x95, 0xff, 0xe3, 0x4, 0x2a, 0x6, 0x66, 0x10, 0x6, 0x3, 0x61, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xff, 0xe3, 0x6, 0x27, 0x6, 0x66, 0x10, 0x26, 0x3, 0x5d, 0x0, 0x0, 0x10, 0x7, 0xa, 0xd1, 0x1, 0x4d, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xff, 0xe3, 0x6, 0x27, 0x6, 0x66, 0x10, 0x6, 0x3, 0x62, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x56, 0x4, 0xe4, 0x6, 0x61, 0x10, 0x26, 0x9, 0xf5, 0x0, 0x0, 0x10, 0x6, 0x3, 0x16, 0x48, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x56, 0x4, 0xe4, 0x6, 0x61, 0x10, 0x26, 0x9, 0xf6, 0x0, 0x0, 0x10, 0x6, 0x3, 0x16, 0x48, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x56, 0x4, 0xe4, 0x6, 0x66, 0x10, 0x26, 0x9, 0xf7, 0x0, 0x0, 0x10, 0x6, 0x3, 0x16, 0x48, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x56, 0x4, 0xe4, 0x6, 0x66, 0x10, 0x26, 0x9, 0xf8, 0x0, 0x0, 0x10, 0x6, 0x3, 0x16, 0x48, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x56, 0x4, 0xe4, 0x6, 0x66, 0x10, 0x26, 0x9, 0xf9, 0x0, 0x0, 0x10, 0x6, 0x3, 0x16, 0x48, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x56, 0x4, 0xe4, 0x6, 0x66, 0x10, 0x26, 0x9, 0xfa, 0x0, 0x0, 0x10, 0x6, 0x3, 0x16, 0x48, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x56, 0x4, 0xe4, 0x7, 0x6d, 0x10, 0x26, 0x9, 0xfb, 0x0, 0x0, 0x10, 0x6, 0x3, 0x16, 0x48, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x56, 0x4, 0xe4, 0x7, 0x6d, 0x10, 0x26, 0x9, 0xfc, 0x0, 0x0, 0x10, 0x6, 0x3, 0x16, 0x48, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0xfe, 0x56, 0x5, 0x68, 0x6, 0x61, 0x10, 0x26, 0x9, 0xfd, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa4, 0x0, 0xba, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0xfe, 0x56, 0x5, 0x68, 0x6, 0x61, 0x10, 0x26, 0x9, 0xfe, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa4, 0x0, 0xba, 0x0, 0x0, 0xff, 0xff, 0x0, 0x5, 0xfe, 0x56, 0x6, 0xf4, 0x6, 0x66, 0x10, 0x26, 0x9, 0xff, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa4, 0x2, 0x46, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6, 0xfe, 0x56, 0x6, 0xf4, 0x6, 0x66, 0x10, 0x26, 0xa, 0x0, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa4, 0x2, 0x46, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7, 0xfe, 0x56, 0x6, 0x16, 0x6, 0x66, 0x10, 0x26, 0xa, 0x1, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa4, 0x1, 0x68, 0x0, 0x0, 0xff, 0xff, 0x0, 0x4, 0xfe, 0x56, 0x6, 0x58, 0x6, 0x66, 0x10, 0x26, 0xa, 0x2, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa4, 0x1, 0xaa, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7, 0xfe, 0x56, 0x5, 0x99, 0x7, 0x6d, 0x10, 0x26, 0xa, 0x3, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa4, 0x0, 0xeb, 0x0, 0x0, 0xff, 0xff, 0x0, 0x4, 0xfe, 0x56, 0x5, 0xe0, 0x7, 0x6d, 0x10, 0x26, 0xa, 0x4, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa4, 0x1, 0x32, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x6, 0x61, 0x10, 0x26, 0xa, 0x11, 0x0, 0x0, 0x10, 0x7, 0x3, 0x16, 0xff, 0x38, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x6, 0x61, 0x10, 0x26, 0xa, 0x12, 0x0, 0x0, 0x10, 0x7, 0x3, 0x16, 0xff, 0x38, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x6, 0x66, 0x10, 0x26, 0xa, 0x13, 0x0, 0x0, 0x10, 0x7, 0x3, 0x16, 0xff, 0x38, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x6, 0x66, 0x10, 0x26, 0xa, 0x14, 0x0, 0x0, 0x10, 0x7, 0x3, 0x16, 0xff, 0x38, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x6, 0x66, 0x10, 0x26, 0xa, 0x15, 0x0, 0x0, 0x10, 0x7, 0x3, 0x16, 0xff, 0x38, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x6, 0x66, 0x10, 0x26, 0xa, 0x16, 0x0, 0x0, 0x10, 0x7, 0x3, 0x16, 0xff, 0x38, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x7, 0x6d, 0x10, 0x26, 0xa, 0x17, 0x0, 0x0, 0x10, 0x7, 0x3, 0x16, 0xff, 0x38, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x7, 0x6d, 0x10, 0x26, 0xa, 0x18, 0x0, 0x0, 0x10, 0x7, 0x3, 0x16, 0xff, 0x38, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7, 0xfe, 0x56, 0x5, 0xe9, 0x6, 0x61, 0x10, 0x26, 0xa, 0x19, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa4, 0x1, 0x9e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7, 0xfe, 0x56, 0x5, 0xe6, 0x6, 0x61, 0x10, 0x26, 0xa, 0x1a, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa4, 0x1, 0x9b, 0x0, 0x0, 0xff, 0xff, 0x0, 0x5, 0xfe, 0x56, 0x7, 0xe7, 0x6, 0x66, 0x10, 0x26, 0xa, 0x1b, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa4, 0x3, 0x9c, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6, 0xfe, 0x56, 0x7, 0xed, 0x6, 0x66, 0x10, 0x26, 0xa, 0x1c, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa4, 0x3, 0xa2, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7, 0xfe, 0x56, 0x7, 0x6e, 0x6, 0x66, 0x10, 0x26, 0xa, 0x1d, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa4, 0x3, 0x23, 0x0, 0x0, 0xff, 0xff, 0x0, 0x4, 0xfe, 0x56, 0x7, 0x9f, 0x6, 0x66, 0x10, 0x26, 0xa, 0x1e, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa4, 0x3, 0x54, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7, 0xfe, 0x56, 0x6, 0xaf, 0x7, 0x6d, 0x10, 0x26, 0xa, 0x1f, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa4, 0x2, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x4, 0xfe, 0x56, 0x6, 0xca, 0x7, 0x6d, 0x10, 0x26, 0xa, 0x20, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa4, 0x2, 0x7f, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xfe, 0x56, 0x6, 0x27, 0x6, 0x61, 0x10, 0x26, 0xa, 0x49, 0x0, 0x0, 0x10, 0x7, 0x3, 0x16, 0x1, 0x59, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xfe, 0x56, 0x6, 0x27, 0x6, 0x61, 0x10, 0x26, 0xa, 0x4a, 0x0, 0x0, 0x10, 0x7, 0x3, 0x16, 0x1, 0x59, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xfe, 0x56, 0x6, 0x27, 0x6, 0x66, 0x10, 0x26, 0xa, 0x4b, 0x0, 0x0, 0x10, 0x7, 0x3, 0x16, 0x1, 0x59, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xfe, 0x56, 0x6, 0x27, 0x6, 0x66, 0x10, 0x26, 0xa, 0x4c, 0x0, 0x0, 0x10, 0x7, 0x3, 0x16, 0x1, 0x59, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xfe, 0x56, 0x6, 0x27, 0x6, 0x66, 0x10, 0x26, 0xa, 0x4d, 0x0, 0x0, 0x10, 0x7, 0x3, 0x16, 0x1, 0x59, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xfe, 0x56, 0x6, 0x27, 0x6, 0x66, 0x10, 0x26, 0xa, 0x4e, 0x0, 0x0, 0x10, 0x7, 0x3, 0x16, 0x1, 0x59, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xfe, 0x56, 0x6, 0x27, 0x7, 0x6d, 0x10, 0x26, 0xa, 0x4f, 0x0, 0x0, 0x10, 0x7, 0x3, 0x16, 0x1, 0x59, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xfe, 0x56, 0x6, 0x27, 0x7, 0x6d, 0x10, 0x26, 0xa, 0x50, 0x0, 0x0, 0x10, 0x7, 0x3, 0x16, 0x1, 0x59, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7, 0xfe, 0x56, 0x6, 0x1d, 0x6, 0x61, 0x10, 0x26, 0xa, 0x51, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa4, 0x1, 0x5c, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7, 0xfe, 0x56, 0x6, 0x71, 0x6, 0x61, 0x10, 0x26, 0xa, 0x52, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa4, 0x1, 0xb0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x5, 0xfe, 0x56, 0x8, 0x69, 0x6, 0x66, 0x10, 0x26, 0xa, 0x53, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa4, 0x3, 0xa8, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6, 0xfe, 0x56, 0x8, 0x75, 0x6, 0x66, 0x10, 0x26, 0xa, 0x54, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa4, 0x3, 0xb4, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7, 0xfe, 0x56, 0x7, 0x43, 0x6, 0x66, 0x10, 0x26, 0xa, 0x55, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa4, 0x2, 0x82, 0x0, 0x0, 0xff, 0xff, 0x0, 0x4, 0xfe, 0x56, 0x7, 0x79, 0x6, 0x66, 0x10, 0x26, 0xa, 0x56, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa4, 0x2, 0xb8, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7, 0xfe, 0x56, 0x7, 0x11, 0x7, 0x6d, 0x10, 0x26, 0xa, 0x57, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa4, 0x2, 0x50, 0x0, 0x0, 0xff, 0xff, 0x0, 0x4, 0xfe, 0x56, 0x7, 0x50, 0x7, 0x6d, 0x10, 0x26, 0xa, 0x58, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa4, 0x2, 0x8f, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe7, 0x4, 0xe4, 0x6, 0x48, 0x10, 0x26, 0x3, 0x45, 0x0, 0x0, 0x10, 0x6, 0x2, 0x9a, 0x7a, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe7, 0x4, 0xe4, 0x5, 0xf6, 0x10, 0x26, 0x3, 0x45, 0x0, 0x0, 0x10, 0x6, 0x0, 0x71, 0x79, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x56, 0x4, 0xe4, 0x6, 0x66, 0x10, 0x26, 0xa, 0x59, 0x0, 0x0, 0x10, 0x6, 0x3, 0x16, 0x48, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x56, 0x4, 0xe4, 0x4, 0x79, 0x10, 0x26, 0x3, 0x45, 0x0, 0x0, 0x10, 0x6, 0x3, 0x16, 0x48, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x56, 0x4, 0xe4, 0x6, 0x66, 0x10, 0x26, 0x3, 0x40, 0x0, 0x0, 0x10, 0x6, 0x3, 0x16, 0x48, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe7, 0x4, 0xe4, 0x6, 0x37, 0x10, 0x26, 0x3, 0x45, 0x0, 0x0, 0x10, 0x6, 0xa, 0xa6, 0x6e, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x56, 0x4, 0xe4, 0x6, 0x37, 0x10, 0x26, 0xa, 0x9c, 0x0, 0x0, 0x10, 0x6, 0x3, 0x16, 0x48, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x7, 0x6d, 0x10, 0x26, 0x3, 0x26, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc0, 0x4, 0xba, 0x1, 0x75, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x7, 0x31, 0x10, 0x26, 0x3, 0x26, 0x0, 0x0, 0x10, 0x7, 0x0, 0x71, 0x0, 0xbc, 0x1, 0x3b, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x5, 0xaa, 0x6, 0x66, 0x10, 0x26, 0x3, 0x26, 0x42, 0x0, 0x10, 0x7, 0xa, 0xd1, 0xff, 0x52, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x6, 0x66, 0x10, 0x6, 0x3, 0x1d, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0xfe, 0x56, 0x5, 0x68, 0x5, 0xd5, 0x10, 0x26, 0x3, 0x26, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa4, 0x0, 0xba, 0x0, 0x0, 0xff, 0xff, 0x1, 0x86, 0x4, 0xc2, 0x2, 0x78, 0x6, 0x61, 0x10, 0x6, 0xa, 0xa5, 0x0, 0x0, 0xff, 0xff, 0x1, 0xb6, 0xfe, 0x56, 0x2, 0x92, 0xff, 0xa4, 0x10, 0x6, 0x3, 0x16, 0x0, 0x0, 0x0, 0x1, 0x1, 0x86, 0x4, 0xc2, 0x2, 0x78, 0x6, 0x61, 0x0, 0x8, 0x0, 0x48, 0xb4, 0x5, 0x8, 0x7, 0x2, 0x9, 0x10, 0xd4, 0x3c, 0xdc, 0xb2, 0x3f, 0x8, 0x1, 0x5d, 0xc0, 0x31, 0xb6, 0x0, 0x6, 0x7, 0x6, 0x3, 0x2, 0x9, 0x0, 0x10, 0xd4, 0xb4, 0x3f, 0x2, 0x5f, 0x2, 0x2, 0x5d, 0xb0, 0x11, 0x4b, 0x50, 0x58, 0xcc, 0x1b, 0xc0, 0x59, 0xcc, 0xcc, 0xb2, 0x3f, 0x7, 0x1, 0x5d, 0x11, 0x39, 0x30, 0xb1, 0x6, 0x3, 0x49, 0xb1, 0x7, 0x6, 0x49, 0x50, 0x58, 0xb3, 0x5, 0x40, 0x6, 0x40, 0x38, 0x38, 0x59, 0x1, 0x10, 0x23, 0x35, 0x16, 0x35, 0x23, 0x35, 0x33, 0x2, 0x78, 0xf2, 0x86, 0x85, 0xf1, 0x5, 0xcd, 0xfe, 0xf5, 0x67, 0x3, 0x9d, 0x9e, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb6, 0x5, 0x1d, 0x3, 0x4a, 0x6, 0x37, 0x10, 0x6, 0x2, 0x9e, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb6, 0x5, 0x46, 0x3, 0x4a, 0x7, 0x6d, 0x10, 0x27, 0x16, 0xbb, 0x4, 0x0, 0x1, 0x84, 0x12, 0x6, 0x0, 0x6a, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x6, 0x66, 0x10, 0x26, 0xa, 0x5d, 0x0, 0x0, 0x10, 0x7, 0x3, 0x16, 0xff, 0x38, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x4, 0x7b, 0x10, 0x26, 0x3, 0x4b, 0x0, 0x0, 0x10, 0x7, 0x3, 0x16, 0xff, 0x38, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x6, 0x66, 0x10, 0x26, 0x3, 0x42, 0x0, 0x0, 0x10, 0x7, 0x3, 0x16, 0xff, 0x38, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x6, 0x37, 0x10, 0x26, 0x3, 0x4b, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa6, 0x0, 0x90, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x6, 0x37, 0x10, 0x26, 0xa, 0xab, 0x0, 0x0, 0x10, 0x7, 0x3, 0x16, 0xff, 0x38, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x5, 0xed, 0x6, 0x66, 0x10, 0x27, 0x3, 0x2a, 0x1, 0x62, 0x0, 0x0, 0x10, 0x7, 0xa, 0xd1, 0xff, 0x52, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xe7, 0x0, 0x0, 0x5, 0x75, 0x6, 0x66, 0x10, 0x6, 0x3, 0x1f, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x6, 0xa9, 0x6, 0x66, 0x10, 0x27, 0x3, 0x2c, 0x1, 0x6e, 0x0, 0x0, 0x10, 0x7, 0xa, 0xd1, 0xff, 0x52, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xf3, 0x0, 0x0, 0x6, 0x1f, 0x6, 0x66, 0x10, 0x6, 0x3, 0x20, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0x56, 0x5, 0x3b, 0x5, 0xd5, 0x10, 0x26, 0x3, 0x2c, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa4, 0x0, 0xff, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0x4, 0xc2, 0x3, 0x92, 0x6, 0x66, 0x10, 0x27, 0xa, 0xa5, 0xff, 0x3, 0x0, 0x0, 0x10, 0x7, 0xa, 0xd1, 0x1, 0x9, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb4, 0x4, 0xc2, 0x3, 0x94, 0x6, 0x66, 0x10, 0x27, 0xa, 0xa5, 0xff, 0x2e, 0x0, 0x0, 0x10, 0x6, 0xa, 0xdc, 0x42, 0x0, 0xff, 0xff, 0x0, 0xb6, 0x4, 0xc2, 0x3, 0x4a, 0x7, 0x6d, 0x10, 0x27, 0x16, 0xbb, 0x4, 0x0, 0x1, 0x84, 0x10, 0x6, 0xa, 0xa5, 0x0, 0x0, 0xff, 0xff, 0xff, 0xeb, 0x0, 0x0, 0x2, 0x6e, 0x6, 0x48, 0x10, 0x26, 0x3, 0x4d, 0x0, 0x0, 0x10, 0x7, 0x2, 0x9a, 0xff, 0x24, 0x0, 0x0, 0xff, 0xff, 0xff, 0xe3, 0x0, 0x0, 0x2, 0x6e, 0x5, 0xf6, 0x10, 0x26, 0x3, 0x4d, 0x0, 0x0, 0x10, 0x7, 0x0, 0x71, 0xff, 0xe, 0x0, 0x0, 0xff, 0xff, 0xff, 0xd8, 0x0, 0x0, 0x2, 0x6e, 0x7, 0xd2, 0x10, 0x26, 0x3, 0x4d, 0x0, 0x0, 0x10, 0x7, 0xa, 0xcf, 0xff, 0x2e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x5, 0x0, 0x0, 0x2, 0x80, 0x7, 0xd2, 0x10, 0x6, 0x3, 0x25, 0x0, 0x0, 0xff, 0xff, 0xff, 0xe4, 0x0, 0x0, 0x2, 0x78, 0x6, 0x37, 0x10, 0x26, 0x3, 0x4d, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa6, 0xff, 0x2e, 0x0, 0x0, 0xff, 0xff, 0xff, 0xe6, 0x0, 0x0, 0x2, 0x7a, 0x7, 0x6d, 0x10, 0x26, 0x3, 0x4d, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa7, 0xff, 0x30, 0x0, 0x0, 0xff, 0xff, 0xff, 0xf5, 0x0, 0x0, 0x2, 0x67, 0x7, 0x6d, 0x10, 0x26, 0x3, 0x2e, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc0, 0x3, 0x2e, 0x1, 0x75, 0xff, 0xff, 0x0, 0x3, 0x0, 0x0, 0x2, 0x59, 0x7, 0x31, 0x10, 0x26, 0x3, 0x2e, 0x0, 0x0, 0x10, 0x7, 0x0, 0x71, 0xff, 0x2e, 0x1, 0x3b, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x3, 0x4, 0x6, 0x66, 0x10, 0x27, 0x3, 0x2e, 0x1, 0x71, 0x0, 0x0, 0x10, 0x7, 0xa, 0xd1, 0xff, 0x52, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xed, 0x0, 0x0, 0x2, 0x7d, 0x6, 0x66, 0x10, 0x6, 0x3, 0x21, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7e, 0x4, 0xc2, 0x3, 0x8b, 0x6, 0x66, 0x10, 0x27, 0xa, 0xdd, 0xfe, 0xf8, 0x0, 0x0, 0x10, 0x7, 0xa, 0xd1, 0x1, 0x2, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x95, 0x4, 0xc2, 0x3, 0xb1, 0x6, 0x66, 0x10, 0x27, 0xa, 0xdd, 0xff, 0xf, 0x0, 0x0, 0x10, 0x6, 0xa, 0xdc, 0x5f, 0x0, 0xff, 0xff, 0x0, 0xb6, 0x4, 0xc2, 0x3, 0x4a, 0x7, 0x6d, 0x10, 0x27, 0x16, 0xbb, 0x4, 0x0, 0x1, 0x84, 0x10, 0x6, 0xa, 0xdd, 0x0, 0x0, 0xff, 0xff, 0x0, 0x95, 0xff, 0xe3, 0x4, 0x2a, 0x6, 0x48, 0x10, 0x26, 0x3, 0x59, 0x0, 0x0, 0x10, 0x6, 0x2, 0x9a, 0x27, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x95, 0xff, 0xe3, 0x4, 0x2a, 0x5, 0xf6, 0x10, 0x26, 0x3, 0x59, 0x0, 0x0, 0x10, 0x6, 0x0, 0x71, 0x24, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x95, 0xff, 0xe3, 0x4, 0x2a, 0x7, 0xd2, 0x10, 0x26, 0x3, 0x59, 0x0, 0x0, 0x10, 0x6, 0xa, 0xcf, 0x1b, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x95, 0xff, 0xe3, 0x4, 0x2a, 0x7, 0xd2, 0x10, 0x6, 0x3, 0x44, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0xa4, 0x6, 0x61, 0x10, 0x26, 0x3, 0x55, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa5, 0x0, 0xbb, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0xa4, 0x6, 0x61, 0x10, 0x26, 0x3, 0x55, 0x0, 0x0, 0x10, 0x7, 0xa, 0xdd, 0x0, 0xb1, 0x0, 0x0, 0xff, 0xff, 0x0, 0x95, 0xff, 0xe3, 0x4, 0x2a, 0x6, 0x37, 0x10, 0x26, 0x3, 0x59, 0x0, 0x0, 0x10, 0x6, 0xa, 0xa6, 0x27, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x95, 0xff, 0xe3, 0x4, 0x2a, 0x7, 0x6d, 0x10, 0x26, 0x3, 0x59, 0x0, 0x0, 0x10, 0x6, 0xa, 0xa7, 0x1a, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x4, 0xe7, 0x7, 0x6d, 0x10, 0x26, 0x3, 0x39, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc0, 0x4, 0x76, 0x1, 0x75, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x4, 0xe7, 0x7, 0x31, 0x10, 0x26, 0x3, 0x39, 0x0, 0x0, 0x10, 0x7, 0x0, 0x71, 0x0, 0x80, 0x1, 0x3b, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x6, 0xc7, 0x6, 0x66, 0x10, 0x27, 0x3, 0x39, 0x1, 0xe0, 0x0, 0x0, 0x10, 0x7, 0xa, 0xd1, 0xff, 0x52, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xe1, 0x0, 0x0, 0x6, 0x91, 0x6, 0x66, 0x10, 0x6, 0x3, 0x23, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7, 0x0, 0x0, 0x5, 0x35, 0x6, 0x61, 0x10, 0x27, 0x3, 0x36, 0x0, 0xa8, 0x0, 0x0, 0x10, 0x7, 0xa, 0xdd, 0xfe, 0x81, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x5, 0x46, 0x3, 0x29, 0x7, 0xd2, 0x12, 0x26, 0x0, 0x6a, 0x0, 0x0, 0x10, 0x7, 0xa, 0xd1, 0x0, 0x0, 0x1, 0x6c, 0xff, 0xff, 0x0, 0xd7, 0x5, 0x46, 0x3, 0x52, 0x7, 0xd2, 0x10, 0x6, 0x3, 0x1c, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x4, 0xf0, 0x2, 0x89, 0x6, 0x66, 0x10, 0x6, 0x0, 0x43, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xfe, 0x56, 0x6, 0x27, 0x6, 0x66, 0x10, 0x26, 0xa, 0x65, 0x0, 0x0, 0x10, 0x7, 0x3, 0x16, 0x1, 0x59, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xfe, 0x56, 0x6, 0x27, 0x4, 0x60, 0x10, 0x26, 0x3, 0x5d, 0x0, 0x0, 0x10, 0x7, 0x3, 0x16, 0x1, 0x59, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xfe, 0x56, 0x6, 0x27, 0x6, 0x66, 0x10, 0x26, 0x3, 0x62, 0x0, 0x0, 0x10, 0x7, 0x3, 0x16, 0x1, 0x59, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xff, 0xe3, 0x6, 0x27, 0x6, 0x37, 0x10, 0x26, 0x3, 0x5d, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa6, 0x1, 0x4f, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xfe, 0x56, 0x6, 0x27, 0x6, 0x37, 0x10, 0x26, 0xa, 0xd5, 0x0, 0x0, 0x10, 0x7, 0x3, 0x16, 0x1, 0x59, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xe3, 0x7, 0x14, 0x6, 0x66, 0x10, 0x27, 0x3, 0x34, 0x1, 0x3b, 0x0, 0x0, 0x10, 0x7, 0xa, 0xd1, 0xff, 0x52, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xf2, 0xff, 0xe3, 0x6, 0x1, 0x6, 0x66, 0x10, 0x6, 0x3, 0x22, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x7, 0x13, 0x6, 0x66, 0x10, 0x27, 0x3, 0x3d, 0x1, 0x44, 0x0, 0x0, 0x10, 0x7, 0xa, 0xd1, 0xff, 0x52, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xdb, 0x0, 0x0, 0x6, 0x5, 0x6, 0x66, 0x10, 0x6, 0x3, 0x24, 0x0, 0x0, 0xff, 0xff, 0x0, 0x4e, 0xfe, 0x56, 0x5, 0xcf, 0x5, 0xe7, 0x10, 0x26, 0x3, 0x3d, 0x0, 0x0, 0x10, 0x7, 0xa, 0xa4, 0x1, 0xe, 0x0, 0x0, 0xff, 0xff, 0x1, 0x73, 0x4, 0xee, 0x3, 0x52, 0x6, 0x66, 0x10, 0x6, 0x0, 0x76, 0x0, 0x0, 0x0, 0x1, 0x1, 0x86, 0x4, 0xc2, 0x2, 0x78, 0x6, 0x61, 0x0, 0x8, 0x0, 0x48, 0xb4, 0x2, 0x7, 0x4, 0x0, 0x9, 0x10, 0xd4, 0xc0, 0xdc, 0xb2, 0x3f, 0x7, 0x1, 0x5d, 0x3c, 0x31, 0xb6, 0x0, 0x3, 0x2, 0x3, 0x6, 0x7, 0x9, 0x0, 0x10, 0xd4, 0xb4, 0x3f, 0x7, 0x5f, 0x7, 0x2, 0x5d, 0xb0, 0x11, 0x4b, 0x50, 0x58, 0xcc, 0x1b, 0xc0, 0x59, 0xcc, 0xcc, 0xb2, 0x3f, 0x2, 0x1, 0x5d, 0x11, 0x39, 0x30, 0xb1, 0x3, 0x6, 0x49, 0xb1, 0x2, 0x3, 0x49, 0x50, 0x58, 0xb3, 0x3, 0x40, 0x4, 0x40, 0x38, 0x38, 0x59, 0x1, 0x35, 0x33, 0x15, 0x23, 0x14, 0x37, 0x15, 0x22, 0x1, 0x86, 0xf2, 0x86, 0x86, 0xf2, 0x5, 0xcd, 0x94, 0x9e, 0x9d, 0x3, 0x67, 0x0, 0x1, 0x0, 0x64, 0x1, 0xdf, 0x2, 0x7f, 0x2, 0x83, 0x0, 0x3, 0x0, 0x11, 0xb6, 0x0, 0x9c, 0x2, 0x4, 0x1, 0x0, 0x4, 0x10, 0xdc, 0xcc, 0x31, 0x0, 0x10, 0xd4, 0xec, 0x30, 0x13, 0x21, 0x15, 0x21, 0x64, 0x2, 0x1b, 0xfd, 0xe5, 0x2, 0x83, 0xa4, 0x0, 0xff, 0xff, 0x0, 0x64, 0x1, 0xdf, 0x2, 0x7f, 0x2, 0x83, 0x12, 0x6, 0xa, 0xee, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0x1, 0xe9, 0x4, 0xb3, 0x2, 0x79, 0x0, 0x3, 0x0, 0x10, 0xb6, 0x2, 0xa9, 0x0, 0xe9, 0x4, 0x1, 0x0, 0x2f, 0xc6, 0x31, 0x0, 0x10, 0xfc, 0xec, 0x30, 0x13, 0x21, 0x15, 0x21, 0x64, 0x4, 0x4f, 0xfb, 0xb1, 0x2, 0x79, 0x90, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0x1, 0xe9, 0x3, 0x9c, 0x2, 0x79, 0x0, 0x3, 0x0, 0x10, 0xb6, 0x2, 0xa9, 0x0, 0xe9, 0x4, 0x1, 0x0, 0x2f, 0xc6, 0x31, 0x0, 0x10, 0xfc, 0xec, 0x30, 0x13, 0x21, 0x15, 0x21, 0x64, 0x3, 0x38, 0xfc, 0xc8, 0x2, 0x79, 0x90, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0x1, 0xe9, 0x7, 0x9c, 0x2, 0x79, 0x0, 0x3, 0x0, 0xf, 0xb5, 0x2, 0xa9, 0x0, 0x4, 0x1, 0x0, 0x2f, 0xcc, 0x31, 0x0, 0x10, 0xd4, 0xec, 0x30, 0x13, 0x21, 0x15, 0x21, 0x64, 0x7, 0x38, 0xf8, 0xc8, 0x2, 0x79, 0x90, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0xe9, 0x8, 0x0, 0x2, 0x79, 0x0, 0x3, 0x0, 0xf, 0xb5, 0x2, 0xa9, 0x0, 0x4, 0x1, 0x0, 0x2f, 0xcc, 0x31, 0x0, 0x10, 0xd4, 0xec, 0x30, 0x11, 0x21, 0x15, 0x21, 0x8, 0x0, 0xf8, 0x0, 0x2, 0x79, 0x90, 0xff, 0xff, 0x1, 0x4, 0xfe, 0x1d, 0x2, 0xf8, 0x6, 0x1d, 0x10, 0x26, 0x0, 0x5f, 0x0, 0x0, 0x10, 0x7, 0x0, 0x5f, 0x1, 0x4a, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0xfe, 0x1d, 0x4, 0x14, 0xff, 0xee, 0x10, 0x26, 0x0, 0x42, 0x0, 0x0, 0x10, 0x7, 0x0, 0x42, 0x0, 0x0, 0x1, 0x42, 0x0, 0x1, 0x0, 0xae, 0x3, 0xe9, 0x1, 0xd3, 0x5, 0xd5, 0x0, 0x5, 0x0, 0x18, 0x40, 0xb, 0x0, 0x9e, 0x3, 0x81, 0x6, 0x3, 0x4, 0x0, 0x19, 0x1, 0x6, 0x10, 0xdc, 0xfc, 0xd4, 0xcc, 0x31, 0x0, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x23, 0x35, 0x13, 0x33, 0x3, 0x1, 0x81, 0xd3, 0xa4, 0x81, 0x52, 0x3, 0xe9, 0xad, 0x1, 0x3f, 0xfe, 0xc1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb2, 0x3, 0xfe, 0x1, 0xd7, 0x5, 0xd5, 0x0, 0x5, 0x0, 0x18, 0x40, 0xb, 0x3, 0x9e, 0x0, 0x81, 0x6, 0x3, 0x4, 0x1, 0x19, 0x0, 0x6, 0x10, 0xdc, 0xec, 0xd4, 0xcc, 0x31, 0x0, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x33, 0x15, 0x3, 0x23, 0x13, 0x1, 0x4, 0xd3, 0xa4, 0x81, 0x52, 0x5, 0xd5, 0x98, 0xfe, 0xc1, 0x1, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xae, 0xff, 0x12, 0x1, 0xd3, 0x0, 0xfe, 0x0, 0x5, 0x0, 0x18, 0x40, 0xb, 0x3, 0x9e, 0x0, 0x83, 0x6, 0x3, 0x4, 0x1, 0x19, 0x0, 0x6, 0x10, 0xd4, 0xec, 0xd4, 0xcc, 0x31, 0x0, 0x10, 0xfc, 0xec, 0x30, 0x25, 0x33, 0x15, 0x3, 0x23, 0x13, 0x1, 0x0, 0xd3, 0xa4, 0x81, 0x52, 0xfe, 0xac, 0xfe, 0xc0, 0x1, 0x40, 0x0, 0x1, 0x0, 0xb2, 0x3, 0xfe, 0x1, 0xd7, 0x5, 0xd5, 0x0, 0x5, 0x0, 0x0, 0x1, 0x15, 0x13, 0x23, 0x3, 0x35, 0x1, 0x85, 0x52, 0x81, 0xa4, 0x5, 0xd5, 0x98, 0xfe, 0xc1, 0x1, 0x3f, 0x98, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xae, 0x3, 0xe9, 0x3, 0x6d, 0x5, 0xd5, 0x0, 0x5, 0x0, 0xb, 0x0, 0x27, 0x40, 0x13, 0x6, 0x0, 0x9e, 0x9, 0x3, 0x81, 0xc, 0x9, 0xa, 0x6, 0x19, 0x7, 0x3, 0x4, 0x7, 0x0, 0x19, 0x1, 0xc, 0x10, 0xdc, 0xfc, 0xcc, 0xd4, 0xcc, 0x10, 0xfe, 0xd4, 0xce, 0x31, 0x0, 0x10, 0xf4, 0x3c, 0xec, 0x32, 0x30, 0x1, 0x23, 0x35, 0x13, 0x33, 0x3, 0x5, 0x23, 0x35, 0x13, 0x33, 0x3, 0x1, 0x81, 0xd3, 0xa4, 0x81, 0x52, 0x1, 0x9a, 0xd3, 0xa4, 0x81, 0x52, 0x3, 0xe9, 0xad, 0x1, 0x3f, 0xfe, 0xc1, 0xad, 0xad, 0x1, 0x3f, 0xfe, 0xc1, 0x0, 0x2, 0x0, 0xae, 0x3, 0xe9, 0x3, 0x6d, 0x5, 0xd5, 0x0, 0x5, 0x0, 0xb, 0x0, 0x27, 0x40, 0x13, 0x9, 0x3, 0x9e, 0x6, 0x0, 0x81, 0xc, 0x9, 0xa, 0x7, 0x19, 0x6, 0x1, 0x3, 0x4, 0x1, 0x19, 0x0, 0xc, 0x10, 0xdc, 0xec, 0xd4, 0xcc, 0x10, 0xdc, 0xee, 0xd4, 0xce, 0x31, 0x0, 0x10, 0xf4, 0x3c, 0xec, 0x32, 0x30, 0x1, 0x33, 0x15, 0x3, 0x23, 0x13, 0x25, 0x33, 0x15, 0x3, 0x23, 0x13, 0x1, 0x0, 0xd3, 0xa4, 0x81, 0x52, 0x1, 0x9a, 0xd3, 0xa4, 0x81, 0x52, 0x5, 0xd5, 0xac, 0xfe, 0xc0, 0x1, 0x40, 0xac, 0xac, 0xfe, 0xc0, 0x1, 0x40, 0x0, 0x2, 0x0, 0xae, 0xff, 0x12, 0x3, 0x6d, 0x0, 0xfe, 0x0, 0x5, 0x0, 0xb, 0x0, 0x27, 0x40, 0x13, 0x9, 0x3, 0x9e, 0x6, 0x0, 0x83, 0xc, 0x3, 0x4, 0x1, 0x19, 0x0, 0x7, 0x9, 0xa, 0x7, 0x19, 0x6, 0xc, 0x10, 0xdc, 0xec, 0xd4, 0xcc, 0x10, 0xdc, 0xee, 0xd4, 0xce, 0x31, 0x0, 0x10, 0xfc, 0x3c, 0xec, 0x32, 0x30, 0x25, 0x33, 0x15, 0x3, 0x23, 0x13, 0x25, 0x33, 0x15, 0x3, 0x23, 0x13, 0x2, 0x9a, 0xd3, 0xa4, 0x81, 0x52, 0xfe, 0x66, 0xd3, 0xa4, 0x81, 0x52, 0xfe, 0xac, 0xfe, 0xc0, 0x1, 0x40, 0xac, 0xac, 0xfe, 0xc0, 0x1, 0x40, 0x0, 0x0, 0x2, 0x0, 0xae, 0x3, 0xe9, 0x3, 0x6d, 0x5, 0xd5, 0x0, 0x5, 0x0, 0xb, 0x0, 0x0, 0x1, 0x15, 0x13, 0x23, 0x3, 0x35, 0x21, 0x15, 0x13, 0x23, 0x3, 0x35, 0x1, 0x81, 0x52, 0x81, 0xa4, 0x2, 0x6d, 0x52, 0x81, 0xa4, 0x5, 0xd5, 0xad, 0xfe, 0xc1, 0x1, 0x3f, 0xad, 0xad, 0xfe, 0xc1, 0x1, 0x3f, 0xad, 0x0, 0x1, 0x0, 0x39, 0xff, 0x3b, 0x3, 0xc7, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x27, 0x40, 0x14, 0x8, 0x4, 0xb9, 0xa, 0x2, 0x0, 0x81, 0x6, 0xc2, 0xc, 0x3, 0x59, 0x5, 0x1, 0x57, 0x9, 0x59, 0x7, 0x0, 0xc, 0x10, 0xd4, 0x3c, 0xec, 0xfc, 0x3c, 0xec, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xd4, 0x3c, 0xec, 0x32, 0x30, 0x1, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x1, 0xa8, 0xb0, 0x1, 0x6f, 0xfe, 0x91, 0xb0, 0xfe, 0x91, 0x1, 0x6f, 0x5, 0xd5, 0xfe, 0x5c, 0x99, 0xfb, 0xa3, 0x4, 0x5d, 0x99, 0x0, 0x0, 0x1, 0x0, 0x39, 0xff, 0x3b, 0x3, 0xc7, 0x5, 0xd5, 0x0, 0x13, 0x0, 0x3e, 0x40, 0x20, 0x12, 0x6, 0xb9, 0x0, 0x10, 0x8, 0xb9, 0xa, 0x4, 0x0, 0x2, 0xe, 0xa, 0xc, 0x81, 0x2, 0xc2, 0x14, 0xf, 0x0, 0x59, 0x11, 0xd, 0x1, 0x57, 0x9, 0x5, 0x59, 0xb, 0x7, 0x3, 0x14, 0x10, 0xd4, 0x3c, 0x3c, 0xec, 0x32, 0xfc, 0x3c, 0x3c, 0xec, 0x32, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xc4, 0x32, 0x10, 0xc4, 0x32, 0x10, 0xee, 0x32, 0x10, 0xee, 0x32, 0x30, 0x25, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x3, 0xc7, 0xfe, 0x91, 0xb0, 0xfe, 0x91, 0x1, 0x6f, 0xfe, 0x91, 0x1, 0x6f, 0xb0, 0x1, 0x6f, 0xfe, 0x91, 0x1, 0x6f, 0xdf, 0xfe, 0x5c, 0x1, 0xa4, 0x9a, 0x2, 0x1f, 0x99, 0x1, 0xa4, 0xfe, 0x5c, 0x99, 0xfd, 0xe1, 0x0, 0x1, 0x1, 0x33, 0x1, 0xd1, 0x3, 0x85, 0x4, 0x21, 0x0, 0xb, 0x0, 0x12, 0xb7, 0x9, 0xc7, 0x3, 0xc, 0x6, 0x5c, 0x0, 0xc, 0x10, 0xd4, 0xec, 0x31, 0x0, 0x10, 0xd4, 0xec, 0x30, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x1, 0x33, 0xad, 0x7e, 0x7c, 0xab, 0xac, 0x7d, 0x7d, 0xac, 0x2, 0xfa, 0x7c, 0xab, 0xab, 0x7c, 0x7d, 0xac, 0xac, 0x0, 0x0, 0x1, 0x1, 0x33, 0x1, 0x81, 0x3, 0xd5, 0x4, 0x71, 0x0, 0x2, 0x0, 0x0, 0x1, 0x11, 0x1, 0x1, 0x33, 0x2, 0xa2, 0x1, 0x81, 0x2, 0xf0, 0xfe, 0x88, 0x0, 0x0, 0x1, 0x0, 0xec, 0x0, 0x0, 0x1, 0xc1, 0x0, 0xfe, 0x0, 0x3, 0x0, 0x11, 0xb3, 0x1, 0x19, 0x0, 0x4, 0x10, 0xd4, 0xec, 0x31, 0x0, 0xb2, 0x0, 0x83, 0x2, 0x2f, 0xec, 0x30, 0x37, 0x33, 0x15, 0x23, 0xec, 0xd5, 0xd5, 0xfe, 0xfe, 0x0, 0x2, 0x0, 0xec, 0x0, 0x0, 0x4, 0x6b, 0x0, 0xfe, 0x0, 0x3, 0x0, 0x7, 0x0, 0x1a, 0xb6, 0x0, 0x19, 0x1, 0x5, 0x19, 0x4, 0x8, 0x10, 0xd4, 0xfc, 0xd4, 0xec, 0x31, 0x0, 0xb4, 0x4, 0x0, 0x83, 0x6, 0x2, 0x2f, 0x3c, 0xec, 0x32, 0x30, 0x25, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x3, 0x96, 0xd5, 0xd5, 0xfd, 0x56, 0xd5, 0xd5, 0xfe, 0xfe, 0xfe, 0xfe, 0x0, 0x0, 0x0, 0x3, 0x0, 0xec, 0x0, 0x0, 0x7, 0x14, 0x0, 0xfe, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x23, 0x40, 0x11, 0x8, 0x4, 0x0, 0x83, 0xa, 0x6, 0x2, 0x4, 0x19, 0x5, 0x0, 0x19, 0x1, 0x9, 0x19, 0x8, 0xc, 0x10, 0xd4, 0xfc, 0xd4, 0xec, 0xd4, 0xec, 0x31, 0x0, 0x2f, 0x3c, 0x3c, 0xec, 0x32, 0x32, 0x30, 0x25, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x3, 0x96, 0xd4, 0xd4, 0x2, 0xa9, 0xd5, 0xd5, 0xfa, 0xad, 0xd5, 0xd5, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x0, 0x0, 0x1, 0x0, 0xdc, 0x2, 0x6b, 0x1, 0xaf, 0x3, 0x69, 0x0, 0x3, 0x0, 0x0, 0x13, 0x33, 0x15, 0x23, 0xdc, 0xd3, 0xd3, 0x3, 0x69, 0xfe, 0x0, 0x7, 0x0, 0x71, 0xff, 0xe3, 0xa, 0x4c, 0x5, 0xf0, 0x0, 0xb, 0x0, 0x17, 0x0, 0x23, 0x0, 0x27, 0x0, 0x33, 0x0, 0x3f, 0x0, 0x4b, 0x0, 0xae, 0x40, 0x44, 0x24, 0xf, 0x25, 0x26, 0x25, 0x26, 0xf, 0x27, 0x24, 0x27, 0x42, 0x40, 0x0, 0x92, 0xc, 0x2e, 0x92, 0x1e, 0x8d, 0x28, 0x92, 0x18, 0x46, 0x6, 0x92, 0x34, 0xc, 0x8d, 0x3a, 0x26, 0x12, 0x8c, 0x24, 0x18, 0x91, 0x4c, 0x25, 0x49, 0x43, 0x27, 0x31, 0x2b, 0x43, 0xd, 0x3d, 0x9, 0xd, 0xf, 0xe, 0x3, 0xd, 0x15, 0x31, 0xd, 0x1b, 0x3d, 0xe, 0x49, 0xd, 0x15, 0x37, 0x2b, 0xd, 0x1b, 0xe, 0x21, 0xb, 0x4c, 0x10, 0xfc, 0xe4, 0xec, 0xd4, 0xc4, 0xec, 0xe4, 0x10, 0xee, 0x10, 0xee, 0xf6, 0xee, 0x10, 0xee, 0x11, 0x12, 0x39, 0x11, 0x12, 0x39, 0x31, 0x0, 0x10, 0xe4, 0x32, 0xf4, 0x3c, 0x3c, 0xe4, 0x32, 0xec, 0x32, 0x10, 0xee, 0xf6, 0xee, 0x10, 0xee, 0x32, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x59, 0x22, 0x1, 0x4b, 0xb0, 0x14, 0x54, 0x4b, 0xb0, 0x9, 0x54, 0x5b, 0x4b, 0xb0, 0xb, 0x54, 0x5b, 0x4b, 0xb0, 0xc, 0x54, 0x5b, 0x4b, 0xb0, 0xd, 0x54, 0x5b, 0x4b, 0xb0, 0xe, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x4c, 0x0, 0x40, 0x0, 0x1, 0x0, 0x4c, 0x0, 0x4c, 0xff, 0xc0, 0x38, 0x11, 0x37, 0x38, 0x59, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x1, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x21, 0x33, 0x1, 0x23, 0x13, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x1, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x17, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x8, 0xf4, 0x57, 0x64, 0x64, 0x57, 0x55, 0x63, 0x63, 0x55, 0x9e, 0xba, 0xbb, 0x9d, 0xa0, 0xba, 0xbb, 0xf9, 0x74, 0x9e, 0xbc, 0xbb, 0x9f, 0x9f, 0xb9, 0xba, 0x4, 0x25, 0xa0, 0xfc, 0x5a, 0xa0, 0x1f, 0x56, 0x63, 0x62, 0x57, 0x57, 0x63, 0x64, 0x3, 0xb2, 0x9e, 0xba, 0xbb, 0x9d, 0xa0, 0xba, 0xbb, 0x9f, 0x57, 0x63, 0x63, 0x57, 0x55, 0x63, 0x63, 0x2, 0x91, 0x94, 0x84, 0x82, 0x95, 0x95, 0x82, 0x83, 0x95, 0x7f, 0xdc, 0xbb, 0xbb, 0xdb, 0xdb, 0xbb, 0xbc, 0xdb, 0x2, 0xe0, 0xdb, 0xbb, 0xbd, 0xda, 0xdb, 0xbc, 0xba, 0xdc, 0xf9, 0xf3, 0x5, 0x8e, 0x95, 0x82, 0x84, 0x94, 0x94, 0x84, 0x81, 0x96, 0xfd, 0x9f, 0xdc, 0xbb, 0xbb, 0xdb, 0xdb, 0xbb, 0xbc, 0xdb, 0x7f, 0x94, 0x84, 0x82, 0x95, 0x95, 0x82, 0x83, 0x95, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, 0x71, 0xff, 0xe3, 0xd, 0x72, 0x5, 0xf0, 0x0, 0xb, 0x0, 0x16, 0x0, 0x22, 0x0, 0x2d, 0x0, 0x37, 0x0, 0x3b, 0x0, 0x45, 0x0, 0x50, 0x0, 0x5c, 0x0, 0x0, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x32, 0x16, 0x10, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x5, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x32, 0x16, 0x10, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x0, 0x20, 0x16, 0x15, 0x14, 0x6, 0x20, 0x26, 0x35, 0x34, 0x25, 0x33, 0x1, 0x23, 0x12, 0x22, 0x6, 0x15, 0x14, 0x16, 0x32, 0x36, 0x35, 0x34, 0x1, 0x32, 0x16, 0x10, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x17, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0xc, 0x1a, 0x57, 0x64, 0x64, 0x57, 0x55, 0x63, 0x63, 0x55, 0x9e, 0xba, 0xbb, 0x9d, 0xa0, 0xba, 0xbb, 0xfd, 0x79, 0x57, 0x64, 0x64, 0x57, 0x55, 0x63, 0x63, 0x55, 0x9e, 0xba, 0xbb, 0x9d, 0xa0, 0xba, 0xbb, 0xf8, 0xd6, 0x1, 0x3c, 0xbc, 0xbb, 0xfe, 0xc2, 0xb9, 0x4, 0xdf, 0xa0, 0xfc, 0x5a, 0xa0, 0x75, 0xac, 0x63, 0x62, 0xae, 0x63, 0x3, 0x4e, 0x9e, 0xba, 0xbb, 0x9d, 0xa0, 0xba, 0xbb, 0x9f, 0x57, 0x63, 0x63, 0x57, 0x55, 0x63, 0x63, 0x2, 0x91, 0x94, 0x84, 0x82, 0x95, 0x95, 0x82, 0x83, 0x95, 0x7f, 0xdc, 0xfe, 0x8a, 0xdb, 0xdb, 0xbb, 0xbc, 0xdb, 0x7f, 0x94, 0x84, 0x82, 0x95, 0x95, 0x82, 0x83, 0x95, 0x7f, 0xdc, 0xfe, 0x8a, 0xdb, 0xdb, 0xbb, 0xbc, 0xdb, 0x2, 0xe0, 0xdb, 0xbb, 0xbd, 0xda, 0xdb, 0xbc, 0xba, 0xdc, 0xf9, 0xf3, 0x5, 0x8e, 0x95, 0x82, 0x84, 0x94, 0x94, 0x84, 0x81, 0xfe, 0x35, 0xdc, 0xfe, 0x8a, 0xdb, 0xdb, 0xbb, 0xbc, 0xdb, 0x7f, 0x94, 0x84, 0x82, 0x95, 0x95, 0x82, 0x83, 0x95, 0x0, 0x1, 0x0, 0x28, 0x4, 0x60, 0x1, 0xa0, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x0, 0x1b, 0x1, 0x33, 0x1, 0x28, 0xad, 0xcb, 0xfe, 0xdf, 0x4, 0x60, 0x1, 0x75, 0xfe, 0x8b, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x28, 0x4, 0x60, 0x2, 0xcc, 0x5, 0xd5, 0x10, 0x26, 0xb, 0x10, 0x0, 0x0, 0x10, 0x7, 0xb, 0x10, 0x1, 0x2c, 0x0, 0x0, 0xff, 0xff, 0x0, 0x28, 0x4, 0x60, 0x3, 0xf8, 0x5, 0xd5, 0x10, 0x27, 0xb, 0x10, 0x1, 0x2c, 0x0, 0x0, 0x10, 0x26, 0xb, 0x10, 0x0, 0x0, 0x10, 0x7, 0xb, 0x10, 0x2, 0x58, 0x0, 0x0, 0x0, 0x1, 0x0, 0x28, 0x4, 0x60, 0x1, 0xa0, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x0, 0x1, 0x23, 0x1, 0x33, 0x1, 0xa0, 0x57, 0xfe, 0xdf, 0xcb, 0x4, 0x60, 0x1, 0x75, 0xff, 0xff, 0x0, 0x28, 0x4, 0x60, 0x2, 0xcc, 0x5, 0xd5, 0x10, 0x26, 0xb, 0x13, 0x0, 0x0, 0x10, 0x7, 0xb, 0x13, 0x1, 0x2c, 0x0, 0x0, 0xff, 0xff, 0x0, 0x28, 0x4, 0x60, 0x3, 0xf8, 0x5, 0xd5, 0x10, 0x26, 0xb, 0x13, 0x0, 0x0, 0x10, 0x27, 0xb, 0x13, 0x2, 0x58, 0x0, 0x0, 0x10, 0x7, 0xb, 0x13, 0x1, 0x2c, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb, 0xfe, 0x1d, 0x2, 0xab, 0xff, 0xc3, 0x0, 0x5, 0x0, 0x0, 0x1, 0x23, 0x27, 0x7, 0x23, 0x1, 0x2, 0xab, 0x94, 0xbb, 0xbc, 0x95, 0x1, 0x52, 0xfe, 0x1d, 0xf9, 0xf9, 0x1, 0xa6, 0x0, 0x0, 0x0, 0x1, 0x0, 0x9e, 0x0, 0x8d, 0x2, 0x73, 0x4, 0x23, 0x0, 0x6, 0x0, 0x47, 0x40, 0x25, 0x3, 0xe8, 0x4, 0x5, 0x4, 0x2, 0xe8, 0x1, 0x2, 0x5, 0x5, 0x4, 0x2, 0xe8, 0x3, 0x2, 0x6, 0x0, 0x6, 0x1, 0xe8, 0x0, 0x6, 0x42, 0x2, 0x4, 0xe7, 0x0, 0xa6, 0x7, 0x2, 0x3, 0x0, 0x6f, 0x5, 0x6e, 0x7, 0x10, 0xfc, 0xec, 0x32, 0x39, 0x31, 0x0, 0x10, 0xf4, 0xec, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x4, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x4, 0xed, 0x59, 0x22, 0x1, 0x15, 0x9, 0x1, 0x15, 0x1, 0x35, 0x2, 0x73, 0xfe, 0xd3, 0x1, 0x2d, 0xfe, 0x2b, 0x4, 0x23, 0xbf, 0xfe, 0xf4, 0xfe, 0xf4, 0xbf, 0x1, 0xa2, 0x52, 0x0, 0x0, 0x1, 0x0, 0xc1, 0x0, 0x8d, 0x2, 0x96, 0x4, 0x23, 0x0, 0x6, 0x0, 0x49, 0x40, 0x26, 0x5, 0xe8, 0x6, 0x5, 0x2, 0x3, 0x2, 0x4, 0xe8, 0x3, 0x3, 0x2, 0x6, 0xe8, 0x0, 0x1, 0x0, 0x5, 0xe8, 0x4, 0x5, 0x1, 0x1, 0x0, 0x42, 0x5, 0x3, 0xe7, 0x0, 0xa6, 0x7, 0x5, 0x1, 0x6f, 0x3, 0x0, 0x70, 0x7, 0x10, 0xfc, 0x3c, 0xec, 0x39, 0x31, 0x0, 0x10, 0xf4, 0xec, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x4, 0xed, 0x7, 0x10, 0x4, 0xed, 0x7, 0x10, 0x8, 0xed, 0x59, 0x22, 0x13, 0x1, 0x15, 0x1, 0x35, 0x9, 0x1, 0xc1, 0x1, 0xd5, 0xfe, 0x2b, 0x1, 0x2d, 0xfe, 0xd3, 0x4, 0x23, 0xfe, 0x5e, 0x52, 0xfe, 0x5e, 0xbf, 0x1, 0xc, 0x1, 0xc, 0x0, 0xff, 0xff, 0x0, 0xc3, 0x0, 0x4, 0x5, 0xeb, 0x5, 0xcc, 0x12, 0x26, 0x0, 0x99, 0x0, 0x4b, 0x10, 0x27, 0x0, 0x11, 0xff, 0xe8, 0x2, 0x4e, 0x10, 0x27, 0x0, 0x11, 0x2, 0x16, 0x0, 0x4, 0x10, 0x27, 0x0, 0x11, 0x4, 0x3d, 0x2, 0x4e, 0x10, 0x7, 0x0, 0x11, 0x2, 0x16, 0x4, 0xce, 0xff, 0xff, 0x0, 0x93, 0x0, 0x0, 0x3, 0x4f, 0x5, 0xd5, 0x10, 0x27, 0x0, 0x4, 0xff, 0x5e, 0x0, 0x0, 0x10, 0x7, 0x0, 0x4, 0x1, 0x4f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x93, 0x0, 0x0, 0x3, 0xb0, 0x5, 0xf0, 0x0, 0x17, 0x0, 0x1b, 0x0, 0x24, 0x0, 0x0, 0x1, 0x23, 0x11, 0x6, 0x7, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0xf, 0x1, 0xe, 0x1, 0x7, 0xe, 0x1, 0x15, 0x3, 0x33, 0x15, 0x23, 0x13, 0x11, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x27, 0x26, 0x2, 0x4c, 0xbf, 0x1f, 0x20, 0x5a, 0x61, 0x5e, 0xc1, 0x67, 0xb8, 0xdf, 0x48, 0x5a, 0x58, 0x2f, 0x27, 0x8, 0x6, 0x6, 0xc5, 0xcb, 0xcb, 0xc5, 0x2d, 0x39, 0x33, 0x41, 0x25, 0x1, 0x91, 0x3, 0xad, 0x8, 0xd, 0x23, 0x43, 0xbc, 0x39, 0x38, 0xc2, 0x9f, 0x4c, 0x89, 0x56, 0x56, 0x2f, 0x35, 0x19, 0x15, 0x3c, 0x34, 0xfe, 0xf2, 0xfe, 0x5, 0x42, 0xfe, 0x52, 0x2d, 0x35, 0x5e, 0x31, 0x59, 0x37, 0x1f, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0x5, 0x7c, 0x4, 0x14, 0x6, 0xb, 0x10, 0x7, 0x0, 0x42, 0x0, 0x0, 0x7, 0x5f, 0x0, 0x0, 0x0, 0x1, 0xff, 0xa7, 0xfe, 0x1b, 0x6, 0xc7, 0xff, 0x85, 0x0, 0xd, 0x0, 0x25, 0xb3, 0x4, 0xf, 0xa, 0xe, 0x10, 0xc4, 0xd4, 0xc4, 0xb3, 0x7, 0x0, 0xf, 0xe, 0x11, 0x12, 0x39, 0x39, 0x31, 0x40, 0x7, 0xb, 0x3, 0xa, 0x4, 0x7, 0x0, 0xe, 0x0, 0x10, 0xd4, 0xdc, 0xdc, 0x3c, 0xcc, 0x32, 0x30, 0x1, 0x32, 0x24, 0x37, 0x15, 0x6, 0x4, 0x23, 0x22, 0x24, 0x27, 0x35, 0x16, 0x4, 0x3, 0x36, 0xe7, 0x1, 0xc5, 0xe5, 0xeb, 0xfe, 0x3a, 0xe0, 0xdf, 0xfe, 0x3c, 0xec, 0xe6, 0x1, 0xc2, 0xfe, 0xb5, 0x68, 0x68, 0x7e, 0x76, 0x76, 0x75, 0x77, 0x7e, 0x69, 0x67, 0x0, 0x0, 0x0, 0x1, 0xff, 0xa7, 0x6, 0x4, 0x6, 0xc7, 0x7, 0x6e, 0x0, 0xd, 0x0, 0x25, 0xb3, 0x4, 0xf, 0xa, 0xe, 0x10, 0xc4, 0xd4, 0xc4, 0xb3, 0x7, 0x0, 0xf, 0xe, 0x11, 0x12, 0x39, 0x39, 0x31, 0x40, 0x7, 0xa, 0x4, 0xb, 0x3, 0x0, 0x7, 0xe, 0x0, 0x10, 0xd4, 0xdc, 0xdc, 0x3c, 0xcc, 0x32, 0x30, 0x1, 0x32, 0x4, 0x17, 0x15, 0x26, 0x24, 0x23, 0x22, 0x4, 0x7, 0x35, 0x36, 0x24, 0x3, 0x36, 0xe0, 0x1, 0xc6, 0xeb, 0xe5, 0xfe, 0x3b, 0xe7, 0xe7, 0xfe, 0x3e, 0xe6, 0xec, 0x1, 0xc4, 0x7, 0x6e, 0x76, 0x76, 0x7e, 0x68, 0x68, 0x67, 0x69, 0x7e, 0x77, 0x75, 0x0, 0x0, 0x0, 0x1, 0xff, 0xaa, 0xfe, 0x1d, 0x2, 0x49, 0x1, 0xd5, 0x0, 0x7, 0x0, 0x0, 0x1, 0x33, 0x9, 0x1, 0x23, 0xb, 0x1, 0x23, 0x1, 0xe7, 0x62, 0xfe, 0xe2, 0x1, 0x1e, 0x62, 0xed, 0xed, 0x63, 0x1, 0xd5, 0xfe, 0x24, 0xfe, 0x24, 0x1, 0x8a, 0xfe, 0x76, 0x0, 0xff, 0xff, 0x0, 0x3d, 0xff, 0xc5, 0x7, 0xc3, 0x6, 0x83, 0x10, 0x27, 0x0, 0xd, 0x0, 0x0, 0xfd, 0x7b, 0x10, 0x27, 0x0, 0xd, 0x4, 0x0, 0xfd, 0x7b, 0x10, 0x7, 0x0, 0xd, 0x2, 0x0, 0x0, 0x93, 0x0, 0x0, 0x0, 0x1, 0x0, 0xdd, 0x2, 0x81, 0x3, 0x33, 0x3, 0x5f, 0x0, 0x3, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0xdd, 0x2, 0x56, 0xfd, 0xaa, 0x3, 0x5f, 0xde, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x89, 0xff, 0xe3, 0x2, 0xcd, 0x5, 0xf0, 0x0, 0x3, 0x0, 0x2b, 0x40, 0x13, 0x0, 0xf, 0x1, 0x2, 0x1, 0x2, 0xf, 0x3, 0x0, 0x3, 0x42, 0x2, 0x8c, 0x0, 0x91, 0x4, 0x1, 0x3, 0x4, 0x10, 0xd4, 0xcc, 0x31, 0x0, 0x10, 0xe4, 0xe4, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x59, 0x22, 0x1, 0x33, 0x1, 0x23, 0x2, 0x2d, 0xa0, 0xfc, 0x5c, 0xa0, 0x5, 0xf0, 0xf9, 0xf3, 0x0, 0x0, 0x1, 0x0, 0xb0, 0xfe, 0xf2, 0x2, 0x58, 0x6, 0x14, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x33, 0x15, 0x21, 0x11, 0x21, 0x15, 0x23, 0x11, 0x33, 0x15, 0x1, 0x68, 0xf0, 0xfe, 0x58, 0x1, 0xa8, 0xf0, 0xf0, 0x2, 0x5e, 0xfd, 0x23, 0x8f, 0x7, 0x22, 0x8f, 0xfd, 0x23, 0x4a, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb0, 0xfe, 0xf2, 0x2, 0x58, 0x6, 0x14, 0x0, 0xb, 0x0, 0x0, 0x13, 0x35, 0x33, 0x11, 0x23, 0x35, 0x21, 0x11, 0x21, 0x35, 0x33, 0x11, 0xb0, 0xf0, 0xf0, 0x1, 0xa8, 0xfe, 0x58, 0xf0, 0x2, 0x5e, 0x4a, 0x2, 0xdd, 0x8f, 0xf8, 0xde, 0x8f, 0x2, 0xdd, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x4a, 0x0, 0x0, 0x7, 0x17, 0x5, 0xf0, 0x10, 0x26, 0x0, 0x22, 0xb7, 0x0, 0x10, 0x7, 0x0, 0x22, 0x3, 0x67, 0x0, 0x0, 0xff, 0xff, 0x0, 0x93, 0x0, 0x0, 0x5, 0x4a, 0x5, 0xf0, 0x10, 0x26, 0x0, 0x22, 0x0, 0x0, 0x10, 0x7, 0x0, 0x4, 0x3, 0x4a, 0x0, 0x0, 0xff, 0xff, 0x0, 0x93, 0x0, 0x0, 0x5, 0x4a, 0x5, 0xf0, 0x10, 0x27, 0x0, 0x4, 0xff, 0x5e, 0x0, 0x0, 0x10, 0x7, 0x0, 0x22, 0x1, 0x9a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0xff, 0x5, 0x3, 0x96, 0x4, 0x5d, 0x0, 0xb, 0x0, 0x37, 0xb7, 0x5, 0x6, 0x7, 0x8, 0x4, 0x4, 0x0, 0xc, 0x10, 0xdc, 0xd4, 0x17, 0x39, 0x31, 0x0, 0x40, 0xa, 0x42, 0xb, 0x8, 0xa9, 0x2, 0x4, 0x0, 0xbc, 0x6, 0xc, 0x10, 0xcc, 0xf4, 0x3c, 0xc4, 0xec, 0x32, 0x30, 0x4b, 0x53, 0x58, 0xb7, 0x8, 0x11, 0x5, 0x7, 0x11, 0x6, 0x5, 0x6, 0x7, 0x5, 0x10, 0xec, 0x10, 0xec, 0x59, 0x13, 0x16, 0x33, 0x32, 0x37, 0x7, 0x1, 0x23, 0x1, 0x6, 0x20, 0x27, 0x64, 0x9a, 0xea, 0xfb, 0xb3, 0x8, 0xfe, 0xe0, 0x98, 0x1, 0x8, 0x75, 0xfe, 0xc3, 0xc8, 0x4, 0x5d, 0x10, 0x10, 0x80, 0xfb, 0x28, 0x4, 0xae, 0xf, 0xf, 0x0, 0x0, 0x1, 0x0, 0xec, 0xff, 0x3b, 0x4, 0x87, 0x5, 0xd5, 0x0, 0xd, 0x0, 0x0, 0x1, 0x32, 0x4, 0x15, 0x14, 0x6, 0x7, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x2, 0xac, 0xd7, 0x1, 0x4, 0xeb, 0xd7, 0x8e, 0xbe, 0x8d, 0x5, 0xd5, 0xe8, 0xbe, 0xb8, 0xdd, 0x11, 0xfc, 0xb2, 0x6, 0x1f, 0xf9, 0xe1, 0x6, 0x9a, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd8, 0x1, 0xc2, 0x3, 0x28, 0x4, 0x12, 0x0, 0x3, 0x0, 0xb, 0x0, 0x0, 0x1, 0x33, 0x11, 0x7, 0x2b, 0x1, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x2, 0x79, 0xaf, 0xaf, 0x76, 0x2, 0x7d, 0xac, 0xad, 0x7e, 0x4, 0x12, 0xfd, 0xb1, 0x1, 0xac, 0x7d, 0x7c, 0xab, 0x0, 0x0, 0x2, 0x0, 0xd8, 0x1, 0xc2, 0x3, 0x28, 0x4, 0x12, 0x0, 0x3, 0x0, 0xb, 0x0, 0x0, 0x1, 0x27, 0x11, 0x3b, 0x1, 0x32, 0x16, 0x15, 0x14, 0x6, 0x2b, 0x1, 0x1, 0x87, 0xaf, 0xaf, 0x76, 0x7e, 0xad, 0xac, 0x7d, 0x2, 0x1, 0xc2, 0x1, 0x2, 0x4f, 0xab, 0x7c, 0x7d, 0xac, 0x0, 0xff, 0xff, 0x0, 0x3d, 0xff, 0xc5, 0x3, 0xc3, 0x3, 0x6b, 0x12, 0x7, 0x0, 0xd, 0x0, 0x0, 0xfd, 0x7b, 0x0, 0x0, 0x0, 0x2, 0x1, 0x1d, 0xff, 0x12, 0x2, 0x42, 0x4, 0x23, 0x0, 0x3, 0x0, 0x9, 0x0, 0x0, 0x1, 0x15, 0x23, 0x35, 0x13, 0x15, 0x13, 0x23, 0x3, 0x35, 0x1, 0xf0, 0xd3, 0xd3, 0x52, 0x81, 0xa4, 0x4, 0x23, 0xfe, 0xfe, 0xfc, 0xdb, 0xac, 0xfe, 0xc0, 0x1, 0x40, 0xac, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xa7, 0xfe, 0x1b, 0x6, 0xc7, 0x7, 0x6e, 0x10, 0x26, 0xb, 0x1d, 0x0, 0x0, 0x10, 0x6, 0xb, 0x1e, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3d, 0xff, 0xf2, 0x3, 0xc3, 0x7, 0x6f, 0x12, 0x27, 0x0, 0xd, 0x0, 0x0, 0xfd, 0xa8, 0x10, 0x7, 0x0, 0xd, 0x0, 0x0, 0x1, 0x7f, 0x0, 0x0, 0xff, 0xff, 0x0, 0x91, 0xff, 0x42, 0x3, 0x43, 0x5, 0xd5, 0x10, 0x27, 0x0, 0x12, 0x0, 0x91, 0x0, 0x0, 0x10, 0x27, 0x0, 0x11, 0x1, 0x8e, 0x0, 0x0, 0x10, 0x7, 0x0, 0x11, 0xff, 0xd9, 0x4, 0x48, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0x1, 0xd3, 0x7, 0x9c, 0x3, 0x31, 0x0, 0x1d, 0x0, 0x0, 0x1, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x7, 0x9c, 0x9e, 0xe6, 0x92, 0x94, 0xec, 0x10, 0x8, 0xa, 0x17, 0xe9, 0x8c, 0x84, 0xdc, 0x94, 0x9e, 0xe6, 0x92, 0xb0, 0xd2, 0xe, 0x8, 0xc, 0x15, 0xe9, 0x8c, 0x82, 0xd7, 0x3, 0x31, 0xb2, 0x4f, 0x44, 0x3b, 0x4, 0x2, 0x2, 0x6, 0x3e, 0x4d, 0x53, 0xb2, 0x4f, 0x45, 0x3c, 0x4, 0x2, 0x3, 0x5, 0x3e, 0x4c, 0xff, 0xff, 0xff, 0xa7, 0xfe, 0x14, 0x6, 0xc7, 0xff, 0x7e, 0x10, 0x7, 0xb, 0x1e, 0x0, 0x0, 0xf8, 0x10, 0x0, 0x0, 0x0, 0x1, 0x1, 0x38, 0x0, 0xc8, 0x5, 0x7c, 0x5, 0xd, 0x0, 0x17, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x7, 0x27, 0x37, 0x21, 0x35, 0x21, 0x27, 0x37, 0x17, 0x11, 0x33, 0x11, 0x37, 0x17, 0x7, 0x21, 0x15, 0x21, 0x17, 0x7, 0x3, 0xaa, 0xa0, 0xf9, 0x71, 0xf9, 0xfe, 0x9f, 0x1, 0x61, 0xfa, 0x71, 0xfa, 0xa0, 0xfa, 0x71, 0xfa, 0x1, 0x61, 0xfe, 0x9f, 0xfa, 0x71, 0x2, 0x29, 0xfe, 0x9f, 0x1, 0x60, 0xf9, 0x72, 0xf9, 0xa0, 0xfa, 0x72, 0xfb, 0x1, 0x62, 0xfe, 0x9e, 0xfa, 0x71, 0xfa, 0xa0, 0xf9, 0x72, 0x0, 0x3, 0x0, 0xfa, 0x1, 0x32, 0x3, 0xb6, 0x4, 0xb6, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x0, 0x13, 0x35, 0x33, 0x15, 0x1, 0x35, 0x33, 0x15, 0x3, 0x35, 0x33, 0x15, 0xfa, 0xc8, 0x1, 0x2c, 0xc8, 0xc8, 0xc8, 0x2, 0x90, 0xc8, 0xc8, 0xfe, 0xa2, 0xc8, 0xc8, 0x2, 0xbc, 0xc8, 0xc8, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x28, 0x4, 0x60, 0x5, 0x24, 0x5, 0xd5, 0x10, 0x27, 0xb, 0x10, 0x1, 0x2c, 0x0, 0x0, 0x10, 0x26, 0xb, 0x10, 0x0, 0x0, 0x10, 0x27, 0xb, 0x10, 0x3, 0x84, 0x0, 0x0, 0x10, 0x7, 0xb, 0x10, 0x2, 0x58, 0x0, 0x0, 0x0, 0x4, 0x1, 0x66, 0x1, 0x0, 0x5, 0x4e, 0x4, 0xe8, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x0, 0x1, 0x35, 0x33, 0x15, 0x21, 0x35, 0x33, 0x15, 0x1, 0x35, 0x33, 0x15, 0x3, 0x35, 0x33, 0x15, 0x1, 0x66, 0xc8, 0x2, 0x58, 0xc8, 0xfd, 0xa8, 0xc8, 0xc8, 0xc8, 0x2, 0x90, 0xc8, 0xc8, 0xc8, 0xc8, 0xfe, 0x70, 0xc8, 0xc8, 0x3, 0x20, 0xc8, 0xc8, 0x0, 0x0, 0x0, 0x0, 0x5, 0x1, 0x66, 0x0, 0xf6, 0x5, 0x4e, 0x4, 0xde, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x13, 0x0, 0x0, 0x1, 0x35, 0x33, 0x15, 0x13, 0x35, 0x33, 0x15, 0x3, 0x35, 0x33, 0x15, 0x1, 0x35, 0x33, 0x15, 0x3, 0x35, 0x33, 0x15, 0x2, 0xf6, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xfc, 0x2c, 0xc8, 0xdc, 0xc8, 0x2, 0x86, 0xc8, 0xc8, 0xfe, 0x70, 0xc8, 0xc8, 0x3, 0x20, 0xc8, 0xc8, 0xfc, 0xf4, 0xc8, 0xc8, 0x3, 0xc, 0xc8, 0xc8, 0x0, 0x0, 0x0, 0x2, 0x0, 0xdb, 0x0, 0x0, 0x1, 0xae, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x13, 0x33, 0x15, 0x23, 0x11, 0x33, 0x15, 0x23, 0xdb, 0xd3, 0xd3, 0xd3, 0xd3, 0x5, 0xd5, 0xfe, 0xfc, 0x27, 0xfe, 0x0, 0x0, 0x4, 0x0, 0x64, 0xfe, 0xe5, 0x5, 0xfd, 0x6, 0xef, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x0, 0x13, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x1, 0x33, 0x15, 0x23, 0x11, 0x33, 0x15, 0x23, 0x64, 0xd3, 0xd3, 0x4, 0xc6, 0xd3, 0xd3, 0xfd, 0x9d, 0xd3, 0xd3, 0xd3, 0xd3, 0x3, 0x69, 0xfe, 0xfe, 0xfe, 0x4, 0x84, 0xfe, 0xf9, 0xf2, 0xfe, 0x0, 0x5, 0x0, 0x70, 0x0, 0x0, 0x6, 0x44, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x1b, 0x0, 0x0, 0x25, 0x35, 0x33, 0x15, 0x3, 0x35, 0x33, 0x15, 0x1, 0x35, 0x33, 0x15, 0x3, 0x35, 0x33, 0x15, 0x1, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x4, 0x86, 0xc8, 0xc8, 0xc8, 0xfc, 0x2c, 0xc8, 0xdc, 0xc8, 0x1, 0x7c, 0xa0, 0xfd, 0x66, 0x2, 0x9a, 0xa0, 0x2, 0x9a, 0xf6, 0xc8, 0xc8, 0x3, 0x20, 0xc8, 0xc8, 0xfc, 0xf4, 0xc8, 0xc8, 0x3, 0xc, 0xc8, 0xc8, 0xfe, 0x84, 0xfd, 0x66, 0x2, 0x9a, 0xa0, 0x2, 0x9b, 0xfd, 0x65, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xdb, 0x0, 0x50, 0x1, 0xae, 0x5, 0x3e, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x0, 0x13, 0x33, 0x15, 0x23, 0x11, 0x33, 0x15, 0x23, 0x11, 0x33, 0x15, 0x23, 0xdb, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0x5, 0x3e, 0xfe, 0xfd, 0xe, 0xfe, 0x2, 0xf6, 0xfe, 0x0, 0x0, 0x0, 0x4, 0x0, 0xdb, 0x0, 0x11, 0x1, 0xae, 0x5, 0x77, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x0, 0x13, 0x33, 0x15, 0x23, 0x11, 0x33, 0x15, 0x23, 0x11, 0x33, 0x15, 0x23, 0x11, 0x33, 0x15, 0x23, 0xdb, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0x2, 0x89, 0xfe, 0x3, 0xec, 0xfe, 0xfc, 0x96, 0xfe, 0x3, 0xf0, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x57, 0x2, 0x8d, 0x2, 0xee, 0x5, 0xf0, 0x0, 0xd, 0x0, 0x19, 0x0, 0x0, 0x0, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x32, 0x37, 0x36, 0x35, 0x34, 0x2f, 0x1, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x2, 0x8, 0xca, 0x32, 0x33, 0x33, 0x32, 0xca, 0x32, 0x33, 0x33, 0x97, 0xa1, 0xaa, 0xaa, 0xa1, 0xa2, 0xaa, 0xaa, 0x5, 0x97, 0x56, 0x56, 0xac, 0xad, 0x56, 0x56, 0x56, 0x56, 0xad, 0xac, 0x56, 0xaf, 0xde, 0xd3, 0xd4, 0xde, 0xde, 0xd4, 0xd3, 0xde, 0x0, 0x0, 0x2, 0x0, 0x7a, 0x2, 0x9c, 0x0, 0xee, 0x6, 0x3, 0x0, 0x3, 0x0, 0x7, 0x0, 0x1f, 0x40, 0x6, 0x9, 0x5, 0x1, 0x4, 0x0, 0x8, 0x10, 0xdc, 0x3c, 0xdc, 0x3c, 0xcc, 0x31, 0x0, 0x40, 0x6, 0x4, 0x7, 0x0, 0x3, 0x0, 0x8, 0x10, 0xd4, 0xc4, 0x10, 0xdc, 0xcc, 0x30, 0x13, 0x33, 0x11, 0x23, 0x11, 0x33, 0x15, 0x23, 0x7a, 0x74, 0x74, 0x74, 0x74, 0x5, 0xf, 0xfd, 0x8d, 0x3, 0x67, 0x82, 0x0, 0x0, 0x2, 0x0, 0x3f, 0x2, 0x9c, 0x2, 0xf4, 0x5, 0xdf, 0x0, 0x2, 0x0, 0xd, 0x0, 0xd4, 0x40, 0x16, 0x0, 0x3, 0xb, 0x7, 0xdd, 0x5, 0x1, 0x9, 0xf7, 0x3, 0x91, 0xe, 0x1, 0xc, 0xa, 0x0, 0x5d, 0x6, 0x8, 0x4, 0xc, 0xe, 0x10, 0xdc, 0xd4, 0x3c, 0xc4, 0xec, 0x32, 0x11, 0x39, 0x31, 0x0, 0x10, 0xf4, 0xfc, 0xd4, 0x3c, 0xec, 0x32, 0x12, 0x39, 0x30, 0x1, 0x4b, 0xb0, 0xe, 0x54, 0x4b, 0xb0, 0xf, 0x54, 0x5b, 0x4b, 0xb0, 0x10, 0x54, 0x5b, 0x4b, 0xb0, 0x11, 0x54, 0x5b, 0x4b, 0xb0, 0xb, 0x54, 0x5b, 0x4b, 0xb0, 0xa, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0xe, 0x0, 0x40, 0x0, 0x1, 0x0, 0xe, 0x0, 0xe, 0xff, 0xc0, 0x38, 0x11, 0x37, 0x38, 0x59, 0x0, 0x4b, 0xb0, 0x11, 0x54, 0x4b, 0xb0, 0xe, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0xe, 0xff, 0xc0, 0x0, 0x1, 0x0, 0xe, 0x0, 0xe, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x40, 0x54, 0xb, 0x1, 0x1d, 0x1, 0x2f, 0x1, 0x39, 0x1, 0x49, 0x1, 0x46, 0x3, 0x59, 0x3, 0x69, 0x3, 0x8b, 0x3, 0xab, 0x3, 0xbb, 0x3, 0xb, 0x1, 0x0, 0xf, 0x1, 0xf, 0x2, 0xf, 0x5, 0xf, 0x6, 0xf, 0x7, 0xf, 0x8, 0xf, 0xb, 0xf, 0xc, 0xf, 0xd, 0x13, 0x0, 0x1f, 0x1, 0x1f, 0x2, 0x1f, 0x5, 0x1f, 0x6, 0x1f, 0x7, 0x1f, 0x8, 0x1f, 0xb, 0x1f, 0xc, 0x1f, 0xd, 0x22, 0x0, 0x35, 0x0, 0x47, 0x0, 0x4b, 0xd, 0x53, 0x0, 0x5b, 0xd, 0x65, 0x0, 0x84, 0x0, 0xa5, 0x0, 0xb5, 0x0, 0x1e, 0x5d, 0x1, 0x5d, 0x9, 0x1, 0x21, 0x3, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x21, 0x35, 0x1, 0xdd, 0xfe, 0xcb, 0x1, 0x35, 0x16, 0xa6, 0x87, 0x87, 0x90, 0xfe, 0x62, 0x5, 0x66, 0xfe, 0x5d, 0x2, 0x1c, 0xfd, 0xe4, 0x6d, 0xba, 0xba, 0x79, 0x0, 0x0, 0x1, 0x0, 0x66, 0x2, 0x8d, 0x2, 0xd3, 0x5, 0xdf, 0x0, 0x20, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x15, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x8e, 0x1, 0xfe, 0xfe, 0x79, 0x1c, 0x1d, 0x1c, 0x1c, 0xa1, 0x5e, 0x5e, 0x61, 0x60, 0xb0, 0x3c, 0x7e, 0x42, 0x39, 0x3e, 0x3e, 0x45, 0x6f, 0x82, 0x82, 0x6f, 0x34, 0x68, 0x36, 0x5, 0xdf, 0x5f, 0xcc, 0x9, 0x4, 0x4, 0x4d, 0x4c, 0x83, 0x87, 0x4b, 0x4a, 0x12, 0x12, 0x71, 0x1b, 0xe, 0xd, 0x66, 0xae, 0x66, 0x14, 0x15, 0x0, 0x2, 0x0, 0x5c, 0x2, 0x8d, 0x2, 0xf3, 0x5, 0xf0, 0x0, 0xf, 0x0, 0x2f, 0x0, 0x0, 0x1, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x13, 0x15, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x1, 0xb3, 0x58, 0x33, 0x33, 0x33, 0x33, 0x58, 0x57, 0x33, 0x33, 0x33, 0x33, 0xab, 0x31, 0x32, 0x32, 0x31, 0x80, 0x44, 0x44, 0xa, 0x26, 0x39, 0x3a, 0x44, 0x91, 0x54, 0x54, 0x58, 0x57, 0x91, 0xa7, 0xb0, 0x6c, 0x6c, 0xb6, 0x31, 0x32, 0x32, 0x4, 0x6d, 0x34, 0x35, 0x5b, 0x5a, 0x34, 0x35, 0x35, 0x34, 0x5a, 0x5b, 0x35, 0x34, 0x1, 0x62, 0x67, 0x14, 0xa, 0xb, 0x4b, 0x4c, 0x99, 0x31, 0x1a, 0x1a, 0x4c, 0x4d, 0x84, 0x7f, 0x4f, 0x4e, 0xde, 0xd4, 0xc6, 0x75, 0x76, 0x8, 0x9, 0x0, 0x0, 0x1, 0x0, 0x6c, 0x2, 0x9c, 0x2, 0xd5, 0x5, 0xdf, 0x0, 0x6, 0x0, 0x0, 0x13, 0x21, 0x15, 0x1, 0x23, 0x1, 0x21, 0x6c, 0x2, 0x69, 0xfe, 0xa4, 0x88, 0x1, 0x48, 0xfe, 0x33, 0x5, 0xdf, 0x30, 0xfc, 0xed, 0x2, 0xe4, 0x0, 0x0, 0x0, 0x3, 0x0, 0x59, 0x2, 0x8d, 0x2, 0xec, 0x5, 0xf0, 0x0, 0xc, 0x0, 0x2a, 0x0, 0x3a, 0x0, 0x0, 0x0, 0x22, 0x7, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x36, 0x34, 0x27, 0x25, 0x26, 0x27, 0x26, 0x35, 0x34, 0x36, 0x20, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x2, 0x0, 0xba, 0x35, 0x35, 0x6a, 0x5d, 0x5c, 0x36, 0x35, 0x35, 0xfe, 0xec, 0x54, 0x2e, 0x2f, 0xa4, 0x1, 0x1e, 0x52, 0x51, 0x2e, 0x2f, 0x53, 0x5a, 0x38, 0x35, 0x55, 0x56, 0x9e, 0x9f, 0x55, 0x56, 0x35, 0x36, 0x2d, 0x2f, 0x2e, 0x55, 0x51, 0x31, 0x30, 0x30, 0x2f, 0x53, 0x53, 0x30, 0x2f, 0x4, 0x2a, 0x2c, 0x2b, 0x4b, 0x4c, 0x56, 0x2c, 0x2b, 0x96, 0x2b, 0x5d, 0x12, 0x31, 0x32, 0x48, 0x64, 0x74, 0x3a, 0x3a, 0x64, 0x4a, 0x30, 0x31, 0x12, 0x12, 0x3a, 0x37, 0x50, 0x79, 0x41, 0x41, 0x41, 0x41, 0x79, 0x4e, 0x39, 0x38, 0xc6, 0x3f, 0x26, 0x25, 0x25, 0x24, 0x41, 0x3f, 0x26, 0x25, 0x25, 0x24, 0x0, 0x0, 0x2, 0x0, 0x53, 0x2, 0x8d, 0x2, 0xe9, 0x5, 0xf0, 0x0, 0x1f, 0x0, 0x2e, 0x0, 0x0, 0x13, 0x35, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x6, 0x7, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x13, 0x32, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x91, 0x31, 0x32, 0x32, 0x30, 0x81, 0x44, 0x43, 0xa, 0x23, 0x3c, 0x39, 0x45, 0x90, 0xa8, 0x57, 0x58, 0x91, 0xa7, 0x57, 0x58, 0x6b, 0x6c, 0xb6, 0x31, 0x32, 0x32, 0xcc, 0x58, 0x66, 0x33, 0x33, 0x58, 0x55, 0x35, 0x34, 0x34, 0x33, 0x2, 0xae, 0x67, 0x14, 0xb, 0xa, 0x4b, 0x4b, 0x9a, 0x2f, 0x1b, 0x1a, 0x98, 0x84, 0x81, 0x4d, 0x4e, 0x6f, 0x6f, 0xd4, 0xc6, 0x75, 0x76, 0x8, 0x9, 0x1, 0x72, 0x68, 0x5c, 0x5a, 0x34, 0x35, 0x35, 0x34, 0x5a, 0x5c, 0x34, 0x34, 0x0, 0x0, 0x1, 0x0, 0x89, 0x2, 0x9c, 0x3, 0xb0, 0x5, 0x6b, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x2, 0x51, 0x1, 0x5f, 0xfe, 0xa1, 0x69, 0xfe, 0xa1, 0x1, 0x5f, 0x5, 0x6b, 0xfe, 0xc8, 0x5f, 0xfe, 0xc8, 0x1, 0x38, 0x5f, 0x1, 0x38, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x89, 0x3, 0xd4, 0x3, 0xb0, 0x4, 0x33, 0x0, 0x3, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x89, 0x3, 0x27, 0xfc, 0xd9, 0x4, 0x33, 0x5f, 0x0, 0x0, 0x0, 0x2, 0x0, 0x89, 0x3, 0x61, 0x3, 0xb0, 0x4, 0xa5, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x89, 0x3, 0x27, 0xfc, 0xd9, 0x3, 0x27, 0xfc, 0xd9, 0x4, 0xa5, 0x5e, 0x87, 0x5f, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6f, 0x2, 0x5, 0x1, 0x90, 0x6, 0x2, 0x0, 0xd, 0x0, 0x0, 0x1, 0xe, 0x1, 0x10, 0x16, 0x17, 0x23, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x1, 0x90, 0x54, 0x52, 0x52, 0x54, 0x65, 0x5e, 0x2f, 0x2f, 0x2f, 0x2e, 0x5f, 0x6, 0x2, 0x81, 0xfc, 0xfe, 0xfe, 0xfe, 0x80, 0x83, 0x80, 0x7f, 0xfa, 0x7f, 0x7e, 0x84, 0x0, 0x1, 0x0, 0x67, 0x2, 0x5, 0x1, 0x88, 0x6, 0x2, 0x0, 0xf, 0x0, 0x0, 0x13, 0x33, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x23, 0x36, 0x37, 0x36, 0x10, 0x27, 0x26, 0x67, 0x65, 0x5f, 0x2f, 0x2e, 0x2e, 0x2f, 0x5f, 0x65, 0x54, 0x29, 0x2a, 0x2a, 0x29, 0x6, 0x2, 0x84, 0x7e, 0x7f, 0xfa, 0x7f, 0x80, 0x83, 0x80, 0x7f, 0x7f, 0x1, 0x2, 0x7e, 0x7e, 0x0, 0x1, 0x0, 0x75, 0x2, 0x9c, 0x2, 0xc4, 0x5, 0x1e, 0x0, 0x13, 0x0, 0x30, 0x40, 0x7, 0x15, 0x0, 0x3, 0xe, 0xa, 0xb, 0x14, 0x10, 0xd4, 0xdc, 0x3c, 0x2f, 0xcc, 0xcc, 0x4b, 0xb0, 0xd, 0x51, 0x58, 0xb1, 0x15, 0x40, 0x38, 0x59, 0x31, 0xb2, 0x7f, 0x15, 0x1, 0x5d, 0x0, 0x40, 0x6, 0x6, 0x11, 0xc, 0x2, 0xb, 0x14, 0x10, 0xd4, 0x3c, 0xc4, 0xd4, 0xcc, 0x30, 0x1, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x2, 0xc4, 0x74, 0x4e, 0x4e, 0x5e, 0x6c, 0x75, 0x75, 0x29, 0x71, 0x4a, 0x79, 0x7d, 0x4, 0x17, 0xfe, 0x85, 0x1, 0x77, 0x59, 0x59, 0x6b, 0x5c, 0xfe, 0x9e, 0x2, 0x73, 0x61, 0x38, 0x38, 0x86, 0x0, 0x0, 0xff, 0xff, 0x0, 0x57, 0xff, 0xf1, 0x2, 0xee, 0x3, 0x54, 0x12, 0x7, 0xb, 0x49, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0x0, 0x0, 0x2, 0xc5, 0x3, 0x43, 0x12, 0x7, 0x0, 0x7b, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x5e, 0x0, 0x0, 0x2, 0xb4, 0x3, 0x54, 0x12, 0x7, 0x0, 0x74, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x62, 0xff, 0xf1, 0x2, 0xcd, 0x3, 0x54, 0x12, 0x7, 0x0, 0x75, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3f, 0x0, 0x0, 0x2, 0xf4, 0x3, 0x43, 0x12, 0x7, 0xb, 0x4b, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x66, 0xff, 0xf1, 0x2, 0xd3, 0x3, 0x43, 0x12, 0x7, 0xb, 0x4c, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x5c, 0xff, 0xf1, 0x2, 0xf3, 0x3, 0x54, 0x12, 0x7, 0xb, 0x4d, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6c, 0x0, 0x0, 0x2, 0xd5, 0x3, 0x43, 0x12, 0x7, 0xb, 0x4e, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x59, 0xff, 0xf1, 0x2, 0xec, 0x3, 0x54, 0x12, 0x7, 0xb, 0x4f, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x53, 0xff, 0xf1, 0x2, 0xe9, 0x3, 0x54, 0x12, 0x7, 0xb, 0x50, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0x0, 0x0, 0x3, 0xb0, 0x2, 0xcf, 0x12, 0x7, 0xb, 0x51, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0x1, 0x38, 0x3, 0xb0, 0x1, 0x97, 0x12, 0x7, 0xb, 0x52, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x89, 0x0, 0xc5, 0x3, 0xb0, 0x2, 0x9, 0x12, 0x7, 0xb, 0x53, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6f, 0xff, 0x69, 0x1, 0x90, 0x3, 0x66, 0x12, 0x7, 0xb, 0x54, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x67, 0xff, 0x69, 0x1, 0x88, 0x3, 0x66, 0x12, 0x7, 0xb, 0x55, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x4d, 0xff, 0xf0, 0x2, 0xa1, 0x2, 0x82, 0x12, 0x7, 0x8, 0xa2, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x47, 0xff, 0xf0, 0x2, 0xd5, 0x2, 0x82, 0x12, 0x7, 0x8, 0xa8, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x47, 0xff, 0xf0, 0x2, 0xcf, 0x2, 0x82, 0x12, 0x7, 0x8, 0xb1, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x75, 0x0, 0x0, 0x3, 0x21, 0x2, 0x73, 0x12, 0x7, 0x2, 0xa5, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x47, 0xff, 0xf0, 0x2, 0xd5, 0x2, 0x82, 0x12, 0x7, 0x8, 0xa9, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x75, 0x0, 0x0, 0x2, 0xc4, 0x3, 0x67, 0x12, 0x7, 0x2, 0x72, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x75, 0x0, 0x0, 0x2, 0xe7, 0x3, 0x67, 0x12, 0x7, 0x8, 0xae, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7a, 0x0, 0x0, 0x0, 0xee, 0x3, 0x67, 0x12, 0x7, 0x2, 0xa3, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x75, 0x0, 0x0, 0x4, 0x7b, 0x2, 0x82, 0x12, 0x7, 0x8, 0xaf, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x75, 0x0, 0x0, 0x2, 0xc4, 0x2, 0x82, 0x12, 0x7, 0xb, 0x56, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x75, 0xff, 0x11, 0x2, 0xec, 0x2, 0x82, 0x12, 0x7, 0x8, 0xb5, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x75, 0x0, 0x0, 0x2, 0x90, 0x2, 0x93, 0x12, 0x7, 0x2, 0xa4, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x23, 0x0, 0x0, 0x1, 0xdb, 0x3, 0x25, 0x12, 0x7, 0x8, 0xb6, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0x0, 0x1, 0x0, 0x56, 0x0, 0x0, 0x6, 0xae, 0x5, 0xd6, 0x0, 0x23, 0x0, 0x0, 0x1, 0xe, 0x1, 0x23, 0x22, 0x0, 0x10, 0x0, 0x33, 0x32, 0x16, 0x17, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x10, 0x16, 0x33, 0x32, 0x36, 0x37, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x3, 0xdd, 0x4f, 0xb2, 0x63, 0xfe, 0xfe, 0xdb, 0x1, 0x25, 0xfe, 0x65, 0xb1, 0x4e, 0x4c, 0xad, 0x62, 0xc0, 0xcc, 0xcc, 0xc0, 0x62, 0xad, 0x4c, 0x2, 0xc4, 0xfd, 0xd3, 0x2, 0x16, 0xfd, 0xea, 0x2, 0x3a, 0xfd, 0x2f, 0x1, 0xb8, 0x36, 0x36, 0x1, 0x37, 0x2, 0x1c, 0x1, 0x37, 0x35, 0x36, 0x9f, 0x47, 0x46, 0xea, 0xfe, 0x44, 0xea, 0x46, 0x47, 0x2, 0xa, 0x80, 0xfe, 0xb5, 0x80, 0xfe, 0x6b, 0x80, 0x0, 0x3, 0x0, 0x73, 0xff, 0xa6, 0x4, 0xbe, 0x6, 0x39, 0x0, 0x27, 0x0, 0x2e, 0x0, 0x34, 0x0, 0x0, 0x1, 0x16, 0x17, 0x37, 0x33, 0x7, 0x16, 0x17, 0x15, 0x26, 0x27, 0x1, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x7, 0x23, 0x37, 0x26, 0x27, 0x7, 0x23, 0x37, 0x26, 0x27, 0x26, 0x11, 0x10, 0x37, 0x36, 0x25, 0x37, 0x33, 0x7, 0x6, 0x7, 0x6, 0x11, 0x14, 0x17, 0x1, 0x26, 0x27, 0x1, 0x16, 0x17, 0x3, 0x68, 0x41, 0x3e, 0x1e, 0x9b, 0x2f, 0x28, 0x25, 0x3a, 0x40, 0xfe, 0xc1, 0x12, 0x77, 0xd3, 0x5d, 0x61, 0xd8, 0x79, 0x1b, 0x1a, 0x12, 0x9b, 0x19, 0x41, 0x39, 0x26, 0x9b, 0x41, 0x13, 0x11, 0xb2, 0xb2, 0xa0, 0x1, 0x8, 0x15, 0x9c, 0xe3, 0x91, 0x58, 0x7d, 0x52, 0x2, 0x34, 0x3e, 0x43, 0xfe, 0xc1, 0x35, 0x41, 0x5, 0xeb, 0x8, 0x13, 0x69, 0xa5, 0x16, 0x1c, 0xd5, 0x3c, 0x29, 0xfb, 0x97, 0x5e, 0x5f, 0xd3, 0x48, 0x48, 0x2, 0x3f, 0x57, 0x12, 0x1e, 0x87, 0xe6, 0x12, 0x15, 0xcf, 0x1, 0x67, 0x1, 0x68, 0xd0, 0xb9, 0x14, 0x4b, 0xfc, 0x1f, 0x70, 0x9d, 0xfe, 0xd8, 0xee, 0x94, 0x3, 0xcb, 0x13, 0x4, 0xfb, 0x95, 0x28, 0x15, 0x0, 0x0, 0x1, 0x0, 0x60, 0xff, 0xe4, 0x4, 0xb3, 0x5, 0xf0, 0x0, 0x2c, 0x0, 0x0, 0x25, 0x36, 0x37, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x32, 0x16, 0x17, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x2, 0x11, 0x10, 0x17, 0x16, 0x17, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x1f, 0x1, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x3, 0x2e, 0x61, 0x58, 0x6a, 0x5d, 0x61, 0xd9, 0x79, 0xfe, 0xca, 0xfe, 0x9b, 0x1, 0x65, 0x1, 0x36, 0x7b, 0xd9, 0x5f, 0x5d, 0xd4, 0x77, 0xea, 0xf9, 0x7c, 0x5e, 0x99, 0x98, 0x30, 0x9a, 0x6e, 0xf, 0x26, 0x17, 0x1, 0x1a, 0x3c, 0x24, 0x80, 0x8b, 0x8a, 0x7, 0x27, 0x2f, 0x5f, 0xd3, 0x48, 0x47, 0x1, 0x9e, 0x1, 0x67, 0x1, 0x68, 0x1, 0x9f, 0x47, 0x47, 0xd5, 0x5f, 0x5e, 0xfe, 0xc7, 0xfe, 0xd8, 0xfe, 0xd9, 0x9c, 0x75, 0x1e, 0x3, 0x5d, 0x9d, 0x5c, 0x59, 0x4, 0x5, 0xaa, 0x10, 0xf, 0xb6, 0xab, 0x0, 0x0, 0x0, 0x1, 0x0, 0x85, 0x0, 0x0, 0x4, 0xcb, 0x5, 0xd5, 0x0, 0x11, 0x0, 0x0, 0x1, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x1, 0x71, 0x3, 0x5a, 0xfd, 0x70, 0x2, 0x50, 0xfd, 0xb0, 0xfa, 0xfa, 0xca, 0xec, 0x1, 0x7e, 0x4, 0x57, 0xaa, 0xfe, 0x48, 0xaa, 0xfe, 0xb5, 0x45, 0xfe, 0xc7, 0x1, 0x39, 0x45, 0x0, 0x0, 0x0, 0x1, 0x0, 0x81, 0x0, 0x0, 0x4, 0x62, 0x5, 0xf0, 0x0, 0x23, 0x0, 0x0, 0x1, 0x11, 0x21, 0x15, 0x21, 0x35, 0x33, 0x11, 0x23, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x35, 0x10, 0x36, 0x33, 0x32, 0x16, 0x17, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x2, 0x35, 0x2, 0x2d, 0xfc, 0x1f, 0xec, 0xbf, 0xbf, 0xc7, 0xc7, 0xd6, 0xe8, 0x3d, 0x97, 0x4f, 0x4c, 0x88, 0x3d, 0x94, 0x74, 0x1, 0x87, 0xfe, 0x79, 0x1, 0x8f, 0x1, 0xec, 0xfe, 0xbe, 0xaa, 0xaa, 0x1, 0x42, 0x8f, 0x8f, 0x8f, 0x5f, 0x1, 0x5, 0xf3, 0x1f, 0x1d, 0xb6, 0x29, 0x29, 0x9b, 0xd4, 0x48, 0x8f, 0x8f, 0x8f, 0x0, 0x0, 0x1, 0x0, 0xba, 0xff, 0x42, 0x7, 0x1d, 0x5, 0x1e, 0x0, 0x2b, 0x0, 0x0, 0x5, 0x23, 0x1, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x15, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x13, 0x33, 0x7, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x2, 0xcc, 0xaa, 0x1, 0x6d, 0x5, 0x34, 0x39, 0x77, 0x8d, 0x53, 0x53, 0xb9, 0xb9, 0x3e, 0x59, 0x58, 0x79, 0x7a, 0x55, 0x36, 0x25, 0x85, 0xaa, 0x58, 0x5c, 0x78, 0xaf, 0xbe, 0xb9, 0x72, 0x75, 0x8f, 0xa6, 0xb9, 0xbe, 0x3, 0x78, 0x8d, 0x47, 0x4d, 0x5f, 0x61, 0xa2, 0xfd, 0x87, 0x4, 0x60, 0xae, 0x66, 0x32, 0x31, 0x3e, 0x26, 0x3e, 0x1, 0x45, 0xd6, 0x33, 0xf6, 0xe1, 0xfd, 0x5c, 0x2, 0x9e, 0xa1, 0x9c, 0xbe, 0xa4, 0xfd, 0x87, 0x1, 0x1d, 0x0, 0x0, 0x5, 0x0, 0x75, 0x0, 0x0, 0x5, 0x87, 0x5, 0xd5, 0x0, 0x2, 0x0, 0x6, 0x0, 0x22, 0x0, 0x26, 0x0, 0x29, 0x0, 0x0, 0x1, 0x27, 0x15, 0x13, 0x27, 0x23, 0x15, 0x3, 0x21, 0x13, 0x33, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x33, 0x15, 0x23, 0x11, 0x21, 0x3, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x5, 0x17, 0x33, 0x35, 0x3, 0x17, 0x35, 0x2, 0x4b, 0x4f, 0xb6, 0x38, 0x7e, 0xc4, 0x1, 0x10, 0xd3, 0xe5, 0xc4, 0xc3, 0xc3, 0xc3, 0xc3, 0xfe, 0xf0, 0xd3, 0xe5, 0xc4, 0xc3, 0xc3, 0xc3, 0xc3, 0x2, 0x12, 0x38, 0x7e, 0x4f, 0x4f, 0x3, 0xaf, 0xce, 0xce, 0xfe, 0xf2, 0x93, 0x93, 0x3, 0x34, 0xfd, 0xda, 0x2, 0x26, 0xfd, 0xda, 0x7b, 0x93, 0x7b, 0xfd, 0xda, 0x2, 0x26, 0xfd, 0xda, 0x2, 0x26, 0x7b, 0x93, 0x7b, 0x7b, 0x93, 0x93, 0xfe, 0xf2, 0xce, 0xce, 0x0, 0x2, 0x0, 0xc9, 0xff, 0xe3, 0x9, 0xce, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x50, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x1, 0x6, 0x7, 0x6, 0x2b, 0x1, 0x11, 0x23, 0x11, 0x21, 0x32, 0x17, 0x16, 0x17, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x14, 0x16, 0x3b, 0x1, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2f, 0x1, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1f, 0x1, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x23, 0x22, 0x26, 0x35, 0x11, 0x1, 0x87, 0xef, 0x85, 0x91, 0x91, 0x85, 0x1, 0xdd, 0x6, 0x71, 0x7a, 0xec, 0xef, 0xbe, 0x1, 0xad, 0xec, 0x7a, 0x57, 0x18, 0x51, 0xae, 0x1, 0x65, 0xfe, 0x9b, 0x47, 0x6c, 0xab, 0x60, 0xbb, 0x5b, 0x7a, 0x84, 0x5f, 0xa1, 0x3c, 0xa1, 0x8f, 0xd3, 0xc2, 0x60, 0xa9, 0x48, 0x4a, 0x9e, 0x55, 0x81, 0x81, 0x5d, 0x8b, 0x3b, 0xb9, 0x9b, 0xe9, 0xcb, 0x55, 0xb7, 0x66, 0xab, 0xc9, 0x98, 0x5, 0x2f, 0xfd, 0xcf, 0x92, 0x87, 0x86, 0x92, 0xfe, 0xcc, 0xc8, 0x6a, 0x71, 0xfd, 0xa8, 0x5, 0xd5, 0x71, 0x52, 0x88, 0x1, 0x3e, 0xfe, 0xc2, 0x8f, 0xfd, 0xa0, 0x89, 0x4e, 0x23, 0x35, 0x35, 0x59, 0x51, 0x4b, 0x50, 0x25, 0xf, 0x24, 0x95, 0x82, 0x9e, 0xac, 0x1e, 0x1e, 0xae, 0x28, 0x28, 0x54, 0x54, 0x40, 0x49, 0x21, 0xe, 0x2a, 0x99, 0x89, 0x9c, 0xb6, 0x23, 0x23, 0x1, 0x9f, 0xd2, 0x2, 0x60, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc9, 0xff, 0xe3, 0x8, 0x33, 0x5, 0xd5, 0x0, 0x7, 0x0, 0x45, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x36, 0x10, 0x26, 0x23, 0x1, 0x17, 0x23, 0x3, 0x2e, 0x1, 0x2b, 0x1, 0x11, 0x23, 0x11, 0x21, 0x20, 0x16, 0x15, 0x14, 0x6, 0x7, 0x1e, 0x1, 0x1f, 0x1, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2f, 0x1, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1f, 0x1, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x22, 0x27, 0x26, 0x1, 0x93, 0xfe, 0x92, 0x95, 0x95, 0x92, 0x2, 0xbf, 0x4, 0xd9, 0xbf, 0x4a, 0x8b, 0x78, 0xdc, 0xca, 0x1, 0xc8, 0x1, 0x0, 0xfc, 0x83, 0x7d, 0x41, 0x7b, 0x3e, 0x5b, 0x62, 0x60, 0x63, 0x61, 0x82, 0x8c, 0x65, 0xab, 0x40, 0xab, 0x98, 0xe0, 0xce, 0x66, 0xb4, 0x4c, 0x4e, 0xa8, 0x5a, 0x89, 0x89, 0x62, 0x94, 0x3f, 0xc4, 0xa5, 0xf7, 0xd8, 0x5a, 0x61, 0x2c, 0x5, 0x2f, 0xfd, 0xee, 0x87, 0x1, 0x6, 0x85, 0xfa, 0xd8, 0x7, 0x1, 0x7f, 0x96, 0x62, 0xfd, 0x89, 0x5, 0xd5, 0xd6, 0xd8, 0x8d, 0xba, 0x24, 0x16, 0x90, 0x7e, 0xb4, 0x33, 0x19, 0x1b, 0x59, 0x51, 0x4b, 0x50, 0x25, 0xf, 0x24, 0x95, 0x82, 0x9e, 0xac, 0x1e, 0x1e, 0xae, 0x28, 0x28, 0x54, 0x54, 0x40, 0x49, 0x21, 0xe, 0x2a, 0x99, 0x89, 0x9c, 0xb6, 0x12, 0x8, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0x3b, 0x0, 0x0, 0x7, 0xae, 0x5, 0xd5, 0x0, 0x1f, 0x0, 0x22, 0x0, 0x26, 0x0, 0x29, 0x0, 0x2d, 0x0, 0x31, 0x0, 0x0, 0x13, 0x27, 0x23, 0x35, 0x33, 0x27, 0x33, 0x17, 0x21, 0x37, 0x33, 0x17, 0x21, 0x37, 0x33, 0x7, 0x33, 0x15, 0x23, 0x7, 0x33, 0x15, 0x23, 0x3, 0x23, 0x3, 0x23, 0x3, 0x23, 0x3, 0x23, 0x35, 0x5, 0x1b, 0x1, 0x1, 0x17, 0x21, 0x37, 0x1, 0x1b, 0x2, 0x7, 0x33, 0x27, 0x21, 0x17, 0x21, 0x37, 0xb6, 0x1e, 0x5d, 0x3a, 0x31, 0xcc, 0x30, 0x2, 0x13, 0x30, 0xe3, 0x30, 0x2, 0x13, 0x30, 0xcd, 0x31, 0x39, 0x5d, 0x1d, 0x7a, 0x9e, 0xe1, 0xfe, 0xda, 0xc3, 0xdc, 0xfe, 0xe0, 0x9f, 0x4, 0xc0, 0xa5, 0xa5, 0xfe, 0x75, 0x1d, 0x1, 0x91, 0x1d, 0xfb, 0x20, 0xa5, 0xa5, 0xe5, 0x1d, 0x7d, 0x1c, 0xfd, 0x4c, 0x1d, 0x1, 0x91, 0x1d, 0x4, 0xf, 0x75, 0x8f, 0xc2, 0xc2, 0xc2, 0xc2, 0xc2, 0xc2, 0x8f, 0x75, 0x8f, 0xfc, 0x80, 0x3, 0x80, 0xfc, 0x80, 0x3, 0x80, 0x8f, 0x8f, 0xfd, 0x67, 0x2, 0x99, 0x1, 0x4, 0x75, 0x75, 0xfe, 0xfc, 0xfd, 0x67, 0x2, 0x99, 0x1, 0x4, 0x75, 0x75, 0x75, 0x75, 0x0, 0x0, 0x0, 0x2, 0x0, 0x5f, 0xff, 0xe3, 0x5, 0xf1, 0x5, 0xd5, 0x0, 0xd, 0x0, 0x1b, 0x0, 0x0, 0x13, 0x25, 0x20, 0x0, 0x19, 0x1, 0x23, 0x11, 0x34, 0x26, 0x23, 0x21, 0x11, 0x23, 0x29, 0x1, 0x22, 0x0, 0x19, 0x1, 0x33, 0x11, 0x14, 0x16, 0x33, 0x21, 0x3, 0x33, 0x5f, 0x2, 0x7, 0x0, 0xff, 0x1, 0x6, 0xb8, 0x9d, 0xb0, 0xfe, 0xb1, 0xb8, 0x5, 0x8e, 0xfd, 0xfd, 0xff, 0xfe, 0xfa, 0xb8, 0x9d, 0xb0, 0x1, 0x53, 0x4, 0xb8, 0x5, 0xd2, 0x3, 0xfe, 0xd6, 0xfe, 0xdc, 0xfe, 0x91, 0x1, 0x56, 0xf0, 0xd3, 0xfa, 0xb2, 0x1, 0x2a, 0x1, 0x24, 0x1, 0x6f, 0xfe, 0xaa, 0xf0, 0xd3, 0x5, 0x4e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0xc0, 0x4, 0xf4, 0x6, 0x14, 0x10, 0x26, 0x0, 0xd3, 0x0, 0x0, 0x10, 0x7, 0x2, 0x8f, 0x0, 0x8a, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xff, 0xe3, 0x4, 0x8f, 0x5, 0xf0, 0x0, 0x31, 0x1, 0x1c, 0x40, 0x3a, 0x20, 0x12, 0xd3, 0x22, 0x10, 0x2b, 0x7, 0xd3, 0x9, 0x19, 0xa1, 0x1a, 0xae, 0x16, 0x95, 0x1d, 0x1, 0xa1, 0x0, 0xae, 0x4, 0x95, 0x2f, 0x91, 0x1d, 0x8c, 0x29, 0x9, 0x32, 0x2b, 0x22, 0x21, 0x29, 0x23, 0x26, 0x12, 0x10, 0xa, 0x3, 0xd, 0x9, 0x11, 0x8, 0x2c, 0x20, 0x26, 0x13, 0x7, 0x11, 0x8, 0x11, 0xd, 0x1c, 0x19, 0x0, 0x26, 0x2a, 0x21, 0x2f, 0x3c, 0xd4, 0xc4, 0x32, 0xfc, 0xc4, 0xc4, 0x12, 0x39, 0x39, 0x12, 0x39, 0x39, 0x11, 0x12, 0x39, 0x11, 0x17, 0x39, 0x12, 0x39, 0x39, 0x11, 0x39, 0x39, 0x31, 0x0, 0x10, 0xc4, 0x32, 0xe4, 0xf4, 0xec, 0xf4, 0xec, 0x10, 0xee, 0xf6, 0xee, 0x10, 0xee, 0x32, 0xdd, 0x3c, 0xee, 0x32, 0x30, 0x1, 0x4b, 0xb0, 0x9, 0x54, 0x4b, 0xb0, 0xc, 0x54, 0x5b, 0x4b, 0xb0, 0xd, 0x54, 0x5b, 0x4b, 0xb0, 0xf, 0x54, 0x5b, 0x4b, 0xb0, 0x17, 0x54, 0x5b, 0x4b, 0xb0, 0x18, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x32, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x32, 0x0, 0x32, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x40, 0x7a, 0xe, 0x0, 0xe, 0x1, 0xb, 0x2, 0xb, 0x31, 0x54, 0x14, 0x69, 0xc, 0x6c, 0xe, 0x6e, 0xf, 0x6f, 0x10, 0x6f, 0x11, 0x6f, 0x12, 0x6f, 0x13, 0x69, 0x14, 0x6b, 0x1f, 0x6f, 0x20, 0x6f, 0x21, 0x6f, 0x22, 0x6f, 0x23, 0x6e, 0x24, 0x6c, 0x25, 0x69, 0x27, 0x69, 0x2d, 0x9f, 0x7, 0x9f, 0x8, 0x9f, 0x9, 0x9f, 0xa, 0x9f, 0xb, 0x9f, 0xc, 0x9f, 0xd, 0x9f, 0xe, 0x9f, 0xf, 0x9f, 0x10, 0x9f, 0x11, 0x9f, 0x12, 0x9f, 0x13, 0x96, 0x1f, 0x9f, 0x20, 0x9f, 0x21, 0x9f, 0x22, 0x9f, 0x23, 0x9f, 0x24, 0x9f, 0x25, 0x9f, 0x26, 0x9f, 0x27, 0x9f, 0x28, 0x9f, 0x29, 0x9f, 0x2a, 0x9f, 0x2b, 0x9f, 0x2c, 0x9d, 0x2d, 0x32, 0x0, 0x8, 0x0, 0x9, 0x10, 0x8, 0x10, 0x9, 0x20, 0x8, 0x20, 0x9, 0x55, 0x15, 0x53, 0x1e, 0x6a, 0x15, 0x67, 0x1f, 0xa, 0x5d, 0x0, 0x5d, 0x1, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x7, 0x21, 0x7, 0x21, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x21, 0x7, 0x21, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x0, 0x3, 0x23, 0x37, 0x33, 0x34, 0x26, 0x35, 0x34, 0x36, 0x35, 0x23, 0x37, 0x33, 0x12, 0x0, 0x33, 0x32, 0x16, 0x4, 0x8f, 0x5b, 0xa9, 0x66, 0x9d, 0xca, 0x20, 0x2, 0x41, 0x37, 0xfd, 0xe6, 0x2, 0x1, 0x1, 0x2, 0x1, 0xbe, 0x38, 0xfe, 0x8a, 0x20, 0xca, 0x9d, 0x66, 0xa9, 0x5b, 0x59, 0xb9, 0x60, 0xed, 0xfe, 0xcb, 0x28, 0xd3, 0x37, 0x8b, 0x1, 0x1, 0xc2, 0x37, 0x9c, 0x28, 0x1, 0x36, 0xec, 0x62, 0xb9, 0x5, 0x62, 0xd5, 0x69, 0x5a, 0xc8, 0xbb, 0x7b, 0x18, 0x2e, 0x23, 0x20, 0x2e, 0x18, 0x7b, 0xbb, 0xca, 0x5a, 0x69, 0xd3, 0x48, 0x48, 0x1, 0x22, 0x1, 0x3, 0x7b, 0x17, 0x2f, 0x20, 0x23, 0x2f, 0x17, 0x7b, 0x1, 0x1, 0x1, 0x22, 0x47, 0x0, 0x1, 0x0, 0x28, 0x0, 0x0, 0x5, 0x16, 0x5, 0xd5, 0x0, 0x11, 0x0, 0x0, 0x13, 0x11, 0x33, 0x11, 0x1, 0x33, 0x1, 0x21, 0x15, 0x21, 0x1, 0x23, 0x1, 0x11, 0x23, 0x11, 0x23, 0x35, 0xbf, 0xbd, 0x2, 0x75, 0xf3, 0xfd, 0x80, 0x1, 0xaa, 0xfe, 0x58, 0x2, 0xb0, 0xf9, 0xfd, 0x5f, 0xbd, 0x97, 0x3, 0x54, 0x2, 0x81, 0xfd, 0x89, 0x2, 0x77, 0xfd, 0x7f, 0x73, 0xfd, 0x1f, 0x2, 0xcf, 0xfd, 0x31, 0x2, 0xe1, 0x73, 0x0, 0x0, 0x0, 0x1, 0x0, 0x14, 0x0, 0x0, 0x5, 0x3, 0x5, 0xd5, 0x0, 0x17, 0x0, 0x0, 0x1, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x37, 0x17, 0x5, 0x15, 0x37, 0x17, 0x5, 0x11, 0x23, 0x11, 0x7, 0x27, 0x25, 0x35, 0x7, 0x27, 0x2, 0x26, 0xfd, 0xee, 0x4, 0xef, 0xfd, 0xee, 0xe5, 0x50, 0xfe, 0xcb, 0xe6, 0x50, 0xfe, 0xca, 0xcb, 0xe7, 0x4d, 0x1, 0x34, 0xe8, 0x4d, 0x3, 0x8d, 0x1, 0x9e, 0xaa, 0xaa, 0xfe, 0xf1, 0xa1, 0x6f, 0xd8, 0x88, 0xa2, 0x6f, 0xd9, 0xfd, 0xb8, 0x1, 0xba, 0xa1, 0x6e, 0xd9, 0x88, 0xa2, 0x6e, 0x0, 0x0, 0x0, 0x5, 0x0, 0xd0, 0xfe, 0x39, 0x9, 0xa4, 0x5, 0xf0, 0x0, 0x16, 0x0, 0x2d, 0x0, 0x62, 0x0, 0x77, 0x0, 0x83, 0x0, 0x0, 0x1, 0x27, 0x13, 0x36, 0x37, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x13, 0x22, 0x7, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x36, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x5, 0x36, 0x37, 0x13, 0x6, 0x7, 0x6, 0x7, 0x6, 0x7, 0x27, 0x3e, 0x1, 0x37, 0x36, 0x33, 0x32, 0x4, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x2e, 0x1, 0x27, 0x26, 0x2f, 0x1, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x1, 0x3, 0x6, 0x7, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x1, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x7, 0x8, 0xb9, 0xa2, 0x22, 0x3e, 0x31, 0x96, 0x61, 0x4a, 0x7b, 0x25, 0x41, 0x30, 0x31, 0x51, 0x5b, 0x57, 0x37, 0x3e, 0x2f, 0x1e, 0xf7, 0x57, 0x31, 0xc, 0x10, 0xa, 0x17, 0x20, 0x3e, 0x24, 0x3c, 0x18, 0x14, 0x13, 0x11, 0x1d, 0xc, 0x18, 0x14, 0xf9, 0xb9, 0xc, 0xb, 0xb4, 0x2e, 0x20, 0x23, 0x18, 0x15, 0x11, 0xae, 0x1a, 0x64, 0x43, 0x77, 0xaf, 0xcb, 0x1, 0x2d, 0x5e, 0x55, 0x52, 0x1c, 0x1a, 0x42, 0x24, 0x60, 0x3e, 0x44, 0x4c, 0x5f, 0x4b, 0x3e, 0x2e, 0x33, 0x62, 0x20, 0x40, 0xf, 0xf, 0x12, 0x15, 0x4e, 0x5c, 0x75, 0x4c, 0x4d, 0x84, 0x69, 0x49, 0x1, 0xe4, 0xb1, 0x19, 0x15, 0x28, 0x53, 0x33, 0x39, 0x35, 0x6c, 0x9a, 0x39, 0x2c, 0x1c, 0x18, 0x1e, 0x1f, 0x38, 0x84, 0xfd, 0x47, 0x28, 0x2f, 0x26, 0xe, 0xd, 0x17, 0x17, 0x20, 0x2d, 0xfe, 0x39, 0x29, 0x2, 0xd0, 0x97, 0x69, 0x52, 0x6d, 0x3a, 0x33, 0x58, 0x92, 0x77, 0x64, 0x67, 0x37, 0x3f, 0x20, 0x17, 0x32, 0x1, 0xf8, 0x6a, 0x1a, 0x37, 0x23, 0x3d, 0x35, 0x28, 0x36, 0x24, 0x20, 0x1b, 0x36, 0x32, 0x39, 0x54, 0x2f, 0x14, 0xc, 0xb, 0xb7, 0x28, 0x32, 0x3, 0x4d, 0xa, 0x14, 0x16, 0x21, 0x1d, 0x3a, 0x35, 0x53, 0x7d, 0x24, 0x40, 0x7b, 0x6d, 0x62, 0xf5, 0x81, 0x71, 0x8c, 0x82, 0x7e, 0x45, 0x73, 0x2f, 0x34, 0x18, 0x1d, 0x9, 0xa, 0x2d, 0x13, 0x26, 0xa, 0xa, 0x22, 0x17, 0x54, 0x41, 0x42, 0x60, 0x5d, 0x85, 0x3, 0x92, 0xfc, 0x9b, 0x7c, 0x40, 0x1b, 0x38, 0x16, 0x19, 0x86, 0x6e, 0x52, 0x80, 0x6b, 0x63, 0x64, 0x5d, 0x61, 0x43, 0x9c, 0xfb, 0xa0, 0x22, 0xe, 0xe, 0xf, 0x18, 0xf, 0xe, 0x0, 0x0, 0x2, 0x0, 0x2e, 0xff, 0xe3, 0x4, 0x8e, 0x5, 0xf0, 0x0, 0x29, 0x0, 0x35, 0x0, 0x0, 0x13, 0x27, 0x36, 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x37, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x35, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x6, 0x23, 0x22, 0x27, 0x26, 0x23, 0x22, 0x25, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0xb9, 0x8b, 0x93, 0x6f, 0x7c, 0x40, 0x58, 0x22, 0x30, 0x37, 0xe3, 0x50, 0x59, 0x88, 0x74, 0x61, 0x54, 0x6b, 0xb5, 0x7e, 0x6a, 0xfc, 0x86, 0x5b, 0x49, 0x77, 0x89, 0x6d, 0x71, 0x4a, 0x32, 0x35, 0x33, 0x2, 0x30, 0x44, 0x1b, 0x23, 0x32, 0x34, 0x21, 0x19, 0x2, 0x4, 0x60, 0xf0, 0x4e, 0x6b, 0x42, 0xb1, 0xfe, 0xac, 0x58, 0x60, 0x60, 0x53, 0xb1, 0xe3, 0xab, 0xa3, 0xbf, 0xc2, 0x86, 0x71, 0xa2, 0x4a, 0x3c, 0x93, 0x58, 0x72, 0x7e, 0x68, 0x46, 0xd9, 0x6c, 0xaf, 0x56, 0x31, 0x3f, 0x3f, 0x30, 0x57, 0xa6, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x44, 0x0, 0x0, 0x4, 0xa2, 0x5, 0xd5, 0x0, 0x1d, 0x0, 0x24, 0x0, 0x2b, 0x0, 0x31, 0x0, 0x0, 0x13, 0x35, 0x23, 0x35, 0x33, 0x11, 0x21, 0x32, 0x17, 0x16, 0x17, 0x33, 0x15, 0x23, 0x16, 0x14, 0x7, 0x33, 0x15, 0x23, 0x6, 0x7, 0x6, 0x2b, 0x1, 0x11, 0x23, 0x11, 0x23, 0x35, 0x5, 0x21, 0x15, 0x33, 0x32, 0x37, 0x36, 0x1, 0x21, 0x26, 0x27, 0x26, 0x2b, 0x1, 0x5, 0x21, 0x15, 0x21, 0x36, 0x34, 0x97, 0x52, 0x52, 0x1, 0xc8, 0xfb, 0x81, 0x4c, 0x1f, 0x5c, 0x48, 0x1, 0x1, 0x47, 0x5a, 0x1f, 0x4d, 0x81, 0xfb, 0xfe, 0xca, 0x53, 0x3, 0x1c, 0xfe, 0x1, 0xfe, 0x8d, 0x4d, 0x17, 0xfe, 0x11, 0x1, 0xff, 0x10, 0x17, 0x4d, 0x8d, 0xfe, 0x2, 0x23, 0xfd, 0xdd, 0x2, 0x23, 0x2, 0x3, 0xec, 0x56, 0x74, 0x1, 0x1f, 0x71, 0x44, 0x6a, 0x74, 0x15, 0x2c, 0x15, 0x74, 0x6b, 0x44, 0x71, 0xfd, 0xa8, 0x3, 0x78, 0x74, 0x74, 0x7a, 0x49, 0x16, 0x1, 0x59, 0x1b, 0x15, 0x49, 0xed, 0x56, 0x15, 0x2c, 0x0, 0x0, 0x2, 0x0, 0x5d, 0xff, 0x5b, 0x4, 0xb1, 0x6, 0x78, 0x0, 0x24, 0x0, 0x2d, 0x0, 0x0, 0x5, 0x23, 0x35, 0x26, 0x27, 0x26, 0x11, 0x10, 0x37, 0x36, 0x37, 0x35, 0x33, 0x15, 0x16, 0x17, 0x16, 0x17, 0x15, 0x26, 0x27, 0x26, 0x27, 0x11, 0x36, 0x37, 0x36, 0x37, 0x11, 0x23, 0x35, 0x21, 0x11, 0x6, 0x7, 0x6, 0x7, 0x27, 0x11, 0x6, 0x7, 0x6, 0x11, 0x10, 0x17, 0x16, 0x2, 0xf9, 0x8c, 0xdf, 0x89, 0xa8, 0xa8, 0x89, 0xdf, 0x8c, 0x69, 0x60, 0x70, 0x5e, 0x5f, 0x6b, 0x62, 0x6b, 0x4e, 0x3f, 0x48, 0x39, 0x78, 0x1, 0x22, 0x63, 0x78, 0x68, 0x75, 0x8c, 0x85, 0x4f, 0x6f, 0x6f, 0x4f, 0xa5, 0x8f, 0x1f, 0xa7, 0xcc, 0x1, 0x6d, 0x1, 0x6e, 0xcd, 0xa6, 0x1f, 0x8f, 0x89, 0x4, 0x1f, 0x24, 0x46, 0xd7, 0x5f, 0x30, 0x2c, 0x4, 0xfb, 0x3f, 0x2, 0x11, 0x12, 0x27, 0x1, 0x91, 0xa6, 0xfd, 0x7f, 0x53, 0x2a, 0x25, 0x5, 0xb2, 0x4, 0xa7, 0x20, 0x6c, 0x99, 0xfe, 0xd1, 0xfe, 0xd2, 0x99, 0x6c, 0x0, 0x0, 0x3, 0x0, 0x10, 0x0, 0x0, 0x5, 0x5, 0x5, 0xd5, 0x0, 0x17, 0x0, 0x1b, 0x0, 0x1e, 0x0, 0x0, 0x13, 0x35, 0x21, 0x13, 0x33, 0x13, 0x21, 0x15, 0x21, 0x17, 0x33, 0x15, 0x23, 0x13, 0x23, 0x3, 0x21, 0x3, 0x23, 0x13, 0x23, 0x35, 0x33, 0x37, 0x33, 0x7, 0x21, 0x2f, 0x1, 0x33, 0x3, 0x33, 0x1, 0x31, 0xb5, 0xe5, 0xb5, 0x1, 0x30, 0xfe, 0xfb, 0x47, 0xbe, 0x93, 0xb5, 0xd2, 0xaa, 0xfe, 0x6, 0xaa, 0xd5, 0xb5, 0x92, 0xbd, 0x49, 0xc1, 0x43, 0x1, 0xa9, 0x44, 0xfa, 0xd2, 0x69, 0x3, 0x52, 0x7b, 0x2, 0x8, 0xfd, 0xf8, 0x7b, 0xcf, 0x7b, 0xfd, 0xf8, 0x2, 0x8, 0xfd, 0xf8, 0x2, 0x8, 0x7b, 0xcf, 0xcf, 0xcf, 0x7b, 0x1, 0x41, 0x0, 0x0, 0x0, 0x1, 0x0, 0x75, 0xff, 0xe3, 0x5, 0xbc, 0x5, 0xf0, 0x0, 0x36, 0x0, 0x0, 0x1, 0x36, 0x37, 0x36, 0x37, 0x21, 0x35, 0x21, 0x36, 0x37, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x4, 0x15, 0x14, 0x7, 0x33, 0x15, 0x21, 0x6, 0xf, 0x1, 0x21, 0x15, 0x21, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x20, 0x24, 0x35, 0x34, 0x37, 0x23, 0x35, 0x1, 0x5c, 0x4, 0x16, 0x4a, 0x80, 0xfe, 0x35, 0x3, 0x92, 0xc, 0xd, 0x3b, 0xb3, 0xa5, 0x5f, 0xcc, 0x73, 0x72, 0xda, 0x69, 0xf5, 0x1, 0x17, 0x19, 0xaf, 0xfe, 0xfd, 0x67, 0xd8, 0x43, 0x2, 0x85, 0xfc, 0x53, 0x31, 0xbc, 0xad, 0x72, 0xec, 0x7b, 0x80, 0xef, 0x6a, 0xfe, 0xe7, 0xfe, 0xdd, 0x12, 0xa8, 0x2, 0xa1, 0x7, 0x16, 0x4a, 0x2c, 0x7b, 0x8, 0x9, 0x2b, 0x6b, 0x76, 0x80, 0x36, 0x37, 0xc5, 0x26, 0x26, 0xe4, 0xc6, 0x55, 0x42, 0x7b, 0x5c, 0x2a, 0xd, 0x7b, 0x3b, 0x5e, 0x7e, 0x88, 0x46, 0x45, 0xd0, 0x2f, 0x30, 0xe0, 0xd9, 0x4b, 0x3f, 0x7b, 0x0, 0x2, 0x0, 0xa5, 0xfe, 0xd3, 0x4, 0x72, 0x6, 0x14, 0x0, 0x1f, 0x0, 0x2a, 0x0, 0x0, 0x1, 0x15, 0x2e, 0x1, 0x23, 0x11, 0x32, 0x36, 0x37, 0x15, 0x6, 0x7, 0x6, 0x7, 0x11, 0x23, 0x11, 0x26, 0x27, 0x26, 0x13, 0x35, 0x10, 0x37, 0x36, 0x37, 0x35, 0x33, 0x15, 0x16, 0x17, 0x16, 0x1, 0x3, 0x6, 0x7, 0x6, 0x7, 0x6, 0x17, 0x16, 0x17, 0x16, 0x4, 0x72, 0x5c, 0xa8, 0x65, 0x65, 0xa8, 0x5c, 0x5a, 0x5c, 0x58, 0x5b, 0x64, 0xb9, 0x74, 0xd4, 0x1, 0xd4, 0x79, 0xb2, 0x65, 0x5d, 0x58, 0x5c, 0xfe, 0x8b, 0x1, 0x5b, 0x43, 0x76, 0xf, 0xe, 0xe, 0x19, 0x6c, 0x43, 0x4, 0xa4, 0xd5, 0x69, 0x5a, 0xfb, 0xf1, 0x5a, 0x69, 0xd3, 0x48, 0x24, 0x22, 0x2, 0xfe, 0xf0, 0x1, 0x15, 0x16, 0x76, 0xd6, 0x1, 0x39, 0x11, 0x1, 0x42, 0xcb, 0x74, 0x17, 0xe8, 0xe2, 0x2, 0x22, 0x24, 0xfb, 0xa4, 0x3, 0xf9, 0x16, 0x43, 0x75, 0xaa, 0xa1, 0x66, 0xb4, 0x6c, 0x43, 0x0, 0x0, 0x0, 0x2, 0x0, 0x14, 0x0, 0x0, 0x5, 0x3, 0x5, 0xd5, 0x0, 0x3, 0x0, 0xb, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x14, 0x4, 0xef, 0xfb, 0x11, 0x4, 0xef, 0xfd, 0xee, 0xcb, 0xfd, 0xee, 0x5, 0xd5, 0xaa, 0x78, 0xaa, 0xfb, 0xf7, 0x4, 0x9, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6a, 0x0, 0x0, 0x4, 0xaf, 0x5, 0xd5, 0x0, 0x26, 0x0, 0x0, 0x13, 0x37, 0x21, 0x7, 0x21, 0x16, 0x17, 0x21, 0x7, 0x23, 0x6, 0x7, 0x6, 0x7, 0x16, 0x17, 0x16, 0x17, 0x13, 0x23, 0x3, 0x26, 0x27, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x37, 0x21, 0x37, 0x21, 0x26, 0x27, 0x26, 0x23, 0x6a, 0x37, 0x4, 0xe, 0x37, 0xfe, 0x9e, 0x4f, 0x15, 0x1, 0x35, 0x37, 0xf6, 0x5, 0x3d, 0x41, 0x7d, 0x41, 0x3d, 0x3b, 0x41, 0xcd, 0xd9, 0xbf, 0x4b, 0x44, 0x46, 0x78, 0xdc, 0xfe, 0x92, 0x4a, 0x44, 0x6, 0xfd, 0xbe, 0x37, 0x2, 0x0, 0x12, 0x2d, 0x4a, 0x92, 0x5, 0x5a, 0x7b, 0x7b, 0x4e, 0x81, 0x7b, 0x7e, 0x55, 0x5d, 0x24, 0x16, 0x48, 0x44, 0x82, 0xfe, 0x68, 0x1, 0x7f, 0x97, 0x30, 0x31, 0xa6, 0x43, 0x3e, 0x72, 0x7b, 0x43, 0x34, 0x58, 0x0, 0x0, 0x0, 0x1, 0x0, 0xa, 0x0, 0x5, 0x5, 0x32, 0x5, 0xda, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x10, 0x7, 0x6, 0x21, 0x23, 0x11, 0x7, 0x27, 0x25, 0x35, 0x7, 0x27, 0x25, 0x11, 0x33, 0x11, 0x37, 0x17, 0x5, 0x15, 0x37, 0x17, 0x5, 0x11, 0x20, 0x0, 0x11, 0x5, 0x32, 0xcc, 0xcc, 0xfe, 0x50, 0xac, 0xe6, 0x4e, 0x1, 0x34, 0xe8, 0x4c, 0x1, 0x34, 0xca, 0xe6, 0x50, 0xfe, 0xca, 0xe8, 0x50, 0xfe, 0xc8, 0x1, 0x35, 0x1, 0x1f, 0x2, 0xf1, 0xfe, 0x7e, 0xb5, 0xb5, 0x2, 0x1e, 0xa1, 0x6e, 0xd8, 0x89, 0xa2, 0x6e, 0xd9, 0x1, 0xe4, 0xfe, 0xaa, 0xa2, 0x6f, 0xd9, 0x88, 0xa3, 0x6f, 0xda, 0xfd, 0xfb, 0x1, 0x18, 0x1, 0x2e, 0x0, 0x0, 0x0, 0x1, 0xfc, 0x12, 0x5, 0x15, 0xff, 0xcb, 0x6, 0x14, 0x0, 0x5, 0x0, 0x0, 0x1, 0x13, 0x33, 0x7, 0x21, 0x15, 0xfc, 0x12, 0xda, 0x7e, 0x84, 0x2, 0xe5, 0x5, 0x15, 0x0, 0xff, 0x9b, 0x64, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfc, 0x3d, 0x5, 0x15, 0xff, 0xf6, 0x6, 0x14, 0x0, 0x5, 0x0, 0x0, 0x3, 0x21, 0x35, 0x21, 0x27, 0x33, 0xa, 0xfc, 0x47, 0x2, 0xe5, 0x84, 0x7e, 0x5, 0x15, 0x64, 0x9b, 0x0, 0x0, 0x1, 0xfc, 0x3d, 0x4, 0x7a, 0xff, 0xcb, 0x6, 0x14, 0x0, 0x8, 0x0, 0x0, 0x3, 0x21, 0x17, 0x23, 0x27, 0x37, 0x33, 0x7, 0x21, 0x35, 0xfd, 0x1b, 0x84, 0x7e, 0xaf, 0xaf, 0x7e, 0x84, 0x2, 0xe5, 0x5, 0x15, 0x9b, 0xcd, 0xcd, 0x9b, 0x0, 0x1, 0xfc, 0x3d, 0x4, 0x7a, 0xff, 0xcb, 0x6, 0x14, 0x0, 0x8, 0x0, 0x0, 0x1, 0x35, 0x21, 0x27, 0x33, 0x17, 0x7, 0x23, 0x37, 0xfc, 0x3d, 0x2, 0xe5, 0x84, 0x7e, 0xaf, 0xaf, 0x7e, 0x84, 0x5, 0x15, 0x64, 0x9b, 0xcd, 0xcd, 0x9b, 0x0, 0x4, 0xfc, 0x13, 0x4, 0x7b, 0xff, 0xec, 0x6, 0x10, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xc, 0x0, 0x0, 0x1, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x17, 0xfc, 0x13, 0xcb, 0xcb, 0x3, 0xe, 0xcb, 0xcb, 0xfe, 0x79, 0xcb, 0xcb, 0x66, 0x6, 0x10, 0xca, 0xca, 0xca, 0xca, 0xca, 0xcb, 0x0, 0x0, 0x0, 0x5, 0xfb, 0x50, 0x4, 0x7b, 0x0, 0xb0, 0x6, 0x10, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x10, 0x0, 0x0, 0x3, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x5, 0x1b, 0xcb, 0xcb, 0xfb, 0x6b, 0xcb, 0xcb, 0x3, 0xe, 0xcb, 0xcb, 0xfe, 0x79, 0xcb, 0xcb, 0x1, 0x29, 0x6, 0x10, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xcb, 0x0, 0x0, 0x0, 0x1, 0xfc, 0x3d, 0x4, 0x7a, 0xff, 0xcb, 0x6, 0x14, 0x0, 0xd, 0x0, 0x0, 0x1, 0x17, 0x23, 0x27, 0x37, 0x33, 0x7, 0x21, 0x27, 0x33, 0x17, 0x7, 0x23, 0x37, 0xfc, 0xe6, 0x84, 0x7e, 0xaf, 0xaf, 0x7e, 0x84, 0x2, 0x3c, 0x84, 0x7e, 0xaf, 0xaf, 0x7e, 0x84, 0x5, 0x15, 0x9b, 0xcd, 0xcd, 0x9b, 0x9b, 0xcd, 0xcd, 0x9b, 0x0, 0x0, 0x0, 0x4, 0x0, 0x43, 0xff, 0xcf, 0x7, 0xd8, 0x6, 0x4, 0x0, 0xa, 0x0, 0x24, 0x0, 0x28, 0x0, 0x42, 0x0, 0x0, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3d, 0x1, 0x37, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x17, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x25, 0x33, 0x1, 0x23, 0x1, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x2, 0xf, 0xa0, 0x70, 0x53, 0x48, 0x66, 0x7f, 0xbc, 0xbc, 0x3, 0x99, 0x6d, 0x8d, 0xa6, 0xcd, 0xc6, 0xa9, 0x6f, 0x67, 0x44, 0x81, 0x63, 0x5c, 0x94, 0x47, 0xc2, 0xc1, 0x2, 0xb0, 0xd8, 0xfc, 0x44, 0xd8, 0x5, 0xa9, 0x5e, 0x6f, 0x38, 0x79, 0x89, 0x89, 0x79, 0x38, 0x6f, 0x5e, 0x49, 0x82, 0x49, 0xca, 0xec, 0xee, 0xd1, 0x43, 0x80, 0x3, 0xf6, 0x42, 0x52, 0x43, 0x49, 0x94, 0x82, 0xa, 0x4d, 0xfe, 0xd, 0x3e, 0x5, 0x4f, 0x9e, 0x81, 0x96, 0x9b, 0x6, 0x57, 0x5c, 0x20, 0x37, 0xb2, 0x24, 0x1e, 0xca, 0xfa, 0xf9, 0xcb, 0x3, 0x84, 0xb2, 0x34, 0x1e, 0x9c, 0x94, 0x93, 0x9d, 0x1f, 0x34, 0xb1, 0x22, 0x1b, 0xfa, 0xd1, 0xd4, 0xf9, 0x1b, 0x0, 0x4, 0x0, 0x43, 0xff, 0xcf, 0x7, 0xfe, 0x6, 0x4, 0x0, 0x20, 0x0, 0x2b, 0x0, 0x45, 0x0, 0x49, 0x0, 0x0, 0x1, 0x2e, 0x1, 0x34, 0x36, 0x4, 0x17, 0x15, 0x27, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x1f, 0x1, 0x1e, 0x1, 0x14, 0x6, 0x23, 0x26, 0x27, 0x35, 0x17, 0x16, 0x33, 0x32, 0x35, 0x34, 0x26, 0x27, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3d, 0x1, 0x37, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x17, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x25, 0x33, 0x1, 0x23, 0x6, 0x56, 0x87, 0x7f, 0xb9, 0x1, 0x4e, 0x7a, 0x24, 0x70, 0x81, 0xb4, 0x3b, 0x69, 0x30, 0x99, 0x89, 0xca, 0xaa, 0xaf, 0x91, 0x25, 0x93, 0x8b, 0xb1, 0x3d, 0x7b, 0xfb, 0x89, 0xa0, 0x70, 0x53, 0x48, 0x66, 0x7f, 0xbc, 0xbc, 0x3, 0x99, 0x6d, 0x8d, 0xa6, 0xcd, 0xc6, 0xa9, 0x6f, 0x67, 0x44, 0x81, 0x63, 0x5c, 0x94, 0x47, 0xc2, 0xc1, 0x2, 0xb0, 0xd8, 0xfc, 0x44, 0xd8, 0x1, 0x7d, 0x1c, 0x7c, 0xef, 0x8e, 0x1, 0x34, 0xbc, 0x12, 0x39, 0x64, 0x24, 0x2c, 0x18, 0xa, 0x21, 0x7f, 0xf3, 0x95, 0x6, 0x35, 0xca, 0x13, 0x4c, 0x66, 0x2c, 0x31, 0x1b, 0x2, 0x84, 0x42, 0x52, 0x43, 0x49, 0x94, 0x82, 0xa, 0x4d, 0xfe, 0xd, 0x3e, 0x5, 0x4f, 0x9e, 0x81, 0x96, 0x9b, 0x6, 0x57, 0x5c, 0x20, 0x37, 0xb2, 0x24, 0x1e, 0xca, 0xfa, 0xf9, 0xcb, 0x0, 0x0, 0x2, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x27, 0x5, 0xf0, 0x0, 0x18, 0x0, 0x21, 0x0, 0x0, 0x1, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x7, 0x11, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x32, 0x16, 0x1, 0x11, 0x6, 0x7, 0x6, 0x11, 0x10, 0x17, 0x16, 0x5, 0x27, 0x59, 0xe8, 0x97, 0xa3, 0x79, 0x79, 0xa3, 0x97, 0xe8, 0x59, 0x6a, 0xed, 0x84, 0xfe, 0xad, 0xfe, 0x7a, 0x1, 0x86, 0x1, 0x53, 0x86, 0xed, 0xfd, 0xb, 0x23, 0x1f, 0x9d, 0x9d, 0x1f, 0x5, 0x62, 0x76, 0x41, 0x5a, 0x34, 0xfb, 0x2d, 0x34, 0x5a, 0x42, 0x75, 0x48, 0x48, 0x1, 0x9f, 0x1, 0x67, 0x1, 0x68, 0x1, 0x9f, 0x47, 0xfb, 0x13, 0x4, 0x5b, 0x1b, 0x21, 0xac, 0xfe, 0xba, 0xfe, 0xbb, 0xac, 0x21, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc3, 0xff, 0xe3, 0x8, 0x6d, 0x5, 0xf0, 0x10, 0x26, 0x0, 0x72, 0x0, 0x0, 0x10, 0x7, 0x0, 0x26, 0x3, 0x46, 0x0, 0x0, 0x0, 0x2, 0xff, 0xd6, 0x0, 0x0, 0x5, 0x18, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x2b, 0x0, 0x99, 0xb8, 0x0, 0x2c, 0x2f, 0xb8, 0x0, 0x2d, 0x2f, 0xb8, 0x0, 0x15, 0xdc, 0xb8, 0x0, 0x0, 0xdc, 0xb8, 0x0, 0x2c, 0x10, 0xb8, 0x0, 0x28, 0xd0, 0xb8, 0x0, 0x28, 0x2f, 0xb8, 0x0, 0x4, 0xdc, 0x41, 0x1b, 0x0, 0x16, 0x0, 0x4, 0x0, 0x26, 0x0, 0x4, 0x0, 0x36, 0x0, 0x4, 0x0, 0x46, 0x0, 0x4, 0x0, 0x56, 0x0, 0x4, 0x0, 0x66, 0x0, 0x4, 0x0, 0x76, 0x0, 0x4, 0x0, 0x86, 0x0, 0x4, 0x0, 0x96, 0x0, 0x4, 0x0, 0xa6, 0x0, 0x4, 0x0, 0xb6, 0x0, 0x4, 0x0, 0xc6, 0x0, 0x4, 0x0, 0xd6, 0x0, 0x4, 0x0, 0xd, 0x5d, 0x41, 0x5, 0x0, 0xe5, 0x0, 0x4, 0x0, 0xf5, 0x0, 0x4, 0x0, 0x2, 0x5d, 0xb8, 0x0, 0x0, 0x10, 0xb8, 0x0, 0x9, 0xd0, 0xb8, 0x0, 0x15, 0x10, 0xb8, 0x0, 0xb, 0xd0, 0xb8, 0x0, 0x15, 0x10, 0xb8, 0x0, 0x1f, 0xd0, 0xb8, 0x0, 0x0, 0x10, 0xb8, 0x0, 0x23, 0xd0, 0x0, 0xb8, 0x0, 0xa, 0x2f, 0xba, 0x0, 0x21, 0x0, 0x22, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x21, 0x10, 0x30, 0x31, 0x1, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x11, 0x35, 0x33, 0x15, 0x16, 0x17, 0x16, 0x17, 0x15, 0x26, 0x27, 0x26, 0x27, 0x11, 0x36, 0x37, 0x36, 0x37, 0x15, 0x6, 0x7, 0x6, 0x7, 0x15, 0x21, 0x15, 0x21, 0x35, 0x26, 0x27, 0x26, 0x11, 0x10, 0x37, 0x36, 0x1, 0x77, 0x49, 0x33, 0x63, 0x63, 0x33, 0x49, 0xca, 0x38, 0x36, 0x51, 0x4c, 0x4e, 0x4e, 0x37, 0x38, 0x38, 0x37, 0x4e, 0x4e, 0x4d, 0x52, 0x34, 0x38, 0x2, 0xd7, 0xfc, 0x5f, 0xa1, 0x6b, 0x95, 0x97, 0x69, 0x4, 0xb3, 0x1d, 0x3a, 0x72, 0xcd, 0xcd, 0x71, 0x3b, 0x1d, 0x3, 0xd4, 0x7a, 0x6e, 0x4, 0xb, 0x12, 0x23, 0xac, 0x2b, 0x16, 0xf, 0x4, 0xfc, 0xa4, 0x4, 0x10, 0x15, 0x2b, 0xaa, 0x24, 0x12, 0xb, 0x4, 0x2a, 0xaa, 0xde, 0x20, 0x72, 0x9f, 0x1, 0xe, 0x1, 0x12, 0x9d, 0x6e, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x3c, 0xff, 0xcf, 0x7, 0xe5, 0x6, 0x4, 0x0, 0x19, 0x0, 0x1d, 0x0, 0x28, 0x0, 0x32, 0x0, 0x0, 0x1, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x25, 0x33, 0x1, 0x23, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x10, 0x26, 0x24, 0x20, 0x16, 0x15, 0x14, 0x6, 0x20, 0x26, 0x35, 0x34, 0x3, 0x6, 0x5e, 0x6f, 0x38, 0x79, 0x89, 0x89, 0x79, 0x38, 0x6f, 0x5e, 0x49, 0x82, 0x49, 0xca, 0xec, 0xee, 0xd1, 0x43, 0x80, 0x2, 0xdd, 0xd8, 0xfc, 0x44, 0xd8, 0x4, 0x6b, 0x61, 0x76, 0x76, 0x61, 0x60, 0x77, 0x77, 0xfe, 0xdf, 0x1, 0x82, 0xda, 0xda, 0xfe, 0x7e, 0xd9, 0x5, 0x97, 0xb2, 0x34, 0x1e, 0x9c, 0x94, 0x93, 0x9d, 0x1f, 0x34, 0xb1, 0x22, 0x1d, 0xfc, 0xd1, 0xd4, 0xf9, 0x1b, 0x4b, 0xf9, 0xcb, 0x3, 0x4, 0x9e, 0x92, 0x91, 0x9f, 0xa0, 0x1, 0x20, 0xa0, 0x9d, 0xf8, 0xd5, 0xd4, 0xf8, 0xf8, 0xd4, 0xd5, 0x0, 0x3, 0x0, 0x3c, 0xff, 0xcf, 0x8, 0x4d, 0x6, 0x4, 0x0, 0x13, 0x0, 0x2d, 0x0, 0x31, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x26, 0x1, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x25, 0x33, 0x1, 0x23, 0x5, 0x5c, 0xbc, 0x51, 0x50, 0x63, 0x75, 0xbc, 0xbc, 0x6, 0x90, 0x60, 0x9e, 0xa1, 0xfd, 0xaa, 0x5e, 0x6f, 0x38, 0x79, 0x89, 0x89, 0x79, 0x38, 0x6f, 0x5e, 0x49, 0x82, 0x49, 0xca, 0xec, 0xee, 0xd1, 0x43, 0x80, 0x2, 0xdd, 0xd8, 0xfc, 0x44, 0xd8, 0x1, 0x4c, 0x2, 0x10, 0xfd, 0xf5, 0x72, 0x69, 0x81, 0x75, 0x1, 0xf0, 0xfc, 0x90, 0x44, 0x9, 0x50, 0xc1, 0x4, 0xff, 0xb2, 0x34, 0x1e, 0x9c, 0x94, 0x93, 0x9d, 0x1f, 0x34, 0xb1, 0x22, 0x1d, 0xfc, 0xd1, 0xd4, 0xf9, 0x1b, 0x4b, 0xf9, 0xcb, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xa4, 0xff, 0xe3, 0x4, 0x7b, 0x5, 0xf0, 0x10, 0x6, 0x1, 0x52, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6f, 0xfe, 0xd6, 0x5, 0x23, 0x4, 0xe3, 0x10, 0x7, 0x3, 0xc1, 0x0, 0x0, 0xfe, 0xf3, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc3, 0x0, 0x0, 0x7, 0x26, 0x5, 0xf0, 0x10, 0x26, 0x0, 0x72, 0x0, 0x0, 0x10, 0x7, 0x0, 0x29, 0x3, 0x3, 0x0, 0x0, 0x0, 0x1, 0x0, 0x49, 0xff, 0xe3, 0x7, 0x8c, 0x5, 0xfb, 0x0, 0x6f, 0x0, 0x0, 0x1, 0xf, 0x1, 0x11, 0x21, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x11, 0x14, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x17, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x21, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x19, 0x1, 0x22, 0x7, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x1f, 0x1, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x16, 0x3, 0xbf, 0x2, 0x6c, 0x1, 0xf8, 0x28, 0x39, 0x42, 0x4b, 0x63, 0x7b, 0x3d, 0x14, 0x26, 0x1b, 0x25, 0x14, 0x16, 0x1d, 0x25, 0x30, 0x33, 0x21, 0x28, 0x1a, 0x16, 0x1a, 0x28, 0x1a, 0x21, 0x2c, 0x16, 0x37, 0x1d, 0x33, 0x39, 0x1f, 0x25, 0x37, 0x1d, 0x60, 0x6c, 0x47, 0x3b, 0x37, 0x1d, 0x1c, 0xd, 0xfe, 0x13, 0x32, 0x35, 0x5d, 0xad, 0xb9, 0x68, 0x42, 0x34, 0x2c, 0x27, 0x35, 0xf, 0x12, 0xb, 0x16, 0x9, 0x27, 0x42, 0x5b, 0x51, 0x46, 0x24, 0x25, 0x88, 0x5d, 0x63, 0x27, 0x47, 0x9, 0x2, 0x9, 0x9, 0x12, 0x25, 0x21, 0x18, 0x1d, 0x14, 0x9, 0x8, 0x7d, 0x4b, 0x72, 0x7e, 0x93, 0x2c, 0xa7, 0x5, 0xea, 0x1f, 0x31, 0xfd, 0xbc, 0xd1, 0x8c, 0x98, 0x49, 0x67, 0x14, 0x29, 0x1d, 0x2a, 0x1a, 0x21, 0x1c, 0x26, 0x21, 0x28, 0x44, 0x3b, 0x77, 0xd6, 0xfe, 0xbd, 0xa5, 0x82, 0x7d, 0x2c, 0x16, 0x37, 0x35, 0x3b, 0x21, 0x5f, 0x27, 0x5d, 0x37, 0x3a, 0x79, 0x7d, 0xa9, 0x5b, 0xb4, 0xcf, 0x9e, 0xa3, 0x5c, 0xae, 0x40, 0x34, 0x3e, 0x23, 0x2c, 0xf, 0x12, 0x21, 0x2c, 0xb, 0x27, 0x51, 0x46, 0xaa, 0xa7, 0x0, 0xff, 0x2, 0x6a, 0x16, 0x1a, 0x28, 0x4a, 0x47, 0x1f, 0x34, 0x10, 0x24, 0x24, 0x2c, 0x10, 0x2a, 0x1d, 0x12, 0x29, 0x2f, 0x39, 0x84, 0x79, 0x4b, 0x23, 0x25, 0x6, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2, 0xfe, 0xf9, 0x5, 0x8b, 0x5, 0xd9, 0x0, 0x50, 0x0, 0x0, 0x5, 0x37, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x16, 0x17, 0x16, 0x7, 0x2, 0x7, 0x26, 0x27, 0x26, 0x22, 0x7, 0x27, 0x36, 0x33, 0x32, 0x17, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x16, 0x17, 0x16, 0x37, 0x36, 0x37, 0x15, 0xe, 0x2, 0x23, 0x22, 0x27, 0x26, 0x27, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x36, 0x37, 0x32, 0x17, 0x16, 0x15, 0x10, 0x7, 0x0, 0x23, 0x22, 0x3, 0x2a, 0x69, 0x28, 0x58, 0x25, 0x1f, 0x23, 0x1b, 0x1a, 0x12, 0xd, 0x1b, 0x1c, 0x31, 0x46, 0x82, 0x53, 0xb0, 0x45, 0x2f, 0xb, 0xd, 0x18, 0xcb, 0x4f, 0x2e, 0x35, 0x35, 0x46, 0x75, 0x16, 0xbd, 0x50, 0x55, 0x5b, 0x51, 0x46, 0x5b, 0x30, 0x30, 0x72, 0x6c, 0xd3, 0x7e, 0x9c, 0x1b, 0x22, 0x5, 0x91, 0x4b, 0x49, 0x7d, 0x21, 0x3b, 0x49, 0x46, 0x73, 0x3b, 0x1f, 0x1f, 0x6e, 0xa1, 0xed, 0xf2, 0x9d, 0x3b, 0x5f, 0xfe, 0xe9, 0x54, 0x5e, 0xcd, 0x8c, 0x51, 0x1f, 0x1f, 0x37, 0x39, 0x7d, 0x77, 0xb2, 0x96, 0x5e, 0x6c, 0x2e, 0x47, 0x89, 0x79, 0x72, 0x5c, 0x5b, 0x34, 0xfe, 0xfa, 0x4f, 0x39, 0x25, 0x23, 0x69, 0x23, 0xde, 0x5e, 0x4d, 0x58, 0x3b, 0x80, 0xa5, 0x79, 0x76, 0x40, 0x63, 0x8d, 0x84, 0x93, 0x7d, 0x7, 0x1, 0x1a, 0x2, 0x65, 0x2e, 0x49, 0x44, 0x5c, 0x1a, 0x16, 0x37, 0x49, 0x3b, 0x3e, 0x32, 0x56, 0xe7, 0xa7, 0x89, 0x75, 0xd3, 0xb0, 0xfe, 0xa2, 0xd3, 0xfe, 0xfe, 0x0, 0x0, 0x0, 0x3, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x3, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x7, 0x0, 0x13, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x25, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x4, 0xd5, 0xca, 0xfb, 0x8e, 0xca, 0xfe, 0xd2, 0x1, 0x92, 0x2, 0x16, 0x1, 0x92, 0xfe, 0x6e, 0xfd, 0xea, 0xfe, 0x6e, 0x5, 0x71, 0xfa, 0xf3, 0x5, 0xd, 0xfa, 0xf3, 0x5, 0xd, 0x64, 0xfd, 0x88, 0x2, 0x78, 0xfa, 0x2b, 0x2, 0xdb, 0xfd, 0x25, 0x0, 0x0, 0x1, 0x0, 0x48, 0x0, 0x0, 0x4, 0x87, 0x6, 0x14, 0x0, 0x19, 0x0, 0x0, 0x1, 0x3, 0x23, 0x13, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x3, 0x23, 0x1, 0x33, 0x3, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x4, 0x75, 0x83, 0xb9, 0x83, 0x9, 0xa, 0x6a, 0x5f, 0x94, 0xd9, 0x20, 0x79, 0xb8, 0x1, 0x2f, 0xb8, 0x77, 0x46, 0xda, 0x78, 0x94, 0xa3, 0x9, 0x2, 0xa4, 0xfd, 0x5c, 0x2, 0x9d, 0x2f, 0x48, 0x15, 0x54, 0x5e, 0xc8, 0xa6, 0xfd, 0x93, 0x6, 0x14, 0xfd, 0x9c, 0x5e, 0x6d, 0xa0, 0x91, 0x24, 0x52, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x5a, 0x0, 0x0, 0x4, 0x87, 0x6, 0x14, 0x0, 0x19, 0x0, 0x0, 0x1, 0x33, 0x7, 0x25, 0x17, 0x5, 0x3, 0x36, 0x33, 0x32, 0x16, 0x7, 0x3, 0x23, 0x13, 0x12, 0x23, 0x22, 0x6, 0x7, 0x3, 0x23, 0x13, 0x7, 0x27, 0x37, 0x1, 0x88, 0xb9, 0x2d, 0x1, 0x8d, 0xe, 0xfe, 0x50, 0x34, 0xaa, 0xe7, 0xc1, 0x97, 0x2d, 0x83, 0xb8, 0x82, 0x3e, 0xf8, 0x95, 0xd1, 0x20, 0x7b, 0xb9, 0xdf, 0xd1, 0xe, 0xf5, 0x6, 0x14, 0xea, 0x7c, 0x61, 0x88, 0xfe, 0xf5, 0xc9, 0xef, 0xe8, 0xfd, 0x5c, 0x2, 0x9e, 0x1, 0x3d, 0xbe, 0xa4, 0xfd, 0x87, 0x4, 0x7f, 0x42, 0x63, 0x4c, 0x0, 0x0, 0x1, 0x0, 0x3b, 0xff, 0xe1, 0x3, 0x74, 0x5, 0xf0, 0x0, 0x39, 0x0, 0x0, 0x1, 0xf, 0x1, 0x11, 0x10, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x35, 0x11, 0x22, 0x7, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x14, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x16, 0x3, 0x74, 0x1e, 0x68, 0xc1, 0x82, 0x8f, 0x6e, 0x3c, 0x37, 0x10, 0x1a, 0x23, 0x1b, 0x1f, 0x8, 0xb, 0xb, 0x1b, 0x14, 0x3b, 0x4b, 0x51, 0x3e, 0x21, 0x1f, 0x7c, 0x5a, 0x61, 0x2c, 0x34, 0x6, 0x14, 0x1f, 0x16, 0x18, 0x1a, 0x16, 0x28, 0x58, 0x4d, 0x8b, 0x95, 0xb5, 0x21, 0x7d, 0x5, 0xe3, 0x2c, 0x16, 0xfc, 0xfe, 0xfe, 0x86, 0xc2, 0x82, 0x3c, 0x37, 0x44, 0x39, 0xf, 0x1b, 0x23, 0x7, 0x37, 0x2e, 0x1b, 0x13, 0x4d, 0x3d, 0x86, 0x84, 0xbe, 0x3, 0x11, 0x1a, 0x1d, 0x2e, 0x31, 0x3f, 0x1b, 0x16, 0x4, 0x40, 0x9, 0x27, 0x1f, 0x12, 0x16, 0x28, 0x4d, 0x7f, 0x58, 0x49, 0x28, 0x27, 0xd, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6a, 0xff, 0xe3, 0x5, 0x46, 0x5, 0xf0, 0x0, 0x21, 0x0, 0x32, 0x0, 0x0, 0x3f, 0x1, 0x36, 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x35, 0x34, 0x3f, 0x1, 0x6, 0x15, 0x14, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x23, 0x22, 0x13, 0x36, 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x37, 0x7, 0x6, 0x23, 0x22, 0x26, 0x23, 0x22, 0x7, 0x6a, 0x8c, 0x6f, 0x75, 0x39, 0x84, 0x90, 0x21, 0x79, 0x64, 0x47, 0x3e, 0x50, 0x50, 0xd5, 0x50, 0x50, 0x35, 0xca, 0xba, 0xf2, 0x36, 0x81, 0x85, 0x38, 0x5e, 0x6e, 0x6d, 0x8d, 0x7b, 0x7f, 0x7a, 0x80, 0x7d, 0x7d, 0xc8, 0x8b, 0x6f, 0x8f, 0xd6, 0x8f, 0x7a, 0x80, 0x5a, 0xa5, 0x27, 0x50, 0x56, 0x89, 0x61, 0x4b, 0x7e, 0x70, 0x92, 0x6d, 0x64, 0xa0, 0x8c, 0x8b, 0x79, 0x6b, 0x94, 0x62, 0xbc, 0x5e, 0xf2, 0xde, 0x4f, 0x50, 0x5, 0x36, 0x38, 0x31, 0x2f, 0x3a, 0xaa, 0x3a, 0x62, 0x3a, 0x0, 0x0, 0x0, 0x1, 0x0, 0x44, 0xff, 0xe3, 0x5, 0x6e, 0x5, 0xf2, 0x0, 0x4a, 0x0, 0x0, 0x1, 0x5, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x37, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x24, 0x23, 0x35, 0x22, 0x7, 0x6, 0x7, 0x27, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x13, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0xe, 0x1, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x7, 0x17, 0x33, 0x32, 0x1, 0xdb, 0x1, 0x2, 0x6e, 0x5a, 0x53, 0x3c, 0x67, 0x56, 0x42, 0x9, 0x2c, 0x18, 0x6e, 0x79, 0x79, 0x34, 0x66, 0x58, 0x8f, 0xfe, 0xfb, 0x52, 0x44, 0x37, 0x35, 0xd, 0x35, 0x49, 0x1a, 0x31, 0x25, 0x30, 0x37, 0xb, 0x5, 0x23, 0x21, 0x40, 0x63, 0xd1, 0x72, 0x47, 0x42, 0xe, 0x29, 0x1f, 0x2c, 0x1d, 0xd, 0xb, 0x7, 0x29, 0x33, 0x39, 0x4b, 0x2e, 0x23, 0x24, 0x4, 0x4, 0x14, 0x16, 0x26, 0x37, 0x42, 0x3, 0xf, 0x3e, 0x1, 0x5f, 0x6e, 0x30, 0x18, 0x19, 0x56, 0x42, 0x9a, 0x52, 0x1e, 0xe, 0x84, 0xe, 0xe4, 0x6e, 0x79, 0x23, 0x1f, 0x48, 0x89, 0x8, 0x42, 0x3f, 0x84, 0x18, 0xc1, 0x58, 0x21, 0x24, 0x18, 0x39, 0x42, 0x1, 0x7f, 0xa9, 0x84, 0x80, 0x4d, 0x77, 0x3e, 0x37, 0x6c, 0x1a, 0x10, 0x2e, 0x1b, 0xb, 0x3b, 0x37, 0x25, 0x2c, 0x3b, 0x28, 0xd3, 0xa7, 0xbd, 0x75, 0x79, 0x2c, 0x44, 0x30, 0x3, 0x0, 0x0, 0x0, 0x2, 0xff, 0xe4, 0xff, 0xe3, 0x2, 0xd2, 0x5, 0xf0, 0x0, 0x1c, 0x0, 0x26, 0x0, 0x0, 0x1, 0x16, 0x33, 0x32, 0x37, 0x33, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x7, 0x23, 0x36, 0x37, 0x26, 0x35, 0x34, 0x37, 0x12, 0x37, 0x36, 0x33, 0x32, 0x15, 0x6, 0x7, 0x2, 0x1, 0x12, 0x13, 0x36, 0x35, 0x34, 0x23, 0x6, 0x3, 0x6, 0x1, 0x30, 0x29, 0x57, 0x3a, 0x4b, 0x85, 0x3c, 0x46, 0x4c, 0x46, 0x9c, 0x3f, 0x4b, 0x9c, 0x6c, 0x50, 0xa, 0x1f, 0x75, 0x68, 0x48, 0x7b, 0x7d, 0x1, 0x12, 0x48, 0xfe, 0xb8, 0xbb, 0x39, 0x1e, 0x19, 0x6d, 0x61, 0x1b, 0x1, 0xc, 0xc8, 0x73, 0x66, 0x35, 0x39, 0x8b, 0x6e, 0x93, 0x89, 0x4e, 0x55, 0x98, 0x98, 0x2, 0x3b, 0x75, 0x51, 0xad, 0x4e, 0x5d, 0xfe, 0x83, 0xfe, 0xf7, 0x1, 0x5c, 0x1, 0x16, 0x93, 0x26, 0x45, 0x57, 0xfd, 0xfa, 0x91, 0x0, 0x2, 0x0, 0x20, 0xff, 0xe3, 0x6, 0x1b, 0x6, 0x14, 0x0, 0x1f, 0x0, 0x27, 0x0, 0x0, 0x13, 0x33, 0x15, 0x33, 0x35, 0x33, 0x15, 0x21, 0x15, 0x21, 0x11, 0x3e, 0x1, 0x33, 0x32, 0x0, 0x10, 0x2, 0x23, 0x22, 0x26, 0x27, 0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x0, 0x10, 0x26, 0x20, 0x6, 0x10, 0x16, 0x20, 0xc1, 0xb8, 0xb8, 0xb9, 0x2, 0xb1, 0xfd, 0x4f, 0x3a, 0xb1, 0x7b, 0xcc, 0x0, 0xff, 0xff, 0xcc, 0x7b, 0xb1, 0x3a, 0xb9, 0xb8, 0xb8, 0xa1, 0xa1, 0x4, 0x9b, 0xa7, 0xfe, 0xdc, 0xa7, 0xa7, 0x1, 0x24, 0x6, 0x14, 0x93, 0x93, 0x93, 0x7d, 0xfe, 0xb2, 0x64, 0x61, 0xfe, 0xbc, 0xfd, 0xf0, 0xfe, 0xbc, 0x61, 0x64, 0xa8, 0x5, 0x4, 0xfa, 0xfc, 0x5, 0x4, 0x7d, 0xfb, 0xe3, 0x1, 0x96, 0xe7, 0xe7, 0xfe, 0x6a, 0xe7, 0x0, 0x2, 0x0, 0xc6, 0x0, 0x0, 0x5, 0xa2, 0x5, 0xd5, 0x0, 0x3, 0x0, 0xd, 0x0, 0x0, 0x25, 0x1, 0x23, 0x9, 0x1, 0x21, 0x1, 0x11, 0x33, 0x11, 0x21, 0x1, 0x11, 0x23, 0x5, 0x20, 0xfd, 0x16, 0xee, 0x2, 0xea, 0xfc, 0x94, 0x1, 0xa8, 0x2, 0xd0, 0x64, 0xfe, 0x58, 0xfd, 0x30, 0x64, 0x64, 0x5, 0xd, 0xfa, 0xf3, 0x5, 0x71, 0xfb, 0x1f, 0x4, 0xe1, 0xfa, 0x2b, 0x4, 0xe1, 0xfb, 0x1f, 0x0, 0x0, 0x0, 0x4, 0x0, 0x36, 0x0, 0x0, 0x7, 0xc1, 0x5, 0xd5, 0x0, 0x13, 0x0, 0x1f, 0x0, 0x2b, 0x0, 0x2f, 0x2, 0x16, 0xb1, 0x92, 0x97, 0x42, 0xb0, 0x93, 0xb0, 0x98, 0x42, 0x0, 0xb0, 0x0, 0x2f, 0xb3, 0xe, 0xf, 0x2c, 0x2f, 0xb0, 0x4, 0x17, 0x3c, 0xb1, 0x1, 0x95, 0xed, 0xb0, 0x0, 0xb0, 0x2d, 0xdd, 0xb0, 0x2e, 0x3c, 0xb0, 0x2d, 0xb0, 0x1d, 0xde, 0xb0, 0x23, 0xcd, 0x10, 0x10, 0xb1, 0x4, 0x81, 0x3f, 0xb1, 0x5, 0xa, 0xb0, 0x2, 0x17, 0x3c, 0xb1, 0xb, 0x95, 0xed, 0xb0, 0x23, 0x11, 0xb0, 0xb, 0x12, 0xb0, 0x17, 0x39, 0xb0, 0x17, 0x20, 0x46, 0x68, 0x48, 0xb0, 0x17, 0x10, 0xb0, 0x29, 0xb0, 0x23, 0xb0, 0x1d, 0x23, 0x49, 0x69, 0x3b, 0xb1, 0x80, 0x2, 0x42, 0xb1, 0x81, 0x0, 0x42, 0x3d, 0xb0, 0x1d, 0xb0, 0x17, 0x23, 0x49, 0xb0, 0x80, 0x62, 0x69, 0xb0, 0x1d, 0x46, 0x60, 0xb0, 0x14, 0x46, 0x61, 0xb0, 0x92, 0x43, 0xb0, 0x1, 0x60, 0x23, 0x42, 0xb0, 0x92, 0x43, 0xb0, 0x1, 0x60, 0x43, 0xb0, 0x0, 0x55, 0x58, 0xb0, 0x14, 0xb0, 0x92, 0x43, 0xb0, 0x1, 0x60, 0x43, 0x38, 0x59, 0xb0, 0x14, 0x10, 0xb2, 0x1a, 0x26, 0x20, 0xb0, 0x3, 0x17, 0x3c, 0xb1, 0x80, 0x0, 0x42, 0xb1, 0x81, 0x0, 0x42, 0x18, 0x30, 0x1, 0xb0, 0x30, 0x10, 0xb1, 0x3, 0x4, 0xfe, 0xb0, 0x4, 0x3c, 0xb0, 0x0, 0xc4, 0xb0, 0x3, 0xb1, 0x11, 0x1c, 0xfd, 0xb0, 0x10, 0x3c, 0x10, 0xb0, 0x3, 0xb1, 0xd, 0x36, 0xfc, 0xb0, 0xe, 0x3c, 0xb0, 0xd, 0xb1, 0x6, 0x1c, 0xfd, 0xb0, 0x7, 0x3c, 0xb0, 0xf, 0x39, 0xb0, 0xf, 0x20, 0x46, 0x68, 0x48, 0x10, 0xb0, 0xd, 0xb0, 0xa, 0xb0, 0x0, 0xb0, 0x3, 0x23, 0x49, 0x68, 0x3b, 0xb0, 0xb, 0x3c, 0x10, 0xb0, 0xd, 0xb0, 0x14, 0xd6, 0xb0, 0x14, 0xb0, 0x20, 0xdd, 0xb0, 0x2c, 0x39, 0xb0, 0x2c, 0x20, 0x46, 0x68, 0x48, 0xb0, 0x20, 0xb0, 0x26, 0xd6, 0xb0, 0x26, 0xb0, 0x1a, 0xb0, 0x14, 0xb0, 0x20, 0x23, 0x49, 0x69, 0x3b, 0xb0, 0x2f, 0xb0, 0x2c, 0xb0, 0x14, 0x23, 0x49, 0x68, 0x3a, 0x10, 0x10, 0x10, 0x10, 0x10, 0xb0, 0x1a, 0xb0, 0x31, 0x23, 0x49, 0xb0, 0x92, 0x43, 0xb0, 0x1, 0x60, 0x23, 0x42, 0xb0, 0x92, 0x43, 0xb0, 0x1, 0x60, 0x43, 0xb0, 0x0, 0x50, 0x58, 0xb5, 0x26, 0x1a, 0x14, 0x20, 0x2c, 0x2f, 0xb0, 0x92, 0x43, 0xb0, 0x1, 0x60, 0x43, 0xb0, 0x6, 0x17, 0x38, 0x4b, 0xb0, 0xa, 0x52, 0x58, 0xb0, 0xd, 0xb0, 0x14, 0x23, 0x49, 0xb0, 0x92, 0x43, 0xb0, 0x1, 0x60, 0x23, 0x42, 0xb0, 0x92, 0x43, 0xb0, 0x1, 0x60, 0x43, 0xb0, 0x40, 0x50, 0x58, 0xb0, 0x92, 0x43, 0xb0, 0x1, 0x60, 0x43, 0xb0, 0x40, 0x61, 0xb0, 0x92, 0x43, 0xb0, 0x1, 0x60, 0x23, 0x42, 0xb4, 0x6, 0x7, 0xd, 0xe, 0xf, 0xb0, 0x92, 0x43, 0xb0, 0x1, 0x60, 0x43, 0xb0, 0x5, 0x17, 0x38, 0x59, 0x59, 0x59, 0xb1, 0x80, 0x2, 0x42, 0xb1, 0x81, 0x0, 0x42, 0x3d, 0xb0, 0x14, 0xb0, 0x1a, 0x23, 0x49, 0xb0, 0x80, 0x62, 0x69, 0xb0, 0x14, 0x46, 0x60, 0xb0, 0x17, 0x46, 0x61, 0xb0, 0x92, 0x43, 0xb0, 0x1, 0x60, 0x23, 0x42, 0xb0, 0x92, 0x43, 0xb0, 0x1, 0x60, 0x43, 0xb0, 0x0, 0x55, 0x58, 0xb0, 0x17, 0xb0, 0x92, 0x43, 0xb0, 0x1, 0x60, 0x43, 0x38, 0x59, 0xb0, 0x17, 0x10, 0xb2, 0x1d, 0x23, 0x29, 0xb0, 0x3, 0x17, 0x3c, 0xb1, 0x80, 0x0, 0x42, 0xb1, 0x81, 0x0, 0x42, 0x18, 0x31, 0xb0, 0x4, 0xb0, 0x7, 0x23, 0x49, 0xb0, 0x0, 0x52, 0x58, 0xc, 0xb1, 0x10, 0xf, 0x7, 0xb0, 0xf, 0x10, 0xb1, 0x6, 0x11, 0xed, 0xb0, 0x10, 0x10, 0xb1, 0x5, 0x11, 0xfd, 0xa, 0xc, 0x2, 0xd, 0xb1, 0x5, 0x6, 0x8, 0xb0, 0x4, 0x10, 0xb0, 0x5, 0x3c, 0xb, 0xa, 0xc, 0x3, 0xd, 0xb1, 0x5, 0x6, 0x8, 0xb0, 0x7, 0x10, 0xb0, 0x6, 0x3c, 0xb, 0xa, 0x59, 0x33, 0x35, 0x32, 0x35, 0x11, 0x21, 0x1, 0x11, 0x34, 0x36, 0x33, 0x15, 0x22, 0x15, 0x11, 0x21, 0x1, 0x11, 0x14, 0x6, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x37, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x3, 0x35, 0x21, 0x15, 0x36, 0x93, 0x1, 0x10, 0x2, 0x96, 0x9d, 0xba, 0x93, 0xfe, 0xf0, 0xfd, 0x6a, 0x9d, 0x4, 0xe3, 0x90, 0x67, 0x67, 0x90, 0x90, 0x67, 0x67, 0x90, 0x8c, 0x39, 0x32, 0x32, 0x39, 0x39, 0x32, 0x32, 0x39, 0x8c, 0x1, 0xee, 0xaa, 0x6b, 0x4, 0xc0, 0xfb, 0x1f, 0x3, 0xcc, 0x80, 0x95, 0xaa, 0x6b, 0xfb, 0x40, 0x4, 0xe1, 0xfc, 0x34, 0x80, 0x95, 0x2, 0x6e, 0x8a, 0xbf, 0xbf, 0x8a, 0x8a, 0xbf, 0xbf, 0x8a, 0x4e, 0x67, 0x67, 0x4e, 0x4e, 0x67, 0x67, 0xfd, 0x44, 0x7b, 0x7b, 0x0, 0x0, 0x4, 0x1, 0x1b, 0x0, 0x0, 0x6, 0xe5, 0x5, 0xca, 0x0, 0xc, 0x0, 0x19, 0x0, 0x22, 0x0, 0x2d, 0x0, 0x0, 0x1, 0x16, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x3, 0x10, 0x0, 0x21, 0x20, 0x6, 0x21, 0x20, 0x0, 0x11, 0x12, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x27, 0x5, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x25, 0x21, 0x32, 0x16, 0x15, 0x14, 0x6, 0x2b, 0x1, 0x11, 0x23, 0x6, 0xb, 0xda, 0xfe, 0x4a, 0xfe, 0xd1, 0xfe, 0xcf, 0xfe, 0x52, 0x6, 0x1, 0xb4, 0x1, 0x31, 0x1, 0x32, 0x29, 0xfe, 0xf7, 0xfe, 0xfa, 0xfe, 0x86, 0x5, 0x1, 0x75, 0x1, 0x6, 0x1, 0x7, 0x1, 0x79, 0xbb, 0xfd, 0xd3, 0xb2, 0x63, 0x6b, 0x6b, 0x63, 0xfe, 0xc1, 0x1, 0x3f, 0xb0, 0xb4, 0xb4, 0xb0, 0xb2, 0x8d, 0x4, 0xf1, 0xdb, 0xfe, 0xce, 0xfe, 0xd0, 0xfe, 0x4c, 0x1, 0xb4, 0x1, 0x30, 0x1, 0x30, 0x1, 0xb6, 0x65, 0xfe, 0x85, 0xfe, 0xf9, 0xfe, 0xfb, 0xfe, 0x87, 0x1, 0x79, 0x1, 0x5, 0x1, 0x9, 0xbb, 0x77, 0xfe, 0xaf, 0x58, 0x51, 0x50, 0x58, 0x64, 0x89, 0x83, 0x85, 0x87, 0xfe, 0x98, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6e, 0xfe, 0x3b, 0x5, 0x43, 0x3, 0xf6, 0x0, 0x30, 0x0, 0x3c, 0x0, 0x0, 0x1, 0x6, 0x15, 0x14, 0x17, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x36, 0x37, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x1, 0x12, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x10, 0x37, 0x26, 0x35, 0x34, 0x37, 0x3, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x32, 0x37, 0x36, 0x35, 0x34, 0x2, 0x35, 0x88, 0x1f, 0x5b, 0xab, 0xdb, 0x84, 0x83, 0x46, 0x49, 0x9c, 0x79, 0xae, 0x65, 0x4c, 0x12, 0x9, 0x29, 0x71, 0x7a, 0x5d, 0x45, 0x26, 0x20, 0x4a, 0xbd, 0xfe, 0x9f, 0x87, 0x45, 0x59, 0x83, 0x71, 0x3a, 0x3f, 0xdf, 0x2e, 0xe8, 0x94, 0x81, 0x1f, 0x30, 0x2e, 0x41, 0x1c, 0x20, 0x3, 0xc6, 0x82, 0xbe, 0x4d, 0x6b, 0x65, 0x94, 0xbd, 0x4c, 0x50, 0xab, 0xda, 0xd7, 0xa7, 0x3c, 0x2b, 0x1d, 0x28, 0x8c, 0x68, 0xc3, 0x7c, 0x48, 0x3d, 0xfe, 0x79, 0xfe, 0xde, 0x7c, 0x9d, 0x6e, 0x8e, 0x3d, 0x42, 0x86, 0x1, 0xb, 0xfc, 0x9e, 0x7f, 0xee, 0xa4, 0xfc, 0xef, 0xc6, 0x7b, 0x75, 0x2e, 0x46, 0x1, 0x2f, 0x34, 0x5f, 0x4e, 0x0, 0x0, 0x4, 0x0, 0xc8, 0x0, 0x0, 0x5, 0x54, 0x5, 0xd5, 0x0, 0x3, 0x0, 0xb, 0x0, 0x16, 0x0, 0x1f, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x33, 0x11, 0x21, 0x32, 0x37, 0x11, 0x26, 0x23, 0x25, 0x21, 0x32, 0x4, 0x15, 0x14, 0x4, 0x2b, 0x1, 0x11, 0x21, 0x1, 0x11, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x1, 0x2c, 0xca, 0x64, 0x1, 0x2e, 0x18, 0x17, 0x17, 0x18, 0xfd, 0x40, 0x2, 0x91, 0xfa, 0x1, 0x1, 0xfe, 0xff, 0xfb, 0xfe, 0xfe, 0x6e, 0x3, 0x58, 0x3c, 0x2d, 0x5d, 0x5c, 0x2c, 0x5, 0x71, 0xfa, 0xf3, 0x5, 0xd, 0xfd, 0x6a, 0x2, 0x2, 0x92, 0x2, 0x64, 0xdb, 0xd3, 0xd5, 0xda, 0xfd, 0x88, 0x5, 0x5a, 0xfd, 0x99, 0x16, 0x29, 0x56, 0x9f, 0x9e, 0x56, 0x29, 0x0, 0x4, 0x0, 0x73, 0xfe, 0xf8, 0x5, 0xd9, 0x5, 0xf0, 0x0, 0x11, 0x0, 0x19, 0x0, 0x21, 0x0, 0x29, 0x0, 0x0, 0x25, 0x1, 0x23, 0x27, 0x7, 0x6, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x2, 0x25, 0x16, 0x20, 0x37, 0x11, 0x26, 0x20, 0x7, 0x3, 0x11, 0x6, 0x7, 0x6, 0x10, 0x17, 0x16, 0x1, 0x11, 0x36, 0x37, 0x36, 0x10, 0x27, 0x26, 0x4, 0x42, 0x1, 0xa, 0xf4, 0xdd, 0x33, 0x11, 0x10, 0xfe, 0xc5, 0xfe, 0x87, 0x1, 0x79, 0x1, 0x3b, 0x1, 0x3a, 0x1, 0x78, 0xd1, 0xfd, 0x2b, 0x6c, 0x1, 0x10, 0x6c, 0x6c, 0xfe, 0xf0, 0x6c, 0x69, 0x24, 0x20, 0x9b, 0x9b, 0x20, 0x2, 0xde, 0x23, 0x1f, 0x9b, 0x9b, 0x1f, 0x1b, 0xfe, 0xdd, 0xef, 0x3, 0x1, 0x1, 0xa5, 0x1, 0x61, 0x1, 0x62, 0x1, 0xa5, 0xfe, 0x5b, 0xfe, 0x9e, 0xfe, 0xfc, 0xfe, 0x8e, 0xb, 0x32, 0x32, 0x4, 0xd7, 0x32, 0x32, 0xfb, 0x6a, 0x4, 0x54, 0x1d, 0x25, 0xb6, 0xfd, 0x9c, 0xb5, 0x25, 0x4, 0x35, 0xfb, 0xaf, 0x1d, 0x24, 0xb6, 0x2, 0x63, 0xb6, 0x24, 0x0, 0x0, 0x0, 0x2, 0x0, 0x42, 0xff, 0xee, 0x6, 0x1c, 0x6, 0x32, 0x0, 0xc, 0x0, 0x5f, 0x0, 0x0, 0x1, 0x11, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x13, 0x3, 0x27, 0x6, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x35, 0x11, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x7, 0x6, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x21, 0x36, 0x3f, 0x1, 0x15, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x17, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x3, 0x42, 0x1f, 0x3d, 0x8f, 0x5d, 0x69, 0x53, 0x1b, 0x5c, 0x5a, 0x97, 0xce, 0x56, 0x1f, 0x33, 0x30, 0x46, 0x9f, 0xb9, 0x6e, 0x37, 0x3b, 0x1a, 0x19, 0x23, 0x1a, 0x16, 0x1b, 0x11, 0x16, 0x10, 0x1a, 0x46, 0x66, 0x53, 0x39, 0x21, 0x21, 0xe7, 0x81, 0x3c, 0x9, 0x2, 0x10, 0x1d, 0x23, 0x35, 0x1d, 0x2c, 0x68, 0xbd, 0x1, 0x22, 0x1d, 0x3b, 0x3c, 0xb6, 0x89, 0x84, 0x32, 0x58, 0x6e, 0x67, 0x9a, 0x5a, 0x52, 0x7b, 0x1a, 0x2c, 0x1d, 0x1f, 0x23, 0x11, 0x1f, 0x23, 0x39, 0x3e, 0x3b, 0x4b, 0x21, 0x51, 0x5, 0xa1, 0xfd, 0x49, 0x7, 0x61, 0x67, 0xc2, 0xa3, 0x53, 0x1b, 0x14, 0xf, 0xfb, 0x16, 0x1, 0xe6, 0x9, 0xc0, 0x88, 0x89, 0x44, 0xa3, 0x35, 0x40, 0x37, 0x2a, 0x1a, 0x18, 0x16, 0x1a, 0x1f, 0x27, 0x10, 0x1a, 0x53, 0x3a, 0x79, 0x7d, 0x9e, 0x3, 0x2a, 0x82, 0x37, 0x48, 0x19, 0x30, 0x9, 0x35, 0xf, 0x23, 0x21, 0x1f, 0x18, 0x2c, 0x49, 0x91, 0x6c, 0xbb, 0xd, 0x1d, 0x1c, 0x40, 0x1c, 0x1f, 0x33, 0x58, 0xa7, 0xbf, 0x6e, 0x68, 0x30, 0xde, 0xcd, 0x7b, 0x1f, 0x1f, 0x28, 0x32, 0x18, 0x72, 0x3a, 0x3d, 0x1f, 0x4f, 0x0, 0x0, 0x2, 0x0, 0x53, 0xff, 0xe3, 0x6, 0x6c, 0x5, 0xf1, 0x0, 0x49, 0x0, 0x58, 0x0, 0x0, 0x5, 0x26, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0xf, 0x1, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x16, 0x17, 0x14, 0x17, 0x16, 0x32, 0x37, 0x36, 0x35, 0x11, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x14, 0x17, 0x16, 0x33, 0x17, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x17, 0x37, 0x17, 0x1, 0x16, 0x15, 0x11, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x5, 0x2, 0x52, 0x16, 0x28, 0x4f, 0x2a, 0x5c, 0x78, 0x67, 0x67, 0x8c, 0x8d, 0x66, 0x67, 0x2d, 0x2e, 0x40, 0x40, 0x90, 0x3f, 0x40, 0x40, 0x3f, 0x5c, 0x51, 0x41, 0x40, 0x40, 0x40, 0x53, 0x36, 0x97, 0x66, 0x67, 0x67, 0x66, 0x97, 0xa2, 0x65, 0x1e, 0x10, 0xd3, 0xbb, 0x70, 0x2f, 0x24, 0x7e, 0x41, 0x42, 0x7d, 0x3a, 0x31, 0x24, 0x1b, 0x20, 0x2d, 0x90, 0x2a, 0xfc, 0xa4, 0x15, 0x9a, 0x90, 0x4d, 0x4a, 0x4a, 0x18, 0x1f, 0x40, 0x66, 0x1d, 0xb7, 0x9f, 0x8c, 0x5b, 0xa6, 0x2b, 0x38, 0xc7, 0xce, 0x76, 0x75, 0x75, 0x76, 0xb0, 0xc, 0xc, 0x7a, 0x56, 0x57, 0x57, 0x57, 0x96, 0x2, 0x9b, 0x95, 0x58, 0x57, 0x57, 0x56, 0xca, 0x56, 0x57, 0x5c, 0x75, 0x76, 0x9c, 0x9d, 0x75, 0x75, 0x75, 0x23, 0x20, 0x62, 0x57, 0xe, 0x31, 0xb1, 0x57, 0x7b, 0x7c, 0x5e, 0x31, 0x24, 0x68, 0x7b, 0x83, 0x80, 0x76, 0x43, 0x5b, 0x4, 0x53, 0x4b, 0x5c, 0xfe, 0x95, 0x47, 0x43, 0x68, 0x66, 0x79, 0x97, 0x20, 0xa, 0x2f, 0x0, 0x5, 0x0, 0xc8, 0x0, 0x0, 0x6, 0x32, 0x5, 0xd5, 0x0, 0x9, 0x0, 0x1e, 0x0, 0x26, 0x0, 0x2e, 0x0, 0x32, 0x0, 0x0, 0x1, 0x26, 0x27, 0x26, 0x2b, 0x1, 0x16, 0x17, 0x13, 0x33, 0x1, 0x1e, 0x1, 0x17, 0x13, 0x21, 0x3, 0x2e, 0x1, 0x2b, 0x1, 0x11, 0x21, 0x11, 0x21, 0x20, 0x16, 0x15, 0x14, 0x7, 0x6, 0x1, 0x11, 0x21, 0x32, 0x37, 0x11, 0x26, 0x23, 0x17, 0x11, 0x36, 0x37, 0x36, 0x10, 0x27, 0x26, 0x25, 0x11, 0x33, 0x11, 0x4, 0xfb, 0x4c, 0x44, 0x45, 0x78, 0x2d, 0x4d, 0x65, 0x8f, 0xc7, 0xfe, 0xf8, 0x35, 0x71, 0x3e, 0xcd, 0xfe, 0x48, 0xbf, 0x4a, 0x8b, 0x78, 0x14, 0xfe, 0x6e, 0x2, 0xa7, 0x1, 0x0, 0xfc, 0x75, 0x31, 0xfd, 0x95, 0x1, 0x45, 0x18, 0x17, 0x17, 0x18, 0x98, 0x41, 0x2b, 0x5a, 0x59, 0x2a, 0xfc, 0xb2, 0xca, 0x1, 0x7f, 0x97, 0x30, 0x31, 0x2f, 0xc9, 0xfe, 0xe5, 0x2, 0x4f, 0x19, 0x84, 0x7e, 0xfe, 0x68, 0x1, 0x7f, 0x96, 0x62, 0xfd, 0x89, 0x5, 0xd5, 0xd6, 0xd8, 0xd0, 0x62, 0x29, 0x2, 0xa5, 0xfd, 0x6a, 0x2, 0x2, 0x92, 0x2, 0x17, 0xfd, 0x99, 0x16, 0x29, 0x56, 0x1, 0x3e, 0x55, 0x29, 0x2d, 0xfa, 0xf3, 0x5, 0xd, 0x0, 0x0, 0x2, 0x0, 0xa9, 0x0, 0x0, 0x6, 0x83, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x1f, 0x0, 0xa7, 0xb8, 0x0, 0x20, 0x2f, 0xb8, 0x0, 0x21, 0x2f, 0xb8, 0x0, 0x20, 0x10, 0xb8, 0x0, 0xe, 0xd0, 0xb8, 0x0, 0xe, 0x2f, 0xb8, 0x0, 0xd, 0xdc, 0xb8, 0x0, 0x0, 0xd0, 0xb8, 0x0, 0x21, 0x10, 0xb8, 0x0, 0x13, 0xdc, 0xb8, 0x0, 0x5, 0xdc, 0x41, 0x5, 0x0, 0xea, 0x0, 0x5, 0x0, 0xfa, 0x0, 0x5, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x5, 0x0, 0x29, 0x0, 0x5, 0x0, 0x39, 0x0, 0x5, 0x0, 0x49, 0x0, 0x5, 0x0, 0x59, 0x0, 0x5, 0x0, 0x69, 0x0, 0x5, 0x0, 0x79, 0x0, 0x5, 0x0, 0x89, 0x0, 0x5, 0x0, 0x99, 0x0, 0x5, 0x0, 0xa9, 0x0, 0x5, 0x0, 0xb9, 0x0, 0x5, 0x0, 0xc9, 0x0, 0x5, 0x0, 0xd9, 0x0, 0x5, 0x0, 0xd, 0x5d, 0xb8, 0x0, 0x9, 0xd0, 0xb8, 0x0, 0x9, 0x2f, 0xba, 0x0, 0x1e, 0x0, 0xe, 0x0, 0x13, 0x11, 0x12, 0x39, 0x0, 0xb8, 0x0, 0xd, 0x2f, 0xb8, 0x0, 0x1a, 0x2f, 0xb8, 0x0, 0x1d, 0x2f, 0xba, 0x0, 0xf, 0x0, 0x0, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xf, 0x10, 0xba, 0x0, 0x2, 0x0, 0xb, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x2, 0x10, 0x30, 0x31, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x1, 0x6, 0x2b, 0x1, 0x11, 0x23, 0x11, 0x21, 0x32, 0x4, 0x15, 0x14, 0x7, 0x17, 0x37, 0x33, 0x9, 0x1, 0x23, 0xb, 0x1, 0x23, 0x1, 0x1, 0x73, 0xfe, 0x8d, 0x9a, 0x9a, 0x8d, 0x1, 0x20, 0x73, 0xad, 0xfe, 0xca, 0x1, 0xc8, 0xfb, 0x1, 0x1, 0x4e, 0xae, 0xbe, 0xe8, 0xfe, 0xcd, 0x1, 0x43, 0xe9, 0xcf, 0xd4, 0xe8, 0x1, 0x49, 0x5, 0x2f, 0xfd, 0xcf, 0x92, 0x87, 0x86, 0x92, 0xfd, 0x5f, 0x36, 0xfd, 0xa8, 0x5, 0xd5, 0xe3, 0xdb, 0xac, 0x6b, 0xdb, 0xea, 0xfe, 0x86, 0xfe, 0x6b, 0x1, 0x4, 0xfe, 0xfc, 0x1, 0x95, 0x0, 0x0, 0x0, 0x4, 0x0, 0xc9, 0xff, 0x25, 0x5, 0x54, 0x6, 0xc7, 0x0, 0x5, 0x0, 0x24, 0x0, 0x2b, 0x0, 0x2e, 0x0, 0x0, 0x1, 0x11, 0x33, 0x13, 0x26, 0x23, 0x13, 0x16, 0x17, 0x16, 0x17, 0x13, 0x23, 0x3, 0x26, 0x27, 0x26, 0x27, 0x1, 0x27, 0x37, 0x23, 0x11, 0x21, 0x32, 0x17, 0x37, 0x25, 0x37, 0x5, 0x7, 0x16, 0x17, 0x16, 0x15, 0x14, 0x6, 0xb, 0x1, 0x36, 0x37, 0x36, 0x35, 0x34, 0x1, 0x13, 0x23, 0x1, 0x93, 0xd1, 0xc8, 0x3f, 0x5c, 0xfc, 0x41, 0x3e, 0x3a, 0x41, 0xcd, 0xd9, 0xbf, 0x4b, 0x45, 0x36, 0x54, 0xfe, 0xae, 0x6f, 0x46, 0x5e, 0x1, 0xc8, 0x7e, 0x5f, 0xb, 0xfe, 0xba, 0x2c, 0x1, 0xb6, 0x38, 0x1b, 0x17, 0x7e, 0x83, 0x7c, 0xa7, 0x54, 0x33, 0x4a, 0xfd, 0xdb, 0x8f, 0x8f, 0x5, 0x2f, 0xfd, 0xee, 0x1, 0xf8, 0x1a, 0xfd, 0x8d, 0x16, 0x48, 0x44, 0x82, 0xfe, 0x68, 0x1, 0x7f, 0x97, 0x30, 0x26, 0x9, 0xfc, 0xb0, 0x2c, 0xaf, 0x5, 0xd5, 0x1a, 0x1b, 0x82, 0x6f, 0xae, 0x8c, 0x10, 0x13, 0x6b, 0xd8, 0x8d, 0xba, 0x1, 0xe7, 0xfe, 0x5d, 0xf, 0x2d, 0x44, 0x83, 0x62, 0xfc, 0x87, 0x1, 0x67, 0x0, 0x0, 0x0, 0x2, 0x1, 0x3, 0x3, 0x8b, 0x6, 0x28, 0x5, 0xd8, 0x0, 0x27, 0x0, 0x34, 0x0, 0x0, 0x1, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1f, 0x1, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2f, 0x1, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x37, 0x33, 0x1b, 0x1, 0x33, 0x11, 0x23, 0x11, 0x3, 0x23, 0x3, 0x11, 0x23, 0x2, 0xe6, 0x55, 0x57, 0x27, 0x41, 0x47, 0x2f, 0x45, 0x38, 0x70, 0x69, 0x90, 0x8c, 0x34, 0x73, 0x47, 0x5b, 0x64, 0x2f, 0x45, 0x4b, 0x37, 0x3f, 0x38, 0x70, 0x63, 0x8a, 0x7c, 0x33, 0x69, 0xd0, 0xb8, 0xa1, 0xa2, 0xb8, 0x8a, 0x8c, 0x87, 0x8d, 0x89, 0x5, 0xb7, 0x59, 0x22, 0x13, 0x2a, 0x2f, 0x28, 0x20, 0xb, 0x9, 0x12, 0x56, 0x41, 0x4f, 0x5b, 0x13, 0x15, 0x60, 0x2a, 0x18, 0x2c, 0x32, 0x2c, 0x2a, 0xa, 0x9, 0x12, 0x4d, 0x3d, 0x48, 0x5c, 0xf, 0x5, 0xfe, 0xac, 0x1, 0x54, 0xfd, 0xc8, 0x1, 0x94, 0xfe, 0xd8, 0x1, 0x28, 0xfe, 0x6c, 0x0, 0x0, 0x0, 0x3, 0xff, 0xfc, 0x0, 0x0, 0x8, 0x30, 0x4, 0x60, 0x0, 0x7, 0x0, 0x13, 0x0, 0x19, 0x0, 0x0, 0x3, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x5, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x1, 0x33, 0x11, 0x21, 0x15, 0x21, 0x4, 0x3, 0xb3, 0xfe, 0x72, 0x98, 0xfe, 0x73, 0x2, 0xe0, 0x2, 0x6f, 0xfe, 0x16, 0x1, 0xd5, 0xfe, 0x2b, 0x1, 0xf6, 0xfd, 0x85, 0x2, 0xef, 0x85, 0x1, 0xe0, 0xfd, 0x9b, 0x4, 0x60, 0x80, 0xfc, 0x20, 0x3, 0xe0, 0x60, 0x66, 0xfe, 0xf7, 0x66, 0xfe, 0xbb, 0x66, 0x3, 0x80, 0xfc, 0xe6, 0x66, 0x0, 0x0, 0x0, 0x0, 0x2, 0x1, 0x27, 0x3, 0x93, 0x6, 0x46, 0x5, 0xd5, 0x0, 0xc, 0x0, 0x14, 0x0, 0x3e, 0x40, 0x21, 0x1, 0x6, 0x7, 0x10, 0xa, 0x4, 0x12, 0xe, 0x9, 0x3, 0x6, 0xc9, 0xd, 0x2, 0x0, 0x81, 0x15, 0x1, 0x9, 0x5, 0x62, 0x3, 0x9, 0x62, 0xb, 0xd, 0x63, 0xf, 0x62, 0x13, 0x63, 0x11, 0x15, 0x10, 0xd4, 0xe4, 0xfc, 0xe4, 0xd4, 0xec, 0xd4, 0xec, 0x11, 0x39, 0x31, 0x0, 0x10, 0xf4, 0x3c, 0x3c, 0xec, 0x17, 0x32, 0xd4, 0x3c, 0x3c, 0xc4, 0x11, 0x39, 0x30, 0x1, 0x1b, 0x1, 0x33, 0x11, 0x23, 0x11, 0x3, 0x23, 0x3, 0x11, 0x23, 0x11, 0x23, 0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x4, 0x4a, 0xae, 0xa4, 0xaa, 0x71, 0xc3, 0x37, 0xcb, 0x72, 0x71, 0xcb, 0x72, 0xc9, 0x5, 0xd5, 0xff, 0x0, 0x1, 0x0, 0xfd, 0xbe, 0x1, 0xe4, 0xfe, 0xd1, 0x1, 0x2f, 0xfe, 0x1c, 0x2, 0x42, 0x5e, 0xfe, 0x1c, 0x1, 0xe4, 0x5e, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x10, 0xff, 0x22, 0x5, 0x68, 0x6, 0xc4, 0x0, 0x10, 0x0, 0x0, 0x9, 0x1, 0x25, 0x37, 0x5, 0x1, 0x13, 0x1, 0x33, 0x1, 0x23, 0xb, 0x1, 0x27, 0x9, 0x1, 0x33, 0x1, 0xd7, 0x1, 0x1, 0xfe, 0xba, 0x2c, 0x1, 0xb6, 0xfe, 0xa2, 0xa6, 0x1, 0xda, 0xd2, 0xfd, 0xc7, 0xe5, 0x9e, 0xfd, 0x6f, 0x1, 0x2d, 0xfe, 0xa3, 0xd3, 0x3, 0x4d, 0x2, 0x86, 0x82, 0x6f, 0xae, 0xfc, 0x90, 0xfe, 0x46, 0x4, 0xe9, 0xfa, 0x2b, 0x1, 0x9e, 0xfd, 0x84, 0x2c, 0x2, 0xf5, 0x3, 0x92, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x5c, 0x0, 0x0, 0x5, 0x99, 0x5, 0xd5, 0x0, 0x3, 0x0, 0xd, 0x0, 0x0, 0x25, 0x1, 0x23, 0x1, 0x3, 0x21, 0x15, 0x1, 0x21, 0x15, 0x21, 0x35, 0x1, 0x21, 0x1, 0xc8, 0x3, 0x38, 0xea, 0xfc, 0xc8, 0x6b, 0x5, 0xf, 0xfc, 0xc8, 0x3, 0x4f, 0xfa, 0xc3, 0x3, 0x38, 0xfc, 0xdf, 0x64, 0x5, 0xd, 0xfa, 0xf3, 0x5, 0x71, 0x64, 0xfa, 0xf3, 0x64, 0x64, 0x5, 0xd, 0x0, 0x1, 0x0, 0x58, 0xfe, 0x4c, 0x4, 0x2f, 0x6, 0x14, 0x0, 0x1f, 0x0, 0x0, 0x17, 0x16, 0x20, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x35, 0x1, 0x21, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x21, 0x15, 0x1, 0x32, 0x1e, 0x1, 0x15, 0x10, 0x7, 0x6, 0x21, 0x22, 0x27, 0x58, 0xaa, 0x1, 0xa3, 0xc1, 0xb9, 0xa5, 0xfe, 0xf0, 0x1, 0xf7, 0xfe, 0x9, 0x1, 0xf7, 0xfd, 0xc4, 0x3, 0x24, 0xfe, 0x27, 0x1, 0xd9, 0xfe, 0x27, 0xac, 0xdf, 0xa6, 0x8d, 0xb9, 0xfe, 0xfe, 0xbb, 0xd4, 0xa7, 0x63, 0xa3, 0xcc, 0x86, 0x93, 0xa6, 0x1, 0x65, 0x93, 0x1, 0x65, 0x93, 0xa8, 0xfe, 0xb0, 0xa8, 0xfe, 0xb0, 0x61, 0xd4, 0x8a, 0xfe, 0xd3, 0x66, 0x86, 0x4a, 0x0, 0xff, 0xff, 0x0, 0x4e, 0x0, 0x0, 0x5, 0xcf, 0x5, 0xe7, 0x10, 0x6, 0x3, 0x3d, 0x0, 0x0, 0xff, 0xff, 0x0, 0x4e, 0xff, 0xe3, 0x5, 0xcf, 0x5, 0xca, 0x10, 0x6, 0x1, 0x73, 0x0, 0x0, 0x0, 0x1, 0x0, 0x18, 0xfe, 0xce, 0x4, 0x95, 0x6, 0x44, 0x0, 0x55, 0x0, 0x0, 0x1, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x37, 0x33, 0x6, 0x17, 0x16, 0x33, 0x32, 0x37, 0x32, 0x36, 0x33, 0x32, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x17, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x10, 0x3, 0x6, 0x21, 0x22, 0x27, 0x34, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x27, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x1, 0x8e, 0x5f, 0x7d, 0x79, 0x6a, 0x23, 0x31, 0x51, 0x18, 0x80, 0x96, 0x1a, 0x5c, 0x24, 0x18, 0x98, 0x23, 0x23, 0x23, 0x23, 0x82, 0x2c, 0x54, 0x11, 0x47, 0x11, 0x47, 0x5c, 0x18, 0x3c, 0x82, 0x84, 0x6c, 0x2, 0x47, 0x32, 0xfb, 0x65, 0x24, 0xb0, 0xf2, 0xfe, 0xd7, 0x73, 0x61, 0x2, 0x4, 0x10, 0x18, 0x23, 0x30, 0x45, 0x18, 0x4b, 0x58, 0x51, 0x3c, 0x4d, 0x11, 0xb, 0x19, 0x1e, 0x40, 0x98, 0x75, 0x4a, 0x26, 0x27, 0x11, 0x14, 0x21, 0x67, 0xb0, 0x6c, 0x5d, 0x2, 0xa8, 0x8a, 0x9, 0x79, 0x6a, 0x8d, 0x2e, 0x23, 0x2e, 0xb, 0xb, 0x23, 0x19, 0x21, 0xd3, 0x3c, 0x23, 0x21, 0x5, 0x6, 0x16, 0x18, 0x3b, 0x47, 0xa3, 0x81, 0x84, 0x42, 0x3, 0xe, 0x98, 0x77, 0x80, 0xfe, 0xeb, 0xfe, 0xfa, 0xc8, 0x18, 0x87, 0x1c, 0x2c, 0x10, 0x18, 0x3c, 0x24, 0x3d, 0x2c, 0x23, 0x23, 0x16, 0x77, 0x55, 0x19, 0x1e, 0x74, 0x4b, 0x79, 0x79, 0x98, 0x56, 0x3f, 0x40, 0x21, 0x6a, 0x2e, 0x0, 0x0, 0x1, 0x0, 0x44, 0x0, 0x0, 0x2, 0xa, 0x4, 0x60, 0x0, 0xd, 0x0, 0x0, 0x21, 0x11, 0x34, 0x27, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x17, 0x16, 0x15, 0x11, 0x1, 0x4e, 0x22, 0x24, 0x6c, 0x58, 0x6e, 0xb6, 0x50, 0x52, 0x2, 0xd5, 0x91, 0x2e, 0x30, 0x9c, 0x60, 0x62, 0xd4, 0xfd, 0x36, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x6a, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x2e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x7, 0x6d, 0x10, 0x6, 0x0, 0x87, 0x0, 0x0, 0x0, 0x3, 0x0, 0x5c, 0x0, 0x0, 0x5, 0xdf, 0x6, 0x2e, 0x0, 0x32, 0x0, 0x3f, 0x0, 0x52, 0x0, 0x0, 0x1, 0x17, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x29, 0x1, 0x37, 0x32, 0x37, 0x36, 0x37, 0x36, 0x35, 0x11, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x14, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x25, 0x37, 0x17, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x5, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x23, 0x11, 0x14, 0x1, 0x5, 0x32, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x6, 0x4, 0x71, 0x7, 0xa9, 0x5f, 0x5f, 0x79, 0xdc, 0xfe, 0xb3, 0xfd, 0x73, 0x3b, 0x96, 0x86, 0x39, 0x1d, 0x1f, 0xb9, 0x82, 0x4d, 0xb, 0xd, 0x13, 0x21, 0x2c, 0x19, 0x11, 0x26, 0x71, 0xa0, 0x1, 0x8, 0x98, 0x9, 0xc6, 0x91, 0x8f, 0x30, 0x49, 0x67, 0x4b, 0xfe, 0x8a, 0xcc, 0x71, 0x53, 0x46, 0x2a, 0x65, 0x6c, 0x86, 0xfe, 0xe8, 0x1, 0x5c, 0x88, 0x6c, 0x68, 0x30, 0x58, 0x56, 0x2e, 0x54, 0x4d, 0x76, 0x4b, 0x49, 0x1f, 0x2e, 0x58, 0x3, 0x54, 0x10, 0x61, 0x5e, 0x80, 0xae, 0x7d, 0xda, 0x75, 0x86, 0x3b, 0x8b, 0x84, 0xd3, 0x2, 0x83, 0x82, 0x49, 0x4d, 0xb, 0x3d, 0x5, 0x2c, 0xd, 0x33, 0x13, 0x21, 0x16, 0x23, 0x56, 0x86, 0x74, 0x9f, 0x27, 0x49, 0x40, 0x1c, 0x1f, 0x33, 0x48, 0x6c, 0x9a, 0x68, 0x4a, 0x33, 0x70, 0x52, 0x81, 0x75, 0x46, 0x2a, 0x1b, 0x18, 0xfd, 0xc2, 0x1d, 0xfd, 0x28, 0x2, 0x1a, 0x1d, 0x30, 0x58, 0xb9, 0x72, 0x56, 0x2c, 0x18, 0x18, 0x6, 0xec, 0x6e, 0xce, 0x0, 0x0, 0x0, 0x1, 0x0, 0x82, 0xff, 0xe8, 0x5, 0x37, 0x5, 0xf0, 0x0, 0x3d, 0x0, 0x0, 0x1, 0x17, 0x36, 0x25, 0x1e, 0x1, 0x17, 0x16, 0x17, 0x16, 0x37, 0x15, 0x6, 0x7, 0x26, 0x27, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x7, 0x6, 0x7, 0x27, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x37, 0x22, 0x7, 0x6, 0x15, 0x10, 0x17, 0x16, 0x2d, 0x1, 0x15, 0x6, 0x7, 0x6, 0x24, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x2, 0x4b, 0x47, 0x98, 0x1, 0x2f, 0xb, 0x28, 0xb, 0x11, 0x10, 0x16, 0x69, 0x8c, 0x68, 0x3b, 0x75, 0x29, 0x1d, 0x18, 0xb, 0x3, 0xf, 0xf, 0xf, 0x46, 0x73, 0xc6, 0x1a, 0x5a, 0x49, 0x23, 0x2e, 0x21, 0x13, 0x7d, 0x49, 0x69, 0xb0, 0xde, 0x1, 0x6b, 0x1, 0x1, 0xd7, 0x65, 0xc0, 0xfe, 0x8f, 0x82, 0x5d, 0x2e, 0x30, 0x5e, 0xc0, 0x5, 0x35, 0x23, 0x6c, 0x72, 0x1c, 0x77, 0x1f, 0x28, 0xf, 0x16, 0x21, 0x2e, 0x44, 0xe, 0x24, 0xbb, 0xd, 0x22, 0x1c, 0x39, 0x42, 0x47, 0x16, 0x33, 0x32, 0x4b, 0x25, 0x8d, 0x46, 0x6e, 0x1f, 0x23, 0x16, 0x49, 0x23, 0x74, 0x33, 0xb9, 0x74, 0x52, 0x5d, 0x86, 0xda, 0xfe, 0xb9, 0xb0, 0xe1, 0x26, 0x7f, 0x39, 0x88, 0x4b, 0x28, 0x56, 0x82, 0x5c, 0x8f, 0x91, 0xb5, 0xd1, 0xbd, 0x93, 0x0, 0x0, 0x0, 0x2, 0x0, 0x7d, 0xff, 0xe7, 0x6, 0x59, 0x5, 0x2d, 0x0, 0x1a, 0x0, 0x29, 0x0, 0x0, 0x25, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x37, 0x33, 0x6, 0x7, 0x6, 0x20, 0x24, 0x2, 0x35, 0x34, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x15, 0x21, 0x22, 0x15, 0x35, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x1, 0x90, 0x43, 0x5d, 0x96, 0x1, 0x4a, 0x98, 0x6a, 0x4d, 0x6f, 0x5f, 0x8e, 0xb3, 0xfe, 0x7a, 0xfe, 0x9b, 0xc6, 0xc9, 0x1, 0x67, 0xbe, 0xbd, 0x1, 0x67, 0xca, 0xfb, 0x4a, 0x13, 0x13, 0x3, 0x90, 0x14, 0x46, 0x5f, 0x98, 0x9f, 0xa0, 0x98, 0x5f, 0x44, 0xe4, 0x4d, 0x33, 0x54, 0x54, 0x3c, 0x60, 0x78, 0x47, 0x5a, 0xb3, 0x1, 0x41, 0xaf, 0xb0, 0x1, 0x45, 0xae, 0xae, 0xfe, 0xbb, 0xb0, 0x13, 0x49, 0x13, 0x13, 0x1, 0x70, 0x50, 0x33, 0x52, 0x51, 0x34, 0x4f, 0x0, 0x0, 0x0, 0x2, 0x0, 0x57, 0xff, 0xe3, 0x4, 0x60, 0x4, 0x44, 0x0, 0x1c, 0x0, 0x25, 0x0, 0x0, 0x1, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x33, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x0, 0x33, 0x20, 0x11, 0x14, 0x7, 0x6, 0x37, 0x36, 0x35, 0x34, 0x23, 0x22, 0x6, 0x3, 0x20, 0x1, 0x2c, 0x4, 0x22, 0x3b, 0x9e, 0x74, 0x39, 0x66, 0x18, 0x87, 0x28, 0x95, 0x68, 0xfe, 0x64, 0x6f, 0x4e, 0xf, 0x31, 0x1, 0x52, 0xf0, 0x1, 0x87, 0xcd, 0xd1, 0x6b, 0x70, 0xe3, 0x86, 0xba, 0x39, 0x1, 0x41, 0x1, 0x98, 0x26, 0x22, 0x5e, 0x3e, 0x6e, 0x23, 0x3f, 0x51, 0x7f, 0x59, 0x3e, 0x99, 0x6b, 0x9b, 0x44, 0x4d, 0xfd, 0x1, 0x34, 0xfe, 0xeb, 0xc7, 0x67, 0x69, 0xe0, 0x4d, 0x71, 0xab, 0xcc, 0xfe, 0xed, 0x0, 0x0, 0x0, 0x1, 0x0, 0xa2, 0xff, 0xe3, 0x4, 0x86, 0x5, 0xf0, 0x0, 0x45, 0x0, 0x0, 0x1, 0x17, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x3f, 0x1, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x33, 0x15, 0x22, 0x7, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x4, 0x27, 0x5f, 0x1f, 0x10, 0xb2, 0xfb, 0x8f, 0x69, 0x6c, 0x45, 0x5f, 0x86, 0x6d, 0xb2, 0x2, 0x6c, 0x3d, 0x4f, 0x63, 0x7b, 0xf1, 0x88, 0x54, 0x33, 0x2d, 0x32, 0x22, 0x29, 0x17, 0xd, 0x1c, 0x1a, 0x25, 0x2b, 0x66, 0x61, 0x40, 0x61, 0x50, 0x2f, 0x5a, 0x5f, 0x7c, 0xab, 0x7b, 0x77, 0x3a, 0x6d, 0x61, 0x5a, 0xc2, 0x81, 0x75, 0x3e, 0xd, 0x1, 0x49, 0x68, 0x41, 0x11, 0xac, 0x22, 0x25, 0x40, 0x5f, 0xa9, 0xae, 0x8a, 0x6c, 0x18, 0x15, 0x24, 0x3d, 0x50, 0x94, 0x8b, 0x63, 0x7a, 0x53, 0x32, 0x56, 0x4e, 0x2d, 0x32, 0x16, 0xe, 0x21, 0x1c, 0x24, 0x2b, 0x1f, 0x25, 0x24, 0x2b, 0x40, 0x65, 0x97, 0x7d, 0x4e, 0x30, 0x17, 0x1a, 0x36, 0x1e, 0x1d, 0x39, 0x6e, 0x99, 0xa6, 0x61, 0x5b, 0x75, 0x3e, 0x5f, 0x0, 0x0, 0x1, 0x0, 0x54, 0xff, 0xdf, 0x6, 0x11, 0x6, 0xb, 0x0, 0x4d, 0x0, 0x0, 0x1, 0x17, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x11, 0x21, 0x7, 0x23, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x21, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x3d, 0x1, 0x21, 0x37, 0x21, 0x11, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x1f, 0x1, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x21, 0x32, 0x17, 0x37, 0x15, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x5, 0xee, 0x23, 0x58, 0x27, 0x3a, 0x27, 0x37, 0xe1, 0x3f, 0x1, 0x3c, 0x3d, 0xff, 0x2a, 0x2a, 0x4d, 0xc6, 0xfe, 0xf4, 0x80, 0x5f, 0x34, 0x1e, 0x1b, 0x2e, 0x1f, 0xd, 0x12, 0x16, 0x13, 0x1b, 0x42, 0x5e, 0x6c, 0x7b, 0x3e, 0x1d, 0x21, 0xfe, 0x97, 0x27, 0x1, 0x42, 0x61, 0x3e, 0xc1, 0x6e, 0x47, 0x7, 0x14, 0x19, 0x23, 0x1a, 0x26, 0x23, 0x1f, 0x77, 0xa7, 0x1, 0x34, 0x24, 0x42, 0x9a, 0xbb, 0x8f, 0x30, 0x16, 0x30, 0x21, 0x5, 0xf2, 0x13, 0xa3, 0x4b, 0x14, 0x3d, 0x19, 0xfd, 0xdc, 0x44, 0x63, 0x98, 0x84, 0x80, 0x4b, 0xca, 0x5f, 0x34, 0x42, 0x28, 0x1f, 0x1a, 0xb, 0x14, 0x30, 0x33, 0x1a, 0x42, 0x7b, 0x3e, 0x63, 0x65, 0x82, 0xb9, 0x44, 0x2, 0x49, 0x18, 0x6e, 0x46, 0x54, 0x3d, 0x1f, 0x49, 0x2c, 0x1a, 0x1f, 0x1f, 0x1f, 0x46, 0xb4, 0x77, 0xa7, 0x8, 0x37, 0x4b, 0x2e, 0x16, 0x9, 0x30, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x23, 0x5, 0xd5, 0x0, 0x9, 0x0, 0x0, 0x29, 0x1, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x4, 0x23, 0xfc, 0xa6, 0x2, 0x90, 0xfd, 0xb0, 0x2, 0x50, 0xca, 0xaa, 0x1, 0xb8, 0xaa, 0x2, 0xc9, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x39, 0xff, 0xc7, 0x8, 0x42, 0x6, 0x2, 0x0, 0x6b, 0x0, 0x0, 0x1, 0x11, 0x14, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x17, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x11, 0x34, 0x2, 0x37, 0x6, 0x3, 0x2, 0x3, 0x7, 0x27, 0x2, 0x3, 0x26, 0x27, 0x26, 0x27, 0x11, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x36, 0x37, 0x36, 0x35, 0x11, 0x26, 0x23, 0x22, 0x7, 0x6, 0xf, 0x1, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x33, 0x16, 0x13, 0x12, 0x13, 0x17, 0x12, 0x37, 0x12, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x6, 0xd7, 0x16, 0x16, 0x2c, 0x1b, 0x1c, 0x35, 0x28, 0x2e, 0x27, 0x2a, 0x27, 0x45, 0x60, 0x9f, 0x39, 0x37, 0x12, 0x6, 0x7, 0x5, 0xae, 0x79, 0x7b, 0x37, 0x61, 0x14, 0x3b, 0x66, 0x37, 0x3b, 0x3e, 0x46, 0x33, 0x2e, 0x5e, 0x50, 0x65, 0x4d, 0x44, 0x2a, 0x1d, 0x18, 0x23, 0x37, 0x1d, 0x1c, 0x40, 0x2c, 0x6a, 0x21, 0x1c, 0x48, 0x68, 0x48, 0x3c, 0x3d, 0x14, 0x2e, 0xf, 0x18, 0x1b, 0x25, 0x5f, 0x79, 0x8f, 0x69, 0x7, 0xa5, 0x70, 0x70, 0x33, 0xb, 0x54, 0x7d, 0x80, 0x9c, 0x98, 0xb2, 0x42, 0x27, 0x1d, 0x12, 0x1e, 0x2c, 0x24, 0x8, 0x16, 0x7, 0xb, 0x4, 0x19, 0x1a, 0x1d, 0x1a, 0x2a, 0x5, 0x1d, 0xfd, 0x35, 0xdc, 0x80, 0x81, 0x2f, 0x16, 0x2c, 0x2c, 0x40, 0x21, 0x3b, 0x44, 0x61, 0x39, 0x37, 0x9e, 0x54, 0x2, 0x1, 0x1e, 0x1, 0x91, 0x1f, 0xb3, 0xfe, 0xc4, 0xfe, 0xc9, 0xfe, 0x56, 0x4d, 0xf, 0x1, 0xe6, 0x1, 0x3b, 0xa9, 0x6e, 0x77, 0x46, 0xfe, 0xf, 0xed, 0xbb, 0xb3, 0x5e, 0x4f, 0x3f, 0x2f, 0x2c, 0x25, 0x21, 0x18, 0x3b, 0x3e, 0x6a, 0x79, 0x74, 0x9f, 0x2, 0xd6, 0x58, 0x3c, 0x3b, 0x7d, 0x3, 0x66, 0x3f, 0x45, 0x27, 0x5f, 0x6e, 0xa5, 0xfe, 0xfa, 0xfe, 0xf4, 0xfe, 0xb1, 0xb, 0x1, 0x48, 0xf4, 0x1, 0x2, 0x97, 0x98, 0x27, 0x1d, 0x1d, 0x27, 0x10, 0x23, 0x9, 0x16, 0xd, 0x1d, 0x4, 0x18, 0x16, 0x2e, 0x0, 0x0, 0x2, 0x0, 0x68, 0xff, 0xe7, 0x3, 0x4a, 0x3, 0x29, 0x0, 0xb, 0x0, 0x17, 0x0, 0x0, 0x1, 0x34, 0x26, 0x23, 0x22, 0x2, 0x15, 0x14, 0x16, 0x33, 0x32, 0x12, 0x3, 0x32, 0x16, 0x15, 0x14, 0x2, 0x23, 0x22, 0x26, 0x35, 0x34, 0x12, 0x2, 0xa9, 0x57, 0x4f, 0x6d, 0x8d, 0x56, 0x50, 0x6d, 0x8d, 0xc2, 0x98, 0xcb, 0xdd, 0xa2, 0x98, 0xcb, 0xdd, 0x1, 0xf7, 0x74, 0x7d, 0xfe, 0xfe, 0xcf, 0x74, 0x7b, 0x1, 0x4, 0x1, 0xfd, 0xd8, 0xa3, 0xc6, 0xfe, 0xff, 0xd8, 0xa3, 0xc6, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x67, 0xff, 0xe3, 0x5, 0xb2, 0x5, 0xf0, 0x0, 0x34, 0x0, 0x0, 0x9, 0x1, 0x16, 0x15, 0x14, 0x7, 0x34, 0x27, 0x1, 0x7, 0x6, 0x1f, 0x1, 0x16, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x36, 0x35, 0x34, 0x2f, 0x1, 0x26, 0x34, 0x3f, 0x1, 0x27, 0x26, 0x35, 0x34, 0x37, 0x14, 0x17, 0x9, 0x1, 0x27, 0x26, 0x35, 0x34, 0x37, 0x14, 0x1f, 0x1, 0x16, 0x15, 0x14, 0x7, 0x34, 0x2f, 0x1, 0x3, 0xc4, 0x1, 0x8b, 0x63, 0x90, 0x32, 0xfc, 0xfb, 0x9b, 0x3e, 0x42, 0xac, 0x64, 0x3d, 0x56, 0x45, 0xf5, 0xc4, 0x2f, 0x62, 0x35, 0x8c, 0x9a, 0xf1, 0x63, 0x90, 0x32, 0x2, 0x6c, 0x1, 0x19, 0x74, 0x63, 0x90, 0x32, 0xb6, 0x63, 0x90, 0x32, 0x12, 0x2, 0xd0, 0xfe, 0x75, 0x63, 0x31, 0x82, 0x4c, 0x53, 0x32, 0x3, 0x5, 0x9c, 0x3f, 0x42, 0xac, 0x64, 0xd6, 0x2c, 0x3e, 0x38, 0x3f, 0x5d, 0x1d, 0x2f, 0x63, 0x36, 0xbc, 0x8d, 0x9b, 0xf1, 0x63, 0x31, 0x82, 0x4c, 0x53, 0x32, 0xfd, 0x96, 0x1, 0x19, 0x74, 0x63, 0x31, 0x82, 0x4c, 0x53, 0x32, 0xb6, 0x63, 0x31, 0x82, 0x4c, 0x53, 0x32, 0x12, 0x0, 0x1, 0xff, 0xfb, 0xff, 0xe3, 0x5, 0x39, 0x5, 0xf1, 0x0, 0x30, 0x0, 0x0, 0x1, 0x11, 0x33, 0x16, 0x15, 0x14, 0xf, 0x1, 0xe, 0x1, 0x23, 0x21, 0x22, 0x2e, 0x1, 0x35, 0x34, 0x3f, 0x1, 0x3e, 0x1, 0x33, 0x21, 0x11, 0x34, 0x27, 0x2e, 0x1, 0x23, 0x21, 0x22, 0x2e, 0x3, 0x35, 0x34, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x1e, 0x2, 0x33, 0x21, 0x32, 0x16, 0x4, 0xbe, 0x4f, 0x2c, 0x1e, 0x87, 0x11, 0x14, 0x22, 0xfb, 0xf4, 0x16, 0x18, 0x18, 0x22, 0x85, 0x11, 0x14, 0x24, 0x3, 0x84, 0x14, 0x14, 0x25, 0x40, 0xfd, 0x7f, 0x3b, 0x35, 0x48, 0x1d, 0x16, 0x4, 0x10, 0x14, 0x19, 0xc, 0xc, 0x2a, 0x1f, 0x1c, 0x2, 0xd6, 0x59, 0x5b, 0x4, 0xb6, 0xfc, 0x23, 0x4, 0x24, 0x14, 0x1b, 0x87, 0x12, 0x6, 0x2, 0x14, 0x12, 0x10, 0x22, 0x86, 0x10, 0x6, 0x3, 0x78, 0x32, 0xd, 0x10, 0x6, 0x4, 0x18, 0x31, 0x5b, 0x47, 0x28, 0x20, 0x14, 0x20, 0x1e, 0x1f, 0x4, 0x57, 0x0, 0x0, 0x1, 0x0, 0x1b, 0xff, 0xb8, 0x3, 0x41, 0x5, 0xf0, 0x0, 0x2c, 0x0, 0x0, 0x1, 0x21, 0x32, 0x17, 0x16, 0x14, 0xe, 0x1, 0x7, 0x1e, 0x1, 0x12, 0x10, 0x7, 0x6, 0x23, 0x22, 0x26, 0x2f, 0x1, 0xe, 0x1, 0x23, 0x21, 0x22, 0x35, 0x34, 0x3f, 0x1, 0x3e, 0x1, 0x33, 0x21, 0x11, 0x21, 0x22, 0x26, 0x35, 0x34, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x1, 0x54, 0x1, 0x50, 0x6c, 0x1e, 0x13, 0xc, 0x30, 0x25, 0x2, 0x2, 0x3d, 0xa, 0x18, 0x2d, 0x16, 0x12, 0x6, 0xe, 0x64, 0x12, 0x2c, 0xfe, 0x6d, 0x46, 0x22, 0x85, 0x11, 0x14, 0x24, 0x1, 0x85, 0xfe, 0xba, 0x6d, 0x47, 0x14, 0x2d, 0xc, 0x17, 0x2e, 0x10, 0x5, 0x8f, 0x37, 0x23, 0x2a, 0x28, 0x2f, 0xa, 0x1a, 0x82, 0xfd, 0x24, 0xfe, 0xfb, 0x22, 0x53, 0x1e, 0x1f, 0x61, 0x65, 0xe, 0x28, 0x10, 0x21, 0x87, 0x10, 0x6, 0x3, 0xcd, 0x71, 0x7e, 0x42, 0x19, 0x1e, 0x3b, 0x6, 0x2, 0x0, 0x0, 0x1, 0x0, 0x56, 0xff, 0xb8, 0x4, 0xba, 0x5, 0xf0, 0x0, 0x26, 0x0, 0x0, 0x1, 0x21, 0x22, 0x26, 0x35, 0x34, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x1e, 0x2, 0x33, 0x21, 0x32, 0x1e, 0x2, 0x15, 0x14, 0xe, 0x1, 0x7, 0x1e, 0x1, 0x17, 0x12, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x26, 0x27, 0x26, 0x35, 0x4, 0xa, 0xfd, 0x0, 0x6d, 0x47, 0x4, 0x10, 0x14, 0x19, 0xc, 0xc, 0x2a, 0x1f, 0x1c, 0x3, 0xa, 0x35, 0x47, 0x1a, 0x6, 0xc, 0x30, 0x25, 0x2, 0x2, 0x4, 0x39, 0xa, 0x17, 0x2e, 0x18, 0x11, 0xc, 0xc, 0x4, 0xa6, 0x71, 0x7e, 0x28, 0x1f, 0x14, 0x1f, 0x1e, 0x20, 0x4, 0x1f, 0x30, 0x1a, 0xb, 0x10, 0x28, 0x2f, 0xa, 0x1a, 0x82, 0x26, 0xfd, 0x4a, 0x93, 0x73, 0x21, 0x53, 0x27, 0x44, 0x51, 0x49, 0x0, 0x0, 0x0, 0x2, 0x0, 0x46, 0x0, 0x0, 0x2, 0xd7, 0x6, 0x14, 0x0, 0xb, 0x0, 0x15, 0x0, 0x0, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x1, 0x33, 0x15, 0x21, 0x35, 0x33, 0x11, 0x23, 0x35, 0x21, 0xbc, 0x70, 0x51, 0x4f, 0x6f, 0x6f, 0x4f, 0x51, 0x70, 0x1, 0x83, 0x98, 0xfd, 0x6f, 0x97, 0x97, 0x1, 0xf9, 0x5, 0x54, 0x51, 0x6f, 0x6f, 0x51, 0x4f, 0x6f, 0x6e, 0xfb, 0x75, 0x79, 0x79, 0x3, 0x35, 0x79, 0x0, 0x2, 0x0, 0x5a, 0xff, 0xd5, 0x7, 0x52, 0x5, 0x3b, 0x0, 0x9, 0x0, 0x1b, 0x0, 0x0, 0x12, 0x10, 0x0, 0x21, 0x20, 0x0, 0x10, 0x0, 0x21, 0x20, 0x5, 0x1, 0x15, 0x7, 0x1e, 0x1, 0x15, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x4, 0xfe, 0x1, 0x48, 0x1, 0x1b, 0x1, 0x1a, 0x1, 0x48, 0xfe, 0xb8, 0xfe, 0xe6, 0xfe, 0xe5, 0x3, 0xe9, 0x1, 0x23, 0xef, 0x2, 0x2, 0xfe, 0x5b, 0xfe, 0x9f, 0xfe, 0x9e, 0xfe, 0x5b, 0x1, 0xa5, 0x1, 0x62, 0x1, 0x4, 0x1, 0x72, 0x3, 0x65, 0xfe, 0x48, 0xfe, 0xfd, 0x1, 0x3, 0x1, 0xb8, 0x1, 0x1, 0xc2, 0x1, 0xa, 0xf4, 0xdd, 0x21, 0x23, 0x10, 0xfe, 0xc5, 0xfe, 0x87, 0x1, 0x79, 0x1, 0x3b, 0x1, 0x3a, 0x1, 0x78, 0xd1, 0x0, 0x0, 0x4, 0x0, 0x97, 0x0, 0x0, 0x9, 0x4c, 0x4, 0x60, 0x0, 0x9, 0x0, 0xc, 0x0, 0x14, 0x0, 0x20, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x1, 0x3, 0x21, 0x1, 0x33, 0x1, 0x23, 0x27, 0x21, 0x7, 0x23, 0x1, 0x33, 0x1b, 0x1, 0x33, 0x9, 0x1, 0x23, 0x9, 0x1, 0x23, 0x1, 0x97, 0x2, 0x83, 0xfe, 0x14, 0x1, 0xbc, 0xfe, 0x44, 0x97, 0x3, 0x83, 0xb5, 0x1, 0x6a, 0xff, 0x0, 0x97, 0x1, 0x77, 0x8a, 0x5a, 0xfe, 0x44, 0x5a, 0x8c, 0x3, 0xd6, 0x8f, 0xf5, 0xf6, 0x90, 0xfe, 0xc3, 0x1, 0x52, 0x90, 0xfe, 0xeb, 0xfe, 0xe9, 0x90, 0x1, 0x60, 0x4, 0x60, 0x80, 0xfe, 0xb6, 0x7f, 0xfd, 0xe9, 0x3, 0x8, 0xfe, 0x43, 0x2, 0x35, 0xfc, 0x80, 0xe6, 0xe6, 0x3, 0x80, 0xfe, 0xb3, 0x1, 0x4d, 0xfe, 0x52, 0xfe, 0x2e, 0x1, 0x7d, 0xfe, 0x83, 0x1, 0xde, 0x0, 0x0, 0x3, 0x0, 0x24, 0xff, 0xf0, 0x5, 0x7a, 0x4, 0x60, 0x0, 0xf, 0x0, 0x2d, 0x0, 0x31, 0x0, 0x0, 0x25, 0x35, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x11, 0x23, 0x11, 0x14, 0x16, 0x17, 0x16, 0x32, 0x3, 0x16, 0x33, 0x32, 0x37, 0x15, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x21, 0x15, 0x23, 0x11, 0x14, 0x1, 0x33, 0x11, 0x23, 0x5, 0x16, 0x89, 0x2c, 0x1a, 0x9, 0xe, 0x86, 0x17, 0x14, 0x39, 0xe1, 0x59, 0x8, 0x6c, 0x28, 0x48, 0x74, 0x84, 0xfd, 0x2a, 0x15, 0xa7, 0xfe, 0xb2, 0x3d, 0x5a, 0x32, 0x64, 0x72, 0xa5, 0x4, 0xf, 0xb6, 0xfd, 0x21, 0x86, 0x86, 0x5a, 0x34, 0x40, 0x27, 0x21, 0x38, 0xa2, 0x2, 0xc, 0xfd, 0xd6, 0xa6, 0x7a, 0x19, 0x45, 0x1, 0x42, 0xaf, 0xa, 0xf1, 0x10, 0xca, 0x62, 0xfd, 0x1, 0xe3, 0xfc, 0x4, 0x3, 0xfc, 0x4c, 0x73, 0xa8, 0x7b, 0x64, 0xfe, 0x12, 0x59, 0xfe, 0xaf, 0x3, 0x98, 0x0, 0x2, 0x0, 0x0, 0xfe, 0x73, 0x5, 0x5a, 0x4, 0x7b, 0x0, 0x8, 0x0, 0x1d, 0x0, 0x0, 0x1, 0x16, 0x13, 0x12, 0x11, 0x33, 0x10, 0x3, 0x2, 0x3, 0x10, 0x3, 0x2, 0x23, 0x22, 0x7, 0x23, 0x34, 0x37, 0x36, 0x33, 0x20, 0x13, 0x12, 0x13, 0x33, 0x2, 0x3, 0x2, 0x11, 0x1, 0xd7, 0xae, 0x55, 0x45, 0x82, 0x45, 0x6c, 0x34, 0x46, 0x8c, 0xc5, 0xa9, 0x18, 0x64, 0x47, 0x51, 0xf5, 0x1, 0xb4, 0x89, 0x6e, 0xa0, 0x82, 0xcb, 0x43, 0x46, 0x4, 0x1d, 0xc1, 0xfe, 0x5c, 0xfe, 0xa7, 0xfe, 0x78, 0x1, 0x9f, 0x1, 0x42, 0x1, 0xfd, 0xfa, 0xbe, 0x2, 0x1b, 0x1, 0x2a, 0x2, 0x57, 0x9f, 0x62, 0x4f, 0x5a, 0xfd, 0x3d, 0x1, 0x9a, 0x1, 0xe, 0xfe, 0x8f, 0xfe, 0xc9, 0xfe, 0xbe, 0xfd, 0xfd, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc8, 0x0, 0x0, 0x5, 0x30, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x25, 0x15, 0x21, 0x11, 0x21, 0x11, 0x1, 0x2c, 0xca, 0x3, 0x3a, 0xfd, 0x2a, 0xfe, 0x6e, 0x5, 0x71, 0xfa, 0xf3, 0x5, 0xd, 0x64, 0x64, 0xfa, 0x8f, 0x5, 0xd5, 0x0, 0x0, 0x3, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x1, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x7, 0x0, 0xf, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x1, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x4, 0xd3, 0xca, 0xfb, 0x90, 0xca, 0x4, 0xa, 0xfe, 0x6e, 0xfd, 0xec, 0xfe, 0x6e, 0x5, 0x38, 0x5, 0x71, 0xfa, 0xf3, 0x5, 0xd, 0xfa, 0xf3, 0x5, 0xd, 0xfa, 0x8f, 0x5, 0x71, 0xfa, 0x8f, 0x5, 0xd5, 0x0, 0x2, 0x0, 0x19, 0xfe, 0x77, 0x6, 0x53, 0x5, 0xc1, 0x0, 0x5, 0x0, 0x11, 0x0, 0x0, 0x9, 0x2, 0x21, 0x9, 0x2, 0x15, 0x21, 0x9, 0x1, 0x21, 0x15, 0x21, 0x35, 0x9, 0x1, 0x35, 0x1, 0xa6, 0x3, 0x10, 0xfd, 0x6, 0xfe, 0xfc, 0x2, 0xfa, 0xfc, 0xf0, 0x5, 0x97, 0xfc, 0x19, 0x2, 0xfa, 0xfc, 0xf0, 0x4, 0x17, 0xf9, 0xc6, 0x3, 0x7, 0xfd, 0x17, 0xfe, 0xda, 0x3, 0x59, 0x3, 0x2a, 0xfc, 0xd6, 0xfc, 0xa7, 0x6, 0xe7, 0x64, 0xfc, 0xd6, 0xfc, 0xa7, 0x63, 0x63, 0x3, 0x53, 0x3, 0x15, 0x7f, 0x0, 0x1, 0x0, 0xa3, 0xff, 0xe3, 0x5, 0xbb, 0x5, 0xf0, 0x0, 0x1d, 0x0, 0x0, 0x1, 0x11, 0x21, 0x15, 0x21, 0x11, 0x36, 0x24, 0x33, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x22, 0x24, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x22, 0x6, 0x1, 0x6b, 0x1, 0x4a, 0xfd, 0xee, 0x75, 0x1, 0x1a, 0xa0, 0x1, 0x5e, 0x1, 0x8b, 0xfe, 0x75, 0xfe, 0xa2, 0x92, 0xfe, 0xf9, 0x6f, 0x70, 0xfc, 0x8b, 0x1, 0x12, 0x1, 0x13, 0xfe, 0xed, 0xfe, 0xee, 0x6b, 0xa8, 0x4, 0xfe, 0xfe, 0x6f, 0xa6, 0x2, 0x81, 0x53, 0x55, 0xfe, 0x67, 0xfe, 0x93, 0xfe, 0x92, 0xfe, 0x67, 0x48, 0x46, 0xd7, 0x5f, 0x60, 0x1, 0x32, 0x1, 0x2f, 0x1, 0x2e, 0x1, 0x32, 0x25, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x0, 0x3, 0xa9, 0x5, 0xd5, 0x0, 0x5, 0x0, 0x17, 0xb5, 0x2, 0x1c, 0x0, 0x3a, 0x3, 0x6, 0x10, 0xdc, 0xfc, 0xec, 0x31, 0x0, 0xb4, 0x3, 0x95, 0x4, 0x81, 0x1, 0x2f, 0xf4, 0xec, 0x30, 0x21, 0x23, 0x11, 0x21, 0x35, 0x21, 0x3, 0xa9, 0xca, 0xfd, 0x29, 0x3, 0xa1, 0x5, 0x2b, 0xaa, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x7, 0x0, 0x0, 0x3, 0xa8, 0x5, 0xd5, 0x0, 0x5, 0x0, 0x17, 0xb5, 0x4, 0x1c, 0x1, 0x3a, 0x3, 0x6, 0x10, 0xdc, 0xfc, 0xec, 0x31, 0x0, 0xb4, 0x3, 0x95, 0x0, 0x81, 0x2, 0x2f, 0xe4, 0xec, 0x30, 0x1, 0x11, 0x21, 0x35, 0x21, 0x11, 0x3, 0xa8, 0xfc, 0x5f, 0x2, 0xd7, 0x5, 0xd5, 0xfa, 0x2b, 0xaa, 0x5, 0x2b, 0x0, 0x1, 0xff, 0xfc, 0x0, 0x0, 0x4, 0xe7, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x0, 0x21, 0x23, 0x9, 0x1, 0x23, 0x1, 0x11, 0x33, 0x11, 0x4, 0xe7, 0xd9, 0xfe, 0x62, 0xfe, 0x65, 0xd9, 0x2, 0x10, 0xcb, 0x2, 0x66, 0xfd, 0x9a, 0x3, 0xe, 0x2, 0xc7, 0xfd, 0x39, 0x0, 0x4, 0x0, 0x57, 0x0, 0x0, 0x6, 0x4a, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x13, 0x0, 0x17, 0x0, 0x22, 0x0, 0x0, 0x1, 0x20, 0x17, 0x16, 0x15, 0x14, 0x7, 0x2, 0x0, 0x29, 0x1, 0x1, 0x5, 0x3, 0x33, 0x32, 0x37, 0x13, 0x26, 0x23, 0x21, 0x3, 0x33, 0x13, 0x5, 0x3, 0x36, 0x37, 0x36, 0x13, 0x36, 0x35, 0x34, 0x27, 0x26, 0x3, 0x7c, 0x1, 0xb2, 0xa8, 0x74, 0x17, 0x4b, 0xfe, 0x22, 0xfe, 0x50, 0xfd, 0xfd, 0x1, 0x22, 0x1, 0x7f, 0xfb, 0x63, 0xf5, 0xad, 0xe2, 0x93, 0xf6, 0xfe, 0x6f, 0xfb, 0xca, 0xfb, 0x2, 0xaf, 0xcd, 0x1b, 0x19, 0xd0, 0x41, 0x14, 0x66, 0x12, 0x5, 0xd5, 0xb5, 0x7c, 0xdf, 0x63, 0x76, 0xfe, 0x7e, 0xfe, 0x96, 0x5, 0xd5, 0x64, 0xfa, 0xf3, 0x41, 0x4, 0x8b, 0x41, 0xfa, 0xf3, 0x5, 0xd, 0x78, 0xfb, 0xe3, 0x10, 0x13, 0x9d, 0x1, 0x50, 0x66, 0x55, 0xc2, 0x6d, 0x13, 0x0, 0x4, 0x0, 0x5a, 0xff, 0xe3, 0x5, 0xad, 0x6, 0x14, 0x0, 0xa, 0x0, 0x1f, 0x0, 0x23, 0x0, 0x32, 0x0, 0x0, 0x13, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x13, 0x6, 0x7, 0x6, 0x1, 0x21, 0x37, 0x6, 0x7, 0x6, 0x23, 0x22, 0x2, 0x35, 0x34, 0x37, 0x36, 0x0, 0x33, 0x32, 0x17, 0x16, 0x17, 0x13, 0x21, 0x7, 0x1, 0x33, 0x9, 0x1, 0x3, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0xe7, 0x1f, 0x2a, 0x20, 0x36, 0xaf, 0x42, 0x38, 0x77, 0x3, 0x78, 0xfe, 0xb2, 0x21, 0x4e, 0x62, 0x62, 0x7c, 0xcb, 0x9e, 0x22, 0x23, 0x1, 0x3e, 0xcb, 0x7c, 0x4f, 0x4f, 0x27, 0x76, 0x1, 0x4e, 0xfe, 0xfe, 0xf7, 0x86, 0x1, 0x9, 0xfd, 0x32, 0xbd, 0x18, 0x1a, 0xa5, 0x77, 0x78, 0x1f, 0x1f, 0x38, 0x37, 0xa5, 0x1a, 0x2, 0x74, 0x9e, 0x4b, 0x73, 0x4f, 0x3d, 0x20, 0x3, 0x86, 0x20, 0x3d, 0x82, 0xfc, 0xed, 0xa8, 0x64, 0x30, 0x31, 0x1, 0xc, 0x94, 0x50, 0xb2, 0xb2, 0x1, 0x44, 0x31, 0x30, 0x64, 0x2, 0x5e, 0x64, 0xfa, 0xac, 0x5, 0x54, 0xfe, 0x64, 0xfc, 0x36, 0x3, 0x82, 0x82, 0x9f, 0x9e, 0x4a, 0x74, 0x68, 0x69, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x5b, 0xff, 0xe3, 0x4, 0x93, 0x4, 0x7b, 0x0, 0xa, 0x0, 0x28, 0x0, 0x32, 0x0, 0x0, 0x13, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x13, 0x6, 0x7, 0x6, 0x13, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x7, 0x6, 0x7, 0x6, 0x23, 0x20, 0x27, 0x26, 0x35, 0x34, 0x37, 0x12, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0xf, 0x1, 0x21, 0x37, 0x21, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0xda, 0xc, 0x4e, 0x16, 0x1e, 0xa1, 0x26, 0x23, 0xa0, 0xa8, 0x47, 0x5f, 0x79, 0x7f, 0x5a, 0x5c, 0x17, 0x6b, 0x6c, 0x6d, 0x6b, 0xfe, 0xf4, 0x7d, 0x5a, 0xf, 0x35, 0xb5, 0xb3, 0xfc, 0xe4, 0x66, 0x46, 0x10, 0x12, 0xfd, 0x8f, 0x14, 0x2, 0x1, 0xa, 0x39, 0x4e, 0xa9, 0x4a, 0x43, 0x2, 0x30, 0x3c, 0x37, 0x8d, 0x68, 0x1d, 0x16, 0x3, 0x3a, 0x15, 0x1c, 0x82, 0xfd, 0x4a, 0x15, 0x1f, 0x16, 0x28, 0x75, 0x2a, 0x16, 0x16, 0x9c, 0x6f, 0xa6, 0x44, 0x4d, 0x1, 0x13, 0xa2, 0xa1, 0x91, 0x63, 0x93, 0x46, 0x50, 0x5a, 0x64, 0x38, 0x32, 0x76, 0x52, 0x73, 0x11, 0x0, 0x3, 0x0, 0x4f, 0x0, 0x0, 0x2, 0x81, 0x6, 0x14, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x0, 0x1, 0x33, 0x7, 0x23, 0x3, 0x33, 0x13, 0x23, 0x13, 0x21, 0x13, 0x21, 0x1, 0xc9, 0xb8, 0x2e, 0xb8, 0xd4, 0x86, 0xb2, 0x86, 0x24, 0xfe, 0xb2, 0xda, 0x1, 0x4e, 0x6, 0x14, 0xe9, 0xfb, 0x39, 0x3, 0x98, 0xfc, 0x4, 0x4, 0x60, 0x0, 0x3, 0xff, 0x16, 0xfe, 0x56, 0x2, 0x81, 0x6, 0x14, 0x0, 0x3, 0x0, 0xc, 0x0, 0x1a, 0x0, 0x0, 0x1, 0x33, 0x7, 0x23, 0x3, 0x13, 0x23, 0x3, 0x6, 0x7, 0x36, 0x37, 0x36, 0x5, 0x23, 0x37, 0x33, 0x32, 0x37, 0x36, 0x37, 0x13, 0x21, 0x3, 0x6, 0x7, 0x6, 0x1, 0xc9, 0xb8, 0x2e, 0xb8, 0x66, 0xca, 0x86, 0xd0, 0x23, 0x35, 0x48, 0x32, 0x4b, 0xfe, 0xdc, 0xdc, 0x14, 0x31, 0x69, 0x30, 0x2f, 0x1d, 0xe9, 0x1, 0x4e, 0xde, 0x29, 0x64, 0x65, 0x6, 0x14, 0xe9, 0xfa, 0xbf, 0x4, 0x12, 0xfb, 0xd0, 0xb5, 0x54, 0xf, 0x30, 0x48, 0xf4, 0x64, 0x30, 0x31, 0x99, 0x4, 0xac, 0xfb, 0x8c, 0xd6, 0x60, 0x60, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x3b, 0xff, 0xe3, 0x5, 0xb8, 0x5, 0xf0, 0x0, 0x26, 0x0, 0x30, 0x0, 0x0, 0x9, 0x1, 0xe, 0x1, 0x15, 0x23, 0x34, 0x12, 0x37, 0x1, 0x33, 0x17, 0x3e, 0x1, 0x33, 0x32, 0x0, 0x15, 0x14, 0x6, 0x7, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x3, 0xba, 0xfe, 0x4, 0x3b, 0x48, 0xba, 0x74, 0x5d, 0xfe, 0xe9, 0xfc, 0x8f, 0x68, 0xe4, 0x83, 0xf1, 0x1, 0x32, 0x86, 0x86, 0x30, 0x32, 0xde, 0xb8, 0x53, 0xa5, 0x55, 0x57, 0x9e, 0x44, 0x69, 0x83, 0x3b, 0x32, 0x5b, 0x55, 0xd4, 0xa0, 0x5f, 0xa6, 0x49, 0x2, 0x40, 0x2, 0x8, 0x59, 0xcb, 0x72, 0x84, 0x1, 0x2, 0x7e, 0x1, 0x1f, 0x95, 0x59, 0x57, 0xfe, 0xed, 0xd7, 0x80, 0xe1, 0x63, 0x3f, 0x7d, 0x3c, 0xa2, 0xc5, 0x24, 0x24, 0xb6, 0x2f, 0x31, 0x6f, 0x58, 0x33, 0x67, 0xce, 0x51, 0xa1, 0x58, 0x92, 0xc2, 0x3f, 0x40, 0x0, 0x0, 0x1, 0x0, 0x51, 0x0, 0x0, 0x3, 0x88, 0x4, 0x60, 0x0, 0x9, 0x0, 0x24, 0x40, 0x9, 0x5, 0x9, 0x8, 0xb, 0x46, 0x0, 0x6, 0x2, 0xa, 0x10, 0xc4, 0xc4, 0xd4, 0xec, 0xec, 0x32, 0x31, 0x0, 0x40, 0x8, 0x7, 0x87, 0x6, 0x3, 0x87, 0x0, 0xbc, 0x2, 0x2f, 0xe4, 0xec, 0xd4, 0xec, 0x30, 0x1, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x3, 0x88, 0xfc, 0xc9, 0x2, 0x7f, 0xfe, 0x7, 0x1, 0xf9, 0x4, 0x60, 0xfb, 0xa0, 0x93, 0x1, 0x6f, 0x93, 0x1, 0xcb, 0xff, 0xff, 0x0, 0x89, 0xff, 0xe3, 0x7, 0x60, 0x5, 0xf0, 0x10, 0x27, 0xb, 0x22, 0x3, 0x35, 0x0, 0x0, 0x10, 0x26, 0x0, 0x7b, 0x0, 0x0, 0x10, 0x7, 0xb, 0x4e, 0x4, 0x8b, 0xfd, 0x64, 0xff, 0xff, 0x0, 0x89, 0xff, 0xe3, 0x7, 0x74, 0x5, 0xf0, 0x10, 0x27, 0xb, 0x22, 0x3, 0x35, 0x0, 0x0, 0x10, 0x26, 0x0, 0x7b, 0x0, 0x0, 0x10, 0x7, 0xb, 0x50, 0x4, 0x8b, 0xfd, 0x64, 0xff, 0xff, 0x0, 0x89, 0xff, 0xe3, 0xa, 0xae, 0x5, 0xf0, 0x10, 0x27, 0xb, 0x22, 0x3, 0x35, 0x0, 0x0, 0x10, 0x26, 0x0, 0x7b, 0x0, 0x0, 0x10, 0x27, 0x0, 0x7b, 0x4, 0x8b, 0xfd, 0x64, 0x10, 0x7, 0xb, 0x49, 0x7, 0xc0, 0xfd, 0x64, 0xff, 0xff, 0x0, 0x89, 0xff, 0xe3, 0x7, 0x58, 0x5, 0xf0, 0x10, 0x26, 0x0, 0x7b, 0x0, 0x0, 0x10, 0x27, 0xb, 0x22, 0x3, 0x35, 0x0, 0x0, 0x10, 0x7, 0x0, 0x75, 0x4, 0x8b, 0xfd, 0x64, 0xff, 0xff, 0x0, 0x5e, 0xff, 0xe3, 0x7, 0x58, 0x5, 0xf0, 0x10, 0x26, 0x0, 0x74, 0x0, 0x0, 0x10, 0x27, 0xb, 0x22, 0x3, 0x35, 0x0, 0x0, 0x10, 0x7, 0x0, 0x75, 0x4, 0x8b, 0xfd, 0x64, 0xff, 0xff, 0x0, 0x89, 0xff, 0xe3, 0x7, 0x5e, 0x5, 0xf0, 0x10, 0x26, 0x0, 0x7b, 0x0, 0x0, 0x10, 0x27, 0xb, 0x22, 0x3, 0x35, 0x0, 0x0, 0x10, 0x7, 0xb, 0x4c, 0x4, 0x8b, 0xfd, 0x64, 0xff, 0xff, 0x0, 0x5e, 0xff, 0xe3, 0x7, 0x5e, 0x5, 0xf0, 0x10, 0x26, 0x0, 0x74, 0x0, 0x0, 0x10, 0x27, 0xb, 0x22, 0x3, 0x35, 0x0, 0x0, 0x10, 0x7, 0xb, 0x4c, 0x4, 0x8b, 0xfd, 0x64, 0xff, 0xff, 0x0, 0x62, 0xff, 0xe3, 0x7, 0x5e, 0x5, 0xf0, 0x10, 0x26, 0x0, 0x75, 0x0, 0x0, 0x10, 0x27, 0xb, 0x22, 0x3, 0x35, 0x0, 0x0, 0x10, 0x7, 0xb, 0x4c, 0x4, 0x8b, 0xfd, 0x64, 0xff, 0xff, 0x0, 0x3f, 0xff, 0xe3, 0x7, 0x5e, 0x5, 0xf0, 0x10, 0x26, 0xb, 0x4b, 0x0, 0x0, 0x10, 0x27, 0xb, 0x22, 0x3, 0x35, 0x0, 0x0, 0x10, 0x7, 0xb, 0x4c, 0x4, 0x8b, 0xfd, 0x64, 0xff, 0xff, 0x0, 0x89, 0xff, 0xe3, 0x7, 0x7e, 0x5, 0xf0, 0x10, 0x26, 0x0, 0x7b, 0x0, 0x0, 0x10, 0x27, 0xb, 0x22, 0x3, 0x35, 0x0, 0x0, 0x10, 0x7, 0xb, 0x4d, 0x4, 0x8b, 0xfd, 0x64, 0xff, 0xff, 0x0, 0x66, 0xff, 0xe3, 0x7, 0x7e, 0x5, 0xf0, 0x10, 0x26, 0xb, 0x4c, 0x0, 0x0, 0x10, 0x27, 0xb, 0x22, 0x3, 0x35, 0x0, 0x0, 0x10, 0x7, 0xb, 0x4d, 0x4, 0x8b, 0xfd, 0x64, 0xff, 0xff, 0x0, 0x89, 0xff, 0xe3, 0x7, 0x77, 0x5, 0xf0, 0x10, 0x26, 0x0, 0x7b, 0x0, 0x0, 0x10, 0x27, 0xb, 0x22, 0x3, 0x35, 0x0, 0x0, 0x10, 0x7, 0xb, 0x4f, 0x4, 0x8b, 0xfd, 0x64, 0xff, 0xff, 0x0, 0x62, 0xff, 0xe3, 0x7, 0x77, 0x5, 0xf0, 0x10, 0x26, 0x0, 0x75, 0x0, 0x0, 0x10, 0x27, 0xb, 0x22, 0x3, 0x35, 0x0, 0x0, 0x10, 0x7, 0xb, 0x4f, 0x4, 0x8b, 0xfd, 0x64, 0xff, 0xff, 0x0, 0x66, 0xff, 0xe3, 0x7, 0x77, 0x5, 0xf0, 0x10, 0x26, 0xb, 0x4c, 0x0, 0x0, 0x10, 0x27, 0xb, 0x22, 0x3, 0x35, 0x0, 0x0, 0x10, 0x7, 0xb, 0x4f, 0x4, 0x8b, 0xfd, 0x64, 0xff, 0xff, 0x0, 0x6c, 0xff, 0xe3, 0x7, 0x77, 0x5, 0xf0, 0x10, 0x26, 0xb, 0x4e, 0x0, 0x0, 0x10, 0x27, 0xb, 0x22, 0x3, 0x35, 0x0, 0x0, 0x10, 0x7, 0xb, 0x4f, 0x4, 0x8b, 0xfd, 0x64, 0xff, 0xff, 0x0, 0x89, 0xff, 0xe3, 0x6, 0x2, 0x5, 0xf0, 0x10, 0x26, 0x0, 0x7b, 0x0, 0x0, 0x10, 0x7, 0xb, 0x22, 0x3, 0x35, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x1, 0x93, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x2c, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x3, 0x27, 0x5, 0xd5, 0x10, 0x26, 0x0, 0x2c, 0x0, 0x0, 0x10, 0x7, 0x0, 0x2c, 0x1, 0x94, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0xbb, 0x5, 0xd5, 0x10, 0x26, 0x0, 0x2c, 0x0, 0x0, 0x10, 0x27, 0x0, 0x2c, 0x1, 0x94, 0x0, 0x0, 0x10, 0x7, 0x0, 0x2c, 0x3, 0x28, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x7, 0x51, 0x5, 0xd5, 0x10, 0x26, 0x0, 0x2c, 0x0, 0x0, 0x10, 0x7, 0x0, 0x39, 0x1, 0xe9, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x39, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x6, 0x98, 0x5, 0xd5, 0x10, 0x26, 0x0, 0x39, 0x0, 0x0, 0x10, 0x7, 0x0, 0x2c, 0x5, 0x5, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x8, 0x2c, 0x5, 0xd5, 0x10, 0x26, 0x0, 0x39, 0x0, 0x0, 0x10, 0x27, 0x0, 0x2c, 0x5, 0x5, 0x0, 0x0, 0x10, 0x7, 0x0, 0x2c, 0x6, 0x99, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x9, 0xc0, 0x5, 0xd5, 0x10, 0x26, 0x0, 0x39, 0x0, 0x0, 0x10, 0x27, 0x0, 0x2c, 0x5, 0x5, 0x0, 0x0, 0x10, 0x27, 0x0, 0x2c, 0x6, 0x99, 0x0, 0x0, 0x10, 0x7, 0x0, 0x2c, 0x8, 0x2d, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x7, 0x17, 0x5, 0xd5, 0x10, 0x26, 0x0, 0x2c, 0x0, 0x0, 0x10, 0x7, 0x0, 0x3b, 0x1, 0xdc, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3d, 0x0, 0x0, 0x5, 0x3b, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x3b, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3d, 0x0, 0x0, 0x6, 0xae, 0x5, 0xd5, 0x10, 0x26, 0x0, 0x3b, 0x0, 0x0, 0x10, 0x7, 0x0, 0x2c, 0x5, 0x1b, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3d, 0x0, 0x0, 0x8, 0x42, 0x5, 0xd5, 0x10, 0x26, 0x0, 0x3b, 0x0, 0x0, 0x10, 0x27, 0x0, 0x2c, 0x5, 0x1b, 0x0, 0x0, 0x10, 0x7, 0x0, 0x2c, 0x6, 0xaf, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x6a, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x2f, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x27, 0x5, 0xf0, 0x10, 0x6, 0x0, 0x26, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xb0, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x27, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x1f, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x30, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc1, 0x0, 0x0, 0x1, 0x79, 0x6, 0x14, 0x10, 0x6, 0x0, 0x4c, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc1, 0x0, 0x0, 0x2, 0xe9, 0x6, 0x14, 0x10, 0x26, 0x0, 0x4c, 0x0, 0x0, 0x10, 0x7, 0x0, 0x4c, 0x1, 0x70, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc1, 0x0, 0x0, 0x4, 0x59, 0x6, 0x14, 0x10, 0x26, 0x0, 0x4c, 0x0, 0x0, 0x10, 0x27, 0x0, 0x4c, 0x1, 0x70, 0x0, 0x0, 0x10, 0x7, 0x0, 0x4c, 0x2, 0xe0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc1, 0x0, 0x0, 0x6, 0x41, 0x6, 0x14, 0x10, 0x26, 0x0, 0x4c, 0x0, 0x0, 0x10, 0x7, 0x0, 0x59, 0x1, 0xc2, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3d, 0x0, 0x0, 0x4, 0x7f, 0x4, 0x60, 0x10, 0x6, 0x0, 0x59, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3d, 0x0, 0x0, 0x5, 0xbd, 0x6, 0x14, 0x10, 0x26, 0x0, 0x59, 0x0, 0x0, 0x10, 0x7, 0x0, 0x4c, 0x4, 0x44, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3d, 0x0, 0x0, 0x7, 0x2d, 0x6, 0x14, 0x10, 0x26, 0x0, 0x59, 0x0, 0x0, 0x10, 0x27, 0x0, 0x4c, 0x4, 0x44, 0x0, 0x0, 0x10, 0x7, 0x0, 0x4c, 0x5, 0xb4, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3d, 0x0, 0x0, 0x8, 0x9d, 0x6, 0x14, 0x10, 0x26, 0x0, 0x59, 0x0, 0x0, 0x10, 0x27, 0x0, 0x4c, 0x4, 0x44, 0x0, 0x0, 0x10, 0x27, 0x0, 0x4c, 0x5, 0xb4, 0x0, 0x0, 0x10, 0x7, 0x0, 0x4c, 0x7, 0x24, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc1, 0x0, 0x0, 0x6, 0x4a, 0x6, 0x14, 0x10, 0x26, 0x0, 0x4c, 0x0, 0x0, 0x10, 0x7, 0x0, 0x5b, 0x1, 0xd1, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3b, 0x0, 0x0, 0x4, 0x79, 0x4, 0x60, 0x10, 0x6, 0x0, 0x5b, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3b, 0x0, 0x0, 0x5, 0xd4, 0x6, 0x14, 0x10, 0x26, 0x0, 0x5b, 0x0, 0x0, 0x10, 0x7, 0x0, 0x4c, 0x4, 0x5b, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3b, 0x0, 0x0, 0x7, 0x44, 0x6, 0x14, 0x10, 0x26, 0x0, 0x5b, 0x0, 0x0, 0x10, 0x27, 0x0, 0x4c, 0x4, 0x5b, 0x0, 0x0, 0x10, 0x7, 0x0, 0x4c, 0x5, 0xcb, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc1, 0x0, 0x0, 0x1, 0x79, 0x6, 0x14, 0x10, 0x6, 0x0, 0x4f, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x3, 0xe7, 0x4, 0x7b, 0x10, 0x6, 0x0, 0x46, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x5a, 0x6, 0x14, 0x10, 0x6, 0x0, 0x47, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x7, 0x1d, 0x4, 0x7b, 0x10, 0x6, 0x0, 0x50, 0x0, 0x0, 0x0, 0x3, 0x0, 0x79, 0x0, 0x0, 0x9, 0x7d, 0x5, 0xd5, 0x0, 0xd, 0x0, 0x16, 0x0, 0x1f, 0x0, 0x0, 0x1, 0x20, 0x0, 0x11, 0x10, 0x0, 0x29, 0x1, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x1, 0x33, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x23, 0x3, 0x11, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x6, 0x35, 0x1, 0xb2, 0x1, 0x96, 0xfe, 0x68, 0xfe, 0x50, 0xfd, 0x8c, 0xfe, 0x50, 0xfe, 0x68, 0x1, 0x96, 0x1, 0xb2, 0x1, 0x9f, 0xf4, 0x1, 0x35, 0x1, 0x1f, 0xfe, 0xe1, 0xfe, 0xcb, 0xf4, 0xca, 0xf4, 0xfe, 0xcb, 0xfe, 0xe1, 0x1, 0x1f, 0x1, 0x35, 0x5, 0xd5, 0xfe, 0x97, 0xfe, 0x80, 0xfe, 0x7e, 0xfe, 0x96, 0x1, 0x6a, 0x1, 0x82, 0x1, 0x80, 0x1, 0x69, 0xfa, 0xd1, 0x1, 0x18, 0x1, 0x2e, 0x1, 0x2c, 0x1, 0x17, 0xfb, 0x77, 0x4, 0x89, 0xfe, 0xe9, 0xfe, 0xd4, 0xfe, 0xd2, 0xfe, 0xe8, 0x0, 0x3, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xb0, 0x5, 0xd5, 0x0, 0x11, 0x0, 0x1a, 0x0, 0x23, 0x0, 0xfb, 0xba, 0x0, 0x9, 0x0, 0x1b, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x9, 0x10, 0xba, 0x0, 0xe, 0x0, 0x17, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xe, 0x10, 0xba, 0x0, 0x1f, 0x0, 0x5, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x1f, 0x10, 0xb8, 0x0, 0x9, 0x10, 0xb8, 0x0, 0x0, 0xd0, 0x41, 0x5, 0x0, 0xea, 0x0, 0x5, 0x0, 0xfa, 0x0, 0x5, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x5, 0x0, 0x29, 0x0, 0x5, 0x0, 0x39, 0x0, 0x5, 0x0, 0x49, 0x0, 0x5, 0x0, 0x59, 0x0, 0x5, 0x0, 0x69, 0x0, 0x5, 0x0, 0x79, 0x0, 0x5, 0x0, 0x89, 0x0, 0x5, 0x0, 0x99, 0x0, 0x5, 0x0, 0xa9, 0x0, 0x5, 0x0, 0xb9, 0x0, 0x5, 0x0, 0xc9, 0x0, 0x5, 0x0, 0xd9, 0x0, 0x5, 0x0, 0xd, 0x5d, 0xb8, 0x0, 0x9, 0x10, 0xb8, 0x0, 0x12, 0xd0, 0x41, 0x5, 0x0, 0xea, 0x0, 0x17, 0x0, 0xfa, 0x0, 0x17, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x17, 0x0, 0x29, 0x0, 0x17, 0x0, 0x39, 0x0, 0x17, 0x0, 0x49, 0x0, 0x17, 0x0, 0x59, 0x0, 0x17, 0x0, 0x69, 0x0, 0x17, 0x0, 0x79, 0x0, 0x17, 0x0, 0x89, 0x0, 0x17, 0x0, 0x99, 0x0, 0x17, 0x0, 0xa9, 0x0, 0x17, 0x0, 0xb9, 0x0, 0x17, 0x0, 0xc9, 0x0, 0x17, 0x0, 0xd9, 0x0, 0x17, 0x0, 0xd, 0x5d, 0xb8, 0x0, 0x1f, 0x10, 0xb8, 0x0, 0x25, 0xdc, 0x0, 0xba, 0x0, 0x2, 0x0, 0x22, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x2, 0x10, 0xba, 0x0, 0x1c, 0x0, 0x8, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x1c, 0x10, 0xba, 0x0, 0x13, 0x0, 0x0, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x13, 0x10, 0xba, 0x0, 0xa, 0x0, 0x12, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xa, 0x10, 0x30, 0x31, 0x1, 0x15, 0x33, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x23, 0x15, 0x33, 0x20, 0x16, 0x15, 0x14, 0x6, 0x23, 0x3, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x1, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x29, 0x1, 0x1, 0x93, 0xf4, 0x1, 0x35, 0x1, 0x1f, 0xfe, 0xe1, 0xfe, 0xcb, 0xf4, 0x48, 0x1, 0x0, 0xf0, 0xf1, 0xff, 0x48, 0x4e, 0x9f, 0x93, 0x93, 0x9f, 0xfe, 0xe8, 0x1, 0x9f, 0x1, 0xb2, 0x1, 0x96, 0xfe, 0x68, 0xfe, 0x50, 0xfe, 0x61, 0x1, 0x59, 0xb3, 0x1, 0x18, 0x1, 0x2e, 0x1, 0x2c, 0x1, 0x17, 0xb2, 0xc2, 0xcf, 0xd0, 0xc3, 0x2, 0x9e, 0xfd, 0xe8, 0x81, 0x8c, 0x8a, 0x81, 0x1, 0xde, 0xfe, 0x97, 0xfe, 0x80, 0xfe, 0x7e, 0xfe, 0x96, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x79, 0x0, 0x0, 0x9, 0x7d, 0x5, 0xd5, 0x0, 0x11, 0x0, 0x1a, 0x0, 0x28, 0x0, 0x31, 0x0, 0x43, 0x0, 0x0, 0x1, 0x15, 0x33, 0x20, 0x16, 0x15, 0x14, 0x6, 0x2b, 0x1, 0x15, 0x33, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x3, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x1, 0x13, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x29, 0x1, 0x20, 0x0, 0x11, 0x10, 0x0, 0x1, 0x11, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x13, 0x35, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x33, 0x35, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x21, 0x5, 0x60, 0x48, 0x1, 0x0, 0xf0, 0xf1, 0xff, 0x48, 0xf4, 0x1, 0x35, 0x1, 0x1f, 0xfe, 0xe1, 0xfe, 0xcb, 0xf4, 0x4e, 0x9f, 0x93, 0x93, 0x9f, 0x4e, 0xd5, 0xfd, 0x8c, 0xfe, 0x50, 0xfe, 0x68, 0x1, 0x96, 0x1, 0xb2, 0x2, 0x74, 0x1, 0xb2, 0x1, 0x96, 0xfe, 0x68, 0xfc, 0xb1, 0x4e, 0x9f, 0x93, 0x93, 0x9f, 0x4e, 0xf4, 0xfe, 0xcb, 0xfe, 0xe1, 0x1, 0x1f, 0x1, 0x35, 0xf4, 0x48, 0xff, 0xf1, 0xf0, 0x1, 0x0, 0x5, 0x2f, 0xb2, 0xc2, 0xcf, 0xd0, 0xc3, 0xb3, 0x1, 0x18, 0x1, 0x2e, 0x1, 0x2c, 0x1, 0x17, 0xfc, 0xb0, 0x81, 0x8c, 0x8a, 0x81, 0xfc, 0x9, 0x1, 0x6a, 0x1, 0x82, 0x1, 0x80, 0x1, 0x69, 0xfe, 0x97, 0xfe, 0x80, 0xfe, 0x7e, 0xfe, 0x96, 0x1, 0xdf, 0x2, 0x18, 0x81, 0x8a, 0x8c, 0x81, 0x2, 0x9e, 0xb2, 0xfe, 0xe9, 0xfe, 0xd4, 0xfe, 0xd2, 0xfe, 0xe8, 0xb3, 0xc3, 0xd0, 0xcf, 0xc2, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x27, 0x5, 0xf0, 0x10, 0x6, 0x1, 0x48, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7f, 0xff, 0xe3, 0x3, 0xf5, 0x4, 0x7b, 0x10, 0x6, 0x2, 0x16, 0x0, 0x0, 0x0, 0x1, 0x0, 0x73, 0xfe, 0x56, 0x5, 0x27, 0x5, 0xf0, 0x0, 0x1c, 0x0, 0x0, 0x1, 0x15, 0x2e, 0x1, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x32, 0x36, 0x37, 0x11, 0x23, 0x11, 0x6, 0x7, 0x6, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x32, 0x16, 0x5, 0x27, 0x66, 0xe7, 0x82, 0xff, 0x0, 0xfe, 0xf0, 0x1, 0x10, 0x1, 0x0, 0x82, 0xe7, 0x66, 0xc9, 0xc, 0xc, 0x76, 0x84, 0xfe, 0xad, 0xfe, 0x7a, 0x1, 0x86, 0x1, 0x53, 0x86, 0xed, 0x5, 0x62, 0xd5, 0x5f, 0x5e, 0xfe, 0xc7, 0xfe, 0xd8, 0xfe, 0xd9, 0xfe, 0xc7, 0x5e, 0x5f, 0xfd, 0x10, 0x1, 0xb9, 0x4, 0x4, 0x24, 0x1, 0x9f, 0x1, 0x67, 0x1, 0x68, 0x1, 0x9f, 0x47, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x57, 0xff, 0xe3, 0x7, 0x58, 0x5, 0xf0, 0x10, 0x27, 0xb, 0x22, 0x3, 0x35, 0x0, 0x0, 0x10, 0x27, 0x0, 0x75, 0x4, 0x8b, 0xfd, 0x64, 0x10, 0x6, 0xb, 0x49, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0x0, 0xcc, 0x6, 0x3f, 0x4, 0x38, 0x0, 0x9, 0x0, 0x81, 0xb4, 0x2, 0x9, 0x6, 0x0, 0xa, 0x10, 0xd4, 0xd4, 0xcc, 0x32, 0x40, 0x9, 0x40, 0x2, 0x40, 0x9, 0x30, 0x2, 0x30, 0x9, 0x4, 0x5d, 0x31, 0x40, 0xa, 0x2, 0x5, 0x9, 0x1, 0x0, 0x6, 0x5, 0x9c, 0x6, 0xa, 0x0, 0x10, 0xd4, 0xec, 0x11, 0x39, 0x39, 0xcc, 0x10, 0xcc, 0x30, 0x40, 0xc, 0x8, 0x9, 0x9, 0x0, 0x8, 0x7, 0x8, 0x7, 0x9c, 0x0, 0x9, 0x0, 0x7, 0x5, 0x10, 0xfc, 0x3c, 0x8, 0x6, 0x10, 0x3c, 0x40, 0xc, 0x3, 0x2, 0x2, 0x1, 0x3, 0x4, 0x3, 0x4, 0x9c, 0x1, 0x2, 0x1, 0x7, 0x5, 0x10, 0xfc, 0x3c, 0x8, 0x6, 0x10, 0x3c, 0xb0, 0x10, 0x4b, 0x53, 0x58, 0x0, 0xb3, 0x3, 0x2, 0x8, 0x9, 0x10, 0x3c, 0x10, 0x3c, 0xb4, 0x8, 0x9c, 0x9, 0x9, 0x0, 0x7, 0x5, 0x10, 0xec, 0xb4, 0x3, 0x9c, 0x2, 0x2, 0x1, 0x7, 0x5, 0x10, 0xec, 0x59, 0x13, 0x35, 0x1, 0x17, 0x7, 0x21, 0x15, 0x21, 0x17, 0x7, 0x64, 0x1, 0x89, 0x78, 0xe9, 0x4, 0xc3, 0xfb, 0x3d, 0xe9, 0x78, 0x2, 0x55, 0x5a, 0x1, 0x89, 0x78, 0xe9, 0xaa, 0xe9, 0x78, 0x0, 0x0, 0x0, 0x1, 0x1, 0xa3, 0x0, 0x0, 0x5, 0xf, 0x5, 0xdc, 0x0, 0x9, 0x0, 0x81, 0x40, 0xa, 0x2, 0x5, 0x9, 0x1, 0x0, 0x6, 0x5, 0x9c, 0x6, 0xa, 0x10, 0xd4, 0xec, 0x11, 0x39, 0x39, 0xcc, 0x10, 0xcc, 0x31, 0x0, 0xb4, 0x2, 0x9, 0x6, 0x0, 0xa, 0x10, 0xd4, 0xd4, 0xcc, 0x32, 0x40, 0x9, 0x4f, 0x2, 0x4f, 0x9, 0x3f, 0x2, 0x3f, 0x9, 0x4, 0x5d, 0x30, 0x40, 0xc, 0x8, 0x9, 0x9, 0x0, 0x8, 0x7, 0x8, 0x7, 0x9c, 0x0, 0x9, 0x0, 0x7, 0x4, 0x10, 0xfc, 0x3c, 0x8, 0x6, 0x10, 0x3c, 0x40, 0xc, 0x3, 0x2, 0x2, 0x1, 0x3, 0x4, 0x3, 0x4, 0x9c, 0x1, 0x2, 0x1, 0x7, 0x4, 0x10, 0xfc, 0x3c, 0x8, 0x6, 0x10, 0x3c, 0xb0, 0x10, 0x4b, 0x53, 0x58, 0x1, 0xb3, 0x3, 0x2, 0x8, 0x9, 0x10, 0x3c, 0x10, 0x3c, 0xb4, 0x8, 0x9c, 0x9, 0x9, 0x0, 0x7, 0x4, 0x10, 0xec, 0xb4, 0x3, 0x9c, 0x2, 0x2, 0x1, 0x7, 0x4, 0x10, 0xec, 0x59, 0x1, 0x33, 0x1, 0x7, 0x27, 0x11, 0x23, 0x11, 0x7, 0x27, 0x3, 0x2d, 0x5a, 0x1, 0x88, 0x78, 0xe8, 0xaa, 0xea, 0x78, 0x5, 0xdc, 0xfe, 0x76, 0x78, 0xea, 0xfb, 0x3c, 0x4, 0xc4, 0xea, 0x78, 0x0, 0x0, 0x1, 0x0, 0x75, 0x0, 0xcc, 0x6, 0x50, 0x4, 0x38, 0x0, 0x9, 0x0, 0x81, 0xb4, 0x2, 0x9, 0x0, 0x6, 0xa, 0x10, 0xd4, 0xd4, 0xcc, 0x32, 0x40, 0x9, 0x4f, 0x2, 0x4f, 0x9, 0x5f, 0x2, 0x5f, 0x9, 0x4, 0x5d, 0x31, 0x40, 0xa, 0x9, 0x6, 0x2, 0x1, 0x0, 0x5, 0x6, 0x9c, 0x5, 0xa, 0x0, 0x10, 0xd4, 0xec, 0x11, 0x39, 0x39, 0xcc, 0x10, 0xcc, 0x30, 0x40, 0xc, 0x8, 0x9, 0x9, 0x0, 0x8, 0x7, 0x8, 0x7, 0x9c, 0x0, 0x9, 0x0, 0x7, 0x5, 0x10, 0xfc, 0x3c, 0x8, 0x6, 0x10, 0x3c, 0x40, 0xc, 0x3, 0x2, 0x2, 0x1, 0x3, 0x4, 0x3, 0x4, 0x9c, 0x1, 0x2, 0x1, 0x7, 0x5, 0x10, 0xfc, 0x3c, 0x8, 0x6, 0x10, 0x3c, 0xb0, 0x10, 0x4b, 0x53, 0x58, 0x0, 0xb3, 0x3, 0x2, 0x8, 0x9, 0x10, 0x3c, 0x10, 0x3c, 0xb4, 0x8, 0x9c, 0x9, 0x9, 0x0, 0x7, 0x5, 0x10, 0xec, 0xb4, 0x3, 0x9c, 0x2, 0x2, 0x1, 0x7, 0x5, 0x10, 0xec, 0x59, 0x1, 0x15, 0x1, 0x27, 0x37, 0x21, 0x35, 0x21, 0x27, 0x37, 0x6, 0x50, 0xfe, 0x77, 0x78, 0xe9, 0xfb, 0x3d, 0x4, 0xc3, 0xe9, 0x78, 0x2, 0xaf, 0x5a, 0xfe, 0x77, 0x78, 0xe9, 0xaa, 0xe9, 0x78, 0x0, 0x0, 0x1, 0x1, 0xa3, 0xff, 0xf9, 0x5, 0xf, 0x5, 0xd5, 0x0, 0x9, 0x0, 0x81, 0x40, 0xa, 0x9, 0x6, 0x2, 0x1, 0x0, 0x5, 0x6, 0x9c, 0x5, 0xa, 0x10, 0xd4, 0xec, 0x11, 0x39, 0x39, 0xcc, 0x10, 0xcc, 0x31, 0x0, 0xb4, 0x2, 0x9, 0x0, 0x6, 0xa, 0x10, 0xd4, 0xd4, 0xcc, 0x32, 0x40, 0x9, 0x40, 0x2, 0x40, 0x9, 0x50, 0x2, 0x50, 0x9, 0x4, 0x5d, 0x30, 0x40, 0xc, 0x8, 0x9, 0x9, 0x0, 0x8, 0x7, 0x8, 0x7, 0x9c, 0x0, 0x9, 0x0, 0x7, 0x4, 0x10, 0xfc, 0x3c, 0x8, 0x6, 0x10, 0x3c, 0x40, 0xc, 0x3, 0x2, 0x2, 0x1, 0x3, 0x4, 0x3, 0x4, 0x9c, 0x1, 0x2, 0x1, 0x7, 0x4, 0x10, 0xfc, 0x3c, 0x8, 0x6, 0x10, 0x3c, 0xb0, 0x10, 0x4b, 0x53, 0x58, 0x1, 0xb3, 0x3, 0x2, 0x8, 0x9, 0x10, 0x3c, 0x10, 0x3c, 0xb4, 0x8, 0x9c, 0x9, 0x9, 0x0, 0x7, 0x4, 0x10, 0xec, 0xb4, 0x3, 0x9c, 0x2, 0x2, 0x1, 0x7, 0x4, 0x10, 0xec, 0x59, 0x5, 0x23, 0x1, 0x37, 0x17, 0x11, 0x33, 0x11, 0x37, 0x17, 0x3, 0x87, 0x5a, 0xfe, 0x76, 0x78, 0xea, 0xaa, 0xe8, 0x78, 0x7, 0x1, 0x8a, 0x78, 0xea, 0x4, 0xc4, 0xfb, 0x3c, 0xea, 0x78, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0x0, 0xcc, 0x6, 0x50, 0x4, 0x38, 0x0, 0xf, 0x0, 0xda, 0xb6, 0x7, 0xa, 0x9, 0x2, 0xf, 0x0, 0x10, 0x10, 0xd4, 0xcc, 0x32, 0xd4, 0xcc, 0x32, 0x40, 0xd, 0x50, 0x2, 0x50, 0xf, 0x5f, 0xa, 0x5f, 0x7, 0x4f, 0xa, 0x4f, 0x7, 0x6, 0x5d, 0x31, 0x0, 0x40, 0xf, 0x7, 0x2, 0x4, 0xa, 0xf, 0x0, 0x1, 0x8, 0x9, 0x4, 0xd, 0x4, 0x9c, 0xd, 0x10, 0x10, 0xd4, 0xec, 0x11, 0x17, 0x39, 0xcc, 0x32, 0x10, 0xcc, 0x32, 0x30, 0x40, 0xc, 0xe, 0xf, 0xf, 0x0, 0xe, 0xd, 0xe, 0xd, 0x9c, 0x0, 0xf, 0x0, 0x7, 0x5, 0x10, 0xfc, 0x3c, 0x8, 0x6, 0x10, 0x3c, 0x40, 0xc, 0x3, 0x2, 0x2, 0x1, 0x3, 0x4, 0x3, 0x4, 0x9c, 0x1, 0x2, 0x1, 0x7, 0x5, 0x10, 0xfc, 0x3c, 0x8, 0x6, 0x10, 0x3c, 0x40, 0xc, 0xb, 0xa, 0xa, 0x9, 0xb, 0xc, 0xb, 0xc, 0x9c, 0x9, 0x9, 0xa, 0x7, 0x5, 0x10, 0xfc, 0x3c, 0x8, 0x6, 0x10, 0x3c, 0x40, 0xc, 0x6, 0x7, 0x7, 0x8, 0x6, 0x5, 0x6, 0x5, 0x9c, 0x8, 0x7, 0x8, 0x7, 0x5, 0x10, 0xfc, 0x3c, 0x8, 0x6, 0x10, 0x3c, 0xb0, 0x10, 0x4b, 0x53, 0x58, 0x0, 0xb7, 0xb, 0xa, 0x6, 0x7, 0x3, 0x2, 0xe, 0xf, 0x10, 0x3c, 0x10, 0x3c, 0x10, 0x3c, 0x10, 0x3c, 0xb4, 0xe, 0x9c, 0xf, 0xf, 0x0, 0x7, 0x5, 0x10, 0xec, 0xb4, 0x3, 0x9c, 0x2, 0x2, 0x1, 0x7, 0x5, 0x10, 0xec, 0xb4, 0xb, 0x9c, 0xa, 0xa, 0x9, 0x7, 0x5, 0x10, 0xec, 0xb4, 0x6, 0x9c, 0x7, 0x7, 0x8, 0x7, 0x5, 0x10, 0xec, 0x59, 0x13, 0x35, 0x1, 0x17, 0x7, 0x21, 0x27, 0x37, 0x1, 0x15, 0x1, 0x27, 0x37, 0x21, 0x17, 0x7, 0x64, 0x1, 0x89, 0x78, 0xe9, 0x3, 0xbc, 0xe9, 0x78, 0x1, 0x89, 0xfe, 0x77, 0x78, 0xe9, 0xfc, 0x44, 0xe9, 0x78, 0x2, 0x55, 0x5a, 0x1, 0x89, 0x78, 0xe9, 0xe9, 0x78, 0xfe, 0x77, 0x5a, 0xfe, 0x77, 0x78, 0xe9, 0xe9, 0x78, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0xa3, 0xff, 0xef, 0x5, 0xf, 0x5, 0xdc, 0x0, 0xf, 0x0, 0xde, 0x40, 0xf, 0x7, 0x2, 0x4, 0xa, 0xf, 0x0, 0x1, 0x8, 0x9, 0x4, 0xd, 0x4, 0x9c, 0xd, 0x10, 0x10, 0xd4, 0xec, 0x11, 0x17, 0x39, 0xcc, 0x32, 0x10, 0xcc, 0x32, 0x31, 0x0, 0xb6, 0x7, 0xa, 0x9, 0x2, 0xf, 0x0, 0x10, 0x10, 0xd4, 0xcc, 0x32, 0xd4, 0xcc, 0x32, 0x40, 0x11, 0x5f, 0x2, 0x5f, 0xf, 0x50, 0xa, 0x50, 0x7, 0x4f, 0x2, 0x4f, 0xf, 0x40, 0xa, 0x40, 0x7, 0x8, 0x5d, 0x30, 0x40, 0xc, 0xe, 0xf, 0xf, 0x0, 0xe, 0xd, 0xe, 0xd, 0x9c, 0x0, 0xf, 0x0, 0x7, 0x4, 0x10, 0xfc, 0x3c, 0x8, 0x6, 0x10, 0x3c, 0x40, 0xc, 0x3, 0x2, 0x2, 0x1, 0x3, 0x4, 0x3, 0x4, 0x9c, 0x1, 0x2, 0x1, 0x7, 0x4, 0x10, 0xfc, 0x3c, 0x8, 0x6, 0x10, 0x3c, 0x40, 0xc, 0xb, 0xa, 0xa, 0x9, 0xb, 0xc, 0xb, 0xc, 0x9c, 0x9, 0x9, 0xa, 0x7, 0x4, 0x10, 0xfc, 0x3c, 0x8, 0x6, 0x10, 0x3c, 0x40, 0xc, 0x6, 0x7, 0x7, 0x8, 0x6, 0x5, 0x6, 0x5, 0x9c, 0x8, 0x7, 0x8, 0x7, 0x4, 0x10, 0xfc, 0x3c, 0x8, 0x6, 0x10, 0x3c, 0xb0, 0x10, 0x4b, 0x53, 0x58, 0x1, 0xb7, 0xb, 0xa, 0x6, 0x7, 0x3, 0x2, 0xe, 0xf, 0x10, 0x3c, 0x10, 0x3c, 0x10, 0x3c, 0x10, 0x3c, 0xb4, 0xe, 0x9c, 0xf, 0xf, 0x0, 0x7, 0x4, 0x10, 0xec, 0xb4, 0x3, 0x9c, 0x2, 0x2, 0x1, 0x7, 0x4, 0x10, 0xec, 0xb4, 0xb, 0x9c, 0xa, 0xa, 0x9, 0x7, 0x4, 0x10, 0xec, 0xb4, 0x6, 0x9c, 0x7, 0x7, 0x8, 0x7, 0x4, 0x10, 0xec, 0x59, 0x1, 0x33, 0x1, 0x7, 0x27, 0x11, 0x37, 0x17, 0x1, 0x23, 0x1, 0x37, 0x17, 0x11, 0x7, 0x27, 0x3, 0x2d, 0x5a, 0x1, 0x88, 0x78, 0xe8, 0xe8, 0x78, 0xfe, 0x78, 0x5a, 0xfe, 0x76, 0x78, 0xea, 0xea, 0x78, 0x5, 0xdc, 0xfe, 0x76, 0x78, 0xea, 0xfc, 0x43, 0xea, 0x78, 0xfe, 0x76, 0x1, 0x8a, 0x78, 0xea, 0x3, 0xbd, 0xea, 0x78, 0x0, 0x0, 0x0, 0x1, 0x1, 0x20, 0x0, 0x34, 0x5, 0x9f, 0x4, 0xb3, 0x0, 0x9, 0x0, 0x0, 0x1, 0x37, 0x21, 0x15, 0x21, 0x1, 0x7, 0x1, 0x11, 0x23, 0x1, 0x20, 0x3f, 0x2, 0x2c, 0xfe, 0xb6, 0x3, 0x5e, 0x78, 0xfc, 0xa2, 0xa9, 0x4, 0x74, 0x3f, 0xa9, 0xfc, 0xa2, 0x78, 0x3, 0x5e, 0xfe, 0xb6, 0x0, 0x1, 0x1, 0x20, 0x0, 0x34, 0x5, 0x9f, 0x4, 0xb3, 0x0, 0x9, 0x0, 0x0, 0x1, 0x17, 0x11, 0x23, 0x11, 0x1, 0x27, 0x1, 0x21, 0x35, 0x5, 0x60, 0x3f, 0xa9, 0xfc, 0xa2, 0x78, 0x3, 0x5e, 0xfe, 0xb6, 0x4, 0xb3, 0x3f, 0xfd, 0xd4, 0x1, 0x4a, 0xfc, 0xa2, 0x78, 0x3, 0x5e, 0xa9, 0x0, 0x1, 0x1, 0x20, 0x0, 0x34, 0x5, 0x9f, 0x4, 0xb3, 0x0, 0x9, 0x0, 0x0, 0x25, 0x7, 0x21, 0x35, 0x21, 0x1, 0x37, 0x1, 0x11, 0x33, 0x5, 0x9f, 0x3f, 0xfd, 0xd4, 0x1, 0x4a, 0xfc, 0xa2, 0x78, 0x3, 0x5e, 0xa9, 0x73, 0x3f, 0xa9, 0x3, 0x5e, 0x78, 0xfc, 0xa2, 0x1, 0x4a, 0x0, 0x0, 0x1, 0x1, 0x20, 0x0, 0x34, 0x5, 0x9f, 0x4, 0xb3, 0x0, 0x9, 0x0, 0x0, 0x25, 0x27, 0x11, 0x33, 0x11, 0x1, 0x17, 0x1, 0x21, 0x15, 0x1, 0x5f, 0x3f, 0xa9, 0x3, 0x5e, 0x78, 0xfc, 0xa2, 0x1, 0x4a, 0x34, 0x3f, 0x2, 0x2c, 0xfe, 0xb6, 0x3, 0x5e, 0x78, 0xfc, 0xa2, 0xa9, 0x0, 0x0, 0x1, 0x0, 0x64, 0x0, 0xcc, 0x6, 0x3f, 0x4, 0x38, 0x0, 0x11, 0x0, 0x0, 0x1, 0x3, 0x27, 0x13, 0x21, 0x17, 0x7, 0x1, 0x35, 0x1, 0x17, 0x7, 0x21, 0x13, 0x17, 0x3, 0x21, 0x15, 0x4, 0x42, 0xc8, 0x94, 0x97, 0xfd, 0xff, 0xe9, 0x78, 0xfe, 0x77, 0x1, 0x89, 0x78, 0xe9, 0x2, 0x64, 0xc8, 0x94, 0x97, 0x1, 0x9a, 0x2, 0x2d, 0xfe, 0xa5, 0x55, 0x1, 0x6, 0xe9, 0x78, 0x1, 0x89, 0x5a, 0x1, 0x89, 0x78, 0xe9, 0x1, 0x5b, 0x55, 0xfe, 0xfa, 0xaa, 0x0, 0x1, 0x0, 0x75, 0x0, 0xcc, 0x6, 0x50, 0x4, 0x38, 0x0, 0x11, 0x0, 0x0, 0x1, 0x13, 0x17, 0x3, 0x21, 0x27, 0x37, 0x1, 0x15, 0x1, 0x27, 0x37, 0x21, 0x3, 0x27, 0x13, 0x21, 0x35, 0x2, 0x72, 0xc8, 0x94, 0x97, 0x2, 0x1, 0xe9, 0x78, 0x1, 0x89, 0xfe, 0x77, 0x78, 0xe9, 0xfd, 0x9c, 0xc8, 0x94, 0x97, 0xfe, 0x66, 0x2, 0xd7, 0x1, 0x5b, 0x55, 0xfe, 0xfa, 0xe9, 0x78, 0xfe, 0x77, 0x5a, 0xfe, 0x77, 0x78, 0xe9, 0xfe, 0xa5, 0x55, 0x1, 0x6, 0xaa, 0x0, 0x1, 0x0, 0x2c, 0x0, 0xd3, 0x6, 0x9e, 0x3, 0x50, 0x0, 0x34, 0x0, 0x0, 0x1, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x3e, 0x1, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x7, 0x26, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x2f, 0x1, 0x11, 0x23, 0x11, 0x37, 0x21, 0x15, 0x5, 0x1, 0xed, 0x23, 0x2f, 0x29, 0x38, 0x35, 0x2c, 0x30, 0x46, 0x15, 0x22, 0x3c, 0x3b, 0x4e, 0x4a, 0x58, 0x5b, 0x47, 0x52, 0x37, 0x3c, 0x22, 0x9d, 0x15, 0x23, 0x21, 0x32, 0x29, 0x38, 0x35, 0x2c, 0x2f, 0x24, 0x23, 0x15, 0x1f, 0x3f, 0x32, 0x57, 0x47, 0x5b, 0x58, 0x4a, 0x4e, 0x3b, 0xa0, 0xa9, 0x3f, 0x2, 0x2c, 0xfe, 0xb6, 0x1, 0xf4, 0x21, 0x15, 0x13, 0x13, 0x15, 0x46, 0x30, 0x4f, 0x3c, 0x3a, 0x22, 0x20, 0x20, 0x25, 0x37, 0x3c, 0x4f, 0x41, 0x30, 0x23, 0x21, 0x17, 0x13, 0x13, 0x14, 0x24, 0x23, 0x30, 0x49, 0x42, 0x35, 0x27, 0x20, 0x20, 0x22, 0x3a, 0xa0, 0xfe, 0xb6, 0x2, 0x2c, 0x3f, 0xa9, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x16, 0x0, 0xd3, 0x6, 0x88, 0x3, 0x50, 0x0, 0x34, 0x0, 0x0, 0x1, 0x37, 0x25, 0x35, 0x21, 0x17, 0x11, 0x23, 0x11, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x6, 0x7, 0x27, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x4, 0xc7, 0xa0, 0xfe, 0xb6, 0x2, 0x2c, 0x3f, 0xa9, 0xa0, 0x3b, 0x4e, 0x4a, 0x58, 0x5b, 0x47, 0x57, 0x32, 0x3f, 0x1f, 0x15, 0x23, 0x24, 0x2f, 0x2c, 0x35, 0x38, 0x29, 0x32, 0x21, 0x23, 0x15, 0x9d, 0x22, 0x3c, 0x37, 0x52, 0x47, 0x5b, 0x58, 0x4a, 0x4e, 0x3b, 0x3c, 0x22, 0x15, 0x46, 0x30, 0x2c, 0x35, 0x38, 0x29, 0x2f, 0x1, 0xf4, 0xa0, 0x1, 0xa9, 0x3f, 0xfd, 0xd4, 0x1, 0x4a, 0xa0, 0x3a, 0x22, 0x20, 0x20, 0x27, 0x35, 0x42, 0x49, 0x30, 0x23, 0x24, 0x14, 0x13, 0x13, 0x17, 0x21, 0x23, 0x30, 0x41, 0x4f, 0x3c, 0x37, 0x25, 0x20, 0x20, 0x22, 0x3a, 0x3c, 0x4f, 0x30, 0x46, 0x15, 0x13, 0x13, 0x15, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0x0, 0xcc, 0x6, 0x3f, 0x4, 0x38, 0x0, 0x11, 0x0, 0x0, 0x13, 0x1, 0x17, 0x7, 0x33, 0x1, 0x17, 0x7, 0x21, 0x15, 0x21, 0x17, 0x7, 0x1, 0x23, 0x17, 0x7, 0x1, 0x64, 0x1, 0x89, 0x78, 0xe9, 0xf0, 0x1, 0x61, 0x78, 0xe9, 0x2, 0xe3, 0xfd, 0x1d, 0xe9, 0x78, 0xfe, 0x9f, 0xf0, 0xe9, 0x78, 0xfe, 0x77, 0x2, 0xaf, 0x1, 0x89, 0x78, 0xe9, 0x1, 0x61, 0x78, 0xe9, 0xaa, 0xe9, 0x78, 0x1, 0x61, 0xe9, 0x78, 0x1, 0x89, 0x0, 0x0, 0x0, 0x1, 0x1, 0xa5, 0x0, 0x0, 0x5, 0x11, 0x5, 0xdc, 0x0, 0x11, 0x0, 0x0, 0x9, 0x1, 0x7, 0x27, 0x15, 0x1, 0x7, 0x27, 0x11, 0x23, 0x11, 0x7, 0x27, 0x1, 0x35, 0x7, 0x27, 0x1, 0x3, 0x87, 0x1, 0x8a, 0x78, 0xea, 0x1, 0x62, 0x78, 0xea, 0xaa, 0xe8, 0x78, 0x1, 0x60, 0xe8, 0x78, 0x1, 0x88, 0x5, 0xdc, 0xfe, 0x76, 0x78, 0xea, 0xf0, 0xfe, 0x9e, 0x78, 0xea, 0xfd, 0x1c, 0x2, 0xe4, 0xea, 0x78, 0x1, 0x62, 0xf0, 0xea, 0x78, 0x1, 0x8a, 0x0, 0x0, 0x1, 0x0, 0x75, 0x0, 0xcc, 0x6, 0x50, 0x4, 0x38, 0x0, 0x11, 0x0, 0x0, 0x9, 0x1, 0x27, 0x37, 0x23, 0x1, 0x27, 0x37, 0x21, 0x35, 0x21, 0x27, 0x37, 0x1, 0x33, 0x27, 0x37, 0x1, 0x6, 0x50, 0xfe, 0x77, 0x78, 0xe9, 0xf0, 0xfe, 0x9f, 0x78, 0xe9, 0xfd, 0x1d, 0x2, 0xe3, 0xe9, 0x78, 0x1, 0x61, 0xf0, 0xe9, 0x78, 0x1, 0x89, 0x2, 0x55, 0xfe, 0x77, 0x78, 0xe9, 0xfe, 0x9f, 0x78, 0xe9, 0xaa, 0xe9, 0x78, 0xfe, 0x9f, 0xe9, 0x78, 0xfe, 0x77, 0x0, 0x0, 0x1, 0x1, 0xa5, 0xff, 0xf9, 0x5, 0x11, 0x5, 0xd5, 0x0, 0x11, 0x0, 0x0, 0x5, 0x1, 0x37, 0x17, 0x35, 0x1, 0x37, 0x17, 0x11, 0x33, 0x11, 0x37, 0x17, 0x1, 0x15, 0x37, 0x17, 0x1, 0x3, 0x2f, 0xfe, 0x76, 0x78, 0xea, 0xfe, 0x9e, 0x78, 0xea, 0xaa, 0xe8, 0x78, 0xfe, 0xa0, 0xe8, 0x78, 0xfe, 0x78, 0x7, 0x1, 0x8a, 0x78, 0xea, 0xf0, 0x1, 0x62, 0x78, 0xea, 0x2, 0xe4, 0xfd, 0x1c, 0xea, 0x78, 0xfe, 0x9e, 0xf0, 0xea, 0x78, 0xfe, 0x76, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0x0, 0xcc, 0x6, 0x3f, 0x4, 0x38, 0x0, 0xe, 0x0, 0x0, 0x13, 0x35, 0x1, 0x17, 0x7, 0x21, 0x1, 0x17, 0x9, 0x1, 0x7, 0x1, 0x21, 0x17, 0x7, 0x64, 0x1, 0x89, 0x78, 0xe9, 0x2, 0xea, 0x1, 0x61, 0x78, 0xfe, 0xc2, 0x1, 0x3e, 0x78, 0xfe, 0x9f, 0xfd, 0x16, 0xe9, 0x78, 0x2, 0x55, 0x5a, 0x1, 0x89, 0x78, 0xe9, 0x1, 0x61, 0x78, 0xfe, 0xc2, 0xfe, 0xc2, 0x78, 0x1, 0x61, 0xe9, 0x78, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x75, 0x0, 0xcc, 0x6, 0x50, 0x4, 0x38, 0x0, 0xe, 0x0, 0x0, 0x9, 0x1, 0x27, 0x37, 0x21, 0x1, 0x27, 0x9, 0x1, 0x37, 0x1, 0x21, 0x27, 0x37, 0x1, 0x6, 0x50, 0xfe, 0x77, 0x78, 0xe9, 0xfd, 0x16, 0xfe, 0x9f, 0x78, 0x1, 0x3e, 0xfe, 0xc2, 0x78, 0x1, 0x61, 0x2, 0xea, 0xe9, 0x78, 0x1, 0x89, 0x2, 0x55, 0xfe, 0x77, 0x78, 0xe9, 0xfe, 0x9f, 0x78, 0x1, 0x3e, 0x1, 0x3e, 0x78, 0xfe, 0x9f, 0xe9, 0x78, 0xfe, 0x77, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0x0, 0xcc, 0x6, 0x3f, 0x4, 0x38, 0x0, 0xd, 0x0, 0x0, 0x1, 0x21, 0x17, 0x7, 0x1, 0x35, 0x1, 0x17, 0x7, 0x21, 0x11, 0x33, 0x11, 0x23, 0x5, 0x95, 0xfb, 0xe7, 0xe9, 0x78, 0xfe, 0x77, 0x1, 0x89, 0x78, 0xe9, 0x4, 0x19, 0xaa, 0xaa, 0x2, 0x2d, 0xe9, 0x78, 0x1, 0x89, 0x5a, 0x1, 0x89, 0x78, 0xe9, 0x1, 0x59, 0xfc, 0xa4, 0x0, 0x0, 0x1, 0x1, 0xa5, 0x0, 0x0, 0x5, 0xf, 0x5, 0xdc, 0x0, 0xd, 0x0, 0x0, 0x25, 0x11, 0x7, 0x27, 0x1, 0x33, 0x1, 0x7, 0x27, 0x11, 0x21, 0x15, 0x21, 0x35, 0x3, 0x5, 0xe8, 0x78, 0x1, 0x88, 0x5a, 0x1, 0x88, 0x78, 0xe8, 0x1, 0x5a, 0xfc, 0xa4, 0xaa, 0x4, 0x1a, 0xea, 0x78, 0x1, 0x8a, 0xfe, 0x76, 0x78, 0xea, 0xfb, 0xe6, 0xaa, 0xaa, 0x0, 0x0, 0x0, 0x1, 0x0, 0x75, 0x0, 0xcc, 0x6, 0x50, 0x4, 0x38, 0x0, 0xd, 0x0, 0x86, 0xb7, 0xc, 0x9, 0xa, 0x6, 0x2, 0x9c, 0x4, 0xe, 0x10, 0xd4, 0xec, 0x32, 0xd4, 0xcc, 0x32, 0x40, 0x9, 0x4f, 0x9, 0x4f, 0xc, 0x5f, 0x9, 0x5f, 0xc, 0x4, 0x5d, 0x31, 0x40, 0xa, 0x9, 0x5, 0xb, 0xa, 0x6, 0x9c, 0xc, 0x3, 0x1, 0xe, 0x0, 0x10, 0xd4, 0xcc, 0xcc, 0xfc, 0x39, 0x39, 0xcc, 0xcc, 0x30, 0x40, 0xc, 0x8, 0x9, 0x9, 0xa, 0x8, 0x7, 0x8, 0x7, 0x9c, 0xa, 0x9, 0xa, 0x7, 0x5, 0x10, 0xfc, 0x3c, 0x8, 0x6, 0x10, 0x3c, 0x40, 0xc, 0xd, 0xc, 0xc, 0xb, 0xd, 0x0, 0xd, 0x0, 0x9c, 0xb, 0xc, 0xb, 0x7, 0x5, 0x10, 0xfc, 0x3c, 0x8, 0x6, 0x10, 0x3c, 0xb0, 0x10, 0x4b, 0x53, 0x58, 0x0, 0xb3, 0xd, 0xc, 0x8, 0x9, 0x10, 0x3c, 0x10, 0x3c, 0xb4, 0x8, 0x9c, 0x9, 0x9, 0xa, 0x7, 0x5, 0x10, 0xec, 0xb4, 0xd, 0x9c, 0xc, 0xc, 0xb, 0x7, 0x5, 0x10, 0xec, 0x59, 0x1, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x27, 0x37, 0x1, 0x15, 0x1, 0x27, 0x5, 0x38, 0xfb, 0xe7, 0xaa, 0xaa, 0x4, 0x19, 0xe9, 0x78, 0x1, 0x89, 0xfe, 0x77, 0x78, 0x2, 0x2d, 0xfe, 0xa7, 0x3, 0x5c, 0xfe, 0xa7, 0xe9, 0x78, 0xfe, 0x77, 0x5a, 0xfe, 0x77, 0x78, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0xa5, 0xff, 0xf9, 0x5, 0xf, 0x5, 0xd5, 0x0, 0xd, 0x0, 0x0, 0x1, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x37, 0x17, 0x1, 0x23, 0x1, 0x37, 0x17, 0x3, 0x5, 0xfe, 0xa8, 0x3, 0x5c, 0xfe, 0xa6, 0xe8, 0x78, 0xfe, 0x78, 0x5a, 0xfe, 0x78, 0x78, 0xe8, 0x5, 0x2b, 0xaa, 0xaa, 0xfb, 0xe6, 0xea, 0x78, 0xfe, 0x76, 0x1, 0x8a, 0x78, 0xea, 0x0, 0x0, 0x1, 0x1, 0xa5, 0x0, 0x0, 0x5, 0xf, 0x5, 0xdc, 0x0, 0x13, 0x0, 0x0, 0x1, 0x37, 0x17, 0x1, 0x21, 0x15, 0x21, 0x35, 0x21, 0x1, 0x37, 0x17, 0x11, 0x7, 0x27, 0x1, 0x33, 0x1, 0x7, 0x27, 0x3, 0xaf, 0xe8, 0x78, 0xfe, 0x78, 0x1, 0x82, 0xfc, 0xa4, 0x1, 0x80, 0xfe, 0x78, 0x78, 0xe8, 0xe8, 0x78, 0x1, 0x88, 0x5a, 0x1, 0x88, 0x78, 0xe8, 0x1, 0xc2, 0xea, 0x78, 0xfe, 0x76, 0xaa, 0xaa, 0x1, 0x8a, 0x78, 0xea, 0x3, 0x2, 0xea, 0x78, 0x1, 0x8a, 0xfe, 0x76, 0x78, 0xea, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0x0, 0xcc, 0x6, 0x3e, 0x4, 0x86, 0x0, 0x25, 0x0, 0x0, 0x1, 0x35, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x6, 0x7, 0x6, 0x23, 0x21, 0x17, 0x7, 0x1, 0x35, 0x1, 0x17, 0x7, 0x21, 0x20, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x27, 0x26, 0x27, 0x26, 0x5, 0x13, 0x3e, 0x34, 0x32, 0x2f, 0x2b, 0x2d, 0x2b, 0x2d, 0x27, 0x3a, 0x31, 0x20, 0xfc, 0x48, 0xe9, 0x78, 0xfe, 0x77, 0x1, 0x89, 0x78, 0xe9, 0x1, 0xd9, 0x1, 0xd9, 0x16, 0x18, 0x13, 0x12, 0x14, 0x13, 0x13, 0x13, 0x18, 0x16, 0x3, 0xdc, 0xaa, 0x16, 0x15, 0x2d, 0x29, 0x6f, 0x3d, 0x3c, 0x6a, 0x2e, 0x28, 0x1a, 0x16, 0xe9, 0x78, 0x1, 0x89, 0x5a, 0x1, 0x89, 0x78, 0xe9, 0xa, 0xa, 0x12, 0x11, 0x31, 0x1a, 0x1b, 0x2e, 0x14, 0x12, 0xa, 0xa, 0x0, 0x0, 0x0, 0x1, 0x0, 0x76, 0x0, 0xcc, 0x6, 0x50, 0x4, 0x86, 0x0, 0x29, 0x0, 0x0, 0x1, 0x22, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x21, 0x27, 0x37, 0x1, 0x15, 0x1, 0x27, 0x37, 0x21, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x1, 0xa1, 0x1b, 0x16, 0x18, 0x13, 0x12, 0xa, 0xa, 0xa, 0xc, 0x10, 0x13, 0x18, 0x16, 0x1b, 0x3, 0x97, 0xe9, 0x78, 0x1, 0x89, 0xfe, 0x77, 0x78, 0xe9, 0xfc, 0x69, 0x41, 0x31, 0x3a, 0x27, 0x2d, 0x15, 0x16, 0x16, 0x17, 0x2b, 0x2f, 0x32, 0x34, 0x3e, 0x3, 0xdc, 0xa, 0xa, 0x12, 0x11, 0x1a, 0x17, 0x1b, 0x1a, 0x17, 0x1c, 0xf, 0x12, 0xa, 0xa, 0xe9, 0x78, 0xfe, 0x77, 0x5a, 0xfe, 0x77, 0x78, 0xe9, 0x16, 0x1a, 0x28, 0x2e, 0x34, 0x36, 0x3c, 0x3d, 0x36, 0x39, 0x29, 0x2d, 0x15, 0x16, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x64, 0x0, 0xcc, 0x6, 0x3e, 0x4, 0x86, 0x0, 0x18, 0x0, 0x3e, 0x0, 0x0, 0x1, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x22, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x15, 0x7, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x2b, 0x1, 0x15, 0x23, 0x35, 0x21, 0x17, 0x7, 0x1, 0x35, 0x1, 0x17, 0x7, 0x4, 0x91, 0x82, 0x1b, 0x16, 0x18, 0x13, 0x12, 0xa, 0xa, 0xa, 0xa, 0x12, 0x13, 0x18, 0x16, 0x36, 0x16, 0x18, 0x13, 0x10, 0xc, 0xa, 0xa9, 0x16, 0x17, 0x2b, 0x2f, 0x32, 0x34, 0x3e, 0x41, 0x31, 0x3a, 0x27, 0x2d, 0x15, 0x16, 0x16, 0x17, 0x2b, 0x2f, 0x32, 0x34, 0x3e, 0x82, 0xa9, 0xfd, 0x94, 0xe9, 0x78, 0xfe, 0x77, 0x1, 0x89, 0x78, 0xe9, 0x2, 0xd7, 0xa, 0xa, 0x12, 0x11, 0x1a, 0x17, 0x1a, 0x1b, 0x17, 0x1a, 0x11, 0x12, 0xa, 0xa, 0xa, 0xa, 0x12, 0xf, 0x1c, 0x17, 0x1b, 0x82, 0x82, 0x3d, 0x36, 0x39, 0x29, 0x2d, 0x15, 0x16, 0x16, 0x1a, 0x28, 0x2e, 0x34, 0x36, 0x3d, 0x3c, 0x36, 0x39, 0x29, 0x2d, 0x15, 0x16, 0xdc, 0xdc, 0xe9, 0x78, 0x1, 0x89, 0x5a, 0x1, 0x89, 0x78, 0xe9, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x76, 0x0, 0xcc, 0x6, 0x50, 0x4, 0x86, 0x0, 0x18, 0x0, 0x3e, 0x0, 0x0, 0x1, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x22, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x29, 0x1, 0x27, 0x37, 0x1, 0x15, 0x1, 0x27, 0x37, 0x21, 0x15, 0x23, 0x35, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x2, 0x23, 0xa, 0xc, 0x10, 0x13, 0x18, 0x16, 0x36, 0x16, 0x18, 0x13, 0x12, 0xa, 0xa, 0xa, 0xa, 0x12, 0x13, 0x18, 0x16, 0x1b, 0x1, 0x2b, 0x2, 0x6c, 0xe9, 0x78, 0x1, 0x89, 0xfe, 0x77, 0x78, 0xe9, 0xfd, 0x94, 0xa9, 0x82, 0x3e, 0x34, 0x32, 0x2f, 0x2b, 0x17, 0x16, 0x16, 0x15, 0x2d, 0x27, 0x3a, 0x31, 0x41, 0x3e, 0x34, 0x32, 0x2f, 0x2b, 0x17, 0x16, 0x2, 0xd7, 0x82, 0x1b, 0x17, 0x1c, 0xf, 0x12, 0xa, 0xa, 0xa, 0xa, 0x12, 0x11, 0x1a, 0x17, 0x1b, 0x1a, 0x17, 0x1a, 0x11, 0x12, 0xa, 0xa, 0xe9, 0x78, 0xfe, 0x77, 0x5a, 0xfe, 0x77, 0x78, 0xe9, 0xdc, 0xdc, 0x16, 0x15, 0x2d, 0x29, 0x39, 0x36, 0x3c, 0x3d, 0x36, 0x34, 0x2e, 0x28, 0x1a, 0x16, 0x16, 0x15, 0x2d, 0x29, 0x39, 0x36, 0x3d, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0x0, 0xcc, 0x6, 0x50, 0x4, 0x38, 0x0, 0x58, 0x0, 0x0, 0x1, 0x23, 0x17, 0x7, 0x1, 0x35, 0x1, 0x17, 0x7, 0x33, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x32, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x32, 0x36, 0x37, 0x36, 0x37, 0x36, 0x3b, 0x1, 0x27, 0x37, 0x1, 0x15, 0x1, 0x27, 0x37, 0x23, 0x22, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x22, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x1, 0x86, 0xa, 0xe9, 0x78, 0xfe, 0x77, 0x1, 0x89, 0x78, 0xe9, 0xa, 0x30, 0x24, 0x23, 0x24, 0xa, 0x18, 0x1b, 0x18, 0xa, 0xa, 0x5, 0x10, 0x20, 0x22, 0x25, 0x27, 0x2d, 0x30, 0x24, 0x27, 0x20, 0x21, 0xf, 0x5, 0xa, 0xa, 0x18, 0x1b, 0x18, 0xa, 0x27, 0x20, 0x27, 0x2d, 0xa, 0xe9, 0x78, 0x1, 0x89, 0xfe, 0x77, 0x78, 0xe9, 0xa, 0xe, 0xb, 0xd, 0xa, 0x1f, 0x28, 0x27, 0x5a, 0x26, 0x28, 0x1f, 0x22, 0xf, 0x4, 0xa, 0xa, 0xd, 0xb, 0x1c, 0xb, 0xd, 0xa, 0x9, 0x5, 0xf, 0x22, 0x1f, 0x28, 0x26, 0x5a, 0x27, 0x28, 0x1f, 0xa, 0xd, 0xb, 0x2, 0x2d, 0xe9, 0x78, 0x1, 0x89, 0x5a, 0x1, 0x89, 0x78, 0xe9, 0x12, 0x12, 0x24, 0xa, 0xc, 0xc, 0xa, 0xc, 0xd, 0x2d, 0x23, 0x25, 0x11, 0x12, 0x12, 0x14, 0x22, 0x26, 0x2a, 0xd, 0xc, 0xa, 0xc, 0xc, 0xa, 0x27, 0xf, 0x12, 0xe9, 0x78, 0xfe, 0x77, 0x5a, 0xfe, 0x77, 0x78, 0xe9, 0x6, 0x6, 0xa, 0x22, 0x14, 0x12, 0x12, 0x14, 0x22, 0x26, 0x2a, 0xd, 0xc, 0xa, 0x6, 0x6, 0x6, 0x6, 0xa, 0x9, 0x10, 0x2a, 0x26, 0x22, 0x14, 0x12, 0x12, 0x14, 0x22, 0xa, 0x6, 0x6, 0x0, 0x0, 0x1, 0x0, 0x64, 0x0, 0xbe, 0x6, 0x50, 0x4, 0x46, 0x0, 0x17, 0x0, 0x0, 0x25, 0x27, 0x13, 0x21, 0x17, 0x7, 0x1, 0x35, 0x1, 0x17, 0x7, 0x21, 0x13, 0x17, 0x3, 0x21, 0x27, 0x37, 0x1, 0x15, 0x1, 0x27, 0x37, 0x21, 0x3, 0x10, 0xa0, 0x70, 0xfe, 0x9c, 0xe9, 0x78, 0xfe, 0x77, 0x1, 0x89, 0x78, 0xe9, 0x1, 0xa2, 0x86, 0xa0, 0x70, 0x1, 0x64, 0xe9, 0x78, 0x1, 0x89, 0xfe, 0x77, 0x78, 0xe9, 0xfe, 0x5e, 0xbe, 0x3a, 0x1, 0x35, 0xe9, 0x78, 0x1, 0x89, 0x5a, 0x1, 0x89, 0x78, 0xe9, 0x1, 0x6f, 0x3a, 0xfe, 0xcb, 0xe9, 0x78, 0xfe, 0x77, 0x5a, 0xfe, 0x77, 0x78, 0xe9, 0x0, 0x1, 0x1, 0x2a, 0xff, 0xfc, 0x5, 0x9d, 0x5, 0xd8, 0x0, 0xd, 0x0, 0x0, 0x9, 0x1, 0x13, 0x17, 0x3, 0x1, 0x3, 0x25, 0x17, 0x1, 0x27, 0x1, 0x37, 0x13, 0x4, 0x9, 0xfd, 0x21, 0x9d, 0xa7, 0x5e, 0x2, 0xdf, 0xc1, 0x1, 0xd, 0x62, 0xfe, 0x39, 0x59, 0xfe, 0xc1, 0x8b, 0xbe, 0x4, 0x8, 0xfe, 0x58, 0x3, 0x78, 0x1d, 0xfd, 0xee, 0x1, 0xa8, 0xfb, 0xb8, 0xbe, 0x8b, 0xfe, 0xc0, 0x10, 0x1, 0xc8, 0x62, 0xfe, 0xf1, 0x0, 0x0, 0x1, 0x1, 0x5a, 0x0, 0x0, 0x5, 0x9, 0x5, 0xf2, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x21, 0x17, 0x7, 0x1, 0x35, 0x1, 0x17, 0x7, 0x5, 0x9, 0xaa, 0xfe, 0x13, 0xe9, 0x78, 0xfe, 0x77, 0x1, 0x89, 0x78, 0xe9, 0x4, 0x91, 0xfb, 0x6f, 0x3, 0xe7, 0xe9, 0x78, 0x1, 0x89, 0x5a, 0x1, 0x89, 0x78, 0xe9, 0x0, 0x0, 0x0, 0x1, 0x1, 0xac, 0x0, 0x0, 0x5, 0x5b, 0x5, 0xf2, 0x0, 0xb, 0x0, 0x0, 0x1, 0x21, 0x27, 0x37, 0x1, 0x15, 0x1, 0x27, 0x37, 0x21, 0x11, 0x23, 0x1, 0xac, 0x2, 0x97, 0xe9, 0x78, 0x1, 0x89, 0xfe, 0x77, 0x78, 0xe9, 0xfe, 0x13, 0xaa, 0x4, 0x91, 0xe9, 0x78, 0xfe, 0x77, 0x5a, 0xfe, 0x77, 0x78, 0xe9, 0xfc, 0x19, 0x0, 0x0, 0x0, 0x1, 0x1, 0x5a, 0xff, 0xe3, 0x5, 0x9, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x0, 0x1, 0x21, 0x17, 0x7, 0x1, 0x35, 0x1, 0x17, 0x7, 0x21, 0x11, 0x33, 0x5, 0x9, 0xfd, 0x69, 0xe9, 0x78, 0xfe, 0x77, 0x1, 0x89, 0x78, 0xe9, 0x1, 0xed, 0xaa, 0x1, 0x44, 0xe9, 0x78, 0x1, 0x89, 0x5a, 0x1, 0x89, 0x78, 0xe9, 0x3, 0xe7, 0x0, 0x0, 0x0, 0x1, 0x1, 0xac, 0xff, 0xe3, 0x5, 0x5b, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x21, 0x27, 0x37, 0x1, 0x15, 0x1, 0x27, 0x37, 0x1, 0xac, 0xaa, 0x1, 0xed, 0xe9, 0x78, 0x1, 0x89, 0xfe, 0x77, 0x78, 0xe9, 0x1, 0x44, 0x4, 0x91, 0xfc, 0x19, 0xe9, 0x78, 0xfe, 0x77, 0x5a, 0xfe, 0x77, 0x78, 0xe9, 0x0, 0x0, 0x0, 0x1, 0x1, 0xdd, 0xff, 0xf9, 0x6, 0x14, 0x4, 0xd4, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x37, 0x17, 0x1, 0x23, 0x1, 0x37, 0x17, 0x11, 0x21, 0x35, 0x4, 0xb3, 0xe9, 0x78, 0xfe, 0x77, 0x5a, 0xfe, 0x77, 0x78, 0xe9, 0xfd, 0xd4, 0x4, 0xd4, 0xfc, 0x3d, 0xe9, 0x78, 0xfe, 0x77, 0x1, 0x89, 0x78, 0xe9, 0x3, 0x19, 0xaa, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0x0, 0xcc, 0x5, 0x3f, 0x5, 0x3, 0x0, 0xb, 0x0, 0x0, 0x1, 0x21, 0x17, 0x7, 0x1, 0x35, 0x1, 0x17, 0x7, 0x21, 0x11, 0x33, 0x5, 0x3f, 0xfc, 0x3d, 0xe9, 0x78, 0xfe, 0x77, 0x1, 0x89, 0x78, 0xe9, 0x3, 0x19, 0xaa, 0x2, 0x2d, 0xe9, 0x78, 0x1, 0x89, 0x5a, 0x1, 0x89, 0x78, 0xe9, 0x2, 0x2c, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2d, 0x1, 0xa0, 0x6, 0x65, 0x5, 0x58, 0x0, 0x26, 0x0, 0x0, 0x1, 0x37, 0x17, 0x1, 0x23, 0x1, 0x37, 0x17, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x20, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x23, 0x34, 0x26, 0x27, 0x26, 0x27, 0x26, 0x22, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x15, 0x2, 0x39, 0xe8, 0x78, 0xfe, 0x78, 0x5a, 0xfe, 0x76, 0x78, 0xea, 0x2e, 0x2d, 0x5c, 0x5a, 0x6e, 0x6c, 0x1, 0x0, 0x6c, 0x6e, 0x5a, 0x5c, 0x2d, 0x2e, 0xaa, 0x42, 0x42, 0x3c, 0x56, 0x4a, 0xbe, 0x4e, 0x52, 0x40, 0x40, 0x23, 0x21, 0x2, 0xb8, 0xea, 0x78, 0xfe, 0x76, 0x1, 0x8a, 0x78, 0xea, 0x32, 0x7f, 0x70, 0x6b, 0x5f, 0x56, 0x31, 0x2e, 0x2e, 0x31, 0x56, 0x5f, 0x6b, 0x70, 0x7f, 0x5d, 0xa2, 0x42, 0x3b, 0x27, 0x21, 0x21, 0x23, 0x3f, 0x40, 0x53, 0x51, 0x5d, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x4f, 0x1, 0xa0, 0x6, 0x87, 0x5, 0x58, 0x0, 0x26, 0x0, 0x0, 0x1, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x23, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x20, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x1d, 0x1, 0x37, 0x17, 0x1, 0x23, 0x1, 0x37, 0x4, 0x7b, 0x21, 0x23, 0x40, 0x40, 0x52, 0x4e, 0xbe, 0x4a, 0x56, 0x3c, 0x42, 0x42, 0xaa, 0x2e, 0x2d, 0x5c, 0x5a, 0x6e, 0x6c, 0x1, 0x0, 0x6c, 0x6e, 0x5a, 0x5c, 0x2d, 0x2e, 0xea, 0x78, 0xfe, 0x76, 0x5a, 0xfe, 0x78, 0x78, 0x2, 0xb8, 0x32, 0x5d, 0x51, 0x53, 0x40, 0x3f, 0x23, 0x21, 0x21, 0x27, 0x3b, 0x42, 0xa2, 0x5d, 0x7f, 0x70, 0x6b, 0x5f, 0x56, 0x31, 0x2e, 0x2e, 0x31, 0x56, 0x5f, 0x6b, 0x70, 0x7f, 0x32, 0xea, 0x78, 0xfe, 0x76, 0x1, 0x8a, 0x78, 0x0, 0x2, 0x0, 0xde, 0x0, 0x34, 0x6, 0x4d, 0x5, 0xd5, 0x0, 0x3, 0x0, 0xd, 0x0, 0x0, 0x13, 0x35, 0x21, 0x15, 0x5, 0x37, 0x21, 0x15, 0x21, 0x1, 0x7, 0x1, 0x11, 0x23, 0xde, 0x5, 0x6f, 0xfa, 0xd3, 0x3f, 0x2, 0x2c, 0xfe, 0xb6, 0x3, 0x5e, 0x78, 0xfc, 0xa2, 0xa9, 0x5, 0x72, 0x63, 0x63, 0xfe, 0x3f, 0xa9, 0xfc, 0xa2, 0x78, 0x3, 0x5e, 0xfe, 0xb6, 0x0, 0x2, 0x0, 0x70, 0xff, 0xa1, 0x6, 0x44, 0x5, 0x63, 0x0, 0xd, 0x0, 0x1b, 0x0, 0x0, 0x13, 0x35, 0x21, 0x27, 0x37, 0x1, 0x11, 0x33, 0x11, 0x23, 0x11, 0x1, 0x27, 0x37, 0x1, 0x21, 0x17, 0x7, 0x1, 0x11, 0x23, 0x11, 0x33, 0x11, 0x1, 0x17, 0x7, 0x21, 0x70, 0x4, 0x12, 0xea, 0x78, 0x1, 0x8a, 0xaa, 0xaa, 0xfe, 0x76, 0x78, 0xea, 0x1, 0xc2, 0xfb, 0xee, 0xea, 0x78, 0xfe, 0x76, 0xaa, 0xaa, 0x1, 0x8a, 0x78, 0xea, 0x4, 0x12, 0x1, 0x1, 0xaa, 0xe8, 0x78, 0xfe, 0x78, 0x1, 0x4e, 0xfd, 0x8, 0x1, 0x50, 0xfe, 0x78, 0x78, 0xe8, 0x2, 0x58, 0xe8, 0x78, 0x1, 0x88, 0xfe, 0xb0, 0x2, 0xf8, 0xfe, 0xb2, 0x1, 0x88, 0x78, 0xe8, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd3, 0x0, 0x7f, 0x6, 0x19, 0x5, 0x70, 0x0, 0x36, 0x0, 0x0, 0x1, 0x6, 0x7, 0x6, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x27, 0x26, 0x2f, 0x1, 0x11, 0x23, 0x11, 0x37, 0x21, 0x15, 0x21, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x2, 0x2, 0x44, 0x20, 0x21, 0x42, 0x42, 0x3c, 0x56, 0x4a, 0xbe, 0x4e, 0x52, 0x40, 0x42, 0x42, 0x21, 0x22, 0x42, 0x23, 0xaa, 0x40, 0x2, 0x2c, 0xfe, 0xb6, 0x23, 0x5a, 0x2f, 0x2e, 0x2e, 0x30, 0x59, 0x54, 0x74, 0x67, 0x85, 0x80, 0x6c, 0x70, 0x58, 0x59, 0x30, 0x2e, 0x2e, 0x2d, 0x5c, 0x4, 0x2b, 0x42, 0x51, 0x51, 0x5d, 0x5a, 0xa2, 0x42, 0x3b, 0x27, 0x21, 0x21, 0x23, 0x3f, 0x42, 0xa2, 0x5a, 0x5d, 0x51, 0x51, 0x42, 0x23, 0xfe, 0xb6, 0x2, 0x2c, 0x40, 0xaa, 0x23, 0x5a, 0x70, 0x70, 0x7f, 0x7c, 0x70, 0x71, 0x59, 0x53, 0x34, 0x2e, 0x2e, 0x30, 0x57, 0x59, 0x71, 0x70, 0x7c, 0x7f, 0x70, 0x6b, 0x5f, 0x0, 0x1, 0x0, 0x9d, 0x0, 0x7f, 0x5, 0xe3, 0x5, 0x70, 0x0, 0x36, 0x0, 0x0, 0x1, 0x37, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x3f, 0x1, 0x21, 0x35, 0x21, 0x17, 0x11, 0x23, 0x11, 0x7, 0x6, 0x7, 0x6, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x27, 0x26, 0x4, 0xb4, 0x78, 0x5c, 0x2d, 0x2e, 0x2e, 0x30, 0x59, 0x58, 0x70, 0x6c, 0x80, 0x85, 0x67, 0x74, 0x54, 0x59, 0x30, 0x2e, 0x2e, 0x2f, 0x5a, 0x23, 0xfe, 0xb6, 0x2, 0x2c, 0x40, 0xaa, 0x23, 0x42, 0x22, 0x21, 0x42, 0x42, 0x40, 0x52, 0x4e, 0xbe, 0x4a, 0x56, 0x3c, 0x42, 0x42, 0x21, 0x20, 0x4, 0x2b, 0x78, 0x5f, 0x6b, 0x70, 0x7f, 0x7c, 0x70, 0x71, 0x59, 0x57, 0x30, 0x2e, 0x2e, 0x34, 0x53, 0x59, 0x71, 0x70, 0x7c, 0x7f, 0x70, 0x70, 0x5a, 0x23, 0xaa, 0x40, 0xfd, 0xd4, 0x1, 0x4a, 0x23, 0x42, 0x51, 0x51, 0x5d, 0x5a, 0xa2, 0x42, 0x3f, 0x23, 0x21, 0x21, 0x27, 0x3b, 0x42, 0xa2, 0x5a, 0x5d, 0x51, 0x51, 0x0, 0x1, 0x0, 0x64, 0x2, 0x2d, 0x6, 0x3f, 0x4, 0x38, 0x0, 0x6, 0x0, 0x4b, 0xb3, 0x2, 0x6, 0x0, 0x7, 0x10, 0xd4, 0xcc, 0xcc, 0xb4, 0x40, 0x5, 0x50, 0x5, 0x2, 0x5d, 0x31, 0xb5, 0x2, 0x1, 0x5, 0x9c, 0x6, 0x7, 0x0, 0x10, 0xd4, 0xfc, 0x39, 0xcc, 0x30, 0x40, 0xc, 0x3, 0x2, 0x2, 0x1, 0x3, 0x4, 0x3, 0x4, 0x9c, 0x1, 0x2, 0x1, 0x7, 0x5, 0x10, 0xfc, 0x3c, 0x8, 0x6, 0x10, 0x3c, 0xb0, 0x10, 0x4b, 0x53, 0x58, 0x0, 0xb6, 0x3, 0x9c, 0x2, 0x2, 0x1, 0x3, 0x2, 0x10, 0x3c, 0x7, 0x5, 0x10, 0xec, 0x59, 0x13, 0x35, 0x1, 0x17, 0x7, 0x21, 0x15, 0x64, 0x1, 0x89, 0x78, 0xe9, 0x4, 0xc3, 0x2, 0x2d, 0x82, 0x1, 0x89, 0x78, 0xe9, 0xaa, 0x0, 0x0, 0x1, 0x0, 0x64, 0x0, 0xcc, 0x6, 0x3f, 0x2, 0xd7, 0x0, 0x6, 0x0, 0x4b, 0xb3, 0x5, 0x2, 0x0, 0x7, 0x10, 0xd4, 0xcc, 0xcc, 0xb4, 0x40, 0x5, 0x50, 0x5, 0x2, 0x5d, 0x31, 0xb5, 0x5, 0x6, 0x1, 0x9c, 0x2, 0x7, 0x0, 0x10, 0xd4, 0xec, 0x39, 0xcc, 0x30, 0x40, 0xc, 0x4, 0x5, 0x5, 0x6, 0x4, 0x3, 0x4, 0x3, 0x9c, 0x6, 0x5, 0x6, 0x7, 0x5, 0x10, 0xfc, 0x3c, 0x8, 0x6, 0x10, 0x3c, 0xb0, 0x10, 0x4b, 0x53, 0x58, 0x0, 0xb6, 0x4, 0x9c, 0x5, 0x5, 0x6, 0x4, 0x5, 0x10, 0x3c, 0x7, 0x5, 0x10, 0xec, 0x59, 0x13, 0x21, 0x15, 0x21, 0x17, 0x7, 0x1, 0x64, 0x5, 0xdb, 0xfb, 0x3d, 0xe9, 0x78, 0xfe, 0x77, 0x2, 0xd7, 0xaa, 0xe9, 0x78, 0x1, 0x89, 0x0, 0x1, 0x3, 0x5, 0x0, 0x0, 0x5, 0xf, 0x5, 0xdc, 0x0, 0x6, 0x0, 0x0, 0x1, 0x33, 0x1, 0x7, 0x27, 0x11, 0x23, 0x3, 0x5, 0x82, 0x1, 0x88, 0x78, 0xe8, 0xaa, 0x5, 0xdc, 0xfe, 0x76, 0x78, 0xea, 0xfb, 0x3c, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0xa3, 0x0, 0x0, 0x3, 0xaf, 0x5, 0xdc, 0x0, 0x6, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x7, 0x27, 0x1, 0x3, 0xaf, 0xaa, 0xea, 0x78, 0x1, 0x8a, 0x5, 0xdc, 0xfa, 0x24, 0x4, 0xc4, 0xea, 0x78, 0x1, 0x8a, 0x0, 0x0, 0x0, 0x1, 0x0, 0x75, 0x2, 0x2d, 0x6, 0x50, 0x4, 0x38, 0x0, 0x6, 0x0, 0x4b, 0xb3, 0x5, 0x6, 0x2, 0x7, 0x10, 0xd4, 0xd4, 0xcc, 0xb4, 0x4f, 0x5, 0x5f, 0x5, 0x2, 0x5d, 0x31, 0xb5, 0x5, 0x6, 0x2, 0x9c, 0x1, 0x7, 0x0, 0x10, 0xd4, 0xfc, 0x39, 0xcc, 0x30, 0x40, 0xc, 0x4, 0x5, 0x5, 0x6, 0x4, 0x3, 0x4, 0x3, 0x9c, 0x6, 0x5, 0x6, 0x7, 0x5, 0x10, 0xfc, 0x3c, 0x8, 0x6, 0x10, 0x3c, 0xb0, 0x10, 0x4b, 0x53, 0x58, 0x0, 0xb6, 0x4, 0x9c, 0x5, 0x5, 0x6, 0x4, 0x5, 0x10, 0x3c, 0x7, 0x5, 0x10, 0xec, 0x59, 0x1, 0x21, 0x35, 0x21, 0x27, 0x37, 0x1, 0x6, 0x50, 0xfa, 0x25, 0x4, 0xc3, 0xe9, 0x78, 0x1, 0x89, 0x2, 0x2d, 0xaa, 0xe9, 0x78, 0xfe, 0x77, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x75, 0x0, 0xcc, 0x6, 0x50, 0x2, 0xd7, 0x0, 0x6, 0x0, 0x4b, 0xb3, 0x2, 0x0, 0x6, 0x7, 0x10, 0xd4, 0xd4, 0xcc, 0xb4, 0x4f, 0x5, 0x5f, 0x5, 0x2, 0x5d, 0x31, 0xb5, 0x2, 0x1, 0x6, 0x9c, 0x5, 0x7, 0x0, 0x10, 0xd4, 0xec, 0x39, 0xcc, 0x30, 0x40, 0xc, 0x3, 0x2, 0x2, 0x1, 0x3, 0x4, 0x3, 0x4, 0x9c, 0x1, 0x2, 0x1, 0x7, 0x5, 0x10, 0xfc, 0x3c, 0x9, 0x7, 0x10, 0x3c, 0xb0, 0x10, 0x4b, 0x53, 0x58, 0x0, 0xb6, 0x3, 0x9c, 0x2, 0x2, 0x1, 0x3, 0x2, 0x10, 0x3c, 0x7, 0x5, 0x10, 0xec, 0x59, 0x1, 0x15, 0x1, 0x27, 0x37, 0x21, 0x35, 0x6, 0x50, 0xfe, 0x77, 0x78, 0xe9, 0xfb, 0x3d, 0x2, 0xd7, 0x82, 0xfe, 0x77, 0x78, 0xe9, 0xaa, 0x0, 0x1, 0x3, 0x5, 0x0, 0x0, 0x5, 0xf, 0x5, 0xdc, 0x0, 0x6, 0x0, 0x0, 0x21, 0x11, 0x33, 0x11, 0x37, 0x17, 0x1, 0x3, 0x5, 0xaa, 0xe8, 0x78, 0xfe, 0x78, 0x5, 0xdc, 0xfb, 0x3c, 0xea, 0x78, 0xfe, 0x76, 0x0, 0x1, 0x1, 0xa3, 0x0, 0x0, 0x3, 0xaf, 0x5, 0xdc, 0x0, 0x6, 0x0, 0x0, 0x21, 0x23, 0x1, 0x37, 0x17, 0x11, 0x33, 0x3, 0xaf, 0x82, 0xfe, 0x76, 0x78, 0xea, 0xaa, 0x1, 0x8a, 0x78, 0xea, 0x4, 0xc4, 0x0, 0xff, 0xff, 0x0, 0x64, 0xff, 0xa0, 0x6, 0x50, 0x5, 0x64, 0x10, 0x27, 0xc, 0x15, 0x0, 0x0, 0xfe, 0xd4, 0x10, 0x7, 0xc, 0x17, 0x0, 0x0, 0x1, 0x2c, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0xff, 0xf9, 0x6, 0x3b, 0x5, 0xdc, 0x10, 0x27, 0xc, 0x18, 0x1, 0x2c, 0x0, 0x0, 0x10, 0x7, 0xc, 0x16, 0xfe, 0xd4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x64, 0xff, 0xa0, 0x6, 0x50, 0x5, 0x64, 0x10, 0x27, 0xc, 0x17, 0x0, 0x0, 0xfe, 0xd4, 0x10, 0x7, 0xc, 0x15, 0x0, 0x0, 0x1, 0x2c, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0xff, 0xa0, 0x6, 0x3f, 0x5, 0x64, 0x0, 0x11, 0x0, 0x0, 0x1, 0x3, 0x35, 0x1, 0x17, 0x7, 0x21, 0x15, 0x21, 0x17, 0x7, 0x21, 0x15, 0x21, 0x17, 0x7, 0x1, 0x35, 0x1, 0x63, 0xff, 0x1, 0x89, 0x78, 0xe9, 0x4, 0xc3, 0xfb, 0x3d, 0xd7, 0xd7, 0x4, 0xc3, 0xfb, 0x3d, 0xe9, 0x78, 0xfe, 0x77, 0x2, 0x82, 0x0, 0xff, 0x5a, 0x1, 0x89, 0x78, 0xe9, 0xaa, 0xd7, 0xd7, 0xaa, 0xe9, 0x78, 0x1, 0x89, 0x5a, 0x0, 0x0, 0x1, 0x0, 0x78, 0x0, 0x0, 0x6, 0x3c, 0x5, 0xdc, 0x0, 0x11, 0x0, 0x0, 0x1, 0x13, 0x33, 0x1, 0x7, 0x27, 0x11, 0x23, 0x11, 0x7, 0x27, 0x11, 0x23, 0x11, 0x7, 0x27, 0x1, 0x33, 0x3, 0x5a, 0xfe, 0x5a, 0x1, 0x8a, 0x78, 0xea, 0xaa, 0xd6, 0xd8, 0xaa, 0xe8, 0x78, 0x1, 0x88, 0x5a, 0x4, 0xdc, 0x1, 0x0, 0xfe, 0x76, 0x78, 0xea, 0xfb, 0x3c, 0x4, 0xc4, 0xd8, 0xd8, 0xfb, 0x3c, 0x4, 0xc4, 0xea, 0x78, 0x1, 0x8a, 0x0, 0x0, 0x1, 0x0, 0x76, 0xff, 0xa0, 0x6, 0x51, 0x5, 0x64, 0x0, 0x11, 0x0, 0x0, 0x1, 0x5, 0x15, 0x1, 0x27, 0x37, 0x21, 0x35, 0x21, 0x27, 0x37, 0x21, 0x35, 0x21, 0x27, 0x37, 0x1, 0x15, 0x5, 0x52, 0x0, 0xff, 0xfe, 0x77, 0x78, 0xe9, 0xfb, 0x3d, 0x4, 0xc3, 0xd7, 0xd7, 0xfb, 0x3d, 0x4, 0xc3, 0xe9, 0x78, 0x1, 0x89, 0x2, 0x82, 0xff, 0x5a, 0xfe, 0x77, 0x78, 0xe9, 0xaa, 0xd7, 0xd7, 0xaa, 0xe9, 0x78, 0xfe, 0x77, 0x5a, 0x0, 0x0, 0x1, 0x0, 0x78, 0xff, 0xf9, 0x6, 0x3c, 0x5, 0xd5, 0x0, 0x11, 0x0, 0x0, 0x25, 0x1, 0x23, 0x1, 0x37, 0x17, 0x11, 0x33, 0x11, 0x37, 0x17, 0x11, 0x33, 0x11, 0x37, 0x17, 0x1, 0x23, 0x3, 0x5a, 0xff, 0x0, 0x5a, 0xfe, 0x78, 0x78, 0xe8, 0xaa, 0xd8, 0xd6, 0xaa, 0xea, 0x78, 0xfe, 0x76, 0x5a, 0xf9, 0xff, 0x0, 0x1, 0x8a, 0x78, 0xea, 0x4, 0xc4, 0xfb, 0x3c, 0xd8, 0xd8, 0x4, 0xc4, 0xfb, 0x3c, 0xea, 0x78, 0xfe, 0x76, 0x0, 0xff, 0xff, 0x0, 0x64, 0x0, 0xe, 0x6, 0x50, 0x4, 0xf6, 0x10, 0x27, 0xc, 0x46, 0x0, 0x0, 0xff, 0x42, 0x10, 0x7, 0xc, 0x41, 0x0, 0x0, 0x0, 0xbe, 0x0, 0x0, 0xff, 0xff, 0x0, 0x64, 0x0, 0xe, 0x6, 0x50, 0x4, 0xf6, 0x10, 0x27, 0xc, 0x42, 0x0, 0x0, 0xff, 0x42, 0x10, 0x7, 0xc, 0x45, 0x0, 0x0, 0x0, 0xbe, 0x0, 0x0, 0x0, 0x2, 0x0, 0x64, 0x0, 0xcc, 0x6, 0x3f, 0x4, 0x38, 0x0, 0x4, 0x0, 0x1a, 0x0, 0x0, 0x1, 0x21, 0x7, 0x17, 0x21, 0x25, 0x7, 0x21, 0x15, 0x21, 0x7, 0x27, 0x37, 0x21, 0x17, 0x7, 0x1, 0x35, 0x1, 0x17, 0x7, 0x21, 0x37, 0x17, 0x7, 0x21, 0x15, 0x3, 0xf7, 0xfd, 0x99, 0x69, 0x69, 0x1, 0xee, 0x1, 0x26, 0x79, 0x2, 0x14, 0xfd, 0xa7, 0x75, 0x82, 0x49, 0xfe, 0xd0, 0x5d, 0x78, 0xfe, 0x77, 0x1, 0x89, 0x78, 0x5d, 0x2, 0x34, 0x75, 0x82, 0x49, 0x1, 0x55, 0x2, 0xeb, 0x69, 0x69, 0xd2, 0xd2, 0x78, 0xca, 0x4b, 0x7f, 0x5d, 0x78, 0x1, 0x89, 0x5a, 0x1, 0x89, 0x78, 0x5d, 0xca, 0x4b, 0x7f, 0x78, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x64, 0x0, 0xc1, 0x6, 0x50, 0x4, 0x43, 0x0, 0x17, 0x0, 0x1c, 0x0, 0x21, 0x0, 0x0, 0x25, 0x27, 0x37, 0x23, 0x17, 0x7, 0x1, 0x35, 0x1, 0x17, 0x7, 0x21, 0x37, 0x17, 0x7, 0x33, 0x27, 0x37, 0x1, 0x15, 0x1, 0x27, 0x37, 0x21, 0x13, 0x7, 0x21, 0x37, 0x27, 0x29, 0x1, 0x7, 0x17, 0x21, 0x3, 0x7, 0x8d, 0x3e, 0xb0, 0x5d, 0x78, 0xfe, 0x77, 0x1, 0x89, 0x78, 0x5d, 0x1, 0x54, 0x51, 0x8d, 0x3e, 0xb0, 0x5d, 0x78, 0x1, 0x89, 0xfe, 0x77, 0x78, 0x5d, 0xfe, 0xac, 0x78, 0x4c, 0x1, 0xa0, 0x69, 0x69, 0xfe, 0xc, 0xfe, 0x60, 0x69, 0x69, 0x1, 0x54, 0xc1, 0x34, 0xac, 0x5d, 0x78, 0x1, 0x89, 0x5a, 0x1, 0x89, 0x78, 0x5d, 0xe0, 0x34, 0xac, 0x5d, 0x78, 0xfe, 0x77, 0x5a, 0xfe, 0x77, 0x78, 0x5d, 0x1, 0x4a, 0xd2, 0x69, 0x69, 0x69, 0x69, 0x0, 0x0, 0x0, 0x2, 0x0, 0x75, 0x0, 0xcc, 0x6, 0x50, 0x4, 0x38, 0x0, 0x4, 0x0, 0x1a, 0x0, 0x0, 0x1, 0x21, 0x37, 0x27, 0x21, 0x5, 0x37, 0x21, 0x35, 0x21, 0x37, 0x17, 0x7, 0x21, 0x27, 0x37, 0x1, 0x15, 0x1, 0x27, 0x37, 0x21, 0x7, 0x27, 0x37, 0x21, 0x35, 0x2, 0xbd, 0x2, 0x67, 0x69, 0x69, 0xfe, 0x12, 0xfe, 0xda, 0x79, 0xfd, 0xec, 0x2, 0x59, 0x75, 0x82, 0x49, 0x1, 0x30, 0x5d, 0x78, 0x1, 0x89, 0xfe, 0x77, 0x78, 0x5d, 0xfd, 0xcc, 0x75, 0x82, 0x49, 0xfe, 0xab, 0x2, 0x19, 0x69, 0x69, 0xd2, 0xd2, 0x78, 0xca, 0x4b, 0x7f, 0x5d, 0x78, 0xfe, 0x77, 0x5a, 0xfe, 0x77, 0x78, 0x5d, 0xca, 0x4b, 0x7f, 0x78, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0x0, 0xcc, 0x6, 0x3f, 0x4, 0x38, 0x0, 0xe, 0x0, 0x0, 0x1, 0x21, 0x15, 0x21, 0x17, 0x7, 0x1, 0x35, 0x1, 0x17, 0x7, 0x21, 0x15, 0x21, 0x7, 0x1, 0x90, 0x4, 0xaf, 0xfb, 0xc9, 0x5d, 0x78, 0xfe, 0x77, 0x1, 0x89, 0x78, 0x5d, 0x4, 0x37, 0xfb, 0x51, 0x69, 0x2, 0x19, 0x78, 0x5d, 0x78, 0x1, 0x89, 0x5a, 0x1, 0x89, 0x78, 0x5d, 0x78, 0x69, 0x0, 0x0, 0x0, 0x1, 0x1, 0xa5, 0x0, 0x0, 0x5, 0x11, 0x5, 0xdc, 0x0, 0xe, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x7, 0x27, 0x1, 0x33, 0x1, 0x7, 0x27, 0x11, 0x23, 0x11, 0x27, 0x2, 0xf1, 0x78, 0x5c, 0x78, 0x1, 0x88, 0x5a, 0x1, 0x8a, 0x78, 0x5e, 0x78, 0x68, 0x4, 0xb0, 0xfb, 0x50, 0x4, 0x38, 0x5e, 0x78, 0x1, 0x8a, 0xfe, 0x76, 0x78, 0x5e, 0xfb, 0xc8, 0x4, 0xb0, 0x68, 0x0, 0x0, 0x0, 0x1, 0x0, 0x75, 0x0, 0xcc, 0x6, 0x50, 0x4, 0x38, 0x0, 0xe, 0x0, 0x0, 0x1, 0x37, 0x27, 0x21, 0x35, 0x21, 0x27, 0x37, 0x1, 0x15, 0x1, 0x27, 0x37, 0x21, 0x35, 0x5, 0x24, 0x69, 0x69, 0xfb, 0x51, 0x4, 0x37, 0x5d, 0x78, 0x1, 0x89, 0xfe, 0x77, 0x78, 0x5d, 0xfb, 0xc9, 0x2, 0x19, 0x69, 0x69, 0x78, 0x5d, 0x78, 0xfe, 0x77, 0x5a, 0xfe, 0x77, 0x78, 0x5d, 0x78, 0x0, 0x0, 0x0, 0x1, 0x1, 0xa5, 0xff, 0xf9, 0x5, 0x11, 0x5, 0xd5, 0x0, 0xe, 0x0, 0x0, 0x1, 0x17, 0x37, 0x11, 0x33, 0x11, 0x37, 0x17, 0x1, 0x23, 0x1, 0x37, 0x17, 0x11, 0x33, 0x2, 0xf1, 0x6a, 0x68, 0x78, 0x5e, 0x78, 0xfe, 0x76, 0x5a, 0xfe, 0x78, 0x78, 0x5c, 0x78, 0x1, 0x25, 0x68, 0x68, 0x4, 0xb0, 0xfb, 0xc8, 0x5e, 0x78, 0xfe, 0x76, 0x1, 0x8a, 0x78, 0x5e, 0x4, 0x38, 0x0, 0x0, 0x0, 0x2, 0x0, 0x64, 0x0, 0xcc, 0x6, 0x50, 0x4, 0x38, 0x0, 0x5, 0x0, 0x15, 0x0, 0x0, 0x1, 0x21, 0x37, 0x27, 0x21, 0x7, 0x5, 0x21, 0x17, 0x7, 0x1, 0x35, 0x1, 0x17, 0x7, 0x21, 0x27, 0x37, 0x1, 0x15, 0x1, 0x27, 0x1, 0x90, 0x3, 0x94, 0x69, 0x69, 0xfc, 0x6c, 0x69, 0x3, 0x85, 0xfd, 0x5c, 0x5d, 0x78, 0xfe, 0x77, 0x1, 0x89, 0x78, 0x5d, 0x2, 0xa4, 0x5d, 0x78, 0x1, 0x89, 0xfe, 0x77, 0x78, 0x2, 0x19, 0x69, 0x69, 0x69, 0xe1, 0x5d, 0x78, 0x1, 0x89, 0x5a, 0x1, 0x89, 0x78, 0x5d, 0x5d, 0x78, 0xfe, 0x77, 0x5a, 0xfe, 0x77, 0x78, 0x0, 0x0, 0x2, 0x1, 0xa4, 0xff, 0xf0, 0x5, 0x10, 0x5, 0xdc, 0x0, 0x5, 0x0, 0x15, 0x0, 0x0, 0x1, 0x11, 0x17, 0x37, 0x11, 0x27, 0x3, 0x11, 0x7, 0x27, 0x1, 0x33, 0x1, 0x7, 0x27, 0x11, 0x37, 0x17, 0x1, 0x23, 0x1, 0x37, 0x2, 0xf1, 0x69, 0x69, 0x69, 0xe1, 0x5d, 0x78, 0x1, 0x89, 0x5a, 0x1, 0x89, 0x78, 0x5d, 0x5d, 0x78, 0xfe, 0x77, 0x5a, 0xfe, 0x77, 0x78, 0x4, 0xb0, 0xfc, 0x6c, 0x69, 0x69, 0x3, 0x94, 0x69, 0xfc, 0x7b, 0x2, 0xa4, 0x5d, 0x78, 0x1, 0x89, 0xfe, 0x77, 0x78, 0x5d, 0xfd, 0x5c, 0x5d, 0x78, 0xfe, 0x77, 0x1, 0x89, 0x78, 0x0, 0x0, 0x1, 0x1, 0x20, 0xff, 0xd1, 0x6, 0x3, 0x4, 0xb3, 0x0, 0xe, 0x0, 0x0, 0x9, 0x1, 0x7, 0x1, 0x15, 0x23, 0x11, 0x37, 0x21, 0x15, 0x23, 0x1, 0x7, 0x1, 0x23, 0x1, 0xc9, 0x3, 0x50, 0x55, 0xfd, 0x5, 0xa9, 0x3f, 0x2, 0x2c, 0x83, 0x2, 0xfb, 0x55, 0xfc, 0xb0, 0x95, 0x3, 0x76, 0xfc, 0xb0, 0x55, 0x2, 0xfb, 0x84, 0x2, 0x2c, 0x3f, 0xa9, 0xfd, 0x5, 0x55, 0x3, 0x50, 0x0, 0x1, 0x0, 0xbc, 0xff, 0xd1, 0x5, 0x9f, 0x4, 0xb3, 0x0, 0xe, 0x0, 0x0, 0x1, 0x35, 0x23, 0x1, 0x27, 0x1, 0x23, 0x35, 0x21, 0x17, 0x11, 0x23, 0x35, 0x1, 0x27, 0x4, 0xf6, 0x95, 0xfc, 0xb0, 0x55, 0x2, 0xfb, 0x83, 0x2, 0x2c, 0x3f, 0xa9, 0xfd, 0x5, 0x55, 0x3, 0x76, 0x94, 0xfc, 0xb0, 0x55, 0x2, 0xfb, 0xa9, 0x3f, 0xfd, 0xd4, 0x84, 0xfd, 0x5, 0x55, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xbc, 0x0, 0x34, 0x5, 0x9f, 0x5, 0x16, 0x0, 0xe, 0x0, 0x0, 0x9, 0x1, 0x37, 0x1, 0x35, 0x33, 0x11, 0x7, 0x21, 0x35, 0x33, 0x1, 0x37, 0x1, 0x33, 0x4, 0xf6, 0xfc, 0xb0, 0x55, 0x2, 0xfb, 0xa9, 0x3f, 0xfd, 0xd4, 0x83, 0xfd, 0x5, 0x55, 0x3, 0x50, 0x95, 0x1, 0x71, 0x3, 0x50, 0x55, 0xfd, 0x5, 0x84, 0xfd, 0xd4, 0x3f, 0xa9, 0x2, 0xfb, 0x55, 0xfc, 0xb0, 0x0, 0x1, 0x1, 0x20, 0x0, 0x34, 0x6, 0x3, 0x5, 0x16, 0x0, 0xe, 0x0, 0x0, 0x1, 0x15, 0x33, 0x1, 0x17, 0x1, 0x33, 0x15, 0x21, 0x27, 0x11, 0x33, 0x15, 0x1, 0x17, 0x1, 0xc9, 0x95, 0x3, 0x50, 0x55, 0xfd, 0x5, 0x83, 0xfd, 0xd4, 0x3f, 0xa9, 0x2, 0xfb, 0x55, 0x1, 0x71, 0x94, 0x3, 0x50, 0x55, 0xfd, 0x5, 0xa9, 0x3f, 0x2, 0x2c, 0x84, 0x2, 0xfb, 0x55, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0x0, 0xcc, 0x6, 0x3f, 0x4, 0x38, 0x0, 0xf, 0x0, 0x0, 0x1, 0x21, 0x15, 0x21, 0x17, 0x21, 0x15, 0x21, 0x7, 0x1, 0x35, 0x1, 0x17, 0x21, 0x15, 0x21, 0x1, 0x63, 0x4, 0xdc, 0xfb, 0x24, 0x8a, 0x4, 0x52, 0xfc, 0x26, 0x78, 0xfe, 0x77, 0x1, 0x89, 0x78, 0x3, 0xda, 0xfb, 0xae, 0x2, 0xbe, 0x78, 0x8a, 0x78, 0x78, 0x1, 0x89, 0x5a, 0x1, 0x89, 0x78, 0x78, 0x0, 0x1, 0x0, 0x75, 0x0, 0xcc, 0x6, 0x50, 0x4, 0x38, 0x0, 0xf, 0x0, 0x0, 0x1, 0x21, 0x35, 0x21, 0x27, 0x21, 0x35, 0x21, 0x37, 0x1, 0x15, 0x1, 0x27, 0x21, 0x35, 0x21, 0x5, 0x51, 0xfb, 0x24, 0x4, 0xdc, 0x8a, 0xfb, 0xae, 0x3, 0xda, 0x78, 0x1, 0x89, 0xfe, 0x77, 0x78, 0xfc, 0x26, 0x4, 0x52, 0x2, 0x46, 0x78, 0x8a, 0x78, 0x78, 0xfe, 0x77, 0x5a, 0xfe, 0x77, 0x78, 0x78, 0x0, 0x1, 0x0, 0x64, 0x0, 0xcc, 0x6, 0x3f, 0x4, 0x38, 0x0, 0x18, 0x0, 0x0, 0x1, 0x23, 0x27, 0x7, 0x27, 0x7, 0x27, 0x7, 0x27, 0x23, 0x17, 0x7, 0x1, 0x35, 0x1, 0x17, 0x7, 0x33, 0x17, 0x37, 0x17, 0x37, 0x17, 0x37, 0x17, 0x6, 0x3f, 0x28, 0x46, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0x6e, 0x63, 0xe9, 0x78, 0xfe, 0x77, 0x1, 0x89, 0x78, 0xe9, 0x8b, 0x46, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0x6e, 0x2, 0x2d, 0x46, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0x6e, 0xe9, 0x78, 0x1, 0x89, 0x5a, 0x1, 0x89, 0x78, 0xe9, 0x46, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0x6e, 0x0, 0x0, 0x1, 0x0, 0x75, 0x0, 0xcc, 0x6, 0x50, 0x4, 0x38, 0x0, 0x18, 0x0, 0x0, 0x13, 0x35, 0x37, 0x17, 0x37, 0x17, 0x37, 0x17, 0x37, 0x33, 0x27, 0x37, 0x1, 0x15, 0x1, 0x27, 0x37, 0x23, 0x7, 0x27, 0x7, 0x27, 0x7, 0x27, 0x7, 0x75, 0x6e, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0x46, 0x8b, 0xe9, 0x78, 0x1, 0x89, 0xfe, 0x77, 0x78, 0xe9, 0x63, 0x6e, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0x46, 0x2, 0x2d, 0xaa, 0x6e, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0x46, 0xe9, 0x78, 0xfe, 0x77, 0x5a, 0xfe, 0x77, 0x78, 0xe9, 0x6e, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0x46, 0x0, 0x0, 0x0, 0x1, 0x1, 0xa3, 0x0, 0x0, 0x5, 0xf, 0x5, 0xdc, 0x0, 0x19, 0x0, 0x0, 0x1, 0x33, 0x1, 0x7, 0x27, 0x11, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x21, 0x11, 0x7, 0x27, 0x3, 0x2d, 0x5a, 0x1, 0x88, 0x78, 0xe8, 0x1, 0x28, 0xfe, 0xd8, 0x1, 0x28, 0xfe, 0xd8, 0xaa, 0xfe, 0xda, 0x1, 0x26, 0xfe, 0xda, 0x1, 0x26, 0xea, 0x78, 0x5, 0xdc, 0xfe, 0x76, 0x78, 0xea, 0xfe, 0x8e, 0xaa, 0xaa, 0xaa, 0xfe, 0xac, 0x1, 0x54, 0xaa, 0xaa, 0xaa, 0x1, 0x72, 0xea, 0x78, 0x0, 0x1, 0x1, 0xa3, 0xff, 0xf9, 0x5, 0xf, 0x5, 0xd5, 0x0, 0x19, 0x0, 0x0, 0x5, 0x23, 0x1, 0x37, 0x17, 0x11, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x11, 0x37, 0x17, 0x3, 0x85, 0x5a, 0xfe, 0x78, 0x78, 0xe8, 0xfe, 0xd8, 0x1, 0x28, 0xfe, 0xd8, 0x1, 0x28, 0xaa, 0x1, 0x26, 0xfe, 0xda, 0x1, 0x26, 0xfe, 0xda, 0xea, 0x78, 0x7, 0x1, 0x8a, 0x78, 0xea, 0x1, 0x72, 0xaa, 0xaa, 0xaa, 0x1, 0x54, 0xfe, 0xac, 0xaa, 0xaa, 0xaa, 0xfe, 0x8e, 0xea, 0x78, 0x0, 0x0, 0x3, 0x0, 0x64, 0x0, 0xcc, 0x6, 0x3f, 0x4, 0x38, 0x0, 0x9, 0x0, 0xd, 0x0, 0x11, 0x0, 0x0, 0x13, 0x35, 0x1, 0x17, 0x7, 0x21, 0x15, 0x21, 0x17, 0x7, 0x1, 0x35, 0x21, 0x15, 0x33, 0x35, 0x21, 0x15, 0x64, 0x1, 0x89, 0x78, 0xe9, 0x1, 0x71, 0xfe, 0x8f, 0xe9, 0x78, 0x1, 0xaa, 0x0, 0xff, 0xaa, 0x0, 0xff, 0x2, 0x55, 0x5a, 0x1, 0x89, 0x78, 0xe9, 0xaa, 0xe9, 0x78, 0x1, 0x61, 0xaa, 0xaa, 0xaa, 0xaa, 0x0, 0x0, 0x0, 0x3, 0x1, 0xa3, 0x0, 0x0, 0x5, 0x11, 0x5, 0xdc, 0x0, 0x9, 0x0, 0xd, 0x0, 0x11, 0x0, 0x0, 0x1, 0x33, 0x1, 0x7, 0x27, 0x11, 0x23, 0x11, 0x7, 0x27, 0x1, 0x33, 0x15, 0x23, 0x15, 0x33, 0x11, 0x23, 0x3, 0x2d, 0x5a, 0x1, 0x8a, 0x78, 0xea, 0xaa, 0xea, 0x78, 0x1, 0x62, 0xaa, 0xaa, 0xaa, 0xaa, 0x5, 0xdc, 0xfe, 0x76, 0x78, 0xea, 0xfe, 0x8e, 0x1, 0x72, 0xea, 0x78, 0xfe, 0x56, 0xfe, 0xaa, 0xff, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x75, 0x0, 0xcc, 0x6, 0x50, 0x4, 0x38, 0x0, 0x9, 0x0, 0xd, 0x0, 0x11, 0x0, 0x0, 0x9, 0x1, 0x27, 0x37, 0x21, 0x35, 0x21, 0x27, 0x37, 0x1, 0x25, 0x21, 0x15, 0x23, 0x27, 0x15, 0x23, 0x35, 0x6, 0x50, 0xfe, 0x77, 0x78, 0xe9, 0xfe, 0x8f, 0x1, 0x71, 0xe9, 0x78, 0x1, 0x89, 0xfb, 0xce, 0x0, 0xff, 0xff, 0xaa, 0xff, 0x2, 0x55, 0xfe, 0x77, 0x78, 0xe9, 0xaa, 0xe9, 0x78, 0xfe, 0x77, 0x28, 0xaa, 0xaa, 0xaa, 0xaa, 0x0, 0x0, 0x0, 0x0, 0x3, 0x1, 0xa3, 0xff, 0xf9, 0x5, 0x11, 0x5, 0xd5, 0x0, 0x9, 0x0, 0xd, 0x0, 0x11, 0x0, 0x0, 0x5, 0x1, 0x37, 0x17, 0x11, 0x33, 0x11, 0x37, 0x17, 0x1, 0x3, 0x35, 0x33, 0x15, 0x3, 0x11, 0x33, 0x11, 0x3, 0x2d, 0xfe, 0x76, 0x78, 0xea, 0xaa, 0xea, 0x78, 0xfe, 0x76, 0x82, 0xaa, 0xaa, 0xaa, 0x7, 0x1, 0x8a, 0x78, 0xea, 0x1, 0x72, 0xfe, 0x8e, 0xea, 0x78, 0xfe, 0x76, 0x3, 0x34, 0xfe, 0xfe, 0x1, 0xa8, 0x1, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6b, 0x0, 0xcb, 0x6, 0x3f, 0x4, 0x39, 0x0, 0xd, 0x0, 0x0, 0x1, 0x15, 0x21, 0x17, 0x7, 0x1, 0x11, 0x23, 0x11, 0x33, 0x11, 0x1, 0x17, 0x7, 0x6, 0x3f, 0xfb, 0xee, 0xea, 0x78, 0xfe, 0x76, 0xaa, 0xaa, 0x1, 0x8a, 0x78, 0xea, 0x2, 0xd7, 0xaa, 0xea, 0x78, 0x1, 0x8a, 0xfe, 0x7e, 0x3, 0x5c, 0xfe, 0x80, 0x1, 0x8a, 0x78, 0xea, 0x0, 0x0, 0x1, 0x0, 0x75, 0x0, 0xcb, 0x6, 0x49, 0x4, 0x39, 0x0, 0xd, 0x0, 0x0, 0x13, 0x21, 0x27, 0x37, 0x1, 0x11, 0x33, 0x11, 0x23, 0x11, 0x1, 0x27, 0x37, 0x21, 0x75, 0x4, 0x12, 0xea, 0x78, 0x1, 0x8a, 0xaa, 0xaa, 0xfe, 0x76, 0x78, 0xea, 0xfb, 0xee, 0x2, 0xd7, 0xea, 0x78, 0xfe, 0x76, 0x1, 0x80, 0xfc, 0xa4, 0x1, 0x82, 0xfe, 0x76, 0x78, 0xea, 0x0, 0x0, 0x2, 0x0, 0x37, 0x0, 0x86, 0x6, 0x3f, 0x4, 0x7e, 0x0, 0x6, 0x0, 0xd, 0x0, 0x0, 0x9, 0x2, 0x35, 0x21, 0x11, 0x21, 0x13, 0x9, 0x1, 0x11, 0x21, 0x11, 0x21, 0x1, 0xcf, 0xfe, 0xf6, 0x1, 0xa, 0x4, 0xc, 0xfb, 0xf4, 0x64, 0xfe, 0x4, 0x1, 0xfc, 0x4, 0xc, 0xfb, 0xf4, 0x3, 0x8c, 0xfe, 0xf6, 0xfe, 0xf6, 0x83, 0x1, 0xe, 0xfd, 0x7d, 0x1, 0xfc, 0x1, 0xfc, 0xfe, 0xef, 0xfe, 0x2a, 0x0, 0x0, 0x2, 0x1, 0x5e, 0x0, 0x0, 0x5, 0x56, 0x6, 0x8, 0x0, 0x6, 0x0, 0xd, 0x0, 0x0, 0x9, 0x2, 0x33, 0x11, 0x21, 0x11, 0x5, 0x9, 0x1, 0x21, 0x11, 0x21, 0x11, 0x4, 0x64, 0xfe, 0xf6, 0xfe, 0xf6, 0x83, 0x1, 0xe, 0xfd, 0x7d, 0x1, 0xfc, 0x1, 0xfc, 0xfe, 0xef, 0xfe, 0x2a, 0x4, 0x70, 0x1, 0xa, 0xfe, 0xf6, 0xfb, 0xf4, 0x4, 0xc, 0x64, 0x1, 0xfc, 0xfe, 0x4, 0xfb, 0xf4, 0x4, 0xc, 0x0, 0x0, 0x2, 0x0, 0x48, 0x0, 0x86, 0x6, 0x50, 0x4, 0x7e, 0x0, 0x6, 0x0, 0xd, 0x0, 0x0, 0x1, 0x15, 0x21, 0x11, 0x21, 0x15, 0x9, 0x1, 0x11, 0x21, 0x11, 0x21, 0x11, 0x1, 0x4, 0xb8, 0xfb, 0xf4, 0x4, 0xc, 0x1, 0xa, 0xfe, 0x92, 0xfb, 0xf4, 0x4, 0xc, 0x1, 0xfc, 0x3, 0x8c, 0x83, 0xfe, 0xf2, 0x83, 0x1, 0xa, 0xfe, 0x4, 0x1, 0x11, 0x1, 0xd6, 0x1, 0x11, 0xfe, 0x4, 0x0, 0x2, 0x1, 0x5e, 0xff, 0xcd, 0x5, 0x56, 0x5, 0xd5, 0x0, 0x6, 0x0, 0xd, 0x0, 0x0, 0x1, 0x23, 0x11, 0x21, 0x11, 0x23, 0x9, 0x1, 0x21, 0x11, 0x21, 0x11, 0x21, 0x1, 0x4, 0x64, 0x83, 0xfe, 0xf2, 0x83, 0x1, 0xa, 0xfe, 0x4, 0x1, 0x11, 0x1, 0xd6, 0x1, 0x11, 0xfe, 0x4, 0x1, 0x65, 0x4, 0xc, 0xfb, 0xf4, 0xfe, 0xf6, 0x1, 0x6e, 0x4, 0xc, 0xfb, 0xf4, 0xfe, 0x4, 0x0, 0x4, 0x1, 0x5e, 0x0, 0x0, 0x5, 0x56, 0x6, 0x8, 0x0, 0x6, 0x0, 0xd, 0x0, 0x11, 0x0, 0x15, 0x0, 0x0, 0x1, 0x21, 0x11, 0x21, 0x9, 0x1, 0x21, 0x3, 0x11, 0x33, 0x9, 0x1, 0x33, 0x11, 0x1, 0x11, 0x21, 0x11, 0x5, 0x21, 0x15, 0x21, 0x4, 0x45, 0xfe, 0x2a, 0xfe, 0xef, 0x1, 0xfc, 0x1, 0xfc, 0xfe, 0xef, 0x64, 0x83, 0xfe, 0xf6, 0xfe, 0xf6, 0x83, 0x1, 0x72, 0xfe, 0x2a, 0x1, 0x72, 0xfe, 0xf2, 0x1, 0xe, 0x2, 0x24, 0x1, 0xe8, 0x1, 0xfc, 0xfe, 0x4, 0xfe, 0x7c, 0x1, 0xe8, 0x1, 0xa, 0xfe, 0xf6, 0xfe, 0x18, 0xfe, 0xd4, 0xfe, 0xa4, 0x1, 0x5c, 0x64, 0x94, 0x0, 0x0, 0x0, 0x0, 0x2, 0x1, 0x5e, 0x0, 0x0, 0x5, 0x56, 0x6, 0x8, 0x0, 0xa, 0x0, 0x15, 0x0, 0x0, 0x29, 0x1, 0x11, 0x33, 0x11, 0x21, 0x9, 0x1, 0x21, 0x11, 0x33, 0x5, 0x23, 0x15, 0x21, 0x35, 0x23, 0x11, 0x33, 0x9, 0x1, 0x33, 0x5, 0xd, 0xfc, 0x9a, 0xc8, 0xfe, 0xef, 0x1, 0xfc, 0x1, 0xfc, 0xfe, 0xef, 0xc8, 0xfd, 0xc6, 0xc8, 0x2, 0x9e, 0xc8, 0x83, 0xfe, 0xf6, 0xfe, 0xf6, 0x83, 0x1, 0x5c, 0x2, 0xb0, 0x1, 0xfc, 0xfe, 0x4, 0xfd, 0x50, 0x64, 0x94, 0x94, 0x3, 0x78, 0x1, 0xa, 0xfe, 0xf6, 0x0, 0x0, 0x3, 0x1, 0x40, 0x0, 0x0, 0x5, 0x74, 0x6, 0x8, 0x0, 0xb, 0x0, 0x16, 0x0, 0x19, 0x0, 0x0, 0x25, 0x23, 0x15, 0x21, 0x35, 0x23, 0x11, 0x33, 0x27, 0x21, 0x7, 0x33, 0x1, 0x21, 0x11, 0x33, 0x11, 0x21, 0x9, 0x1, 0x21, 0x11, 0x33, 0x1, 0x33, 0x27, 0x2, 0xd3, 0xc8, 0x2, 0x9e, 0xc8, 0xa1, 0x64, 0xfe, 0x78, 0x64, 0xa1, 0x2, 0x3a, 0xfc, 0x9a, 0xc8, 0xfe, 0xd1, 0x2, 0x1a, 0x2, 0x1a, 0xfe, 0xd1, 0xc8, 0xfd, 0xd9, 0xe8, 0x74, 0xf8, 0x94, 0x94, 0x3, 0x5a, 0x64, 0x64, 0xfb, 0xae, 0x1, 0x5c, 0x2, 0x92, 0x2, 0x1a, 0xfd, 0xe6, 0xfd, 0x6e, 0x3, 0xaa, 0x74, 0x0, 0x3, 0x1, 0x5e, 0x0, 0x0, 0x5, 0x56, 0x6, 0x8, 0x0, 0x6, 0x0, 0x11, 0x0, 0x18, 0x0, 0x0, 0x25, 0x23, 0x15, 0x21, 0x11, 0x7, 0x33, 0x1, 0x21, 0x11, 0x33, 0x11, 0x21, 0x9, 0x1, 0x21, 0x11, 0x33, 0x1, 0x11, 0x21, 0x35, 0x23, 0x11, 0x33, 0x2, 0xc4, 0xb9, 0x1, 0x1d, 0xd8, 0x74, 0x2, 0x49, 0xfc, 0x9a, 0xb9, 0xfe, 0xfe, 0x1, 0xfc, 0x1, 0xfc, 0xfe, 0xfe, 0xb9, 0xfe, 0x7f, 0x1, 0x1d, 0xb9, 0x74, 0xf8, 0x94, 0x4, 0xe4, 0xd8, 0xfb, 0x90, 0x1, 0x5c, 0x2, 0xb0, 0x1, 0xfc, 0xfe, 0x4, 0xfd, 0x50, 0x3, 0xec, 0xfb, 0x1c, 0x94, 0x3, 0x78, 0x0, 0x0, 0x0, 0x3, 0x1, 0x5e, 0x0, 0x0, 0x5, 0x56, 0x6, 0x8, 0x0, 0x6, 0x0, 0x11, 0x0, 0x17, 0x0, 0x0, 0x25, 0x11, 0x33, 0x9, 0x1, 0x33, 0x11, 0x5, 0x21, 0x11, 0x21, 0x1, 0x21, 0x9, 0x1, 0x21, 0x1, 0x21, 0x3, 0x33, 0x9, 0x1, 0x33, 0x37, 0x3, 0xe1, 0x83, 0xfe, 0xf6, 0xfe, 0xf6, 0x83, 0x1, 0x72, 0xfe, 0x2a, 0xfe, 0xef, 0x1, 0x18, 0xfe, 0xe8, 0x1, 0xfc, 0x1, 0xfc, 0xfe, 0xe8, 0x1, 0x18, 0xfe, 0xef, 0x6b, 0x8a, 0xfe, 0xf6, 0xfe, 0xf6, 0x8a, 0x80, 0x64, 0x2, 0xf4, 0x1, 0xa, 0xfe, 0xf6, 0xfd, 0xc, 0x64, 0x2, 0xf4, 0x1, 0x18, 0x1, 0xfc, 0xfe, 0x4, 0xfe, 0xe8, 0x1, 0x7c, 0x1, 0xa, 0xfe, 0xf6, 0x80, 0x0, 0x0, 0x0, 0x0, 0x3, 0x1, 0x5e, 0x0, 0x0, 0x5, 0x56, 0x6, 0x8, 0x0, 0xa, 0x0, 0x19, 0x0, 0x1f, 0x0, 0x0, 0x25, 0x23, 0x15, 0x21, 0x35, 0x23, 0x11, 0x33, 0x9, 0x1, 0x33, 0x1, 0x21, 0x11, 0x33, 0x11, 0x21, 0x1, 0x21, 0x9, 0x1, 0x21, 0x1, 0x21, 0x11, 0x33, 0x1, 0x33, 0x9, 0x1, 0x33, 0x37, 0x2, 0xd3, 0xc8, 0x2, 0x9e, 0xc8, 0x83, 0xfe, 0xf6, 0xfe, 0xf6, 0x83, 0x2, 0x3a, 0xfc, 0x9a, 0xc8, 0xfe, 0xef, 0x1, 0x18, 0xfe, 0xe8, 0x1, 0xfc, 0x1, 0xfc, 0xfe, 0xe8, 0x1, 0x18, 0xfe, 0xef, 0xc8, 0xfe, 0xcd, 0x8a, 0xfe, 0xf6, 0xfe, 0xf6, 0x8a, 0x80, 0xf8, 0x94, 0x94, 0x2, 0x60, 0x1, 0xa, 0xfe, 0xf6, 0xfc, 0xa8, 0x1, 0x5c, 0x1, 0x98, 0x1, 0x18, 0x1, 0xfc, 0xfe, 0x4, 0xfe, 0xe8, 0xfe, 0x68, 0x3, 0x14, 0x1, 0xa, 0xfe, 0xf6, 0x80, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x75, 0x0, 0x86, 0x6, 0x7d, 0x4, 0x7e, 0x0, 0xa, 0x0, 0x15, 0x0, 0x0, 0x37, 0x11, 0x21, 0x15, 0x21, 0x11, 0x9, 0x1, 0x11, 0x21, 0x15, 0x3, 0x35, 0x23, 0x11, 0x33, 0x35, 0x21, 0x15, 0x9, 0x1, 0x15, 0x75, 0x1, 0x5c, 0x2, 0xb0, 0x1, 0xfc, 0xfe, 0x4, 0xfd, 0x50, 0x64, 0x94, 0x94, 0x3, 0x78, 0x1, 0xa, 0xfe, 0xf6, 0xcf, 0x3, 0x66, 0xc8, 0x1, 0x11, 0xfe, 0x4, 0xfe, 0x4, 0x1, 0x11, 0xc8, 0x2, 0x3a, 0xc8, 0xfd, 0x62, 0xc8, 0x83, 0x1, 0xa, 0x1, 0xa, 0x83, 0x0, 0x0, 0x2, 0x0, 0x7a, 0x0, 0x0, 0x6, 0x4d, 0x5, 0xd5, 0x0, 0x5, 0x0, 0xf, 0x0, 0x0, 0x1, 0x15, 0x21, 0x11, 0x23, 0x11, 0x1, 0x37, 0x21, 0x15, 0x21, 0x1, 0x7, 0x1, 0x11, 0x23, 0x6, 0x4d, 0xfa, 0x90, 0x63, 0x1, 0x22, 0x3f, 0x2, 0x2c, 0xfe, 0xb6, 0x3, 0x5e, 0x78, 0xfc, 0xa2, 0xa9, 0x5, 0xd5, 0x63, 0xfa, 0x8e, 0x5, 0xd5, 0xfe, 0x9f, 0x3f, 0xa9, 0xfc, 0xa2, 0x78, 0x3, 0x5e, 0xfe, 0xb6, 0x0, 0x2, 0x0, 0x7a, 0x0, 0x0, 0x6, 0x4d, 0x5, 0xd5, 0x0, 0x5, 0x0, 0xf, 0x0, 0x0, 0x33, 0x35, 0x21, 0x11, 0x33, 0x11, 0x1, 0x7, 0x21, 0x35, 0x21, 0x1, 0x37, 0x1, 0x11, 0x33, 0x7a, 0x5, 0x70, 0x63, 0xfe, 0xde, 0x3f, 0xfd, 0xd4, 0x1, 0x4a, 0xfc, 0xa2, 0x78, 0x3, 0x5e, 0xa9, 0x63, 0x5, 0x72, 0xfa, 0x2b, 0x1, 0x61, 0x3f, 0xa9, 0x3, 0x5e, 0x78, 0xfc, 0xa2, 0x1, 0x4a, 0x0, 0x0, 0x0, 0x0, 0x2, 0x1, 0x5e, 0xff, 0xcd, 0x5, 0x56, 0x6, 0x8, 0x0, 0x9, 0x0, 0x13, 0x0, 0x0, 0x1, 0x11, 0x33, 0x9, 0x1, 0x33, 0x11, 0x23, 0x9, 0x1, 0x27, 0x21, 0x9, 0x1, 0x21, 0x11, 0x21, 0x9, 0x1, 0x21, 0x3, 0xe1, 0x83, 0xfe, 0xf6, 0xfe, 0xf6, 0x83, 0x83, 0x1, 0xa, 0x1, 0xa, 0x1f, 0x1, 0x11, 0xfe, 0x4, 0xfe, 0x4, 0x1, 0x11, 0xfe, 0xef, 0x1, 0xfc, 0x1, 0xfc, 0xfe, 0xef, 0x1, 0x65, 0x3, 0xb, 0x1, 0xa, 0xfe, 0xf6, 0xfc, 0xf5, 0xfe, 0xf6, 0x1, 0xa, 0x64, 0xfe, 0x4, 0x1, 0xfc, 0x2, 0x43, 0x1, 0xfc, 0xfe, 0x4, 0x0, 0x0, 0x3, 0x0, 0x75, 0x0, 0xcc, 0x6, 0x50, 0x4, 0x38, 0x0, 0x29, 0x0, 0x35, 0x0, 0x41, 0x0, 0x0, 0x9, 0x1, 0x27, 0x37, 0x21, 0x6, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x23, 0x35, 0x33, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x21, 0x27, 0x37, 0x1, 0x24, 0x22, 0x7, 0x6, 0x7, 0x6, 0x7, 0x21, 0x26, 0x27, 0x26, 0x27, 0x13, 0x21, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x36, 0x6, 0x50, 0xfe, 0x77, 0x78, 0xe9, 0xfe, 0xa1, 0x6, 0xa, 0x1b, 0x32, 0x31, 0x40, 0x3d, 0x93, 0x3a, 0x43, 0x2e, 0x32, 0x1b, 0xa, 0x6, 0xbe, 0xbe, 0x6, 0xa, 0x1b, 0x32, 0x31, 0x40, 0x3d, 0x93, 0x3a, 0x43, 0x2e, 0x32, 0x1b, 0xa, 0x6, 0x1, 0x5f, 0xe9, 0x78, 0x1, 0x89, 0xfc, 0x5f, 0x52, 0x23, 0x29, 0x18, 0x1a, 0xf, 0x1, 0x6c, 0x11, 0x18, 0x1d, 0x24, 0x68, 0xfe, 0x98, 0xe, 0x19, 0x1d, 0x24, 0x23, 0x52, 0x23, 0x24, 0x1d, 0x19, 0x2, 0x55, 0xfe, 0x77, 0x78, 0xe9, 0x18, 0x18, 0x40, 0x32, 0x31, 0x1b, 0x1a, 0x1a, 0x1e, 0x2e, 0x32, 0x40, 0x18, 0x18, 0xaa, 0x1a, 0x19, 0x40, 0x32, 0x31, 0x1b, 0x1a, 0x1a, 0x1e, 0x2e, 0x32, 0x40, 0x19, 0x1a, 0xe9, 0x78, 0xfe, 0x77, 0x9d, 0xf, 0x12, 0x1a, 0x1c, 0x1e, 0x23, 0x17, 0x1c, 0x10, 0xfe, 0xf0, 0x1d, 0x1a, 0x1c, 0x10, 0xf, 0xf, 0x10, 0x1c, 0x1a, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x77, 0xff, 0xf9, 0x6, 0x3b, 0x5, 0xdc, 0x10, 0x27, 0xc, 0x16, 0x1, 0x2c, 0x0, 0x0, 0x10, 0x7, 0xc, 0x18, 0xfe, 0xd4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x75, 0xfe, 0x74, 0x6, 0x50, 0x6, 0x90, 0x0, 0x19, 0x0, 0x0, 0x1, 0x7, 0x5, 0x15, 0x1, 0x27, 0x37, 0x21, 0x35, 0x21, 0x27, 0x37, 0x21, 0x35, 0x21, 0x27, 0x37, 0x21, 0x35, 0x21, 0x27, 0x37, 0x1, 0x15, 0x7, 0x5, 0x6, 0x50, 0xff, 0x0, 0xff, 0xfe, 0x77, 0x78, 0xe9, 0xfb, 0x3d, 0x4, 0xc3, 0xd7, 0xd7, 0xfb, 0x3d, 0x4, 0xc3, 0xd7, 0xd7, 0xfb, 0x3d, 0x4, 0xc3, 0xe9, 0x78, 0x1, 0x89, 0xff, 0x0, 0xff, 0x2, 0x55, 0xff, 0xff, 0x5a, 0xfe, 0x77, 0x78, 0xe9, 0xaa, 0xd7, 0xd7, 0xaa, 0xd7, 0xd7, 0xaa, 0xe9, 0x78, 0xfe, 0x77, 0x5a, 0xff, 0xff, 0x0, 0x0, 0x1, 0x0, 0x64, 0x0, 0xc0, 0x6, 0x3f, 0x4, 0x44, 0x0, 0x11, 0x0, 0x0, 0x13, 0x35, 0x1, 0x17, 0x7, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x17, 0x7, 0x64, 0x1, 0x89, 0x78, 0xe9, 0x2, 0x33, 0xaa, 0x1, 0xe6, 0xfe, 0x1a, 0xaa, 0xfd, 0xcd, 0xe9, 0x78, 0x2, 0x55, 0x5a, 0x1, 0x89, 0x78, 0xe9, 0x1, 0x6d, 0xfe, 0x93, 0xaa, 0xfe, 0x93, 0x1, 0x6d, 0xe9, 0x78, 0x0, 0x0, 0x1, 0x0, 0x75, 0x0, 0xc0, 0x6, 0x50, 0x4, 0x44, 0x0, 0x11, 0x0, 0x0, 0x9, 0x1, 0x27, 0x37, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x27, 0x37, 0x1, 0x6, 0x50, 0xfe, 0x77, 0x78, 0xe9, 0xfd, 0xcd, 0xaa, 0xfe, 0x1a, 0x1, 0xe6, 0xaa, 0x2, 0x33, 0xe9, 0x78, 0x1, 0x89, 0x2, 0x55, 0xfe, 0x77, 0x78, 0xe9, 0xfe, 0x93, 0x1, 0x6d, 0xaa, 0x1, 0x6d, 0xfe, 0x93, 0xe9, 0x78, 0xfe, 0x77, 0x0, 0x0, 0x1, 0x0, 0x64, 0x0, 0xc0, 0x6, 0x50, 0x4, 0x44, 0x0, 0x17, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x21, 0x27, 0x37, 0x1, 0x15, 0x1, 0x27, 0x37, 0x21, 0x11, 0x23, 0x11, 0x21, 0x17, 0x7, 0x1, 0x35, 0x1, 0x17, 0x7, 0x3, 0x5, 0xaa, 0x1, 0x89, 0xe9, 0x78, 0x1, 0x89, 0xfe, 0x77, 0x78, 0xe9, 0xfe, 0x77, 0xaa, 0xfe, 0x77, 0xe9, 0x78, 0xfe, 0x77, 0x1, 0x89, 0x78, 0xe9, 0x2, 0xd7, 0x1, 0x6d, 0xfe, 0x93, 0xe9, 0x78, 0xfe, 0x77, 0x5a, 0xfe, 0x77, 0x78, 0xe9, 0xfe, 0x93, 0x1, 0x6d, 0xe9, 0x78, 0x1, 0x89, 0x5a, 0x1, 0x89, 0x78, 0xe9, 0x0, 0x1, 0x0, 0x64, 0x0, 0xc0, 0x6, 0x3f, 0x4, 0x44, 0x0, 0x19, 0x0, 0x0, 0x13, 0x35, 0x1, 0x17, 0x7, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x17, 0x7, 0x64, 0x1, 0x89, 0x78, 0xe9, 0x1, 0xa7, 0xaa, 0xaa, 0xaa, 0x1, 0x1e, 0xfe, 0xe2, 0xaa, 0xaa, 0xaa, 0xfe, 0x59, 0xe9, 0x78, 0x2, 0x55, 0x5a, 0x1, 0x89, 0x78, 0xe9, 0x1, 0x6d, 0xfe, 0x93, 0x1, 0x6d, 0xfe, 0x93, 0xaa, 0xfe, 0x93, 0x1, 0x6d, 0xfe, 0x93, 0x1, 0x6d, 0xe9, 0x78, 0x0, 0x0, 0x1, 0x0, 0x75, 0x0, 0xc0, 0x6, 0x50, 0x4, 0x44, 0x0, 0x19, 0x0, 0x0, 0x9, 0x1, 0x27, 0x37, 0x21, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x21, 0x27, 0x37, 0x1, 0x6, 0x50, 0xfe, 0x77, 0x78, 0xe9, 0xfe, 0x59, 0xaa, 0xaa, 0xaa, 0xfe, 0xe2, 0x1, 0x1e, 0xaa, 0xaa, 0xaa, 0x1, 0xa7, 0xe9, 0x78, 0x1, 0x89, 0x2, 0x55, 0xfe, 0x77, 0x78, 0xe9, 0xfe, 0x93, 0x1, 0x6d, 0xfe, 0x93, 0x1, 0x6d, 0xaa, 0x1, 0x6d, 0xfe, 0x93, 0x1, 0x6d, 0xfe, 0x93, 0xe9, 0x78, 0xfe, 0x77, 0x0, 0x0, 0x1, 0x0, 0x64, 0x0, 0xc0, 0x6, 0x50, 0x4, 0x44, 0x0, 0x1f, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x21, 0x27, 0x37, 0x1, 0x15, 0x1, 0x27, 0x37, 0x21, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x17, 0x7, 0x1, 0x35, 0x1, 0x17, 0x7, 0x2, 0x9c, 0x8c, 0x64, 0x8c, 0x1, 0x20, 0xe9, 0x78, 0x1, 0x89, 0xfe, 0x77, 0x78, 0xe9, 0xfe, 0xe0, 0x8c, 0x64, 0x8c, 0xfe, 0xe0, 0xe9, 0x78, 0xfe, 0x77, 0x1, 0x89, 0x78, 0xe9, 0x2, 0xd7, 0x1, 0x6d, 0xfe, 0x93, 0x1, 0x6d, 0xfe, 0x93, 0xe9, 0x78, 0xfe, 0x77, 0x5a, 0xfe, 0x77, 0x78, 0xe9, 0xfe, 0x93, 0x1, 0x6d, 0xfe, 0x93, 0x1, 0x6d, 0xe9, 0x78, 0x1, 0x89, 0x5a, 0x1, 0x89, 0x78, 0xe9, 0x0, 0x2, 0x0, 0x37, 0x0, 0xc4, 0x6, 0x3f, 0x4, 0x40, 0x0, 0x2, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x7, 0x5, 0x11, 0x9, 0x1, 0x11, 0x21, 0x15, 0x1, 0xa5, 0xfa, 0x1, 0x4a, 0xfe, 0x42, 0x1, 0xbe, 0x4, 0x4a, 0x1, 0x88, 0x1, 0xf4, 0xfa, 0x41, 0xfe, 0x83, 0x1, 0xbe, 0x1, 0xbe, 0xfe, 0x83, 0x82, 0x0, 0x2, 0x0, 0x75, 0x0, 0xc4, 0x6, 0x7d, 0x4, 0x40, 0x0, 0x2, 0x0, 0x9, 0x0, 0x0, 0x1, 0x37, 0x27, 0x3, 0x21, 0x35, 0x21, 0x11, 0x9, 0x1, 0x5, 0xf, 0xfa, 0xfa, 0x50, 0xfb, 0xb6, 0x4, 0x4a, 0x1, 0xbe, 0xfe, 0x42, 0x1, 0x88, 0xfa, 0xfa, 0xfe, 0xc5, 0x82, 0x1, 0x7d, 0xfe, 0x42, 0xfe, 0x42, 0x0, 0x3, 0x0, 0x37, 0x0, 0xc4, 0x6, 0x7d, 0x4, 0x40, 0x0, 0x2, 0x0, 0x5, 0x0, 0xf, 0x0, 0x0, 0x1, 0x37, 0x27, 0x1, 0x11, 0x7, 0x5, 0x21, 0x11, 0x9, 0x1, 0x11, 0x21, 0x11, 0x9, 0x1, 0x5, 0xf, 0xfa, 0xfa, 0xfc, 0x96, 0xfa, 0x4, 0x14, 0xfd, 0x36, 0xfe, 0x42, 0x1, 0xbe, 0x2, 0xca, 0x1, 0xbe, 0xfe, 0x42, 0x1, 0x88, 0xfa, 0xfa, 0xfe, 0xc, 0x1, 0xf4, 0xfa, 0x41, 0xfe, 0x83, 0x1, 0xbe, 0x1, 0xbe, 0xfe, 0x83, 0x1, 0x7d, 0xfe, 0x42, 0xfe, 0x42, 0x0, 0x0, 0x2, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x5, 0xd5, 0x0, 0x2, 0x0, 0xa, 0x0, 0x0, 0x25, 0x1, 0x21, 0x13, 0x1, 0x33, 0x13, 0x21, 0x13, 0x33, 0x1, 0x2, 0xbc, 0x1, 0x13, 0xfd, 0xdb, 0xa0, 0xfd, 0xc6, 0xd5, 0x88, 0x2, 0xa1, 0x88, 0xd2, 0xfd, 0xc7, 0xc7, 0x2, 0xe7, 0xfc, 0x52, 0x5, 0xd5, 0xfe, 0x81, 0x1, 0x7f, 0xfa, 0x2b, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x87, 0xff, 0xe3, 0x4, 0x6e, 0x5, 0xf0, 0x0, 0x1d, 0x0, 0x6d, 0xba, 0x0, 0xf, 0x0, 0x0, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xf, 0x10, 0x41, 0x1b, 0x0, 0x16, 0x0, 0xf, 0x0, 0x26, 0x0, 0xf, 0x0, 0x36, 0x0, 0xf, 0x0, 0x46, 0x0, 0xf, 0x0, 0x56, 0x0, 0xf, 0x0, 0x66, 0x0, 0xf, 0x0, 0x76, 0x0, 0xf, 0x0, 0x86, 0x0, 0xf, 0x0, 0x96, 0x0, 0xf, 0x0, 0xa6, 0x0, 0xf, 0x0, 0xb6, 0x0, 0xf, 0x0, 0xc6, 0x0, 0xf, 0x0, 0xd6, 0x0, 0xf, 0x0, 0xd, 0x5d, 0x41, 0x5, 0x0, 0xe5, 0x0, 0xf, 0x0, 0xf5, 0x0, 0xf, 0x0, 0x2, 0x5d, 0x0, 0xba, 0x0, 0x12, 0x0, 0x1b, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x12, 0x10, 0xba, 0x0, 0x3, 0x0, 0xc, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x3, 0x10, 0x30, 0x31, 0x13, 0x10, 0x0, 0x33, 0x32, 0x17, 0x16, 0x17, 0x23, 0x26, 0x27, 0x26, 0x23, 0x22, 0x2, 0x11, 0x10, 0x12, 0x33, 0x32, 0x37, 0x36, 0x37, 0x33, 0x6, 0x7, 0x6, 0x23, 0x22, 0x0, 0x87, 0x1, 0x9, 0xfb, 0xfb, 0x85, 0x42, 0x21, 0xca, 0x12, 0x1b, 0x4f, 0x9d, 0x9c, 0x9d, 0x9d, 0x9c, 0x9d, 0x4f, 0x1b, 0x12, 0xca, 0x21, 0x42, 0x85, 0xfb, 0xfb, 0xfe, 0xf7, 0x2, 0xe9, 0x1, 0x7a, 0x1, 0x8d, 0xc6, 0x63, 0x90, 0x49, 0x37, 0x99, 0xfe, 0xcd, 0xfe, 0xcc, 0xfe, 0xcc, 0xfe, 0xcd, 0x99, 0x37, 0x49, 0x90, 0x63, 0xc5, 0x1, 0x8c, 0x0, 0x0, 0x0, 0x2, 0x0, 0x5f, 0xff, 0xe3, 0x3, 0xc4, 0x5, 0x4c, 0x0, 0x20, 0x0, 0x30, 0x0, 0x0, 0x5, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x35, 0x36, 0x33, 0x20, 0x17, 0x16, 0x15, 0x14, 0x7, 0x2, 0x7, 0x6, 0x1, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x37, 0x26, 0x23, 0x22, 0x7, 0x6, 0x1, 0xb5, 0x8d, 0x5c, 0x6d, 0x60, 0x63, 0xb2, 0x75, 0x5c, 0x36, 0x25, 0xd, 0x20, 0x47, 0xbc, 0x47, 0x6e, 0x74, 0x68, 0x1, 0xc, 0x72, 0x35, 0x19, 0x3f, 0xa3, 0x80, 0xfe, 0xc1, 0x2c, 0x2f, 0x48, 0x40, 0x33, 0x48, 0x35, 0x2c, 0x16, 0x59, 0x9a, 0x84, 0x3a, 0x24, 0x1d, 0x55, 0x65, 0xb7, 0xbe, 0x94, 0x98, 0x49, 0x2b, 0x48, 0x51, 0x5c, 0x87, 0x4e, 0xad, 0x2c, 0xa8, 0x1f, 0xf6, 0x74, 0xad, 0x71, 0x83, 0xfe, 0xb8, 0x9c, 0x7a, 0x1, 0x53, 0x64, 0x36, 0x39, 0x2d, 0x3e, 0x65, 0x53, 0x59, 0xd7, 0xae, 0x6c, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x4, 0x8b, 0xfc, 0x3e, 0x2, 0xf8, 0xfd, 0x8, 0x2, 0xf8, 0xfd, 0x8, 0x5, 0xd5, 0xfa, 0x2b, 0xaa, 0x1, 0xec, 0xaa, 0x1, 0xeb, 0xaa, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xc9, 0xff, 0xa2, 0x4, 0x8b, 0x6, 0x35, 0x0, 0x13, 0x0, 0x17, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x11, 0x21, 0x7, 0x23, 0x37, 0x23, 0x35, 0x33, 0x13, 0x21, 0x35, 0x21, 0x13, 0x21, 0x35, 0x21, 0x37, 0x33, 0xf, 0x1, 0x3, 0x33, 0x11, 0x1, 0x3, 0x21, 0x11, 0x4, 0x8b, 0xfd, 0x4b, 0x1d, 0xaa, 0x1d, 0x63, 0x98, 0x98, 0xfe, 0xd0, 0x1, 0x64, 0x98, 0xfe, 0x4, 0x2, 0x30, 0x1e, 0xaa, 0x1e, 0x34, 0x98, 0xea, 0xfe, 0xe2, 0x98, 0x1, 0xb6, 0x5, 0xd5, 0xfa, 0x2b, 0x5e, 0x5e, 0xaa, 0x1, 0xec, 0xaa, 0x1, 0xeb, 0xaa, 0x60, 0x60, 0xaa, 0xfe, 0x15, 0x1, 0xeb, 0xfd, 0x6b, 0xfe, 0x14, 0x1, 0xec, 0x0, 0x0, 0x0, 0x3, 0x0, 0x9b, 0xff, 0xec, 0x6, 0x5d, 0x5, 0xae, 0x0, 0x1b, 0x0, 0x28, 0x0, 0x36, 0x0, 0x0, 0x1, 0x37, 0x33, 0x7, 0x16, 0x17, 0x16, 0x10, 0x2, 0x4, 0x23, 0x22, 0x27, 0x26, 0x27, 0x7, 0x23, 0x37, 0x26, 0x27, 0x26, 0x10, 0x12, 0x24, 0x33, 0x32, 0x17, 0x16, 0x9, 0x1, 0x27, 0x26, 0x23, 0x22, 0x4, 0x7, 0x6, 0x7, 0x16, 0x17, 0x16, 0x9, 0x1, 0x16, 0x17, 0x16, 0x33, 0x32, 0x24, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x5, 0x8, 0x59, 0x6a, 0x80, 0x69, 0x45, 0x64, 0xc8, 0xfe, 0xa0, 0xb9, 0xbb, 0xb0, 0x38, 0x30, 0x7e, 0x69, 0xaa, 0x3f, 0x2f, 0x63, 0xc6, 0x1, 0x60, 0xbb, 0xb9, 0xb0, 0x12, 0xfc, 0xc9, 0x2, 0xf4, 0xe, 0x91, 0x99, 0x9a, 0xfe, 0xdd, 0x52, 0x51, 0x1, 0x1, 0x51, 0x24, 0x3, 0x67, 0xfd, 0x5, 0x27, 0x2d, 0x91, 0x9a, 0x99, 0x1, 0x22, 0x53, 0x52, 0x1, 0x1, 0x52, 0x3a, 0x5, 0x3b, 0x6e, 0x9d, 0x53, 0x7a, 0xb2, 0xfe, 0x80, 0xfe, 0x9d, 0xbe, 0x5f, 0x1e, 0x27, 0x9c, 0xd2, 0x42, 0x54, 0xb1, 0x1, 0x80, 0x1, 0x63, 0xbe, 0x5f, 0xa, 0xfb, 0xe9, 0x3, 0xa5, 0x8, 0x4e, 0x9d, 0x93, 0x91, 0x9b, 0x9b, 0x91, 0x40, 0x3, 0x44, 0xfc, 0x52, 0x1f, 0x18, 0x4f, 0x9d, 0x93, 0x91, 0x9b, 0x9b, 0x91, 0x67, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xfa, 0x0, 0x0, 0x5, 0x60, 0x5, 0xc1, 0x0, 0x2, 0x0, 0x6, 0x0, 0x38, 0x40, 0xf, 0x0, 0x3, 0x1, 0x3, 0x5, 0x4, 0x3, 0x2, 0x1, 0x0, 0x5, 0x7, 0x5, 0x6, 0x7, 0x10, 0xd4, 0xcc, 0x11, 0x17, 0x39, 0x31, 0x0, 0x2f, 0xc4, 0xcc, 0x11, 0x39, 0x30, 0x40, 0x14, 0x63, 0x1, 0x6d, 0x2, 0x70, 0x1, 0x78, 0x2, 0x7f, 0x2, 0x79, 0x5, 0x76, 0x6, 0x7, 0x6e, 0x0, 0x7f, 0x0, 0x2, 0x5d, 0x1, 0x5d, 0x9, 0x1, 0x21, 0x1, 0x33, 0x1, 0x21, 0x2, 0xac, 0xfe, 0x5e, 0x3, 0x44, 0xfd, 0xef, 0xe0, 0x2, 0x43, 0xfa, 0x9a, 0x4, 0xee, 0xfb, 0xc4, 0x5, 0xf, 0xfa, 0x3f, 0x0, 0x2, 0xff, 0xfa, 0x0, 0x0, 0x5, 0x60, 0x5, 0xc1, 0x0, 0x2, 0x0, 0x6, 0x0, 0x0, 0x25, 0x1, 0x21, 0x9, 0x1, 0x21, 0x1, 0x2, 0xac, 0x1, 0xa2, 0xfc, 0xbc, 0x1, 0x33, 0xfd, 0xbd, 0x5, 0x66, 0xfd, 0xbd, 0xd3, 0x4, 0x3c, 0xfa, 0xf1, 0x5, 0xc1, 0xfa, 0x3f, 0x0, 0x0, 0x0, 0x1, 0x0, 0xaf, 0xff, 0xec, 0x6, 0x49, 0x5, 0xae, 0x0, 0x1c, 0x0, 0x0, 0x1, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x21, 0x15, 0x21, 0x22, 0x24, 0x2, 0x35, 0x34, 0x12, 0x24, 0x33, 0x21, 0x15, 0x21, 0x6, 0x7, 0x6, 0x7, 0x6, 0x7, 0x21, 0x15, 0x1, 0x57, 0x7, 0x3f, 0x4a, 0x8c, 0x89, 0x94, 0x2, 0xb9, 0xfd, 0x47, 0xc0, 0xfe, 0x9d, 0xbe, 0xbe, 0x1, 0x63, 0xc0, 0x2, 0xb9, 0xfd, 0x47, 0x94, 0x89, 0x8b, 0x4b, 0x40, 0x9, 0x4, 0xf5, 0x2, 0x73, 0x4a, 0x78, 0x8b, 0x4e, 0x4c, 0x1, 0x9f, 0xc6, 0x1, 0x60, 0xbb, 0xb9, 0x1, 0x60, 0xc8, 0x9f, 0x1, 0x4d, 0x4f, 0x8a, 0x78, 0x5d, 0xa0, 0x0, 0x3, 0x0, 0xaf, 0xfe, 0xe5, 0x6, 0x49, 0x6, 0xaf, 0x0, 0x1e, 0x0, 0x26, 0x0, 0x2f, 0x0, 0x0, 0x1, 0x17, 0x7, 0x21, 0x15, 0x21, 0x3, 0x21, 0x15, 0x21, 0x3, 0x16, 0x33, 0x21, 0x15, 0x21, 0x22, 0x27, 0x3, 0x27, 0x13, 0x26, 0x27, 0x26, 0x2, 0x35, 0x34, 0x12, 0x24, 0x3b, 0x1, 0x1, 0x14, 0x17, 0x16, 0x17, 0x16, 0x17, 0x13, 0x37, 0x13, 0x23, 0x22, 0x7, 0x6, 0x7, 0x6, 0x15, 0x4, 0xd8, 0x96, 0x49, 0x1, 0x24, 0xfe, 0xa2, 0xb9, 0x2, 0x17, 0xfd, 0xaf, 0xb0, 0x24, 0x24, 0x2, 0xb9, 0xfd, 0x47, 0x41, 0x3f, 0x64, 0x96, 0x60, 0x2c, 0x2c, 0xb1, 0xbe, 0xbe, 0x1, 0x63, 0xc0, 0xea, 0xfc, 0xdd, 0x46, 0x55, 0x81, 0x1d, 0x1d, 0xa0, 0x3b, 0xb8, 0xb0, 0x93, 0x8a, 0x7d, 0x59, 0x49, 0x6, 0xaf, 0x37, 0xca, 0x9f, 0xfe, 0x4, 0xa0, 0xfe, 0x1d, 0x5, 0x9f, 0xb, 0xfe, 0xee, 0x37, 0x1, 0x8, 0x13, 0x18, 0x63, 0x1, 0x60, 0xbb, 0xb9, 0x1, 0x60, 0xc8, 0xfc, 0xc5, 0x4a, 0x78, 0x91, 0x48, 0x10, 0xd, 0x1, 0xb8, 0xa0, 0x1, 0xfc, 0x4e, 0x47, 0x92, 0x78, 0x5d, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd9, 0x0, 0x9b, 0x4, 0xe5, 0x4, 0x67, 0x0, 0x16, 0x0, 0x0, 0x25, 0x20, 0x24, 0x35, 0x34, 0x24, 0x29, 0x1, 0x15, 0x5, 0x6, 0x7, 0x6, 0x7, 0x21, 0x15, 0x21, 0x16, 0x17, 0x16, 0x33, 0x21, 0x15, 0x3, 0x2b, 0xfe, 0xd8, 0xfe, 0xd6, 0x1, 0x2a, 0x1, 0x28, 0x1, 0xba, 0xfe, 0x46, 0xe8, 0x69, 0x4e, 0x1d, 0x3, 0x76, 0xfc, 0x8a, 0x25, 0x46, 0x72, 0xdf, 0x1, 0xba, 0x9b, 0xf6, 0xf0, 0xf0, 0xf6, 0x8e, 0x1, 0x1, 0x4f, 0x3a, 0x85, 0x8e, 0x91, 0x30, 0x51, 0x8e, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xaf, 0xff, 0xec, 0x6, 0x49, 0x5, 0xae, 0x0, 0x1c, 0x0, 0x0, 0x1, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x21, 0x35, 0x21, 0x32, 0x4, 0x12, 0x15, 0x14, 0x2, 0x4, 0x23, 0x21, 0x35, 0x21, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x21, 0x35, 0x5, 0xa1, 0x7, 0x3f, 0x4a, 0x8c, 0x89, 0x94, 0xfd, 0x47, 0x2, 0xb9, 0xc0, 0x1, 0x63, 0xbe, 0xbe, 0xfe, 0x9d, 0xc0, 0xfd, 0x47, 0x2, 0xb9, 0x94, 0x89, 0x8b, 0x4b, 0x40, 0x9, 0xfb, 0xb, 0x3, 0x27, 0x4a, 0x78, 0x8b, 0x4e, 0x4c, 0x1, 0x9f, 0xc6, 0xfe, 0xa0, 0xbb, 0xb9, 0xfe, 0xa0, 0xc8, 0x9f, 0x1, 0x4d, 0x4f, 0x8a, 0x78, 0x5d, 0xa0, 0x0, 0x3, 0x0, 0xaf, 0xfe, 0xe5, 0x6, 0x49, 0x6, 0xaf, 0x0, 0x1e, 0x0, 0x26, 0x0, 0x2f, 0x0, 0x0, 0x1, 0x27, 0x37, 0x21, 0x35, 0x21, 0x13, 0x21, 0x35, 0x21, 0x13, 0x26, 0x23, 0x21, 0x35, 0x21, 0x32, 0x17, 0x13, 0x17, 0x3, 0x16, 0x17, 0x16, 0x12, 0x15, 0x14, 0x2, 0x4, 0x2b, 0x1, 0x1, 0x34, 0x27, 0x26, 0x27, 0x26, 0x27, 0x3, 0x7, 0x3, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x35, 0x2, 0x20, 0x96, 0x49, 0xfe, 0xdc, 0x1, 0x5e, 0xb9, 0xfd, 0xe9, 0x2, 0x51, 0xb0, 0x24, 0x24, 0xfd, 0x47, 0x2, 0xb9, 0x41, 0x3f, 0x64, 0x96, 0x60, 0x2c, 0x2c, 0xb1, 0xbe, 0xbe, 0xfe, 0x9d, 0xc0, 0xea, 0x3, 0x23, 0x46, 0x54, 0x82, 0x1d, 0x1d, 0xa0, 0x3b, 0xb8, 0xb0, 0x93, 0x8a, 0x7d, 0x59, 0x49, 0xfe, 0xe5, 0x37, 0xca, 0x9f, 0x1, 0xfc, 0xa0, 0x1, 0xe3, 0x5, 0x9f, 0xb, 0x1, 0x12, 0x37, 0xfe, 0xf8, 0x13, 0x18, 0x63, 0xfe, 0xa0, 0xbb, 0xb9, 0xfe, 0xa0, 0xc8, 0x3, 0x3b, 0x4a, 0x78, 0x91, 0x48, 0x10, 0xd, 0xfe, 0x48, 0xa0, 0xfe, 0x4, 0x4e, 0x47, 0x92, 0x78, 0x5d, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd9, 0x0, 0x9b, 0x4, 0xe5, 0x4, 0x67, 0x0, 0x16, 0x0, 0x0, 0x1, 0x20, 0x4, 0x15, 0x14, 0x4, 0x29, 0x1, 0x35, 0x25, 0x32, 0x37, 0x36, 0x37, 0x21, 0x35, 0x5, 0x26, 0x27, 0x26, 0x7, 0x21, 0x35, 0x2, 0x93, 0x1, 0x28, 0x1, 0x2a, 0xfe, 0xd6, 0xfe, 0xd8, 0xfe, 0x46, 0x1, 0xba, 0xe8, 0x69, 0x4e, 0x1d, 0xfc, 0x8a, 0x3, 0x76, 0x25, 0x46, 0x74, 0xdd, 0xfe, 0x46, 0x4, 0x67, 0xf6, 0xf1, 0xef, 0xf6, 0x8e, 0x1, 0x50, 0x3a, 0x85, 0x8e, 0x1, 0x91, 0x31, 0x52, 0x1, 0x8e, 0x0, 0x0, 0x1, 0x1, 0x2c, 0x0, 0x0, 0x3, 0xeb, 0x3, 0xe2, 0x0, 0x3, 0x0, 0xb, 0x0, 0xb8, 0x0, 0x1, 0x2f, 0xb8, 0x0, 0x0, 0x2f, 0x30, 0x31, 0x21, 0x11, 0x21, 0x11, 0x1, 0x2c, 0x2, 0xbf, 0x3, 0xe2, 0xfc, 0x1e, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x9c, 0xfe, 0x77, 0x5, 0x71, 0x5, 0xc1, 0x0, 0x7, 0x0, 0x1e, 0x40, 0xf, 0x6, 0x2, 0xd7, 0x4, 0xd6, 0x0, 0xaf, 0x8, 0x3, 0x67, 0x1, 0x5, 0x67, 0x0, 0x8, 0x10, 0xd4, 0xec, 0xd4, 0xec, 0x31, 0x0, 0x10, 0xfc, 0xec, 0xec, 0x32, 0x30, 0x13, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x9c, 0x4, 0xd5, 0xf0, 0xfd, 0xa, 0xef, 0x5, 0xc1, 0xf8, 0xb6, 0x6, 0x7d, 0xf9, 0x83, 0x0, 0x0, 0x1, 0x0, 0x9c, 0xfe, 0x77, 0x5, 0x71, 0x5, 0xc1, 0x0, 0x7, 0x0, 0x1e, 0x40, 0xf, 0x3, 0xd6, 0x7, 0xd7, 0x5, 0x1, 0xaf, 0x8, 0x5, 0x67, 0x7, 0x3, 0x67, 0x1, 0x8, 0x10, 0xd4, 0xec, 0xd4, 0xec, 0x31, 0x0, 0x10, 0xfc, 0x3c, 0xfc, 0xfc, 0x30, 0x13, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x9c, 0xef, 0x2, 0xf6, 0xf0, 0xfe, 0x77, 0x7, 0x4a, 0xf9, 0x83, 0x6, 0x7d, 0xf8, 0xb6, 0x0, 0x0, 0x1, 0x0, 0x19, 0xfe, 0x77, 0x5, 0x3b, 0x5, 0xc1, 0x0, 0xb, 0x0, 0x5d, 0x40, 0x14, 0xa, 0x4, 0xc, 0x2, 0x5, 0x7, 0x2, 0x0, 0x7, 0xc, 0xa, 0x5, 0x4, 0x3, 0x1, 0x0, 0x6, 0x6, 0x8, 0xc, 0x10, 0xd4, 0xc4, 0x17, 0x39, 0x31, 0x0, 0x10, 0xc4, 0xd4, 0xcc, 0x10, 0xce, 0x11, 0x12, 0x39, 0x39, 0x30, 0x40, 0x30, 0x51, 0x3, 0x56, 0x5, 0x50, 0x5, 0x5a, 0xa, 0x73, 0x3, 0x70, 0x3, 0x76, 0x4, 0x75, 0x5, 0x70, 0x5, 0x7a, 0xa, 0x80, 0x3, 0x80, 0x5, 0xc, 0x5a, 0x9, 0x7f, 0x2, 0x7f, 0x3, 0x70, 0x5, 0x70, 0x6, 0x7b, 0x9, 0x74, 0xb, 0x8f, 0x2, 0x8f, 0x3, 0x80, 0x5, 0x80, 0x6, 0xb, 0x5d, 0x1, 0x5d, 0x13, 0x21, 0x15, 0x21, 0x9, 0x1, 0x21, 0x15, 0x21, 0x35, 0x9, 0x1, 0x37, 0x4, 0xea, 0xfc, 0x41, 0x2, 0xa0, 0xfd, 0x4a, 0x3, 0xef, 0xfa, 0xde, 0x2, 0xd5, 0xfd, 0x49, 0x5, 0xc1, 0xc1, 0xfd, 0x33, 0xfd, 0x4, 0xc0, 0x95, 0x3, 0x21, 0x2, 0xe3, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd9, 0x2, 0x2d, 0x5, 0xdb, 0x2, 0xd7, 0x0, 0x3, 0x0, 0x11, 0xb6, 0x0, 0x9c, 0x2, 0x4, 0x1, 0x0, 0x4, 0x10, 0xd4, 0xc4, 0x31, 0x0, 0x10, 0xd4, 0xec, 0x30, 0x13, 0x21, 0x15, 0x21, 0xd9, 0x5, 0x2, 0xfa, 0xfe, 0x2, 0xd7, 0xaa, 0x0, 0x0, 0x2, 0x0, 0xd9, 0x0, 0x0, 0x5, 0xdb, 0x5, 0x4, 0x0, 0xb, 0x0, 0xf, 0x0, 0x0, 0x21, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x1, 0x35, 0x21, 0x15, 0x3, 0xae, 0xa8, 0xfd, 0xd3, 0x2, 0x2d, 0xa8, 0x2, 0x2d, 0xfd, 0xd3, 0xfd, 0x2b, 0x5, 0x2, 0x1, 0x83, 0xaa, 0x1, 0x83, 0xfe, 0x7d, 0xaa, 0x2, 0xd7, 0xaa, 0xaa, 0x0, 0x2, 0x0, 0xd9, 0x0, 0x0, 0x5, 0xdb, 0x5, 0xd5, 0x0, 0xb, 0x0, 0xf, 0x0, 0x57, 0xba, 0x0, 0x5, 0x0, 0x6, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x5, 0x10, 0xb8, 0x0, 0x0, 0xd0, 0xb8, 0x0, 0x6, 0x10, 0xb8, 0x0, 0xa, 0xd0, 0xb8, 0x0, 0x6, 0x10, 0xb8, 0x0, 0xc, 0xd0, 0xb8, 0x0, 0x5, 0x10, 0xb8, 0x0, 0xd, 0xd0, 0x0, 0xb8, 0x0, 0x5, 0x2f, 0xba, 0x0, 0xd, 0x0, 0xe, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xd, 0x10, 0xba, 0x0, 0x2, 0x0, 0x3, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x2, 0x10, 0xb8, 0x0, 0x3, 0x10, 0xb8, 0x0, 0x7, 0xd0, 0xb8, 0x0, 0x2, 0x10, 0xb8, 0x0, 0x9, 0xd0, 0x30, 0x31, 0x1, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x19, 0x1, 0x33, 0x15, 0x23, 0x3, 0xae, 0x2, 0x2d, 0xfd, 0xd3, 0xa8, 0xfd, 0xd3, 0x2, 0x2d, 0xa8, 0xa8, 0x4, 0xa0, 0xfe, 0x5, 0xaa, 0xfe, 0x5, 0x1, 0xfb, 0xaa, 0x1, 0xfb, 0x1, 0x35, 0xcc, 0x0, 0xff, 0xff, 0x0, 0x0, 0xff, 0x42, 0x2, 0xb2, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x12, 0x0, 0x0, 0xff, 0xff, 0x1, 0x8a, 0xff, 0x92, 0x4, 0x3c, 0x6, 0x25, 0x10, 0x7, 0x0, 0x3f, 0x1, 0x8a, 0x0, 0x50, 0x0, 0x0, 0x0, 0x1, 0x1, 0x5, 0x0, 0x0, 0x5, 0xaf, 0x5, 0x4, 0x0, 0x11, 0x0, 0x0, 0x1, 0x25, 0x37, 0x5, 0x11, 0x33, 0x11, 0x25, 0x17, 0xd, 0x1, 0x7, 0x25, 0x11, 0x23, 0x11, 0x5, 0x27, 0x2, 0xb1, 0xfe, 0x54, 0x55, 0x1, 0xac, 0xa8, 0x1, 0xac, 0x55, 0xfe, 0x54, 0x1, 0xac, 0x55, 0xfe, 0x54, 0xa8, 0xfe, 0x54, 0x55, 0x2, 0x82, 0xf7, 0x93, 0xf7, 0x1, 0xef, 0xfe, 0x11, 0xf7, 0x93, 0xf7, 0xf7, 0x93, 0xf7, 0xfe, 0x11, 0x1, 0xef, 0xf7, 0x93, 0x0, 0xff, 0xff, 0x1, 0x44, 0x1, 0x47, 0x3, 0xbe, 0x3, 0xc2, 0x10, 0x7, 0x0, 0x72, 0x0, 0x81, 0xfd, 0xd2, 0x0, 0x0, 0xff, 0xff, 0x1, 0x58, 0x1, 0x59, 0x3, 0xaa, 0x3, 0xa9, 0x10, 0x6, 0xb, 0x0, 0x25, 0x88, 0x0, 0x1, 0x0, 0x3d, 0xff, 0xd7, 0x5, 0x19, 0x6, 0x7d, 0x0, 0xa, 0x0, 0x2a, 0x40, 0x18, 0xa, 0x9, 0x8, 0x7, 0x6, 0x5, 0xb, 0x2, 0x4, 0x2, 0x0, 0xb, 0xa, 0x9, 0x7, 0x6, 0x5, 0x4, 0x3, 0x0, 0x8, 0x1, 0x8, 0xb, 0x10, 0xd4, 0xcc, 0x17, 0x39, 0x31, 0x0, 0x10, 0xd4, 0xcc, 0xc4, 0x11, 0x12, 0x17, 0x39, 0x30, 0x1, 0x33, 0x15, 0x23, 0x1, 0x23, 0x1, 0x7, 0x27, 0x25, 0x1, 0x4, 0x5c, 0xbd, 0x73, 0xfd, 0xae, 0x42, 0xfe, 0xc1, 0x7d, 0x19, 0x1, 0x1b, 0x1, 0x0, 0x6, 0x7d, 0x60, 0xf9, 0xba, 0x3, 0x73, 0x2d, 0x50, 0x62, 0xfd, 0x3b, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3d, 0xff, 0xd7, 0x5, 0x19, 0x7, 0x76, 0x12, 0x26, 0xc, 0x9f, 0x0, 0x0, 0x10, 0x7, 0x0, 0x75, 0x0, 0x73, 0x1, 0x86, 0xff, 0xff, 0x0, 0x3d, 0xff, 0xd7, 0x5, 0x19, 0x7, 0x65, 0x12, 0x26, 0xc, 0x9f, 0x0, 0x0, 0x10, 0x7, 0xb, 0x4b, 0x0, 0x73, 0x1, 0x86, 0x0, 0x2, 0x0, 0xdc, 0x0, 0xe5, 0x4, 0xdb, 0x3, 0xe5, 0x0, 0xb, 0x0, 0x31, 0x0, 0x0, 0x1, 0x32, 0x37, 0x2, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x5, 0x15, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x36, 0x37, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x7, 0x12, 0x33, 0x2, 0xf, 0xa5, 0x63, 0x7f, 0x89, 0x64, 0x33, 0x36, 0x36, 0x38, 0x3, 0x2b, 0x4d, 0x49, 0x36, 0x36, 0x34, 0x1f, 0x31, 0x43, 0x3b, 0x49, 0x74, 0x87, 0x59, 0x5e, 0x5e, 0x53, 0x8f, 0x49, 0x36, 0x3f, 0x2b, 0x28, 0x28, 0x43, 0x3b, 0x49, 0x74, 0x4b, 0x40, 0x94, 0x74, 0x7f, 0x89, 0x1, 0x6b, 0xf0, 0x1, 0x6, 0x48, 0x4d, 0x66, 0x70, 0x45, 0x46, 0x2, 0x84, 0x1e, 0x1b, 0x3f, 0x24, 0x54, 0x78, 0x35, 0x40, 0x65, 0x6a, 0xaf, 0xa8, 0x72, 0x65, 0x1e, 0x21, 0x39, 0x33, 0x45, 0x78, 0x35, 0x40, 0x83, 0xf0, 0xfe, 0xfa, 0x0, 0x0, 0x3, 0x0, 0xdc, 0x0, 0xe5, 0x5, 0xce, 0x3, 0xe5, 0x0, 0x23, 0x0, 0x2f, 0x0, 0x3b, 0x0, 0x0, 0x1, 0x26, 0x27, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x25, 0x32, 0x37, 0x2, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x1, 0x22, 0x7, 0x12, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x3, 0xa5, 0x1f, 0x31, 0x43, 0x3b, 0x4a, 0x73, 0x87, 0x59, 0x5e, 0x5e, 0x54, 0x8e, 0x49, 0x36, 0x3f, 0x2b, 0x28, 0x28, 0x43, 0x3b, 0x4a, 0x73, 0x87, 0x59, 0x5e, 0x5e, 0x54, 0x8e, 0x49, 0x36, 0x36, 0xfe, 0x36, 0xa5, 0x63, 0x7f, 0x89, 0x64, 0x33, 0x37, 0x37, 0x38, 0x2, 0xeb, 0x95, 0x73, 0x7e, 0x8a, 0x64, 0x33, 0x37, 0x37, 0x38, 0x1, 0x5d, 0x24, 0x54, 0x78, 0x35, 0x40, 0x65, 0x6a, 0xaf, 0xa8, 0x72, 0x65, 0x1e, 0x21, 0x39, 0x33, 0x45, 0x78, 0x35, 0x40, 0x65, 0x6a, 0xaf, 0xa8, 0x72, 0x65, 0x1e, 0x1b, 0x4d, 0xf0, 0x1, 0x6, 0x48, 0x4d, 0x66, 0x70, 0x45, 0x46, 0x1, 0xf4, 0xf0, 0xfe, 0xfa, 0x48, 0x4d, 0x66, 0x70, 0x45, 0x46, 0x0, 0x0, 0x1, 0x1, 0x1b, 0x0, 0xcb, 0x5, 0x99, 0x5, 0x49, 0x0, 0x5, 0x0, 0x0, 0x25, 0x21, 0x11, 0x33, 0x11, 0x21, 0x5, 0x99, 0xfb, 0x82, 0xaa, 0x3, 0xd4, 0xcb, 0x4, 0x7e, 0xfc, 0x2c, 0x0, 0x1, 0x0, 0xaf, 0x0, 0x0, 0x6, 0x49, 0x5, 0xd5, 0x0, 0x5, 0x0, 0x0, 0x25, 0x15, 0x21, 0x1, 0x33, 0x1, 0x6, 0x49, 0xfa, 0x66, 0x3, 0xb9, 0xf2, 0xfc, 0xcb, 0xca, 0xca, 0x5, 0xd5, 0xfa, 0xf5, 0x0, 0x0, 0x2, 0x0, 0xaf, 0xff, 0x94, 0x6, 0x49, 0x5, 0xd5, 0x0, 0x5, 0x0, 0x1b, 0x0, 0x41, 0x0, 0xb8, 0x0, 0x7, 0x2f, 0xb8, 0x0, 0x12, 0x2f, 0xba, 0x0, 0xe, 0x0, 0xf, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xe, 0x10, 0xb8, 0x0, 0x0, 0xd0, 0xba, 0x0, 0x4, 0x0, 0x12, 0x0, 0x7, 0x11, 0x12, 0x39, 0xba, 0x0, 0x5, 0x0, 0x12, 0x0, 0x7, 0x11, 0x12, 0x39, 0xb8, 0x0, 0xf, 0x10, 0xb8, 0x0, 0x15, 0xd0, 0xba, 0x0, 0x16, 0x0, 0x12, 0x0, 0x7, 0x11, 0x12, 0x39, 0x30, 0x31, 0x25, 0x26, 0x27, 0x26, 0x27, 0x1, 0x13, 0x1, 0x33, 0x1, 0x16, 0x17, 0x16, 0x17, 0x21, 0x15, 0x21, 0x16, 0x15, 0x23, 0x34, 0x27, 0x21, 0x1, 0x26, 0x27, 0x37, 0x16, 0x4, 0x60, 0x27, 0x4a, 0x41, 0x57, 0xfe, 0xce, 0xe3, 0x1, 0x60, 0xf2, 0xfe, 0x4c, 0x71, 0x52, 0x5d, 0x2b, 0x1, 0x58, 0xfe, 0xc9, 0x4, 0x8c, 0x5, 0xfc, 0x2a, 0x2, 0xd, 0x1e, 0x1f, 0x50, 0x1d, 0xca, 0x8b, 0x86, 0x73, 0x5e, 0xfe, 0x1e, 0x2, 0xe3, 0x2, 0x28, 0xfd, 0x52, 0x73, 0x93, 0xa7, 0xb0, 0xca, 0x35, 0x37, 0x37, 0x35, 0x3, 0x36, 0x15, 0x14, 0x75, 0x13, 0x0, 0x0, 0x0, 0x2, 0x0, 0xed, 0xff, 0xfa, 0x5, 0xdc, 0x5, 0xd1, 0x0, 0x17, 0x0, 0x1d, 0x0, 0x35, 0xba, 0x0, 0xd, 0x0, 0x1c, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xd, 0x10, 0x0, 0xb8, 0x0, 0x9, 0x2f, 0xb8, 0x0, 0x12, 0x2f, 0xba, 0x0, 0x5, 0x0, 0x12, 0x0, 0x9, 0x11, 0x12, 0x39, 0xba, 0x0, 0x16, 0x0, 0x12, 0x0, 0x9, 0x11, 0x12, 0x39, 0xba, 0x0, 0x19, 0x0, 0x12, 0x0, 0x9, 0x11, 0x12, 0x39, 0x30, 0x31, 0x9, 0x1, 0x37, 0x1, 0x26, 0x27, 0x37, 0x16, 0x17, 0x25, 0x15, 0x5, 0x16, 0x7, 0x15, 0x6, 0x7, 0x5, 0x15, 0x25, 0x6, 0x7, 0x27, 0x36, 0x13, 0x9, 0x1, 0x36, 0x37, 0x36, 0x3, 0x72, 0xfd, 0x7b, 0x2, 0x2, 0x8e, 0x19, 0x1d, 0x8b, 0x1d, 0x19, 0x1, 0xd4, 0xfe, 0x8a, 0x45, 0x6, 0x7, 0x47, 0x1, 0x85, 0xfe, 0x25, 0x1c, 0x1e, 0x86, 0x1f, 0x79, 0xfd, 0xdd, 0x2, 0x1a, 0x34, 0x4, 0x7, 0x1, 0x34, 0x1, 0x52, 0xc0, 0x1, 0x57, 0x21, 0x1e, 0x4c, 0x21, 0x24, 0xee, 0xd2, 0xbe, 0xb3, 0xc6, 0x9, 0xa1, 0x93, 0xbf, 0xd2, 0xf1, 0x26, 0x21, 0x4c, 0x20, 0x2, 0xe9, 0xfe, 0xe7, 0xfe, 0xf0, 0x7b, 0x81, 0x9e, 0x0, 0x0, 0x1, 0x1, 0xb0, 0xfe, 0x4a, 0x2, 0x50, 0x6, 0x2b, 0x0, 0x3, 0x0, 0x0, 0x1, 0x33, 0x11, 0x23, 0x1, 0xb0, 0xa0, 0xa0, 0x6, 0x2b, 0xf8, 0x1f, 0x0, 0x0, 0x0, 0x1, 0x0, 0x66, 0xfe, 0x4a, 0x3, 0x9b, 0x6, 0x2b, 0x0, 0xb, 0x0, 0x37, 0xba, 0x0, 0x6, 0x0, 0x0, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x6, 0x10, 0xb8, 0x0, 0x2, 0xd0, 0xb8, 0x0, 0x0, 0x10, 0xb8, 0x0, 0x8, 0xd0, 0x0, 0xb8, 0x0, 0x1, 0x2f, 0xb8, 0x0, 0x7, 0x2f, 0xba, 0x0, 0x3, 0x0, 0x7, 0x0, 0x1, 0x11, 0x12, 0x39, 0xba, 0x0, 0x9, 0x0, 0x7, 0x0, 0x1, 0x11, 0x12, 0x39, 0x30, 0x31, 0x1, 0x11, 0x33, 0x11, 0x37, 0x17, 0x5, 0x11, 0x23, 0x11, 0x7, 0x27, 0x1, 0xb0, 0xa0, 0xfb, 0x50, 0xfe, 0xb5, 0xa0, 0xfd, 0x4d, 0x2, 0x56, 0x3, 0xd5, 0xfc, 0x9c, 0xb0, 0x6f, 0xe7, 0xfc, 0x29, 0x3, 0x67, 0xb1, 0x6e, 0x0, 0x0, 0x0, 0x2, 0x1, 0x10, 0xfe, 0x4a, 0x2, 0xf0, 0x6, 0x2b, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x33, 0x11, 0x23, 0x1, 0x33, 0x11, 0x23, 0x1, 0x10, 0xa0, 0xa0, 0x1, 0x40, 0xa0, 0xa0, 0x6, 0x2b, 0xf8, 0x1f, 0x7, 0xe1, 0xf8, 0x1f, 0x0, 0x1, 0x0, 0x66, 0xfe, 0x4a, 0x3, 0x9b, 0x6, 0x2b, 0x0, 0x13, 0x0, 0x7b, 0xb8, 0x0, 0x14, 0x2f, 0xb8, 0x0, 0x15, 0x2f, 0xb8, 0x0, 0x14, 0x10, 0xb8, 0x0, 0x0, 0xd0, 0xb8, 0x0, 0x0, 0x2f, 0xb8, 0x0, 0xe, 0xdc, 0xb8, 0x0, 0x2, 0xd0, 0xb8, 0x0, 0x15, 0x10, 0xb8, 0x0, 0xa, 0xdc, 0xb8, 0x0, 0x4, 0xdc, 0xb8, 0x0, 0xa, 0x10, 0xb8, 0x0, 0x6, 0xd0, 0xb8, 0x0, 0x4, 0x10, 0xb8, 0x0, 0xc, 0xd0, 0xb8, 0x0, 0x0, 0x10, 0xb8, 0x0, 0x10, 0xd0, 0x0, 0xb8, 0x0, 0x1, 0x2f, 0xb8, 0x0, 0x5, 0x2f, 0xb8, 0x0, 0xb, 0x2f, 0xb8, 0x0, 0xf, 0x2f, 0xba, 0x0, 0x3, 0x0, 0xb, 0x0, 0x1, 0x11, 0x12, 0x39, 0xba, 0x0, 0x7, 0x0, 0xb, 0x0, 0x1, 0x11, 0x12, 0x39, 0xba, 0x0, 0xd, 0x0, 0xb, 0x0, 0x1, 0x11, 0x12, 0x39, 0xba, 0x0, 0x11, 0x0, 0xb, 0x0, 0x1, 0x11, 0x12, 0x39, 0x30, 0x31, 0x1, 0x11, 0x33, 0x11, 0x37, 0x11, 0x33, 0x11, 0x37, 0x17, 0x7, 0x11, 0x23, 0x11, 0x7, 0x11, 0x23, 0x11, 0x7, 0x27, 0x1, 0x10, 0xa0, 0xa0, 0xa0, 0x5b, 0x50, 0xab, 0xa0, 0xa0, 0xa0, 0x5d, 0x4d, 0x1, 0xe6, 0x4, 0x45, 0xfc, 0x2b, 0x71, 0x3, 0x64, 0xfd, 0xc, 0x40, 0x6f, 0x78, 0xfb, 0xba, 0x3, 0xd7, 0x70, 0xfc, 0x99, 0x2, 0xf7, 0x41, 0x6e, 0x0, 0x0, 0x1, 0x1, 0x8, 0x0, 0x0, 0x4, 0xd3, 0x4, 0xa2, 0x0, 0x6, 0x0, 0x0, 0x21, 0x1, 0x33, 0x1, 0x23, 0x9, 0x1, 0x1, 0x8, 0x1, 0x69, 0xfa, 0x1, 0x68, 0xc3, 0xfe, 0xde, 0xfe, 0xdd, 0x4, 0xa2, 0xfb, 0x5e, 0x3, 0xac, 0xfc, 0x54, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x8, 0x0, 0x0, 0x4, 0xd3, 0x4, 0xa2, 0x0, 0x6, 0x0, 0x0, 0x1, 0x33, 0x9, 0x1, 0x33, 0x1, 0x23, 0x1, 0x8, 0xc3, 0x1, 0x23, 0x1, 0x22, 0xc3, 0xfe, 0x98, 0xfa, 0x4, 0xa2, 0xfc, 0x54, 0x3, 0xac, 0xfb, 0x5e, 0x0, 0x1, 0x1, 0x8, 0x0, 0x0, 0x4, 0xd3, 0x4, 0xa2, 0x0, 0x11, 0x0, 0x0, 0x1, 0x10, 0x12, 0x33, 0x32, 0x12, 0x19, 0x1, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x1, 0x8, 0xf5, 0xf1, 0xf0, 0xf5, 0xac, 0x94, 0xa5, 0xa6, 0x94, 0xac, 0x2, 0x50, 0x1, 0x28, 0x1, 0x2a, 0xfe, 0xd6, 0xfe, 0xd8, 0xfd, 0xb0, 0x2, 0x37, 0xf4, 0xd3, 0xd3, 0xf4, 0xfd, 0xc9, 0x0, 0x1, 0x1, 0x8, 0x0, 0x0, 0x4, 0xd3, 0x4, 0xa2, 0x0, 0x11, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x10, 0x2, 0x23, 0x22, 0x2, 0x1, 0x8, 0xac, 0x94, 0xa6, 0xa5, 0x94, 0xac, 0xf5, 0xf0, 0xf1, 0xf5, 0x2, 0x52, 0x2, 0x50, 0xfd, 0xc9, 0xf4, 0xd3, 0xd3, 0xf4, 0x2, 0x37, 0xfd, 0xb0, 0xfe, 0xd8, 0xfe, 0xd6, 0x1, 0x2a, 0x0, 0x1, 0x0, 0x75, 0xfe, 0x4d, 0x3, 0xb6, 0x6, 0xe, 0x0, 0x15, 0x0, 0x0, 0x1, 0x3e, 0x1, 0x32, 0x16, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x3, 0xe, 0x1, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x1, 0xe3, 0x8, 0xa2, 0x97, 0x7e, 0x14, 0x94, 0x11, 0x39, 0x47, 0x8, 0x41, 0x8, 0xa2, 0x97, 0x7e, 0x14, 0x94, 0x11, 0x39, 0x47, 0x8, 0x4, 0xe2, 0xa7, 0x85, 0x7d, 0x8c, 0xf, 0x82, 0xaf, 0xfa, 0xb0, 0xa7, 0x85, 0x7d, 0x8c, 0xf, 0x82, 0xaf, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x75, 0xfe, 0x4d, 0x5, 0xdb, 0x6, 0xe, 0x10, 0x26, 0xc, 0xb0, 0x0, 0x0, 0x10, 0x7, 0xc, 0xb0, 0x2, 0x25, 0x0, 0x0, 0xff, 0xff, 0x0, 0x75, 0xfe, 0x4d, 0x8, 0x0, 0x6, 0xe, 0x10, 0x26, 0xc, 0xb0, 0x0, 0x0, 0x10, 0x27, 0xc, 0xb0, 0x2, 0x25, 0x0, 0x0, 0x10, 0x7, 0xc, 0xb0, 0x4, 0x4a, 0x0, 0x0, 0x0, 0x3, 0x0, 0x75, 0xfe, 0x4d, 0x3, 0xb6, 0x6, 0xe, 0x0, 0x2d, 0x0, 0x36, 0x0, 0x3f, 0x0, 0x0, 0x1, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x3, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x3, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x13, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x13, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x3, 0x13, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x1, 0xe3, 0x8, 0x53, 0x4f, 0x4a, 0x4d, 0x47, 0x37, 0x14, 0x94, 0x11, 0x39, 0x47, 0x8, 0xe, 0x63, 0x42, 0x6e, 0x6e, 0x56, 0x73, 0xf, 0x8, 0x53, 0x4f, 0x4a, 0x4d, 0x47, 0x37, 0x14, 0x94, 0x11, 0x39, 0x47, 0x8, 0xf, 0x5d, 0x49, 0x6e, 0x6f, 0x53, 0x75, 0x8a, 0x3d, 0x2c, 0x45, 0x47, 0x25, 0x2c, 0xbd, 0x16, 0x3d, 0x2c, 0x48, 0x4b, 0x25, 0x4, 0xe2, 0xa7, 0x44, 0x41, 0x46, 0x37, 0x8c, 0xf, 0x82, 0xaf, 0xfe, 0xd6, 0x18, 0x4b, 0x7c, 0x92, 0x9c, 0x6f, 0x55, 0x13, 0xfe, 0xbe, 0xa7, 0x44, 0x41, 0x46, 0x37, 0x8c, 0xf, 0x82, 0xaf, 0x1, 0x31, 0x18, 0x49, 0x6f, 0x9b, 0x9c, 0x73, 0x56, 0x13, 0xfd, 0x9b, 0x10, 0x2f, 0x48, 0x67, 0x6a, 0x47, 0x24, 0x12, 0xfe, 0x34, 0x1, 0xd6, 0x11, 0x2e, 0x4a, 0x68, 0x67, 0x48, 0x24, 0x0, 0x0, 0x0, 0x4, 0x0, 0x75, 0xfe, 0x4d, 0x5, 0xdb, 0x6, 0xe, 0x0, 0x4d, 0x0, 0x51, 0x0, 0x5a, 0x0, 0x63, 0x0, 0x0, 0x1, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x3, 0x21, 0x13, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x3, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x3, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x13, 0x21, 0x3, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x13, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x13, 0x21, 0x13, 0x21, 0x3, 0x13, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x1, 0x3, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x1, 0xe3, 0x8, 0x53, 0x4f, 0x4a, 0x4d, 0x47, 0x37, 0x14, 0x94, 0x11, 0x39, 0x47, 0x8, 0xe, 0x1, 0x7e, 0xf, 0x8, 0x53, 0x4f, 0x4a, 0x4d, 0x47, 0x37, 0x14, 0x94, 0x11, 0x39, 0x47, 0x8, 0xe, 0x63, 0x42, 0x6e, 0x6e, 0x56, 0x73, 0xf, 0x8, 0x53, 0x4f, 0x4a, 0x4d, 0x47, 0x37, 0x14, 0x94, 0x11, 0x39, 0x47, 0x8, 0xe, 0xfe, 0x82, 0xf, 0x8, 0x53, 0x4f, 0x4a, 0x4d, 0x47, 0x37, 0x14, 0x94, 0x11, 0x39, 0x47, 0x8, 0xf, 0x5d, 0x49, 0x6e, 0x6f, 0x53, 0x75, 0x89, 0x1, 0x7e, 0x18, 0xfe, 0x82, 0xbe, 0x16, 0x3d, 0x2c, 0x48, 0x4b, 0x25, 0x3, 0xd, 0x16, 0x3d, 0x2c, 0x45, 0x47, 0x25, 0x4, 0xe2, 0xa7, 0x44, 0x41, 0x46, 0x37, 0x8c, 0xf, 0x82, 0xaf, 0xfe, 0xe2, 0x1, 0x37, 0xa7, 0x44, 0x41, 0x46, 0x37, 0x8c, 0xf, 0x82, 0xaf, 0xfe, 0xd6, 0x18, 0x4b, 0x7c, 0x92, 0x9c, 0x6f, 0x55, 0x13, 0xfe, 0xbe, 0xa7, 0x44, 0x41, 0x46, 0x37, 0x8c, 0xf, 0x82, 0xaf, 0x1, 0x24, 0xfe, 0xc3, 0xa7, 0x44, 0x41, 0x46, 0x37, 0x8c, 0xf, 0x82, 0xaf, 0x1, 0x30, 0x19, 0x49, 0x6f, 0x9b, 0x9c, 0x73, 0x56, 0x13, 0xfd, 0x92, 0x1, 0xf1, 0xfe, 0x21, 0x1, 0xd6, 0x11, 0x2e, 0x4a, 0x68, 0x67, 0x48, 0x24, 0x1, 0xba, 0xfe, 0x2b, 0x10, 0x2f, 0x48, 0x67, 0x6a, 0x47, 0x24, 0x0, 0x5, 0x0, 0x75, 0xfe, 0x4d, 0x8, 0x0, 0x6, 0xe, 0x0, 0x6d, 0x0, 0x71, 0x0, 0x75, 0x0, 0x7e, 0x0, 0x87, 0x0, 0x0, 0x1, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x3, 0x21, 0x13, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x3, 0x21, 0x13, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x3, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x3, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x13, 0x21, 0x3, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x13, 0x21, 0x3, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x13, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x13, 0x21, 0x3, 0x29, 0x1, 0x13, 0x21, 0x3, 0x13, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x1, 0x3, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x1, 0xe3, 0x8, 0x53, 0x4f, 0x4a, 0x4d, 0x47, 0x37, 0x14, 0x94, 0x11, 0x39, 0x47, 0x8, 0xe, 0x1, 0x7e, 0xf, 0x8, 0x53, 0x4f, 0x4a, 0x4d, 0x47, 0x37, 0x14, 0x94, 0x11, 0x39, 0x47, 0x8, 0xe, 0x1, 0x7e, 0xf, 0x8, 0x53, 0x4f, 0x4a, 0x4d, 0x47, 0x37, 0x14, 0x94, 0x11, 0x39, 0x47, 0x8, 0xe, 0x63, 0x42, 0x6e, 0x6e, 0x56, 0x73, 0xf, 0x8, 0x53, 0x4f, 0x4a, 0x4d, 0x47, 0x37, 0x14, 0x94, 0x11, 0x39, 0x47, 0x8, 0xe, 0xfe, 0x82, 0xf, 0x8, 0x53, 0x4f, 0x4a, 0x4d, 0x47, 0x37, 0x14, 0x94, 0x11, 0x39, 0x47, 0x8, 0xe, 0xfe, 0x82, 0xf, 0x8, 0x53, 0x4f, 0x4a, 0x4d, 0x47, 0x37, 0x14, 0x94, 0x11, 0x39, 0x47, 0x8, 0xf, 0x5d, 0x49, 0x6e, 0x6f, 0x53, 0x75, 0x4, 0x2c, 0x18, 0xfe, 0x82, 0x18, 0xfd, 0xdb, 0x1, 0x7e, 0x18, 0xfe, 0x82, 0xbe, 0x16, 0x3d, 0x2c, 0x48, 0x4b, 0x25, 0x5, 0x32, 0x16, 0x3d, 0x2c, 0x45, 0x47, 0x25, 0x4, 0xe2, 0xa7, 0x44, 0x41, 0x46, 0x37, 0x8c, 0xf, 0x82, 0xaf, 0xfe, 0xe2, 0x1, 0x37, 0xa7, 0x44, 0x41, 0x46, 0x37, 0x8c, 0xf, 0x82, 0xaf, 0xfe, 0xe2, 0x1, 0x37, 0xa7, 0x44, 0x41, 0x46, 0x37, 0x8c, 0xf, 0x82, 0xaf, 0xfe, 0xd6, 0x18, 0x4b, 0x7c, 0x92, 0x9c, 0x6f, 0x55, 0x13, 0xfe, 0xbe, 0xa7, 0x44, 0x41, 0x46, 0x37, 0x8c, 0xf, 0x82, 0xaf, 0x1, 0x24, 0xfe, 0xc3, 0xa7, 0x44, 0x41, 0x46, 0x37, 0x8c, 0xf, 0x82, 0xaf, 0x1, 0x24, 0xfe, 0xc3, 0xa7, 0x44, 0x41, 0x46, 0x37, 0x8c, 0xf, 0x82, 0xaf, 0x1, 0x30, 0x19, 0x49, 0x6f, 0x9b, 0x9c, 0x73, 0x56, 0x13, 0xfd, 0x92, 0x1, 0xf1, 0xfe, 0xf, 0x1, 0xf1, 0xfe, 0x21, 0x1, 0xd6, 0x11, 0x2e, 0x4a, 0x68, 0x67, 0x48, 0x24, 0x1, 0xba, 0xfe, 0x2b, 0x10, 0x2f, 0x48, 0x67, 0x6a, 0x47, 0x24, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x75, 0xfe, 0x4c, 0x4, 0x2e, 0x6, 0xf, 0x0, 0x33, 0x0, 0x0, 0x1, 0x26, 0x23, 0x22, 0x7, 0x3, 0x16, 0x17, 0x16, 0x1d, 0x1, 0x37, 0x17, 0x7, 0x23, 0x27, 0x37, 0x17, 0x35, 0x34, 0x27, 0x26, 0x27, 0x3, 0xe, 0x1, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x13, 0x6, 0x7, 0x6, 0x15, 0x23, 0x34, 0x37, 0x36, 0x37, 0x13, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x17, 0x3, 0x22, 0x11, 0x3b, 0x45, 0x8, 0x10, 0x59, 0x3f, 0x77, 0x5e, 0x48, 0xbe, 0x36, 0xbc, 0x48, 0x5c, 0x4f, 0x33, 0x2c, 0x2c, 0x8, 0xa0, 0x48, 0x4f, 0x80, 0x14, 0x94, 0x11, 0x3b, 0x45, 0x8, 0x2b, 0x40, 0x2f, 0x56, 0x66, 0x6d, 0x56, 0x6d, 0x11, 0x8, 0xa0, 0x48, 0x4f, 0x80, 0x14, 0x4, 0xf6, 0x82, 0xaf, 0xfe, 0xb3, 0x18, 0x3f, 0x75, 0x9c, 0x1e, 0x5d, 0x48, 0xbd, 0xbd, 0x48, 0x5d, 0x1e, 0x73, 0x4d, 0x33, 0xb, 0xfc, 0x67, 0xa5, 0x87, 0x7a, 0x8f, 0xf, 0x82, 0xaf, 0x3, 0x88, 0x10, 0x2e, 0x56, 0x72, 0x9b, 0x6d, 0x56, 0x11, 0x1, 0x5f, 0xa5, 0x87, 0x7a, 0x8f, 0x0, 0x3, 0x0, 0x75, 0xfe, 0x4d, 0x4, 0x1d, 0x6, 0xe, 0x0, 0x8, 0x0, 0x11, 0x0, 0x3c, 0x0, 0x0, 0x1, 0x13, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x25, 0x34, 0x27, 0x3, 0x3e, 0x1, 0x37, 0x27, 0x37, 0x13, 0x26, 0x23, 0x22, 0x7, 0x3, 0x16, 0x17, 0x16, 0x15, 0x37, 0x17, 0x7, 0x6, 0x7, 0x6, 0x7, 0x3, 0xe, 0x1, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x13, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x13, 0x3e, 0x1, 0x32, 0x16, 0x17, 0x1, 0xb7, 0x16, 0x3d, 0x2c, 0x48, 0x4b, 0x25, 0x1, 0x80, 0x98, 0x16, 0x3d, 0x51, 0x9, 0x87, 0x48, 0x6c, 0x11, 0x3b, 0x45, 0x8, 0xe, 0x59, 0x4c, 0x6d, 0x48, 0x48, 0xa7, 0x1a, 0x3c, 0x56, 0x73, 0xf, 0x8, 0x9f, 0x98, 0x80, 0x14, 0x94, 0x11, 0x3b, 0x45, 0x8, 0xf, 0x5d, 0x49, 0x6e, 0x6f, 0x53, 0x75, 0xf, 0x8, 0x9f, 0x98, 0x80, 0x14, 0x1, 0x4a, 0x1, 0xd6, 0x11, 0x2e, 0x4a, 0x67, 0x68, 0x48, 0x24, 0xe6, 0x99, 0x3b, 0xfe, 0x2b, 0x10, 0x65, 0x13, 0x88, 0x48, 0x2, 0x5d, 0x82, 0xaf, 0xfe, 0xd6, 0x16, 0x4d, 0x6f, 0x7c, 0x48, 0x48, 0xa7, 0x43, 0x3f, 0x5a, 0x13, 0xfe, 0xbe, 0xa5, 0x87, 0x7a, 0x8f, 0xf, 0x82, 0xaf, 0x1, 0x31, 0x18, 0x49, 0x6f, 0x9b, 0x9c, 0x73, 0x56, 0x13, 0x1, 0x3c, 0xa4, 0x88, 0x7a, 0x8f, 0x0, 0x0, 0x3, 0x0, 0x75, 0xfe, 0x4d, 0x4, 0x1f, 0x6, 0xe, 0x0, 0x8, 0x0, 0x12, 0x0, 0x3b, 0x0, 0x0, 0x1, 0x13, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x1, 0x2e, 0x1, 0x27, 0x3, 0x3e, 0x1, 0x37, 0x7, 0x27, 0x13, 0x26, 0x23, 0x22, 0x7, 0x3, 0x1e, 0x1, 0x1f, 0x1, 0x7, 0x27, 0x14, 0x6, 0x7, 0x3, 0xe, 0x1, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x13, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x13, 0x3e, 0x1, 0x32, 0x16, 0x17, 0x1, 0xb7, 0x16, 0x3d, 0x2c, 0x48, 0x4b, 0x25, 0x1, 0x6d, 0x23, 0x36, 0x2c, 0x16, 0x3d, 0x69, 0x7, 0x53, 0x48, 0xb2, 0x11, 0x3b, 0x45, 0x8, 0xe, 0x63, 0x8b, 0x12, 0xa4, 0x48, 0x4b, 0xc2, 0x73, 0xf, 0x8, 0x9f, 0x98, 0x80, 0x14, 0x94, 0x11, 0x3b, 0x45, 0x8, 0xf, 0x5d, 0x49, 0x6e, 0x6f, 0x53, 0x75, 0xf, 0x8, 0x9f, 0x98, 0x80, 0x14, 0x1, 0x4a, 0x1, 0xd6, 0x11, 0x2e, 0x4a, 0x67, 0x68, 0x48, 0x24, 0x1, 0x36, 0x42, 0x30, 0x12, 0xfe, 0x2b, 0x10, 0x82, 0x40, 0x54, 0x48, 0x2, 0xef, 0x82, 0xaf, 0xfe, 0xd6, 0x18, 0x9d, 0x3f, 0xa4, 0x48, 0x4b, 0x7c, 0xc0, 0x13, 0xfe, 0xbe, 0xa5, 0x87, 0x7a, 0x8f, 0xf, 0x82, 0xaf, 0x1, 0x31, 0x18, 0x49, 0x6f, 0x9b, 0x9c, 0x73, 0x56, 0x13, 0x1, 0x3c, 0xa4, 0x88, 0x7a, 0x8f, 0x0, 0x0, 0xff, 0xff, 0x0, 0x79, 0x0, 0xcd, 0x4, 0x9e, 0x4, 0xd5, 0x10, 0x27, 0xd, 0x4a, 0xff, 0x9e, 0xfe, 0x85, 0x10, 0x27, 0xd, 0x4a, 0x2, 0xf0, 0xfe, 0x85, 0x10, 0x7, 0xd, 0x4a, 0x1, 0x47, 0x1, 0x8f, 0x0, 0x0, 0xff, 0xff, 0x0, 0x79, 0x0, 0xcd, 0x4, 0x9e, 0x4, 0xd5, 0x10, 0x27, 0xd, 0x4a, 0x1, 0x47, 0xfe, 0x85, 0x10, 0x27, 0xd, 0x4a, 0x2, 0xf0, 0x1, 0x8f, 0x10, 0x7, 0xd, 0x4a, 0xff, 0x9e, 0x1, 0x8f, 0x0, 0x0, 0xff, 0xff, 0x0, 0xa1, 0x0, 0xcd, 0x1, 0x74, 0x4, 0xd6, 0x10, 0x27, 0xd, 0x4a, 0xff, 0xc6, 0x1, 0x90, 0x10, 0x7, 0xd, 0x4a, 0xff, 0xc6, 0xfe, 0x85, 0x0, 0x0, 0xff, 0xff, 0x0, 0x79, 0x0, 0xcd, 0x4, 0x9e, 0x4, 0xd5, 0x10, 0x27, 0xd, 0x4a, 0x2, 0xf0, 0x1, 0x8f, 0x10, 0x27, 0xd, 0x4a, 0xff, 0x9e, 0x1, 0x8f, 0x10, 0x27, 0xd, 0x4a, 0x2, 0xf0, 0xfe, 0x85, 0x10, 0x7, 0xd, 0x4a, 0xff, 0x9e, 0xfe, 0x85, 0x0, 0x0, 0xff, 0xff, 0x0, 0xd9, 0x2, 0x2d, 0x5, 0xdb, 0x4, 0x6a, 0x10, 0x27, 0xd, 0x4a, 0x2, 0x14, 0x1, 0x24, 0x10, 0x6, 0xc, 0x97, 0x0, 0x0, 0x0, 0x3, 0x0, 0xd9, 0x0, 0x9f, 0x5, 0xdc, 0x4, 0x6a, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x0, 0x1, 0x33, 0x15, 0x23, 0x13, 0x33, 0x15, 0x23, 0x5, 0x21, 0x15, 0x21, 0x5, 0x8, 0xd3, 0xd3, 0x1, 0xd3, 0xd3, 0xfb, 0xd0, 0x3, 0x58, 0xfc, 0xa8, 0x1, 0x9d, 0xfe, 0x3, 0xcb, 0xfe, 0x95, 0xaa, 0x0, 0xff, 0xff, 0x0, 0xd8, 0x0, 0x9f, 0x5, 0xdc, 0x4, 0x6a, 0x10, 0x26, 0xc, 0x97, 0x0, 0x0, 0x10, 0x27, 0xd, 0x4a, 0xff, 0xfd, 0xfe, 0x57, 0x10, 0x27, 0xd, 0x4a, 0xff, 0xfe, 0x1, 0x24, 0x10, 0x27, 0xd, 0x4a, 0x4, 0x2d, 0xfe, 0x57, 0x10, 0x7, 0xd, 0x4a, 0x4, 0x2e, 0x1, 0x24, 0xff, 0xff, 0x0, 0xd9, 0x0, 0x9f, 0x5, 0xdb, 0x4, 0x6a, 0x10, 0x26, 0xc, 0xc1, 0x0, 0x0, 0x10, 0x27, 0xd, 0x4a, 0x2, 0x13, 0xfe, 0x57, 0x10, 0x7, 0xd, 0x4a, 0x2, 0x14, 0x1, 0x24, 0x0, 0x1, 0x0, 0xd9, 0x1, 0xd3, 0x5, 0xdb, 0x3, 0x32, 0x0, 0x1d, 0x0, 0x0, 0x1, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x5, 0xdb, 0x69, 0xb3, 0x61, 0x6e, 0x92, 0xa, 0x7, 0x6, 0xf, 0x9b, 0x5e, 0x58, 0xac, 0x62, 0x69, 0xb3, 0x61, 0x6e, 0x93, 0xb, 0x5, 0x6, 0xf, 0x9b, 0x5e, 0x56, 0xa9, 0x3, 0x32, 0xb3, 0x4e, 0x45, 0x3b, 0x4, 0x3, 0x2, 0x6, 0x3d, 0x4c, 0x54, 0xb3, 0x4e, 0x45, 0x3b, 0x5, 0x2, 0x2, 0x6, 0x3d, 0x4b, 0x0, 0x1, 0x0, 0xd9, 0x1, 0xd3, 0x5, 0xdb, 0x3, 0x32, 0x0, 0x1d, 0x0, 0x0, 0x13, 0x1e, 0x1, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x16, 0x17, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x26, 0x27, 0xd9, 0x67, 0xa9, 0x56, 0x5e, 0x9b, 0xf, 0x6, 0x5, 0xb, 0x93, 0x6e, 0x61, 0xb3, 0x69, 0x62, 0xac, 0x58, 0x5e, 0x9b, 0xf, 0x6, 0x7, 0xa, 0x92, 0x6e, 0x61, 0xb3, 0x69, 0x3, 0x32, 0x55, 0x4b, 0x3d, 0x6, 0x2, 0x2, 0x5, 0x3b, 0x45, 0x4e, 0xb3, 0x54, 0x4c, 0x3d, 0x6, 0x2, 0x3, 0x4, 0x3b, 0x45, 0x4e, 0x0, 0x1, 0x0, 0xa2, 0x1, 0x31, 0x6, 0x12, 0x3, 0xd4, 0x0, 0x29, 0x0, 0x0, 0x1, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x1e, 0x1, 0x33, 0x7, 0x22, 0x2e, 0x1, 0x35, 0x34, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x17, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x2e, 0x1, 0x23, 0x37, 0x32, 0x1e, 0x1, 0x15, 0x14, 0xe, 0x1, 0x23, 0x22, 0x26, 0x3, 0x3a, 0x51, 0x9f, 0x48, 0x52, 0x64, 0x2, 0x68, 0x4e, 0x1, 0x69, 0x9c, 0x5c, 0x64, 0x8e, 0x6e, 0x78, 0xc2, 0x3e, 0x40, 0xb0, 0x48, 0x52, 0x64, 0x2, 0x68, 0x4e, 0x1, 0x69, 0x9c, 0x5c, 0x64, 0x8e, 0x6e, 0x78, 0xc4, 0x2, 0x2e, 0x74, 0x74, 0x6c, 0x48, 0x3d, 0x59, 0x9b, 0x4f, 0x9a, 0x48, 0x4c, 0xa2, 0x5c, 0x7d, 0x58, 0x5b, 0x8d, 0x6c, 0x48, 0x3d, 0x59, 0x9b, 0x4f, 0x9a, 0x48, 0x4c, 0xa2, 0x5c, 0x7d, 0x0, 0x1, 0x0, 0xd9, 0x0, 0x57, 0x5, 0xdb, 0x4, 0xad, 0x0, 0x11, 0x0, 0x0, 0x1, 0x2, 0x23, 0x22, 0x3, 0x2, 0x27, 0x22, 0x3, 0x23, 0x12, 0x33, 0x32, 0x13, 0x12, 0x17, 0x32, 0x13, 0x5, 0xdb, 0x7b, 0xfb, 0xe6, 0x64, 0x66, 0x66, 0x74, 0x58, 0xaa, 0x7b, 0xfb, 0xe6, 0x64, 0x66, 0x66, 0x74, 0x58, 0x2, 0xd7, 0xfd, 0x80, 0x1, 0xd6, 0x1, 0xdc, 0x1, 0xfe, 0x23, 0x2, 0x80, 0xfe, 0x2a, 0xfe, 0x24, 0x1, 0x1, 0xdd, 0x0, 0x0, 0x1, 0x0, 0xd0, 0x0, 0x0, 0x2, 0x30, 0x5, 0x2, 0x0, 0x1d, 0x0, 0x0, 0x21, 0x23, 0x2e, 0x1, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x26, 0x27, 0x33, 0x1e, 0x1, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x15, 0x14, 0x16, 0x2, 0x30, 0xb4, 0x4e, 0x44, 0x3a, 0x4, 0x4, 0x2, 0x6, 0x3c, 0x4c, 0x54, 0xb4, 0x4e, 0x44, 0x3a, 0x6, 0x2, 0x2, 0x6, 0x3c, 0x4a, 0x68, 0xb4, 0x60, 0x6e, 0x92, 0xa, 0x8, 0x6, 0xe, 0x9c, 0x5e, 0x58, 0xac, 0x62, 0x6a, 0xb2, 0x62, 0x6e, 0x92, 0xc, 0x4, 0x6, 0x10, 0x9a, 0x5e, 0x56, 0xaa, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd9, 0x0, 0x9d, 0x5, 0xdb, 0x4, 0x6c, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x13, 0x17, 0x3, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x3, 0x27, 0x2, 0xe6, 0x63, 0x44, 0x58, 0xac, 0x62, 0x69, 0xb3, 0x61, 0x5d, 0x79, 0xac, 0x9b, 0xa8, 0x65, 0x45, 0x56, 0xa9, 0x67, 0x69, 0xb3, 0x61, 0x60, 0x79, 0xab, 0x9b, 0x2, 0x53, 0x20, 0x4c, 0x54, 0xb3, 0x4e, 0x45, 0x2b, 0x1, 0x7e, 0x46, 0xfe, 0x8c, 0x20, 0x4b, 0x55, 0xb3, 0x4e, 0x45, 0x2c, 0xfe, 0x85, 0x46, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0x1, 0x10, 0x5, 0xdb, 0x3, 0xa2, 0x0, 0x1c, 0x0, 0x20, 0x0, 0x0, 0x1, 0x15, 0xe, 0x1, 0x23, 0x22, 0x2f, 0x1, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x1, 0x21, 0x15, 0x21, 0x5, 0xdb, 0x69, 0xb3, 0x61, 0x6e, 0x92, 0x11, 0x6, 0xf, 0x9b, 0x5e, 0x58, 0xac, 0x62, 0x69, 0xb3, 0x61, 0x6e, 0x93, 0xb, 0x5, 0x6, 0xf, 0x9b, 0x5e, 0x56, 0xa9, 0xfb, 0x65, 0x5, 0x2, 0xfa, 0xfe, 0x2, 0x6f, 0xb3, 0x4e, 0x45, 0x3b, 0x7, 0x2, 0x6, 0x3d, 0x4c, 0x54, 0xb3, 0x4e, 0x45, 0x3b, 0x5, 0x2, 0x2, 0x6, 0x3d, 0x4b, 0x1, 0x88, 0xa8, 0x0, 0x2, 0x0, 0xd9, 0x1, 0x60, 0x5, 0xdb, 0x3, 0xf4, 0x0, 0x1a, 0x0, 0x1e, 0x0, 0x0, 0x1, 0x15, 0xe, 0x1, 0x23, 0x22, 0x2f, 0x1, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x1f, 0x2, 0x16, 0x33, 0x32, 0x36, 0x1, 0x21, 0x15, 0x21, 0x5, 0xdb, 0x69, 0xb3, 0x61, 0x6e, 0x92, 0x11, 0x6, 0xf, 0x9b, 0x5e, 0x58, 0xac, 0x62, 0x69, 0xb3, 0x61, 0x6e, 0x93, 0xf, 0x16, 0x9b, 0x5e, 0x56, 0xa9, 0xfb, 0x65, 0x5, 0x2, 0xfa, 0xfe, 0x3, 0xf4, 0xb2, 0x4f, 0x45, 0x3b, 0x7, 0x2, 0x6, 0x3d, 0x4c, 0x53, 0xb2, 0x4e, 0x45, 0x3b, 0x6, 0x9, 0x3d, 0x4b, 0xfe, 0x6b, 0xaa, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0x0, 0x62, 0x5, 0xdb, 0x4, 0xd3, 0x0, 0x25, 0x0, 0x26, 0x0, 0x0, 0x1, 0x3, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x7, 0x21, 0x15, 0x21, 0x7, 0x27, 0x37, 0x21, 0x35, 0x21, 0x37, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x1f, 0x1, 0x13, 0x1, 0x5, 0x3, 0xcb, 0x1f, 0x25, 0x48, 0x5c, 0xaf, 0xc, 0x69, 0xb3, 0x61, 0x42, 0x50, 0x90, 0x2, 0x9f, 0xfc, 0xef, 0xb9, 0x89, 0x6c, 0xfe, 0xe5, 0x1, 0x99, 0xb8, 0x91, 0x5a, 0x58, 0xac, 0x62, 0x69, 0xb3, 0x61, 0x6e, 0x93, 0x33, 0xef, 0xfd, 0x7d, 0x4, 0x6f, 0xfe, 0xe9, 0xb, 0x2d, 0x58, 0x22, 0xb2, 0x4f, 0x45, 0x16, 0xba, 0xaa, 0xfe, 0x64, 0x9a, 0xaa, 0xf3, 0x38, 0x4c, 0x53, 0xb2, 0x4e, 0x45, 0x3b, 0x16, 0x1, 0x49, 0xfc, 0x8d, 0x0, 0x0, 0x3, 0x0, 0xd9, 0x0, 0xb8, 0x5, 0xdb, 0x4, 0xc1, 0x0, 0x1a, 0x0, 0x1e, 0x0, 0x22, 0x0, 0x0, 0x1, 0x15, 0xe, 0x1, 0x23, 0x22, 0x2f, 0x1, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x1f, 0x2, 0x16, 0x33, 0x32, 0x36, 0x1, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x5, 0xdb, 0x69, 0xb3, 0x61, 0x6e, 0x92, 0x11, 0x6, 0xf, 0x9b, 0x5e, 0x58, 0xac, 0x62, 0x69, 0xb3, 0x61, 0x6e, 0x93, 0xf, 0x16, 0x9b, 0x5e, 0x56, 0xa9, 0xfb, 0x65, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x4, 0xc1, 0xb2, 0x4f, 0x45, 0x3b, 0x7, 0x2, 0x6, 0x3d, 0x4c, 0x53, 0xb2, 0x4e, 0x45, 0x3b, 0x6, 0x7, 0x3f, 0x4b, 0xfe, 0x6b, 0xaa, 0xcb, 0xaa, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0x0, 0x18, 0x5, 0xdb, 0x4, 0xc1, 0x0, 0x1a, 0x0, 0x2e, 0x0, 0x0, 0x1, 0x15, 0xe, 0x1, 0x23, 0x22, 0x2f, 0x1, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x1f, 0x2, 0x16, 0x33, 0x32, 0x36, 0x1, 0x23, 0x35, 0x21, 0x37, 0x21, 0x35, 0x21, 0x37, 0x17, 0x7, 0x21, 0x15, 0x21, 0x7, 0x21, 0x15, 0x21, 0x7, 0x27, 0x5, 0xdb, 0x69, 0xb3, 0x61, 0x6e, 0x92, 0x11, 0x6, 0xf, 0x9b, 0x5e, 0x58, 0xac, 0x62, 0x69, 0xb3, 0x61, 0x6e, 0x93, 0xf, 0x16, 0x9b, 0x5e, 0x56, 0xa9, 0xfc, 0x4c, 0xe7, 0x1, 0x95, 0xd1, 0xfd, 0x9a, 0x3, 0x19, 0x8c, 0x6f, 0x13, 0x1, 0x1, 0xfe, 0x4b, 0xd0, 0x2, 0x85, 0xfc, 0xc9, 0xa6, 0x6f, 0x4, 0xc1, 0xb2, 0x4f, 0x45, 0x3b, 0x7, 0x2, 0x6, 0x3d, 0x4c, 0x53, 0xb2, 0x4e, 0x45, 0x3b, 0x6, 0x7, 0x3f, 0x4b, 0xfc, 0x4c, 0xaa, 0xcb, 0xaa, 0x8a, 0x73, 0x17, 0xaa, 0xcb, 0xaa, 0xa0, 0x73, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd9, 0xff, 0xf6, 0x5, 0xdb, 0x5, 0x42, 0x0, 0x2e, 0x0, 0x0, 0x1, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x7, 0x21, 0x15, 0x21, 0x7, 0x21, 0x15, 0x21, 0x7, 0x27, 0x37, 0x23, 0x35, 0x21, 0x37, 0x21, 0x35, 0x21, 0x37, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x1f, 0x1, 0x37, 0x17, 0x4, 0x62, 0xa, 0x9, 0x4b, 0x60, 0x4a, 0x71, 0x69, 0xb3, 0x61, 0x27, 0x2b, 0x5c, 0x2, 0x2b, 0xfd, 0x7a, 0x6c, 0x2, 0xf2, 0xfc, 0xb3, 0x68, 0x92, 0x3e, 0xf9, 0x1, 0x54, 0x6d, 0xfe, 0x3f, 0x2, 0x1c, 0x75, 0x32, 0x9b, 0x5e, 0x58, 0xac, 0x62, 0x69, 0xb3, 0x61, 0x6e, 0x93, 0x63, 0x86, 0x92, 0x4, 0x22, 0x1, 0x25, 0x1e, 0x5d, 0xb2, 0x4f, 0x45, 0x7, 0xab, 0xaa, 0xcb, 0xaa, 0xc2, 0x4e, 0x74, 0xaa, 0xcb, 0xaa, 0xda, 0x14, 0x3d, 0x4c, 0x53, 0xb2, 0x4e, 0x45, 0x3b, 0x25, 0xfa, 0x4e, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0x1, 0x10, 0x5, 0xdb, 0x3, 0xf4, 0x0, 0x1d, 0x0, 0x3b, 0x0, 0x3f, 0x40, 0x1f, 0x2e, 0x1f, 0x39, 0x2a, 0x0, 0x2d, 0x22, 0x13, 0x1, 0x10, 0x1b, 0xc, 0x1e, 0x2a, 0x9c, 0x31, 0x39, 0x9c, 0x22, 0x4, 0x9c, 0x1b, 0xc, 0x9c, 0x13, 0x3c, 0x1e, 0x0, 0x2d, 0xf, 0x3c, 0x10, 0xd4, 0x3c, 0xc4, 0x32, 0x31, 0x0, 0x10, 0xd4, 0xec, 0xd4, 0xec, 0xdc, 0xfc, 0xd4, 0xec, 0xc0, 0x11, 0x12, 0x39, 0x39, 0x11, 0x12, 0x39, 0x39, 0x11, 0x12, 0x39, 0x39, 0x30, 0x1, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x13, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x5, 0xdb, 0x69, 0xb3, 0x61, 0x6e, 0x92, 0xa, 0x7, 0x6, 0xf, 0x9b, 0x5e, 0x58, 0xac, 0x62, 0x69, 0xb3, 0x61, 0x6e, 0x93, 0xb, 0x5, 0x6, 0xf, 0x9b, 0x5e, 0x56, 0xa9, 0x67, 0x69, 0xb3, 0x61, 0x6e, 0x92, 0xa, 0x7, 0x6, 0xf, 0x9b, 0x5e, 0x58, 0xac, 0x62, 0x69, 0xb3, 0x61, 0x6e, 0x93, 0xa, 0x5, 0x7, 0xf, 0x9b, 0x5e, 0x56, 0xa9, 0x2, 0x6f, 0xb3, 0x4e, 0x45, 0x3b, 0x4, 0x3, 0x2, 0x6, 0x3d, 0x4c, 0x54, 0xb3, 0x4e, 0x45, 0x3b, 0x5, 0x2, 0x2, 0x6, 0x3d, 0x4b, 0x1, 0xda, 0xb2, 0x4f, 0x45, 0x3b, 0x4, 0x3, 0x2, 0x6, 0x3d, 0x4c, 0x53, 0xb2, 0x4e, 0x45, 0x3b, 0x4, 0x2, 0x3, 0x6, 0x3d, 0x4b, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd9, 0x0, 0x5, 0x5, 0xdb, 0x4, 0xff, 0x0, 0x34, 0x0, 0x0, 0x1, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x7, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x2f, 0x1, 0x3, 0x27, 0x13, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x37, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x32, 0x1f, 0x1, 0x13, 0x17, 0x4, 0x11, 0x39, 0x2b, 0x56, 0xa9, 0x67, 0x69, 0xb3, 0x61, 0x40, 0x4c, 0x4a, 0x93, 0x5a, 0x56, 0xa9, 0x67, 0x69, 0xb3, 0x61, 0x83, 0x7d, 0x13, 0x8d, 0xa4, 0x89, 0x39, 0x2b, 0x58, 0xac, 0x62, 0x69, 0xb3, 0x61, 0x40, 0x4d, 0x48, 0x92, 0x5a, 0x58, 0xac, 0x62, 0x69, 0xb3, 0xc2, 0xa0, 0x12, 0x8d, 0xa4, 0x3, 0x61, 0xd, 0x4b, 0x55, 0xb2, 0x4f, 0x45, 0x14, 0xbb, 0x38, 0x4b, 0x55, 0xb3, 0x4e, 0x45, 0x3b, 0x9, 0xfe, 0x98, 0x40, 0x1, 0x5e, 0xd, 0x4c, 0x54, 0xb3, 0x4e, 0x45, 0x14, 0xbb, 0x38, 0x4c, 0x53, 0xb2, 0x4e, 0x45, 0x3b, 0x7, 0x1, 0x66, 0x40, 0x0, 0x0, 0x3, 0x0, 0xd9, 0x0, 0xb8, 0x5, 0xdb, 0x4, 0xc9, 0x0, 0x1a, 0x0, 0x35, 0x0, 0x39, 0x0, 0x0, 0x1, 0x15, 0xe, 0x1, 0x23, 0x22, 0x2f, 0x1, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x1f, 0x2, 0x16, 0x33, 0x32, 0x36, 0x13, 0x15, 0xe, 0x1, 0x23, 0x22, 0x2f, 0x1, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x1f, 0x2, 0x16, 0x33, 0x32, 0x36, 0x1, 0x21, 0x15, 0x21, 0x5, 0xdb, 0x69, 0xb3, 0x61, 0x6e, 0x92, 0x11, 0x6, 0xf, 0x9b, 0x5e, 0x58, 0xac, 0x62, 0x69, 0xb3, 0x61, 0x6e, 0x93, 0xf, 0x16, 0x9b, 0x5e, 0x56, 0xa9, 0x67, 0x69, 0xb3, 0x61, 0x71, 0x8f, 0x11, 0x6, 0xf, 0x9b, 0x5e, 0x58, 0xac, 0x62, 0x69, 0xb3, 0x61, 0x6e, 0x93, 0xf, 0x16, 0xc6, 0x33, 0x56, 0xa9, 0xfb, 0x65, 0x5, 0x2, 0xfa, 0xfe, 0x3, 0x4c, 0xb2, 0x4f, 0x45, 0x3b, 0x7, 0x2, 0x6, 0x3d, 0x4c, 0x53, 0xb2, 0x4e, 0x45, 0x3b, 0x6, 0x7, 0x3f, 0x4b, 0x1, 0xd2, 0xb2, 0x4f, 0x45, 0x3b, 0x7, 0x2, 0x6, 0x3d, 0x4c, 0x53, 0xb2, 0x4e, 0x45, 0x3b, 0x6, 0x7, 0x3f, 0x4b, 0xfc, 0xee, 0xaa, 0x0, 0x0, 0x0, 0x3, 0x0, 0xd9, 0x0, 0x79, 0x5, 0xdb, 0x4, 0xd1, 0x0, 0x1a, 0x0, 0x35, 0x0, 0x50, 0x0, 0x0, 0x1, 0x15, 0xe, 0x1, 0x23, 0x22, 0x2f, 0x1, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x1f, 0x2, 0x16, 0x33, 0x32, 0x36, 0x13, 0x15, 0xe, 0x1, 0x23, 0x22, 0x2f, 0x1, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x1f, 0x2, 0x16, 0x33, 0x32, 0x36, 0x13, 0x15, 0xe, 0x1, 0x23, 0x22, 0x2f, 0x1, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x1f, 0x2, 0x16, 0x33, 0x32, 0x36, 0x5, 0xdb, 0x69, 0xb3, 0x61, 0x6e, 0x92, 0x11, 0x6, 0xf, 0x9b, 0x5e, 0x58, 0xac, 0x62, 0x69, 0xb3, 0x61, 0x6e, 0x93, 0xf, 0x16, 0x9b, 0x5e, 0x56, 0xa9, 0x67, 0x69, 0xb3, 0x61, 0x6e, 0x92, 0x11, 0x6, 0xf, 0x9b, 0x5e, 0x58, 0xac, 0x62, 0x69, 0xb3, 0x61, 0x6e, 0x93, 0xf, 0x16, 0x9b, 0x5e, 0x56, 0xa9, 0x67, 0x69, 0xb3, 0x61, 0x71, 0x8f, 0x11, 0x6, 0xf, 0x9b, 0x5e, 0x58, 0xac, 0x62, 0x69, 0xb3, 0x61, 0x6e, 0x93, 0xf, 0x16, 0xc6, 0x33, 0x56, 0xa9, 0x1, 0xd7, 0xb2, 0x4f, 0x45, 0x3b, 0x7, 0x2, 0x6, 0x3d, 0x4c, 0x53, 0xb2, 0x4e, 0x45, 0x3b, 0x6, 0x7, 0x3f, 0x4b, 0x1, 0xd2, 0xb2, 0x4f, 0x45, 0x3b, 0x7, 0x2, 0x6, 0x3d, 0x4c, 0x53, 0xb2, 0x4e, 0x45, 0x3b, 0x6, 0x7, 0x3f, 0x4b, 0x1, 0xd2, 0xb2, 0x4f, 0x45, 0x3b, 0x7, 0x2, 0x6, 0x3d, 0x4c, 0x53, 0xb2, 0x4e, 0x45, 0x3b, 0x6, 0x7, 0x3f, 0x4b, 0x0, 0x3, 0x0, 0xd9, 0x0, 0xb8, 0x5, 0xdb, 0x4, 0xc1, 0x0, 0x1a, 0x0, 0x1e, 0x0, 0x22, 0x0, 0x0, 0x13, 0x1e, 0x1, 0x33, 0x32, 0x3f, 0x2, 0x36, 0x33, 0x32, 0x16, 0x17, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x7, 0x6, 0xf, 0x1, 0x6, 0x23, 0x22, 0x26, 0x27, 0x1, 0x15, 0x21, 0x35, 0x1, 0x15, 0x21, 0x35, 0xd9, 0x67, 0xa9, 0x56, 0x5e, 0x9b, 0x16, 0xf, 0x93, 0x6e, 0x61, 0xb3, 0x69, 0x62, 0xac, 0x58, 0x5e, 0x9b, 0xf, 0x6, 0x11, 0x92, 0x6e, 0x61, 0xb3, 0x69, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x4, 0xc1, 0x55, 0x4b, 0x3f, 0x7, 0x6, 0x3b, 0x45, 0x4e, 0xb2, 0x53, 0x4c, 0x3d, 0x6, 0x2, 0x7, 0x3b, 0x45, 0x4f, 0xfe, 0xc8, 0xaa, 0xaa, 0xfe, 0x8b, 0xaa, 0xaa, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd8, 0x0, 0xd7, 0x5, 0xdb, 0x4, 0x2b, 0x0, 0x9, 0x0, 0x13, 0x0, 0x0, 0x1, 0x20, 0x25, 0x35, 0x4, 0x5, 0x20, 0x25, 0x15, 0x4, 0x5, 0x20, 0x5, 0x15, 0x24, 0x25, 0x4, 0x5, 0x35, 0x24, 0x3, 0x5b, 0xfe, 0xe1, 0xfe, 0x9c, 0x1, 0x67, 0x1, 0x1c, 0x1, 0x26, 0x1, 0x59, 0xfe, 0xa2, 0xfe, 0xe0, 0x1, 0x25, 0x1, 0x5a, 0xfe, 0xa3, 0xfe, 0xde, 0xfe, 0xe0, 0xfe, 0x9d, 0x1, 0x68, 0x2, 0xd3, 0xa6, 0xb2, 0x95, 0x11, 0xa6, 0xb2, 0x97, 0xb3, 0xa6, 0xb2, 0x97, 0xf, 0x2, 0xa4, 0xb2, 0x97, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0x0, 0x36, 0x5, 0xdb, 0x4, 0xce, 0x0, 0x1c, 0x0, 0x39, 0x0, 0x0, 0x25, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x21, 0x15, 0x21, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x21, 0x35, 0x21, 0x16, 0x17, 0x16, 0x17, 0x16, 0x13, 0x6, 0x7, 0x6, 0x7, 0x6, 0x7, 0x21, 0x35, 0x21, 0x36, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x21, 0x15, 0x21, 0x26, 0x27, 0x26, 0x27, 0x26, 0x3, 0x5b, 0x43, 0x2d, 0x38, 0x1e, 0x1b, 0x4, 0x1, 0x9b, 0xfe, 0xf6, 0xe, 0x1c, 0x37, 0x56, 0x59, 0xce, 0x59, 0x57, 0x36, 0x1e, 0xc, 0xfe, 0xf6, 0x1, 0x9c, 0x4, 0x1b, 0x1e, 0x38, 0x2e, 0x43, 0x43, 0x2e, 0x38, 0x1e, 0x1b, 0x4, 0xfe, 0x64, 0x1, 0xa, 0xc, 0x1e, 0x36, 0x57, 0x59, 0xce, 0x59, 0x56, 0x37, 0x1c, 0xe, 0x1, 0xa, 0xfe, 0x65, 0x4, 0x1b, 0x1e, 0x38, 0x2d, 0xd9, 0x4, 0x1e, 0x2c, 0x43, 0x45, 0x5b, 0xa8, 0x3c, 0x30, 0x5b, 0x32, 0x33, 0x33, 0x32, 0x5b, 0x33, 0x39, 0xa8, 0x5c, 0x44, 0x44, 0x2b, 0x1e, 0x3, 0x4e, 0x4, 0x1e, 0x2b, 0x44, 0x44, 0x5c, 0xa8, 0x39, 0x33, 0x5b, 0x32, 0x33, 0x33, 0x32, 0x5b, 0x30, 0x3c, 0xa8, 0x5b, 0x45, 0x43, 0x2c, 0x1e, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0x1, 0x60, 0x5, 0xdb, 0x4, 0xce, 0x0, 0x1c, 0x0, 0x20, 0x0, 0x0, 0x1, 0x6, 0x7, 0x6, 0x7, 0x6, 0x7, 0x21, 0x35, 0x21, 0x36, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x21, 0x15, 0x21, 0x26, 0x27, 0x26, 0x27, 0x26, 0x1, 0x21, 0x15, 0x21, 0x3, 0x5b, 0x43, 0x2e, 0x38, 0x1e, 0x1b, 0x4, 0xfe, 0x64, 0x1, 0xa, 0xc, 0x1e, 0x36, 0x57, 0x59, 0xce, 0x59, 0x56, 0x37, 0x1c, 0xe, 0x1, 0xa, 0xfe, 0x65, 0x4, 0x1b, 0x1e, 0x38, 0x2d, 0xfd, 0x3b, 0x5, 0x2, 0xfa, 0xfe, 0x4, 0x2b, 0x4, 0x1e, 0x2b, 0x44, 0x44, 0x5c, 0xa8, 0x39, 0x33, 0x5b, 0x32, 0x33, 0x33, 0x32, 0x5b, 0x30, 0x3c, 0xa8, 0x5b, 0x45, 0x43, 0x2c, 0x1e, 0xfd, 0xe3, 0xaa, 0x0, 0xff, 0xff, 0x0, 0xd9, 0x1, 0x60, 0x5, 0xdb, 0x4, 0xff, 0x10, 0x27, 0xd, 0x4a, 0x2, 0x15, 0x1, 0xb9, 0x10, 0x6, 0x0, 0x20, 0x0, 0x0, 0xff, 0xff, 0x0, 0xd9, 0x0, 0x2, 0x5, 0xdb, 0x4, 0xff, 0x10, 0x27, 0xd, 0x4a, 0x2, 0x13, 0xfd, 0xba, 0x10, 0x26, 0x0, 0x20, 0x0, 0x0, 0x10, 0x7, 0xd, 0x4a, 0x2, 0x14, 0x1, 0xb9, 0xff, 0xff, 0x0, 0xd9, 0x0, 0x5, 0x5, 0xde, 0x4, 0xff, 0x10, 0x27, 0xd, 0x4a, 0xff, 0xfe, 0x1, 0xb9, 0x10, 0x26, 0x0, 0x20, 0x0, 0x0, 0x10, 0x7, 0xd, 0x4a, 0x4, 0x30, 0xfd, 0xbd, 0xff, 0xff, 0x0, 0xd9, 0x0, 0x5, 0x5, 0xdd, 0x4, 0xff, 0x10, 0x27, 0xd, 0x4a, 0xff, 0xfe, 0xfd, 0xbd, 0x10, 0x26, 0x0, 0x20, 0x2, 0x0, 0x10, 0x7, 0xd, 0x4a, 0x4, 0x2e, 0x1, 0xb9, 0xff, 0xff, 0x0, 0xcf, 0x1, 0x36, 0x7, 0x32, 0x3, 0xcf, 0x10, 0x27, 0xd, 0x4a, 0xff, 0xf4, 0xfe, 0xee, 0x10, 0x27, 0xd, 0x4a, 0xff, 0xf4, 0x0, 0x89, 0x10, 0x7, 0x0, 0x20, 0x1, 0x57, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xcd, 0x1, 0x36, 0x7, 0x33, 0x3, 0xcc, 0x10, 0x26, 0x0, 0x20, 0xf4, 0x0, 0x10, 0x27, 0xd, 0x4a, 0x5, 0x85, 0x0, 0x86, 0x10, 0x7, 0xd, 0x4a, 0x5, 0x85, 0xfe, 0xee, 0x0, 0x2, 0x0, 0xd9, 0x1, 0x60, 0x5, 0xdb, 0x3, 0xa2, 0x0, 0x9, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x6, 0x15, 0x14, 0x17, 0x33, 0x36, 0x35, 0x34, 0x27, 0x17, 0x21, 0x15, 0x21, 0x35, 0x21, 0x26, 0x35, 0x34, 0x37, 0x21, 0x35, 0x21, 0x15, 0x21, 0x16, 0x17, 0x14, 0x2, 0xe6, 0x34, 0x34, 0xf2, 0x33, 0x34, 0x8d, 0x1, 0x77, 0xfa, 0xfe, 0x1, 0x7e, 0x19, 0x1b, 0xfe, 0x80, 0x5, 0x2, 0xfe, 0x89, 0x1a, 0x1, 0x2, 0xfa, 0x30, 0x49, 0x47, 0x30, 0x30, 0x47, 0x47, 0x32, 0xf0, 0xaa, 0xaa, 0x3f, 0x38, 0x3e, 0x3b, 0xa8, 0xa8, 0x1a, 0x5f, 0x38, 0x0, 0x0, 0x0, 0x4, 0x0, 0xd9, 0x1, 0x60, 0x5, 0xdb, 0x6, 0x15, 0x0, 0x3, 0x0, 0x7, 0x0, 0x11, 0x0, 0x20, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x32, 0x36, 0x34, 0x26, 0x27, 0x32, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0xd9, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x2, 0x85, 0x48, 0x64, 0x64, 0x91, 0x64, 0x65, 0x48, 0x3b, 0x6b, 0x27, 0x2a, 0x2a, 0xa8, 0x7a, 0x7b, 0xa4, 0xa7, 0x3, 0xa2, 0xa8, 0xf0, 0xaa, 0x4, 0x44, 0x62, 0x46, 0x45, 0x60, 0x60, 0x8b, 0x62, 0x71, 0x2b, 0x28, 0x28, 0x64, 0x3a, 0x73, 0xa1, 0x9e, 0x76, 0x76, 0xa3, 0x0, 0x0, 0x3, 0x0, 0xd9, 0x1, 0x60, 0x5, 0xdb, 0x5, 0x4b, 0x0, 0x3, 0x0, 0x7, 0x0, 0x11, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x1, 0x20, 0x17, 0x15, 0x26, 0x21, 0x6, 0x7, 0x35, 0x36, 0xd9, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x2, 0x82, 0x1, 0x0, 0xe1, 0xe0, 0xfe, 0xff, 0xfe, 0xe6, 0xe9, 0x3, 0xa2, 0xa8, 0xf0, 0xaa, 0x3, 0xeb, 0x97, 0xb2, 0x97, 0x2, 0x95, 0xb2, 0x97, 0x0, 0x0, 0x0, 0x3, 0x0, 0xd9, 0x1, 0x60, 0x5, 0xdb, 0x6, 0x7f, 0x0, 0x3, 0x0, 0x7, 0x0, 0xe, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x9, 0x1, 0x33, 0x1, 0x23, 0xb, 0x1, 0xd9, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x1, 0x24, 0x1, 0x4, 0xb4, 0x1, 0x3, 0x9f, 0xbe, 0xb8, 0x3, 0xa2, 0xa8, 0xf0, 0xaa, 0x2, 0x82, 0x2, 0x9d, 0xfd, 0x63, 0x1, 0xd9, 0xfe, 0x27, 0x0, 0x0, 0x3, 0x0, 0xd9, 0x1, 0x60, 0x5, 0xdb, 0x6, 0x7f, 0x0, 0x3, 0x0, 0x7, 0x0, 0xe, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x1, 0x33, 0x1b, 0x1, 0x33, 0x1, 0x23, 0xd9, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x1, 0x24, 0xa6, 0xb8, 0xbe, 0x9f, 0xfe, 0xfd, 0xb4, 0x3, 0xa2, 0xa8, 0xf0, 0xaa, 0x5, 0x1f, 0xfe, 0x27, 0x1, 0xd9, 0xfd, 0x63, 0x0, 0x3, 0x0, 0xd9, 0x1, 0x60, 0x5, 0xdb, 0x6, 0xca, 0x0, 0x3, 0x0, 0x7, 0x0, 0x11, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x13, 0x21, 0x1b, 0x1, 0x21, 0x7, 0x13, 0x27, 0x7, 0x13, 0xd9, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0xfa, 0x1, 0x2b, 0x5d, 0x5e, 0x1, 0x2a, 0xf2, 0x5e, 0xf4, 0xf3, 0x5d, 0x3, 0xa2, 0xa8, 0xf0, 0xaa, 0x4, 0x4e, 0x1, 0x1c, 0xfe, 0xe4, 0xb0, 0xfe, 0xe4, 0xb0, 0xb0, 0x1, 0x1c, 0x0, 0x0, 0x4, 0x0, 0xd9, 0x1, 0x60, 0x5, 0xdb, 0x6, 0xd4, 0x0, 0x3, 0x0, 0x7, 0x0, 0xa, 0x0, 0xe, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x1, 0x3, 0x21, 0x3, 0x33, 0x1, 0x21, 0xd9, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x2, 0x82, 0xa6, 0x1, 0x4e, 0xdf, 0x70, 0x1, 0x21, 0xfd, 0x4e, 0x3, 0xa2, 0xa8, 0xf0, 0xaa, 0x4, 0xc0, 0xfe, 0x4e, 0x2, 0x66, 0xfd, 0x1f, 0x0, 0x7, 0x0, 0xd9, 0x1, 0x60, 0x5, 0xdb, 0x6, 0x1c, 0x0, 0x3, 0x0, 0x7, 0x0, 0x1b, 0x0, 0x30, 0x0, 0x37, 0x0, 0x47, 0x0, 0x4f, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x1, 0x15, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x36, 0x33, 0x3, 0x15, 0x21, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x7, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x27, 0x35, 0x33, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x26, 0x34, 0x36, 0x33, 0x32, 0x16, 0x6, 0x14, 0x16, 0x32, 0x36, 0x34, 0x26, 0x22, 0xd9, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x4, 0xa4, 0x3f, 0x24, 0x1b, 0x6d, 0x6d, 0x43, 0x3f, 0x3f, 0x3f, 0x44, 0xed, 0xfe, 0xcf, 0x4e, 0x42, 0x26, 0x48, 0x23, 0x24, 0x4a, 0x27, 0x60, 0x71, 0x6b, 0x5b, 0x51, 0x5f, 0x43, 0x3c, 0x31, 0x37, 0x48, 0xc6, 0x42, 0x42, 0x15, 0x40, 0x2c, 0x49, 0x5c, 0x5c, 0x49, 0x2c, 0x40, 0xcd, 0x3c, 0x69, 0x3d, 0x3d, 0x69, 0x3, 0xa2, 0xa8, 0xf0, 0xaa, 0x4, 0xbc, 0x37, 0x1e, 0x24, 0x24, 0x33, 0xfe, 0xa0, 0x1, 0x60, 0x33, 0x1c, 0x44, 0x3d, 0xfe, 0xaa, 0x20, 0x44, 0x48, 0x13, 0x12, 0x3e, 0xf, 0x10, 0x70, 0x60, 0x63, 0x74, 0x69, 0x47, 0x36, 0x42, 0x3f, 0x39, 0x69, 0xda, 0xfd, 0xd0, 0x3d, 0x24, 0x23, 0x74, 0xbe, 0x75, 0x23, 0x67, 0x93, 0x53, 0x53, 0x93, 0x53, 0x0, 0x3, 0x0, 0xd9, 0x1, 0x60, 0x5, 0xdb, 0x6, 0x14, 0x0, 0x3, 0x0, 0x7, 0x0, 0x2a, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x1, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0xd9, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x2, 0x9f, 0x21, 0x5d, 0x3f, 0x55, 0x5c, 0x5a, 0x37, 0x39, 0x45, 0x50, 0x5a, 0x37, 0x3a, 0x44, 0x50, 0x5a, 0x5a, 0x1e, 0x56, 0x3a, 0x3b, 0x53, 0x3, 0xa2, 0xa8, 0xf0, 0xaa, 0x4, 0x3d, 0x3d, 0x3a, 0x78, 0x6f, 0xfe, 0xb5, 0x1, 0x48, 0x4f, 0x4d, 0x5d, 0x51, 0xfe, 0xca, 0x1, 0x48, 0x50, 0x4c, 0x5e, 0x50, 0xfe, 0xca, 0x2, 0x25, 0x55, 0x32, 0x30, 0x3d, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0xd9, 0x1, 0x60, 0x5, 0xdb, 0x6, 0xda, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x2c, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x1, 0x33, 0x15, 0x23, 0x37, 0x23, 0x35, 0x34, 0x36, 0x3f, 0x1, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0xf, 0x1, 0xe, 0x1, 0x7, 0xe, 0x1, 0x15, 0xd9, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x2, 0x34, 0x65, 0x65, 0x62, 0x5f, 0x1c, 0x2d, 0x2d, 0x1c, 0x1a, 0x42, 0x36, 0x27, 0x5a, 0x30, 0x2f, 0x60, 0x34, 0x5c, 0x6f, 0x24, 0x2d, 0x2c, 0x17, 0x14, 0x4, 0x3, 0x3, 0x3, 0xa2, 0xa8, 0xf0, 0xaa, 0x3, 0x1, 0x7f, 0xc8, 0x4e, 0x32, 0x41, 0x2b, 0x2c, 0x1b, 0x2f, 0x18, 0x2d, 0x37, 0x23, 0x21, 0x5e, 0x1c, 0x1c, 0x61, 0x4f, 0x26, 0x45, 0x2b, 0x2b, 0x17, 0x1b, 0xd, 0xa, 0x1e, 0x1a, 0x0, 0x0, 0x1, 0x0, 0xd9, 0x0, 0x27, 0x5, 0xdb, 0x4, 0xdd, 0x0, 0x13, 0x0, 0x3e, 0x40, 0x22, 0xd, 0xc, 0xa, 0x3, 0x2, 0xcf, 0x4, 0x0, 0x9c, 0x6, 0xc, 0xcf, 0xe, 0xa, 0x9c, 0x12, 0x6, 0x10, 0x8, 0x14, 0x12, 0xe, 0xd, 0xc, 0x8, 0x4, 0x3, 0x2, 0x8, 0x9, 0x5, 0xf, 0x0, 0x14, 0x10, 0xdc, 0x3c, 0xc4, 0x32, 0x17, 0x39, 0x31, 0x0, 0x10, 0xd4, 0x3c, 0xcc, 0x32, 0xfc, 0x3c, 0xec, 0x10, 0xfe, 0x3c, 0xec, 0x39, 0x11, 0x12, 0x39, 0x30, 0x13, 0x21, 0x1, 0x17, 0x7, 0x21, 0x15, 0x21, 0x7, 0x21, 0x15, 0x21, 0x1, 0x27, 0x37, 0x21, 0x35, 0x21, 0x37, 0x21, 0xd9, 0x3, 0x4, 0x1, 0x0, 0x7d, 0xae, 0x1, 0x2f, 0xfe, 0x48, 0xc3, 0x2, 0x7b, 0xfc, 0xfa, 0xfe, 0xfe, 0x7d, 0xae, 0xfe, 0xd5, 0x1, 0xb6, 0xc3, 0xfd, 0x87, 0x3, 0xa2, 0x1, 0x3b, 0x66, 0xd5, 0xa8, 0xf0, 0xaa, 0xfe, 0xc7, 0x66, 0xd3, 0xaa, 0xf0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xd9, 0x0, 0xb8, 0x5, 0xdb, 0x4, 0x4c, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x21, 0x40, 0xe, 0x4, 0x6, 0x0, 0x2, 0x8, 0xa, 0xc, 0xa, 0x6, 0x2, 0x8, 0x4, 0x0, 0xc, 0x10, 0xdc, 0x3c, 0x3c, 0xdc, 0x3c, 0x3c, 0x31, 0x0, 0x10, 0xd4, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0x30, 0x13, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0xd9, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x2, 0xd7, 0xaa, 0x2, 0x1f, 0xaa, 0xfd, 0xc0, 0xaa, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd9, 0xff, 0xce, 0x5, 0xdb, 0x5, 0x34, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x21, 0x35, 0x21, 0x37, 0x17, 0x7, 0x21, 0x15, 0x21, 0x7, 0x21, 0x15, 0x21, 0x7, 0x21, 0x15, 0x21, 0x7, 0x27, 0x37, 0x21, 0x35, 0x21, 0x37, 0x21, 0x35, 0x21, 0x3, 0x95, 0xfd, 0x44, 0x3, 0x18, 0x80, 0x99, 0x51, 0x1, 0x22, 0xfe, 0x81, 0x72, 0x1, 0xf1, 0xfd, 0xb5, 0x6e, 0x2, 0xb9, 0xfc, 0xe9, 0x81, 0x99, 0x52, 0xfe, 0xdd, 0x1, 0x81, 0x6f, 0xfe, 0x10, 0x2, 0x4c, 0x3, 0xa2, 0xaa, 0xe8, 0x54, 0x94, 0xaa, 0xcb, 0xaa, 0xcb, 0xaa, 0xea, 0x54, 0x96, 0xaa, 0xcb, 0xaa, 0x0, 0x0, 0x0, 0x4, 0x0, 0xd9, 0x0, 0x0, 0x5, 0xdb, 0x5, 0x9, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x29, 0x40, 0x14, 0x4, 0x6, 0x0, 0x2, 0xc, 0xe, 0x8, 0xa, 0x10, 0xe, 0xa, 0x6, 0x3, 0x2, 0xc, 0x8, 0x4, 0x3, 0x0, 0x10, 0x10, 0xdc, 0x17, 0x3c, 0xdc, 0x17, 0x3c, 0x31, 0x0, 0x10, 0xd4, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0x30, 0x13, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0xd9, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x3, 0x94, 0xaa, 0x2, 0x1f, 0xaa, 0xfc, 0x4b, 0xaa, 0x2, 0x1f, 0xaa, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0x0, 0x0, 0x5, 0xdb, 0x4, 0xa8, 0x0, 0x6, 0x0, 0xa, 0x0, 0x54, 0x40, 0x2e, 0x2, 0x9c, 0x3, 0x4, 0x3, 0x1, 0x9c, 0x0, 0x1, 0x4, 0x4, 0x3, 0x1, 0x9c, 0x2, 0x1, 0x5, 0x6, 0x5, 0x0, 0x9c, 0x6, 0x5, 0x42, 0x5, 0x4, 0x2, 0x1, 0x0, 0x5, 0x3, 0xd1, 0x6, 0xa7, 0x7, 0x9c, 0x9, 0x1, 0x8, 0x2, 0x0, 0x24, 0x7, 0x4, 0x23, 0xb, 0x10, 0xfc, 0x3c, 0xec, 0x32, 0x32, 0x39, 0x31, 0x0, 0x2f, 0xec, 0xf4, 0xec, 0x17, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x4, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x4, 0xed, 0x59, 0x22, 0x9, 0x2, 0x15, 0x1, 0x35, 0x9, 0x1, 0x21, 0x15, 0x21, 0x5, 0xdb, 0xfc, 0x40, 0x3, 0xc0, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x3, 0xf8, 0xfe, 0xeb, 0xfe, 0xee, 0xb2, 0x1, 0x70, 0xaa, 0x1, 0x6f, 0xfc, 0x2, 0xaa, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0x0, 0x0, 0x5, 0xdb, 0x4, 0xa8, 0x0, 0x6, 0x0, 0xa, 0x0, 0x56, 0x40, 0x2f, 0x6, 0x9c, 0x0, 0x6, 0x3, 0x4, 0x3, 0x5, 0x9c, 0x4, 0x4, 0x3, 0x0, 0x9c, 0x1, 0x2, 0x1, 0x6, 0x9c, 0x5, 0x6, 0x2, 0x2, 0x1, 0x42, 0x6, 0x5, 0x3, 0x2, 0x0, 0x5, 0x4, 0xd1, 0x1, 0xa7, 0x7, 0x9c, 0x8, 0x6, 0x7, 0x2, 0x24, 0x9, 0x4, 0x0, 0x23, 0xb, 0x10, 0xfc, 0x3c, 0x3c, 0xec, 0x32, 0x39, 0x31, 0x0, 0x2f, 0xec, 0xf4, 0xec, 0x17, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x8, 0xed, 0x7, 0x10, 0x4, 0xed, 0x7, 0x10, 0x4, 0xed, 0x7, 0x10, 0x8, 0xed, 0x59, 0x22, 0x13, 0x35, 0x1, 0x15, 0x1, 0x35, 0x9, 0x1, 0x15, 0x21, 0x35, 0xd9, 0x5, 0x2, 0xfa, 0xfe, 0x3, 0xc1, 0x1, 0x41, 0xfa, 0xfe, 0x3, 0xf8, 0xb0, 0xfe, 0x91, 0xaa, 0xfe, 0x90, 0xb2, 0x1, 0x12, 0xfd, 0xc7, 0xaa, 0xaa, 0x0, 0x0, 0x3, 0x0, 0xda, 0xff, 0x56, 0x5, 0xdc, 0x5, 0x1b, 0x0, 0x3, 0x0, 0xa, 0x0, 0xe, 0x0, 0x0, 0x33, 0x21, 0x15, 0x21, 0x9, 0x2, 0x15, 0x1, 0x35, 0x9, 0x1, 0x21, 0x15, 0x21, 0xda, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfc, 0x40, 0x3, 0xc0, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0xaa, 0x5, 0x15, 0xfe, 0xeb, 0xfe, 0xee, 0xb2, 0x1, 0x70, 0xaa, 0x1, 0x6f, 0xfc, 0x2, 0xaa, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xda, 0xff, 0x56, 0x5, 0xdc, 0x5, 0x1b, 0x0, 0x3, 0x0, 0xa, 0x0, 0xe, 0x0, 0x0, 0x21, 0x15, 0x21, 0x35, 0x11, 0x35, 0x1, 0x15, 0x1, 0x35, 0x9, 0x1, 0x15, 0x21, 0x35, 0x5, 0xdc, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x3, 0xc0, 0x1, 0x42, 0xfa, 0xfe, 0xaa, 0xaa, 0x4, 0x6b, 0xb0, 0xfe, 0x91, 0xaa, 0xfe, 0x90, 0xb2, 0x1, 0x12, 0xfd, 0xc7, 0xaa, 0xaa, 0x0, 0x2, 0x0, 0xda, 0xfe, 0xb1, 0x5, 0xdc, 0x5, 0x1b, 0x0, 0x13, 0x0, 0x1a, 0x0, 0x0, 0x5, 0x21, 0x35, 0x21, 0x37, 0x21, 0x35, 0x21, 0x37, 0x17, 0x7, 0x21, 0x15, 0x21, 0x7, 0x21, 0x15, 0x21, 0x7, 0x27, 0x9, 0x2, 0x15, 0x1, 0x35, 0x1, 0x2, 0x27, 0xfe, 0xb3, 0x1, 0xda, 0x60, 0xfd, 0xc6, 0x2, 0xc8, 0x89, 0x8a, 0x29, 0x1, 0x50, 0xfe, 0x22, 0x5f, 0x2, 0x3d, 0xfd, 0x36, 0x8a, 0x8a, 0x3, 0xde, 0xfc, 0x40, 0x3, 0xc0, 0xfa, 0xfe, 0x5, 0x2, 0xaa, 0xaa, 0x73, 0xaa, 0xa4, 0x73, 0x31, 0xaa, 0x73, 0xaa, 0xa5, 0x74, 0x5, 0x46, 0xfe, 0xeb, 0xfe, 0xee, 0xb2, 0x1, 0x70, 0xaa, 0x1, 0x6f, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xda, 0xfe, 0xb1, 0x5, 0xdc, 0x5, 0x1b, 0x0, 0x13, 0x0, 0x1a, 0x0, 0x0, 0x5, 0x21, 0x35, 0x21, 0x37, 0x21, 0x35, 0x21, 0x37, 0x17, 0x7, 0x21, 0x15, 0x21, 0x7, 0x21, 0x15, 0x21, 0x7, 0x27, 0x1, 0x35, 0x1, 0x15, 0x1, 0x35, 0x1, 0x2, 0x27, 0xfe, 0xb3, 0x1, 0xda, 0x60, 0xfd, 0xc6, 0x2, 0xc8, 0x89, 0x8a, 0x29, 0x1, 0x50, 0xfe, 0x22, 0x5f, 0x2, 0x3d, 0xfd, 0x36, 0x8a, 0x8a, 0xfe, 0xdc, 0x5, 0x2, 0xfa, 0xfe, 0x3, 0xc0, 0xaa, 0xaa, 0x73, 0xaa, 0xa4, 0x73, 0x31, 0xaa, 0x73, 0xaa, 0xa5, 0x74, 0x5, 0x46, 0xb0, 0xfe, 0x91, 0xaa, 0xfe, 0x90, 0xb2, 0x1, 0x12, 0x0, 0x0, 0x2, 0x0, 0x94, 0x0, 0x2e, 0x7, 0xcc, 0x4, 0xdf, 0x0, 0x6, 0x0, 0xd, 0x0, 0x0, 0x9, 0x2, 0x15, 0x1, 0x35, 0x1, 0x5, 0x9, 0x1, 0x15, 0x1, 0x35, 0x1, 0x7, 0xcc, 0xfc, 0xc6, 0x3, 0x3a, 0xfb, 0xca, 0x4, 0x36, 0xfc, 0xfe, 0xfc, 0xc6, 0x3, 0x3a, 0xfb, 0xca, 0x4, 0x36, 0x4, 0x11, 0xfe, 0x70, 0xfe, 0x72, 0xc5, 0x2, 0x8, 0x9f, 0x2, 0xa, 0xce, 0xfe, 0x70, 0xfe, 0x72, 0xc5, 0x2, 0x8, 0x9f, 0x2, 0xa, 0x0, 0x2, 0x0, 0x94, 0x0, 0x2e, 0x7, 0xcc, 0x4, 0xdf, 0x0, 0x6, 0x0, 0xd, 0x0, 0x0, 0x13, 0x35, 0x1, 0x15, 0x1, 0x35, 0x1, 0x3, 0x35, 0x1, 0x15, 0x1, 0x35, 0x1, 0x94, 0x4, 0x36, 0xfb, 0xca, 0x3, 0x3a, 0x38, 0x4, 0x36, 0xfb, 0xca, 0x3, 0x3a, 0x4, 0x11, 0xce, 0xfd, 0xf6, 0x9f, 0xfd, 0xf8, 0xc5, 0x1, 0x8e, 0x1, 0x90, 0xce, 0xfd, 0xf6, 0x9f, 0xfd, 0xf8, 0xc5, 0x1, 0x8e, 0x0, 0x0, 0x0, 0x2, 0x0, 0xb0, 0xfe, 0xf2, 0x3, 0x6, 0x6, 0x12, 0x0, 0x19, 0x0, 0x27, 0x0, 0x0, 0x1, 0x6, 0x7, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x16, 0x17, 0x21, 0x36, 0x37, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x26, 0x27, 0x13, 0x36, 0x37, 0x36, 0x10, 0x27, 0x26, 0x27, 0x6, 0x7, 0x6, 0x10, 0x17, 0x16, 0x2, 0x7b, 0x29, 0x23, 0x59, 0x34, 0x4a, 0x4a, 0x34, 0x59, 0x23, 0x29, 0xfe, 0xc0, 0x29, 0x23, 0x59, 0x34, 0x4a, 0x4a, 0x34, 0x59, 0x23, 0x29, 0xa0, 0x16, 0x11, 0x41, 0x41, 0x11, 0x16, 0x16, 0x11, 0x41, 0x41, 0x11, 0x6, 0x12, 0x47, 0x46, 0xa3, 0x9e, 0xe2, 0xdf, 0xe0, 0xe3, 0x9e, 0xa2, 0x47, 0x47, 0x47, 0x47, 0xa2, 0x9e, 0xe3, 0xe0, 0xdf, 0xe2, 0x9e, 0xa3, 0x46, 0x47, 0xfa, 0x32, 0x3b, 0x3b, 0xe2, 0x1, 0xce, 0xe1, 0x3b, 0x3c, 0x3c, 0x3b, 0xe1, 0xfe, 0x32, 0xe2, 0x3b, 0x0, 0x0, 0x1, 0x0, 0xd8, 0x0, 0x1a, 0x5, 0xdc, 0x4, 0xe8, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x6, 0x7, 0x35, 0x24, 0x3f, 0x1, 0x24, 0x25, 0x35, 0x4, 0x25, 0x13, 0x17, 0x7, 0x36, 0x37, 0x15, 0x4, 0xf, 0x1, 0x4, 0x5, 0x15, 0x24, 0x5, 0x3, 0x27, 0x2, 0x57, 0xb4, 0xc9, 0x1, 0x9, 0xdf, 0x65, 0xfe, 0xf6, 0xfe, 0xbb, 0x1, 0xb2, 0x1, 0x0, 0xc4, 0x94, 0x87, 0xb7, 0xc8, 0xfe, 0xfb, 0xe4, 0x64, 0x1, 0x10, 0x1, 0x3f, 0xfe, 0x4e, 0xff, 0x0, 0xc4, 0x94, 0x1, 0x5d, 0x29, 0x5d, 0xb2, 0x6f, 0x26, 0xb6, 0xe, 0x97, 0xb2, 0xaf, 0xa, 0x1, 0x62, 0x52, 0xf4, 0x29, 0x60, 0xb2, 0x71, 0x25, 0xb5, 0xd, 0x98, 0xb2, 0xaf, 0xb, 0xfe, 0x9f, 0x52, 0x0, 0x2, 0x0, 0xd9, 0x0, 0x5, 0x5, 0xdb, 0x5, 0x64, 0x0, 0xf, 0x0, 0x12, 0x0, 0x0, 0x1, 0x5, 0x15, 0x25, 0x3, 0x27, 0x13, 0x25, 0x35, 0x1, 0x13, 0x17, 0x7, 0x25, 0x15, 0x5, 0x7, 0xd, 0x1, 0x3, 0x9d, 0x2, 0x3e, 0xfd, 0x7a, 0x99, 0x87, 0x93, 0xfe, 0x11, 0x3, 0x1b, 0xad, 0x88, 0x6d, 0x1, 0x1f, 0xfe, 0x7a, 0xc8, 0xfe, 0x46, 0x1, 0x3c, 0x1, 0xdf, 0xcb, 0xb6, 0xea, 0xfe, 0xbd, 0x40, 0x1, 0x36, 0xb4, 0xa6, 0x1, 0x20, 0x1, 0x6f, 0x40, 0xe6, 0x68, 0xb6, 0x8b, 0x47, 0x9d, 0x70, 0x0, 0x2, 0x0, 0xd9, 0xff, 0xa0, 0x5, 0xdb, 0x4, 0xff, 0x0, 0xf, 0x0, 0x12, 0x0, 0x0, 0x1, 0x25, 0x35, 0x5, 0x13, 0x17, 0x3, 0x5, 0x15, 0x1, 0x3, 0x27, 0x37, 0x5, 0x35, 0x25, 0x37, 0x2d, 0x1, 0x3, 0x17, 0xfd, 0xc2, 0x2, 0x86, 0x99, 0x87, 0x93, 0x1, 0xef, 0xfc, 0xe5, 0xad, 0x88, 0x6d, 0xfe, 0xe1, 0x1, 0x86, 0xc8, 0x1, 0xba, 0xfe, 0xc4, 0x3, 0x25, 0xcb, 0xb6, 0xea, 0x1, 0x43, 0x40, 0xfe, 0xca, 0xb4, 0xa6, 0xfe, 0xe0, 0xfe, 0x91, 0x40, 0xe6, 0x68, 0xb6, 0x8b, 0x47, 0x9d, 0x70, 0x0, 0x2, 0x0, 0xd9, 0xff, 0x2f, 0x5, 0xdb, 0x5, 0x56, 0x0, 0x2, 0x0, 0x1a, 0x0, 0x0, 0x1, 0xd, 0x1, 0x3, 0x21, 0x35, 0x21, 0x13, 0x25, 0x35, 0x25, 0x13, 0x17, 0x7, 0x25, 0x15, 0x5, 0x3, 0x5, 0x15, 0x25, 0x3, 0x21, 0x15, 0x21, 0x7, 0x27, 0x3, 0x92, 0xfe, 0x89, 0x1, 0x2f, 0xf4, 0xfe, 0x83, 0x1, 0xbd, 0x78, 0xfd, 0xcb, 0x3, 0x3, 0x76, 0xa4, 0x48, 0x1, 0x2d, 0xfe, 0x89, 0x72, 0x1, 0xe9, 0xfd, 0xdb, 0x66, 0x2, 0x8b, 0xfd, 0x35, 0x4c, 0xa4, 0x3, 0x4f, 0x6c, 0x55, 0xfd, 0x72, 0xaa, 0x1, 0x43, 0xa2, 0xaa, 0xdd, 0x1, 0x40, 0x3d, 0xc7, 0x56, 0xb0, 0x6c, 0xfe, 0xd1, 0x8c, 0xb2, 0x9e, 0xfe, 0xed, 0xaa, 0xd1, 0x3d, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xff, 0x2f, 0x5, 0xdb, 0x5, 0x56, 0x0, 0x2, 0x0, 0x1a, 0x0, 0x0, 0x1, 0x25, 0x27, 0x1, 0x21, 0x35, 0x21, 0x37, 0x5, 0x35, 0x25, 0x37, 0x25, 0x35, 0x5, 0x13, 0x17, 0x3, 0x5, 0x15, 0x5, 0x3, 0x21, 0x15, 0x21, 0x7, 0x27, 0x3, 0x91, 0x1, 0x9, 0xd6, 0xfe, 0x1d, 0xfe, 0xf8, 0x1, 0x47, 0x57, 0xfe, 0x62, 0x1, 0xe8, 0x5b, 0xfd, 0xbd, 0x2, 0x7f, 0x84, 0xa4, 0x7f, 0x1, 0xda, 0xfd, 0x6d, 0x6d, 0x3, 0x0, 0xfc, 0xc1, 0x4e, 0xa4, 0x2, 0x97, 0x4c, 0x3e, 0xfc, 0xdf, 0xaa, 0xec, 0x77, 0xb2, 0x8b, 0xf5, 0xa7, 0xb0, 0xb7, 0x1, 0x65, 0x3d, 0xfe, 0xa8, 0x88, 0xaa, 0xbd, 0xfe, 0xd8, 0xaa, 0xd1, 0x3d, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xff, 0x90, 0x5, 0xdc, 0x4, 0xa8, 0x0, 0x1d, 0x0, 0x24, 0x0, 0x0, 0x25, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x13, 0x9, 0x1, 0x15, 0x1, 0x35, 0x1, 0x5, 0xdc, 0x6a, 0xb2, 0x62, 0x6e, 0x92, 0xa, 0x6, 0x6, 0x10, 0x9a, 0x5e, 0x58, 0xac, 0x62, 0x68, 0xb4, 0x60, 0x6e, 0x94, 0xa, 0x6, 0x6, 0xe, 0x9c, 0x5e, 0x56, 0xa8, 0x67, 0xfc, 0x40, 0x3, 0xc0, 0xfa, 0xfe, 0x5, 0x2, 0xf0, 0xb4, 0x4e, 0x44, 0x3a, 0x4, 0x4, 0x2, 0x6, 0x3c, 0x4c, 0x54, 0xb4, 0x4e, 0x44, 0x3a, 0x6, 0x2, 0x2, 0x6, 0x3c, 0x4a, 0x3, 0x5e, 0xfe, 0xeb, 0xfe, 0xee, 0xb2, 0x1, 0x70, 0xaa, 0x1, 0x6f, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xda, 0xff, 0xb0, 0x5, 0xdc, 0x4, 0xa8, 0x0, 0x1b, 0x0, 0x22, 0x0, 0x0, 0x1, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x2e, 0x1, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x1e, 0x1, 0x17, 0x16, 0x33, 0x32, 0x36, 0x1, 0x35, 0x1, 0x15, 0x1, 0x35, 0x1, 0x5, 0xdc, 0x6a, 0xb2, 0x62, 0x6e, 0x92, 0xa, 0xc, 0x10, 0x9a, 0x5e, 0x58, 0xac, 0x62, 0x68, 0xb4, 0x60, 0x6e, 0x94, 0xa, 0xc, 0xe, 0x9c, 0x5e, 0x56, 0xa8, 0xfb, 0x66, 0x5, 0x2, 0xfa, 0xfe, 0x3, 0xc1, 0x1, 0xe, 0xb2, 0x4e, 0x46, 0x3c, 0x4, 0x4, 0x6, 0x3e, 0x4c, 0x54, 0xb2, 0x4e, 0x46, 0x3c, 0x4, 0x4, 0x6, 0x3e, 0x4c, 0x3, 0x3e, 0xb0, 0xfe, 0x91, 0xaa, 0xfe, 0x90, 0xb2, 0x1, 0x12, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xff, 0x29, 0x5, 0xdc, 0x5, 0x50, 0x0, 0x31, 0x0, 0x34, 0x0, 0x0, 0x25, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x13, 0x25, 0x35, 0x25, 0x13, 0x17, 0x7, 0x25, 0x15, 0x5, 0x3, 0x5, 0x15, 0x25, 0x3, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x2f, 0x1, 0x7, 0x27, 0x1, 0xd, 0x1, 0x2, 0x6b, 0x1e, 0xd, 0x58, 0xac, 0x62, 0x68, 0xb4, 0x60, 0x27, 0x2b, 0x6b, 0xfd, 0xc6, 0x3, 0x8, 0x75, 0xa5, 0x45, 0x1, 0x25, 0xfe, 0x8f, 0x73, 0x1, 0xe4, 0xfd, 0xe1, 0x6b, 0x7, 0xa, 0x6, 0x6, 0xe, 0x9c, 0x5e, 0x56, 0xa8, 0x68, 0x6a, 0xb2, 0x62, 0x6e, 0x92, 0xa, 0x6, 0x6, 0x10, 0x22, 0x50, 0xa5, 0x1, 0x76, 0xfe, 0x84, 0x1, 0x31, 0x2d, 0x3, 0x4c, 0x54, 0xb4, 0x4e, 0x44, 0x7, 0x1, 0x1d, 0xa3, 0xaa, 0xde, 0x1, 0x39, 0x41, 0xbb, 0x54, 0xb0, 0x6a, 0xfe, 0xcd, 0x8a, 0xb2, 0x9c, 0xfe, 0xe3, 0x2, 0x6, 0x2, 0x2, 0x6, 0x3c, 0x4a, 0x56, 0xb4, 0x4e, 0x44, 0x3a, 0x4, 0x4, 0x2, 0x6, 0xd, 0xd8, 0x3c, 0x3, 0xec, 0x6e, 0x57, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xff, 0x2f, 0x5, 0xdc, 0x5, 0x56, 0x0, 0x31, 0x0, 0x34, 0x0, 0x0, 0x1, 0x5, 0x15, 0x5, 0x7, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x3, 0x27, 0x37, 0x6, 0x7, 0x6, 0x7, 0x35, 0x36, 0x37, 0x36, 0x3f, 0x1, 0x5, 0x35, 0x25, 0x37, 0x25, 0x35, 0x5, 0x13, 0x17, 0x3, 0x25, 0x27, 0x4, 0x8, 0x1, 0xd3, 0xfd, 0x75, 0x5e, 0x30, 0x36, 0xa, 0x6, 0x6, 0xe, 0x9c, 0x5e, 0x56, 0xa8, 0x68, 0x6a, 0xb2, 0x62, 0x6e, 0x92, 0xa, 0x6, 0x6, 0x10, 0x47, 0x3b, 0x68, 0xa4, 0x56, 0x38, 0x36, 0x56, 0x62, 0x68, 0x5a, 0x4d, 0x53, 0x3c, 0xfe, 0x61, 0x1, 0xe9, 0x5e, 0xfd, 0xb9, 0x2, 0x83, 0x80, 0xa4, 0xe8, 0x1, 0x2, 0xce, 0x3, 0xbf, 0x86, 0xaa, 0xbb, 0xf7, 0xd, 0x16, 0x4, 0x2, 0x2, 0x6, 0x3e, 0x4c, 0x54, 0xb2, 0x4e, 0x46, 0x3c, 0x4, 0x2, 0x2, 0x6, 0x1d, 0xf, 0xfe, 0xf1, 0x3d, 0xdf, 0x9, 0x18, 0x26, 0x54, 0xb2, 0x4e, 0x23, 0x1e, 0x4, 0xa1, 0x77, 0xb2, 0x8b, 0xf4, 0xa8, 0xb0, 0xb8, 0x1, 0x66, 0x3d, 0xfd, 0x80, 0x4a, 0x3b, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd0, 0xff, 0x4e, 0x5, 0xdc, 0x5, 0x7d, 0x0, 0x6, 0x0, 0xd, 0x0, 0x0, 0x13, 0x35, 0x1, 0x15, 0x1, 0x35, 0x9, 0x3, 0x15, 0x1, 0x35, 0x1, 0xda, 0x5, 0x2, 0xfa, 0xfe, 0x3, 0xc0, 0x1, 0x38, 0xfc, 0x40, 0x3, 0xc0, 0xfa, 0xfe, 0x5, 0x2, 0x2, 0x27, 0xb0, 0xfe, 0x91, 0xaa, 0xfe, 0x90, 0xb2, 0x1, 0x12, 0x3, 0xbb, 0xfe, 0xeb, 0xfe, 0xee, 0xb2, 0x1, 0x70, 0xaa, 0x1, 0x6f, 0x0, 0x2, 0x0, 0xd0, 0xff, 0x4e, 0x5, 0xdc, 0x5, 0x7d, 0x0, 0x6, 0x0, 0xd, 0x0, 0x0, 0x9, 0x2, 0x15, 0x1, 0x35, 0x9, 0x1, 0x35, 0x1, 0x15, 0x1, 0x35, 0x1, 0x5, 0xd2, 0xfc, 0x40, 0x3, 0xc0, 0xfa, 0xfe, 0x5, 0x2, 0xfb, 0x8, 0x5, 0x2, 0xfa, 0xfe, 0x3, 0xc0, 0x2, 0x27, 0xfe, 0xeb, 0xfe, 0xee, 0xb2, 0x1, 0x70, 0xaa, 0x1, 0x6f, 0x1, 0xf6, 0xb0, 0xfe, 0x91, 0xaa, 0xfe, 0x90, 0xb2, 0x1, 0x12, 0x0, 0x0, 0x0, 0x3, 0x0, 0xd0, 0xfe, 0x6d, 0x5, 0xdc, 0x6, 0x60, 0x0, 0x2, 0x0, 0x1e, 0x0, 0x21, 0x0, 0x0, 0x2d, 0x2, 0x3, 0x25, 0x35, 0x25, 0x13, 0x17, 0x3, 0x25, 0x15, 0x5, 0x3, 0x5, 0x15, 0x25, 0x7, 0x5, 0x15, 0x5, 0x3, 0x27, 0x13, 0x5, 0x35, 0x25, 0x13, 0x25, 0x35, 0x5, 0x13, 0xd, 0x1, 0x3, 0x4d, 0x1, 0x4d, 0xfe, 0xdc, 0x60, 0xfd, 0xba, 0x2, 0xc2, 0x5a, 0xa6, 0x44, 0x1, 0x84, 0xfe, 0x4f, 0x41, 0x1, 0xf2, 0xfd, 0xe8, 0x1e, 0x2, 0x40, 0xfd, 0x46, 0x5a, 0xa6, 0x44, 0xfe, 0x74, 0x1, 0xb8, 0x40, 0xfe, 0x8, 0x2, 0x1f, 0x6d, 0xfe, 0xac, 0x1, 0x2a, 0xb3, 0x5f, 0x54, 0x1, 0x57, 0xa7, 0xaa, 0xca, 0x1, 0x88, 0x26, 0xfe, 0xd4, 0x6f, 0xb0, 0x7d, 0xfe, 0xe4, 0x8e, 0xb2, 0x9a, 0x81, 0xa5, 0xaa, 0xc8, 0xfe, 0x77, 0x26, 0x1, 0x2d, 0x72, 0xb2, 0x7e, 0x1, 0x18, 0x91, 0xb0, 0x9b, 0x1, 0xde, 0x62, 0x55, 0x0, 0x0, 0x0, 0x3, 0x0, 0xd0, 0xfe, 0x6d, 0x5, 0xdc, 0x6, 0x60, 0x0, 0x2, 0x0, 0x5, 0x0, 0x21, 0x0, 0x0, 0x1, 0x7, 0x17, 0x1, 0x37, 0x2f, 0x1, 0x25, 0x35, 0x5, 0x13, 0x17, 0x3, 0x5, 0x15, 0x5, 0x7, 0x25, 0x15, 0x5, 0x7, 0x5, 0x15, 0x25, 0x3, 0x27, 0x13, 0x25, 0x35, 0x25, 0x37, 0x5, 0x35, 0x25, 0x2, 0xc0, 0xae, 0x98, 0x1, 0x4a, 0xa6, 0x92, 0xa4, 0xfd, 0x76, 0x2, 0xb1, 0x61, 0xa6, 0x64, 0x1, 0xae, 0xfd, 0xec, 0x22, 0x2, 0x2c, 0xfd, 0xa9, 0x2c, 0x2, 0x83, 0xfd, 0x56, 0x60, 0xa6, 0x62, 0xfe, 0x4c, 0x2, 0x1c, 0x22, 0xfd, 0xcc, 0x2, 0x5f, 0x1, 0x44, 0x32, 0x2c, 0x2, 0xa3, 0x2f, 0x2a, 0x2f, 0xbc, 0xb0, 0xc5, 0x1, 0xa8, 0x26, 0xfe, 0x4f, 0x7b, 0xaa, 0x98, 0x94, 0x9f, 0xb0, 0xad, 0xc2, 0xb8, 0xb2, 0xc4, 0xfe, 0x5b, 0x26, 0x1, 0xae, 0x7d, 0xaa, 0x9a, 0x94, 0xa2, 0xb2, 0xad, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd9, 0xff, 0xb2, 0x5, 0xdb, 0x5, 0x50, 0x0, 0xa, 0x0, 0x0, 0x1, 0x0, 0x5, 0x4, 0x1, 0x15, 0x0, 0x25, 0x35, 0x24, 0x1, 0x5, 0xdb, 0xfe, 0x72, 0xfd, 0xf3, 0x2, 0x9, 0x1, 0x92, 0xfe, 0x6f, 0xfc, 0x8f, 0x3, 0x73, 0x1, 0x8f, 0x4, 0x61, 0xfe, 0x81, 0x61, 0x5e, 0xfe, 0x7e, 0xef, 0x2, 0x0, 0x7c, 0xa6, 0x7c, 0x2, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd9, 0xff, 0xb2, 0x5, 0xdb, 0x5, 0x50, 0x0, 0xa, 0x0, 0x0, 0x13, 0x35, 0x0, 0x5, 0x15, 0x4, 0x1, 0x35, 0x0, 0x25, 0x24, 0xd9, 0x1, 0x8f, 0x3, 0x73, 0xfc, 0x8f, 0xfe, 0x6f, 0x1, 0x92, 0x2, 0x9, 0xfd, 0xf3, 0x4, 0x61, 0xef, 0xfe, 0x0, 0x7c, 0xa6, 0x7c, 0xfe, 0x0, 0xef, 0x1, 0x82, 0x5e, 0x61, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xff, 0x29, 0x5, 0xdb, 0x5, 0x57, 0x0, 0x5, 0x0, 0x10, 0x0, 0x0, 0x21, 0x15, 0x0, 0x25, 0x35, 0x4, 0x1, 0x0, 0x5, 0x4, 0x1, 0x15, 0x0, 0x25, 0x35, 0x24, 0x1, 0x5, 0xdb, 0xfe, 0x67, 0xfc, 0x97, 0x3, 0x56, 0x1, 0xac, 0xfe, 0x81, 0xfe, 0x24, 0x1, 0xdc, 0x1, 0x7f, 0xfe, 0x81, 0xfc, 0x7d, 0x3, 0x83, 0x1, 0x7f, 0xd7, 0x1, 0xbe, 0x91, 0xae, 0x85, 0x2, 0xdf, 0xfe, 0xe5, 0x5d, 0x5d, 0xfe, 0xe5, 0xd7, 0x1, 0x78, 0x84, 0xa6, 0x7c, 0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xff, 0x29, 0x5, 0xdb, 0x5, 0x57, 0x0, 0x5, 0x0, 0x10, 0x0, 0x0, 0x33, 0x0, 0x25, 0x15, 0x4, 0x1, 0x11, 0x35, 0x0, 0x5, 0x15, 0x4, 0x1, 0x35, 0x0, 0x25, 0x24, 0xd9, 0x1, 0xac, 0x3, 0x56, 0xfc, 0x97, 0xfe, 0x67, 0x1, 0x7f, 0x3, 0x83, 0xfc, 0x7d, 0xfe, 0x81, 0x1, 0x7f, 0x1, 0xdc, 0xfe, 0x24, 0x1, 0xa1, 0x85, 0xae, 0x91, 0xfe, 0x42, 0x5, 0x57, 0xd7, 0xfe, 0x80, 0x7c, 0xa6, 0x84, 0xfe, 0x88, 0xd7, 0x1, 0x1b, 0x5d, 0x5d, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xff, 0x52, 0x5, 0xdb, 0x5, 0x57, 0x0, 0x1d, 0x0, 0x28, 0x0, 0x0, 0x25, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x13, 0x0, 0x5, 0x4, 0x1, 0x15, 0x0, 0x25, 0x35, 0x24, 0x1, 0x5, 0xdb, 0x69, 0xb3, 0x61, 0x6e, 0x92, 0xa, 0x7, 0x6, 0xf, 0x9b, 0x5e, 0x58, 0xac, 0x62, 0x69, 0xb3, 0x61, 0x6e, 0x93, 0xb, 0x5, 0x6, 0xf, 0x9b, 0x5e, 0x56, 0xa9, 0x67, 0xfe, 0x81, 0xfe, 0x24, 0x1, 0xdc, 0x1, 0x7f, 0xfe, 0x81, 0xfc, 0x7d, 0x3, 0x83, 0x1, 0x7f, 0xb1, 0xb3, 0x4e, 0x45, 0x3b, 0x4, 0x3, 0x2, 0x6, 0x3d, 0x4c, 0x54, 0xb3, 0x4e, 0x45, 0x3b, 0x5, 0x2, 0x2, 0x6, 0x3d, 0x4b, 0x4, 0x24, 0xfe, 0xe5, 0x5d, 0x5d, 0xfe, 0xe5, 0xd7, 0x1, 0x78, 0x84, 0xa6, 0x7c, 0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xff, 0x52, 0x5, 0xdb, 0x5, 0x57, 0x0, 0x1d, 0x0, 0x28, 0x0, 0x0, 0x25, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x1, 0x35, 0x0, 0x5, 0x15, 0x4, 0x1, 0x35, 0x0, 0x25, 0x24, 0x5, 0xdb, 0x69, 0xb3, 0x61, 0x6e, 0x92, 0xa, 0x7, 0x6, 0xf, 0x9b, 0x5e, 0x58, 0xac, 0x62, 0x69, 0xb3, 0x61, 0x6e, 0x93, 0xb, 0x5, 0x6, 0xf, 0x9b, 0x5e, 0x56, 0xa9, 0xfb, 0x65, 0x1, 0x7f, 0x3, 0x83, 0xfc, 0x7d, 0xfe, 0x81, 0x1, 0x7f, 0x1, 0xdc, 0xfe, 0x24, 0xb1, 0xb3, 0x4e, 0x45, 0x3b, 0x4, 0x3, 0x2, 0x6, 0x3d, 0x4c, 0x54, 0xb3, 0x4e, 0x45, 0x3b, 0x5, 0x2, 0x2, 0x6, 0x3d, 0x4b, 0x4, 0x24, 0xd7, 0xfe, 0x80, 0x7c, 0xa6, 0x84, 0xfe, 0x88, 0xd7, 0x1, 0x1b, 0x5d, 0x5d, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xff, 0x83, 0x5, 0xdb, 0x6, 0x1d, 0x0, 0x15, 0x0, 0x1a, 0x0, 0x0, 0x1, 0x26, 0x25, 0x35, 0x24, 0x25, 0x1, 0x17, 0x3, 0x36, 0x37, 0x15, 0x6, 0x7, 0x3, 0x4, 0x17, 0x15, 0x2, 0x25, 0x3, 0x27, 0x1, 0x6, 0x7, 0x16, 0x17, 0x2, 0xee, 0xf0, 0xfe, 0xdb, 0x1, 0xc3, 0x1, 0x45, 0x1, 0x1e, 0x83, 0xb9, 0x9e, 0x74, 0xba, 0xd6, 0x8b, 0x1, 0x24, 0xf7, 0xe3, 0xfe, 0x82, 0xeb, 0x82, 0x1, 0x6b, 0x97, 0xa1, 0x7d, 0x75, 0x1, 0xb0, 0x55, 0x29, 0xa6, 0x3f, 0xa5, 0x2, 0x65, 0x4b, 0xfe, 0x74, 0x75, 0x95, 0xef, 0xb3, 0x75, 0xfe, 0xd4, 0x7f, 0xed, 0xef, 0x1, 0x22, 0xa6, 0xfe, 0x9, 0x4b, 0x3, 0xa, 0x39, 0x1e, 0x17, 0x27, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xfe, 0xe5, 0x5, 0xdb, 0x5, 0x7f, 0x0, 0x15, 0x0, 0x1a, 0x0, 0x0, 0x1, 0x16, 0x5, 0x15, 0x4, 0x5, 0x1, 0x27, 0x13, 0x6, 0x7, 0x35, 0x36, 0x37, 0x13, 0x24, 0x27, 0x35, 0x12, 0x5, 0x13, 0x17, 0x1, 0x36, 0x37, 0x26, 0x27, 0x3, 0xc6, 0xf0, 0x1, 0x25, 0xfe, 0x3d, 0xfe, 0xbb, 0xfe, 0xe2, 0x83, 0xb9, 0x9e, 0x74, 0xba, 0xd6, 0x8b, 0xfe, 0xdc, 0xf7, 0xe3, 0x1, 0x7e, 0xeb, 0x82, 0xfe, 0x95, 0x97, 0xa1, 0x7d, 0x75, 0x3, 0x52, 0x55, 0x29, 0xa6, 0x3f, 0xa5, 0xfd, 0x9b, 0x4b, 0x1, 0x8c, 0x75, 0x95, 0xef, 0xb3, 0x75, 0x1, 0x2c, 0x7f, 0xed, 0xef, 0xfe, 0xde, 0xa6, 0x1, 0xf7, 0x4b, 0xfc, 0xf6, 0x39, 0x1e, 0x17, 0x27, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xcc, 0x0, 0xa3, 0x5, 0xe8, 0x4, 0x5f, 0x0, 0x13, 0x0, 0x0, 0x25, 0x21, 0x22, 0x0, 0x35, 0x34, 0x37, 0x36, 0x33, 0x21, 0x15, 0x21, 0x22, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x21, 0x5, 0xe8, 0xfc, 0xc2, 0xca, 0xfe, 0xec, 0x8a, 0x8a, 0xc8, 0x3, 0x40, 0xfc, 0xc0, 0x88, 0xbe, 0x5e, 0x60, 0x88, 0x3, 0x40, 0xa3, 0x1, 0x16, 0xc8, 0xc6, 0x8d, 0x8b, 0x96, 0xc0, 0x88, 0x8a, 0x5e, 0x60, 0x0, 0x1, 0x0, 0xcc, 0x0, 0xa3, 0x5, 0xe8, 0x4, 0x5f, 0x0, 0x13, 0x0, 0x0, 0x37, 0x35, 0x21, 0x32, 0x37, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x35, 0x21, 0x32, 0x17, 0x16, 0x15, 0x14, 0x0, 0x23, 0xcc, 0x3, 0x40, 0x88, 0x60, 0x5e, 0xbe, 0x88, 0xfc, 0xc0, 0x3, 0x40, 0xc8, 0x8a, 0x8a, 0xfe, 0xec, 0xca, 0xa3, 0x96, 0x60, 0x5e, 0x8a, 0x88, 0xc0, 0x96, 0x8b, 0x8d, 0xc6, 0xc8, 0xfe, 0xea, 0x0, 0x0, 0x0, 0x2, 0x0, 0xcc, 0xff, 0x3b, 0x5, 0xe8, 0x5, 0xcf, 0x0, 0x9, 0x0, 0x1e, 0x0, 0x0, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x1b, 0x1, 0x33, 0x3, 0x21, 0x15, 0x21, 0x3, 0x21, 0x15, 0x21, 0x3, 0x23, 0x13, 0x22, 0x0, 0x35, 0x34, 0x37, 0x36, 0x33, 0x3, 0xa2, 0xfa, 0x88, 0xbe, 0x5e, 0x60, 0x88, 0x30, 0xf8, 0x72, 0xaa, 0x72, 0x1, 0x6e, 0xfe, 0x64, 0xca, 0x2, 0x66, 0xfd, 0x6c, 0x70, 0xaa, 0x70, 0xc8, 0xfe, 0xea, 0x8a, 0x8a, 0xc8, 0x3, 0xc9, 0xc0, 0x88, 0x8a, 0x5e, 0x60, 0x3, 0x26, 0x1, 0x70, 0xfe, 0x90, 0x96, 0xfd, 0x70, 0x96, 0xfe, 0x98, 0x1, 0x68, 0x1, 0x16, 0xc8, 0xc6, 0x8d, 0x8b, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xcc, 0xff, 0x33, 0x5, 0xe8, 0x5, 0xc7, 0x0, 0x9, 0x0, 0x1e, 0x0, 0x0, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2b, 0x1, 0xb, 0x1, 0x23, 0x13, 0x21, 0x35, 0x21, 0x13, 0x21, 0x35, 0x21, 0x13, 0x33, 0x3, 0x32, 0x0, 0x15, 0x14, 0x7, 0x6, 0x23, 0x3, 0x12, 0xfa, 0x88, 0xbe, 0x5e, 0x60, 0x88, 0x30, 0xf8, 0x72, 0xaa, 0x72, 0xfe, 0x92, 0x1, 0x9c, 0xca, 0xfd, 0x9a, 0x2, 0x94, 0x70, 0xaa, 0x70, 0xc8, 0x1, 0x16, 0x8a, 0x8a, 0xc8, 0x1, 0x39, 0xc0, 0x88, 0x8a, 0x5e, 0x60, 0xfc, 0xda, 0xfe, 0x90, 0x1, 0x70, 0x96, 0x2, 0x90, 0x96, 0x1, 0x68, 0xfe, 0x98, 0xfe, 0xea, 0xc8, 0xc6, 0x8d, 0x8b, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xbe, 0x0, 0x0, 0x5, 0xdb, 0x4, 0xe8, 0x0, 0x3, 0x0, 0x18, 0x0, 0x0, 0x37, 0x21, 0x15, 0x21, 0x1, 0x21, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x21, 0x15, 0x21, 0x22, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x21, 0xf2, 0x4, 0xe9, 0xfb, 0x17, 0x4, 0xe9, 0xfc, 0xc1, 0xc9, 0x8a, 0x8b, 0x8b, 0x8a, 0xc8, 0x3, 0x40, 0xfc, 0xc0, 0x89, 0xbe, 0x5f, 0x60, 0x88, 0x3, 0x40, 0x96, 0x96, 0x1, 0x2c, 0x8b, 0x8b, 0xc8, 0xc6, 0x8d, 0x8b, 0x96, 0xc0, 0x88, 0x8a, 0x5e, 0x60, 0x0, 0x0, 0x2, 0x0, 0xd9, 0x0, 0x0, 0x5, 0xf6, 0x4, 0xe8, 0x0, 0x3, 0x0, 0x18, 0x0, 0x0, 0x37, 0x21, 0x15, 0x21, 0x11, 0x35, 0x21, 0x32, 0x37, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x35, 0x21, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0xd9, 0x4, 0xe9, 0xfb, 0x17, 0x3, 0x40, 0x88, 0x60, 0x5f, 0xbe, 0x89, 0xfc, 0xc0, 0x3, 0x40, 0xc8, 0x8a, 0x8b, 0x8b, 0x8a, 0xc9, 0x96, 0x96, 0x1, 0x2c, 0x96, 0x60, 0x5e, 0x8a, 0x88, 0xc0, 0x96, 0x8b, 0x8d, 0xc6, 0xc8, 0x8b, 0x8b, 0x0, 0x2, 0x0, 0xbe, 0xff, 0x13, 0x5, 0xdb, 0x5, 0xd7, 0x0, 0x9, 0x0, 0x27, 0x0, 0x0, 0x1, 0x21, 0x22, 0x6, 0x15, 0x14, 0x17, 0x16, 0x3b, 0x2, 0x21, 0x15, 0x21, 0x7, 0x21, 0x15, 0x21, 0x7, 0x27, 0x37, 0x21, 0x35, 0x21, 0x37, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x21, 0x37, 0x17, 0x7, 0x21, 0x15, 0x21, 0x3, 0xd1, 0xfe, 0xca, 0x89, 0xbe, 0x5f, 0x60, 0x88, 0x27, 0x9c, 0x2, 0x7d, 0xfd, 0x45, 0x3d, 0x2, 0xf8, 0xfc, 0xc9, 0x61, 0x86, 0x4c, 0xfe, 0xe9, 0x1, 0x54, 0x3e, 0xb9, 0x82, 0x8b, 0x8b, 0x8a, 0xc8, 0x1, 0x73, 0x63, 0x86, 0x4c, 0x1, 0x30, 0xfe, 0x92, 0x4, 0x52, 0xc0, 0x88, 0x8a, 0x5e, 0x60, 0x96, 0x96, 0x96, 0xed, 0x35, 0xb8, 0x96, 0x96, 0x8, 0x83, 0x8b, 0xc8, 0xc6, 0x8d, 0x8b, 0xef, 0x37, 0xb8, 0x96, 0x0, 0x2, 0x0, 0xd9, 0xff, 0x13, 0x5, 0xf6, 0x5, 0xd7, 0x0, 0x9, 0x0, 0x27, 0x0, 0x0, 0x1, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2f, 0x1, 0x21, 0x35, 0x21, 0x37, 0x17, 0x7, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x7, 0x21, 0x15, 0x21, 0x7, 0x27, 0x37, 0x21, 0x35, 0x21, 0x37, 0x21, 0x35, 0x21, 0x3, 0x5e, 0xbb, 0x88, 0x60, 0x5f, 0x5f, 0x42, 0x56, 0x99, 0xfd, 0x9, 0x3, 0x35, 0x63, 0x86, 0x54, 0x70, 0x58, 0x8b, 0x8b, 0x8a, 0xc9, 0xf7, 0x3f, 0x2, 0xe0, 0xfc, 0xe3, 0x62, 0x86, 0x4c, 0xfe, 0xd0, 0x1, 0x6d, 0x3e, 0xfe, 0x55, 0x1, 0xe9, 0x1, 0xc2, 0x60, 0x5e, 0x8a, 0x88, 0x60, 0x43, 0x14, 0x9, 0x96, 0xef, 0x37, 0xcb, 0x20, 0x58, 0x8d, 0xc6, 0xc8, 0x8b, 0x8b, 0x96, 0x96, 0xed, 0x35, 0xb8, 0x96, 0x96, 0x96, 0x0, 0x0, 0x0, 0x2, 0x0, 0xbe, 0xff, 0x6a, 0x5, 0xdb, 0x4, 0xe9, 0x0, 0xb, 0x0, 0x20, 0x0, 0x0, 0x29, 0x1, 0x35, 0x21, 0x37, 0x17, 0x7, 0x21, 0x15, 0x21, 0x7, 0x27, 0x1, 0x21, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x21, 0x15, 0x21, 0x22, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x21, 0x2, 0xc4, 0xfe, 0x2e, 0x2, 0x42, 0x71, 0x78, 0x2d, 0x1, 0xeb, 0xfd, 0xa5, 0x71, 0x78, 0x3, 0x44, 0xfc, 0xc1, 0xc9, 0x8a, 0x8b, 0x8b, 0x8a, 0xc8, 0x3, 0x40, 0xfc, 0xc0, 0x89, 0xbe, 0x5f, 0x60, 0x88, 0x3, 0x40, 0x96, 0x96, 0x5a, 0x3c, 0x96, 0x96, 0x5a, 0x1, 0x69, 0x8b, 0x8b, 0xc8, 0xc6, 0x8d, 0x8b, 0x96, 0xc0, 0x88, 0x8a, 0x5e, 0x60, 0x0, 0x0, 0x0, 0x2, 0x0, 0xbe, 0xff, 0x6a, 0x5, 0xdb, 0x4, 0xe9, 0x0, 0xb, 0x0, 0x20, 0x0, 0x0, 0x29, 0x1, 0x35, 0x21, 0x37, 0x17, 0x7, 0x21, 0x15, 0x21, 0x7, 0x27, 0x1, 0x35, 0x21, 0x32, 0x37, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x35, 0x21, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x2, 0xc4, 0xfe, 0x2e, 0x2, 0x42, 0x71, 0x78, 0x2d, 0x1, 0xeb, 0xfd, 0xa5, 0x71, 0x78, 0xfe, 0x27, 0x3, 0x40, 0x88, 0x60, 0x5f, 0xbe, 0x89, 0xfc, 0xc0, 0x3, 0x40, 0xc8, 0x8a, 0x8b, 0x8b, 0x8a, 0xc9, 0x96, 0x96, 0x5a, 0x3c, 0x96, 0x96, 0x5a, 0x1, 0x69, 0x96, 0x60, 0x5e, 0x8a, 0x88, 0xc0, 0x96, 0x8b, 0x8d, 0xc6, 0xc8, 0x8b, 0x8b, 0x0, 0x0, 0x0, 0x0, 0x2, 0x1, 0x8, 0x0, 0x0, 0x4, 0xd3, 0x4, 0xa2, 0x0, 0x11, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x10, 0x2, 0x23, 0x22, 0x2, 0x37, 0x35, 0x37, 0x17, 0x7, 0x21, 0x15, 0x21, 0x17, 0x7, 0x1, 0x8, 0xac, 0x94, 0xa6, 0xa5, 0x94, 0xac, 0xf5, 0xf0, 0xf1, 0xf5, 0xee, 0xc4, 0x3c, 0x74, 0x1, 0x63, 0xfe, 0x9d, 0x74, 0x3c, 0x2, 0x52, 0x2, 0x50, 0xfd, 0xc9, 0xf4, 0xd3, 0xd3, 0xf4, 0x2, 0x37, 0xfd, 0xb0, 0xfe, 0xd8, 0xfe, 0xd6, 0x1, 0x2a, 0xca, 0x2d, 0xc5, 0x3c, 0x75, 0x55, 0x74, 0x3c, 0x0, 0x0, 0xff, 0xff, 0x1, 0x8, 0x0, 0x0, 0x4, 0xd3, 0x4, 0xa2, 0x10, 0x26, 0xc, 0xaf, 0x0, 0x0, 0x10, 0x7, 0xd, 0x4a, 0x1, 0xa9, 0xff, 0x33, 0x0, 0x2, 0x1, 0x8, 0x0, 0x5, 0x4, 0xd3, 0x4, 0xa7, 0x0, 0x11, 0x0, 0x1d, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x10, 0x2, 0x23, 0x22, 0x2, 0x1, 0x15, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x1, 0x8, 0xac, 0x94, 0xa6, 0xa5, 0x94, 0xac, 0xf5, 0xf0, 0xf1, 0xf5, 0x2, 0x18, 0xaa, 0xaa, 0x65, 0xaa, 0xaa, 0x2, 0x57, 0x2, 0x50, 0xfd, 0xc9, 0xf4, 0xd3, 0xd3, 0xf4, 0x2, 0x37, 0xfd, 0xb0, 0xfe, 0xd8, 0xfe, 0xd6, 0x1, 0x2a, 0x1, 0xe1, 0xab, 0x64, 0xab, 0xab, 0x64, 0xab, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd9, 0x0, 0x0, 0x5, 0xdb, 0x4, 0x8b, 0x0, 0x7, 0x0, 0x1b, 0x40, 0x5, 0x1, 0x5, 0x3, 0x7, 0x8, 0x10, 0xdc, 0xdc, 0xdc, 0x3c, 0x31, 0x0, 0x40, 0x5, 0x1, 0x3, 0x5, 0x7, 0x8, 0x10, 0xd4, 0xdc, 0xdc, 0xdc, 0x30, 0x13, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0xd9, 0x5, 0x2, 0xfb, 0xa8, 0x4, 0x58, 0xfa, 0xfe, 0x4, 0x8b, 0xaa, 0xfc, 0xc9, 0xaa, 0x0, 0x1, 0x0, 0xd9, 0x0, 0x0, 0x5, 0xdb, 0x4, 0x8b, 0x0, 0x7, 0x0, 0x1b, 0x40, 0x5, 0x1, 0x5, 0x3, 0x7, 0x8, 0x10, 0xdc, 0x3c, 0xdc, 0xdc, 0x31, 0x0, 0x40, 0x5, 0x7, 0x5, 0x3, 0x1, 0x8, 0x10, 0xd4, 0xdc, 0xdc, 0xdc, 0x30, 0x1, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x5, 0xdb, 0xfa, 0xfe, 0x4, 0x58, 0xfb, 0xa8, 0x4, 0x8b, 0xfb, 0x75, 0xaa, 0x3, 0x37, 0xaa, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xff, 0x56, 0x5, 0xdb, 0x5, 0xb, 0x0, 0x7, 0x0, 0xb, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0xd9, 0x5, 0x2, 0xfb, 0xa8, 0x4, 0x58, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0xb, 0xaa, 0xfc, 0xc9, 0xaa, 0x80, 0xaa, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xff, 0x56, 0x5, 0xdb, 0x5, 0xb, 0x0, 0x7, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x1, 0x15, 0x21, 0x35, 0x5, 0xdb, 0xfa, 0xfe, 0x4, 0x58, 0xfb, 0xa8, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0xb, 0xfb, 0x75, 0xaa, 0x3, 0x37, 0xaa, 0xfa, 0xf5, 0xaa, 0xaa, 0x0, 0x1, 0x0, 0xd9, 0x0, 0x0, 0x5, 0x65, 0x5, 0x2, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x5, 0x65, 0xaa, 0xfc, 0xc8, 0xaa, 0x5, 0x2, 0xfa, 0xfe, 0x4, 0x58, 0xfb, 0xa8, 0x5, 0x2, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd9, 0x0, 0x0, 0x5, 0x65, 0x5, 0x2, 0x0, 0x7, 0x0, 0x0, 0x33, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0xd9, 0xaa, 0x3, 0x38, 0xaa, 0x5, 0x2, 0xfb, 0xa8, 0x4, 0x58, 0xfa, 0xfe, 0x0, 0x0, 0x3, 0x0, 0xbb, 0xff, 0xe3, 0x5, 0xf9, 0x5, 0x24, 0x0, 0x19, 0x0, 0x33, 0x0, 0x3f, 0x0, 0x0, 0x0, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x27, 0x26, 0x27, 0x24, 0x20, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x20, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x5, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x3, 0xc5, 0xd6, 0x5d, 0x5c, 0x4c, 0x4d, 0x4c, 0x4c, 0x4d, 0x4c, 0x5c, 0x5d, 0xd6, 0x5d, 0x5c, 0x4c, 0x4d, 0x4c, 0x4c, 0x4d, 0x4c, 0x5c, 0xfe, 0xae, 0x1, 0x14, 0xee, 0x62, 0x63, 0x31, 0x31, 0x31, 0x31, 0x63, 0x62, 0xee, 0xfe, 0xec, 0xee, 0x62, 0x63, 0x31, 0x31, 0x31, 0x31, 0x63, 0x62, 0x1, 0xcd, 0x1, 0x64, 0xfe, 0x9c, 0xaa, 0xfe, 0x9c, 0x1, 0x64, 0x4, 0x8e, 0x27, 0x27, 0x4c, 0x4d, 0xb8, 0x6d, 0x6a, 0xb8, 0x4d, 0x4c, 0x27, 0x27, 0x27, 0x27, 0x4c, 0x4d, 0xb8, 0x6a, 0x6d, 0xb8, 0x4d, 0x4c, 0x27, 0xbd, 0x64, 0x62, 0x63, 0x77, 0x76, 0x8c, 0x89, 0x77, 0x76, 0x63, 0x62, 0x64, 0x64, 0x62, 0x63, 0x76, 0x77, 0x89, 0x8c, 0x76, 0x77, 0x63, 0x62, 0x84, 0xfe, 0x9b, 0xaa, 0xfe, 0x9b, 0x1, 0x65, 0xaa, 0x1, 0x65, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xbb, 0xff, 0xe3, 0x5, 0xf9, 0x5, 0x24, 0x0, 0x3, 0x0, 0x1d, 0x0, 0x37, 0x0, 0x0, 0x1, 0x21, 0x15, 0x21, 0x0, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x27, 0x26, 0x27, 0x24, 0x20, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x20, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0xa1, 0x3, 0x72, 0xfc, 0x8e, 0x2, 0x24, 0xd6, 0x5d, 0x5c, 0x4c, 0x4d, 0x4c, 0x4c, 0x4d, 0x4c, 0x5c, 0x5d, 0xd6, 0x5d, 0x5c, 0x4c, 0x4d, 0x4c, 0x4c, 0x4d, 0x4c, 0x5c, 0xfe, 0xae, 0x1, 0x14, 0xee, 0x62, 0x63, 0x31, 0x31, 0x31, 0x31, 0x63, 0x62, 0xee, 0xfe, 0xec, 0xee, 0x62, 0x63, 0x31, 0x31, 0x31, 0x31, 0x63, 0x62, 0x2, 0xd7, 0xaa, 0x2, 0x61, 0x27, 0x27, 0x4c, 0x4d, 0xb8, 0x6d, 0x6a, 0xb8, 0x4d, 0x4c, 0x27, 0x27, 0x27, 0x27, 0x4c, 0x4d, 0xb8, 0x6a, 0x6d, 0xb8, 0x4d, 0x4c, 0x27, 0xbd, 0x64, 0x62, 0x63, 0x77, 0x76, 0x8c, 0x89, 0x77, 0x76, 0x63, 0x62, 0x64, 0x64, 0x62, 0x63, 0x76, 0x77, 0x89, 0x8c, 0x76, 0x77, 0x63, 0x62, 0x0, 0x3, 0x0, 0xbb, 0xff, 0xe3, 0x5, 0xf9, 0x5, 0x24, 0x0, 0x19, 0x0, 0x33, 0x0, 0x3f, 0x0, 0x0, 0x0, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x27, 0x26, 0x27, 0x24, 0x20, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x20, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0x7, 0x17, 0x7, 0x27, 0x7, 0x27, 0x37, 0x27, 0x37, 0x17, 0x37, 0x3, 0xc5, 0xd6, 0x5d, 0x5c, 0x4c, 0x4d, 0x4c, 0x4c, 0x4d, 0x4c, 0x5c, 0x5d, 0xd6, 0x5d, 0x5c, 0x4c, 0x4d, 0x4c, 0x4c, 0x4d, 0x4c, 0x5c, 0xfe, 0xae, 0x1, 0x14, 0xee, 0x62, 0x63, 0x31, 0x31, 0x31, 0x31, 0x63, 0x62, 0xee, 0xfe, 0xec, 0xee, 0x62, 0x63, 0x31, 0x31, 0x31, 0x31, 0x63, 0x62, 0x2, 0xed, 0xfd, 0xfc, 0x78, 0xfc, 0xfc, 0x79, 0xfd, 0xfc, 0x78, 0xfc, 0xfc, 0x4, 0x8e, 0x27, 0x27, 0x4c, 0x4d, 0xb8, 0x6d, 0x6a, 0xb8, 0x4d, 0x4c, 0x27, 0x27, 0x27, 0x27, 0x4c, 0x4d, 0xb8, 0x6a, 0x6d, 0xb8, 0x4d, 0x4c, 0x27, 0xbd, 0x64, 0x62, 0x63, 0x77, 0x76, 0x8c, 0x89, 0x77, 0x76, 0x63, 0x62, 0x64, 0x64, 0x62, 0x63, 0x76, 0x77, 0x89, 0x8c, 0x76, 0x77, 0x63, 0x62, 0xfe, 0xbe, 0xfc, 0xfc, 0x78, 0xfc, 0xfd, 0x79, 0xfc, 0xfc, 0x78, 0xfc, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xbb, 0xff, 0xe3, 0x5, 0xf9, 0x5, 0x24, 0x0, 0x3, 0x0, 0x1d, 0x0, 0x37, 0x0, 0x0, 0x9, 0x1, 0x17, 0x1, 0x0, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x27, 0x26, 0x27, 0x24, 0x20, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x20, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0xe6, 0x2, 0x70, 0x78, 0xfd, 0x90, 0x1, 0x67, 0xd6, 0x5d, 0x5c, 0x4c, 0x4d, 0x4c, 0x4c, 0x4d, 0x4c, 0x5c, 0x5d, 0xd6, 0x5d, 0x5c, 0x4c, 0x4d, 0x4c, 0x4c, 0x4d, 0x4c, 0x5c, 0xfe, 0xae, 0x1, 0x14, 0xee, 0x62, 0x63, 0x31, 0x31, 0x31, 0x31, 0x63, 0x62, 0xee, 0xfe, 0xec, 0xee, 0x62, 0x63, 0x31, 0x31, 0x31, 0x31, 0x63, 0x62, 0x1, 0x86, 0x2, 0x70, 0x78, 0xfd, 0x90, 0x3, 0x80, 0x27, 0x27, 0x4c, 0x4d, 0xb8, 0x6d, 0x6a, 0xb8, 0x4d, 0x4c, 0x27, 0x27, 0x27, 0x27, 0x4c, 0x4d, 0xb8, 0x6a, 0x6d, 0xb8, 0x4d, 0x4c, 0x27, 0xbd, 0x64, 0x62, 0x63, 0x77, 0x76, 0x8c, 0x89, 0x77, 0x76, 0x63, 0x62, 0x64, 0x64, 0x62, 0x63, 0x76, 0x77, 0x89, 0x8c, 0x76, 0x77, 0x63, 0x62, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xbb, 0xff, 0xe3, 0x5, 0xf9, 0x5, 0x24, 0x0, 0x3, 0x0, 0x1d, 0x0, 0x37, 0x0, 0x0, 0x1, 0x33, 0x15, 0x23, 0x12, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x27, 0x26, 0x27, 0x24, 0x20, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x20, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x2, 0xf0, 0xd4, 0xd4, 0xd5, 0xd6, 0x5d, 0x5c, 0x4c, 0x4d, 0x4c, 0x4c, 0x4d, 0x4c, 0x5c, 0x5d, 0xd6, 0x5d, 0x5c, 0x4c, 0x4d, 0x4c, 0x4c, 0x4d, 0x4c, 0x5c, 0xfe, 0xae, 0x1, 0x14, 0xee, 0x62, 0x63, 0x31, 0x31, 0x31, 0x31, 0x63, 0x62, 0xee, 0xfe, 0xec, 0xee, 0x62, 0x63, 0x31, 0x31, 0x31, 0x31, 0x63, 0x62, 0x3, 0x1, 0xfe, 0x2, 0x8b, 0x27, 0x27, 0x4c, 0x4d, 0xb8, 0x6d, 0x6a, 0xb8, 0x4d, 0x4c, 0x27, 0x27, 0x27, 0x27, 0x4c, 0x4d, 0xb8, 0x6a, 0x6d, 0xb8, 0x4d, 0x4c, 0x27, 0xbd, 0x64, 0x62, 0x63, 0x77, 0x76, 0x8c, 0x89, 0x77, 0x76, 0x63, 0x62, 0x64, 0x64, 0x62, 0x63, 0x76, 0x77, 0x89, 0x8c, 0x76, 0x77, 0x63, 0x62, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0xbb, 0xff, 0xe3, 0x5, 0xf9, 0x5, 0x24, 0x0, 0x9, 0x0, 0x18, 0x0, 0x32, 0x0, 0x4c, 0x0, 0x0, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x32, 0x36, 0x34, 0x26, 0x27, 0x32, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x3e, 0x1, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x27, 0x26, 0x27, 0x24, 0x20, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x20, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x3, 0x5a, 0x50, 0x6e, 0x6e, 0xa0, 0x6e, 0x6f, 0x4f, 0x40, 0x76, 0x2b, 0x2e, 0x2e, 0xb9, 0x86, 0x87, 0xb4, 0xb8, 0xf0, 0xd6, 0x5d, 0x5c, 0x4c, 0x4d, 0x4c, 0x4c, 0x4d, 0x4c, 0x5c, 0x5d, 0xd6, 0x5d, 0x5c, 0x4c, 0x4d, 0x4c, 0x4c, 0x4d, 0x4c, 0x5c, 0xfe, 0xae, 0x1, 0x14, 0xee, 0x62, 0x63, 0x31, 0x31, 0x31, 0x31, 0x63, 0x62, 0xee, 0xfe, 0xec, 0xee, 0x62, 0x63, 0x31, 0x31, 0x31, 0x31, 0x63, 0x62, 0x3, 0x41, 0x6f, 0x50, 0x4f, 0x6d, 0x6d, 0x9e, 0x70, 0x81, 0x31, 0x2e, 0x2d, 0x72, 0x42, 0x84, 0xb7, 0xb4, 0x87, 0x86, 0xba, 0xcc, 0x27, 0x27, 0x4c, 0x4d, 0xb8, 0x6d, 0x6a, 0xb8, 0x4d, 0x4c, 0x27, 0x27, 0x27, 0x27, 0x4c, 0x4d, 0xb8, 0x6a, 0x6d, 0xb8, 0x4d, 0x4c, 0x27, 0xbd, 0x64, 0x62, 0x63, 0x77, 0x76, 0x8c, 0x89, 0x77, 0x76, 0x63, 0x62, 0x64, 0x64, 0x62, 0x63, 0x76, 0x77, 0x89, 0x8c, 0x76, 0x77, 0x63, 0x62, 0x0, 0x3, 0x0, 0xbb, 0xff, 0xe3, 0x5, 0xf9, 0x5, 0x24, 0x0, 0x11, 0x0, 0x2b, 0x0, 0x45, 0x0, 0x0, 0x1, 0xd, 0x1, 0x7, 0x25, 0x11, 0x23, 0x11, 0x5, 0x27, 0x2d, 0x1, 0x37, 0x5, 0x11, 0x33, 0x11, 0x25, 0x2, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x27, 0x26, 0x27, 0x24, 0x20, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x20, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x4, 0xf0, 0xfe, 0xbd, 0x1, 0x43, 0x34, 0xfe, 0xd1, 0x66, 0xfe, 0xd1, 0x34, 0x1, 0x43, 0xfe, 0xbd, 0x34, 0x1, 0x2f, 0x66, 0x1, 0x2f, 0xf7, 0xd6, 0x5d, 0x5c, 0x4c, 0x4d, 0x4c, 0x4c, 0x4d, 0x4c, 0x5c, 0x5d, 0xd6, 0x5d, 0x5c, 0x4c, 0x4d, 0x4c, 0x4c, 0x4d, 0x4c, 0x5c, 0xfe, 0xae, 0x1, 0x14, 0xee, 0x62, 0x63, 0x31, 0x31, 0x31, 0x31, 0x63, 0x62, 0xee, 0xfe, 0xec, 0xee, 0x62, 0x63, 0x31, 0x31, 0x31, 0x31, 0x63, 0x62, 0x3, 0x31, 0xaf, 0xb0, 0x58, 0xb7, 0xfe, 0xad, 0x1, 0x53, 0xb7, 0x58, 0xb0, 0xaf, 0x59, 0xb7, 0x1, 0x53, 0xfe, 0xad, 0xb7, 0x1, 0x4, 0x27, 0x27, 0x4c, 0x4d, 0xb8, 0x6d, 0x6a, 0xb8, 0x4d, 0x4c, 0x27, 0x27, 0x27, 0x27, 0x4c, 0x4d, 0xb8, 0x6a, 0x6d, 0xb8, 0x4d, 0x4c, 0x27, 0xbd, 0x64, 0x62, 0x63, 0x77, 0x76, 0x8c, 0x89, 0x77, 0x76, 0x63, 0x62, 0x64, 0x64, 0x62, 0x63, 0x76, 0x77, 0x89, 0x8c, 0x76, 0x77, 0x63, 0x62, 0x0, 0x4, 0x0, 0xbb, 0xff, 0xe3, 0x5, 0xf9, 0x5, 0x24, 0x0, 0x3, 0x0, 0x7, 0x0, 0x21, 0x0, 0x3b, 0x0, 0x0, 0x1, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x0, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x27, 0x26, 0x27, 0x24, 0x20, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x20, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x2, 0x1a, 0x2, 0x80, 0xfd, 0x80, 0x2, 0x80, 0xfd, 0x80, 0x1, 0xab, 0xd6, 0x5d, 0x5c, 0x4c, 0x4d, 0x4c, 0x4c, 0x4d, 0x4c, 0x5c, 0x5d, 0xd6, 0x5d, 0x5c, 0x4c, 0x4d, 0x4c, 0x4c, 0x4d, 0x4c, 0x5c, 0xfe, 0xae, 0x1, 0x14, 0xee, 0x62, 0x63, 0x31, 0x31, 0x31, 0x31, 0x63, 0x62, 0xee, 0xfe, 0xec, 0xee, 0x62, 0x63, 0x31, 0x31, 0x31, 0x31, 0x63, 0x62, 0x3, 0x6a, 0x88, 0xc0, 0x88, 0x2, 0xf4, 0x27, 0x27, 0x4c, 0x4d, 0xb8, 0x6d, 0x6a, 0xb8, 0x4d, 0x4c, 0x27, 0x27, 0x27, 0x27, 0x4c, 0x4d, 0xb8, 0x6a, 0x6d, 0xb8, 0x4d, 0x4c, 0x27, 0xbd, 0x64, 0x62, 0x63, 0x77, 0x76, 0x8c, 0x89, 0x77, 0x76, 0x63, 0x62, 0x64, 0x64, 0x62, 0x63, 0x76, 0x77, 0x89, 0x8c, 0x76, 0x77, 0x63, 0x62, 0x0, 0x3, 0x0, 0xbb, 0xff, 0xe3, 0x5, 0xf9, 0x5, 0x24, 0x0, 0x19, 0x0, 0x33, 0x0, 0x37, 0x0, 0x0, 0x0, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x27, 0x26, 0x27, 0x24, 0x20, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x20, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x13, 0x21, 0x15, 0x21, 0x3, 0xc5, 0xd6, 0x5d, 0x5c, 0x4c, 0x4d, 0x4c, 0x4c, 0x4d, 0x4c, 0x5c, 0x5d, 0xd6, 0x5d, 0x5c, 0x4c, 0x4d, 0x4c, 0x4c, 0x4d, 0x4c, 0x5c, 0xfe, 0xae, 0x1, 0x14, 0xee, 0x62, 0x63, 0x31, 0x31, 0x31, 0x31, 0x63, 0x62, 0xee, 0xfe, 0xec, 0xee, 0x62, 0x63, 0x31, 0x31, 0x31, 0x31, 0x63, 0x62, 0x38, 0x2, 0x80, 0xfd, 0x80, 0x4, 0x8e, 0x27, 0x27, 0x4c, 0x4d, 0xb8, 0x6d, 0x6a, 0xb8, 0x4d, 0x4c, 0x27, 0x27, 0x27, 0x27, 0x4c, 0x4d, 0xb8, 0x6a, 0x6d, 0xb8, 0x4d, 0x4c, 0x27, 0xbd, 0x64, 0x62, 0x63, 0x77, 0x76, 0x8c, 0x89, 0x77, 0x76, 0x63, 0x62, 0x64, 0x64, 0x62, 0x63, 0x76, 0x77, 0x89, 0x8c, 0x76, 0x77, 0x63, 0x62, 0xfe, 0x17, 0xaa, 0x0, 0x0, 0x3, 0x0, 0xbb, 0xff, 0xe3, 0x5, 0xf9, 0x5, 0x24, 0x0, 0x3, 0x0, 0x7, 0x0, 0x13, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x25, 0x21, 0x11, 0x21, 0x1, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x1, 0x51, 0x4, 0x12, 0xfb, 0x58, 0x5, 0x3e, 0xfa, 0xc2, 0x2, 0xf4, 0x1, 0x64, 0xfe, 0x9c, 0xaa, 0xfe, 0x9c, 0x1, 0x64, 0x4, 0x89, 0xfb, 0xf0, 0x4, 0x10, 0x9b, 0xfa, 0xbf, 0x4, 0x59, 0xfe, 0x9b, 0xaa, 0xfe, 0x9b, 0x1, 0x65, 0xaa, 0x1, 0x65, 0x0, 0x3, 0x0, 0xbb, 0xff, 0xe3, 0x5, 0xf9, 0x5, 0x24, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x0, 0x1, 0x21, 0x15, 0x21, 0x3, 0x11, 0x21, 0x11, 0x25, 0x21, 0x11, 0x21, 0x1, 0xa1, 0x3, 0x72, 0xfc, 0x8e, 0x50, 0x4, 0x12, 0xfb, 0x58, 0x5, 0x3e, 0xfa, 0xc2, 0x2, 0xd7, 0xaa, 0x2, 0x5c, 0xfb, 0xf0, 0x4, 0x10, 0x9b, 0xfa, 0xbf, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xbb, 0xff, 0xe3, 0x5, 0xf9, 0x5, 0x24, 0x0, 0xb, 0x0, 0xf, 0x0, 0x13, 0x0, 0x0, 0x9, 0x2, 0x7, 0x9, 0x1, 0x27, 0x9, 0x1, 0x37, 0x9, 0x1, 0x25, 0x11, 0x21, 0x11, 0x25, 0x21, 0x11, 0x21, 0x5, 0x3d, 0xfe, 0x95, 0x1, 0x6b, 0x79, 0xfe, 0x96, 0xfe, 0x96, 0x79, 0x1, 0x6b, 0xfe, 0x95, 0x79, 0x1, 0x6a, 0x1, 0x6a, 0xfc, 0x8d, 0x4, 0x12, 0xfb, 0x58, 0x5, 0x3e, 0xfa, 0xc2, 0x3, 0xec, 0xfe, 0x96, 0xfe, 0x96, 0x78, 0x1, 0x6a, 0xfe, 0x95, 0x79, 0x1, 0x6a, 0x1, 0x6a, 0x79, 0xfe, 0x95, 0x1, 0x6b, 0x24, 0xfb, 0xf0, 0x4, 0x10, 0x9b, 0xfa, 0xbf, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xbb, 0xff, 0xe3, 0x5, 0xf9, 0x5, 0x24, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x0, 0x1, 0x33, 0x15, 0x23, 0x1, 0x11, 0x21, 0x11, 0x25, 0x21, 0x11, 0x21, 0x2, 0xf0, 0xd4, 0xd4, 0xfe, 0x61, 0x4, 0x12, 0xfb, 0x58, 0x5, 0x3e, 0xfa, 0xc2, 0x3, 0x1, 0xfe, 0x2, 0x86, 0xfb, 0xf0, 0x4, 0x10, 0x9b, 0xfa, 0xbf, 0x0, 0x1, 0x0, 0xaf, 0x0, 0x0, 0x6, 0x4a, 0x5, 0x9a, 0x0, 0x7, 0x0, 0x19, 0x40, 0xa, 0x2, 0x4, 0x6, 0x0, 0x8, 0x4, 0x6, 0x2, 0x0, 0x8, 0x10, 0xdc, 0xdc, 0x3c, 0xdc, 0x31, 0x0, 0x10, 0x3c, 0xdc, 0xdc, 0xdc, 0x30, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0xaf, 0x7f, 0x5, 0x1c, 0xfa, 0xe4, 0x5, 0x9a, 0xfd, 0x75, 0x7f, 0xfd, 0x70, 0x0, 0x1, 0x0, 0xaf, 0x0, 0x0, 0x6, 0x4a, 0x5, 0x9a, 0x0, 0x7, 0x0, 0x0, 0x21, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x6, 0x4a, 0x7f, 0xfa, 0xe4, 0x5, 0x1c, 0x7f, 0x2, 0x90, 0x7f, 0x2, 0x8b, 0x0, 0x0, 0x1, 0x0, 0xaf, 0x0, 0x0, 0x6, 0x49, 0x5, 0x9a, 0x0, 0x7, 0x0, 0x0, 0x1, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x6, 0x49, 0xfd, 0x73, 0x80, 0xfd, 0x73, 0x5, 0x9a, 0x7f, 0xfa, 0xe5, 0x5, 0x1b, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xaf, 0x0, 0x0, 0x6, 0x49, 0x5, 0x9a, 0x0, 0x7, 0x0, 0x0, 0x33, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0xaf, 0x2, 0x8d, 0x80, 0x2, 0x8d, 0x7f, 0x5, 0x1b, 0xfa, 0xe5, 0x7f, 0x0, 0x0, 0x0, 0x1, 0x0, 0xaf, 0x0, 0x0, 0x3, 0x7c, 0x5, 0x9a, 0x0, 0x7, 0x0, 0x0, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0xaf, 0x7f, 0x2, 0x4e, 0xfd, 0xb2, 0x5, 0x9a, 0xfd, 0x75, 0x7f, 0xfd, 0x70, 0x0, 0x0, 0x1, 0x0, 0xaf, 0x0, 0x0, 0x3, 0x7c, 0x5, 0x9a, 0x0, 0xb, 0x0, 0x0, 0x21, 0x23, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x1, 0x2e, 0x7f, 0x7f, 0x2, 0x4e, 0xfd, 0xb2, 0x2, 0x4e, 0xfd, 0xb2, 0x5, 0x9a, 0xfe, 0x24, 0x7f, 0xe4, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xaf, 0x0, 0x0, 0x6, 0x4a, 0x5, 0x9a, 0x0, 0xb, 0x0, 0x0, 0x21, 0x23, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x1, 0x2e, 0x7f, 0x7f, 0x5, 0x1c, 0xfa, 0xe4, 0x5, 0x1c, 0xfa, 0xe4, 0x5, 0x9a, 0xfe, 0x24, 0x7f, 0xe4, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xaf, 0x0, 0x0, 0x6, 0x4a, 0x5, 0x9a, 0x0, 0x7, 0x0, 0xb, 0x0, 0x0, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x23, 0x11, 0x33, 0x2, 0x12, 0x7f, 0x3, 0xb9, 0xfc, 0x47, 0xfe, 0x9d, 0x7f, 0x7f, 0x5, 0x9a, 0xfd, 0x75, 0x7f, 0xfd, 0x70, 0x5, 0x9a, 0x0, 0x3, 0x0, 0xaf, 0x0, 0x0, 0x6, 0x4a, 0x5, 0x9a, 0x0, 0x3, 0x0, 0xb, 0x0, 0xf, 0x0, 0x0, 0x21, 0x23, 0x11, 0x33, 0x1, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x23, 0x11, 0x33, 0x1, 0x2e, 0x7f, 0x7f, 0x2, 0x47, 0x7f, 0x2, 0x56, 0xfd, 0xaa, 0xfe, 0x9d, 0x7f, 0x7f, 0x5, 0x9a, 0xfa, 0x66, 0x5, 0x9a, 0xfd, 0x75, 0x7f, 0xfd, 0x70, 0x5, 0x9a, 0x0, 0x0, 0x0, 0x2, 0x0, 0xaf, 0x0, 0x0, 0x6, 0x4a, 0x5, 0x9a, 0x0, 0x3, 0x0, 0xf, 0x0, 0x0, 0x21, 0x23, 0x11, 0x33, 0x1, 0x23, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x1, 0x2e, 0x7f, 0x7f, 0x1, 0x63, 0x7f, 0x7f, 0x3, 0xb9, 0xfc, 0x47, 0x3, 0xb9, 0xfc, 0x47, 0x5, 0x9a, 0xfa, 0x66, 0x5, 0x9a, 0xfe, 0x24, 0x7f, 0xe4, 0x7f, 0x0, 0x0, 0x1, 0x0, 0xaf, 0xff, 0xaf, 0x6, 0x4a, 0x5, 0xeb, 0x0, 0xf, 0x0, 0x0, 0x33, 0x11, 0x33, 0x11, 0x21, 0x1, 0x17, 0x1, 0x21, 0x15, 0x21, 0x1, 0x27, 0x1, 0x21, 0x11, 0xaf, 0x7f, 0x2, 0x27, 0x1, 0x53, 0x73, 0xfe, 0xc5, 0x2, 0x6a, 0xfd, 0x5c, 0xfe, 0xaa, 0x73, 0x1, 0x3d, 0xfe, 0x14, 0x5, 0x9a, 0xfd, 0x75, 0x2, 0xdc, 0x35, 0xfd, 0x59, 0x7f, 0xfd, 0x1f, 0x36, 0x2, 0xab, 0xfd, 0x70, 0x0, 0x0, 0x2, 0x0, 0xaf, 0xff, 0xaf, 0x6, 0x4a, 0x5, 0xeb, 0x0, 0x13, 0x0, 0x17, 0x0, 0x0, 0x1, 0x17, 0x3, 0x21, 0x15, 0x21, 0x7, 0x21, 0x15, 0x21, 0x1, 0x27, 0x13, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x3, 0x37, 0x21, 0x15, 0x4, 0xa8, 0x73, 0xea, 0x2, 0x19, 0xfd, 0xad, 0x6a, 0x2, 0xbd, 0xfd, 0x8, 0xfe, 0xfe, 0x73, 0xe9, 0xfe, 0x68, 0x7f, 0x7f, 0x2, 0x78, 0xa5, 0x6a, 0xfd, 0xc3, 0x5, 0xeb, 0x35, 0xfe, 0x8, 0x7f, 0xe4, 0x7f, 0xfd, 0xd3, 0x36, 0x1, 0xf7, 0xfe, 0x24, 0x5, 0x9a, 0xfe, 0x24, 0xfe, 0x9d, 0xe4, 0xe4, 0x0, 0x0, 0x0, 0x2, 0x0, 0xaf, 0xff, 0xaf, 0x6, 0x4a, 0x5, 0xeb, 0x0, 0xf, 0x0, 0x13, 0x0, 0x0, 0x1, 0x17, 0x1, 0x21, 0x15, 0x21, 0x1, 0x27, 0x1, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x1, 0x23, 0x11, 0x33, 0x5, 0x82, 0x73, 0xfe, 0xc5, 0x1, 0x90, 0xfe, 0x36, 0xfe, 0xaa, 0x73, 0x1, 0x3d, 0xfe, 0x9d, 0x7f, 0x7f, 0x1, 0x9e, 0xfc, 0xff, 0x7f, 0x7f, 0x5, 0xeb, 0x35, 0xfd, 0x59, 0x7f, 0xfd, 0x1f, 0x36, 0x2, 0xab, 0xfd, 0x70, 0x5, 0x9a, 0xfd, 0x75, 0xfc, 0xf1, 0x5, 0x9a, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xaf, 0xff, 0xaf, 0x6, 0x4a, 0x5, 0xeb, 0x0, 0x13, 0x0, 0x17, 0x0, 0x1b, 0x0, 0x0, 0x21, 0x23, 0x11, 0x33, 0x11, 0x21, 0x1, 0x17, 0x3, 0x21, 0x15, 0x21, 0x7, 0x21, 0x15, 0x21, 0x1, 0x27, 0x13, 0x21, 0x1, 0x23, 0x11, 0x33, 0x1, 0x37, 0x21, 0x15, 0x2, 0x91, 0x7f, 0x7f, 0x1, 0xf4, 0x1, 0x2, 0x73, 0xea, 0x1, 0x3a, 0xfe, 0x8c, 0x6a, 0x1, 0xde, 0xfd, 0xe7, 0xfe, 0xfe, 0x73, 0xe9, 0xfe, 0xec, 0xfe, 0x9d, 0x7f, 0x7f, 0x2, 0xb2, 0x6a, 0xfe, 0x47, 0x5, 0x9a, 0xfe, 0x24, 0x2, 0x2d, 0x35, 0xfe, 0x8, 0x7f, 0xe4, 0x7f, 0xfd, 0xd3, 0x36, 0x1, 0xf7, 0xfe, 0x24, 0x5, 0x9a, 0xfc, 0xc1, 0xe4, 0xe4, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd9, 0xff, 0xa7, 0x5, 0xcb, 0x5, 0x5d, 0x0, 0x2a, 0x0, 0x0, 0x13, 0x35, 0x24, 0x25, 0x36, 0x37, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x27, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x6, 0x5, 0x4, 0x17, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x24, 0xd9, 0x1, 0x9b, 0x1, 0x40, 0xc8, 0x65, 0x3d, 0x4d, 0x3e, 0x50, 0x37, 0x73, 0x5a, 0xa0, 0x88, 0xb0, 0x94, 0xe3, 0xfe, 0x89, 0x1, 0x77, 0xe3, 0x94, 0xb0, 0x88, 0xa0, 0x5a, 0x73, 0x37, 0x50, 0x3e, 0x4d, 0x3d, 0x65, 0xc8, 0xfe, 0xc0, 0x2, 0x2e, 0xa8, 0x28, 0x59, 0x37, 0x4f, 0x30, 0x3c, 0x30, 0x3a, 0x3e, 0x7e, 0x6a, 0xa0, 0x79, 0x9f, 0x5b, 0x8c, 0x3c, 0x3c, 0x8c, 0x5b, 0x9f, 0x79, 0xa0, 0x6a, 0x7e, 0x3e, 0x3a, 0x30, 0x3c, 0x30, 0x4f, 0x37, 0x59, 0x0, 0x1, 0x0, 0xd9, 0xff, 0xa7, 0x5, 0xcb, 0x5, 0x5d, 0x0, 0x2a, 0x0, 0x0, 0x1, 0x4, 0x5, 0x6, 0x7, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x17, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x36, 0x25, 0x24, 0x27, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x4, 0x5, 0x5, 0xcb, 0xfe, 0x65, 0xfe, 0xc0, 0xc8, 0x65, 0x3d, 0x4d, 0x3e, 0x50, 0x37, 0x73, 0x5a, 0xa0, 0x88, 0xb0, 0x94, 0xe3, 0x1, 0x77, 0xfe, 0x89, 0xe3, 0x94, 0xb0, 0x88, 0xa0, 0x5a, 0x73, 0x37, 0x50, 0x3e, 0x4d, 0x3d, 0x65, 0xc8, 0x1, 0x40, 0x1, 0x9b, 0x2, 0x2e, 0x28, 0x59, 0x37, 0x4f, 0x30, 0x3c, 0x30, 0x3a, 0x3e, 0x7e, 0x6a, 0xa0, 0x79, 0x9f, 0x5b, 0x8c, 0x3c, 0x3c, 0x8c, 0x5b, 0x9f, 0x79, 0xa0, 0x6a, 0x7e, 0x3e, 0x3a, 0x30, 0x3c, 0x30, 0x4f, 0x37, 0x59, 0x28, 0x0, 0x0, 0x2, 0x0, 0xd9, 0x0, 0x1e, 0x5, 0xdb, 0x4, 0xe6, 0x0, 0x2, 0x0, 0x6, 0x0, 0x0, 0x1, 0x11, 0x9, 0x2, 0x35, 0x1, 0x5, 0x31, 0xfc, 0xa2, 0x4, 0x8, 0xfa, 0xfe, 0x5, 0x2, 0x1, 0x20, 0x2, 0xc4, 0xfe, 0x9e, 0xfd, 0x9c, 0x2, 0x11, 0xa6, 0x2, 0x11, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0x0, 0x1e, 0x5, 0xdb, 0x4, 0xe6, 0x0, 0x2, 0x0, 0x6, 0x0, 0x0, 0x9, 0x2, 0x3, 0x11, 0x1, 0x15, 0x1, 0x83, 0x3, 0x5e, 0xfc, 0xa2, 0xaa, 0x5, 0x2, 0x1, 0x20, 0x1, 0x62, 0x1, 0x62, 0xfc, 0x3a, 0x4, 0xc8, 0xfd, 0xef, 0xa6, 0x0, 0x3, 0x0, 0xd9, 0xff, 0x9e, 0x5, 0xdb, 0x5, 0x64, 0x0, 0x3, 0x0, 0x6, 0x0, 0xa, 0x0, 0x0, 0x17, 0x35, 0x21, 0x15, 0x3, 0x11, 0x9, 0x2, 0x35, 0x1, 0xd9, 0x5, 0x2, 0xaa, 0xfc, 0xa2, 0x4, 0x8, 0xfa, 0xfe, 0x5, 0x2, 0x62, 0xaa, 0xaa, 0x2, 0x0, 0x2, 0xc4, 0xfe, 0x9e, 0xfd, 0x9c, 0x2, 0x11, 0xa6, 0x2, 0x11, 0x0, 0x3, 0x0, 0xd9, 0xff, 0x9e, 0x5, 0xdb, 0x5, 0x64, 0x0, 0x3, 0x0, 0x6, 0x0, 0xa, 0x0, 0x0, 0x17, 0x35, 0x21, 0x15, 0x9, 0x2, 0x3, 0x11, 0x1, 0x15, 0xd9, 0x5, 0x2, 0xfb, 0xa8, 0x3, 0x5e, 0xfc, 0xa2, 0xaa, 0x5, 0x2, 0x62, 0xaa, 0xaa, 0x2, 0x0, 0x1, 0x62, 0x1, 0x62, 0xfc, 0x3a, 0x4, 0xc8, 0xfd, 0xef, 0xa6, 0x0, 0x2, 0x0, 0x79, 0x1, 0x67, 0x7, 0x87, 0x3, 0xa2, 0x0, 0x17, 0x0, 0x1f, 0x0, 0x0, 0x1, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x27, 0x26, 0x27, 0x21, 0x6, 0x7, 0x6, 0x22, 0x26, 0x34, 0x36, 0x32, 0x17, 0x16, 0x17, 0x21, 0x36, 0x4, 0x22, 0x6, 0x14, 0x16, 0x32, 0x36, 0x34, 0x5, 0x9f, 0x53, 0xeb, 0xaa, 0xa7, 0xf2, 0x51, 0x33, 0x13, 0xfd, 0x51, 0x14, 0x33, 0x54, 0xf2, 0xa2, 0xa6, 0xeb, 0x57, 0x34, 0x13, 0x2, 0xaf, 0x14, 0xfc, 0x64, 0x72, 0x4f, 0x4f, 0x73, 0x4f, 0x3, 0x4f, 0x53, 0xa8, 0xef, 0xa4, 0x51, 0x33, 0x43, 0x42, 0x33, 0x52, 0xa2, 0xf2, 0xa7, 0x55, 0x34, 0x43, 0x44, 0xe, 0x50, 0x72, 0x4f, 0x4f, 0x71, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x79, 0x1, 0x67, 0x7, 0x87, 0x3, 0xa2, 0x0, 0x17, 0x0, 0x1f, 0x0, 0x0, 0x1, 0x6, 0x22, 0x26, 0x34, 0x36, 0x32, 0x17, 0x16, 0x17, 0x21, 0x36, 0x37, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x27, 0x26, 0x27, 0x21, 0x6, 0x24, 0x32, 0x36, 0x34, 0x26, 0x22, 0x6, 0x14, 0x2, 0x61, 0x53, 0xeb, 0xaa, 0xa7, 0xf2, 0x51, 0x33, 0x13, 0x2, 0xaf, 0x14, 0x33, 0x54, 0xf2, 0xa2, 0xa6, 0xeb, 0x57, 0x34, 0x13, 0xfd, 0x51, 0x14, 0x3, 0x9c, 0x72, 0x4f, 0x4f, 0x73, 0x4f, 0x1, 0xba, 0x53, 0xa8, 0xef, 0xa4, 0x51, 0x33, 0x43, 0x42, 0x33, 0x52, 0xa2, 0xf2, 0xa7, 0x55, 0x34, 0x43, 0x44, 0xe, 0x50, 0x72, 0x4f, 0x4f, 0x71, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x62, 0x1, 0x67, 0x6, 0x52, 0x3, 0xa2, 0x0, 0xd, 0x0, 0x15, 0x0, 0x0, 0x13, 0x37, 0x21, 0x36, 0x37, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x26, 0x22, 0x6, 0x14, 0x16, 0x32, 0x36, 0x62, 0x1, 0x3, 0xc0, 0x13, 0x31, 0x5b, 0xeb, 0xa5, 0xa2, 0xf2, 0x53, 0x34, 0x13, 0x1, 0x9a, 0x4f, 0x73, 0x50, 0x4f, 0x74, 0x4f, 0x2, 0x2e, 0xa8, 0x44, 0x2f, 0x59, 0xa7, 0xf2, 0xa2, 0x52, 0x33, 0x42, 0x8e, 0x50, 0x51, 0x71, 0x4f, 0x4f, 0x0, 0x0, 0x0, 0x4, 0x0, 0x79, 0xff, 0xa0, 0x6, 0x3b, 0x5, 0x64, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x0, 0x1, 0x33, 0x11, 0x23, 0x5, 0x21, 0x15, 0x21, 0x3, 0x23, 0x11, 0x33, 0x25, 0x21, 0x35, 0x21, 0x3, 0x6, 0xa8, 0xa8, 0x1, 0x28, 0x2, 0xd, 0xfd, 0xf3, 0x80, 0xa8, 0xa8, 0xfe, 0xd8, 0xfd, 0xf3, 0x2, 0xd, 0x5, 0x64, 0xfd, 0xf3, 0x80, 0xaa, 0xfd, 0x73, 0x2, 0xd, 0x80, 0xaa, 0x0, 0x0, 0x1, 0x0, 0xee, 0x0, 0x0, 0x3, 0x3c, 0x5, 0x9b, 0x0, 0x7, 0x0, 0x0, 0x21, 0x23, 0x11, 0x23, 0x35, 0x21, 0x15, 0x23, 0x2, 0x54, 0x7e, 0xe8, 0x2, 0x4e, 0xe8, 0x5, 0x1c, 0x7f, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc8, 0x0, 0x0, 0x5, 0x13, 0x5, 0xec, 0x0, 0x3, 0x0, 0xa, 0x0, 0x0, 0x33, 0x35, 0x21, 0x15, 0x1, 0x33, 0x9, 0x1, 0x33, 0x1, 0x23, 0xc8, 0x4, 0x4b, 0xfb, 0xf5, 0xc3, 0x1, 0x23, 0x1, 0x22, 0xc3, 0xfe, 0x98, 0xfa, 0xaa, 0xaa, 0x5, 0xec, 0xfc, 0x54, 0x3, 0xac, 0xfb, 0x5e, 0x0, 0x0, 0x2, 0x0, 0xc8, 0x0, 0x0, 0x5, 0x13, 0x5, 0xec, 0x0, 0x3, 0x0, 0xa, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x13, 0x1, 0x33, 0x1, 0x23, 0x9, 0x1, 0xc8, 0x4, 0x4b, 0xfb, 0xb5, 0x40, 0x1, 0x69, 0xfa, 0x1, 0x68, 0xc3, 0xfe, 0xde, 0xfe, 0xdd, 0x5, 0xec, 0xaa, 0xfa, 0xbe, 0x4, 0xa2, 0xfb, 0x5e, 0x3, 0xac, 0xfc, 0x54, 0x0, 0x2, 0x0, 0xc8, 0x0, 0x0, 0x5, 0x13, 0x5, 0xec, 0x0, 0x3, 0x0, 0xa, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x17, 0x33, 0x9, 0x1, 0x33, 0x1, 0x23, 0xc8, 0x4, 0x4b, 0xfb, 0xb5, 0x40, 0xc3, 0x1, 0x23, 0x1, 0x22, 0xc3, 0xfe, 0x98, 0xfa, 0x5, 0xec, 0xaa, 0xa0, 0xfc, 0x54, 0x3, 0xac, 0xfb, 0x5e, 0x0, 0x2, 0x1, 0x1b, 0x0, 0x0, 0x5, 0x99, 0x4, 0x7e, 0x0, 0xc, 0x0, 0x15, 0x0, 0x0, 0x29, 0x1, 0x11, 0x33, 0x11, 0x16, 0x17, 0x1e, 0x1, 0x17, 0x16, 0x17, 0x21, 0x1, 0x11, 0x21, 0x26, 0x27, 0x2e, 0x1, 0x27, 0x26, 0x5, 0x99, 0xfb, 0x82, 0xaa, 0x5a, 0x56, 0xa5, 0xee, 0x46, 0x25, 0x12, 0x1, 0x14, 0xfc, 0x2c, 0x2, 0x45, 0xf, 0x1b, 0x3d, 0xce, 0x8f, 0x3f, 0x4, 0x7e, 0xfe, 0xeb, 0x12, 0x25, 0x46, 0xee, 0xa4, 0x56, 0x5a, 0x2, 0x44, 0xfd, 0xbc, 0x41, 0x3f, 0x8f, 0xce, 0x3d, 0x1b, 0x0, 0x0, 0x2, 0x1, 0x1b, 0x0, 0x0, 0x5, 0x99, 0x4, 0x7e, 0x0, 0x2, 0x0, 0x7, 0x0, 0x0, 0x9, 0x1, 0x21, 0x5, 0x35, 0x1, 0x33, 0x11, 0x4, 0xef, 0xfc, 0xd6, 0x3, 0x2a, 0xfc, 0x2c, 0x3, 0xd4, 0xaa, 0x3, 0xd4, 0xfc, 0xd6, 0xaa, 0xaa, 0x3, 0xd4, 0xfb, 0x82, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xfa, 0xfe, 0x77, 0x6, 0x96, 0x5, 0xc1, 0x0, 0x6, 0x0, 0x0, 0x9, 0x1, 0x23, 0x9, 0x1, 0x23, 0x1, 0x3, 0xb7, 0x2, 0xdf, 0xcb, 0xfd, 0x7d, 0xfd, 0x7d, 0xcb, 0x2, 0xdd, 0x5, 0xc1, 0xf8, 0xb6, 0x6, 0x77, 0xf9, 0x89, 0x7, 0x4a, 0x0, 0x0, 0x1, 0xff, 0xfa, 0xfe, 0x77, 0x6, 0x96, 0x5, 0xc1, 0x0, 0x6, 0x0, 0x0, 0x9, 0x1, 0x33, 0x9, 0x1, 0x33, 0x1, 0x2, 0xd9, 0xfd, 0x21, 0xcb, 0x2, 0x83, 0x2, 0x83, 0xcb, 0xfd, 0x23, 0xfe, 0x77, 0x7, 0x4a, 0xf9, 0x89, 0x6, 0x77, 0xf8, 0xb6, 0x0, 0x0, 0x1, 0x0, 0x8c, 0xfe, 0x77, 0x6, 0x4, 0x5, 0xc1, 0x0, 0x10, 0x0, 0x1d, 0x40, 0x6, 0xc, 0xe, 0x12, 0x5, 0x3, 0x11, 0x10, 0xdc, 0xdc, 0x10, 0xdc, 0xdc, 0x31, 0x0, 0x40, 0x5, 0xd, 0x12, 0x8, 0x0, 0x11, 0x10, 0xdc, 0xcc, 0x10, 0xcc, 0x30, 0x1, 0x22, 0x4, 0x15, 0x11, 0x23, 0x11, 0x10, 0x0, 0x20, 0x0, 0x19, 0x1, 0x23, 0x11, 0x34, 0x24, 0x3, 0x48, 0xdb, 0xfe, 0xcc, 0xad, 0x1, 0xbd, 0x1, 0xfe, 0x1, 0xbd, 0xad, 0xfe, 0xcf, 0x5, 0x1d, 0xe3, 0xfc, 0xfb, 0x39, 0x4, 0xe0, 0x1, 0x42, 0x1, 0x28, 0xfe, 0xd8, 0xfe, 0xbe, 0xfb, 0x20, 0x4, 0xc7, 0xfa, 0xe5, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8c, 0xfe, 0x77, 0x6, 0x4, 0x5, 0xc1, 0x0, 0x10, 0x0, 0x1d, 0x40, 0x6, 0xc, 0xe, 0x11, 0x5, 0x3, 0x12, 0x10, 0xdc, 0xdc, 0x10, 0xdc, 0xdc, 0x31, 0x0, 0x40, 0x5, 0xd, 0x12, 0x8, 0x0, 0x11, 0x10, 0xdc, 0xcc, 0x10, 0xcc, 0x30, 0x5, 0x32, 0x24, 0x35, 0x11, 0x33, 0x11, 0x10, 0x0, 0x20, 0x0, 0x19, 0x1, 0x33, 0x11, 0x14, 0x4, 0x3, 0x48, 0xdb, 0x1, 0x34, 0xad, 0xfe, 0x43, 0xfe, 0x2, 0xfe, 0x43, 0xad, 0x1, 0x31, 0xe5, 0xe3, 0xfc, 0x4, 0xc7, 0xfb, 0x20, 0xfe, 0xbe, 0xfe, 0xd8, 0x1, 0x28, 0x1, 0x42, 0x4, 0xe0, 0xfb, 0x39, 0xfa, 0xe5, 0xff, 0xff, 0x0, 0x6, 0xfe, 0x23, 0x3, 0xee, 0x6, 0x75, 0x12, 0x6, 0xe, 0x9c, 0x0, 0x0, 0x0, 0x1, 0x0, 0xdb, 0x2, 0x48, 0x1, 0xae, 0x3, 0x46, 0x0, 0x3, 0x0, 0x12, 0xb7, 0x2, 0x83, 0x0, 0x4, 0x1, 0x19, 0x0, 0x4, 0x10, 0xd4, 0xec, 0x31, 0x0, 0x10, 0xd4, 0xec, 0x30, 0x13, 0x33, 0x15, 0x23, 0xdb, 0xd3, 0xd3, 0x3, 0x46, 0xfe, 0x0, 0x0, 0x0, 0x1, 0x0, 0xf9, 0x1, 0x31, 0x4, 0x9, 0x4, 0x19, 0x0, 0x9, 0x0, 0x0, 0x13, 0x21, 0x1b, 0x1, 0x21, 0x7, 0x13, 0x27, 0x7, 0x13, 0xf9, 0x1, 0x2b, 0x5d, 0x5e, 0x1, 0x2a, 0xf2, 0x5e, 0xf4, 0xf3, 0x5d, 0x2, 0xfd, 0x1, 0x1c, 0xfe, 0xe4, 0xb0, 0xfe, 0xe4, 0xb0, 0xb0, 0x1, 0x1c, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xd9, 0x0, 0x1e, 0x5, 0xdb, 0x4, 0xe7, 0x0, 0x3, 0x0, 0x7, 0x0, 0x19, 0x0, 0x0, 0x1, 0x33, 0x15, 0x23, 0x11, 0x33, 0x15, 0x23, 0x3, 0x21, 0x35, 0x21, 0x1, 0x37, 0x9, 0x1, 0x17, 0x1, 0x21, 0x15, 0x21, 0x1, 0x7, 0x9, 0x1, 0x27, 0x2, 0xdf, 0xf6, 0xf6, 0xf6, 0xf6, 0x52, 0xfe, 0x4c, 0x1, 0xb4, 0xfe, 0x8b, 0x78, 0x1, 0xca, 0x1, 0xca, 0x78, 0xfe, 0x8b, 0x1, 0xb4, 0xfe, 0x4c, 0x1, 0x75, 0x78, 0xfe, 0x36, 0xfe, 0x36, 0x78, 0x1, 0x13, 0xf5, 0x4, 0xc9, 0xf6, 0xfe, 0x3c, 0xaa, 0x1, 0x75, 0x78, 0xfe, 0x36, 0x1, 0xca, 0x78, 0xfe, 0x8b, 0xaa, 0xfe, 0x8b, 0x78, 0x1, 0xca, 0xfe, 0x36, 0x78, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xd9, 0xff, 0xc2, 0x7, 0x27, 0x5, 0x42, 0x0, 0x5, 0x0, 0x8, 0x0, 0xb, 0x0, 0x0, 0x17, 0x11, 0x9, 0x1, 0x11, 0x1, 0x27, 0x1, 0x11, 0x9, 0x1, 0x11, 0xd9, 0x3, 0x27, 0x3, 0x27, 0xfc, 0xd9, 0x9b, 0xfe, 0x1e, 0x3, 0x18, 0x1, 0xe2, 0x3e, 0x5, 0x80, 0xfd, 0xb0, 0x2, 0x50, 0xfa, 0x80, 0x2, 0x4e, 0x71, 0x1, 0x5e, 0xfd, 0x44, 0x1, 0x5e, 0xfe, 0xa2, 0x2, 0xc6, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xff, 0xc2, 0x7, 0x27, 0x5, 0x42, 0x0, 0x8, 0x0, 0xb, 0x0, 0x0, 0x25, 0x15, 0x9, 0x1, 0x11, 0x9, 0x1, 0x15, 0x1, 0x21, 0x1, 0x11, 0x7, 0x27, 0xfc, 0xd9, 0xfc, 0xd9, 0x3, 0x27, 0x3, 0x27, 0xfd, 0x74, 0xfe, 0xca, 0xfe, 0x1e, 0xa2, 0xe0, 0x2, 0x4e, 0xfd, 0xb2, 0x5, 0x80, 0xfd, 0xb0, 0x2, 0x50, 0xdd, 0xfe, 0x1c, 0x1, 0x5e, 0xfd, 0x44, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xff, 0xc2, 0x7, 0x27, 0x5, 0x42, 0x0, 0x8, 0x0, 0xb, 0x0, 0x0, 0x13, 0x35, 0x9, 0x1, 0x11, 0x9, 0x1, 0x35, 0x1, 0x21, 0x1, 0x11, 0xd9, 0x3, 0x27, 0x3, 0x27, 0xfc, 0xd9, 0xfc, 0xd9, 0x2, 0x8c, 0x1, 0x36, 0x1, 0xe2, 0x4, 0x62, 0xe0, 0xfd, 0xb2, 0x2, 0x4e, 0xfa, 0x80, 0x2, 0x50, 0xfd, 0xb0, 0xdd, 0x1, 0xe4, 0xfe, 0xa2, 0x2, 0xbc, 0x0, 0x0, 0x1, 0x0, 0xd9, 0xff, 0xc2, 0x7, 0x27, 0x5, 0x42, 0x0, 0x7, 0x0, 0x0, 0x17, 0x35, 0x9, 0x1, 0x35, 0x1, 0x15, 0x1, 0xd9, 0x2, 0x8c, 0xfd, 0x74, 0x6, 0x4e, 0xfc, 0xd9, 0x3e, 0xe0, 0x1, 0xe1, 0x1, 0xe2, 0xdd, 0xfb, 0x5d, 0xdd, 0x2, 0x50, 0x0, 0x0, 0x1, 0x0, 0xd9, 0xff, 0xc2, 0x7, 0x27, 0x5, 0x42, 0x0, 0x7, 0x0, 0x0, 0x5, 0x9, 0x1, 0x35, 0x1, 0x15, 0x9, 0x1, 0x7, 0x27, 0xfc, 0xd9, 0xfc, 0xd9, 0x6, 0x4e, 0xfd, 0x74, 0x2, 0x8c, 0x3e, 0x2, 0x50, 0xfd, 0xb0, 0xdd, 0x4, 0xa3, 0xdd, 0xfe, 0x1e, 0xfe, 0x1f, 0x0, 0x0, 0x2, 0x0, 0xd9, 0x1, 0x60, 0x5, 0xdb, 0x3, 0xf4, 0x0, 0x1a, 0x0, 0x1e, 0x0, 0x0, 0x13, 0x1e, 0x1, 0x33, 0x32, 0x3f, 0x2, 0x36, 0x33, 0x32, 0x16, 0x17, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x7, 0x6, 0xf, 0x1, 0x6, 0x23, 0x22, 0x26, 0x27, 0x1, 0x15, 0x21, 0x35, 0xd9, 0x67, 0xa9, 0x56, 0x5e, 0x9b, 0x16, 0xf, 0x93, 0x6e, 0x61, 0xb3, 0x69, 0x62, 0xac, 0x58, 0x5e, 0x9b, 0xf, 0x6, 0x11, 0x92, 0x6e, 0x61, 0xb3, 0x69, 0x5, 0x2, 0xfa, 0xfe, 0x3, 0xf4, 0x55, 0x4b, 0x3d, 0x9, 0x6, 0x3b, 0x45, 0x4e, 0xb2, 0x53, 0x4c, 0x3d, 0x6, 0x2, 0x7, 0x3b, 0x45, 0x4f, 0xfe, 0xc8, 0xaa, 0xaa, 0x0, 0x1, 0x0, 0x63, 0x0, 0x0, 0x5, 0x79, 0x4, 0xa2, 0x0, 0xa, 0x0, 0x0, 0x13, 0x33, 0x0, 0x13, 0x12, 0x1, 0x33, 0x0, 0x3, 0x23, 0x2, 0x63, 0xd7, 0x1, 0x75, 0x3f, 0x49, 0x1, 0x6b, 0xd7, 0xfe, 0x38, 0x66, 0xba, 0x66, 0x4, 0xa2, 0xfe, 0x90, 0xfe, 0x25, 0x1, 0xda, 0x1, 0x71, 0xfe, 0x81, 0xfc, 0xdd, 0x3, 0x23, 0x0, 0x0, 0x1, 0x0, 0x63, 0x0, 0x0, 0x5, 0x79, 0x4, 0xa2, 0x0, 0xa, 0x0, 0x0, 0x33, 0x0, 0x13, 0x33, 0x12, 0x1, 0x23, 0x0, 0x3, 0x2, 0x1, 0x63, 0x1, 0xc8, 0x66, 0xba, 0x66, 0x1, 0xc8, 0xd7, 0xfe, 0x95, 0x49, 0x3f, 0xfe, 0x8b, 0x1, 0x7f, 0x3, 0x23, 0xfc, 0xdd, 0xfe, 0x81, 0x1, 0x71, 0x1, 0xda, 0xfe, 0x25, 0xfe, 0x90, 0x0, 0x2, 0x0, 0xbe, 0xff, 0xfa, 0x5, 0xdb, 0x5, 0xa, 0x0, 0x13, 0x0, 0x29, 0x0, 0x0, 0x1, 0x21, 0x22, 0x7, 0x6, 0x15, 0x14, 0x16, 0x33, 0x21, 0x15, 0x21, 0x22, 0x27, 0x26, 0x35, 0x34, 0x36, 0x33, 0x21, 0x11, 0x21, 0x20, 0x27, 0x26, 0x11, 0x10, 0x37, 0x36, 0x29, 0x1, 0x15, 0x21, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x21, 0x5, 0xdb, 0xfd, 0x6b, 0x3a, 0x28, 0x28, 0x50, 0x3a, 0x2, 0x95, 0xfd, 0x6a, 0x80, 0x5a, 0x59, 0xb2, 0x81, 0x2, 0x96, 0xfd, 0x6b, 0xfe, 0xf1, 0xbc, 0xbd, 0xbd, 0xba, 0x1, 0xf, 0x2, 0x97, 0xfd, 0x6a, 0xc8, 0x8a, 0x8b, 0x8b, 0x8a, 0xc9, 0x2, 0x95, 0x3, 0xc, 0x28, 0x29, 0x39, 0x3a, 0x50, 0xaa, 0x5a, 0x58, 0x82, 0x80, 0xb4, 0xfc, 0x44, 0xbd, 0xbe, 0x1, 0xd, 0x1, 0xc, 0xbf, 0xbd, 0xaa, 0x8b, 0x8d, 0xc6, 0xc8, 0x8b, 0x8b, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xff, 0xfa, 0x5, 0xf6, 0x5, 0xa, 0x0, 0x13, 0x0, 0x29, 0x0, 0x0, 0x13, 0x35, 0x21, 0x32, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x21, 0x35, 0x21, 0x32, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x1, 0x35, 0x21, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x21, 0x35, 0x21, 0x20, 0x17, 0x16, 0x11, 0x10, 0x7, 0x6, 0x21, 0xd9, 0x2, 0x96, 0x81, 0xb2, 0x59, 0x5a, 0x80, 0xfd, 0x6a, 0x2, 0x95, 0x3a, 0x50, 0x28, 0x28, 0x3a, 0xfd, 0x6b, 0x2, 0x95, 0xc9, 0x8a, 0x8b, 0x8b, 0x8a, 0xc8, 0xfd, 0x6a, 0x2, 0x97, 0x1, 0xf, 0xba, 0xbd, 0xbd, 0xbc, 0xfe, 0xf1, 0x3, 0xc, 0xaa, 0xb4, 0x80, 0x82, 0x58, 0x5a, 0xaa, 0x50, 0x3a, 0x39, 0x29, 0x28, 0xfc, 0xee, 0xaa, 0x8b, 0x8b, 0xc8, 0xc6, 0x8d, 0x8b, 0xaa, 0xbd, 0xbf, 0xfe, 0xf4, 0xfe, 0xf3, 0xbe, 0xbd, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd2, 0x0, 0x0, 0x5, 0xe2, 0x5, 0x4e, 0x0, 0x11, 0x0, 0x24, 0x0, 0x0, 0x21, 0x11, 0x34, 0x26, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x34, 0x37, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x21, 0x11, 0x10, 0x0, 0x20, 0x17, 0x16, 0x19, 0x1, 0x23, 0x11, 0x34, 0x27, 0x26, 0x20, 0x7, 0x6, 0x15, 0x11, 0x3, 0xe4, 0x50, 0x74, 0x50, 0xaa, 0x5a, 0x58, 0x82, 0x80, 0xb4, 0xfc, 0x44, 0x1, 0x7c, 0x2, 0x18, 0xc0, 0xbc, 0xaa, 0x8a, 0x8c, 0xfe, 0x70, 0x8a, 0x8c, 0x2, 0xc6, 0x3a, 0x50, 0x50, 0x3a, 0xfd, 0x3a, 0x2, 0xc8, 0x80, 0x5a, 0x58, 0xb2, 0x80, 0xfd, 0x38, 0x2, 0xc6, 0x1, 0x10, 0x1, 0x78, 0xbc, 0xba, 0xfe, 0xf0, 0xfd, 0x38, 0x2, 0xc8, 0xc8, 0x8a, 0x8a, 0x8a, 0x8a, 0xca, 0xfd, 0x3a, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd2, 0xff, 0xe3, 0x5, 0xe2, 0x5, 0x31, 0x0, 0x11, 0x0, 0x24, 0x0, 0x0, 0x1, 0x11, 0x14, 0x16, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x7, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x21, 0x11, 0x10, 0x0, 0x20, 0x27, 0x26, 0x19, 0x1, 0x33, 0x11, 0x14, 0x17, 0x16, 0x20, 0x37, 0x36, 0x35, 0x11, 0x2, 0xd0, 0x50, 0x74, 0x50, 0xaa, 0x5a, 0x58, 0x82, 0x80, 0xb4, 0x3, 0xbc, 0xfe, 0x84, 0xfd, 0xe8, 0xc0, 0xbc, 0xaa, 0x8a, 0x8c, 0x1, 0x90, 0x8a, 0x8c, 0x5, 0x31, 0xfd, 0x3a, 0x3a, 0x50, 0x50, 0x3a, 0x2, 0xc6, 0xfd, 0x38, 0x80, 0x5a, 0x58, 0xb2, 0x80, 0x2, 0xc8, 0xfd, 0x3a, 0xfe, 0xf0, 0xfe, 0x88, 0xbc, 0xba, 0x1, 0x10, 0x2, 0xc8, 0xfd, 0x38, 0xc8, 0x8a, 0x8a, 0x8a, 0x8a, 0xca, 0x2, 0xc6, 0x0, 0x1, 0x1, 0x7c, 0x0, 0x0, 0x5, 0x38, 0x5, 0xd5, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x34, 0x27, 0x26, 0x27, 0x11, 0x23, 0x11, 0x6, 0x7, 0x6, 0x15, 0x11, 0x23, 0x11, 0x34, 0x37, 0x36, 0x37, 0x11, 0x33, 0x11, 0x16, 0x17, 0x16, 0x15, 0x11, 0x23, 0x4, 0x8e, 0x5a, 0x3a, 0x4b, 0xaa, 0x4b, 0x3a, 0x5a, 0xaa, 0x8c, 0x6c, 0x91, 0xaa, 0x93, 0x6c, 0x8a, 0xaa, 0x2, 0x9f, 0x80, 0x59, 0x3a, 0x14, 0xfc, 0x3a, 0x3, 0xc6, 0x13, 0x3a, 0x5a, 0x80, 0xfd, 0x61, 0x2, 0x9d, 0xc8, 0x8c, 0x6c, 0x17, 0x1, 0x61, 0xfe, 0x9f, 0x17, 0x6c, 0x8a, 0xc8, 0xfd, 0x61, 0x0, 0x2, 0x0, 0xd9, 0xff, 0x34, 0x5, 0xdb, 0x5, 0xd5, 0x0, 0x1b, 0x0, 0x1f, 0x0, 0x0, 0x5, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x27, 0x35, 0x23, 0x15, 0x4, 0x59, 0xaa, 0xaa, 0xaa, 0xfe, 0x7e, 0x1, 0x82, 0xfe, 0x7e, 0x1, 0x82, 0xaa, 0xaa, 0xaa, 0x1, 0x82, 0xfe, 0x7e, 0x1, 0x82, 0xfe, 0x7e, 0xaa, 0xaa, 0xcc, 0x2, 0x2c, 0xfd, 0xd4, 0x2, 0x2c, 0xaa, 0xf0, 0xa8, 0x2, 0x33, 0xfd, 0xcd, 0x2, 0x33, 0xfd, 0xcd, 0xa8, 0xf0, 0xaa, 0xaa, 0xf0, 0xf0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0x0, 0x5e, 0x5, 0xdb, 0x4, 0xa6, 0x0, 0x3, 0x0, 0xa, 0x0, 0x0, 0x1, 0x33, 0x15, 0x23, 0x9, 0x2, 0x15, 0x1, 0x35, 0x1, 0x4, 0xa4, 0xd3, 0xd3, 0x1, 0x37, 0xfb, 0xf8, 0x4, 0x8, 0xfa, 0xfe, 0x5, 0x2, 0x3, 0x0, 0xfe, 0x1, 0xee, 0xfe, 0x91, 0xfe, 0x93, 0xb6, 0x1, 0xd1, 0xa6, 0x1, 0xd1, 0x0, 0x0, 0x2, 0x0, 0xd9, 0x0, 0x5e, 0x5, 0xdb, 0x4, 0xa6, 0x0, 0x3, 0x0, 0xa, 0x0, 0x0, 0x1, 0x33, 0x15, 0x23, 0x3, 0x35, 0x1, 0x15, 0x1, 0x35, 0x1, 0x1, 0x3d, 0xd3, 0xd3, 0x64, 0x5, 0x2, 0xfa, 0xfe, 0x4, 0x6, 0x3, 0x0, 0xfe, 0x1, 0xee, 0xb6, 0xfe, 0x2f, 0xa6, 0xfe, 0x2f, 0xb6, 0x1, 0x6d, 0x0, 0x3, 0x0, 0x94, 0x0, 0x2e, 0xa, 0xcc, 0x4, 0xdf, 0x0, 0x6, 0x0, 0xd, 0x0, 0x14, 0x0, 0x0, 0x9, 0x2, 0x15, 0x1, 0x35, 0x1, 0x5, 0x9, 0x1, 0x15, 0x1, 0x35, 0x1, 0x5, 0x9, 0x1, 0x15, 0x1, 0x35, 0x1, 0xa, 0xcc, 0xfc, 0xc6, 0x3, 0x3a, 0xfb, 0xca, 0x4, 0x36, 0xfd, 0x0, 0xfc, 0xc6, 0x3, 0x3a, 0xfb, 0xca, 0x4, 0x36, 0xfc, 0xfe, 0xfc, 0xc6, 0x3, 0x3a, 0xfb, 0xca, 0x4, 0x36, 0x4, 0x11, 0xfe, 0x70, 0xfe, 0x72, 0xc5, 0x2, 0x8, 0x9f, 0x2, 0xa, 0xce, 0xfe, 0x70, 0xfe, 0x72, 0xc5, 0x2, 0x8, 0x9f, 0x2, 0xa, 0xce, 0xfe, 0x70, 0xfe, 0x72, 0xc5, 0x2, 0x8, 0x9f, 0x2, 0xa, 0x0, 0x0, 0x0, 0x3, 0x0, 0x94, 0x0, 0x2e, 0xa, 0xcc, 0x4, 0xdf, 0x0, 0x6, 0x0, 0xd, 0x0, 0x14, 0x0, 0x0, 0x13, 0x35, 0x1, 0x15, 0x1, 0x35, 0x1, 0x3, 0x35, 0x1, 0x15, 0x1, 0x35, 0x1, 0x3, 0x35, 0x1, 0x15, 0x1, 0x35, 0x1, 0x94, 0x4, 0x36, 0xfb, 0xca, 0x3, 0x3a, 0x38, 0x4, 0x36, 0xfb, 0xca, 0x3, 0x3a, 0x3a, 0x4, 0x36, 0xfb, 0xca, 0x3, 0x3a, 0x4, 0x11, 0xce, 0xfd, 0xf6, 0x9f, 0xfd, 0xf8, 0xc5, 0x1, 0x8e, 0x1, 0x90, 0xce, 0xfd, 0xf6, 0x9f, 0xfd, 0xf8, 0xc5, 0x1, 0x8e, 0x1, 0x90, 0xce, 0xfd, 0xf6, 0x9f, 0xfd, 0xf8, 0xc5, 0x1, 0x8e, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xd9, 0xfe, 0x2e, 0x5, 0xdb, 0x6, 0xd4, 0x0, 0x6, 0x0, 0xa, 0x0, 0x11, 0x0, 0x0, 0x13, 0x9, 0x1, 0x35, 0x1, 0x15, 0x9, 0x1, 0x21, 0x35, 0x21, 0x11, 0x9, 0x1, 0x15, 0x1, 0x35, 0x1, 0xd9, 0x3, 0xc1, 0xfc, 0x3f, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfc, 0x40, 0x3, 0xc0, 0xfa, 0xfe, 0x5, 0x2, 0xfe, 0xde, 0x1, 0x15, 0x1, 0x12, 0xb2, 0xfe, 0x90, 0xaa, 0xfe, 0x91, 0x3, 0xfe, 0xaa, 0x3, 0x4e, 0xfe, 0xeb, 0xfe, 0xee, 0xb2, 0x1, 0x70, 0xaa, 0x1, 0x6f, 0x0, 0x0, 0x0, 0x3, 0x0, 0xd9, 0xfe, 0x2e, 0x5, 0xdb, 0x6, 0xd4, 0x0, 0x6, 0x0, 0xa, 0x0, 0x11, 0x0, 0x0, 0x1, 0x15, 0x1, 0x35, 0x1, 0x15, 0x9, 0x1, 0x35, 0x21, 0x15, 0x1, 0x35, 0x1, 0x15, 0x1, 0x35, 0x1, 0x5, 0xdb, 0xfa, 0xfe, 0x5, 0x2, 0xfc, 0x3f, 0xfe, 0xbf, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x3, 0xc0, 0xfe, 0xde, 0xb0, 0x1, 0x6f, 0xaa, 0x1, 0x70, 0xb2, 0xfe, 0xee, 0x2, 0x39, 0xaa, 0xaa, 0x3, 0xf8, 0xb0, 0xfe, 0x91, 0xaa, 0xfe, 0x90, 0xb2, 0x1, 0x12, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0x0, 0x0, 0x5, 0xdb, 0x4, 0xa8, 0x0, 0x6, 0x0, 0xa, 0x0, 0x0, 0x25, 0x15, 0x1, 0x35, 0x1, 0x15, 0x9, 0x1, 0x35, 0x21, 0x15, 0x5, 0xdb, 0xfa, 0xfe, 0x5, 0x2, 0xfc, 0x40, 0xfe, 0xbe, 0x5, 0x2, 0xb0, 0xb0, 0x1, 0x6f, 0xaa, 0x1, 0x70, 0xb2, 0xfe, 0xee, 0x2, 0x39, 0xaa, 0xaa, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0x0, 0x0, 0x5, 0xdb, 0x4, 0xa8, 0x0, 0x6, 0x0, 0xa, 0x0, 0x0, 0x37, 0x9, 0x1, 0x35, 0x1, 0x15, 0x9, 0x1, 0x21, 0x35, 0x21, 0xd9, 0x3, 0xc1, 0xfc, 0x3f, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xb0, 0x1, 0x15, 0x1, 0x12, 0xb2, 0xfe, 0x90, 0xaa, 0xfe, 0x91, 0x3, 0xfe, 0xaa, 0x0, 0x2, 0x0, 0xd9, 0xff, 0x29, 0x5, 0xdb, 0x5, 0x57, 0x0, 0x5, 0x0, 0x10, 0x0, 0x0, 0x1, 0x0, 0x5, 0x35, 0x24, 0x1, 0x11, 0x15, 0x0, 0x25, 0x35, 0x24, 0x1, 0x15, 0x0, 0x5, 0x4, 0x5, 0xdb, 0xfe, 0x54, 0xfc, 0xaa, 0x3, 0x69, 0x1, 0x99, 0xfe, 0x81, 0xfc, 0x7d, 0x3, 0x83, 0x1, 0x7f, 0xfe, 0x81, 0xfe, 0x24, 0x1, 0xdc, 0x4, 0x80, 0xfe, 0x5f, 0x85, 0xae, 0x91, 0x1, 0xbe, 0xfa, 0xa9, 0xd7, 0x1, 0x80, 0x7c, 0xa6, 0x84, 0x1, 0x78, 0xd7, 0xfe, 0xe5, 0x5d, 0x5d, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xff, 0x29, 0x5, 0xdb, 0x5, 0x57, 0x0, 0x5, 0x0, 0x10, 0x0, 0x0, 0x13, 0x35, 0x0, 0x5, 0x15, 0x24, 0x1, 0x0, 0x25, 0x24, 0x1, 0x35, 0x0, 0x5, 0x15, 0x4, 0x1, 0xd9, 0x1, 0x99, 0x3, 0x69, 0xfc, 0xaa, 0xfe, 0x54, 0x1, 0x7f, 0x1, 0xdc, 0xfe, 0x24, 0xfe, 0x81, 0x1, 0x7f, 0x3, 0x83, 0xfc, 0x7d, 0xfe, 0x81, 0x4, 0x80, 0xd7, 0xfe, 0x42, 0x91, 0xae, 0x85, 0xfd, 0x21, 0x1, 0x1b, 0x5d, 0x5d, 0x1, 0x1b, 0xd7, 0xfe, 0x88, 0x84, 0xa6, 0x7c, 0xfe, 0x80, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xfe, 0x93, 0x5, 0xdb, 0x6, 0x1d, 0x0, 0x21, 0x0, 0x26, 0x0, 0x0, 0x21, 0x15, 0x0, 0x25, 0x1, 0x27, 0x1, 0x26, 0x27, 0x35, 0x4, 0x17, 0x37, 0x26, 0x25, 0x35, 0x24, 0x25, 0x13, 0x17, 0x3, 0x36, 0x37, 0x15, 0x6, 0xf, 0x1, 0x4, 0x17, 0x15, 0x26, 0x25, 0x7, 0x4, 0x1, 0x37, 0x6, 0x7, 0x16, 0x5, 0xdb, 0xfe, 0xf3, 0xfe, 0x2a, 0xfe, 0xe3, 0x82, 0x1, 0xf, 0xba, 0xd5, 0x0, 0xff, 0xda, 0x3f, 0xf0, 0xfe, 0xd8, 0x1, 0xb5, 0x1, 0x3b, 0xf6, 0x83, 0xa6, 0xbd, 0x82, 0xc8, 0xe2, 0x69, 0x1, 0x1d, 0xf6, 0xda, 0xfe, 0x80, 0x40, 0x1, 0x9a, 0xfe, 0x5d, 0x30, 0x71, 0x77, 0x5e, 0xd7, 0x1, 0x25, 0xa4, 0xfd, 0xa1, 0x4b, 0x2, 0x41, 0x36, 0x23, 0xae, 0x28, 0x41, 0x87, 0x46, 0x2b, 0xa6, 0x3c, 0x7a, 0x2, 0xc, 0x4b, 0xfe, 0x9f, 0x64, 0x82, 0xd7, 0x94, 0x60, 0xdf, 0x67, 0xb6, 0xd7, 0xd6, 0x87, 0x88, 0x94, 0x1, 0xe2, 0x66, 0x23, 0x17, 0x12, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xfe, 0x93, 0x5, 0xdb, 0x6, 0x1d, 0x0, 0x21, 0x0, 0x26, 0x0, 0x0, 0x13, 0x35, 0x16, 0x5, 0x1, 0x17, 0x1, 0x16, 0x17, 0x15, 0x4, 0x5, 0x7, 0x24, 0x25, 0x15, 0x4, 0x5, 0x3, 0x27, 0x13, 0x6, 0x7, 0x35, 0x36, 0x3f, 0x1, 0x4, 0x7, 0x35, 0x24, 0x25, 0x37, 0x24, 0x5, 0x7, 0x36, 0x37, 0x26, 0xd9, 0xfa, 0x1, 0xd8, 0x1, 0x14, 0x83, 0xfe, 0xfc, 0xbf, 0xde, 0xfe, 0xb8, 0xfe, 0xfc, 0x58, 0x1, 0x27, 0x1, 0x7d, 0xfe, 0x38, 0xfe, 0xb6, 0xee, 0x82, 0x8f, 0x9a, 0x75, 0xa6, 0xe6, 0x63, 0xfe, 0xcc, 0xbb, 0x1, 0x12, 0x1, 0x42, 0x38, 0xfe, 0x9e, 0x1, 0xf6, 0xd, 0x23, 0x25, 0x1e, 0x4, 0x80, 0xd7, 0xfb, 0x8c, 0x2, 0x4d, 0x4b, 0xfd, 0xd6, 0x2e, 0x1f, 0xa6, 0x30, 0x51, 0xbd, 0x74, 0x3b, 0xae, 0x4c, 0x9e, 0xfe, 0x5, 0x4b, 0x1, 0x31, 0x67, 0x7f, 0xd7, 0xa2, 0x76, 0xd5, 0x7d, 0xb7, 0xd7, 0xcb, 0x69, 0x77, 0x69, 0x90, 0x1b, 0x8, 0x7, 0x6, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xfe, 0xdf, 0x5, 0xdb, 0x6, 0x23, 0x0, 0x17, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x17, 0x7, 0x21, 0x15, 0x21, 0x3, 0x21, 0x15, 0x21, 0x7, 0x21, 0x15, 0x21, 0x3, 0x27, 0x37, 0x21, 0x35, 0x21, 0x37, 0x21, 0x11, 0x21, 0x1, 0x13, 0x21, 0x11, 0x4, 0x4d, 0xa0, 0x58, 0x1, 0x46, 0xfe, 0x7d, 0xdd, 0x2, 0x60, 0xfd, 0x63, 0x2e, 0x2, 0xcb, 0xfc, 0xf8, 0x6d, 0xa0, 0x58, 0xfe, 0xbb, 0x1, 0x82, 0x2e, 0xfe, 0x50, 0x3, 0x7, 0xfe, 0xe6, 0xdd, 0xfd, 0xe0, 0x6, 0x23, 0x3a, 0xf5, 0xaa, 0xfd, 0x98, 0xaa, 0x80, 0xaa, 0xfe, 0xd1, 0x3a, 0xf5, 0xaa, 0x80, 0x3, 0xbc, 0xfc, 0xee, 0x2, 0x68, 0xfd, 0x98, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xfe, 0xdf, 0x5, 0xdb, 0x6, 0x23, 0x0, 0x17, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x17, 0x7, 0x21, 0x11, 0x21, 0x7, 0x21, 0x15, 0x21, 0x3, 0x27, 0x37, 0x21, 0x35, 0x21, 0x37, 0x21, 0x35, 0x21, 0x13, 0x21, 0x35, 0x21, 0x17, 0x3, 0x21, 0x11, 0x4, 0x4d, 0xa0, 0x58, 0x1, 0x46, 0xfd, 0x63, 0x2e, 0x2, 0xcb, 0xfc, 0xf8, 0x6d, 0xa0, 0x58, 0xfe, 0xbb, 0x1, 0x82, 0x2e, 0xfe, 0x50, 0x1, 0xed, 0xdd, 0xfd, 0x36, 0x3, 0x7, 0x78, 0xdd, 0x1, 0xb6, 0x6, 0x23, 0x3a, 0xf5, 0xfc, 0x44, 0x80, 0xaa, 0xfe, 0xd1, 0x3a, 0xf5, 0xaa, 0x80, 0xaa, 0x2, 0x68, 0xaa, 0xaa, 0xfd, 0x98, 0x2, 0x68, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd9, 0xff, 0x3f, 0x5, 0xdb, 0x4, 0xf4, 0x0, 0x14, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x17, 0x7, 0x21, 0x15, 0x21, 0x7, 0x27, 0x37, 0x21, 0x35, 0x21, 0x37, 0x21, 0xd9, 0x5, 0x2, 0xfb, 0xa8, 0x4, 0x58, 0xfe, 0x55, 0x1b, 0x4d, 0x1, 0xdd, 0xfd, 0xab, 0x92, 0x8b, 0x4d, 0xfe, 0x23, 0x2, 0x55, 0x5a, 0xfd, 0x51, 0x4, 0xf4, 0xaa, 0xfd, 0x98, 0xaa, 0x13, 0x6d, 0xaa, 0xcf, 0x62, 0x6d, 0xaa, 0x80, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd9, 0xff, 0x3f, 0x5, 0xdb, 0x4, 0xf4, 0x0, 0x14, 0x0, 0x0, 0x25, 0x15, 0x21, 0x7, 0x27, 0x37, 0x21, 0x35, 0x21, 0x37, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x17, 0x7, 0x5, 0xdb, 0xfd, 0xab, 0x92, 0x8b, 0x4d, 0xfe, 0x23, 0x2, 0x55, 0x5a, 0xfd, 0x51, 0x4, 0x58, 0xfb, 0xa8, 0x5, 0x2, 0xfe, 0x55, 0x1b, 0x4d, 0xb8, 0xaa, 0xcf, 0x62, 0x6d, 0xaa, 0x80, 0xaa, 0x2, 0x68, 0xaa, 0xfc, 0x44, 0x13, 0x6d, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xfe, 0xe5, 0x5, 0xdc, 0x4, 0xa8, 0x0, 0x1b, 0x0, 0x22, 0x0, 0x0, 0x25, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x37, 0x17, 0x7, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x7, 0x27, 0x9, 0x2, 0x15, 0x1, 0x35, 0x1, 0x2, 0xe6, 0x63, 0x43, 0x58, 0xac, 0x62, 0x68, 0xb4, 0x60, 0x5e, 0x78, 0x6e, 0x9b, 0x69, 0x65, 0x45, 0x56, 0xa8, 0x68, 0x6a, 0xb2, 0x62, 0x5f, 0x7a, 0x6c, 0x9b, 0x3, 0x5d, 0xfc, 0x40, 0x3, 0xc0, 0xfa, 0xfe, 0x5, 0x2, 0x11, 0x1f, 0x4c, 0x54, 0xb4, 0x4e, 0x44, 0x2a, 0xf3, 0x46, 0xe9, 0x20, 0x4a, 0x56, 0xb4, 0x4e, 0x44, 0x2b, 0xf0, 0x46, 0x4, 0xcd, 0xfe, 0xeb, 0xfe, 0xee, 0xb2, 0x1, 0x70, 0xaa, 0x1, 0x6f, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xfe, 0xe5, 0x5, 0xdc, 0x4, 0xa8, 0x0, 0x1b, 0x0, 0x22, 0x0, 0x0, 0x25, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x37, 0x17, 0x7, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x7, 0x27, 0x1, 0x35, 0x1, 0x15, 0x1, 0x35, 0x1, 0x2, 0xe6, 0x63, 0x43, 0x58, 0xac, 0x62, 0x68, 0xb4, 0x60, 0x5e, 0x78, 0x6e, 0x9b, 0x69, 0x65, 0x45, 0x56, 0xa8, 0x68, 0x6a, 0xb2, 0x62, 0x5f, 0x7a, 0x6c, 0x9b, 0xfe, 0x5b, 0x5, 0x2, 0xfa, 0xfe, 0x3, 0xc0, 0x11, 0x1f, 0x4c, 0x54, 0xb4, 0x4e, 0x44, 0x2a, 0xf3, 0x46, 0xe9, 0x20, 0x4a, 0x56, 0xb4, 0x4e, 0x44, 0x2b, 0xf0, 0x46, 0x4, 0xcd, 0xb0, 0xfe, 0x91, 0xaa, 0xfe, 0x90, 0xb2, 0x1, 0x12, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xfe, 0xa6, 0x5, 0xdb, 0x5, 0x57, 0x0, 0x1b, 0x0, 0x26, 0x0, 0x0, 0x5, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x37, 0x17, 0x7, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x7, 0x27, 0x1, 0x0, 0x5, 0x4, 0x1, 0x15, 0x0, 0x25, 0x35, 0x24, 0x1, 0x2, 0xe6, 0x63, 0x44, 0x58, 0xac, 0x62, 0x69, 0xb3, 0x61, 0x5d, 0x79, 0x6d, 0x9b, 0x69, 0x65, 0x45, 0x56, 0xa9, 0x67, 0x69, 0xb3, 0x61, 0x60, 0x79, 0x6c, 0x9b, 0x3, 0x5d, 0xfe, 0x81, 0xfe, 0x24, 0x1, 0xdc, 0x1, 0x7f, 0xfe, 0x81, 0xfc, 0x7d, 0x3, 0x83, 0x1, 0x7f, 0x2e, 0x20, 0x4c, 0x54, 0xb3, 0x4e, 0x45, 0x2b, 0xf3, 0x46, 0xe9, 0x20, 0x4b, 0x55, 0xb3, 0x4e, 0x45, 0x2c, 0xf1, 0x46, 0x5, 0x94, 0xfe, 0xe5, 0x5d, 0x5d, 0xfe, 0xe5, 0xd7, 0x1, 0x78, 0x84, 0xa6, 0x7c, 0x1, 0x80, 0x0, 0x2, 0x0, 0xe1, 0xfe, 0xa2, 0x5, 0xe3, 0x5, 0x57, 0x0, 0x1b, 0x0, 0x26, 0x0, 0x0, 0x5, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x37, 0x17, 0x7, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x7, 0x27, 0x1, 0x35, 0x0, 0x5, 0x15, 0x4, 0x1, 0x35, 0x0, 0x25, 0x24, 0x2, 0xee, 0x63, 0x44, 0x58, 0xac, 0x62, 0x69, 0xb3, 0x61, 0x5d, 0x79, 0x6d, 0x9b, 0x69, 0x65, 0x45, 0x56, 0xa9, 0x67, 0x69, 0xb3, 0x61, 0x60, 0x79, 0x6c, 0x9b, 0xfe, 0x5b, 0x1, 0x7f, 0x3, 0x83, 0xfc, 0x7d, 0xfe, 0x81, 0x1, 0x7f, 0x1, 0xdc, 0xfe, 0x24, 0x33, 0x20, 0x4c, 0x54, 0xb3, 0x4e, 0x45, 0x2b, 0xf4, 0x46, 0xea, 0x20, 0x4b, 0x55, 0xb3, 0x4e, 0x45, 0x2c, 0xf0, 0x46, 0x5, 0x98, 0xd7, 0xfe, 0x80, 0x7c, 0xa6, 0x84, 0xfe, 0x88, 0xd7, 0x1, 0x1b, 0x5d, 0x5d, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xd9, 0xfe, 0xf6, 0x5, 0xdb, 0x6, 0xc, 0x0, 0xb, 0x0, 0xf, 0x0, 0x12, 0x0, 0x0, 0x1, 0x17, 0x3, 0x37, 0x11, 0x25, 0x3, 0x27, 0x13, 0x25, 0x35, 0x9, 0x1, 0x11, 0x7, 0x3, 0x27, 0x13, 0x5, 0x4, 0xe7, 0x9e, 0x83, 0xd9, 0xfd, 0xb9, 0xdb, 0x9e, 0xdc, 0xfd, 0xe2, 0x3, 0x4c, 0x1, 0xc, 0x8b, 0xd0, 0x9e, 0x91, 0xfe, 0xa, 0x6, 0xc, 0x40, 0xfe, 0xc1, 0x59, 0xfb, 0x38, 0xf0, 0xfd, 0xe8, 0x40, 0x2, 0x19, 0xe0, 0xa6, 0x1, 0x5c, 0xfc, 0xef, 0x2, 0xc4, 0x39, 0xfe, 0x4, 0x40, 0x1, 0x61, 0xce, 0x0, 0x3, 0x0, 0xd9, 0xfe, 0xf6, 0x5, 0xdb, 0x6, 0xc, 0x0, 0xb, 0x0, 0xf, 0x0, 0x12, 0x0, 0x0, 0x1, 0x27, 0x13, 0x7, 0x11, 0x5, 0x13, 0x17, 0x3, 0x5, 0x15, 0x9, 0x1, 0x11, 0x37, 0x13, 0x17, 0x3, 0x25, 0x1, 0xcd, 0x9e, 0x83, 0xd9, 0x2, 0x47, 0xdb, 0x9e, 0xdc, 0x2, 0x1e, 0xfc, 0xb4, 0xfe, 0xf4, 0x8b, 0xd0, 0x9e, 0x91, 0x1, 0xf6, 0xfe, 0xf6, 0x40, 0x1, 0x3f, 0x59, 0x4, 0xc8, 0xf0, 0x2, 0x18, 0x40, 0xfd, 0xe7, 0xe0, 0xa6, 0xfe, 0xa4, 0x3, 0x11, 0xfd, 0x3c, 0x39, 0x1, 0xfc, 0x40, 0xfe, 0x9f, 0xce, 0x0, 0x3, 0x0, 0xd9, 0xfe, 0x7d, 0x5, 0xdb, 0x6, 0x85, 0x0, 0x3, 0x0, 0x17, 0x0, 0x1a, 0x0, 0x0, 0x1, 0x11, 0x7, 0x3, 0x1, 0x35, 0x21, 0x13, 0x25, 0x35, 0x1, 0x13, 0x17, 0x3, 0x37, 0x11, 0x25, 0x3, 0x21, 0x15, 0x21, 0x3, 0x27, 0x37, 0x1, 0x13, 0x5, 0x5, 0x31, 0x8e, 0xcf, 0xfd, 0x5, 0x1, 0x7c, 0xa0, 0xfd, 0xe4, 0x3, 0x49, 0xc1, 0x9e, 0x81, 0xdb, 0xfd, 0xb7, 0x85, 0x2, 0xce, 0xfc, 0xec, 0x76, 0x9e, 0x5c, 0x1, 0x27, 0x90, 0xfe, 0xd, 0x1, 0x9e, 0x2, 0xc4, 0x3a, 0xfe, 0x5, 0xfd, 0x71, 0xaa, 0x1, 0x86, 0xdf, 0xa6, 0x1, 0x5b, 0x1, 0xd7, 0x40, 0xfe, 0xc5, 0x5a, 0xfb, 0x38, 0xf1, 0xfe, 0xbb, 0xaa, 0xfe, 0xdf, 0x40, 0xe1, 0x2, 0xd0, 0x1, 0x5f, 0xcd, 0x0, 0x0, 0x0, 0x3, 0x0, 0xd5, 0xfe, 0x7d, 0x5, 0xd7, 0x6, 0x85, 0x0, 0x13, 0x0, 0x17, 0x0, 0x1a, 0x0, 0x0, 0x37, 0x11, 0x1, 0x13, 0x17, 0x3, 0x5, 0x15, 0x1, 0x3, 0x21, 0x15, 0x21, 0x3, 0x27, 0x37, 0x23, 0x35, 0x21, 0x37, 0x1, 0x25, 0x11, 0x25, 0x1, 0x3, 0x25, 0xd5, 0x2, 0xa5, 0xe9, 0x9e, 0xe9, 0x1, 0xbf, 0xfd, 0x39, 0x83, 0x3, 0x4a, 0xfc, 0x70, 0x76, 0x9e, 0x5c, 0xba, 0x1, 0x0, 0x5d, 0x1, 0x7, 0xfe, 0x46, 0x1, 0x10, 0x1, 0x47, 0x6a, 0x1, 0x71, 0x9c, 0x4, 0xc8, 0xfe, 0xe9, 0x2, 0x38, 0x40, 0xfd, 0xc7, 0xb9, 0xa6, 0xfe, 0xdb, 0xfe, 0xc0, 0xaa, 0xfe, 0xdf, 0x40, 0xe1, 0xaa, 0xe4, 0x2, 0x81, 0xb5, 0xfd, 0x3c, 0x70, 0x1, 0x5e, 0xfe, 0xfc, 0x98, 0xff, 0xff, 0x3, 0x96, 0xff, 0x42, 0x4, 0x69, 0x5, 0xb8, 0x10, 0x27, 0xd, 0x4a, 0x2, 0xbb, 0xfc, 0xfa, 0x10, 0x27, 0xd, 0x4a, 0x2, 0xbb, 0x2, 0x72, 0x10, 0x7, 0xd, 0x4a, 0x2, 0xbb, 0xff, 0xb6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xec, 0x1, 0xfe, 0x7, 0x13, 0x2, 0xfc, 0x10, 0x26, 0xd, 0x4a, 0x11, 0xb6, 0x10, 0x27, 0xd, 0x4a, 0x2, 0xbb, 0xff, 0xb6, 0x10, 0x7, 0xd, 0x4a, 0x5, 0x65, 0xff, 0xb6, 0xff, 0xff, 0x0, 0xec, 0xff, 0x42, 0x7, 0x13, 0x5, 0xb8, 0x10, 0x27, 0xd, 0x4a, 0x0, 0x11, 0xfc, 0xfa, 0x10, 0x27, 0xd, 0x4a, 0x5, 0x65, 0x2, 0x72, 0x10, 0x7, 0xd, 0x4a, 0x2, 0xbb, 0xff, 0xb6, 0x0, 0x0, 0xff, 0xff, 0x0, 0xec, 0xff, 0x42, 0x7, 0x13, 0x5, 0xb8, 0x10, 0x27, 0xd, 0x4a, 0x5, 0x65, 0xfc, 0xfa, 0x10, 0x27, 0xd, 0x4a, 0x0, 0x11, 0x2, 0x72, 0x10, 0x7, 0xd, 0x4a, 0x2, 0xbb, 0xff, 0xb6, 0x0, 0x0, 0x0, 0x1, 0x0, 0x58, 0xff, 0xec, 0x7, 0xa8, 0x5, 0xae, 0x0, 0x21, 0x0, 0x0, 0x1, 0x21, 0x35, 0x21, 0x36, 0x37, 0x36, 0x24, 0x33, 0x21, 0x15, 0x21, 0x6, 0x7, 0x6, 0x7, 0x6, 0x7, 0x21, 0x15, 0x21, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x21, 0x15, 0x21, 0x22, 0x24, 0x27, 0x26, 0x2, 0x14, 0xfe, 0x44, 0x1, 0xba, 0xf, 0x4d, 0x5e, 0x1, 0x64, 0xc0, 0x2, 0xb8, 0xfd, 0x47, 0x93, 0x8a, 0x8a, 0x4b, 0x41, 0x8, 0x4, 0xf4, 0xfb, 0xe, 0x7, 0x40, 0x4a, 0x8b, 0x8a, 0x93, 0x2, 0xb9, 0xfd, 0x48, 0xc0, 0xfe, 0x9c, 0x5e, 0x48, 0x2, 0x73, 0xa0, 0x94, 0x8f, 0xb0, 0xc8, 0x9f, 0x1, 0x4d, 0x4f, 0x8a, 0x78, 0x5d, 0xa0, 0x4a, 0x78, 0x8b, 0x4e, 0x4c, 0x1, 0x9f, 0xc6, 0xb0, 0x85, 0x0, 0x0, 0x0, 0x1, 0x0, 0xaf, 0xff, 0xec, 0x6, 0x49, 0x5, 0xae, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x16, 0x12, 0x4, 0x17, 0x21, 0x15, 0x21, 0x22, 0x24, 0x2, 0x10, 0x12, 0x24, 0x33, 0x21, 0x15, 0x21, 0x6, 0x4, 0x2, 0x7, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x1, 0x57, 0x7, 0x89, 0x1, 0x16, 0x93, 0x2, 0xb9, 0xfd, 0x47, 0xc0, 0xfe, 0x9d, 0xbe, 0xbe, 0x1, 0x63, 0xc0, 0x2, 0xb9, 0xfd, 0x47, 0x93, 0xfe, 0xeb, 0x8b, 0x9, 0x4, 0x55, 0xa0, 0xa0, 0x2, 0x73, 0x4a, 0xfe, 0xfd, 0x9a, 0x1, 0x9f, 0xc6, 0x1, 0x60, 0x1, 0x74, 0x1, 0x60, 0xc8, 0x9f, 0x1, 0x9c, 0xfe, 0xfe, 0x5d, 0x1, 0x10, 0xfd, 0x40, 0x1, 0x10, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd9, 0x0, 0x9b, 0x4, 0xe5, 0x4, 0x67, 0x0, 0x19, 0x0, 0x0, 0x25, 0x20, 0x24, 0x10, 0x24, 0x29, 0x1, 0x15, 0x21, 0x22, 0x7, 0x6, 0x7, 0x21, 0x35, 0x33, 0x11, 0x23, 0x35, 0x21, 0x16, 0x17, 0x16, 0x33, 0x21, 0x15, 0x3, 0x2b, 0xfe, 0xd8, 0xfe, 0xd6, 0x1, 0x2a, 0x1, 0x28, 0x1, 0xba, 0xfe, 0x46, 0xe6, 0x6b, 0x4e, 0x1d, 0x2, 0xe8, 0x8e, 0x8e, 0xfd, 0x18, 0x25, 0x46, 0x72, 0xdf, 0x1, 0xba, 0x9b, 0xf6, 0x1, 0xe0, 0xf6, 0x8e, 0x51, 0x3b, 0x84, 0xac, 0xfe, 0x1a, 0xac, 0x91, 0x30, 0x51, 0x8e, 0x0, 0xff, 0xff, 0x0, 0xaf, 0xff, 0xec, 0x6, 0x49, 0x7, 0x48, 0x10, 0x26, 0xc, 0x8d, 0x0, 0x0, 0x10, 0x7, 0xd, 0x4a, 0x2, 0x38, 0x4, 0x2, 0x0, 0x2, 0x0, 0xaf, 0xff, 0xec, 0x6, 0x49, 0x6, 0xd2, 0x0, 0x1c, 0x0, 0x20, 0x0, 0x0, 0x1, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x21, 0x15, 0x21, 0x22, 0x24, 0x2, 0x35, 0x34, 0x12, 0x24, 0x33, 0x21, 0x15, 0x21, 0x6, 0x7, 0x6, 0x7, 0x6, 0x7, 0x21, 0x15, 0x11, 0x21, 0x35, 0x21, 0x1, 0x57, 0x7, 0x3f, 0x4a, 0x8c, 0x89, 0x94, 0x2, 0xb9, 0xfd, 0x47, 0xc0, 0xfe, 0x9d, 0xbe, 0xbe, 0x1, 0x63, 0xc0, 0x2, 0xb9, 0xfd, 0x47, 0x94, 0x89, 0x8b, 0x4b, 0x40, 0x9, 0x4, 0xf5, 0xfa, 0xa5, 0x5, 0x5b, 0x2, 0x73, 0x4a, 0x78, 0x8b, 0x4e, 0x4c, 0x1, 0x9f, 0xc6, 0x1, 0x60, 0xbb, 0xb9, 0x1, 0x60, 0xc8, 0x9f, 0x1, 0x4d, 0x4f, 0x8a, 0x78, 0x5d, 0xa0, 0x3, 0xbf, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0x0, 0x9b, 0x4, 0xe5, 0x5, 0x7d, 0x0, 0x16, 0x0, 0x1a, 0x0, 0x0, 0x25, 0x20, 0x24, 0x35, 0x34, 0x24, 0x29, 0x1, 0x15, 0x5, 0x6, 0x7, 0x6, 0x7, 0x21, 0x15, 0x21, 0x16, 0x17, 0x16, 0x33, 0x21, 0x15, 0x11, 0x21, 0x35, 0x21, 0x3, 0x2b, 0xfe, 0xd8, 0xfe, 0xd6, 0x1, 0x2a, 0x1, 0x28, 0x1, 0xba, 0xfe, 0x46, 0xe8, 0x69, 0x4e, 0x1d, 0x3, 0x76, 0xfc, 0x8a, 0x25, 0x46, 0x72, 0xdf, 0x1, 0xba, 0xfc, 0x1b, 0x3, 0xe5, 0x9b, 0xf6, 0xf0, 0xf0, 0xf6, 0x8e, 0x1, 0x1, 0x4f, 0x3a, 0x85, 0x8e, 0x91, 0x30, 0x51, 0x8e, 0x4, 0x56, 0x8c, 0x0, 0x0, 0x0, 0x2, 0x0, 0xaf, 0xfe, 0xda, 0x6, 0x49, 0x5, 0xae, 0x0, 0x1c, 0x0, 0x20, 0x0, 0x0, 0x1, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x21, 0x15, 0x21, 0x22, 0x24, 0x2, 0x35, 0x34, 0x12, 0x24, 0x33, 0x21, 0x15, 0x21, 0x6, 0x7, 0x6, 0x7, 0x6, 0x7, 0x21, 0x15, 0x11, 0x21, 0x35, 0x21, 0x1, 0x57, 0x7, 0x3f, 0x4a, 0x8c, 0x89, 0x94, 0x2, 0xb9, 0xfd, 0x47, 0xc0, 0xfe, 0x9d, 0xbe, 0xbe, 0x1, 0x63, 0xc0, 0x2, 0xb9, 0xfd, 0x47, 0x94, 0x89, 0x8b, 0x4b, 0x40, 0x9, 0x4, 0xf5, 0xfa, 0xa5, 0x5, 0x5b, 0x2, 0x73, 0x4a, 0x78, 0x8b, 0x4e, 0x4c, 0x1, 0x9f, 0xc6, 0x1, 0x60, 0xbb, 0xb9, 0x1, 0x60, 0xc8, 0x9f, 0x1, 0x4d, 0x4f, 0x8a, 0x78, 0x5d, 0xa0, 0xfc, 0x67, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xaf, 0xff, 0xec, 0x6, 0x49, 0x5, 0xae, 0x0, 0x1f, 0x0, 0x0, 0x1, 0x21, 0x15, 0x21, 0x17, 0x16, 0x17, 0x16, 0x17, 0x21, 0x15, 0x21, 0x22, 0x24, 0x2, 0x35, 0x34, 0x12, 0x24, 0x33, 0x21, 0x15, 0x21, 0x6, 0x7, 0x6, 0x7, 0x6, 0x7, 0x21, 0x15, 0x21, 0x1, 0x57, 0x4, 0xf2, 0xfb, 0x43, 0x11, 0x4a, 0x8c, 0x8a, 0x93, 0x2, 0xb9, 0xfd, 0x47, 0xc0, 0xfe, 0x9d, 0xbe, 0xbe, 0x1, 0x63, 0xc0, 0x2, 0xb9, 0xfd, 0x47, 0x93, 0x8a, 0x8b, 0x4b, 0xe, 0xc, 0x4, 0xc6, 0xfb, 0xe, 0x2, 0x73, 0xa0, 0x22, 0x8b, 0x4e, 0x4c, 0x1, 0x9f, 0xc6, 0x1, 0x60, 0xbb, 0xb9, 0x1, 0x60, 0xc8, 0x9f, 0x1, 0x4d, 0x4f, 0x8a, 0x1b, 0x1a, 0xa0, 0x0, 0x1, 0x0, 0x58, 0xff, 0xec, 0x7, 0xa8, 0x5, 0xae, 0x0, 0x21, 0x0, 0x0, 0x1, 0x21, 0x15, 0x21, 0x6, 0x7, 0x6, 0x4, 0x23, 0x21, 0x35, 0x21, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x21, 0x35, 0x21, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x21, 0x35, 0x21, 0x32, 0x4, 0x17, 0x16, 0x5, 0xec, 0x1, 0xbc, 0xfe, 0x46, 0xf, 0x4d, 0x5e, 0xfe, 0x9c, 0xc0, 0xfd, 0x48, 0x2, 0xb9, 0x93, 0x8a, 0x8a, 0x4b, 0x41, 0x8, 0xfb, 0xc, 0x4, 0xf2, 0x7, 0x40, 0x4a, 0x8b, 0x8a, 0x93, 0xfd, 0x47, 0x2, 0xb8, 0xc0, 0x1, 0x64, 0x5e, 0x48, 0x3, 0x27, 0xa0, 0x94, 0x8f, 0xb0, 0xc8, 0x9f, 0x1, 0x4d, 0x4f, 0x8a, 0x78, 0x5d, 0xa0, 0x4a, 0x78, 0x8b, 0x4e, 0x4c, 0x1, 0x9f, 0xc6, 0xb0, 0x85, 0x0, 0x0, 0x0, 0x1, 0x0, 0xaf, 0xff, 0xec, 0x6, 0x49, 0x5, 0xae, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x26, 0x2, 0x24, 0x27, 0x21, 0x35, 0x21, 0x32, 0x4, 0x12, 0x10, 0x2, 0x4, 0x23, 0x21, 0x35, 0x21, 0x36, 0x24, 0x12, 0x37, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x5, 0xa1, 0x7, 0x89, 0xfe, 0xea, 0x93, 0xfd, 0x47, 0x2, 0xb9, 0xc0, 0x1, 0x63, 0xbe, 0xbe, 0xfe, 0x9d, 0xc0, 0xfd, 0x47, 0x2, 0xb9, 0x93, 0x1, 0x15, 0x8b, 0x9, 0xfb, 0xab, 0xa0, 0xa0, 0x3, 0x27, 0x4a, 0x1, 0x3, 0x9a, 0x1, 0x9f, 0xc6, 0xfe, 0xa0, 0xfe, 0x8c, 0xfe, 0xa0, 0xc8, 0x9f, 0x1, 0x9c, 0x1, 0x2, 0x5d, 0xfe, 0xf0, 0x2, 0xc0, 0xfe, 0xf0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd9, 0x0, 0x9b, 0x4, 0xe5, 0x4, 0x67, 0x0, 0x19, 0x0, 0x0, 0x1, 0x20, 0x4, 0x10, 0x4, 0x29, 0x1, 0x35, 0x21, 0x32, 0x37, 0x36, 0x37, 0x21, 0x15, 0x23, 0x11, 0x33, 0x15, 0x21, 0x26, 0x27, 0x26, 0x23, 0x25, 0x35, 0x2, 0x93, 0x1, 0x28, 0x1, 0x2a, 0xfe, 0xd6, 0xfe, 0xd8, 0xfe, 0x46, 0x1, 0xba, 0xe6, 0x6b, 0x4e, 0x1d, 0xfd, 0x18, 0x8e, 0x8e, 0x2, 0xe8, 0x25, 0x46, 0x72, 0xdf, 0xfe, 0x46, 0x4, 0x67, 0xf6, 0xfe, 0x20, 0xf6, 0x8e, 0x51, 0x3a, 0x85, 0xac, 0x1, 0xe6, 0xac, 0x91, 0x30, 0x50, 0x1, 0x8e, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xaf, 0xff, 0xec, 0x6, 0x49, 0x6, 0xd2, 0x0, 0x1c, 0x0, 0x20, 0x0, 0x0, 0x1, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x21, 0x35, 0x21, 0x32, 0x4, 0x12, 0x15, 0x14, 0x2, 0x4, 0x23, 0x21, 0x35, 0x21, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x21, 0x35, 0x1, 0x21, 0x35, 0x21, 0x5, 0xa1, 0x7, 0x3f, 0x4a, 0x8c, 0x89, 0x94, 0xfd, 0x47, 0x2, 0xb9, 0xc0, 0x1, 0x63, 0xbe, 0xbe, 0xfe, 0x9d, 0xc0, 0xfd, 0x47, 0x2, 0xb9, 0x94, 0x89, 0x8b, 0x4b, 0x40, 0x9, 0xfb, 0xb, 0x5, 0x5b, 0xfa, 0xa5, 0x5, 0x5b, 0x3, 0x27, 0x4a, 0x78, 0x8b, 0x4e, 0x4c, 0x1, 0x9f, 0xc6, 0xfe, 0xa0, 0xbb, 0xb9, 0xfe, 0xa0, 0xc8, 0x9f, 0x1, 0x4d, 0x4f, 0x8a, 0x78, 0x5d, 0xa0, 0x3, 0xb, 0xa0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0x0, 0x9b, 0x4, 0xe5, 0x5, 0x7d, 0x0, 0x16, 0x0, 0x1a, 0x0, 0x0, 0x1, 0x20, 0x4, 0x15, 0x14, 0x4, 0x29, 0x1, 0x35, 0x25, 0x32, 0x37, 0x36, 0x37, 0x21, 0x35, 0x5, 0x26, 0x27, 0x26, 0x7, 0x21, 0x35, 0x25, 0x21, 0x35, 0x21, 0x2, 0x93, 0x1, 0x28, 0x1, 0x2a, 0xfe, 0xd6, 0xfe, 0xd8, 0xfe, 0x46, 0x1, 0xba, 0xe8, 0x69, 0x4e, 0x1d, 0xfc, 0x8a, 0x3, 0x76, 0x25, 0x46, 0x74, 0xdd, 0xfe, 0x46, 0x3, 0xe5, 0xfc, 0x1b, 0x3, 0xe5, 0x4, 0x67, 0xf6, 0xf1, 0xef, 0xf6, 0x8e, 0x1, 0x50, 0x3a, 0x85, 0x8e, 0x1, 0x91, 0x31, 0x52, 0x1, 0x8e, 0x8a, 0x8c, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd9, 0x0, 0x0, 0x6, 0x1f, 0x5, 0xc2, 0x0, 0xb, 0x0, 0x0, 0x1, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x6, 0x1f, 0xfb, 0x64, 0x4, 0x9c, 0xfa, 0xba, 0x5, 0x46, 0xfb, 0x64, 0x4, 0x9c, 0x2, 0x82, 0xfe, 0x28, 0xaa, 0x5, 0xc2, 0xaa, 0xfe, 0x14, 0x0, 0x0, 0x0, 0x3, 0x0, 0x4a, 0xff, 0xdc, 0x4, 0x89, 0x4, 0x1c, 0x0, 0x13, 0x0, 0x1b, 0x0, 0x23, 0x0, 0x0, 0x1, 0x32, 0x17, 0x37, 0x17, 0x7, 0x16, 0x15, 0x14, 0x0, 0x23, 0x22, 0x27, 0x7, 0x27, 0x37, 0x26, 0x35, 0x34, 0x0, 0x5, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x1f, 0x1, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x2, 0x68, 0xba, 0x8f, 0x75, 0x63, 0x76, 0x6e, 0xfe, 0xc4, 0xdd, 0xb8, 0x8d, 0x76, 0x63, 0x75, 0x6f, 0x1, 0x3c, 0x1, 0xc0, 0x64, 0x80, 0xa2, 0xe9, 0x47, 0x63, 0x63, 0x7e, 0xa3, 0xe9, 0x45, 0x4, 0x17, 0x71, 0x76, 0x63, 0x76, 0x8d, 0xba, 0xdd, 0xfe, 0xc4, 0x6f, 0x76, 0x63, 0x76, 0x8d, 0xba, 0xdf, 0x1, 0x3c, 0xd5, 0x48, 0xe9, 0xa5, 0x80, 0x63, 0x62, 0x47, 0xe9, 0xa3, 0x80, 0x62, 0x0, 0x0, 0x0, 0x1, 0x0, 0x72, 0x1, 0x4c, 0x4, 0x52, 0x3, 0x8c, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x1, 0x35, 0x5, 0x11, 0x1, 0x15, 0x2, 0xa2, 0xfd, 0xd0, 0x1, 0xb0, 0x2, 0x30, 0x2, 0x7a, 0xfe, 0xd2, 0x1, 0x4a, 0xc2, 0xfa, 0x1, 0x2e, 0xfe, 0xb6, 0xc2, 0x0, 0x0, 0x2, 0x0, 0x92, 0x0, 0x0, 0x4, 0x82, 0x4, 0xc4, 0x0, 0x4, 0x0, 0x9, 0x0, 0x0, 0x33, 0x11, 0x9, 0x1, 0x11, 0x25, 0x21, 0x11, 0x9, 0x1, 0x92, 0x1, 0xf8, 0x1, 0xf8, 0xfc, 0xb6, 0x2, 0xa4, 0xfe, 0xae, 0xfe, 0xae, 0x2, 0xa0, 0x2, 0x24, 0xfd, 0xdc, 0xfd, 0x60, 0xaa, 0x1, 0xd5, 0x1, 0x79, 0xfe, 0x87, 0x0, 0x0, 0x0, 0x1, 0x1, 0xa3, 0x3, 0xda, 0x5, 0xf, 0x5, 0xdc, 0x0, 0x7, 0x0, 0x0, 0x9, 0x1, 0x27, 0x1, 0x33, 0x1, 0x7, 0x1, 0x3, 0x2d, 0xfe, 0xee, 0x78, 0x1, 0x8a, 0x5a, 0x1, 0x88, 0x78, 0xfe, 0xf0, 0x4, 0xea, 0xfe, 0xf0, 0x78, 0x1, 0x8a, 0xfe, 0x76, 0x78, 0x1, 0x10, 0x0, 0x0, 0x1, 0x1, 0xa3, 0x0, 0x0, 0x5, 0xf, 0x2, 0x2, 0x0, 0x7, 0x0, 0x0, 0x25, 0x33, 0x1, 0x17, 0x1, 0x23, 0x1, 0x37, 0x3, 0x2d, 0x5a, 0x1, 0x10, 0x78, 0xfe, 0x78, 0x5a, 0xfe, 0x76, 0x78, 0xf2, 0x1, 0x10, 0x78, 0xfe, 0x76, 0x1, 0x8a, 0x78, 0x0, 0xff, 0xff, 0x1, 0xa3, 0x0, 0x0, 0x5, 0xf, 0x3, 0x3f, 0x10, 0x26, 0x17, 0x17, 0x0, 0x0, 0x10, 0x7, 0xd, 0x88, 0x0, 0x0, 0xfc, 0x26, 0xff, 0xff, 0x1, 0xa3, 0x0, 0x0, 0x5, 0xf, 0x4, 0x1b, 0x10, 0x27, 0x17, 0x17, 0x0, 0x0, 0x0, 0xdc, 0x10, 0x26, 0x17, 0x17, 0x0, 0xd7, 0x10, 0x7, 0xd, 0x88, 0x0, 0x0, 0xfc, 0x26, 0x0, 0x1, 0x1, 0x3b, 0xff, 0xc5, 0x2, 0xad, 0x6, 0x4e, 0x0, 0x19, 0x0, 0x0, 0x1, 0x17, 0x6, 0x14, 0x17, 0x16, 0x14, 0x7, 0x6, 0x14, 0x17, 0x16, 0x14, 0x7, 0x27, 0x36, 0x34, 0x27, 0x26, 0x34, 0x37, 0x36, 0x34, 0x27, 0x26, 0x34, 0x1, 0xb7, 0x7a, 0x4c, 0x4c, 0x7c, 0x7c, 0x4c, 0x4c, 0x7c, 0x7c, 0x7a, 0x4c, 0x4c, 0x7c, 0x7c, 0x4c, 0x4c, 0x7c, 0x6, 0x4e, 0x76, 0x4f, 0x70, 0x50, 0x81, 0xf8, 0x81, 0x50, 0x6f, 0x50, 0x81, 0xf9, 0x81, 0x76, 0x4f, 0x70, 0x50, 0x81, 0xf8, 0x81, 0x50, 0x70, 0x50, 0x81, 0xf8, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb0, 0xfe, 0xf2, 0x2, 0x58, 0x6, 0x14, 0x0, 0x5, 0x0, 0x0, 0x13, 0x21, 0x15, 0x23, 0x11, 0x23, 0xb0, 0x1, 0xa8, 0xf0, 0xb8, 0x6, 0x14, 0x8f, 0xf9, 0x6d, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc7, 0xfe, 0xf2, 0x2, 0x6f, 0x6, 0x14, 0x0, 0x5, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x23, 0x35, 0x2, 0x6f, 0xb8, 0xf0, 0x6, 0x14, 0xf8, 0xde, 0x6, 0x93, 0x8f, 0x0, 0x0, 0x1, 0x0, 0xb0, 0xfe, 0xf2, 0x2, 0x58, 0x6, 0x14, 0x0, 0x5, 0x0, 0x0, 0x13, 0x11, 0x33, 0x11, 0x33, 0x15, 0xb0, 0xb8, 0xf0, 0xfe, 0xf2, 0x7, 0x22, 0xf9, 0x6d, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc7, 0xfe, 0xf2, 0x2, 0x6f, 0x6, 0x14, 0x0, 0x5, 0x0, 0x0, 0x1, 0x21, 0x35, 0x33, 0x11, 0x33, 0x2, 0x6f, 0xfe, 0x58, 0xf0, 0xb8, 0xfe, 0xf2, 0x8f, 0x6, 0x93, 0x0, 0x0, 0x2, 0x2, 0xf4, 0xff, 0x62, 0x6, 0x13, 0x2, 0x82, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x33, 0x11, 0x23, 0x13, 0x35, 0x21, 0x15, 0x2, 0xf4, 0x90, 0x90, 0xc8, 0x2, 0x57, 0x1, 0xba, 0xfd, 0xa8, 0x2, 0x90, 0x90, 0x90, 0x0, 0x0, 0x2, 0x0, 0x64, 0xff, 0x62, 0x3, 0x84, 0x2, 0x82, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x15, 0x21, 0x35, 0x5, 0x33, 0x11, 0x23, 0x2, 0xbc, 0xfd, 0xa8, 0x2, 0x90, 0x90, 0x90, 0x2, 0x82, 0x90, 0x90, 0xc8, 0xfd, 0xa8, 0x0, 0x0, 0x2, 0x2, 0xf4, 0x1, 0xf2, 0x6, 0x13, 0x5, 0x12, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x35, 0x21, 0x15, 0x25, 0x23, 0x11, 0x33, 0x3, 0xbc, 0x2, 0x57, 0xfd, 0x71, 0x90, 0x90, 0x1, 0xf2, 0x90, 0x90, 0xc8, 0x2, 0x58, 0x0, 0x0, 0x2, 0x0, 0x64, 0x1, 0xf2, 0x3, 0x84, 0x5, 0x12, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x15, 0x21, 0x35, 0x25, 0x23, 0x11, 0x33, 0x2, 0xbc, 0xfd, 0xa8, 0x3, 0x20, 0x90, 0x90, 0x2, 0x82, 0x90, 0x90, 0x38, 0x2, 0x58, 0x0, 0x0, 0x1, 0x0, 0xd9, 0x1, 0x1f, 0x5, 0xdb, 0x3, 0x5e, 0x0, 0x5, 0x0, 0x0, 0x1, 0x15, 0x21, 0x11, 0x23, 0x11, 0x5, 0xdb, 0xfb, 0xa6, 0xa8, 0x3, 0x5e, 0xaa, 0xfe, 0x6b, 0x2, 0x3f, 0x0, 0x2, 0x0, 0x6, 0x1, 0x2, 0x4, 0x15, 0x5, 0x12, 0x0, 0x7, 0x0, 0xf, 0x0, 0x0, 0x13, 0x24, 0x5, 0x2, 0x13, 0x4, 0x25, 0x12, 0x1, 0x12, 0x3, 0x4, 0x25, 0x2, 0x13, 0x24, 0x8c, 0x1, 0x81, 0x1, 0x81, 0x89, 0x89, 0xfe, 0x7f, 0xfe, 0x7f, 0x89, 0xfe, 0xf1, 0xb8, 0xb8, 0x2, 0x7, 0x2, 0x8, 0xb8, 0xb8, 0xfd, 0xf8, 0x1, 0x8a, 0x89, 0x89, 0x1, 0x80, 0x1, 0x82, 0x8a, 0x8a, 0xfe, 0x7e, 0xfd, 0xf8, 0x1, 0xf4, 0x2, 0x1c, 0xb1, 0xb1, 0xfe, 0xc, 0xfd, 0xe5, 0xb1, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0xf7, 0x0, 0x1, 0x7, 0x9, 0x6, 0x13, 0x0, 0x3, 0x0, 0x31, 0x0, 0x3b, 0x0, 0x46, 0x0, 0x4f, 0x0, 0x59, 0x0, 0x0, 0x1, 0x21, 0x11, 0x21, 0x11, 0x15, 0x14, 0x6, 0x20, 0x26, 0x35, 0x34, 0x36, 0x3b, 0x1, 0x11, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x20, 0x16, 0x1d, 0x1, 0x21, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x2b, 0x1, 0x11, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x3d, 0x1, 0x1, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x14, 0x16, 0x33, 0x13, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x1, 0x33, 0x32, 0x36, 0x34, 0x26, 0x22, 0x6, 0x15, 0x11, 0x15, 0x14, 0x16, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x3, 0x6c, 0x1, 0x28, 0xfe, 0xd8, 0xb9, 0xfe, 0xfc, 0xb8, 0xb8, 0x7f, 0xaa, 0xaa, 0x7f, 0xb8, 0xb8, 0x1, 0x4, 0xb9, 0x1, 0x28, 0xb9, 0x82, 0x83, 0xb7, 0xb7, 0x80, 0xaa, 0xaa, 0x80, 0xb7, 0xb7, 0x83, 0x82, 0xb9, 0xfe, 0x44, 0x62, 0x45, 0x44, 0x62, 0x62, 0x45, 0xa6, 0xa6, 0x45, 0x62, 0x62, 0x45, 0x44, 0x62, 0x2, 0x50, 0xa7, 0x44, 0x62, 0x61, 0x8a, 0x62, 0x62, 0x8a, 0x61, 0x62, 0x44, 0x2, 0x76, 0x1, 0x28, 0xfe, 0x44, 0xaa, 0x80, 0xb7, 0xb8, 0x83, 0x80, 0xba, 0x1, 0x28, 0xba, 0x81, 0x82, 0xb8, 0xb7, 0x80, 0xaa, 0xaa, 0x80, 0xb7, 0xb8, 0x82, 0x81, 0xba, 0xfe, 0xd8, 0xba, 0x80, 0x83, 0xb8, 0xb7, 0x80, 0xaa, 0x2, 0x50, 0xa7, 0x45, 0x61, 0x61, 0x8a, 0x62, 0xfd, 0xb0, 0x62, 0x44, 0x45, 0x62, 0x62, 0x44, 0x2, 0xf7, 0x62, 0x8a, 0x61, 0x61, 0x45, 0xfd, 0x9, 0xa7, 0x44, 0x62, 0x62, 0x45, 0x44, 0x62, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd9, 0x1, 0x1f, 0x5, 0xdb, 0x3, 0x5e, 0x0, 0x5, 0x0, 0x0, 0x1, 0x21, 0x11, 0x33, 0x11, 0x21, 0x5, 0xdb, 0xfa, 0xfe, 0xa8, 0x4, 0x5a, 0x1, 0x1f, 0x2, 0x3f, 0xfe, 0x6b, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb0, 0x3, 0x67, 0x3, 0x3a, 0x6, 0x14, 0x0, 0x5, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x3, 0x3a, 0xfe, 0x6, 0x90, 0x2, 0x8a, 0x5, 0x84, 0xfd, 0xe3, 0x2, 0xad, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x86, 0x3, 0x67, 0x3, 0x10, 0x6, 0x14, 0x0, 0x5, 0x0, 0x0, 0x13, 0x35, 0x21, 0x11, 0x23, 0x11, 0x86, 0x2, 0x8a, 0x90, 0x5, 0x84, 0x90, 0xfd, 0x53, 0x2, 0x1d, 0x0, 0x0, 0x1, 0x0, 0xb0, 0xff, 0x70, 0x3, 0x3a, 0x2, 0x1d, 0x0, 0x5, 0x0, 0x0, 0x21, 0x15, 0x21, 0x11, 0x33, 0x11, 0x3, 0x3a, 0xfd, 0x76, 0x90, 0x90, 0x2, 0xad, 0xfd, 0xe3, 0x0, 0x0, 0x0, 0x1, 0x0, 0x86, 0xff, 0x70, 0x3, 0x10, 0x2, 0x1d, 0x0, 0x5, 0x0, 0x0, 0x33, 0x21, 0x11, 0x33, 0x11, 0x21, 0x86, 0x1, 0xfa, 0x90, 0xfd, 0x76, 0x2, 0x1d, 0xfd, 0x53, 0x0, 0x0, 0x0, 0x1, 0x1, 0xaf, 0xfe, 0x0, 0x3, 0xfa, 0x7, 0x6c, 0x0, 0x19, 0x0, 0x0, 0x1, 0x11, 0x34, 0x37, 0x1a, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x23, 0x22, 0x3, 0x2, 0x15, 0x30, 0x11, 0x1, 0xaf, 0x3, 0xc, 0xbe, 0xca, 0x50, 0x64, 0x40, 0x37, 0x2b, 0x1c, 0x18, 0xf, 0x6, 0x9, 0x10, 0x68, 0x11, 0x8, 0xfe, 0x0, 0x5, 0x8, 0x24, 0x81, 0x2, 0x3, 0x1, 0xbc, 0x54, 0x41, 0x36, 0x3f, 0x13, 0x10, 0x26, 0xf, 0x48, 0xfd, 0x95, 0xfe, 0xd3, 0x2, 0xfa, 0x98, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2a, 0xfe, 0x1a, 0x2, 0x75, 0x7, 0x89, 0x0, 0x19, 0x0, 0x0, 0x1, 0x11, 0x14, 0x7, 0xa, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x33, 0x32, 0x13, 0x12, 0x35, 0x30, 0x11, 0x2, 0x75, 0x3, 0xc, 0xbe, 0xca, 0x50, 0x64, 0x40, 0x37, 0x2b, 0x1c, 0x18, 0xf, 0x6, 0x9, 0x10, 0x68, 0x11, 0x8, 0x7, 0x89, 0xfa, 0xf5, 0x24, 0x81, 0xfd, 0xfd, 0xfe, 0x44, 0x54, 0x41, 0x36, 0x3f, 0x13, 0x10, 0x26, 0xf, 0x48, 0x2, 0x6b, 0x1, 0x2d, 0x2, 0x5, 0x6b, 0x0, 0x0, 0x0, 0x3, 0x0, 0x9c, 0x1, 0xd0, 0x8, 0x9c, 0x4, 0x9a, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x0, 0x9, 0x1, 0x27, 0x1, 0x33, 0x1, 0x7, 0x1, 0x25, 0x21, 0x35, 0x29, 0x2, 0x15, 0x21, 0x4, 0x6f, 0xfe, 0x26, 0x78, 0x2, 0x52, 0x5a, 0x2, 0x50, 0x78, 0xfe, 0x28, 0xfe, 0x8d, 0xfd, 0x46, 0x2, 0xba, 0x2, 0x8a, 0x2, 0xbc, 0xfd, 0x44, 0x3, 0xa8, 0xfe, 0x28, 0x78, 0x2, 0x52, 0xfd, 0xae, 0x78, 0x1, 0xd8, 0x48, 0xaa, 0xaa, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x9c, 0x0, 0x0, 0x8, 0x9c, 0x4, 0x9a, 0x0, 0x7, 0x0, 0xb, 0x0, 0x0, 0x13, 0x21, 0x1, 0x21, 0x15, 0x21, 0x1, 0x21, 0x25, 0x21, 0x15, 0x21, 0x9c, 0x2, 0xba, 0x2, 0xe4, 0x2, 0x62, 0xfd, 0x46, 0xfd, 0x1c, 0xfd, 0x9e, 0x5, 0x44, 0x2, 0xbc, 0xfd, 0x44, 0x4, 0x9a, 0xfc, 0x10, 0xaa, 0x3, 0xf0, 0xaa, 0xaa, 0x0, 0x5, 0x0, 0x9c, 0x0, 0x0, 0xb, 0x4f, 0x6, 0x14, 0x0, 0x4, 0x0, 0x9, 0x0, 0xc, 0x0, 0xf, 0x0, 0x15, 0x0, 0x0, 0x33, 0x11, 0x21, 0x9, 0x2, 0x11, 0x33, 0x9, 0x1, 0x29, 0x1, 0x9, 0x1, 0x21, 0x9, 0x3, 0x33, 0x9, 0x1, 0x9c, 0x7, 0xa9, 0x3, 0xa, 0xfc, 0xf6, 0xf8, 0xeb, 0x8d, 0x2, 0x76, 0xfd, 0x8a, 0x4, 0xed, 0xfb, 0xe6, 0x2, 0xd, 0xfd, 0xf3, 0x4, 0x1a, 0xfd, 0xf3, 0x2, 0xdd, 0xfd, 0x8a, 0x2, 0x76, 0x8e, 0x2, 0x76, 0xfd, 0x8a, 0x6, 0x14, 0xfc, 0xf6, 0xfc, 0xf6, 0x5, 0x80, 0xfb, 0x14, 0x2, 0x76, 0x2, 0x76, 0xfd, 0xf3, 0xfd, 0x21, 0x2, 0xd, 0x2, 0xdf, 0xfd, 0x8a, 0xfd, 0x8a, 0x2, 0x74, 0x2, 0x78, 0x0, 0x5, 0x0, 0x9c, 0x0, 0x0, 0x8, 0x9c, 0x6, 0x14, 0x0, 0x3, 0x0, 0x8, 0x0, 0xb, 0x0, 0xe, 0x0, 0x13, 0x0, 0x0, 0x33, 0x11, 0x21, 0x11, 0x1, 0x11, 0x33, 0x9, 0x1, 0x29, 0x1, 0x9, 0x1, 0x21, 0x9, 0x3, 0x33, 0x11, 0x9c, 0x8, 0x0, 0xf8, 0x94, 0x8d, 0x2, 0x76, 0xfd, 0x8a, 0x4, 0xed, 0xfb, 0xe6, 0x2, 0xd, 0xfd, 0xf3, 0x4, 0x1a, 0xfd, 0xf3, 0x2, 0xdd, 0xfd, 0x8a, 0x2, 0x76, 0x8e, 0x6, 0x14, 0xf9, 0xec, 0x5, 0x80, 0xfb, 0x14, 0x2, 0x76, 0x2, 0x76, 0xfd, 0xf3, 0xfd, 0x21, 0x2, 0xd, 0x2, 0xdf, 0xfd, 0x8a, 0xfd, 0x8a, 0x4, 0xec, 0x0, 0x0, 0x2b, 0x0, 0x78, 0x0, 0x0, 0xb, 0x14, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x17, 0x0, 0x23, 0x0, 0x2f, 0x0, 0x3b, 0x0, 0x47, 0x0, 0x53, 0x0, 0x5f, 0x0, 0x6b, 0x0, 0x77, 0x0, 0x83, 0x0, 0x8f, 0x0, 0x9b, 0x0, 0xa7, 0x0, 0xb3, 0x0, 0xbf, 0x0, 0xcb, 0x0, 0xd7, 0x0, 0xe3, 0x0, 0xef, 0x0, 0xfb, 0x1, 0x7, 0x1, 0x13, 0x1, 0x1f, 0x1, 0x2b, 0x1, 0x37, 0x1, 0x43, 0x1, 0x4f, 0x1, 0x5b, 0x1, 0x67, 0x1, 0x73, 0x1, 0x7f, 0x1, 0x8b, 0x1, 0x97, 0x1, 0xa3, 0x1, 0xaf, 0x1, 0xbb, 0x1, 0xc7, 0x1, 0xd3, 0x1, 0xe4, 0x1, 0xf0, 0x1, 0xfc, 0x2, 0x8, 0x0, 0x0, 0x1, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x17, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x21, 0x22, 0x1, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x17, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x25, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x5, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x17, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x5, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x17, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x17, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x17, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x17, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x5, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x25, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x17, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x17, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x17, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x17, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x17, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x17, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x17, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x27, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x7, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x7, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x7, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x7, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x7, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x7, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x7, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x27, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x17, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x17, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x17, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x17, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x17, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x17, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x17, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x17, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x5, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x7, 0x32, 0x15, 0x11, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x23, 0x22, 0x3d, 0x1, 0x34, 0x33, 0x13, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x17, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x32, 0x5, 0x22, 0x3d, 0x1, 0x34, 0x33, 0x21, 0x32, 0x1d, 0x1, 0x14, 0x23, 0x1, 0x55, 0x8, 0xe2, 0xdd, 0xdd, 0xf7, 0x1e, 0xdd, 0x93, 0x4a, 0x8, 0xe2, 0x49, 0x49, 0xf7, 0x1e, 0x4a, 0x1, 0x3, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdf, 0x25, 0x4b, 0x24, 0x24, 0x4b, 0x25, 0x1, 0x4a, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xfe, 0x46, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdd, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x1, 0xb9, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdd, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdd, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdd, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdd, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x1, 0x8e, 0x25, 0xfb, 0x25, 0x25, 0xfb, 0x25, 0xf8, 0x43, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdd, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdd, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdc, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdd, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdd, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdd, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdd, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x24, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdd, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdd, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdd, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdc, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdd, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdd, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdd, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x24, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdd, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdd, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdd, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdc, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdd, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdd, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdd, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdd, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x1, 0x1e, 0x25, 0x8b, 0x25, 0x25, 0x8b, 0x25, 0x25, 0x25, 0x25, 0xf6, 0x2a, 0x24, 0x25, 0x25, 0x94, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdf, 0x25, 0x4b, 0x24, 0x24, 0x4b, 0x25, 0xf9, 0xa5, 0x25, 0x25, 0x4, 0x4, 0x25, 0x25, 0x5, 0xd5, 0xdd, 0xfb, 0xe5, 0xdd, 0xdd, 0x4, 0x1b, 0xdd, 0xdd, 0xfb, 0xe5, 0x4a, 0x4a, 0x4, 0x1b, 0x4a, 0xfc, 0x1c, 0x49, 0x25, 0x25, 0x49, 0x26, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xb7, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xb7, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xb7, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xb4, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0xdb, 0x25, 0xfe, 0xde, 0x25, 0x25, 0x95, 0x20, 0x25, 0x49, 0x25, 0xfd, 0x48, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x94, 0x25, 0x4a, 0x25, 0x25, 0x4a, 0x25, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x1, 0x0, 0x0, 0xa, 0xb4, 0x6, 0x14, 0x0, 0x4, 0x0, 0x9, 0x0, 0xc, 0x0, 0xf, 0x0, 0x15, 0x0, 0x0, 0x29, 0x1, 0x9, 0x1, 0x21, 0x7, 0x23, 0x9, 0x1, 0x33, 0x9, 0x2, 0x11, 0x9, 0x1, 0x3, 0x23, 0x9, 0x1, 0x33, 0x1, 0xa, 0xb4, 0xf8, 0x57, 0xfc, 0xf6, 0x3, 0xa, 0x7, 0xa9, 0x94, 0x8d, 0xfd, 0x8a, 0x2, 0x76, 0x8d, 0xfa, 0x86, 0x2, 0xd, 0x2, 0xd, 0xfd, 0xf3, 0xfd, 0xf3, 0xd0, 0x8e, 0xfd, 0x8a, 0x2, 0x76, 0x8e, 0x2, 0x76, 0x3, 0xa, 0x3, 0xa, 0x94, 0xfd, 0x8a, 0xfd, 0x8a, 0x4, 0xec, 0xfd, 0xf3, 0x2, 0xd, 0xfb, 0x14, 0x2, 0xd, 0xfd, 0xf3, 0x4, 0xec, 0xfd, 0x88, 0xfd, 0x8c, 0x2, 0x76, 0x0, 0x5, 0x0, 0x96, 0xff, 0x46, 0x6, 0x66, 0x5, 0xfc, 0x0, 0x5, 0x0, 0xb, 0x0, 0xf, 0x0, 0x13, 0x0, 0x17, 0x0, 0x0, 0x9, 0x2, 0x11, 0x9, 0x1, 0x3, 0x11, 0x9, 0x1, 0x11, 0x1, 0x3, 0x37, 0x1, 0x7, 0x11, 0x17, 0x1, 0x27, 0x1, 0x33, 0x11, 0x23, 0x1, 0x8, 0x2, 0x76, 0x2, 0x76, 0xfd, 0x8a, 0xfd, 0x8a, 0x72, 0x2, 0xe8, 0x2, 0xe8, 0xfd, 0x18, 0x26, 0x39, 0x1, 0xde, 0x39, 0x39, 0xfe, 0x22, 0x39, 0xfe, 0x22, 0x72, 0x72, 0x1, 0x35, 0xfe, 0x95, 0x1, 0x6b, 0x2, 0xd8, 0x1, 0x6b, 0xfe, 0x95, 0xfc, 0xe6, 0x3, 0x5c, 0x1, 0xad, 0xfe, 0x53, 0xfc, 0xa4, 0xfe, 0x53, 0x5, 0x41, 0x63, 0xfe, 0xec, 0x63, 0xfe, 0x5c, 0x63, 0xfe, 0xec, 0x63, 0x2, 0xfa, 0xfd, 0xd8, 0x0, 0xff, 0xff, 0x0, 0xa6, 0x0, 0x0, 0x2, 0x6e, 0x4, 0x60, 0x10, 0x6, 0x3, 0x4d, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0xa4, 0x4, 0x7b, 0x10, 0x6, 0x3, 0x55, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xff, 0xe3, 0x6, 0x27, 0x4, 0x60, 0x10, 0x6, 0x3, 0x5d, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe7, 0x4, 0xe4, 0x4, 0x79, 0x10, 0x6, 0x3, 0x45, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1a, 0xfe, 0x2e, 0x5, 0xf5, 0x0, 0xd0, 0x0, 0xb, 0x0, 0x0, 0x1, 0x21, 0x11, 0x21, 0x15, 0x23, 0x11, 0x21, 0x11, 0x23, 0x35, 0x21, 0x1, 0xb8, 0x2, 0xa0, 0x1, 0x9d, 0xf5, 0xfc, 0x10, 0xf6, 0x1, 0x9e, 0xfe, 0xd8, 0x1, 0xf8, 0xaa, 0xfe, 0x8, 0x1, 0xf8, 0xaa, 0x0, 0x2, 0x0, 0x9c, 0x0, 0x0, 0x8, 0xc5, 0x5, 0xfb, 0x0, 0xd, 0x0, 0x11, 0x0, 0x0, 0x1, 0x21, 0x27, 0x37, 0x1, 0x15, 0x1, 0x27, 0x37, 0x21, 0x1, 0x21, 0x35, 0x21, 0x5, 0x35, 0x21, 0x15, 0x5, 0xe2, 0x1, 0xcb, 0xe9, 0x78, 0x1, 0x89, 0xfe, 0x77, 0x78, 0xe9, 0xfe, 0x8d, 0xfd, 0x1c, 0xfd, 0x46, 0x2, 0x62, 0x2, 0xe2, 0x2, 0xbc, 0x4, 0x9a, 0xe9, 0x78, 0xfe, 0x77, 0x5a, 0xfe, 0x77, 0x78, 0xe9, 0xfc, 0x10, 0xaa, 0xaa, 0xaa, 0xaa, 0x0, 0x0, 0x2, 0x0, 0x23, 0x0, 0x0, 0x6, 0xd9, 0x5, 0xd0, 0x0, 0x5, 0x0, 0xb, 0x0, 0x0, 0x25, 0x21, 0x9, 0x1, 0x21, 0x9, 0x3, 0x21, 0x9, 0x1, 0x2, 0x12, 0x2, 0xd8, 0x1, 0x6c, 0xfe, 0x94, 0xfd, 0x28, 0xfe, 0x94, 0x1, 0x2b, 0xfe, 0x52, 0x1, 0xad, 0x3, 0x5b, 0x1, 0xae, 0xfe, 0x53, 0x72, 0x2, 0x76, 0x2, 0x76, 0xfd, 0x8a, 0xfd, 0x18, 0x2, 0xe8, 0x2, 0xe8, 0xfd, 0x18, 0xfd, 0x18, 0x0, 0x0, 0x1, 0x0, 0xb0, 0xfd, 0xfc, 0x3, 0x50, 0x7, 0x92, 0x0, 0xb, 0x0, 0x0, 0x1, 0x23, 0x35, 0x10, 0x13, 0x12, 0x13, 0x33, 0x0, 0x3, 0x2, 0x11, 0x1, 0x73, 0xc3, 0xa0, 0xba, 0xa6, 0xa0, 0xfe, 0xfc, 0x5a, 0x7f, 0xfd, 0xfc, 0xea, 0x3, 0x97, 0x1, 0xe2, 0x2, 0x30, 0x1, 0x3, 0xfd, 0xf3, 0xfe, 0x86, 0xfd, 0xee, 0xfc, 0xed, 0x0, 0x1, 0x0, 0xb0, 0xfd, 0xfc, 0x1, 0x73, 0x7, 0x89, 0x0, 0x3, 0x0, 0x0, 0x13, 0x33, 0x11, 0x23, 0xb0, 0xc3, 0xc3, 0x7, 0x89, 0xf6, 0x73, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb0, 0xfe, 0x14, 0x3, 0x50, 0x7, 0x89, 0x0, 0xb, 0x0, 0x0, 0x1, 0x15, 0x10, 0x13, 0x12, 0x13, 0x23, 0x2, 0x3, 0x2, 0x11, 0x35, 0x1, 0x73, 0x7f, 0x93, 0xcb, 0xa0, 0xd0, 0x90, 0xa0, 0x7, 0x89, 0xea, 0xfc, 0xa5, 0xfe, 0x57, 0xfe, 0x14, 0xfe, 0x65, 0x1, 0x45, 0x1, 0xee, 0x2, 0x26, 0x3, 0x32, 0xea, 0x0, 0x0, 0x1, 0x0, 0xb0, 0xfd, 0xfc, 0x3, 0x50, 0x7, 0x92, 0x0, 0xb, 0x0, 0x0, 0x1, 0x35, 0x10, 0x3, 0x2, 0x1, 0x33, 0x12, 0x13, 0x12, 0x11, 0x15, 0x2, 0x8d, 0x7f, 0x5a, 0xfe, 0xfc, 0xa0, 0xa6, 0xba, 0xa0, 0xfd, 0xfc, 0xea, 0x3, 0x13, 0x2, 0x12, 0x1, 0x79, 0x2, 0xe, 0xfe, 0xfd, 0xfd, 0xd0, 0xfe, 0x1e, 0xfc, 0x69, 0xea, 0x0, 0x1, 0x2, 0x8d, 0xfd, 0xfc, 0x3, 0x50, 0x7, 0x89, 0x0, 0x4, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x30, 0x3, 0x50, 0xc3, 0x7, 0x89, 0xf6, 0x73, 0x9, 0x8d, 0x0, 0x1, 0x0, 0xb0, 0xfe, 0x14, 0x3, 0x50, 0x7, 0x89, 0x0, 0xb, 0x0, 0x0, 0x1, 0x33, 0x15, 0x10, 0x3, 0x2, 0x3, 0x23, 0x12, 0x13, 0x12, 0x11, 0x2, 0x8d, 0xc3, 0xa0, 0x90, 0xd0, 0xa0, 0xcb, 0x93, 0x7f, 0x7, 0x89, 0xea, 0xfc, 0xcd, 0xfd, 0xdb, 0xfe, 0x12, 0xfe, 0xbb, 0x1, 0x9b, 0x1, 0xec, 0x1, 0xa9, 0x3, 0x5b, 0x0, 0x0, 0x1, 0x0, 0xb0, 0xfd, 0xfc, 0x3, 0x50, 0x7, 0x6d, 0x0, 0x5, 0x0, 0x0, 0x1, 0x23, 0x11, 0x21, 0x15, 0x21, 0x1, 0x73, 0xc3, 0x2, 0xa0, 0xfe, 0x23, 0xfd, 0xfc, 0x9, 0x71, 0xc3, 0x0, 0x1, 0x0, 0xb0, 0xfd, 0xfc, 0x1, 0x73, 0x7, 0x89, 0x0, 0x3, 0x0, 0x0, 0x13, 0x33, 0x11, 0x23, 0xb0, 0xc3, 0xc3, 0x7, 0x89, 0xf6, 0x73, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb0, 0xfe, 0x14, 0x3, 0x50, 0x7, 0x89, 0x0, 0x5, 0x0, 0x0, 0x1, 0x11, 0x21, 0x15, 0x21, 0x11, 0x1, 0x73, 0x1, 0xdd, 0xfd, 0x60, 0x7, 0x89, 0xf7, 0x4e, 0xc3, 0x9, 0x75, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb0, 0xfd, 0xfc, 0x3, 0x50, 0x7, 0x6d, 0x0, 0x5, 0x0, 0x0, 0x1, 0x11, 0x21, 0x35, 0x21, 0x11, 0x2, 0x8d, 0xfe, 0x23, 0x2, 0xa0, 0xfd, 0xfc, 0x8, 0xae, 0xc3, 0xf6, 0x8f, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x8d, 0xfd, 0xfc, 0x3, 0x50, 0x7, 0x7a, 0x0, 0x3, 0x0, 0x0, 0x1, 0x33, 0x11, 0x23, 0x2, 0x8d, 0xc3, 0xc3, 0x7, 0x7a, 0xf6, 0x82, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb0, 0xfe, 0x14, 0x3, 0x50, 0x7, 0x7a, 0x0, 0x5, 0x0, 0x0, 0x1, 0x33, 0x11, 0x21, 0x35, 0x21, 0x2, 0x8d, 0xc3, 0xfd, 0x60, 0x1, 0xdd, 0x7, 0x7a, 0xf6, 0x9a, 0xc3, 0x0, 0x1, 0x2, 0xa3, 0xfd, 0xea, 0x5, 0x58, 0x7, 0x6d, 0x0, 0xd, 0x0, 0x0, 0x1, 0x23, 0x11, 0x34, 0x37, 0x36, 0x33, 0x21, 0x15, 0x21, 0x22, 0x7, 0x6, 0x15, 0x3, 0x5d, 0xba, 0x6f, 0x79, 0xba, 0x1, 0x13, 0xfe, 0xe7, 0x65, 0x44, 0x39, 0xfd, 0xea, 0x7, 0x75, 0xdf, 0x91, 0x9e, 0xb0, 0x66, 0x57, 0x99, 0x0, 0x1, 0x0, 0xa8, 0xfd, 0xfc, 0x3, 0x5d, 0x7, 0x86, 0x0, 0x18, 0x0, 0x0, 0x1, 0x16, 0x17, 0x16, 0x19, 0x1, 0x23, 0x11, 0x10, 0x27, 0x26, 0x25, 0x27, 0x35, 0x33, 0x20, 0x37, 0x36, 0x19, 0x1, 0x33, 0x11, 0x10, 0x7, 0x6, 0x2, 0x94, 0x3a, 0x2a, 0x65, 0xba, 0x6e, 0x4b, 0xfe, 0xfb, 0x3d, 0x3d, 0x1, 0x3, 0x4d, 0x6e, 0xba, 0x65, 0x28, 0x2, 0xc1, 0x20, 0x3d, 0x93, 0xfe, 0x43, 0xfd, 0xe8, 0x2, 0xc, 0x1, 0xb7, 0x5f, 0x41, 0x4, 0x1, 0xbb, 0x45, 0x63, 0x1, 0xb3, 0x2, 0xc, 0xfd, 0xe8, 0xfe, 0x48, 0x98, 0x3c, 0x0, 0x1, 0x2, 0xa3, 0xfe, 0x14, 0x5, 0x58, 0x7, 0x86, 0x0, 0xd, 0x0, 0x0, 0x1, 0x11, 0x14, 0x17, 0x16, 0x33, 0x21, 0x15, 0x21, 0x22, 0x27, 0x26, 0x35, 0x11, 0x3, 0x5d, 0x39, 0x44, 0x65, 0x1, 0x19, 0xfe, 0xed, 0xb8, 0x7b, 0x6f, 0x7, 0x86, 0xf8, 0x94, 0x9a, 0x56, 0x66, 0xb0, 0x9e, 0x8f, 0xe1, 0x7, 0x64, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa3, 0xfd, 0xf4, 0x3, 0x5d, 0x7, 0x8c, 0x0, 0x3, 0x0, 0x0, 0x1, 0x23, 0x11, 0x33, 0x3, 0x5d, 0xba, 0xba, 0xfd, 0xf4, 0x9, 0x98, 0x0, 0x0, 0x0, 0x1, 0x0, 0xa8, 0xfd, 0xea, 0x3, 0x5d, 0x7, 0x6d, 0x0, 0xd, 0x0, 0x0, 0x1, 0x11, 0x34, 0x27, 0x26, 0x23, 0x21, 0x35, 0x21, 0x32, 0x17, 0x16, 0x15, 0x11, 0x2, 0xa3, 0x39, 0x44, 0x65, 0xfe, 0xe7, 0x1, 0x13, 0xba, 0x79, 0x6f, 0xfd, 0xea, 0x7, 0x7d, 0x99, 0x57, 0x66, 0xb0, 0x9e, 0x91, 0xdf, 0xf8, 0x8b, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0xa3, 0xfd, 0xfc, 0x5, 0x58, 0x7, 0x86, 0x0, 0x18, 0x0, 0x0, 0x1, 0x26, 0x27, 0x26, 0x19, 0x1, 0x33, 0x11, 0x10, 0x17, 0x16, 0x21, 0x33, 0x15, 0x7, 0x4, 0x7, 0x6, 0x19, 0x1, 0x23, 0x11, 0x10, 0x37, 0x36, 0x3, 0x6c, 0x3c, 0x28, 0x65, 0xba, 0x6e, 0x4d, 0x1, 0x3, 0x3d, 0x3d, 0xfe, 0xfb, 0x4b, 0x6e, 0xba, 0x65, 0x2a, 0x2, 0xc1, 0x21, 0x3c, 0x98, 0x1, 0xb8, 0x2, 0x18, 0xfd, 0xf4, 0xfe, 0x4d, 0x63, 0x45, 0xbb, 0x1, 0x4, 0x41, 0x5f, 0xfe, 0x49, 0xfd, 0xf4, 0x2, 0x18, 0x1, 0xbd, 0x93, 0x3d, 0x0, 0x1, 0x0, 0xa8, 0xfe, 0x14, 0x3, 0x5d, 0x7, 0x86, 0x0, 0xd, 0x0, 0x0, 0x1, 0x33, 0x11, 0x14, 0x7, 0x6, 0x23, 0x21, 0x35, 0x21, 0x32, 0x37, 0x36, 0x35, 0x2, 0xa3, 0xba, 0x6f, 0x7b, 0xb8, 0xfe, 0xed, 0x1, 0x19, 0x65, 0x44, 0x39, 0x7, 0x86, 0xf8, 0x9c, 0xe1, 0x8f, 0x9e, 0xb0, 0x66, 0x56, 0x9a, 0x0, 0x1, 0x1, 0xaf, 0xfe, 0x0, 0x2, 0x75, 0x7, 0x89, 0x0, 0x3, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x1, 0xaf, 0xc6, 0xfe, 0x0, 0x9, 0x89, 0xf6, 0x77, 0x0, 0x0, 0x2, 0x0, 0x37, 0x0, 0x86, 0x6, 0x40, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x11, 0x0, 0x0, 0x25, 0x9, 0x1, 0x11, 0x21, 0x11, 0x21, 0x3, 0x21, 0x3, 0x35, 0x9, 0x1, 0x35, 0x21, 0x13, 0x21, 0x3, 0x2, 0x33, 0xfe, 0x4, 0x1, 0xfc, 0x2, 0x37, 0x1, 0xd6, 0x1, 0xfb, 0xf4, 0x64, 0xfe, 0xf6, 0x1, 0xa, 0x4, 0xc, 0x1, 0xfe, 0xf2, 0x1, 0x86, 0x1, 0xfc, 0x1, 0xfc, 0xfe, 0xef, 0x2, 0x68, 0xfb, 0xc2, 0x1, 0x72, 0x83, 0xfe, 0xf6, 0xfe, 0xf6, 0x83, 0x3, 0x76, 0xfd, 0x98, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0x0, 0x0, 0x6, 0xd5, 0x4, 0xc4, 0x0, 0x2, 0x0, 0x6, 0x0, 0x0, 0x1, 0x21, 0x9, 0x1, 0x21, 0x11, 0x21, 0x6, 0xd5, 0xf9, 0xe5, 0x3, 0xd, 0x3, 0xe, 0xf9, 0xe5, 0x6, 0x1b, 0x2, 0xa0, 0x2, 0x24, 0xfb, 0x3c, 0x1, 0xf8, 0x0, 0x0, 0x4, 0x0, 0x96, 0xff, 0x46, 0x6, 0x66, 0x5, 0xfc, 0x0, 0x5, 0x0, 0xb, 0x0, 0x1f, 0x0, 0x2b, 0x0, 0x0, 0x9, 0x2, 0x11, 0x9, 0x1, 0x3, 0x11, 0x9, 0x1, 0x11, 0x1, 0x0, 0x14, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x36, 0x34, 0x27, 0x26, 0x27, 0x26, 0x22, 0x7, 0x6, 0x7, 0x2, 0x10, 0x3e, 0x1, 0x20, 0x1e, 0x1, 0x10, 0xe, 0x1, 0x20, 0x26, 0x1, 0x8, 0x2, 0x76, 0x2, 0x76, 0xfd, 0x8a, 0xfd, 0x8a, 0x72, 0x2, 0xe8, 0x2, 0xe8, 0xfd, 0x18, 0xfe, 0x6e, 0x36, 0x36, 0x5c, 0x5d, 0xda, 0x5d, 0x5c, 0x36, 0x36, 0x36, 0x36, 0x5c, 0x5d, 0xda, 0x5d, 0x5c, 0x36, 0xa8, 0x8a, 0xee, 0x1, 0x18, 0xee, 0x8a, 0x8a, 0xee, 0xfe, 0xe8, 0xee, 0x1, 0x35, 0xfe, 0x95, 0x1, 0x6b, 0x2, 0xd8, 0x1, 0x6b, 0xfe, 0x95, 0xfc, 0xe6, 0x3, 0x5c, 0x1, 0xad, 0xfe, 0x53, 0xfc, 0xa4, 0xfe, 0x53, 0x3, 0xc8, 0xda, 0x5d, 0x5c, 0x36, 0x36, 0x36, 0x36, 0x5c, 0x5d, 0xda, 0x5d, 0x5c, 0x36, 0x36, 0x36, 0x36, 0x5c, 0xfe, 0xaa, 0x1, 0x18, 0xee, 0x8a, 0x8a, 0xee, 0xfe, 0xe8, 0xee, 0x8a, 0x8a, 0x0, 0xff, 0xff, 0x0, 0x6, 0x0, 0x9a, 0x6, 0x21, 0x3, 0x8e, 0x10, 0x6, 0xe, 0x83, 0x0, 0x0, 0x0, 0x3, 0x0, 0x59, 0xfe, 0xf7, 0x4, 0xcf, 0x2, 0x5a, 0x0, 0xd, 0x0, 0x19, 0x0, 0x20, 0x0, 0x0, 0x0, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x32, 0x37, 0x36, 0x35, 0x34, 0x2f, 0x1, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x1, 0x11, 0x7, 0x35, 0x37, 0x33, 0x11, 0x3, 0xe9, 0xca, 0x32, 0x33, 0x33, 0x32, 0xca, 0x32, 0x33, 0x33, 0x97, 0xa1, 0xaa, 0xaa, 0xa1, 0xa2, 0xaa, 0xaa, 0xfe, 0x56, 0xdf, 0xe6, 0x89, 0x2, 0x1, 0x56, 0x56, 0xac, 0xad, 0x56, 0x56, 0x56, 0x56, 0xad, 0xac, 0x56, 0xaf, 0xde, 0xd3, 0xd4, 0xde, 0xde, 0xd4, 0xd3, 0xde, 0xfc, 0xac, 0x2, 0xd1, 0x29, 0x74, 0x27, 0xfc, 0xbd, 0x0, 0x0, 0x0, 0x2, 0xff, 0x82, 0xff, 0xe3, 0x4, 0xa4, 0x6, 0x14, 0x0, 0x17, 0x0, 0x1f, 0x0, 0x0, 0x1, 0x3e, 0x1, 0x33, 0x32, 0x0, 0x10, 0x2, 0x23, 0x22, 0x26, 0x27, 0x15, 0x23, 0x11, 0x5, 0x27, 0x25, 0x35, 0x33, 0x15, 0x25, 0x17, 0x5, 0x0, 0x10, 0x26, 0x20, 0x6, 0x10, 0x16, 0x20, 0x1, 0x73, 0x3a, 0xb1, 0x7b, 0xcc, 0x0, 0xff, 0xff, 0xcc, 0x7b, 0xb1, 0x3a, 0xb9, 0xfe, 0xe9, 0x21, 0x1, 0x38, 0xb9, 0x1, 0x23, 0x21, 0xfe, 0xbc, 0x2, 0x72, 0xa7, 0xfe, 0xdc, 0xa7, 0xa7, 0x1, 0x24, 0x3, 0xb6, 0x64, 0x61, 0xfe, 0xbc, 0xfd, 0xf0, 0xfe, 0xbc, 0x61, 0x64, 0xa8, 0x4, 0xe6, 0x5d, 0x63, 0x68, 0xc0, 0x83, 0x61, 0x61, 0x6d, 0xfc, 0x40, 0x1, 0x96, 0xe7, 0xe7, 0xfe, 0x6a, 0xe7, 0x0, 0x0, 0x0, 0x1, 0x0, 0x92, 0xfe, 0x2e, 0x4, 0x82, 0x0, 0xd0, 0x0, 0x7, 0x0, 0x0, 0x1, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x1, 0x3a, 0x2, 0xa0, 0xa8, 0xfc, 0x10, 0xa8, 0xfe, 0xd8, 0x1, 0xf8, 0xfd, 0x5e, 0x2, 0xa2, 0x0, 0x0, 0x0, 0x3, 0x0, 0x98, 0xff, 0xec, 0x6, 0x94, 0x5, 0xe8, 0x0, 0xd, 0x0, 0x1b, 0x0, 0x26, 0x0, 0xdb, 0xba, 0x0, 0xe, 0x0, 0x6, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xe, 0x10, 0xba, 0x0, 0x23, 0x0, 0x1d, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x23, 0x10, 0xba, 0x0, 0x0, 0x0, 0x14, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x0, 0x10, 0x41, 0x1b, 0x0, 0x16, 0x0, 0xe, 0x0, 0x26, 0x0, 0xe, 0x0, 0x36, 0x0, 0xe, 0x0, 0x46, 0x0, 0xe, 0x0, 0x56, 0x0, 0xe, 0x0, 0x66, 0x0, 0xe, 0x0, 0x76, 0x0, 0xe, 0x0, 0x86, 0x0, 0xe, 0x0, 0x96, 0x0, 0xe, 0x0, 0xa6, 0x0, 0xe, 0x0, 0xb6, 0x0, 0xe, 0x0, 0xc6, 0x0, 0xe, 0x0, 0xd6, 0x0, 0xe, 0x0, 0xd, 0x5d, 0x41, 0x5, 0x0, 0xe5, 0x0, 0xe, 0x0, 0xf5, 0x0, 0xe, 0x0, 0x2, 0x5d, 0x41, 0x5, 0x0, 0xea, 0x0, 0x14, 0x0, 0xfa, 0x0, 0x14, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x14, 0x0, 0x29, 0x0, 0x14, 0x0, 0x39, 0x0, 0x14, 0x0, 0x49, 0x0, 0x14, 0x0, 0x59, 0x0, 0x14, 0x0, 0x69, 0x0, 0x14, 0x0, 0x79, 0x0, 0x14, 0x0, 0x89, 0x0, 0x14, 0x0, 0x99, 0x0, 0x14, 0x0, 0xa9, 0x0, 0x14, 0x0, 0xb9, 0x0, 0x14, 0x0, 0xc9, 0x0, 0x14, 0x0, 0xd9, 0x0, 0x14, 0x0, 0xd, 0x5d, 0x0, 0xba, 0x0, 0x11, 0x0, 0x3, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x11, 0x10, 0xba, 0x0, 0xa, 0x0, 0x18, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xa, 0x10, 0xba, 0x0, 0x24, 0x0, 0x25, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x24, 0x10, 0xb8, 0x0, 0x1c, 0xd0, 0x30, 0x31, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x2, 0x24, 0x23, 0x22, 0x4, 0x2, 0x1, 0x33, 0x11, 0x7, 0x35, 0x25, 0x33, 0x11, 0x33, 0x15, 0x21, 0x6, 0x94, 0xfe, 0x3f, 0xfe, 0xc2, 0xfe, 0xc4, 0xfe, 0x3f, 0xce, 0x1, 0x71, 0xbe, 0xc1, 0x1, 0x71, 0xcd, 0xfa, 0x57, 0x1, 0x8f, 0x1, 0x1c, 0x1, 0x1c, 0x1, 0x8f, 0xb6, 0xfe, 0xb8, 0xad, 0xad, 0xfe, 0xb8, 0xb6, 0x1, 0x7c, 0xd9, 0xec, 0x1, 0x1, 0xa1, 0xda, 0xfd, 0x97, 0x2, 0xea, 0xfe, 0xc1, 0xfe, 0x41, 0x1, 0xbf, 0x1, 0x3f, 0xc6, 0x1, 0x72, 0xc6, 0xc6, 0xfe, 0x90, 0xc8, 0xfe, 0xe4, 0xfe, 0x70, 0x1, 0x90, 0x1, 0x1c, 0xb3, 0x1, 0x47, 0xb1, 0xb1, 0xfe, 0xb9, 0xfd, 0xff, 0x2, 0x7e, 0x2b, 0x98, 0x2f, 0xfc, 0xe6, 0x8e, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x98, 0xff, 0xec, 0x6, 0x94, 0x5, 0xe8, 0x0, 0xd, 0x0, 0x1b, 0x0, 0x38, 0x1, 0x3f, 0xba, 0x0, 0xe, 0x0, 0x6, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xe, 0x10, 0xba, 0x0, 0x33, 0x0, 0x26, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x33, 0x10, 0xba, 0x0, 0x0, 0x0, 0x14, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x0, 0x10, 0x41, 0x1b, 0x0, 0x16, 0x0, 0xe, 0x0, 0x26, 0x0, 0xe, 0x0, 0x36, 0x0, 0xe, 0x0, 0x46, 0x0, 0xe, 0x0, 0x56, 0x0, 0xe, 0x0, 0x66, 0x0, 0xe, 0x0, 0x76, 0x0, 0xe, 0x0, 0x86, 0x0, 0xe, 0x0, 0x96, 0x0, 0xe, 0x0, 0xa6, 0x0, 0xe, 0x0, 0xb6, 0x0, 0xe, 0x0, 0xc6, 0x0, 0xe, 0x0, 0xd6, 0x0, 0xe, 0x0, 0xd, 0x5d, 0x41, 0x5, 0x0, 0xe5, 0x0, 0xe, 0x0, 0xf5, 0x0, 0xe, 0x0, 0x2, 0x5d, 0x41, 0x5, 0x0, 0xea, 0x0, 0x14, 0x0, 0xfa, 0x0, 0x14, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x14, 0x0, 0x29, 0x0, 0x14, 0x0, 0x39, 0x0, 0x14, 0x0, 0x49, 0x0, 0x14, 0x0, 0x59, 0x0, 0x14, 0x0, 0x69, 0x0, 0x14, 0x0, 0x79, 0x0, 0x14, 0x0, 0x89, 0x0, 0x14, 0x0, 0x99, 0x0, 0x14, 0x0, 0xa9, 0x0, 0x14, 0x0, 0xb9, 0x0, 0x14, 0x0, 0xc9, 0x0, 0x14, 0x0, 0xd9, 0x0, 0x14, 0x0, 0xd, 0x5d, 0xb8, 0x0, 0x33, 0x10, 0xb8, 0x0, 0x1d, 0xd0, 0xb8, 0x0, 0x1d, 0x2f, 0x41, 0x5, 0x0, 0xea, 0x0, 0x26, 0x0, 0xfa, 0x0, 0x26, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x26, 0x0, 0x29, 0x0, 0x26, 0x0, 0x39, 0x0, 0x26, 0x0, 0x49, 0x0, 0x26, 0x0, 0x59, 0x0, 0x26, 0x0, 0x69, 0x0, 0x26, 0x0, 0x79, 0x0, 0x26, 0x0, 0x89, 0x0, 0x26, 0x0, 0x99, 0x0, 0x26, 0x0, 0xa9, 0x0, 0x26, 0x0, 0xb9, 0x0, 0x26, 0x0, 0xc9, 0x0, 0x26, 0x0, 0xd9, 0x0, 0x26, 0x0, 0xd, 0x5d, 0xba, 0x0, 0x2c, 0x0, 0x6, 0x0, 0x0, 0x11, 0x12, 0x39, 0x0, 0xba, 0x0, 0x11, 0x0, 0x3, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x11, 0x10, 0xba, 0x0, 0xa, 0x0, 0x18, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xa, 0x10, 0xba, 0x0, 0x1d, 0x0, 0x1e, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x1d, 0x10, 0xba, 0x0, 0x30, 0x0, 0x29, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x30, 0x10, 0x30, 0x31, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x2, 0x24, 0x23, 0x22, 0x4, 0x2, 0x1, 0x21, 0x15, 0x21, 0x35, 0x36, 0x24, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0xe, 0x1, 0x6, 0x94, 0xfe, 0x3f, 0xfe, 0xc2, 0xfe, 0xc4, 0xfe, 0x3f, 0xce, 0x1, 0x71, 0xbe, 0xc1, 0x1, 0x71, 0xcd, 0xfa, 0x57, 0x1, 0x8f, 0x1, 0x1c, 0x1, 0x1c, 0x1, 0x8f, 0xb6, 0xfe, 0xb8, 0xad, 0xad, 0xfe, 0xb8, 0xb6, 0x2, 0x4f, 0x1, 0xb4, 0xfd, 0x5c, 0x52, 0x1, 0x6, 0x21, 0x3e, 0x2f, 0x5f, 0x4e, 0x3b, 0x84, 0x73, 0x61, 0x91, 0x3d, 0xa3, 0xc5, 0x30, 0x3e, 0x11, 0xb2, 0x2, 0xea, 0xfe, 0xc1, 0xfe, 0x41, 0x1, 0xbf, 0x1, 0x3f, 0xc6, 0x1, 0x72, 0xc6, 0xc6, 0xfe, 0x90, 0xc8, 0xfe, 0xe4, 0xfe, 0x70, 0x1, 0x90, 0x1, 0x1c, 0xb3, 0x1, 0x47, 0xb1, 0xb1, 0xfe, 0xb9, 0xfd, 0xff, 0x8e, 0x81, 0x4d, 0xf1, 0x22, 0x3f, 0x55, 0x28, 0x3f, 0x4e, 0x26, 0x3a, 0xab, 0x24, 0x1f, 0x97, 0x7d, 0x3a, 0x69, 0x46, 0x12, 0xa7, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x98, 0xff, 0xec, 0x6, 0x94, 0x5, 0xe8, 0x0, 0xd, 0x0, 0x1b, 0x0, 0x44, 0x1, 0xb5, 0xba, 0x0, 0xe, 0x0, 0x6, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xe, 0x10, 0xba, 0x0, 0x42, 0x0, 0x35, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x42, 0x10, 0xba, 0x0, 0x0, 0x0, 0x14, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x0, 0x10, 0x41, 0x1b, 0x0, 0x16, 0x0, 0xe, 0x0, 0x26, 0x0, 0xe, 0x0, 0x36, 0x0, 0xe, 0x0, 0x46, 0x0, 0xe, 0x0, 0x56, 0x0, 0xe, 0x0, 0x66, 0x0, 0xe, 0x0, 0x76, 0x0, 0xe, 0x0, 0x86, 0x0, 0xe, 0x0, 0x96, 0x0, 0xe, 0x0, 0xa6, 0x0, 0xe, 0x0, 0xb6, 0x0, 0xe, 0x0, 0xc6, 0x0, 0xe, 0x0, 0xd6, 0x0, 0xe, 0x0, 0xd, 0x5d, 0x41, 0x5, 0x0, 0xe5, 0x0, 0xe, 0x0, 0xf5, 0x0, 0xe, 0x0, 0x2, 0x5d, 0x41, 0x5, 0x0, 0xea, 0x0, 0x14, 0x0, 0xfa, 0x0, 0x14, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x14, 0x0, 0x29, 0x0, 0x14, 0x0, 0x39, 0x0, 0x14, 0x0, 0x49, 0x0, 0x14, 0x0, 0x59, 0x0, 0x14, 0x0, 0x69, 0x0, 0x14, 0x0, 0x79, 0x0, 0x14, 0x0, 0x89, 0x0, 0x14, 0x0, 0x99, 0x0, 0x14, 0x0, 0xa9, 0x0, 0x14, 0x0, 0xb9, 0x0, 0x14, 0x0, 0xc9, 0x0, 0x14, 0x0, 0xd9, 0x0, 0x14, 0x0, 0xd, 0x5d, 0x41, 0x5, 0x0, 0xea, 0x0, 0x35, 0x0, 0xfa, 0x0, 0x35, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x35, 0x0, 0x29, 0x0, 0x35, 0x0, 0x39, 0x0, 0x35, 0x0, 0x49, 0x0, 0x35, 0x0, 0x59, 0x0, 0x35, 0x0, 0x69, 0x0, 0x35, 0x0, 0x79, 0x0, 0x35, 0x0, 0x89, 0x0, 0x35, 0x0, 0x99, 0x0, 0x35, 0x0, 0xa9, 0x0, 0x35, 0x0, 0xb9, 0x0, 0x35, 0x0, 0xc9, 0x0, 0x35, 0x0, 0xd9, 0x0, 0x35, 0x0, 0xd, 0x5d, 0xba, 0x0, 0x1c, 0x0, 0x35, 0x0, 0x42, 0x11, 0x12, 0x39, 0xba, 0x0, 0x2c, 0x0, 0x35, 0x0, 0x42, 0x11, 0x12, 0x39, 0xb8, 0x0, 0x2c, 0x2f, 0x41, 0x5, 0x0, 0xea, 0x0, 0x2c, 0x0, 0xfa, 0x0, 0x2c, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x2c, 0x0, 0x29, 0x0, 0x2c, 0x0, 0x39, 0x0, 0x2c, 0x0, 0x49, 0x0, 0x2c, 0x0, 0x59, 0x0, 0x2c, 0x0, 0x69, 0x0, 0x2c, 0x0, 0x79, 0x0, 0x2c, 0x0, 0x89, 0x0, 0x2c, 0x0, 0x99, 0x0, 0x2c, 0x0, 0xa9, 0x0, 0x2c, 0x0, 0xb9, 0x0, 0x2c, 0x0, 0xc9, 0x0, 0x2c, 0x0, 0xd9, 0x0, 0x2c, 0x0, 0xd, 0x5d, 0xb8, 0x0, 0x1f, 0xdc, 0xba, 0x0, 0x26, 0x0, 0x6, 0x0, 0x0, 0x11, 0x12, 0x39, 0xba, 0x0, 0x3b, 0x0, 0x6, 0x0, 0x0, 0x11, 0x12, 0x39, 0x0, 0xba, 0x0, 0x11, 0x0, 0x3, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x11, 0x10, 0xba, 0x0, 0xa, 0x0, 0x18, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xa, 0x10, 0xba, 0x0, 0x29, 0x0, 0x22, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x29, 0x10, 0xba, 0x0, 0x3f, 0x0, 0x38, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x3f, 0x10, 0xba, 0x0, 0x32, 0x0, 0x2f, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x32, 0x10, 0xba, 0x0, 0x1c, 0x0, 0x2f, 0x0, 0x32, 0x11, 0x12, 0x39, 0x30, 0x31, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x2, 0x24, 0x23, 0x22, 0x4, 0x2, 0x5, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x6, 0x94, 0xfe, 0x3f, 0xfe, 0xc2, 0xfe, 0xc4, 0xfe, 0x3f, 0xce, 0x1, 0x71, 0xbe, 0xc1, 0x1, 0x71, 0xcd, 0xfa, 0x57, 0x1, 0x8f, 0x1, 0x1c, 0x1, 0x1c, 0x1, 0x8f, 0xb6, 0xfe, 0xb8, 0xad, 0xad, 0xfe, 0xb8, 0xb6, 0x3, 0xb9, 0xd, 0x76, 0xd8, 0xc3, 0x40, 0x88, 0x58, 0x5b, 0x7d, 0x44, 0x75, 0x73, 0x6b, 0x63, 0x8c, 0x91, 0x5a, 0x58, 0x5c, 0x5b, 0x34, 0x79, 0x6b, 0x5f, 0x88, 0x3d, 0xa1, 0xc1, 0x68, 0x2, 0xea, 0xfe, 0xc1, 0xfe, 0x41, 0x1, 0xbf, 0x1, 0x3f, 0xc6, 0x1, 0x72, 0xc6, 0xc6, 0xfe, 0x90, 0xc8, 0xfe, 0xe4, 0xfe, 0x70, 0x1, 0x90, 0x1, 0x1c, 0xb3, 0x1, 0x47, 0xb1, 0xb1, 0xfe, 0xb9, 0x96, 0x3, 0x81, 0x5d, 0x8d, 0x9c, 0x17, 0x1b, 0xa8, 0x30, 0x1c, 0x4f, 0x4c, 0x47, 0x4e, 0x8c, 0x3c, 0x3a, 0x3c, 0x3f, 0x15, 0x20, 0x97, 0x18, 0x14, 0x89, 0x73, 0x51, 0x72, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x98, 0xff, 0xec, 0x6, 0x94, 0x5, 0xe8, 0x0, 0xd, 0x0, 0x1b, 0x0, 0x1e, 0x0, 0x29, 0x0, 0xf3, 0xba, 0x0, 0xe, 0x0, 0x6, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xe, 0x10, 0xba, 0x0, 0x20, 0x0, 0x1c, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x20, 0x10, 0xba, 0x0, 0x0, 0x0, 0x14, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x0, 0x10, 0x41, 0x1b, 0x0, 0x16, 0x0, 0xe, 0x0, 0x26, 0x0, 0xe, 0x0, 0x36, 0x0, 0xe, 0x0, 0x46, 0x0, 0xe, 0x0, 0x56, 0x0, 0xe, 0x0, 0x66, 0x0, 0xe, 0x0, 0x76, 0x0, 0xe, 0x0, 0x86, 0x0, 0xe, 0x0, 0x96, 0x0, 0xe, 0x0, 0xa6, 0x0, 0xe, 0x0, 0xb6, 0x0, 0xe, 0x0, 0xc6, 0x0, 0xe, 0x0, 0xd6, 0x0, 0xe, 0x0, 0xd, 0x5d, 0x41, 0x5, 0x0, 0xe5, 0x0, 0xe, 0x0, 0xf5, 0x0, 0xe, 0x0, 0x2, 0x5d, 0x41, 0x5, 0x0, 0xea, 0x0, 0x14, 0x0, 0xfa, 0x0, 0x14, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x14, 0x0, 0x29, 0x0, 0x14, 0x0, 0x39, 0x0, 0x14, 0x0, 0x49, 0x0, 0x14, 0x0, 0x59, 0x0, 0x14, 0x0, 0x69, 0x0, 0x14, 0x0, 0x79, 0x0, 0x14, 0x0, 0x89, 0x0, 0x14, 0x0, 0x99, 0x0, 0x14, 0x0, 0xa9, 0x0, 0x14, 0x0, 0xb9, 0x0, 0x14, 0x0, 0xc9, 0x0, 0x14, 0x0, 0xd9, 0x0, 0x14, 0x0, 0xd, 0x5d, 0xb8, 0x0, 0x20, 0x10, 0xb8, 0x0, 0x24, 0xd0, 0xb8, 0x0, 0x1c, 0x10, 0xb8, 0x0, 0x26, 0xd0, 0x0, 0xba, 0x0, 0x11, 0x0, 0x3, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x11, 0x10, 0xba, 0x0, 0xa, 0x0, 0x18, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xa, 0x10, 0xba, 0x0, 0x22, 0x0, 0x23, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x22, 0x10, 0xb8, 0x0, 0x1d, 0xd0, 0xb8, 0x0, 0x23, 0x10, 0xb8, 0x0, 0x27, 0xd0, 0x30, 0x31, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x2, 0x24, 0x23, 0x22, 0x4, 0x2, 0x25, 0x1, 0x21, 0x3, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x21, 0x35, 0x6, 0x94, 0xfe, 0x3f, 0xfe, 0xc2, 0xfe, 0xc4, 0xfe, 0x3f, 0xce, 0x1, 0x71, 0xbe, 0xc1, 0x1, 0x71, 0xcd, 0xfa, 0x57, 0x1, 0x8f, 0x1, 0x1c, 0x1, 0x1c, 0x1, 0x8f, 0xb6, 0xfe, 0xb8, 0xad, 0xad, 0xfe, 0xb8, 0xb6, 0x2, 0xbf, 0xfe, 0xf3, 0x1, 0xd, 0x18, 0xce, 0x8d, 0x8d, 0xb6, 0xfe, 0x43, 0x2, 0xea, 0xfe, 0xc1, 0xfe, 0x41, 0x1, 0xbf, 0x1, 0x3f, 0xc6, 0x1, 0x72, 0xc6, 0xc6, 0xfe, 0x90, 0xc8, 0xfe, 0xe4, 0xfe, 0x70, 0x1, 0x90, 0x1, 0x1c, 0xb3, 0x1, 0x47, 0xb1, 0xb1, 0xfe, 0xb9, 0x4f, 0xfe, 0x82, 0x2, 0x48, 0xfd, 0xb8, 0x8d, 0xd3, 0xd3, 0x8e, 0x0, 0x0, 0x0, 0x3, 0x0, 0x98, 0xff, 0xec, 0x6, 0x94, 0x5, 0xe8, 0x0, 0xd, 0x0, 0x1b, 0x0, 0x39, 0x1, 0x4b, 0xba, 0x0, 0xe, 0x0, 0x6, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xe, 0x10, 0xba, 0x0, 0x1f, 0x0, 0x1c, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x1f, 0x10, 0xba, 0x0, 0x26, 0x0, 0x33, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x26, 0x10, 0xba, 0x0, 0x0, 0x0, 0x14, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x0, 0x10, 0x41, 0x1b, 0x0, 0x16, 0x0, 0xe, 0x0, 0x26, 0x0, 0xe, 0x0, 0x36, 0x0, 0xe, 0x0, 0x46, 0x0, 0xe, 0x0, 0x56, 0x0, 0xe, 0x0, 0x66, 0x0, 0xe, 0x0, 0x76, 0x0, 0xe, 0x0, 0x86, 0x0, 0xe, 0x0, 0x96, 0x0, 0xe, 0x0, 0xa6, 0x0, 0xe, 0x0, 0xb6, 0x0, 0xe, 0x0, 0xc6, 0x0, 0xe, 0x0, 0xd6, 0x0, 0xe, 0x0, 0xd, 0x5d, 0x41, 0x5, 0x0, 0xe5, 0x0, 0xe, 0x0, 0xf5, 0x0, 0xe, 0x0, 0x2, 0x5d, 0x41, 0x5, 0x0, 0xea, 0x0, 0x14, 0x0, 0xfa, 0x0, 0x14, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x14, 0x0, 0x29, 0x0, 0x14, 0x0, 0x39, 0x0, 0x14, 0x0, 0x49, 0x0, 0x14, 0x0, 0x59, 0x0, 0x14, 0x0, 0x69, 0x0, 0x14, 0x0, 0x79, 0x0, 0x14, 0x0, 0x89, 0x0, 0x14, 0x0, 0x99, 0x0, 0x14, 0x0, 0xa9, 0x0, 0x14, 0x0, 0xb9, 0x0, 0x14, 0x0, 0xc9, 0x0, 0x14, 0x0, 0xd9, 0x0, 0x14, 0x0, 0xd, 0x5d, 0xba, 0x0, 0x2d, 0x0, 0x6, 0x0, 0x0, 0x11, 0x12, 0x39, 0x41, 0x5, 0x0, 0xea, 0x0, 0x33, 0x0, 0xfa, 0x0, 0x33, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x33, 0x0, 0x29, 0x0, 0x33, 0x0, 0x39, 0x0, 0x33, 0x0, 0x49, 0x0, 0x33, 0x0, 0x59, 0x0, 0x33, 0x0, 0x69, 0x0, 0x33, 0x0, 0x79, 0x0, 0x33, 0x0, 0x89, 0x0, 0x33, 0x0, 0x99, 0x0, 0x33, 0x0, 0xa9, 0x0, 0x33, 0x0, 0xb9, 0x0, 0x33, 0x0, 0xc9, 0x0, 0x33, 0x0, 0xd9, 0x0, 0x33, 0x0, 0xd, 0x5d, 0x0, 0xba, 0x0, 0x11, 0x0, 0x3, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x11, 0x10, 0xba, 0x0, 0xa, 0x0, 0x18, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xa, 0x10, 0xba, 0x0, 0x30, 0x0, 0x29, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x30, 0x10, 0xba, 0x0, 0x1d, 0x0, 0x1e, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x1d, 0x10, 0xba, 0x0, 0x23, 0x0, 0x36, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x23, 0x10, 0x30, 0x31, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x2, 0x24, 0x23, 0x22, 0x4, 0x2, 0x1, 0x21, 0x15, 0x21, 0x15, 0x6, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x6, 0x94, 0xfe, 0x3f, 0xfe, 0xc2, 0xfe, 0xc4, 0xfe, 0x3f, 0xce, 0x1, 0x71, 0xbe, 0xc1, 0x1, 0x71, 0xcd, 0xfa, 0x57, 0x1, 0x8f, 0x1, 0x1c, 0x1, 0x1c, 0x1, 0x8f, 0xb6, 0xfe, 0xb8, 0xad, 0xad, 0xfe, 0xb8, 0xb6, 0x1, 0x98, 0x2, 0x3d, 0xfe, 0x6f, 0x3, 0x3f, 0x1f, 0xb0, 0xcf, 0xd5, 0xbe, 0x40, 0x85, 0x58, 0x5f, 0x77, 0x44, 0x68, 0x76, 0x76, 0x68, 0x32, 0x65, 0x59, 0x2, 0xea, 0xfe, 0xc1, 0xfe, 0x41, 0x1, 0xbf, 0x1, 0x3f, 0xc6, 0x1, 0x72, 0xc6, 0xc6, 0xfe, 0x90, 0xc8, 0xfe, 0xe4, 0xfe, 0x70, 0x1, 0x90, 0x1, 0x1c, 0xb3, 0x1, 0x47, 0xb1, 0xb1, 0xfe, 0xb9, 0x1, 0x19, 0x8e, 0xab, 0x1, 0xa, 0xb0, 0x95, 0x98, 0xac, 0x14, 0x18, 0xac, 0x2f, 0x1b, 0x61, 0x55, 0x56, 0x61, 0x14, 0x25, 0x0, 0x0, 0x4, 0x0, 0x98, 0xff, 0xec, 0x6, 0x94, 0x5, 0xe8, 0x0, 0xd, 0x0, 0x1b, 0x0, 0x27, 0x0, 0x40, 0x1, 0x91, 0xba, 0x0, 0xe, 0x0, 0x6, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xe, 0x10, 0xba, 0x0, 0x1f, 0x0, 0x3b, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x1f, 0x10, 0xba, 0x0, 0x35, 0x0, 0x25, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x35, 0x10, 0xba, 0x0, 0x0, 0x0, 0x14, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x0, 0x10, 0x41, 0x1b, 0x0, 0x16, 0x0, 0xe, 0x0, 0x26, 0x0, 0xe, 0x0, 0x36, 0x0, 0xe, 0x0, 0x46, 0x0, 0xe, 0x0, 0x56, 0x0, 0xe, 0x0, 0x66, 0x0, 0xe, 0x0, 0x76, 0x0, 0xe, 0x0, 0x86, 0x0, 0xe, 0x0, 0x96, 0x0, 0xe, 0x0, 0xa6, 0x0, 0xe, 0x0, 0xb6, 0x0, 0xe, 0x0, 0xc6, 0x0, 0xe, 0x0, 0xd6, 0x0, 0xe, 0x0, 0xd, 0x5d, 0x41, 0x5, 0x0, 0xe5, 0x0, 0xe, 0x0, 0xf5, 0x0, 0xe, 0x0, 0x2, 0x5d, 0x41, 0x5, 0x0, 0xea, 0x0, 0x14, 0x0, 0xfa, 0x0, 0x14, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x14, 0x0, 0x29, 0x0, 0x14, 0x0, 0x39, 0x0, 0x14, 0x0, 0x49, 0x0, 0x14, 0x0, 0x59, 0x0, 0x14, 0x0, 0x69, 0x0, 0x14, 0x0, 0x79, 0x0, 0x14, 0x0, 0x89, 0x0, 0x14, 0x0, 0x99, 0x0, 0x14, 0x0, 0xa9, 0x0, 0x14, 0x0, 0xb9, 0x0, 0x14, 0x0, 0xc9, 0x0, 0x14, 0x0, 0xd9, 0x0, 0x14, 0x0, 0xd, 0x5d, 0x41, 0x1b, 0x0, 0x16, 0x0, 0x1f, 0x0, 0x26, 0x0, 0x1f, 0x0, 0x36, 0x0, 0x1f, 0x0, 0x46, 0x0, 0x1f, 0x0, 0x56, 0x0, 0x1f, 0x0, 0x66, 0x0, 0x1f, 0x0, 0x76, 0x0, 0x1f, 0x0, 0x86, 0x0, 0x1f, 0x0, 0x96, 0x0, 0x1f, 0x0, 0xa6, 0x0, 0x1f, 0x0, 0xb6, 0x0, 0x1f, 0x0, 0xc6, 0x0, 0x1f, 0x0, 0xd6, 0x0, 0x1f, 0x0, 0xd, 0x5d, 0x41, 0x5, 0x0, 0xe5, 0x0, 0x1f, 0x0, 0xf5, 0x0, 0x1f, 0x0, 0x2, 0x5d, 0x41, 0x5, 0x0, 0xea, 0x0, 0x25, 0x0, 0xfa, 0x0, 0x25, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x25, 0x0, 0x29, 0x0, 0x25, 0x0, 0x39, 0x0, 0x25, 0x0, 0x49, 0x0, 0x25, 0x0, 0x59, 0x0, 0x25, 0x0, 0x69, 0x0, 0x25, 0x0, 0x79, 0x0, 0x25, 0x0, 0x89, 0x0, 0x25, 0x0, 0x99, 0x0, 0x25, 0x0, 0xa9, 0x0, 0x25, 0x0, 0xb9, 0x0, 0x25, 0x0, 0xc9, 0x0, 0x25, 0x0, 0xd9, 0x0, 0x25, 0x0, 0xd, 0x5d, 0xba, 0x0, 0x29, 0x0, 0x25, 0x0, 0x35, 0x11, 0x12, 0x39, 0x0, 0xba, 0x0, 0x11, 0x0, 0x3, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x11, 0x10, 0xba, 0x0, 0xa, 0x0, 0x18, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xa, 0x10, 0xba, 0x0, 0x22, 0x0, 0x38, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x22, 0x10, 0xba, 0x0, 0x3e, 0x0, 0x2c, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x3e, 0x10, 0xba, 0x0, 0x32, 0x0, 0x1c, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x32, 0x10, 0x30, 0x31, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x2, 0x24, 0x23, 0x22, 0x4, 0x2, 0x5, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x13, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x7, 0x6, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x12, 0x33, 0x32, 0x16, 0x6, 0x94, 0xfe, 0x3f, 0xfe, 0xc2, 0xfe, 0xc4, 0xfe, 0x3f, 0xce, 0x1, 0x71, 0xbe, 0xc1, 0x1, 0x71, 0xcd, 0xfa, 0x57, 0x1, 0x8f, 0x1, 0x1c, 0x1, 0x1c, 0x1, 0x8f, 0xb6, 0xfe, 0xb8, 0xad, 0xad, 0xfe, 0xb8, 0xb6, 0x2, 0xa1, 0x4e, 0x5c, 0x5c, 0x4e, 0x4e, 0x5c, 0x5c, 0xd4, 0x54, 0x61, 0x2f, 0x77, 0x7f, 0x5, 0x9, 0x80, 0x4e, 0xa0, 0xba, 0xc2, 0xa0, 0xb9, 0xc0, 0xea, 0xc8, 0x35, 0x6a, 0x2, 0xea, 0xfe, 0xc1, 0xfe, 0x41, 0x1, 0xbf, 0x1, 0x3f, 0xc6, 0x1, 0x72, 0xc6, 0xc6, 0xfe, 0x90, 0xc8, 0xfe, 0xe4, 0xfe, 0x70, 0x1, 0x90, 0x1, 0x1c, 0xb3, 0x1, 0x47, 0xb1, 0xb1, 0xfe, 0xb9, 0x9f, 0x62, 0x5b, 0x5a, 0x62, 0x62, 0x5a, 0x5b, 0x62, 0x1, 0x9d, 0x9c, 0x23, 0x16, 0x94, 0x50, 0xb, 0x3d, 0xb1, 0x94, 0x91, 0xb3, 0xfd, 0xe7, 0xda, 0x1, 0xb, 0x13, 0x0, 0x3, 0x0, 0x98, 0xff, 0xec, 0x6, 0x94, 0x5, 0xe8, 0x0, 0xd, 0x0, 0x1b, 0x0, 0x22, 0x0, 0xeb, 0xb8, 0x0, 0x23, 0x2f, 0xb8, 0x0, 0x24, 0x2f, 0xb8, 0x0, 0x0, 0xdc, 0xb8, 0x0, 0x23, 0x10, 0xb8, 0x0, 0x6, 0xd0, 0xb8, 0x0, 0x6, 0x2f, 0xb8, 0x0, 0xe, 0xdc, 0x41, 0x1b, 0x0, 0x16, 0x0, 0xe, 0x0, 0x26, 0x0, 0xe, 0x0, 0x36, 0x0, 0xe, 0x0, 0x46, 0x0, 0xe, 0x0, 0x56, 0x0, 0xe, 0x0, 0x66, 0x0, 0xe, 0x0, 0x76, 0x0, 0xe, 0x0, 0x86, 0x0, 0xe, 0x0, 0x96, 0x0, 0xe, 0x0, 0xa6, 0x0, 0xe, 0x0, 0xb6, 0x0, 0xe, 0x0, 0xc6, 0x0, 0xe, 0x0, 0xd6, 0x0, 0xe, 0x0, 0xd, 0x5d, 0x41, 0x5, 0x0, 0xe5, 0x0, 0xe, 0x0, 0xf5, 0x0, 0xe, 0x0, 0x2, 0x5d, 0xb8, 0x0, 0x0, 0x10, 0xb8, 0x0, 0x14, 0xdc, 0x41, 0x5, 0x0, 0xea, 0x0, 0x14, 0x0, 0xfa, 0x0, 0x14, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x14, 0x0, 0x29, 0x0, 0x14, 0x0, 0x39, 0x0, 0x14, 0x0, 0x49, 0x0, 0x14, 0x0, 0x59, 0x0, 0x14, 0x0, 0x69, 0x0, 0x14, 0x0, 0x79, 0x0, 0x14, 0x0, 0x89, 0x0, 0x14, 0x0, 0x99, 0x0, 0x14, 0x0, 0xa9, 0x0, 0x14, 0x0, 0xb9, 0x0, 0x14, 0x0, 0xc9, 0x0, 0x14, 0x0, 0xd9, 0x0, 0x14, 0x0, 0xd, 0x5d, 0xba, 0x0, 0x20, 0x0, 0x6, 0x0, 0x0, 0x11, 0x12, 0x39, 0xba, 0x0, 0x21, 0x0, 0x6, 0x0, 0x0, 0x11, 0x12, 0x39, 0x0, 0xba, 0x0, 0x11, 0x0, 0x3, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x11, 0x10, 0xba, 0x0, 0xa, 0x0, 0x18, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xa, 0x10, 0xba, 0x0, 0x1d, 0x0, 0x21, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x1d, 0x10, 0x30, 0x31, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x2, 0x24, 0x23, 0x22, 0x4, 0x2, 0x1, 0x21, 0x15, 0x1, 0x23, 0x1, 0x21, 0x6, 0x94, 0xfe, 0x3f, 0xfe, 0xc2, 0xfe, 0xc4, 0xfe, 0x3f, 0xce, 0x1, 0x71, 0xbe, 0xc1, 0x1, 0x71, 0xcd, 0xfa, 0x57, 0x1, 0x8f, 0x1, 0x1c, 0x1, 0x1c, 0x1, 0x8f, 0xb6, 0xfe, 0xb8, 0xad, 0xad, 0xfe, 0xb8, 0xb6, 0x1, 0x6b, 0x2, 0xab, 0xfe, 0x94, 0xc1, 0x1, 0x51, 0xfe, 0x31, 0x2, 0xea, 0xfe, 0xc1, 0xfe, 0x41, 0x1, 0xbf, 0x1, 0x3f, 0xc6, 0x1, 0x72, 0xc6, 0xc6, 0xfe, 0x90, 0xc8, 0xfe, 0xe4, 0xfe, 0x70, 0x1, 0x90, 0x1, 0x1c, 0xb3, 0x1, 0x47, 0xb1, 0xb1, 0xfe, 0xb9, 0x1, 0x19, 0x4b, 0xfc, 0xa3, 0x3, 0x1a, 0x0, 0x0, 0x5, 0x0, 0x98, 0xff, 0xec, 0x6, 0x94, 0x5, 0xe8, 0x0, 0xd, 0x0, 0x1b, 0x0, 0x27, 0x0, 0x3f, 0x0, 0x4b, 0x2, 0xd, 0xba, 0x0, 0xe, 0x0, 0x6, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xe, 0x10, 0xba, 0x0, 0x1f, 0x0, 0x3d, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x1f, 0x10, 0xba, 0x0, 0x31, 0x0, 0x46, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x31, 0x10, 0xba, 0x0, 0x0, 0x0, 0x14, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x0, 0x10, 0x41, 0x1b, 0x0, 0x16, 0x0, 0xe, 0x0, 0x26, 0x0, 0xe, 0x0, 0x36, 0x0, 0xe, 0x0, 0x46, 0x0, 0xe, 0x0, 0x56, 0x0, 0xe, 0x0, 0x66, 0x0, 0xe, 0x0, 0x76, 0x0, 0xe, 0x0, 0x86, 0x0, 0xe, 0x0, 0x96, 0x0, 0xe, 0x0, 0xa6, 0x0, 0xe, 0x0, 0xb6, 0x0, 0xe, 0x0, 0xc6, 0x0, 0xe, 0x0, 0xd6, 0x0, 0xe, 0x0, 0xd, 0x5d, 0x41, 0x5, 0x0, 0xe5, 0x0, 0xe, 0x0, 0xf5, 0x0, 0xe, 0x0, 0x2, 0x5d, 0x41, 0x5, 0x0, 0xea, 0x0, 0x14, 0x0, 0xfa, 0x0, 0x14, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x14, 0x0, 0x29, 0x0, 0x14, 0x0, 0x39, 0x0, 0x14, 0x0, 0x49, 0x0, 0x14, 0x0, 0x59, 0x0, 0x14, 0x0, 0x69, 0x0, 0x14, 0x0, 0x79, 0x0, 0x14, 0x0, 0x89, 0x0, 0x14, 0x0, 0x99, 0x0, 0x14, 0x0, 0xa9, 0x0, 0x14, 0x0, 0xb9, 0x0, 0x14, 0x0, 0xc9, 0x0, 0x14, 0x0, 0xd9, 0x0, 0x14, 0x0, 0xd, 0x5d, 0x41, 0x1b, 0x0, 0x16, 0x0, 0x1f, 0x0, 0x26, 0x0, 0x1f, 0x0, 0x36, 0x0, 0x1f, 0x0, 0x46, 0x0, 0x1f, 0x0, 0x56, 0x0, 0x1f, 0x0, 0x66, 0x0, 0x1f, 0x0, 0x76, 0x0, 0x1f, 0x0, 0x86, 0x0, 0x1f, 0x0, 0x96, 0x0, 0x1f, 0x0, 0xa6, 0x0, 0x1f, 0x0, 0xb6, 0x0, 0x1f, 0x0, 0xc6, 0x0, 0x1f, 0x0, 0xd6, 0x0, 0x1f, 0x0, 0xd, 0x5d, 0x41, 0x5, 0x0, 0xe5, 0x0, 0x1f, 0x0, 0xf5, 0x0, 0x1f, 0x0, 0x2, 0x5d, 0x41, 0x5, 0x0, 0xea, 0x0, 0x46, 0x0, 0xfa, 0x0, 0x46, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x46, 0x0, 0x29, 0x0, 0x46, 0x0, 0x39, 0x0, 0x46, 0x0, 0x49, 0x0, 0x46, 0x0, 0x59, 0x0, 0x46, 0x0, 0x69, 0x0, 0x46, 0x0, 0x79, 0x0, 0x46, 0x0, 0x89, 0x0, 0x46, 0x0, 0x99, 0x0, 0x46, 0x0, 0xa9, 0x0, 0x46, 0x0, 0xb9, 0x0, 0x46, 0x0, 0xc9, 0x0, 0x46, 0x0, 0xd9, 0x0, 0x46, 0x0, 0xd, 0x5d, 0xba, 0x0, 0x25, 0x0, 0x46, 0x0, 0x31, 0x11, 0x12, 0x39, 0xb8, 0x0, 0x25, 0x2f, 0x41, 0x5, 0x0, 0xea, 0x0, 0x25, 0x0, 0xfa, 0x0, 0x25, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x25, 0x0, 0x29, 0x0, 0x25, 0x0, 0x39, 0x0, 0x25, 0x0, 0x49, 0x0, 0x25, 0x0, 0x59, 0x0, 0x25, 0x0, 0x69, 0x0, 0x25, 0x0, 0x79, 0x0, 0x25, 0x0, 0x89, 0x0, 0x25, 0x0, 0x99, 0x0, 0x25, 0x0, 0xa9, 0x0, 0x25, 0x0, 0xb9, 0x0, 0x25, 0x0, 0xc9, 0x0, 0x25, 0x0, 0xd9, 0x0, 0x25, 0x0, 0xd, 0x5d, 0xba, 0x0, 0x2b, 0x0, 0x3d, 0x0, 0x1f, 0x11, 0x12, 0x39, 0xb8, 0x0, 0x2b, 0x2f, 0xba, 0x0, 0x34, 0x0, 0x46, 0x0, 0x31, 0x11, 0x12, 0x39, 0xb8, 0x0, 0x25, 0x10, 0xb8, 0x0, 0x37, 0xdc, 0xb8, 0x0, 0x2b, 0x10, 0xb8, 0x0, 0x40, 0xdc, 0x0, 0xba, 0x0, 0x11, 0x0, 0x3, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x11, 0x10, 0xba, 0x0, 0xa, 0x0, 0x18, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xa, 0x10, 0xba, 0x0, 0x22, 0x0, 0x3a, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x22, 0x10, 0xba, 0x0, 0x2e, 0x0, 0x49, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x2e, 0x10, 0xba, 0x0, 0x43, 0x0, 0x1c, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x43, 0x10, 0xba, 0x0, 0x34, 0x0, 0x1c, 0x0, 0x43, 0x11, 0x12, 0x39, 0x30, 0x31, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x2, 0x24, 0x23, 0x22, 0x4, 0x2, 0x5, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x25, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x6, 0x94, 0xfe, 0x3f, 0xfe, 0xc2, 0xfe, 0xc4, 0xfe, 0x3f, 0xce, 0x1, 0x71, 0xbe, 0xc1, 0x1, 0x71, 0xcd, 0xfa, 0x57, 0x1, 0x8f, 0x1, 0x1c, 0x1, 0x1c, 0x1, 0x8f, 0xb6, 0xfe, 0xb8, 0xad, 0xad, 0xfe, 0xb8, 0xb6, 0x2, 0xaf, 0x54, 0x5f, 0x5f, 0x54, 0x54, 0x5f, 0x5f, 0xfe, 0xc6, 0x4, 0x6a, 0xb7, 0x9d, 0x9d, 0xb6, 0x69, 0x4, 0xf, 0x76, 0xbe, 0xad, 0xad, 0xbe, 0x76, 0x57, 0x51, 0x4d, 0x4b, 0x52, 0x52, 0x4b, 0x4d, 0x51, 0x2, 0xea, 0xfe, 0xc1, 0xfe, 0x41, 0x1, 0xbf, 0x1, 0x3f, 0xc6, 0x1, 0x72, 0xc6, 0xc6, 0xfe, 0x90, 0xc8, 0xfe, 0xe4, 0xfe, 0x70, 0x1, 0x90, 0x1, 0x1c, 0xb3, 0x1, 0x47, 0xb1, 0xb1, 0xfe, 0xb9, 0xe6, 0x50, 0x49, 0x49, 0x50, 0x51, 0x48, 0x49, 0x50, 0x49, 0x1, 0x76, 0x53, 0x74, 0x88, 0x88, 0x74, 0x53, 0x76, 0x1, 0x3, 0x83, 0x5c, 0x8a, 0x97, 0x97, 0x8a, 0x5c, 0x83, 0xc1, 0x3d, 0x42, 0x42, 0x3d, 0x3e, 0x42, 0x42, 0x0, 0x4, 0x0, 0x98, 0xff, 0xec, 0x6, 0x94, 0x5, 0xe8, 0x0, 0xd, 0x0, 0x1b, 0x0, 0x34, 0x0, 0x40, 0x1, 0x91, 0xba, 0x0, 0xe, 0x0, 0x6, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xe, 0x10, 0xba, 0x0, 0x3e, 0x0, 0x29, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x3e, 0x10, 0xba, 0x0, 0x0, 0x0, 0x14, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x0, 0x10, 0xba, 0x0, 0x2f, 0x0, 0x38, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x2f, 0x10, 0x41, 0x1b, 0x0, 0x16, 0x0, 0xe, 0x0, 0x26, 0x0, 0xe, 0x0, 0x36, 0x0, 0xe, 0x0, 0x46, 0x0, 0xe, 0x0, 0x56, 0x0, 0xe, 0x0, 0x66, 0x0, 0xe, 0x0, 0x76, 0x0, 0xe, 0x0, 0x86, 0x0, 0xe, 0x0, 0x96, 0x0, 0xe, 0x0, 0xa6, 0x0, 0xe, 0x0, 0xb6, 0x0, 0xe, 0x0, 0xc6, 0x0, 0xe, 0x0, 0xd6, 0x0, 0xe, 0x0, 0xd, 0x5d, 0x41, 0x5, 0x0, 0xe5, 0x0, 0xe, 0x0, 0xf5, 0x0, 0xe, 0x0, 0x2, 0x5d, 0x41, 0x5, 0x0, 0xea, 0x0, 0x14, 0x0, 0xfa, 0x0, 0x14, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x14, 0x0, 0x29, 0x0, 0x14, 0x0, 0x39, 0x0, 0x14, 0x0, 0x49, 0x0, 0x14, 0x0, 0x59, 0x0, 0x14, 0x0, 0x69, 0x0, 0x14, 0x0, 0x79, 0x0, 0x14, 0x0, 0x89, 0x0, 0x14, 0x0, 0x99, 0x0, 0x14, 0x0, 0xa9, 0x0, 0x14, 0x0, 0xb9, 0x0, 0x14, 0x0, 0xc9, 0x0, 0x14, 0x0, 0xd9, 0x0, 0x14, 0x0, 0xd, 0x5d, 0x41, 0x1b, 0x0, 0x16, 0x0, 0x3e, 0x0, 0x26, 0x0, 0x3e, 0x0, 0x36, 0x0, 0x3e, 0x0, 0x46, 0x0, 0x3e, 0x0, 0x56, 0x0, 0x3e, 0x0, 0x66, 0x0, 0x3e, 0x0, 0x76, 0x0, 0x3e, 0x0, 0x86, 0x0, 0x3e, 0x0, 0x96, 0x0, 0x3e, 0x0, 0xa6, 0x0, 0x3e, 0x0, 0xb6, 0x0, 0x3e, 0x0, 0xc6, 0x0, 0x3e, 0x0, 0xd6, 0x0, 0x3e, 0x0, 0xd, 0x5d, 0x41, 0x5, 0x0, 0xe5, 0x0, 0x3e, 0x0, 0xf5, 0x0, 0x3e, 0x0, 0x2, 0x5d, 0xba, 0x0, 0x1d, 0x0, 0x29, 0x0, 0x3e, 0x11, 0x12, 0x39, 0x41, 0x5, 0x0, 0xea, 0x0, 0x38, 0x0, 0xfa, 0x0, 0x38, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x38, 0x0, 0x29, 0x0, 0x38, 0x0, 0x39, 0x0, 0x38, 0x0, 0x49, 0x0, 0x38, 0x0, 0x59, 0x0, 0x38, 0x0, 0x69, 0x0, 0x38, 0x0, 0x79, 0x0, 0x38, 0x0, 0x89, 0x0, 0x38, 0x0, 0x99, 0x0, 0x38, 0x0, 0xa9, 0x0, 0x38, 0x0, 0xb9, 0x0, 0x38, 0x0, 0xc9, 0x0, 0x38, 0x0, 0xd9, 0x0, 0x38, 0x0, 0xd, 0x5d, 0x0, 0xba, 0x0, 0x11, 0x0, 0x3, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x11, 0x10, 0xba, 0x0, 0xa, 0x0, 0x18, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xa, 0x10, 0xba, 0x0, 0x20, 0x0, 0x32, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x20, 0x10, 0xba, 0x0, 0x2c, 0x0, 0x3b, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x2c, 0x10, 0xba, 0x0, 0x35, 0x0, 0x26, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x35, 0x10, 0x30, 0x31, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x2, 0x24, 0x23, 0x22, 0x4, 0x2, 0x1, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x37, 0x36, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x2, 0x23, 0x22, 0x26, 0x13, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x6, 0x94, 0xfe, 0x3f, 0xfe, 0xc2, 0xfe, 0xc4, 0xfe, 0x3f, 0xce, 0x1, 0x71, 0xbe, 0xc1, 0x1, 0x71, 0xcd, 0xfa, 0x57, 0x1, 0x8f, 0x1, 0x1c, 0x1, 0x1c, 0x1, 0x8f, 0xb6, 0xfe, 0xb8, 0xad, 0xad, 0xfe, 0xb8, 0xb6, 0x1, 0x90, 0x55, 0x61, 0x2e, 0x77, 0x7f, 0x5, 0xa, 0x80, 0x4f, 0x9f, 0xba, 0xc2, 0xa0, 0xb9, 0xbf, 0xe9, 0xc8, 0x35, 0x6b, 0xd9, 0x4e, 0x5b, 0x5b, 0x4e, 0x4e, 0x5c, 0x5c, 0x2, 0xea, 0xfe, 0xc1, 0xfe, 0x41, 0x1, 0xbf, 0x1, 0x3f, 0xc6, 0x1, 0x72, 0xc6, 0xc6, 0xfe, 0x90, 0xc8, 0xfe, 0xe4, 0xfe, 0x70, 0x1, 0x90, 0x1, 0x1c, 0xb3, 0x1, 0x47, 0xb1, 0xb1, 0xfe, 0xb9, 0xfd, 0x8b, 0x9c, 0x24, 0x15, 0x93, 0x4f, 0xd, 0x3c, 0xaf, 0x94, 0x91, 0xb4, 0xfd, 0xe8, 0xda, 0xfe, 0xf6, 0x13, 0x1, 0xb4, 0x62, 0x5b, 0x5b, 0x62, 0x62, 0x5b, 0x5b, 0x62, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x98, 0xff, 0xec, 0x6, 0x94, 0x5, 0xe8, 0x0, 0xd, 0x0, 0x1b, 0x0, 0x26, 0x0, 0x32, 0x0, 0x3e, 0x1, 0x9b, 0xba, 0x0, 0xe, 0x0, 0x6, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xe, 0x10, 0xba, 0x0, 0x23, 0x0, 0x1d, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x23, 0x10, 0xba, 0x0, 0x2a, 0x0, 0x3c, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x2a, 0x10, 0xba, 0x0, 0x36, 0x0, 0x30, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x36, 0x10, 0xba, 0x0, 0x0, 0x0, 0x14, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x0, 0x10, 0x41, 0x1b, 0x0, 0x16, 0x0, 0xe, 0x0, 0x26, 0x0, 0xe, 0x0, 0x36, 0x0, 0xe, 0x0, 0x46, 0x0, 0xe, 0x0, 0x56, 0x0, 0xe, 0x0, 0x66, 0x0, 0xe, 0x0, 0x76, 0x0, 0xe, 0x0, 0x86, 0x0, 0xe, 0x0, 0x96, 0x0, 0xe, 0x0, 0xa6, 0x0, 0xe, 0x0, 0xb6, 0x0, 0xe, 0x0, 0xc6, 0x0, 0xe, 0x0, 0xd6, 0x0, 0xe, 0x0, 0xd, 0x5d, 0x41, 0x5, 0x0, 0xe5, 0x0, 0xe, 0x0, 0xf5, 0x0, 0xe, 0x0, 0x2, 0x5d, 0x41, 0x5, 0x0, 0xea, 0x0, 0x14, 0x0, 0xfa, 0x0, 0x14, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x14, 0x0, 0x29, 0x0, 0x14, 0x0, 0x39, 0x0, 0x14, 0x0, 0x49, 0x0, 0x14, 0x0, 0x59, 0x0, 0x14, 0x0, 0x69, 0x0, 0x14, 0x0, 0x79, 0x0, 0x14, 0x0, 0x89, 0x0, 0x14, 0x0, 0x99, 0x0, 0x14, 0x0, 0xa9, 0x0, 0x14, 0x0, 0xb9, 0x0, 0x14, 0x0, 0xc9, 0x0, 0x14, 0x0, 0xd9, 0x0, 0x14, 0x0, 0xd, 0x5d, 0x41, 0x5, 0x0, 0xea, 0x0, 0x30, 0x0, 0xfa, 0x0, 0x30, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x30, 0x0, 0x29, 0x0, 0x30, 0x0, 0x39, 0x0, 0x30, 0x0, 0x49, 0x0, 0x30, 0x0, 0x59, 0x0, 0x30, 0x0, 0x69, 0x0, 0x30, 0x0, 0x79, 0x0, 0x30, 0x0, 0x89, 0x0, 0x30, 0x0, 0x99, 0x0, 0x30, 0x0, 0xa9, 0x0, 0x30, 0x0, 0xb9, 0x0, 0x30, 0x0, 0xc9, 0x0, 0x30, 0x0, 0xd9, 0x0, 0x30, 0x0, 0xd, 0x5d, 0x41, 0x5, 0x0, 0xea, 0x0, 0x3c, 0x0, 0xfa, 0x0, 0x3c, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x3c, 0x0, 0x29, 0x0, 0x3c, 0x0, 0x39, 0x0, 0x3c, 0x0, 0x49, 0x0, 0x3c, 0x0, 0x59, 0x0, 0x3c, 0x0, 0x69, 0x0, 0x3c, 0x0, 0x79, 0x0, 0x3c, 0x0, 0x89, 0x0, 0x3c, 0x0, 0x99, 0x0, 0x3c, 0x0, 0xa9, 0x0, 0x3c, 0x0, 0xb9, 0x0, 0x3c, 0x0, 0xc9, 0x0, 0x3c, 0x0, 0xd9, 0x0, 0x3c, 0x0, 0xd, 0x5d, 0x0, 0xba, 0x0, 0x11, 0x0, 0x3, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x11, 0x10, 0xba, 0x0, 0xa, 0x0, 0x18, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xa, 0x10, 0xba, 0x0, 0x2d, 0x0, 0x39, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x2d, 0x10, 0xba, 0x0, 0x24, 0x0, 0x25, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x24, 0x10, 0xba, 0x0, 0x33, 0x0, 0x27, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x33, 0x10, 0xb8, 0x0, 0x24, 0x10, 0xb8, 0x0, 0x1c, 0xd0, 0x30, 0x31, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x2, 0x24, 0x23, 0x22, 0x4, 0x2, 0x13, 0x33, 0x11, 0x7, 0x35, 0x37, 0x33, 0x11, 0x33, 0x15, 0x21, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x6, 0x94, 0xfe, 0x3f, 0xfe, 0xc2, 0xfe, 0xc4, 0xfe, 0x3f, 0xce, 0x1, 0x71, 0xbe, 0xc1, 0x1, 0x71, 0xcd, 0xfa, 0x57, 0x1, 0x8f, 0x1, 0x1c, 0x1, 0x1c, 0x1, 0x8f, 0xb6, 0xfe, 0xb8, 0xad, 0xad, 0xfe, 0xb8, 0xb6, 0xcd, 0x9e, 0xac, 0xbc, 0x75, 0x9f, 0xfe, 0x3e, 0x3, 0x4, 0x40, 0x45, 0x45, 0x40, 0x3f, 0x46, 0x46, 0x3f, 0x82, 0x88, 0x88, 0x82, 0x83, 0x88, 0x88, 0x2, 0xea, 0xfe, 0xc1, 0xfe, 0x41, 0x1, 0xbf, 0x1, 0x3f, 0xc6, 0x1, 0x72, 0xc6, 0xc6, 0xfe, 0x90, 0xc8, 0xfe, 0xe4, 0xfe, 0x70, 0x1, 0x90, 0x1, 0x1c, 0xb3, 0x1, 0x47, 0xb1, 0xb1, 0xfe, 0xb9, 0xfe, 0x3e, 0x2, 0x3e, 0x27, 0x89, 0x2a, 0xfd, 0x36, 0x80, 0x2, 0xde, 0x97, 0xa3, 0xa2, 0x97, 0x97, 0xa2, 0xa3, 0x97, 0x7b, 0xe4, 0xd1, 0xd0, 0xe4, 0xe4, 0xd0, 0xd1, 0xe4, 0x0, 0x0, 0x1, 0xff, 0xec, 0x1, 0xf0, 0x4, 0xe5, 0x2, 0x9c, 0x0, 0x3, 0x0, 0x0, 0x3, 0x35, 0x21, 0x15, 0x14, 0x4, 0xf9, 0x1, 0xf0, 0xac, 0xac, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x1, 0x9a, 0x4, 0xe5, 0x2, 0xf2, 0x0, 0x3, 0x0, 0x0, 0x3, 0x11, 0x21, 0x11, 0x14, 0x4, 0xf9, 0x1, 0x9a, 0x1, 0x58, 0xfe, 0xa8, 0x0, 0x0, 0x1, 0x2, 0x18, 0xfd, 0x96, 0x2, 0xb8, 0x7, 0xc8, 0x0, 0x3, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x2, 0x18, 0xa0, 0xfd, 0x96, 0xa, 0x32, 0xf5, 0xce, 0x0, 0x0, 0x1, 0x1, 0xc8, 0xfd, 0x96, 0x3, 0x8, 0x7, 0xc8, 0x0, 0x3, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x1, 0xc8, 0x1, 0x40, 0xfd, 0x96, 0xa, 0x32, 0xf5, 0xce, 0x0, 0x3, 0xff, 0xec, 0x1, 0xf0, 0x4, 0xe5, 0x2, 0x9c, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x0, 0x1, 0x35, 0x21, 0x15, 0x21, 0x35, 0x21, 0x15, 0x21, 0x35, 0x21, 0x15, 0x3, 0xb1, 0x1, 0x34, 0xfc, 0xef, 0x1, 0x29, 0xfc, 0xef, 0x1, 0x34, 0x1, 0xf0, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0x0, 0x0, 0x0, 0x3, 0xff, 0xec, 0x1, 0x9a, 0x4, 0xe5, 0x2, 0xf2, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x3, 0xb1, 0x1, 0x34, 0xfc, 0xef, 0x1, 0x29, 0xfc, 0xef, 0x1, 0x34, 0x1, 0x9a, 0x1, 0x58, 0xfe, 0xa8, 0x1, 0x58, 0xfe, 0xa8, 0x1, 0x58, 0xfe, 0xa8, 0x0, 0x3, 0x2, 0x18, 0xfd, 0x96, 0x2, 0xb8, 0x7, 0xc8, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x3, 0x11, 0x33, 0x11, 0x3, 0x11, 0x33, 0x11, 0x2, 0x18, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xfd, 0x96, 0x3, 0xc, 0xfc, 0xf4, 0x3, 0xc0, 0x2, 0xb2, 0xfd, 0x4e, 0x3, 0x66, 0x3, 0xc, 0xfc, 0xf4, 0x0, 0x0, 0x3, 0x1, 0xc8, 0xfd, 0x96, 0x3, 0x8, 0x7, 0xc8, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x1, 0x11, 0x21, 0x11, 0x1, 0x11, 0x21, 0x11, 0x1, 0xc8, 0x1, 0x40, 0xfe, 0xc0, 0x1, 0x40, 0xfe, 0xc0, 0x1, 0x40, 0xfd, 0x96, 0x3, 0xc, 0xfc, 0xf4, 0x3, 0xc0, 0x2, 0xb2, 0xfd, 0x4e, 0x3, 0x66, 0x3, 0xc, 0xfc, 0xf4, 0x0, 0x4, 0xff, 0xeb, 0x1, 0xf0, 0x4, 0xe5, 0x2, 0x9c, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x0, 0x3, 0x35, 0x33, 0x15, 0x33, 0x35, 0x33, 0x15, 0x33, 0x35, 0x33, 0x15, 0x33, 0x35, 0x33, 0x15, 0x15, 0xbc, 0xb4, 0xb3, 0xb4, 0xb2, 0xb4, 0xbd, 0x1, 0xf0, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0x0, 0x0, 0x0, 0x4, 0xff, 0xec, 0x1, 0x9a, 0x4, 0xe6, 0x2, 0xf2, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x0, 0x3, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x14, 0xbc, 0xb4, 0xb3, 0xb4, 0xb2, 0xb4, 0xbd, 0x1, 0x9a, 0x1, 0x58, 0xfe, 0xa8, 0x1, 0x58, 0xfe, 0xa8, 0x1, 0x58, 0xfe, 0xa8, 0x1, 0x58, 0xfe, 0xa8, 0x0, 0x0, 0x0, 0x4, 0x2, 0x18, 0xfd, 0x96, 0x2, 0xb8, 0x7, 0xc8, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x3, 0x11, 0x33, 0x11, 0x3, 0x11, 0x33, 0x11, 0x3, 0x11, 0x33, 0x11, 0x2, 0x18, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0x5, 0x96, 0x2, 0x32, 0xfd, 0xce, 0xf8, 0x0, 0x2, 0x32, 0xfd, 0xce, 0x5, 0x73, 0x1, 0xd9, 0xfe, 0x27, 0xfd, 0x73, 0x1, 0xd9, 0xfe, 0x27, 0x0, 0x0, 0x0, 0x0, 0x4, 0x1, 0xc8, 0xfd, 0x96, 0x3, 0x8, 0x7, 0xc8, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x1, 0x11, 0x21, 0x11, 0x1, 0x11, 0x21, 0x11, 0x1, 0x11, 0x21, 0x11, 0x1, 0xc8, 0x1, 0x40, 0xfe, 0xc0, 0x1, 0x40, 0xfe, 0xc0, 0x1, 0x40, 0xfe, 0xc0, 0x1, 0x40, 0x5, 0x96, 0x2, 0x32, 0xfd, 0xce, 0xf8, 0x0, 0x2, 0x32, 0xfd, 0xce, 0x5, 0x73, 0x1, 0xd9, 0xfe, 0x27, 0xfd, 0x73, 0x1, 0xd9, 0xfe, 0x27, 0x0, 0x1, 0x2, 0x18, 0xfd, 0x96, 0x4, 0xe5, 0x2, 0x9c, 0x0, 0x5, 0x0, 0x0, 0x1, 0x11, 0x21, 0x15, 0x21, 0x11, 0x2, 0x18, 0x2, 0xcd, 0xfd, 0xd3, 0xfd, 0x96, 0x5, 0x6, 0xac, 0xfb, 0xa6, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x18, 0xfd, 0x96, 0x4, 0xe5, 0x2, 0xf2, 0x0, 0x5, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x11, 0x2, 0x18, 0x2, 0xcd, 0xfd, 0xd3, 0xfd, 0x96, 0x5, 0x5c, 0xfe, 0xa8, 0xfb, 0xfc, 0x0, 0x0, 0x0, 0x1, 0x1, 0xc8, 0xfd, 0x96, 0x4, 0xe5, 0x2, 0x9c, 0x0, 0x5, 0x0, 0x0, 0x1, 0x11, 0x21, 0x15, 0x21, 0x11, 0x1, 0xc8, 0x3, 0x1d, 0xfe, 0x23, 0xfd, 0x96, 0x5, 0x6, 0xac, 0xfb, 0xa6, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0xc8, 0xfd, 0x96, 0x4, 0xe5, 0x2, 0xf2, 0x0, 0x5, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x11, 0x1, 0xc8, 0x3, 0x1d, 0xfe, 0x23, 0xfd, 0x96, 0x5, 0x5c, 0xfe, 0xa8, 0xfb, 0xfc, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x2, 0xb8, 0x2, 0x9c, 0x0, 0x5, 0x0, 0x0, 0x1, 0x11, 0x21, 0x35, 0x21, 0x11, 0x2, 0x18, 0xfd, 0xd4, 0x2, 0xcc, 0xfd, 0x96, 0x4, 0x5a, 0xac, 0xfa, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x2, 0xb8, 0x2, 0xf2, 0x0, 0x5, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x11, 0x2, 0x18, 0xfd, 0xd4, 0x2, 0xcc, 0xfd, 0x96, 0x4, 0x4, 0x1, 0x58, 0xfa, 0xa4, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x3, 0x8, 0x2, 0x9c, 0x0, 0x5, 0x0, 0x0, 0x1, 0x11, 0x21, 0x35, 0x21, 0x11, 0x1, 0xc8, 0xfe, 0x24, 0x3, 0x1c, 0xfd, 0x96, 0x4, 0x5a, 0xac, 0xfa, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x3, 0x8, 0x2, 0xf2, 0x0, 0x5, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x11, 0x1, 0xc8, 0xfe, 0x24, 0x3, 0x1c, 0xfd, 0x96, 0x4, 0x4, 0x1, 0x58, 0xfa, 0xa4, 0x0, 0x0, 0x0, 0x1, 0x2, 0x18, 0x1, 0xf0, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x5, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x21, 0x15, 0x2, 0x18, 0xa0, 0x2, 0x2d, 0x1, 0xf0, 0x5, 0xd8, 0xfa, 0xd4, 0xac, 0x0, 0x1, 0x2, 0x18, 0x1, 0x9a, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x5, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x21, 0x11, 0x2, 0x18, 0xa0, 0x2, 0x2d, 0x1, 0x9a, 0x6, 0x2e, 0xfb, 0x2a, 0xfe, 0xa8, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0xc8, 0x1, 0xf0, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x5, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x15, 0x1, 0xc8, 0x1, 0x40, 0x1, 0xdd, 0x1, 0xf0, 0x5, 0xd8, 0xfa, 0xd4, 0xac, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0xc8, 0x1, 0x9a, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x5, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x11, 0x1, 0xc8, 0x1, 0x40, 0x1, 0xdd, 0x1, 0x9a, 0x6, 0x2e, 0xfb, 0x2a, 0xfe, 0xa8, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x1, 0xf0, 0x2, 0xb8, 0x7, 0xc8, 0x0, 0x5, 0x0, 0x0, 0x3, 0x35, 0x21, 0x11, 0x33, 0x11, 0x14, 0x2, 0x2c, 0xa0, 0x1, 0xf0, 0xac, 0x5, 0x2c, 0xfa, 0x28, 0x0, 0x0, 0x1, 0xff, 0xec, 0x1, 0x9a, 0x2, 0xb8, 0x7, 0xc8, 0x0, 0x5, 0x0, 0x0, 0x3, 0x11, 0x21, 0x11, 0x33, 0x11, 0x14, 0x2, 0x2c, 0xa0, 0x1, 0x9a, 0x1, 0x58, 0x4, 0xd6, 0xf9, 0xd2, 0x0, 0x1, 0xff, 0xec, 0x1, 0xf0, 0x3, 0x8, 0x7, 0xc8, 0x0, 0x5, 0x0, 0x0, 0x3, 0x35, 0x21, 0x11, 0x21, 0x11, 0x14, 0x1, 0xdc, 0x1, 0x40, 0x1, 0xf0, 0xac, 0x5, 0x2c, 0xfa, 0x28, 0x0, 0x1, 0xff, 0xec, 0x1, 0x9a, 0x3, 0x8, 0x7, 0xc8, 0x0, 0x5, 0x0, 0x0, 0x3, 0x11, 0x21, 0x11, 0x21, 0x11, 0x14, 0x1, 0xdc, 0x1, 0x40, 0x1, 0x9a, 0x1, 0x58, 0x4, 0xd6, 0xf9, 0xd2, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x18, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x2, 0x18, 0xa0, 0x2, 0x2d, 0xfd, 0xd3, 0xfd, 0x96, 0xa, 0x32, 0xfa, 0xd4, 0xac, 0xfb, 0xa6, 0x0, 0x0, 0x0, 0x1, 0x2, 0x18, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x21, 0x11, 0x21, 0x11, 0x2, 0x18, 0xa0, 0x2, 0x2d, 0xfd, 0xd3, 0xfd, 0x96, 0xa, 0x32, 0xfb, 0x2a, 0xfe, 0xa8, 0xfb, 0xfc, 0x0, 0x0, 0x1, 0x1, 0xc8, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x2, 0x18, 0x50, 0x1, 0x40, 0x1, 0xdd, 0xfd, 0xd3, 0xfd, 0x96, 0x4, 0x5a, 0x5, 0xd8, 0xfa, 0xd4, 0xac, 0xfb, 0xa6, 0x0, 0x1, 0x1, 0xc8, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x1, 0xc8, 0x50, 0xa0, 0x2, 0x2d, 0xfe, 0x23, 0xfd, 0x96, 0x5, 0x6, 0x5, 0x2c, 0xfa, 0xd4, 0xac, 0xfb, 0xa6, 0x0, 0x0, 0x1, 0x1, 0xc8, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x1, 0xc8, 0x1, 0x40, 0x1, 0xdd, 0xfe, 0x23, 0xfd, 0x96, 0xa, 0x32, 0xfa, 0xd4, 0xac, 0xfb, 0xa6, 0x0, 0x0, 0x1, 0x1, 0xc8, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x2, 0x18, 0x50, 0x1, 0x40, 0x1, 0xdd, 0xfd, 0xd3, 0xfd, 0x96, 0x4, 0x4, 0x6, 0x2e, 0xfb, 0x2a, 0xfe, 0xa8, 0xfb, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0xc8, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x33, 0x11, 0x21, 0x11, 0x21, 0x11, 0x1, 0xc8, 0x50, 0xa0, 0x2, 0x2d, 0xfe, 0x23, 0xfd, 0x96, 0x5, 0x5c, 0x4, 0xd6, 0xfb, 0x2a, 0xfe, 0xa8, 0xfb, 0xfc, 0x0, 0x1, 0x1, 0xc8, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x1, 0xc8, 0x1, 0x40, 0x1, 0xdd, 0xfe, 0x23, 0xfd, 0x96, 0xa, 0x32, 0xfb, 0x2a, 0xfe, 0xa8, 0xfb, 0xfc, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x2, 0xb8, 0x7, 0xc8, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x2, 0x18, 0xfd, 0xd4, 0x2, 0x2c, 0xa0, 0xfd, 0x96, 0x4, 0x5a, 0xac, 0x5, 0x2c, 0xf5, 0xce, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x2, 0xb8, 0x7, 0xc8, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x11, 0x33, 0x11, 0x2, 0x18, 0xfd, 0xd4, 0x2, 0x2c, 0xa0, 0xfd, 0x96, 0x4, 0x4, 0x1, 0x58, 0x4, 0xd6, 0xf5, 0xce, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x3, 0x8, 0x7, 0xc8, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x11, 0x23, 0x11, 0x2, 0x18, 0xfd, 0xd4, 0x1, 0xdc, 0x1, 0x40, 0x50, 0xfd, 0x96, 0x4, 0x5a, 0xac, 0x5, 0x2c, 0xfa, 0x28, 0xfb, 0xa6, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x3, 0x8, 0x7, 0xc8, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x1, 0xc8, 0xfe, 0x24, 0x2, 0x2c, 0xa0, 0x50, 0xfd, 0x96, 0x4, 0x5a, 0xac, 0x5, 0x2c, 0xfa, 0xd4, 0xfa, 0xfa, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x3, 0x8, 0x7, 0xc8, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x11, 0x1, 0xc8, 0xfe, 0x24, 0x1, 0xdc, 0x1, 0x40, 0xfd, 0x96, 0x4, 0x5a, 0xac, 0x5, 0x2c, 0xf5, 0xce, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x3, 0x8, 0x7, 0xc8, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x23, 0x11, 0x2, 0x18, 0xfd, 0xd4, 0x1, 0xdc, 0x1, 0x40, 0x50, 0xfd, 0x96, 0x4, 0x4, 0x1, 0x58, 0x4, 0xd6, 0xf9, 0xd2, 0xfb, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x3, 0x8, 0x7, 0xc8, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x1, 0xc8, 0xfe, 0x24, 0x2, 0x2c, 0xa0, 0x50, 0xfd, 0x96, 0x4, 0x4, 0x1, 0x58, 0x4, 0xd6, 0xfb, 0x2a, 0xfa, 0xa4, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x3, 0x8, 0x7, 0xc8, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x1, 0xc8, 0xfe, 0x24, 0x1, 0xdc, 0x1, 0x40, 0xfd, 0x96, 0x4, 0x4, 0x1, 0x58, 0x4, 0xd6, 0xf5, 0xce, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x2, 0x9c, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x2, 0x18, 0xfd, 0xd4, 0x4, 0xf9, 0xfd, 0xd3, 0xfd, 0x96, 0x4, 0x5a, 0xac, 0xac, 0xfb, 0xa6, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x2, 0xf2, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x15, 0x21, 0x15, 0x21, 0x11, 0x2, 0x18, 0xfd, 0xd4, 0x2, 0xcc, 0x2, 0x2d, 0xfd, 0xd3, 0xfd, 0x96, 0x4, 0x4, 0x1, 0x58, 0x56, 0xac, 0xfb, 0xa6, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x2, 0xf2, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x21, 0x35, 0x21, 0x35, 0x21, 0x11, 0x21, 0x11, 0x2, 0x18, 0xfd, 0xd4, 0x2, 0x2c, 0x2, 0xcd, 0xfd, 0xd3, 0xfd, 0x96, 0x4, 0x5a, 0xac, 0x56, 0xfe, 0xa8, 0xfb, 0xfc, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x2, 0xf2, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x2, 0x18, 0xfd, 0xd4, 0x4, 0xf9, 0xfd, 0xd3, 0xfd, 0x96, 0x4, 0x4, 0x1, 0x58, 0xfe, 0xa8, 0xfb, 0xfc, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x2, 0x9c, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x1, 0xc8, 0xfe, 0x24, 0x4, 0xf9, 0xfe, 0x23, 0xfd, 0x96, 0x4, 0x5a, 0xac, 0xac, 0xfb, 0xa6, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x2, 0xf2, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x15, 0x21, 0x15, 0x21, 0x11, 0x1, 0xc8, 0xfe, 0x24, 0x3, 0x1c, 0x1, 0xdd, 0xfe, 0x23, 0xfd, 0x96, 0x4, 0x4, 0x1, 0x58, 0x56, 0xac, 0xfb, 0xa6, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x2, 0xf2, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x21, 0x35, 0x21, 0x35, 0x21, 0x11, 0x21, 0x11, 0x1, 0xc8, 0xfe, 0x24, 0x1, 0xdc, 0x3, 0x1d, 0xfe, 0x23, 0xfd, 0x96, 0x4, 0x5a, 0xac, 0x56, 0xfe, 0xa8, 0xfb, 0xfc, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x2, 0xf2, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x1, 0xc8, 0xfe, 0x24, 0x4, 0xf9, 0xfe, 0x23, 0xfd, 0x96, 0x4, 0x4, 0x1, 0x58, 0xfe, 0xa8, 0xfb, 0xfc, 0x0, 0x1, 0xff, 0xec, 0x1, 0xf0, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x7, 0x0, 0x0, 0x3, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x14, 0x2, 0x2c, 0xa0, 0x2, 0x2d, 0x1, 0xf0, 0xac, 0x5, 0x2c, 0xfa, 0xd4, 0xac, 0x0, 0x1, 0xff, 0xec, 0x1, 0x9a, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x9, 0x0, 0x0, 0x3, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x15, 0x14, 0x2, 0x2c, 0xa0, 0x2, 0x2d, 0xfd, 0xd3, 0x1, 0x9a, 0x1, 0x58, 0x4, 0xd6, 0xfa, 0xd4, 0xac, 0x56, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x1, 0x9a, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x9, 0x0, 0x0, 0x3, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x21, 0x35, 0x14, 0x2, 0x2c, 0xa0, 0x2, 0x2d, 0xfd, 0x33, 0x1, 0xf0, 0xac, 0x5, 0x2c, 0xfb, 0x2a, 0xfe, 0xa8, 0x56, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x1, 0x9a, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x7, 0x0, 0x0, 0x3, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x14, 0x2, 0x2c, 0xa0, 0x2, 0x2d, 0x1, 0x9a, 0x1, 0x58, 0x4, 0xd6, 0xfb, 0x2a, 0xfe, 0xa8, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x1, 0xf0, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x7, 0x0, 0x0, 0x3, 0x35, 0x21, 0x11, 0x21, 0x11, 0x21, 0x15, 0x14, 0x1, 0xdc, 0x1, 0x40, 0x1, 0xdd, 0x1, 0xf0, 0xac, 0x5, 0x2c, 0xfa, 0xd4, 0xac, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x1, 0x9a, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x9, 0x0, 0x0, 0x3, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x15, 0x21, 0x15, 0x14, 0x1, 0xdc, 0x1, 0x40, 0x1, 0xdd, 0xfe, 0x23, 0x1, 0x9a, 0x1, 0x58, 0x4, 0xd6, 0xfa, 0xd4, 0xac, 0x56, 0x0, 0x0, 0x1, 0xff, 0xec, 0x1, 0x9a, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x9, 0x0, 0x0, 0x3, 0x35, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x35, 0x14, 0x1, 0xdc, 0x1, 0x40, 0x1, 0xdd, 0xfc, 0xe3, 0x1, 0xf0, 0xac, 0x5, 0x2c, 0xfb, 0x2a, 0xfe, 0xa8, 0x56, 0x0, 0x0, 0x1, 0xff, 0xec, 0x1, 0x9a, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x7, 0x0, 0x0, 0x3, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x14, 0x1, 0xdc, 0x1, 0x40, 0x1, 0xdd, 0x1, 0x9a, 0x1, 0x58, 0x4, 0xd6, 0xfb, 0x2a, 0xfe, 0xa8, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x2, 0xb8, 0xa0, 0xfd, 0xd4, 0x2, 0x2c, 0xa0, 0x2, 0x2d, 0x1, 0xf0, 0xfb, 0xa6, 0x4, 0x5a, 0xac, 0x5, 0x2c, 0xfa, 0xd4, 0xac, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x2, 0x18, 0xfd, 0xd4, 0x2, 0x2c, 0xa0, 0x2, 0x2d, 0xfd, 0xd3, 0xfd, 0x96, 0x4, 0x4, 0x1, 0x58, 0x4, 0xd6, 0xfa, 0xd4, 0xac, 0xfb, 0xa6, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x21, 0x11, 0x2, 0x18, 0xfd, 0xd4, 0x2, 0x2c, 0xa0, 0x2, 0x2d, 0xfd, 0xd3, 0xfd, 0x96, 0x4, 0x5a, 0xac, 0x5, 0x2c, 0xfb, 0x2a, 0xfe, 0xa8, 0xfb, 0xfc, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x21, 0x11, 0x2, 0x18, 0xfd, 0xd4, 0x2, 0x2c, 0xa0, 0x2, 0x2d, 0xfd, 0xd3, 0xfd, 0x96, 0x4, 0x4, 0x1, 0x58, 0x4, 0xd6, 0xfb, 0x2a, 0xfe, 0xa8, 0xfb, 0xfc, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x2, 0x18, 0xfd, 0xd4, 0x1, 0xdc, 0x1, 0x40, 0x1, 0xdd, 0xfd, 0xd3, 0xfd, 0x96, 0x4, 0x5a, 0xac, 0x5, 0x2c, 0xfa, 0xd4, 0xac, 0xfb, 0xa6, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x1, 0xc8, 0xfe, 0x24, 0x2, 0x2c, 0xa0, 0x2, 0x2d, 0xfe, 0x23, 0xfd, 0x96, 0x4, 0x5a, 0xac, 0x5, 0x2c, 0xfa, 0xd4, 0xac, 0xfb, 0xa6, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x1, 0xc8, 0xfe, 0x24, 0x1, 0xdc, 0x1, 0x40, 0x1, 0xdd, 0xfe, 0x23, 0xfd, 0x96, 0x4, 0x5a, 0xac, 0x5, 0x2c, 0xfa, 0xd4, 0xac, 0xfb, 0xa6, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0xd, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x15, 0x21, 0x15, 0x23, 0x11, 0x2, 0x18, 0xfd, 0xd4, 0x1, 0xdc, 0x1, 0x40, 0x1, 0xdd, 0xfe, 0x23, 0x50, 0xfd, 0x96, 0x4, 0x4, 0x1, 0x58, 0x4, 0xd6, 0xfa, 0xd4, 0xac, 0x56, 0xfb, 0xfc, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0xd, 0x0, 0x0, 0x1, 0x11, 0x23, 0x35, 0x21, 0x35, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x2, 0x18, 0x50, 0xfe, 0x24, 0x1, 0xdc, 0x1, 0x40, 0x1, 0xdd, 0xfd, 0xd3, 0xfd, 0x96, 0x4, 0x4, 0x56, 0xac, 0x5, 0x2c, 0xfb, 0x2a, 0xfe, 0xa8, 0xfb, 0xfc, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0xd, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x15, 0x21, 0x15, 0x21, 0x11, 0x1, 0xc8, 0xfe, 0x24, 0x2, 0x2c, 0xa0, 0x50, 0x1, 0xdd, 0xfe, 0x23, 0xfd, 0x96, 0x4, 0x4, 0x1, 0x58, 0x4, 0xd6, 0xfb, 0x2a, 0x56, 0xac, 0xfb, 0xa6, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0xd, 0x0, 0x0, 0x1, 0x11, 0x21, 0x35, 0x21, 0x35, 0x33, 0x11, 0x33, 0x11, 0x21, 0x11, 0x21, 0x11, 0x1, 0xc8, 0xfe, 0x24, 0x1, 0xdc, 0x50, 0xa0, 0x2, 0x2d, 0xfe, 0x23, 0xfd, 0x96, 0x4, 0x5a, 0xac, 0x56, 0x4, 0xd6, 0xfb, 0x2a, 0xfe, 0xa8, 0xfb, 0xfc, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x2, 0x18, 0xfd, 0xd4, 0x1, 0xdc, 0x1, 0x40, 0x1, 0xdd, 0xfd, 0xd3, 0xfd, 0x96, 0x4, 0x4, 0x1, 0x58, 0x4, 0xd6, 0xfb, 0x2a, 0xfe, 0xa8, 0xfb, 0xfc, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x21, 0x11, 0x1, 0xc8, 0xfe, 0x24, 0x2, 0x2c, 0xa0, 0x2, 0x2d, 0xfe, 0x23, 0xfd, 0x96, 0x4, 0x4, 0x1, 0x58, 0x4, 0xd6, 0xfb, 0x2a, 0xfe, 0xa8, 0xfb, 0xfc, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x1, 0xc8, 0xfe, 0x24, 0x1, 0xdc, 0x1, 0x40, 0x1, 0xdd, 0xfe, 0x23, 0xfd, 0x96, 0x4, 0x4, 0x1, 0x58, 0x4, 0xd6, 0xfa, 0xd4, 0xac, 0xfb, 0xa6, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x1, 0xc8, 0xfe, 0x24, 0x1, 0xdc, 0x1, 0x40, 0x1, 0xdd, 0xfe, 0x23, 0xfd, 0x96, 0x4, 0x5a, 0xac, 0x5, 0x2c, 0xfb, 0x2a, 0xfe, 0xa8, 0xfb, 0xfc, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x1, 0xc8, 0xfe, 0x24, 0x1, 0xdc, 0x1, 0x40, 0x1, 0xdd, 0xfe, 0x23, 0xfd, 0x96, 0x4, 0x4, 0x1, 0x58, 0x4, 0xd6, 0xfb, 0x2a, 0xfe, 0xa8, 0xfb, 0xfc, 0x0, 0x2, 0xff, 0xec, 0x1, 0xf0, 0x4, 0xe5, 0x2, 0x9c, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x3, 0x35, 0x21, 0x15, 0x33, 0x35, 0x21, 0x15, 0x14, 0x2, 0x2c, 0xa0, 0x2, 0x2d, 0x1, 0xf0, 0xac, 0xac, 0xac, 0xac, 0x0, 0x2, 0xff, 0xec, 0x1, 0x9a, 0x4, 0xe5, 0x2, 0xf2, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x2, 0xb8, 0x2, 0x2d, 0xfb, 0x7, 0x2, 0x2c, 0x1, 0x9a, 0x1, 0x58, 0xfe, 0xa8, 0x1, 0x58, 0xfe, 0xa8, 0x0, 0x0, 0x0, 0x2, 0x2, 0x18, 0xfd, 0x96, 0x2, 0xb8, 0x7, 0xc8, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x3, 0x11, 0x33, 0x11, 0x2, 0x18, 0xa0, 0xa0, 0xa0, 0x2, 0xf2, 0x4, 0xd6, 0xfb, 0x2a, 0xfa, 0xa4, 0x4, 0x4, 0xfb, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x2, 0x1, 0xc8, 0xfd, 0x96, 0x3, 0x8, 0x7, 0xc8, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x1, 0x11, 0x21, 0x11, 0x1, 0xc8, 0x1, 0x40, 0xfe, 0xc0, 0x1, 0x40, 0x2, 0xf2, 0x4, 0xd6, 0xfb, 0x2a, 0xfa, 0xa4, 0x4, 0x4, 0xfb, 0xfc, 0x0, 0x2, 0xff, 0xec, 0x1, 0x44, 0x4, 0xe5, 0x3, 0x48, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x3, 0x35, 0x21, 0x15, 0x1, 0x35, 0x21, 0x15, 0x14, 0x4, 0xf9, 0xfb, 0x7, 0x4, 0xf9, 0x2, 0x9c, 0xac, 0xac, 0xfe, 0xa8, 0xac, 0xac, 0x0, 0x0, 0x2, 0x1, 0x78, 0xfd, 0x96, 0x3, 0x58, 0x7, 0xc8, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x1, 0x78, 0xa0, 0xa0, 0xa0, 0xfd, 0x96, 0xa, 0x32, 0xf5, 0xce, 0xa, 0x32, 0xf5, 0xce, 0x0, 0x0, 0x1, 0x2, 0x18, 0xfd, 0x96, 0x4, 0xe5, 0x3, 0x48, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x11, 0x2, 0x18, 0x2, 0xcd, 0xfd, 0xd3, 0x2, 0x2d, 0xfd, 0xd3, 0xfd, 0x96, 0x5, 0xb2, 0xac, 0xac, 0xac, 0xfc, 0x52, 0x0, 0x0, 0x1, 0x1, 0x78, 0xfd, 0x96, 0x4, 0xe5, 0x2, 0x9c, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x23, 0x11, 0x1, 0x78, 0x3, 0x6d, 0xfe, 0x73, 0xa0, 0xa0, 0xfd, 0x96, 0x5, 0x6, 0xac, 0xfb, 0xa6, 0x4, 0x5a, 0xfb, 0xa6, 0x0, 0x0, 0x2, 0x1, 0x78, 0xfd, 0x96, 0x4, 0xe5, 0x3, 0x48, 0x0, 0x5, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x21, 0x15, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x1, 0x78, 0x3, 0x6d, 0xfd, 0x33, 0xa0, 0x2, 0x2d, 0xfe, 0x73, 0xfd, 0x96, 0x5, 0xb2, 0xac, 0xfa, 0xfa, 0x4, 0x5a, 0xac, 0xfc, 0x52, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x2, 0xb8, 0x3, 0x48, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x21, 0x11, 0x2, 0x18, 0xfd, 0xd4, 0x2, 0x2c, 0xfd, 0xd4, 0x2, 0xcc, 0xfd, 0x96, 0x3, 0xae, 0xac, 0xac, 0xac, 0xfa, 0x4e, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x3, 0x58, 0x2, 0x9c, 0x0, 0x9, 0x0, 0x0, 0x3, 0x35, 0x21, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x14, 0x3, 0x6c, 0xa0, 0xa0, 0xa0, 0x1, 0xf0, 0xac, 0xfa, 0xfa, 0x4, 0x5a, 0xfb, 0xa6, 0x4, 0x5a, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xec, 0xfd, 0x96, 0x3, 0x58, 0x3, 0x48, 0x0, 0x5, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x2, 0xb8, 0xfd, 0x34, 0x3, 0x6c, 0xfe, 0x20, 0xfe, 0x74, 0x2, 0x2c, 0xfd, 0x96, 0x5, 0x6, 0xac, 0xfa, 0x4e, 0x3, 0xae, 0xac, 0xfb, 0xa6, 0x0, 0x1, 0x2, 0x18, 0x1, 0x44, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x2, 0x18, 0xa0, 0x2, 0x2d, 0xfd, 0xd3, 0x2, 0x2d, 0x1, 0x44, 0x6, 0x84, 0xfb, 0x80, 0xac, 0xac, 0xac, 0x0, 0x0, 0x0, 0x1, 0x1, 0x78, 0x1, 0xf0, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x1, 0x78, 0xa0, 0xa0, 0xa0, 0x1, 0x8d, 0x1, 0xf0, 0x5, 0xd8, 0xfa, 0xd4, 0x5, 0x2c, 0xfa, 0xd4, 0xac, 0x0, 0x0, 0x0, 0x2, 0x1, 0x78, 0x1, 0x44, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x5, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x21, 0x15, 0x1, 0x11, 0x33, 0x11, 0x21, 0x15, 0x2, 0xb8, 0xa0, 0x1, 0x8d, 0xfc, 0x93, 0xa0, 0x2, 0xcd, 0x2, 0x9c, 0x5, 0x2c, 0xfb, 0x80, 0xac, 0xfe, 0xa8, 0x6, 0x84, 0xfa, 0x28, 0xac, 0x0, 0x1, 0xff, 0xec, 0x1, 0x44, 0x2, 0xb8, 0x7, 0xc8, 0x0, 0x9, 0x0, 0x0, 0x3, 0x35, 0x21, 0x35, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x14, 0x2, 0x2c, 0xfd, 0xd4, 0x2, 0x2c, 0xa0, 0x1, 0x44, 0xac, 0xac, 0xac, 0x4, 0x80, 0xf9, 0x7c, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x1, 0xf0, 0x3, 0x58, 0x7, 0xc8, 0x0, 0x9, 0x0, 0x0, 0x3, 0x35, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x14, 0x1, 0x8c, 0xa0, 0xa0, 0xa0, 0x1, 0xf0, 0xac, 0x5, 0x2c, 0xfa, 0xd4, 0x5, 0x2c, 0xfa, 0x28, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xec, 0x1, 0x44, 0x3, 0x58, 0x7, 0xc8, 0x0, 0x5, 0x0, 0xb, 0x0, 0x0, 0x3, 0x35, 0x21, 0x11, 0x33, 0x11, 0x1, 0x35, 0x21, 0x11, 0x33, 0x11, 0x14, 0x1, 0x8c, 0xa0, 0xfd, 0xd4, 0x2, 0xcc, 0xa0, 0x2, 0x9c, 0xac, 0x4, 0x80, 0xfa, 0xd4, 0xfe, 0xa8, 0xac, 0x5, 0xd8, 0xf9, 0x7c, 0x0, 0x0, 0x1, 0x2, 0x18, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x11, 0x2, 0x18, 0xa0, 0x2, 0x2d, 0xfd, 0xd3, 0x2, 0x2d, 0xfd, 0xd3, 0xfd, 0x96, 0xa, 0x32, 0xfb, 0x80, 0xac, 0xac, 0xac, 0xfc, 0x52, 0x0, 0x2, 0x1, 0x78, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x3, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x1, 0x78, 0xa0, 0xa0, 0xa0, 0x1, 0x8d, 0xfe, 0x73, 0xfd, 0x96, 0xa, 0x32, 0xf5, 0xce, 0xa, 0x32, 0xfa, 0xd4, 0xac, 0xfb, 0xa6, 0x0, 0x0, 0x0, 0x3, 0x1, 0x78, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x5, 0x0, 0x9, 0x0, 0xf, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x21, 0x15, 0x1, 0x11, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x2, 0xb8, 0xa0, 0x1, 0x8d, 0xfc, 0x93, 0xa0, 0xa0, 0x2, 0x2d, 0xfe, 0x73, 0x2, 0x9c, 0x5, 0x2c, 0xfb, 0x80, 0xac, 0xfa, 0xfa, 0xa, 0x32, 0xf5, 0xce, 0x4, 0x5a, 0xac, 0xfc, 0x52, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x2, 0xb8, 0x7, 0xc8, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x2, 0x18, 0xfd, 0xd4, 0x2, 0x2c, 0xfd, 0xd4, 0x2, 0x2c, 0xa0, 0xfd, 0x96, 0x3, 0xae, 0xac, 0xac, 0xac, 0x4, 0x80, 0xf5, 0xce, 0x0, 0x2, 0xff, 0xec, 0xfd, 0x96, 0x3, 0x58, 0x7, 0xc8, 0x0, 0x7, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x1, 0x78, 0xfe, 0x74, 0x1, 0x8c, 0xa0, 0xa0, 0xa0, 0xfd, 0x96, 0x4, 0x5a, 0xac, 0x5, 0x2c, 0xf5, 0xce, 0xa, 0x32, 0xf5, 0xce, 0x0, 0x0, 0x0, 0x3, 0xff, 0xec, 0xfd, 0x96, 0x3, 0x58, 0x7, 0xc8, 0x0, 0x5, 0x0, 0xb, 0x0, 0xf, 0x0, 0x0, 0x3, 0x35, 0x21, 0x11, 0x33, 0x11, 0x3, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x14, 0x1, 0x8c, 0xa0, 0xa0, 0xfe, 0x74, 0x2, 0x2c, 0xa0, 0xa0, 0x2, 0x9c, 0xac, 0x4, 0x80, 0xfa, 0xd4, 0xfa, 0xfa, 0x3, 0xae, 0xac, 0xfb, 0xa6, 0xa, 0x32, 0xf5, 0xce, 0x0, 0x0, 0x2, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x3, 0x48, 0x0, 0x7, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x1, 0x35, 0x21, 0x15, 0x2, 0x18, 0xfd, 0xd4, 0x4, 0xf9, 0xfd, 0xd3, 0xfd, 0x34, 0x4, 0xf9, 0xfd, 0x96, 0x3, 0xae, 0xac, 0xac, 0xfc, 0x52, 0x5, 0x6, 0xac, 0xac, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x2, 0x9c, 0x0, 0xb, 0x0, 0x0, 0x3, 0x35, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x14, 0x4, 0xf9, 0xfe, 0x73, 0xa0, 0xa0, 0xa0, 0x1, 0xf0, 0xac, 0xac, 0xfb, 0xa6, 0x4, 0x5a, 0xfb, 0xa6, 0x4, 0x5a, 0x0, 0x0, 0x0, 0x3, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x3, 0x48, 0x0, 0x3, 0x0, 0x9, 0x0, 0xf, 0x0, 0x0, 0x3, 0x35, 0x21, 0x15, 0x1, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x14, 0x4, 0xf9, 0xfc, 0x93, 0xfe, 0x74, 0x2, 0x2c, 0xa0, 0x2, 0x2d, 0xfe, 0x73, 0x2, 0x9c, 0xac, 0xac, 0xfa, 0xfa, 0x3, 0xae, 0xac, 0xfb, 0xa6, 0x4, 0x5a, 0xac, 0xfc, 0x52, 0x0, 0x2, 0xff, 0xec, 0x1, 0x44, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x3, 0x0, 0xb, 0x0, 0x0, 0x3, 0x35, 0x21, 0x15, 0x1, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x14, 0x4, 0xf9, 0xfb, 0x7, 0x2, 0x2c, 0xa0, 0x2, 0x2d, 0x1, 0x44, 0xac, 0xac, 0x1, 0x58, 0xac, 0x4, 0x80, 0xfb, 0x80, 0xac, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x1, 0xf0, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0xb, 0x0, 0x0, 0x3, 0x35, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x14, 0x1, 0x8c, 0xa0, 0xa0, 0xa0, 0x1, 0x8d, 0x1, 0xf0, 0xac, 0x5, 0x2c, 0xfa, 0xd4, 0x5, 0x2c, 0xfa, 0xd4, 0xac, 0x0, 0x0, 0x0, 0x3, 0xff, 0xec, 0x1, 0x44, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x3, 0x0, 0x9, 0x0, 0xf, 0x0, 0x0, 0x3, 0x35, 0x21, 0x15, 0x1, 0x35, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x14, 0x4, 0xf9, 0xfb, 0x7, 0x1, 0x8c, 0xa0, 0xa0, 0xa0, 0x1, 0x8d, 0x1, 0x44, 0xac, 0xac, 0x1, 0x58, 0xac, 0x4, 0x80, 0xfa, 0xd4, 0x5, 0x2c, 0xfb, 0x80, 0xac, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x13, 0x0, 0x0, 0x1, 0x11, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x11, 0x2, 0x18, 0xfd, 0xd4, 0x2, 0x2c, 0xfd, 0xd4, 0x2, 0x2c, 0xa0, 0x2, 0x2d, 0xfd, 0xd3, 0x2, 0x2d, 0xfd, 0xd3, 0xfd, 0x96, 0x3, 0xae, 0xac, 0xac, 0xac, 0x4, 0x80, 0xfb, 0x80, 0xac, 0xac, 0xac, 0xfc, 0x52, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x13, 0x0, 0x0, 0x3, 0x35, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x14, 0x1, 0x8c, 0xa0, 0xa0, 0xa0, 0x1, 0x8d, 0xfe, 0x73, 0xa0, 0xa0, 0xa0, 0x1, 0xf0, 0xac, 0x5, 0x2c, 0xfa, 0xd4, 0x5, 0x2c, 0xfa, 0xd4, 0xac, 0xfb, 0xa6, 0x4, 0x5a, 0xfb, 0xa6, 0x4, 0x5a, 0x0, 0x0, 0x4, 0xff, 0xec, 0xfd, 0x96, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0x5, 0x0, 0xb, 0x0, 0x11, 0x0, 0x17, 0x0, 0x0, 0x1, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x1, 0x35, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x2, 0xb8, 0x2, 0x2d, 0xfe, 0x73, 0xfe, 0x20, 0xfe, 0x74, 0x2, 0x2c, 0xfd, 0xd4, 0x1, 0x8c, 0xa0, 0xa0, 0xa0, 0x1, 0x8d, 0xfd, 0x96, 0x4, 0x5a, 0xac, 0xfc, 0x52, 0x3, 0xae, 0xac, 0xfb, 0xa6, 0x5, 0x6, 0xac, 0x4, 0x80, 0xfa, 0xd4, 0x5, 0x2c, 0xfb, 0x80, 0xac, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x18, 0xfd, 0x96, 0x4, 0xe5, 0x2, 0x9c, 0x0, 0xc, 0x0, 0x0, 0x1, 0x11, 0x34, 0x37, 0x36, 0x33, 0x21, 0x15, 0x21, 0x22, 0x6, 0x15, 0x11, 0x2, 0x18, 0x51, 0x5b, 0xa8, 0x1, 0x79, 0xfe, 0x87, 0x59, 0x5b, 0xfd, 0x96, 0x3, 0x60, 0xa1, 0x7f, 0x86, 0xac, 0x7e, 0x7c, 0xfc, 0xa0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfd, 0x96, 0x2, 0xb8, 0x2, 0x9c, 0x0, 0xd, 0x0, 0x0, 0x1, 0x11, 0x34, 0x27, 0x26, 0x23, 0x21, 0x35, 0x21, 0x32, 0x17, 0x16, 0x15, 0x11, 0x2, 0x18, 0x2e, 0x2d, 0x59, 0xfe, 0x88, 0x1, 0x78, 0xa8, 0x5b, 0x51, 0xfd, 0x96, 0x3, 0x60, 0x7e, 0x3d, 0x3f, 0xac, 0x86, 0x78, 0xa8, 0xfc, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x1, 0xf0, 0x2, 0xb8, 0x7, 0xc8, 0x0, 0xc, 0x0, 0x0, 0x3, 0x35, 0x21, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x7, 0x6, 0x23, 0x14, 0x1, 0x78, 0x59, 0x5b, 0xa0, 0x51, 0x5b, 0xa8, 0x1, 0xf0, 0xac, 0x7e, 0x7c, 0x4, 0x32, 0xfb, 0xce, 0xa8, 0x78, 0x86, 0x0, 0x1, 0x2, 0x18, 0x1, 0xf0, 0x4, 0xe5, 0x7, 0xc8, 0x0, 0xc, 0x0, 0x0, 0x1, 0x21, 0x22, 0x27, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x21, 0x4, 0xe5, 0xfe, 0x87, 0xa8, 0x5b, 0x51, 0xa0, 0x5b, 0x59, 0x1, 0x79, 0x1, 0xf0, 0x86, 0x78, 0xa8, 0x4, 0x32, 0xfb, 0xce, 0x7c, 0x7e, 0x0, 0x0, 0x0, 0x1, 0xff, 0x93, 0xfd, 0x96, 0x5, 0x3e, 0x7, 0xc8, 0x0, 0x3, 0x0, 0x0, 0x3, 0x1, 0x33, 0x1, 0x6d, 0x4, 0xf9, 0xb2, 0xfb, 0x7, 0xfd, 0x96, 0xa, 0x32, 0xf5, 0xce, 0x0, 0x0, 0x0, 0x1, 0xff, 0x93, 0xfd, 0x96, 0x5, 0x3e, 0x7, 0xc8, 0x0, 0x3, 0x0, 0x0, 0x1, 0x23, 0x1, 0x33, 0x5, 0x3e, 0xb2, 0xfb, 0x7, 0xb2, 0xfd, 0x96, 0xa, 0x32, 0x0, 0x1, 0xff, 0x93, 0xfd, 0x96, 0x5, 0x3e, 0x7, 0xc8, 0x0, 0xb, 0x0, 0x0, 0x1, 0x23, 0x9, 0x1, 0x23, 0x9, 0x1, 0x33, 0x9, 0x1, 0x33, 0x1, 0x5, 0x3e, 0xb2, 0xfd, 0xdc, 0xfd, 0xdd, 0xb2, 0x2, 0x7d, 0xfd, 0x83, 0xb2, 0x2, 0x23, 0x2, 0x24, 0xb2, 0xfd, 0x84, 0xfd, 0x96, 0x4, 0x63, 0xfb, 0x9d, 0x5, 0x19, 0x5, 0x19, 0xfb, 0x9d, 0x4, 0x63, 0xfa, 0xe7, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x1, 0xf0, 0x2, 0x7c, 0x2, 0x9c, 0x0, 0x3, 0x0, 0x0, 0x3, 0x35, 0x21, 0x15, 0x14, 0x2, 0x90, 0x1, 0xf0, 0xac, 0xac, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x18, 0x2, 0x46, 0x2, 0xb8, 0x7, 0xc8, 0x0, 0x3, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x2, 0x18, 0xa0, 0x2, 0x46, 0x5, 0x82, 0xfa, 0x7e, 0x0, 0x0, 0x1, 0x2, 0x7c, 0x1, 0xf0, 0x4, 0xe5, 0x2, 0x9c, 0x0, 0x3, 0x0, 0x0, 0x1, 0x35, 0x21, 0x15, 0x2, 0x7c, 0x2, 0x69, 0x1, 0xf0, 0xac, 0xac, 0x0, 0x0, 0x0, 0x1, 0x2, 0x18, 0xfd, 0x96, 0x2, 0xb8, 0x2, 0x46, 0x0, 0x3, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x2, 0x18, 0xa0, 0xfd, 0x96, 0x4, 0xb0, 0xfb, 0x50, 0x0, 0x0, 0x1, 0xff, 0xec, 0x1, 0x9a, 0x2, 0x7c, 0x2, 0xf2, 0x0, 0x3, 0x0, 0x0, 0x3, 0x11, 0x21, 0x11, 0x14, 0x2, 0x90, 0x1, 0x9a, 0x1, 0x58, 0xfe, 0xa8, 0x0, 0x0, 0x1, 0x1, 0xc8, 0x2, 0x46, 0x3, 0x8, 0x7, 0xc8, 0x0, 0x3, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x1, 0xc8, 0x1, 0x40, 0x2, 0x46, 0x5, 0x82, 0xfa, 0x7e, 0x0, 0x1, 0x2, 0x7c, 0x1, 0x9a, 0x4, 0xe5, 0x2, 0xf2, 0x0, 0x3, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x2, 0x7c, 0x2, 0x69, 0x1, 0x9a, 0x1, 0x58, 0xfe, 0xa8, 0x0, 0x1, 0x1, 0xc8, 0xfd, 0x96, 0x3, 0x8, 0x2, 0x46, 0x0, 0x3, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x1, 0xc8, 0x1, 0x40, 0xfd, 0x96, 0x4, 0xb0, 0xfb, 0x50, 0x0, 0x1, 0xff, 0xec, 0x1, 0x9a, 0x4, 0xe5, 0x2, 0xf2, 0x0, 0x7, 0x0, 0x0, 0x3, 0x35, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x14, 0x2, 0x90, 0x2, 0x69, 0xfd, 0x97, 0x1, 0xf0, 0xac, 0x56, 0xfe, 0xa8, 0x56, 0x0, 0x1, 0x1, 0xc8, 0xfd, 0x96, 0x3, 0x8, 0x7, 0xc8, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x1, 0xc8, 0x50, 0xa0, 0x50, 0xfd, 0x96, 0x4, 0xb0, 0x5, 0x82, 0xfa, 0x7e, 0xfb, 0x50, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x1, 0x9a, 0x4, 0xe5, 0x2, 0xf2, 0x0, 0x7, 0x0, 0x0, 0x3, 0x11, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x14, 0x2, 0x90, 0x2, 0x69, 0xfd, 0x97, 0x1, 0x9a, 0x1, 0x58, 0x56, 0xac, 0x56, 0x0, 0x1, 0x1, 0xc8, 0xfd, 0x96, 0x3, 0x8, 0x7, 0xc8, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x2, 0x18, 0x50, 0x1, 0x40, 0x50, 0xfd, 0x96, 0x4, 0xb0, 0x5, 0x82, 0xfa, 0x7e, 0xfb, 0x50, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0x2, 0x14, 0x6, 0x3b, 0x6, 0x28, 0x10, 0x7, 0xe, 0x56, 0x0, 0x0, 0x4, 0x14, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfe, 0x0, 0x6, 0x3b, 0xff, 0x5, 0x0, 0x3, 0x0, 0x0, 0x3, 0x11, 0x21, 0x11, 0x14, 0x6, 0x4f, 0xfe, 0x0, 0x1, 0x5, 0xfe, 0xfb, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfe, 0x0, 0x6, 0x3b, 0xff, 0xf6, 0x0, 0x3, 0x0, 0x0, 0x3, 0x11, 0x21, 0x11, 0x14, 0x6, 0x4f, 0xfe, 0x0, 0x1, 0xf6, 0xfe, 0xa, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfe, 0x0, 0x6, 0x3b, 0x1, 0xf, 0x0, 0x3, 0x0, 0x0, 0x3, 0x11, 0x21, 0x11, 0x14, 0x6, 0x4f, 0xfe, 0x0, 0x3, 0xf, 0xfc, 0xf1, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfe, 0x0, 0x6, 0x3b, 0x2, 0x14, 0x0, 0x3, 0x0, 0x0, 0x3, 0x11, 0x21, 0x11, 0x14, 0x6, 0x4f, 0xfe, 0x0, 0x4, 0x14, 0xfb, 0xec, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfe, 0x0, 0x6, 0x3b, 0x3, 0x19, 0x0, 0x3, 0x0, 0x0, 0x3, 0x11, 0x21, 0x11, 0x14, 0x6, 0x4f, 0xfe, 0x0, 0x5, 0x19, 0xfa, 0xe7, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfe, 0x0, 0x6, 0x3b, 0x4, 0x1e, 0x0, 0x3, 0x0, 0x0, 0x3, 0x11, 0x21, 0x11, 0x14, 0x6, 0x4f, 0xfe, 0x0, 0x6, 0x1e, 0xf9, 0xe2, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfe, 0x0, 0x6, 0x3b, 0x5, 0x23, 0x0, 0x3, 0x0, 0x0, 0x3, 0x11, 0x21, 0x11, 0x14, 0x6, 0x4f, 0xfe, 0x0, 0x7, 0x23, 0xf8, 0xdd, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfe, 0x0, 0x6, 0x3b, 0x6, 0x28, 0x0, 0x3, 0x0, 0x0, 0x3, 0x11, 0x21, 0x11, 0x14, 0x6, 0x4f, 0xfe, 0x0, 0x8, 0x28, 0xf7, 0xd8, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfe, 0x0, 0x5, 0x71, 0x6, 0x28, 0x0, 0x3, 0x0, 0x0, 0x3, 0x11, 0x21, 0x11, 0x14, 0x5, 0x85, 0xfe, 0x0, 0x8, 0x28, 0xf7, 0xd8, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfe, 0x0, 0x4, 0xa7, 0x6, 0x28, 0x0, 0x3, 0x0, 0x0, 0x3, 0x11, 0x21, 0x11, 0x14, 0x4, 0xbb, 0xfe, 0x0, 0x8, 0x28, 0xf7, 0xd8, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfe, 0x0, 0x3, 0xdd, 0x6, 0x28, 0x0, 0x3, 0x0, 0x0, 0x3, 0x11, 0x21, 0x11, 0x14, 0x3, 0xf1, 0xfe, 0x0, 0x8, 0x28, 0xf7, 0xd8, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfe, 0x0, 0x3, 0x13, 0x6, 0x28, 0x0, 0x3, 0x0, 0x0, 0x3, 0x11, 0x21, 0x11, 0x14, 0x3, 0x27, 0xfe, 0x0, 0x8, 0x28, 0xf7, 0xd8, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfe, 0x0, 0x2, 0x49, 0x6, 0x28, 0x0, 0x3, 0x0, 0x0, 0x3, 0x11, 0x21, 0x11, 0x14, 0x2, 0x5d, 0xfe, 0x0, 0x8, 0x28, 0xf7, 0xd8, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfe, 0x0, 0x1, 0x7f, 0x6, 0x28, 0x0, 0x3, 0x0, 0x0, 0x3, 0x11, 0x21, 0x11, 0x14, 0x1, 0x93, 0xfe, 0x0, 0x8, 0x28, 0xf7, 0xd8, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfe, 0x0, 0x0, 0xb5, 0x6, 0x28, 0x0, 0x3, 0x0, 0x0, 0x3, 0x11, 0x33, 0x11, 0x14, 0xc9, 0xfe, 0x0, 0x8, 0x28, 0xf7, 0xd8, 0x0, 0x0, 0xff, 0xff, 0x3, 0x13, 0xfe, 0x0, 0x6, 0x3a, 0x6, 0x28, 0x10, 0x7, 0xe, 0x5e, 0x3, 0x27, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xec, 0xfe, 0x0, 0x5, 0x71, 0x6, 0x28, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x13, 0x0, 0x17, 0x0, 0x1b, 0x0, 0x1f, 0x0, 0x23, 0x0, 0x27, 0x0, 0x2b, 0x0, 0x2f, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x13, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x1, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x13, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x1, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x13, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x4, 0xa7, 0xca, 0xfc, 0xe, 0xca, 0xca, 0xca, 0xfc, 0xf, 0xc9, 0x3, 0xf2, 0xca, 0xfc, 0xe, 0xca, 0xca, 0xca, 0xfc, 0xf, 0xc9, 0x3, 0xf2, 0xca, 0xfc, 0xe, 0xca, 0xca, 0xca, 0xfc, 0xf, 0xc9, 0xfe, 0x0, 0x1, 0x5, 0xfe, 0xfb, 0x1, 0x5, 0xfe, 0xfb, 0x1, 0x6d, 0x1, 0x5, 0xfe, 0xfb, 0x1, 0x5, 0xfe, 0xfb, 0x1, 0x6e, 0x1, 0x5, 0xfe, 0xfb, 0x1, 0x5, 0xfe, 0xfb, 0x1, 0x6d, 0x1, 0x5, 0xfe, 0xfb, 0x1, 0x5, 0xfe, 0xfb, 0x1, 0x6e, 0x1, 0x5, 0xfe, 0xfb, 0x1, 0x5, 0xfe, 0xfb, 0x1, 0x6d, 0x1, 0x5, 0xfe, 0xfb, 0x1, 0x5, 0xfe, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x20, 0xff, 0xec, 0xfe, 0x0, 0x6, 0x34, 0x6, 0x28, 0x0, 0x7, 0x0, 0xf, 0x0, 0x17, 0x0, 0x1f, 0x0, 0x27, 0x0, 0x2f, 0x0, 0x37, 0x0, 0x3f, 0x0, 0x47, 0x0, 0x4f, 0x0, 0x57, 0x0, 0x5f, 0x0, 0x67, 0x0, 0x6f, 0x0, 0x77, 0x0, 0x7f, 0x0, 0x87, 0x0, 0x8f, 0x0, 0x97, 0x0, 0x9f, 0x0, 0xa7, 0x0, 0xaf, 0x0, 0xb7, 0x0, 0xbf, 0x0, 0xc7, 0x0, 0xcf, 0x0, 0xd7, 0x0, 0xdf, 0x0, 0xe7, 0x0, 0xef, 0x0, 0xf7, 0x0, 0xff, 0x0, 0x0, 0x13, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x5, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x5, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x5, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x1, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x5, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x5, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x5, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x1, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x5, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x5, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x5, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x1, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x5, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x5, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x5, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x1, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x5, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x5, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x5, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x1, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x5, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x5, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x5, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x1, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x5, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x5, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x5, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x1, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x5, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x5, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0x5, 0x7, 0x23, 0x27, 0x35, 0x37, 0x33, 0x17, 0xb5, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0x1, 0x92, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0x1, 0x92, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0x1, 0x92, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0xfc, 0x13, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0x1, 0x92, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0x1, 0x92, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0x1, 0x92, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0xfa, 0x81, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0x1, 0x92, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0x1, 0x92, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0x1, 0x92, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0xfc, 0x13, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0x1, 0x92, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0x1, 0x92, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0x1, 0x92, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0xfa, 0x81, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0x1, 0x92, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0x1, 0x92, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0x1, 0x92, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0xfc, 0x13, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0x1, 0x92, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0x1, 0x92, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0x1, 0x92, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0xfa, 0x81, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0x1, 0x92, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0x1, 0x92, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0x1, 0x92, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0xfc, 0x13, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0x1, 0x92, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0x1, 0x92, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0x1, 0x92, 0x5, 0xbf, 0x5, 0x5, 0xbf, 0x5, 0x5, 0x28, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfe, 0x0, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfe, 0x0, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfe, 0x0, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfe, 0x0, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfe, 0x0, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfe, 0x0, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfe, 0x0, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0xfb, 0x5, 0x5, 0x0, 0x0, 0x7, 0xff, 0xec, 0xfe, 0x0, 0x6, 0x3b, 0x6, 0x28, 0x0, 0x19, 0x0, 0x1d, 0x0, 0x21, 0x0, 0x25, 0x0, 0x29, 0x0, 0x2d, 0x0, 0x31, 0x0, 0x0, 0x3, 0x11, 0x33, 0x11, 0x23, 0x11, 0x33, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x19, 0x1, 0x33, 0x11, 0x23, 0x1, 0x33, 0x11, 0x23, 0x1, 0x33, 0x11, 0x23, 0x1, 0x33, 0x11, 0x23, 0x1, 0x33, 0x11, 0x23, 0x1, 0x33, 0x11, 0x23, 0x14, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0x2, 0x5e, 0xca, 0x2, 0x5e, 0xca, 0xca, 0xfd, 0xa2, 0xca, 0xca, 0xca, 0x3, 0x28, 0xca, 0xca, 0xfe, 0x6c, 0xca, 0xca, 0xfe, 0x6c, 0xca, 0xca, 0x3, 0x28, 0xca, 0xca, 0xfe, 0x6c, 0xca, 0xca, 0xfe, 0x0, 0x1, 0x6d, 0x1, 0x5, 0x1, 0xd6, 0x1, 0x5, 0x1, 0xd6, 0x1, 0x5, 0xfe, 0xfb, 0x1, 0x5, 0xf7, 0xd8, 0x1, 0x5, 0xfe, 0xfb, 0x1, 0x5, 0xfe, 0xfb, 0x5, 0xb6, 0x1, 0x5, 0xfe, 0xfb, 0x1, 0x5, 0xfd, 0x8d, 0x1, 0x5, 0xfd, 0x8e, 0x1, 0x5, 0xfe, 0xfb, 0x1, 0x5, 0xfd, 0x8d, 0x1, 0x5, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0x5, 0x23, 0x6, 0x3b, 0x6, 0x28, 0x10, 0x7, 0xe, 0x53, 0x0, 0x0, 0x7, 0x23, 0x0, 0x0, 0xff, 0xff, 0x5, 0x71, 0xfe, 0x0, 0x6, 0x3a, 0x6, 0x28, 0x10, 0x7, 0xe, 0x61, 0x5, 0x85, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfe, 0x0, 0x3, 0x14, 0x2, 0x14, 0x0, 0x3, 0x0, 0x0, 0x3, 0x11, 0x21, 0x11, 0x14, 0x3, 0x28, 0xfe, 0x0, 0x4, 0x14, 0xfb, 0xec, 0x0, 0x0, 0x1, 0x3, 0x13, 0xfe, 0x0, 0x6, 0x3b, 0x2, 0x14, 0x0, 0x3, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x3, 0x13, 0x3, 0x28, 0xfe, 0x0, 0x4, 0x14, 0xfb, 0xec, 0x0, 0x1, 0xff, 0xec, 0x2, 0x14, 0x3, 0x14, 0x6, 0x28, 0x0, 0x3, 0x0, 0x0, 0x3, 0x11, 0x21, 0x11, 0x14, 0x3, 0x28, 0x2, 0x14, 0x4, 0x14, 0xfb, 0xec, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfe, 0x0, 0x6, 0x3b, 0x6, 0x28, 0x0, 0x5, 0x0, 0x0, 0x1, 0x21, 0x11, 0x21, 0x11, 0x21, 0x6, 0x3b, 0xf9, 0xb1, 0x3, 0x28, 0x3, 0x27, 0xfe, 0x0, 0x8, 0x28, 0xfb, 0xec, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfe, 0x0, 0x6, 0x3b, 0x6, 0x28, 0x0, 0x7, 0x0, 0x0, 0x3, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x14, 0x3, 0x28, 0x3, 0x27, 0xfc, 0xd8, 0x2, 0x14, 0x4, 0x14, 0xfb, 0xec, 0xfb, 0xec, 0x4, 0x14, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfe, 0x0, 0x6, 0x3b, 0x6, 0x28, 0x0, 0x5, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x11, 0x6, 0x3b, 0xfc, 0xd9, 0xfc, 0xd8, 0x6, 0x28, 0xfb, 0xec, 0xfb, 0xec, 0x8, 0x28, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfe, 0x0, 0x6, 0x3b, 0x6, 0x28, 0x0, 0x5, 0x0, 0x0, 0x3, 0x21, 0x11, 0x21, 0x11, 0x21, 0x14, 0x6, 0x4f, 0xfc, 0xd8, 0xfc, 0xd9, 0x6, 0x28, 0xf7, 0xd8, 0x4, 0x14, 0x0, 0x0, 0x0, 0x0, 0x1, 0x3, 0x13, 0x2, 0x14, 0x6, 0x3b, 0x6, 0x28, 0x0, 0x3, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x3, 0x13, 0x3, 0x28, 0x2, 0x14, 0x4, 0x14, 0xfb, 0xec, 0x0, 0x1, 0xff, 0xec, 0xfe, 0x0, 0x6, 0x3b, 0x6, 0x28, 0x0, 0x7, 0x0, 0x0, 0x3, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x14, 0x3, 0x27, 0x3, 0x28, 0xfc, 0xd9, 0xfc, 0xd8, 0x2, 0x14, 0x4, 0x14, 0xfb, 0xec, 0xfb, 0xec, 0x0, 0x0, 0x1, 0xff, 0xec, 0xfe, 0x0, 0x6, 0x3b, 0x6, 0x28, 0x0, 0x5, 0x0, 0x0, 0x3, 0x11, 0x21, 0x11, 0x21, 0x11, 0x14, 0x3, 0x27, 0x3, 0x28, 0xfe, 0x0, 0x4, 0x14, 0x4, 0x14, 0xf7, 0xd8, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0xff, 0x4, 0x6, 0xd5, 0x5, 0x24, 0x0, 0x3, 0x0, 0x0, 0x17, 0x11, 0x21, 0x11, 0xba, 0x6, 0x1b, 0xfc, 0x6, 0x20, 0xf9, 0xe0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0xff, 0x4, 0x6, 0xd5, 0x5, 0x24, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x5, 0x21, 0x11, 0x21, 0x3, 0x11, 0x21, 0x11, 0x1, 0x2c, 0x5, 0x37, 0xfa, 0xc9, 0x72, 0x6, 0x1b, 0x8a, 0x5, 0x3c, 0xfa, 0x52, 0x6, 0x20, 0xf9, 0xe0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0xff, 0x4, 0x6, 0xd5, 0x5, 0x24, 0x0, 0xb, 0x0, 0x17, 0x0, 0x0, 0x25, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x21, 0x22, 0x15, 0x3, 0x11, 0x10, 0x29, 0x1, 0x20, 0x19, 0x1, 0x10, 0x29, 0x1, 0x20, 0x1, 0x2c, 0xe4, 0x3, 0x6f, 0xe4, 0xe4, 0xfc, 0x91, 0xe4, 0x72, 0x1, 0x56, 0x3, 0x6f, 0x1, 0x56, 0xfe, 0xaa, 0xfc, 0x91, 0xfe, 0xaa, 0x5a, 0xe4, 0xe4, 0x3, 0x74, 0xe4, 0xe4, 0xfc, 0x8c, 0x3, 0x74, 0x1, 0x56, 0xfe, 0xaa, 0xfc, 0x8c, 0xfe, 0xaa, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xff, 0x4, 0x6, 0xd5, 0x5, 0x24, 0x10, 0x27, 0xe, 0x7c, 0x1, 0x11, 0x0, 0x0, 0x10, 0x6, 0xe, 0x73, 0x0, 0x0, 0x0, 0x6, 0x0, 0xba, 0xff, 0x4, 0x6, 0xd5, 0x5, 0x24, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x13, 0x0, 0x17, 0x0, 0x0, 0x17, 0x11, 0x21, 0x11, 0x25, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x21, 0xba, 0x6, 0x1b, 0xfa, 0x57, 0x5, 0x37, 0xfa, 0xc9, 0x5, 0x37, 0xfa, 0xc9, 0x5, 0x37, 0xfa, 0xc9, 0x5, 0x37, 0xfa, 0xc9, 0x5, 0x37, 0xfa, 0xc9, 0xfc, 0x6, 0x20, 0xf9, 0xe0, 0x72, 0xb0, 0x72, 0xb2, 0x72, 0xb0, 0x72, 0xb2, 0x72, 0xb0, 0x0, 0x6, 0x0, 0xba, 0xff, 0x4, 0x6, 0xd5, 0x5, 0x24, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x13, 0x0, 0x17, 0x0, 0x0, 0x17, 0x11, 0x21, 0x11, 0x25, 0x33, 0x11, 0x23, 0x1, 0x33, 0x11, 0x23, 0x1, 0x33, 0x11, 0x23, 0x1, 0x33, 0x11, 0x23, 0x1, 0x33, 0x11, 0x23, 0xba, 0x6, 0x1b, 0xfe, 0xe1, 0xb0, 0xb0, 0xfe, 0xdc, 0xb2, 0xb2, 0xfe, 0xde, 0xb0, 0xb0, 0xfe, 0xdc, 0xb2, 0xb2, 0xfe, 0xde, 0xb0, 0xb0, 0xfc, 0x6, 0x20, 0xf9, 0xe0, 0x74, 0x5, 0x38, 0xfa, 0xc8, 0x5, 0x38, 0xfa, 0xc8, 0x5, 0x38, 0xfa, 0xc8, 0x5, 0x38, 0xfa, 0xc8, 0x5, 0x38, 0x0, 0x0, 0x1a, 0x0, 0xba, 0xff, 0x4, 0x6, 0xd5, 0x5, 0x24, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x13, 0x0, 0x17, 0x0, 0x1b, 0x0, 0x1f, 0x0, 0x23, 0x0, 0x27, 0x0, 0x2b, 0x0, 0x2f, 0x0, 0x33, 0x0, 0x37, 0x0, 0x3b, 0x0, 0x3f, 0x0, 0x43, 0x0, 0x47, 0x0, 0x4b, 0x0, 0x4f, 0x0, 0x53, 0x0, 0x57, 0x0, 0x5b, 0x0, 0x5f, 0x0, 0x63, 0x0, 0x67, 0x0, 0x0, 0x5, 0x33, 0x35, 0x23, 0x5, 0x33, 0x35, 0x23, 0x5, 0x33, 0x35, 0x23, 0x1, 0x33, 0x35, 0x23, 0x11, 0x33, 0x35, 0x23, 0x11, 0x33, 0x35, 0x23, 0x11, 0x33, 0x35, 0x23, 0x11, 0x33, 0x35, 0x23, 0x1, 0x33, 0x35, 0x23, 0x11, 0x33, 0x35, 0x23, 0x11, 0x33, 0x35, 0x23, 0x11, 0x33, 0x35, 0x23, 0x1, 0x33, 0x35, 0x23, 0x11, 0x33, 0x35, 0x23, 0x11, 0x33, 0x35, 0x23, 0x11, 0x33, 0x35, 0x23, 0x1, 0x33, 0x35, 0x23, 0x11, 0x33, 0x35, 0x23, 0x11, 0x33, 0x35, 0x23, 0x11, 0x33, 0x35, 0x23, 0x1, 0x33, 0x35, 0x23, 0x11, 0x33, 0x35, 0x23, 0x11, 0x33, 0x35, 0x23, 0x11, 0x33, 0x35, 0x23, 0x11, 0x33, 0x35, 0x23, 0x1, 0x11, 0x21, 0x11, 0x2, 0x4c, 0xb2, 0xb2, 0x1, 0x24, 0xb0, 0xb0, 0x1, 0x22, 0xb2, 0xb2, 0xfc, 0x9a, 0xae, 0xae, 0xae, 0xae, 0xae, 0xae, 0xae, 0xae, 0xae, 0xae, 0x1, 0x20, 0xb2, 0xb2, 0xb2, 0xb2, 0xb2, 0xb2, 0xb2, 0xb2, 0x1, 0x24, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0x1, 0x22, 0xb2, 0xb2, 0xb2, 0xb2, 0xb2, 0xb2, 0xb2, 0xb2, 0x1, 0x24, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xfb, 0x4, 0x6, 0x1b, 0x88, 0xae, 0xae, 0xae, 0xae, 0xae, 0x3, 0xdc, 0xae, 0xfe, 0x2e, 0xb2, 0xfe, 0x2c, 0xb0, 0xfe, 0x2c, 0xb2, 0xfe, 0x2e, 0xae, 0x3, 0xdc, 0xae, 0xfe, 0x2e, 0xb2, 0xfe, 0x2c, 0xb0, 0xfe, 0x2c, 0xb2, 0x2, 0xb8, 0xae, 0xfe, 0x2e, 0xb2, 0xfe, 0x2c, 0xb0, 0xfe, 0x2c, 0xb2, 0x2, 0xb8, 0xae, 0xfe, 0x2e, 0xb2, 0xfe, 0x2c, 0xb0, 0xfe, 0x2c, 0xb2, 0x2, 0xb8, 0xae, 0xfe, 0x2e, 0xb2, 0xfe, 0x2c, 0xb0, 0xfe, 0x2c, 0xb2, 0xfe, 0x2e, 0xae, 0xfe, 0xde, 0x6, 0x20, 0xf9, 0xe0, 0x0, 0x8, 0x0, 0xba, 0xff, 0x4, 0x6, 0xd5, 0x5, 0x24, 0x0, 0x3, 0x0, 0x6, 0x0, 0xa, 0x0, 0xe, 0x0, 0x14, 0x0, 0x18, 0x0, 0x1c, 0x0, 0x1f, 0x0, 0x0, 0x17, 0x11, 0x21, 0x11, 0x1, 0x15, 0x33, 0x3, 0x15, 0x1, 0x33, 0x1, 0x15, 0x1, 0x37, 0x1, 0x15, 0x1, 0x37, 0x35, 0x1, 0x33, 0x1, 0x35, 0x1, 0x33, 0x1, 0x35, 0x1, 0x33, 0x17, 0x35, 0xba, 0x6, 0x1b, 0xfa, 0x57, 0xe2, 0xe2, 0x1, 0x84, 0xfb, 0xfd, 0x81, 0x3, 0x21, 0xfb, 0xfb, 0xe4, 0x4, 0xbe, 0x79, 0xfb, 0x42, 0xa2, 0x4, 0x1c, 0xfc, 0xdf, 0xa2, 0x2, 0x7f, 0xfe, 0x7c, 0xa2, 0xe2, 0xfc, 0x6, 0x20, 0xf9, 0xe0, 0x1, 0x54, 0xe2, 0x2, 0x7f, 0xfc, 0xfe, 0x7d, 0x4, 0x1c, 0xfc, 0xfc, 0xdf, 0x1, 0x5, 0x3c, 0x7f, 0xfb, 0x42, 0x1, 0x7f, 0x4, 0xbd, 0xfb, 0xe4, 0xfc, 0x3, 0x20, 0xfd, 0x81, 0xfc, 0x1, 0x83, 0xe2, 0xe2, 0x0, 0x0, 0x0, 0x8, 0x0, 0xba, 0xff, 0x4, 0x6, 0xd5, 0x5, 0x24, 0x0, 0x3, 0x0, 0x6, 0x0, 0xa, 0x0, 0xe, 0x0, 0x14, 0x0, 0x18, 0x0, 0x1c, 0x0, 0x1f, 0x0, 0x0, 0x17, 0x11, 0x21, 0x11, 0x25, 0x33, 0x35, 0x5, 0x33, 0x1, 0x35, 0x1, 0x17, 0x1, 0x35, 0x1, 0x17, 0x1, 0x35, 0x23, 0x1, 0x35, 0x1, 0x23, 0x1, 0x35, 0x1, 0x23, 0x1, 0x35, 0x37, 0x23, 0xba, 0x6, 0x1b, 0xfe, 0xac, 0xe2, 0xfd, 0x81, 0xfb, 0x1, 0x84, 0xfb, 0xe4, 0xfb, 0x3, 0x21, 0xfa, 0xc9, 0x79, 0x4, 0xbe, 0x79, 0xfb, 0x42, 0x4, 0x1c, 0xfb, 0xfc, 0xdf, 0x2, 0x7f, 0xfb, 0xfe, 0x7c, 0xe2, 0xe2, 0xfc, 0x6, 0x20, 0xf9, 0xe0, 0x72, 0xe2, 0xe2, 0x1, 0x83, 0xfc, 0xfd, 0x81, 0x1, 0x3, 0x21, 0xfc, 0xfb, 0xe4, 0x1, 0x4, 0xbe, 0x7f, 0xfb, 0x43, 0xa1, 0x4, 0x1c, 0xfc, 0xe0, 0xa1, 0x2, 0x7f, 0xfe, 0x7d, 0xa1, 0xe2, 0x0, 0x0, 0x0, 0x0, 0x1a, 0x0, 0xba, 0xff, 0x4, 0x6, 0xd5, 0x5, 0x24, 0x0, 0x4, 0x0, 0x9, 0x0, 0xe, 0x0, 0x12, 0x0, 0x17, 0x0, 0x1c, 0x0, 0x20, 0x0, 0x24, 0x0, 0x28, 0x0, 0x2d, 0x0, 0x31, 0x0, 0x35, 0x0, 0x39, 0x0, 0x3d, 0x0, 0x41, 0x0, 0x46, 0x0, 0x4b, 0x0, 0x4f, 0x0, 0x53, 0x0, 0x57, 0x0, 0x5c, 0x0, 0x61, 0x0, 0x65, 0x0, 0x6a, 0x0, 0x6f, 0x0, 0x73, 0x0, 0x0, 0x1, 0x17, 0x37, 0x27, 0x23, 0x11, 0x17, 0x37, 0x27, 0x7, 0x1, 0x17, 0x37, 0x27, 0x23, 0x1, 0x17, 0x37, 0x27, 0x3, 0x17, 0x37, 0x27, 0x7, 0x1, 0x17, 0x37, 0x27, 0x23, 0x1, 0x17, 0x37, 0x27, 0x1, 0x17, 0x37, 0x27, 0x1, 0x17, 0x37, 0x27, 0x1, 0x17, 0x37, 0x35, 0x23, 0x1, 0x17, 0x37, 0x27, 0x1, 0x17, 0x37, 0x27, 0x1, 0x17, 0x37, 0x27, 0x1, 0x17, 0x37, 0x27, 0x1, 0x17, 0x37, 0x27, 0x1, 0x33, 0x37, 0x27, 0x7, 0x1, 0x17, 0x37, 0x35, 0x27, 0x1, 0x17, 0x37, 0x27, 0x1, 0x17, 0x37, 0x27, 0x1, 0x17, 0x37, 0x27, 0x1, 0x17, 0x33, 0x37, 0x27, 0x1, 0x17, 0x37, 0x35, 0x27, 0x1, 0x17, 0x37, 0x27, 0x1, 0x17, 0x33, 0x37, 0x27, 0x5, 0x17, 0x33, 0x35, 0x27, 0x1, 0x11, 0x21, 0x11, 0x1, 0x2c, 0x32, 0x7c, 0x35, 0x79, 0x32, 0x7e, 0x7e, 0x32, 0x1, 0x4f, 0x7e, 0x7e, 0x35, 0x92, 0xfe, 0xfe, 0x7e, 0x7c, 0x7e, 0xfe, 0x32, 0x7e, 0x7e, 0x32, 0x2, 0xec, 0x7e, 0x7e, 0x35, 0x92, 0xfe, 0xfd, 0x7e, 0x7d, 0x7d, 0xfe, 0xb5, 0x7d, 0x7d, 0x7e, 0xfe, 0xb5, 0x7e, 0x7e, 0x7e, 0x3, 0x89, 0x7d, 0x31, 0x79, 0xfe, 0xfd, 0x7c, 0x7e, 0x7c, 0xfe, 0xb3, 0x7c, 0x7e, 0x7c, 0xfe, 0xb5, 0x7d, 0x7c, 0x7c, 0xfe, 0xb5, 0x7c, 0x7e, 0x7c, 0xfe, 0xb3, 0x7d, 0x7d, 0x7c, 0xff, 0x0, 0x7a, 0x34, 0x7c, 0x32, 0x4, 0x88, 0x7e, 0x31, 0x32, 0xfe, 0xb4, 0x7e, 0x7e, 0x7e, 0xfe, 0xb5, 0x7e, 0x7c, 0x7e, 0xfe, 0xb6, 0x7e, 0x7e, 0x7e, 0xfe, 0xb3, 0x35, 0x93, 0x34, 0x7e, 0x2, 0xbb, 0x7d, 0x32, 0x32, 0xfe, 0xb5, 0x7e, 0x7d, 0x7e, 0xfe, 0xb5, 0x34, 0x93, 0x35, 0x7e, 0x1, 0x1f, 0x34, 0x7a, 0x32, 0xfa, 0x89, 0x6, 0x1b, 0x4, 0x33, 0x31, 0x7c, 0x34, 0xfd, 0xe4, 0x32, 0x7e, 0x7e, 0x31, 0x1, 0x4f, 0x7e, 0x7e, 0x34, 0xfe, 0xff, 0x7e, 0x7c, 0x7e, 0xfc, 0xcc, 0x31, 0x7e, 0x7d, 0x31, 0x2, 0xec, 0x7e, 0x7e, 0x34, 0xfe, 0xfd, 0x7d, 0x7d, 0x7e, 0xfe, 0xb5, 0x7e, 0x7d, 0x7d, 0xfe, 0xb6, 0x7e, 0x7e, 0x7e, 0x1, 0xec, 0x7c, 0x31, 0x7f, 0xfe, 0xfd, 0x7c, 0x7e, 0x7c, 0xfe, 0xb4, 0x7d, 0x7e, 0x7c, 0xfe, 0xb6, 0x7c, 0x7c, 0x7c, 0xfe, 0xb5, 0x7c, 0x7e, 0x7c, 0xfe, 0xb4, 0x7c, 0x7d, 0x7d, 0xfe, 0x81, 0x34, 0x7c, 0x31, 0x2, 0xed, 0x7e, 0x32, 0x99, 0x31, 0xfe, 0xb4, 0x7e, 0x7e, 0x7e, 0xfe, 0xb5, 0x7e, 0x7c, 0x7e, 0xfe, 0xb5, 0x7e, 0x7e, 0x7e, 0xfe, 0xb4, 0x34, 0x34, 0x7e, 0x1, 0x1e, 0x7e, 0x31, 0x99, 0x31, 0xfe, 0xb5, 0x7d, 0x7c, 0x7e, 0xfe, 0xb5, 0x34, 0x34, 0x7e, 0x7e, 0x34, 0x7f, 0x31, 0xfe, 0xde, 0x6, 0x20, 0xf9, 0xe0, 0x0, 0x1, 0x0, 0xba, 0x0, 0x16, 0x4, 0xb2, 0x4, 0x12, 0x0, 0x3, 0x0, 0x0, 0x37, 0x11, 0x21, 0x11, 0xba, 0x3, 0xf8, 0x16, 0x3, 0xfc, 0xfc, 0x4, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0x0, 0x16, 0x4, 0xb2, 0x4, 0x12, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x25, 0x21, 0x11, 0x21, 0x3, 0x11, 0x21, 0x11, 0x1, 0x2c, 0x3, 0x14, 0xfc, 0xec, 0x72, 0x3, 0xf8, 0x88, 0x3, 0x18, 0xfc, 0x76, 0x3, 0xfc, 0xfc, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0x0, 0x9a, 0x6, 0xd5, 0x3, 0x8e, 0x0, 0x3, 0x0, 0x0, 0x25, 0x21, 0x11, 0x21, 0x6, 0xd5, 0xf9, 0xe5, 0x6, 0x1b, 0x9a, 0x2, 0xf4, 0x0, 0x0, 0x2, 0x0, 0xba, 0x0, 0x9a, 0x6, 0xd5, 0x3, 0x8e, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x5, 0x21, 0x11, 0x21, 0x6, 0x63, 0xfa, 0xc9, 0x5, 0xa9, 0xf9, 0xe5, 0x6, 0x1b, 0x1, 0xc, 0x2, 0x10, 0xfd, 0xf0, 0x72, 0x2, 0xf4, 0x0, 0x0, 0x1, 0x0, 0xba, 0xff, 0x6, 0x3, 0xad, 0x5, 0x22, 0x0, 0x3, 0x0, 0x0, 0x17, 0x11, 0x21, 0x11, 0xba, 0x2, 0xf3, 0xfa, 0x6, 0x1c, 0xf9, 0xe4, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0xff, 0x6, 0x3, 0xad, 0x5, 0x22, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x5, 0x21, 0x11, 0x21, 0x3, 0x11, 0x21, 0x11, 0x1, 0x2c, 0x2, 0xf, 0xfd, 0xf1, 0x72, 0x2, 0xf3, 0x88, 0x5, 0x38, 0xfa, 0x56, 0x6, 0x1c, 0xf9, 0xe4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6, 0x0, 0x9a, 0x6, 0x21, 0x3, 0x8e, 0x0, 0x3, 0x0, 0x0, 0x25, 0x21, 0x1, 0x21, 0x4, 0x98, 0xfb, 0x6e, 0x1, 0x8a, 0x4, 0x91, 0x9a, 0x2, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6, 0x0, 0x9a, 0x6, 0x21, 0x3, 0x8e, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x9, 0x1, 0x21, 0x1, 0x5, 0x21, 0x1, 0x21, 0x4, 0x62, 0x1, 0x10, 0xfc, 0x53, 0xfe, 0xef, 0x3, 0xe4, 0xfb, 0x6e, 0x1, 0x8a, 0x4, 0x91, 0x1, 0xc, 0x2, 0x10, 0xfd, 0xf0, 0x72, 0x2, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6, 0xff, 0x4, 0x6, 0x21, 0x5, 0x24, 0x0, 0x2, 0x0, 0x0, 0x17, 0x9, 0x1, 0x6, 0x3, 0xd, 0x3, 0xe, 0xfc, 0x6, 0x20, 0xf9, 0xe0, 0x0, 0x0, 0x2, 0x0, 0x6, 0xff, 0x4, 0x6, 0x21, 0x5, 0x24, 0x0, 0x2, 0x0, 0x5, 0x0, 0x0, 0x17, 0x21, 0x9, 0x3, 0xb1, 0x4, 0xc5, 0xfd, 0x9d, 0xfc, 0xf3, 0x3, 0xd, 0x3, 0xe, 0x8a, 0x4, 0xca, 0xfa, 0xc4, 0x6, 0x20, 0xf9, 0xe0, 0x0, 0x1, 0x0, 0x6, 0x0, 0x16, 0x3, 0xfe, 0x4, 0x12, 0x0, 0x2, 0x0, 0x0, 0x37, 0x9, 0x1, 0x6, 0x1, 0xfc, 0x1, 0xfc, 0x16, 0x3, 0xfc, 0xfc, 0x4, 0x0, 0x0, 0x2, 0x0, 0x6, 0x0, 0x16, 0x3, 0xfe, 0x4, 0x12, 0x0, 0x2, 0x0, 0x5, 0x0, 0x0, 0x37, 0x21, 0x9, 0x3, 0xb1, 0x2, 0xa2, 0xfe, 0xaf, 0xfe, 0x4, 0x1, 0xfc, 0x1, 0xfc, 0x88, 0x2, 0xa6, 0xfc, 0xe8, 0x3, 0xfc, 0xfc, 0x4, 0x0, 0x1, 0x0, 0x6, 0xff, 0x4, 0x6, 0x21, 0x5, 0x24, 0x0, 0x2, 0x0, 0x0, 0x17, 0x11, 0x1, 0x6, 0x6, 0x1b, 0xfc, 0x6, 0x20, 0xfc, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6, 0xff, 0x4, 0x6, 0x21, 0x5, 0x24, 0x0, 0x2, 0x0, 0x5, 0x0, 0x0, 0x17, 0x9, 0x1, 0x3, 0x11, 0x1, 0x78, 0x4, 0xc5, 0xfb, 0x3b, 0x72, 0x6, 0x1b, 0x52, 0x2, 0x66, 0x2, 0x66, 0xfa, 0x8a, 0x6, 0x20, 0xfc, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6, 0x0, 0x16, 0x3, 0xfe, 0x4, 0x12, 0x0, 0x2, 0x0, 0x0, 0x37, 0x11, 0x1, 0x6, 0x3, 0xf8, 0x16, 0x3, 0xfc, 0xfe, 0x2, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6, 0x0, 0x16, 0x3, 0xfe, 0x4, 0x12, 0x0, 0x2, 0x0, 0x5, 0x0, 0x0, 0x37, 0x9, 0x1, 0x3, 0x11, 0x1, 0x78, 0x2, 0xa2, 0xfd, 0x5e, 0x72, 0x3, 0xf8, 0xc1, 0x1, 0x53, 0x1, 0x53, 0xfc, 0xaf, 0x3, 0xfc, 0xfe, 0x2, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6, 0x0, 0x16, 0x6, 0x21, 0x4, 0x12, 0x0, 0x2, 0x0, 0x0, 0x37, 0x11, 0x1, 0x6, 0x6, 0x1b, 0x16, 0x3, 0xfc, 0xfe, 0x2, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6, 0x0, 0x16, 0x6, 0x21, 0x4, 0x12, 0x0, 0x2, 0x0, 0x5, 0x0, 0x0, 0x37, 0x9, 0x1, 0x3, 0x11, 0x1, 0x78, 0x4, 0x8c, 0xfb, 0x74, 0x72, 0x6, 0x1b, 0xc1, 0x1, 0x53, 0x1, 0x53, 0xfc, 0xaf, 0x3, 0xfc, 0xfe, 0x2, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6, 0xff, 0x4, 0x6, 0x21, 0x5, 0x24, 0x0, 0x2, 0x0, 0x0, 0x13, 0x21, 0x1, 0x6, 0x6, 0x1b, 0xfc, 0xf2, 0x5, 0x24, 0xf9, 0xe0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6, 0xff, 0x4, 0x6, 0x21, 0x5, 0x24, 0x0, 0x2, 0x0, 0x5, 0x0, 0x0, 0x13, 0x9, 0x1, 0x25, 0x21, 0x1, 0xb1, 0x2, 0x62, 0x2, 0x63, 0xfa, 0x90, 0x6, 0x1b, 0xfc, 0xf2, 0x4, 0xb2, 0xfb, 0x36, 0x4, 0xca, 0x72, 0xf9, 0xe0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6, 0x0, 0x16, 0x3, 0xfe, 0x4, 0x12, 0x0, 0x2, 0x0, 0x0, 0x13, 0x21, 0x1, 0x6, 0x3, 0xf8, 0xfe, 0x4, 0x4, 0x12, 0xfc, 0x4, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6, 0x0, 0x16, 0x3, 0xfe, 0x4, 0x12, 0x0, 0x2, 0x0, 0x5, 0x0, 0x0, 0x13, 0x9, 0x1, 0x25, 0x21, 0x1, 0xb1, 0x1, 0x51, 0x1, 0x51, 0xfc, 0xb3, 0x3, 0xf8, 0xfe, 0x4, 0x3, 0xa0, 0xfd, 0x5a, 0x2, 0xa6, 0x72, 0xfc, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6, 0xff, 0x4, 0x6, 0x21, 0x5, 0x24, 0x0, 0x2, 0x0, 0x0, 0x13, 0x1, 0x11, 0x6, 0x6, 0x1b, 0x2, 0x14, 0x3, 0x10, 0xf9, 0xe0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6, 0xff, 0x4, 0x6, 0x21, 0x5, 0x24, 0x0, 0x2, 0x0, 0x5, 0x0, 0x0, 0x13, 0x1, 0x11, 0x9, 0x1, 0x11, 0xea, 0x4, 0xc5, 0xfa, 0x57, 0x6, 0x1b, 0x2, 0x14, 0xfd, 0x9a, 0x4, 0xcc, 0xfd, 0x9a, 0x3, 0x10, 0xf9, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6, 0x0, 0x16, 0x3, 0xfe, 0x4, 0x12, 0x0, 0x2, 0x0, 0x0, 0x13, 0x1, 0x11, 0x6, 0x3, 0xf8, 0x2, 0x14, 0x1, 0xfe, 0xfc, 0x4, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6, 0x0, 0x16, 0x3, 0xfe, 0x4, 0x12, 0x0, 0x2, 0x0, 0x5, 0x0, 0x0, 0x13, 0x1, 0x11, 0x9, 0x1, 0x11, 0xea, 0x2, 0xa2, 0xfc, 0x7a, 0x3, 0xf8, 0x2, 0x14, 0xfe, 0xad, 0x2, 0xa6, 0xfe, 0xad, 0x1, 0xfe, 0xfc, 0x4, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6, 0x0, 0x16, 0x6, 0x21, 0x4, 0x12, 0x0, 0x2, 0x0, 0x0, 0x13, 0x1, 0x11, 0x6, 0x6, 0x1b, 0x2, 0x14, 0x1, 0xfe, 0xfc, 0x4, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6, 0x0, 0x16, 0x6, 0x21, 0x4, 0x12, 0x0, 0x2, 0x0, 0x5, 0x0, 0x0, 0x9, 0x1, 0x11, 0x9, 0x1, 0x11, 0x1, 0x23, 0x4, 0x8c, 0xfa, 0x57, 0x6, 0x1b, 0x2, 0x14, 0xfe, 0xad, 0x2, 0xa6, 0xfe, 0xad, 0x1, 0xfe, 0xfc, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6, 0xff, 0x4, 0x6, 0x21, 0x5, 0x24, 0x0, 0x3, 0x0, 0x0, 0x13, 0x9, 0x2, 0x6, 0x3, 0xd, 0x3, 0xe, 0xfc, 0xf2, 0x2, 0x14, 0x3, 0x10, 0xfc, 0xf0, 0xfc, 0xf0, 0x0, 0x2, 0x0, 0x6, 0xff, 0x4, 0x6, 0x21, 0x5, 0x24, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x13, 0x9, 0x6, 0x9e, 0x2, 0x75, 0x2, 0x76, 0xfd, 0x8a, 0xfc, 0xf3, 0x3, 0xd, 0x3, 0xe, 0xfc, 0xf2, 0x2, 0x14, 0xfd, 0x88, 0x2, 0x78, 0x2, 0x78, 0xfd, 0x88, 0x3, 0x10, 0xfc, 0xf0, 0xfc, 0xf0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x6, 0xff, 0x4, 0x6, 0x21, 0x5, 0x24, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x0, 0x9, 0xb, 0x1, 0x3e, 0x1, 0xd5, 0x1, 0xd5, 0xfe, 0x2b, 0xfd, 0x8b, 0x2, 0x75, 0x2, 0x76, 0xfd, 0x8a, 0xfc, 0xf3, 0x3, 0xd, 0x3, 0xe, 0xfc, 0xf2, 0x2, 0x14, 0x1, 0xd7, 0xfe, 0x29, 0xfe, 0x29, 0x1, 0xd7, 0xfd, 0x88, 0x2, 0x78, 0x2, 0x78, 0xfd, 0x88, 0x3, 0x10, 0xfc, 0xf0, 0xfc, 0xf0, 0x0, 0x3, 0x0, 0x70, 0xfe, 0xff, 0x6, 0x8b, 0x5, 0x29, 0x0, 0xd, 0x0, 0x1b, 0x0, 0x29, 0x0, 0x0, 0x24, 0x10, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x10, 0x7, 0x6, 0x23, 0x22, 0x27, 0x0, 0x10, 0x5, 0x16, 0x33, 0x32, 0x37, 0x24, 0x10, 0x25, 0x26, 0x23, 0x22, 0x7, 0x0, 0x10, 0x25, 0x36, 0x33, 0x32, 0x17, 0x4, 0x10, 0x5, 0x6, 0x23, 0x22, 0x27, 0x1, 0x82, 0xfe, 0x7e, 0x7f, 0x80, 0x7e, 0xfe, 0xfe, 0x7e, 0x80, 0x7f, 0x7e, 0xfe, 0x65, 0x1, 0x4d, 0xa5, 0xa6, 0xa7, 0xa5, 0x1, 0x4d, 0xfe, 0xb3, 0xa5, 0xa7, 0xa6, 0xa5, 0xfe, 0x3e, 0x1, 0x87, 0xc3, 0xc3, 0xc4, 0xc3, 0x1, 0x87, 0xfe, 0x79, 0xc3, 0xc4, 0xc3, 0xc3, 0xef, 0x2, 0x4a, 0x92, 0x4a, 0x4a, 0x92, 0xfd, 0xb6, 0x92, 0x4a, 0x4a, 0x3, 0x36, 0xfd, 0x2, 0xc0, 0x60, 0x60, 0xc0, 0x2, 0xfe, 0xc0, 0x60, 0x60, 0xfb, 0xff, 0x3, 0x84, 0xe2, 0x71, 0x71, 0xe2, 0xfc, 0x7c, 0xe2, 0x71, 0x71, 0x0, 0x0, 0x2, 0x0, 0x6, 0xfe, 0x23, 0x3, 0xee, 0x6, 0x75, 0x0, 0x3, 0x0, 0x7, 0x0, 0x22, 0x40, 0x11, 0x2, 0x6, 0x0, 0x8, 0x4, 0x6, 0x8, 0x6, 0x4, 0x3, 0x2, 0x1, 0x0, 0x6, 0x5, 0x7, 0x8, 0x10, 0xd4, 0xcc, 0x17, 0x39, 0x31, 0x0, 0x10, 0xd4, 0xcc, 0x11, 0x39, 0x12, 0x39, 0x30, 0x9, 0x7, 0x1, 0xfa, 0xfe, 0x7f, 0x1, 0x81, 0x1, 0x81, 0xfe, 0x7f, 0x1, 0xf4, 0xfe, 0xc, 0xfe, 0xc, 0x5, 0x81, 0xfc, 0xcf, 0xfc, 0xc7, 0x3, 0x39, 0x4, 0x25, 0xfb, 0xdb, 0xfb, 0xd3, 0x4, 0x2d, 0x0, 0x2, 0x0, 0x70, 0xfe, 0xff, 0x6, 0x8b, 0x5, 0x29, 0x0, 0xd, 0x0, 0x1b, 0x0, 0x0, 0x12, 0x10, 0x5, 0x16, 0x33, 0x32, 0x37, 0x24, 0x10, 0x25, 0x26, 0x23, 0x22, 0x7, 0x0, 0x10, 0x25, 0x36, 0x33, 0x32, 0x17, 0x4, 0x10, 0x5, 0x6, 0x23, 0x22, 0x27, 0xe5, 0x1, 0x4d, 0xa5, 0xa6, 0xa7, 0xa5, 0x1, 0x4d, 0xfe, 0xb3, 0xa5, 0xa7, 0xa6, 0xa5, 0xfe, 0x3e, 0x1, 0x87, 0xc3, 0xc3, 0xc4, 0xc3, 0x1, 0x87, 0xfe, 0x79, 0xc3, 0xc4, 0xc3, 0xc3, 0x3, 0x93, 0xfd, 0x2, 0xc0, 0x60, 0x60, 0xc0, 0x2, 0xfe, 0xc0, 0x60, 0x60, 0xfb, 0xff, 0x3, 0x84, 0xe2, 0x71, 0x71, 0xe2, 0xfc, 0x7c, 0xe2, 0x71, 0x71, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x72, 0xff, 0x1, 0x6, 0x89, 0x5, 0x27, 0x0, 0x9, 0x0, 0x13, 0x0, 0x1d, 0x0, 0x27, 0x0, 0x2f, 0x0, 0x37, 0x0, 0x3f, 0x0, 0x47, 0x0, 0x0, 0x25, 0x16, 0x17, 0x16, 0x17, 0x7, 0x26, 0x27, 0x26, 0x27, 0x5, 0x36, 0x37, 0x36, 0x37, 0x17, 0x6, 0x7, 0x6, 0x7, 0x13, 0x26, 0x27, 0x26, 0x27, 0x37, 0x16, 0x17, 0x16, 0x17, 0x25, 0x6, 0x7, 0x6, 0x7, 0x27, 0x36, 0x37, 0x36, 0x37, 0x13, 0x16, 0x32, 0x37, 0x17, 0x6, 0x22, 0x27, 0x1, 0x36, 0x34, 0x27, 0x37, 0x16, 0x14, 0x7, 0x1, 0x26, 0x22, 0x7, 0x27, 0x36, 0x32, 0x17, 0x1, 0x6, 0x14, 0x17, 0x7, 0x26, 0x34, 0x37, 0x1, 0x5c, 0x2b, 0x3b, 0x2e, 0x38, 0x31, 0x46, 0x39, 0x4b, 0x35, 0x3, 0xda, 0x38, 0x2e, 0x34, 0x32, 0x64, 0x3b, 0x45, 0x39, 0x47, 0x9c, 0x2c, 0x3a, 0x2e, 0x38, 0x30, 0x47, 0x39, 0x4a, 0x36, 0xfc, 0x26, 0x38, 0x2e, 0x3b, 0x2b, 0x64, 0x31, 0x4f, 0x39, 0x46, 0xed, 0x4c, 0x9a, 0x4c, 0x26, 0x5f, 0xc0, 0x60, 0x3, 0x4a, 0x10, 0x10, 0x6e, 0x14, 0x14, 0xfd, 0xa1, 0x4c, 0x9a, 0x4c, 0x27, 0x60, 0xc0, 0x5f, 0xfc, 0xb8, 0x10, 0x10, 0x6e, 0x14, 0x14, 0x8f, 0x3c, 0x31, 0x26, 0x20, 0x6a, 0x28, 0x30, 0x3d, 0x4a, 0x75, 0x20, 0x26, 0x2c, 0x41, 0x3d, 0x4e, 0x3a, 0x30, 0x28, 0x4, 0x27, 0x3c, 0x31, 0x26, 0x20, 0x6a, 0x28, 0x30, 0x3d, 0x4a, 0x75, 0x20, 0x26, 0x31, 0x3c, 0x3e, 0x45, 0x42, 0x30, 0x28, 0xfa, 0xd4, 0x16, 0x16, 0x6e, 0x1b, 0x1b, 0x2, 0x5f, 0x49, 0xa0, 0x49, 0x27, 0x5b, 0xca, 0x5b, 0x3, 0x4a, 0x16, 0x16, 0x6e, 0x1b, 0x1b, 0xfd, 0xa1, 0x49, 0xa0, 0x49, 0x27, 0x5b, 0xca, 0x5b, 0x0, 0x0, 0x6, 0x0, 0x70, 0xfe, 0xff, 0x6, 0x8b, 0x5, 0x29, 0x0, 0xd, 0x0, 0x17, 0x0, 0x1b, 0x0, 0x25, 0x0, 0x2f, 0x0, 0x33, 0x0, 0x0, 0x36, 0x10, 0x25, 0x36, 0x33, 0x32, 0x17, 0x4, 0x10, 0x5, 0x6, 0x23, 0x22, 0x27, 0x13, 0x11, 0x16, 0x17, 0x16, 0x17, 0x11, 0x6, 0x7, 0x6, 0x7, 0x6, 0x10, 0x17, 0x1, 0x11, 0x16, 0x33, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x17, 0x11, 0x36, 0x37, 0x36, 0x37, 0x11, 0x26, 0x27, 0x26, 0x17, 0x11, 0x36, 0x10, 0x70, 0x1, 0x87, 0xc3, 0xc3, 0xc4, 0xc3, 0x1, 0x87, 0xfe, 0x79, 0xc3, 0xc4, 0xc3, 0xc3, 0xb, 0x17, 0x19, 0x41, 0x41, 0x41, 0x41, 0x19, 0x89, 0xab, 0xab, 0x1, 0x96, 0x2c, 0x2b, 0x2d, 0x2c, 0x2c, 0x2d, 0x2b, 0xf6, 0x41, 0x40, 0x1a, 0x17, 0x17, 0x1a, 0x40, 0xe3, 0xaa, 0x52, 0x3, 0x84, 0xe2, 0x71, 0x71, 0xe2, 0xfc, 0x7c, 0xe2, 0x71, 0x71, 0x4, 0xc5, 0xfb, 0xbe, 0xf, 0xf, 0x25, 0x17, 0x4, 0xf6, 0x17, 0x25, 0xf, 0x6d, 0xb1, 0xfd, 0xdc, 0xb1, 0x4, 0x5b, 0xfa, 0xd0, 0x7, 0x7, 0x5, 0x30, 0x7, 0x24, 0xfb, 0xa, 0x17, 0x25, 0xf, 0x10, 0x4, 0x40, 0x10, 0xf, 0x25, 0xa2, 0xfc, 0x7c, 0xb1, 0x2, 0x22, 0x0, 0x0, 0x0, 0x4, 0x0, 0x70, 0xfe, 0xff, 0x6, 0x8b, 0x5, 0x29, 0x0, 0xd, 0x0, 0x1b, 0x0, 0x29, 0x0, 0x37, 0x0, 0x0, 0x0, 0x10, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x10, 0x27, 0x26, 0x23, 0x22, 0x7, 0x2, 0x10, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x10, 0x7, 0x6, 0x23, 0x22, 0x27, 0x0, 0x10, 0x5, 0x16, 0x33, 0x32, 0x37, 0x24, 0x10, 0x25, 0x26, 0x23, 0x22, 0x7, 0x0, 0x10, 0x25, 0x36, 0x33, 0x32, 0x17, 0x4, 0x10, 0x5, 0x6, 0x23, 0x22, 0x27, 0x2, 0x99, 0x72, 0x39, 0x39, 0x3a, 0x39, 0x72, 0x72, 0x39, 0x3a, 0x39, 0x39, 0xed, 0xb0, 0x58, 0x57, 0x58, 0x58, 0xb0, 0xb0, 0x58, 0x58, 0x57, 0x58, 0xfe, 0x17, 0x1, 0x4d, 0xa5, 0xa6, 0xa7, 0xa5, 0x1, 0x4d, 0xfe, 0xb3, 0xa5, 0xa7, 0xa6, 0xa5, 0xfe, 0x3e, 0x1, 0x87, 0xc3, 0xc3, 0xc4, 0xc3, 0x1, 0x87, 0xfe, 0x79, 0xc3, 0xc4, 0xc3, 0xc3, 0x2, 0x98, 0xfe, 0xf8, 0x42, 0x21, 0x21, 0x42, 0x1, 0x8, 0x42, 0x21, 0x21, 0xfe, 0x6f, 0x1, 0x96, 0x65, 0x33, 0x33, 0x65, 0xfe, 0x6a, 0x65, 0x33, 0x33, 0x2, 0xaf, 0xfd, 0x2, 0xc0, 0x60, 0x60, 0xc0, 0x2, 0xfe, 0xc0, 0x60, 0x60, 0xfb, 0xff, 0x3, 0x84, 0xe2, 0x71, 0x71, 0xe2, 0xfc, 0x7c, 0xe2, 0x71, 0x71, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x70, 0xff, 0x4, 0x6, 0x8b, 0x5, 0x20, 0x0, 0x17, 0x0, 0x13, 0x40, 0x7, 0x6, 0x12, 0x18, 0x19, 0xc, 0x0, 0x18, 0x10, 0xdc, 0xd4, 0xcc, 0x31, 0x0, 0x10, 0xd4, 0xc4, 0x30, 0x13, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x70, 0x69, 0x68, 0xb6, 0xb5, 0xd2, 0xd1, 0xb5, 0xb6, 0x68, 0x69, 0x69, 0x68, 0xb6, 0xb5, 0xd1, 0xd2, 0xb5, 0xb6, 0x68, 0x69, 0x2, 0x12, 0xd1, 0xb6, 0xb5, 0x69, 0x69, 0x69, 0x69, 0xb5, 0xb6, 0xd1, 0xd1, 0xb6, 0xb5, 0x69, 0x69, 0x69, 0x69, 0xb5, 0xb6, 0x0, 0x0, 0x2, 0x0, 0x70, 0xff, 0x4, 0x6, 0x8b, 0x5, 0x20, 0x0, 0xd, 0x0, 0x15, 0x0, 0x0, 0x12, 0x10, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x10, 0x2, 0x4, 0x23, 0x22, 0x24, 0x5, 0x32, 0x37, 0x24, 0x10, 0x25, 0x26, 0x23, 0x70, 0xd1, 0x1, 0x6b, 0xd2, 0xd1, 0x1, 0x6b, 0xd1, 0xd1, 0xfe, 0x95, 0xd1, 0xd2, 0xfe, 0x95, 0x2, 0x3c, 0xa7, 0xa5, 0x1, 0x4d, 0xfe, 0xb3, 0xa5, 0xa7, 0x1, 0x41, 0x1, 0xa2, 0x1, 0x6b, 0xd2, 0xd2, 0xfe, 0x95, 0xfe, 0x5e, 0xfe, 0x95, 0xd2, 0xd2, 0x61, 0x60, 0xc0, 0x2, 0xfe, 0xc0, 0x60, 0x0, 0x0, 0x2, 0x0, 0x70, 0xff, 0x4, 0x6, 0x8b, 0x5, 0x20, 0x0, 0xd, 0x0, 0x15, 0x0, 0x0, 0x12, 0x10, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x10, 0x2, 0x4, 0x23, 0x22, 0x24, 0x1, 0x22, 0x7, 0x4, 0x10, 0x5, 0x16, 0x33, 0x70, 0xd1, 0x1, 0x6b, 0xd2, 0xd1, 0x1, 0x6b, 0xd1, 0xd1, 0xfe, 0x95, 0xd1, 0xd2, 0xfe, 0x95, 0x2, 0x3c, 0xa6, 0xa5, 0xfe, 0xb3, 0x1, 0x4d, 0xa5, 0xa6, 0x1, 0x41, 0x1, 0xa2, 0x1, 0x6b, 0xd2, 0xd2, 0xfe, 0x95, 0xfe, 0x5e, 0xfe, 0x95, 0xd2, 0xd2, 0x4, 0xdd, 0x60, 0xc0, 0xfd, 0x2, 0xc0, 0x60, 0x0, 0x2, 0x0, 0x70, 0xff, 0x4, 0x6, 0x8b, 0x5, 0x20, 0x0, 0xd, 0x0, 0x16, 0x0, 0x0, 0x12, 0x10, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x10, 0x2, 0x4, 0x23, 0x22, 0x24, 0x1, 0x10, 0x25, 0x26, 0x23, 0x22, 0x7, 0x4, 0x11, 0x70, 0xd1, 0x1, 0x6b, 0xd2, 0xd1, 0x1, 0x6b, 0xd1, 0xd1, 0xfe, 0x95, 0xd1, 0xd2, 0xfe, 0x95, 0x4, 0xd5, 0xfe, 0xb3, 0xa5, 0xa7, 0xa6, 0xa5, 0xfe, 0xb3, 0x1, 0x41, 0x1, 0xa2, 0x1, 0x6b, 0xd2, 0xd2, 0xfe, 0x95, 0xfe, 0x5e, 0xfe, 0x95, 0xd2, 0xd2, 0x2, 0x3e, 0x1, 0x7f, 0xc0, 0x60, 0x60, 0xc0, 0xfe, 0x81, 0x0, 0x0, 0x2, 0x0, 0x70, 0xff, 0x4, 0x6, 0x8b, 0x5, 0x20, 0x0, 0xd, 0x0, 0x16, 0x0, 0x0, 0x12, 0x10, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x10, 0x2, 0x4, 0x23, 0x22, 0x24, 0x3, 0x10, 0x5, 0x16, 0x33, 0x32, 0x37, 0x24, 0x11, 0x70, 0xd1, 0x1, 0x6b, 0xd2, 0xd1, 0x1, 0x6b, 0xd1, 0xd1, 0xfe, 0x95, 0xd1, 0xd2, 0xfe, 0x95, 0x5c, 0x1, 0x4d, 0xa5, 0xa6, 0xa7, 0xa5, 0x1, 0x4d, 0x1, 0x41, 0x1, 0xa2, 0x1, 0x6b, 0xd2, 0xd2, 0xfe, 0x95, 0xfe, 0x5e, 0xfe, 0x95, 0xd2, 0xd2, 0x2, 0x3e, 0xfe, 0x81, 0xc0, 0x60, 0x60, 0xc0, 0x1, 0x7f, 0x0, 0x0, 0x0, 0x2, 0x0, 0x70, 0xff, 0x4, 0x6, 0x8b, 0x5, 0x20, 0x0, 0xb, 0x0, 0x18, 0x0, 0x0, 0x12, 0x10, 0x12, 0x24, 0x20, 0x4, 0x12, 0x10, 0x2, 0x4, 0x20, 0x24, 0x1, 0x22, 0x7, 0x4, 0x10, 0x5, 0x16, 0x33, 0x32, 0x37, 0x24, 0x11, 0x21, 0x70, 0xd1, 0x1, 0x6b, 0x1, 0xa3, 0x1, 0x6b, 0xd1, 0xd1, 0xfe, 0x95, 0xfe, 0x5d, 0xfe, 0x95, 0x2, 0x3c, 0xa6, 0xa5, 0xfe, 0xb3, 0x1, 0x4d, 0xa5, 0xa6, 0xa7, 0xa5, 0x1, 0x4d, 0xfd, 0x67, 0x1, 0x41, 0x1, 0xa2, 0x1, 0x6b, 0xd2, 0xd2, 0xfe, 0x95, 0xfe, 0x5e, 0xfe, 0x95, 0xd2, 0xd2, 0x4, 0xdd, 0x60, 0xc0, 0xfd, 0x2, 0xc0, 0x60, 0x60, 0xc0, 0x1, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x70, 0xff, 0x4, 0x6, 0x8b, 0x5, 0x20, 0x0, 0xb, 0x0, 0x11, 0x0, 0x0, 0x12, 0x10, 0x12, 0x24, 0x20, 0x4, 0x12, 0x10, 0x2, 0x4, 0x20, 0x24, 0x1, 0x22, 0x7, 0x4, 0x11, 0x21, 0x70, 0xd1, 0x1, 0x6b, 0x1, 0xa3, 0x1, 0x6b, 0xd1, 0xd1, 0xfe, 0x95, 0xfe, 0x5d, 0xfe, 0x95, 0x2, 0x3c, 0xa6, 0xa5, 0xfe, 0xb3, 0x2, 0x98, 0x1, 0x41, 0x1, 0xa2, 0x1, 0x6b, 0xd2, 0xd2, 0xfe, 0x95, 0xfe, 0x5e, 0xfe, 0x95, 0xd2, 0xd2, 0x4, 0xdd, 0x60, 0xc0, 0xfe, 0x81, 0x0, 0x1, 0x0, 0x70, 0xfe, 0xff, 0x3, 0x7d, 0x5, 0x29, 0x0, 0x7, 0x0, 0x0, 0x36, 0x10, 0x25, 0x36, 0x33, 0x11, 0x22, 0x27, 0x70, 0x1, 0x87, 0xc3, 0xc3, 0xc3, 0xc3, 0x52, 0x3, 0x84, 0xe2, 0x71, 0xf9, 0xd6, 0x71, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0xfe, 0xff, 0x3, 0xc7, 0x5, 0x29, 0x0, 0x7, 0x0, 0x0, 0x0, 0x10, 0x5, 0x6, 0x23, 0x11, 0x32, 0x17, 0x3, 0xc7, 0xfe, 0x79, 0xc3, 0xc3, 0xc3, 0xc3, 0x3, 0xd6, 0xfc, 0x7c, 0xe2, 0x71, 0x6, 0x2a, 0x71, 0x0, 0x0, 0x2, 0x0, 0xba, 0xff, 0xec, 0x5, 0x9a, 0x6, 0x28, 0x0, 0xa, 0x0, 0xe, 0x0, 0x0, 0x1, 0x14, 0x16, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x1, 0x11, 0x21, 0x11, 0x2, 0x1, 0xac, 0xfa, 0xac, 0xab, 0x7c, 0x7e, 0xad, 0xfe, 0xb9, 0x4, 0xe0, 0x2, 0xfa, 0x7d, 0xac, 0xac, 0x7d, 0x7c, 0xab, 0xab, 0xfc, 0x76, 0x6, 0x3c, 0xf9, 0xc4, 0x0, 0x0, 0x3, 0x0, 0xba, 0xfe, 0x0, 0x7, 0x9, 0x6, 0x28, 0x0, 0xd, 0x0, 0x1b, 0x0, 0x1f, 0x0, 0x0, 0x24, 0x10, 0x25, 0x36, 0x33, 0x32, 0x17, 0x4, 0x10, 0x5, 0x6, 0x23, 0x22, 0x27, 0x0, 0x10, 0x5, 0x16, 0x33, 0x32, 0x37, 0x24, 0x10, 0x25, 0x26, 0x23, 0x22, 0x7, 0x1, 0x11, 0x21, 0x11, 0x1, 0x49, 0x1, 0x4d, 0xa5, 0xa6, 0xa7, 0xa5, 0x1, 0x4d, 0xfe, 0xb3, 0xa5, 0xa7, 0xa6, 0xa5, 0xfe, 0x3e, 0x1, 0x87, 0xc3, 0xc3, 0xc4, 0xc3, 0x1, 0x87, 0xfe, 0x79, 0xc3, 0xc4, 0xc3, 0xc3, 0xfe, 0x5f, 0x6, 0x4f, 0x95, 0x2, 0xfe, 0xc0, 0x60, 0x60, 0xc0, 0xfd, 0x2, 0xc0, 0x60, 0x60, 0x4, 0x1, 0xfc, 0x7c, 0xe2, 0x71, 0x71, 0xe2, 0x3, 0x84, 0xe2, 0x71, 0x71, 0xf9, 0x48, 0x8, 0x28, 0xf7, 0xd8, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0x2, 0x14, 0x7, 0x9, 0x6, 0x28, 0x0, 0xc, 0x0, 0x15, 0x0, 0x0, 0x13, 0x11, 0x21, 0x11, 0x23, 0x10, 0x25, 0x26, 0x23, 0x22, 0x7, 0x4, 0x11, 0x29, 0x1, 0x10, 0x25, 0x36, 0x33, 0x32, 0x17, 0x4, 0xba, 0x6, 0x4f, 0x1a, 0xfe, 0x79, 0xc3, 0xc4, 0xc3, 0xc3, 0xfe, 0x79, 0x5, 0xa6, 0xfa, 0xcf, 0x1, 0x4d, 0xa6, 0xa5, 0xa6, 0xa6, 0x1, 0x4d, 0x2, 0x14, 0x4, 0x14, 0xfb, 0xec, 0x1, 0xc2, 0xe2, 0x71, 0x71, 0xe2, 0xfe, 0x3e, 0x1, 0x7e, 0xc1, 0x60, 0x60, 0xc1, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0xfe, 0x0, 0x7, 0x9, 0x2, 0x14, 0x0, 0xc, 0x0, 0x15, 0x0, 0x0, 0x13, 0x11, 0x33, 0x10, 0x5, 0x16, 0x33, 0x32, 0x37, 0x24, 0x11, 0x33, 0x11, 0x1, 0x21, 0x10, 0x5, 0x6, 0x23, 0x22, 0x27, 0x24, 0xba, 0x1a, 0x1, 0x87, 0xc3, 0xc3, 0xc4, 0xc3, 0x1, 0x87, 0x1a, 0xfa, 0x40, 0x5, 0x31, 0xfe, 0xb3, 0xa6, 0xa6, 0xa5, 0xa6, 0xfe, 0xb3, 0xfe, 0x0, 0x4, 0x14, 0xfe, 0x3e, 0xe2, 0x71, 0x71, 0xe2, 0x1, 0xc2, 0xfb, 0xec, 0x4, 0x14, 0xfe, 0x82, 0xc1, 0x60, 0x60, 0xc1, 0x0, 0x0, 0x1, 0x0, 0x6, 0x2, 0x14, 0x3, 0x13, 0x5, 0x29, 0x0, 0x9, 0x0, 0x0, 0x13, 0x10, 0x25, 0x36, 0x33, 0x15, 0x22, 0x7, 0x4, 0x11, 0x6, 0x1, 0x87, 0xc3, 0xc3, 0xa6, 0xa5, 0xfe, 0xb3, 0x2, 0x14, 0x1, 0xc2, 0xe2, 0x71, 0x76, 0x60, 0xc0, 0xfe, 0x81, 0x0, 0x1, 0x0, 0x6, 0x2, 0x14, 0x3, 0x13, 0x5, 0x29, 0x0, 0x9, 0x0, 0x0, 0x13, 0x32, 0x17, 0x4, 0x11, 0x23, 0x10, 0x25, 0x26, 0x23, 0x6, 0xc3, 0xc3, 0x1, 0x87, 0x75, 0xfe, 0xb3, 0xa5, 0xa6, 0x5, 0x29, 0x71, 0xe2, 0xfe, 0x3e, 0x1, 0x7f, 0xc0, 0x60, 0x0, 0x1, 0x0, 0x6, 0xfe, 0xff, 0x3, 0x13, 0x2, 0x14, 0x0, 0x9, 0x0, 0x0, 0x13, 0x35, 0x32, 0x37, 0x24, 0x11, 0x33, 0x10, 0x5, 0x6, 0x6, 0xa6, 0xa5, 0x1, 0x4d, 0x75, 0xfe, 0x79, 0xc3, 0xfe, 0xff, 0x76, 0x60, 0xc0, 0x1, 0x7f, 0xfe, 0x3e, 0xe2, 0x71, 0x0, 0x1, 0x0, 0x6, 0xfe, 0xff, 0x3, 0x13, 0x2, 0x14, 0x0, 0x9, 0x0, 0x0, 0x1, 0x22, 0x27, 0x24, 0x11, 0x33, 0x10, 0x5, 0x16, 0x33, 0x3, 0x13, 0xc3, 0xc3, 0xfe, 0x79, 0x75, 0x1, 0x4d, 0xa5, 0xa6, 0xfe, 0xff, 0x71, 0xe2, 0x1, 0xc2, 0xfe, 0x81, 0xc0, 0x60, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x70, 0x2, 0x14, 0x6, 0x8b, 0x5, 0x29, 0x0, 0x11, 0x0, 0x0, 0x13, 0x10, 0x25, 0x36, 0x33, 0x32, 0x17, 0x4, 0x11, 0x23, 0x10, 0x25, 0x26, 0x23, 0x22, 0x7, 0x4, 0x11, 0x70, 0x1, 0x87, 0xc3, 0xc3, 0xc4, 0xc3, 0x1, 0x87, 0x75, 0xfe, 0xb3, 0xa5, 0xa7, 0xa6, 0xa5, 0xfe, 0xb3, 0x2, 0x14, 0x1, 0xc2, 0xe2, 0x71, 0x71, 0xe2, 0xfe, 0x3e, 0x1, 0x7f, 0xc0, 0x60, 0x60, 0xc0, 0xfe, 0x81, 0x0, 0x1, 0x0, 0x70, 0xfe, 0xff, 0x6, 0x8b, 0x2, 0x14, 0x0, 0x12, 0x0, 0x0, 0x13, 0x30, 0x33, 0x10, 0x5, 0x16, 0x33, 0x32, 0x37, 0x24, 0x11, 0x33, 0x10, 0x5, 0x6, 0x23, 0x22, 0x27, 0x24, 0x70, 0x75, 0x1, 0x4d, 0xa5, 0xa6, 0xa7, 0xa5, 0x1, 0x4d, 0x75, 0xfe, 0x79, 0xc3, 0xc4, 0xc3, 0xc3, 0xfe, 0x79, 0x2, 0x14, 0xfe, 0x81, 0xc0, 0x60, 0x60, 0xc0, 0x1, 0x7f, 0xfe, 0x3e, 0xe2, 0x71, 0x71, 0xe2, 0x0, 0x1, 0x0, 0x6, 0xff, 0x4, 0x6, 0x21, 0x5, 0x24, 0x0, 0x2, 0x0, 0x0, 0x17, 0x1, 0x11, 0x6, 0x6, 0x1b, 0xfc, 0x6, 0x20, 0xf9, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6, 0xff, 0x4, 0x6, 0x21, 0x5, 0x24, 0x0, 0x2, 0x0, 0x0, 0x17, 0x11, 0x1, 0x6, 0x6, 0x1b, 0xfc, 0x6, 0x20, 0xf9, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6, 0xff, 0x4, 0x6, 0x21, 0x5, 0x24, 0x0, 0x2, 0x0, 0x0, 0x17, 0x11, 0x21, 0x6, 0x6, 0x1b, 0xfc, 0x6, 0x20, 0x0, 0x0, 0x1, 0x0, 0x6, 0xff, 0x4, 0x6, 0x21, 0x5, 0x24, 0x0, 0x2, 0x0, 0x0, 0x13, 0x21, 0x11, 0x6, 0x6, 0x1b, 0x5, 0x24, 0xf9, 0xe0, 0x0, 0x2, 0x1, 0x33, 0x1, 0xd1, 0x3, 0x85, 0x4, 0x21, 0x0, 0xa, 0x0, 0x15, 0x0, 0x0, 0x1, 0x14, 0x16, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x1, 0x6e, 0x8a, 0xc8, 0x8a, 0x89, 0x63, 0x65, 0x8b, 0x3b, 0xad, 0x7e, 0x7c, 0xab, 0xac, 0xfa, 0xac, 0x2, 0xfa, 0x64, 0x8a, 0x8a, 0x64, 0x63, 0x89, 0x89, 0x63, 0x7c, 0xab, 0xab, 0x7c, 0x7d, 0xac, 0xac, 0x0, 0x2, 0x0, 0xba, 0xff, 0x4, 0x6, 0xd5, 0x5, 0x24, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x17, 0x11, 0x21, 0x11, 0x25, 0x21, 0x11, 0x21, 0xba, 0x6, 0x1b, 0xfc, 0xf2, 0x2, 0x9c, 0xfd, 0x64, 0xfc, 0x6, 0x20, 0xf9, 0xe0, 0x72, 0x5, 0x3c, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0xff, 0x4, 0x6, 0xd5, 0x5, 0x24, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x17, 0x11, 0x21, 0x11, 0x25, 0x21, 0x11, 0x21, 0xba, 0x6, 0x1b, 0xfa, 0x57, 0x2, 0x9b, 0xfd, 0x65, 0xfc, 0x6, 0x20, 0xf9, 0xe0, 0x72, 0x5, 0x3c, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0xff, 0x4, 0x6, 0xd5, 0x5, 0x24, 0x0, 0x3, 0x0, 0x6, 0x0, 0x0, 0x17, 0x11, 0x21, 0x11, 0x25, 0x21, 0x11, 0xba, 0x6, 0x1b, 0xfa, 0x57, 0x5, 0x37, 0xfc, 0x6, 0x20, 0xf9, 0xe0, 0x72, 0x5, 0x3c, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0xff, 0x4, 0x6, 0xd5, 0x5, 0x24, 0x0, 0x3, 0x0, 0x6, 0x0, 0x0, 0x17, 0x11, 0x21, 0x11, 0x25, 0x1, 0x21, 0xba, 0x6, 0x1b, 0xfa, 0x57, 0x5, 0x37, 0xfa, 0xc9, 0xfc, 0x6, 0x20, 0xf9, 0xe0, 0x72, 0x5, 0x3c, 0x0, 0x3, 0x0, 0xba, 0xff, 0x4, 0x6, 0xd5, 0x5, 0x24, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x0, 0x17, 0x11, 0x21, 0x11, 0x25, 0x21, 0x11, 0x21, 0x1, 0x21, 0x11, 0x21, 0xba, 0x6, 0x1b, 0xfd, 0x2b, 0x2, 0x63, 0xfd, 0x9d, 0xfd, 0x2c, 0x2, 0x62, 0xfd, 0x9e, 0xfc, 0x6, 0x20, 0xf9, 0xe0, 0x72, 0x5, 0x3c, 0xfa, 0xc4, 0x5, 0x3c, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x6, 0xff, 0x4, 0x6, 0x21, 0x5, 0x24, 0x0, 0x7, 0x0, 0xa, 0x0, 0xd, 0x0, 0x0, 0x0, 0x34, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x1, 0x21, 0x9, 0x3, 0x2, 0x7f, 0x57, 0x7c, 0x56, 0x56, 0x7d, 0xfd, 0xdc, 0x4, 0xc5, 0xfd, 0x9d, 0xfc, 0xf3, 0x3, 0xd, 0x3, 0xe, 0x1, 0x2c, 0x7c, 0x56, 0x56, 0x7c, 0x56, 0xfe, 0xa0, 0x4, 0xca, 0xfa, 0xc4, 0x6, 0x20, 0xf9, 0xe0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6, 0xff, 0x4, 0x6, 0x21, 0x5, 0x24, 0x0, 0x2, 0x0, 0x5, 0x0, 0x0, 0x5, 0x21, 0x9, 0x3, 0x3, 0x13, 0x2, 0x63, 0xfd, 0x9d, 0xfc, 0xf3, 0x3, 0xd, 0x3, 0xe, 0x8a, 0x4, 0xca, 0xfa, 0xc4, 0x6, 0x20, 0xf9, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6, 0xff, 0x4, 0x6, 0x21, 0x5, 0x24, 0x0, 0x2, 0x0, 0x5, 0x0, 0x0, 0x17, 0x21, 0x11, 0x9, 0x2, 0xb1, 0x2, 0x62, 0xfc, 0xf3, 0x3, 0xd, 0x3, 0xe, 0x8a, 0x4, 0xca, 0xfa, 0xc4, 0x6, 0x20, 0xf9, 0xe0, 0x0, 0x0, 0x2, 0x0, 0x70, 0xfe, 0x0, 0x8, 0x84, 0x6, 0x28, 0x0, 0xb, 0x0, 0x17, 0x0, 0x0, 0x12, 0x10, 0x1, 0x16, 0x20, 0x37, 0x0, 0x10, 0x1, 0x26, 0x20, 0x7, 0x0, 0x10, 0x1, 0x24, 0x20, 0x5, 0x0, 0x10, 0x1, 0x4, 0x20, 0x25, 0xf1, 0x1, 0xc5, 0xe2, 0x1, 0xc4, 0xe2, 0x1, 0xc5, 0xfe, 0x3b, 0xe2, 0xfe, 0x3c, 0xe2, 0xfd, 0xba, 0x2, 0x5, 0x1, 0x3, 0x2, 0x4, 0x1, 0x3, 0x2, 0x5, 0xfd, 0xfb, 0xfe, 0xfd, 0xfd, 0xfc, 0xfe, 0xfd, 0x4, 0x1e, 0xfb, 0xec, 0xfe, 0xfb, 0x83, 0x83, 0x1, 0x5, 0x4, 0x14, 0x1, 0x5, 0x83, 0x83, 0xfa, 0x9d, 0x4, 0xa8, 0x1, 0x2a, 0x96, 0x96, 0xfe, 0xd6, 0xfb, 0x58, 0xfe, 0xd6, 0x96, 0x96, 0x0, 0x0, 0x3, 0x0, 0xba, 0xff, 0x4, 0x6, 0xd5, 0x5, 0x24, 0x0, 0x5, 0x0, 0x9, 0x0, 0xd, 0x0, 0x0, 0x5, 0x21, 0x11, 0x21, 0x11, 0x21, 0x3, 0x11, 0x21, 0x11, 0x1, 0x21, 0x11, 0x21, 0x1, 0x2c, 0x5, 0x37, 0xfd, 0x9d, 0xfd, 0x2c, 0x72, 0x6, 0x1b, 0xfa, 0x57, 0x2, 0x62, 0xfd, 0x9e, 0x8a, 0x5, 0x3c, 0xfd, 0x29, 0xfd, 0x29, 0x6, 0x20, 0xf9, 0xe0, 0x3, 0x49, 0x2, 0x65, 0x0, 0x3, 0x0, 0xba, 0xff, 0x4, 0x6, 0xd5, 0x5, 0x24, 0x0, 0x5, 0x0, 0x9, 0x0, 0xd, 0x0, 0x0, 0x1, 0x21, 0x11, 0x21, 0x11, 0x21, 0x3, 0x11, 0x21, 0x11, 0x25, 0x21, 0x11, 0x21, 0x1, 0x2c, 0x2, 0xd4, 0x2, 0x63, 0xfa, 0xc9, 0x72, 0x6, 0x1b, 0xfa, 0x57, 0x2, 0x62, 0xfd, 0x9e, 0x2, 0x4d, 0xfd, 0x29, 0x5, 0x3c, 0xfa, 0x52, 0x6, 0x20, 0xf9, 0xe0, 0x72, 0x2, 0x65, 0x0, 0x3, 0x0, 0xba, 0xff, 0x4, 0x6, 0xd5, 0x5, 0x24, 0x0, 0x5, 0x0, 0x9, 0x0, 0xd, 0x0, 0x0, 0x5, 0x21, 0x11, 0x21, 0x11, 0x21, 0x3, 0x11, 0x21, 0x11, 0x25, 0x21, 0x11, 0x21, 0x1, 0x2c, 0x2, 0x62, 0x2, 0xd5, 0xfa, 0xc9, 0x72, 0x6, 0x1b, 0xfd, 0x2b, 0x2, 0x63, 0xfd, 0x9d, 0x8a, 0x2, 0xd7, 0x2, 0x65, 0xfa, 0x52, 0x6, 0x20, 0xf9, 0xe0, 0x72, 0x2, 0x65, 0x0, 0x0, 0x3, 0x0, 0xba, 0xff, 0x4, 0x6, 0xd5, 0x5, 0x24, 0x0, 0x5, 0x0, 0x9, 0x0, 0xd, 0x0, 0x0, 0x5, 0x21, 0x11, 0x21, 0x11, 0x21, 0x3, 0x11, 0x21, 0x11, 0x1, 0x21, 0x11, 0x21, 0x1, 0x2c, 0x5, 0x37, 0xfd, 0x2b, 0xfd, 0x9e, 0x72, 0x6, 0x1b, 0xfd, 0x2b, 0x2, 0x63, 0xfd, 0x9d, 0x8a, 0x2, 0x65, 0x2, 0xd7, 0xfa, 0x52, 0x6, 0x20, 0xf9, 0xe0, 0x3, 0x49, 0x2, 0x65, 0x0, 0x3, 0x0, 0x70, 0xff, 0x4, 0x6, 0x8b, 0x5, 0x20, 0x0, 0xd, 0x0, 0x13, 0x0, 0x20, 0x0, 0x0, 0x12, 0x10, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x10, 0x2, 0x4, 0x23, 0x22, 0x24, 0x1, 0x6, 0x7, 0x4, 0x3, 0x21, 0x5, 0x12, 0x5, 0x16, 0x33, 0x32, 0x37, 0x24, 0x10, 0x25, 0x26, 0x27, 0x11, 0x70, 0xd1, 0x1, 0x6b, 0xd2, 0xd1, 0x1, 0x6b, 0xd1, 0xd1, 0xfe, 0x95, 0xd1, 0xd2, 0xfe, 0x95, 0x2, 0x3, 0x89, 0x89, 0xfe, 0xcc, 0x17, 0x2, 0x5d, 0xfd, 0xa3, 0x17, 0x1, 0x34, 0xa6, 0xa5, 0xa6, 0xa6, 0x1, 0x4d, 0xfe, 0xb3, 0x89, 0x8a, 0x1, 0x41, 0x1, 0xa2, 0x1, 0x6b, 0xd2, 0xd2, 0xfe, 0x95, 0xfe, 0x5e, 0xfe, 0x95, 0xd2, 0xd2, 0x4, 0xda, 0xe, 0x4f, 0xb2, 0xfe, 0xac, 0x72, 0xfe, 0xac, 0xb2, 0x60, 0x60, 0xc1, 0x2, 0xfc, 0xc1, 0x4f, 0xe, 0xfd, 0x2b, 0x0, 0x3, 0x0, 0x70, 0xff, 0x4, 0x6, 0x8b, 0x5, 0x20, 0x0, 0xd, 0x0, 0x1a, 0x0, 0x20, 0x0, 0x0, 0x12, 0x10, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x10, 0x2, 0x4, 0x23, 0x22, 0x24, 0x5, 0x36, 0x37, 0x24, 0x10, 0x25, 0x26, 0x23, 0x22, 0x7, 0x4, 0x3, 0x21, 0x5, 0x12, 0x5, 0x16, 0x17, 0x11, 0x70, 0xd1, 0x1, 0x6b, 0xd2, 0xd1, 0x1, 0x6b, 0xd1, 0xd1, 0xfe, 0x95, 0xd1, 0xd2, 0xfe, 0x95, 0x2, 0x75, 0x8a, 0x89, 0x1, 0x4d, 0xfe, 0xb3, 0xa6, 0xa6, 0xa5, 0xa6, 0xfe, 0xcc, 0x17, 0x2, 0xcf, 0xfd, 0x31, 0x17, 0x1, 0x34, 0x89, 0x89, 0x1, 0x41, 0x1, 0xa2, 0x1, 0x6b, 0xd2, 0xd2, 0xfe, 0x95, 0xfe, 0x5e, 0xfe, 0x95, 0xd2, 0xd2, 0x5e, 0xe, 0x4f, 0xc1, 0x2, 0xfc, 0xc1, 0x60, 0x60, 0xb2, 0xfe, 0xac, 0x72, 0xfe, 0xac, 0xb2, 0x4f, 0xe, 0x2, 0x63, 0x0, 0x0, 0x3, 0x0, 0x70, 0xff, 0x4, 0x6, 0x8b, 0x5, 0x20, 0x0, 0xd, 0x0, 0x1a, 0x0, 0x20, 0x0, 0x0, 0x12, 0x10, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x10, 0x2, 0x4, 0x23, 0x22, 0x24, 0x2, 0x10, 0x5, 0x16, 0x17, 0x11, 0x21, 0x2, 0x25, 0x26, 0x23, 0x22, 0x7, 0x1, 0x36, 0x37, 0x24, 0x13, 0x21, 0x70, 0xd1, 0x1, 0x6b, 0xd2, 0xd1, 0x1, 0x6b, 0xd1, 0xd1, 0xfe, 0x95, 0xd1, 0xd2, 0xfe, 0x95, 0x5c, 0x1, 0x4d, 0x89, 0x89, 0x2, 0xd0, 0x17, 0xfe, 0xcc, 0xa6, 0xa6, 0xa5, 0xa6, 0x1, 0x84, 0x8a, 0x89, 0x1, 0x34, 0x17, 0xfd, 0xa2, 0x1, 0x41, 0x1, 0xa2, 0x1, 0x6b, 0xd2, 0xd2, 0xfe, 0x95, 0xfe, 0x5e, 0xfe, 0x95, 0xd2, 0xd2, 0x3, 0xbc, 0xfd, 0x4, 0xc1, 0x4f, 0xe, 0x2, 0xd5, 0x1, 0x54, 0xb2, 0x60, 0x60, 0xfb, 0x25, 0xe, 0x4f, 0xb2, 0x1, 0x54, 0x0, 0x0, 0x3, 0x0, 0x70, 0xff, 0x4, 0x6, 0x8b, 0x5, 0x20, 0x0, 0xd, 0x0, 0x1a, 0x0, 0x20, 0x0, 0x0, 0x12, 0x10, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x10, 0x2, 0x4, 0x23, 0x22, 0x24, 0x2, 0x10, 0x5, 0x16, 0x33, 0x32, 0x37, 0x24, 0x13, 0x21, 0x11, 0x6, 0x7, 0x1, 0x2, 0x25, 0x26, 0x27, 0x11, 0x70, 0xd1, 0x1, 0x6b, 0xd2, 0xd1, 0x1, 0x6b, 0xd1, 0xd1, 0xfe, 0x95, 0xd1, 0xd2, 0xfe, 0x95, 0x5c, 0x1, 0x4d, 0xa6, 0xa5, 0xa6, 0xa6, 0x1, 0x34, 0x17, 0xfd, 0x30, 0x89, 0x89, 0x3, 0xe2, 0x17, 0xfe, 0xcc, 0x89, 0x8a, 0x1, 0x41, 0x1, 0xa2, 0x1, 0x6b, 0xd2, 0xd2, 0xfe, 0x95, 0xfe, 0x5e, 0xfe, 0x95, 0xd2, 0xd2, 0x3, 0xbc, 0xfd, 0x4, 0xc1, 0x60, 0x60, 0xb2, 0x1, 0x54, 0x2, 0xd5, 0xe, 0x4f, 0xfd, 0xfa, 0x1, 0x54, 0xb2, 0x4f, 0xe, 0xfd, 0x9d, 0x0, 0x0, 0x2, 0x0, 0x6, 0xff, 0x4, 0x6, 0x21, 0x5, 0x24, 0x0, 0x2, 0x0, 0x5, 0x0, 0x0, 0x37, 0x1, 0x21, 0x3, 0x11, 0x21, 0x78, 0x4, 0x8c, 0xfb, 0x74, 0x72, 0x6, 0x1b, 0x20, 0x4, 0x92, 0xfa, 0x52, 0x6, 0x20, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6, 0xff, 0x4, 0x6, 0x21, 0x5, 0x24, 0x0, 0x2, 0x0, 0x5, 0x0, 0x0, 0x9, 0x1, 0x11, 0x25, 0x21, 0x11, 0x1, 0x23, 0x4, 0x8c, 0xfa, 0x57, 0x6, 0x1b, 0x4, 0xb2, 0xfb, 0x6e, 0x4, 0x92, 0x72, 0xf9, 0xe0, 0x0, 0x0, 0x2, 0x0, 0x6, 0xff, 0x4, 0x6, 0x21, 0x5, 0x24, 0x0, 0x2, 0x0, 0x5, 0x0, 0x0, 0x17, 0x21, 0x1, 0x3, 0x11, 0x1, 0x78, 0x4, 0x8c, 0xfb, 0x74, 0x72, 0x6, 0x1b, 0x8a, 0x4, 0x92, 0xfa, 0xfc, 0x6, 0x20, 0xf9, 0xe0, 0x0, 0x0, 0x2, 0x0, 0xba, 0xff, 0x79, 0x5, 0xea, 0x4, 0xaf, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x5, 0x21, 0x11, 0x21, 0x3, 0x11, 0x21, 0x11, 0x1, 0x2c, 0x4, 0x4c, 0xfb, 0xb4, 0x72, 0x5, 0x30, 0x15, 0x4, 0x52, 0xfb, 0x3c, 0x5, 0x36, 0xfa, 0xca, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0xff, 0x79, 0x5, 0xea, 0x4, 0xaf, 0x0, 0x3, 0x0, 0x0, 0x17, 0x11, 0x21, 0x11, 0xba, 0x5, 0x30, 0x87, 0x5, 0x36, 0xfa, 0xca, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0xff, 0xdd, 0x5, 0x22, 0x4, 0x4b, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x25, 0x21, 0x11, 0x21, 0x3, 0x11, 0x21, 0x11, 0x1, 0x2c, 0x3, 0x84, 0xfc, 0x7c, 0x72, 0x4, 0x68, 0x4f, 0x3, 0x8a, 0xfc, 0x4, 0x4, 0x6e, 0xfb, 0x92, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0xff, 0xdd, 0x5, 0x22, 0x4, 0x4b, 0x0, 0x3, 0x0, 0x0, 0x17, 0x11, 0x21, 0x11, 0xba, 0x4, 0x68, 0x23, 0x4, 0x6e, 0xfb, 0x92, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6, 0xff, 0x4, 0x6, 0x21, 0x5, 0x24, 0x0, 0x2, 0x0, 0x5, 0x0, 0x0, 0x5, 0x21, 0x11, 0x9, 0x1, 0x11, 0x1, 0x23, 0x4, 0x8c, 0xfa, 0x57, 0x6, 0x1b, 0x8a, 0x4, 0x92, 0xfa, 0xfc, 0x6, 0x20, 0xf9, 0xe0, 0x0, 0x0, 0x9, 0x0, 0xab, 0x0, 0x0, 0x6, 0x80, 0x5, 0xd5, 0x0, 0x7, 0x0, 0xc, 0x0, 0x13, 0x0, 0x22, 0x0, 0x2a, 0x0, 0x32, 0x0, 0x3a, 0x0, 0x41, 0x0, 0x49, 0x0, 0x0, 0x1, 0x33, 0x17, 0x11, 0x7, 0x23, 0x27, 0x11, 0x5, 0x17, 0x15, 0x7, 0x27, 0x25, 0x17, 0x7, 0x23, 0x26, 0x27, 0x35, 0x5, 0x32, 0x1f, 0x1, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x1, 0x21, 0x17, 0x15, 0x7, 0x21, 0x27, 0x35, 0x25, 0x21, 0x17, 0x15, 0x7, 0x21, 0x27, 0x35, 0x3, 0x33, 0x16, 0x17, 0x15, 0x7, 0x27, 0x35, 0x25, 0x33, 0x17, 0x15, 0x7, 0x27, 0x35, 0x25, 0x33, 0x17, 0x11, 0x7, 0x23, 0x27, 0x11, 0x3, 0x73, 0x4d, 0x6, 0x6, 0x4d, 0x6, 0x2, 0x37, 0x3a, 0xf8, 0x3d, 0xfc, 0xfd, 0xfc, 0x3d, 0x3, 0xc8, 0x2d, 0x2, 0x30, 0xd0, 0x59, 0xd, 0xbe, 0x47, 0x2e, 0xaf, 0x62, 0x23, 0xb7, 0x43, 0xfd, 0x4b, 0x1, 0x53, 0x6, 0x6, 0xfe, 0xad, 0x6, 0x4, 0x75, 0x1, 0x59, 0x7, 0x7, 0xfe, 0xa7, 0x6, 0x47, 0x3, 0x86, 0x72, 0x3d, 0xf8, 0xfd, 0xb5, 0x3, 0x3b, 0xf6, 0x3e, 0x2, 0x1b, 0x4d, 0x6, 0x6, 0x4d, 0x6, 0x5, 0xd5, 0x6, 0xfe, 0xa2, 0x6, 0x6, 0x1, 0x5e, 0x9b, 0x3f, 0x3, 0xfe, 0x3f, 0xee, 0xfe, 0x40, 0xc7, 0x37, 0x4, 0xb5, 0xe1, 0x60, 0xbd, 0x64, 0x17, 0xa7, 0x3f, 0x5c, 0xb5, 0x67, 0x1b, 0xfe, 0xed, 0x6, 0x4f, 0x6, 0x6, 0x4f, 0x6, 0x6, 0x4f, 0x6, 0x6, 0x4f, 0xfe, 0xe8, 0x82, 0x79, 0x3, 0x3e, 0xfd, 0x4, 0x2a, 0x3c, 0x3, 0xfe, 0x3f, 0x4, 0x76, 0x6, 0xfe, 0xa2, 0x6, 0x6, 0x1, 0x5e, 0x0, 0x1, 0x0, 0x68, 0xff, 0xfb, 0x7, 0x97, 0x2, 0xe1, 0x0, 0x22, 0x0, 0x0, 0x1, 0x33, 0x32, 0x1f, 0x1, 0x36, 0x33, 0x16, 0x15, 0x14, 0x7, 0x16, 0x1d, 0x1, 0x6, 0x23, 0x21, 0x35, 0x32, 0x37, 0x36, 0x3b, 0x1, 0x27, 0x34, 0x3f, 0x1, 0x17, 0x27, 0x34, 0x3f, 0x1, 0x32, 0x17, 0x36, 0x4, 0xf5, 0x16, 0xd9, 0x75, 0x15, 0x27, 0x36, 0x87, 0x22, 0x67, 0x12, 0x50, 0xf9, 0x33, 0x39, 0x86, 0x2e, 0x34, 0x21, 0xc, 0xa0, 0x27, 0x2a, 0x5, 0xcc, 0x43, 0x30, 0x2e, 0x78, 0x2, 0xe1, 0xe8, 0x56, 0x23, 0x1b, 0x6d, 0x31, 0x34, 0x17, 0x48, 0x1a, 0x65, 0x9, 0xae, 0x27, 0x31, 0x6c, 0x31, 0x4, 0x4, 0xc, 0x93, 0x5a, 0x8, 0x2b, 0x64, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0x0, 0x0, 0x6, 0xc8, 0x5, 0xd5, 0x0, 0x3f, 0x0, 0x0, 0x1, 0x33, 0x17, 0x15, 0x33, 0x20, 0x1, 0x16, 0x1d, 0x1, 0x23, 0x26, 0x27, 0x26, 0x2b, 0x1, 0x22, 0x7, 0x15, 0x14, 0x7, 0x27, 0x26, 0x23, 0x11, 0x14, 0xf, 0x1, 0x22, 0x2f, 0x1, 0x35, 0x37, 0x33, 0x17, 0x15, 0x16, 0x3b, 0x1, 0x32, 0x3f, 0x1, 0x11, 0x22, 0x7, 0x6, 0x23, 0x27, 0x35, 0x37, 0x23, 0x26, 0x27, 0x23, 0x22, 0xf, 0x1, 0x23, 0x35, 0x36, 0x37, 0x36, 0x21, 0x35, 0x3, 0x8b, 0x3a, 0x6, 0x2, 0x1, 0xb8, 0x1, 0x18, 0x2b, 0x2, 0x16, 0x13, 0x23, 0x39, 0x2c, 0x96, 0x70, 0x8, 0x21, 0x97, 0x88, 0x6a, 0x1e, 0x5b, 0x25, 0x2, 0x6, 0x2b, 0x5, 0xb, 0x3e, 0xa, 0x37, 0x14, 0x6, 0xd3, 0x56, 0x11, 0xe, 0x7, 0x7, 0x4, 0x43, 0xc5, 0x43, 0x63, 0x22, 0x14, 0x3, 0x3a, 0xc0, 0xef, 0x1, 0x38, 0x5, 0xd5, 0x6, 0x7d, 0xfe, 0x1a, 0x56, 0xd, 0x8, 0xf, 0x2e, 0x18, 0x65, 0x33, 0xf, 0x2, 0x42, 0x3d, 0xfd, 0x53, 0x65, 0x18, 0x2, 0x60, 0x1c, 0x1a, 0x6, 0x6, 0xc, 0x65, 0x39, 0x2a, 0x2, 0xa4, 0x3d, 0x39, 0x6, 0xc, 0x33, 0x40, 0x1b, 0x3d, 0x12, 0x2, 0x90, 0xda, 0xdf, 0x7d, 0x0, 0x0, 0x0, 0x0, 0x1a, 0x0, 0xaa, 0xff, 0xff, 0x6, 0x82, 0x7, 0x6b, 0x0, 0xd, 0x0, 0x15, 0x0, 0x1d, 0x0, 0x25, 0x0, 0x43, 0x0, 0x60, 0x0, 0x8c, 0x0, 0xb7, 0x0, 0xe3, 0x1, 0xe, 0x1, 0x3a, 0x1, 0x64, 0x1, 0x90, 0x1, 0xbb, 0x1, 0xe6, 0x2, 0xf, 0x2, 0x3b, 0x2, 0x65, 0x2, 0x6d, 0x2, 0x75, 0x2, 0x7d, 0x2, 0xa9, 0x2, 0xd3, 0x2, 0xfd, 0x3, 0x27, 0x3, 0x53, 0x0, 0x0, 0x1, 0x16, 0x33, 0x32, 0x37, 0x33, 0x6, 0x7, 0x26, 0x27, 0x33, 0x16, 0x33, 0x32, 0x37, 0x26, 0x27, 0x36, 0x37, 0x16, 0x17, 0x6, 0x5, 0x26, 0x27, 0x36, 0x37, 0x16, 0x17, 0x6, 0x3, 0x26, 0x27, 0x36, 0x37, 0x16, 0x17, 0x6, 0x27, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x32, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x6, 0x13, 0x36, 0x37, 0x32, 0x1f, 0x1, 0x16, 0x14, 0x7, 0x6, 0x7, 0x16, 0x17, 0x16, 0x15, 0x14, 0x4, 0x20, 0x24, 0x35, 0x34, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x34, 0x37, 0x1, 0x17, 0x27, 0x26, 0x33, 0x32, 0xf, 0x1, 0x37, 0x36, 0x33, 0x32, 0x15, 0x14, 0xf, 0x1, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x2f, 0x1, 0x17, 0x16, 0x23, 0x22, 0x35, 0x37, 0x7, 0x6, 0x23, 0x22, 0x35, 0x34, 0x3f, 0x1, 0x27, 0x26, 0x35, 0x34, 0x33, 0x32, 0x1, 0x17, 0x27, 0x26, 0x32, 0xf, 0x1, 0x37, 0x36, 0x33, 0x32, 0x15, 0x14, 0xf, 0x1, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x2f, 0x1, 0x17, 0x16, 0x23, 0x22, 0x35, 0x37, 0x7, 0x6, 0x23, 0x22, 0x35, 0x34, 0x3f, 0x1, 0x27, 0x26, 0x35, 0x34, 0x33, 0x32, 0x5, 0x17, 0x27, 0x26, 0x33, 0x32, 0xf, 0x1, 0x37, 0x36, 0x33, 0x32, 0x15, 0x14, 0xf, 0x1, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x2f, 0x1, 0x17, 0x16, 0x23, 0x22, 0x35, 0x37, 0x7, 0x6, 0x23, 0x22, 0x35, 0x34, 0x3f, 0x1, 0x27, 0x26, 0x35, 0x34, 0x33, 0x32, 0x13, 0x17, 0x27, 0x26, 0x32, 0xf, 0x1, 0x37, 0x36, 0x33, 0x32, 0x15, 0x14, 0xf, 0x1, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x2f, 0x1, 0x17, 0x16, 0x23, 0x22, 0x35, 0x37, 0x7, 0x6, 0x23, 0x22, 0x35, 0x34, 0x3f, 0x1, 0x27, 0x26, 0x35, 0x34, 0x33, 0x32, 0x1, 0x17, 0x27, 0x26, 0x33, 0x32, 0xf, 0x1, 0x37, 0x36, 0x33, 0x32, 0x15, 0x14, 0xf, 0x1, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x2f, 0x1, 0x17, 0x14, 0x23, 0x22, 0x35, 0x37, 0x7, 0x6, 0x23, 0x22, 0x35, 0x34, 0x3f, 0x1, 0x27, 0x26, 0x35, 0x34, 0x33, 0x32, 0x1, 0x17, 0x27, 0x26, 0x32, 0xf, 0x1, 0x37, 0x36, 0x33, 0x32, 0x15, 0x14, 0xf, 0x1, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x2f, 0x1, 0x17, 0x14, 0x22, 0x35, 0x37, 0x7, 0x6, 0x23, 0x22, 0x35, 0x34, 0x3f, 0x1, 0x27, 0x26, 0x35, 0x34, 0x33, 0x32, 0x5, 0x17, 0x27, 0x34, 0x33, 0x32, 0x15, 0x7, 0x37, 0x36, 0x33, 0x32, 0x15, 0x14, 0xf, 0x1, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x2f, 0x1, 0x17, 0x16, 0x23, 0x22, 0x35, 0x37, 0x7, 0x6, 0x23, 0x22, 0x35, 0x34, 0x3f, 0x1, 0x27, 0x26, 0x35, 0x34, 0x33, 0x32, 0x3, 0x17, 0x27, 0x26, 0x32, 0xf, 0x1, 0x37, 0x36, 0x33, 0x32, 0x15, 0x14, 0xf, 0x1, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x2f, 0x1, 0x17, 0x16, 0x23, 0x22, 0x35, 0x37, 0x7, 0x6, 0x23, 0x22, 0x35, 0x34, 0x3f, 0x1, 0x27, 0x26, 0x35, 0x34, 0x33, 0x32, 0x5, 0x17, 0x27, 0x26, 0x32, 0xf, 0x1, 0x37, 0x36, 0x33, 0x32, 0x15, 0x14, 0xf, 0x1, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x2f, 0x1, 0x17, 0x16, 0x23, 0x22, 0x35, 0x37, 0x7, 0x6, 0x23, 0x22, 0x35, 0x34, 0x3f, 0x1, 0x27, 0x26, 0x35, 0x34, 0x33, 0x32, 0x1f, 0x1, 0x27, 0x26, 0x32, 0xf, 0x1, 0x37, 0x36, 0x33, 0x32, 0x15, 0x14, 0xf, 0x1, 0x17, 0x16, 0x14, 0x23, 0x22, 0x2f, 0x1, 0x17, 0x14, 0x23, 0x22, 0x35, 0x37, 0x7, 0x6, 0x23, 0x22, 0x34, 0x3f, 0x1, 0x27, 0x26, 0x35, 0x34, 0x33, 0x32, 0x37, 0x17, 0x27, 0x34, 0x33, 0x32, 0xf, 0x1, 0x37, 0x36, 0x33, 0x32, 0x15, 0x14, 0xf, 0x1, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x2f, 0x1, 0x17, 0x16, 0x23, 0x22, 0x35, 0x37, 0x7, 0x6, 0x23, 0x22, 0x35, 0x34, 0x3f, 0x1, 0x27, 0x26, 0x35, 0x34, 0x33, 0x32, 0x37, 0x17, 0x27, 0x26, 0x32, 0xf, 0x1, 0x37, 0x36, 0x33, 0x32, 0x15, 0x14, 0xf, 0x1, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x2f, 0x1, 0x17, 0x16, 0x22, 0x35, 0x37, 0x7, 0x6, 0x23, 0x22, 0x35, 0x34, 0x3f, 0x1, 0x27, 0x26, 0x35, 0x34, 0x33, 0x32, 0x13, 0x26, 0x27, 0x36, 0x37, 0x16, 0x17, 0x6, 0x5, 0x26, 0x27, 0x36, 0x37, 0x16, 0x17, 0x6, 0x17, 0x26, 0x27, 0x36, 0x37, 0x16, 0x17, 0x6, 0x1, 0x17, 0x27, 0x26, 0x33, 0x32, 0xf, 0x1, 0x37, 0x36, 0x33, 0x32, 0x15, 0x14, 0xf, 0x1, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x2f, 0x1, 0x17, 0x16, 0x23, 0x22, 0x35, 0x37, 0x7, 0x6, 0x23, 0x22, 0x35, 0x34, 0x3f, 0x1, 0x27, 0x26, 0x35, 0x34, 0x33, 0x32, 0x1, 0x17, 0x27, 0x26, 0x32, 0xf, 0x1, 0x37, 0x36, 0x33, 0x32, 0x15, 0x14, 0xf, 0x1, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x2f, 0x1, 0x17, 0x14, 0x22, 0x35, 0x37, 0x7, 0x6, 0x23, 0x22, 0x35, 0x34, 0x3f, 0x1, 0x27, 0x26, 0x35, 0x34, 0x33, 0x32, 0x5, 0x17, 0x27, 0x26, 0x32, 0xf, 0x1, 0x37, 0x36, 0x33, 0x32, 0x15, 0x14, 0xf, 0x1, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x2f, 0x1, 0x17, 0x16, 0x22, 0x35, 0x37, 0x7, 0x6, 0x23, 0x22, 0x35, 0x34, 0x3f, 0x1, 0x27, 0x26, 0x35, 0x34, 0x33, 0x32, 0x1, 0x17, 0x27, 0x26, 0x32, 0xf, 0x1, 0x37, 0x36, 0x33, 0x32, 0x15, 0x14, 0xf, 0x1, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x2f, 0x1, 0x17, 0x16, 0x22, 0x35, 0x37, 0x7, 0x6, 0x23, 0x22, 0x35, 0x34, 0x3f, 0x1, 0x27, 0x26, 0x35, 0x34, 0x33, 0x32, 0x1, 0x17, 0x27, 0x26, 0x33, 0x32, 0xf, 0x1, 0x37, 0x36, 0x33, 0x32, 0x15, 0x14, 0xf, 0x1, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x2f, 0x1, 0x17, 0x16, 0x23, 0x22, 0x35, 0x37, 0x7, 0x6, 0x23, 0x22, 0x35, 0x34, 0x3f, 0x1, 0x27, 0x26, 0x35, 0x34, 0x33, 0x32, 0x3, 0xfc, 0x8, 0x8, 0x42, 0x19, 0x19, 0x5, 0x80, 0x7e, 0x9, 0x18, 0x25, 0x3c, 0x7, 0x7a, 0x2a, 0x1, 0x3, 0x2b, 0x27, 0x3, 0x3, 0xfe, 0xeb, 0x29, 0x3, 0x3, 0x2b, 0x28, 0x3, 0x3, 0x40, 0x26, 0x2, 0x3, 0x27, 0x24, 0x2, 0x2, 0xca, 0x7c, 0xf7, 0xaf, 0xae, 0xf8, 0x7c, 0x65, 0x8b, 0x2, 0x3, 0x3c, 0x2d, 0x41, 0x7d, 0x5d, 0x5c, 0x8a, 0x42, 0x2d, 0x37, 0x90, 0x15, 0x1a, 0x93, 0x84, 0x31, 0x2, 0x53, 0x4c, 0x14, 0x18, 0x6f, 0x57, 0x8e, 0xfe, 0xe4, 0xfe, 0x6a, 0xfe, 0xe3, 0x8f, 0x5c, 0x76, 0x15, 0x13, 0x4c, 0x4c, 0xfd, 0xa9, 0x29, 0x6, 0x1, 0xf, 0x11, 0x2, 0x6, 0x28, 0x4, 0x4, 0x10, 0x8, 0x30, 0x2f, 0x9, 0x10, 0x4, 0x4, 0x28, 0x6, 0x1, 0x10, 0xe, 0x5, 0x28, 0x3, 0x5, 0xe, 0x9, 0x2e, 0x31, 0x7, 0xf, 0x5, 0x1, 0x28, 0x25, 0x6, 0x2, 0x1e, 0x2, 0x6, 0x25, 0x4, 0x4, 0xe, 0x7, 0x2c, 0x2a, 0x7, 0xc, 0x5, 0x3, 0x23, 0x4, 0x1, 0xe, 0xd, 0x5, 0x24, 0x3, 0x4, 0xd, 0x8, 0x29, 0x2a, 0x8, 0xe, 0x4, 0x3, 0x66, 0x24, 0x5, 0x2, 0xe, 0x10, 0x2, 0x6, 0x25, 0x3, 0x5, 0xd, 0x7, 0x2b, 0x29, 0x8, 0xc, 0x6, 0x2, 0x24, 0x5, 0x1, 0xf, 0xc, 0x4, 0x23, 0x4, 0x3, 0xe, 0x8, 0x2a, 0x2b, 0x8, 0xf, 0x3, 0x66, 0x25, 0x6, 0x2, 0x1e, 0x2, 0x6, 0x25, 0x4, 0x4, 0xe, 0x7, 0x2c, 0x2a, 0x7, 0xc, 0x6, 0x2, 0x24, 0x5, 0x1, 0xe, 0xd, 0x5, 0x24, 0x3, 0x4, 0xd, 0x8, 0x29, 0x2a, 0x8, 0xe, 0x4, 0xfb, 0xcb, 0x13, 0x2, 0x1, 0x7, 0x8, 0x1, 0x3, 0x14, 0x1, 0x2, 0x8, 0x3, 0x18, 0x17, 0x4, 0x8, 0x2, 0x1, 0x13, 0x2, 0x7, 0x6, 0x2, 0x13, 0x2, 0x3, 0x6, 0x4, 0x17, 0x18, 0x3, 0x8, 0x1, 0x3, 0x17, 0x15, 0x3, 0x1, 0x12, 0x1, 0x4, 0x16, 0x2, 0x2, 0x9, 0x4, 0x1a, 0x18, 0x5, 0x8, 0x2, 0x2, 0x16, 0x4, 0x10, 0x3, 0x15, 0x2, 0x2, 0x8, 0x4, 0x19, 0x1a, 0x4, 0x9, 0x2, 0xfc, 0xbb, 0x13, 0x4, 0x7, 0x8, 0x4, 0x13, 0x3, 0x2, 0x8, 0x5, 0x16, 0x16, 0x4, 0x7, 0x2, 0x3, 0x13, 0x3, 0x1, 0x8, 0x7, 0x4, 0x13, 0x3, 0x2, 0x7, 0x4, 0x16, 0x16, 0x5, 0x8, 0x2, 0x5c, 0x14, 0x4, 0x1, 0x10, 0x1, 0x3, 0x13, 0x3, 0x2, 0x7, 0x4, 0x17, 0x16, 0x5, 0x7, 0x2, 0x3, 0x13, 0x3, 0x1, 0x8, 0x7, 0x3, 0x13, 0x2, 0x2, 0x8, 0x5, 0x16, 0x16, 0x5, 0x8, 0x2, 0x1, 0x1c, 0x13, 0x2, 0x1, 0x10, 0x1, 0x3, 0x13, 0x1, 0x3, 0x8, 0x4, 0x17, 0x16, 0x5, 0x8, 0x3, 0x1, 0x13, 0x3, 0x1, 0x8, 0x7, 0x2, 0x13, 0x2, 0x1, 0x8, 0x5, 0x16, 0x17, 0x4, 0x8, 0x1, 0x6f, 0x13, 0x2, 0x2, 0x10, 0x1, 0x3, 0x14, 0x1, 0x2, 0x8, 0x4, 0x17, 0x17, 0x4, 0x8, 0x2, 0x1, 0x13, 0x2, 0x7, 0x6, 0x2, 0x13, 0x2, 0x3, 0x6, 0x4, 0x16, 0x17, 0x3, 0x6, 0x3, 0xf7, 0x15, 0x3, 0x7, 0x9, 0x1, 0x3, 0x16, 0x1, 0x4, 0x8, 0x5, 0x1a, 0x19, 0x6, 0x8, 0x4, 0x2, 0x14, 0x2, 0x1, 0x9, 0x7, 0x3, 0x15, 0x3, 0x2, 0x8, 0x5, 0x18, 0x19, 0x4, 0x8, 0x2, 0x5b, 0x16, 0x3, 0x1, 0x12, 0x1, 0x4, 0x16, 0x2, 0x2, 0x8, 0x3, 0x1a, 0x18, 0x5, 0x8, 0x2, 0x2, 0x16, 0x3, 0x1, 0x10, 0x2, 0x15, 0x1, 0x3, 0x8, 0x5, 0x19, 0x1a, 0x4, 0x9, 0x2, 0xae, 0x25, 0x2, 0x2, 0x29, 0x23, 0x3, 0x3, 0xfe, 0xb7, 0x26, 0x2, 0x3, 0x27, 0x25, 0x1, 0x1, 0xfc, 0x26, 0x2, 0x2, 0x29, 0x23, 0x3, 0x3, 0x1, 0x60, 0x23, 0x5, 0x1, 0xe, 0xf, 0x1, 0x6, 0x24, 0x3, 0x5, 0xd, 0x7, 0x2a, 0x29, 0x8, 0xd, 0x5, 0x3, 0x24, 0x4, 0x2, 0xe, 0xd, 0x5, 0x23, 0x4, 0x4, 0xe, 0x8, 0x2b, 0x2c, 0x7, 0xe, 0x4, 0xfc, 0x55, 0x15, 0x3, 0x1, 0x12, 0x1, 0x4, 0x15, 0x3, 0x2, 0x9, 0x5, 0x19, 0x18, 0x5, 0x8, 0x2, 0x3, 0x15, 0x4, 0x10, 0x3, 0x15, 0x2, 0x2, 0x8, 0x4, 0x19, 0x1a, 0x4, 0x9, 0x2, 0xfe, 0x51, 0x17, 0x4, 0x1, 0x12, 0x1, 0x3, 0x15, 0x2, 0x2, 0x8, 0x3, 0x1a, 0x19, 0x4, 0x8, 0x2, 0x2, 0x15, 0x2, 0x1, 0x10, 0x4, 0x17, 0x1, 0x2, 0x9, 0x6, 0x18, 0x1a, 0x4, 0x9, 0x2, 0x4, 0x30, 0x17, 0x4, 0x1, 0x12, 0x1, 0x3, 0x15, 0x2, 0x2, 0x8, 0x3, 0x1a, 0x19, 0x4, 0x8, 0x2, 0x2, 0x15, 0x2, 0x1, 0x10, 0x3, 0x16, 0x1, 0x3, 0x8, 0x6, 0x18, 0x19, 0x5, 0x9, 0x2, 0xfc, 0x45, 0x25, 0x5, 0x2, 0xe, 0x10, 0x3, 0x5, 0x25, 0x3, 0x5, 0xd, 0x7, 0x2b, 0x29, 0x8, 0xc, 0x6, 0x2, 0x24, 0x4, 0x2, 0xf, 0xc, 0x4, 0x24, 0x3, 0x3, 0xe, 0x8, 0x2a, 0x2b, 0x8, 0xf, 0x3, 0x3, 0x89, 0x1, 0x26, 0x45, 0x5, 0x7, 0x43, 0x26, 0x56, 0x2, 0x2a, 0x2c, 0x3, 0x3, 0x29, 0x2d, 0x4, 0x2, 0x29, 0x2d, 0x3, 0x3, 0x2a, 0x2c, 0xfe, 0x12, 0x2, 0x25, 0x26, 0x2, 0x2, 0x25, 0x26, 0x9e, 0x66, 0x93, 0x91, 0xd0, 0xd0, 0x91, 0x93, 0x66, 0x55, 0x20, 0x33, 0x48, 0x68, 0x66, 0x65, 0x65, 0x66, 0x68, 0x48, 0x32, 0x1e, 0x1, 0xd9, 0x70, 0x18, 0x75, 0x13, 0x5e, 0xe8, 0x51, 0x18, 0x10, 0x1c, 0x46, 0x73, 0xa5, 0xa3, 0xe6, 0xe6, 0xa3, 0xa5, 0x73, 0x4b, 0x1a, 0xf, 0x16, 0x51, 0xe8, 0x47, 0xfd, 0x68, 0x21, 0x39, 0xf, 0xf, 0x39, 0x21, 0x4, 0x11, 0xb, 0x3, 0x15, 0x16, 0x3, 0xc, 0xf, 0x2, 0x21, 0x37, 0x10, 0x10, 0x37, 0x21, 0x2, 0xf, 0xc, 0x3, 0x16, 0x15, 0x3, 0xb, 0x11, 0x1, 0xd1, 0x1f, 0x34, 0xd, 0xd, 0x34, 0x1f, 0x3, 0x10, 0x7, 0x5, 0x14, 0x13, 0x3, 0x9, 0xe, 0x2, 0x1e, 0x32, 0xf, 0xf, 0x32, 0x1e, 0x2, 0xe, 0x9, 0x3, 0x13, 0x14, 0x5, 0x7, 0x10, 0x4b, 0x1f, 0x34, 0xe, 0xe, 0x34, 0x1f, 0x3, 0x10, 0x7, 0x3, 0x15, 0x13, 0x4, 0x9, 0xe, 0x2, 0x1e, 0x32, 0xe, 0xe, 0x32, 0x1e, 0x2, 0xe, 0x9, 0x4, 0x13, 0x15, 0x3, 0x7, 0x10, 0x1, 0x1b, 0x1e, 0x32, 0xe, 0xe, 0x32, 0x1e, 0x2, 0xe, 0x9, 0x4, 0x13, 0x14, 0x3, 0x9, 0xf, 0x3, 0x1d, 0x31, 0xe, 0xe, 0x31, 0x1d, 0x3, 0xf, 0x9, 0x3, 0x14, 0x13, 0x4, 0x9, 0xe, 0x2, 0x9a, 0x10, 0x1c, 0x6, 0x6, 0x1c, 0x10, 0x1, 0x7, 0x6, 0x2, 0x9, 0xb, 0x2, 0x4, 0x8, 0x2, 0xe, 0x19, 0x7, 0x7, 0x19, 0xe, 0x2, 0x8, 0x4, 0x2, 0xb, 0x9, 0x2, 0x6, 0x7, 0xfe, 0xe3, 0x11, 0x1d, 0xa, 0xa, 0x1d, 0x11, 0x3, 0xa, 0x5, 0x1, 0xd, 0xa, 0x3, 0x6, 0x7, 0x1, 0x11, 0x1e, 0x7, 0x7, 0x1e, 0x11, 0x1, 0x7, 0x6, 0x3, 0xa, 0xd, 0x1, 0x5, 0xa, 0xa8, 0x10, 0x1c, 0x7, 0x7, 0x1c, 0x10, 0x2, 0x7, 0x6, 0x2, 0x9, 0xb, 0x2, 0x5, 0x8, 0x2, 0xf, 0x1a, 0x8, 0x8, 0x1a, 0xf, 0x2, 0x8, 0x5, 0x2, 0xb, 0x9, 0x2, 0x6, 0x7, 0x1, 0x18, 0x10, 0x1c, 0x6, 0x6, 0x1c, 0x10, 0x2, 0x8, 0x4, 0x3, 0xa, 0xa, 0x2, 0x5, 0x7, 0x1, 0xf, 0x19, 0x8, 0x8, 0x19, 0xf, 0x1, 0x7, 0x5, 0x2, 0xa, 0xa, 0x3, 0x4, 0x8, 0x18, 0xf, 0x1b, 0x7, 0x7, 0x1b, 0xf, 0x2, 0x8, 0x5, 0x1, 0xa, 0xb, 0x1, 0x6, 0x7, 0x1, 0x10, 0x1b, 0x8, 0x8, 0x1b, 0x10, 0x1, 0x7, 0x6, 0x1, 0xb, 0xa, 0x1, 0x6, 0x7, 0xa1, 0xf, 0x1b, 0x7, 0x7, 0x1b, 0xf, 0x1, 0x7, 0x4, 0x1, 0xc, 0xa, 0x1, 0xc, 0x1, 0xf, 0x1b, 0x7, 0x7, 0x1b, 0xf, 0x1, 0xc, 0x1, 0xa, 0xc, 0x1, 0x4, 0x7, 0x37, 0x12, 0x1f, 0x7, 0x7, 0x1f, 0x12, 0x1, 0x8, 0x5, 0x2, 0xc, 0xc, 0x2, 0x5, 0x8, 0x1, 0x12, 0x1d, 0xa, 0xa, 0x1d, 0x12, 0x1, 0x8, 0x5, 0x2, 0xc, 0xc, 0x2, 0x5, 0x8, 0xd9, 0x12, 0x1f, 0x7, 0x7, 0x1f, 0x12, 0x1, 0x8, 0x5, 0x2, 0xb, 0xc, 0x2, 0x5, 0xa, 0x3, 0x10, 0x1c, 0x9, 0x9, 0x1c, 0x10, 0x3, 0xa, 0x5, 0x2, 0xc, 0xb, 0x2, 0x6, 0x7, 0xfa, 0xe0, 0x2, 0x25, 0x26, 0x2, 0x2, 0x25, 0x26, 0xe2, 0x2, 0x25, 0x27, 0x2, 0x3, 0x25, 0x26, 0x2, 0x2, 0x25, 0x27, 0x2, 0x3, 0x25, 0x26, 0x1, 0x81, 0x1d, 0x32, 0xe, 0xe, 0x32, 0x1d, 0x3, 0xf, 0x9, 0x3, 0x13, 0x14, 0x3, 0xa, 0xe, 0x4, 0x1b, 0x2f, 0xf, 0xf, 0x2f, 0x1b, 0x4, 0xe, 0xa, 0x3, 0x14, 0x13, 0x3, 0x9, 0xf, 0x2, 0x67, 0x12, 0x1e, 0x8, 0x8, 0x1e, 0x12, 0x1, 0xa, 0x4, 0x2, 0xb, 0xc, 0x2, 0x6, 0x8, 0x2, 0x11, 0x1d, 0x9, 0x9, 0x1d, 0x11, 0x2, 0x8, 0x6, 0x2, 0xc, 0xb, 0x2, 0x4, 0xa, 0xfb, 0x12, 0x1f, 0x7, 0x7, 0x1f, 0x12, 0x1, 0x8, 0x5, 0x3, 0xb, 0xc, 0x2, 0x5, 0x9, 0x1, 0x12, 0x1c, 0xa, 0xa, 0x1c, 0x12, 0x1, 0x9, 0x5, 0x2, 0xc, 0xb, 0x3, 0x5, 0x8, 0x1, 0x82, 0x11, 0x1e, 0x8, 0x8, 0x1e, 0x11, 0x2, 0x8, 0x7, 0x1, 0xb, 0xc, 0x2, 0x5, 0x9, 0x1, 0x11, 0x1c, 0x9, 0x9, 0x1c, 0x11, 0x1, 0x9, 0x5, 0x2, 0xc, 0xb, 0x1, 0x7, 0x8, 0xfd, 0x7f, 0x1f, 0x34, 0xe, 0xe, 0x34, 0x1f, 0x3, 0x10, 0x7, 0x4, 0x14, 0x13, 0x3, 0xa, 0xe, 0x3, 0x1d, 0x32, 0xe, 0xe, 0x32, 0x1d, 0x3, 0xe, 0xa, 0x3, 0x13, 0x14, 0x4, 0x7, 0x10, 0x0, 0x0, 0xf, 0x0, 0x83, 0x0, 0x0, 0x6, 0xa9, 0x7, 0xb, 0x0, 0x17, 0x0, 0x2d, 0x0, 0x3e, 0x0, 0x4f, 0x0, 0x60, 0x0, 0x71, 0x0, 0x82, 0x0, 0x93, 0x0, 0xa4, 0x0, 0xb5, 0x0, 0xc6, 0x0, 0xd7, 0x0, 0xe8, 0x0, 0xf9, 0x1, 0xa, 0x0, 0x0, 0x1, 0x16, 0x15, 0x14, 0x7, 0x6, 0xf, 0x1, 0x6, 0x2b, 0x1, 0x26, 0x27, 0x26, 0x35, 0x34, 0x3f, 0x2, 0x36, 0x33, 0x32, 0x33, 0x16, 0x5, 0x6, 0x15, 0x14, 0x17, 0x16, 0x1f, 0x1, 0x16, 0x33, 0x32, 0x3f, 0x1, 0x36, 0x35, 0x34, 0x2f, 0x1, 0x26, 0x23, 0x22, 0x7, 0x13, 0x32, 0x17, 0x16, 0x1d, 0x1, 0x14, 0x7, 0x6, 0x23, 0x22, 0x2f, 0x1, 0x35, 0x34, 0x37, 0x36, 0x13, 0x32, 0x17, 0x16, 0x1d, 0x1, 0x14, 0x7, 0x6, 0x23, 0x22, 0x2f, 0x1, 0x35, 0x34, 0x37, 0x36, 0x13, 0x32, 0x17, 0x16, 0x1d, 0x1, 0x14, 0x7, 0x6, 0x23, 0x22, 0x2f, 0x1, 0x35, 0x34, 0x37, 0x36, 0x13, 0x32, 0x17, 0x16, 0x1d, 0x1, 0x14, 0x7, 0x6, 0x23, 0x22, 0x2f, 0x1, 0x35, 0x34, 0x37, 0x36, 0x13, 0x32, 0x17, 0x16, 0x1d, 0x1, 0x14, 0x7, 0x6, 0x23, 0x22, 0x2f, 0x1, 0x35, 0x34, 0x37, 0x36, 0x3, 0x32, 0x17, 0x16, 0x1d, 0x1, 0x14, 0x7, 0x6, 0x23, 0x22, 0x2f, 0x1, 0x35, 0x34, 0x37, 0x36, 0x1, 0x32, 0x17, 0x16, 0x1d, 0x1, 0x14, 0x7, 0x6, 0x23, 0x22, 0x2f, 0x1, 0x35, 0x34, 0x37, 0x36, 0x37, 0x32, 0x17, 0x16, 0x1d, 0x1, 0x14, 0x7, 0x6, 0x23, 0x22, 0x2f, 0x1, 0x35, 0x34, 0x37, 0x36, 0x13, 0x32, 0x17, 0x16, 0x1d, 0x1, 0x14, 0x7, 0x6, 0x23, 0x22, 0x2f, 0x1, 0x35, 0x34, 0x37, 0x36, 0x1, 0x32, 0x17, 0x16, 0x1d, 0x1, 0x14, 0x7, 0x6, 0x23, 0x22, 0x2f, 0x1, 0x35, 0x34, 0x37, 0x36, 0x25, 0x32, 0x17, 0x16, 0x1d, 0x1, 0x14, 0x7, 0x6, 0x23, 0x22, 0x2f, 0x1, 0x35, 0x34, 0x37, 0x36, 0x25, 0x32, 0x17, 0x16, 0x1d, 0x1, 0x14, 0x7, 0x6, 0x23, 0x22, 0x2f, 0x1, 0x35, 0x34, 0x37, 0x36, 0x25, 0x32, 0x17, 0x16, 0x1d, 0x1, 0x14, 0x7, 0x6, 0x23, 0x22, 0x2f, 0x1, 0x35, 0x34, 0x37, 0x36, 0x2, 0x44, 0x2e, 0x1a, 0x14, 0x32, 0x15, 0x60, 0x7b, 0x16, 0x34, 0x26, 0x2f, 0x3c, 0x29, 0xc, 0x65, 0x88, 0x4, 0x3, 0x3e, 0xfe, 0xfa, 0x4f, 0x9, 0x5, 0xe, 0xe, 0x1e, 0x2c, 0x34, 0x48, 0x33, 0x52, 0x4, 0x20, 0x20, 0x30, 0x37, 0x4b, 0xf7, 0x1d, 0xf, 0x7, 0x1a, 0xb, 0xd, 0x24, 0xd, 0x1, 0x1a, 0xd, 0xa8, 0x1d, 0xf, 0x7, 0x1a, 0xb, 0xd, 0x24, 0xd, 0x1, 0x1a, 0xd, 0x8a, 0x1c, 0xf, 0x7, 0x1a, 0xa, 0xe, 0x23, 0xe, 0x1, 0x1a, 0xd, 0x9b, 0x1c, 0xf, 0x7, 0x1a, 0xa, 0xe, 0x23, 0xe, 0x1, 0x1a, 0xd, 0x3, 0x1c, 0xf, 0x7, 0x1a, 0xa, 0xe, 0x23, 0xe, 0x1, 0x1a, 0xd, 0xbd, 0x1d, 0xf, 0x7, 0x1a, 0xb, 0xd, 0x24, 0xd, 0x1, 0x1a, 0xd, 0x1, 0x8a, 0x1c, 0xf, 0x7, 0x1a, 0xa, 0xe, 0x23, 0xe, 0x1, 0x1a, 0xd, 0xc2, 0x1d, 0xf, 0x7, 0x1a, 0xb, 0xd, 0x24, 0xd, 0x1, 0x1a, 0xd, 0xc2, 0x1d, 0xf, 0x7, 0x1a, 0xb, 0xd, 0x24, 0xd, 0x1, 0x1a, 0xd, 0xfd, 0x55, 0x1d, 0xf, 0x7, 0x1a, 0xb, 0xd, 0x24, 0xd, 0x1, 0x1a, 0xd, 0x1, 0x12, 0x1c, 0xf, 0x7, 0x1a, 0xa, 0xe, 0x23, 0xe, 0x1, 0x1a, 0xd, 0x1, 0x22, 0x1d, 0xf, 0x7, 0x1a, 0xb, 0xd, 0x24, 0xd, 0x1, 0x1a, 0xd, 0x1, 0x3, 0x1c, 0xf, 0x7, 0x1a, 0xa, 0xe, 0x23, 0xe, 0x1, 0x1a, 0xd, 0x2, 0x20, 0x37, 0x51, 0x3d, 0x4b, 0x47, 0x3c, 0x1a, 0x73, 0x7, 0x2d, 0x38, 0x50, 0x5a, 0x79, 0x39, 0xe, 0x7a, 0xc, 0x80, 0x5f, 0x65, 0x22, 0x22, 0x16, 0x10, 0x12, 0x23, 0x2f, 0x32, 0x64, 0x74, 0x1a, 0x1b, 0x30, 0x26, 0x32, 0x1, 0x6a, 0x1f, 0xc, 0xf, 0x6, 0x1f, 0x12, 0x7, 0x2c, 0xe, 0x3, 0x1f, 0x14, 0x8, 0x1, 0x3a, 0x1e, 0xc, 0xf, 0x7, 0x1e, 0x13, 0x8, 0x2e, 0xc, 0x5, 0x1e, 0x14, 0x8, 0x1, 0x34, 0x1f, 0xc, 0xe, 0x7, 0x1e, 0x14, 0x7, 0x2e, 0xc, 0x5, 0x1e, 0x14, 0x8, 0x1, 0x3d, 0x1f, 0xc, 0xf, 0x6, 0x1f, 0x12, 0x7, 0x2c, 0xd, 0x4, 0x1f, 0x14, 0x8, 0xfd, 0x2, 0x1f, 0xc, 0xf, 0x6, 0x1f, 0x12, 0x7, 0x2c, 0xe, 0x3, 0x20, 0x13, 0x8, 0xfe, 0xfc, 0x1f, 0xc, 0xe, 0x6, 0x20, 0x12, 0x7, 0x2d, 0xd, 0x4, 0x1f, 0x13, 0x8, 0x2, 0x7, 0x1e, 0xc, 0xf, 0x7, 0x1e, 0x13, 0x7, 0x2d, 0xc, 0x5, 0x1e, 0x15, 0x7, 0xfa, 0x1e, 0xc, 0xf, 0x7, 0x1e, 0x13, 0x7, 0x2d, 0xc, 0x5, 0x1e, 0x15, 0x7, 0x1, 0x4, 0x20, 0xc, 0xe, 0x6, 0x1f, 0x12, 0x8, 0x2d, 0xd, 0x4, 0x1f, 0x13, 0x9, 0xfb, 0xc, 0x1e, 0xc, 0xf, 0x7, 0x1e, 0x13, 0x8, 0x2e, 0xc, 0x5, 0x1e, 0x14, 0x8, 0xd3, 0x1e, 0xc, 0xe, 0x7, 0x1e, 0x14, 0x7, 0x2e, 0xc, 0x5, 0x1e, 0x14, 0x7, 0xe7, 0x1f, 0xc, 0xe, 0x6, 0x20, 0x12, 0x7, 0x2c, 0xe, 0x3, 0x20, 0x13, 0x8, 0xca, 0x1f, 0xc, 0xe, 0x6, 0x20, 0x12, 0x7, 0x2d, 0xd, 0x3, 0x20, 0x13, 0x8, 0x0, 0x0, 0x0, 0x1, 0x0, 0x85, 0xff, 0xf7, 0x6, 0xa7, 0x5, 0xc9, 0x0, 0x9, 0x0, 0x0, 0x13, 0x21, 0x1b, 0x1, 0x21, 0x1, 0x13, 0x9, 0x1, 0x13, 0x85, 0x2, 0x57, 0xba, 0xbb, 0x2, 0x56, 0xfe, 0x1c, 0xba, 0xfe, 0x19, 0xfe, 0x1a, 0xb9, 0x3, 0x90, 0x2, 0x39, 0xfd, 0xc7, 0xfe, 0x9f, 0xfd, 0xc8, 0x1, 0x60, 0xfe, 0xa0, 0x2, 0x38, 0x0, 0x0, 0x2, 0x0, 0x85, 0xff, 0xf7, 0x6, 0xa7, 0x5, 0xc9, 0x0, 0x9, 0x0, 0x13, 0x0, 0x0, 0x13, 0x21, 0x1b, 0x1, 0x21, 0x1, 0x13, 0x9, 0x1, 0x13, 0x37, 0x3, 0x9, 0x1, 0x3, 0x1, 0x21, 0xb, 0x1, 0x21, 0x85, 0x2, 0x57, 0xba, 0xbb, 0x2, 0x56, 0xfe, 0x1c, 0xba, 0xfe, 0x19, 0xfe, 0x1a, 0xb9, 0x44, 0x8c, 0x1, 0x75, 0x1, 0x80, 0x98, 0x1, 0x8f, 0xfe, 0x1a, 0x91, 0x8e, 0xfe, 0x18, 0x3, 0x90, 0x2, 0x39, 0xfd, 0xc7, 0xfe, 0x9f, 0xfd, 0xc8, 0x1, 0x60, 0xfe, 0xa0, 0x2, 0x38, 0x15, 0xfe, 0x4e, 0x1, 0xc, 0xfe, 0xe6, 0x1, 0xc2, 0x1, 0x18, 0x1, 0xb7, 0xfe, 0x49, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xaa, 0x0, 0x4, 0x3, 0xeb, 0x5, 0xd5, 0x0, 0x11, 0x0, 0x0, 0x1, 0x16, 0x17, 0x14, 0x7, 0x9, 0x1, 0x37, 0x13, 0x25, 0x37, 0x1, 0x26, 0x35, 0x34, 0x37, 0x1, 0x36, 0x3, 0xb0, 0x39, 0x2, 0x9, 0xfd, 0x7d, 0x1, 0xee, 0x56, 0x26, 0xfe, 0x37, 0xe0, 0xfd, 0xdd, 0x13, 0x41, 0x2, 0x93, 0xb, 0x5, 0xd5, 0x2, 0x36, 0x24, 0xc, 0xfd, 0x85, 0xfd, 0xf4, 0xe6, 0xfe, 0x38, 0x27, 0x5e, 0x2, 0x34, 0x17, 0x17, 0x1b, 0x3f, 0x2, 0x86, 0xa, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x81, 0x5, 0xd9, 0x0, 0x19, 0x0, 0x0, 0x13, 0x21, 0x32, 0x15, 0x14, 0x7, 0x9, 0x1, 0x37, 0x13, 0x25, 0x37, 0x1, 0x26, 0x35, 0x34, 0x37, 0x1, 0x21, 0x11, 0x6, 0x7, 0x26, 0x27, 0x11, 0x36, 0xed, 0x5, 0x49, 0x40, 0x1b, 0xfd, 0xc1, 0x1, 0xe7, 0x59, 0x25, 0xfe, 0x31, 0xe7, 0xfd, 0xef, 0xf, 0x34, 0x1, 0xe5, 0xfb, 0xa8, 0x1, 0x48, 0x46, 0x1, 0x1, 0x5, 0xd9, 0x53, 0x22, 0x1b, 0xfd, 0xc5, 0xfe, 0x1b, 0xd5, 0xfe, 0x3d, 0x22, 0x6c, 0x2, 0x16, 0x10, 0x2d, 0x1c, 0x32, 0x1, 0xdf, 0xfa, 0xfc, 0x44, 0x1, 0x1, 0x43, 0x5, 0x5b, 0x39, 0x0, 0x0, 0x0, 0x3, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0xd8, 0x0, 0xd, 0x0, 0x19, 0x0, 0x26, 0x0, 0x0, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x5, 0x10, 0x0, 0x20, 0x0, 0x11, 0x34, 0x2, 0x24, 0x20, 0x4, 0x2, 0x5, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x3e, 0x1, 0x32, 0x1e, 0x1, 0x6, 0x82, 0xfe, 0x4a, 0xfe, 0xc9, 0xfe, 0xcb, 0xfe, 0x4a, 0xc9, 0x1, 0x68, 0xba, 0xbd, 0x1, 0x68, 0xc8, 0xfa, 0x71, 0x1, 0x8a, 0x2, 0x30, 0x1, 0x8a, 0xb4, 0xfe, 0xbc, 0xfe, 0xac, 0xfe, 0xbc, 0xb4, 0x3, 0x5e, 0x6d, 0x4e, 0x4d, 0x6e, 0x32, 0x5a, 0x5e, 0x5a, 0x32, 0x2, 0xec, 0xfe, 0xc9, 0xfe, 0x4b, 0x1, 0xb5, 0x1, 0x37, 0xc2, 0x1, 0x69, 0xc1, 0xc1, 0xfe, 0x99, 0xc4, 0xfe, 0xe8, 0xfe, 0x77, 0x1, 0x89, 0x1, 0x18, 0xb1, 0x1, 0x42, 0xae, 0xae, 0xfe, 0xbe, 0xb1, 0x4e, 0x6d, 0x6d, 0x4e, 0x31, 0x5a, 0x30, 0x30, 0x5a, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x7d, 0x0, 0x0, 0x6, 0x9f, 0x5, 0xd1, 0x0, 0xa, 0x0, 0x16, 0x0, 0x43, 0x0, 0x0, 0x0, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x25, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x25, 0x16, 0x17, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x24, 0x20, 0x4, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x10, 0x6, 0x23, 0x22, 0x26, 0x10, 0x37, 0x36, 0x37, 0x26, 0x35, 0x34, 0x0, 0x21, 0x20, 0x0, 0x15, 0x14, 0x5, 0xb1, 0x94, 0x67, 0x67, 0x4a, 0x49, 0x68, 0xfb, 0x9c, 0x49, 0x68, 0x68, 0x49, 0x4a, 0x67, 0x67, 0x4, 0x17, 0x19, 0x16, 0x5b, 0xb6, 0x82, 0x81, 0xb6, 0x5a, 0x51, 0x6f, 0x79, 0xfe, 0xb1, 0xfe, 0x20, 0xfe, 0xb1, 0x79, 0x7d, 0x57, 0x5a, 0xb6, 0x82, 0x80, 0xb7, 0x5b, 0x12, 0x13, 0x7a, 0x1, 0xc0, 0x1, 0x41, 0x1, 0x44, 0x1, 0xc0, 0x1, 0xe9, 0x67, 0x4a, 0x49, 0x67, 0x67, 0x49, 0x4a, 0x67, 0x67, 0x4a, 0x49, 0x68, 0x68, 0x49, 0x4a, 0x67, 0x55, 0x11, 0x16, 0x5c, 0x82, 0x81, 0xb7, 0xb7, 0x81, 0x82, 0x5c, 0x51, 0x9, 0x73, 0x99, 0xb4, 0xfd, 0xfd, 0xb4, 0x99, 0x72, 0x4, 0x57, 0x5c, 0xfe, 0xfc, 0xb7, 0xb7, 0x1, 0x4, 0x5c, 0x11, 0xf, 0x8e, 0xb6, 0xf8, 0x1, 0x5e, 0xfe, 0xa2, 0xf8, 0xb1, 0x0, 0x0, 0x0, 0x3, 0x0, 0x7d, 0x0, 0x0, 0x6, 0x9f, 0x5, 0xc9, 0x0, 0xa, 0x0, 0x16, 0x0, 0x41, 0x0, 0x0, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x32, 0x36, 0x25, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x1, 0x14, 0x0, 0x21, 0x20, 0x0, 0x35, 0x34, 0x37, 0x26, 0x27, 0x26, 0x10, 0x36, 0x33, 0x32, 0x16, 0x10, 0x7, 0x6, 0x7, 0x6, 0x15, 0x14, 0x4, 0x20, 0x24, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x10, 0x36, 0x33, 0x32, 0x16, 0x10, 0x7, 0x6, 0x7, 0x16, 0x6, 0x18, 0x68, 0x49, 0x4a, 0x67, 0x67, 0x94, 0x67, 0xfc, 0x4d, 0x67, 0x4a, 0x49, 0x68, 0x68, 0x49, 0x4a, 0x67, 0x4, 0x23, 0xfe, 0x40, 0xfe, 0xbc, 0xfe, 0xbf, 0xfe, 0x40, 0x7a, 0x13, 0x12, 0x5b, 0xb7, 0x80, 0x82, 0xb6, 0x5a, 0x57, 0x7d, 0x79, 0x1, 0x4f, 0x1, 0xe0, 0x1, 0x4f, 0x79, 0x6f, 0x51, 0x5a, 0xb6, 0x81, 0x82, 0xb6, 0x5b, 0x16, 0x19, 0x73, 0x4, 0x91, 0x49, 0x68, 0x68, 0x49, 0x4a, 0x67, 0x67, 0x4a, 0x4a, 0x67, 0x67, 0x4a, 0x49, 0x67, 0x67, 0xfe, 0xc, 0xf7, 0xfe, 0xa3, 0x1, 0x5d, 0xf7, 0xb4, 0x8d, 0xf, 0x12, 0x5b, 0x1, 0x2, 0xb6, 0xb6, 0xfe, 0xfe, 0x5b, 0x58, 0x3, 0x72, 0x97, 0xb4, 0xfb, 0xfb, 0xb4, 0x98, 0x71, 0x9, 0x51, 0x5c, 0x1, 0x2, 0xb6, 0xb6, 0xfe, 0xfe, 0x5c, 0x16, 0x11, 0x8b, 0x0, 0x0, 0x2, 0x0, 0x7d, 0xff, 0xfd, 0x4, 0xe2, 0x5, 0xc6, 0x0, 0xb, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x37, 0x16, 0x17, 0x16, 0x10, 0x0, 0x23, 0x22, 0x0, 0x10, 0x0, 0x33, 0x32, 0x17, 0x1, 0x17, 0x2, 0x86, 0x8f, 0xc9, 0xc9, 0x8f, 0x8e, 0xc9, 0xc7, 0xbe, 0x13, 0x12, 0x98, 0xfe, 0xce, 0xd9, 0xd7, 0xfe, 0xce, 0x1, 0x2f, 0xda, 0x60, 0x54, 0x1, 0xe, 0x9a, 0x3, 0x5f, 0xc8, 0x90, 0x8e, 0xc9, 0xc9, 0x8e, 0x90, 0xc8, 0x3b, 0x10, 0x13, 0x99, 0xfe, 0x50, 0xfe, 0xcf, 0x1, 0x31, 0x1, 0xb0, 0x1, 0x32, 0x1d, 0x1, 0xd3, 0x59, 0x0, 0x0, 0x3, 0x0, 0x7d, 0x0, 0x1, 0x7, 0x9e, 0x5, 0xc9, 0x0, 0x8, 0x0, 0x11, 0x0, 0x31, 0x0, 0x0, 0x1, 0x22, 0x6, 0x14, 0x16, 0x32, 0x36, 0x34, 0x26, 0x0, 0x22, 0x6, 0x14, 0x16, 0x33, 0x32, 0x36, 0x34, 0x1, 0x16, 0x15, 0x14, 0x0, 0x23, 0x22, 0x0, 0x35, 0x34, 0x0, 0x33, 0x32, 0x17, 0x16, 0x17, 0x37, 0x26, 0x35, 0x34, 0x0, 0x33, 0x32, 0x0, 0x15, 0x14, 0x0, 0x23, 0x22, 0x27, 0x26, 0x27, 0x2, 0x33, 0x78, 0xa9, 0xa9, 0xf0, 0xa9, 0xa8, 0x3, 0xb3, 0xf2, 0xa8, 0xa8, 0x79, 0x78, 0xa9, 0xfc, 0xbe, 0x26, 0xfe, 0xff, 0xb7, 0xb5, 0xfe, 0xff, 0x0, 0xff, 0xb7, 0xb9, 0x80, 0x2, 0x2, 0xdc, 0x1c, 0x0, 0xff, 0xb7, 0xb8, 0x1, 0x0, 0xfe, 0xff, 0xb7, 0xb5, 0x81, 0xb, 0xb, 0x2, 0xda, 0xa9, 0xf0, 0xa9, 0xa9, 0xf0, 0xa9, 0x2, 0x5a, 0xa9, 0xf0, 0xa9, 0xa9, 0xf0, 0xfd, 0xe4, 0x54, 0x64, 0xb5, 0xfe, 0xff, 0x1, 0x1, 0xb5, 0xb7, 0x1, 0x1, 0x80, 0x3, 0x2, 0x89, 0x49, 0x55, 0xb7, 0x1, 0x1, 0xfe, 0xff, 0xb7, 0xb5, 0xfe, 0xff, 0x81, 0xb, 0xc, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0, 0x8c, 0x0, 0x0, 0x9, 0x6b, 0x5, 0xd5, 0x0, 0x23, 0x0, 0x35, 0x0, 0x41, 0x0, 0x4d, 0x0, 0x59, 0x0, 0x65, 0x0, 0x72, 0x0, 0x80, 0x0, 0x8d, 0x0, 0x9a, 0x0, 0xa7, 0x0, 0xb5, 0x0, 0xc5, 0x0, 0xd9, 0x0, 0x0, 0x1, 0x33, 0x4, 0x5, 0x4, 0x15, 0x6, 0x23, 0x22, 0x27, 0x25, 0x26, 0x35, 0x34, 0x37, 0x36, 0x35, 0x34, 0x27, 0x21, 0x6, 0x15, 0x14, 0x17, 0x16, 0x15, 0x14, 0x7, 0x5, 0x6, 0x23, 0x22, 0x27, 0x34, 0x25, 0x24, 0x1, 0x35, 0x33, 0x15, 0x14, 0x17, 0x16, 0x19, 0x1, 0x21, 0x11, 0x10, 0x37, 0x36, 0x3d, 0x1, 0x33, 0x15, 0x3, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x5, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x27, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x11, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x2, 0x16, 0x6, 0x7, 0x6, 0x26, 0x27, 0x26, 0x36, 0x37, 0x36, 0x33, 0x32, 0x1, 0x16, 0x6, 0x7, 0x6, 0x23, 0x22, 0x26, 0x27, 0x26, 0x36, 0x37, 0x36, 0x16, 0x1, 0x1e, 0x1, 0xe, 0x1, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x37, 0x3e, 0x1, 0x4, 0x1e, 0x1, 0x15, 0x14, 0x7, 0xe, 0x1, 0x27, 0x2e, 0x1, 0x37, 0x36, 0x24, 0x36, 0x16, 0x17, 0x16, 0x6, 0x7, 0x6, 0x26, 0x27, 0x26, 0x35, 0x34, 0x25, 0x36, 0x16, 0x17, 0x16, 0x15, 0x14, 0x6, 0x7, 0x6, 0x26, 0x27, 0x26, 0x36, 0x1, 0x3e, 0x1, 0x17, 0x1e, 0x1, 0x7, 0xe, 0x1, 0x23, 0x22, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x1, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x7, 0xe, 0x1, 0x23, 0x22, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x4, 0xf7, 0x9, 0x2, 0x5b, 0x1, 0x1, 0x1, 0xf, 0x24, 0x67, 0x6, 0x7, 0xfe, 0x69, 0x3c, 0xc, 0x44, 0x22, 0xfb, 0x9c, 0x22, 0x44, 0xc, 0x3d, 0xfe, 0x69, 0x7, 0x6, 0x66, 0x25, 0x1, 0x10, 0x1, 0x0, 0x3, 0x4c, 0x90, 0xf1, 0xe7, 0xf9, 0x57, 0xe8, 0xf0, 0x91, 0xab, 0xec, 0xa5, 0xa8, 0xea, 0xe9, 0xa9, 0xa7, 0xea, 0x2, 0x72, 0x83, 0x5e, 0x5d, 0x83, 0x83, 0x5d, 0x5e, 0x83, 0x9f, 0x20, 0x18, 0x17, 0x21, 0x21, 0x17, 0x18, 0x20, 0x20, 0x18, 0x17, 0x21, 0x21, 0x17, 0x18, 0x20, 0xd1, 0x1a, 0x6, 0x13, 0x13, 0x2e, 0xe, 0xe, 0x8, 0x13, 0xf, 0x11, 0x5, 0x1, 0x9b, 0xf, 0x7, 0x14, 0xf, 0x11, 0x5, 0x1b, 0xf, 0xd, 0x7, 0x13, 0x13, 0x2e, 0xfe, 0xc, 0x18, 0x14, 0xe, 0x2a, 0x16, 0x16, 0x12, 0x3, 0x8, 0x29, 0x2, 0x58, 0x2c, 0x11, 0x3, 0x8, 0x29, 0x16, 0x16, 0x15, 0x7, 0x8, 0xfd, 0xaf, 0x2c, 0x2a, 0x7, 0x7, 0x14, 0x16, 0x18, 0x29, 0x8, 0x3, 0x2, 0x7f, 0x16, 0x29, 0x8, 0x3, 0x11, 0x16, 0x16, 0x2b, 0x6, 0x7, 0x15, 0xfe, 0x15, 0xe, 0x2e, 0x13, 0x13, 0x8, 0xf, 0xd, 0x1c, 0x5, 0x11, 0xf, 0x13, 0x5, 0x1, 0x7d, 0xf, 0x1b, 0x5, 0x11, 0xf, 0x14, 0x4, 0xc, 0xd, 0x1b, 0x5, 0x12, 0xf, 0x13, 0x4, 0x5, 0xd5, 0x11, 0x9b, 0xa4, 0xaa, 0x99, 0x1, 0x8c, 0x12, 0x2b, 0x13, 0x19, 0x47, 0x20, 0x17, 0x3, 0x3, 0x17, 0x20, 0x47, 0x18, 0x14, 0x2b, 0x12, 0x8c, 0x1, 0x99, 0xaa, 0xa4, 0x99, 0xfe, 0x76, 0x4b, 0x98, 0x4b, 0x39, 0x5f, 0xfe, 0xe2, 0xfe, 0x16, 0x1, 0xea, 0x1, 0x1e, 0x5f, 0x39, 0x4b, 0x98, 0x4b, 0xfd, 0xdd, 0xa7, 0xea, 0xea, 0xa7, 0xa6, 0xec, 0xec, 0xa5, 0x5d, 0x84, 0x84, 0x5d, 0x5f, 0x83, 0x83, 0xde, 0x16, 0x22, 0x22, 0x16, 0x18, 0x22, 0x22, 0xfd, 0x73, 0x18, 0x21, 0x21, 0x18, 0x17, 0x22, 0x22, 0x2, 0x57, 0x26, 0x2e, 0xd, 0xf, 0x7, 0x13, 0x14, 0x2d, 0xf, 0xa, 0xfd, 0xec, 0x13, 0x2e, 0xf, 0xa, 0x4, 0x14, 0x13, 0x2d, 0xe, 0xd, 0x6, 0x1, 0x61, 0x8, 0x29, 0x2c, 0x15, 0x6, 0x7, 0x22, 0xd, 0x9, 0x9, 0x16, 0x15, 0xc3, 0xe, 0x22, 0xd, 0x8, 0x9, 0x16, 0x15, 0x8, 0x7, 0x29, 0x17, 0x16, 0x6, 0xe, 0x14, 0x16, 0x18, 0x29, 0x8, 0x6, 0x15, 0x16, 0x9, 0x8, 0xd, 0xec, 0x7, 0x15, 0x16, 0x9, 0x8, 0xd, 0x21, 0x8, 0x7, 0x15, 0x16, 0x16, 0x29, 0xfe, 0x94, 0x12, 0x7, 0xd, 0xe, 0x2f, 0x11, 0x14, 0x4, 0xa, 0xf, 0x1c, 0x5, 0x11, 0x2, 0xc, 0x13, 0x4, 0xa, 0xf, 0x1b, 0x4, 0x12, 0x10, 0x13, 0x4, 0xc, 0xd, 0x1c, 0x5, 0x11, 0x0, 0x10, 0x0, 0x91, 0x0, 0x0, 0x9, 0x70, 0x5, 0xd5, 0x0, 0x11, 0x0, 0x1d, 0x0, 0x25, 0x0, 0x2d, 0x0, 0x35, 0x0, 0x41, 0x0, 0x4d, 0x0, 0x59, 0x0, 0x64, 0x0, 0x70, 0x0, 0x7c, 0x0, 0x88, 0x0, 0x94, 0x0, 0xa6, 0x0, 0xca, 0x0, 0xf0, 0x0, 0x0, 0x1, 0x35, 0x23, 0x15, 0x6, 0x7, 0x6, 0x15, 0x11, 0x21, 0x11, 0x34, 0x27, 0x26, 0x27, 0x35, 0x23, 0x15, 0x5, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x4, 0x22, 0x6, 0x14, 0x16, 0x32, 0x36, 0x34, 0x2, 0x22, 0x6, 0x14, 0x16, 0x32, 0x36, 0x34, 0x2, 0x22, 0x6, 0x14, 0x16, 0x32, 0x36, 0x34, 0x1, 0xe, 0x1, 0x17, 0x1e, 0x1, 0x37, 0x3e, 0x1, 0x27, 0x2e, 0x1, 0x1, 0xe, 0x1, 0x17, 0x1e, 0x1, 0x37, 0x3e, 0x1, 0x27, 0x2e, 0x1, 0x1, 0x6, 0x16, 0x17, 0x16, 0x36, 0x37, 0x36, 0x26, 0x27, 0x26, 0x6, 0x5, 0x6, 0x16, 0x17, 0x16, 0x3e, 0x1, 0x26, 0x27, 0x26, 0x6, 0x5, 0x1e, 0x1, 0x37, 0x3e, 0x1, 0x27, 0x2e, 0x1, 0x7, 0xe, 0x1, 0x25, 0x1e, 0x1, 0x37, 0x3e, 0x1, 0x27, 0x2e, 0x1, 0x7, 0xe, 0x1, 0x1, 0x16, 0x36, 0x37, 0x36, 0x26, 0x27, 0x26, 0x6, 0x7, 0x6, 0x16, 0x1, 0x16, 0x36, 0x37, 0x36, 0x26, 0x27, 0x26, 0x6, 0x7, 0x6, 0x16, 0x13, 0x35, 0x33, 0x15, 0x14, 0x17, 0x16, 0x19, 0x1, 0x21, 0x11, 0x10, 0x37, 0x36, 0x3d, 0x1, 0x33, 0x15, 0x25, 0x6, 0x15, 0x14, 0x17, 0x16, 0x15, 0x14, 0x7, 0x5, 0x23, 0x22, 0x27, 0x36, 0x37, 0x36, 0x25, 0x16, 0x32, 0x37, 0x4, 0x17, 0x16, 0x17, 0x6, 0x2b, 0x1, 0x25, 0x26, 0x35, 0x34, 0x37, 0x36, 0x35, 0x34, 0x27, 0x37, 0x16, 0x15, 0x14, 0x7, 0x6, 0x15, 0x14, 0x17, 0x5, 0x16, 0x33, 0x32, 0x37, 0x26, 0x27, 0x24, 0x25, 0x27, 0x15, 0x23, 0x4, 0x5, 0x6, 0x7, 0x16, 0x33, 0x32, 0x37, 0x25, 0x36, 0x35, 0x34, 0x27, 0x26, 0x35, 0x34, 0x37, 0x3, 0xec, 0x31, 0xf, 0xcb, 0xc3, 0x5, 0x9d, 0xc4, 0xca, 0x8, 0x38, 0xfe, 0xfa, 0xa6, 0xe5, 0xe6, 0xa5, 0xa3, 0xe7, 0xe6, 0x1, 0x0, 0xb8, 0x81, 0x81, 0xb8, 0x81, 0xbc, 0x2e, 0x20, 0x20, 0x2e, 0x20, 0x20, 0x2e, 0x20, 0x20, 0x2e, 0x20, 0xfe, 0xf2, 0x12, 0x8, 0xd, 0xf, 0x2d, 0x13, 0x12, 0x6, 0xd, 0xd, 0x2d, 0x1, 0x59, 0x13, 0x7, 0xd, 0xe, 0x2d, 0x13, 0x13, 0x7, 0xe, 0xd, 0x2d, 0xfd, 0xfc, 0x7, 0x16, 0x15, 0x16, 0x29, 0x7, 0x7, 0x14, 0x17, 0x16, 0x29, 0x2, 0x47, 0x7, 0x14, 0x16, 0x15, 0x29, 0xe, 0x14, 0x16, 0x15, 0x29, 0xfd, 0xab, 0x7, 0x29, 0x17, 0x16, 0x14, 0x7, 0x7, 0x29, 0x16, 0x15, 0x16, 0x2, 0x55, 0x6, 0x2a, 0x15, 0x16, 0x14, 0x7, 0x7, 0x29, 0x15, 0x16, 0x14, 0xfe, 0x3e, 0x13, 0x2d, 0xd, 0xf, 0x8, 0x12, 0x13, 0x2d, 0xf, 0xd, 0x8, 0x1, 0x7e, 0x13, 0x2d, 0xd, 0xe, 0x7, 0x13, 0x13, 0x2d, 0xe, 0xd, 0x7, 0x56, 0x86, 0xe1, 0xd8, 0xf9, 0xc9, 0xd8, 0xe1, 0x86, 0xfe, 0xa9, 0x1a, 0x4b, 0x1c, 0x3b, 0xfe, 0x8a, 0xa, 0x79, 0x41, 0xd, 0xf8, 0xf8, 0x2, 0x43, 0x18, 0x30, 0x18, 0x2, 0x42, 0xf8, 0xf8, 0xd, 0x41, 0x78, 0xa, 0xfe, 0x89, 0x3b, 0x1c, 0x4b, 0x19, 0x19, 0x27, 0x36, 0x1f, 0x1f, 0x1, 0x46, 0xf, 0xf, 0x4a, 0x3e, 0xa, 0xec, 0xfe, 0xc7, 0xfe, 0x24, 0x30, 0x36, 0xfe, 0x23, 0xfe, 0xc7, 0xeb, 0xa, 0x3e, 0x4a, 0xf, 0xf, 0x1, 0x46, 0x1f, 0x1f, 0x36, 0x26, 0x3, 0xc2, 0x40, 0x8e, 0x40, 0x31, 0x41, 0xf1, 0xfe, 0x65, 0x1, 0x9b, 0xf1, 0x41, 0x31, 0x40, 0x8e, 0x40, 0x48, 0xe7, 0xa3, 0xa4, 0xe6, 0xe6, 0xa4, 0xa3, 0xe7, 0xad, 0x81, 0xb8, 0x80, 0x80, 0xb8, 0x1, 0x14, 0x20, 0x2e, 0x20, 0x20, 0x2e, 0xfd, 0xb5, 0x20, 0x2e, 0x20, 0x20, 0x2e, 0x2, 0x45, 0xd, 0x2d, 0x13, 0x12, 0x8, 0xd, 0xf, 0x2d, 0x13, 0x11, 0x7, 0xfd, 0xff, 0xe, 0x2d, 0x13, 0x13, 0x7, 0xf, 0xd, 0x2c, 0x13, 0x13, 0x7, 0x1, 0x31, 0x16, 0x29, 0x7, 0x7, 0x14, 0x17, 0x16, 0x29, 0x7, 0x7, 0x16, 0xd5, 0x15, 0x29, 0x7, 0x7, 0x15, 0x2c, 0x28, 0x8, 0x7, 0x14, 0x39, 0x17, 0x14, 0x7, 0x7, 0x29, 0x15, 0x16, 0x16, 0x7, 0x8, 0x28, 0xa9, 0x15, 0x16, 0x7, 0x7, 0x29, 0x16, 0x15, 0x16, 0x7, 0x7, 0x29, 0xfe, 0x75, 0xf, 0x7, 0x13, 0x13, 0x2d, 0xd, 0xe, 0x7, 0x13, 0x13, 0x2c, 0x1, 0xe6, 0xd, 0x8, 0x12, 0x13, 0x2d, 0xd, 0xf, 0x8, 0x12, 0x13, 0x2d, 0x1, 0x20, 0x47, 0x9c, 0x37, 0x37, 0x57, 0xfe, 0xf5, 0xfe, 0x36, 0x1, 0xca, 0x1, 0xb, 0x57, 0x37, 0x37, 0x9c, 0x47, 0xe5, 0x6, 0x12, 0x20, 0x44, 0x26, 0x1a, 0x26, 0xb, 0xa5, 0xcb, 0xc7, 0x65, 0x8b, 0x11, 0x1, 0x1, 0x11, 0x8b, 0x65, 0xc7, 0xcb, 0xa5, 0xb, 0x26, 0x1a, 0x26, 0x44, 0x20, 0x12, 0x6, 0x1c, 0x12, 0x22, 0x28, 0x3d, 0x16, 0x15, 0x14, 0x13, 0x88, 0x6, 0x97, 0x9d, 0x70, 0x81, 0x19, 0x1, 0x1, 0x19, 0x81, 0x70, 0x9d, 0x97, 0x6, 0x88, 0x13, 0x14, 0x15, 0x16, 0x3d, 0x28, 0x22, 0x12, 0x0, 0x2, 0x0, 0xb8, 0x0, 0x0, 0x6, 0x75, 0x5, 0xd5, 0x0, 0x7, 0x0, 0xb, 0x0, 0x0, 0x13, 0x21, 0x17, 0x11, 0x7, 0x21, 0x27, 0x11, 0x17, 0x11, 0x21, 0x11, 0xbe, 0x5, 0xb0, 0x7, 0x7, 0xfa, 0x50, 0x6, 0x6e, 0x4, 0xe0, 0x5, 0xd5, 0x7, 0xfa, 0x38, 0x6, 0x6, 0x5, 0xc8, 0x68, 0xfb, 0x8, 0x4, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xb7, 0x0, 0x0, 0x6, 0x76, 0x5, 0xd5, 0x0, 0x7, 0x0, 0xb, 0x0, 0x22, 0x0, 0x0, 0x13, 0x21, 0x17, 0x11, 0x7, 0x21, 0x27, 0x11, 0x17, 0x11, 0x21, 0x11, 0x7, 0x15, 0x6, 0x7, 0x0, 0x3, 0x6, 0x23, 0x6, 0x23, 0x2, 0x2b, 0x1, 0x35, 0x37, 0x32, 0x17, 0x33, 0x36, 0x37, 0x36, 0x37, 0x36, 0xbd, 0x5, 0xb3, 0x6, 0x6, 0xfa, 0x4d, 0x6, 0x6f, 0x4, 0xe0, 0x87, 0x4c, 0x29, 0xfe, 0xb9, 0x3e, 0x6, 0x10, 0x75, 0xd, 0x65, 0xcd, 0x17, 0xa2, 0x97, 0x49, 0x6, 0x33, 0x3f, 0x62, 0x9b, 0x61, 0x5, 0xd5, 0x6, 0xfa, 0x38, 0x7, 0x7, 0x5, 0xc8, 0x68, 0xfb, 0x8, 0x4, 0xf8, 0x9e, 0x6, 0x41, 0x3a, 0xfe, 0x46, 0xfe, 0xbd, 0x3b, 0x2f, 0x1, 0x2, 0x7, 0x49, 0x83, 0xa6, 0x74, 0xb3, 0xbb, 0x78, 0x0, 0x3, 0x0, 0xb7, 0x0, 0x0, 0x6, 0x76, 0x5, 0xd5, 0x0, 0x7, 0x0, 0xb, 0x0, 0x1a, 0x0, 0x0, 0x13, 0x21, 0x17, 0x11, 0x7, 0x21, 0x27, 0x11, 0x17, 0x11, 0x21, 0x11, 0x5, 0x9, 0x1, 0x17, 0x9, 0x1, 0x15, 0x7, 0x1, 0x23, 0x1, 0x23, 0x27, 0x9, 0x1, 0xbd, 0x5, 0xb3, 0x6, 0x6, 0xfa, 0x4d, 0x6, 0x6f, 0x4, 0xe0, 0xfb, 0xf7, 0x1, 0x9b, 0x1, 0x97, 0x5f, 0xfe, 0x68, 0x1, 0x98, 0x5b, 0xfe, 0x65, 0x4, 0xfe, 0x69, 0x4, 0x5b, 0x1, 0x97, 0xfe, 0x69, 0x5, 0xd5, 0x6, 0xfa, 0x38, 0x7, 0x7, 0x5, 0xc8, 0x68, 0xfb, 0x8, 0x4, 0xf8, 0x86, 0xfe, 0x69, 0x1, 0x97, 0x5b, 0xfe, 0x65, 0xfe, 0x66, 0x3, 0x5b, 0x1, 0x97, 0xfe, 0x6c, 0x5b, 0x1, 0x9a, 0x1, 0x9b, 0x0, 0x0, 0x0, 0x1, 0x0, 0x9a, 0x0, 0xa0, 0x3, 0xa7, 0x5, 0x40, 0x0, 0x14, 0x0, 0x0, 0x13, 0x33, 0x1, 0x36, 0x1, 0x32, 0x37, 0x33, 0x17, 0x9, 0x1, 0x15, 0x7, 0x1, 0x23, 0x1, 0x23, 0x27, 0x1, 0x0, 0x35, 0xf1, 0x5, 0x1, 0x29, 0xb, 0x1, 0x1a, 0x4, 0x6, 0x4, 0x55, 0xfe, 0xd2, 0x1, 0x2e, 0x57, 0xfe, 0xd4, 0x2, 0xfe, 0xd2, 0x3, 0x57, 0x1, 0x31, 0xfe, 0xcf, 0x5, 0x40, 0xfe, 0xb, 0x8, 0x1, 0xde, 0xf, 0x55, 0xfe, 0x4, 0xfe, 0x7, 0x3, 0x53, 0x1, 0xf7, 0xfe, 0xb, 0x56, 0x1, 0xf9, 0x1, 0xf5, 0x7, 0x0, 0x0, 0x8, 0x0, 0x64, 0x0, 0x0, 0x6, 0xf5, 0x7, 0x76, 0x0, 0x8, 0x0, 0x11, 0x0, 0x1a, 0x0, 0x23, 0x0, 0x2c, 0x0, 0x35, 0x0, 0x3e, 0x0, 0x7e, 0x0, 0x0, 0x1, 0x33, 0x6, 0x2b, 0x1, 0x26, 0x3d, 0x1, 0x34, 0x1, 0x33, 0x6, 0x2b, 0x1, 0x26, 0x3d, 0x1, 0x34, 0x25, 0x33, 0x6, 0x2b, 0x1, 0x26, 0x3d, 0x1, 0x34, 0x17, 0x33, 0x6, 0x2b, 0x1, 0x26, 0x3d, 0x1, 0x34, 0x1, 0x33, 0x6, 0x2b, 0x1, 0x26, 0x3d, 0x1, 0x34, 0x5, 0x33, 0x6, 0x2b, 0x1, 0x26, 0x3d, 0x1, 0x34, 0x17, 0x33, 0x6, 0x2b, 0x1, 0x26, 0x3d, 0x1, 0x34, 0x25, 0x33, 0x17, 0x15, 0x33, 0x20, 0x1, 0x16, 0x1d, 0x1, 0x23, 0x26, 0x27, 0x26, 0x2b, 0x1, 0x22, 0x7, 0x15, 0x14, 0x7, 0x27, 0x26, 0x23, 0x11, 0x14, 0xf, 0x1, 0x22, 0x2f, 0x1, 0x35, 0x37, 0x33, 0x17, 0x15, 0x16, 0x3b, 0x1, 0x32, 0x3f, 0x1, 0x11, 0x22, 0x7, 0x6, 0x23, 0x27, 0x35, 0x37, 0x23, 0x26, 0x27, 0x23, 0x22, 0xf, 0x1, 0x23, 0x35, 0x36, 0x37, 0x36, 0x21, 0x35, 0x1, 0xd6, 0x3, 0x1e, 0x5c, 0x6, 0x3a, 0x2, 0x56, 0x2, 0x1d, 0x5c, 0x7, 0x39, 0x2, 0x1e, 0x3, 0x1e, 0x5c, 0x6, 0x3a, 0xf7, 0x4, 0x1e, 0x5c, 0x6, 0x3a, 0x2, 0x1e, 0x3, 0x1d, 0x5d, 0x6, 0x3a, 0x1, 0x26, 0x2, 0x1c, 0x5d, 0x7, 0x39, 0x5b, 0x3, 0x1e, 0x5c, 0x6, 0x3a, 0xfd, 0xab, 0x3a, 0x6, 0x2, 0x1, 0xb8, 0x1, 0x18, 0x2b, 0x2, 0x16, 0x13, 0x23, 0x39, 0x2c, 0x96, 0x70, 0x8, 0x21, 0x97, 0x88, 0x6a, 0x1e, 0x5b, 0x25, 0x2, 0x6, 0x2b, 0x5, 0xb, 0x3e, 0xa, 0x37, 0x14, 0x6, 0xd3, 0x56, 0x11, 0xe, 0x7, 0x7, 0x4, 0x43, 0xc5, 0x43, 0x63, 0x22, 0x14, 0x3, 0x3a, 0xc0, 0xef, 0x1, 0x38, 0x6, 0x1, 0xcf, 0xa, 0x23, 0x2, 0x38, 0x1, 0x64, 0xcf, 0x8, 0x23, 0x3, 0x37, 0xe3, 0xcf, 0x8, 0x24, 0x3, 0x36, 0xb9, 0xcf, 0x8, 0x24, 0x2, 0x38, 0x1, 0x3b, 0xce, 0x7, 0x24, 0x3, 0x37, 0x69, 0xcf, 0x7, 0x24, 0x3, 0x37, 0xeb, 0xcf, 0x9, 0x23, 0x2, 0x39, 0x9a, 0x5, 0x70, 0xfe, 0x50, 0x4c, 0xc, 0x7, 0xd, 0x29, 0x16, 0x5a, 0x2e, 0xd, 0x2, 0x3b, 0x36, 0xfd, 0x9f, 0x5a, 0x15, 0x2, 0x56, 0x18, 0x17, 0x6, 0x6, 0xa, 0x5a, 0x33, 0x25, 0x2, 0x59, 0x36, 0x33, 0x5, 0xb, 0x2e, 0x38, 0x19, 0x37, 0x10, 0x2, 0x80, 0xc2, 0xc6, 0x70, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, 0x98, 0x0, 0x0, 0x6, 0x93, 0x5, 0xd9, 0x0, 0xb, 0x0, 0x11, 0x0, 0x1c, 0x0, 0x33, 0x0, 0x44, 0x0, 0x4d, 0x0, 0x79, 0x0, 0x7f, 0x0, 0x8f, 0x0, 0x0, 0x1, 0x14, 0x15, 0x14, 0x17, 0x21, 0x36, 0x37, 0x34, 0x23, 0x21, 0x6, 0x13, 0x16, 0x17, 0x21, 0x36, 0x3f, 0x1, 0x6, 0x7, 0x36, 0x37, 0x36, 0x35, 0x34, 0x35, 0x26, 0x23, 0x27, 0x6, 0x7, 0x33, 0x32, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x23, 0x1, 0x33, 0x14, 0x6, 0x7, 0x14, 0x16, 0x17, 0x23, 0x26, 0x27, 0x26, 0x27, 0x34, 0x35, 0x34, 0x36, 0x1, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x21, 0x16, 0x5, 0x36, 0x37, 0x32, 0x17, 0x15, 0x14, 0x5, 0x7, 0x17, 0x14, 0x7, 0x21, 0x26, 0x3d, 0x1, 0x37, 0x35, 0x24, 0x2f, 0x1, 0x35, 0x36, 0x33, 0x16, 0x17, 0x26, 0x11, 0x34, 0x33, 0x21, 0x16, 0x15, 0x33, 0x32, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x2b, 0x1, 0x27, 0x1, 0x16, 0x17, 0x21, 0x36, 0x37, 0x1, 0x6, 0x7, 0x6, 0x7, 0x23, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x35, 0x33, 0x1e, 0x1, 0x15, 0x1, 0x23, 0xf, 0x4, 0x81, 0xb, 0x3, 0x1e, 0xfb, 0xa0, 0x1c, 0x3f, 0x5, 0x10, 0x3, 0xf4, 0xd, 0x9, 0x49, 0x9, 0x3a, 0x57, 0x30, 0x1d, 0x1, 0x20, 0x39, 0x2, 0x1, 0x36, 0x3b, 0x45, 0x2c, 0x51, 0x20, 0x32, 0x7, 0x3a, 0x26, 0x13, 0x6c, 0x36, 0x1d, 0x18, 0x78, 0xfd, 0x30, 0x9, 0x62, 0x1, 0x88, 0x4, 0x8, 0x13, 0x6d, 0x21, 0xa, 0x6f, 0xfe, 0xdb, 0xb8, 0xbd, 0xae, 0xb1, 0x22, 0x5c, 0xfc, 0x3e, 0x25, 0x3, 0x45, 0xfe, 0x66, 0x12, 0x6, 0xfe, 0x99, 0x7e, 0x2, 0x10, 0xfd, 0xf1, 0x11, 0x4, 0xfe, 0x65, 0x32, 0x3, 0x4, 0x12, 0x55, 0xd6, 0xc9, 0x36, 0x4, 0x67, 0x21, 0x36, 0x8f, 0x56, 0x23, 0x70, 0x35, 0x43, 0x7, 0x11, 0xfc, 0x2b, 0x6, 0xa, 0x4, 0x43, 0xb, 0x4, 0xfe, 0x98, 0x6, 0x13, 0x3f, 0xb, 0x6, 0x3, 0x50, 0x39, 0x5, 0xa, 0x40, 0x2, 0xb4, 0x6, 0x7, 0x37, 0x48, 0x34, 0x58, 0x16, 0x4, 0xfe, 0xcd, 0x1a, 0x12, 0x16, 0x16, 0xc7, 0x6d, 0x86, 0x1, 0x4d, 0x37, 0x52, 0x6, 0x5, 0x11, 0x56, 0x1c, 0x20, 0x2f, 0x82, 0x4d, 0x28, 0x1, 0x3d, 0x48, 0x3a, 0xd, 0x1f, 0x2c, 0x71, 0x4c, 0x55, 0x44, 0x3, 0x29, 0x38, 0x88, 0x57, 0x71, 0x6b, 0xb1, 0x92, 0x65, 0x2d, 0x50, 0x5, 0x6, 0x65, 0x78, 0xfa, 0xf3, 0xd, 0xb, 0x10, 0x97, 0x4e, 0x57, 0x18, 0xa, 0xa, 0xa, 0x10, 0x3d, 0x24, 0xa, 0xf, 0x8, 0x7, 0x10, 0x6, 0x2, 0x2, 0x55, 0x12, 0xd, 0x4, 0xb, 0x9, 0x14, 0xfe, 0x1, 0x2f, 0x30, 0x2, 0x18, 0x63, 0x9b, 0x99, 0x29, 0x16, 0x48, 0x4, 0x1, 0x3f, 0x1a, 0x12, 0x13, 0x19, 0x1, 0xf5, 0x32, 0x1c, 0x40, 0x5b, 0x6e, 0x44, 0x46, 0x38, 0x54, 0x24, 0x2e, 0x4a, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xac, 0x0, 0x1, 0x6, 0x81, 0x5, 0xd9, 0x0, 0x7, 0x0, 0xc, 0x0, 0x0, 0x9, 0x1, 0x13, 0x7, 0x21, 0x27, 0x13, 0x9, 0x1, 0x3, 0x21, 0x3, 0x1, 0x3, 0x9e, 0x2, 0x8f, 0x54, 0x3, 0xfa, 0x34, 0x6, 0x58, 0x2, 0x97, 0xfd, 0xcd, 0x4b, 0x4, 0xf3, 0x47, 0xfd, 0xcf, 0x5, 0xd9, 0xfe, 0x77, 0xfb, 0xb4, 0x3, 0x6, 0x4, 0x4c, 0x1, 0x86, 0xfe, 0x35, 0xfc, 0x5f, 0x3, 0xa1, 0x1, 0x4b, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xac, 0x0, 0x0, 0x6, 0x81, 0x5, 0xd0, 0x0, 0x9, 0x0, 0x0, 0x9, 0x1, 0x13, 0x17, 0x7, 0x21, 0x27, 0x13, 0x0, 0x37, 0x3, 0x9b, 0x2, 0x8c, 0x57, 0x3, 0x3, 0xfa, 0x34, 0x6, 0x5a, 0x2, 0x7e, 0x14, 0x5, 0xd0, 0xfe, 0x77, 0xfb, 0xbf, 0x3, 0x3, 0x6, 0x4, 0x44, 0x1, 0x80, 0x6, 0x0, 0x1, 0x0, 0x9f, 0x0, 0x0, 0x6, 0x8d, 0x5, 0xd4, 0x0, 0x53, 0x0, 0x0, 0x1, 0x3, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x16, 0x32, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x3, 0x25, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x3, 0x16, 0x15, 0x10, 0x7, 0x23, 0x36, 0x11, 0x34, 0x27, 0x3, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x36, 0x35, 0x34, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x3, 0x78, 0xd8, 0x4a, 0x58, 0x25, 0x26, 0x58, 0x41, 0x2c, 0x42, 0x3a, 0x5c, 0x38, 0xd, 0x5b, 0xc7, 0x1, 0x45, 0x4d, 0x48, 0x39, 0x35, 0x23, 0x23, 0x46, 0x7, 0x12, 0x6c, 0x25, 0xc, 0xb, 0x21, 0x39, 0x40, 0x21, 0x23, 0x6a, 0x4c, 0xcf, 0x9, 0x70, 0x5f, 0x92, 0x7, 0xce, 0x4d, 0x69, 0x23, 0x22, 0x3f, 0x38, 0x22, 0xc, 0xb, 0x25, 0x6c, 0x12, 0x7, 0x46, 0x23, 0x23, 0x35, 0x38, 0x48, 0x4e, 0x3, 0x8, 0x1, 0x34, 0x68, 0x6f, 0x6b, 0x40, 0x16, 0x52, 0x52, 0x72, 0x2a, 0x25, 0x7f, 0x74, 0xfe, 0xeb, 0x65, 0x1c, 0x11, 0xc, 0x1b, 0x42, 0x42, 0x15, 0x15, 0x39, 0x27, 0x1d, 0x11, 0x37, 0x2a, 0x1f, 0x24, 0x25, 0x1b, 0x29, 0xc, 0x22, 0x66, 0x1, 0x16, 0x58, 0x53, 0xfe, 0xdd, 0xe7, 0xf2, 0x1, 0x35, 0x45, 0x49, 0xfe, 0xea, 0x66, 0x22, 0xc, 0x29, 0x1b, 0x25, 0x23, 0x1e, 0x2c, 0x37, 0x11, 0x1d, 0x27, 0x39, 0x15, 0x14, 0x43, 0x42, 0x1b, 0xc, 0x11, 0x1c, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xab, 0x1, 0x1e, 0x6, 0x81, 0x4, 0x98, 0x0, 0x3e, 0x0, 0x45, 0x0, 0x0, 0x1, 0x16, 0x17, 0x14, 0x7, 0x6, 0x7, 0x4, 0x13, 0x33, 0x17, 0x7, 0x23, 0x6, 0x7, 0x22, 0x27, 0x34, 0x33, 0x16, 0x33, 0x32, 0x33, 0x32, 0x37, 0x24, 0x27, 0x23, 0x22, 0x7, 0x16, 0x15, 0x6, 0x5, 0x24, 0x3, 0x34, 0x37, 0x16, 0x17, 0x15, 0x7, 0x14, 0x17, 0x32, 0x37, 0x12, 0x25, 0x16, 0x1d, 0x1, 0x14, 0x7, 0x36, 0x37, 0x32, 0x35, 0x36, 0x37, 0x36, 0x35, 0x34, 0x26, 0x3, 0x6, 0x15, 0x14, 0x17, 0x35, 0x26, 0x5, 0xa7, 0x6f, 0x14, 0x4a, 0xb0, 0x14, 0x1, 0x0, 0x37, 0x1b, 0x13, 0x2e, 0x3, 0x11, 0x98, 0x62, 0x19, 0x14, 0x10, 0x39, 0x2, 0x1, 0x4d, 0xd, 0xfe, 0xfa, 0x7, 0x3, 0x83, 0x44, 0x86, 0x9, 0xfe, 0xb2, 0xfd, 0x99, 0x2c, 0x42, 0x33, 0x8, 0xd, 0x71, 0x59, 0xd, 0x35, 0x1, 0x2a, 0xc4, 0x2a, 0x5d, 0x64, 0x3d, 0x48, 0x4e, 0x39, 0x25, 0x87, 0x1, 0xe5, 0x20, 0x4, 0x98, 0x5, 0x73, 0x57, 0x19, 0x24, 0x2c, 0x1b, 0xfe, 0xf0, 0x4a, 0xd, 0xae, 0x9, 0x5d, 0x54, 0x2d, 0x4d, 0x4d, 0xf1, 0x6d, 0x40, 0x65, 0xf6, 0x10, 0x3, 0x1, 0x64, 0x3a, 0x9, 0x3, 0x2c, 0x17, 0x27, 0x5a, 0xc, 0x4d, 0x1, 0xde, 0x14, 0x6, 0xa0, 0x8, 0x27, 0x63, 0x4d, 0x14, 0x26, 0x54, 0x29, 0x24, 0x24, 0xd, 0x3c, 0xfe, 0xa5, 0x8, 0x9, 0x84, 0x49, 0x3, 0xb5, 0x0, 0x0, 0x0, 0x1, 0x0, 0xac, 0x0, 0xe7, 0x6, 0x81, 0x4, 0x8d, 0x0, 0x32, 0x0, 0x0, 0x25, 0x21, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x33, 0x37, 0x23, 0x26, 0x27, 0x26, 0x35, 0x34, 0x3e, 0x1, 0x3b, 0x1, 0x37, 0x21, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x21, 0x37, 0x21, 0x22, 0x26, 0x35, 0x34, 0x3e, 0x1, 0x33, 0x21, 0x36, 0x37, 0x36, 0x33, 0x21, 0x32, 0x16, 0x15, 0x6, 0x36, 0xfd, 0x50, 0x2b, 0x3d, 0x1c, 0x19, 0x12, 0x13, 0x36, 0x4, 0x88, 0x2f, 0x19, 0x1f, 0x1d, 0x32, 0x1a, 0xb4, 0x1, 0xfe, 0xff, 0x44, 0x3e, 0x1d, 0x19, 0x14, 0x16, 0x1, 0x52, 0x2, 0xfd, 0x3, 0x2b, 0x3e, 0x1d, 0x32, 0x1a, 0x3, 0x2c, 0x8, 0x10, 0x1f, 0x2b, 0x1, 0x76, 0x2a, 0x3e, 0xe7, 0x3e, 0x2b, 0x1b, 0x32, 0xd, 0xa, 0x3, 0xc, 0x2, 0x1a, 0x1e, 0x2c, 0x1b, 0x32, 0x1c, 0xa, 0x3d, 0x2c, 0x1a, 0x32, 0xe, 0xb, 0x2, 0xa, 0x3d, 0x2c, 0x1b, 0x33, 0x1a, 0x16, 0x11, 0x1f, 0x3e, 0x2c, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xac, 0x0, 0xe7, 0x6, 0x81, 0x4, 0x8d, 0x0, 0x32, 0x0, 0x0, 0x13, 0x34, 0x36, 0x33, 0x21, 0x32, 0x17, 0x16, 0x17, 0x21, 0x32, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x21, 0x17, 0x21, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x21, 0x17, 0x33, 0x32, 0x1e, 0x1, 0x15, 0x14, 0x7, 0x6, 0x7, 0x23, 0x17, 0x33, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x21, 0xac, 0x3e, 0x2a, 0x1, 0x76, 0x2b, 0x1e, 0x11, 0x8, 0x3, 0x2c, 0x1a, 0x31, 0x1e, 0x3e, 0x2b, 0xfd, 0x3, 0x2, 0x1, 0x52, 0x16, 0x14, 0x19, 0x1c, 0x3d, 0x44, 0xfe, 0xff, 0x1, 0xb3, 0x1b, 0x32, 0x1c, 0x1e, 0x19, 0x30, 0x87, 0x4, 0x36, 0x13, 0x12, 0x18, 0x1d, 0x3d, 0x2b, 0xfd, 0x50, 0x4, 0x23, 0x2c, 0x3e, 0x1f, 0x11, 0x16, 0x1a, 0x33, 0x1b, 0x2c, 0x3d, 0xa, 0x2, 0xb, 0xe, 0x32, 0x1a, 0x2c, 0x3d, 0xa, 0x1c, 0x32, 0x1b, 0x2c, 0x1e, 0x1a, 0x2, 0xc, 0x3, 0xa, 0xd, 0x32, 0x1b, 0x2b, 0x3e, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xb2, 0x0, 0xd4, 0x6, 0x7b, 0x4, 0x8d, 0x0, 0x22, 0x0, 0x44, 0x0, 0x0, 0x25, 0x13, 0x34, 0x26, 0x23, 0x21, 0x22, 0x7, 0x21, 0x30, 0x23, 0x22, 0x14, 0x33, 0x21, 0x7, 0x21, 0x22, 0x15, 0x14, 0x33, 0x21, 0x7, 0x23, 0x22, 0x15, 0x14, 0x3b, 0x1, 0x7, 0x23, 0x22, 0x15, 0x14, 0x33, 0x7, 0x26, 0x27, 0x36, 0x37, 0x33, 0x37, 0x23, 0x26, 0x27, 0x36, 0x37, 0x33, 0x37, 0x21, 0x22, 0x27, 0x36, 0x37, 0x21, 0x37, 0x21, 0x26, 0x27, 0x36, 0x33, 0x21, 0x36, 0x37, 0x21, 0x32, 0x16, 0x15, 0x3, 0x6, 0x8, 0x49, 0x30, 0x21, 0xfe, 0x9f, 0x36, 0x17, 0xfc, 0xd9, 0x4, 0x4f, 0x53, 0x2, 0xff, 0xd, 0xfe, 0x9e, 0x53, 0x53, 0x1, 0x3a, 0x9, 0xdd, 0x53, 0x53, 0xae, 0x13, 0x3e, 0x53, 0x53, 0x1c, 0x5d, 0x1, 0x1, 0x5d, 0x4a, 0x4, 0xab, 0x5d, 0x1, 0x1, 0x5d, 0xe4, 0x2, 0xfe, 0xc6, 0x5d, 0x1, 0x1, 0x5d, 0x1, 0x68, 0x4, 0xfd, 0x4, 0x5c, 0x1, 0x1, 0x5c, 0x3, 0x2c, 0x20, 0x42, 0x1, 0x76, 0x2a, 0x3e, 0x4b, 0xf1, 0x3, 0x15, 0x25, 0x33, 0x39, 0x92, 0x4c, 0x4b, 0x49, 0x4f, 0x4b, 0x48, 0x4c, 0x4b, 0x49, 0x1d, 0x1, 0x68, 0x67, 0x1, 0xe, 0x1, 0x68, 0x67, 0x1, 0x13, 0x68, 0x67, 0x1, 0xf, 0x1, 0x68, 0x67, 0x45, 0x2, 0x3f, 0x2d, 0xfc, 0xb3, 0x0, 0x0, 0x2, 0x0, 0x93, 0x0, 0x0, 0x4, 0x4c, 0x5, 0xca, 0x0, 0x21, 0x0, 0x44, 0x0, 0x0, 0x37, 0x5, 0x32, 0x36, 0x35, 0x11, 0x34, 0x27, 0x11, 0x36, 0x23, 0x22, 0x15, 0x11, 0x27, 0x11, 0x34, 0x23, 0x22, 0x15, 0x11, 0x27, 0x35, 0x34, 0x23, 0x22, 0x1d, 0x1, 0x27, 0x35, 0x34, 0x23, 0x22, 0x15, 0x27, 0x36, 0x37, 0x16, 0x17, 0x15, 0x17, 0x35, 0x36, 0x37, 0x16, 0x17, 0x15, 0x17, 0x11, 0x34, 0x37, 0x16, 0x17, 0x11, 0x17, 0x11, 0x36, 0x37, 0x16, 0x15, 0x11, 0x16, 0x17, 0x11, 0x14, 0x6, 0x23, 0x25, 0x13, 0xb1, 0x3, 0x15, 0x24, 0x34, 0x3a, 0x2, 0x4a, 0x49, 0x4c, 0x4c, 0x48, 0x4f, 0x4b, 0x48, 0x4c, 0x4b, 0x49, 0x1d, 0x1, 0x68, 0x67, 0x1, 0xe, 0x1, 0x68, 0x67, 0x1, 0x12, 0x69, 0x67, 0x1, 0xf, 0x1, 0x68, 0x67, 0x44, 0x2, 0x3e, 0x2d, 0xfc, 0xb2, 0x1, 0x73, 0x4a, 0x31, 0x20, 0x1, 0x62, 0x36, 0x16, 0x3, 0x27, 0x53, 0x53, 0xfd, 0x2, 0xd, 0x1, 0x63, 0x52, 0x52, 0xfe, 0xc4, 0x9, 0xdf, 0x53, 0x53, 0xae, 0x12, 0x3f, 0x53, 0x53, 0x1c, 0x5c, 0x1, 0x1, 0x5c, 0x4b, 0x4, 0xac, 0x5c, 0x1, 0x1, 0x5c, 0xe4, 0x3, 0x1, 0x3b, 0x5c, 0x1, 0x1, 0x5c, 0xfe, 0x96, 0x4, 0x2, 0xfd, 0x5d, 0x1, 0x1, 0x5d, 0xfc, 0xd4, 0x21, 0x41, 0xfe, 0x8a, 0x2a, 0x3e, 0x4b, 0x2, 0x9b, 0x0, 0x0, 0x0, 0x2, 0x0, 0xb1, 0x0, 0xd3, 0x6, 0x7b, 0x4, 0x8d, 0x0, 0x21, 0x0, 0x43, 0x0, 0x0, 0x25, 0x32, 0x35, 0x34, 0x2b, 0x1, 0x27, 0x33, 0x32, 0x35, 0x34, 0x2b, 0x1, 0x27, 0x21, 0x32, 0x35, 0x34, 0x23, 0x21, 0x27, 0x21, 0x32, 0x34, 0x2b, 0x1, 0x21, 0x26, 0x23, 0x21, 0x22, 0x6, 0x15, 0x13, 0x7, 0x3, 0x34, 0x36, 0x33, 0x21, 0x16, 0x17, 0x21, 0x32, 0x17, 0x6, 0x7, 0x21, 0x17, 0x21, 0x16, 0x17, 0x6, 0x23, 0x21, 0x17, 0x33, 0x16, 0x17, 0x6, 0x7, 0x23, 0x17, 0x33, 0x16, 0x17, 0x6, 0x7, 0x3, 0xc1, 0x53, 0x53, 0x3f, 0x12, 0xae, 0x53, 0x53, 0xdf, 0x9, 0x1, 0x3c, 0x52, 0x52, 0xfe, 0x9d, 0xd, 0x2, 0xfe, 0x53, 0x4f, 0x4, 0xfc, 0xd9, 0x16, 0x36, 0xfe, 0x9e, 0x20, 0x31, 0x4a, 0x28, 0x4b, 0x3e, 0x2a, 0x1, 0x76, 0x41, 0x21, 0x3, 0x2c, 0x5d, 0x1, 0x1, 0x5d, 0xfd, 0x3, 0x4, 0x1, 0x6a, 0x5c, 0x1, 0x1, 0x5c, 0xfe, 0xc5, 0x3, 0xe4, 0x5c, 0x1, 0x1, 0x5c, 0xac, 0x4, 0x4b, 0x5c, 0x1, 0x1, 0x5c, 0xf1, 0x49, 0x4b, 0x4c, 0x48, 0x4b, 0x4f, 0x49, 0x4b, 0x4c, 0x92, 0x39, 0x33, 0x25, 0xfc, 0xeb, 0x1e, 0x3, 0x4e, 0x2d, 0x3f, 0x2, 0x45, 0x67, 0x68, 0x1, 0xf, 0x1, 0x67, 0x68, 0x13, 0x1, 0x67, 0x68, 0x1, 0xe, 0x1, 0x67, 0x69, 0x1, 0x0, 0x0, 0x0, 0x2, 0x0, 0x93, 0xff, 0xf9, 0x4, 0x4c, 0x5, 0xc2, 0x0, 0x21, 0x0, 0x43, 0x0, 0x0, 0x13, 0x14, 0x33, 0x32, 0x3d, 0x1, 0x37, 0x15, 0x14, 0x33, 0x32, 0x3d, 0x1, 0x37, 0x11, 0x14, 0x33, 0x32, 0x35, 0x11, 0x37, 0x11, 0x14, 0x33, 0x32, 0x27, 0x11, 0x36, 0x35, 0x11, 0x34, 0x26, 0x23, 0x5, 0x27, 0x25, 0x32, 0x16, 0x15, 0x11, 0x6, 0x7, 0x11, 0x14, 0x7, 0x26, 0x27, 0x11, 0x7, 0x11, 0x6, 0x7, 0x26, 0x35, 0x11, 0x7, 0x15, 0x6, 0x7, 0x26, 0x27, 0x35, 0x7, 0x15, 0x6, 0x7, 0x26, 0x27, 0xb1, 0x49, 0x4b, 0x4c, 0x48, 0x4b, 0x4f, 0x48, 0x4c, 0x4c, 0x49, 0x4a, 0x2, 0x3a, 0x34, 0x24, 0xfc, 0xeb, 0x1e, 0x3, 0x4e, 0x2d, 0x3e, 0x2, 0x44, 0x67, 0x68, 0x1, 0xf, 0x1, 0x67, 0x69, 0x12, 0x1, 0x67, 0x68, 0x1, 0xe, 0x1, 0x67, 0x68, 0x1, 0x2, 0xb3, 0x53, 0x53, 0x3d, 0x14, 0xae, 0x53, 0x53, 0xdd, 0x9, 0xfe, 0xc6, 0x53, 0x53, 0x1, 0x62, 0xd, 0xfd, 0x1, 0x53, 0x53, 0x3, 0x27, 0x17, 0x36, 0x1, 0x61, 0x21, 0x30, 0x4a, 0x29, 0x4b, 0x3e, 0x2a, 0xfe, 0x8a, 0x42, 0x20, 0xfc, 0xd4, 0x5c, 0x1, 0x1, 0x5c, 0x2, 0xfc, 0x4, 0xfe, 0x98, 0x5d, 0x1, 0x1, 0x5d, 0x1, 0x3a, 0x2, 0xe4, 0x5d, 0x1, 0x1, 0x5d, 0xab, 0x4, 0x4a, 0x5d, 0x1, 0x1, 0x5d, 0x0, 0x0, 0x1d, 0x0, 0x7d, 0x0, 0x0, 0x6, 0xaf, 0x5, 0xd8, 0x0, 0x4f, 0x0, 0x80, 0x0, 0x8b, 0x0, 0x95, 0x0, 0xa4, 0x0, 0xb3, 0x0, 0xba, 0x0, 0xc1, 0x0, 0xd6, 0x0, 0xdc, 0x0, 0xe3, 0x0, 0xe7, 0x0, 0xeb, 0x0, 0xef, 0x0, 0xf3, 0x0, 0xf7, 0x0, 0xfb, 0x0, 0xff, 0x1, 0x3, 0x1, 0x7, 0x1, 0xb, 0x1, 0x1a, 0x1, 0x26, 0x1, 0x2a, 0x1, 0x2e, 0x1, 0x32, 0x1, 0x36, 0x1, 0x3a, 0x1, 0x3e, 0x0, 0x0, 0x1, 0x20, 0x17, 0x16, 0x1d, 0x1, 0x14, 0x7, 0x17, 0x15, 0x14, 0x7, 0x33, 0x36, 0x35, 0x36, 0x3b, 0x1, 0x32, 0x15, 0x16, 0x1d, 0x1, 0x6, 0x23, 0x27, 0x6, 0x7, 0x15, 0x17, 0x37, 0x16, 0x15, 0x14, 0x7, 0x14, 0x2b, 0x1, 0x22, 0x2f, 0x1, 0x6, 0x23, 0x22, 0x27, 0x6, 0x15, 0x6, 0x2b, 0x1, 0x22, 0x35, 0x26, 0x35, 0x34, 0x37, 0x17, 0x37, 0x35, 0x25, 0x7, 0x22, 0x27, 0x35, 0x34, 0x37, 0x36, 0x3b, 0x1, 0x32, 0x1f, 0x1, 0x35, 0x27, 0x37, 0x26, 0x35, 0x36, 0x25, 0x36, 0x1, 0x14, 0x17, 0x33, 0x35, 0x26, 0x35, 0x36, 0x3b, 0x1, 0x17, 0x7, 0x17, 0x15, 0x7, 0x15, 0x14, 0x17, 0x16, 0x1d, 0x1, 0x17, 0x33, 0x37, 0x34, 0x37, 0x36, 0x35, 0x27, 0x37, 0x35, 0x27, 0x37, 0x16, 0x1d, 0x1, 0x7, 0x17, 0x36, 0x3d, 0x1, 0x34, 0x27, 0x26, 0x2b, 0x1, 0x20, 0x7, 0x6, 0x5, 0x16, 0x15, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x22, 0x27, 0x34, 0x21, 0x16, 0x17, 0x6, 0x23, 0x22, 0x27, 0x34, 0x35, 0x34, 0x13, 0x33, 0x24, 0x33, 0x17, 0x36, 0x35, 0x26, 0x35, 0x26, 0x23, 0x6, 0x7, 0x6, 0x15, 0x25, 0x6, 0x23, 0x6, 0x15, 0x17, 0x37, 0x16, 0x17, 0x35, 0x34, 0x27, 0x26, 0x35, 0x26, 0x5, 0x17, 0x15, 0x7, 0x26, 0x35, 0x34, 0x37, 0x16, 0x15, 0x14, 0x7, 0x27, 0x35, 0x1, 0x16, 0x33, 0x36, 0x37, 0x26, 0x35, 0x34, 0x37, 0x6, 0x7, 0x6, 0x2b, 0x1, 0x26, 0x27, 0x26, 0x27, 0x16, 0x15, 0x14, 0x37, 0x16, 0x17, 0x33, 0x35, 0x26, 0x5, 0x15, 0x32, 0x3f, 0x1, 0x22, 0x7, 0x5, 0x15, 0x17, 0x35, 0x25, 0x15, 0x37, 0x35, 0x5, 0x15, 0x17, 0x35, 0x33, 0x15, 0x37, 0x27, 0x7, 0x15, 0x37, 0x27, 0x7, 0x15, 0x33, 0x35, 0x33, 0x15, 0x33, 0x35, 0x7, 0x15, 0x17, 0x35, 0x17, 0x15, 0x33, 0x35, 0x7, 0x15, 0x33, 0x35, 0x5, 0x27, 0x7, 0x15, 0x16, 0x15, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x26, 0x35, 0x6, 0x25, 0x7, 0x16, 0x15, 0x14, 0x17, 0x32, 0x3f, 0x1, 0x26, 0x23, 0x7, 0x25, 0x7, 0x17, 0x35, 0x7, 0x15, 0x17, 0x35, 0x27, 0x15, 0x17, 0x35, 0x17, 0x15, 0x37, 0x35, 0x37, 0x15, 0x37, 0x35, 0x37, 0x15, 0x37, 0x35, 0x3, 0xa7, 0x1, 0x31, 0x92, 0x3a, 0x65, 0x6, 0x19, 0x6, 0xa0, 0x2c, 0x24, 0x8, 0x3f, 0x46, 0x1a, 0x3f, 0x59, 0xf8, 0x3e, 0xea, 0x46, 0x5f, 0x4c, 0x41, 0x6, 0x33, 0x45, 0xbe, 0x4c, 0xac, 0xaf, 0x48, 0xd1, 0x33, 0x2c, 0xe, 0x38, 0x4c, 0x59, 0x4c, 0xe4, 0xfe, 0xd0, 0x6c, 0x45, 0x7, 0x46, 0x4, 0x27, 0x21, 0x30, 0x3c, 0x85, 0x19, 0xc, 0x6b, 0x23, 0x1, 0x7, 0x67, 0xfe, 0x9a, 0x46, 0x7, 0x1f, 0xb, 0xd, 0xd, 0x13, 0xd, 0x20, 0x13, 0x99, 0x45, 0x65, 0x59, 0x7f, 0xc4, 0x21, 0x1a, 0x21, 0xd, 0x1f, 0x19, 0x1f, 0x6, 0x47, 0xe0, 0x80, 0x70, 0x26, 0xfe, 0xad, 0x69, 0x14, 0x1, 0x71, 0x2e, 0x2, 0x38, 0x5a, 0x6, 0x4e, 0x24, 0x1, 0xcf, 0xcb, 0x6, 0x25, 0x60, 0x42, 0x43, 0xeb, 0x6, 0x1, 0x18, 0x18, 0x66, 0x20, 0x46, 0x7, 0x14, 0x1c, 0x34, 0xf9, 0xfc, 0x22, 0x11, 0xe, 0x34, 0x2e, 0x5f, 0x3f, 0xf1, 0x65, 0xcb, 0x19, 0x2, 0x65, 0xe, 0x33, 0x26, 0x7b, 0x45, 0x28, 0x31, 0xfe, 0xf5, 0x2d, 0xd6, 0xd9, 0x2b, 0x1, 0x1c, 0x24, 0x1c, 0x4b, 0x74, 0x38, 0xbf, 0xc, 0x7, 0x2d, 0x16, 0x10, 0x14, 0x19, 0x6, 0x9, 0x1, 0x87, 0xf, 0x3, 0x19, 0xd, 0x18, 0xfe, 0x96, 0x12, 0x1, 0x24, 0x1a, 0xfe, 0xd6, 0x19, 0xcc, 0x1b, 0x2, 0x47, 0x17, 0x3, 0x73, 0x20, 0x14, 0x19, 0xa5, 0x19, 0x73, 0x19, 0x4d, 0x20, 0xfd, 0xf9, 0x72, 0x7, 0x45, 0x6, 0xe, 0x13, 0x46, 0x9b, 0x22, 0x13, 0xba, 0x3, 0xf, 0x12, 0xe3, 0x32, 0x15, 0xc, 0x3e, 0x6, 0x1f, 0x5f, 0xfd, 0xa3, 0x3, 0x1d, 0x19, 0x19, 0x70, 0x19, 0xcc, 0x1b, 0xf, 0x19, 0x14, 0x1a, 0x5, 0xd8, 0xc1, 0x6c, 0x54, 0x45, 0x72, 0x66, 0x5e, 0x6, 0x35, 0x2e, 0x3e, 0x3d, 0x39, 0x7c, 0x35, 0x22, 0x18, 0x2d, 0x7, 0x6c, 0x29, 0x12, 0x64, 0xd, 0x12, 0x2c, 0x26, 0x3e, 0x76, 0x76, 0x5d, 0x63, 0x63, 0x63, 0x19, 0x57, 0x70, 0x43, 0x2d, 0x2b, 0xd, 0xd, 0x64, 0x12, 0x95, 0x7, 0x38, 0xd, 0x1b, 0x42, 0x70, 0x70, 0x3e, 0x6, 0x57, 0x5d, 0x6f, 0xd8, 0xe6, 0x61, 0x1d, 0xfe, 0x78, 0x76, 0x75, 0x50, 0x70, 0x38, 0x32, 0x13, 0x2c, 0x8e, 0x44, 0xa8, 0xc, 0x5e, 0x1e, 0x38, 0x2c, 0x18, 0xd, 0x1a, 0x5e, 0x42, 0x24, 0x4b, 0xbb, 0x9c, 0x12, 0x2b, 0x14, 0xb, 0x22, 0x31, 0xae, 0x18, 0x52, 0x5b, 0x2b, 0xd2, 0x65, 0x2a, 0xf1, 0x3b, 0xd0, 0xd, 0x32, 0xb, 0xd, 0x9b, 0x9b, 0x57, 0xa, 0x51, 0x97, 0x9b, 0x3, 0x2, 0x50, 0xfe, 0x12, 0x82, 0x5, 0x8, 0xa, 0x49, 0x26, 0x3f, 0x9, 0x67, 0x70, 0x13, 0xeb, 0x6f, 0x25, 0x19, 0xb, 0x5, 0x12, 0x77, 0xd, 0x5e, 0x19, 0x53, 0x41, 0x24, 0xd, 0x7, 0x9f, 0x32, 0xc, 0x39, 0x69, 0x2d, 0x35, 0x6e, 0x30, 0x8, 0x32, 0xa2, 0xfe, 0x86, 0xc7, 0xe, 0xbf, 0xa, 0xc, 0x41, 0x69, 0x26, 0xae, 0x49, 0x16, 0x59, 0x5e, 0x50, 0x5d, 0x44, 0x13, 0x9b, 0x25, 0x88, 0x5c, 0x3f, 0x3f, 0x5c, 0x4f, 0x57, 0x43, 0xd, 0x2c, 0x5, 0x2c, 0x5, 0x31, 0xa, 0x2f, 0xf, 0x32, 0x5, 0x31, 0x31, 0x8, 0x2f, 0x6, 0x3d, 0x2, 0x3b, 0x6, 0x37, 0x37, 0x37, 0x37, 0x3d, 0x33, 0x5, 0x32, 0xe, 0x31, 0x38, 0x7, 0x31, 0x31, 0x7b, 0x5, 0x5, 0x13, 0x39, 0x30, 0x38, 0x68, 0x4e, 0x1d, 0x25, 0x1e, 0x62, 0x5c, 0x44, 0x68, 0x2c, 0xf, 0x29, 0x68, 0x3f, 0x12, 0x5, 0xcc, 0x31, 0x6, 0x37, 0x49, 0x32, 0x6, 0x31, 0x21, 0x31, 0x7, 0x32, 0x18, 0x32, 0x6, 0x32, 0x4, 0x32, 0x5, 0x33, 0xa, 0x32, 0x7, 0x31, 0x0, 0x0, 0x0, 0x1, 0x0, 0xac, 0x0, 0x0, 0x6, 0x81, 0x5, 0xd8, 0x0, 0x26, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x1, 0x7, 0x14, 0x17, 0x25, 0x32, 0x17, 0x15, 0x14, 0x23, 0x5, 0x22, 0x27, 0x26, 0x3d, 0x1, 0x34, 0x37, 0x0, 0x37, 0x36, 0x35, 0x34, 0x27, 0x23, 0x5, 0x22, 0x27, 0x35, 0x34, 0x37, 0x33, 0x4, 0x42, 0x8f, 0x71, 0x34, 0x7c, 0xfd, 0x6c, 0xb, 0x61, 0x3, 0x6e, 0x4e, 0x9, 0x69, 0xfc, 0xa1, 0xa1, 0x6c, 0x1b, 0x8b, 0x2, 0x6d, 0x14, 0xb, 0x62, 0xb, 0xfc, 0xb5, 0x39, 0xb, 0x62, 0xe, 0x5, 0xd8, 0x8d, 0x4d, 0x4f, 0x8a, 0x62, 0xfd, 0xa0, 0x3e, 0x59, 0x1a, 0xd1, 0x61, 0x3, 0x59, 0xc6, 0xae, 0x35, 0x38, 0x18, 0x8a, 0x6c, 0x2, 0x37, 0x1b, 0x1b, 0x16, 0x50, 0x20, 0xcc, 0x50, 0x1e, 0x40, 0xc, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0xd8, 0x0, 0x11, 0x0, 0x24, 0x0, 0x30, 0x0, 0x3c, 0x0, 0x46, 0x0, 0x58, 0x0, 0x0, 0x1, 0x20, 0x1, 0x16, 0x15, 0x10, 0x5, 0x6, 0x2b, 0x1, 0x20, 0x1, 0x26, 0x3d, 0x1, 0x10, 0x1, 0x36, 0x5, 0x26, 0x23, 0x20, 0x3, 0x6, 0x15, 0x10, 0x5, 0x16, 0x33, 0x20, 0x13, 0x36, 0x3d, 0x1, 0x2, 0x25, 0x26, 0x1, 0x23, 0x22, 0x27, 0x13, 0x16, 0x3b, 0x1, 0x32, 0x37, 0x13, 0x6, 0x1, 0x6, 0x1d, 0x1, 0x21, 0x35, 0x10, 0x25, 0x36, 0x37, 0x13, 0x6, 0x25, 0x16, 0x17, 0x21, 0x26, 0x27, 0x26, 0x27, 0x13, 0x16, 0x1, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x22, 0x27, 0x26, 0x3d, 0x1, 0x34, 0x37, 0x36, 0x3, 0x89, 0x1, 0x7f, 0x1, 0x8, 0x72, 0xfe, 0xc3, 0xc2, 0xd4, 0x20, 0xfe, 0x84, 0xfe, 0xfa, 0x63, 0x1, 0x52, 0xb9, 0x2, 0x1e, 0xa6, 0xa7, 0xfe, 0xd4, 0xeb, 0x7e, 0x1, 0x17, 0xb2, 0xdf, 0x1, 0x55, 0xea, 0x59, 0x1, 0xfe, 0xad, 0x5, 0xfe, 0xd4, 0x1c, 0xa8, 0x8d, 0xd1, 0x30, 0x38, 0x8, 0x32, 0x2e, 0xd4, 0x8d, 0xfe, 0xe0, 0x5f, 0xfe, 0x57, 0x1, 0x1f, 0x12, 0x13, 0xd2, 0x7, 0x2, 0x86, 0x5f, 0x3, 0xfe, 0x56, 0x1, 0x1f, 0x22, 0x2b, 0xd2, 0x7d, 0xfe, 0x49, 0x52, 0x38, 0x19, 0x44, 0x29, 0x2e, 0x7, 0x50, 0x39, 0x14, 0x48, 0x27, 0x5, 0xd8, 0xfe, 0x8d, 0xaf, 0xd6, 0xfe, 0xb0, 0xfd, 0x93, 0x1, 0x83, 0xae, 0xb2, 0x1c, 0x1, 0x53, 0x1, 0x2, 0x84, 0xac, 0x5d, 0xfe, 0xd9, 0xb1, 0xc2, 0xfe, 0xc4, 0xe2, 0x8a, 0x1, 0x5a, 0x96, 0xa6, 0xf, 0x1, 0x59, 0xe0, 0x4, 0xfb, 0x48, 0x59, 0x1, 0x6f, 0x1f, 0x1d, 0xfe, 0x92, 0x58, 0x3, 0x28, 0x49, 0x5f, 0x5, 0x10, 0x1, 0x20, 0xdb, 0xd, 0xc, 0xfe, 0x92, 0x4, 0x8f, 0x91, 0xb0, 0x3b, 0x2e, 0x32, 0x19, 0x1, 0x6c, 0x4f, 0xfe, 0xcf, 0x50, 0x25, 0x2e, 0x47, 0x36, 0x1f, 0x52, 0x25, 0x26, 0x5, 0x49, 0x38, 0x1c, 0x0, 0x0, 0x6, 0x0, 0x64, 0x0, 0x0, 0x6, 0xc8, 0x5, 0xd8, 0x0, 0xf, 0x0, 0x1d, 0x0, 0x29, 0x0, 0x4e, 0x0, 0x6c, 0x0, 0x8d, 0x0, 0x0, 0x1, 0x3e, 0x1, 0x35, 0x34, 0x27, 0x36, 0x37, 0x16, 0x15, 0x14, 0x6, 0x7, 0x26, 0x35, 0x34, 0x3, 0x26, 0x23, 0x22, 0x6, 0x7, 0x26, 0x27, 0x36, 0x33, 0x32, 0x16, 0x17, 0x6, 0x1, 0x14, 0x16, 0x17, 0x6, 0x7, 0x2e, 0x1, 0x35, 0x34, 0x37, 0x16, 0x1, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x16, 0x33, 0x32, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x17, 0x6, 0x15, 0x14, 0x17, 0x1e, 0x1, 0x33, 0x32, 0x1, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x33, 0x16, 0x17, 0x16, 0x11, 0x15, 0x2e, 0x1, 0x23, 0x6, 0x7, 0x27, 0x36, 0x35, 0x34, 0x27, 0x35, 0x36, 0x37, 0x36, 0x35, 0x34, 0x26, 0x1, 0x26, 0x35, 0x34, 0x37, 0x36, 0x3b, 0x1, 0x27, 0x26, 0x27, 0x12, 0x25, 0xe, 0x1, 0x15, 0x14, 0x17, 0x16, 0x1f, 0x1, 0x6, 0x15, 0x14, 0x17, 0x7, 0x26, 0x2b, 0x1, 0x22, 0x23, 0x22, 0x6, 0x4, 0x38, 0x44, 0x48, 0x1, 0x24, 0x24, 0x2, 0x79, 0x55, 0xa, 0xe, 0x3f, 0x4c, 0x7, 0x5b, 0x3e, 0x21, 0x15, 0x57, 0x74, 0x7, 0x85, 0x4a, 0x19, 0xfe, 0x28, 0x5b, 0x46, 0x3, 0x10, 0x68, 0x6f, 0x2, 0x2a, 0x3, 0xc1, 0x6d, 0xa6, 0x2e, 0x32, 0xa4, 0x5c, 0x1, 0x3d, 0x77, 0x5c, 0x60, 0x7c, 0x80, 0x55, 0x50, 0x37, 0xb8, 0x3a, 0x2f, 0x1b, 0x45, 0x22, 0x20, 0x1f, 0x1d, 0x40, 0x1a, 0x37, 0x3f, 0xa0, 0x45, 0x50, 0xfe, 0xa6, 0xa2, 0x5d, 0x10, 0x45, 0x4, 0x69, 0x78, 0xc3, 0xd, 0xd2, 0x70, 0xb7, 0x82, 0x46, 0x1, 0x40, 0xb6, 0x54, 0x35, 0x18, 0xfb, 0x86, 0x4, 0x79, 0x6d, 0xb4, 0x12, 0x2, 0x2c, 0x2, 0x11, 0x1, 0x14, 0xb1, 0x22, 0x26, 0x65, 0xbf, 0x1, 0x42, 0x2, 0x40, 0x71, 0xa6, 0xe, 0x3, 0x4, 0x80, 0xb2, 0x1, 0x91, 0x28, 0x8b, 0x41, 0xc, 0xc, 0xe, 0x5, 0x13, 0x12, 0x5f, 0xc3, 0x25, 0x18, 0x19, 0xe, 0x2, 0xd, 0x23, 0x4, 0x2b, 0x16, 0x1c, 0x42, 0x5, 0x37, 0x21, 0xfe, 0xea, 0x4e, 0x8f, 0x20, 0x26, 0x22, 0x2e, 0xcb, 0x4f, 0x10, 0xf, 0x6, 0xfd, 0xb2, 0x53, 0x6, 0x24, 0xaa, 0x2, 0x58, 0x45, 0x2f, 0x4b, 0x28, 0x41, 0x61, 0x5d, 0x64, 0x4c, 0x50, 0x2a, 0x18, 0x17, 0x27, 0x46, 0x43, 0x61, 0x59, 0x72, 0x3d, 0x5, 0xa0, 0x43, 0xd9, 0x34, 0x34, 0x6d, 0x6f, 0xa, 0x43, 0x82, 0xfe, 0xff, 0xa, 0x9d, 0xb6, 0xa, 0x93, 0x28, 0x7, 0x7, 0x46, 0x19, 0x4b, 0x1f, 0x9c, 0x57, 0x59, 0x1a, 0x8e, 0xfc, 0x46, 0x18, 0x19, 0x95, 0xa1, 0x76, 0x2, 0x62, 0x89, 0x1, 0xe, 0x70, 0x68, 0xb4, 0x27, 0x55, 0x44, 0x98, 0x27, 0x52, 0x1d, 0x3c, 0x9, 0xa, 0x24, 0x88, 0x93, 0x0, 0x0, 0x0, 0x0, 0x17, 0x0, 0x64, 0xff, 0xfc, 0x4, 0xf6, 0x5, 0xd1, 0x0, 0x7, 0x0, 0x1d, 0x0, 0x23, 0x0, 0x2b, 0x0, 0x3f, 0x0, 0x56, 0x0, 0x6d, 0x0, 0x83, 0x0, 0xa2, 0x0, 0xad, 0x0, 0xb2, 0x0, 0xb7, 0x0, 0xbc, 0x0, 0xc1, 0x0, 0xc9, 0x0, 0xd0, 0x0, 0xd5, 0x0, 0xda, 0x0, 0xdf, 0x0, 0xe5, 0x0, 0xed, 0x0, 0xf4, 0x1, 0x23, 0x0, 0x0, 0x1, 0x6, 0x15, 0x14, 0x33, 0x32, 0x37, 0x26, 0x17, 0x22, 0x7, 0x6, 0x23, 0x22, 0x27, 0x37, 0x27, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x6, 0x7, 0x26, 0x27, 0x24, 0x35, 0x34, 0x1, 0x6, 0x7, 0x23, 0x26, 0x37, 0x3, 0x16, 0x33, 0x32, 0x35, 0x34, 0x27, 0x26, 0x13, 0x15, 0x6, 0x23, 0x22, 0x27, 0x35, 0x26, 0x35, 0x36, 0x37, 0x16, 0x17, 0x6, 0x15, 0x14, 0x4, 0x7, 0x23, 0x26, 0x27, 0x15, 0x27, 0x35, 0x24, 0x27, 0x36, 0x37, 0x16, 0x17, 0x6, 0x15, 0x14, 0x4, 0x15, 0x14, 0x7, 0x27, 0x36, 0x35, 0x34, 0x27, 0x36, 0x3, 0x15, 0x27, 0x35, 0x24, 0x27, 0x36, 0x37, 0x16, 0x17, 0x6, 0x15, 0x14, 0x17, 0x6, 0x4, 0x17, 0x6, 0x7, 0x27, 0x36, 0x35, 0x34, 0x7, 0x24, 0x27, 0x36, 0x37, 0x16, 0x17, 0x6, 0x15, 0x14, 0x4, 0x17, 0x6, 0x7, 0x26, 0x27, 0x36, 0x35, 0x34, 0x27, 0x15, 0x27, 0x13, 0x15, 0x27, 0x35, 0x24, 0x35, 0x36, 0x37, 0x33, 0x32, 0x17, 0x7, 0x17, 0x6, 0x23, 0x22, 0x27, 0x26, 0x23, 0x22, 0x15, 0x14, 0x4, 0x17, 0x6, 0x7, 0x26, 0x27, 0x24, 0x27, 0x36, 0x1, 0x14, 0x1e, 0x1, 0x33, 0x26, 0x34, 0x37, 0x22, 0xe, 0x1, 0x5, 0x16, 0x17, 0x37, 0x26, 0x27, 0x16, 0x17, 0x37, 0x26, 0x27, 0x16, 0x17, 0x37, 0x26, 0x27, 0x16, 0x7, 0x37, 0x26, 0x27, 0x14, 0x15, 0x14, 0x7, 0x17, 0x35, 0x34, 0x27, 0x6, 0x7, 0x17, 0x36, 0x35, 0x34, 0x5, 0x17, 0x36, 0x37, 0x6, 0x7, 0x17, 0x36, 0x37, 0x6, 0x7, 0x17, 0x36, 0x37, 0x6, 0x1f, 0x1, 0x35, 0x34, 0x37, 0x6, 0x17, 0x37, 0x26, 0x35, 0x34, 0x35, 0x6, 0x15, 0x3f, 0x1, 0x26, 0x27, 0x6, 0x15, 0x14, 0x17, 0x15, 0x27, 0x35, 0x26, 0x23, 0x22, 0x7, 0x20, 0x27, 0x36, 0x25, 0x16, 0x17, 0x16, 0x33, 0x35, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x3e, 0x1, 0x32, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x6, 0x7, 0x33, 0x14, 0x23, 0x15, 0x36, 0x37, 0x4, 0x17, 0x6, 0x21, 0x26, 0x23, 0x22, 0x3, 0x57, 0x4, 0xb, 0xc, 0x19, 0xa, 0x4f, 0x7, 0x8, 0x42, 0x37, 0x19, 0x16, 0x5b, 0x6c, 0x23, 0x3e, 0xb, 0xd, 0xcc, 0xd, 0x2, 0x8d, 0x46, 0x9d, 0x1, 0x12, 0xfe, 0x88, 0x5f, 0x1f, 0xf, 0x1, 0x56, 0x68, 0x1b, 0xd, 0xa, 0x5, 0x22, 0xef, 0xb, 0x1a, 0x22, 0x3, 0xae, 0x4, 0x40, 0x2e, 0x2c, 0x3d, 0x1, 0x36, 0x2, 0xf, 0x1a, 0x74, 0x4a, 0xfe, 0xe8, 0x4, 0x2, 0x80, 0x34, 0x56, 0xae, 0x1, 0xb6, 0x70, 0x31, 0x45, 0x2, 0x1, 0x51, 0x4a, 0xfe, 0x93, 0x3, 0x5, 0x71, 0x4d, 0x69, 0xce, 0x1, 0xa, 0x2, 0x76, 0x2, 0x5, 0x96, 0x68, 0xa3, 0xfd, 0xfe, 0xf3, 0x5, 0x1, 0x70, 0x48, 0x49, 0xa3, 0x2, 0x15, 0x3, 0x4, 0xae, 0x21, 0x3a, 0xaf, 0xbd, 0x4a, 0x4a, 0x4a, 0xfe, 0x81, 0xd, 0xcd, 0x8, 0x3d, 0x34, 0x6d, 0x5c, 0x17, 0x18, 0x38, 0x42, 0x8, 0x7, 0x2a, 0x2, 0xd2, 0x6, 0x7, 0xae, 0x3f, 0x6f, 0x1, 0x7, 0x2, 0xc, 0xfe, 0x76, 0x12, 0x21, 0x12, 0xf, 0xf, 0x11, 0x22, 0x12, 0x1, 0xba, 0x74, 0x2c, 0x1b, 0x60, 0x97, 0x73, 0x26, 0x2a, 0x5f, 0x7e, 0x50, 0x11, 0x31, 0x3e, 0x81, 0x35, 0x1, 0x3d, 0x27, 0x67, 0x16, 0x3d, 0x3e, 0x32, 0x34, 0x3c, 0x2b, 0xfd, 0x13, 0x1b, 0x2d, 0x73, 0x5b, 0x2c, 0x2a, 0x26, 0x73, 0x64, 0x14, 0x31, 0x11, 0x50, 0x54, 0x10, 0x3e, 0x33, 0x4a, 0x40, 0x3d, 0x16, 0x27, 0x68, 0x3c, 0x34, 0x32, 0x1, 0xe5, 0x4a, 0x2d, 0x48, 0x23, 0x2a, 0xfe, 0xf5, 0x59, 0x54, 0x1, 0x5f, 0x17, 0x59, 0x2, 0x1, 0x3, 0x2, 0x14, 0x17, 0x17, 0x29, 0x2a, 0x29, 0x17, 0x16, 0x14, 0x3, 0x3, 0x1, 0x1, 0x58, 0x18, 0x1, 0x5e, 0x54, 0x59, 0xfe, 0xf5, 0x2a, 0x24, 0x44, 0x4, 0x20, 0x8, 0x4, 0x9, 0xa, 0x14, 0x3f, 0x2, 0x18, 0x5, 0x17, 0x19, 0x3e, 0x2, 0x4, 0x7d, 0x3e, 0x20, 0x11, 0x9, 0x14, 0x2a, 0x30, 0xfc, 0x74, 0x22, 0x3c, 0x48, 0x23, 0x3, 0xa6, 0xb, 0x8, 0x5, 0x9, 0x9, 0xfc, 0x2d, 0x38, 0x1a, 0x38, 0x29, 0x1e, 0x36, 0x31, 0x18, 0xd, 0x6, 0x15, 0x15, 0x29, 0x36, 0x66, 0x38, 0xad, 0x5a, 0xd, 0x5c, 0x2b, 0x48, 0x44, 0x20, 0x13, 0x9, 0x1a, 0x27, 0x2a, 0x3e, 0x4a, 0x2e, 0xe, 0xb, 0x11, 0x1d, 0x5, 0x5, 0x17, 0x1, 0x99, 0x8c, 0xd, 0x89, 0x26, 0x62, 0x35, 0x16, 0x14, 0x7, 0xf, 0x1d, 0x2, 0x2, 0x34, 0x43, 0x55, 0x45, 0x20, 0x1b, 0x27, 0x1a, 0x27, 0xa4, 0x21, 0x60, 0x39, 0x1e, 0xc, 0x7, 0x21, 0x2c, 0x28, 0x4d, 0x54, 0x45, 0x15, 0xf, 0xb, 0x1e, 0x2a, 0x21, 0x1d, 0x85, 0xc, 0x2, 0x4, 0x7f, 0x8, 0x7d, 0x15, 0x71, 0x7e, 0x4, 0x3d, 0x18, 0x17, 0x5, 0x18, 0x2, 0x2f, 0x2b, 0x29, 0x66, 0x5b, 0x14, 0x10, 0xf, 0x1c, 0x34, 0x1f, 0x2, 0x66, 0x12, 0x20, 0x11, 0x21, 0x42, 0x22, 0x11, 0x20, 0x3c, 0x40, 0x30, 0x26, 0x39, 0x15, 0x63, 0x3f, 0x22, 0x56, 0x2b, 0x80, 0x47, 0x13, 0x6f, 0x4d, 0x93, 0x4b, 0x8, 0x7e, 0x61, 0x11, 0xf, 0x84, 0x3f, 0xb, 0xc, 0x7d, 0x62, 0x89, 0x39, 0x19, 0x65, 0x5c, 0xd, 0x50, 0x26, 0x30, 0x40, 0x11, 0x6b, 0x22, 0x3f, 0x63, 0x2a, 0x89, 0x13, 0x47, 0x80, 0x45, 0x89, 0x8, 0x6, 0x4a, 0x8e, 0x58, 0x8d, 0xb, 0x3f, 0x84, 0xf, 0x11, 0x65, 0x7d, 0x4, 0x19, 0x39, 0x89, 0xd, 0xd, 0x5c, 0xab, 0xce, 0x6, 0xc2, 0x34, 0xc, 0xa5, 0x5c, 0x6, 0x36, 0x1e, 0x1, 0x18, 0x1, 0x2, 0xa, 0x27, 0x16, 0x15, 0x27, 0x16, 0x16, 0x27, 0x15, 0x16, 0x27, 0xa, 0x2, 0x1, 0x1, 0x16, 0x1e, 0x36, 0x6, 0x5c, 0xa5, 0xd, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xaa, 0x0, 0x0, 0x5, 0x4e, 0x5, 0xd9, 0x0, 0x8, 0x0, 0x28, 0x0, 0x0, 0x1, 0x26, 0x27, 0x6, 0x7, 0x16, 0x17, 0x36, 0x35, 0x3, 0x26, 0x27, 0x36, 0x37, 0x16, 0x17, 0x15, 0x14, 0x7, 0x33, 0x32, 0x37, 0x11, 0x26, 0x2b, 0x2, 0x11, 0x14, 0x17, 0x21, 0x36, 0x35, 0x11, 0x2b, 0x1, 0x22, 0x7, 0x11, 0x16, 0x33, 0x3, 0x79, 0x2, 0x79, 0x79, 0x2, 0x8, 0x73, 0x7b, 0xc5, 0x77, 0xc, 0x3, 0xca, 0xca, 0x3, 0x83, 0xa3, 0xb5, 0xae, 0xa9, 0xb3, 0x6, 0xa4, 0x63, 0xfe, 0xa6, 0x63, 0xa8, 0x6, 0xb3, 0xa9, 0xae, 0xb5, 0x4, 0xde, 0xb1, 0x2, 0x2, 0xb1, 0x8e, 0x71, 0x58, 0x9f, 0xfe, 0xf1, 0x65, 0xb8, 0xf3, 0x2, 0x2, 0xf3, 0xe, 0xb7, 0x58, 0x63, 0xfe, 0xf7, 0x36, 0xfe, 0xc, 0xb5, 0xae, 0xae, 0xb5, 0x1, 0xf4, 0x36, 0x1, 0x9, 0x63, 0x0, 0x0, 0x3, 0x0, 0xaa, 0xff, 0xfd, 0x4, 0x88, 0x5, 0xd9, 0x0, 0x3, 0x0, 0x20, 0x0, 0x2c, 0x0, 0x0, 0x1, 0x15, 0x33, 0x35, 0x27, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x15, 0x33, 0x5, 0x15, 0x21, 0x11, 0x17, 0x15, 0x27, 0x3, 0x23, 0x3, 0x27, 0x35, 0x17, 0x11, 0x21, 0x35, 0x21, 0x35, 0x23, 0x35, 0x13, 0x33, 0x11, 0x21, 0x35, 0x21, 0x35, 0x23, 0x15, 0x21, 0x15, 0x21, 0x2, 0x2d, 0xca, 0xb7, 0xab, 0x7d, 0x7d, 0x9, 0x1, 0x94, 0xfe, 0x63, 0x8f, 0x88, 0x1, 0xb1, 0x1, 0x86, 0x86, 0xfe, 0x6b, 0x1, 0x96, 0x76, 0xa4, 0x47, 0x1, 0xc, 0xfe, 0xf4, 0x47, 0xfe, 0xf5, 0x1, 0xb, 0x5, 0x40, 0x3c, 0x3c, 0x33, 0x66, 0x66, 0xa2, 0x58, 0x1, 0xaf, 0xfd, 0xe8, 0x8b, 0x9c, 0x85, 0xfe, 0xee, 0x1, 0xbc, 0x86, 0x9b, 0x82, 0x1, 0x71, 0xb0, 0x58, 0xa2, 0xfc, 0xcf, 0x1, 0xbb, 0x47, 0x63, 0x63, 0x47, 0x0, 0x0, 0x0, 0x2, 0x0, 0xaa, 0x0, 0x0, 0x5, 0x9b, 0x7, 0x4a, 0x0, 0x7, 0x0, 0x20, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x36, 0x10, 0x26, 0x23, 0x1, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 0x6, 0x2b, 0x1, 0x11, 0x37, 0x33, 0x9, 0x1, 0x23, 0x3, 0x11, 0x23, 0x11, 0x3, 0x23, 0x9, 0x1, 0x33, 0x3, 0x28, 0xd1, 0x74, 0x7f, 0x7f, 0x74, 0xfe, 0x8a, 0x1, 0x76, 0xce, 0xd4, 0xd4, 0xce, 0xd1, 0xda, 0xdc, 0xfe, 0x67, 0x1, 0xae, 0xdb, 0xef, 0xa6, 0xfe, 0xdb, 0x1, 0xb7, 0xfe, 0x6e, 0xdc, 0x6, 0xa7, 0xfd, 0xd8, 0x90, 0x1, 0x8, 0x90, 0xfc, 0x4, 0x4, 0x9f, 0xdf, 0xd8, 0xd9, 0xde, 0xfe, 0xcd, 0xed, 0xfe, 0x42, 0xfe, 0x28, 0x1, 0x6, 0xfe, 0xfa, 0x1, 0x17, 0xfe, 0xe9, 0x1, 0xe1, 0x1, 0xb5, 0x0, 0x1, 0x0, 0xaa, 0x0, 0x0, 0x3, 0xb2, 0x5, 0xd7, 0x0, 0x1f, 0x0, 0x0, 0x1, 0x33, 0x17, 0x15, 0x33, 0x17, 0x15, 0x7, 0x23, 0x15, 0x21, 0x17, 0x15, 0x7, 0x21, 0x11, 0x7, 0x23, 0x27, 0x11, 0x21, 0x27, 0x35, 0x37, 0x21, 0x35, 0x23, 0x27, 0x35, 0x37, 0x33, 0x35, 0x1, 0xd7, 0xab, 0x6, 0xa5, 0x5, 0x5, 0xa5, 0x1, 0x24, 0x6, 0x6, 0xfe, 0xdc, 0x6, 0xab, 0x6, 0xfe, 0xde, 0x5, 0x5, 0x1, 0x22, 0xa3, 0x5, 0x5, 0xa3, 0x5, 0xd7, 0x5, 0x9b, 0x6, 0x94, 0x6, 0x71, 0x6, 0x98, 0x5, 0xfc, 0x82, 0x5, 0x5, 0x3, 0x7e, 0x5, 0x98, 0x6, 0x71, 0x6, 0x94, 0x6, 0x9b, 0x0, 0x0, 0x0, 0x1, 0x0, 0xaa, 0xff, 0xfd, 0x6, 0x82, 0x5, 0xd5, 0x0, 0x2b, 0x0, 0x0, 0x1, 0x21, 0x17, 0x15, 0x7, 0x23, 0x11, 0x21, 0x35, 0x37, 0x33, 0x17, 0x11, 0x7, 0x23, 0x27, 0x35, 0x21, 0x11, 0x33, 0x17, 0x15, 0x7, 0x21, 0x27, 0x35, 0x37, 0x33, 0x11, 0x21, 0x15, 0x7, 0x23, 0x27, 0x11, 0x37, 0x33, 0x17, 0x15, 0x21, 0x11, 0x23, 0x27, 0x35, 0x2, 0xbb, 0x1, 0xb6, 0x6, 0x6, 0xa0, 0x2, 0x3b, 0x6, 0x6a, 0x6, 0x6, 0x6a, 0x6, 0xfd, 0xc5, 0xa0, 0x6, 0x6, 0xfe, 0x4a, 0x6, 0x6, 0xaa, 0xfd, 0xc4, 0x6, 0x73, 0x6, 0x6, 0x73, 0x6, 0x2, 0x3c, 0xaa, 0x6, 0x5, 0xd5, 0x6, 0x77, 0x6, 0xfd, 0xd1, 0xa1, 0x6, 0x6, 0xfe, 0x49, 0x6, 0x6, 0x9e, 0xfd, 0xc8, 0x6, 0x6a, 0x6, 0x6, 0x6a, 0x6, 0x2, 0x38, 0x9e, 0x6, 0x6, 0x1, 0xb7, 0x6, 0x6, 0xa1, 0x2, 0x2f, 0x6, 0x77, 0x0, 0x2, 0x0, 0xb2, 0x0, 0x0, 0x6, 0x7b, 0x5, 0xd8, 0x0, 0x1b, 0x0, 0x2c, 0x0, 0x0, 0x1, 0x33, 0x32, 0x17, 0x23, 0x27, 0x20, 0x3, 0x6, 0x15, 0x10, 0x5, 0x16, 0x33, 0x25, 0x15, 0x6, 0x7, 0x6, 0x2b, 0x1, 0x20, 0x3, 0x26, 0x35, 0x10, 0x25, 0x36, 0x1, 0x33, 0x32, 0x17, 0x33, 0x15, 0x7, 0x16, 0x15, 0x27, 0x7, 0x23, 0x35, 0x37, 0x27, 0x35, 0x33, 0x3, 0x9c, 0x15, 0xdd, 0xd2, 0x6, 0xef, 0xfe, 0xa9, 0xd1, 0x5e, 0x1, 0x56, 0x88, 0x9c, 0x1, 0x1, 0xa0, 0x8a, 0x51, 0x36, 0x1c, 0xfe, 0x91, 0xee, 0x84, 0x1, 0x86, 0xac, 0x2, 0x7f, 0x3, 0x6, 0x3e, 0xd1, 0xa8, 0x41, 0xb1, 0xa9, 0x3, 0x42, 0xac, 0xd5, 0x5, 0xd8, 0x92, 0x36, 0xfe, 0xca, 0x9e, 0xb9, 0xfe, 0x92, 0xd6, 0x47, 0x32, 0x6, 0x6b, 0x1a, 0xb, 0x1, 0x3e, 0xc0, 0xe9, 0x1, 0xaa, 0xee, 0x59, 0xfe, 0x33, 0xc9, 0x3, 0x7e, 0xbb, 0x11, 0x7c, 0x7c, 0x3, 0xc9, 0x7e, 0x3, 0x0, 0x0, 0x0, 0x4, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x83, 0x5, 0xd9, 0x0, 0x16, 0x0, 0x4f, 0x0, 0x62, 0x0, 0x73, 0x0, 0x0, 0x1, 0x16, 0x33, 0x32, 0x37, 0x16, 0x33, 0x32, 0x37, 0x35, 0x33, 0x17, 0x15, 0x14, 0xf, 0x1, 0x22, 0x27, 0x6, 0x23, 0x22, 0x27, 0x34, 0x17, 0x33, 0x16, 0x17, 0x32, 0x15, 0x3, 0x33, 0x24, 0x11, 0x34, 0x27, 0x35, 0x16, 0x11, 0x15, 0x10, 0x7, 0x6, 0x7, 0x15, 0x16, 0x3b, 0x1, 0x15, 0x6, 0x2b, 0x1, 0x22, 0x7, 0x27, 0x23, 0x22, 0x27, 0x35, 0x33, 0x32, 0x37, 0x35, 0x27, 0x26, 0x27, 0x26, 0x35, 0x10, 0x3f, 0x1, 0x15, 0x6, 0x15, 0x10, 0x5, 0x35, 0x3, 0x35, 0x37, 0x32, 0x25, 0x15, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x15, 0x23, 0x26, 0x27, 0x26, 0x35, 0x10, 0x25, 0x36, 0x33, 0x34, 0x25, 0x16, 0x17, 0x16, 0x1d, 0x1, 0x14, 0x7, 0x6, 0x7, 0x34, 0x37, 0x36, 0x3d, 0x1, 0x10, 0x25, 0x2, 0xea, 0x1b, 0x40, 0x2e, 0x21, 0x25, 0x2c, 0x42, 0x15, 0x5, 0x2, 0x45, 0x1e, 0x2c, 0x23, 0x21, 0x2d, 0x51, 0x10, 0xb2, 0x2, 0x32, 0x22, 0x8, 0xa, 0x2, 0x1, 0x24, 0x6e, 0xde, 0xe0, 0x4c, 0x2f, 0x50, 0xa5, 0x1a, 0x75, 0x48, 0x81, 0x16, 0x45, 0x44, 0x90, 0x38, 0x88, 0x3c, 0x79, 0x56, 0x58, 0x7d, 0x24, 0x63, 0xc7, 0x21, 0x75, 0x1, 0x26, 0x12, 0x3, 0x23, 0xff, 0x0, 0x5f, 0x41, 0x86, 0x92, 0x2, 0x9e, 0x5d, 0x26, 0x1, 0xc, 0x79, 0x23, 0x2, 0x7b, 0x84, 0x82, 0xb0, 0xa6, 0x59, 0x1f, 0x36, 0x5c, 0xfe, 0xd6, 0x5, 0xd9, 0x4b, 0x30, 0x30, 0x44, 0x7, 0x28, 0x5, 0x3b, 0x1b, 0x4, 0x2c, 0x2c, 0x65, 0x22, 0x87, 0x40, 0xb, 0x5, 0xfc, 0x20, 0xe4, 0x1, 0x70, 0xc2, 0xcf, 0x3, 0xd7, 0xfe, 0xeb, 0x24, 0xfe, 0xf1, 0xdd, 0x42, 0x16, 0x5, 0x28, 0x5, 0x21, 0x63, 0x63, 0x1c, 0x5, 0x2a, 0x3, 0x40, 0x72, 0x4a, 0xb1, 0xb1, 0x1, 0x1, 0xe6, 0x1f, 0x5, 0xc0, 0xe2, 0xfe, 0xa7, 0xf5, 0x2, 0x3, 0x26, 0x16, 0xa9, 0x2a, 0x6, 0x45, 0x63, 0xcc, 0xef, 0xe9, 0xd6, 0x2, 0x4a, 0xe9, 0x6b, 0x67, 0x1, 0xc, 0xcd, 0x46, 0x4, 0x2, 0x1e, 0x70, 0xb7, 0xd8, 0x2f, 0xd4, 0xb6, 0x51, 0x6, 0x7, 0x52, 0xaf, 0xbf, 0x2, 0x1, 0x6d, 0xf4, 0x0, 0x0, 0x0, 0x3, 0x0, 0xaa, 0x0, 0x0, 0x5, 0x5, 0x5, 0xd9, 0x0, 0x5b, 0x0, 0x66, 0x0, 0x6e, 0x0, 0x0, 0x1, 0x32, 0x17, 0xf, 0x1, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x17, 0x23, 0x15, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x37, 0x33, 0x16, 0x11, 0x10, 0x3, 0x26, 0x23, 0x22, 0x15, 0x14, 0x17, 0x16, 0x15, 0x14, 0x15, 0x6, 0x23, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x15, 0x14, 0x15, 0x14, 0x17, 0x14, 0x23, 0x22, 0x35, 0x36, 0x3d, 0x1, 0x6, 0x15, 0x6, 0x2b, 0x1, 0x22, 0x27, 0x34, 0x36, 0x35, 0x34, 0x23, 0x22, 0x7, 0x2, 0x11, 0x34, 0x37, 0x33, 0x17, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x35, 0x23, 0x35, 0x26, 0x35, 0x34, 0x37, 0x2f, 0x1, 0x36, 0x3, 0x14, 0x17, 0x33, 0x36, 0x35, 0x34, 0x27, 0x6, 0x7, 0x6, 0x25, 0x6, 0x15, 0x14, 0x17, 0x36, 0x35, 0x34, 0x2, 0xd8, 0x42, 0x52, 0x13, 0xf, 0x7f, 0x33, 0x38, 0xcd, 0x1, 0x78, 0x79, 0x8e, 0x87, 0x7d, 0x15, 0x5, 0xea, 0x95, 0x78, 0x4f, 0x38, 0x78, 0x1e, 0xd, 0x2a, 0xc, 0x9, 0x2c, 0x6, 0x3b, 0x5e, 0x50, 0x68, 0x6f, 0x50, 0x9a, 0x7, 0x39, 0x6, 0x29, 0xe, 0x96, 0x2e, 0x52, 0x74, 0x9a, 0xe4, 0x5, 0x15, 0x7d, 0xd6, 0x3f, 0x79, 0x77, 0xcc, 0xee, 0x18, 0x10, 0x57, 0xce, 0x87, 0x4, 0x46, 0x1d, 0x59, 0x33, 0x28, 0x1, 0x70, 0x22, 0x41, 0x90, 0x5, 0xd9, 0x4b, 0xf, 0x7c, 0x2e, 0x50, 0x51, 0x55, 0xc7, 0x62, 0x4b, 0x78, 0x81, 0x9d, 0xc6, 0xb0, 0x72, 0x13, 0xa5, 0xfe, 0xfe, 0xfe, 0xe0, 0xfe, 0xc9, 0xae, 0x2d, 0x1c, 0x93, 0x26, 0x2a, 0x2, 0x3, 0x3b, 0x2, 0x22, 0xee, 0x31, 0x96, 0x3, 0x4, 0x46, 0x71, 0x3b, 0x3c, 0x74, 0x4d, 0x92, 0x5d, 0xbf, 0x23, 0x3b, 0x40, 0xa4, 0x22, 0x2b, 0xad, 0x1, 0x21, 0x1, 0x4d, 0xe9, 0xa6, 0x13, 0x79, 0xae, 0xfb, 0xa3, 0x2f, 0x12, 0x78, 0x4b, 0x5c, 0xcc, 0xbe, 0x67, 0x7c, 0x12, 0x48, 0xfd, 0xff, 0x92, 0x4a, 0x69, 0x8b, 0x53, 0x7e, 0x19, 0x4a, 0x3f, 0xa2, 0x73, 0x63, 0x89, 0x66, 0x3d, 0xa8, 0x98, 0x0, 0x0, 0x0, 0x1, 0x0, 0xab, 0x0, 0x0, 0x6, 0x81, 0x5, 0xd7, 0x0, 0x32, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x17, 0x7, 0x23, 0x27, 0x6, 0x23, 0x22, 0x27, 0x15, 0x1, 0x23, 0x26, 0x27, 0x36, 0x1, 0x36, 0x33, 0x16, 0x33, 0x32, 0x37, 0x27, 0x7, 0x23, 0x26, 0x27, 0x13, 0x4, 0x15, 0x7, 0x16, 0x17, 0x35, 0x36, 0x3d, 0x1, 0x34, 0x27, 0x26, 0x2b, 0x1, 0x22, 0x7, 0x36, 0x3, 0xe8, 0xed, 0xd1, 0x96, 0x7d, 0xc2, 0x8c, 0x3, 0xb9, 0xa5, 0xd9, 0xaa, 0x8f, 0xfe, 0xfc, 0x3, 0xcc, 0x4, 0x1a, 0x1, 0x59, 0x18, 0x7, 0x71, 0x9e, 0xbf, 0x97, 0xd9, 0x6c, 0x6, 0xbb, 0x9, 0xe9, 0x1, 0x1b, 0x7e, 0xe6, 0x1d, 0x42, 0xfb, 0x89, 0x77, 0x25, 0x62, 0x78, 0xaa, 0x5, 0xd7, 0xbd, 0x9b, 0xd7, 0xc9, 0x8a, 0x94, 0x83, 0xaa, 0x6e, 0x58, 0x3, 0xfe, 0x31, 0x8d, 0x7, 0x19, 0x1, 0x98, 0x1d, 0x55, 0x68, 0xc6, 0x73, 0x74, 0xc, 0x1, 0x2, 0xe, 0x5, 0x9f, 0xaf, 0xe, 0x2, 0x5a, 0x7c, 0x24, 0xfe, 0x65, 0x45, 0x37, 0x8f, 0x0, 0x0, 0x5, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0xd8, 0x0, 0xb, 0x0, 0x12, 0x0, 0x16, 0x0, 0x1a, 0x0, 0x21, 0x0, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x14, 0x17, 0x1, 0x3, 0x6, 0x0, 0x13, 0x16, 0x17, 0x1b, 0x1, 0x36, 0x37, 0x9, 0x1, 0x36, 0x35, 0x34, 0x0, 0x27, 0x11, 0xaa, 0x1, 0xb6, 0x1, 0x36, 0x1, 0x37, 0x1, 0xb5, 0xfe, 0x4b, 0xfe, 0xc9, 0xfe, 0xca, 0xfe, 0x4a, 0x98, 0x79, 0x1, 0xaa, 0x2, 0xc4, 0xfe, 0xa3, 0xad, 0xb0, 0xc0, 0x2, 0x5f, 0xcd, 0xaa, 0xfe, 0x89, 0x1, 0xbb, 0x71, 0xfe, 0xa1, 0xd3, 0x2, 0xea, 0x1, 0x37, 0x1, 0xb7, 0xfe, 0x49, 0xfe, 0xc9, 0xfe, 0xca, 0xfe, 0x4c, 0x1, 0xb4, 0x1, 0x36, 0xe5, 0x78, 0x1, 0xf5, 0x1, 0xc2, 0x4, 0xfe, 0xa3, 0xfd, 0x62, 0xb1, 0x6, 0x2, 0x68, 0xfd, 0x96, 0x8, 0xa4, 0x1, 0xb6, 0xfe, 0x97, 0x70, 0xf5, 0xf9, 0x1, 0x5d, 0x4, 0xfe, 0x42, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0xd8, 0x0, 0x12, 0x0, 0x1e, 0x0, 0x28, 0x0, 0x34, 0x0, 0x0, 0x1, 0x15, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x10, 0x0, 0x21, 0x20, 0x0, 0x3, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x5, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x5, 0x34, 0x26, 0x22, 0x6, 0x15, 0x14, 0x16, 0x32, 0x36, 0x25, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x3, 0x96, 0xa, 0xc5, 0x90, 0x92, 0xc9, 0xfe, 0x62, 0xfe, 0xe4, 0xfe, 0xde, 0xfe, 0x7b, 0x14, 0x18, 0xb1, 0x95, 0x8f, 0xc6, 0x1, 0xca, 0x3d, 0x26, 0x2a, 0x3c, 0x3c, 0x2a, 0x28, 0x3b, 0xfd, 0x45, 0x3b, 0x52, 0x3a, 0x3a, 0x52, 0x3b, 0x3, 0xe5, 0xfe, 0x4b, 0xfe, 0xc9, 0xfe, 0xca, 0xfe, 0x4a, 0x1, 0xb6, 0x1, 0x36, 0x1, 0x37, 0x1, 0xb5, 0x2, 0xf8, 0x1a, 0x8e, 0xc1, 0xcf, 0x9a, 0x1, 0x16, 0x1, 0x98, 0xfe, 0x7b, 0xfe, 0xc9, 0xac, 0xb2, 0xc0, 0x9e, 0x29, 0x3a, 0x3a, 0x29, 0x2a, 0x3c, 0x3c, 0x2a, 0x2a, 0x3c, 0x3c, 0x2a, 0x29, 0x3a, 0x3c, 0x27, 0xfe, 0xca, 0xfe, 0x4c, 0x1, 0xb4, 0x1, 0x36, 0x1, 0x37, 0x1, 0xb7, 0xfe, 0x49, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0xd5, 0x12, 0x26, 0xf, 0x5c, 0x0, 0x0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x2, 0x86, 0x10, 0x7, 0xf, 0x5c, 0x0, 0x0, 0x5, 0xd, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x83, 0x5, 0xd4, 0x12, 0x26, 0xf, 0x5c, 0x0, 0x0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x1, 0x2, 0x85, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x5, 0xc, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0xd5, 0x12, 0x26, 0xf, 0x5c, 0x0, 0x0, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x2, 0x85, 0x10, 0x7, 0xf, 0x5c, 0x0, 0x0, 0x5, 0xd, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0xd5, 0x12, 0x26, 0xf, 0x5c, 0x0, 0x0, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x2, 0x85, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x5, 0xd, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0xd5, 0x12, 0x26, 0xf, 0x5d, 0x0, 0x0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x2, 0x85, 0x10, 0x7, 0xf, 0x5c, 0x0, 0x0, 0x5, 0xd, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0xd5, 0x12, 0x26, 0xf, 0x5d, 0x0, 0x0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x2, 0x85, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x5, 0xd, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0xd5, 0x12, 0x26, 0xf, 0x5d, 0x0, 0x0, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x2, 0x85, 0x10, 0x7, 0xf, 0x5c, 0x0, 0x0, 0x5, 0xd, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0xd5, 0x12, 0x26, 0xf, 0x5d, 0x0, 0x0, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x2, 0x85, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x5, 0xd, 0x0, 0xa, 0x0, 0x87, 0xff, 0xea, 0x6, 0xa5, 0x5, 0xe1, 0x0, 0xc, 0x0, 0x40, 0x0, 0x46, 0x0, 0x4c, 0x0, 0x52, 0x0, 0x58, 0x0, 0x5e, 0x0, 0x64, 0x0, 0x6a, 0x0, 0x70, 0x0, 0x0, 0x0, 0x14, 0x17, 0x16, 0x33, 0x32, 0x36, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x5, 0x26, 0x34, 0x37, 0x33, 0x36, 0x37, 0x27, 0x36, 0x37, 0x17, 0x36, 0x37, 0x35, 0x36, 0x32, 0x17, 0x15, 0x16, 0x17, 0x37, 0x16, 0x17, 0x7, 0x16, 0x17, 0x33, 0x16, 0x14, 0x7, 0x23, 0x6, 0x7, 0x17, 0x6, 0x7, 0x27, 0x6, 0x7, 0x15, 0x6, 0x23, 0x27, 0x35, 0x26, 0x27, 0x7, 0x26, 0x27, 0x37, 0x26, 0x27, 0x1, 0x36, 0x37, 0x3, 0x6, 0x7, 0x5, 0x16, 0x17, 0x37, 0x26, 0x27, 0x1, 0x36, 0x37, 0x27, 0x6, 0x7, 0x25, 0x16, 0x17, 0x25, 0x26, 0x27, 0x1, 0x26, 0x27, 0x5, 0x16, 0x17, 0x25, 0x6, 0x7, 0x17, 0x36, 0x37, 0x5, 0x6, 0x7, 0x13, 0x36, 0x37, 0x25, 0x26, 0x27, 0x7, 0x16, 0x17, 0x2, 0xf4, 0x30, 0x2f, 0x43, 0x42, 0x5e, 0x30, 0x2f, 0x41, 0x43, 0x2f, 0xfd, 0x7f, 0x1c, 0x1c, 0x70, 0x1b, 0x6b, 0x54, 0xf, 0x63, 0x52, 0x7c, 0xc2, 0x27, 0x4e, 0x28, 0xb6, 0x89, 0x4f, 0x66, 0x11, 0x55, 0x69, 0x1c, 0x70, 0x1c, 0x1c, 0x70, 0x14, 0x71, 0x55, 0x11, 0x66, 0x4f, 0x8a, 0xb6, 0x27, 0x27, 0x4e, 0xb5, 0x8a, 0x51, 0x61, 0x11, 0x51, 0x68, 0x1b, 0x1, 0xfb, 0x21, 0x24, 0xc, 0x8e, 0x62, 0x1, 0x80, 0x29, 0x1d, 0xb7, 0x64, 0x8c, 0xfe, 0xaf, 0x8, 0x16, 0xcb, 0x4c, 0x17, 0x2, 0xf7, 0x18, 0x6, 0x1, 0x12, 0x13, 0x51, 0xfd, 0x6b, 0x14, 0xa, 0xfe, 0xf0, 0x16, 0x4b, 0x2, 0xb4, 0x8, 0x16, 0xcc, 0x52, 0x11, 0xfe, 0x74, 0x21, 0x25, 0xc, 0x8d, 0x63, 0xfe, 0x7f, 0x1d, 0x27, 0xb8, 0x64, 0x8d, 0x3, 0x26, 0x84, 0x2f, 0x2f, 0x5e, 0x84, 0x30, 0x30, 0x30, 0xc3, 0x27, 0x4e, 0x27, 0xb7, 0x7c, 0x50, 0x5f, 0x10, 0x50, 0x66, 0x1e, 0x70, 0x1c, 0x1c, 0x70, 0x16, 0x6f, 0x51, 0xf, 0x60, 0x51, 0x79, 0xb9, 0x27, 0x4e, 0x27, 0xb0, 0x83, 0x50, 0x5c, 0xb, 0x51, 0x67, 0x1d, 0x70, 0x1c, 0x1c, 0x70, 0x17, 0x6d, 0x51, 0xb, 0x5c, 0x50, 0x79, 0xba, 0x1, 0x2c, 0x13, 0xa, 0x1, 0xd, 0x16, 0x4d, 0xaa, 0xa, 0x13, 0xc6, 0x4e, 0x15, 0xfe, 0x3e, 0x26, 0x1a, 0xab, 0x60, 0x82, 0x37, 0x1e, 0x22, 0xa, 0x7f, 0x62, 0xfe, 0x4b, 0x1e, 0x2a, 0x11, 0x8c, 0x56, 0xf4, 0x26, 0x22, 0xac, 0x67, 0x7b, 0x89, 0x12, 0xb, 0xfe, 0xf0, 0x1e, 0x4d, 0xa5, 0x9, 0x14, 0xc2, 0x4d, 0x1e, 0x0, 0x5, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0xa, 0x0, 0x15, 0x0, 0x21, 0x0, 0x2d, 0x0, 0x3d, 0x0, 0x0, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x36, 0x37, 0x36, 0x20, 0x17, 0x16, 0x17, 0x7, 0x26, 0x27, 0x26, 0x20, 0x7, 0x6, 0x7, 0x2, 0x82, 0x51, 0x3b, 0x3a, 0x52, 0x52, 0x3a, 0x3b, 0x51, 0x2, 0x42, 0x52, 0x74, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0xfb, 0xe6, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0xec, 0x24, 0x33, 0xb6, 0x2, 0x4, 0xb6, 0x32, 0x25, 0x73, 0x1d, 0x27, 0x8e, 0xfe, 0x6c, 0x8e, 0x28, 0x1c, 0x3, 0xfd, 0x3b, 0x51, 0x51, 0x76, 0x52, 0x53, 0x3a, 0x3b, 0x51, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0xd9, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0xfd, 0x25, 0x38, 0x33, 0xb5, 0xb5, 0x33, 0x38, 0x48, 0x2c, 0x27, 0x8e, 0x8d, 0x28, 0x2b, 0x0, 0x0, 0x0, 0x5, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0xa, 0x0, 0x15, 0x0, 0x21, 0x0, 0x2d, 0x0, 0x3d, 0x0, 0x0, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x37, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x37, 0x17, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x2, 0x82, 0x51, 0x3b, 0x3a, 0x52, 0x52, 0x3a, 0x3b, 0x51, 0x2, 0x42, 0x52, 0x74, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0xfb, 0xe6, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0xec, 0x73, 0x1c, 0x28, 0x8e, 0x1, 0x94, 0x8e, 0x27, 0x1d, 0x73, 0x25, 0x32, 0xb6, 0xfd, 0xfc, 0xb6, 0x33, 0x3, 0xfd, 0x3b, 0x51, 0x51, 0x76, 0x52, 0x53, 0x3a, 0x3b, 0x51, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0xd9, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0xfd, 0xaa, 0x47, 0x2b, 0x27, 0x8e, 0x8e, 0x27, 0x2c, 0x48, 0x38, 0x33, 0xb5, 0xb5, 0x33, 0x0, 0x0, 0x0, 0x4, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0xa, 0x0, 0x15, 0x0, 0x21, 0x0, 0x31, 0x0, 0x0, 0x1, 0x14, 0x16, 0x33, 0x32, 0x36, 0x34, 0x26, 0x23, 0x22, 0x6, 0x5, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x22, 0x6, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x25, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x37, 0x27, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x27, 0x2, 0x82, 0x51, 0x3b, 0x3a, 0x52, 0x52, 0x3a, 0x3b, 0x51, 0x2, 0x42, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0x74, 0x52, 0xfb, 0xe6, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x1, 0x73, 0x24, 0x33, 0xb6, 0x2, 0x4, 0xb6, 0x32, 0x25, 0x73, 0x1d, 0x27, 0x8e, 0xfe, 0x6c, 0x8e, 0x28, 0x1c, 0x3, 0xfd, 0x3a, 0x53, 0x52, 0x76, 0x51, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0x51, 0xfe, 0xb2, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x5b, 0x38, 0x33, 0xb5, 0xb5, 0x33, 0x38, 0x48, 0x2c, 0x27, 0x8e, 0x8e, 0x27, 0x2b, 0x0, 0xa, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0xd8, 0x0, 0x7, 0x0, 0xc, 0x0, 0x13, 0x0, 0x22, 0x0, 0x2a, 0x0, 0x32, 0x0, 0x3a, 0x0, 0x41, 0x0, 0x49, 0x0, 0x58, 0x0, 0x0, 0x1, 0x33, 0x17, 0x11, 0x7, 0x23, 0x27, 0x11, 0x5, 0x17, 0x15, 0x7, 0x27, 0x25, 0x17, 0x7, 0x23, 0x26, 0x27, 0x35, 0x5, 0x32, 0x1f, 0x1, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x1, 0x21, 0x17, 0x15, 0x7, 0x21, 0x27, 0x35, 0x25, 0x21, 0x17, 0x15, 0x7, 0x21, 0x27, 0x35, 0x3, 0x33, 0x16, 0x17, 0x15, 0x7, 0x27, 0x35, 0x25, 0x33, 0x17, 0x15, 0x7, 0x27, 0x35, 0x25, 0x33, 0x17, 0x11, 0x7, 0x23, 0x27, 0x11, 0x3, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x27, 0x26, 0x23, 0x22, 0x3, 0x73, 0x4e, 0x6, 0x6, 0x4e, 0x6, 0x2, 0x39, 0x39, 0xf8, 0x3d, 0xfc, 0xfb, 0xfd, 0x3e, 0x3, 0xc8, 0x2d, 0x2, 0x31, 0xd7, 0x5c, 0xd, 0xc4, 0x48, 0x30, 0xb5, 0x65, 0x25, 0xbd, 0x46, 0xfd, 0x4b, 0x1, 0x53, 0x6, 0x6, 0xfe, 0xad, 0x6, 0x4, 0x77, 0x1, 0x5a, 0x7, 0x7, 0xfe, 0xa6, 0x6, 0x47, 0x3, 0x86, 0x72, 0x3d, 0xf8, 0xfd, 0xb4, 0x3, 0x3b, 0xf7, 0x3d, 0x2, 0x1b, 0x4e, 0x6, 0x6, 0x4e, 0x6, 0x24, 0x82, 0x19, 0x45, 0x7c, 0x20, 0x31, 0x86, 0x9, 0x3f, 0x92, 0x27, 0x5, 0xd8, 0x6, 0xfe, 0xa1, 0x6, 0x6, 0x1, 0x5f, 0x9c, 0x3e, 0x3, 0xff, 0x3f, 0xee, 0xfe, 0x40, 0xc7, 0x37, 0x4, 0xb5, 0xe2, 0x60, 0xbd, 0x64, 0x18, 0xa8, 0x40, 0x5c, 0xb4, 0x68, 0x1b, 0xfe, 0xed, 0x6, 0x50, 0x6, 0x6, 0x50, 0x6, 0x6, 0x50, 0x6, 0x6, 0x50, 0xfe, 0xe7, 0x82, 0x79, 0x3, 0x3f, 0xfd, 0x4, 0x2b, 0x3c, 0x3, 0xfe, 0x3e, 0x4, 0x77, 0x6, 0xfe, 0xa1, 0x6, 0x6, 0x1, 0x5f, 0x2, 0x56, 0x47, 0x7b, 0x3f, 0x2c, 0x72, 0x11, 0x43, 0x82, 0x41, 0x9a, 0x0, 0x0, 0x0, 0x0, 0x2, 0x2, 0xdd, 0x0, 0x0, 0x6, 0x83, 0x5, 0xd7, 0x0, 0x17, 0x0, 0x2b, 0x0, 0x0, 0x1, 0x20, 0x1, 0x16, 0x15, 0x10, 0x1, 0x6, 0x2b, 0x1, 0x22, 0x27, 0x35, 0x24, 0x37, 0x36, 0x11, 0x10, 0x25, 0x26, 0x27, 0x35, 0x34, 0x37, 0x17, 0x15, 0x4, 0x11, 0x10, 0x5, 0x7, 0x15, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x3d, 0x1, 0x10, 0x1, 0x26, 0x23, 0x3, 0x7e, 0x1, 0x8b, 0x1, 0x10, 0x6a, 0xfe, 0x74, 0xb3, 0xb0, 0x31, 0x2f, 0x51, 0x1, 0x15, 0x7d, 0x9b, 0xfe, 0xb2, 0x88, 0x5d, 0x95, 0x28, 0x1, 0xc9, 0xfe, 0xaf, 0x2b, 0x6, 0x56, 0x9e, 0xe9, 0x52, 0x1d, 0xfe, 0xa5, 0xa3, 0x9e, 0x5, 0xd7, 0xfe, 0x87, 0xad, 0xc6, 0xfe, 0x78, 0xfe, 0xff, 0x62, 0xf, 0x6, 0x4f, 0xb1, 0xca, 0x1, 0xc, 0x1, 0x90, 0xe0, 0x50, 0x10, 0x3, 0xb, 0xe, 0x3e, 0x3, 0xc5, 0xfe, 0x14, 0xfe, 0x6e, 0xe8, 0x18, 0x4, 0x53, 0x98, 0xf4, 0x5d, 0x5d, 0x9, 0x1, 0x3d, 0x1, 0x5, 0x66, 0x0, 0x0, 0x0, 0x2, 0x0, 0xaa, 0x0, 0x0, 0x4, 0x50, 0x5, 0xd8, 0x0, 0x17, 0x0, 0x2b, 0x0, 0x0, 0x21, 0x20, 0x1, 0x26, 0x35, 0x10, 0x1, 0x36, 0x3b, 0x1, 0x32, 0x17, 0x15, 0x4, 0x7, 0x6, 0x11, 0x10, 0x5, 0x16, 0x17, 0x15, 0x14, 0x7, 0x27, 0x35, 0x24, 0x11, 0x10, 0x25, 0x37, 0x35, 0x23, 0x22, 0x7, 0x6, 0x7, 0x6, 0x1d, 0x1, 0x10, 0x1, 0x16, 0x33, 0x3, 0xaf, 0xfe, 0x75, 0xfe, 0xef, 0x69, 0x1, 0x8c, 0xb3, 0xb1, 0x31, 0x2e, 0x50, 0xfe, 0xec, 0x7e, 0x9a, 0x1, 0x4e, 0x88, 0x5d, 0x95, 0x28, 0xfe, 0x37, 0x1, 0x50, 0x2c, 0x6, 0x56, 0x9f, 0xe8, 0x53, 0x1c, 0x1, 0x5a, 0xa4, 0x9e, 0x1, 0x79, 0xad, 0xc6, 0x1, 0x88, 0x1, 0x1, 0x63, 0xf, 0x7, 0x4f, 0xb1, 0xcb, 0xfe, 0xf5, 0xfe, 0x70, 0xe1, 0x4f, 0x10, 0x4, 0xa, 0xe, 0x3e, 0x3, 0xc5, 0x1, 0xed, 0x1, 0x91, 0xe8, 0x18, 0x3, 0x53, 0x96, 0xf5, 0x5c, 0x5e, 0x9, 0xfe, 0xc2, 0xfe, 0xfc, 0x66, 0x0, 0x2, 0x0, 0xaf, 0xff, 0x30, 0x4, 0x3a, 0x5, 0xdb, 0x0, 0x31, 0x0, 0x3e, 0x0, 0x0, 0x1, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x15, 0x37, 0x15, 0x7, 0x17, 0x23, 0x27, 0x23, 0x35, 0x33, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x3d, 0x1, 0x33, 0x15, 0x14, 0x17, 0x16, 0x17, 0x33, 0x36, 0x37, 0x36, 0x3d, 0x1, 0x33, 0x15, 0x14, 0x7, 0x6, 0x5, 0x23, 0x6, 0x7, 0x6, 0x10, 0x16, 0x33, 0x32, 0x36, 0x10, 0x27, 0x26, 0x3, 0x69, 0x28, 0x24, 0x85, 0x84, 0x6c, 0x8f, 0xd8, 0xdc, 0x1, 0x81, 0x1, 0xca, 0xca, 0x2, 0x93, 0x6d, 0x85, 0x85, 0x24, 0x28, 0x28, 0x24, 0x85, 0x8e, 0x5b, 0x55, 0x75, 0x26, 0x74, 0x55, 0x5b, 0x8e, 0x85, 0x24, 0xfe, 0xf7, 0x26, 0x75, 0x55, 0x5b, 0xb7, 0x82, 0x7f, 0xb7, 0x5b, 0x55, 0x4, 0x56, 0x1a, 0x24, 0x83, 0xbd, 0xbc, 0x7c, 0x64, 0xe, 0xd1, 0x2, 0x64, 0x1, 0xca, 0xcb, 0x62, 0xd1, 0xd, 0x65, 0x7c, 0xbc, 0xbd, 0x83, 0x24, 0x1a, 0x19, 0x25, 0x83, 0xbc, 0x8, 0xa, 0x82, 0x5a, 0x53, 0x7, 0x7, 0x53, 0x5a, 0x82, 0xa, 0x8, 0xbc, 0x83, 0x25, 0x5f, 0x6, 0x54, 0x59, 0xfe, 0xfc, 0xaa, 0xaa, 0x1, 0x4, 0x59, 0x54, 0x0, 0x2, 0x0, 0xaf, 0xfe, 0xff, 0x5, 0x2d, 0x5, 0xda, 0x0, 0xb, 0x0, 0x23, 0x0, 0x0, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x1, 0x26, 0x35, 0x34, 0x0, 0x33, 0x32, 0x0, 0x10, 0x7, 0x6, 0x7, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x26, 0x2, 0xee, 0xa4, 0xe7, 0xe7, 0xa4, 0xa1, 0xea, 0xea, 0xfd, 0xc9, 0xa9, 0x1, 0x50, 0xef, 0xec, 0x1, 0x53, 0xa9, 0x88, 0xb4, 0x1, 0x10, 0xfe, 0xf0, 0xb4, 0xfe, 0xf0, 0x1, 0x10, 0xb5, 0x5, 0x27, 0xe4, 0xa4, 0xa3, 0xd8, 0xd8, 0xa3, 0xa4, 0xe4, 0xfc, 0xed, 0x9d, 0xee, 0xef, 0x1, 0x4c, 0xfe, 0xb4, 0xfe, 0x22, 0x9c, 0x7e, 0x12, 0xfe, 0xf8, 0x7c, 0xfe, 0xff, 0x1, 0x1, 0x7c, 0x1, 0x9, 0x11, 0x0, 0x0, 0x0, 0x2, 0x0, 0xaf, 0xff, 0xe3, 0x5, 0x2d, 0x6, 0xbe, 0x0, 0xb, 0x0, 0x23, 0x0, 0x0, 0x25, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1, 0x16, 0x15, 0x14, 0x0, 0x23, 0x22, 0x0, 0x10, 0x37, 0x36, 0x37, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x16, 0x2, 0xee, 0xa4, 0xe7, 0xe7, 0xa4, 0xa1, 0xea, 0xea, 0x2, 0x37, 0xa9, 0xfe, 0xb0, 0xef, 0xec, 0xfe, 0xad, 0xa9, 0x88, 0xb4, 0xfe, 0xf1, 0x1, 0xf, 0xb4, 0x1, 0x10, 0xfe, 0xf0, 0xb5, 0x96, 0xe4, 0xa4, 0xa3, 0xd8, 0xd8, 0xa3, 0xa4, 0xe4, 0x3, 0x13, 0x9d, 0xee, 0xef, 0xfe, 0xb4, 0x1, 0x4c, 0x1, 0xde, 0x9c, 0x7e, 0x12, 0x1, 0x8, 0x7c, 0x1, 0x1, 0xfe, 0xff, 0x7c, 0xfe, 0xf7, 0x11, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xa2, 0xff, 0xe3, 0x6, 0xa5, 0x5, 0xc3, 0x0, 0x9, 0x0, 0x1e, 0x0, 0x0, 0x1, 0x22, 0x6, 0x10, 0x16, 0x33, 0x32, 0x36, 0x10, 0x26, 0x13, 0x6, 0x23, 0x22, 0x0, 0x10, 0x0, 0x17, 0x16, 0x17, 0x1, 0x21, 0x37, 0x21, 0x11, 0x7, 0x11, 0x1, 0x16, 0x15, 0x14, 0x2, 0xe1, 0xa4, 0xe7, 0xe7, 0xa4, 0xa1, 0xea, 0xea, 0xfb, 0xa8, 0xf4, 0xeb, 0xfe, 0xac, 0x1, 0x59, 0xe6, 0xe4, 0x70, 0x1, 0x69, 0xfe, 0x8d, 0x8c, 0x1, 0xee, 0x8f, 0xfe, 0x9a, 0x70, 0x3, 0x96, 0xe4, 0xfe, 0xb8, 0xd8, 0xd8, 0x1, 0x48, 0xe4, 0xfc, 0xf1, 0xa4, 0x1, 0x3d, 0x1, 0xdc, 0x1, 0x55, 0x9, 0x8, 0x67, 0x1, 0x5c, 0x8e, 0xfe, 0x14, 0x8f, 0x1, 0x75, 0xfe, 0xa4, 0x92, 0xc1, 0xe8, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x53, 0x0, 0x0, 0x5, 0xd7, 0x5, 0xd8, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x35, 0x32, 0x36, 0x34, 0x26, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x23, 0x34, 0x0, 0x33, 0x32, 0x0, 0x15, 0x14, 0x7, 0x33, 0x11, 0x33, 0x11, 0x23, 0x11, 0x21, 0x35, 0x3, 0xd, 0x7a, 0xaa, 0xa9, 0x7b, 0x79, 0xab, 0x96, 0x1, 0x2, 0xb8, 0xbb, 0x1, 0x2, 0x6d, 0xe3, 0x97, 0x97, 0xfc, 0x13, 0x2, 0x13, 0x1, 0xab, 0xf2, 0xab, 0xab, 0x79, 0x2, 0xb9, 0x1, 0x4, 0xfe, 0xfc, 0xb9, 0xa8, 0x7b, 0x3, 0xc5, 0xfa, 0x28, 0x1, 0x7c, 0x97, 0x0, 0x0, 0x1, 0x1, 0xc0, 0x0, 0x0, 0x5, 0x6a, 0x5, 0xd8, 0x0, 0x1f, 0x0, 0x0, 0x1, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x36, 0x33, 0x32, 0x12, 0x15, 0x14, 0x6, 0x1d, 0x1, 0x23, 0x34, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x2, 0x2a, 0x6a, 0x6a, 0x98, 0xb2, 0xb2, 0x6f, 0x98, 0xb2, 0xef, 0x8c, 0x97, 0x8d, 0x9b, 0x6f, 0x6e, 0x9a, 0x98, 0x4, 0x8d, 0x97, 0xb4, 0xb4, 0x97, 0xfe, 0x7d, 0x6d, 0xfe, 0xfe, 0xbb, 0x5a, 0xe5, 0x79, 0x2, 0x84, 0xee, 0x48, 0x7b, 0xa9, 0xaa, 0x7a, 0xfe, 0x46, 0x0, 0x0, 0x0, 0x2, 0x0, 0xf8, 0x0, 0x0, 0x6, 0x32, 0x5, 0xd8, 0x0, 0xa, 0x0, 0x31, 0x0, 0x0, 0x0, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x16, 0x17, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x34, 0x37, 0x36, 0x37, 0x11, 0x21, 0x11, 0x21, 0x35, 0x33, 0x11, 0x23, 0x35, 0x21, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x21, 0x15, 0x23, 0x11, 0x33, 0x15, 0x21, 0x11, 0x21, 0x3, 0xcd, 0x70, 0x4f, 0x4f, 0x38, 0x37, 0x4f, 0x3a, 0x3d, 0x30, 0x4c, 0x98, 0x6d, 0x6b, 0x99, 0x4c, 0x2f, 0x3e, 0xfe, 0xe0, 0xfe, 0xce, 0x9b, 0x9b, 0x1, 0x32, 0x1, 0x20, 0x97, 0x1, 0x20, 0x1, 0x31, 0x99, 0x99, 0xfe, 0xcf, 0xfe, 0xe0, 0x1, 0x8c, 0x4f, 0x37, 0x39, 0x4e, 0x4e, 0x39, 0x37, 0xc2, 0x12, 0x30, 0x4c, 0xd8, 0x99, 0x99, 0xd8, 0x4c, 0x31, 0x11, 0x1, 0x8c, 0xfe, 0x4b, 0x97, 0x2, 0xd3, 0x98, 0xfe, 0x4a, 0x1, 0xb6, 0xfe, 0x4a, 0x1, 0xb6, 0x98, 0xfd, 0x2d, 0x97, 0x1, 0xb5, 0x0, 0x1, 0x1, 0x4, 0x0, 0x0, 0x6, 0x27, 0x5, 0xd8, 0x0, 0x3c, 0x0, 0x0, 0x25, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x26, 0x27, 0x26, 0x27, 0x35, 0x7, 0x27, 0x37, 0x33, 0x17, 0x15, 0x27, 0x15, 0x33, 0x15, 0x23, 0x16, 0x17, 0x16, 0x17, 0x11, 0x7, 0x27, 0x37, 0x33, 0x17, 0x15, 0x27, 0x11, 0x36, 0x37, 0x36, 0x3d, 0x1, 0x33, 0x35, 0x7, 0x27, 0x37, 0x33, 0x17, 0x15, 0x27, 0x15, 0x33, 0x15, 0x6, 0x7, 0x6, 0x7, 0x15, 0x33, 0x15, 0x3, 0xe2, 0x97, 0xb0, 0xb0, 0xa5, 0x7a, 0x96, 0x1, 0x90, 0x1, 0x91, 0x98, 0x90, 0x90, 0x2, 0x2, 0x1, 0x68, 0x4e, 0x67, 0x91, 0x1, 0x92, 0x97, 0x91, 0x91, 0x65, 0x4d, 0x6a, 0x1, 0x90, 0x1, 0x91, 0x98, 0x90, 0x90, 0x1, 0x1, 0x96, 0x7a, 0xa5, 0xaf, 0xbb, 0xbb, 0xbb, 0x97, 0x8b, 0x16, 0x7a, 0x96, 0xd7, 0x54, 0x8e, 0x8c, 0x99, 0x99, 0x8c, 0x8e, 0x54, 0x2, 0x97, 0x68, 0x4f, 0x14, 0x2, 0xca, 0x8d, 0x8b, 0x9a, 0x9a, 0x8b, 0x8d, 0xfd, 0x37, 0x14, 0x4e, 0x6a, 0x96, 0x1, 0x59, 0x8e, 0x8c, 0x99, 0x99, 0x8c, 0x8e, 0x59, 0x4, 0xd3, 0x96, 0x79, 0x17, 0x8b, 0x97, 0x0, 0x0, 0x0, 0x2, 0x1, 0xec, 0x0, 0x0, 0x5, 0x3f, 0x5, 0xd8, 0x0, 0x12, 0x0, 0x1d, 0x0, 0x0, 0x1, 0x21, 0x20, 0x17, 0x16, 0x15, 0x10, 0x7, 0x6, 0x23, 0x21, 0x11, 0x21, 0x17, 0x15, 0x7, 0x21, 0x27, 0x11, 0x17, 0x11, 0x21, 0x32, 0x37, 0x36, 0x37, 0x34, 0x27, 0x26, 0x23, 0x1, 0xf4, 0x1, 0x99, 0x1, 0x2e, 0x64, 0x20, 0xfb, 0x3b, 0x36, 0xfe, 0xaa, 0x2, 0x7a, 0x8, 0x8, 0xfc, 0xfd, 0x8, 0x91, 0x1, 0x46, 0x82, 0x48, 0x10, 0x8, 0xa2, 0x25, 0x51, 0x5, 0xd8, 0xd0, 0x4d, 0x5f, 0xfe, 0xf6, 0x5c, 0x11, 0xfd, 0xad, 0x8, 0x82, 0x8, 0x8, 0x5, 0xc7, 0x83, 0xfe, 0x24, 0x82, 0x1a, 0x50, 0xa4, 0x3c, 0x10, 0x0, 0x0, 0x0, 0x1, 0x0, 0x5d, 0x0, 0x0, 0x6, 0xce, 0x5, 0xda, 0x0, 0x24, 0x0, 0x0, 0x21, 0x10, 0x0, 0x23, 0x22, 0x6, 0x15, 0x14, 0x17, 0x23, 0x26, 0x35, 0x34, 0x36, 0x33, 0x20, 0x13, 0x16, 0x17, 0x36, 0x37, 0x12, 0x21, 0x32, 0x16, 0x15, 0x14, 0x7, 0x23, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x0, 0x11, 0x3, 0x56, 0xfe, 0xe2, 0xa9, 0x81, 0x22, 0x54, 0x86, 0x5d, 0xa3, 0x92, 0x1, 0x74, 0x83, 0x8, 0x5, 0x4, 0x8, 0x84, 0x1, 0x73, 0x93, 0xa2, 0x5d, 0x86, 0x55, 0x22, 0x82, 0xa8, 0xfe, 0xe2, 0x2, 0x58, 0x3, 0x5, 0xc5, 0x22, 0x80, 0x80, 0x84, 0xa1, 0x84, 0xbb, 0xfc, 0xfb, 0x31, 0x28, 0x28, 0x31, 0x3, 0x5, 0xbb, 0x84, 0xa1, 0x84, 0x80, 0x81, 0x22, 0xc4, 0xfc, 0xfb, 0xfd, 0xa8, 0x0, 0x0, 0x2, 0x0, 0xb7, 0x0, 0x0, 0x6, 0x75, 0x5, 0xd8, 0x0, 0x8, 0x0, 0x2e, 0x0, 0x0, 0x1, 0x22, 0x6, 0x10, 0x16, 0x20, 0x36, 0x10, 0x26, 0x27, 0x36, 0x37, 0x3e, 0x2, 0x33, 0x15, 0x22, 0x2, 0x7, 0x6, 0x7, 0x16, 0x17, 0x16, 0x15, 0x14, 0x0, 0x23, 0x22, 0x0, 0x35, 0x34, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x2, 0x23, 0x35, 0x32, 0x1e, 0x1, 0x17, 0x16, 0x3, 0x95, 0x93, 0xce, 0xce, 0x1, 0x26, 0xcf, 0xcd, 0x95, 0x83, 0x4c, 0x56, 0x61, 0xa1, 0xb9, 0x7b, 0xa7, 0x83, 0x15, 0x17, 0x2e, 0x2b, 0x92, 0xfe, 0xd9, 0xd3, 0xd0, 0xfe, 0xd8, 0x94, 0x29, 0x30, 0x18, 0x15, 0x81, 0xab, 0x7a, 0xb9, 0xba, 0x48, 0x55, 0x4d, 0x3, 0x5c, 0xcf, 0xfe, 0xda, 0xce, 0xce, 0x1, 0x26, 0xcf, 0x96, 0x5, 0x3d, 0x42, 0xb4, 0xae, 0x6c, 0xfe, 0xc8, 0x6c, 0x13, 0xf, 0x1e, 0x29, 0x95, 0xd2, 0xd1, 0xfe, 0xd9, 0x1, 0x27, 0xd1, 0xd2, 0x95, 0x2a, 0x1e, 0xe, 0x13, 0x6c, 0x1, 0x38, 0x6c, 0xae, 0xb4, 0x42, 0x3d, 0x0, 0x0, 0x2, 0x0, 0xc0, 0x0, 0x0, 0x6, 0x6a, 0x5, 0xda, 0x0, 0x13, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x26, 0x27, 0x35, 0x4, 0x20, 0x25, 0x15, 0x6, 0x7, 0x11, 0x16, 0x17, 0x15, 0x24, 0x20, 0x5, 0x35, 0x36, 0x3f, 0x1, 0x36, 0x33, 0x17, 0x11, 0x6, 0x23, 0x27, 0x2, 0x12, 0xa8, 0xaa, 0x1, 0x5b, 0x2, 0xf8, 0x1, 0x57, 0xb0, 0xa6, 0xa6, 0xb0, 0xfe, 0xa9, 0xfd, 0x8, 0xfe, 0xa5, 0xaa, 0xa8, 0x98, 0x74, 0x75, 0xe9, 0x74, 0x75, 0xe9, 0x4, 0xfc, 0x16, 0x34, 0x94, 0x5a, 0x5a, 0x97, 0x2f, 0x18, 0xfb, 0xe2, 0x17, 0x2f, 0x98, 0x5b, 0x5b, 0x94, 0x35, 0x15, 0xc, 0xd, 0xd, 0x4, 0x7, 0xd, 0xd, 0x0, 0x4, 0x0, 0xe7, 0x0, 0x40, 0x6, 0x45, 0x5, 0x6f, 0x0, 0x8, 0x0, 0x1d, 0x0, 0x26, 0x0, 0x3c, 0x0, 0x0, 0x0, 0x22, 0x6, 0x14, 0x16, 0x33, 0x32, 0x36, 0x34, 0x1, 0x2c, 0x1, 0x27, 0x35, 0x16, 0x4, 0x33, 0x32, 0x27, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x10, 0x7, 0xe, 0x1, 0x1, 0x32, 0x36, 0x34, 0x26, 0x22, 0x6, 0x14, 0x16, 0x1, 0xc, 0x1, 0x17, 0x15, 0x26, 0x24, 0x23, 0x22, 0x17, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x3e, 0x1, 0x5, 0x42, 0xbe, 0x84, 0x84, 0x5f, 0x5e, 0x85, 0xfe, 0x5e, 0xfe, 0xc8, 0xfe, 0x94, 0x99, 0xfd, 0x1, 0x6c, 0x3b, 0x82, 0x8, 0x83, 0xcd, 0x93, 0x95, 0xce, 0x68, 0x49, 0xf6, 0xfd, 0xab, 0x5e, 0x85, 0x85, 0xbc, 0x86, 0x85, 0x1, 0x1d, 0x1, 0x39, 0x1, 0x6c, 0x99, 0xfd, 0xfe, 0x96, 0x3a, 0x85, 0x8, 0x83, 0xcd, 0x93, 0x95, 0xce, 0x68, 0x49, 0xf5, 0x2, 0xb8, 0x84, 0xbe, 0x85, 0x85, 0xbe, 0xfe, 0xc, 0x2, 0x28, 0x2b, 0x7c, 0x54, 0x16, 0x1a, 0x6c, 0xa7, 0x93, 0xcf, 0xcf, 0xfe, 0xda, 0x67, 0x4d, 0x4c, 0x2, 0xb6, 0x84, 0xbe, 0x84, 0x84, 0xbe, 0x84, 0x2, 0x78, 0x2, 0x29, 0x2b, 0x7b, 0x54, 0x15, 0x1a, 0x6c, 0xa6, 0x94, 0xcf, 0xcf, 0x94, 0x92, 0x67, 0x4d, 0x4d, 0x0, 0x2, 0x1, 0x1e, 0x0, 0x0, 0x6, 0xd, 0x5, 0xd8, 0x0, 0x13, 0x0, 0x4d, 0x0, 0x0, 0x1, 0x3e, 0x1, 0x35, 0x34, 0x27, 0x2e, 0x1, 0x23, 0x22, 0x7, 0xe, 0x1, 0x15, 0x14, 0x17, 0x1e, 0x1, 0x33, 0x32, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x0, 0x15, 0x16, 0x17, 0x32, 0x37, 0x17, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x0, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x32, 0x35, 0x34, 0x26, 0x2, 0x94, 0x4b, 0x32, 0xe, 0x1d, 0x71, 0x27, 0x24, 0x23, 0x4b, 0x31, 0xe, 0x1e, 0x6f, 0x27, 0x23, 0x30, 0xdf, 0xb4, 0xac, 0xda, 0xfe, 0xde, 0x4, 0x86, 0x47, 0x64, 0x41, 0x7f, 0x6f, 0x63, 0x90, 0x1, 0x1f, 0xa4, 0x84, 0x7f, 0x96, 0x2e, 0x19, 0x25, 0x9, 0x20, 0x33, 0x74, 0x38, 0x38, 0x3c, 0xad, 0x2f, 0x16, 0x1b, 0x33, 0x75, 0x37, 0x37, 0x4c, 0x4a, 0x8, 0x4d, 0x1, 0x8c, 0x1d, 0x71, 0x27, 0x23, 0x23, 0x4b, 0x32, 0xe, 0x1e, 0x6f, 0x27, 0x23, 0x24, 0x4c, 0x31, 0x2, 0xf0, 0xa1, 0xc9, 0xdd, 0xb0, 0xbb, 0xfe, 0xa, 0xb4, 0x7c, 0x3, 0x58, 0x48, 0x77, 0x79, 0x6f, 0xc7, 0x1, 0xe1, 0xc2, 0x86, 0xa5, 0x9b, 0x81, 0x3c, 0x91, 0x3e, 0x62, 0x80, 0x11, 0x57, 0x44, 0x73, 0x2d, 0x16, 0x4b, 0x78, 0x36, 0x38, 0x3c, 0x3c, 0x72, 0x2e, 0x15, 0x29, 0xd, 0x1a, 0xb8, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6d, 0xfe, 0x8f, 0x6, 0xbe, 0x5, 0xd8, 0x0, 0x3a, 0x0, 0x44, 0x0, 0x0, 0x1, 0x32, 0x16, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x1d, 0x1, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x11, 0x10, 0x1, 0x16, 0x17, 0x23, 0x26, 0x27, 0x6, 0x7, 0x35, 0x36, 0x37, 0x27, 0x11, 0x34, 0x35, 0x10, 0x27, 0xe, 0x1, 0x7, 0x11, 0x23, 0x11, 0x10, 0x26, 0x2b, 0x2, 0x22, 0x6, 0x7, 0x11, 0x23, 0x11, 0x34, 0x27, 0x33, 0x16, 0x17, 0x3e, 0x1, 0x1, 0x11, 0x24, 0x13, 0x34, 0x26, 0x2b, 0x1, 0x22, 0x6, 0x2, 0xa8, 0x3f, 0x77, 0x28, 0xc6, 0x4b, 0x3e, 0x52, 0x30, 0x83, 0x44, 0x3c, 0x64, 0xfe, 0x83, 0x1, 0x92, 0xa8, 0x2e, 0x4a, 0xa7, 0xaf, 0xbf, 0x7c, 0x9, 0x2e, 0x3a, 0x85, 0x3f, 0x97, 0x1f, 0x23, 0x1, 0x1, 0x29, 0xb3, 0x13, 0x95, 0x98, 0x8e, 0x76, 0x24, 0x17, 0xb7, 0x2, 0xc4, 0x1, 0x2, 0x18, 0x2d, 0x1c, 0x4, 0x1e, 0x8f, 0x5, 0xd8, 0xc6, 0x80, 0x77, 0xcf, 0xa7, 0xdb, 0xca, 0x7d, 0x77, 0xe8, 0xfe, 0xef, 0xfe, 0x68, 0xfe, 0xbf, 0x5e, 0xc1, 0x29, 0xa1, 0x65, 0x7, 0x74, 0x1c, 0x57, 0xd9, 0x3, 0x57, 0x12, 0x11, 0x1, 0x19, 0x1, 0x1, 0xd9, 0xc8, 0xfc, 0x61, 0x3, 0x9a, 0x1, 0x41, 0x6a, 0xe2, 0xd7, 0xfc, 0x74, 0x4, 0x41, 0xbe, 0xbf, 0x4f, 0xb0, 0x5d, 0xbc, 0xfc, 0x92, 0xfd, 0xd0, 0xfa, 0x1, 0x52, 0xc1, 0x8b, 0xce, 0x0, 0x0, 0x0, 0x2, 0x0, 0xab, 0x0, 0x6b, 0x6, 0x81, 0x5, 0x39, 0x0, 0x3, 0x0, 0x23, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x1, 0x21, 0x35, 0x21, 0x26, 0x35, 0x34, 0x0, 0x33, 0x32, 0x0, 0x15, 0x14, 0x7, 0x21, 0x15, 0x21, 0x35, 0x23, 0x36, 0x37, 0x36, 0x35, 0x34, 0x26, 0x22, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0xab, 0x5, 0xd6, 0xfa, 0x2a, 0x2, 0x2d, 0xfd, 0xd3, 0x1, 0x62, 0x43, 0x1, 0x1, 0xb9, 0xba, 0x1, 0x3, 0x44, 0x1, 0x84, 0xfd, 0xaf, 0x1, 0x12, 0x11, 0x56, 0xaa, 0xf4, 0xaa, 0x55, 0x10, 0x13, 0x1, 0x3, 0x98, 0x1, 0x8f, 0x98, 0x68, 0x83, 0xb9, 0x1, 0x3, 0xfe, 0xfd, 0xb9, 0x83, 0x68, 0x98, 0x98, 0xd, 0x11, 0x55, 0x79, 0x7a, 0xaa, 0xaa, 0x7a, 0x79, 0x55, 0x11, 0xd, 0x0, 0x0, 0x1, 0x0, 0x45, 0xff, 0x3c, 0x6, 0xe8, 0x5, 0xd8, 0x0, 0x38, 0x0, 0x0, 0x1, 0x14, 0x16, 0x17, 0x33, 0x35, 0x33, 0x17, 0x7, 0x27, 0x35, 0x23, 0x22, 0x27, 0x26, 0x27, 0x3, 0x34, 0x35, 0x10, 0x27, 0xe, 0x1, 0x7, 0x11, 0x23, 0x11, 0x10, 0x26, 0x2b, 0x2, 0x22, 0x6, 0x7, 0x11, 0x23, 0x11, 0x34, 0x27, 0x33, 0x16, 0x17, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x1d, 0x1, 0x13, 0x5, 0x0, 0x67, 0x59, 0x59, 0x4, 0xcb, 0xcb, 0x4, 0x59, 0xcb, 0x44, 0x2c, 0x8, 0x15, 0x2e, 0x3a, 0x85, 0x3f, 0x97, 0x1f, 0x23, 0x1, 0x1, 0x29, 0xb3, 0x13, 0x95, 0x98, 0x8e, 0x76, 0x24, 0x17, 0xb7, 0x45, 0x3f, 0x77, 0x28, 0xc6, 0x4b, 0x3e, 0x52, 0x1, 0x1, 0xf, 0x6f, 0x7d, 0x1, 0x76, 0xad, 0xaf, 0x4, 0x76, 0x78, 0x4a, 0x76, 0x3, 0x16, 0x12, 0x11, 0x1, 0x19, 0x1, 0x1, 0xd9, 0xc8, 0xfc, 0x61, 0x3, 0x9a, 0x1, 0x41, 0x6a, 0xe2, 0xd7, 0xfc, 0x74, 0x4, 0x41, 0xbe, 0xbf, 0x4f, 0xb0, 0x5d, 0xbc, 0xc6, 0x80, 0x77, 0xcf, 0xa7, 0xdb, 0xca, 0xfd, 0x84, 0x0, 0x1, 0x0, 0xa9, 0xff, 0xff, 0x6, 0x82, 0x5, 0xd8, 0x0, 0x14, 0x0, 0x0, 0x1, 0x11, 0x9, 0x1, 0x7, 0x9, 0x1, 0x2f, 0x2, 0x9, 0x1, 0x3f, 0x2, 0x9, 0x1, 0x21, 0x35, 0x21, 0x11, 0x5, 0xea, 0xfd, 0x3f, 0x1, 0x3d, 0x6c, 0xfe, 0xc3, 0xfe, 0x58, 0x1, 0x6a, 0x1, 0x1, 0xa8, 0xfe, 0xc3, 0x1, 0x6a, 0x1, 0x1, 0x3d, 0x2, 0xc1, 0xfe, 0x4, 0x3, 0x0, 0x2, 0xd8, 0x1, 0xfc, 0xfd, 0x3f, 0xfe, 0xc3, 0x6c, 0x1, 0x3d, 0xfe, 0x58, 0x1, 0x6a, 0x1, 0x1, 0xa8, 0x1, 0x3d, 0x1, 0x6a, 0x1, 0xfe, 0xc3, 0x2, 0xc1, 0x98, 0xfd, 0x0, 0x0, 0x2, 0x0, 0xc0, 0x0, 0x0, 0x6, 0x6a, 0x5, 0xd8, 0x0, 0x29, 0x0, 0x31, 0x0, 0x0, 0x1, 0x32, 0x12, 0x37, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x27, 0xe, 0x1, 0x7, 0x23, 0x35, 0x37, 0x36, 0x13, 0x26, 0x2, 0x23, 0x22, 0x2, 0x15, 0x14, 0x15, 0x7, 0x34, 0x2, 0x27, 0x35, 0x32, 0x16, 0x13, 0x36, 0x37, 0x3e, 0x1, 0x1, 0x16, 0x33, 0x32, 0x37, 0x26, 0x27, 0x22, 0x3, 0x53, 0x6b, 0x51, 0x19, 0x6d, 0xc3, 0x79, 0x99, 0x8f, 0x8e, 0x9b, 0x7a, 0x2c, 0x7e, 0x8a, 0xa8, 0x9a, 0x7a, 0x69, 0x32, 0x40, 0x3a, 0x24, 0x9a, 0x9e, 0x8d, 0x84, 0x93, 0xa1, 0x28, 0x2e, 0x2d, 0x29, 0x7a, 0x1, 0x57, 0x5d, 0x82, 0xa1, 0x9, 0x7, 0x9f, 0x98, 0x5, 0xd8, 0xfc, 0x9e, 0x4, 0xdd, 0xbe, 0x67, 0x91, 0xab, 0x85, 0xa0, 0xd7, 0x4, 0x76, 0x1, 0x4, 0x1, 0x78, 0x10, 0x3, 0x15, 0xfe, 0x2d, 0xc3, 0xf, 0xe, 0x2, 0xfd, 0x1, 0xf0, 0x6, 0x61, 0xde, 0xfe, 0xed, 0xc9, 0x58, 0x5b, 0x96, 0xfc, 0x26, 0x91, 0xc5, 0x9d, 0x13, 0x0, 0x2, 0x0, 0xb0, 0x1, 0x39, 0x6, 0x7b, 0x4, 0xa2, 0x0, 0x27, 0x0, 0x51, 0x0, 0x0, 0x13, 0x0, 0x33, 0x32, 0x17, 0x16, 0x32, 0x36, 0x33, 0x32, 0x17, 0x16, 0x32, 0x37, 0x36, 0x33, 0x32, 0x13, 0x7, 0x26, 0x23, 0x22, 0x7, 0x6, 0x22, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x23, 0x22, 0x4, 0x23, 0x27, 0x11, 0x0, 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x32, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x33, 0x32, 0x13, 0x7, 0x26, 0x23, 0x22, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x22, 0x4, 0x23, 0x27, 0xb0, 0x1, 0x45, 0x73, 0x2d, 0xd, 0x18, 0x70, 0xac, 0x38, 0x36, 0x18, 0x1a, 0x72, 0x56, 0x2b, 0x29, 0x7c, 0x6d, 0x5e, 0x3f, 0x5f, 0x33, 0x3c, 0x56, 0x70, 0x19, 0x1c, 0x3b, 0x37, 0x53, 0x57, 0x37, 0x38, 0x19, 0x18, 0x36, 0x37, 0xfe, 0xfe, 0x5, 0x35, 0x1, 0x44, 0x74, 0x2c, 0xe, 0x18, 0x38, 0x37, 0x56, 0x57, 0x6e, 0x17, 0x1b, 0x38, 0x39, 0x56, 0x2b, 0x29, 0x7d, 0x6d, 0x5e, 0x3f, 0x5f, 0x33, 0x3c, 0x57, 0x37, 0x38, 0x1a, 0x1b, 0x3b, 0x37, 0x54, 0x56, 0x38, 0x37, 0x19, 0x18, 0x6e, 0xfe, 0xff, 0x5, 0x35, 0x1, 0x9d, 0x1, 0xf, 0x28, 0x47, 0x8e, 0x47, 0x47, 0x47, 0x24, 0xfe, 0xc4, 0x33, 0xb9, 0x35, 0x4c, 0x4b, 0x4e, 0x43, 0x47, 0x48, 0x46, 0xd5, 0x62, 0x1, 0xd9, 0x1, 0xd, 0x27, 0x46, 0x46, 0x48, 0x48, 0x46, 0x46, 0x23, 0xfe, 0xc5, 0x32, 0xb9, 0x36, 0x4d, 0x4c, 0x4e, 0x44, 0x47, 0x48, 0x48, 0xd5, 0x61, 0x0, 0x0, 0x0, 0x1, 0x1, 0x41, 0x0, 0x0, 0x5, 0xea, 0x5, 0xd8, 0x0, 0x1c, 0x0, 0x0, 0x1, 0x7, 0x2, 0x1, 0x7, 0x0, 0x13, 0x21, 0x35, 0x21, 0x2, 0x1, 0x17, 0x0, 0x13, 0x33, 0x12, 0x1, 0x37, 0x0, 0x3, 0x21, 0x7, 0x21, 0x12, 0x1, 0x27, 0x0, 0x3, 0x4, 0xe, 0xf1, 0x20, 0xfe, 0xea, 0xa5, 0x1, 0x33, 0x1b, 0xfe, 0xd8, 0x1, 0x28, 0x1c, 0xfe, 0xcd, 0xa6, 0x1, 0x16, 0x20, 0xf2, 0x1f, 0x1, 0x17, 0xa5, 0xfe, 0xcd, 0x1b, 0x1, 0x27, 0x1, 0xfe, 0xd8, 0x1d, 0x1, 0x33, 0xa6, 0xfe, 0xe9, 0x1f, 0x2, 0x99, 0x3, 0xfe, 0xae, 0xfe, 0xbf, 0x3, 0x1, 0x5f, 0x1, 0x37, 0xac, 0x1, 0x36, 0x1, 0x60, 0x3, 0xfe, 0xc0, 0xfe, 0xad, 0x1, 0x53, 0x1, 0x40, 0x3, 0xfe, 0xa0, 0xfe, 0xca, 0xac, 0xfe, 0xc9, 0xfe, 0xa1, 0x3, 0x1, 0x41, 0x1, 0x52, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x63, 0x5, 0xd8, 0x0, 0xf, 0x0, 0x20, 0x0, 0x24, 0x0, 0x54, 0x0, 0x64, 0x0, 0x0, 0x1, 0x36, 0x37, 0x26, 0x27, 0x26, 0x22, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x21, 0x33, 0x21, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x2e, 0x1, 0x23, 0x22, 0x7, 0x6, 0x7, 0x16, 0x17, 0x1, 0x11, 0x21, 0x11, 0x1, 0x11, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x15, 0x16, 0x17, 0x1e, 0x1, 0x1d, 0x1, 0x36, 0x33, 0x32, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x6, 0x7, 0x11, 0x1, 0x14, 0x1e, 0x1, 0x33, 0x32, 0x3e, 0x1, 0x35, 0x34, 0x2e, 0x1, 0x23, 0x22, 0xe, 0x1, 0x3, 0x50, 0x1, 0x2, 0x23, 0x33, 0x4a, 0x9c, 0x93, 0x54, 0x52, 0x4a, 0x16, 0x17, 0x1, 0x57, 0x8d, 0x1, 0x56, 0x18, 0x16, 0x4a, 0x51, 0x53, 0x93, 0x4f, 0x4d, 0x4a, 0x34, 0x22, 0x2, 0x1, 0xfe, 0x3f, 0x2, 0xf5, 0xfc, 0xb9, 0x2a, 0x26, 0x45, 0x6c, 0x6e, 0xc6, 0x68, 0x50, 0x4c, 0x24, 0x20, 0xd, 0x10, 0x6c, 0x6c, 0x69, 0x6c, 0x6c, 0x10, 0xd, 0x1f, 0x25, 0x4c, 0x4f, 0x68, 0xc6, 0x6e, 0x6c, 0x44, 0x27, 0x29, 0xfd, 0xd6, 0x19, 0x2d, 0x17, 0x18, 0x2d, 0x18, 0x18, 0x2d, 0x18, 0x17, 0x2d, 0x19, 0x3, 0xc7, 0x3, 0x3, 0x2b, 0x1c, 0x29, 0x51, 0x95, 0x50, 0x51, 0x92, 0x28, 0xe, 0x8, 0x8, 0xe, 0x28, 0x92, 0x51, 0x50, 0x95, 0x51, 0x29, 0x1c, 0x2b, 0x3, 0x3, 0xfd, 0xb8, 0xfe, 0xd1, 0x1, 0x2f, 0xfe, 0x81, 0x1, 0x7f, 0xd, 0x16, 0x36, 0xc4, 0x6b, 0x6c, 0xc5, 0x6a, 0x1f, 0x2, 0x24, 0x3f, 0x12, 0x7, 0x4, 0x36, 0x46, 0x57, 0x57, 0x46, 0x36, 0x4, 0x7, 0x12, 0x3f, 0x24, 0x2, 0x1f, 0x6a, 0xc5, 0x6c, 0x6b, 0xc4, 0x36, 0x16, 0xd, 0xfe, 0x81, 0x4, 0x7d, 0x19, 0x2b, 0x19, 0x19, 0x2b, 0x19, 0x18, 0x2d, 0x17, 0x17, 0x2d, 0x0, 0x0, 0x8, 0x0, 0xe2, 0x0, 0x0, 0x6, 0x4a, 0x5, 0xd8, 0x0, 0x48, 0x0, 0x4e, 0x0, 0x52, 0x0, 0x68, 0x0, 0x7c, 0x0, 0x90, 0x0, 0xa5, 0x0, 0xbb, 0x0, 0x0, 0x1, 0x26, 0x27, 0x34, 0x3e, 0x1, 0x33, 0x32, 0x1e, 0x1, 0x15, 0x6, 0x7, 0x13, 0x3, 0x22, 0x27, 0x34, 0x3e, 0x1, 0x33, 0x32, 0x1e, 0x1, 0x15, 0x6, 0x7, 0x1b, 0x1, 0x26, 0x27, 0x34, 0x3e, 0x1, 0x33, 0x32, 0x1e, 0x1, 0x15, 0x6, 0x7, 0x1b, 0x1, 0x26, 0x35, 0x34, 0x3e, 0x1, 0x33, 0x32, 0x1e, 0x1, 0x15, 0x6, 0x7, 0x3, 0x1, 0x26, 0x35, 0x34, 0x3e, 0x1, 0x33, 0x32, 0x1e, 0x1, 0x15, 0x6, 0x23, 0x3, 0x11, 0x21, 0x11, 0x1, 0x35, 0x7, 0x21, 0x27, 0x1d, 0x2, 0x21, 0x35, 0x1, 0x17, 0x3, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x2e, 0x1, 0x23, 0x22, 0xe, 0x1, 0x15, 0x14, 0x1e, 0x1, 0x33, 0x32, 0x37, 0x1, 0x17, 0x3, 0x36, 0x37, 0x3e, 0x1, 0x34, 0x2e, 0x1, 0x23, 0x22, 0xe, 0x1, 0x14, 0x1e, 0x1, 0x33, 0x32, 0x37, 0x1, 0x37, 0x13, 0x16, 0x33, 0x32, 0x3e, 0x1, 0x34, 0x2e, 0x1, 0x23, 0x22, 0xe, 0x1, 0x14, 0x16, 0x17, 0x16, 0x17, 0x1, 0x33, 0x3, 0x32, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x2e, 0x1, 0x23, 0x22, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x1, 0x37, 0x13, 0x16, 0x33, 0x32, 0x3e, 0x1, 0x35, 0x34, 0x2e, 0x1, 0x23, 0x22, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x1, 0x4d, 0x5f, 0xc, 0x1d, 0x36, 0x1d, 0x1c, 0x36, 0x1c, 0x4, 0x39, 0xef, 0x34, 0x53, 0x12, 0x1d, 0x35, 0x1f, 0x1c, 0x35, 0x1d, 0x2, 0x2e, 0xbd, 0x2b, 0x43, 0x2, 0x1e, 0x35, 0x1b, 0x1d, 0x35, 0x1e, 0x3, 0x43, 0x26, 0xb9, 0x2e, 0x1d, 0x36, 0x1b, 0x1e, 0x36, 0x1d, 0xb, 0x56, 0x5c, 0x1, 0x1, 0x2b, 0x1d, 0x35, 0x1c, 0x1e, 0x35, 0x1d, 0xd, 0x63, 0xa0, 0xfc, 0xa3, 0x3, 0x24, 0xb5, 0xfe, 0x95, 0xb7, 0x2, 0xd7, 0xfc, 0xff, 0x4d, 0xe7, 0x7, 0x7, 0x12, 0x14, 0x14, 0x23, 0x14, 0x12, 0x23, 0x15, 0x14, 0x24, 0x12, 0x7, 0x9, 0x1, 0x36, 0x88, 0xbb, 0x6, 0x5, 0x11, 0x13, 0x13, 0x24, 0x12, 0x13, 0x23, 0x14, 0x13, 0x24, 0x13, 0x7, 0x8, 0x1, 0xad, 0x73, 0x60, 0x5, 0x5, 0x13, 0x25, 0x13, 0x15, 0x23, 0x13, 0x12, 0x24, 0x14, 0x14, 0x12, 0x8, 0x7, 0xfe, 0x9a, 0x64, 0x30, 0x13, 0x10, 0x11, 0x15, 0x16, 0x22, 0x13, 0x12, 0x25, 0x13, 0x13, 0x13, 0xe, 0xf, 0x1, 0x29, 0x68, 0xa6, 0xb, 0xb, 0x13, 0x23, 0x14, 0x15, 0x22, 0x13, 0x14, 0x23, 0x13, 0x13, 0x12, 0x4, 0x3, 0x3, 0xfb, 0x2, 0x5f, 0x1c, 0x33, 0x1c, 0x1c, 0x33, 0x1c, 0x40, 0x16, 0xfe, 0x6, 0x2, 0xbe, 0x5d, 0x1c, 0x32, 0x1c, 0x1c, 0x32, 0x1c, 0x2d, 0x22, 0xfd, 0x14, 0x3, 0x34, 0x1e, 0x30, 0x1c, 0x34, 0x1a, 0x1a, 0x34, 0x1c, 0x36, 0x18, 0xfc, 0xca, 0x2, 0xe4, 0x2f, 0x2a, 0x1b, 0x33, 0x1c, 0x1c, 0x33, 0x1b, 0x55, 0x10, 0xfd, 0x4a, 0x2, 0x3, 0x22, 0x2b, 0x1c, 0x33, 0x1b, 0x1b, 0x33, 0x1c, 0x5e, 0xfe, 0x31, 0xfd, 0xd1, 0x2, 0x2f, 0xfe, 0xdf, 0xe1, 0x4b, 0x3d, 0xd3, 0x30, 0xa4, 0xa4, 0x1, 0x54, 0x2a, 0x2, 0xe, 0x3, 0x4, 0xa, 0x23, 0x13, 0x14, 0x23, 0x14, 0x14, 0x23, 0x14, 0x13, 0x23, 0x14, 0x1, 0xfd, 0xf8, 0x20, 0x2, 0xf9, 0x2, 0x3, 0xa, 0x23, 0x26, 0x24, 0x13, 0x13, 0x24, 0x26, 0x23, 0x14, 0x1, 0xfd, 0x13, 0x1b, 0x2, 0xd1, 0x1, 0x14, 0x23, 0x26, 0x24, 0x13, 0x13, 0x24, 0x26, 0x23, 0xa, 0x5, 0x2, 0xfd, 0xa, 0x3, 0x42, 0xa, 0xa, 0x23, 0x14, 0x13, 0x23, 0x14, 0x14, 0x23, 0x13, 0x14, 0x23, 0xa, 0x8, 0x2, 0xfc, 0xda, 0x2a, 0x1, 0xea, 0x3, 0x15, 0x22, 0x14, 0x13, 0x24, 0x13, 0x13, 0x24, 0x13, 0x14, 0x22, 0xb, 0x2, 0x2, 0x0, 0x0, 0x5, 0x1, 0x55, 0xff, 0xfe, 0x5, 0xd6, 0x5, 0xd6, 0x0, 0x1d, 0x0, 0x21, 0x0, 0x27, 0x0, 0x2d, 0x0, 0x32, 0x0, 0x0, 0x1, 0x21, 0x15, 0x33, 0x35, 0x21, 0x15, 0x23, 0x15, 0x7, 0x11, 0x17, 0x15, 0x33, 0x15, 0x21, 0x35, 0x33, 0x35, 0x37, 0x33, 0x11, 0x23, 0x27, 0x35, 0x23, 0x35, 0x21, 0x15, 0x33, 0x1, 0x35, 0x21, 0x15, 0x1, 0x37, 0x35, 0x21, 0x15, 0x17, 0x11, 0x7, 0x15, 0x21, 0x35, 0x27, 0x35, 0x11, 0x37, 0x21, 0x11, 0x3, 0x8, 0x1, 0x15, 0xab, 0x1, 0xe, 0x73, 0x5c, 0x5c, 0x73, 0xfb, 0x7f, 0x73, 0x5d, 0x1, 0x1, 0x5d, 0x73, 0x1, 0x9, 0xaa, 0x2, 0x97, 0xfb, 0xee, 0x3, 0x4a, 0x52, 0xfc, 0xda, 0x52, 0x49, 0x3, 0x14, 0x4a, 0x1, 0xfd, 0x7e, 0x5, 0xd6, 0x9b, 0x9b, 0xa2, 0x90, 0x96, 0xfd, 0xb7, 0x95, 0x8f, 0xa3, 0xa3, 0x8f, 0x98, 0x2, 0x45, 0x97, 0x90, 0xa2, 0x9b, 0xfa, 0xfb, 0x37, 0x37, 0x3, 0xea, 0x83, 0x5f, 0x5f, 0x83, 0xfd, 0x76, 0x74, 0x80, 0x80, 0x74, 0x34, 0x2, 0x21, 0x2, 0xfd, 0xdd, 0x0, 0x0, 0x4, 0x1, 0xb6, 0x0, 0x0, 0x5, 0x76, 0x5, 0xd8, 0x0, 0x37, 0x0, 0x43, 0x0, 0x51, 0x0, 0x5e, 0x0, 0x0, 0x1, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x27, 0x35, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x35, 0x34, 0x3e, 0x1, 0x33, 0x32, 0x1e, 0x1, 0x15, 0x14, 0x7, 0x6, 0x7, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x15, 0x6, 0x7, 0x6, 0x7, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x1, 0x21, 0x9, 0x1, 0x35, 0x33, 0x35, 0x23, 0x35, 0x23, 0x15, 0x23, 0x15, 0x33, 0x15, 0x13, 0x36, 0x35, 0x34, 0x2e, 0x1, 0x22, 0xe, 0x1, 0x15, 0x14, 0x17, 0x3, 0x21, 0x0, 0x14, 0x1e, 0x1, 0x32, 0x3e, 0x1, 0x34, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x2, 0xcb, 0x1f, 0x20, 0x8, 0xb, 0x3c, 0x24, 0x29, 0x1, 0x1, 0x29, 0x2b, 0x4e, 0x1c, 0x1e, 0x1a, 0x11, 0x16, 0x2d, 0x4e, 0x2a, 0x29, 0x4e, 0x2d, 0x15, 0x10, 0x1a, 0x1c, 0x1d, 0x4d, 0x2c, 0x2a, 0x1, 0x1, 0x2a, 0x25, 0x3a, 0xb, 0x8, 0x1f, 0x20, 0x2, 0x2, 0x1, 0x1a, 0xfc, 0x40, 0x1, 0xf, 0x1, 0xc, 0xac, 0xac, 0x76, 0xac, 0xac, 0xa2, 0x3c, 0x2d, 0x4d, 0x54, 0x4d, 0x2d, 0x3f, 0xde, 0x2, 0x8a, 0xfe, 0x4b, 0x1d, 0x35, 0x3a, 0x36, 0x1d, 0x1e, 0x36, 0x1c, 0x1d, 0x34, 0x1, 0x94, 0x35, 0x39, 0x3c, 0x35, 0x11, 0xe, 0x26, 0x3f, 0x48, 0x50, 0x4, 0x50, 0x49, 0x4b, 0x2a, 0xe, 0xa, 0x12, 0x1d, 0x27, 0x29, 0x2b, 0x4b, 0x2a, 0x2a, 0x4b, 0x2b, 0x29, 0x27, 0x1d, 0x13, 0x9, 0xe, 0x2a, 0x4b, 0x49, 0x50, 0x4, 0x50, 0x48, 0x3e, 0x26, 0xf, 0x11, 0x35, 0x3c, 0x3a, 0x36, 0x3, 0x4, 0xfe, 0x75, 0x1, 0x94, 0x1, 0x4e, 0x7c, 0x6c, 0x7c, 0x7c, 0x6c, 0x7c, 0xfe, 0xb2, 0x2d, 0x49, 0x2b, 0x4e, 0x29, 0x29, 0x4e, 0x2b, 0x40, 0x36, 0xfe, 0xac, 0x5, 0x19, 0x3a, 0x35, 0x1c, 0x1c, 0x35, 0x3a, 0x35, 0x1b, 0x1b, 0x0, 0x4, 0x1, 0x51, 0x0, 0x0, 0x5, 0xdb, 0x5, 0xd8, 0x0, 0x29, 0x0, 0x35, 0x0, 0x3e, 0x0, 0x6f, 0x0, 0x0, 0x1, 0x36, 0x35, 0x34, 0x26, 0x35, 0x34, 0x37, 0x16, 0x15, 0x14, 0x7, 0x0, 0x13, 0x21, 0x26, 0x35, 0x34, 0x0, 0x3d, 0x1, 0x6, 0x7, 0x6, 0x7, 0x27, 0x7, 0x26, 0x27, 0x36, 0x35, 0x34, 0x27, 0x36, 0x37, 0x2e, 0x1, 0x35, 0x34, 0x37, 0x16, 0x17, 0x3, 0x36, 0x3b, 0x1, 0x6, 0x15, 0x14, 0x2b, 0x1, 0x22, 0x27, 0x35, 0x3, 0x17, 0x14, 0x7, 0x23, 0x22, 0x3d, 0x1, 0x36, 0x13, 0x26, 0x27, 0x6, 0x15, 0x14, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x16, 0x15, 0x14, 0x7, 0x16, 0x17, 0x37, 0x7, 0x36, 0x37, 0x36, 0x37, 0x16, 0x15, 0x14, 0x0, 0x15, 0x14, 0x17, 0x25, 0x2, 0x1, 0x32, 0x35, 0x23, 0x36, 0x35, 0x34, 0x26, 0x27, 0x6, 0x15, 0x14, 0x16, 0x15, 0x14, 0x7, 0x3, 0x1e, 0x4, 0x16, 0x46, 0x7a, 0x8, 0x1, 0xea, 0x2d, 0xfc, 0x36, 0xd, 0x1, 0x8a, 0x5a, 0x38, 0x2e, 0x9e, 0x9, 0x2c, 0x8b, 0x1f, 0x4e, 0x2, 0x30, 0x48, 0x15, 0x7, 0x21, 0x68, 0x36, 0xa2, 0x25, 0x60, 0x6, 0x2b, 0x45, 0x15, 0x8, 0x4, 0x6, 0x7, 0x48, 0xa, 0x1c, 0x29, 0xd8, 0x23, 0x4d, 0x19, 0x1d, 0xb, 0x3b, 0x2c, 0x4, 0x4a, 0x19, 0x67, 0x61, 0x23, 0x87, 0x1d, 0x69, 0x52, 0xb, 0xfe, 0x82, 0xc, 0x3, 0x6b, 0x27, 0xfe, 0x12, 0x1, 0x4, 0x1f, 0xd, 0x4d, 0x1f, 0x12, 0x8, 0x4, 0xe8, 0x8, 0xb, 0x15, 0x2b, 0xe, 0x31, 0x5e, 0x68, 0x67, 0x1a, 0x1b, 0xfe, 0xbd, 0xfc, 0x6f, 0x38, 0x3a, 0xa0, 0x1, 0x28, 0x40, 0x6, 0x73, 0x3, 0x8e, 0x12, 0x16, 0x1e, 0x2e, 0x50, 0xf9, 0xc0, 0x1e, 0x1c, 0x6d, 0x7a, 0x20, 0x13, 0x5, 0x1b, 0x6e, 0x1b, 0x78, 0xfe, 0xeb, 0x3f, 0x2e, 0x23, 0x31, 0x1e, 0xf, 0xfe, 0x70, 0x23, 0x34, 0xf, 0x1e, 0x17, 0x31, 0x2, 0xa7, 0x60, 0x26, 0x3e, 0x25, 0x1b, 0x21, 0x12, 0x10, 0xf, 0x61, 0x63, 0x2c, 0x2c, 0xc5, 0xc0, 0x4c, 0x18, 0x48, 0x4a, 0xa, 0x90, 0x4, 0xad, 0x1e, 0x1e, 0x78, 0xfe, 0xec, 0x7d, 0x36, 0x34, 0x1, 0x3, 0x37, 0x1, 0x7c, 0x1, 0xa, 0x2b, 0xc, 0x4f, 0x4a, 0x4a, 0x29, 0x13, 0x21, 0x13, 0x11, 0xf, 0x0, 0x0, 0x0, 0x4, 0x1, 0x30, 0xff, 0xff, 0x5, 0xfb, 0x5, 0xd7, 0x0, 0xd, 0x0, 0x1d, 0x0, 0x50, 0x0, 0x5b, 0x0, 0x0, 0x0, 0x14, 0x1e, 0x1, 0x33, 0x32, 0x3e, 0x1, 0x34, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x13, 0x14, 0x1e, 0x1, 0x33, 0x32, 0x3e, 0x1, 0x35, 0x34, 0x2e, 0x1, 0x23, 0x22, 0xe, 0x1, 0x1, 0x15, 0x21, 0x35, 0x7, 0x26, 0x35, 0x34, 0x12, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x34, 0x3e, 0x1, 0x33, 0x32, 0x1e, 0x1, 0x14, 0x7, 0x6, 0x7, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x7, 0x6, 0x7, 0x16, 0x17, 0x16, 0x12, 0x15, 0x14, 0x7, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x7, 0x6, 0x7, 0x2, 0xbf, 0x3a, 0x65, 0x37, 0x39, 0x65, 0x38, 0x39, 0x66, 0x37, 0x36, 0x65, 0x60, 0x10, 0x1c, 0xf, 0x10, 0x1c, 0x10, 0x10, 0x1d, 0xf, 0xe, 0x1d, 0x10, 0x2, 0x5b, 0xfb, 0xd9, 0x53, 0xb, 0xa5, 0x92, 0x26, 0x28, 0x1e, 0x15, 0x2a, 0x55, 0x4d, 0x1b, 0x1d, 0x1a, 0xf, 0x17, 0x2c, 0x4e, 0x29, 0x28, 0x4e, 0x2d, 0x15, 0x11, 0x19, 0x1b, 0x1e, 0x4b, 0x56, 0x29, 0x16, 0x1e, 0x26, 0x26, 0x93, 0xa6, 0xc, 0x5c, 0x4, 0x40, 0x45, 0xf5, 0x80, 0x81, 0xf5, 0x43, 0x41, 0x4, 0x3, 0xc1, 0x70, 0x64, 0x38, 0x38, 0x64, 0x70, 0x67, 0x36, 0x36, 0x1, 0xe, 0x10, 0x1b, 0xf, 0xf, 0x1b, 0x10, 0xf, 0x1c, 0x10, 0x10, 0x1c, 0xfa, 0xbb, 0x1, 0x1, 0x1, 0x39, 0x3a, 0xa0, 0x1, 0x25, 0x4e, 0x15, 0xf, 0x1d, 0x26, 0x4b, 0x52, 0x53, 0x97, 0x2a, 0xe, 0xa, 0x13, 0x1d, 0x27, 0x54, 0x4d, 0x2a, 0x2a, 0x4d, 0x54, 0x27, 0x1d, 0x14, 0x9, 0xe, 0x2a, 0x97, 0x53, 0x52, 0x4b, 0x26, 0x1d, 0x10, 0x14, 0x4e, 0xfe, 0xdb, 0xa0, 0x3a, 0x39, 0x84, 0x7d, 0x71, 0x79, 0x83, 0x83, 0x79, 0x71, 0x7d, 0x0, 0x0, 0x0, 0x8, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x63, 0x5, 0xd8, 0x0, 0xf, 0x0, 0x20, 0x0, 0x24, 0x0, 0x54, 0x0, 0x64, 0x0, 0x68, 0x0, 0x79, 0x0, 0x8a, 0x0, 0x0, 0x1, 0x36, 0x37, 0x26, 0x27, 0x26, 0x22, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x21, 0x33, 0x21, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x2e, 0x1, 0x23, 0x22, 0x7, 0x6, 0x7, 0x16, 0x17, 0x1, 0x11, 0x21, 0x11, 0x1, 0x11, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x15, 0x16, 0x17, 0x1e, 0x1, 0x1d, 0x1, 0x36, 0x33, 0x32, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x6, 0x7, 0x11, 0x1, 0x14, 0x1e, 0x1, 0x33, 0x32, 0x3e, 0x1, 0x35, 0x34, 0x2e, 0x1, 0x23, 0x22, 0xe, 0x1, 0x1, 0x15, 0x21, 0x35, 0x37, 0x21, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x17, 0x6, 0x15, 0x33, 0x34, 0x27, 0x36, 0x37, 0x36, 0x33, 0x32, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x6, 0x7, 0x21, 0x3, 0x50, 0x1, 0x2, 0x23, 0x33, 0x4a, 0x9c, 0x93, 0x54, 0x52, 0x4a, 0x16, 0x17, 0x1, 0x57, 0x8d, 0x1, 0x56, 0x18, 0x16, 0x4a, 0x51, 0x53, 0x93, 0x4f, 0x4d, 0x4a, 0x34, 0x22, 0x2, 0x1, 0xfe, 0x3f, 0x2, 0xf5, 0xfc, 0xb9, 0x2a, 0x26, 0x45, 0x6c, 0x6e, 0xc6, 0x68, 0x50, 0x4c, 0x24, 0x20, 0xd, 0x10, 0x6c, 0x6c, 0x69, 0x6c, 0x6c, 0x10, 0xd, 0x1f, 0x25, 0x4c, 0x4f, 0x68, 0xc6, 0x6e, 0x6c, 0x44, 0x27, 0x29, 0xfd, 0xd6, 0x19, 0x2d, 0x17, 0x18, 0x2d, 0x18, 0x18, 0x2d, 0x18, 0x17, 0x2d, 0x19, 0x1, 0xa4, 0xfd, 0x73, 0xce, 0xfe, 0xe8, 0x12, 0x11, 0x3d, 0x42, 0x44, 0x77, 0x40, 0x3e, 0x3d, 0x29, 0x1d, 0x2, 0xf1, 0x2, 0x1d, 0x29, 0x3d, 0x3d, 0x41, 0x77, 0x44, 0x42, 0x3d, 0x12, 0x12, 0xfe, 0xe9, 0x3, 0xc7, 0x3, 0x3, 0x2b, 0x1c, 0x29, 0x51, 0x95, 0x50, 0x51, 0x92, 0x28, 0xe, 0x8, 0x8, 0xe, 0x28, 0x92, 0x51, 0x50, 0x95, 0x51, 0x29, 0x1c, 0x2b, 0x3, 0x3, 0xfd, 0xb8, 0xfe, 0xd1, 0x1, 0x2f, 0xfe, 0x81, 0x1, 0x7f, 0xd, 0x16, 0x36, 0xc4, 0x6b, 0x6c, 0xc5, 0x6a, 0x1f, 0x2, 0x24, 0x3f, 0x12, 0x7, 0x4, 0x36, 0x46, 0x57, 0x57, 0x46, 0x36, 0x4, 0x7, 0x12, 0x3f, 0x24, 0x2, 0x1f, 0x6a, 0xc5, 0x6c, 0x6b, 0xc4, 0x36, 0x16, 0xd, 0xfe, 0x81, 0x4, 0x7d, 0x19, 0x2b, 0x19, 0x19, 0x2b, 0x19, 0x18, 0x2d, 0x17, 0x17, 0x2d, 0xfc, 0xb6, 0xc8, 0xc8, 0xce, 0x7, 0xc, 0x21, 0x79, 0x43, 0x42, 0x7b, 0x43, 0x21, 0x17, 0x24, 0x3, 0x2, 0x2, 0x3, 0x24, 0x17, 0x21, 0x43, 0x7b, 0x42, 0x43, 0x79, 0x21, 0xc, 0x7, 0x0, 0x3, 0x0, 0xe2, 0x0, 0x0, 0x6, 0x4a, 0x5, 0xd8, 0x0, 0x48, 0x0, 0x4c, 0x0, 0x50, 0x0, 0x0, 0x1, 0x26, 0x27, 0x34, 0x3e, 0x1, 0x33, 0x32, 0x1e, 0x1, 0x15, 0x6, 0x7, 0x13, 0x3, 0x22, 0x27, 0x34, 0x3e, 0x1, 0x33, 0x32, 0x1e, 0x1, 0x15, 0x6, 0x7, 0x1b, 0x1, 0x26, 0x27, 0x34, 0x3e, 0x1, 0x33, 0x32, 0x1e, 0x1, 0x15, 0x6, 0x7, 0x1b, 0x1, 0x26, 0x35, 0x34, 0x3e, 0x1, 0x33, 0x32, 0x1e, 0x1, 0x15, 0x6, 0x7, 0x3, 0x1, 0x26, 0x35, 0x34, 0x3e, 0x1, 0x33, 0x32, 0x1e, 0x1, 0x15, 0x6, 0x23, 0x3, 0x11, 0x21, 0x11, 0x5, 0x35, 0x21, 0x15, 0x1, 0x35, 0x21, 0x15, 0x1, 0x4d, 0x5f, 0xc, 0x1d, 0x36, 0x1d, 0x1c, 0x36, 0x1c, 0x4, 0x39, 0xef, 0x34, 0x53, 0x12, 0x1d, 0x35, 0x1f, 0x1c, 0x35, 0x1d, 0x2, 0x2e, 0xbd, 0x2b, 0x43, 0x2, 0x1e, 0x35, 0x1b, 0x1d, 0x35, 0x1e, 0x3, 0x43, 0x26, 0xb9, 0x2e, 0x1d, 0x36, 0x1b, 0x1e, 0x36, 0x1d, 0xb, 0x56, 0x5c, 0x1, 0x1, 0x2b, 0x1d, 0x35, 0x1c, 0x1e, 0x35, 0x1d, 0xd, 0x63, 0xa0, 0xfc, 0xa3, 0x3, 0x24, 0xfd, 0x29, 0x2, 0xd7, 0xfd, 0x29, 0x3, 0xfb, 0x2, 0x5f, 0x1c, 0x33, 0x1c, 0x1c, 0x33, 0x1c, 0x40, 0x16, 0xfe, 0x6, 0x2, 0xbe, 0x5d, 0x1c, 0x32, 0x1c, 0x1c, 0x32, 0x1c, 0x2d, 0x22, 0xfd, 0x14, 0x3, 0x34, 0x1e, 0x30, 0x1c, 0x34, 0x1a, 0x1a, 0x34, 0x1c, 0x36, 0x18, 0xfc, 0xca, 0x2, 0xe4, 0x2f, 0x2a, 0x1b, 0x33, 0x1c, 0x1c, 0x33, 0x1b, 0x55, 0x10, 0xfd, 0x4a, 0x2, 0x3, 0x22, 0x2b, 0x1c, 0x33, 0x1b, 0x1b, 0x33, 0x1c, 0x5e, 0xfe, 0x31, 0xfd, 0xd1, 0x2, 0x2f, 0xcb, 0x4e, 0x4e, 0xfe, 0xd6, 0x4f, 0x4f, 0x0, 0x4, 0x1, 0x55, 0xff, 0xfe, 0x5, 0xd6, 0x5, 0xd6, 0x0, 0x3, 0x0, 0x7, 0x0, 0x25, 0x0, 0x29, 0x0, 0x0, 0x1, 0x35, 0x21, 0x15, 0x1, 0x35, 0x21, 0x15, 0x13, 0x21, 0x15, 0x33, 0x35, 0x21, 0x15, 0x23, 0x15, 0x7, 0x11, 0x17, 0x15, 0x33, 0x15, 0x21, 0x35, 0x33, 0x35, 0x37, 0x33, 0x11, 0x23, 0x27, 0x35, 0x23, 0x35, 0x21, 0x15, 0x33, 0x1, 0x35, 0x21, 0x15, 0x4, 0xd6, 0xfd, 0x80, 0x2, 0xca, 0xfc, 0xec, 0xfc, 0x1, 0x15, 0xab, 0x1, 0xe, 0x73, 0x5c, 0x5c, 0x73, 0xfb, 0x7f, 0x73, 0x5d, 0x1, 0x1, 0x5d, 0x73, 0x1, 0x9, 0xaa, 0x2, 0x97, 0xfb, 0xee, 0x4, 0x84, 0x5e, 0x5e, 0xfc, 0x2f, 0x6f, 0x6f, 0x5, 0x23, 0x9b, 0x9b, 0xa2, 0x90, 0x96, 0xfd, 0xb7, 0x95, 0x8f, 0xa3, 0xa3, 0x8f, 0x98, 0x2, 0x45, 0x97, 0x90, 0xa2, 0x9b, 0xfa, 0xfb, 0x37, 0x37, 0x0, 0x2, 0x1, 0xb6, 0x0, 0x0, 0x5, 0x76, 0x5, 0xd8, 0x0, 0x34, 0x0, 0x40, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x27, 0x35, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x35, 0x34, 0x3e, 0x1, 0x33, 0x32, 0x1e, 0x1, 0x15, 0x14, 0x7, 0x6, 0x7, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x15, 0x6, 0x7, 0x6, 0x7, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x1, 0x21, 0x1, 0x26, 0x1, 0x35, 0x33, 0x35, 0x23, 0x35, 0x23, 0x15, 0x23, 0x15, 0x33, 0x15, 0x2, 0xac, 0x20, 0x8, 0xb, 0x3c, 0x24, 0x29, 0x1, 0x1, 0x29, 0x2b, 0x4e, 0x1c, 0x1e, 0x1a, 0x11, 0x16, 0x2d, 0x4e, 0x2a, 0x29, 0x4e, 0x2d, 0x15, 0x10, 0x1a, 0x1c, 0x1d, 0x4d, 0x2c, 0x2a, 0x1, 0x1, 0x2a, 0x25, 0x3a, 0xb, 0x8, 0x1f, 0x20, 0x1, 0x16, 0xfc, 0x40, 0x1, 0xf, 0x19, 0x1, 0x25, 0xac, 0xac, 0x76, 0xac, 0xac, 0x2, 0x2, 0x3c, 0x35, 0x11, 0xe, 0x26, 0x3f, 0x48, 0x50, 0x4, 0x50, 0x49, 0x4b, 0x2a, 0xe, 0xa, 0x12, 0x1d, 0x27, 0x29, 0x2b, 0x4b, 0x2a, 0x2a, 0x4b, 0x2b, 0x29, 0x27, 0x1d, 0x13, 0x9, 0xe, 0x2a, 0x4b, 0x49, 0x50, 0x4, 0x50, 0x48, 0x3e, 0x26, 0xf, 0x11, 0x35, 0x3c, 0x3a, 0x36, 0xfe, 0x6e, 0x1, 0x94, 0x35, 0x1, 0x19, 0x7c, 0x6c, 0x7c, 0x7c, 0x6c, 0x7c, 0x0, 0x0, 0x0, 0x0, 0x4, 0x1, 0x4c, 0x0, 0x0, 0x5, 0xe0, 0x5, 0xd8, 0x0, 0x33, 0x0, 0x3f, 0x0, 0x48, 0x0, 0x4e, 0x0, 0x0, 0x1, 0x36, 0x35, 0x34, 0x26, 0x35, 0x34, 0x37, 0x1e, 0x1, 0x15, 0x14, 0x7, 0x33, 0x14, 0x23, 0x0, 0x13, 0x21, 0x26, 0x35, 0x34, 0x0, 0x35, 0x34, 0x27, 0x6, 0x2b, 0x1, 0x6, 0x23, 0x22, 0x23, 0x37, 0x7, 0x26, 0x27, 0x36, 0x35, 0x34, 0x27, 0x36, 0x37, 0x36, 0x35, 0x34, 0x26, 0x35, 0x34, 0x37, 0x16, 0x17, 0x7, 0x15, 0x16, 0x3b, 0x1, 0x32, 0x35, 0x34, 0x37, 0x23, 0x22, 0x7, 0x3, 0x15, 0x14, 0x3b, 0x1, 0x36, 0x35, 0x27, 0x22, 0x1, 0x17, 0x0, 0x13, 0x33, 0x2, 0x3, 0x16, 0x25, 0x1e, 0x3a, 0x55, 0xf, 0x22, 0x4, 0x2, 0x2, 0x18, 0x2d, 0xfc, 0x36, 0xd, 0x1, 0x95, 0x1, 0x42, 0x75, 0xa, 0x5a, 0x67, 0x4, 0x3, 0x30, 0x6b, 0x72, 0x1b, 0x58, 0x2, 0x30, 0x63, 0x3, 0x2d, 0x14, 0x68, 0x38, 0xaa, 0x4, 0x8, 0x15, 0x45, 0x2b, 0x6, 0x60, 0x25, 0x73, 0x1c, 0xa, 0x48, 0x7, 0x3e, 0x1, 0xc9, 0x34, 0x1, 0x77, 0x6, 0x4d, 0x2d, 0x4, 0xe6, 0x17, 0x27, 0x19, 0x39, 0x16, 0x2e, 0x1e, 0x51, 0x59, 0xd, 0x2f, 0xc, 0x1, 0xfe, 0xac, 0xfc, 0x6f, 0x38, 0x3a, 0xa0, 0x1, 0x1b, 0x71, 0x8, 0x7, 0xa7, 0x92, 0x68, 0x50, 0x1c, 0x53, 0xe5, 0xbe, 0x1b, 0x1a, 0x6d, 0x68, 0xa, 0x9, 0x1c, 0x1a, 0x23, 0x25, 0x42, 0x1b, 0x7a, 0xff, 0x10, 0x1e, 0x31, 0x22, 0x30, 0x40, 0xfe, 0x29, 0x18, 0x1d, 0xf, 0x35, 0x22, 0x2, 0x40, 0x59, 0xfe, 0xf3, 0xfd, 0x4, 0x3, 0x52, 0x0, 0x1, 0x1, 0x30, 0xff, 0xff, 0x5, 0xfb, 0x5, 0xd7, 0x0, 0x2e, 0x0, 0x0, 0x5, 0x26, 0x35, 0x34, 0x12, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x34, 0x3e, 0x1, 0x33, 0x32, 0x1e, 0x1, 0x14, 0x7, 0x6, 0x7, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x7, 0x6, 0x7, 0x16, 0x17, 0x16, 0x12, 0x15, 0x14, 0x7, 0x1, 0x3b, 0xb, 0xa5, 0x92, 0x26, 0x28, 0x1e, 0x15, 0x2a, 0x55, 0x4d, 0x1b, 0x1d, 0x1a, 0xf, 0x17, 0x2c, 0x4e, 0x29, 0x28, 0x4e, 0x2d, 0x15, 0x11, 0x19, 0x1b, 0x1e, 0x4b, 0x56, 0x29, 0x16, 0x1e, 0x26, 0x26, 0x93, 0xa6, 0xc, 0x1, 0x39, 0x3a, 0xa0, 0x1, 0x25, 0x4e, 0x15, 0xf, 0x1d, 0x26, 0x4b, 0x52, 0x53, 0x97, 0x2a, 0xe, 0xa, 0x13, 0x1d, 0x27, 0x54, 0x4d, 0x2a, 0x2a, 0x4d, 0x54, 0x27, 0x1d, 0x14, 0x9, 0xe, 0x2a, 0x97, 0x53, 0x52, 0x4b, 0x26, 0x1d, 0x10, 0x14, 0x4e, 0xfe, 0xdb, 0xa0, 0x3a, 0x39, 0x0, 0x0, 0x0, 0x1, 0x1, 0x43, 0x0, 0x0, 0x5, 0xe8, 0x5, 0xd4, 0x0, 0x23, 0x0, 0x0, 0x1, 0x16, 0x13, 0x12, 0x17, 0x16, 0x1d, 0x1, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x23, 0x15, 0x10, 0x17, 0x23, 0x35, 0x36, 0x11, 0x27, 0x23, 0x7, 0x6, 0x23, 0x22, 0x2f, 0x1, 0x35, 0x34, 0x37, 0x0, 0x3f, 0x1, 0x3, 0x98, 0x5e, 0xd8, 0xed, 0x6, 0x27, 0xa2, 0x35, 0x40, 0x9a, 0x5f, 0x2a, 0x53, 0xd7, 0x55, 0x3, 0x26, 0x2f, 0x55, 0x7f, 0xbb, 0x4c, 0x9, 0xbb, 0x1, 0x3b, 0x59, 0x3, 0x5, 0xd4, 0xa7, 0xfe, 0xec, 0xfe, 0xea, 0x39, 0x55, 0x50, 0x28, 0xa7, 0x60, 0x16, 0xdd, 0xc, 0xfe, 0xe5, 0x96, 0x6, 0x97, 0x1, 0x1d, 0x3, 0x58, 0x85, 0xd1, 0x49, 0x2e, 0xb7, 0xcb, 0x1, 0x82, 0xa5, 0x3, 0x0, 0x0, 0x0, 0x2, 0x0, 0xb9, 0x0, 0x1, 0x6, 0x73, 0x5, 0xd1, 0x0, 0x18, 0x0, 0x32, 0x0, 0x0, 0x1, 0x32, 0x13, 0x16, 0x15, 0x32, 0x37, 0x12, 0x33, 0x32, 0x17, 0x16, 0x1d, 0x1, 0x10, 0x7, 0x0, 0x7, 0x23, 0x1, 0x26, 0x35, 0x34, 0x37, 0x36, 0x3, 0x15, 0x14, 0x17, 0x1, 0x33, 0x1, 0x36, 0x3d, 0x1, 0x34, 0x27, 0x26, 0x23, 0x20, 0x3, 0x6, 0x15, 0x23, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x2, 0x2a, 0xda, 0x74, 0x1c, 0x6, 0xd, 0x70, 0xeb, 0xd1, 0x7a, 0x26, 0xdd, 0xfe, 0x3d, 0x3c, 0x6, 0xfd, 0xa0, 0x78, 0xc7, 0x51, 0xe5, 0xd0, 0x1, 0xdb, 0x3, 0x2, 0x3e, 0x68, 0xbd, 0x47, 0x3a, 0xfe, 0xf8, 0x56, 0xa, 0x6, 0x48, 0x65, 0xbd, 0xae, 0x6b, 0x25, 0x5, 0xd1, 0xfe, 0xed, 0x50, 0x18, 0x46, 0x1, 0x35, 0xd3, 0x4e, 0x50, 0xd, 0xfe, 0xfe, 0xe7, 0xfd, 0xd9, 0x42, 0x2, 0xed, 0xb2, 0xb6, 0xd2, 0x7c, 0x2d, 0xfe, 0x8f, 0x10, 0xdb, 0xe4, 0xfd, 0xbc, 0x2, 0xbb, 0xa1, 0x97, 0x26, 0xac, 0x70, 0x1c, 0xfe, 0x41, 0x26, 0x1a, 0x4e, 0xd1, 0xe0, 0xb1, 0x46, 0x0, 0x0, 0x0, 0x0, 0x2, 0x1, 0x58, 0x0, 0x0, 0x5, 0xd2, 0x5, 0xd4, 0x0, 0x8, 0x0, 0xd, 0x0, 0x0, 0x9, 0x1, 0x15, 0x0, 0x7, 0x26, 0x1, 0x26, 0x35, 0x9, 0x4, 0x3, 0x96, 0x2, 0x3c, 0xfd, 0xe3, 0x1f, 0xf, 0xfe, 0x17, 0x46, 0x2, 0x3a, 0xfe, 0x3, 0x2, 0x1, 0x2, 0x1, 0xfe, 0x5e, 0x5, 0xd4, 0xfd, 0x1a, 0x7, 0xfd, 0x3b, 0x22, 0xb, 0x2, 0x80, 0x56, 0xd, 0x2, 0x96, 0xfd, 0x67, 0xfd, 0x64, 0x2, 0x9c, 0x2, 0x1e, 0x0, 0x0, 0x1, 0x0, 0xe4, 0x0, 0x0, 0x6, 0x47, 0x5, 0xd4, 0x0, 0x37, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x14, 0xf, 0x1, 0x33, 0x36, 0x3b, 0x1, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x22, 0x3, 0x23, 0x15, 0x10, 0x17, 0x15, 0x23, 0x27, 0x36, 0x11, 0x35, 0x23, 0x2, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x3b, 0x1, 0x32, 0x17, 0x33, 0x35, 0x26, 0x27, 0x26, 0x3d, 0x1, 0x34, 0x37, 0x36, 0x3, 0x97, 0xd6, 0x65, 0xd, 0x3, 0x78, 0x3c, 0x3, 0x4a, 0x54, 0x13, 0xee, 0x60, 0x17, 0xd1, 0x28, 0x47, 0xf2, 0x65, 0x3, 0x52, 0xd0, 0x6, 0x55, 0x3, 0x64, 0xf5, 0xbf, 0x66, 0x19, 0xf6, 0x42, 0x33, 0x9, 0x56, 0x4e, 0x3, 0x54, 0x1d, 0x3c, 0xd7, 0x47, 0x5, 0xd4, 0xe3, 0x34, 0x38, 0x75, 0xa0, 0x3c, 0x1c, 0xca, 0x42, 0x3c, 0xcd, 0x68, 0xc, 0x6, 0x1, 0x12, 0x9, 0xfe, 0xa9, 0x6d, 0x6, 0x6, 0x80, 0x1, 0x4d, 0x3, 0xfe, 0xeb, 0xc9, 0x44, 0x3a, 0xe9, 0x53, 0xc, 0x1c, 0x3, 0x47, 0x45, 0x6e, 0x51, 0xe, 0xc9, 0x68, 0x13, 0x0, 0x0, 0x3, 0x1, 0x42, 0x0, 0x1, 0x5, 0xea, 0x5, 0xd5, 0x0, 0x22, 0x0, 0x3c, 0x0, 0x42, 0x0, 0x0, 0x1, 0x16, 0x1, 0x16, 0x1d, 0x1, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x22, 0x27, 0x23, 0x15, 0x10, 0x17, 0x23, 0x35, 0x36, 0x11, 0x23, 0x7, 0x6, 0x2b, 0x1, 0x22, 0x27, 0x26, 0x35, 0x37, 0x35, 0x34, 0x37, 0x0, 0x37, 0x6, 0x1, 0x6, 0x15, 0x16, 0x17, 0x16, 0x3b, 0x1, 0x32, 0x37, 0x33, 0x32, 0x17, 0x16, 0x3b, 0x1, 0x32, 0x37, 0x36, 0x3d, 0x1, 0x34, 0x27, 0x2, 0x3, 0x33, 0x26, 0x27, 0x22, 0x7, 0x3, 0x97, 0x7e, 0x1, 0x7f, 0x56, 0xb5, 0x22, 0x30, 0x16, 0x91, 0x62, 0x2a, 0x53, 0xd7, 0x56, 0x2a, 0x38, 0x55, 0x69, 0x16, 0xa0, 0x51, 0x19, 0x3, 0xce, 0x1, 0x22, 0x5f, 0x7c, 0xfe, 0xae, 0x51, 0xa, 0x94, 0x16, 0x29, 0x10, 0x77, 0x60, 0xb7, 0x7, 0x1f, 0x53, 0x67, 0x13, 0x89, 0x41, 0xa, 0xcb, 0xe6, 0x8e, 0x3f, 0xd, 0xf, 0x6, 0x10, 0x5, 0xd5, 0xe1, 0xfe, 0x36, 0x8b, 0x86, 0x3, 0xd1, 0x4e, 0x10, 0xda, 0xd, 0xfe, 0xe8, 0x9b, 0x6, 0x97, 0x1, 0x23, 0x65, 0x75, 0xae, 0x42, 0x3f, 0xd, 0x3, 0xc8, 0xd4, 0x1, 0x67, 0x49, 0xc7, 0xfe, 0x6f, 0x82, 0x85, 0xbb, 0x35, 0x9, 0xda, 0x46, 0x94, 0xa7, 0x28, 0x1e, 0x1f, 0xb0, 0xcf, 0x1, 0x1f, 0xfb, 0x70, 0x17, 0x5a, 0x52, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb6, 0x0, 0x0, 0x6, 0x77, 0x5, 0xd4, 0x0, 0x17, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x33, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x1, 0x23, 0x1, 0x26, 0x35, 0x34, 0x37, 0x36, 0x2, 0x28, 0xcb, 0x74, 0x2a, 0x2, 0x3, 0x23, 0x5c, 0x6c, 0x87, 0xd1, 0x7e, 0x20, 0xd0, 0xfd, 0xef, 0x6, 0xfd, 0xce, 0xa8, 0xc7, 0x54, 0x5, 0xd4, 0xeb, 0x5d, 0x31, 0xa2, 0x6b, 0x6c, 0xe0, 0x53, 0x49, 0xfa, 0xe3, 0xfd, 0x85, 0x2, 0xb1, 0xcd, 0xda, 0xd3, 0x7c, 0x2d, 0x0, 0x0, 0x1, 0x1, 0x58, 0x0, 0x0, 0x5, 0xd2, 0x5, 0xd4, 0x0, 0x8, 0x0, 0x0, 0x9, 0x1, 0x16, 0x15, 0x1, 0x26, 0x1, 0x34, 0x37, 0x3, 0x96, 0x1, 0xf7, 0x45, 0xfd, 0xc4, 0xc, 0xfd, 0xce, 0x6f, 0x5, 0xd4, 0xfd, 0x73, 0x55, 0xd, 0xfd, 0x1b, 0x8, 0x2, 0xdd, 0xe, 0x8a, 0x0, 0x0, 0x3, 0x0, 0xe4, 0x0, 0x0, 0x6, 0x48, 0x5, 0xdc, 0x0, 0x32, 0x0, 0x60, 0x0, 0x67, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x15, 0x14, 0xf, 0x1, 0x36, 0x3b, 0x1, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x22, 0x3, 0x23, 0x15, 0x10, 0x17, 0x15, 0x23, 0x27, 0x36, 0x11, 0x35, 0x23, 0x2, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x3b, 0x1, 0x32, 0x17, 0x26, 0x27, 0x35, 0x34, 0x37, 0x36, 0x3, 0x14, 0x1f, 0x1, 0x15, 0x26, 0x2b, 0x1, 0x22, 0xf, 0x1, 0x14, 0x17, 0x16, 0x33, 0x32, 0x13, 0x36, 0x37, 0x33, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x3d, 0x1, 0x34, 0x2f, 0x1, 0x23, 0x22, 0x7, 0x35, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x1, 0x14, 0x7, 0x33, 0x35, 0x26, 0x35, 0x3, 0x9b, 0xcb, 0x68, 0x19, 0x72, 0x16, 0x1f, 0x3d, 0x29, 0xf8, 0x5c, 0x10, 0xd2, 0x22, 0x49, 0xf1, 0x66, 0x3, 0x52, 0xd1, 0x6, 0x55, 0x3, 0x64, 0xf6, 0xc0, 0x67, 0x19, 0xf7, 0x43, 0x33, 0x26, 0x3d, 0x1f, 0x63, 0x1c, 0xd8, 0x47, 0xf0, 0xa9, 0xc, 0x6b, 0x76, 0x9, 0xf3, 0x3d, 0x7, 0x88, 0x3d, 0x4e, 0xd2, 0x72, 0x10, 0x16, 0x7, 0x25, 0x53, 0x5a, 0x9e, 0xa8, 0x55, 0xc, 0xfd, 0x36, 0x6, 0x76, 0x6b, 0x81, 0x20, 0x1a, 0xbb, 0x36, 0x29, 0xb8, 0x53, 0x1, 0x7, 0x1c, 0x3c, 0x1c, 0x5, 0xdc, 0xce, 0x46, 0x39, 0x84, 0xa6, 0x17, 0x6, 0xd7, 0x38, 0x3a, 0xd3, 0x64, 0xc, 0x7, 0x1, 0x14, 0x9, 0xfe, 0xa7, 0x6d, 0x6, 0x6, 0x80, 0x1, 0x4f, 0x4, 0xfe, 0xe8, 0xcb, 0x45, 0x3a, 0xeb, 0x52, 0xc, 0x6, 0x70, 0xb1, 0x26, 0xcb, 0x69, 0x13, 0xfe, 0xb3, 0x9b, 0xcc, 0xc, 0x3, 0x9, 0xd4, 0x43, 0x94, 0x5d, 0x26, 0x1, 0x27, 0x1b, 0x41, 0x78, 0x86, 0x85, 0xbe, 0x2e, 0x2b, 0x6, 0xde, 0x30, 0x3, 0x9, 0x3, 0x89, 0x6e, 0x4d, 0x2c, 0xb6, 0x57, 0x10, 0xc8, 0xfb, 0xce, 0x1c, 0x60, 0x3, 0x63, 0x16, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0xd8, 0xff, 0xfe, 0x6, 0x54, 0x5, 0xd4, 0x0, 0x10, 0x0, 0x21, 0x0, 0x31, 0x0, 0x4d, 0x0, 0x0, 0x1, 0x33, 0x14, 0x6, 0x7, 0x14, 0x16, 0x17, 0x23, 0x26, 0x27, 0x26, 0x27, 0x30, 0x35, 0x34, 0x36, 0x25, 0x33, 0x14, 0x6, 0x7, 0x14, 0x16, 0x13, 0x23, 0x26, 0x27, 0x26, 0x27, 0x34, 0x35, 0x34, 0x36, 0x5, 0x33, 0x14, 0x6, 0x7, 0x14, 0x16, 0x17, 0x23, 0x26, 0x27, 0x26, 0x27, 0x35, 0x34, 0x36, 0x13, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x4, 0x20, 0x24, 0x26, 0x35, 0x34, 0x36, 0x37, 0x33, 0x6, 0x7, 0x6, 0x14, 0x16, 0x4, 0x20, 0x24, 0x36, 0x34, 0x27, 0x26, 0x27, 0x2, 0x76, 0xd, 0x91, 0x2, 0xcc, 0x7, 0xd, 0x1d, 0xa3, 0x30, 0xf, 0xa5, 0x1, 0x41, 0xd, 0x92, 0x2, 0xcd, 0x6, 0xd, 0x1d, 0xa2, 0x31, 0xf, 0xa6, 0x1, 0x59, 0xd, 0x92, 0x2, 0xcd, 0x6, 0xd, 0x1c, 0xa3, 0x31, 0xf, 0xa6, 0x2c, 0xa8, 0xbe, 0xb9, 0xfe, 0xb1, 0xfe, 0x94, 0xfe, 0xb1, 0xb9, 0xbd, 0xa8, 0x3, 0x83, 0x4b, 0x56, 0xa7, 0x1, 0x2e, 0x1, 0x4a, 0x1, 0x2f, 0xa6, 0x56, 0x4c, 0x83, 0x5, 0x39, 0x3f, 0x9b, 0x63, 0x82, 0x79, 0xc9, 0xa6, 0x74, 0x33, 0x5a, 0xe, 0x72, 0x88, 0xed, 0x60, 0xed, 0x97, 0xc5, 0xbb, 0xfe, 0xce, 0xfb, 0xb2, 0x4e, 0x8b, 0x8, 0x9, 0xb1, 0xd1, 0x5b, 0x4f, 0xc4, 0x7d, 0xa1, 0x9a, 0xfd, 0xd0, 0x91, 0x42, 0x72, 0xe, 0x91, 0xad, 0xfe, 0x1e, 0x31, 0xb1, 0x61, 0x60, 0xb0, 0x62, 0x62, 0xb0, 0x60, 0x61, 0xb1, 0x31, 0x29, 0x45, 0x4d, 0xa8, 0x98, 0x55, 0x55, 0x98, 0xa8, 0x4d, 0x45, 0x29, 0x0, 0x1, 0x0, 0xac, 0xff, 0xf6, 0x2, 0xb7, 0x5, 0xd5, 0x0, 0x11, 0x0, 0x0, 0x1, 0x33, 0x17, 0x11, 0x14, 0xf, 0x1, 0x23, 0x22, 0x2f, 0x1, 0x34, 0x3f, 0x1, 0x32, 0x17, 0x33, 0x11, 0x2, 0x68, 0x48, 0x7, 0xc4, 0x30, 0x23, 0xd4, 0x1c, 0x4, 0xd3, 0x21, 0x63, 0x5a, 0x4, 0x5, 0xd5, 0x8, 0xfa, 0xfd, 0xa3, 0x2d, 0x4, 0x85, 0x1f, 0x82, 0x18, 0x5, 0x40, 0x4, 0xd4, 0x0, 0x0, 0x1, 0x0, 0xac, 0xff, 0xf6, 0x4, 0x6f, 0x5, 0xd5, 0x0, 0x1d, 0x0, 0x0, 0x1, 0x33, 0x17, 0x15, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x23, 0x27, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x11, 0x14, 0x7, 0x23, 0x22, 0x35, 0x34, 0x37, 0x33, 0x32, 0x17, 0x11, 0x2, 0x58, 0x57, 0x8, 0x1b, 0xad, 0xf0, 0x7a, 0x4, 0x1e, 0x3d, 0xe4, 0x5c, 0x19, 0xe0, 0x39, 0xf2, 0xd4, 0x17, 0x60, 0x59, 0x5, 0xd5, 0x7, 0x27, 0x36, 0x3f, 0x46, 0x8a, 0x92, 0x60, 0x20, 0x31, 0x54, 0x46, 0x47, 0x2a, 0x1a, 0xfb, 0xd6, 0x99, 0x2d, 0xa8, 0x83, 0x17, 0x40, 0x4, 0xd6, 0x0, 0x1, 0x1, 0x78, 0xff, 0x2f, 0x5, 0xb3, 0x5, 0xd5, 0x0, 0x1e, 0x0, 0x0, 0x1, 0x5, 0x17, 0x11, 0x14, 0x7, 0x23, 0x22, 0x3d, 0x1, 0x34, 0x3f, 0x1, 0x32, 0x17, 0x11, 0x25, 0x11, 0x14, 0xf, 0x1, 0x23, 0x22, 0x3d, 0x1, 0x34, 0x3f, 0x1, 0x32, 0x17, 0x11, 0x2, 0xfd, 0x2, 0xb3, 0x3, 0xc0, 0x36, 0xd5, 0xb1, 0x27, 0x56, 0x51, 0xfd, 0xdc, 0x96, 0x43, 0x1a, 0xd8, 0xaa, 0x2b, 0x59, 0x50, 0x5, 0xd5, 0xca, 0x4, 0xfa, 0xed, 0x9b, 0x2a, 0xa4, 0x4, 0x7e, 0x16, 0x3, 0x3a, 0x4, 0xb, 0xa9, 0xfb, 0xdb, 0x89, 0x38, 0x8, 0x9b, 0x7, 0x7a, 0x22, 0x4, 0x43, 0x4, 0xd3, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xbc, 0xff, 0xf6, 0x6, 0x6f, 0x5, 0xd5, 0x0, 0x18, 0x0, 0x1c, 0x0, 0x0, 0x1, 0x17, 0x11, 0x14, 0x5, 0x22, 0x27, 0x34, 0x37, 0x32, 0x17, 0x33, 0x11, 0x21, 0x11, 0x6, 0x7, 0x23, 0x20, 0x35, 0x34, 0x37, 0x32, 0x17, 0x11, 0x17, 0x15, 0x21, 0x35, 0x6, 0x6b, 0x4, 0xfe, 0xfb, 0xe9, 0x12, 0xe9, 0x6d, 0x4f, 0x3, 0xfc, 0xa5, 0x8, 0xf2, 0x4, 0xfe, 0xfe, 0xec, 0x64, 0x58, 0x58, 0x3, 0x5b, 0x5, 0xd5, 0x4, 0xfb, 0x12, 0xd5, 0x15, 0xa4, 0x8a, 0xe, 0x3b, 0x2, 0x95, 0xfd, 0x5a, 0xcf, 0x24, 0xb1, 0x7d, 0x10, 0x40, 0x4, 0xe1, 0xcf, 0x9c, 0x9c, 0x0, 0x0, 0x2, 0x0, 0xb5, 0xff, 0xfa, 0x3, 0x22, 0x5, 0xd9, 0x0, 0xc, 0x0, 0x15, 0x0, 0x0, 0x13, 0x33, 0x17, 0x11, 0x33, 0x36, 0x33, 0x16, 0x13, 0x2, 0x5, 0x27, 0x11, 0x13, 0x11, 0x24, 0x11, 0x36, 0x35, 0x34, 0x27, 0x22, 0xbb, 0x2d, 0x5, 0x3, 0xaa, 0x91, 0xe3, 0x14, 0x1d, 0xfd, 0xb3, 0x3, 0x38, 0x1, 0xa2, 0x1, 0x95, 0x77, 0x5, 0xd9, 0x6, 0xfc, 0x3f, 0xed, 0x3, 0xfe, 0xff, 0xfe, 0x57, 0x58, 0x3, 0x5, 0xd6, 0xfb, 0xd4, 0xfe, 0x9d, 0x63, 0x1, 0x31, 0xd, 0xc, 0x94, 0x8, 0x0, 0x0, 0x0, 0x2, 0x0, 0xac, 0x0, 0x0, 0x2, 0x30, 0x5, 0xd9, 0x0, 0xd, 0x0, 0x13, 0x0, 0x0, 0x13, 0x33, 0x17, 0x11, 0x25, 0x17, 0x11, 0x7, 0x23, 0x27, 0x11, 0x5, 0x23, 0x11, 0x13, 0x11, 0x33, 0x25, 0x11, 0x23, 0xb1, 0x29, 0x6, 0x1, 0x4e, 0x2, 0x4, 0x28, 0x5, 0xfe, 0xaf, 0x2, 0x34, 0x2, 0x1, 0x1d, 0x2, 0x5, 0xd9, 0x5, 0xfe, 0x2f, 0xa1, 0x2, 0xfb, 0x63, 0x5, 0x5, 0x1, 0xe5, 0xa0, 0x4, 0x8a, 0xfd, 0x99, 0xfe, 0x7d, 0x90, 0x1, 0x7f, 0x0, 0x2, 0x0, 0xad, 0x0, 0x0, 0x3, 0x34, 0x5, 0xd9, 0x0, 0x28, 0x0, 0x2c, 0x0, 0x0, 0x1, 0x33, 0x17, 0x11, 0x37, 0x17, 0x15, 0x6, 0x7, 0x11, 0x37, 0x15, 0x6, 0x7, 0x11, 0x7, 0x23, 0x27, 0x11, 0x5, 0x11, 0x7, 0x23, 0x27, 0x11, 0x7, 0x35, 0x34, 0x37, 0x11, 0x23, 0x7, 0x35, 0x37, 0x11, 0x37, 0x33, 0x17, 0x11, 0x25, 0x11, 0x1, 0x11, 0x25, 0x11, 0x2, 0x87, 0x2e, 0x5, 0x77, 0x3, 0x3, 0x77, 0x7a, 0x1, 0x79, 0x5, 0x2e, 0x5, 0xfe, 0xe0, 0x5, 0x2a, 0x5, 0x81, 0x81, 0x2, 0x7f, 0x81, 0x5, 0x2a, 0x5, 0x1, 0x20, 0xfe, 0xe0, 0x1, 0x20, 0x5, 0xd9, 0x5, 0xfe, 0xd0, 0x3c, 0x2, 0x8d, 0x7, 0x3c, 0xfe, 0x8b, 0x37, 0x87, 0x4, 0x43, 0xfe, 0xd7, 0x4, 0x4, 0x1, 0x11, 0x8c, 0xfe, 0xa6, 0x4, 0x4, 0x1, 0x41, 0x3c, 0x8e, 0x6, 0x3c, 0x1, 0x7b, 0x38, 0x8b, 0x41, 0x1, 0x1f, 0x4, 0x4, 0xfe, 0xfa, 0x86, 0x1, 0x4d, 0xfd, 0x96, 0xfe, 0x87, 0x8b, 0x1, 0x74, 0x0, 0x1, 0x0, 0xac, 0x0, 0x0, 0x5, 0x50, 0x5, 0xd9, 0x0, 0x48, 0x0, 0x0, 0x1, 0x23, 0x30, 0x23, 0x22, 0x7, 0x23, 0x22, 0x27, 0x35, 0x36, 0x35, 0x34, 0x27, 0x35, 0x36, 0x37, 0x33, 0x16, 0x3b, 0x1, 0x35, 0x34, 0x27, 0x35, 0x36, 0x37, 0x33, 0x16, 0x32, 0x37, 0x33, 0x16, 0x17, 0x15, 0x6, 0x1d, 0x1, 0x33, 0x32, 0x37, 0x33, 0x16, 0x17, 0x15, 0x6, 0x15, 0x14, 0x17, 0x15, 0x6, 0x2b, 0x1, 0x26, 0x2b, 0x2, 0x11, 0x14, 0x17, 0x15, 0x6, 0x7, 0x23, 0x26, 0x22, 0x7, 0x23, 0x26, 0x27, 0x35, 0x36, 0x35, 0x2, 0xb6, 0xa8, 0x4, 0xb3, 0x50, 0x38, 0x18, 0xb, 0x63, 0x63, 0x2, 0x20, 0x39, 0x53, 0xb5, 0xa7, 0x83, 0x3, 0x1d, 0x3a, 0x2d, 0x8c, 0x2d, 0x3a, 0x1d, 0x3, 0x83, 0xa3, 0xb5, 0x53, 0x38, 0x21, 0x2, 0x63, 0x63, 0xb, 0x19, 0x37, 0x50, 0xb3, 0x4, 0xa4, 0x83, 0x3, 0x1d, 0x3a, 0x2d, 0x8c, 0x2d, 0x3a, 0x1d, 0x3, 0x83, 0x3, 0x11, 0x5a, 0x23, 0x3b, 0x31, 0x37, 0x46, 0x2d, 0x3a, 0x1d, 0x3, 0x83, 0xaf, 0xb5, 0x53, 0x38, 0x21, 0x2, 0x63, 0x63, 0x2, 0x21, 0x38, 0x53, 0xb5, 0xaf, 0x83, 0x3, 0x1d, 0x3a, 0x2d, 0x46, 0x37, 0x31, 0x3b, 0x23, 0x5a, 0xfe, 0x52, 0xb5, 0x53, 0x39, 0x20, 0x2, 0x63, 0x63, 0x2, 0x20, 0x39, 0x53, 0xb5, 0x0, 0x6, 0x0, 0x84, 0x0, 0x0, 0x5, 0x9c, 0x5, 0xd9, 0x0, 0x6, 0x0, 0xd, 0x0, 0x14, 0x0, 0x1b, 0x0, 0x3b, 0x0, 0x47, 0x0, 0x0, 0x1, 0x6, 0x7, 0x16, 0x17, 0x37, 0x35, 0x5, 0x15, 0x17, 0x36, 0x37, 0x26, 0x27, 0x1, 0x26, 0x27, 0x6, 0x7, 0x17, 0x33, 0x3, 0x23, 0x7, 0x16, 0x17, 0x36, 0x37, 0x3, 0x33, 0x37, 0x16, 0x17, 0x6, 0x7, 0x27, 0x23, 0x11, 0x17, 0x6, 0x7, 0x26, 0x27, 0x37, 0x11, 0x23, 0x7, 0x26, 0x27, 0x36, 0x37, 0x17, 0x33, 0x35, 0x27, 0x36, 0x37, 0x16, 0x17, 0xf, 0x1, 0x15, 0x23, 0x15, 0x33, 0x11, 0x33, 0x11, 0x33, 0x35, 0x23, 0x35, 0x1, 0x3b, 0x16, 0x30, 0x2f, 0x17, 0x5f, 0x2, 0xed, 0x5e, 0x17, 0x2f, 0x2f, 0x17, 0xfe, 0x86, 0x2c, 0x2f, 0x2c, 0x2d, 0x44, 0x2d, 0x1, 0x2d, 0x43, 0x2d, 0x2c, 0x2e, 0x2d, 0x7, 0xe4, 0xd0, 0xa, 0x7a, 0x7a, 0xa, 0xd0, 0xe4, 0x7e, 0x6a, 0x69, 0x68, 0x68, 0x7e, 0xe4, 0xd0, 0xb, 0x7a, 0x7a, 0xb, 0xd0, 0xe4, 0x7e, 0x68, 0x69, 0x68, 0x6a, 0x7e, 0x6e, 0x74, 0x74, 0x36, 0x74, 0x74, 0x3, 0xb4, 0x2d, 0x2e, 0x2c, 0x2d, 0x43, 0x2e, 0x1, 0x2e, 0x43, 0x2e, 0x2c, 0x2e, 0x2d, 0x1, 0x6e, 0x17, 0x2f, 0x2f, 0x17, 0x5f, 0xfc, 0x52, 0x5f, 0x17, 0x2f, 0x2f, 0x17, 0x2, 0xf7, 0x7e, 0x69, 0x6a, 0x68, 0x68, 0x7e, 0xfe, 0x4e, 0xd0, 0xb, 0x79, 0x79, 0xb, 0xd0, 0x1, 0xb2, 0x7e, 0x68, 0x69, 0x69, 0x69, 0x7e, 0xd6, 0xd1, 0xb, 0x7a, 0x7a, 0xb, 0xd1, 0x73, 0x9f, 0x2e, 0xfe, 0x80, 0x1, 0x80, 0x2e, 0x9f, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0xac, 0x0, 0x0, 0x6, 0x81, 0x5, 0xac, 0x0, 0x14, 0x0, 0x23, 0x0, 0x2e, 0x0, 0x36, 0x0, 0x43, 0x0, 0x4d, 0x0, 0x68, 0x0, 0x77, 0x0, 0x8c, 0x0, 0x97, 0x0, 0xa6, 0x0, 0xaf, 0x0, 0x0, 0x1, 0x21, 0x32, 0x1f, 0x1, 0x37, 0x33, 0x32, 0x15, 0x3, 0x21, 0x27, 0x35, 0x36, 0x37, 0x35, 0x2, 0x27, 0x26, 0x3d, 0x1, 0x7, 0x33, 0x32, 0x17, 0x16, 0x15, 0x2, 0x7, 0x23, 0x24, 0x27, 0x35, 0x12, 0x37, 0x36, 0x5, 0x15, 0x13, 0x7, 0x15, 0x33, 0x37, 0x7, 0x26, 0x2f, 0x1, 0x1, 0x17, 0x13, 0x26, 0x2b, 0x1, 0x22, 0x7, 0x1, 0x16, 0x13, 0x17, 0x15, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x26, 0x3, 0x35, 0x17, 0x13, 0x33, 0x32, 0x3f, 0x1, 0x34, 0x2f, 0x1, 0x6, 0x25, 0x33, 0x32, 0x17, 0x16, 0x15, 0x7, 0x23, 0x27, 0x2, 0xf, 0x1, 0x17, 0x7, 0x23, 0x26, 0x3, 0x26, 0x3d, 0x1, 0x34, 0x3f, 0x1, 0x23, 0x27, 0x35, 0x37, 0x17, 0x15, 0x17, 0x33, 0x15, 0x14, 0x7, 0x15, 0x16, 0x17, 0x13, 0x33, 0x17, 0x35, 0x27, 0x1, 0x33, 0x17, 0x15, 0x21, 0x32, 0x37, 0x33, 0x17, 0x15, 0x6, 0x3, 0x6, 0x2b, 0x1, 0x15, 0x7, 0x23, 0x2, 0x3d, 0x1, 0x27, 0x17, 0x11, 0x7, 0x21, 0x22, 0x2f, 0x1, 0x35, 0x34, 0x37, 0x5, 0x7, 0x17, 0x33, 0x35, 0x34, 0x3b, 0x1, 0x32, 0x3f, 0x1, 0x21, 0x26, 0x3d, 0x1, 0x5, 0x6, 0x7, 0x15, 0x14, 0x1f, 0x1, 0x21, 0x11, 0x3, 0x28, 0x1, 0x8b, 0x3a, 0x1d, 0x4d, 0x62, 0x8, 0x5, 0xad, 0xfe, 0xa4, 0x5, 0x12, 0x52, 0xbb, 0x10, 0x2e, 0x71, 0x17, 0x70, 0x37, 0x1e, 0xb0, 0x10, 0x3, 0xfe, 0xd3, 0x4, 0x9e, 0x11, 0x2c, 0x1, 0x12, 0xca, 0x16, 0xca, 0x5f, 0x1c, 0x71, 0x10, 0x14, 0xfd, 0x1e, 0xf0, 0xa0, 0x3e, 0x4d, 0x1c, 0x54, 0x2c, 0x3, 0x9b, 0x12, 0x95, 0x5, 0x50, 0x17, 0x24, 0x92, 0xc, 0xb4, 0x36, 0x9c, 0x85, 0x36, 0x24, 0x2, 0x30, 0x5f, 0xe4, 0xfd, 0x13, 0x14, 0x9, 0x75, 0x33, 0x5, 0x5, 0x64, 0xb4, 0xf, 0x3, 0x5, 0x7, 0x3, 0x16, 0xad, 0x14, 0x55, 0x14, 0x2, 0x64, 0x5, 0x80, 0x12, 0x3, 0x74, 0x1, 0x9c, 0xc8, 0x2, 0x1c, 0x5f, 0x2, 0x7d, 0x5, 0x5, 0x1, 0x73, 0x2a, 0x24, 0x2, 0x5, 0x6, 0xc4, 0x19, 0x22, 0xc3, 0x5, 0x8, 0xac, 0x52, 0x8, 0x5, 0xfe, 0xd6, 0x74, 0x30, 0x6, 0x58, 0x2, 0x58, 0x5f, 0x5f, 0x5, 0x8, 0xe7, 0x16, 0x2f, 0x69, 0xfe, 0x6b, 0x8, 0xfd, 0xb8, 0x3d, 0x6, 0x5a, 0x1e, 0x1, 0xe, 0x5, 0xac, 0x47, 0x86, 0x38, 0x7, 0xfe, 0xd4, 0x5, 0x5, 0x11, 0x2a, 0x5, 0x1, 0x46, 0x14, 0x16, 0x4, 0x5, 0xd, 0x80, 0x31, 0xa, 0xfe, 0xc6, 0x11, 0xac, 0x8, 0x2, 0x1, 0x1a, 0x8, 0x2e, 0x17, 0x2, 0xfe, 0x9d, 0xf, 0x3, 0xad, 0xd, 0xc5, 0xd, 0x5, 0xfe, 0xd1, 0x8a, 0x1, 0x17, 0x90, 0x66, 0xfe, 0xf5, 0x11, 0xfe, 0xef, 0x29, 0x14, 0x4d, 0x43, 0x12, 0xb, 0x1, 0x3d, 0x5, 0xf, 0xfe, 0xea, 0x67, 0x1a, 0x39, 0x45, 0xa2, 0x81, 0x6b, 0xd7, 0x4f, 0xd, 0x5, 0x39, 0xfe, 0xcb, 0x21, 0x15, 0x28, 0x5, 0x1b, 0x1, 0x2d, 0x1a, 0x1f, 0x7, 0x1c, 0x83, 0x29, 0x3b, 0x5, 0x5, 0x26, 0x5, 0xd, 0x2, 0x8, 0xc6, 0xa, 0x1a, 0xfe, 0x1, 0x5d, 0x8, 0x3, 0xac, 0xfe, 0xd4, 0x5, 0x74, 0x21, 0x5, 0x2, 0x15, 0xfe, 0xb1, 0x1d, 0x79, 0x5, 0x1, 0x22, 0xd, 0x3, 0xb3, 0x7, 0xfe, 0xa5, 0x5, 0x86, 0x26, 0xd, 0x32, 0x7c, 0xc, 0xac, 0xaa, 0x8, 0x1c, 0x62, 0xb3, 0x1, 0x14, 0x8, 0x1d, 0x61, 0x24, 0xa, 0x55, 0x2b, 0x6, 0x1, 0x15, 0x0, 0x0, 0x4, 0x0, 0x9c, 0x0, 0x20, 0x6, 0x8f, 0x5, 0xd9, 0x0, 0xa, 0x0, 0x23, 0x0, 0x38, 0x0, 0x4d, 0x0, 0x0, 0x1, 0x33, 0x11, 0x7, 0x35, 0x37, 0x33, 0x11, 0x33, 0x15, 0x21, 0x5, 0x26, 0x35, 0x34, 0x3f, 0x1, 0x27, 0x37, 0x13, 0x27, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x21, 0x15, 0x21, 0x22, 0x27, 0x26, 0x25, 0x6, 0x7, 0x23, 0x15, 0x27, 0x37, 0x15, 0x33, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x3, 0x37, 0x13, 0x16, 0x15, 0x14, 0x1, 0x16, 0x1f, 0x1, 0x37, 0x3, 0x27, 0x37, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x3, 0x27, 0x13, 0x36, 0x37, 0x36, 0x2, 0xd5, 0xab, 0xba, 0xca, 0x7f, 0xab, 0xfe, 0x1b, 0xfd, 0xf3, 0x2c, 0x26, 0x54, 0x3e, 0xeb, 0x18, 0x3d, 0x63, 0x7, 0x17, 0x23, 0x5d, 0xf, 0x10, 0x1, 0x96, 0xfe, 0x1c, 0x4b, 0x39, 0x2e, 0x5, 0x8b, 0x55, 0xaf, 0xa7, 0xd2, 0xd2, 0xc6, 0x3a, 0x19, 0x7, 0x31, 0xca, 0x88, 0xf3, 0x25, 0xfc, 0xe6, 0xa9, 0x60, 0x54, 0x3f, 0x19, 0xea, 0x3c, 0x63, 0x22, 0x34, 0x7, 0x7, 0x3f, 0x35, 0xcc, 0x88, 0xf1, 0x27, 0x38, 0x2f, 0x1, 0xea, 0x1, 0x9a, 0x1a, 0x61, 0x1e, 0xfe, 0x1, 0x5c, 0xb8, 0x4d, 0x4f, 0x48, 0x4b, 0x92, 0x24, 0x6b, 0xfe, 0xff, 0x24, 0xac, 0x14, 0x13, 0x23, 0x20, 0x2c, 0x1, 0x9f, 0x21, 0x1b, 0x61, 0x93, 0xa, 0x49, 0x97, 0x95, 0x46, 0xb, 0x37, 0x11, 0x13, 0x34, 0x48, 0x1, 0x60, 0x4f, 0xfe, 0x5d, 0x42, 0x41, 0x36, 0x4, 0x9e, 0x1, 0x92, 0x91, 0x24, 0xfe, 0xff, 0x6b, 0x23, 0xac, 0x28, 0x1, 0x9, 0x6b, 0xfe, 0xa1, 0x4e, 0x1, 0xa4, 0x41, 0x21, 0x1b, 0x0, 0x0, 0x4, 0x0, 0x9c, 0x0, 0x20, 0x6, 0x8f, 0x5, 0xd9, 0x0, 0x1c, 0x0, 0x35, 0x0, 0x4a, 0x0, 0x5f, 0x0, 0x0, 0x1, 0x21, 0x15, 0x21, 0x35, 0x3e, 0x1, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0xe, 0x1, 0x1, 0x26, 0x35, 0x34, 0x3f, 0x1, 0x27, 0x37, 0x13, 0x27, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x21, 0x15, 0x21, 0x22, 0x27, 0x26, 0x25, 0x6, 0x7, 0x23, 0x15, 0x27, 0x37, 0x15, 0x33, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x3, 0x37, 0x13, 0x16, 0x15, 0x14, 0x1, 0x16, 0x1f, 0x1, 0x37, 0x3, 0x27, 0x37, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x3, 0x27, 0x13, 0x36, 0x37, 0x36, 0x3, 0x5d, 0x1, 0x54, 0xfd, 0xf1, 0x40, 0xcd, 0x19, 0x31, 0x24, 0x4a, 0x3c, 0x2f, 0x67, 0x59, 0x4c, 0x70, 0x30, 0x7f, 0x9a, 0x26, 0x30, 0xe, 0x8b, 0xfd, 0xa, 0x2c, 0x26, 0x54, 0x3e, 0xeb, 0x18, 0x3d, 0x63, 0x7, 0x17, 0x23, 0x5d, 0xf, 0x10, 0x1, 0x96, 0xfe, 0x1c, 0x4b, 0x39, 0x2e, 0x5, 0x8b, 0x55, 0xaf, 0xa7, 0xd2, 0xd2, 0xc6, 0x3a, 0x19, 0x7, 0x31, 0xca, 0x88, 0xf3, 0x25, 0xfc, 0xe6, 0xa9, 0x60, 0x54, 0x3f, 0x19, 0xea, 0x3c, 0x63, 0x22, 0x34, 0x7, 0x7, 0x3f, 0x35, 0xcc, 0x88, 0xf1, 0x27, 0x38, 0x2f, 0x1, 0xd2, 0x5d, 0x55, 0x31, 0x9e, 0x15, 0x29, 0x38, 0x1a, 0x28, 0x33, 0x18, 0x26, 0x6e, 0x19, 0x14, 0x63, 0x51, 0x26, 0x44, 0x2d, 0xd, 0x6d, 0xfe, 0xba, 0x4d, 0x4f, 0x48, 0x4b, 0x92, 0x24, 0x6b, 0xfe, 0xff, 0x24, 0xac, 0x14, 0x13, 0x23, 0x20, 0x2c, 0x1, 0x9f, 0x21, 0x1b, 0x61, 0x93, 0xa, 0x49, 0x97, 0x95, 0x46, 0xb, 0x37, 0x11, 0x13, 0x34, 0x48, 0x1, 0x60, 0x4f, 0xfe, 0x5d, 0x42, 0x41, 0x36, 0x4, 0x9e, 0x1, 0x92, 0x91, 0x24, 0xfe, 0xff, 0x6b, 0x23, 0xac, 0x28, 0x1, 0x9, 0x6b, 0xfe, 0xa1, 0x4e, 0x1, 0xa4, 0x41, 0x21, 0x1b, 0x0, 0x4, 0x0, 0x9c, 0x0, 0x20, 0x6, 0x8f, 0x5, 0xd9, 0x0, 0x28, 0x0, 0x41, 0x0, 0x56, 0x0, 0x6b, 0x0, 0x0, 0x1, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x1, 0x26, 0x35, 0x34, 0x3f, 0x1, 0x27, 0x37, 0x13, 0x27, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x21, 0x15, 0x21, 0x22, 0x27, 0x26, 0x25, 0x6, 0x7, 0x23, 0x15, 0x27, 0x37, 0x15, 0x33, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x3, 0x37, 0x13, 0x16, 0x15, 0x14, 0x1, 0x16, 0x1f, 0x1, 0x37, 0x3, 0x27, 0x37, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x3, 0x27, 0x13, 0x36, 0x37, 0x36, 0x4, 0x5a, 0xb, 0x5f, 0xad, 0x9d, 0x33, 0x6c, 0x46, 0x48, 0x65, 0x35, 0x5e, 0x5c, 0x56, 0x4f, 0x6f, 0x73, 0x48, 0x47, 0x4a, 0x49, 0x29, 0x60, 0x56, 0x4b, 0x6d, 0x31, 0x81, 0x9a, 0x53, 0xfc, 0x6a, 0x2c, 0x26, 0x54, 0x3e, 0xeb, 0x18, 0x3d, 0x63, 0x7, 0x17, 0x23, 0x5d, 0xf, 0x10, 0x1, 0x96, 0xfe, 0x1c, 0x4b, 0x39, 0x2e, 0x5, 0x8b, 0x55, 0xaf, 0xa7, 0xd2, 0xd2, 0xc6, 0x3a, 0x19, 0x7, 0x31, 0xca, 0x88, 0xf3, 0x25, 0xfc, 0xe6, 0xa9, 0x60, 0x54, 0x3f, 0x19, 0xea, 0x3c, 0x63, 0x22, 0x34, 0x7, 0x7, 0x3f, 0x35, 0xcc, 0x88, 0xf1, 0x27, 0x38, 0x2f, 0x2, 0xbe, 0x2, 0x53, 0x3c, 0x5c, 0x65, 0xe, 0x12, 0x6c, 0x1e, 0x12, 0x32, 0x33, 0x2d, 0x32, 0x5b, 0x27, 0x26, 0x27, 0x29, 0xe, 0x14, 0x62, 0xf, 0xd, 0x59, 0x4b, 0x34, 0x4a, 0xfe, 0x18, 0x4d, 0x4f, 0x48, 0x4b, 0x92, 0x24, 0x6b, 0xfe, 0xff, 0x24, 0xac, 0x14, 0x13, 0x23, 0x20, 0x2c, 0x1, 0x9f, 0x21, 0x1b, 0x61, 0x93, 0xa, 0x49, 0x97, 0x95, 0x46, 0xb, 0x37, 0x11, 0x13, 0x34, 0x48, 0x1, 0x60, 0x4f, 0xfe, 0x5d, 0x42, 0x41, 0x36, 0x4, 0x9e, 0x1, 0x92, 0x91, 0x24, 0xfe, 0xff, 0x6b, 0x23, 0xac, 0x28, 0x1, 0x9, 0x6b, 0xfe, 0xa1, 0x4e, 0x1, 0xa4, 0x41, 0x21, 0x1b, 0x0, 0x5, 0x0, 0x9c, 0x0, 0x20, 0x6, 0x8f, 0x5, 0xd9, 0x0, 0x2, 0x0, 0xd, 0x0, 0x26, 0x0, 0x3b, 0x0, 0x50, 0x0, 0x0, 0x1, 0x3, 0x33, 0x3, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x21, 0x35, 0x1, 0x26, 0x35, 0x34, 0x3f, 0x1, 0x27, 0x37, 0x13, 0x27, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x21, 0x15, 0x21, 0x22, 0x27, 0x26, 0x25, 0x6, 0x7, 0x23, 0x15, 0x27, 0x37, 0x15, 0x33, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x3, 0x37, 0x13, 0x16, 0x15, 0x14, 0x1, 0x16, 0x1f, 0x1, 0x37, 0x3, 0x27, 0x37, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x3, 0x27, 0x13, 0x36, 0x37, 0x36, 0x3, 0xb6, 0xe6, 0xe6, 0x14, 0xb1, 0x79, 0x79, 0x9d, 0xfe, 0x82, 0xfe, 0x90, 0x2c, 0x26, 0x54, 0x3e, 0xeb, 0x18, 0x3d, 0x63, 0x7, 0x17, 0x23, 0x5d, 0xf, 0x10, 0x1, 0x96, 0xfe, 0x1c, 0x4b, 0x39, 0x2e, 0x5, 0x8b, 0x55, 0xaf, 0xa7, 0xd2, 0xd2, 0xc6, 0x3a, 0x19, 0x7, 0x31, 0xca, 0x88, 0xf3, 0x25, 0xfc, 0xe6, 0xa9, 0x60, 0x54, 0x3f, 0x19, 0xea, 0x3c, 0x63, 0x22, 0x34, 0x7, 0x7, 0x3f, 0x35, 0xcc, 0x88, 0xf1, 0x27, 0x38, 0x2f, 0x3, 0x52, 0xfe, 0xff, 0x1, 0x8a, 0xfe, 0x76, 0x5f, 0x8e, 0x8e, 0x60, 0xfe, 0x84, 0x4d, 0x4f, 0x48, 0x4b, 0x92, 0x24, 0x6b, 0xfe, 0xff, 0x24, 0xac, 0x14, 0x13, 0x23, 0x20, 0x2c, 0x1, 0x9f, 0x21, 0x1b, 0x61, 0x93, 0xa, 0x49, 0x97, 0x95, 0x46, 0xb, 0x37, 0x11, 0x13, 0x34, 0x48, 0x1, 0x60, 0x4f, 0xfe, 0x5d, 0x42, 0x41, 0x36, 0x4, 0x9e, 0x1, 0x92, 0x91, 0x24, 0xfe, 0xff, 0x6b, 0x23, 0xac, 0x28, 0x1, 0x9, 0x6b, 0xfe, 0xa1, 0x4e, 0x1, 0xa4, 0x41, 0x21, 0x1b, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x9c, 0x0, 0x20, 0x6, 0x8f, 0x5, 0xd9, 0x0, 0x1d, 0x0, 0x36, 0x0, 0x4b, 0x0, 0x60, 0x0, 0x0, 0x1, 0x21, 0x15, 0x21, 0x15, 0x6, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x1, 0x26, 0x35, 0x34, 0x3f, 0x1, 0x27, 0x37, 0x13, 0x27, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x21, 0x15, 0x21, 0x22, 0x27, 0x26, 0x25, 0x6, 0x7, 0x23, 0x15, 0x27, 0x37, 0x15, 0x33, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x3, 0x37, 0x13, 0x16, 0x15, 0x14, 0x1, 0x16, 0x1f, 0x1, 0x37, 0x3, 0x27, 0x37, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x3, 0x27, 0x13, 0x36, 0x37, 0x36, 0x2, 0xbb, 0x1, 0xc3, 0xfe, 0xc5, 0x2, 0x31, 0x18, 0x8b, 0xa2, 0xa7, 0x96, 0x32, 0x68, 0x46, 0x4c, 0x5d, 0x35, 0x52, 0x5d, 0x5d, 0x52, 0x27, 0x50, 0x46, 0xfe, 0xd, 0x2c, 0x26, 0x54, 0x3e, 0xeb, 0x18, 0x3d, 0x63, 0x7, 0x17, 0x23, 0x5d, 0xf, 0x10, 0x1, 0x96, 0xfe, 0x1c, 0x4b, 0x39, 0x2e, 0x5, 0x8b, 0x55, 0xaf, 0xa7, 0xd2, 0xd2, 0xc6, 0x3a, 0x19, 0x7, 0x31, 0xca, 0x88, 0xf3, 0x25, 0xfc, 0xe6, 0xa9, 0x60, 0x54, 0x3f, 0x19, 0xea, 0x3c, 0x63, 0x22, 0x34, 0x7, 0x7, 0x3f, 0x35, 0xcc, 0x88, 0xf1, 0x27, 0x38, 0x2f, 0x3, 0xd0, 0x5f, 0x70, 0x1, 0x7, 0x74, 0x63, 0x64, 0x72, 0xe, 0xf, 0x72, 0x1f, 0x12, 0x40, 0x38, 0x39, 0x40, 0xd, 0x19, 0xfe, 0x53, 0x4d, 0x4f, 0x48, 0x4b, 0x92, 0x24, 0x6b, 0xfe, 0xff, 0x24, 0xac, 0x14, 0x13, 0x23, 0x20, 0x2c, 0x1, 0x9f, 0x21, 0x1b, 0x61, 0x93, 0xa, 0x49, 0x97, 0x95, 0x46, 0xb, 0x37, 0x11, 0x13, 0x34, 0x48, 0x1, 0x60, 0x4f, 0xfe, 0x5d, 0x42, 0x41, 0x36, 0x4, 0x9e, 0x1, 0x92, 0x91, 0x24, 0xfe, 0xff, 0x6b, 0x23, 0xac, 0x28, 0x1, 0x9, 0x6b, 0xfe, 0xa1, 0x4e, 0x1, 0xa4, 0x41, 0x21, 0x1b, 0x0, 0x0, 0x5, 0x0, 0x9c, 0x0, 0x20, 0x6, 0x8f, 0x5, 0xd9, 0x0, 0x9, 0x0, 0x22, 0x0, 0x3b, 0x0, 0x50, 0x0, 0x65, 0x0, 0x0, 0x1, 0x22, 0x6, 0x14, 0x16, 0x33, 0x32, 0x36, 0x34, 0x26, 0x13, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x7, 0x6, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x1, 0x26, 0x35, 0x34, 0x3f, 0x1, 0x27, 0x37, 0x13, 0x27, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x21, 0x15, 0x21, 0x22, 0x27, 0x26, 0x25, 0x6, 0x7, 0x23, 0x15, 0x27, 0x37, 0x15, 0x33, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x3, 0x37, 0x13, 0x16, 0x15, 0x14, 0x1, 0x16, 0x1f, 0x1, 0x37, 0x3, 0x27, 0x37, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x3, 0x27, 0x13, 0x36, 0x37, 0x36, 0x3, 0x86, 0x37, 0x44, 0x44, 0x37, 0x3a, 0x42, 0x42, 0x99, 0x3d, 0x46, 0x22, 0x57, 0x5c, 0x3, 0x7, 0x5d, 0x38, 0x75, 0x87, 0x8d, 0x75, 0x85, 0x8c, 0xa9, 0x92, 0x26, 0x4d, 0xfc, 0xa5, 0x2c, 0x26, 0x54, 0x3e, 0xeb, 0x18, 0x3d, 0x63, 0x7, 0x17, 0x23, 0x5d, 0xf, 0x10, 0x1, 0x96, 0xfe, 0x1c, 0x4b, 0x39, 0x2e, 0x5, 0x8b, 0x55, 0xaf, 0xa7, 0xd2, 0xd2, 0xc6, 0x3a, 0x19, 0x7, 0x31, 0xca, 0x88, 0xf3, 0x25, 0xfc, 0xe6, 0xa9, 0x60, 0x54, 0x3f, 0x19, 0xea, 0x3c, 0x63, 0x22, 0x34, 0x7, 0x7, 0x3f, 0x35, 0xcc, 0x88, 0xf1, 0x27, 0x38, 0x2f, 0x2, 0xbc, 0x41, 0x76, 0x40, 0x40, 0x76, 0x41, 0x1, 0xe, 0x66, 0x16, 0xe, 0x60, 0x35, 0x7, 0x28, 0x73, 0x61, 0x5f, 0x74, 0xa5, 0x96, 0x8f, 0xae, 0xc, 0xfc, 0xfd, 0x4d, 0x4f, 0x48, 0x4b, 0x92, 0x24, 0x6b, 0xfe, 0xff, 0x24, 0xac, 0x14, 0x13, 0x23, 0x20, 0x2c, 0x1, 0x9f, 0x21, 0x1b, 0x61, 0x93, 0xa, 0x49, 0x97, 0x95, 0x46, 0xb, 0x37, 0x11, 0x13, 0x34, 0x48, 0x1, 0x60, 0x4f, 0xfe, 0x5d, 0x42, 0x41, 0x36, 0x4, 0x9e, 0x1, 0x92, 0x91, 0x24, 0xfe, 0xff, 0x6b, 0x23, 0xac, 0x28, 0x1, 0x9, 0x6b, 0xfe, 0xa1, 0x4e, 0x1, 0xa4, 0x41, 0x21, 0x1b, 0x0, 0x0, 0x0, 0x4, 0x0, 0x9c, 0x0, 0x20, 0x6, 0x8f, 0x5, 0xd9, 0x0, 0x6, 0x0, 0x1f, 0x0, 0x34, 0x0, 0x49, 0x0, 0x0, 0x1, 0x21, 0x15, 0x1, 0x23, 0x13, 0x21, 0x1, 0x26, 0x35, 0x34, 0x3f, 0x1, 0x27, 0x37, 0x13, 0x27, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x21, 0x15, 0x21, 0x22, 0x27, 0x26, 0x25, 0x6, 0x7, 0x23, 0x15, 0x27, 0x37, 0x15, 0x33, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x3, 0x37, 0x13, 0x16, 0x15, 0x14, 0x1, 0x16, 0x1f, 0x1, 0x37, 0x3, 0x27, 0x37, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x3, 0x27, 0x13, 0x36, 0x37, 0x36, 0x2, 0xa2, 0x2, 0x2, 0xfe, 0xf0, 0x93, 0xfe, 0xfe, 0xa3, 0xfe, 0x26, 0x2c, 0x26, 0x54, 0x3e, 0xeb, 0x18, 0x3d, 0x63, 0x7, 0x17, 0x23, 0x5d, 0xf, 0x10, 0x1, 0x96, 0xfe, 0x1c, 0x4b, 0x39, 0x2e, 0x5, 0x8b, 0x55, 0xaf, 0xa7, 0xd2, 0xd2, 0xc6, 0x3a, 0x19, 0x7, 0x31, 0xca, 0x88, 0xf3, 0x25, 0xfc, 0xe6, 0xa9, 0x60, 0x54, 0x3f, 0x19, 0xea, 0x3c, 0x63, 0x22, 0x34, 0x7, 0x7, 0x3f, 0x35, 0xcc, 0x88, 0xf1, 0x27, 0x38, 0x2f, 0x3, 0xba, 0x32, 0xfd, 0xb9, 0x2, 0x1a, 0xfd, 0x7b, 0x4d, 0x4f, 0x48, 0x4b, 0x92, 0x24, 0x6b, 0xfe, 0xff, 0x24, 0xac, 0x14, 0x13, 0x23, 0x20, 0x2c, 0x1, 0x9f, 0x21, 0x1b, 0x61, 0x93, 0xa, 0x49, 0x97, 0x95, 0x46, 0xb, 0x37, 0x11, 0x13, 0x34, 0x48, 0x1, 0x60, 0x4f, 0xfe, 0x5d, 0x42, 0x41, 0x36, 0x4, 0x9e, 0x1, 0x92, 0x91, 0x24, 0xfe, 0xff, 0x6b, 0x23, 0xac, 0x28, 0x1, 0x9, 0x6b, 0xfe, 0xa1, 0x4e, 0x1, 0xa4, 0x41, 0x21, 0x1b, 0x0, 0x0, 0x0, 0x3, 0x0, 0x9c, 0x0, 0x20, 0x6, 0x8f, 0x5, 0xd9, 0x0, 0x18, 0x0, 0x2d, 0x0, 0x42, 0x0, 0x0, 0x37, 0x26, 0x35, 0x34, 0x3f, 0x1, 0x27, 0x37, 0x13, 0x27, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x21, 0x15, 0x21, 0x22, 0x27, 0x26, 0x25, 0x6, 0x7, 0x23, 0x15, 0x27, 0x37, 0x15, 0x33, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x3, 0x37, 0x13, 0x16, 0x15, 0x14, 0x1, 0x16, 0x1f, 0x1, 0x37, 0x3, 0x27, 0x37, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x3, 0x27, 0x13, 0x36, 0x37, 0x36, 0xc8, 0x2c, 0x26, 0x54, 0x3e, 0xeb, 0x18, 0x3d, 0x63, 0x7, 0x17, 0x23, 0x5d, 0xf, 0x10, 0x1, 0x96, 0xfe, 0x1c, 0x4b, 0x39, 0x2e, 0x5, 0x8b, 0x55, 0xaf, 0xa7, 0xd2, 0xd2, 0xc6, 0x3a, 0x19, 0x7, 0x31, 0xca, 0x88, 0xf3, 0x25, 0xfc, 0xe6, 0xa9, 0x60, 0x54, 0x3f, 0x19, 0xea, 0x3c, 0x63, 0x22, 0x34, 0x7, 0x7, 0x3f, 0x35, 0xcc, 0x88, 0xf1, 0x27, 0x38, 0x2f, 0xd6, 0x4d, 0x4f, 0x48, 0x4b, 0x92, 0x24, 0x6b, 0xfe, 0xff, 0x24, 0xac, 0x14, 0x13, 0x23, 0x20, 0x2c, 0x1, 0x9f, 0x21, 0x1b, 0x61, 0x93, 0xa, 0x49, 0x97, 0x95, 0x46, 0xb, 0x37, 0x11, 0x13, 0x34, 0x48, 0x1, 0x60, 0x4f, 0xfe, 0x5d, 0x42, 0x41, 0x36, 0x4, 0x9e, 0x1, 0x92, 0x91, 0x24, 0xfe, 0xff, 0x6b, 0x23, 0xac, 0x28, 0x1, 0x9, 0x6b, 0xfe, 0xa1, 0x4e, 0x1, 0xa4, 0x41, 0x21, 0x1b, 0x0, 0x0, 0x0, 0x6, 0x0, 0xac, 0x0, 0x0, 0x6, 0x7f, 0x5, 0xa1, 0x0, 0x10, 0x0, 0x1a, 0x0, 0x27, 0x0, 0x39, 0x0, 0x48, 0x0, 0x52, 0x0, 0x0, 0x1, 0x21, 0x32, 0x1f, 0x1, 0x37, 0x33, 0x15, 0x2, 0x7, 0x21, 0x35, 0x36, 0x37, 0x3, 0x26, 0x23, 0x7, 0x32, 0x1f, 0x1, 0x3, 0x24, 0x27, 0x12, 0x37, 0x36, 0x1, 0x12, 0x15, 0x17, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x26, 0x3, 0x36, 0x37, 0x5, 0x12, 0x17, 0x27, 0x2, 0xf, 0x1, 0x17, 0x23, 0x3, 0x27, 0x36, 0x37, 0x36, 0x35, 0x27, 0x35, 0x33, 0x1, 0x33, 0x15, 0x21, 0x32, 0x37, 0x33, 0x14, 0x3, 0x6, 0x2b, 0x1, 0x15, 0x23, 0x3, 0x27, 0x17, 0x11, 0x7, 0x21, 0x22, 0x2f, 0x1, 0x34, 0x37, 0x3, 0x2a, 0x1, 0x86, 0x3a, 0x21, 0x4a, 0x63, 0x6, 0x9d, 0x10, 0xfe, 0xa9, 0x61, 0x5, 0xc6, 0x23, 0xd, 0x66, 0x69, 0x2a, 0x31, 0xc1, 0xfe, 0xf5, 0x1b, 0x95, 0x16, 0x31, 0x3, 0x5a, 0xa6, 0x2, 0x61, 0xf, 0x28, 0x7d, 0xe, 0xaf, 0x18, 0xc9, 0xfc, 0x79, 0xab, 0x2, 0x70, 0xc0, 0x4, 0x3, 0x5, 0x5, 0xc9, 0x8, 0x4, 0x50, 0x1a, 0x64, 0xe4, 0x2, 0xd8, 0x2, 0x1, 0x8a, 0x21, 0x1e, 0x3, 0xc9, 0x18, 0x1f, 0xcc, 0x5, 0xa8, 0x5e, 0x5, 0x5, 0xfe, 0xde, 0x74, 0x2f, 0x5, 0x54, 0x5, 0xa1, 0x54, 0x7d, 0x37, 0x2, 0xfe, 0xed, 0x15, 0x5, 0x35, 0x9, 0x1, 0x62, 0x1a, 0x5, 0x5c, 0x56, 0xfe, 0xb6, 0x9a, 0x13, 0x1, 0x4, 0x1c, 0x2f, 0xfe, 0x56, 0xfe, 0xea, 0x17, 0x27, 0x66, 0x3a, 0x8, 0xf, 0x1, 0x3a, 0x17, 0x70, 0x1b, 0xfe, 0xe0, 0xd, 0x3f, 0xfe, 0xb6, 0x10, 0x29, 0x1d, 0x1, 0x5c, 0x20, 0x1f, 0x80, 0x29, 0xb, 0x39, 0x3, 0xfe, 0xa5, 0x73, 0x1a, 0x9, 0xfe, 0xa4, 0x17, 0x73, 0x1, 0x25, 0xb0, 0x6, 0xfe, 0xa9, 0x5, 0x80, 0x30, 0x30, 0x82, 0x0, 0x0, 0x7, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x83, 0x5, 0xd9, 0x0, 0x13, 0x0, 0x25, 0x0, 0x32, 0x0, 0x3c, 0x0, 0x4a, 0x0, 0x5c, 0x0, 0x65, 0x0, 0x0, 0x1, 0x33, 0x20, 0x13, 0x16, 0x1d, 0x1, 0x10, 0x5, 0x6, 0x2b, 0x1, 0x20, 0x3, 0x26, 0x3d, 0x1, 0x10, 0x25, 0x36, 0x17, 0x15, 0x32, 0x1f, 0x1, 0x15, 0x6, 0x7, 0x15, 0x21, 0x36, 0x37, 0x23, 0x7, 0x26, 0x27, 0x26, 0x23, 0x1, 0x16, 0x33, 0x36, 0x13, 0x26, 0x23, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x5, 0x15, 0x13, 0x33, 0x32, 0x37, 0x34, 0x2f, 0x1, 0x22, 0x5, 0x17, 0x6, 0x7, 0x14, 0x1f, 0x1, 0x33, 0x34, 0x3f, 0x1, 0x33, 0x17, 0x27, 0x1, 0x7, 0x16, 0x17, 0x33, 0x35, 0x37, 0x33, 0x32, 0x3f, 0x1, 0x35, 0x23, 0x6, 0x23, 0x21, 0x27, 0x35, 0x5, 0x6, 0x1d, 0x1, 0x14, 0x1f, 0x1, 0x33, 0x11, 0x3, 0x89, 0x1b, 0x1, 0x8b, 0xf3, 0x61, 0xfe, 0x6f, 0xa3, 0xb7, 0x3, 0xfe, 0x50, 0xe8, 0x53, 0x1, 0x3c, 0xbe, 0x89, 0x26, 0x33, 0x79, 0x1b, 0x3a, 0x1, 0x18, 0xa, 0x84, 0x3, 0x53, 0x4f, 0x12, 0x15, 0x1a, 0xfd, 0x88, 0xf2, 0x9, 0x4, 0x95, 0x42, 0x17, 0x1d, 0x32, 0x5f, 0x35, 0x4e, 0xd, 0x2, 0x81, 0x99, 0x76, 0x62, 0x1a, 0x65, 0x29, 0xe, 0xfb, 0xcd, 0x50, 0x4b, 0xb, 0x8b, 0x1d, 0x3, 0x1b, 0x8e, 0x9, 0x4c, 0x8b, 0x1, 0xf9, 0x87, 0x6, 0x81, 0x3, 0x6, 0xac, 0x24, 0x3d, 0x6a, 0x3, 0x16, 0x22, 0xfe, 0xc4, 0x6, 0xfd, 0xea, 0x41, 0x6a, 0x1a, 0xfc, 0x5, 0xd9, 0xfe, 0x92, 0xae, 0xcf, 0x6, 0xfe, 0x4f, 0xeb, 0x4c, 0x1, 0x86, 0xa8, 0xa3, 0x35, 0x1, 0x5f, 0xf1, 0x83, 0x93, 0x3, 0x6b, 0xce, 0x3, 0x16, 0x1f, 0x3, 0x8, 0xf0, 0x2c, 0x89, 0x16, 0xc, 0xfe, 0xdf, 0x8b, 0xf, 0x1, 0x1, 0x7e, 0x12, 0x79, 0x7d, 0x1f, 0xde, 0x3, 0xfe, 0xf4, 0x8a, 0x2f, 0x9d, 0x4d, 0x3c, 0x34, 0x7b, 0x31, 0x16, 0xe8, 0x3b, 0x43, 0x19, 0xf8, 0x2c, 0xf1, 0xfe, 0xe5, 0xfb, 0x3, 0xec, 0x5b, 0x6, 0x80, 0xb1, 0x3, 0x10, 0x6, 0x5f, 0x65, 0x69, 0x27, 0xc, 0x5b, 0x29, 0x4, 0x1, 0x24, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x83, 0x5, 0xd9, 0x0, 0xf, 0x0, 0x20, 0x0, 0x2f, 0x0, 0x3a, 0x0, 0x42, 0x0, 0x52, 0x0, 0x60, 0x0, 0x6a, 0x0, 0x0, 0x1, 0x20, 0x13, 0x16, 0x15, 0x10, 0x5, 0x6, 0x23, 0x20, 0x3, 0x26, 0x35, 0x10, 0x25, 0x36, 0x1, 0x10, 0x5, 0x16, 0x3b, 0x1, 0x20, 0x13, 0x36, 0x35, 0x10, 0x25, 0x26, 0x23, 0x20, 0x3, 0x6, 0x1, 0x21, 0x32, 0x1f, 0x1, 0x37, 0x15, 0x6, 0x7, 0x21, 0x35, 0x37, 0x26, 0x2f, 0x1, 0x23, 0x32, 0x1f, 0x1, 0x3, 0x23, 0x26, 0x27, 0x36, 0x37, 0x36, 0x1, 0x16, 0x1d, 0x1, 0x6, 0x2b, 0x1, 0x3, 0x25, 0x21, 0x17, 0x7, 0x23, 0x27, 0x23, 0x2, 0x7, 0x15, 0x26, 0x3, 0x27, 0x34, 0x37, 0x27, 0x1, 0x33, 0x15, 0x21, 0x32, 0x37, 0x15, 0x3, 0x7, 0x23, 0x7, 0x15, 0x23, 0x27, 0x25, 0x21, 0x17, 0x11, 0x7, 0x23, 0x22, 0x2f, 0x1, 0x36, 0x3, 0x98, 0x1, 0x97, 0xed, 0x67, 0xfe, 0x84, 0xa4, 0xd1, 0xfe, 0x5e, 0xe7, 0x5f, 0x1, 0x88, 0xaa, 0xfd, 0xf9, 0x1, 0x62, 0x9d, 0xaa, 0x30, 0x1, 0x68, 0xe5, 0x5c, 0xfe, 0x96, 0xa0, 0xb8, 0xfe, 0x7b, 0xdf, 0x5c, 0x2, 0x5b, 0x1, 0x3a, 0x35, 0x18, 0x3a, 0x51, 0x6d, 0x1b, 0xfe, 0xf0, 0x4d, 0x92, 0x1a, 0x1b, 0x4d, 0x5b, 0x1e, 0x2d, 0x9a, 0x3, 0xe3, 0x12, 0x77, 0x1c, 0x2c, 0x2, 0xa3, 0x89, 0x15, 0x6c, 0x64, 0x9c, 0xfc, 0xd8, 0x1, 0x14, 0x91, 0x3, 0x3, 0x4e, 0x3, 0xa6, 0x6, 0xc, 0x9c, 0x2, 0x56, 0x4e, 0x2, 0xfd, 0x6, 0x1, 0x47, 0x14, 0x18, 0xad, 0x17, 0xa9, 0x6, 0x6, 0x87, 0xfe, 0x8a, 0x1, 0x2b, 0x6, 0x6, 0xf5, 0x51, 0x27, 0x6, 0x1, 0x5, 0xd9, 0xfe, 0x97, 0xb2, 0xd4, 0xfe, 0x58, 0xe9, 0x59, 0x1, 0x74, 0xa2, 0xdb, 0x1, 0xa9, 0xeb, 0x54, 0xfd, 0x12, 0xfe, 0x70, 0xd8, 0x58, 0x1, 0x59, 0xa5, 0xc5, 0x1, 0x8c, 0xe0, 0x53, 0xfe, 0xa6, 0x9f, 0x1, 0x6d, 0x45, 0x62, 0x2c, 0x3, 0xcc, 0x23, 0x3, 0x34, 0xfe, 0x27, 0xc, 0x46, 0x56, 0xfe, 0xfe, 0x7f, 0x10, 0xd5, 0x1a, 0x20, 0xfe, 0xa7, 0xe2, 0x21, 0x17, 0x82, 0x1, 0x9, 0x59, 0xf4, 0x3, 0x31, 0xfe, 0xea, 0x15, 0x1a, 0xb, 0x1, 0x12, 0x11, 0x1c, 0x8d, 0x31, 0xfe, 0xec, 0x5f, 0x14, 0x6, 0xfe, 0xdc, 0x9, 0x6, 0x55, 0xee, 0x8c, 0x5, 0xfe, 0xeb, 0x5, 0x67, 0x2c, 0x31, 0x0, 0x5, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x83, 0x5, 0xd9, 0x0, 0x7, 0x0, 0x17, 0x0, 0x1f, 0x0, 0x41, 0x0, 0x52, 0x0, 0x0, 0x1, 0x16, 0x17, 0x32, 0x37, 0x26, 0x27, 0x6, 0x1, 0x20, 0x13, 0x16, 0x15, 0x10, 0x5, 0x6, 0x23, 0x20, 0x3, 0x26, 0x35, 0x10, 0x25, 0x36, 0x1, 0x6, 0x7, 0x16, 0x33, 0x36, 0x37, 0x26, 0x1, 0x15, 0x23, 0x6, 0x2b, 0x1, 0x2e, 0x1, 0x35, 0x34, 0x37, 0x34, 0x35, 0x34, 0x36, 0x37, 0x32, 0x17, 0x36, 0x33, 0x1e, 0x1, 0x15, 0x14, 0x15, 0x16, 0x15, 0x14, 0x6, 0x7, 0x23, 0x22, 0x27, 0x23, 0x25, 0x10, 0x5, 0x16, 0x3b, 0x1, 0x20, 0x13, 0x36, 0x35, 0x10, 0x25, 0x26, 0x23, 0x20, 0x3, 0x6, 0x1, 0xc2, 0x2, 0xb7, 0x90, 0x61, 0x57, 0xa2, 0xaf, 0x1, 0xd4, 0x1, 0x97, 0xed, 0x67, 0xfe, 0x84, 0xa4, 0xd1, 0xfe, 0x5e, 0xe7, 0x5f, 0x1, 0x88, 0xaa, 0x1, 0xe1, 0xa2, 0x57, 0x61, 0x90, 0xb7, 0x2, 0x2, 0xfe, 0x2b, 0x3, 0x76, 0xb2, 0xe, 0x8c, 0x7a, 0x1, 0x9b, 0x87, 0x9d, 0x7f, 0x80, 0x9e, 0x87, 0x9b, 0x1, 0x7a, 0x8c, 0xe, 0xb2, 0x77, 0x2, 0xfd, 0x3c, 0x1, 0x62, 0x9d, 0xaa, 0x30, 0x1, 0x68, 0xe5, 0x5c, 0xfe, 0x96, 0xa0, 0xb8, 0xfe, 0x7b, 0xdf, 0x5c, 0x2, 0xf4, 0xcd, 0x2, 0xcb, 0xc2, 0x4, 0x3, 0x2, 0x26, 0xfe, 0x97, 0xb2, 0xd4, 0xfe, 0x58, 0xe9, 0x59, 0x1, 0x74, 0xa2, 0xdb, 0x1, 0xa9, 0xeb, 0x54, 0xfd, 0xdd, 0x4, 0xc2, 0xcb, 0x2, 0xcd, 0xbf, 0xfe, 0xf3, 0x1c, 0xbd, 0xf, 0xb9, 0x50, 0x7, 0x8, 0x4, 0x5, 0x74, 0x99, 0x1, 0xaa, 0xaa, 0x1, 0x99, 0x74, 0x5, 0x4, 0x8, 0x7, 0x50, 0xb9, 0xf, 0xbd, 0x61, 0xfe, 0x70, 0xd8, 0x58, 0x1, 0x59, 0xa5, 0xc5, 0x1, 0x8c, 0xe0, 0x53, 0xfe, 0xa6, 0x9f, 0x0, 0x2, 0x1, 0x31, 0x0, 0x2, 0x5, 0xfa, 0x5, 0xd9, 0x0, 0x18, 0x0, 0x2e, 0x0, 0x0, 0x1, 0x32, 0x15, 0x6, 0x7, 0x17, 0x21, 0x32, 0x17, 0x7, 0x21, 0x17, 0x21, 0x16, 0x13, 0x37, 0x17, 0x6, 0x5, 0x26, 0x3, 0x21, 0x22, 0x3, 0x34, 0x1, 0x6, 0x23, 0x22, 0x2e, 0x1, 0x35, 0x34, 0x37, 0x36, 0x37, 0x17, 0x6, 0x7, 0x14, 0x1e, 0x1, 0x32, 0x36, 0x37, 0x17, 0x6, 0x2, 0x9a, 0x99, 0x1, 0x80, 0x18, 0x1, 0x13, 0xc, 0x10, 0x4, 0xfe, 0xed, 0xc, 0x1, 0xbd, 0xc, 0x8d, 0x86, 0x30, 0x5, 0xfe, 0xee, 0x10, 0x95, 0xfe, 0x23, 0xc, 0x55, 0x1, 0xf8, 0x71, 0x7b, 0x7c, 0xe2, 0x7d, 0x40, 0x21, 0x2f, 0x28, 0x19, 0x2, 0x53, 0x98, 0xa6, 0x97, 0x2a, 0x45, 0x2e, 0x5, 0xd9, 0x8e, 0xa3, 0x2, 0xe6, 0x92, 0x4, 0x65, 0x6, 0xfe, 0x72, 0x28, 0x8d, 0x8, 0x59, 0x18, 0x1, 0xad, 0x3, 0x24, 0x85, 0xfa, 0x68, 0x3f, 0x7d, 0xe1, 0x7d, 0x7c, 0x72, 0x3c, 0x2e, 0xd9, 0x3c, 0x43, 0x53, 0x98, 0x53, 0x53, 0x4c, 0xa9, 0x32, 0x0, 0x0, 0x0, 0x3, 0x0, 0x96, 0x0, 0x0, 0x6, 0x60, 0x5, 0xcd, 0x0, 0x16, 0x0, 0x1a, 0x0, 0x1e, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x11, 0x21, 0x11, 0x25, 0x21, 0x11, 0x21, 0x2, 0xef, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1c, 0x54, 0x1c, 0x1e, 0x15, 0x13, 0xfd, 0xa7, 0x5, 0xca, 0xfa, 0xdb, 0x4, 0x80, 0xfb, 0x80, 0x2, 0xe9, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0xfd, 0x42, 0x5, 0xcd, 0xfa, 0x33, 0xa5, 0x4, 0x83, 0x0, 0x0, 0x0, 0x4, 0x0, 0x96, 0x0, 0x0, 0x6, 0x60, 0x5, 0xcd, 0x0, 0x16, 0x0, 0x2d, 0x0, 0x31, 0x0, 0x35, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x11, 0x21, 0x11, 0x25, 0x21, 0x11, 0x21, 0x1, 0xb9, 0x13, 0x14, 0x1f, 0x1c, 0x54, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x2, 0x6c, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1c, 0x54, 0x1c, 0x1e, 0x15, 0x13, 0xfc, 0x71, 0x5, 0xca, 0xfa, 0xdb, 0x4, 0x80, 0xfb, 0x80, 0x1, 0xae, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2, 0x9c, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0xfc, 0xc, 0x5, 0xcd, 0xfa, 0x33, 0xa5, 0x4, 0x83, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x96, 0x0, 0x0, 0x6, 0x60, 0x5, 0xcd, 0x0, 0x16, 0x0, 0x2d, 0x0, 0x44, 0x0, 0x48, 0x0, 0x4c, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x11, 0x21, 0x11, 0x25, 0x21, 0x11, 0x21, 0x1, 0xb9, 0x13, 0x14, 0x1f, 0x1c, 0x54, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x1, 0x36, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1c, 0x54, 0x1c, 0x1e, 0x15, 0x13, 0x1, 0x36, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1c, 0x54, 0x1c, 0x1e, 0x15, 0x13, 0xfc, 0x71, 0x5, 0xca, 0xfa, 0xdb, 0x4, 0x80, 0xfb, 0x80, 0x1, 0xae, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x1, 0x66, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x1, 0x61, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0xfc, 0xc, 0x5, 0xcd, 0xfa, 0x33, 0xa5, 0x4, 0x83, 0x0, 0x6, 0x0, 0x96, 0x0, 0x0, 0x6, 0x60, 0x5, 0xcd, 0x0, 0x16, 0x0, 0x2d, 0x0, 0x44, 0x0, 0x5b, 0x0, 0x5f, 0x0, 0x63, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x25, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x11, 0x21, 0x11, 0x25, 0x21, 0x11, 0x21, 0x1, 0xb9, 0x13, 0x14, 0x1f, 0x1c, 0x54, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x2, 0x6c, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1c, 0x54, 0x1c, 0x1e, 0x15, 0x13, 0xfd, 0x94, 0x13, 0x14, 0x1f, 0x1c, 0x54, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x2, 0x6c, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1c, 0x54, 0x1c, 0x1e, 0x15, 0x13, 0xfc, 0x71, 0x5, 0xca, 0xfa, 0xdb, 0x4, 0x80, 0xfb, 0x80, 0x4, 0x1f, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0xfd, 0xba, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2, 0x9c, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0xfc, 0xc, 0x5, 0xcd, 0xfa, 0x33, 0xa5, 0x4, 0x83, 0x0, 0x0, 0x0, 0x7, 0x0, 0x96, 0x0, 0x0, 0x6, 0x60, 0x5, 0xcd, 0x0, 0x16, 0x0, 0x2d, 0x0, 0x44, 0x0, 0x5b, 0x0, 0x72, 0x0, 0x76, 0x0, 0x7a, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x25, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x11, 0x21, 0x11, 0x25, 0x21, 0x11, 0x21, 0x1, 0xb9, 0x13, 0x14, 0x1f, 0x1c, 0x54, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x2, 0x6c, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1c, 0x54, 0x1c, 0x1e, 0x15, 0x13, 0xfd, 0x94, 0x13, 0x14, 0x1f, 0x1c, 0x54, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x2, 0x6c, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1c, 0x54, 0x1c, 0x1e, 0x15, 0x13, 0xfe, 0xca, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1c, 0x54, 0x1c, 0x1e, 0x15, 0x13, 0xfd, 0xa7, 0x5, 0xca, 0xfa, 0xdb, 0x4, 0x80, 0xfb, 0x80, 0x4, 0x1f, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0xfd, 0xba, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2, 0x9c, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0xfe, 0xf5, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0xfd, 0x42, 0x5, 0xcd, 0xfa, 0x33, 0xa5, 0x4, 0x83, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x96, 0x0, 0x0, 0x6, 0x60, 0x5, 0xcd, 0x0, 0x17, 0x0, 0x2f, 0x0, 0x46, 0x0, 0x5d, 0x0, 0x74, 0x0, 0x8b, 0x0, 0x8f, 0x0, 0x93, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x25, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x11, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x25, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x11, 0x21, 0x11, 0x25, 0x21, 0x11, 0x21, 0x4, 0x24, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0xfd, 0x95, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1c, 0x54, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x2, 0x6c, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1c, 0x54, 0x1c, 0x1e, 0x15, 0x13, 0xfd, 0x94, 0x13, 0x14, 0x1f, 0x1c, 0x54, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x2, 0x6c, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1c, 0x54, 0x1c, 0x1e, 0x15, 0x13, 0xfc, 0x71, 0x5, 0xca, 0xfa, 0xdb, 0x4, 0x80, 0xfb, 0x80, 0x2, 0xe9, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x1, 0x93, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0xfd, 0x56, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x3, 0x0, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0x2b, 0x2a, 0x1c, 0x1e, 0x15, 0x13, 0x13, 0x14, 0x1f, 0x1b, 0xfb, 0xda, 0x5, 0xcd, 0xfa, 0x33, 0xa5, 0x4, 0x83, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xaa, 0x0, 0x1, 0x6, 0x82, 0x5, 0xd9, 0x0, 0xc, 0x0, 0x1b, 0x0, 0x29, 0x0, 0x0, 0x1, 0x32, 0x4, 0x12, 0x10, 0x2, 0x4, 0x20, 0x24, 0x2, 0x10, 0x12, 0x24, 0x1, 0x14, 0x12, 0x4, 0x20, 0x24, 0x12, 0x35, 0x34, 0x2, 0x24, 0x23, 0x22, 0x4, 0x2, 0x4, 0x34, 0x3e, 0x1, 0x33, 0x32, 0x1e, 0x1, 0x14, 0xe, 0x1, 0x23, 0x22, 0x26, 0x3, 0x96, 0xbc, 0x1, 0x65, 0xcb, 0xc5, 0xfe, 0x9b, 0xfe, 0x7c, 0xfe, 0x9b, 0xc5, 0xc9, 0x1, 0x65, 0xfe, 0x28, 0xae, 0x1, 0x3c, 0x1, 0x58, 0x1, 0x3c, 0xae, 0xb3, 0xfe, 0xc4, 0xa7, 0xa8, 0xfe, 0xc3, 0xb1, 0x3, 0x93, 0x22, 0x3c, 0x21, 0x20, 0x3c, 0x22, 0x23, 0x3c, 0x1f, 0x21, 0x3b, 0x5, 0xd9, 0xc1, 0xfe, 0x98, 0xfe, 0x7a, 0xfe, 0x9d, 0xc6, 0xc6, 0x1, 0x63, 0x1, 0x86, 0x1, 0x68, 0xc1, 0xfd, 0x14, 0xad, 0xfe, 0xc5, 0xae, 0xae, 0x1, 0x3b, 0xad, 0xac, 0x1, 0x3f, 0xab, 0xab, 0xfe, 0xc1, 0xcd, 0x42, 0x3c, 0x21, 0x21, 0x3c, 0x42, 0x3d, 0x20, 0x20, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0xaa, 0x0, 0x1, 0x6, 0x82, 0x5, 0xd9, 0x0, 0xc, 0x0, 0x1b, 0x0, 0x29, 0x0, 0x36, 0x0, 0x0, 0x1, 0x32, 0x4, 0x12, 0x10, 0x2, 0x4, 0x20, 0x24, 0x2, 0x10, 0x12, 0x24, 0x1, 0x14, 0x12, 0x4, 0x20, 0x24, 0x12, 0x35, 0x34, 0x2, 0x24, 0x23, 0x22, 0x4, 0x2, 0x4, 0x34, 0x3e, 0x1, 0x33, 0x32, 0x1e, 0x1, 0x14, 0xe, 0x1, 0x23, 0x22, 0x26, 0x24, 0x32, 0x1e, 0x1, 0x14, 0xe, 0x1, 0x23, 0x22, 0x2e, 0x1, 0x34, 0x36, 0x3, 0x96, 0xbc, 0x1, 0x65, 0xcb, 0xc5, 0xfe, 0x9b, 0xfe, 0x7c, 0xfe, 0x9b, 0xc5, 0xc9, 0x1, 0x65, 0xfe, 0x28, 0xae, 0x1, 0x3c, 0x1, 0x58, 0x1, 0x3c, 0xae, 0xb3, 0xfe, 0xc4, 0xa7, 0xa8, 0xfe, 0xc3, 0xb1, 0x3, 0x93, 0x22, 0x3c, 0x21, 0x20, 0x3c, 0x22, 0x23, 0x3c, 0x1f, 0x21, 0x3b, 0xfd, 0x3e, 0x40, 0x3c, 0x23, 0x22, 0x3c, 0x21, 0x20, 0x3c, 0x22, 0x23, 0x5, 0xd9, 0xc1, 0xfe, 0x98, 0xfe, 0x7a, 0xfe, 0x9d, 0xc6, 0xc6, 0x1, 0x63, 0x1, 0x86, 0x1, 0x68, 0xc1, 0xfd, 0x14, 0xad, 0xfe, 0xc5, 0xae, 0xae, 0x1, 0x3b, 0xad, 0xac, 0x1, 0x3f, 0xab, 0xab, 0xfe, 0xc1, 0xcd, 0x42, 0x3c, 0x21, 0x21, 0x3c, 0x42, 0x3d, 0x20, 0x20, 0xdc, 0x20, 0x3d, 0x42, 0x3c, 0x21, 0x21, 0x3c, 0x42, 0x3d, 0x0, 0x0, 0x0, 0x2, 0x0, 0xaa, 0x0, 0x1, 0x6, 0x82, 0x5, 0xd9, 0x0, 0xc, 0x0, 0x1a, 0x0, 0x0, 0x1, 0x32, 0x4, 0x12, 0x10, 0x2, 0x4, 0x20, 0x24, 0x2, 0x10, 0x12, 0x24, 0x1, 0x32, 0x3e, 0x1, 0x34, 0x2e, 0x1, 0x23, 0x22, 0xe, 0x1, 0x14, 0x1e, 0x1, 0x3, 0x96, 0xbc, 0x1, 0x65, 0xcb, 0xc5, 0xfe, 0x9b, 0xfe, 0x7c, 0xfe, 0x9b, 0xc5, 0xc9, 0x1, 0x65, 0x2, 0x3a, 0x1f, 0x3c, 0x23, 0x22, 0x3c, 0x20, 0x21, 0x3c, 0x22, 0x23, 0x3b, 0x5, 0xd9, 0xc1, 0xfe, 0x98, 0xfe, 0x7a, 0xfe, 0x9d, 0xc6, 0xc6, 0x1, 0x63, 0x1, 0x86, 0x1, 0x68, 0xc1, 0xfc, 0x96, 0x20, 0x3d, 0x42, 0x3c, 0x21, 0x21, 0x3c, 0x42, 0x3d, 0x20, 0x0, 0x0, 0x3, 0x0, 0xaa, 0x0, 0x1, 0x6, 0x82, 0x5, 0xd9, 0x0, 0xc, 0x0, 0x1a, 0x0, 0x27, 0x0, 0x0, 0x1, 0x32, 0x4, 0x12, 0x10, 0x2, 0x4, 0x20, 0x24, 0x2, 0x10, 0x12, 0x24, 0x1, 0x32, 0x3e, 0x1, 0x34, 0x2e, 0x1, 0x23, 0x22, 0xe, 0x1, 0x14, 0x1e, 0x1, 0x24, 0x14, 0x1e, 0x1, 0x33, 0x32, 0x3e, 0x1, 0x34, 0x2e, 0x1, 0x22, 0x6, 0x3, 0x96, 0xbc, 0x1, 0x65, 0xcb, 0xc5, 0xfe, 0x9b, 0xfe, 0x7c, 0xfe, 0x9b, 0xc5, 0xc9, 0x1, 0x65, 0x2, 0x3a, 0x1f, 0x3c, 0x23, 0x22, 0x3c, 0x20, 0x21, 0x3c, 0x22, 0x23, 0x3b, 0xfc, 0xa5, 0x22, 0x3c, 0x20, 0x21, 0x3c, 0x22, 0x23, 0x3c, 0x40, 0x3b, 0x5, 0xd9, 0xc1, 0xfe, 0x98, 0xfe, 0x7a, 0xfe, 0x9d, 0xc6, 0xc6, 0x1, 0x63, 0x1, 0x86, 0x1, 0x68, 0xc1, 0xfc, 0x96, 0x20, 0x3d, 0x42, 0x3c, 0x21, 0x21, 0x3c, 0x42, 0x3d, 0x20, 0x9f, 0x42, 0x3c, 0x21, 0x21, 0x3c, 0x42, 0x3d, 0x20, 0x20, 0x0, 0x1, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x0, 0xc8, 0x0, 0x3, 0x0, 0x0, 0x37, 0x21, 0x15, 0x21, 0xaa, 0x5, 0xd8, 0xfa, 0x28, 0xc8, 0xc8, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x0, 0xc8, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x37, 0x21, 0x15, 0x21, 0x25, 0x21, 0x15, 0x21, 0xaa, 0x2, 0x60, 0xfd, 0xa0, 0x3, 0x78, 0x2, 0x60, 0xfd, 0xa0, 0xc8, 0xc8, 0xc8, 0xc8, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x3, 0x4d, 0x12, 0x26, 0xf, 0x5c, 0x0, 0x0, 0x10, 0x7, 0xf, 0x5c, 0x0, 0x0, 0x2, 0x85, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x3, 0x4d, 0x12, 0x26, 0xf, 0x5c, 0x0, 0x0, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x2, 0x85, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x3, 0x4e, 0x12, 0x26, 0xf, 0x5d, 0x0, 0x0, 0x10, 0x7, 0xf, 0x5c, 0x0, 0x0, 0x2, 0x86, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x3, 0x4e, 0x12, 0x26, 0xf, 0x5d, 0x0, 0x0, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x2, 0x86, 0x0, 0x2, 0x1, 0x58, 0x0, 0x6, 0x5, 0xd2, 0x5, 0xd9, 0x0, 0x11, 0x0, 0x2a, 0x0, 0x0, 0x1, 0x36, 0x33, 0x32, 0x4, 0x33, 0x32, 0x37, 0x11, 0x6, 0x23, 0x22, 0x27, 0x26, 0x23, 0x22, 0x7, 0x2f, 0x1, 0x23, 0x27, 0x21, 0x15, 0x23, 0x15, 0x36, 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x37, 0x11, 0x6, 0x23, 0x22, 0x24, 0x23, 0x22, 0x7, 0x11, 0x23, 0x2, 0x7, 0x34, 0x3c, 0x80, 0x1, 0x4e, 0xbb, 0x46, 0x48, 0x34, 0x35, 0xa7, 0xb1, 0x8b, 0xbf, 0x32, 0x36, 0x14, 0x63, 0x4b, 0x1, 0x1, 0xe, 0x4c, 0x35, 0x33, 0xc2, 0xab, 0xa9, 0xa1, 0x4e, 0x4b, 0x6a, 0x66, 0xab, 0xfe, 0xc3, 0x80, 0x50, 0x46, 0x60, 0x2, 0x9f, 0x11, 0xa3, 0xc, 0x2, 0x62, 0xa, 0x5f, 0x7e, 0x9, 0x2, 0x5d, 0x35, 0x35, 0x1a, 0x8, 0x78, 0x5c, 0x15, 0xfd, 0xd, 0x1c, 0x9a, 0x1e, 0xfd, 0xc6, 0x0, 0x1, 0x1, 0x58, 0x0, 0x6, 0x5, 0xd2, 0x5, 0xd9, 0x0, 0x18, 0x0, 0x0, 0x1, 0x23, 0x27, 0x21, 0x15, 0x23, 0x15, 0x36, 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x37, 0x11, 0x6, 0x23, 0x22, 0x24, 0x23, 0x22, 0x7, 0x11, 0x23, 0x1, 0xa4, 0x4b, 0x1, 0x1, 0xe, 0x4c, 0x35, 0x33, 0xc2, 0xab, 0xa9, 0xa1, 0x4e, 0x4b, 0x6a, 0x66, 0xab, 0xfe, 0xc3, 0x80, 0x50, 0x46, 0x60, 0x5, 0xa4, 0x35, 0x35, 0x1a, 0x8, 0x78, 0x5c, 0x15, 0xfd, 0xd, 0x1c, 0x9a, 0x1e, 0xfd, 0xc6, 0x0, 0x0, 0x1, 0x0, 0x6a, 0x0, 0x1, 0x6, 0xc1, 0x5, 0xda, 0x0, 0x1f, 0x0, 0x0, 0x9, 0x1, 0x7, 0x27, 0x37, 0x27, 0x37, 0x17, 0x37, 0x17, 0x7, 0x9, 0x1, 0x27, 0x37, 0x17, 0x37, 0x17, 0x7, 0x16, 0x13, 0x9, 0x1, 0x17, 0x1, 0x7, 0x1, 0x27, 0x7, 0x1, 0x27, 0x1, 0x3, 0x36, 0xfe, 0xb3, 0xb9, 0xc6, 0xba, 0x2e, 0x8a, 0x2b, 0xb9, 0xc5, 0xb8, 0x1, 0x4d, 0x1, 0x4d, 0xb8, 0xc6, 0xb8, 0x2c, 0x88, 0x2c, 0x45, 0x23, 0xfe, 0xd3, 0xfe, 0xb3, 0xb2, 0x1, 0x3f, 0xb9, 0xfe, 0xf2, 0xb3, 0xb2, 0xfe, 0xf2, 0xb8, 0x1, 0x3d, 0x2, 0x7e, 0x1, 0x51, 0xbb, 0xc7, 0xbb, 0x2c, 0x8a, 0x2c, 0xba, 0xc8, 0xba, 0xfe, 0xb0, 0x1, 0x4f, 0xbb, 0xc8, 0xbb, 0x2d, 0x8a, 0x2c, 0x71, 0xfe, 0x74, 0x1, 0x35, 0xfe, 0xaf, 0xb3, 0xfe, 0xf0, 0xb9, 0x1, 0x40, 0xb4, 0xb4, 0xfe, 0xc0, 0xb9, 0x1, 0x10, 0x0, 0x0, 0x2, 0x0, 0xc6, 0xff, 0xec, 0x6, 0x65, 0x5, 0xdb, 0x0, 0xf, 0x0, 0x52, 0x0, 0x0, 0x1, 0x14, 0x1e, 0x1, 0x33, 0x32, 0x3e, 0x1, 0x35, 0x34, 0x2e, 0x1, 0x23, 0x22, 0xe, 0x1, 0x13, 0x15, 0x23, 0x6, 0x23, 0x22, 0x27, 0x35, 0x23, 0x15, 0x23, 0x22, 0x24, 0x27, 0x26, 0x27, 0x7, 0x3, 0x5, 0x7, 0x30, 0x17, 0x16, 0x17, 0x16, 0x17, 0x11, 0x21, 0x35, 0x21, 0x35, 0x26, 0x27, 0x2e, 0x1, 0x34, 0x3e, 0x1, 0x33, 0x32, 0x1e, 0x1, 0x14, 0x6, 0x7, 0x6, 0x7, 0x15, 0x21, 0x15, 0x21, 0x11, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x27, 0x25, 0x3, 0x27, 0x6, 0x7, 0x6, 0x7, 0x6, 0x3, 0x10, 0x27, 0x48, 0x26, 0x28, 0x47, 0x28, 0x29, 0x47, 0x27, 0x25, 0x48, 0x28, 0xe3, 0x8, 0x25, 0x27, 0x3, 0x3, 0x7, 0x7, 0xa9, 0xfe, 0xcb, 0x56, 0x10, 0xd, 0x57, 0x1d, 0x1, 0x33, 0x57, 0x6, 0x49, 0x84, 0x6d, 0x75, 0xfe, 0x89, 0x1, 0x77, 0x1a, 0x19, 0x3e, 0x44, 0x45, 0x7d, 0x41, 0x42, 0x7c, 0x47, 0x45, 0x3d, 0x1b, 0x1a, 0x1, 0x6d, 0xfe, 0x93, 0x64, 0x5e, 0x84, 0x4a, 0x2, 0x3, 0x57, 0x1, 0x34, 0x1e, 0x57, 0xc, 0x11, 0x56, 0x9b, 0x73, 0x4, 0xd6, 0x27, 0x48, 0x27, 0x27, 0x48, 0x27, 0x28, 0x48, 0x27, 0x27, 0x48, 0xfa, 0xf2, 0x1, 0x3, 0x1, 0x2, 0x2, 0x60, 0x58, 0x11, 0x10, 0x41, 0x1, 0x4b, 0x7c, 0x40, 0x6, 0x58, 0x31, 0x28, 0x7, 0x2, 0xd4, 0x81, 0x33, 0x8, 0xe, 0x22, 0x7c, 0x88, 0x7d, 0x44, 0x44, 0x7d, 0x88, 0x7c, 0x22, 0xe, 0x9, 0x32, 0x81, 0xfd, 0x2f, 0xa, 0x22, 0x31, 0x58, 0x3, 0x3, 0x40, 0x7c, 0xfe, 0xb5, 0x41, 0x10, 0x11, 0x58, 0x31, 0x23, 0x0, 0x0, 0x1, 0x1, 0xd, 0x0, 0x0, 0x6, 0x1f, 0x5, 0xd6, 0x0, 0x2f, 0x0, 0x0, 0x9, 0x1, 0x36, 0x37, 0x33, 0x6, 0x7, 0x17, 0x16, 0x17, 0xe, 0x1, 0x7, 0x26, 0x2f, 0x1, 0x6, 0x7, 0x27, 0x36, 0x37, 0xb, 0x1, 0x16, 0x17, 0x7, 0x26, 0x27, 0x7, 0x6, 0x7, 0x22, 0x26, 0x27, 0x36, 0x3f, 0x1, 0x26, 0x27, 0x33, 0x16, 0x17, 0x9, 0x1, 0x27, 0x9, 0x1, 0x7, 0x3, 0xe2, 0x1, 0x16, 0x4b, 0x1b, 0x5b, 0x19, 0x5d, 0x9c, 0x3e, 0x2, 0x6, 0x3c, 0x2b, 0x47, 0x4, 0x9d, 0x67, 0x5b, 0x27, 0x66, 0x42, 0xf4, 0xf2, 0x42, 0x65, 0x26, 0x5c, 0x68, 0x9c, 0x1, 0x3f, 0x28, 0x4b, 0x4, 0x1, 0x3f, 0x9c, 0x5d, 0x1a, 0x5c, 0x1b, 0x4b, 0x1, 0x16, 0xfd, 0xe3, 0x20, 0x2, 0x88, 0x2, 0x8a, 0x21, 0x2, 0xbd, 0xfe, 0xd0, 0x3b, 0x3c, 0x75, 0x49, 0xb6, 0x3, 0x40, 0x2a, 0x22, 0x1, 0x4, 0x4f, 0xa8, 0x38, 0x8, 0x42, 0x11, 0x31, 0x1, 0x22, 0xfe, 0xde, 0x31, 0x11, 0x42, 0x8, 0x38, 0xa8, 0x48, 0xb, 0x1d, 0x24, 0x4c, 0x3, 0xb6, 0x49, 0x75, 0x3c, 0x3b, 0x1, 0x30, 0x2, 0x84, 0x95, 0xfd, 0x3a, 0x2, 0xc6, 0x95, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x7d, 0xff, 0xec, 0x3, 0xd5, 0x5, 0xdb, 0x0, 0x7, 0x0, 0x1a, 0x0, 0x2e, 0x0, 0x4f, 0x0, 0x60, 0x0, 0x0, 0x1, 0x16, 0x33, 0x32, 0x35, 0x34, 0x27, 0x26, 0x13, 0x15, 0x6, 0x23, 0x22, 0x27, 0x35, 0x26, 0x35, 0x34, 0x37, 0x17, 0x6, 0x15, 0x14, 0x4, 0x7, 0x23, 0x26, 0x3, 0x24, 0x35, 0x34, 0x25, 0x15, 0x6, 0x15, 0x14, 0x4, 0x17, 0x6, 0x5, 0x27, 0x36, 0x35, 0x34, 0x27, 0x11, 0x27, 0x13, 0x11, 0x27, 0x11, 0x24, 0x27, 0x36, 0x37, 0x32, 0x33, 0x32, 0x17, 0x7, 0x17, 0x6, 0x23, 0x22, 0x27, 0x26, 0x23, 0x22, 0x15, 0x14, 0x4, 0x17, 0x6, 0x5, 0x35, 0x24, 0x27, 0x36, 0x35, 0x34, 0x25, 0x27, 0x3, 0x2e, 0x1, 0x35, 0x34, 0x3e, 0x1, 0x33, 0x32, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x1, 0x54, 0x1c, 0xd, 0xb, 0x5, 0x24, 0xf9, 0xc, 0x1b, 0x23, 0x3, 0xb5, 0xa4, 0x1, 0x41, 0x1, 0x43, 0x2, 0xf, 0x1c, 0xc5, 0xfe, 0xe2, 0x1, 0xe, 0xab, 0x2, 0x2c, 0x3, 0x4, 0xfe, 0xed, 0x1, 0xb6, 0xc5, 0x4d, 0x4d, 0x4d, 0xfe, 0x76, 0x4, 0xd, 0xd5, 0x4, 0x3, 0x41, 0x35, 0x70, 0x5f, 0x18, 0x1a, 0x39, 0x44, 0x8, 0x7, 0x2d, 0x2, 0xef, 0x6, 0x7, 0xfe, 0x96, 0x1, 0x12, 0x2, 0x1, 0xfe, 0xe3, 0x4d, 0x5, 0x15, 0x18, 0x18, 0x2a, 0x16, 0x17, 0x2a, 0x18, 0x17, 0x15, 0x4, 0xa4, 0xc, 0x9, 0x6, 0xa, 0xb, 0xfb, 0x94, 0x42, 0x1d, 0x40, 0x30, 0x22, 0x40, 0x52, 0x1a, 0x2f, 0x18, 0x18, 0x2f, 0x3e, 0x77, 0x41, 0x1, 0xb7, 0x26, 0x6f, 0x63, 0x2f, 0x44, 0x26, 0x33, 0x2e, 0x59, 0x61, 0x51, 0x2f, 0x35, 0x22, 0x31, 0x27, 0x22, 0xfe, 0xb4, 0x13, 0x3, 0x1, 0xfe, 0x81, 0x10, 0x1, 0x75, 0x13, 0x8a, 0x90, 0x5, 0x45, 0x1e, 0x19, 0x6, 0x1b, 0x2, 0x36, 0x32, 0x2f, 0x75, 0x8a, 0x10, 0x3d, 0x20, 0x3d, 0x1, 0x2, 0x21, 0x6d, 0x7, 0x1, 0x2d, 0xb, 0x2e, 0x18, 0x19, 0x2e, 0x18, 0x18, 0x2e, 0x19, 0x18, 0x2e, 0xb, 0x0, 0x0, 0x3, 0x0, 0x79, 0xff, 0xec, 0x6, 0xb2, 0x5, 0xdb, 0x0, 0x4, 0x0, 0x9, 0x0, 0x37, 0x0, 0x0, 0x25, 0x9, 0x1, 0x16, 0x20, 0x25, 0x9, 0x1, 0x16, 0x20, 0x1, 0x33, 0x32, 0x1d, 0x1, 0x14, 0x2b, 0x1, 0x1, 0x6, 0x7, 0xe, 0x1, 0x23, 0x22, 0x2e, 0x1, 0x3d, 0x1, 0x1, 0x21, 0x1, 0x15, 0x14, 0xe, 0x1, 0x22, 0x26, 0x27, 0x26, 0x27, 0x1, 0x23, 0x26, 0x3d, 0x1, 0x34, 0x3b, 0x1, 0x37, 0x17, 0x33, 0x1b, 0x1, 0x33, 0x37, 0x6, 0x5f, 0xfe, 0xec, 0xfe, 0xec, 0x8b, 0x1, 0x14, 0xfd, 0x25, 0xfe, 0xed, 0xfe, 0xec, 0x8a, 0x1, 0x14, 0x3, 0x9, 0xd6, 0x38, 0x29, 0xc2, 0x1, 0x14, 0x2, 0x30, 0x2f, 0xad, 0x5f, 0x5e, 0xab, 0x5e, 0x1, 0x10, 0xfd, 0x4d, 0x1, 0x12, 0x5e, 0xac, 0xbc, 0xad, 0x31, 0x2f, 0x1, 0x1, 0x13, 0xcc, 0x20, 0x39, 0xd7, 0x35, 0x33, 0xfc, 0x81, 0x81, 0xfc, 0x34, 0xed, 0x3, 0x3c, 0xfc, 0xc4, 0x26, 0x26, 0x3, 0x3c, 0xfc, 0xc4, 0x26, 0x3, 0xd1, 0x2a, 0x19, 0x28, 0xfc, 0xc7, 0x44, 0x3e, 0x3f, 0x47, 0x47, 0x7a, 0x42, 0x8, 0x3, 0x36, 0xfc, 0xca, 0x6, 0x43, 0x7b, 0x47, 0x47, 0x3f, 0x3e, 0x44, 0x3, 0x39, 0x11, 0x1c, 0xf, 0x2f, 0x9b, 0x9b, 0x1, 0x43, 0xfe, 0xbd, 0x9b, 0x0, 0x0, 0x0, 0x2, 0x0, 0x7d, 0x0, 0x0, 0x6, 0xae, 0x5, 0xdb, 0x0, 0x1a, 0x0, 0x26, 0x0, 0x0, 0x1, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x26, 0x27, 0x2e, 0x1, 0x23, 0x22, 0x7, 0x6, 0x3, 0x27, 0x12, 0x1, 0x13, 0x23, 0x3, 0x21, 0x11, 0x23, 0x3, 0x21, 0x3, 0x23, 0x13, 0x2, 0xd2, 0xb8, 0x9e, 0x36, 0x32, 0xc9, 0x4b, 0x23, 0x11, 0x2b, 0x7e, 0x4b, 0x46, 0x30, 0x9d, 0x52, 0x21, 0x39, 0x27, 0x2f, 0x4e, 0xa3, 0xc7, 0x78, 0xe5, 0x4, 0xed, 0x5f, 0x7f, 0x54, 0xfe, 0xe2, 0x8a, 0x1, 0xfe, 0xe3, 0x56, 0x7f, 0x5f, 0x5, 0x87, 0x54, 0x9, 0x27, 0xa6, 0x4e, 0x51, 0x39, 0x3b, 0x8d, 0x3a, 0x23, 0x38, 0xb3, 0x48, 0x4c, 0x22, 0x43, 0xfe, 0xdf, 0x44, 0x1, 0x99, 0xfd, 0x7c, 0xfd, 0xa6, 0x1, 0xd7, 0xfe, 0x29, 0x1, 0xd7, 0xfe, 0x29, 0x2, 0x5a, 0x0, 0x0, 0x0, 0x0, 0x2, 0x1, 0x29, 0x0, 0x0, 0x6, 0x1, 0x5, 0xdb, 0x0, 0xd, 0x0, 0x35, 0x0, 0x0, 0x0, 0x14, 0x1e, 0x1, 0x33, 0x32, 0x3e, 0x1, 0x34, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x13, 0x15, 0x3b, 0x1, 0x32, 0x36, 0x37, 0x14, 0x4, 0x7, 0x6, 0x7, 0x23, 0x26, 0x3d, 0x1, 0x26, 0x24, 0x3, 0x1e, 0x1, 0x33, 0x32, 0x37, 0x33, 0x35, 0x26, 0x27, 0x2e, 0x1, 0x34, 0x3e, 0x1, 0x32, 0x1e, 0x1, 0x14, 0x6, 0x7, 0x6, 0x2, 0xe6, 0x32, 0x5b, 0x30, 0x32, 0x5b, 0x32, 0x34, 0x5a, 0x31, 0x2f, 0x5b, 0xbb, 0x6, 0x3, 0x96, 0xe1, 0xad, 0xfe, 0x29, 0x27, 0x35, 0x2, 0x2a, 0x2b, 0x5, 0xfe, 0xf, 0x58, 0xc7, 0xeb, 0x81, 0xd, 0xe, 0x6, 0x41, 0x3c, 0x4e, 0x57, 0x58, 0x9d, 0xa6, 0x9e, 0x5a, 0x58, 0x4e, 0x39, 0x4, 0xc4, 0x64, 0x59, 0x32, 0x32, 0x59, 0x64, 0x5b, 0x30, 0x30, 0xfe, 0x2d, 0x9c, 0xbf, 0x26, 0xe7, 0x9a, 0x97, 0x88, 0xf5, 0xa8, 0x9a, 0x14, 0x84, 0x8f, 0x1, 0x31, 0x2, 0xe9, 0x1, 0x9b, 0x7, 0x23, 0x2b, 0x9c, 0xac, 0x9e, 0x55, 0x55, 0x9e, 0xac, 0x9c, 0x2b, 0x20, 0x0, 0x0, 0x3, 0x0, 0xc2, 0xff, 0xdd, 0x6, 0x6a, 0x5, 0xd0, 0x0, 0x3f, 0x0, 0x47, 0x0, 0x4f, 0x0, 0x0, 0x0, 0x32, 0x1f, 0x1, 0x16, 0x17, 0x37, 0x16, 0x17, 0x7, 0x16, 0x17, 0x37, 0x16, 0x17, 0x7, 0x16, 0x14, 0x7, 0x17, 0x6, 0x7, 0x27, 0x6, 0x7, 0x17, 0x6, 0x7, 0x27, 0x6, 0xf, 0x1, 0x6, 0x22, 0x2f, 0x1, 0x26, 0x27, 0x7, 0x26, 0x27, 0x37, 0x26, 0x27, 0x7, 0x26, 0x27, 0x37, 0x26, 0x34, 0x37, 0x27, 0x36, 0x37, 0x17, 0x36, 0x37, 0x27, 0x36, 0x37, 0x17, 0x36, 0x3f, 0x1, 0x0, 0x20, 0x0, 0x10, 0x0, 0x20, 0x0, 0x10, 0x4, 0x14, 0x6, 0x22, 0x26, 0x34, 0x36, 0x32, 0x3, 0x6a, 0x58, 0x2b, 0x1a, 0x43, 0x40, 0x7e, 0x4c, 0x40, 0x54, 0x2f, 0x21, 0xa5, 0x25, 0x10, 0x94, 0x4, 0x4, 0x94, 0x10, 0x25, 0xa5, 0x21, 0x2f, 0x54, 0x40, 0x4c, 0x7e, 0x40, 0x43, 0x1a, 0x2b, 0x58, 0x2b, 0x1a, 0x43, 0x40, 0x7e, 0x4c, 0x40, 0x54, 0x2f, 0x21, 0xa5, 0x25, 0x10, 0x94, 0x4, 0x4, 0x94, 0x10, 0x25, 0xa5, 0x21, 0x2f, 0x54, 0x40, 0x4c, 0x7e, 0x40, 0x43, 0x1a, 0x1, 0xd, 0xfe, 0x94, 0xfe, 0xfe, 0x1, 0x2, 0x1, 0x6c, 0x1, 0x2, 0xfe, 0xe3, 0x5b, 0x80, 0x5b, 0x5b, 0x80, 0x5, 0xd0, 0x5, 0xbb, 0xd, 0x1e, 0x84, 0x2d, 0x40, 0x9c, 0x32, 0x3c, 0x1f, 0x54, 0x5c, 0x45, 0x23, 0x44, 0x23, 0x46, 0x5b, 0x54, 0x1f, 0x3c, 0x33, 0x9b, 0x40, 0x2e, 0x84, 0x1d, 0xe, 0xba, 0x6, 0x6, 0xba, 0xe, 0x1d, 0x84, 0x2e, 0x40, 0x9b, 0x32, 0x3d, 0x1f, 0x54, 0x5b, 0x46, 0x23, 0x44, 0x23, 0x45, 0x5c, 0x54, 0x1f, 0x3c, 0x33, 0x9b, 0x40, 0x2d, 0x83, 0x1d, 0xd, 0xbb, 0xfe, 0xc4, 0xfe, 0xfd, 0xfe, 0x95, 0xfe, 0xfe, 0x1, 0x2, 0x1, 0x6b, 0x75, 0x80, 0x5b, 0x5b, 0x80, 0x5b, 0x0, 0x0, 0x0, 0x0, 0xf, 0x1, 0x6, 0xff, 0xed, 0x6, 0x25, 0x5, 0xdd, 0x0, 0x9, 0x0, 0xe, 0x0, 0x13, 0x0, 0x18, 0x0, 0x1d, 0x0, 0x25, 0x0, 0x2c, 0x0, 0x31, 0x0, 0x36, 0x0, 0x3b, 0x0, 0x40, 0x0, 0x48, 0x0, 0x4f, 0x0, 0x5b, 0x0, 0x9f, 0x0, 0x0, 0x0, 0x14, 0x1e, 0x1, 0x33, 0x26, 0x34, 0x37, 0x22, 0x6, 0x5, 0x16, 0x17, 0x37, 0x26, 0x27, 0x16, 0x17, 0x37, 0x26, 0x27, 0x16, 0x17, 0x37, 0x26, 0x27, 0x16, 0x7, 0x37, 0x26, 0x27, 0x14, 0x15, 0x14, 0x7, 0x17, 0x35, 0x34, 0x27, 0x6, 0x7, 0x17, 0x36, 0x35, 0x34, 0x5, 0x17, 0x36, 0x37, 0x6, 0x7, 0x17, 0x36, 0x37, 0x6, 0x7, 0x17, 0x36, 0x37, 0x6, 0x1f, 0x1, 0x26, 0x37, 0x6, 0x17, 0x37, 0x26, 0x35, 0x34, 0x37, 0x6, 0x15, 0x3f, 0x1, 0x26, 0x27, 0x6, 0x15, 0x14, 0x5, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x35, 0x26, 0x27, 0x2e, 0x1, 0x34, 0x3e, 0x1, 0x33, 0x32, 0x1e, 0x1, 0x14, 0x6, 0x7, 0x6, 0x7, 0x33, 0x14, 0x23, 0x15, 0x16, 0x17, 0x16, 0x17, 0x36, 0x37, 0x4, 0x17, 0x6, 0x23, 0x26, 0x22, 0x7, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x3, 0x15, 0x6, 0x23, 0x22, 0x2f, 0x1, 0x3, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x26, 0x23, 0x22, 0x7, 0x22, 0x27, 0x36, 0x25, 0x16, 0x17, 0x36, 0x37, 0x36, 0x3, 0x56, 0x11, 0x1f, 0x12, 0xe, 0xe, 0x11, 0x20, 0x1, 0xf3, 0x6e, 0x2a, 0x1a, 0x5b, 0x91, 0x6e, 0x25, 0x27, 0x5a, 0x78, 0x4c, 0x10, 0x30, 0x3c, 0x7b, 0x32, 0x1, 0x3b, 0x26, 0x62, 0x15, 0x3b, 0x3c, 0x2f, 0x32, 0x3a, 0x28, 0xfc, 0x73, 0x1a, 0x2a, 0x6e, 0x57, 0x29, 0x27, 0x24, 0x6f, 0x60, 0x14, 0x30, 0x10, 0x4c, 0x50, 0xf, 0x3b, 0x1, 0x32, 0x46, 0x3c, 0x3b, 0x16, 0x1, 0x26, 0x63, 0x3a, 0x32, 0x2f, 0x1, 0x1, 0x1c, 0x37, 0x4c, 0x4c, 0x37, 0x35, 0x4d, 0x4c, 0x5a, 0x3, 0x2, 0x13, 0x15, 0x15, 0x27, 0x15, 0x14, 0x26, 0x16, 0x15, 0x13, 0x2, 0x3, 0x1, 0x1, 0x34, 0x29, 0x3, 0x3, 0x50, 0x16, 0x1, 0x4e, 0x50, 0x55, 0xfe, 0x28, 0x44, 0x1c, 0x4, 0x34, 0x28, 0x34, 0x1, 0xb, 0x17, 0x19, 0x8, 0x1, 0x2, 0x33, 0x28, 0x34, 0x3, 0x1f, 0x29, 0x22, 0x28, 0xfe, 0x55, 0x50, 0x1, 0x4e, 0x15, 0x52, 0x7, 0x9, 0x28, 0x5, 0xa0, 0x22, 0x1f, 0x12, 0x20, 0x42, 0x22, 0x11, 0x76, 0x3e, 0x30, 0x26, 0x38, 0x14, 0x61, 0x3e, 0x21, 0x55, 0x2a, 0x7e, 0x45, 0x13, 0x6d, 0x4c, 0x91, 0x4b, 0x8, 0x7d, 0x60, 0x11, 0x10, 0x81, 0x3f, 0xa, 0xc, 0x7b, 0x61, 0x88, 0x37, 0x1a, 0x63, 0x5b, 0xd, 0x4f, 0x26, 0x30, 0x3e, 0x10, 0x6a, 0x21, 0x3e, 0x61, 0x29, 0x86, 0x13, 0x45, 0x7e, 0x43, 0x88, 0x8, 0x4b, 0x91, 0x57, 0x8b, 0xa, 0x3d, 0x7b, 0x14, 0x15, 0x64, 0x7b, 0x3, 0x1a, 0x37, 0x88, 0xe, 0xd, 0x5b, 0x2b, 0x4d, 0x35, 0x37, 0x4c, 0x4c, 0x37, 0x35, 0x4d, 0x2d, 0x5a, 0x1, 0x2, 0xa, 0x27, 0x2a, 0x27, 0x15, 0x15, 0x27, 0x2a, 0x27, 0xa, 0x2, 0x1, 0x1, 0x59, 0x9, 0x28, 0x3, 0x4, 0x80, 0x35, 0x6, 0x5b, 0xa3, 0xc, 0xc, 0x14, 0x15, 0x4a, 0x35, 0x28, 0x9, 0xfc, 0xd6, 0x5c, 0x16, 0x1c, 0x64, 0x3, 0x1c, 0x9, 0x28, 0x35, 0x4a, 0x12, 0x11, 0x11, 0xc, 0xa3, 0x5b, 0x6, 0x34, 0x8c, 0xa, 0x9, 0x27, 0x0, 0x0, 0xf, 0x1, 0x5, 0x0, 0x0, 0x6, 0x27, 0x5, 0xd3, 0x0, 0xf, 0x0, 0x1f, 0x0, 0x2f, 0x0, 0x37, 0x0, 0x4f, 0x0, 0x5f, 0x0, 0x9f, 0x0, 0xab, 0x0, 0xb3, 0x0, 0xbb, 0x0, 0xcb, 0x0, 0xd3, 0x0, 0xdb, 0x0, 0xe3, 0x0, 0xef, 0x0, 0x0, 0x1, 0x32, 0x1e, 0x1, 0x15, 0x14, 0xe, 0x1, 0x23, 0x22, 0x2e, 0x1, 0x35, 0x34, 0x3e, 0x1, 0x7, 0x26, 0x27, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x33, 0x36, 0x37, 0x26, 0x25, 0x6, 0x7, 0x16, 0x17, 0x32, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x6, 0x27, 0x16, 0x15, 0x14, 0x7, 0x36, 0x37, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x6, 0x7, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x17, 0x36, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x13, 0x16, 0x17, 0x16, 0x17, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x5, 0x37, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x17, 0x15, 0x36, 0x33, 0x32, 0x33, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0xe, 0x1, 0x23, 0x22, 0x27, 0x23, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x6, 0x23, 0x22, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x32, 0x33, 0x32, 0x5, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x16, 0x17, 0x36, 0x17, 0x6, 0x7, 0x16, 0x17, 0x16, 0x17, 0x26, 0x25, 0x6, 0x7, 0x36, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x36, 0x37, 0x36, 0x7, 0x6, 0x7, 0x16, 0x17, 0x26, 0x35, 0x34, 0x17, 0x16, 0x17, 0x36, 0x37, 0x26, 0x27, 0x26, 0x17, 0x16, 0x17, 0x36, 0x37, 0x6, 0x7, 0x6, 0x7, 0x6, 0x7, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x26, 0x3, 0x96, 0x13, 0x24, 0x14, 0x14, 0x24, 0x13, 0x14, 0x24, 0x14, 0x14, 0x24, 0xe1, 0x4f, 0x47, 0x7f, 0x33, 0x25, 0x8, 0x17, 0x56, 0x8, 0x9, 0x63, 0x98, 0xe, 0x1, 0xe2, 0x6, 0xe, 0x99, 0x63, 0x9, 0x8, 0x56, 0x17, 0x8, 0x25, 0x34, 0x7f, 0x47, 0x4c, 0x2, 0x2, 0x39, 0x34, 0x34, 0x6d, 0x2f, 0x31, 0x32, 0x32, 0x31, 0x30, 0x32, 0x2f, 0x2, 0x2, 0x2e, 0x33, 0x30, 0x33, 0x31, 0x31, 0x32, 0x2e, 0x3, 0x19, 0xf, 0x6, 0x4f, 0x46, 0x7d, 0x36, 0x26, 0x8, 0x17, 0x56, 0x9, 0xb, 0x65, 0xfd, 0xb4, 0x1, 0x22, 0x77, 0x3f, 0x3e, 0x76, 0x22, 0xa4, 0x70, 0x3, 0x4, 0x74, 0x20, 0xc, 0x23, 0x38, 0x88, 0x1, 0x8a, 0x37, 0x21, 0xc, 0x1f, 0x76, 0x6, 0x6e, 0xa4, 0x1, 0x22, 0x3a, 0x3b, 0x40, 0x41, 0x3c, 0x3a, 0x22, 0xa2, 0x6e, 0x6, 0x78, 0x1f, 0xb, 0x21, 0x36, 0x8a, 0x88, 0x36, 0x23, 0xb, 0x20, 0x73, 0x4, 0x3, 0x70, 0x2, 0x25, 0x1b, 0x2e, 0x2f, 0x31, 0x33, 0x2f, 0x2e, 0x1b, 0x55, 0x56, 0x54, 0x5c, 0x3c, 0x3e, 0x22, 0x24, 0x21, 0x21, 0x5, 0xfe, 0x95, 0x9, 0x5, 0x21, 0x22, 0x23, 0x22, 0x3e, 0x6b, 0x95, 0x63, 0xb, 0x9, 0x56, 0x16, 0x9, 0x26, 0x36, 0x7c, 0x46, 0x4f, 0x6, 0x9, 0x39, 0x33, 0x33, 0x39, 0x1, 0x39, 0x5, 0x9, 0x3c, 0x3e, 0x23, 0x22, 0x23, 0xd6, 0x3e, 0x3c, 0x9, 0x5, 0x20, 0x22, 0x24, 0x5a, 0x54, 0x55, 0x1a, 0x2e, 0x2f, 0x34, 0x33, 0x2e, 0x2e, 0x1a, 0x56, 0x3, 0x35, 0x13, 0x24, 0x15, 0x14, 0x23, 0x14, 0x14, 0x23, 0x14, 0x15, 0x24, 0x13, 0xd9, 0x35, 0x39, 0x67, 0x54, 0x3b, 0x26, 0x12, 0xe, 0x27, 0x4, 0x39, 0x5a, 0x5e, 0x5e, 0x5a, 0x39, 0x4, 0x27, 0xe, 0x12, 0x27, 0x3a, 0x54, 0x67, 0x39, 0xa7, 0x27, 0x28, 0x27, 0x27, 0x26, 0x28, 0x29, 0x49, 0x1e, 0x1c, 0x1c, 0x1a, 0x1a, 0x1c, 0x1c, 0x1e, 0x38, 0x3a, 0x39, 0x38, 0x1e, 0x1c, 0x1d, 0x1a, 0x1a, 0x1d, 0x1c, 0x1e, 0x38, 0x39, 0x3a, 0x1, 0xc, 0x5a, 0x5f, 0x35, 0x39, 0x65, 0x55, 0x3b, 0x27, 0x13, 0xe, 0x28, 0x1, 0x5, 0x9, 0x2, 0xb3, 0xc0, 0xc0, 0xb3, 0x2, 0x3a, 0x2, 0x38, 0x14, 0x1b, 0x2e, 0x3e, 0x65, 0x75, 0x1, 0x76, 0x63, 0x3e, 0x2d, 0x1b, 0x14, 0x37, 0x3, 0x3a, 0xb0, 0x62, 0x63, 0x63, 0x62, 0xb0, 0x3b, 0x4, 0x37, 0x14, 0x1a, 0x2d, 0x3f, 0x63, 0x77, 0x75, 0x64, 0x3f, 0x2f, 0x1a, 0x14, 0x38, 0x2, 0x4b, 0xa2, 0x57, 0x5a, 0x5a, 0x57, 0xa2, 0x20, 0x2a, 0x2a, 0x10, 0x19, 0x1d, 0x12, 0x14, 0x15, 0x14, 0x44, 0x40, 0x40, 0x44, 0x14, 0x15, 0x14, 0x12, 0x1d, 0x2b, 0x38, 0x5, 0x1, 0x28, 0xf, 0x13, 0x27, 0x3a, 0x54, 0x65, 0x39, 0x35, 0x5e, 0x9d, 0x26, 0x29, 0x28, 0x26, 0x27, 0x27, 0x28, 0xd6, 0x44, 0x41, 0x19, 0x1d, 0x12, 0x14, 0x14, 0x3a, 0x1d, 0x19, 0x41, 0x44, 0x15, 0x14, 0x14, 0x2e, 0x2a, 0x21, 0x9e, 0x59, 0x5b, 0x5b, 0x59, 0x9e, 0x21, 0x0, 0x7, 0x1, 0x5, 0x0, 0x0, 0x6, 0x26, 0x5, 0xd6, 0x0, 0xb, 0x0, 0x14, 0x0, 0x21, 0x0, 0x2d, 0x0, 0x78, 0x0, 0x86, 0x0, 0x94, 0x0, 0x0, 0x1, 0x14, 0x17, 0x36, 0x37, 0x26, 0x27, 0x36, 0x37, 0x26, 0x27, 0x6, 0x5, 0x34, 0x26, 0x15, 0x6, 0x15, 0x16, 0x17, 0x36, 0x25, 0x6, 0x15, 0x14, 0x17, 0x36, 0x37, 0x2e, 0x1, 0x27, 0x6, 0x15, 0x14, 0x25, 0x34, 0x27, 0x6, 0x7, 0x16, 0x17, 0x6, 0x7, 0x16, 0x17, 0x36, 0x1, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x26, 0x27, 0x36, 0x37, 0x16, 0x17, 0x36, 0x37, 0x26, 0x35, 0x34, 0x3f, 0x1, 0x15, 0x16, 0x15, 0x14, 0x7, 0x1e, 0x1, 0x17, 0x36, 0x37, 0x16, 0x17, 0x6, 0x7, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x16, 0x17, 0x6, 0x23, 0x26, 0x27, 0x6, 0x7, 0x6, 0x7, 0x23, 0x26, 0x27, 0x35, 0x26, 0x27, 0x6, 0x7, 0x22, 0x27, 0x36, 0x37, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x6, 0x14, 0x1e, 0x1, 0x33, 0x32, 0x3e, 0x1, 0x34, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x25, 0x32, 0x1e, 0x1, 0x14, 0xe, 0x1, 0x23, 0x22, 0x2e, 0x1, 0x34, 0x3e, 0x1, 0x3, 0xce, 0x27, 0x37, 0x2c, 0x33, 0x9, 0x3, 0x33, 0x25, 0x2f, 0x30, 0xfe, 0xdc, 0x29, 0x2c, 0x8, 0x37, 0x15, 0x1, 0xdf, 0x1, 0x11, 0x3d, 0x3, 0x3, 0x2a, 0x1, 0x23, 0xfe, 0xd7, 0x30, 0x2a, 0x2b, 0x33, 0x3, 0xe, 0x2e, 0x32, 0x32, 0x27, 0xfe, 0xf7, 0x38, 0x20, 0xe, 0x9, 0x20, 0x59, 0x66, 0x2, 0x2, 0xb7, 0xa9, 0x54, 0x2c, 0x31, 0x27, 0xa5, 0x1, 0xa4, 0x27, 0x29, 0x2e, 0x5, 0x55, 0xa8, 0xb8, 0x1, 0x2, 0x66, 0x59, 0x20, 0x6, 0xe, 0x1d, 0x3e, 0x1a, 0x14, 0x39, 0x38, 0x18, 0x20, 0x22, 0x32, 0x1, 0xd, 0x42, 0x32, 0x3b, 0x46, 0x5f, 0x19, 0x20, 0x20, 0x58, 0x42, 0x3f, 0x32, 0x43, 0xd, 0x1, 0x33, 0x22, 0x20, 0x17, 0x38, 0x39, 0x14, 0x34, 0x69, 0xbc, 0x68, 0x67, 0xbc, 0x69, 0x6b, 0xbe, 0x63, 0x65, 0xbd, 0x1, 0x22, 0x53, 0x9f, 0x5b, 0x58, 0x9f, 0x56, 0x57, 0x9f, 0x58, 0x5a, 0x9f, 0x2, 0x84, 0xa3, 0xa7, 0xf, 0x23, 0x65, 0x8d, 0xaa, 0x6a, 0x1c, 0xf, 0x70, 0xcd, 0x4d, 0x63, 0x1, 0x4e, 0x54, 0x76, 0x4a, 0x4b, 0x72, 0x1b, 0x19, 0x5a, 0x31, 0x56, 0x6c, 0x4c, 0x57, 0x2, 0x4d, 0x49, 0x9, 0x11, 0xa9, 0x70, 0xd, 0x1e, 0x6a, 0xaa, 0x85, 0x6b, 0x25, 0xf, 0xa7, 0x1, 0x6e, 0x41, 0xd, 0x56, 0x2, 0x2, 0x7b, 0x77, 0x2, 0x6, 0x77, 0x19, 0x11, 0x5b, 0x31, 0x87, 0xf4, 0x1, 0x1, 0xf4, 0x87, 0x31, 0x5b, 0xd, 0x1a, 0x3, 0x77, 0x6, 0x2, 0x77, 0x7b, 0x2, 0x2, 0x56, 0xd, 0x40, 0x1e, 0x23, 0x66, 0xdc, 0x64, 0x2d, 0x23, 0x4a, 0x4d, 0xc, 0x37, 0x42, 0x2f, 0x15, 0x22, 0x89, 0x89, 0x22, 0x1, 0x14, 0x30, 0x43, 0x37, 0xc, 0x4e, 0x4b, 0x22, 0x2c, 0x64, 0xdc, 0x66, 0x23, 0x88, 0xce, 0xbd, 0x68, 0x68, 0xbd, 0xce, 0xbf, 0x67, 0x67, 0x51, 0x55, 0xa0, 0xae, 0x9d, 0x58, 0x58, 0x9d, 0xae, 0xa0, 0x55, 0x0, 0x0, 0x0, 0x4, 0x0, 0x64, 0x0, 0x0, 0x6, 0xc8, 0x5, 0xd4, 0x0, 0x7, 0x0, 0xd, 0x0, 0x15, 0x0, 0x25, 0x0, 0x0, 0x1, 0x33, 0x1, 0x15, 0x21, 0x27, 0x23, 0x0, 0x17, 0x1, 0x15, 0x21, 0x35, 0x0, 0x7, 0x32, 0x15, 0x2, 0x23, 0x22, 0x3, 0x36, 0x13, 0x32, 0x1e, 0x1, 0x15, 0x14, 0xe, 0x1, 0x23, 0x22, 0x2e, 0x1, 0x35, 0x34, 0x3e, 0x1, 0x3, 0x9f, 0x7, 0x3, 0x22, 0xf9, 0xad, 0x8, 0x9, 0x3, 0x1b, 0x17, 0xfd, 0x68, 0x5, 0x39, 0xfd, 0x7c, 0x14, 0x4d, 0x34, 0x19, 0x17, 0x36, 0x19, 0x33, 0x13, 0x25, 0x15, 0x14, 0x26, 0x13, 0x14, 0x24, 0x15, 0x15, 0x24, 0x5, 0xd4, 0xfa, 0x35, 0x9, 0x9, 0x5, 0xaa, 0x9b, 0xfb, 0x4f, 0x11, 0x9, 0x4, 0x9d, 0xc2, 0x44, 0xfd, 0x9b, 0x2, 0x6e, 0x3b, 0xfd, 0xd, 0x14, 0x24, 0x15, 0x14, 0x24, 0x14, 0x14, 0x24, 0x14, 0x15, 0x24, 0x14, 0x0, 0x0, 0x1, 0x0, 0xaa, 0x0, 0x4, 0x4, 0xf4, 0x5, 0xd8, 0x0, 0x13, 0x0, 0x0, 0x1, 0x33, 0x17, 0x15, 0x1, 0x14, 0x33, 0x4, 0x15, 0x17, 0x1, 0x27, 0x35, 0x0, 0x35, 0x34, 0x23, 0x24, 0x2f, 0x1, 0x4, 0xd1, 0xe, 0x15, 0xfd, 0x8e, 0x5b, 0x1, 0x83, 0x7, 0xfc, 0x51, 0xe, 0x2, 0x87, 0x77, 0xfe, 0x93, 0x10, 0x7, 0x5, 0xd8, 0x15, 0x7, 0xfd, 0xe2, 0x47, 0x53, 0xe, 0x47, 0xfd, 0x55, 0x15, 0x7, 0x2, 0x57, 0xd, 0x47, 0x4a, 0x11, 0x47, 0x0, 0x0, 0x5, 0x0, 0xaf, 0xfe, 0xff, 0x7, 0x5a, 0x5, 0xda, 0x0, 0x1e, 0x0, 0x2a, 0x0, 0x31, 0x0, 0x3d, 0x0, 0x43, 0x0, 0x0, 0x1, 0x26, 0x10, 0x0, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x0, 0x10, 0x7, 0x6, 0x7, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x26, 0x1, 0x22, 0x6, 0x10, 0x16, 0x33, 0x32, 0x37, 0x26, 0x10, 0x37, 0x26, 0x13, 0x6, 0x7, 0x11, 0x21, 0x11, 0x26, 0x37, 0x16, 0x33, 0x32, 0x36, 0x10, 0x26, 0x23, 0x22, 0x7, 0x16, 0x10, 0x5, 0x36, 0x10, 0x27, 0x6, 0x10, 0x1, 0x58, 0xa9, 0x1, 0x50, 0xef, 0x99, 0x7d, 0x7d, 0x9b, 0xec, 0x1, 0x52, 0xa8, 0x88, 0xb4, 0x1, 0x10, 0xfe, 0xf0, 0xb4, 0xfe, 0x86, 0xb4, 0xfe, 0xf0, 0x1, 0x10, 0xb5, 0x1, 0xf, 0xa4, 0xe7, 0xe7, 0xa4, 0x3f, 0x39, 0x8a, 0x8b, 0x39, 0xd7, 0x58, 0x65, 0x1, 0x7a, 0x66, 0x48, 0x39, 0x3f, 0xa0, 0xea, 0xea, 0xa0, 0x41, 0x3a, 0x8c, 0xfe, 0xd7, 0x75, 0x75, 0x74, 0x2, 0x14, 0x9d, 0x1, 0xdd, 0x1, 0x4c, 0x46, 0x46, 0xfe, 0xb4, 0xfe, 0x22, 0x9c, 0x7e, 0x12, 0xfe, 0xf8, 0x7c, 0xfe, 0xff, 0x1, 0x1, 0xfe, 0xff, 0x1, 0x1, 0x7c, 0x1, 0x9, 0x11, 0x3, 0x91, 0xe4, 0xfe, 0xb9, 0xd8, 0x11, 0x95, 0x1, 0xae, 0x9d, 0x12, 0xfc, 0x94, 0x2d, 0xa, 0xfe, 0xf8, 0x1, 0x9, 0xa, 0xa5, 0x10, 0xd8, 0x1, 0x47, 0xe4, 0x12, 0x9d, 0xfe, 0x50, 0x38, 0x6c, 0x1, 0x47, 0x72, 0x72, 0xfe, 0xb9, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0xa2, 0xfe, 0x5b, 0x8, 0x30, 0x5, 0xc3, 0x0, 0xb, 0x0, 0x24, 0x0, 0x2c, 0x0, 0x38, 0x0, 0x3e, 0x0, 0x0, 0x1, 0x26, 0x20, 0x6, 0x10, 0x17, 0x16, 0x17, 0x36, 0x0, 0x37, 0x26, 0x1, 0x14, 0x0, 0x20, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x10, 0x0, 0x4, 0x17, 0x1, 0x21, 0x37, 0x21, 0x11, 0x21, 0x11, 0x7, 0x11, 0x1, 0x16, 0x3, 0x1, 0x16, 0x17, 0x16, 0x17, 0x1, 0x21, 0x3, 0x6, 0x0, 0x7, 0x16, 0x17, 0x16, 0x20, 0x36, 0x10, 0x27, 0x26, 0x1, 0x32, 0x36, 0x35, 0x22, 0x6, 0x3, 0xf7, 0x75, 0xfe, 0xbb, 0xe7, 0x74, 0x2e, 0x37, 0x10, 0x1, 0x37, 0xcc, 0x1c, 0x2, 0x85, 0xfe, 0xb5, 0xfe, 0x21, 0xaa, 0x75, 0x24, 0x86, 0x6c, 0xaa, 0x1, 0x59, 0x1, 0xcb, 0x6f, 0x1, 0x69, 0xfe, 0x8d, 0x8c, 0x1, 0xee, 0x1, 0x8b, 0x8f, 0xfe, 0x9a, 0x70, 0x95, 0xfe, 0x9a, 0x40, 0x1b, 0x71, 0x44, 0x1, 0x69, 0xfe, 0xed, 0xf7, 0xe, 0xfe, 0xd0, 0xde, 0x1d, 0x34, 0x74, 0x1, 0x45, 0xea, 0x75, 0x2e, 0xfd, 0x8d, 0xa1, 0xea, 0xa4, 0xe3, 0x3, 0x24, 0x72, 0xe4, 0xfe, 0xb8, 0x6c, 0x2c, 0x1a, 0xce, 0x1, 0x33, 0x7, 0x36, 0xfd, 0x90, 0xe8, 0xfe, 0xbd, 0x9f, 0x6c, 0x92, 0x25, 0x65, 0x9e, 0x1, 0xdc, 0x1, 0x55, 0x11, 0x67, 0x1, 0x5c, 0x8e, 0xfe, 0x78, 0xfe, 0x14, 0x8f, 0x1, 0x75, 0xfe, 0xa4, 0x92, 0x3, 0x76, 0xfe, 0xa4, 0x53, 0x63, 0x1b, 0x3f, 0x1, 0x5c, 0xfe, 0x37, 0xcc, 0xfe, 0xd7, 0xb, 0x3d, 0x31, 0x6c, 0xd8, 0x1, 0x48, 0x72, 0x2d, 0xfe, 0xc9, 0xd8, 0xa4, 0xe0, 0x0, 0x4, 0x0, 0xaf, 0xfe, 0x83, 0x8, 0xdf, 0x6, 0xd9, 0x0, 0x5, 0x0, 0x2d, 0x0, 0x39, 0x0, 0x45, 0x0, 0x0, 0x0, 0x2, 0x17, 0x36, 0x10, 0x27, 0x1, 0x14, 0x0, 0x23, 0x22, 0x27, 0x6, 0x7, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x26, 0x27, 0x26, 0x10, 0x0, 0x33, 0x32, 0x17, 0x36, 0x17, 0x16, 0x17, 0x1, 0x21, 0x37, 0x21, 0x11, 0x7, 0x11, 0x1, 0x16, 0x25, 0x22, 0x6, 0x10, 0x16, 0x33, 0x32, 0x37, 0x26, 0x10, 0x37, 0x26, 0x1, 0x16, 0x33, 0x32, 0x36, 0x10, 0x26, 0x23, 0x22, 0x7, 0x16, 0x10, 0x3, 0x92, 0x1, 0x73, 0x75, 0x75, 0x3, 0x57, 0xfe, 0xb3, 0xf3, 0x9a, 0x7e, 0x57, 0x64, 0x1, 0x10, 0xfe, 0xf0, 0xb4, 0xfe, 0xf0, 0x1, 0x10, 0xb5, 0x87, 0xa9, 0x1, 0x50, 0xef, 0x97, 0x7c, 0x80, 0x9a, 0xe5, 0x6f, 0x1, 0x6a, 0xfe, 0x8c, 0x8c, 0x1, 0xee, 0x8e, 0xfe, 0x9a, 0x70, 0xfb, 0x93, 0xa4, 0xe7, 0xe7, 0xa4, 0x3f, 0x39, 0x89, 0x8b, 0x3a, 0x1, 0x76, 0x38, 0x3f, 0xa2, 0xea, 0xea, 0xa2, 0x41, 0x3a, 0x8d, 0x3, 0xc8, 0xfe, 0xb8, 0x6c, 0x6c, 0x1, 0x47, 0x72, 0xfe, 0xeb, 0xe7, 0xfe, 0xbc, 0x45, 0x2c, 0xa, 0xfe, 0xf8, 0x7c, 0xfe, 0xff, 0x1, 0x1, 0x7c, 0x1, 0x9, 0x11, 0x7e, 0x9d, 0x1, 0xdd, 0x1, 0x4c, 0x44, 0x4a, 0x6, 0x8, 0x67, 0x1, 0x5c, 0x8e, 0xfe, 0x14, 0x8f, 0x1, 0x75, 0xfe, 0xa4, 0x92, 0xc6, 0xe4, 0xfe, 0xb9, 0xd8, 0x11, 0x95, 0x1, 0xac, 0x9f, 0x12, 0xfd, 0xd, 0x10, 0xd8, 0x1, 0x48, 0xe4, 0x12, 0x9d, 0xfe, 0x4f, 0x0, 0x0, 0x2, 0x0, 0xaf, 0xfe, 0xff, 0x6, 0xb2, 0x7, 0x55, 0x0, 0x7, 0x0, 0x28, 0x0, 0x0, 0x0, 0x26, 0x20, 0x6, 0x10, 0x16, 0x20, 0x36, 0x5, 0x26, 0x10, 0x0, 0x33, 0x32, 0x17, 0x1, 0x21, 0x37, 0x21, 0x11, 0x7, 0x11, 0x1, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x26, 0x4, 0x79, 0xea, 0xfe, 0xbb, 0xe7, 0xe7, 0x1, 0x45, 0xea, 0xfc, 0xdf, 0xa9, 0x1, 0x50, 0xef, 0xc0, 0x95, 0x1, 0x68, 0xfe, 0x8d, 0x8c, 0x1, 0xee, 0x8f, 0xfe, 0x9a, 0x70, 0xa9, 0x88, 0xb4, 0x1, 0x10, 0xfe, 0xf0, 0xb4, 0xfe, 0xf0, 0x1, 0x10, 0xb5, 0x4, 0x43, 0xe4, 0xe4, 0xfe, 0xb9, 0xd8, 0xd8, 0xe8, 0x9d, 0x1, 0xdd, 0x1, 0x4c, 0x6e, 0x1, 0x5b, 0x8e, 0xfe, 0x14, 0x8f, 0x1, 0x75, 0xfe, 0xa4, 0x92, 0xc2, 0xef, 0x9c, 0x7e, 0x12, 0xfe, 0xf8, 0x7c, 0xfe, 0xff, 0x1, 0x1, 0x7c, 0x1, 0x9, 0x11, 0x0, 0x0, 0x0, 0x0, 0x2, 0x1, 0xd, 0xff, 0xe3, 0x5, 0xd0, 0x6, 0xf4, 0x0, 0x2b, 0x0, 0x44, 0x0, 0x0, 0x1, 0x7, 0x16, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0xe, 0x1, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x3e, 0x1, 0x37, 0x36, 0x33, 0x32, 0x17, 0x37, 0x27, 0x37, 0x17, 0x13, 0x7, 0x27, 0x25, 0x13, 0x7, 0x27, 0x3, 0x17, 0x7, 0x1, 0x16, 0x32, 0x37, 0x3e, 0x1, 0x37, 0x36, 0x34, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x22, 0x7, 0xe, 0x1, 0x7, 0x6, 0x14, 0x17, 0x16, 0x17, 0x16, 0x4, 0x28, 0x46, 0x33, 0x22, 0x44, 0x22, 0x26, 0x25, 0x23, 0x7d, 0x62, 0x56, 0x60, 0x5a, 0x5a, 0x5e, 0x3b, 0x44, 0x22, 0x26, 0x26, 0x24, 0x83, 0x5b, 0x58, 0x5d, 0x3a, 0x33, 0x47, 0xfe, 0x39, 0xfe, 0x86, 0xe1, 0x3a, 0x1, 0xce, 0xc0, 0x8b, 0x5d, 0x86, 0xfe, 0x3a, 0xfd, 0x46, 0x3d, 0x7e, 0x3d, 0x3c, 0x5a, 0x1a, 0x19, 0x19, 0x17, 0x2f, 0x2a, 0x7e, 0x7a, 0x3f, 0x3c, 0x59, 0x1b, 0x19, 0x18, 0x18, 0x2e, 0x28, 0x4, 0x0, 0xaa, 0x21, 0x24, 0x48, 0x53, 0x5c, 0xb4, 0x5b, 0x56, 0x83, 0x2a, 0x25, 0x25, 0x27, 0x3e, 0x48, 0x53, 0x5d, 0xb3, 0x5e, 0x58, 0x82, 0x26, 0x25, 0xc, 0xab, 0x69, 0x8a, 0x69, 0x1, 0x44, 0x5e, 0x8b, 0xbf, 0xfe, 0x32, 0x39, 0xe1, 0xfe, 0xbd, 0x69, 0x8b, 0xfc, 0xfc, 0x1a, 0x19, 0x19, 0x5c, 0x3d, 0x3c, 0x80, 0x3c, 0x39, 0x32, 0x2d, 0x31, 0x19, 0x19, 0x58, 0x3f, 0x3a, 0x84, 0x3c, 0x39, 0x31, 0x2a, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xcf, 0xfe, 0xa3, 0x5, 0xee, 0x7, 0x12, 0x0, 0x3d, 0x0, 0x58, 0x0, 0x0, 0x1, 0x36, 0x32, 0x17, 0x13, 0x7, 0x27, 0x25, 0x13, 0x7, 0x27, 0x3, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x6, 0x7, 0x6, 0x7, 0x15, 0x21, 0x15, 0x21, 0x15, 0x23, 0x35, 0x21, 0x35, 0x21, 0x35, 0x26, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x27, 0x7, 0x27, 0x37, 0x27, 0x7, 0x27, 0x13, 0x5, 0x7, 0x27, 0x17, 0x37, 0x17, 0x7, 0x17, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x27, 0x26, 0x27, 0x26, 0x2, 0xee, 0x34, 0x70, 0x36, 0xb3, 0xe2, 0x39, 0x1, 0xce, 0xc0, 0x8c, 0x5d, 0xb3, 0x2e, 0x28, 0x45, 0x47, 0x47, 0x45, 0x40, 0x5a, 0x2d, 0x3c, 0x1, 0x13, 0xfe, 0xed, 0x96, 0xfe, 0xed, 0x1, 0x13, 0x38, 0x31, 0x56, 0x44, 0x45, 0x47, 0x46, 0x46, 0x27, 0x31, 0x1f, 0xfe, 0x39, 0xfe, 0x54, 0x5d, 0x8c, 0xc0, 0x1, 0xce, 0x39, 0xe2, 0x54, 0xfe, 0x3a, 0xfe, 0x8a, 0x47, 0x35, 0x3e, 0x2b, 0x2e, 0x31, 0x31, 0x2e, 0x2f, 0x3a, 0x39, 0x8a, 0x35, 0x3e, 0x2b, 0x2e, 0x31, 0x31, 0x2e, 0x2f, 0x3a, 0x39, 0x4, 0x87, 0xc, 0xc, 0x1, 0x9e, 0x5c, 0x8a, 0xbf, 0xfe, 0x32, 0x3a, 0xe2, 0xfe, 0x61, 0x1d, 0x28, 0x45, 0xab, 0x62, 0x5f, 0xab, 0x45, 0x40, 0x28, 0x14, 0xa, 0xb8, 0x96, 0xf0, 0xf0, 0x96, 0xb8, 0x9, 0x15, 0x25, 0x43, 0x45, 0xab, 0x5f, 0x62, 0xa9, 0x47, 0x28, 0x1e, 0x48, 0x69, 0x8a, 0x6a, 0xcb, 0xe2, 0x3a, 0x1, 0xce, 0xbf, 0x8a, 0x5c, 0xcb, 0x69, 0x8a, 0x6a, 0xd3, 0x18, 0x1c, 0x2b, 0x2e, 0x77, 0x42, 0x41, 0x77, 0x2e, 0x2f, 0x18, 0x18, 0x18, 0x1c, 0x2b, 0x2e, 0x77, 0x41, 0x42, 0x77, 0x2e, 0x2f, 0x18, 0x18, 0x0, 0x0, 0x0, 0x0, 0x2, 0x1, 0x80, 0xff, 0xe3, 0x5, 0x34, 0x6, 0xf4, 0x0, 0x2b, 0x0, 0x46, 0x0, 0x0, 0x1, 0x11, 0x21, 0x15, 0x21, 0x15, 0x16, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x35, 0x21, 0x35, 0x21, 0x11, 0x7, 0x27, 0x9, 0x1, 0x7, 0x3, 0x32, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x27, 0x26, 0x27, 0x26, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x3, 0xa5, 0x1, 0x13, 0xfe, 0xed, 0x3c, 0x2d, 0x5a, 0x40, 0x45, 0x47, 0x47, 0x45, 0x44, 0x56, 0x52, 0x62, 0x66, 0x4e, 0x5a, 0x40, 0x45, 0x47, 0x47, 0x45, 0x44, 0x56, 0x31, 0x38, 0xfe, 0xed, 0x1, 0x13, 0xac, 0x6b, 0x1, 0x62, 0x1, 0x62, 0x6a, 0xf8, 0x43, 0x39, 0x3a, 0x2f, 0x2e, 0x31, 0x31, 0x2e, 0x2b, 0x3e, 0x35, 0x8a, 0x39, 0x3a, 0x2f, 0x2e, 0x31, 0x31, 0x2e, 0x2b, 0x3e, 0x35, 0x5, 0xd5, 0xfe, 0xe7, 0x96, 0x91, 0xa, 0x14, 0x28, 0x40, 0x45, 0xab, 0x5f, 0x62, 0xab, 0x45, 0x43, 0x25, 0x23, 0x23, 0x28, 0x40, 0x45, 0xab, 0x62, 0x5f, 0xab, 0x45, 0x43, 0x25, 0x15, 0x9, 0x91, 0x96, 0x1, 0x19, 0xad, 0x6b, 0x1, 0x61, 0xfe, 0x9f, 0x6a, 0xfb, 0x50, 0x18, 0x18, 0x2f, 0x2e, 0x77, 0x42, 0x41, 0x77, 0x2e, 0x2b, 0x1c, 0x18, 0x18, 0x18, 0x2f, 0x2e, 0x77, 0x41, 0x42, 0x77, 0x2e, 0x2b, 0x1c, 0x18, 0x0, 0x2, 0x0, 0x9, 0x1, 0x10, 0x6, 0xa1, 0x4, 0xc4, 0x0, 0x2b, 0x0, 0x46, 0x0, 0x0, 0x1, 0x23, 0x11, 0x23, 0x11, 0x23, 0x6, 0x7, 0x6, 0x7, 0xe, 0x1, 0x23, 0x22, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x33, 0x11, 0x33, 0x11, 0x33, 0x27, 0x37, 0x9, 0x1, 0x27, 0x25, 0x14, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x37, 0x36, 0x37, 0x36, 0x34, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x7, 0x6, 0x7, 0x6, 0x5, 0x82, 0xdc, 0x96, 0x55, 0xa, 0x14, 0x28, 0x40, 0x45, 0xab, 0x5f, 0x62, 0xab, 0x45, 0x43, 0x25, 0x23, 0x23, 0x28, 0x40, 0x45, 0xab, 0x62, 0x5f, 0xab, 0x45, 0x43, 0x25, 0x15, 0x9, 0x55, 0x96, 0xdc, 0xad, 0x6b, 0x1, 0x61, 0xfe, 0x9f, 0x6a, 0xfb, 0xc9, 0x18, 0x18, 0x2f, 0x2e, 0x77, 0x42, 0x41, 0x77, 0x2e, 0x2b, 0x1c, 0x18, 0x18, 0x18, 0x2f, 0x2e, 0x77, 0x41, 0x42, 0x77, 0x2e, 0x2b, 0x1c, 0x18, 0x2, 0x9f, 0xfe, 0xed, 0x1, 0x13, 0x3c, 0x2d, 0x5a, 0x40, 0x45, 0x47, 0x47, 0x45, 0x44, 0x56, 0x52, 0x62, 0x66, 0x4e, 0x5a, 0x40, 0x45, 0x47, 0x47, 0x45, 0x44, 0x56, 0x31, 0x38, 0x1, 0x13, 0xfe, 0xed, 0xac, 0x6b, 0xfe, 0x9e, 0xfe, 0x9e, 0x6a, 0xf8, 0x43, 0x39, 0x3a, 0x2f, 0x2e, 0x31, 0x31, 0x2e, 0x2b, 0x3e, 0x35, 0x8a, 0x39, 0x3a, 0x2f, 0x2e, 0x31, 0x31, 0x2e, 0x2b, 0x3e, 0x35, 0x0, 0x0, 0x0, 0x2, 0x1, 0x7f, 0x1, 0x10, 0x5, 0x35, 0x4, 0xc5, 0x0, 0xb, 0x0, 0x17, 0x0, 0x1f, 0x40, 0xf, 0x15, 0x12, 0x3, 0xf, 0x12, 0x9, 0x18, 0x19, 0x12, 0x12, 0x6, 0xc, 0x12, 0x0, 0x18, 0x10, 0xdc, 0xec, 0xd4, 0xec, 0xc4, 0x31, 0x0, 0x10, 0xd4, 0xec, 0xd4, 0xec, 0x30, 0x1, 0x34, 0x0, 0x33, 0x32, 0x0, 0x15, 0x14, 0x0, 0x23, 0x22, 0x0, 0x37, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x1, 0x7f, 0x1, 0x17, 0xc4, 0xc4, 0x1, 0x17, 0xfe, 0xe9, 0xc4, 0xc4, 0xfe, 0xe9, 0x99, 0xbd, 0x85, 0x85, 0xbd, 0xbd, 0x85, 0x85, 0xbd, 0x2, 0xeb, 0xc4, 0x1, 0x16, 0xfe, 0xea, 0xc4, 0xc5, 0xfe, 0xea, 0x1, 0x16, 0xc2, 0x85, 0xbd, 0xbd, 0x85, 0x86, 0xbd, 0xbd, 0x0, 0x0, 0x1, 0x1, 0x7f, 0x1, 0x10, 0x5, 0x35, 0x4, 0xc5, 0x0, 0xb, 0x0, 0x13, 0x40, 0x7, 0x3, 0x9, 0xc, 0xd, 0x6, 0x0, 0xc, 0x10, 0xdc, 0xd4, 0xcc, 0x31, 0x0, 0x10, 0xd4, 0xc4, 0x30, 0x1, 0x34, 0x0, 0x33, 0x32, 0x0, 0x15, 0x14, 0x0, 0x23, 0x22, 0x0, 0x1, 0x7f, 0x1, 0x17, 0xc4, 0xc4, 0x1, 0x17, 0xfe, 0xe9, 0xc4, 0xc4, 0xfe, 0xe9, 0x2, 0xeb, 0xc4, 0x1, 0x16, 0xfe, 0xea, 0xc4, 0xc5, 0xfe, 0xea, 0x1, 0x16, 0x0, 0x2, 0x1, 0xfa, 0x1, 0x8d, 0x4, 0xba, 0x4, 0x4b, 0x0, 0xb, 0x0, 0x17, 0x0, 0x2b, 0x40, 0xf, 0x15, 0x6b, 0x3, 0xf, 0x6b, 0x9, 0x18, 0x19, 0x12, 0x6b, 0x6, 0xc, 0x6b, 0x0, 0x18, 0x10, 0xdc, 0xec, 0xd4, 0x4b, 0xb0, 0x10, 0x54, 0x58, 0xb9, 0x0, 0x6, 0xff, 0xc0, 0x38, 0x59, 0xec, 0xc4, 0x31, 0x0, 0x10, 0xd4, 0xec, 0xd4, 0xec, 0x30, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x37, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x1, 0xfa, 0xcf, 0x91, 0x91, 0xcf, 0xcf, 0x91, 0x91, 0xcf, 0x98, 0x75, 0x53, 0x53, 0x75, 0x75, 0x53, 0x53, 0x75, 0x2, 0xec, 0x92, 0xcd, 0xcd, 0x92, 0x91, 0xce, 0xce, 0x90, 0x53, 0x75, 0x75, 0x53, 0x53, 0x76, 0x76, 0x0, 0x0, 0x4, 0x1, 0x64, 0x1, 0x8d, 0x5, 0x50, 0x4, 0x4b, 0x0, 0x13, 0x0, 0x21, 0x0, 0x29, 0x0, 0x37, 0x0, 0x65, 0x4b, 0xb0, 0xb, 0x52, 0x58, 0x40, 0x1f, 0x3, 0x7, 0xd, 0x11, 0x1d, 0x2a, 0x19, 0x2e, 0x8, 0x1b, 0x2c, 0xf, 0x26, 0x22, 0x5, 0x4, 0x28, 0x24, 0xa, 0x6b, 0x33, 0x2c, 0x6b, 0x28, 0x24, 0x6b, 0x1b, 0x14, 0x6b, 0x0, 0x38, 0x10, 0xd4, 0xec, 0xd4, 0xec, 0xd4, 0xec, 0xd4, 0xec, 0x11, 0x12, 0x17, 0x39, 0x11, 0x12, 0x17, 0x39, 0x31, 0x0, 0x40, 0x15, 0x26, 0x22, 0x17, 0x1f, 0x5, 0x3, 0x1f, 0xf, 0x17, 0x11, 0x1f, 0x36, 0x6b, 0x7, 0x3, 0x30, 0x17, 0x6b, 0xd, 0x11, 0x38, 0x10, 0xd4, 0x3c, 0xec, 0x32, 0xd4, 0x3c, 0xec, 0x32, 0x11, 0x12, 0x39, 0x11, 0x12, 0x39, 0x11, 0x12, 0x39, 0x39, 0x30, 0x59, 0x1, 0x34, 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x27, 0x6, 0x23, 0x22, 0x26, 0x37, 0x14, 0x16, 0x33, 0x32, 0x33, 0x26, 0x35, 0x34, 0x37, 0x26, 0x23, 0x22, 0x6, 0x25, 0x6, 0x15, 0x14, 0x17, 0x36, 0x35, 0x34, 0x37, 0x16, 0x15, 0x14, 0x7, 0x32, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x1, 0x64, 0xcf, 0x91, 0x52, 0x44, 0x44, 0x52, 0x91, 0xcf, 0xcf, 0x91, 0x52, 0x44, 0x44, 0x52, 0x91, 0xcf, 0x98, 0x75, 0x53, 0x6, 0x5, 0x3f, 0x3e, 0x5, 0x5, 0x53, 0x75, 0x1, 0x5e, 0x32, 0x32, 0x32, 0x5a, 0x3e, 0x3f, 0x5, 0x6, 0x53, 0x75, 0x75, 0x53, 0x5, 0x2, 0xec, 0x92, 0xcd, 0x20, 0x20, 0xcd, 0x92, 0x91, 0xce, 0x21, 0x21, 0xce, 0x90, 0x53, 0x75, 0x58, 0x71, 0x70, 0x57, 0x1, 0x76, 0x32, 0x38, 0x4d, 0x4c, 0x38, 0x38, 0x4c, 0x4d, 0x7b, 0x57, 0x70, 0x71, 0x58, 0x75, 0x53, 0x53, 0x76, 0x0, 0x5, 0x0, 0x54, 0x1, 0x5a, 0x6, 0x60, 0x4, 0x7a, 0x0, 0x3, 0x0, 0x1d, 0x0, 0x38, 0x0, 0x52, 0x0, 0x6d, 0x0, 0x0, 0x1, 0x33, 0x11, 0x23, 0x0, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x27, 0x26, 0x2f, 0x1, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x4, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x27, 0x26, 0x2f, 0x1, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x3, 0xf, 0x96, 0x96, 0x2, 0x1d, 0x52, 0x23, 0x29, 0x18, 0x1d, 0x1e, 0x1f, 0x1c, 0x1d, 0x24, 0x23, 0x52, 0x23, 0x24, 0x1d, 0x1d, 0x1e, 0x20, 0x1b, 0x1d, 0x24, 0x4c, 0x4b, 0x3a, 0x43, 0x2e, 0x32, 0x35, 0x35, 0x32, 0x31, 0x40, 0x3d, 0x93, 0x3a, 0x43, 0x2e, 0x32, 0x35, 0x35, 0x32, 0x31, 0x40, 0x3d, 0xfd, 0x1f, 0x52, 0x23, 0x29, 0x18, 0x1d, 0x1e, 0x1f, 0x1c, 0x1d, 0x24, 0x23, 0x52, 0x23, 0x24, 0x1d, 0x1d, 0x1e, 0x20, 0x1b, 0x1d, 0x24, 0x4c, 0x4b, 0x3a, 0x43, 0x2e, 0x32, 0x35, 0x35, 0x32, 0x31, 0x40, 0x3d, 0x93, 0x3a, 0x43, 0x2e, 0x32, 0x35, 0x35, 0x32, 0x31, 0x40, 0x3d, 0x4, 0x7a, 0xfc, 0xe0, 0x2, 0x5a, 0xf, 0x12, 0x1a, 0x1f, 0x46, 0x29, 0x28, 0x4a, 0x1b, 0x1c, 0x10, 0xf, 0xf, 0x10, 0x1c, 0x1e, 0x47, 0x28, 0x29, 0x4b, 0x1a, 0x1c, 0x10, 0xa5, 0x1a, 0x1e, 0x2e, 0x32, 0x7f, 0x49, 0x46, 0x7f, 0x32, 0x31, 0x1b, 0x1a, 0x1a, 0x1e, 0x2e, 0x32, 0x7f, 0x46, 0x49, 0x7f, 0x32, 0x31, 0x1b, 0x1a, 0x96, 0xf, 0x12, 0x1a, 0x1f, 0x46, 0x29, 0x28, 0x4a, 0x1b, 0x1c, 0x10, 0xf, 0xf, 0x10, 0x1c, 0x1e, 0x47, 0x28, 0x29, 0x4b, 0x1a, 0x1c, 0x10, 0xa5, 0x1a, 0x1e, 0x2e, 0x32, 0x7f, 0x49, 0x46, 0x7f, 0x32, 0x31, 0x1b, 0x1a, 0x1a, 0x1e, 0x2e, 0x32, 0x7f, 0x46, 0x49, 0x7f, 0x32, 0x31, 0x1b, 0x1a, 0x0, 0x0, 0x3, 0x0, 0xa, 0x1, 0x8d, 0x6, 0xaa, 0x4, 0x4a, 0x0, 0x37, 0x0, 0x51, 0x0, 0x6b, 0x0, 0x0, 0x1, 0x3e, 0x1, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x27, 0x21, 0xe, 0x1, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x17, 0x24, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x27, 0x26, 0x27, 0x24, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x27, 0x26, 0x27, 0x3, 0xf7, 0x7, 0x23, 0x36, 0x31, 0x40, 0x3d, 0x48, 0x4b, 0x3a, 0x43, 0x2e, 0x32, 0x35, 0x35, 0x32, 0x31, 0x40, 0x3d, 0x93, 0x3a, 0x43, 0x2e, 0x35, 0x25, 0x6, 0xfe, 0xc5, 0x6, 0x27, 0x32, 0x31, 0x40, 0x3d, 0x93, 0x3a, 0x43, 0x2e, 0x32, 0x35, 0x35, 0x32, 0x31, 0x40, 0x3d, 0x48, 0x4b, 0x3a, 0x43, 0x2e, 0x36, 0x23, 0x7, 0x2, 0xb9, 0x52, 0x23, 0x24, 0x1d, 0x1d, 0x1e, 0x1e, 0x1d, 0x1d, 0x24, 0x23, 0x52, 0x23, 0x24, 0x1d, 0x1d, 0x1e, 0x1e, 0x1d, 0x1d, 0x24, 0xfb, 0xf7, 0x52, 0x23, 0x29, 0x18, 0x1d, 0x1e, 0x1f, 0x1c, 0x1d, 0x24, 0x23, 0x52, 0x23, 0x24, 0x1d, 0x1d, 0x1e, 0x20, 0x1b, 0x1d, 0x24, 0x3, 0x35, 0x1f, 0x5b, 0x35, 0x31, 0x1b, 0x1a, 0x1a, 0x1e, 0x2e, 0x32, 0x7f, 0x49, 0x46, 0x7f, 0x32, 0x31, 0x1b, 0x1a, 0x1a, 0x1e, 0x2e, 0x34, 0x60, 0x18, 0x1d, 0x5d, 0x32, 0x31, 0x1b, 0x1a, 0x1a, 0x1e, 0x2e, 0x32, 0x7f, 0x46, 0x49, 0x7f, 0x32, 0x31, 0x1b, 0x1a, 0x1a, 0x1e, 0x2e, 0x35, 0x5b, 0x1f, 0x7f, 0xf, 0x10, 0x1c, 0x1f, 0x46, 0x29, 0x28, 0x47, 0x1e, 0x1c, 0x10, 0xf, 0xf, 0x10, 0x1c, 0x1e, 0x47, 0x28, 0x29, 0x46, 0x1f, 0x1c, 0x10, 0xf, 0xf, 0x12, 0x1a, 0x1f, 0x46, 0x29, 0x28, 0x4a, 0x1b, 0x1c, 0x10, 0xf, 0xf, 0x10, 0x1c, 0x1e, 0x47, 0x28, 0x29, 0x4b, 0x1a, 0x1c, 0x10, 0x0, 0x2, 0x0, 0xd2, 0x1, 0xe6, 0x6, 0xe, 0x4, 0x52, 0x0, 0x5, 0x0, 0xb, 0x0, 0x0, 0x1, 0x35, 0x25, 0x7, 0x15, 0x17, 0x1, 0x25, 0x5, 0x11, 0x5, 0x25, 0x5, 0x78, 0xfc, 0xcc, 0xdc, 0xdc, 0xfe, 0x8e, 0x1, 0x72, 0x3, 0xca, 0xfc, 0x36, 0xfe, 0x8e, 0x2, 0xd7, 0x8a, 0x65, 0x4d, 0xba, 0x4d, 0x1, 0x5e, 0x82, 0x78, 0xfe, 0x84, 0x78, 0x82, 0x0, 0x0, 0x2, 0x1, 0xb1, 0x0, 0x56, 0x5, 0x3, 0x5, 0x96, 0x0, 0x15, 0x0, 0x29, 0x0, 0x0, 0x1, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x35, 0x37, 0x35, 0x23, 0x15, 0x17, 0x15, 0x6, 0x7, 0x6, 0x15, 0x14, 0x1f, 0x2, 0x21, 0x3, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x27, 0x35, 0x21, 0x15, 0x7, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x3, 0x73, 0x5f, 0x76, 0x52, 0x24, 0x4e, 0x3a, 0xc8, 0x3a, 0x4e, 0x24, 0x52, 0x76, 0x5f, 0xa3, 0xfe, 0xec, 0xa4, 0x7b, 0x61, 0x54, 0x2c, 0x58, 0x2, 0x40, 0x58, 0x2c, 0x54, 0x61, 0x7b, 0x1, 0x11, 0xb4, 0xdf, 0x34, 0x62, 0x5c, 0x29, 0x31, 0xa2, 0x25, 0x3d, 0x3d, 0x25, 0xa2, 0x31, 0x29, 0x5c, 0x62, 0x34, 0xdf, 0xb4, 0xbb, 0x1, 0x3a, 0xea, 0x60, 0xbe, 0x5c, 0x4b, 0x19, 0x44, 0xfa, 0xfa, 0x44, 0x19, 0x4b, 0x5c, 0xbe, 0x60, 0xea, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xaf, 0xfe, 0xff, 0x5, 0x2d, 0x5, 0xda, 0x0, 0x7, 0x0, 0x15, 0x0, 0x0, 0x0, 0x26, 0x20, 0x6, 0x10, 0x16, 0x20, 0x36, 0x5, 0x26, 0x10, 0x0, 0x20, 0x0, 0x10, 0x7, 0x6, 0x7, 0x11, 0x23, 0x11, 0x26, 0x4, 0x79, 0xea, 0xfe, 0xbb, 0xe7, 0xe7, 0x1, 0x45, 0xea, 0xfc, 0xdf, 0xa9, 0x1, 0x50, 0x1, 0xdb, 0x1, 0x53, 0xa9, 0x88, 0xb4, 0xb4, 0xb5, 0x4, 0x43, 0xe4, 0xe4, 0xfe, 0xb9, 0xd8, 0xd8, 0xe8, 0x9d, 0x1, 0xdd, 0x1, 0x4c, 0xfe, 0xb4, 0xfe, 0x22, 0x9c, 0x7e, 0x12, 0xfd, 0x7b, 0x2, 0x86, 0x11, 0x0, 0x1, 0x1, 0x59, 0xfe, 0xff, 0x5, 0x2c, 0x5, 0xda, 0x0, 0x1a, 0x0, 0x0, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x16, 0x33, 0x32, 0x36, 0x10, 0x26, 0x20, 0x7, 0x27, 0x36, 0x20, 0x0, 0x10, 0x7, 0x6, 0x7, 0x11, 0x21, 0x15, 0x3, 0x49, 0xb5, 0xfe, 0xf0, 0x1, 0x10, 0x28, 0x34, 0xa1, 0xe8, 0xe8, 0xfe, 0xbb, 0x7e, 0x75, 0xa8, 0x1, 0xdb, 0x1, 0x50, 0xa7, 0x89, 0xb3, 0x1, 0xf, 0xfe, 0xff, 0x1, 0x1, 0x7c, 0x1, 0xb2, 0x7, 0xd8, 0x1, 0x47, 0xe4, 0x6a, 0x74, 0xa6, 0xfe, 0xb4, 0xfe, 0x20, 0x9a, 0x7e, 0x12, 0xfe, 0xf8, 0x7c, 0x0, 0x2, 0x0, 0xb0, 0xfe, 0xff, 0x5, 0x2c, 0x5, 0xda, 0x0, 0x13, 0x0, 0x17, 0x0, 0x0, 0x13, 0x9, 0x2, 0x11, 0x32, 0x33, 0x15, 0x22, 0x23, 0x11, 0x22, 0x23, 0x11, 0x22, 0x23, 0x35, 0x32, 0x33, 0x11, 0x37, 0x9, 0x2, 0xb0, 0x2, 0x3e, 0x2, 0x3e, 0xfe, 0x21, 0x87, 0x88, 0x88, 0x87, 0x5b, 0x5a, 0x88, 0x88, 0x88, 0x88, 0x56, 0x1, 0x4c, 0xfe, 0xb4, 0xfe, 0xb4, 0x3, 0x9f, 0x2, 0x3b, 0xfd, 0xc5, 0xfd, 0xe9, 0xfe, 0xf4, 0x7c, 0xfe, 0xff, 0x1, 0x1, 0x7c, 0x1, 0xc, 0xa8, 0x1, 0x6f, 0x1, 0x4a, 0xfe, 0xb6, 0x0, 0x0, 0x1, 0x0, 0xb0, 0xfe, 0xff, 0x5, 0x2c, 0x5, 0xda, 0x0, 0x1f, 0x0, 0x0, 0x1, 0x37, 0x17, 0x11, 0x33, 0x11, 0x37, 0x17, 0x1, 0x21, 0x15, 0x21, 0x1, 0x7, 0x27, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x7, 0x27, 0x1, 0x21, 0x35, 0x21, 0x1, 0x1d, 0x7b, 0xfd, 0xb3, 0xfc, 0x7b, 0xfe, 0xe4, 0x1, 0x89, 0xfe, 0x7e, 0x1, 0x15, 0x7a, 0xfd, 0x1, 0x10, 0xfe, 0xf0, 0xb4, 0xfe, 0xf0, 0x1, 0x10, 0xfd, 0x7a, 0x1, 0x15, 0xfe, 0x7e, 0x1, 0x89, 0x4, 0xf9, 0x7a, 0xfd, 0x1, 0x64, 0xfe, 0x9d, 0xfc, 0x7a, 0xfe, 0xe4, 0x7c, 0xfe, 0xeb, 0x7b, 0xfd, 0xfd, 0xae, 0x7c, 0xfe, 0xff, 0x1, 0x1, 0x7c, 0x2, 0x52, 0xfd, 0x7b, 0x1, 0x15, 0x7c, 0x0, 0x3, 0x0, 0x78, 0xff, 0xf, 0x6, 0x54, 0x5, 0x25, 0x0, 0x9, 0x0, 0xd, 0x0, 0x17, 0x0, 0x0, 0x1, 0x15, 0x21, 0x9, 0x1, 0x21, 0x35, 0x21, 0x9, 0x1, 0x3, 0x11, 0x23, 0x11, 0x1, 0x21, 0x17, 0x37, 0x21, 0x15, 0x23, 0x9, 0x1, 0x23, 0x6, 0x54, 0xfe, 0xd3, 0xfe, 0x3f, 0xfe, 0x3f, 0xfe, 0xd3, 0x1, 0xa2, 0x1, 0x4c, 0x1, 0x4c, 0xf1, 0xac, 0xfe, 0x77, 0x1, 0x4, 0xd6, 0xd6, 0x1, 0x4, 0x8e, 0xfe, 0xb4, 0xfe, 0xb4, 0x8e, 0x1, 0x4a, 0x7c, 0xfe, 0x41, 0x1, 0xbf, 0x7c, 0xfe, 0xb6, 0x1, 0x4a, 0x3, 0xdb, 0xfd, 0xa6, 0x2, 0x5a, 0xfd, 0x74, 0xd5, 0xd5, 0x7c, 0xfe, 0xb6, 0x1, 0x4a, 0x0, 0x0, 0x0, 0x0, 0x2, 0x1, 0x8e, 0xff, 0x2c, 0x4, 0xc2, 0x5, 0xaf, 0x0, 0x7, 0x0, 0x1c, 0x0, 0x0, 0x24, 0x14, 0x16, 0x32, 0x36, 0x34, 0x26, 0x22, 0x2, 0x26, 0x10, 0x37, 0x36, 0x37, 0x11, 0x33, 0x11, 0x25, 0x17, 0xd, 0x1, 0x7, 0x25, 0x11, 0x16, 0x17, 0x16, 0x10, 0x6, 0x2, 0x26, 0x75, 0xa6, 0x75, 0x75, 0xa6, 0x3e, 0xcf, 0x68, 0x48, 0x5d, 0xac, 0x1, 0x25, 0x56, 0xfe, 0x99, 0x1, 0x67, 0x56, 0xfe, 0xdb, 0x59, 0x46, 0x68, 0xcf, 0xdd, 0xa6, 0x75, 0x75, 0xa6, 0x76, 0xfd, 0xd9, 0xce, 0x1, 0x23, 0x67, 0x47, 0x16, 0x3, 0xce, 0xfe, 0xce, 0xad, 0x94, 0xd1, 0xd2, 0x94, 0xae, 0xfe, 0xd2, 0x16, 0x45, 0x67, 0xfe, 0xdd, 0xce, 0x0, 0x1, 0x1, 0x44, 0xfe, 0xff, 0x4, 0x58, 0x5, 0xda, 0x0, 0x1e, 0x0, 0x0, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x26, 0x27, 0x26, 0x35, 0x10, 0x25, 0x36, 0x37, 0x36, 0x17, 0x6, 0x7, 0x6, 0x15, 0x10, 0x17, 0x16, 0x17, 0x6, 0x27, 0x15, 0x21, 0x15, 0x3, 0x48, 0xb4, 0xfe, 0xf0, 0x1, 0x10, 0x9c, 0x66, 0x4e, 0x1, 0x29, 0x5d, 0xae, 0x48, 0x3b, 0xcb, 0x62, 0x74, 0xfa, 0x57, 0x55, 0x4a, 0x6e, 0x1, 0x10, 0xfe, 0xff, 0x1, 0x1, 0x7c, 0x1, 0x33, 0x4c, 0x98, 0x75, 0xa1, 0x1, 0x2e, 0xb9, 0x3a, 0x10, 0x7, 0x17, 0x3b, 0x85, 0x9d, 0xc4, 0xfe, 0xcd, 0xa2, 0x38, 0xf, 0x25, 0x13, 0xff, 0x7c, 0x0, 0x0, 0x0, 0x3, 0x0, 0x56, 0x0, 0x8, 0x6, 0x5e, 0x4, 0x6d, 0x0, 0xf, 0x0, 0x1d, 0x0, 0x33, 0x0, 0x0, 0x13, 0x15, 0x14, 0x17, 0x16, 0x20, 0x37, 0x36, 0x3d, 0x1, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x0, 0x20, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x20, 0x37, 0x36, 0x35, 0x34, 0x27, 0x37, 0x1e, 0x1, 0x15, 0x11, 0x14, 0x6, 0x7, 0x6, 0x21, 0x20, 0x27, 0x2e, 0x1, 0x35, 0x11, 0x34, 0x36, 0x37, 0x36, 0x21, 0x20, 0xba, 0xab, 0xce, 0x2, 0x4e, 0xce, 0xab, 0x2e, 0x38, 0xf0, 0xfd, 0x6c, 0xed, 0x3f, 0x3, 0x9d, 0xfd, 0xb2, 0xce, 0xab, 0xab, 0xce, 0x2, 0x4e, 0xce, 0xab, 0xab, 0x2c, 0x73, 0x70, 0x70, 0x70, 0xe6, 0xfe, 0xc2, 0xfe, 0xc7, 0xe8, 0x73, 0x70, 0x70, 0x70, 0xe6, 0x1, 0x3e, 0x1, 0x39, 0x2, 0x1d, 0x93, 0x60, 0x56, 0x68, 0x68, 0x56, 0x60, 0x92, 0x22, 0x1c, 0x78, 0x78, 0x20, 0x2, 0xb, 0x68, 0x56, 0x63, 0x60, 0x56, 0x68, 0x68, 0x56, 0x60, 0x63, 0x56, 0x59, 0x39, 0x88, 0x51, 0xfe, 0xa2, 0x4e, 0x88, 0x39, 0x73, 0x73, 0x39, 0x88, 0x4e, 0x1, 0x5e, 0x51, 0x88, 0x39, 0x73, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x56, 0x0, 0x8, 0x6, 0x5e, 0x5, 0xcb, 0x0, 0xd, 0x0, 0x1d, 0x0, 0x2d, 0x0, 0x45, 0x0, 0x0, 0x0, 0x20, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x20, 0x37, 0x36, 0x35, 0x34, 0x27, 0x1, 0x15, 0x14, 0x17, 0x16, 0x20, 0x37, 0x36, 0x3d, 0x1, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x3, 0x15, 0x14, 0x17, 0x16, 0x20, 0x37, 0x36, 0x3d, 0x1, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x1, 0x1e, 0x1, 0x15, 0x19, 0x1, 0x14, 0x6, 0x7, 0x6, 0x21, 0x20, 0x27, 0x2e, 0x1, 0x35, 0x19, 0x1, 0x34, 0x36, 0x37, 0x36, 0x21, 0x20, 0x4, 0x81, 0xfd, 0xb2, 0xce, 0xab, 0xab, 0xce, 0x2, 0x4e, 0xce, 0xab, 0xab, 0xfb, 0x6b, 0xab, 0xce, 0x2, 0x4e, 0xce, 0xab, 0x2e, 0x38, 0xf0, 0xfd, 0x6c, 0xed, 0x3f, 0x2a, 0xab, 0xce, 0x2, 0x4e, 0xce, 0xab, 0x2e, 0x38, 0xf0, 0xfd, 0x6c, 0xed, 0x3f, 0x4, 0x97, 0x73, 0x70, 0x70, 0x70, 0xe6, 0xfe, 0xc2, 0xfe, 0xc7, 0xe8, 0x73, 0x70, 0x70, 0x70, 0xe6, 0x1, 0x3e, 0x1, 0x39, 0x5, 0x67, 0x68, 0x56, 0x63, 0x60, 0x56, 0x68, 0x68, 0x56, 0x60, 0x63, 0x56, 0xfe, 0x7c, 0x93, 0x60, 0x56, 0x68, 0x68, 0x56, 0x60, 0x92, 0x22, 0x1c, 0x78, 0x78, 0x20, 0xfe, 0xc1, 0x93, 0x60, 0x56, 0x68, 0x68, 0x56, 0x60, 0x92, 0x22, 0x1c, 0x78, 0x78, 0x20, 0x3, 0x5a, 0x39, 0x88, 0x51, 0xfe, 0xa2, 0xfe, 0xa2, 0x4e, 0x88, 0x39, 0x73, 0x73, 0x39, 0x88, 0x4e, 0x1, 0x5e, 0x1, 0x5e, 0x51, 0x88, 0x39, 0x73, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x56, 0x0, 0x8, 0x6, 0x5e, 0x4, 0x6d, 0x0, 0xb, 0x0, 0x21, 0x0, 0x31, 0x0, 0x3f, 0x0, 0x55, 0x0, 0x0, 0x1, 0x6, 0x7, 0x6, 0x21, 0x20, 0x27, 0x26, 0x27, 0x16, 0x21, 0x20, 0x0, 0x20, 0x17, 0x16, 0x17, 0x16, 0x15, 0x6, 0x7, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x27, 0x26, 0x37, 0x36, 0x37, 0x36, 0x37, 0x3, 0x15, 0x14, 0x17, 0x16, 0x20, 0x37, 0x36, 0x3d, 0x1, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x0, 0x20, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x20, 0x37, 0x36, 0x35, 0x34, 0x27, 0x37, 0x1e, 0x1, 0x15, 0x11, 0x14, 0x6, 0x7, 0x6, 0x21, 0x20, 0x27, 0x2e, 0x1, 0x35, 0x11, 0x34, 0x36, 0x37, 0x36, 0x21, 0x20, 0x5, 0x78, 0x1f, 0x38, 0xb8, 0xfe, 0xf1, 0xfe, 0xef, 0xb6, 0x3b, 0x1e, 0xec, 0x1, 0x34, 0x1, 0x31, 0xfd, 0xc0, 0x2, 0x20, 0xb6, 0x3a, 0x1f, 0x1c, 0x2, 0x1a, 0x1f, 0x3a, 0xb8, 0xfd, 0xe0, 0xb6, 0x3b, 0x1e, 0x1d, 0x1, 0x1, 0x1b, 0x20, 0x39, 0xd9, 0xab, 0xce, 0x2, 0x4e, 0xce, 0xab, 0x2e, 0x38, 0xf0, 0xfd, 0x6c, 0xed, 0x3f, 0x3, 0x9d, 0xfd, 0xb2, 0xce, 0xab, 0xab, 0xce, 0x2, 0x4e, 0xce, 0xab, 0xab, 0x2c, 0x73, 0x70, 0x70, 0x70, 0xe6, 0xfe, 0xc2, 0xfe, 0xc7, 0xe8, 0x73, 0x70, 0x70, 0x70, 0xe6, 0x1, 0x3e, 0x1, 0x39, 0x1, 0x64, 0x1b, 0x1c, 0x5d, 0x5d, 0x1e, 0x1a, 0x63, 0x2, 0xa3, 0x5d, 0x1d, 0x1c, 0x19, 0xe, 0xe, 0x16, 0x1c, 0x1d, 0x5d, 0x5d, 0x1e, 0x1b, 0x18, 0xc, 0xf, 0x18, 0x1c, 0x1d, 0xfe, 0xd5, 0x93, 0x60, 0x56, 0x68, 0x68, 0x56, 0x60, 0x92, 0x22, 0x1c, 0x78, 0x78, 0x20, 0x2, 0xb, 0x68, 0x56, 0x63, 0x60, 0x56, 0x68, 0x68, 0x56, 0x60, 0x63, 0x56, 0x59, 0x39, 0x88, 0x51, 0xfe, 0xa2, 0x4e, 0x88, 0x39, 0x73, 0x73, 0x39, 0x88, 0x4e, 0x1, 0x5e, 0x51, 0x88, 0x39, 0x73, 0x0, 0x0, 0x0, 0x7, 0x0, 0x56, 0x0, 0x8, 0x6, 0x5e, 0x5, 0xcb, 0x0, 0x15, 0x0, 0x21, 0x0, 0x2d, 0x0, 0x3b, 0x0, 0x4b, 0x0, 0x5b, 0x0, 0x73, 0x0, 0x0, 0x0, 0x20, 0x17, 0x16, 0x17, 0x16, 0x15, 0x6, 0x7, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x27, 0x26, 0x37, 0x36, 0x37, 0x36, 0x37, 0x1, 0x6, 0x7, 0x6, 0x21, 0x20, 0x27, 0x26, 0x27, 0x16, 0x21, 0x20, 0x17, 0x6, 0x7, 0x6, 0x21, 0x20, 0x27, 0x26, 0x27, 0x16, 0x21, 0x20, 0x2, 0x20, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x20, 0x37, 0x36, 0x35, 0x34, 0x27, 0x1, 0x15, 0x14, 0x17, 0x16, 0x20, 0x37, 0x36, 0x3d, 0x1, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x3, 0x15, 0x14, 0x17, 0x16, 0x20, 0x37, 0x36, 0x3d, 0x1, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x1, 0x1e, 0x1, 0x15, 0x19, 0x1, 0x14, 0x6, 0x7, 0x6, 0x21, 0x20, 0x27, 0x2e, 0x1, 0x35, 0x19, 0x1, 0x34, 0x36, 0x37, 0x36, 0x21, 0x20, 0x2, 0x4b, 0x2, 0x20, 0xb6, 0x3a, 0x1f, 0x1c, 0x2, 0x1a, 0x1f, 0x3a, 0xb8, 0xfd, 0xe0, 0xb6, 0x3b, 0x1e, 0x1d, 0x1, 0x1, 0x1b, 0x20, 0x39, 0x3, 0xe5, 0x1f, 0x38, 0xb8, 0xfe, 0xf1, 0xfe, 0xef, 0xb6, 0x3b, 0x1e, 0xec, 0x1, 0x34, 0x1, 0x31, 0xed, 0x1f, 0x38, 0xb8, 0xfe, 0xf1, 0xfe, 0xef, 0xb6, 0x3b, 0x1e, 0xec, 0x1, 0x34, 0x1, 0x31, 0xa, 0xfd, 0xb2, 0xce, 0xab, 0xab, 0xce, 0x2, 0x4e, 0xce, 0xab, 0xab, 0xfb, 0x6b, 0xab, 0xce, 0x2, 0x4e, 0xce, 0xab, 0x2e, 0x38, 0xf0, 0xfd, 0x6c, 0xed, 0x3f, 0x2a, 0xab, 0xce, 0x2, 0x4e, 0xce, 0xab, 0x2e, 0x38, 0xf0, 0xfd, 0x6c, 0xed, 0x3f, 0x4, 0x97, 0x73, 0x70, 0x70, 0x70, 0xe6, 0xfe, 0xc2, 0xfe, 0xc7, 0xe8, 0x73, 0x70, 0x70, 0x70, 0xe6, 0x1, 0x3e, 0x1, 0x39, 0x5, 0x3, 0x5d, 0x1d, 0x1c, 0x19, 0xe, 0xe, 0x16, 0x1c, 0x1d, 0x5d, 0x5d, 0x1e, 0x1b, 0x18, 0xc, 0xf, 0x18, 0x1c, 0x1d, 0xfe, 0x1c, 0x1b, 0x1c, 0x5d, 0x5d, 0x1e, 0x1a, 0x63, 0xfc, 0x1b, 0x1c, 0x5d, 0x5d, 0x1e, 0x1a, 0x63, 0x4, 0x65, 0x68, 0x56, 0x63, 0x60, 0x56, 0x68, 0x68, 0x56, 0x60, 0x63, 0x56, 0xfe, 0x7c, 0x93, 0x60, 0x56, 0x68, 0x68, 0x56, 0x60, 0x92, 0x22, 0x1c, 0x78, 0x78, 0x20, 0xfe, 0xc1, 0x93, 0x60, 0x56, 0x68, 0x68, 0x56, 0x60, 0x92, 0x22, 0x1c, 0x78, 0x78, 0x20, 0x3, 0x5a, 0x39, 0x88, 0x51, 0xfe, 0xa2, 0xfe, 0xa2, 0x4e, 0x88, 0x39, 0x73, 0x73, 0x39, 0x88, 0x4e, 0x1, 0x5e, 0x1, 0x5e, 0x51, 0x88, 0x39, 0x73, 0x0, 0x0, 0x3, 0x0, 0xaf, 0xff, 0xe3, 0x5, 0x2d, 0x6, 0xbe, 0x0, 0xb, 0x0, 0x20, 0x0, 0x2c, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x13, 0x16, 0x17, 0x16, 0x15, 0x14, 0x0, 0x23, 0x22, 0x0, 0x10, 0x37, 0x36, 0x37, 0x3, 0x1, 0x27, 0x9, 0x1, 0x15, 0x1, 0x3, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x2, 0xee, 0x40, 0x61, 0x5e, 0x43, 0x46, 0x5b, 0x5e, 0x17, 0xb5, 0x87, 0xa9, 0xfe, 0xb0, 0xef, 0xec, 0xfe, 0xad, 0xa9, 0x88, 0xb4, 0x1, 0xfe, 0xf9, 0x1, 0x1, 0x63, 0x1, 0x63, 0xfe, 0xf7, 0x5a, 0xa4, 0xe7, 0xe7, 0xa4, 0xa1, 0xea, 0xea, 0x1, 0x7d, 0x5b, 0x44, 0x3e, 0x58, 0x55, 0x41, 0x42, 0x5d, 0x2, 0xbb, 0x11, 0x7e, 0x9d, 0xee, 0xef, 0xfe, 0xb4, 0x1, 0x4c, 0x1, 0xde, 0x9c, 0x7e, 0x12, 0x1, 0x67, 0xfe, 0xfa, 0xc7, 0x1, 0x5d, 0xfe, 0xa3, 0xc7, 0x1, 0x5, 0xfa, 0xf7, 0xe4, 0xa4, 0xa3, 0xd8, 0xd8, 0xa3, 0xa4, 0xe4, 0x0, 0x0, 0x3, 0x0, 0x16, 0x1, 0x85, 0x6, 0x6c, 0x5, 0x14, 0x0, 0x50, 0x0, 0x6a, 0x0, 0x85, 0x0, 0x0, 0x1, 0x27, 0x23, 0x22, 0x27, 0x26, 0x7, 0x6, 0x14, 0x7, 0xe, 0x1, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x3e, 0x1, 0x37, 0x36, 0x33, 0x32, 0x1f, 0x1, 0x16, 0x33, 0x32, 0x37, 0x3e, 0x1, 0x37, 0x36, 0x26, 0x27, 0x26, 0x27, 0x26, 0x2f, 0x1, 0x26, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x3e, 0x1, 0x37, 0x36, 0x32, 0x16, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0xe, 0x1, 0x7, 0x6, 0x17, 0x16, 0x1f, 0x1, 0x21, 0x32, 0x17, 0x16, 0x17, 0x21, 0x17, 0x25, 0x16, 0x33, 0x32, 0x37, 0x3e, 0x1, 0x37, 0x36, 0x34, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x23, 0x22, 0x7, 0xe, 0x1, 0x7, 0x6, 0x14, 0x17, 0x1e, 0x1, 0x1, 0x26, 0x23, 0x22, 0x7, 0xe, 0x1, 0x7, 0x6, 0x14, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x33, 0x32, 0x37, 0x3e, 0x1, 0x37, 0x36, 0x34, 0x27, 0x26, 0x27, 0x26, 0x3, 0xcd, 0xd6, 0x73, 0xae, 0x1c, 0x2a, 0x3, 0x2, 0x9, 0xd, 0x30, 0x24, 0x1c, 0x2b, 0x24, 0x24, 0x24, 0x1a, 0x15, 0x17, 0x12, 0xc, 0xd, 0x31, 0x23, 0x1d, 0x2a, 0x23, 0x9, 0x5a, 0x61, 0x5a, 0x25, 0xe, 0x16, 0x25, 0x3, 0x3, 0x7, 0xd, 0xc, 0x16, 0x4e, 0x54, 0x31, 0x32, 0x19, 0x1c, 0xf, 0x13, 0xc, 0xd, 0x34, 0x20, 0x23, 0x48, 0x48, 0x1a, 0x1f, 0xd, 0x12, 0xc, 0x9, 0x1e, 0x3, 0x5, 0x22, 0x29, 0x6d, 0x52, 0x1, 0x8b, 0xe8, 0x4f, 0x65, 0x11, 0xfd, 0x62, 0xd5, 0xfc, 0xd, 0x15, 0x14, 0x18, 0x10, 0x15, 0x1d, 0x5, 0x5, 0xc, 0xa, 0xf, 0x11, 0x2c, 0x11, 0x14, 0x14, 0x15, 0x1a, 0x7, 0x6, 0xd, 0xa, 0x1e, 0x1, 0x30, 0x12, 0x17, 0x1c, 0xc, 0x15, 0x1e, 0x4, 0x5, 0xc, 0xa, 0xf, 0xf, 0x2b, 0x14, 0x17, 0x11, 0x15, 0x1c, 0x5, 0x6, 0xd, 0xa, 0xf, 0xb, 0x1, 0x85, 0xcd, 0x6, 0x8, 0xd, 0x8, 0x29, 0x17, 0x20, 0x2e, 0xd, 0xb, 0xf, 0xe, 0x19, 0x15, 0x24, 0x1d, 0x4a, 0x1e, 0x20, 0x2e, 0xd, 0xb, 0x3, 0x25, 0x27, 0x3, 0x5, 0x1c, 0x7, 0x8, 0x2e, 0x13, 0x13, 0x13, 0x44, 0x22, 0x14, 0x14, 0x18, 0x1b, 0x1e, 0x26, 0x42, 0x1d, 0x20, 0x31, 0xa, 0xb, 0x1e, 0x18, 0x1e, 0x1c, 0x24, 0x43, 0x1e, 0x17, 0x1d, 0x7, 0xd, 0x16, 0x1a, 0x6d, 0x52, 0x20, 0x29, 0x4b, 0xcf, 0x79, 0x9, 0x5, 0x7, 0x18, 0x10, 0x11, 0x1f, 0x17, 0x12, 0xd, 0x10, 0x10, 0x6, 0x6, 0x17, 0x11, 0x11, 0x20, 0x16, 0x12, 0x1c, 0x2, 0xb5, 0x9, 0x5, 0x7, 0x19, 0xf, 0x11, 0x21, 0x15, 0x12, 0xe, 0xd, 0x12, 0x5, 0x7, 0x19, 0xe, 0x12, 0x20, 0x16, 0x12, 0xe, 0x9, 0x0, 0x0, 0x3, 0x0, 0x56, 0x1, 0x21, 0x6, 0x45, 0x4, 0xb5, 0x0, 0x15, 0x0, 0x64, 0x0, 0x7a, 0x0, 0x0, 0x12, 0x32, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x27, 0x2e, 0x1, 0x22, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x16, 0x1, 0x5, 0x6, 0x23, 0x22, 0x27, 0x25, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x15, 0x14, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x3b, 0x1, 0x32, 0x37, 0x3e, 0x2, 0x34, 0x2e, 0x1, 0x27, 0x26, 0x2b, 0x1, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x15, 0x14, 0x16, 0x1f, 0x1, 0x25, 0x36, 0x33, 0x32, 0x17, 0x24, 0x22, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x1e, 0x1, 0x32, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x27, 0x26, 0xfd, 0x2e, 0x26, 0x10, 0x11, 0x10, 0x10, 0x11, 0x10, 0x26, 0x2e, 0x26, 0x10, 0x11, 0x10, 0x10, 0x11, 0x10, 0x3, 0x1, 0x2, 0x6d, 0x2c, 0x6d, 0x51, 0xdb, 0xfe, 0x91, 0x6a, 0x96, 0x50, 0x11, 0x1c, 0x1c, 0x16, 0x28, 0x21, 0x4e, 0x21, 0x22, 0x1c, 0x1a, 0x1e, 0x1c, 0x1c, 0x16, 0x28, 0x21, 0x9, 0x61, 0x56, 0x66, 0x1b, 0x26, 0x18, 0x18, 0x26, 0x1b, 0x62, 0x5a, 0x35, 0x35, 0x21, 0x28, 0x16, 0x1c, 0x1c, 0x1e, 0x1a, 0x1c, 0x22, 0x21, 0x4e, 0x21, 0x28, 0x16, 0x1c, 0x1c, 0x11, 0x50, 0x96, 0x6a, 0x1, 0x6f, 0xdb, 0x51, 0x6d, 0x2c, 0xfa, 0xe6, 0x2e, 0x26, 0x10, 0x11, 0x10, 0x10, 0x11, 0x10, 0x26, 0x2e, 0x26, 0x10, 0x11, 0x10, 0x10, 0x11, 0x10, 0x1, 0x71, 0xe, 0xd, 0xe, 0x1f, 0x13, 0x12, 0x1f, 0xe, 0xd, 0xe, 0xe, 0xd, 0xe, 0x1f, 0x12, 0x13, 0x1f, 0xe, 0xd, 0x1, 0x6c, 0xfc, 0x3f, 0x57, 0x92, 0x2c, 0x3e, 0xe, 0xe, 0x8, 0x26, 0x19, 0x23, 0x3c, 0x1a, 0x15, 0x10, 0xd, 0xd, 0xe, 0x17, 0x15, 0x41, 0x23, 0x22, 0x3c, 0x1a, 0x15, 0x10, 0xd, 0x22, 0x9, 0x1a, 0x28, 0x10, 0x28, 0x1a, 0x9, 0x22, 0xd, 0x10, 0x15, 0x1a, 0x3c, 0x22, 0x23, 0x41, 0x15, 0x17, 0xe, 0xd, 0xd, 0x10, 0x15, 0x1a, 0x3c, 0x23, 0x19, 0x26, 0x8, 0xe, 0xe, 0x3e, 0x2c, 0x92, 0x57, 0x3f, 0x7e, 0xe, 0xd, 0xe, 0x1f, 0x13, 0x12, 0x1f, 0xe, 0xd, 0xe, 0xe, 0xd, 0xe, 0x1f, 0x12, 0x13, 0x1f, 0xe, 0xd, 0x0, 0x3, 0x0, 0x16, 0x0, 0xc0, 0x6, 0x6c, 0x4, 0x4f, 0x0, 0x4f, 0x0, 0x6a, 0x0, 0x85, 0x0, 0x0, 0x1, 0x33, 0x7, 0x21, 0x6, 0x7, 0x6, 0x23, 0x21, 0x7, 0x6, 0x7, 0x6, 0x15, 0x14, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x22, 0x27, 0x2e, 0x1, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x3f, 0x1, 0x36, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x27, 0x2e, 0x1, 0x27, 0x26, 0x23, 0x22, 0xf, 0x1, 0x6, 0x23, 0x22, 0x27, 0x2e, 0x1, 0x27, 0x26, 0x34, 0x37, 0x3e, 0x1, 0x37, 0x36, 0x33, 0x32, 0x17, 0x1e, 0x1, 0x17, 0x16, 0x14, 0x17, 0x16, 0x37, 0x36, 0x3b, 0x1, 0x25, 0x6, 0x7, 0x6, 0x7, 0x6, 0x14, 0x17, 0x1e, 0x1, 0x17, 0x16, 0x33, 0x32, 0x36, 0x37, 0x36, 0x37, 0x36, 0x34, 0x27, 0x2e, 0x1, 0x27, 0x26, 0x23, 0x22, 0x1, 0x36, 0x37, 0x36, 0x37, 0x36, 0x34, 0x27, 0x2e, 0x1, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x6, 0x7, 0x6, 0x14, 0x17, 0x1e, 0x1, 0x17, 0x16, 0x33, 0x32, 0x3, 0xcd, 0xd6, 0xd5, 0x2, 0x9e, 0x11, 0x65, 0x4f, 0xe8, 0xfe, 0x75, 0x52, 0x64, 0x32, 0x1d, 0x21, 0x9, 0xc, 0x12, 0xd, 0x1f, 0x1a, 0x48, 0x48, 0x23, 0x20, 0x37, 0xa, 0xc, 0x13, 0xc, 0x1f, 0x19, 0x9, 0x5a, 0x54, 0x4e, 0x16, 0xc, 0xd, 0x7, 0x3, 0x3, 0x1d, 0x1e, 0x8, 0x2b, 0x5a, 0x61, 0x32, 0x31, 0x23, 0x2b, 0x1c, 0x24, 0x30, 0xd, 0xc, 0x12, 0x12, 0x34, 0x24, 0x24, 0x24, 0x2b, 0x1c, 0x24, 0x30, 0xd, 0x9, 0x2, 0x6, 0x27, 0x19, 0xb1, 0x73, 0xfd, 0xb9, 0x15, 0xf, 0x9, 0x10, 0xd, 0x6, 0x7, 0x17, 0x18, 0x11, 0x17, 0x15, 0x2a, 0xf, 0xf, 0xa, 0xd, 0x6, 0x7, 0x16, 0x1a, 0x11, 0x17, 0x14, 0x1, 0x6, 0x15, 0xf, 0x9, 0x10, 0xd, 0x6, 0x7, 0x1c, 0x13, 0x12, 0x16, 0x15, 0x2a, 0xf, 0xf, 0xa, 0xc, 0x5, 0x7, 0x1e, 0x12, 0x14, 0x14, 0xe, 0x4, 0x4f, 0xcf, 0x4b, 0x29, 0x20, 0x52, 0x64, 0x23, 0x14, 0xf, 0x6, 0x1e, 0x17, 0x21, 0x3e, 0x26, 0x1c, 0x1e, 0x18, 0x1e, 0xb, 0xa, 0x33, 0x1e, 0x22, 0x39, 0x2a, 0x1b, 0x1e, 0x18, 0x4, 0x24, 0x22, 0x44, 0x13, 0x13, 0x13, 0x2e, 0x8, 0x7, 0x16, 0xb, 0x3, 0x27, 0x14, 0x14, 0xb, 0xe, 0x2d, 0x20, 0x20, 0x44, 0x21, 0x20, 0x32, 0xe, 0xf, 0xb, 0xd, 0x2e, 0x20, 0x17, 0x2c, 0x5, 0xe, 0x9, 0x6, 0x54, 0x8, 0xe, 0x8, 0x18, 0x13, 0x25, 0xf, 0x11, 0x15, 0x8, 0x6, 0x12, 0xe, 0xd, 0x12, 0x16, 0x23, 0xe, 0x12, 0x15, 0x8, 0x5, 0xfd, 0x3a, 0x9, 0xd, 0x8, 0x18, 0x13, 0x26, 0xf, 0x10, 0x19, 0x5, 0x5, 0x12, 0xd, 0xe, 0x12, 0x13, 0x28, 0xc, 0x11, 0x19, 0x5, 0x5, 0x0, 0x9, 0x0, 0x49, 0x0, 0xf4, 0x6, 0x98, 0x4, 0xe8, 0x0, 0x5a, 0x0, 0x78, 0x0, 0x96, 0x0, 0xb4, 0x0, 0xd2, 0x0, 0xfe, 0x1, 0x2d, 0x1, 0x34, 0x1, 0x48, 0x0, 0x0, 0x1, 0x36, 0x37, 0x26, 0x27, 0x26, 0x27, 0x26, 0x2b, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x16, 0x1f, 0x1, 0x25, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0xd, 0x1, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x25, 0x7, 0x6, 0x7, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x3b, 0x1, 0x32, 0x37, 0x36, 0x0, 0x32, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x22, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x17, 0x12, 0x32, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x22, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x17, 0x12, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x2, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x5, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x22, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x3b, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x37, 0x36, 0x3, 0x2d, 0x1, 0x26, 0x23, 0x22, 0x7, 0x5, 0x6, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x2b, 0x1, 0x22, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x25, 0x5, 0x16, 0x33, 0x32, 0x37, 0x25, 0x26, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x2, 0x49, 0xb, 0x7, 0x7, 0xb, 0x9, 0x19, 0x51, 0x5c, 0x43, 0x2d, 0x2d, 0x25, 0x28, 0x22, 0x13, 0x12, 0x12, 0x10, 0x28, 0x1b, 0x2f, 0x2a, 0x30, 0x2e, 0x2c, 0x2b, 0x22, 0x28, 0xd, 0x12, 0x6, 0x2f, 0x8e, 0x58, 0x1, 0x5d, 0xe2, 0x5c, 0x88, 0x39, 0x8, 0x1e, 0xfe, 0x2, 0x1, 0xfe, 0x1e, 0x8, 0x3c, 0x85, 0x5c, 0xe2, 0xfe, 0xa3, 0x58, 0x8e, 0x2f, 0x6, 0x12, 0x13, 0x22, 0x24, 0x29, 0x30, 0x2a, 0x33, 0x27, 0x29, 0x22, 0x2a, 0xd, 0x12, 0x12, 0x10, 0x25, 0x1c, 0x31, 0x2a, 0x30, 0x43, 0x52, 0x5b, 0x17, 0xfe, 0xeb, 0x1c, 0xb, 0xc, 0x9, 0xa, 0x3, 0x3, 0x3, 0x3, 0xa, 0x9, 0xc, 0xb, 0x1c, 0xb, 0xc, 0x9, 0xa, 0x3, 0x3, 0x3, 0x3, 0xa, 0x9, 0xc, 0xb, 0x1c, 0xb, 0xc, 0x9, 0xa, 0x3, 0x3, 0x3, 0x3, 0xa, 0x9, 0xc, 0xb, 0x1c, 0xb, 0xc, 0x9, 0xa, 0x3, 0x3, 0x3, 0x3, 0xa, 0x9, 0xc, 0x32, 0x32, 0x15, 0x15, 0x11, 0x13, 0x9, 0x9, 0x9, 0x9, 0x13, 0x11, 0x15, 0x15, 0x32, 0x15, 0x15, 0x11, 0x13, 0x9, 0x9, 0x9, 0x9, 0x13, 0x11, 0x15, 0x15, 0x32, 0x15, 0x15, 0x11, 0x13, 0x9, 0x9, 0x9, 0x9, 0x13, 0x11, 0x15, 0x15, 0x32, 0x15, 0x15, 0x11, 0x13, 0x9, 0x9, 0x9, 0x9, 0x13, 0x11, 0x15, 0x1, 0x86, 0x25, 0x95, 0x27, 0x16, 0xb, 0x10, 0xb, 0x6, 0xd, 0xd, 0x1b, 0x14, 0x26, 0x1f, 0x4a, 0x1f, 0x20, 0x1b, 0x18, 0xf, 0xd, 0xd, 0xd, 0x1b, 0x14, 0x26, 0x1f, 0x25, 0x43, 0x5c, 0x64, 0x1e, 0x12, 0x17, 0x7, 0x23, 0x1c, 0xbd, 0x1, 0xed, 0x2, 0x5f, 0x2a, 0x5d, 0x4f, 0xd9, 0xfe, 0x91, 0x94, 0x12, 0x11, 0x17, 0x14, 0x1c, 0x68, 0x58, 0x43, 0x25, 0x1f, 0x26, 0x14, 0x1b, 0xd, 0xd, 0xd, 0xf, 0x18, 0x1b, 0x20, 0x1f, 0x4a, 0x1f, 0x26, 0x14, 0x1b, 0xd, 0xd, 0x6, 0xb, 0x10, 0xc, 0x1, 0x93, 0x1, 0x1f, 0xd9, 0x4f, 0x5d, 0x2a, 0xfd, 0xdd, 0xd9, 0x5, 0x6, 0x9, 0x9, 0x16, 0x9, 0x9, 0x6, 0x5, 0x5, 0x6, 0x9, 0x9, 0x16, 0x9, 0x9, 0x6, 0x2, 0xd9, 0x8, 0xd, 0xe, 0x7, 0x6, 0xa, 0x20, 0x10, 0xd, 0x22, 0x1c, 0x29, 0x26, 0x60, 0x26, 0x22, 0x27, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1f, 0x24, 0x22, 0x2f, 0x27, 0x1d, 0x12, 0x9, 0x3c, 0x25, 0x8b, 0x5a, 0x53, 0xd, 0x11, 0x1f, 0xc, 0xcf, 0xcf, 0xc, 0x25, 0xd, 0xb, 0x53, 0x5a, 0x8b, 0x25, 0x3c, 0x9, 0x18, 0x17, 0x2f, 0x27, 0x2a, 0x1d, 0x20, 0xe, 0x10, 0x10, 0x11, 0x1c, 0x22, 0x25, 0x35, 0x22, 0x2d, 0x28, 0x24, 0x23, 0x1b, 0x13, 0x10, 0x20, 0x9, 0xfe, 0xd2, 0x4, 0x5, 0x8, 0x7, 0x7, 0x4, 0x8, 0x7, 0x5, 0x6, 0x8, 0x7, 0x5, 0x4, 0x4, 0x5, 0x8, 0x7, 0x7, 0x4, 0x7, 0x8, 0x5, 0x6, 0x8, 0x7, 0x5, 0x2, 0x3b, 0x4, 0x5, 0x8, 0x7, 0x7, 0x4, 0x7, 0x8, 0x5, 0x6, 0x8, 0x7, 0x5, 0x4, 0x4, 0x5, 0x8, 0x7, 0x7, 0x4, 0x8, 0x7, 0x5, 0x6, 0x8, 0x7, 0x5, 0xfd, 0x82, 0x7, 0x8, 0xe, 0x10, 0x11, 0x12, 0x16, 0x15, 0x12, 0x11, 0x10, 0xe, 0x8, 0x7, 0x7, 0x8, 0xe, 0x10, 0x11, 0x12, 0x15, 0x16, 0x12, 0x11, 0x10, 0xe, 0x8, 0x2, 0x38, 0x7, 0x8, 0xe, 0x10, 0x11, 0x12, 0x15, 0x16, 0x12, 0x11, 0x10, 0xe, 0x8, 0x7, 0x7, 0x8, 0xe, 0x10, 0x11, 0x12, 0x16, 0x15, 0x12, 0x11, 0x10, 0xe, 0x8, 0x5c, 0xf, 0x3d, 0x7, 0x4, 0x6, 0x8, 0xe, 0xa, 0x18, 0xe, 0x17, 0x21, 0x1c, 0x1b, 0x19, 0x13, 0x10, 0xc, 0xc, 0xe, 0x16, 0x13, 0x20, 0x1c, 0x21, 0x20, 0x1c, 0x1b, 0x19, 0x13, 0x10, 0xc, 0x22, 0xa, 0xe, 0x11, 0x8, 0x18, 0x11, 0xfe, 0xf2, 0xc2, 0xf7, 0x2f, 0x56, 0x92, 0x43, 0x1e, 0x1e, 0xf, 0xe, 0xa, 0x22, 0xc, 0x10, 0x13, 0x19, 0x1b, 0x1c, 0x20, 0x21, 0x1c, 0x20, 0x13, 0x16, 0xe, 0xc, 0xc, 0x10, 0x13, 0x19, 0x1b, 0x1c, 0x21, 0x17, 0xd, 0x19, 0xa, 0x14, 0x2, 0x2, 0x5b, 0x75, 0x56, 0x2f, 0xe1, 0x2b, 0x16, 0x9, 0x9, 0x6, 0x5, 0x5, 0x6, 0x9, 0x9, 0x16, 0x9, 0x9, 0x6, 0x5, 0x5, 0x6, 0x9, 0x0, 0x0, 0x3, 0x0, 0x56, 0xff, 0xe3, 0x6, 0x5e, 0x5, 0xf0, 0x0, 0x61, 0x0, 0x75, 0x0, 0x87, 0x0, 0x0, 0x1, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x15, 0x26, 0x2, 0x35, 0x34, 0x12, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x12, 0x15, 0x14, 0x2, 0x7, 0x6, 0x7, 0x6, 0x20, 0x27, 0x2e, 0x2, 0x35, 0x34, 0x36, 0x37, 0x26, 0x35, 0x34, 0x37, 0x12, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x7, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x17, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x16, 0x17, 0x16, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x1, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x36, 0x37, 0x36, 0x35, 0x34, 0x2, 0x13, 0x3, 0xc, 0x15, 0x13, 0x14, 0x18, 0x6f, 0x1, 0x1b, 0x7a, 0x77, 0x62, 0x64, 0x61, 0x5f, 0x66, 0x5f, 0x7a, 0x78, 0x8a, 0x86, 0x7c, 0x77, 0x62, 0x64, 0x61, 0x4d, 0x2c, 0x6b, 0x72, 0x6e, 0x75, 0x6c, 0x8d, 0x8c, 0x9c, 0x9a, 0x8e, 0x86, 0x73, 0x70, 0x73, 0x6e, 0x75, 0x6e, 0x8b, 0x8d, 0xfe, 0xc7, 0x8a, 0x2a, 0x44, 0x24, 0x20, 0x1c, 0x4, 0x6c, 0xb5, 0xa9, 0x51, 0x6, 0x10, 0x24, 0x22, 0x9, 0x36, 0x2a, 0x1f, 0x44, 0x3f, 0x10, 0x12, 0x16, 0x22, 0x35, 0x27, 0x12, 0x10, 0x4b, 0x18, 0x28, 0x32, 0x19, 0x17, 0x3, 0x2d, 0x6, 0x12, 0x2, 0xa, 0x13, 0x1b, 0x23, 0x20, 0x13, 0x3, 0x3, 0x1b, 0x1, 0x9e, 0x3e, 0x16, 0x10, 0x15, 0xd, 0x1e, 0xa, 0x1c, 0xa, 0x3a, 0x11, 0x1d, 0x1e, 0x1, 0x37, 0x6, 0x1e, 0x1b, 0x1c, 0x32, 0x12, 0x13, 0xb, 0x33, 0x33, 0x31, 0x63, 0x64, 0xed, 0x88, 0x8d, 0xe8, 0x69, 0x60, 0x34, 0x33, 0x33, 0x31, 0x63, 0x64, 0xed, 0x8d, 0x87, 0xbc, 0x3e, 0x98, 0x6d, 0x1, 0x10, 0x9c, 0x9d, 0x1, 0x10, 0x77, 0x6e, 0x3c, 0x3b, 0x3b, 0x38, 0x72, 0x6f, 0xfe, 0xec, 0xa1, 0x98, 0xfe, 0xf0, 0x77, 0x70, 0x3a, 0x3b, 0x3b, 0x12, 0x42, 0x56, 0x30, 0x2f, 0x4d, 0x1f, 0x10, 0xf, 0xcd, 0xef, 0x1, 0x90, 0x8, 0x14, 0x38, 0x3a, 0x44, 0x40, 0x2a, 0x1f, 0x7c, 0x73, 0x61, 0x20, 0x16, 0x1b, 0x1e, 0x9, 0x2d, 0x46, 0x28, 0x1c, 0x37, 0xc, 0x22, 0x2a, 0x3d, 0x38, 0x19, 0x26, 0x8, 0x15, 0xf, 0x30, 0x21, 0x32, 0x1d, 0x1c, 0x1, 0x6, 0x4, 0x20, 0x16, 0x11, 0xc, 0x31, 0x2d, 0x35, 0x24, 0x26, 0xc, 0xa, 0x12, 0x36, 0x3a, 0x42, 0x34, 0x0, 0x0, 0x6, 0x0, 0x56, 0xff, 0xe3, 0x6, 0x5e, 0x5, 0xf0, 0x0, 0xd, 0x0, 0x1a, 0x0, 0x28, 0x0, 0x42, 0x0, 0x5c, 0x0, 0x77, 0x0, 0x0, 0x1, 0x2e, 0x1, 0x27, 0x25, 0x6, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x13, 0x26, 0x27, 0x26, 0x22, 0x7, 0x6, 0x7, 0x13, 0x36, 0x33, 0x32, 0x17, 0x13, 0x5, 0xe, 0x1, 0x7, 0x25, 0x36, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x24, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x13, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x1e, 0x1, 0x20, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x32, 0x17, 0x16, 0x17, 0x16, 0x12, 0x15, 0x14, 0x2, 0x7, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x27, 0x26, 0x2, 0x35, 0x34, 0x12, 0x37, 0x36, 0x37, 0x36, 0x1, 0xa9, 0x3f, 0x27, 0x5, 0x1, 0x2a, 0x8, 0x26, 0x24, 0x20, 0x31, 0x14, 0x8, 0xf3, 0x24, 0x2d, 0x2b, 0x68, 0x2b, 0x2d, 0x24, 0x46, 0x33, 0x37, 0x38, 0x32, 0x88, 0x1, 0x2a, 0x2, 0x2a, 0x3f, 0xfe, 0x92, 0xe, 0xe, 0x31, 0x20, 0x24, 0x26, 0xfe, 0xe7, 0x3e, 0x1a, 0x1b, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x1b, 0x1a, 0x3e, 0x1a, 0x1b, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x1b, 0x39, 0x86, 0x7c, 0x77, 0x62, 0x64, 0x61, 0x62, 0x63, 0x60, 0xf2, 0x1, 0x11, 0x7a, 0x77, 0x62, 0x64, 0x61, 0x5f, 0x66, 0x5f, 0x7a, 0x78, 0x8a, 0x9a, 0x8e, 0x86, 0x73, 0x70, 0x73, 0x6e, 0x75, 0x6e, 0x8b, 0x8d, 0xfe, 0xcb, 0x8e, 0x86, 0x73, 0x70, 0x73, 0x6e, 0x75, 0x6c, 0x8d, 0x8c, 0x1, 0x77, 0x49, 0x5f, 0xf, 0xfd, 0x1e, 0x22, 0x32, 0x5b, 0x24, 0x20, 0x16, 0x9, 0x1, 0x1, 0xa3, 0x22, 0x14, 0x13, 0x13, 0x14, 0x22, 0x1, 0x83, 0x9, 0x9, 0xfe, 0xb, 0xfd, 0x7, 0x67, 0x49, 0x83, 0x4, 0x6, 0x16, 0x20, 0x24, 0x5b, 0x32, 0x21, 0x76, 0xb, 0xc, 0x15, 0x17, 0x35, 0x1f, 0x1e, 0x35, 0x17, 0x15, 0xc, 0xb, 0xb, 0xc, 0x15, 0x17, 0x35, 0x1e, 0x1f, 0x35, 0x17, 0x15, 0xc, 0x2, 0x15, 0x33, 0x31, 0x63, 0x64, 0xed, 0x8d, 0x85, 0xf1, 0x63, 0x61, 0x66, 0x33, 0x31, 0x63, 0x64, 0xed, 0x88, 0x8d, 0xe8, 0x69, 0x60, 0x34, 0x33, 0x64, 0x3b, 0x38, 0x72, 0x6f, 0xfe, 0xec, 0xa1, 0x98, 0xfe, 0xf0, 0x77, 0x70, 0x3a, 0x3b, 0x3b, 0x38, 0x72, 0x6f, 0x1, 0x14, 0x9c, 0x9d, 0x1, 0x10, 0x77, 0x6e, 0x3c, 0x3b, 0x0, 0x0, 0x1, 0x0, 0x78, 0x0, 0x2c, 0x6, 0x41, 0x5, 0xaa, 0x0, 0x2d, 0x0, 0x0, 0x13, 0x35, 0x37, 0x27, 0x33, 0x17, 0x36, 0x25, 0x2, 0x3, 0x33, 0x17, 0x33, 0x15, 0x23, 0x17, 0x33, 0x15, 0x23, 0x17, 0x21, 0x32, 0x17, 0x16, 0x14, 0x7, 0x6, 0x23, 0x21, 0x7, 0x33, 0x15, 0x23, 0x7, 0x33, 0x15, 0x23, 0x7, 0x23, 0x12, 0x13, 0x24, 0x27, 0x7, 0x23, 0x37, 0x94, 0x24, 0x40, 0x64, 0x92, 0x92, 0x1, 0x1e, 0x35, 0xab, 0x7b, 0x73, 0x94, 0x56, 0x64, 0x9a, 0x5d, 0x98, 0x1, 0x8, 0x46, 0x30, 0x20, 0x20, 0x30, 0x46, 0xfe, 0xf8, 0x98, 0x5d, 0x9a, 0x64, 0x56, 0x94, 0x73, 0x7b, 0xab, 0x35, 0xfe, 0xe2, 0x92, 0x92, 0x64, 0x40, 0x2, 0xd7, 0x28, 0x5, 0xda, 0xc9, 0xd, 0xa, 0x1, 0x14, 0x1, 0x6a, 0x96, 0x50, 0x82, 0x50, 0xc6, 0x1a, 0x11, 0x2c, 0x11, 0x1a, 0xc6, 0x50, 0x82, 0x50, 0x96, 0x1, 0x60, 0x1, 0x1e, 0xb, 0xc, 0xc9, 0xda, 0x0, 0x0, 0x5, 0x0, 0x84, 0x0, 0xdc, 0x6, 0x30, 0x4, 0xf9, 0x0, 0xd, 0x0, 0x14, 0x0, 0x22, 0x0, 0x29, 0x0, 0x2d, 0x0, 0x0, 0x9, 0x1, 0x21, 0x1, 0x36, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x1, 0x11, 0x1, 0x16, 0x15, 0x14, 0x5, 0x1, 0x21, 0x1, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x1, 0x11, 0x1, 0x26, 0x35, 0x34, 0x1, 0x11, 0x21, 0x11, 0x3, 0xf6, 0x1, 0xb8, 0xfb, 0x58, 0x1, 0xb8, 0x7, 0x8, 0x1d, 0x24, 0x23, 0x52, 0x23, 0x2b, 0x16, 0x8, 0x2f, 0x1, 0xae, 0xfe, 0x52, 0x3, 0xfe, 0x9f, 0xfe, 0x46, 0x4, 0xa8, 0xfe, 0x46, 0x6, 0x7, 0x1d, 0x24, 0x23, 0x52, 0x23, 0x24, 0x1d, 0x7, 0x31, 0xfe, 0x53, 0x1, 0xad, 0x3, 0xfd, 0xf2, 0x5, 0xac, 0x3, 0x68, 0x1, 0x2c, 0xfe, 0xd4, 0x9, 0x8, 0x1c, 0x10, 0xf, 0xf, 0x13, 0x19, 0x9, 0xaa, 0xfe, 0xde, 0x2, 0x8d, 0xfe, 0xdd, 0x11, 0x12, 0x13, 0x6b, 0xfe, 0xd3, 0x1, 0x2d, 0x8, 0x7, 0x1c, 0x10, 0xf, 0xf, 0x10, 0x1c, 0x7, 0xaa, 0x1, 0x22, 0xfd, 0x73, 0x1, 0x21, 0x13, 0x13, 0x12, 0xfd, 0xdf, 0x4, 0x1d, 0xfb, 0xe3, 0x0, 0x0, 0x4, 0x1, 0xb3, 0x0, 0x0, 0x4, 0x7c, 0x5, 0xef, 0x0, 0x50, 0x0, 0xd0, 0x0, 0xe3, 0x0, 0xf3, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x3f, 0x1, 0x36, 0x37, 0x36, 0x33, 0x17, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x1f, 0x1, 0x16, 0x17, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x3, 0x14, 0x15, 0x14, 0x1f, 0x1, 0x16, 0x15, 0x14, 0x7, 0x17, 0x16, 0x7, 0x6, 0x1d, 0x1, 0x21, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x27, 0x26, 0x1, 0x26, 0x23, 0x22, 0xf, 0x1, 0x6, 0xf, 0x1, 0x6, 0xf, 0x1, 0x27, 0x26, 0x2f, 0x1, 0x26, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x1f, 0x2, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x2f, 0x1, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x14, 0x7, 0x6, 0x7, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x26, 0x27, 0x26, 0x27, 0x26, 0x3f, 0x1, 0x36, 0x27, 0x26, 0x27, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x17, 0x16, 0x17, 0x16, 0x1f, 0x1, 0x16, 0x15, 0x7, 0x21, 0x27, 0x34, 0x37, 0x36, 0x3d, 0x1, 0x27, 0x36, 0x35, 0x34, 0x27, 0x26, 0x35, 0x34, 0x35, 0x13, 0x34, 0x35, 0x34, 0x27, 0x1, 0x7, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x7, 0x6, 0x7, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2f, 0x1, 0x1, 0xb3, 0x25, 0x17, 0x11, 0x34, 0xe, 0x2d, 0x2, 0x2, 0x4, 0x1a, 0x29, 0x1e, 0x14, 0x22, 0x17, 0x1b, 0x24, 0x10, 0x12, 0x30, 0x11, 0x4a, 0x4b, 0x26, 0xf, 0xe, 0x12, 0x7, 0x5, 0xa, 0x5, 0xc, 0x5, 0x1, 0x1, 0x1f, 0x1b, 0x29, 0x37, 0x1d, 0xd, 0x1, 0xa, 0x1, 0x9, 0x2, 0x2, 0x4, 0x1, 0x3, 0x1, 0x16, 0x3, 0xfd, 0xdf, 0x5, 0x9, 0x25, 0x30, 0x1b, 0x12, 0x2, 0x87, 0x3, 0x27, 0x23, 0x4, 0x5, 0x1, 0xa, 0x23, 0x5, 0x16, 0x36, 0x19, 0x9, 0x2b, 0x11, 0x2d, 0x4c, 0x1a, 0x14, 0x11, 0xe, 0x11, 0x8, 0x7, 0x1d, 0xd, 0x13, 0x5f, 0x88, 0x5f, 0x5e, 0x4, 0x14, 0x5, 0x4, 0x16, 0x12, 0x6, 0x3, 0x2f, 0x73, 0x34, 0x7, 0x2a, 0x1e, 0x13, 0xc, 0x7, 0x5, 0x3, 0x8, 0x31, 0x28, 0xd, 0x8, 0x2e, 0x32, 0x1, 0x15, 0xf, 0x1, 0x36, 0x17, 0x18, 0x36, 0x9, 0x3, 0x1c, 0x7c, 0x2f, 0x6, 0x7, 0xe, 0x2, 0x7, 0x2, 0x7, 0x7, 0xf, 0x1c, 0x28, 0xe, 0xf, 0x18, 0x11, 0x31, 0x9, 0x4, 0x2, 0xa, 0x7, 0x4, 0xa, 0x5c, 0x1, 0x1, 0x1, 0xab, 0x1, 0xc, 0xd, 0x2, 0x3, 0x9, 0x5, 0xc, 0x2, 0xfd, 0xfe, 0x11, 0x23, 0x3a, 0x37, 0x11, 0x4, 0x1, 0x11, 0xa, 0xb, 0x4, 0x2, 0xc, 0x5, 0x6, 0x6c, 0x80, 0xf, 0x3, 0x53, 0x26, 0xf, 0xb, 0x10, 0x8, 0x4, 0xc, 0x8, 0xb, 0x78, 0x2, 0xeb, 0x37, 0x31, 0x7, 0x1f, 0x5d, 0x18, 0x17, 0x1, 0x1, 0x2f, 0x7e, 0x5b, 0x23, 0x3c, 0x24, 0x1c, 0x1b, 0x20, 0x5, 0xc, 0x1a, 0x6f, 0xbb, 0x5f, 0x25, 0x15, 0x10, 0x40, 0x2c, 0x1f, 0x10, 0x86, 0x3a, 0x6, 0xb, 0xa, 0x6, 0x6, 0x24, 0x22, 0x1e, 0x3b, 0x1a, 0x12, 0x76, 0x52, 0x15, 0x12, 0xfe, 0xd4, 0x7, 0x9, 0x18, 0x1d, 0x16, 0x24, 0x58, 0x24, 0x2b, 0x7c, 0x19, 0x89, 0x13, 0x8d, 0x89, 0xb6, 0x12, 0x21, 0x35, 0x44, 0x58, 0x26, 0x50, 0x59, 0x3b, 0x2, 0xb6, 0x39, 0x44, 0x6f, 0x1e, 0x36, 0xc2, 0x1d, 0x6, 0xf, 0xb, 0xd, 0x62, 0x27, 0x6e, 0x95, 0x32, 0xf, 0xc, 0xb, 0x6, 0xb, 0x1f, 0x38, 0x1a, 0x33, 0xfe, 0x65, 0x46, 0x5d, 0xc, 0x8, 0x13, 0x4, 0x1, 0x14, 0x6, 0x7, 0x34, 0x54, 0x26, 0x3, 0x1f, 0x16, 0xa, 0x7, 0xc, 0x16, 0x26, 0x20, 0x12, 0xc, 0x2f, 0x35, 0x30, 0x24, 0x3f, 0x2d, 0x20, 0x2, 0x31, 0x40, 0x1b, 0x11, 0x26, 0x11, 0x6, 0x5, 0x10, 0x9, 0x33, 0x6c, 0xf, 0xa, 0x17, 0x17, 0x4b, 0xf, 0xb, 0xa, 0x5, 0x19, 0x3, 0x5, 0xd, 0x43, 0x4, 0x22, 0x50, 0x31, 0x16, 0xd6, 0x9, 0xb, 0x9f, 0xb7, 0x3a, 0x30, 0x33, 0x3c, 0x8, 0x44, 0x3a, 0x35, 0x58, 0x49, 0x2e, 0x29, 0x6, 0x7, 0x1, 0x44, 0x4, 0x7, 0x13, 0x26, 0xfe, 0x5b, 0x14, 0x2b, 0x2d, 0x31, 0x3a, 0xd, 0xc, 0x11, 0x10, 0x9, 0x9, 0x15, 0x17, 0x9, 0x5, 0x71, 0x12, 0x14, 0x2f, 0x41, 0x38, 0x9, 0x12, 0xa, 0xa, 0x12, 0x11, 0xb, 0x6, 0x67, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x2b, 0x0, 0xa9, 0x6, 0x6a, 0x5, 0x6c, 0x0, 0x6, 0x0, 0x39, 0x0, 0x4c, 0x0, 0x70, 0x0, 0x7b, 0x0, 0x7f, 0x0, 0x89, 0x0, 0x8d, 0x0, 0x0, 0x13, 0x16, 0x37, 0x36, 0x35, 0x34, 0x27, 0x1, 0x22, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x2b, 0x1, 0x22, 0x27, 0x7, 0x5, 0x13, 0x26, 0x35, 0x34, 0x3f, 0x1, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x7, 0x17, 0x16, 0x33, 0x32, 0x37, 0x33, 0x16, 0x15, 0x14, 0x7, 0x23, 0x35, 0x6, 0x25, 0x36, 0x37, 0x36, 0x37, 0x1, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0xf, 0x1, 0x16, 0x15, 0x14, 0x7, 0x36, 0x1, 0x22, 0x2f, 0x1, 0x7, 0x14, 0x7, 0x36, 0x37, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x7, 0x16, 0x15, 0x14, 0x7, 0x32, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x6, 0x37, 0x16, 0x15, 0x14, 0x7, 0x15, 0x33, 0x36, 0x35, 0x34, 0x27, 0x5, 0x36, 0x37, 0xf, 0x1, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x36, 0x35, 0x34, 0x5, 0x7, 0x37, 0x26, 0xd8, 0x1b, 0x14, 0xf, 0x10, 0x3, 0x70, 0x2f, 0x6c, 0x30, 0x1d, 0x26, 0x96, 0x4a, 0x21, 0x63, 0x53, 0x25, 0x59, 0xfe, 0xf8, 0x81, 0x6, 0xe, 0x45, 0x1c, 0x19, 0x5d, 0x7b, 0x40, 0x43, 0x22, 0x24, 0x34, 0x3e, 0x99, 0x2d, 0x3b, 0x25, 0x1e, 0xd, 0xbe, 0xcc, 0x2c, 0x28, 0x36, 0x6, 0xe1, 0x59, 0x3e, 0xf8, 0x6d, 0xfc, 0xbc, 0x21, 0x1e, 0x8, 0x5, 0x1, 0x4e, 0x24, 0x11, 0x1f, 0x58, 0xec, 0x36, 0x22, 0x14, 0x2f, 0x2c, 0x28, 0x3, 0xab, 0x34, 0x19, 0xf2, 0x73, 0x53, 0x3f, 0x58, 0xf, 0x24, 0x55, 0x81, 0x3e, 0x18, 0x22, 0x14, 0x73, 0x4a, 0x3f, 0x4b, 0x28, 0x60, 0x2e, 0x2f, 0x34, 0x89, 0x2b, 0x32, 0x19, 0x4b, 0x32, 0x2e, 0x9e, 0x30, 0x3e, 0xfc, 0xb0, 0x53, 0xd, 0xa2, 0x5a, 0x70, 0x30, 0x1f, 0x2b, 0x17, 0xfe, 0xa0, 0x31, 0x5e, 0x7, 0x1, 0xf0, 0x3, 0x27, 0x1f, 0x1f, 0x20, 0x10, 0xfe, 0xc7, 0xe, 0x5, 0x10, 0x8, 0x3b, 0x63, 0x73, 0x1, 0xc, 0x12, 0x20, 0x1a, 0x2f, 0xe8, 0x5e, 0x22, 0x7c, 0x59, 0x2f, 0x1a, 0xd, 0x34, 0xab, 0x32, 0x38, 0x19, 0x1d, 0xdb, 0x87, 0x1d, 0x1e, 0x83, 0xb4, 0xcf, 0x95, 0x6c, 0x25, 0xe9, 0x25, 0x6f, 0x1d, 0xf, 0x1, 0x74, 0x1e, 0xe, 0xe9, 0x35, 0x6f, 0x41, 0x3d, 0x27, 0x59, 0x24, 0x9, 0x1, 0x61, 0x10, 0x9d, 0x85, 0xa3, 0x54, 0x2, 0x2a, 0xd, 0x16, 0x12, 0x10, 0x27, 0x1, 0x27, 0x47, 0x2b, 0x2d, 0xd, 0xb, 0xc, 0x6, 0x25, 0x5f, 0x6b, 0x6a, 0x7e, 0x7, 0x1d, 0x72, 0x8d, 0x7d, 0x6a, 0x4c, 0x60, 0xd0, 0x86, 0x7c, 0xef, 0x5c, 0x67, 0xc3, 0x4b, 0x1a, 0x40, 0x2f, 0x1e, 0x14, 0x3, 0x2e, 0x38, 0x35, 0x96, 0x63, 0x28, 0x24, 0x0, 0x0, 0x7, 0x0, 0xb6, 0x0, 0x9a, 0x5, 0xcb, 0x5, 0xaf, 0x0, 0x13, 0x0, 0x19, 0x0, 0x20, 0x0, 0x28, 0x0, 0x32, 0x0, 0x4c, 0x0, 0x53, 0x0, 0x0, 0x1, 0x3e, 0x1, 0x35, 0x34, 0x2f, 0x1, 0x6, 0x23, 0x14, 0x7, 0x6, 0x23, 0x14, 0x7, 0x17, 0x16, 0x33, 0x32, 0x36, 0x1, 0x3f, 0x1, 0xf, 0x2, 0x13, 0x25, 0x1, 0x13, 0x25, 0x1, 0x13, 0x5, 0x1, 0x33, 0x32, 0x35, 0x34, 0x27, 0x1, 0x0, 0x36, 0x35, 0x34, 0x27, 0x1, 0x7, 0x1, 0x16, 0x33, 0x1, 0x3e, 0x1, 0x37, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0xe, 0x1, 0x7, 0xe, 0x1, 0x7, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x3e, 0x1, 0x17, 0x7, 0x1, 0x16, 0x33, 0x32, 0x27, 0x5, 0x25, 0x8, 0xc, 0x2, 0x3b, 0x17, 0x1e, 0x36, 0x36, 0x49, 0x16, 0xed, 0x8, 0x7, 0xa, 0x1a, 0xfc, 0x80, 0x99, 0xd, 0x92, 0x99, 0xd, 0x83, 0x1, 0x9, 0x2, 0x7d, 0xb8, 0xfd, 0x67, 0xfd, 0x84, 0x11, 0x1, 0xbd, 0x2, 0xd, 0x2, 0x3f, 0x2, 0xfd, 0xc2, 0x1, 0xa4, 0x36, 0x6, 0xfd, 0xfb, 0x71, 0x2, 0x5, 0x11, 0xf, 0xfd, 0x6e, 0xd, 0x1f, 0x10, 0xd, 0xa, 0xe, 0x11, 0x5, 0x6, 0x13, 0xe, 0xe, 0x1d, 0x11, 0xe, 0x9, 0xe, 0x10, 0x4, 0x5, 0x14, 0x2d, 0x7f, 0x2, 0x3e, 0xb, 0xa, 0x39, 0x1, 0x1, 0x40, 0x8, 0x1c, 0xa, 0x5, 0x8, 0xee, 0x17, 0x48, 0x36, 0x37, 0x1c, 0x18, 0x3b, 0x2, 0xb, 0x2, 0xf9, 0x98, 0x92, 0xd, 0x98, 0x92, 0x1, 0x7a, 0x12, 0xfd, 0x83, 0xfd, 0x68, 0xb8, 0x2, 0x7c, 0x1, 0x9, 0x14, 0xfd, 0xf3, 0x38, 0xa, 0xc, 0x2, 0x3e, 0xfc, 0xb6, 0x36, 0x21, 0xf, 0x11, 0x2, 0x6, 0x71, 0xfd, 0xfa, 0x6, 0x2, 0xea, 0xd, 0x15, 0x5, 0x4, 0x11, 0xd, 0xa, 0xe, 0x10, 0x1f, 0xd, 0xe, 0x14, 0x5, 0x4, 0xe, 0x10, 0xb, 0xd, 0x10, 0x1e, 0xf4, 0xe, 0xfd, 0xc2, 0x2, 0x42, 0x0, 0x7, 0x0, 0x35, 0x1, 0x96, 0x6, 0x8e, 0x4, 0x3e, 0x0, 0x11, 0x0, 0x17, 0x0, 0x1e, 0x0, 0x25, 0x0, 0x2b, 0x0, 0x3f, 0x0, 0x46, 0x0, 0x0, 0x0, 0x34, 0x26, 0x27, 0x26, 0x2f, 0x1, 0x14, 0x7, 0x16, 0x14, 0x7, 0x16, 0x15, 0x37, 0x36, 0x37, 0x36, 0x5, 0x35, 0x27, 0x7, 0x15, 0x17, 0x3, 0x37, 0x21, 0x9, 0x1, 0x21, 0x27, 0x1, 0x21, 0x36, 0x35, 0x34, 0x27, 0x21, 0x0, 0x34, 0x27, 0x21, 0x15, 0x21, 0x24, 0x34, 0x36, 0x37, 0x3e, 0x1, 0x32, 0x16, 0x17, 0x1e, 0x1, 0x14, 0x6, 0x7, 0xe, 0x1, 0x22, 0x26, 0x27, 0x26, 0x17, 0x7, 0x21, 0x36, 0x35, 0x34, 0x27, 0x5, 0xa3, 0x7, 0x7, 0x5, 0xa, 0xd2, 0x15, 0x33, 0x33, 0x15, 0xd2, 0xa, 0x5, 0x7, 0xfb, 0xa6, 0x5e, 0x5e, 0x5e, 0xaf, 0xaf, 0x3, 0x52, 0x2, 0x58, 0xfd, 0xa8, 0xfc, 0xae, 0xaf, 0x1, 0x49, 0x2, 0xb4, 0x19, 0x23, 0xfd, 0x6, 0x3, 0x4a, 0x32, 0xfd, 0x56, 0x2, 0xaa, 0xfc, 0x6c, 0x7, 0x8, 0x7, 0x12, 0x14, 0x12, 0x7, 0x8, 0x7, 0x7, 0x8, 0x7, 0x12, 0x14, 0x12, 0x7, 0x8, 0xc5, 0x50, 0x2, 0xfa, 0x23, 0x19, 0x2, 0xde, 0x18, 0x15, 0x9, 0x7, 0x6, 0x7e, 0x21, 0x14, 0x38, 0x90, 0x38, 0x14, 0x21, 0x7e, 0x6, 0x7, 0x9, 0x4b, 0xd8, 0x70, 0x70, 0xd8, 0x70, 0x1, 0x68, 0xc8, 0xfe, 0xac, 0xfe, 0xac, 0xc8, 0x1, 0x2c, 0x19, 0x17, 0x1b, 0x19, 0xfe, 0xc4, 0x70, 0x18, 0xa0, 0x3c, 0x28, 0x23, 0xf, 0xe, 0x10, 0x10, 0xe, 0xf, 0x23, 0x28, 0x23, 0xf, 0xe, 0x10, 0x10, 0xe, 0xf, 0x69, 0x64, 0x19, 0x1b, 0x17, 0x19, 0x0, 0x7, 0x0, 0xb6, 0x0, 0x9a, 0x5, 0xcb, 0x5, 0xaf, 0x0, 0x13, 0x0, 0x19, 0x0, 0x20, 0x0, 0x28, 0x0, 0x32, 0x0, 0x4c, 0x0, 0x53, 0x0, 0x0, 0x1, 0x2e, 0x1, 0x23, 0x22, 0xf, 0x1, 0x16, 0x15, 0x32, 0x17, 0x16, 0x15, 0x32, 0x17, 0x37, 0x36, 0x35, 0x34, 0x26, 0x1, 0x27, 0x1f, 0x2, 0x27, 0x7, 0x27, 0x3, 0x1, 0x25, 0x3, 0x1, 0x27, 0x17, 0x1, 0x36, 0x35, 0x34, 0x2b, 0x1, 0x2e, 0x1, 0x23, 0x22, 0x7, 0x1, 0x17, 0x1, 0x36, 0x35, 0x1, 0x2e, 0x1, 0x27, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x1e, 0x1, 0x17, 0x1e, 0x1, 0x17, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x27, 0x2e, 0x1, 0x13, 0x1, 0x36, 0x23, 0x22, 0x7, 0x1, 0x5, 0x25, 0x9, 0x1a, 0xa, 0x7, 0x8, 0xed, 0x16, 0x49, 0x36, 0x36, 0x1e, 0x17, 0x3b, 0x2, 0xc, 0xfc, 0x6f, 0x92, 0xd, 0x99, 0x92, 0xd, 0xa8, 0xc6, 0x11, 0x2, 0x7c, 0x2, 0x99, 0xb8, 0xfd, 0x83, 0x12, 0xe, 0x2, 0x3e, 0x2, 0x3f, 0x2, 0x25, 0x36, 0x21, 0xf, 0x11, 0xfd, 0xfb, 0x71, 0x2, 0x5, 0x6, 0xfd, 0x17, 0xe, 0x14, 0x5, 0x4, 0x10, 0xe, 0x9, 0xe, 0x11, 0x1d, 0xe, 0xe, 0x13, 0x6, 0x5, 0x11, 0xe, 0xa, 0xd, 0x10, 0x1f, 0x12, 0x2, 0xc, 0x1, 0x39, 0xa, 0xb, 0xfd, 0xc2, 0x5, 0x9, 0x9, 0xb, 0x2, 0x3b, 0x18, 0x1c, 0x37, 0x36, 0x48, 0x17, 0xee, 0x8, 0x5, 0xa, 0x1c, 0xfd, 0x18, 0xd, 0x92, 0x98, 0xd, 0x92, 0xd5, 0xc6, 0x1, 0x9, 0x2, 0x7c, 0xb8, 0xfd, 0x68, 0xfd, 0x83, 0xec, 0x7f, 0x2, 0x3e, 0xc, 0xa, 0x38, 0x88, 0x36, 0x6, 0xfd, 0xfa, 0x71, 0x2, 0x6, 0x11, 0xf, 0xfd, 0x6d, 0xe, 0x1e, 0x10, 0xd, 0xb, 0x10, 0xe, 0x4, 0x5, 0x14, 0xe, 0xd, 0x1f, 0x10, 0xe, 0xa, 0xd, 0x11, 0x4, 0x5, 0x15, 0x1, 0xf, 0x2, 0xc, 0x42, 0x2, 0xfd, 0xc2, 0x0, 0x2, 0x0, 0x58, 0x1, 0x7b, 0x6, 0xe, 0x4, 0x5b, 0x0, 0x25, 0x0, 0x47, 0x0, 0x0, 0x12, 0x10, 0x27, 0x32, 0x33, 0x20, 0x25, 0x1, 0x15, 0x25, 0x2e, 0x1, 0x27, 0x26, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x3e, 0x1, 0x37, 0x25, 0x15, 0x1, 0x24, 0x21, 0x22, 0x23, 0x12, 0x14, 0x7, 0x32, 0x33, 0x32, 0x5, 0x25, 0x5, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x5, 0x25, 0x4, 0x23, 0x22, 0x23, 0x8a, 0x32, 0x8, 0x7, 0x1, 0x25, 0x2, 0x17, 0x2, 0x6b, 0xfd, 0xbf, 0x5, 0xe, 0x12, 0xd, 0x1e, 0xd, 0xe, 0xb, 0xa, 0xc, 0xe, 0x8, 0xb, 0xe, 0xd, 0x1e, 0xd, 0x12, 0xe, 0x5, 0x2, 0x41, 0xfd, 0x95, 0xfd, 0xe9, 0xfe, 0xdb, 0x7, 0x8, 0x99, 0x17, 0x4, 0x5, 0xb1, 0x2, 0xf, 0x1, 0xb7, 0xfe, 0x9c, 0x16, 0x1b, 0x1a, 0x3e, 0x1a, 0x1b, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x1b, 0x1a, 0x3e, 0x1a, 0x1b, 0x16, 0x1, 0x64, 0xfe, 0x49, 0xfd, 0xf1, 0xb1, 0x5, 0x4, 0x2, 0x49, 0x1, 0x44, 0x60, 0x6e, 0xfe, 0xed, 0x53, 0x1c, 0x8, 0x10, 0x8, 0x6, 0x6, 0x6, 0xa, 0x9, 0x1d, 0x20, 0x1f, 0x7, 0xa, 0x6, 0x6, 0x6, 0x8, 0x10, 0x8, 0x1c, 0x53, 0xfe, 0xed, 0x6e, 0x1, 0x47, 0x8a, 0x59, 0x6e, 0xb9, 0x18, 0x15, 0xc, 0xb, 0xb, 0xc, 0x15, 0x17, 0x35, 0x3e, 0x35, 0x17, 0x15, 0xc, 0xb, 0xb, 0xc, 0x15, 0x18, 0xb9, 0x6e, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8a, 0x1, 0xad, 0x6, 0xe, 0x4, 0x29, 0x0, 0x28, 0x0, 0x0, 0x1, 0x25, 0x15, 0x1, 0x24, 0x23, 0x22, 0x23, 0x36, 0x34, 0x27, 0x32, 0x33, 0x32, 0x25, 0x1, 0x15, 0x25, 0x26, 0x27, 0x26, 0x27, 0x26, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x36, 0x3, 0xe8, 0x2, 0x26, 0xfd, 0x95, 0xfd, 0xec, 0xf8, 0x7, 0x6, 0x32, 0x32, 0x6, 0x7, 0xf8, 0x2, 0x14, 0x2, 0x6b, 0xfd, 0xda, 0x7, 0xf, 0xe, 0x12, 0x11, 0x2a, 0x11, 0x12, 0xe, 0xf, 0xf, 0xf, 0xf, 0xe, 0x12, 0x11, 0x2a, 0x11, 0x12, 0xe, 0xf, 0x2, 0xc5, 0x1c, 0x21, 0xfe, 0xed, 0x6e, 0x60, 0xe0, 0x60, 0x6e, 0xfe, 0xed, 0x21, 0x1d, 0x11, 0xf, 0xe, 0x8, 0x8, 0x8, 0x8, 0xe, 0xf, 0x23, 0x15, 0x14, 0x23, 0xf, 0xe, 0x8, 0x8, 0x8, 0x8, 0xe, 0xf, 0x0, 0x0, 0x0, 0x1, 0x1, 0x33, 0x0, 0xc6, 0x5, 0x57, 0x5, 0xa, 0x0, 0x1c, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x33, 0x32, 0x37, 0x0, 0x13, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x0, 0x1, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x1, 0xc5, 0x27, 0x14, 0x28, 0x11, 0xd, 0xe, 0x1, 0x19, 0xef, 0x3e, 0x87, 0x20, 0x16, 0x21, 0xfe, 0x7e, 0xfe, 0xb6, 0x17, 0x47, 0x48, 0xd, 0x22, 0x2e, 0x34, 0x46, 0x2b, 0x2, 0x8e, 0x40, 0x78, 0x14, 0x1, 0xc2, 0x1, 0x16, 0x48, 0xc, 0x9, 0xe, 0x29, 0xfe, 0x30, 0xfd, 0xfc, 0x24, 0x6, 0xf, 0x8a, 0x99, 0x27, 0x2a, 0x27, 0x18, 0x0, 0x0, 0x1, 0x0, 0xed, 0x0, 0xb2, 0x5, 0xc5, 0x5, 0xc, 0x0, 0x1e, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x33, 0x32, 0x37, 0x0, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x0, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x1, 0xc5, 0x27, 0x14, 0x28, 0x11, 0xd, 0xe, 0x1, 0x19, 0xef, 0x65, 0x60, 0x7f, 0x1a, 0xb, 0x17, 0xfd, 0x7d, 0x7b, 0x2a, 0x98, 0x32, 0x37, 0x17, 0x39, 0x48, 0x46, 0x60, 0x30, 0x3, 0x1a, 0x40, 0x78, 0x14, 0x1, 0x9d, 0xaf, 0x4a, 0x8, 0x3, 0x16, 0x12, 0x1b, 0xfd, 0x1e, 0xde, 0x4c, 0x1a, 0xc, 0x8d, 0xb2, 0x86, 0x31, 0x20, 0x2c, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x3, 0x0, 0x94, 0x5, 0xb1, 0x5, 0x41, 0x0, 0xb, 0x0, 0x0, 0x9, 0x1, 0x7, 0x9, 0x1, 0x27, 0x9, 0x1, 0x37, 0x9, 0x1, 0x17, 0x3, 0xe7, 0x1, 0xc9, 0x8e, 0xfe, 0x38, 0xfe, 0x37, 0x8e, 0x1, 0xc9, 0xfe, 0x37, 0x8e, 0x1, 0xc9, 0x1, 0xc9, 0x8e, 0x2, 0xea, 0xfe, 0x37, 0x8d, 0x1, 0xc9, 0xfe, 0x37, 0x8d, 0x1, 0xc9, 0x1, 0xc9, 0x8d, 0xfe, 0x38, 0x1, 0xc9, 0x8d, 0x0, 0x0, 0x0, 0x1, 0x0, 0xaf, 0x0, 0x3f, 0x6, 0x5, 0x5, 0x96, 0x0, 0xb, 0x0, 0x0, 0x9, 0xb, 0x4, 0x91, 0x1, 0x74, 0xfe, 0xc9, 0xfe, 0x8c, 0xfe, 0x8c, 0xfe, 0xc9, 0x1, 0x74, 0xfe, 0x8c, 0x1, 0x37, 0x1, 0x74, 0x1, 0x74, 0x1, 0x37, 0x2, 0xea, 0xfe, 0x8c, 0xfe, 0xc9, 0x1, 0x74, 0xfe, 0x8c, 0x1, 0x37, 0x1, 0x74, 0x1, 0x74, 0x1, 0x37, 0xfe, 0x8c, 0x1, 0x75, 0xfe, 0xc9, 0x0, 0x1, 0x0, 0xf1, 0xff, 0xee, 0x5, 0x9c, 0x5, 0xdc, 0x0, 0x42, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x3, 0x16, 0x17, 0x16, 0x15, 0x14, 0xf, 0x1, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x6, 0x3, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x12, 0x13, 0x2, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x36, 0x37, 0x36, 0x4, 0xf8, 0xa, 0x10, 0x11, 0x12, 0x1d, 0x11, 0xf, 0x1a, 0x10, 0x16, 0xd0, 0xc4, 0x51, 0x8f, 0xc, 0x1e, 0x20, 0x4, 0x16, 0x1a, 0xc, 0x1a, 0x14, 0x78, 0x80, 0xac, 0xde, 0x20, 0x4c, 0x24, 0x4, 0x33, 0xb, 0x5, 0x1b, 0xcc, 0xe4, 0x7a, 0x28, 0x9, 0x12, 0x13, 0x10, 0xf, 0x17, 0x9, 0xd, 0x12, 0x1c, 0x20, 0xa, 0x36, 0x58, 0x8e, 0xcc, 0x18, 0x5, 0xdc, 0x10, 0x10, 0x1a, 0x33, 0x1b, 0x11, 0x15, 0x1b, 0x17, 0xe2, 0xfe, 0xf1, 0xc6, 0xef, 0x14, 0xc, 0x17, 0x19, 0x16, 0xc, 0x14, 0x1e, 0x10, 0x12, 0x1a, 0x9a, 0xd0, 0xe0, 0xfe, 0x8a, 0x36, 0x2a, 0x1c, 0x3d, 0x50, 0x1f, 0xe, 0x2a, 0x1, 0x3e, 0x1, 0xa, 0x1, 0x22, 0x9d, 0x23, 0xa, 0xe, 0x1a, 0x1a, 0x1d, 0x11, 0xc, 0x10, 0x1e, 0xa8, 0x98, 0xb8, 0xcc, 0x18, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xfc, 0x0, 0x0, 0x6, 0x8, 0x5, 0xea, 0x0, 0x52, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x36, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x3, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x2, 0x7, 0x6, 0x2b, 0x1, 0x22, 0x27, 0x26, 0x27, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x26, 0x3, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x12, 0x37, 0x36, 0x5, 0x54, 0x1d, 0x1b, 0x14, 0x8, 0x1a, 0xa, 0x20, 0xe, 0xe, 0x10, 0xf1, 0xeb, 0x94, 0x94, 0x11, 0x1e, 0x14, 0x25, 0x2, 0xe, 0x18, 0x20, 0x24, 0x1e, 0x8, 0xe, 0x24, 0x1b, 0x17, 0x1a, 0x59, 0x79, 0xe6, 0x58, 0x11, 0x15, 0x2, 0x12, 0x11, 0xf, 0x2, 0x14, 0x12, 0x19, 0x1d, 0x24, 0x1e, 0x9, 0x9, 0x12, 0x18, 0x82, 0xc4, 0x7a, 0x63, 0x16, 0x17, 0x10, 0x16, 0x1a, 0x30, 0x1, 0xb, 0x17, 0x11, 0x2b, 0xd, 0x6a, 0x96, 0xe7, 0xf9, 0xc, 0x5, 0xea, 0x1e, 0x16, 0x3a, 0x1, 0x5, 0xc, 0xe, 0xd, 0x15, 0x28, 0x10, 0xdb, 0xfe, 0xc7, 0xcc, 0xa2, 0x12, 0x18, 0x31, 0x1a, 0x11, 0x2, 0x11, 0x23, 0x3a, 0x18, 0x12, 0xb, 0x1b, 0x1c, 0x5f, 0xbf, 0xfe, 0xfb, 0x87, 0x1a, 0x24, 0x1f, 0xd, 0xc, 0x1e, 0x23, 0x11, 0x1b, 0x2d, 0x3, 0xd, 0x18, 0x18, 0x15, 0x1f, 0xb0, 0xd4, 0xbd, 0x1, 0xb, 0x3d, 0x1c, 0x1a, 0x31, 0x20, 0x27, 0xe, 0x19, 0x32, 0x1a, 0xc4, 0xba, 0x1, 0x8, 0xda, 0xc, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x70, 0x0, 0x0, 0x6, 0x44, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x17, 0x0, 0x23, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x25, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x3, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x4, 0x36, 0xfe, 0x48, 0xfe, 0x56, 0x1, 0xaa, 0x1, 0xb8, 0x1, 0xaa, 0xfe, 0xa6, 0x1, 0xbe, 0xfe, 0x42, 0xfd, 0xa8, 0xfe, 0x42, 0x1, 0xbe, 0x2, 0x58, 0xc8, 0x1, 0xbe, 0xfe, 0x42, 0xc8, 0xfe, 0x42, 0x1, 0xbe, 0xc8, 0x3, 0xc6, 0x1, 0xab, 0xfe, 0x55, 0xfe, 0x48, 0xfe, 0x56, 0x1, 0xaa, 0x1, 0xb8, 0x50, 0xfd, 0xa8, 0xfe, 0x42, 0x1, 0xbe, 0x2, 0x58, 0x1, 0xbf, 0xfd, 0x79, 0xc8, 0xfe, 0x42, 0x1, 0xbe, 0xc8, 0x1, 0xbf, 0x0, 0x0, 0x0, 0x1, 0x0, 0x70, 0x0, 0x0, 0x6, 0x44, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x0, 0x1, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x4, 0x22, 0x2, 0x22, 0xfd, 0xde, 0xfe, 0x70, 0xfd, 0xde, 0x2, 0x22, 0x1, 0x90, 0x3, 0xb2, 0xfe, 0x70, 0xfd, 0xde, 0x2, 0x22, 0x1, 0x90, 0x2, 0x23, 0x0, 0x2, 0x0, 0x70, 0x0, 0x0, 0x6, 0x44, 0x5, 0xd5, 0x0, 0x3, 0x0, 0xf, 0x0, 0x0, 0x1, 0x33, 0x35, 0x23, 0x37, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x2, 0xe3, 0xee, 0xee, 0xef, 0x2, 0x72, 0xfd, 0x8e, 0xf0, 0xfd, 0x8e, 0x2, 0x72, 0xf0, 0x2, 0x73, 0xee, 0x1, 0xf0, 0xfd, 0x8e, 0x2, 0x72, 0xf0, 0x2, 0x73, 0x0, 0x0, 0x2, 0x0, 0x70, 0x0, 0x0, 0x6, 0x44, 0x5, 0xd5, 0x0, 0x3, 0x0, 0xf, 0x0, 0x0, 0x1, 0x21, 0x11, 0x21, 0x25, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x2, 0x93, 0x1, 0x8e, 0xfe, 0x72, 0x1, 0x8f, 0x2, 0x22, 0xfd, 0xde, 0xfe, 0x70, 0xfd, 0xde, 0x2, 0x22, 0x1, 0x90, 0x2, 0x23, 0x1, 0x8e, 0x1, 0xfe, 0x70, 0xfd, 0xde, 0x2, 0x22, 0x1, 0x90, 0x2, 0x23, 0x0, 0x0, 0x1, 0x1, 0x52, 0x0, 0x0, 0x5, 0x62, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x0, 0x1, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x3, 0xd2, 0x1, 0x90, 0xfe, 0x70, 0xf0, 0xfe, 0x70, 0x1, 0x90, 0xf0, 0x4, 0x45, 0xf0, 0xfc, 0xab, 0x3, 0x55, 0xf0, 0x1, 0x90, 0x0, 0x2, 0x1, 0xc, 0x0, 0x0, 0x5, 0x6c, 0x5, 0xd5, 0x0, 0xf, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x33, 0x17, 0x11, 0x21, 0x11, 0x21, 0x27, 0x11, 0x23, 0x27, 0x11, 0x21, 0x11, 0x21, 0x17, 0x7, 0x11, 0x23, 0x11, 0x21, 0x15, 0x21, 0x11, 0x33, 0x11, 0x21, 0x35, 0x4, 0x40, 0x96, 0x96, 0xfe, 0xd4, 0xfe, 0x8e, 0x96, 0x96, 0x96, 0x1, 0x2c, 0x1, 0x72, 0x96, 0xc8, 0xdc, 0xfe, 0xd4, 0x1, 0x2c, 0xdc, 0x1, 0x2c, 0x4, 0xa9, 0x96, 0xfe, 0x8e, 0xfd, 0x5f, 0x96, 0x2, 0xb, 0x96, 0x1, 0x72, 0x1, 0x2c, 0x96, 0xfa, 0x1, 0x2c, 0xfe, 0xd4, 0xdc, 0xfd, 0x5f, 0x2, 0xa1, 0xdc, 0x0, 0x3, 0x1, 0x3e, 0x0, 0x0, 0x5, 0x76, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x17, 0x0, 0x23, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x27, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x3, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x4, 0xe, 0xfe, 0x98, 0xfe, 0xe8, 0x1, 0x18, 0x1, 0x68, 0x1, 0x18, 0xc8, 0x1, 0x18, 0xfe, 0xe8, 0xfd, 0xf8, 0xfe, 0xe8, 0x1, 0x18, 0x2, 0x8, 0xa0, 0x1, 0x18, 0xfe, 0xe8, 0xc8, 0xfe, 0xe8, 0x1, 0x18, 0xc8, 0x4, 0x6d, 0x1, 0x18, 0xfe, 0xe8, 0xfe, 0x84, 0xfd, 0x5f, 0x2, 0xa1, 0x1, 0x7c, 0x50, 0xfd, 0xe4, 0xfd, 0x5f, 0x2, 0xa1, 0x2, 0x1c, 0x1, 0x18, 0xfe, 0x48, 0xdc, 0xfd, 0x5f, 0x2, 0xa1, 0xdc, 0x1, 0x18, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x70, 0x0, 0x0, 0x6, 0x44, 0x5, 0xd5, 0x0, 0x4b, 0x0, 0x0, 0x1, 0x23, 0x22, 0x6, 0x7, 0x6, 0x7, 0x6, 0x15, 0x7, 0x11, 0x17, 0x16, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x3b, 0x1, 0x35, 0x34, 0x26, 0x27, 0x26, 0x27, 0x26, 0x23, 0x27, 0x21, 0x7, 0x6, 0x7, 0x6, 0x7, 0xe, 0x1, 0x1d, 0x1, 0x33, 0x32, 0x36, 0x37, 0x36, 0x37, 0x36, 0x35, 0x37, 0x11, 0x27, 0x26, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x2b, 0x1, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x17, 0x21, 0x37, 0x36, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x3, 0xf, 0x7b, 0x64, 0xb3, 0x49, 0x42, 0x2c, 0x24, 0x32, 0x19, 0x19, 0x24, 0x2a, 0x44, 0x45, 0xb3, 0x68, 0x7b, 0x4c, 0x47, 0x43, 0x5f, 0x52, 0x1b, 0x51, 0x4, 0x7c, 0x36, 0x36, 0x52, 0x5f, 0x43, 0x49, 0x4a, 0x7b, 0x68, 0xb3, 0x45, 0x44, 0x2a, 0x24, 0x32, 0x19, 0x19, 0x24, 0x2c, 0x42, 0x46, 0xb6, 0x64, 0x7b, 0x4c, 0x47, 0x43, 0x5f, 0x52, 0x1b, 0x51, 0xfb, 0x84, 0x36, 0x36, 0x52, 0x5f, 0x43, 0x49, 0x4a, 0x2, 0xa0, 0x4b, 0x49, 0x42, 0x60, 0x4f, 0x1b, 0x54, 0x4, 0x7c, 0x38, 0x37, 0x4f, 0x5c, 0x46, 0x47, 0x4b, 0x7a, 0x64, 0xb6, 0x47, 0x42, 0x2b, 0x25, 0x32, 0x19, 0x19, 0x25, 0x2b, 0x42, 0x49, 0xb4, 0x64, 0x7a, 0x4b, 0x47, 0x46, 0x5c, 0x4f, 0x1b, 0x54, 0xfb, 0x84, 0x38, 0x37, 0x4f, 0x60, 0x42, 0x48, 0x4c, 0x7b, 0x64, 0xb6, 0x47, 0x42, 0x2b, 0x25, 0x32, 0x19, 0x19, 0x25, 0x2b, 0x42, 0x49, 0xb4, 0x64, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0xbb, 0xff, 0xe5, 0x5, 0xf9, 0x5, 0xf3, 0x0, 0xb, 0x0, 0x11, 0x0, 0x14, 0x0, 0x17, 0x0, 0x1a, 0x0, 0x1d, 0x0, 0x20, 0x0, 0x23, 0x0, 0x0, 0x1, 0x13, 0x21, 0x3, 0x13, 0x21, 0xb, 0x1, 0x21, 0x13, 0x3, 0x21, 0x17, 0x3, 0x13, 0x21, 0x13, 0xb, 0x1, 0x7, 0x33, 0x1f, 0x1, 0x37, 0x3, 0x7, 0x33, 0x5, 0x23, 0x17, 0x1, 0x27, 0x7, 0x13, 0x37, 0x23, 0x3, 0x5a, 0xe0, 0x1, 0xbf, 0xe0, 0xe0, 0xfe, 0x41, 0xe0, 0xe0, 0xfe, 0x41, 0xe0, 0xe0, 0x1, 0xbf, 0x3a, 0xa6, 0xa6, 0x1, 0x4c, 0xa6, 0xa6, 0xa6, 0x6c, 0xd8, 0xad, 0x6d, 0x6c, 0x6c, 0x6d, 0xd9, 0xfe, 0x7a, 0xd8, 0x6c, 0xfe, 0xe7, 0x6d, 0x6c, 0x6c, 0x6d, 0xd9, 0x5, 0xf3, 0xfe, 0x7c, 0xfe, 0x7d, 0xfe, 0x7d, 0xfe, 0x7c, 0x1, 0x84, 0x1, 0x83, 0x1, 0x83, 0x64, 0xfe, 0xe1, 0xfe, 0xe0, 0x1, 0x20, 0x1, 0x1f, 0x1, 0x1f, 0xbb, 0x64, 0xbb, 0xbb, 0xfe, 0x7d, 0xbc, 0x63, 0xbc, 0x1, 0x1f, 0xbc, 0xbc, 0x1, 0x84, 0xbb, 0x0, 0x0, 0x1, 0x0, 0x54, 0xff, 0xe3, 0x6, 0x60, 0x5, 0xf0, 0x0, 0x43, 0x0, 0x0, 0x1, 0x35, 0x34, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x1d, 0x1, 0x33, 0x32, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x2b, 0x1, 0x15, 0x14, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x3d, 0x1, 0x23, 0x22, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x33, 0x3, 0x28, 0x4c, 0x2c, 0x36, 0x38, 0x78, 0x38, 0x36, 0x2c, 0x4c, 0x20, 0xba, 0x7a, 0x46, 0x76, 0x64, 0x30, 0x30, 0x30, 0x30, 0x64, 0x76, 0x46, 0x7a, 0xba, 0x20, 0x4c, 0x2c, 0x36, 0x38, 0x78, 0x38, 0x36, 0x2c, 0x4c, 0x20, 0xba, 0x7a, 0x46, 0x76, 0x64, 0x30, 0x30, 0x30, 0x30, 0x64, 0x76, 0x46, 0x7a, 0xba, 0x3, 0x1c, 0x20, 0xba, 0x7a, 0x46, 0x76, 0x64, 0x30, 0x30, 0x30, 0x30, 0x64, 0x76, 0x46, 0x7a, 0xba, 0x20, 0x4c, 0x2c, 0x36, 0x38, 0x78, 0x38, 0x36, 0x2c, 0x4c, 0x20, 0xbb, 0x79, 0x46, 0x76, 0x64, 0x30, 0x31, 0x31, 0x30, 0x64, 0x76, 0x46, 0x79, 0xbb, 0x20, 0x4c, 0x2c, 0x36, 0x38, 0x78, 0x38, 0x36, 0x2c, 0x4c, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x56, 0xff, 0xe7, 0x6, 0x5e, 0x5, 0xf0, 0x0, 0x83, 0x0, 0x0, 0x1, 0x26, 0x27, 0x23, 0x6, 0x7, 0x6, 0x7, 0xe, 0x1, 0x23, 0x22, 0x26, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x33, 0x36, 0x37, 0x36, 0x37, 0x35, 0x26, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x6, 0x7, 0x6, 0x7, 0x15, 0x16, 0x17, 0x16, 0x17, 0x33, 0x36, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x23, 0x22, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x23, 0x6, 0x7, 0x6, 0x7, 0x15, 0x16, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x35, 0x26, 0x3, 0x2, 0x10, 0xa, 0xd4, 0x2, 0xa, 0x14, 0x1d, 0x20, 0x52, 0x2e, 0x2d, 0x52, 0x20, 0x1f, 0x12, 0x11, 0x11, 0x12, 0x1f, 0x20, 0x52, 0x2d, 0x2e, 0x52, 0x20, 0x22, 0xf, 0x9, 0x3, 0xd4, 0xa, 0x10, 0x11, 0x15, 0x10, 0x14, 0x2a, 0x1e, 0x21, 0x22, 0x22, 0x21, 0x20, 0x28, 0x28, 0x5c, 0x28, 0x28, 0x20, 0x21, 0x22, 0x22, 0x21, 0x23, 0x25, 0x17, 0xd, 0x15, 0x11, 0x10, 0xa, 0xd4, 0x3, 0x9, 0xf, 0x22, 0x20, 0x52, 0x2e, 0x2d, 0x52, 0x20, 0x1f, 0x12, 0x11, 0x11, 0x12, 0x1f, 0x20, 0x52, 0x2d, 0x2e, 0x52, 0x20, 0x1d, 0x14, 0xa, 0x2, 0xd4, 0xa, 0x10, 0x11, 0x15, 0xd, 0x17, 0x25, 0x23, 0x21, 0x22, 0x22, 0x21, 0x20, 0x28, 0x28, 0x5c, 0x28, 0x28, 0x20, 0x21, 0x22, 0x22, 0x21, 0x1e, 0x2a, 0x14, 0x10, 0x15, 0x2, 0x93, 0x11, 0x15, 0x10, 0x14, 0x2a, 0x1e, 0x21, 0x22, 0x22, 0x21, 0x20, 0x28, 0x28, 0x5c, 0x28, 0x28, 0x20, 0x21, 0x22, 0x22, 0x21, 0x23, 0x25, 0x17, 0xd, 0x15, 0x11, 0x10, 0xa, 0xd5, 0x2, 0xa, 0x14, 0x1d, 0x20, 0x52, 0x2e, 0x2d, 0x52, 0x20, 0x1f, 0x12, 0x11, 0x11, 0x12, 0x1f, 0x20, 0x52, 0x2d, 0x2e, 0x52, 0x20, 0x22, 0xf, 0x9, 0x3, 0xd5, 0xa, 0x10, 0x11, 0x15, 0xd, 0x17, 0x25, 0x23, 0x21, 0x22, 0x22, 0x21, 0x20, 0x28, 0x28, 0x5c, 0x28, 0x28, 0x20, 0x21, 0x22, 0x22, 0x21, 0x1e, 0x2a, 0x14, 0x10, 0x15, 0x11, 0x10, 0xa, 0xd4, 0x3, 0x9, 0xf, 0x22, 0x20, 0x52, 0x2e, 0x2d, 0x52, 0x20, 0x1f, 0x12, 0x11, 0x11, 0x12, 0x1f, 0x20, 0x52, 0x2d, 0x2e, 0x52, 0x20, 0x1d, 0x14, 0xa, 0x2, 0xd4, 0xa, 0x0, 0x1, 0x0, 0x53, 0xff, 0xe3, 0x6, 0x61, 0x5, 0xf0, 0x0, 0x83, 0x0, 0x0, 0x1, 0x34, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x6, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x32, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x23, 0x22, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x23, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x22, 0x6, 0x7, 0x6, 0x7, 0x6, 0x7, 0xe, 0x1, 0x23, 0x22, 0x26, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x3, 0x28, 0x2c, 0x24, 0xe, 0x10, 0x18, 0xa, 0x28, 0x28, 0x2a, 0x26, 0x20, 0x3a, 0x2e, 0x72, 0x30, 0x36, 0x24, 0x26, 0x2a, 0x2a, 0x26, 0xa, 0x1a, 0x8, 0x14, 0x29, 0x27, 0x44, 0x65, 0x21, 0xd, 0xc, 0x12, 0xa, 0x27, 0x64, 0x38, 0x3a, 0x62, 0x26, 0x24, 0x18, 0x15, 0x15, 0x18, 0x24, 0x26, 0x62, 0x3a, 0x38, 0x64, 0x27, 0xa, 0x12, 0xc, 0xd, 0x29, 0x61, 0x40, 0x2f, 0x21, 0xd, 0x10, 0x19, 0xa, 0x27, 0x29, 0x2a, 0x26, 0x24, 0x36, 0x2f, 0x72, 0x2f, 0x36, 0x24, 0x26, 0x2a, 0x29, 0x27, 0xa, 0x19, 0x10, 0xd, 0x27, 0x29, 0x3f, 0x63, 0x27, 0xe, 0xc, 0x12, 0xa, 0x26, 0x64, 0x38, 0x3a, 0x62, 0x26, 0x21, 0x1b, 0x16, 0x16, 0x18, 0x24, 0x26, 0x62, 0x3a, 0x3d, 0x5f, 0x26, 0xa, 0x12, 0x6, 0x14, 0x28, 0x62, 0x3, 0x1c, 0x43, 0x63, 0x22, 0xe, 0xc, 0x12, 0xa, 0x26, 0x64, 0x38, 0x3a, 0x62, 0x26, 0x20, 0x1c, 0x16, 0x16, 0x18, 0x24, 0x26, 0x62, 0x3a, 0x3d, 0x5f, 0x26, 0xa, 0x12, 0x6, 0x14, 0x28, 0x61, 0x3f, 0x2f, 0x21, 0xd, 0x10, 0x19, 0xa, 0x27, 0x29, 0x2a, 0x26, 0x24, 0x36, 0x2f, 0x72, 0x2f, 0x36, 0x24, 0x26, 0x2a, 0x29, 0x27, 0xa, 0x19, 0x10, 0xd, 0x27, 0x29, 0x44, 0x65, 0x21, 0xd, 0xc, 0x12, 0xa, 0x27, 0x64, 0x38, 0x3a, 0x62, 0x26, 0x24, 0x18, 0x15, 0x15, 0x18, 0x24, 0x26, 0x62, 0x3a, 0x38, 0x64, 0x27, 0xa, 0x12, 0xc, 0xd, 0x29, 0x61, 0x40, 0x29, 0x27, 0xe, 0x10, 0x18, 0xa, 0x28, 0x28, 0x2a, 0x26, 0x20, 0x3a, 0x2e, 0x72, 0x30, 0x36, 0x24, 0x26, 0x2a, 0x2a, 0x26, 0xa, 0x1a, 0x8, 0x14, 0x28, 0x28, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x54, 0xff, 0xe5, 0x6, 0x60, 0x5, 0xf2, 0x1, 0x30, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0xe, 0x1, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x11, 0x21, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x16, 0x17, 0x16, 0x15, 0x14, 0x6, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x21, 0x11, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x16, 0x17, 0x16, 0x17, 0x11, 0x21, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x21, 0x11, 0x6, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x2e, 0x1, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x3, 0x5a, 0x1e, 0x17, 0x1b, 0x12, 0x14, 0xb, 0xa, 0xa, 0xb, 0x14, 0xb, 0x14, 0x19, 0x1c, 0x1e, 0x18, 0x1a, 0x13, 0x14, 0xb, 0xa, 0xa, 0xb, 0x28, 0x19, 0x19, 0x1d, 0x1e, 0x17, 0x19, 0x14, 0xe, 0xa, 0x1, 0x26, 0x11, 0xe, 0x13, 0xb, 0xb, 0x16, 0x13, 0x14, 0x1a, 0x19, 0x1c, 0x1d, 0x19, 0x1a, 0x14, 0x13, 0xb, 0xb, 0xb, 0x8, 0x9, 0x14, 0x19, 0x19, 0x1c, 0x20, 0x17, 0x19, 0x14, 0x13, 0xc, 0xa, 0xa, 0xc, 0x13, 0x16, 0x17, 0x1a, 0x1d, 0x1c, 0x19, 0x19, 0x14, 0x9, 0x8, 0xb, 0x16, 0x13, 0x11, 0x1d, 0x19, 0x1d, 0x18, 0x1d, 0x1a, 0x14, 0x13, 0xb, 0xb, 0xb, 0xb, 0x13, 0xe, 0x11, 0xfe, 0xdb, 0x9, 0xe, 0x11, 0x1d, 0x17, 0x1e, 0x1d, 0x18, 0x1a, 0x13, 0x14, 0xb, 0xa, 0xa, 0xb, 0x14, 0x12, 0x1b, 0x17, 0x1e, 0x19, 0x1c, 0x14, 0xb, 0x13, 0xb, 0xb, 0xb, 0xb, 0x14, 0x12, 0x1b, 0x17, 0x3c, 0x17, 0x1b, 0x12, 0x14, 0xb, 0xb, 0xb, 0xb, 0x13, 0xb, 0x14, 0x18, 0x1d, 0x1e, 0x17, 0x1b, 0x12, 0x14, 0xb, 0xa, 0xa, 0xb, 0x14, 0x13, 0x1a, 0x18, 0x1d, 0x1b, 0x34, 0x14, 0xe, 0x9, 0xfe, 0xdb, 0x11, 0xd, 0x16, 0x9, 0xa, 0xa, 0xb, 0x14, 0x16, 0x17, 0x1a, 0x1b, 0x1e, 0x19, 0x19, 0x14, 0x13, 0xc, 0xa, 0xa, 0x8, 0xa, 0x16, 0x17, 0x1a, 0x1c, 0x1d, 0x19, 0x1a, 0x14, 0x12, 0xc, 0xa, 0xa, 0xc, 0x12, 0x11, 0x1d, 0x19, 0x1d, 0x1c, 0x1a, 0x19, 0x14, 0xa, 0x8, 0xa, 0xa, 0xc, 0x13, 0x13, 0x1a, 0x19, 0x1e, 0x1b, 0x1a, 0x19, 0x14, 0x14, 0xb, 0xa, 0xa, 0xc, 0x13, 0xd, 0x11, 0x1, 0x25, 0xa, 0xe, 0x14, 0x19, 0x17, 0x1e, 0x1d, 0x18, 0x1a, 0x28, 0xa, 0xb, 0xb, 0xa, 0x14, 0x13, 0x1b, 0x17, 0x1e, 0x1d, 0x18, 0x14, 0xb, 0x14, 0xb, 0xa, 0xa, 0xb, 0x14, 0x13, 0x1a, 0x17, 0x5, 0xf2, 0xb, 0xc, 0x12, 0x14, 0x1a, 0x19, 0x1d, 0x1c, 0x19, 0x1a, 0x14, 0xa, 0x8, 0xa, 0xa, 0xc, 0x12, 0x14, 0x1a, 0x19, 0x1d, 0x1f, 0x17, 0x19, 0x28, 0xb, 0xa, 0xa, 0xc, 0x13, 0xd, 0x11, 0xfe, 0xdb, 0xa, 0xe, 0x14, 0x19, 0x17, 0x1e, 0x1d, 0x32, 0x14, 0x14, 0xb, 0xa, 0xa, 0xb, 0x14, 0x13, 0x1a, 0x18, 0x1e, 0x1c, 0x19, 0x14, 0xb, 0x14, 0xb, 0xa, 0xa, 0xb, 0x14, 0x12, 0x1b, 0x18, 0x1d, 0x1e, 0x18, 0x1b, 0x12, 0x16, 0x9, 0xa, 0xa, 0xb, 0x14, 0xb, 0x14, 0x19, 0x1c, 0x1a, 0x36, 0x13, 0x11, 0xd, 0xb, 0xb, 0xa, 0x14, 0x14, 0x1a, 0x18, 0x1d, 0x1e, 0x17, 0x19, 0x14, 0xe, 0xa, 0xfe, 0xda, 0x12, 0xd, 0x10, 0xe, 0xb, 0xb, 0xb, 0x13, 0x14, 0x1a, 0x19, 0x1c, 0x1d, 0x19, 0x1a, 0x14, 0x12, 0xc, 0xb, 0xb, 0x8, 0x9, 0x13, 0x1a, 0x19, 0x1c, 0x1d, 0x1a, 0x19, 0x14, 0x13, 0xc, 0xa, 0xa, 0xc, 0x13, 0x14, 0x19, 0x1a, 0x1d, 0x1c, 0x19, 0x1a, 0x13, 0x9, 0x8, 0xb, 0xb, 0xc, 0x12, 0x14, 0x1a, 0x19, 0x1d, 0x1c, 0x19, 0x1a, 0x14, 0x13, 0xb, 0xb, 0x16, 0x13, 0xd, 0x12, 0x1, 0x25, 0x9, 0xe, 0x17, 0x16, 0x18, 0x1e, 0x1c, 0x19, 0x1a, 0x13, 0x16, 0x9, 0xa, 0xa, 0xb, 0x14, 0x12, 0x1b, 0x17, 0x1e, 0x1d, 0x19, 0x13, 0xc, 0x16, 0x9, 0xa, 0xa, 0xb, 0x14, 0x12, 0x1b, 0x17, 0x3c, 0x17, 0x1b, 0x13, 0x11, 0xd, 0xb, 0xb, 0xa, 0x14, 0xb, 0x14, 0x18, 0x1d, 0x1e, 0x17, 0x1b, 0x12, 0x14, 0xb, 0xb, 0xb, 0xb, 0x14, 0x13, 0x1a, 0x18, 0x1d, 0x1e, 0x17, 0x1a, 0x13, 0xe, 0xa, 0x1, 0x25, 0x11, 0xd, 0x13, 0xc, 0xa, 0xa, 0xb, 0x28, 0x19, 0x1a, 0x1c, 0x19, 0x1d, 0x1a, 0x14, 0x12, 0xc, 0xa, 0xa, 0x8, 0xa, 0x14, 0x1a, 0x19, 0x1c, 0x1d, 0x19, 0x1a, 0x14, 0x12, 0xc, 0xb, 0x0, 0x0, 0x0, 0x1, 0x0, 0x57, 0xff, 0xe3, 0x6, 0x5f, 0x5, 0xf5, 0x0, 0x1b, 0x0, 0x0, 0x13, 0x32, 0x37, 0x36, 0x37, 0x36, 0x12, 0x35, 0x14, 0x12, 0x17, 0x16, 0x17, 0x16, 0x33, 0x22, 0x7, 0x6, 0x7, 0x6, 0x2, 0x15, 0x34, 0x2, 0x27, 0x26, 0x27, 0x26, 0x57, 0x9b, 0x8d, 0x86, 0x73, 0x70, 0x73, 0x6e, 0x75, 0x6c, 0x8d, 0x8c, 0x9c, 0x9c, 0x8c, 0x8d, 0x6c, 0x75, 0x6e, 0x73, 0x70, 0x73, 0x86, 0x8d, 0x2, 0xec, 0x3b, 0x38, 0x72, 0x6f, 0x1, 0x14, 0xa1, 0x9d, 0xfe, 0xf0, 0x77, 0x6e, 0x3c, 0x3b, 0x3b, 0x3c, 0x6e, 0x77, 0xfe, 0xf0, 0x9d, 0xa1, 0x1, 0x14, 0x6f, 0x72, 0x38, 0x3b, 0x0, 0x2, 0x0, 0x57, 0xff, 0xe3, 0x6, 0x5f, 0x5, 0xf5, 0x0, 0x1b, 0x0, 0x37, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x14, 0x6, 0x7, 0x6, 0x7, 0x6, 0x21, 0x32, 0x37, 0x36, 0x37, 0x36, 0x12, 0x35, 0x14, 0x12, 0x17, 0x16, 0x17, 0x16, 0x33, 0x22, 0x7, 0x6, 0x7, 0x6, 0x2, 0x15, 0x34, 0x2, 0x27, 0x26, 0x27, 0x26, 0x1, 0x65, 0x65, 0x5c, 0x57, 0x4a, 0x49, 0x4b, 0x47, 0x4d, 0x46, 0x5b, 0x5b, 0x66, 0x66, 0x5b, 0x5b, 0x46, 0x4d, 0x47, 0x4b, 0x49, 0x4a, 0x57, 0x5c, 0xfe, 0x8d, 0x9b, 0x8d, 0x86, 0x73, 0x70, 0x73, 0x6e, 0x75, 0x6c, 0x8d, 0x8c, 0x9c, 0x9c, 0x8c, 0x8d, 0x6c, 0x75, 0x6e, 0x73, 0x70, 0x73, 0x86, 0x8d, 0x2, 0xec, 0x26, 0x25, 0x4a, 0x48, 0xb3, 0x69, 0x66, 0xb1, 0x4d, 0x48, 0x27, 0x26, 0x26, 0x27, 0x48, 0x4d, 0xb1, 0x66, 0x69, 0xb3, 0x48, 0x4a, 0x25, 0x26, 0x3b, 0x38, 0x72, 0x6f, 0x1, 0x14, 0xa1, 0x9d, 0xfe, 0xf0, 0x77, 0x6e, 0x3c, 0x3b, 0x3b, 0x3c, 0x6e, 0x77, 0xfe, 0xf0, 0x9d, 0xa1, 0x1, 0x14, 0x6f, 0x72, 0x38, 0x3b, 0x0, 0x2, 0x0, 0x2f, 0xff, 0xec, 0x6, 0x85, 0x5, 0xf3, 0x0, 0x9, 0x0, 0x13, 0x0, 0x0, 0x13, 0x25, 0x9, 0x1, 0x5, 0x1, 0x13, 0x25, 0x5, 0x13, 0x1, 0x3, 0x21, 0x1, 0x3, 0x9, 0x1, 0x3, 0x1, 0x21, 0x2f, 0x2, 0xd, 0x1, 0x1e, 0x1, 0x1e, 0x2, 0xd, 0xfe, 0xa6, 0x25, 0xfe, 0xa, 0xfe, 0xa, 0x25, 0x1, 0xd1, 0xbf, 0xfd, 0x95, 0x1, 0xf4, 0xbf, 0x1, 0xf5, 0x1, 0xf5, 0xbf, 0x1, 0xf4, 0xfd, 0x95, 0x3, 0xa5, 0x83, 0x1, 0xcb, 0xfe, 0x35, 0x83, 0xfe, 0x61, 0xfd, 0xe6, 0xca, 0xca, 0x2, 0x1a, 0x3, 0xec, 0xfd, 0xb3, 0xfe, 0x94, 0xfd, 0xb4, 0x1, 0x6c, 0xfe, 0x94, 0x2, 0x4c, 0x1, 0x6c, 0x0, 0x0, 0x0, 0x2, 0x0, 0x56, 0xff, 0xe3, 0x6, 0x5e, 0x5, 0xf0, 0x0, 0x9, 0x0, 0x24, 0x0, 0x0, 0x1, 0x3, 0x21, 0x1, 0x3, 0x9, 0x1, 0x3, 0x1, 0x21, 0x3, 0x32, 0x17, 0x16, 0x17, 0x16, 0x12, 0x15, 0x14, 0x2, 0x7, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x27, 0x26, 0x2, 0x35, 0x34, 0x12, 0x37, 0x36, 0x37, 0x36, 0x3, 0x5a, 0xac, 0xfd, 0xd3, 0x1, 0xc2, 0xac, 0x1, 0xc3, 0x1, 0xc3, 0xac, 0x1, 0xc2, 0xfd, 0xd3, 0xac, 0x9a, 0x8e, 0x86, 0x73, 0x70, 0x73, 0x6e, 0x75, 0x6e, 0x8b, 0x8d, 0xfe, 0xcb, 0x8e, 0x86, 0x73, 0x70, 0x73, 0x6e, 0x75, 0x6c, 0x8d, 0x8c, 0x5, 0xea, 0xfd, 0xee, 0xfe, 0xb8, 0xfd, 0xef, 0x1, 0x48, 0xfe, 0xb8, 0x2, 0x11, 0x1, 0x48, 0x2, 0x18, 0x3b, 0x38, 0x72, 0x6f, 0xfe, 0xec, 0xa1, 0x98, 0xfe, 0xf0, 0x77, 0x70, 0x3a, 0x3b, 0x3b, 0x38, 0x72, 0x6f, 0x1, 0x14, 0x9c, 0x9d, 0x1, 0x10, 0x77, 0x6e, 0x3c, 0x3b, 0x0, 0x2, 0x0, 0x30, 0xff, 0xed, 0x6, 0x84, 0x5, 0xf2, 0x0, 0x1d, 0x0, 0x27, 0x0, 0x0, 0x0, 0x22, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x27, 0x3, 0x13, 0x21, 0x1, 0x13, 0x9, 0x1, 0x13, 0x1, 0x21, 0x3, 0x9d, 0x86, 0x39, 0x39, 0x30, 0x30, 0x17, 0x18, 0x18, 0x17, 0x30, 0x30, 0x39, 0x39, 0x86, 0x39, 0x39, 0x30, 0x30, 0x17, 0x18, 0x18, 0x17, 0x30, 0x30, 0x39, 0x7c, 0xbf, 0x2, 0x6b, 0xfe, 0xc, 0xbf, 0xfe, 0xb, 0xfe, 0xb, 0xbf, 0xfe, 0xc, 0x2, 0x6b, 0x3, 0xe4, 0x18, 0x1a, 0x2d, 0x32, 0x38, 0x3b, 0x42, 0x41, 0x3b, 0x38, 0x32, 0x2d, 0x1a, 0x18, 0x18, 0x1a, 0x2d, 0x32, 0x38, 0x3b, 0x41, 0x42, 0x3b, 0x38, 0x32, 0x2d, 0x1a, 0x2, 0x26, 0xfd, 0xb3, 0xfe, 0x94, 0xfd, 0xb4, 0x1, 0x6b, 0xfe, 0x95, 0x2, 0x4c, 0x1, 0x6c, 0x0, 0x3, 0x0, 0x2f, 0xff, 0xec, 0x6, 0x85, 0x5, 0xf3, 0x0, 0x9, 0x0, 0x27, 0x0, 0x31, 0x0, 0x0, 0x13, 0x25, 0x9, 0x1, 0x5, 0x1, 0x13, 0x25, 0x5, 0x13, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x13, 0x3, 0x21, 0x1, 0x3, 0x9, 0x1, 0x3, 0x1, 0x21, 0x2f, 0x2, 0xd, 0x1, 0x1e, 0x1, 0x1e, 0x2, 0xd, 0xfe, 0xa6, 0x25, 0xfe, 0xa, 0xfe, 0xa, 0x25, 0x1, 0x8e, 0x86, 0x39, 0x39, 0x30, 0x30, 0x17, 0x18, 0x18, 0x17, 0x30, 0x30, 0x39, 0x39, 0x86, 0x39, 0x39, 0x30, 0x30, 0x17, 0x18, 0x18, 0x17, 0x30, 0x30, 0x39, 0x7c, 0xbf, 0xfd, 0x95, 0x1, 0xf4, 0xbf, 0x1, 0xf5, 0x1, 0xf5, 0xbf, 0x1, 0xf4, 0xfd, 0x95, 0x3, 0xa5, 0x83, 0x1, 0xcb, 0xfe, 0x35, 0x83, 0xfe, 0x61, 0xfd, 0xe6, 0xca, 0xca, 0x2, 0x1a, 0x1, 0xde, 0x18, 0x1a, 0x2d, 0x32, 0x38, 0x3b, 0x42, 0x41, 0x3b, 0x38, 0x32, 0x2d, 0x1a, 0x18, 0x18, 0x1a, 0x2d, 0x32, 0x38, 0x3b, 0x41, 0x42, 0x3b, 0x38, 0x32, 0x2d, 0x1a, 0x2, 0x26, 0xfd, 0xb3, 0xfe, 0x94, 0xfd, 0xb4, 0x1, 0x6b, 0xfe, 0x95, 0x2, 0x4c, 0x1, 0x6c, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x30, 0xff, 0xed, 0x6, 0x84, 0x5, 0xf2, 0x0, 0x9, 0x0, 0x13, 0x0, 0x1d, 0x0, 0x0, 0x1, 0x13, 0x21, 0x7, 0x13, 0x27, 0x7, 0x13, 0x27, 0x21, 0x13, 0x3, 0x21, 0x1, 0x3, 0x9, 0x1, 0x3, 0x1, 0x21, 0x3, 0x13, 0x21, 0x1, 0x13, 0x9, 0x1, 0x13, 0x1, 0x21, 0x3, 0x5a, 0x60, 0x1, 0x35, 0xfa, 0x5f, 0xfa, 0xfa, 0x5f, 0xfa, 0x1, 0x35, 0x60, 0x8f, 0xfe, 0x2f, 0x1, 0x78, 0x90, 0x1, 0x78, 0x1, 0x78, 0x90, 0x1, 0x78, 0xfe, 0x2f, 0x8f, 0xbf, 0x2, 0x6b, 0xfe, 0xc, 0xbf, 0xfe, 0xb, 0xfe, 0xb, 0xbf, 0xfe, 0xc, 0x2, 0x6b, 0x4, 0x49, 0xfe, 0xd9, 0xb6, 0xfe, 0xda, 0xb6, 0xb6, 0x1, 0x26, 0xb6, 0x1, 0xfb, 0xfe, 0x47, 0xfe, 0xef, 0xfe, 0x47, 0x1, 0x11, 0xfe, 0xef, 0x1, 0xb9, 0x1, 0x11, 0x2, 0x8e, 0xfd, 0xb3, 0xfe, 0x94, 0xfd, 0xb4, 0x1, 0x6c, 0xfe, 0x94, 0x2, 0x4c, 0x1, 0x6c, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x30, 0xff, 0xed, 0x6, 0x84, 0x5, 0xf2, 0x0, 0x9, 0x0, 0x13, 0x0, 0x1d, 0x0, 0x0, 0x1, 0x17, 0x33, 0x7, 0x17, 0x27, 0x7, 0x37, 0x27, 0x33, 0x1b, 0x1, 0x21, 0x1, 0x13, 0x9, 0x1, 0x13, 0x1, 0x21, 0x37, 0x3, 0x21, 0x5, 0x3, 0x25, 0x5, 0x3, 0x25, 0x21, 0x3, 0x5a, 0x26, 0x7c, 0x64, 0x26, 0x64, 0x64, 0x26, 0x64, 0x7c, 0x26, 0xbf, 0x2, 0x6b, 0xfe, 0xc, 0xbf, 0xfe, 0xb, 0xfe, 0xb, 0xbf, 0xfe, 0xc, 0x2, 0x6b, 0xbf, 0x73, 0xfe, 0x8a, 0x1, 0x2f, 0x75, 0x1, 0x2f, 0x1, 0x2f, 0x75, 0x1, 0x2f, 0xfe, 0x8a, 0x3, 0x49, 0x76, 0x49, 0x76, 0x49, 0x49, 0x76, 0x49, 0x3, 0x1f, 0xfd, 0xb3, 0xfe, 0x94, 0xfd, 0xb4, 0x1, 0x6c, 0xfe, 0x94, 0x2, 0x4c, 0x1, 0x6c, 0xfb, 0xfe, 0x9d, 0xdb, 0xfe, 0x9d, 0xdb, 0xdb, 0x1, 0x63, 0xdb, 0x0, 0x0, 0x6, 0x0, 0x30, 0xff, 0xed, 0x6, 0x84, 0x5, 0xf2, 0x0, 0x2, 0x0, 0x5, 0x0, 0x8, 0x0, 0xb, 0x0, 0xe, 0x0, 0x18, 0x0, 0x0, 0x25, 0x1, 0x35, 0x25, 0x1, 0x37, 0x1, 0x3, 0x27, 0x25, 0x21, 0x7, 0xb, 0x1, 0x17, 0x11, 0x13, 0x21, 0x1, 0x13, 0x9, 0x1, 0x13, 0x1, 0x21, 0x1, 0xe1, 0x1, 0x78, 0xfd, 0xa0, 0x1, 0x78, 0xe8, 0x1, 0x7a, 0x90, 0xe8, 0x2, 0x60, 0xfe, 0x2f, 0x8f, 0x1, 0x8f, 0x8f, 0xbf, 0x2, 0x6b, 0xfe, 0xc, 0xbf, 0xfe, 0xb, 0xfe, 0xb, 0xbf, 0xfe, 0xc, 0x2, 0x6b, 0x99, 0x1, 0x11, 0xf3, 0xc7, 0xfe, 0xef, 0x4b, 0xfd, 0xfb, 0x1, 0xb9, 0x4b, 0xc7, 0xc6, 0x2, 0x80, 0xfe, 0x47, 0xc6, 0x3, 0x53, 0xfd, 0xb3, 0xfe, 0x94, 0xfd, 0xb4, 0x1, 0x6c, 0xfe, 0x94, 0x2, 0x4c, 0x1, 0x6c, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x32, 0x0, 0x18, 0x6, 0x86, 0x5, 0xb7, 0x0, 0xd, 0x0, 0x17, 0x0, 0x0, 0x9, 0x1, 0x13, 0x27, 0x25, 0x1, 0x27, 0x13, 0x1, 0x21, 0x13, 0x17, 0x13, 0x21, 0x1, 0x3, 0x21, 0x5, 0x3, 0x1, 0x5, 0x3, 0x1, 0x21, 0x6, 0x86, 0xfe, 0x3e, 0xac, 0xa2, 0xfe, 0xb2, 0xfe, 0x6a, 0xa2, 0xac, 0xfe, 0x3e, 0x2, 0x2d, 0xac, 0xa2, 0x9b, 0x1, 0x9c, 0xfd, 0x27, 0x86, 0xfe, 0x4f, 0x1, 0x5e, 0x86, 0x1, 0x5f, 0x1, 0x5f, 0x86, 0x1, 0x5e, 0xfe, 0x4f, 0x3, 0x71, 0xfe, 0xb8, 0xfd, 0xef, 0x34, 0xf3, 0xfe, 0xd9, 0x34, 0x2, 0x11, 0x1, 0x48, 0x2, 0x12, 0x34, 0xfe, 0x22, 0x1, 0x68, 0xfe, 0x64, 0xff, 0xfe, 0x64, 0x0, 0xff, 0xff, 0x1, 0x9c, 0x0, 0xff, 0x0, 0x1, 0x0, 0x84, 0x0, 0x0, 0x6, 0x30, 0x5, 0xd5, 0x0, 0x11, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x25, 0x13, 0xd, 0x1, 0x3, 0x25, 0x11, 0x21, 0x11, 0x5, 0x3, 0x2d, 0x1, 0x13, 0x2, 0xba, 0x1, 0x40, 0x1, 0x96, 0xa0, 0xfe, 0x6a, 0x1, 0x96, 0xa0, 0xfe, 0x6a, 0xfe, 0xc0, 0xfe, 0x6a, 0xa0, 0x1, 0x95, 0xfe, 0x6b, 0xa0, 0x4, 0x0, 0x1, 0xd5, 0xfe, 0x2a, 0xeb, 0xfe, 0xeb, 0xea, 0xeb, 0xfe, 0xeb, 0xeb, 0xfe, 0x2a, 0x1, 0xd6, 0xeb, 0x1, 0x15, 0xeb, 0xea, 0x1, 0x15, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x98, 0x0, 0x0, 0x6, 0x1c, 0x5, 0xd5, 0x0, 0x5, 0x0, 0x17, 0x0, 0x0, 0x1, 0x7, 0x17, 0x33, 0x37, 0x27, 0x5, 0x1, 0x37, 0x1, 0x11, 0x33, 0x11, 0x1, 0x17, 0x9, 0x1, 0x7, 0x1, 0x11, 0x23, 0x11, 0x1, 0x27, 0x2, 0xe3, 0x78, 0x78, 0xee, 0x78, 0x78, 0xfe, 0x99, 0xfe, 0x2e, 0x78, 0x1, 0xd2, 0xf0, 0x1, 0xd2, 0x78, 0xfe, 0x2e, 0x1, 0xd2, 0x78, 0xfe, 0x2e, 0xf0, 0xfe, 0x2e, 0x78, 0x3, 0xb9, 0xce, 0xd0, 0xd0, 0xce, 0xce, 0x1, 0xd, 0xd0, 0xfe, 0xf2, 0x2, 0x1b, 0xfd, 0xe5, 0x1, 0xe, 0xd0, 0xfe, 0xf3, 0xfe, 0xf2, 0xd0, 0x1, 0xd, 0xfd, 0xe6, 0x2, 0x1a, 0xfe, 0xf3, 0xd0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x70, 0x0, 0x0, 0x6, 0x44, 0x5, 0xd5, 0x0, 0x17, 0x0, 0x0, 0x9, 0x1, 0x7, 0x1, 0x11, 0x23, 0x11, 0x1, 0x27, 0x1, 0x21, 0x35, 0x21, 0x1, 0x37, 0x1, 0x11, 0x33, 0x11, 0x1, 0x17, 0x1, 0x21, 0x15, 0x3, 0xd4, 0x1, 0xb9, 0x47, 0xfe, 0x46, 0x64, 0xfe, 0x46, 0x47, 0x1, 0xba, 0xfd, 0x8f, 0x2, 0x72, 0xfe, 0x45, 0x47, 0x1, 0xba, 0x64, 0x1, 0xba, 0x47, 0xfe, 0x45, 0x2, 0x72, 0x2, 0xb8, 0xfe, 0x46, 0x47, 0x1, 0xbb, 0xfd, 0x8e, 0x2, 0x71, 0xfe, 0x46, 0x47, 0x1, 0xba, 0x64, 0x1, 0xbb, 0x47, 0xfe, 0x46, 0x2, 0x71, 0xfd, 0x8f, 0x1, 0xba, 0x47, 0xfe, 0x45, 0x64, 0x0, 0x1, 0x0, 0x40, 0xff, 0xe3, 0x6, 0x4c, 0x5, 0xf0, 0x0, 0xf, 0x0, 0x0, 0x1, 0x13, 0x9, 0x1, 0xd, 0x1, 0x9, 0x1, 0xb, 0x1, 0x9, 0x1, 0x2d, 0x1, 0x9, 0x1, 0x3, 0x46, 0x4f, 0x1, 0xd4, 0xfe, 0x9d, 0x2, 0x46, 0xfd, 0xba, 0x1, 0x63, 0xfe, 0x2c, 0x4f, 0x4f, 0xfe, 0x2c, 0x1, 0x63, 0xfd, 0xba, 0x2, 0x46, 0xfe, 0x9d, 0x1, 0xd4, 0x5, 0xf0, 0xfd, 0xb9, 0x1, 0x64, 0xfe, 0x2c, 0x50, 0x4f, 0xfe, 0x2c, 0x1, 0x64, 0xfd, 0xb9, 0x2, 0x47, 0xfe, 0x9c, 0x1, 0xd4, 0x4f, 0x50, 0x1, 0xd4, 0xfe, 0x9c, 0x0, 0x0, 0x9, 0x0, 0x54, 0xff, 0xe3, 0x6, 0x60, 0x5, 0xf0, 0x0, 0x2, 0x0, 0x5, 0x0, 0x8, 0x0, 0xb, 0x0, 0xe, 0x0, 0x11, 0x0, 0x14, 0x0, 0x17, 0x0, 0x27, 0x0, 0x0, 0x1, 0x5, 0x3, 0x5, 0x25, 0x5, 0x1, 0x3, 0x25, 0x3, 0x13, 0x3, 0x1, 0x25, 0x13, 0x25, 0x5, 0x25, 0x1, 0x13, 0x5, 0x13, 0x3, 0x13, 0x11, 0x13, 0x25, 0x3, 0xd, 0x1, 0x13, 0x25, 0xb, 0x1, 0x5, 0x13, 0x2d, 0x1, 0x3, 0x5, 0x4, 0xf5, 0xfe, 0xdd, 0x77, 0x2, 0x44, 0xfe, 0xdb, 0xfe, 0xe1, 0x1, 0x9a, 0x7b, 0xfe, 0xe1, 0x1, 0x77, 0x77, 0xfe, 0x65, 0x1, 0x23, 0x77, 0xfd, 0xbc, 0x1, 0x25, 0x1, 0x1f, 0xfe, 0x66, 0x7b, 0x1, 0x1f, 0x1, 0x77, 0x77, 0x9f, 0x1, 0x84, 0xa4, 0x1, 0x87, 0xfe, 0x79, 0xa4, 0xfe, 0x7c, 0x9f, 0x9f, 0xfe, 0x7c, 0xa4, 0xfe, 0x79, 0x1, 0x87, 0xa4, 0x1, 0x84, 0x4, 0x85, 0x7b, 0xfe, 0xe0, 0x1, 0x78, 0x78, 0xfe, 0x65, 0x1, 0x23, 0x77, 0xfd, 0xbc, 0x1, 0x25, 0x1, 0x1f, 0xfe, 0x66, 0x7b, 0x1, 0x1f, 0x1, 0x77, 0x77, 0x1, 0x9c, 0xfe, 0xdd, 0x78, 0x2, 0x45, 0xfe, 0xdb, 0xfe, 0xe0, 0x3, 0x6, 0xfe, 0x79, 0xa4, 0xfe, 0x7c, 0xa0, 0x9f, 0xfe, 0x7c, 0xa4, 0xfe, 0x79, 0x1, 0x87, 0xa4, 0x1, 0x84, 0x9f, 0xa0, 0x1, 0x84, 0xa4, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xbb, 0xff, 0xe3, 0x5, 0xf9, 0x5, 0xf0, 0x0, 0xb, 0x0, 0x0, 0x1, 0x13, 0x25, 0x9, 0x1, 0x25, 0xb, 0x1, 0x5, 0x9, 0x1, 0x5, 0x3, 0x5a, 0x70, 0x2, 0x2f, 0xfe, 0x41, 0x1, 0xbf, 0xfd, 0xd1, 0x70, 0x70, 0xfd, 0xd1, 0x1, 0xbf, 0xfe, 0x41, 0x2, 0x2f, 0x5, 0xf0, 0xfd, 0xbc, 0xc1, 0xfe, 0x7d, 0xfe, 0x7d, 0xc1, 0xfd, 0xbb, 0x2, 0x45, 0xc1, 0x1, 0x83, 0x1, 0x83, 0xc1, 0x0, 0x0, 0x1, 0x0, 0x54, 0xff, 0xe3, 0x6, 0x60, 0x5, 0xf0, 0x0, 0xf, 0x0, 0x0, 0x1, 0x13, 0x9, 0x1, 0xd, 0x1, 0x9, 0x1, 0xb, 0x1, 0x9, 0x1, 0x2d, 0x1, 0x9, 0x1, 0x3, 0x5a, 0x71, 0x1, 0xb2, 0xfe, 0xef, 0x1, 0xf4, 0xfe, 0xc, 0x1, 0x11, 0xfe, 0x4e, 0x71, 0x71, 0xfe, 0x4e, 0x1, 0x11, 0xfe, 0xc, 0x1, 0xf4, 0xfe, 0xef, 0x1, 0xb2, 0x5, 0xf0, 0xfe, 0xb, 0x1, 0x12, 0xfe, 0x4e, 0x72, 0x71, 0xfe, 0x4e, 0x1, 0x12, 0xfe, 0xb, 0x1, 0xf5, 0xfe, 0xee, 0x1, 0xb2, 0x71, 0x72, 0x1, 0xb2, 0xfe, 0xee, 0x0, 0x0, 0x1, 0x0, 0x54, 0xff, 0xe3, 0x6, 0x60, 0x5, 0xf0, 0x0, 0xf, 0x0, 0x0, 0x1, 0x13, 0x25, 0x3, 0xd, 0x1, 0x13, 0x25, 0xb, 0x1, 0x5, 0x13, 0x2d, 0x1, 0x3, 0x5, 0x3, 0x5a, 0xaa, 0x1, 0x79, 0x89, 0x1, 0x6c, 0xfe, 0x94, 0x89, 0xfe, 0x87, 0xaa, 0xaa, 0xfe, 0x87, 0x89, 0xfe, 0x94, 0x1, 0x6c, 0x89, 0x1, 0x79, 0x5, 0xf0, 0xfe, 0x94, 0x89, 0xfe, 0x87, 0xab, 0xaa, 0xfe, 0x87, 0x89, 0xfe, 0x94, 0x1, 0x6c, 0x89, 0x1, 0x79, 0xaa, 0xab, 0x1, 0x79, 0x89, 0x0, 0x0, 0x1, 0x0, 0x54, 0xff, 0xe3, 0x6, 0x60, 0x5, 0xf0, 0x0, 0x17, 0x0, 0x0, 0x1, 0x13, 0x25, 0x3, 0x25, 0x3, 0xd, 0x1, 0x13, 0x25, 0x13, 0x25, 0xb, 0x1, 0x5, 0x13, 0x5, 0x13, 0x2d, 0x1, 0x3, 0x5, 0x3, 0x5, 0x3, 0x5a, 0x74, 0x1, 0xf, 0x47, 0x1, 0x63, 0xef, 0x1, 0x56, 0xfe, 0xaa, 0xef, 0xfe, 0x9d, 0x47, 0xfe, 0xf1, 0x74, 0x74, 0xfe, 0xf1, 0x47, 0xfe, 0x9d, 0xef, 0xfe, 0xaa, 0x1, 0x56, 0xef, 0x1, 0x63, 0x47, 0x1, 0xf, 0x5, 0xf0, 0xfe, 0xa9, 0xef, 0xfe, 0x9d, 0x47, 0xfe, 0xf1, 0x73, 0x74, 0xfe, 0xf1, 0x47, 0xfe, 0x9d, 0xef, 0xfe, 0xa9, 0x1, 0x57, 0xef, 0x1, 0x63, 0x47, 0x1, 0xf, 0x74, 0x73, 0x1, 0xf, 0x47, 0x1, 0x63, 0xef, 0x0, 0x0, 0x1, 0x0, 0x70, 0x0, 0x0, 0x6, 0x44, 0x5, 0xd5, 0x0, 0x2f, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x13, 0x17, 0x3, 0x1, 0x17, 0x1, 0x25, 0x17, 0x5, 0x21, 0x15, 0x21, 0x5, 0x7, 0x25, 0x1, 0x7, 0x1, 0x13, 0x7, 0x3, 0x11, 0x23, 0x11, 0x3, 0x27, 0x13, 0x1, 0x27, 0x1, 0x5, 0x27, 0x25, 0x21, 0x35, 0x21, 0x25, 0x37, 0x5, 0x1, 0x37, 0x1, 0x3, 0x37, 0x3, 0x1e, 0x78, 0xaa, 0x6f, 0xaa, 0x1, 0x3a, 0x55, 0xfe, 0xc5, 0x1, 0x9c, 0x2e, 0xfe, 0x63, 0x1, 0xbe, 0xfe, 0x46, 0x1, 0x99, 0x2e, 0xfe, 0x64, 0x1, 0x3b, 0x55, 0xfe, 0xc7, 0xa9, 0x6f, 0xaa, 0x78, 0xaa, 0x6f, 0xaa, 0xfe, 0xc6, 0x55, 0x1, 0x3a, 0xfe, 0x65, 0x2e, 0x1, 0x9a, 0xfe, 0x45, 0x1, 0xbe, 0xfe, 0x63, 0x2e, 0x1, 0x99, 0xfe, 0xc8, 0x55, 0x1, 0x39, 0xa9, 0x6f, 0x4, 0x17, 0x1, 0xbe, 0xfe, 0x45, 0x1, 0x99, 0x2e, 0xfe, 0x66, 0x1, 0x3a, 0x55, 0xfe, 0xc5, 0xab, 0x6f, 0xab, 0x78, 0xaa, 0x6f, 0xac, 0xfe, 0xc4, 0x55, 0x1, 0x39, 0xfe, 0x67, 0x2e, 0x1, 0x98, 0xfe, 0x46, 0x1, 0xbc, 0xfe, 0x66, 0x2e, 0x1, 0x9b, 0xfe, 0xc5, 0x55, 0x1, 0x3a, 0xaa, 0x6f, 0xaa, 0x78, 0xab, 0x6f, 0xa9, 0x1, 0x39, 0x55, 0xfe, 0xc7, 0x1, 0x99, 0x2e, 0x0, 0x0, 0x1, 0x0, 0xa7, 0xff, 0xe3, 0x6, 0xd, 0x5, 0xf0, 0x0, 0x9b, 0x0, 0x0, 0x1, 0x35, 0x34, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x1d, 0x1, 0x17, 0x16, 0x17, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x2b, 0x1, 0x22, 0x23, 0x22, 0xf, 0x1, 0x16, 0x15, 0x14, 0x7, 0x17, 0x16, 0x33, 0x32, 0x3b, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x2f, 0x1, 0x6, 0xf, 0x1, 0x15, 0x14, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x3d, 0x1, 0x26, 0x27, 0x26, 0x27, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x3b, 0x1, 0x32, 0x33, 0x32, 0x3f, 0x1, 0x26, 0x35, 0x34, 0x37, 0x27, 0x26, 0x23, 0x22, 0x2b, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x1f, 0x1, 0x36, 0x37, 0x36, 0x3, 0x27, 0x4b, 0x2c, 0x36, 0x38, 0x78, 0x38, 0x36, 0x2c, 0x4c, 0x10, 0x1f, 0x18, 0xa, 0x71, 0x41, 0x27, 0x43, 0x3c, 0x34, 0x16, 0x15, 0x47, 0x1e, 0x14, 0x5, 0xe, 0x57, 0x3e, 0x4c, 0xc, 0xb, 0xa, 0x83, 0x64, 0xc, 0x4, 0x5, 0xc, 0x66, 0x82, 0xb, 0xa, 0xc, 0x4c, 0x3e, 0x57, 0xe, 0x5, 0x14, 0x1e, 0x47, 0x15, 0x16, 0x34, 0x3c, 0x43, 0x27, 0x43, 0x6e, 0xe, 0x1b, 0x19, 0x10, 0x4c, 0x2c, 0x36, 0x38, 0x78, 0x38, 0x36, 0x2c, 0x4d, 0x9, 0x8, 0x1d, 0x17, 0xe, 0x6e, 0x43, 0x27, 0x43, 0x3c, 0x34, 0x16, 0x15, 0x47, 0x1e, 0x14, 0x5, 0xe, 0x57, 0x3e, 0x4c, 0xc, 0xb, 0xa, 0x84, 0x64, 0xc, 0x5, 0x4, 0xc, 0x64, 0x83, 0xa, 0xb, 0xc, 0x4c, 0x3e, 0x57, 0xe, 0x5, 0x14, 0x1e, 0x47, 0x15, 0x16, 0x34, 0x3c, 0x43, 0x27, 0x45, 0x6c, 0xb, 0x1a, 0x1d, 0x8, 0x3, 0x94, 0xc, 0x80, 0x77, 0x46, 0x4e, 0x64, 0x30, 0x31, 0x31, 0x30, 0x64, 0x4e, 0x46, 0x79, 0x7e, 0xc, 0x6, 0xe, 0x17, 0x6, 0x44, 0x7a, 0x49, 0x27, 0x23, 0x7, 0x18, 0x34, 0x23, 0x2c, 0x16, 0x18, 0x47, 0x32, 0x24, 0x3a, 0x7, 0x13, 0x14, 0x15, 0x14, 0x7, 0x3b, 0x24, 0x32, 0x47, 0x18, 0x16, 0x2c, 0x23, 0x34, 0x18, 0x7, 0x23, 0x27, 0x49, 0x7e, 0x3f, 0x8, 0x19, 0x9, 0x6, 0xf, 0x7f, 0x79, 0x46, 0x4e, 0x64, 0x30, 0x31, 0x31, 0x30, 0x64, 0x4e, 0x46, 0x79, 0x7f, 0xf, 0x3, 0x3, 0xd, 0x15, 0x8, 0x3f, 0x7e, 0x49, 0x27, 0x23, 0x7, 0x18, 0x34, 0x23, 0x2c, 0x16, 0x18, 0x47, 0x32, 0x24, 0x3a, 0x7, 0x14, 0x16, 0x14, 0x13, 0x7, 0x3a, 0x24, 0x32, 0x47, 0x18, 0x16, 0x2c, 0x23, 0x34, 0x18, 0x7, 0x23, 0x27, 0x49, 0x82, 0x3b, 0x6, 0x19, 0xb, 0x3, 0x0, 0x0, 0x0, 0x2, 0x0, 0xa7, 0xff, 0xe3, 0x6, 0xd, 0x5, 0xf0, 0x0, 0x19, 0x0, 0xb5, 0x0, 0x0, 0x0, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x27, 0x26, 0x2f, 0x1, 0x35, 0x34, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x1d, 0x1, 0x17, 0x16, 0x17, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x2b, 0x1, 0x22, 0x23, 0x22, 0xf, 0x1, 0x16, 0x15, 0x14, 0x7, 0x17, 0x16, 0x33, 0x32, 0x3b, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x2f, 0x1, 0x6, 0xf, 0x1, 0x15, 0x14, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x3d, 0x1, 0x26, 0x27, 0x26, 0x27, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x3b, 0x1, 0x32, 0x33, 0x32, 0x3f, 0x1, 0x26, 0x35, 0x34, 0x37, 0x27, 0x26, 0x23, 0x22, 0x2b, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x1f, 0x1, 0x36, 0x37, 0x36, 0x3, 0x6f, 0x2a, 0x11, 0x12, 0xe, 0xf, 0xf, 0xf, 0xf, 0xe, 0x12, 0x11, 0x2a, 0x11, 0x12, 0xe, 0xf, 0xf, 0xf, 0xf, 0xe, 0x12, 0x59, 0x4b, 0x2c, 0x36, 0x38, 0x78, 0x38, 0x36, 0x2c, 0x4c, 0x10, 0x1f, 0x18, 0xa, 0x71, 0x41, 0x27, 0x43, 0x3c, 0x34, 0x16, 0x15, 0x47, 0x1e, 0x14, 0x5, 0xe, 0x57, 0x3e, 0x4c, 0xc, 0xb, 0xa, 0x83, 0x64, 0xc, 0x4, 0x5, 0xc, 0x66, 0x82, 0xb, 0xa, 0xc, 0x4c, 0x3e, 0x57, 0xe, 0x5, 0x14, 0x1e, 0x47, 0x15, 0x16, 0x34, 0x3c, 0x43, 0x27, 0x43, 0x6e, 0xe, 0x1b, 0x19, 0x10, 0x4c, 0x2c, 0x36, 0x38, 0x78, 0x38, 0x36, 0x2c, 0x4d, 0x9, 0x8, 0x1d, 0x17, 0xe, 0x6e, 0x43, 0x27, 0x43, 0x3c, 0x34, 0x16, 0x15, 0x47, 0x1e, 0x14, 0x5, 0xe, 0x57, 0x3e, 0x4c, 0xc, 0xb, 0xa, 0x84, 0x64, 0xc, 0x5, 0x4, 0xc, 0x64, 0x83, 0xa, 0xb, 0xc, 0x4c, 0x3e, 0x57, 0xe, 0x5, 0x14, 0x1e, 0x47, 0x15, 0x16, 0x34, 0x3c, 0x43, 0x27, 0x45, 0x6c, 0xb, 0x1a, 0x1d, 0x8, 0x3, 0x50, 0x8, 0x8, 0xe, 0xf, 0x23, 0x15, 0x14, 0x23, 0xf, 0xe, 0x8, 0x8, 0x8, 0x8, 0xe, 0xf, 0x23, 0x14, 0x15, 0x23, 0xf, 0xe, 0x8, 0x4c, 0xc, 0x80, 0x77, 0x46, 0x4e, 0x64, 0x30, 0x31, 0x31, 0x30, 0x64, 0x4e, 0x46, 0x79, 0x7e, 0xc, 0x6, 0xe, 0x17, 0x6, 0x44, 0x7a, 0x49, 0x27, 0x23, 0x7, 0x18, 0x34, 0x23, 0x2c, 0x16, 0x18, 0x47, 0x32, 0x24, 0x3a, 0x7, 0x13, 0x14, 0x15, 0x14, 0x7, 0x3b, 0x24, 0x32, 0x47, 0x18, 0x16, 0x2c, 0x23, 0x34, 0x18, 0x7, 0x23, 0x27, 0x49, 0x7e, 0x3f, 0x8, 0x19, 0x9, 0x6, 0xf, 0x7f, 0x79, 0x46, 0x4e, 0x64, 0x30, 0x31, 0x31, 0x30, 0x64, 0x4e, 0x46, 0x79, 0x7f, 0xf, 0x3, 0x3, 0xd, 0x15, 0x8, 0x3f, 0x7e, 0x49, 0x27, 0x23, 0x7, 0x18, 0x34, 0x23, 0x2c, 0x16, 0x18, 0x47, 0x32, 0x24, 0x3a, 0x7, 0x14, 0x16, 0x14, 0x13, 0x7, 0x3a, 0x24, 0x32, 0x47, 0x18, 0x16, 0x2c, 0x23, 0x34, 0x18, 0x7, 0x23, 0x27, 0x49, 0x82, 0x3b, 0x6, 0x19, 0xb, 0x3, 0x0, 0x1, 0x0, 0xa1, 0xff, 0xe3, 0x6, 0x12, 0x5, 0xf0, 0x0, 0x68, 0x0, 0x0, 0x1, 0x17, 0x32, 0x3f, 0x1, 0x27, 0x26, 0x23, 0x7, 0x22, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x16, 0x17, 0x16, 0x1f, 0x1, 0x35, 0x34, 0x27, 0x26, 0x34, 0x37, 0x36, 0x32, 0x17, 0x16, 0x14, 0x7, 0x6, 0x1d, 0x1, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0xe, 0x1, 0x23, 0x27, 0x22, 0xf, 0x1, 0x17, 0x16, 0x33, 0x37, 0x32, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x2f, 0x1, 0x15, 0x14, 0x17, 0x16, 0x14, 0x7, 0x6, 0x22, 0x27, 0x26, 0x34, 0x37, 0x36, 0x3d, 0x1, 0x7, 0x6, 0x7, 0xe, 0x1, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x3e, 0x1, 0x1, 0xb5, 0x9f, 0x51, 0x21, 0x2f, 0x2f, 0x1f, 0x56, 0x96, 0x5a, 0xa2, 0x12, 0xb, 0x19, 0x2a, 0x6e, 0x14, 0x4e, 0x99, 0x2b, 0x47, 0x38, 0x30, 0x6a, 0x40, 0x36, 0x52, 0xa8, 0x52, 0x36, 0x40, 0x6a, 0x30, 0x2f, 0x50, 0x31, 0x93, 0x4e, 0x14, 0xb1, 0xb, 0x12, 0xa2, 0x54, 0x9e, 0x50, 0x23, 0x30, 0x30, 0x1f, 0x56, 0x96, 0x5a, 0xa2, 0x12, 0xb, 0x19, 0x2c, 0x6c, 0x15, 0x4f, 0x40, 0x57, 0x2b, 0x47, 0x38, 0x30, 0x6a, 0x40, 0x36, 0x52, 0xac, 0x4e, 0x36, 0x40, 0x6a, 0x30, 0x33, 0x4c, 0x2f, 0x95, 0x4e, 0x14, 0xb2, 0xc, 0x13, 0xa1, 0x2, 0xc4, 0xa, 0x14, 0x1c, 0x1b, 0x12, 0x7, 0x5d, 0x48, 0x2c, 0x60, 0x2c, 0x48, 0x20, 0x6, 0x59, 0x63, 0xa2, 0x21, 0x1c, 0x37, 0x37, 0x99, 0x5c, 0xca, 0x34, 0x4f, 0x4f, 0x34, 0xd0, 0x56, 0x8f, 0x41, 0x37, 0x1c, 0x1c, 0xa7, 0x67, 0x55, 0x6, 0x33, 0x9a, 0x27, 0x2c, 0x48, 0x5e, 0xa, 0x14, 0x1b, 0x1c, 0x12, 0x7, 0x5d, 0x48, 0x2c, 0x60, 0x2c, 0x4c, 0x1c, 0x6, 0x26, 0x33, 0x63, 0xa2, 0x21, 0x1c, 0x37, 0x37, 0x99, 0x5c, 0xca, 0x34, 0x4f, 0x4f, 0x37, 0xcd, 0x56, 0x8f, 0x41, 0x37, 0x1c, 0x1e, 0xa5, 0x66, 0x56, 0x6, 0x34, 0x9a, 0x26, 0x2c, 0x48, 0x5e, 0x0, 0x4, 0x0, 0xa1, 0xff, 0xe3, 0x6, 0x12, 0x5, 0xf0, 0x0, 0xe, 0x0, 0x99, 0x0, 0xb1, 0x0, 0xc9, 0x0, 0x0, 0x1, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x13, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x2f, 0x1, 0x15, 0x14, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x3d, 0x1, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x3f, 0x1, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x1f, 0x1, 0x35, 0x34, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x1d, 0x1, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x23, 0x22, 0x7, 0x5, 0x6, 0x23, 0x22, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x25, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x23, 0x22, 0x3, 0x5a, 0x1c, 0x38, 0x25, 0x1e, 0x31, 0x54, 0x31, 0x1e, 0x25, 0x38, 0xa8, 0x12, 0x35, 0x65, 0x20, 0x25, 0x12, 0x10, 0x5a, 0x46, 0x5c, 0x12, 0xb, 0x19, 0x2b, 0x6d, 0x14, 0x16, 0x38, 0x42, 0x53, 0x2f, 0x3f, 0x4a, 0x12, 0x56, 0x40, 0x36, 0x52, 0x54, 0x58, 0x4e, 0x36, 0x40, 0x56, 0x12, 0x47, 0x42, 0x31, 0x51, 0x42, 0x38, 0x16, 0x14, 0x6e, 0x2a, 0x19, 0xb, 0x12, 0x5c, 0x46, 0x5a, 0x10, 0x12, 0x25, 0x20, 0x65, 0x35, 0x12, 0x12, 0x33, 0x65, 0x21, 0x26, 0x12, 0x10, 0x5a, 0x46, 0x5a, 0x14, 0xc, 0x1a, 0x2a, 0x6e, 0x14, 0x16, 0x38, 0x42, 0x53, 0x2f, 0x3f, 0x4a, 0x12, 0x56, 0x40, 0x36, 0x52, 0xa8, 0x52, 0x36, 0x40, 0x56, 0x12, 0x47, 0x42, 0x31, 0x51, 0x42, 0x38, 0x16, 0x14, 0x6d, 0x2b, 0x19, 0xb, 0x12, 0x5c, 0x46, 0x5a, 0x10, 0x12, 0x26, 0x21, 0x65, 0x33, 0xfe, 0x98, 0x44, 0x41, 0x1e, 0x1d, 0x9, 0xa, 0x35, 0x3c, 0x3b, 0x7, 0x5, 0xd, 0x15, 0x3e, 0xa, 0xc, 0x1f, 0x2b, 0x46, 0x19, 0x24, 0x1, 0xdc, 0x48, 0x24, 0x19, 0x46, 0x2b, 0x1f, 0xc, 0xa, 0x3e, 0x15, 0xd, 0x5, 0x7, 0x3b, 0x3c, 0x35, 0xa, 0x9, 0x1d, 0x1e, 0x41, 0x3, 0xd3, 0x63, 0x4a, 0x32, 0x51, 0x44, 0x1a, 0x2b, 0x2b, 0x1a, 0x44, 0x51, 0x32, 0x4a, 0xfe, 0xb4, 0xb, 0x20, 0x3, 0x1, 0x28, 0x35, 0x48, 0x2c, 0x27, 0x39, 0x2c, 0x4a, 0x1e, 0x6, 0x26, 0x30, 0x66, 0x89, 0x29, 0xa, 0x14, 0x54, 0x7c, 0x5c, 0x60, 0x6a, 0x34, 0x4f, 0x4f, 0x37, 0x67, 0x60, 0x5c, 0x7c, 0x54, 0x14, 0xa, 0x27, 0x8b, 0x67, 0x2f, 0x26, 0x6, 0x20, 0x48, 0x2c, 0x39, 0x27, 0x2c, 0x49, 0x34, 0x28, 0x1, 0x3, 0x20, 0xb, 0xb, 0x1f, 0x3, 0x1, 0x28, 0x33, 0x4a, 0x2c, 0x26, 0x39, 0x2d, 0x48, 0x20, 0x6, 0x26, 0x30, 0x66, 0x89, 0x29, 0xa, 0x14, 0x54, 0x7c, 0x5c, 0x60, 0x6a, 0x34, 0x4f, 0x4f, 0x34, 0x6a, 0x60, 0x5c, 0x7c, 0x54, 0x14, 0xa, 0x27, 0x8b, 0x67, 0x2f, 0x26, 0x6, 0x1e, 0x4a, 0x2c, 0x39, 0x27, 0x2c, 0x48, 0x35, 0x28, 0x1, 0x3, 0x1f, 0x80, 0x12, 0x4, 0x1, 0x22, 0x22, 0x27, 0x18, 0x15, 0x21, 0x17, 0x24, 0x15, 0x4, 0x19, 0x28, 0x3a, 0x55, 0x4a, 0x4a, 0x55, 0x3a, 0x28, 0x19, 0x4, 0x15, 0x24, 0x17, 0x21, 0x15, 0x18, 0x27, 0x22, 0x22, 0x1, 0x4, 0x0, 0x0, 0x2, 0x0, 0x6e, 0x0, 0x0, 0x6, 0x46, 0x5, 0xad, 0x0, 0x19, 0x0, 0x77, 0x0, 0x0, 0x0, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x27, 0x26, 0x27, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x27, 0xe, 0x1, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x6, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x3, 0xa2, 0x90, 0x3d, 0x3e, 0x33, 0x34, 0x33, 0x33, 0x34, 0x33, 0x3e, 0x3d, 0x90, 0x3d, 0x3e, 0x33, 0x34, 0x33, 0x33, 0x34, 0x33, 0x3e, 0x78, 0x3e, 0x25, 0x38, 0x35, 0x36, 0x37, 0x30, 0x2d, 0x29, 0x2c, 0x28, 0x2d, 0x25, 0x38, 0x2f, 0x5b, 0x1b, 0x30, 0x21, 0x2d, 0x28, 0x2c, 0x29, 0x2d, 0x30, 0x32, 0x79, 0x2f, 0x38, 0x25, 0x30, 0x1d, 0x5, 0x5, 0x25, 0x29, 0x2d, 0x30, 0x32, 0x79, 0x2f, 0x38, 0x25, 0x2d, 0x28, 0x2e, 0x27, 0x26, 0x24, 0x17, 0x57, 0x2f, 0x3a, 0x23, 0x2d, 0x28, 0x2c, 0x29, 0x2d, 0x30, 0x32, 0x3b, 0x3e, 0x2f, 0x3b, 0x29, 0x8, 0x1b, 0x2c, 0x29, 0x2d, 0x30, 0x32, 0x3b, 0x3e, 0x2f, 0x38, 0x25, 0x2d, 0x28, 0x1b, 0x4, 0xb, 0x1a, 0x1c, 0x30, 0x36, 0x7b, 0x49, 0x46, 0x7b, 0x36, 0x30, 0x1c, 0x1a, 0x1a, 0x1c, 0x30, 0x36, 0x7b, 0x46, 0x49, 0x7b, 0x36, 0x30, 0x1c, 0x13, 0x35, 0x10, 0x17, 0x17, 0x14, 0x2b, 0x27, 0x67, 0x3e, 0x3a, 0x63, 0x2e, 0x26, 0x19, 0x15, 0x5, 0x17, 0x22, 0x2e, 0x63, 0x3b, 0x3d, 0x67, 0x27, 0x2b, 0x14, 0x15, 0x15, 0x19, 0x26, 0x31, 0x4e, 0x25, 0x26, 0x57, 0x27, 0x2b, 0x14, 0x15, 0x15, 0x19, 0x26, 0x2e, 0x63, 0x3a, 0x3e, 0x6b, 0x23, 0x22, 0x15, 0x4, 0x15, 0x1b, 0x24, 0x2e, 0x63, 0x3a, 0x3e, 0x67, 0x27, 0x2b, 0x14, 0x15, 0x15, 0x19, 0x2c, 0xe, 0x42, 0x3a, 0x3e, 0x67, 0x27, 0x2b, 0x14, 0x15, 0x15, 0x19, 0x26, 0x2e, 0x63, 0x3b, 0x3d, 0x3f, 0x0, 0x0, 0x0, 0x6, 0x0, 0x6e, 0x0, 0x0, 0x6, 0x46, 0x5, 0xad, 0x0, 0x5c, 0x0, 0x76, 0x0, 0x8d, 0x0, 0xa6, 0x0, 0xbd, 0x0, 0xd6, 0x0, 0x0, 0x25, 0xe, 0x1, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x6, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x2, 0x32, 0x17, 0x16, 0x17, 0x37, 0x36, 0x35, 0x34, 0x26, 0x27, 0x26, 0x27, 0x26, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x1f, 0x1, 0x36, 0x37, 0x13, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x36, 0x37, 0x3, 0x26, 0x35, 0x34, 0x36, 0x37, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x1, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x2f, 0x1, 0x6, 0x7, 0x6, 0x7, 0x6, 0x13, 0x37, 0x36, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0xf, 0x1, 0x1e, 0x1, 0x15, 0x14, 0x3, 0x5a, 0x5, 0x1d, 0x30, 0x25, 0x38, 0x2f, 0x79, 0x32, 0x30, 0x2d, 0x29, 0x2c, 0x28, 0x2d, 0x21, 0x30, 0x1b, 0x5b, 0x2f, 0x38, 0x25, 0x2d, 0x28, 0x2c, 0x29, 0x30, 0x2d, 0x3c, 0x31, 0x3a, 0x33, 0x25, 0x3e, 0x7, 0x1b, 0x28, 0x2d, 0x25, 0x38, 0x2f, 0x7c, 0x2f, 0x38, 0x25, 0x2d, 0x28, 0x1b, 0x7, 0x3e, 0x25, 0x38, 0x35, 0x36, 0x37, 0x30, 0x2d, 0x29, 0x2c, 0x28, 0x2d, 0x25, 0x38, 0x2f, 0x5b, 0x1b, 0x30, 0x21, 0x2d, 0x28, 0x2c, 0x29, 0x2d, 0x30, 0x32, 0x79, 0x2f, 0x38, 0x25, 0x30, 0x1d, 0x4d, 0x90, 0x3d, 0x8, 0x7, 0xe, 0xd, 0x19, 0x1b, 0x19, 0x20, 0x1e, 0x48, 0x1e, 0x20, 0x19, 0x1b, 0x19, 0x3, 0x18, 0x7, 0x8, 0x43, 0x23, 0x20, 0x42, 0x2f, 0x1e, 0x1b, 0x67, 0x18, 0x1c, 0x19, 0x1b, 0x19, 0x20, 0x1e, 0x48, 0x1e, 0x20, 0x19, 0x18, 0x4, 0xd6, 0x3, 0x2f, 0x2a, 0x78, 0x8, 0x7, 0x23, 0x1f, 0x24, 0x1e, 0x20, 0x19, 0x18, 0x1c, 0x19, 0x1b, 0x19, 0x20, 0x15, 0x4, 0x2, 0x38, 0x23, 0x23, 0x18, 0x19, 0x20, 0x1e, 0x48, 0x1e, 0x20, 0x19, 0x1b, 0x19, 0x1c, 0x18, 0x67, 0x1b, 0x1e, 0x2f, 0x42, 0x20, 0xf5, 0x50, 0x50, 0x15, 0x20, 0x19, 0x1b, 0x19, 0x1c, 0x18, 0x19, 0x20, 0x1e, 0x24, 0x1f, 0x23, 0x7, 0x8, 0x78, 0x2a, 0x2f, 0xf8, 0x25, 0x4e, 0x31, 0x26, 0x19, 0x15, 0x15, 0x14, 0x2b, 0x27, 0x67, 0x3d, 0x3b, 0x63, 0x2e, 0x22, 0x17, 0x5, 0x15, 0x19, 0x26, 0x2e, 0x63, 0x3a, 0x3e, 0x67, 0x27, 0x2e, 0x11, 0x17, 0x17, 0x10, 0x35, 0xd, 0x3f, 0x3d, 0x3b, 0x63, 0x2e, 0x26, 0x19, 0x15, 0x15, 0x19, 0x26, 0x2e, 0x63, 0x3b, 0x3d, 0x3f, 0xd, 0x35, 0x10, 0x17, 0x17, 0x14, 0x2b, 0x27, 0x67, 0x3e, 0x3a, 0x63, 0x2e, 0x26, 0x19, 0x15, 0x5, 0x17, 0x22, 0x2e, 0x63, 0x3b, 0x3d, 0x67, 0x27, 0x2b, 0x14, 0x15, 0x15, 0x19, 0x26, 0x31, 0x4e, 0x3, 0x38, 0x1a, 0x3, 0x4, 0x47, 0x47, 0x14, 0x24, 0x3e, 0x1b, 0x18, 0xe, 0xd, 0xd, 0xe, 0x18, 0x1b, 0x3e, 0x24, 0x14, 0xc, 0x82, 0x4, 0x3, 0xfd, 0x63, 0x6, 0xe, 0x1e, 0x2e, 0x1e, 0x2c, 0x62, 0x17, 0x42, 0x24, 0x23, 0x3e, 0x1b, 0x18, 0xe, 0xd, 0xd, 0xe, 0x18, 0x18, 0x9, 0x1, 0xba, 0x16, 0x17, 0x49, 0x72, 0x30, 0x43, 0x4, 0x3, 0xd, 0xd, 0xe, 0x18, 0x18, 0x3e, 0x27, 0x23, 0x3e, 0x1b, 0x18, 0xe, 0x9, 0xfe, 0xc2, 0x4c, 0x4d, 0x18, 0x18, 0xe, 0xd, 0xd, 0xe, 0x18, 0x1b, 0x3e, 0x23, 0x24, 0x42, 0x17, 0x62, 0x2c, 0x1e, 0x2e, 0x1e, 0xe, 0x1, 0x24, 0xa, 0xa, 0x9, 0xe, 0x18, 0x1b, 0x3e, 0x23, 0x27, 0x3e, 0x18, 0x18, 0xe, 0xd, 0xd, 0x3, 0x4, 0x43, 0x30, 0x72, 0x49, 0x17, 0x0, 0x0, 0x0, 0xa, 0x0, 0x54, 0xff, 0xe3, 0x6, 0x60, 0x5, 0xf0, 0x0, 0x29, 0x0, 0x54, 0x0, 0xbd, 0x0, 0xe6, 0x1, 0x11, 0x1, 0x3a, 0x1, 0x65, 0x1, 0x7f, 0x1, 0xa9, 0x1, 0xd3, 0x0, 0x0, 0x1, 0x26, 0x27, 0x7, 0x6, 0x23, 0x22, 0x26, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x33, 0x32, 0x1f, 0x1, 0x36, 0x37, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x6, 0x7, 0x6, 0x14, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x33, 0x32, 0x37, 0x25, 0x6, 0x7, 0x17, 0x16, 0x33, 0x32, 0x36, 0x37, 0x36, 0x37, 0x36, 0x34, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x23, 0x22, 0xf, 0x1, 0x16, 0x17, 0x37, 0x36, 0x33, 0x32, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x23, 0x22, 0x23, 0x1, 0x2e, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x16, 0x17, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x6, 0x7, 0x32, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x23, 0x1e, 0x1, 0x15, 0x14, 0x7, 0xe, 0x1, 0x7, 0x6, 0x23, 0x22, 0x26, 0x27, 0x14, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x35, 0xe, 0x1, 0x23, 0x22, 0x27, 0x2e, 0x1, 0x27, 0x26, 0x34, 0x36, 0x37, 0x22, 0x26, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x1, 0x26, 0x27, 0x7, 0x6, 0x7, 0xe, 0x1, 0x7, 0x26, 0x27, 0x2e, 0x1, 0x27, 0x26, 0x27, 0x3e, 0x1, 0x37, 0x36, 0x3f, 0x1, 0x26, 0x27, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x16, 0x17, 0x1e, 0x2, 0x33, 0x32, 0x36, 0x37, 0x36, 0x37, 0x1, 0x16, 0x17, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x26, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x7, 0x6, 0xf, 0x1, 0x16, 0x17, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x37, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0xe, 0x1, 0x7, 0x6, 0x7, 0x3, 0x6, 0x7, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x17, 0x6, 0x7, 0xe, 0x1, 0x7, 0x6, 0x7, 0x2e, 0x1, 0x27, 0x26, 0x2f, 0x1, 0x6, 0x7, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x33, 0x32, 0x3e, 0x1, 0x37, 0x36, 0x37, 0x34, 0x26, 0x27, 0x26, 0x27, 0x1, 0x36, 0x37, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x7, 0x6, 0x7, 0x6, 0x7, 0x14, 0x16, 0x17, 0x16, 0x1f, 0x1, 0x36, 0x37, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x27, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x1e, 0x1, 0x17, 0x16, 0x17, 0x4, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x27, 0x26, 0x27, 0x13, 0x6, 0x7, 0x17, 0x16, 0x15, 0x14, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x3f, 0x1, 0x26, 0x27, 0x7, 0x6, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x27, 0x3, 0x16, 0x17, 0x37, 0x36, 0x35, 0x34, 0x26, 0x27, 0x26, 0x27, 0x26, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x1f, 0x1, 0x36, 0x37, 0x27, 0x26, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x7, 0x2, 0x3a, 0x6, 0x2, 0xe4, 0x11, 0x9, 0xa, 0x1a, 0xa, 0x8, 0x6, 0x4, 0x4, 0x6, 0x8, 0xa, 0x18, 0xc, 0x9, 0x11, 0xe4, 0x2, 0x6, 0xce, 0x24, 0x14, 0x1c, 0x34, 0x16, 0x14, 0xc, 0xa, 0xa, 0xc, 0x14, 0x16, 0x34, 0x1c, 0x14, 0x24, 0x3, 0x1a, 0x2, 0x6, 0x77, 0x77, 0x12, 0x1e, 0x34, 0x16, 0x14, 0xc, 0xa, 0xa, 0xc, 0x14, 0x16, 0x34, 0x1e, 0x12, 0x9, 0xe5, 0x6, 0x2, 0x78, 0x79, 0x7, 0x10, 0x16, 0xa, 0x8, 0x6, 0x4, 0x4, 0x6, 0x8, 0xc, 0x18, 0xc, 0x7, 0x5, 0xfb, 0xca, 0x25, 0x22, 0x11, 0x10, 0x20, 0x21, 0x28, 0x29, 0x2d, 0x2b, 0x55, 0x24, 0x22, 0x21, 0x20, 0x28, 0x28, 0x5c, 0x28, 0x28, 0x20, 0x21, 0x22, 0x26, 0x53, 0x2b, 0x2d, 0x29, 0x28, 0x21, 0x1c, 0x14, 0x11, 0x20, 0x27, 0x37, 0x4d, 0x22, 0x23, 0xf, 0x10, 0x10, 0x12, 0x20, 0x1c, 0x56, 0x32, 0x25, 0x20, 0x11, 0x10, 0x41, 0x28, 0x29, 0x2d, 0x2e, 0x52, 0x24, 0x22, 0x21, 0x20, 0x28, 0x28, 0x5c, 0x28, 0x28, 0x20, 0x21, 0x22, 0x28, 0x4f, 0x2d, 0x2c, 0x2a, 0x28, 0x41, 0x10, 0x11, 0x22, 0x23, 0x32, 0x50, 0x22, 0x23, 0xf, 0x10, 0x10, 0x12, 0x20, 0x22, 0x4d, 0x1, 0xc1, 0x14, 0x10, 0x8e, 0xb, 0x6, 0x7, 0x19, 0xe, 0xd, 0xb, 0xc, 0x13, 0x5, 0x4, 0x1, 0x1, 0x9, 0x9, 0x6, 0xe, 0xb4, 0xe, 0xb, 0xb8, 0x21, 0xe, 0x15, 0x15, 0x1, 0xa, 0xa, 0x2a, 0x34, 0x1d, 0x20, 0x32, 0x15, 0xe, 0x13, 0x1, 0xeb, 0xf, 0xa, 0x6b, 0x6b, 0xd, 0x16, 0x15, 0x1, 0xa, 0xa, 0x15, 0x15, 0x34, 0x1d, 0x20, 0x32, 0x16, 0xd, 0x5, 0x75, 0x14, 0x11, 0x4b, 0x4b, 0x5, 0xa, 0x17, 0xe, 0xd, 0xb, 0xc, 0xa, 0x9, 0x5, 0x4, 0x1, 0x1, 0xb, 0x8, 0x5, 0x3, 0xa6, 0xb, 0xe, 0xb4, 0xe, 0x6, 0x7, 0xb, 0x1, 0x1, 0x4, 0x5, 0x13, 0xc, 0xb, 0xd, 0xe, 0x17, 0x9, 0x6, 0xb, 0x8e, 0x11, 0x13, 0x69, 0x13, 0xe, 0x15, 0x32, 0x20, 0x1d, 0x34, 0x2a, 0xa, 0xa, 0x1, 0x15, 0x15, 0xe, 0x21, 0xfd, 0x89, 0x12, 0x13, 0x3d, 0x3d, 0xd, 0x16, 0x32, 0x20, 0x1d, 0x34, 0x15, 0x15, 0xa, 0xa, 0x1, 0x15, 0x16, 0xd, 0x9, 0xcd, 0xb, 0xe, 0x60, 0x5f, 0x5, 0xa, 0x9, 0x1, 0x1, 0x4, 0x5, 0x9, 0xa, 0xc, 0xb, 0xd, 0x11, 0x16, 0x8, 0x5, 0x3, 0x1, 0x77, 0x52, 0x23, 0x24, 0x1d, 0x1d, 0x1e, 0x1e, 0x1d, 0x1d, 0x24, 0x23, 0x52, 0x23, 0x24, 0x1d, 0x1d, 0x1e, 0x1e, 0x1d, 0x1d, 0x24, 0x3, 0x16, 0x15, 0x1b, 0x2, 0xa, 0x9, 0xa, 0xb, 0xc, 0x1a, 0xc, 0xb, 0xa, 0x9, 0xa, 0x2, 0x1b, 0x16, 0x15, 0x38, 0xa, 0x15, 0x16, 0x15, 0x1a, 0x19, 0x3c, 0x19, 0x1a, 0x15, 0x16, 0x15, 0xa, 0x63, 0x17, 0x15, 0x20, 0x21, 0x15, 0x16, 0x15, 0x1a, 0x19, 0x3c, 0x19, 0x1a, 0x15, 0x16, 0x15, 0x3, 0x3e, 0x16, 0x16, 0xe, 0xf, 0xa, 0x9, 0xa, 0xb, 0xc, 0x1a, 0xc, 0xb, 0xa, 0xb, 0x8, 0x1, 0x2, 0x9a, 0x16, 0x16, 0x1c, 0x2, 0xa, 0xa, 0xa, 0xa, 0xc, 0x1a, 0xc, 0xc, 0xa, 0x8, 0xa, 0x2, 0x1a, 0x16, 0x14, 0x38, 0xa, 0x14, 0x16, 0x16, 0x1a, 0x18, 0x3c, 0x1a, 0x1a, 0x14, 0x16, 0x16, 0xa, 0x64, 0x18, 0x14, 0x21, 0x21, 0x16, 0x16, 0x14, 0x1a, 0x1a, 0x3c, 0x18, 0x1a, 0x16, 0x16, 0x14, 0x2, 0x3e, 0x17, 0x15, 0xe, 0xe, 0xa, 0x8, 0xa, 0xc, 0xc, 0xc, 0xe, 0xc, 0xa, 0xa, 0xc, 0x8, 0x1, 0x22, 0x25, 0x55, 0x56, 0x2a, 0x29, 0x20, 0x21, 0x10, 0x10, 0x21, 0x24, 0x33, 0x52, 0x20, 0x1f, 0x12, 0x11, 0x11, 0x12, 0x1f, 0x20, 0x52, 0x33, 0x26, 0x1f, 0x10, 0x10, 0x21, 0x1c, 0x2d, 0x28, 0x2d, 0x25, 0x5a, 0x26, 0x20, 0x22, 0x23, 0x25, 0x28, 0x2e, 0x32, 0x24, 0x28, 0x20, 0x1e, 0x26, 0x26, 0x53, 0x2b, 0x2c, 0x29, 0x29, 0x41, 0x10, 0x10, 0x21, 0x24, 0x33, 0x52, 0x20, 0x1f, 0x12, 0x11, 0x11, 0x12, 0x1f, 0x20, 0x52, 0x33, 0x27, 0x1e, 0x10, 0x10, 0x41, 0x29, 0x29, 0x58, 0x54, 0x24, 0x22, 0x22, 0x23, 0x25, 0x28, 0x60, 0x24, 0x28, 0x20, 0x22, 0x20, 0xfe, 0x1c, 0xb, 0xd, 0xb4, 0xd, 0x6, 0x8, 0xa, 0x1, 0x1, 0x4, 0x5, 0x12, 0xc, 0xc, 0xd, 0xd, 0x18, 0x9, 0x6, 0xa, 0x8e, 0x11, 0x13, 0x69, 0x13, 0xe, 0x14, 0x33, 0x1f, 0x1d, 0x1b, 0x19, 0x2b, 0x14, 0x15, 0x14, 0xe, 0x21, 0x2, 0x78, 0x12, 0x13, 0x3d, 0x3d, 0xd, 0x15, 0x33, 0x1f, 0x1d, 0x1b, 0x19, 0x16, 0x15, 0x14, 0x15, 0x15, 0xd, 0x9, 0xcd, 0xc, 0xe, 0x5f, 0x60, 0x5, 0xb, 0x8, 0x1, 0x1, 0x4, 0x5, 0x9, 0x9, 0xc, 0xc, 0xd, 0x10, 0x16, 0x9, 0x5, 0x2, 0xfe, 0x1d, 0x13, 0x11, 0x8e, 0xa, 0x6, 0x8, 0x19, 0xd, 0xd, 0xc, 0xc, 0x12, 0x5, 0x4, 0x1, 0x1, 0x9, 0x9, 0x6, 0xd, 0xb4, 0xe, 0xa, 0xb9, 0x21, 0xe, 0x14, 0x15, 0x14, 0x2b, 0x19, 0x1b, 0x1d, 0x1f, 0x33, 0x14, 0xe, 0x13, 0x1, 0xeb, 0xf, 0xb, 0x6b, 0x6b, 0xd, 0x15, 0x15, 0x14, 0x15, 0x16, 0x19, 0x1b, 0x1d, 0x1f, 0x33, 0x15, 0xd, 0x5, 0x75, 0x13, 0x12, 0x4b, 0x4a, 0x5, 0xb, 0x17, 0xd, 0xd, 0xc, 0xc, 0x9, 0x9, 0x5, 0x4, 0x1, 0x1, 0xa, 0x9, 0x5, 0x3, 0xdf, 0xf, 0x10, 0x1c, 0x1f, 0x46, 0x29, 0x28, 0x47, 0x1e, 0x1c, 0x10, 0xf, 0xf, 0x10, 0x1c, 0x1e, 0x47, 0x28, 0x29, 0x46, 0x1f, 0x1c, 0x10, 0xfe, 0x24, 0x6, 0x2, 0xe4, 0x11, 0x8, 0xb, 0x19, 0xa, 0x9, 0x5, 0x5, 0x5, 0x5, 0x9, 0xa, 0x17, 0xd, 0x8, 0x11, 0xe4, 0x2, 0x6, 0xcd, 0x25, 0x13, 0x1d, 0x33, 0x16, 0x14, 0xc, 0xb, 0xb, 0xc, 0x14, 0x16, 0x33, 0x1d, 0x13, 0x25, 0x3, 0x1a, 0x2, 0x6, 0x77, 0x77, 0x12, 0x1e, 0x33, 0x16, 0x14, 0xc, 0xb, 0xb, 0xc, 0x14, 0x16, 0x33, 0x1e, 0x12, 0x9, 0xe5, 0x6, 0x2, 0x78, 0x79, 0x7, 0xf, 0x16, 0xa, 0x9, 0x5, 0x5, 0x5, 0x5, 0x9, 0xc, 0x17, 0xc, 0x7, 0x5, 0x0, 0x4, 0x0, 0x56, 0xff, 0xe3, 0x6, 0x5e, 0x5, 0xf0, 0x0, 0x19, 0x0, 0x33, 0x0, 0x4e, 0x0, 0x5e, 0x0, 0x0, 0x0, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x27, 0x26, 0x2f, 0x1, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x13, 0x32, 0x17, 0x16, 0x17, 0x16, 0x12, 0x15, 0x14, 0x2, 0x7, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x27, 0x26, 0x2, 0x35, 0x34, 0x12, 0x37, 0x36, 0x37, 0x36, 0x17, 0x3, 0x25, 0x13, 0xd, 0x1, 0x3, 0x25, 0x1b, 0x1, 0x5, 0x3, 0x2d, 0x1, 0x13, 0x5, 0x3, 0x97, 0x7a, 0x33, 0x35, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x35, 0x33, 0x7a, 0x33, 0x35, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x35, 0x70, 0x57, 0x44, 0x4d, 0x36, 0x39, 0x3f, 0x3d, 0x3b, 0x39, 0x4a, 0x48, 0xaa, 0x44, 0x4d, 0x36, 0x39, 0x3f, 0x3d, 0x3b, 0x39, 0x4a, 0x48, 0x53, 0x9a, 0x8e, 0x86, 0x73, 0x70, 0x73, 0x6e, 0x75, 0x6e, 0x8b, 0x8d, 0xfe, 0xcb, 0x8e, 0x86, 0x73, 0x70, 0x73, 0x6e, 0x75, 0x6c, 0x8d, 0x8c, 0x9c, 0x9d, 0xfe, 0x7f, 0xa3, 0xfe, 0x7d, 0x1, 0x83, 0xa3, 0x1, 0x81, 0x9d, 0x9d, 0x1, 0x81, 0xa3, 0x1, 0x83, 0xfe, 0x7d, 0xa3, 0xfe, 0x7f, 0x4, 0x13, 0x16, 0x18, 0x28, 0x2e, 0x68, 0x3c, 0x3b, 0x68, 0x2e, 0x28, 0x18, 0x16, 0x16, 0x18, 0x28, 0x2e, 0x68, 0x3b, 0x3c, 0x68, 0x2e, 0x28, 0x18, 0x86, 0x1f, 0x22, 0x36, 0x38, 0x96, 0x54, 0x4e, 0x96, 0x3b, 0x39, 0x1f, 0x1f, 0x1f, 0x22, 0x36, 0x38, 0x96, 0xa2, 0x96, 0x3b, 0x39, 0x1f, 0x1f, 0x1, 0x6d, 0x3b, 0x38, 0x72, 0x6f, 0xfe, 0xec, 0xa1, 0x98, 0xfe, 0xf0, 0x77, 0x70, 0x3a, 0x3b, 0x3b, 0x38, 0x72, 0x6f, 0x1, 0x14, 0x9c, 0x9d, 0x1, 0x10, 0x77, 0x6e, 0x3c, 0x3b, 0x8, 0xfe, 0x7d, 0xa3, 0xfe, 0x7f, 0x9e, 0x9d, 0xfe, 0x7f, 0xa3, 0xfe, 0x7d, 0x1, 0x83, 0xa3, 0x1, 0x81, 0x9d, 0x9e, 0x1, 0x81, 0xa3, 0x0, 0x0, 0x7, 0x0, 0xa1, 0xff, 0xe3, 0x6, 0x12, 0x5, 0xf0, 0x0, 0x8, 0x0, 0x93, 0x0, 0x9c, 0x0, 0xa7, 0x0, 0xb2, 0x0, 0xc1, 0x0, 0xd0, 0x0, 0x0, 0x1, 0x11, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x13, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x2f, 0x1, 0x15, 0x14, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x3d, 0x1, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x3f, 0x1, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x1f, 0x1, 0x35, 0x34, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x1d, 0x1, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x23, 0x22, 0xf, 0x1, 0x11, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x13, 0x25, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x6, 0x1, 0x5, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x13, 0x25, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x33, 0x32, 0xd, 0x1, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x23, 0x22, 0x3, 0x5a, 0x2a, 0x31, 0x1e, 0x25, 0x38, 0xa8, 0x12, 0x35, 0x65, 0x20, 0x25, 0x12, 0x10, 0x5a, 0x46, 0x5c, 0x12, 0xb, 0x19, 0x2b, 0x6d, 0x14, 0x16, 0x38, 0x42, 0x53, 0x2f, 0x3f, 0x4a, 0x12, 0x56, 0x40, 0x36, 0x52, 0x54, 0x58, 0x4e, 0x36, 0x40, 0x56, 0x12, 0x47, 0x42, 0x31, 0x51, 0x42, 0x38, 0x16, 0x14, 0x6e, 0x2a, 0x19, 0xb, 0x12, 0x5c, 0x46, 0x5a, 0x10, 0x12, 0x25, 0x20, 0x65, 0x35, 0x12, 0x12, 0x33, 0x65, 0x21, 0x26, 0x12, 0x10, 0x5a, 0x46, 0x5a, 0x14, 0xc, 0x1a, 0x2a, 0x6e, 0x14, 0x16, 0x38, 0x42, 0x53, 0x2f, 0x3f, 0x4a, 0x12, 0x56, 0x40, 0x36, 0x52, 0xa8, 0x52, 0x36, 0x40, 0x56, 0x12, 0x47, 0x42, 0x31, 0x51, 0x42, 0x38, 0x16, 0x14, 0x6d, 0x2b, 0x19, 0xb, 0x12, 0x5c, 0x46, 0x5a, 0x10, 0x12, 0x26, 0x21, 0x65, 0x33, 0x9e, 0x2a, 0x31, 0x1e, 0x25, 0x38, 0xae, 0x1, 0x7e, 0x15, 0x3e, 0xa, 0xc, 0x1f, 0x2b, 0x46, 0x19, 0x24, 0xfe, 0x24, 0xfe, 0x82, 0x15, 0x3e, 0xa, 0xc, 0x1f, 0x2b, 0x46, 0x19, 0x24, 0x48, 0xfe, 0x82, 0xd, 0x5, 0x7, 0x3b, 0x3c, 0x35, 0xa, 0x9, 0x1d, 0x1e, 0x41, 0x1, 0xd8, 0x1, 0x7e, 0xd, 0x5, 0x7, 0x3b, 0x3c, 0x35, 0xa, 0x9, 0x1d, 0x1e, 0x41, 0x3, 0xd3, 0x1, 0xb9, 0x2b, 0x1a, 0x44, 0x51, 0x32, 0x4a, 0xfe, 0xb4, 0xb, 0x20, 0x3, 0x1, 0x28, 0x35, 0x48, 0x2c, 0x27, 0x39, 0x2c, 0x4a, 0x1e, 0x6, 0x26, 0x30, 0x66, 0x89, 0x29, 0xa, 0x14, 0x54, 0x7c, 0x5c, 0x60, 0x6a, 0x34, 0x4f, 0x4f, 0x37, 0x67, 0x60, 0x5c, 0x7c, 0x54, 0x14, 0xa, 0x27, 0x8b, 0x67, 0x2f, 0x26, 0x6, 0x20, 0x48, 0x2c, 0x39, 0x27, 0x2c, 0x49, 0x34, 0x28, 0x1, 0x3, 0x20, 0xb, 0xb, 0x1f, 0x3, 0x1, 0x28, 0x33, 0x4a, 0x2c, 0x26, 0x39, 0x2d, 0x48, 0x20, 0x6, 0x26, 0x30, 0x66, 0x89, 0x29, 0xa, 0x14, 0x54, 0x7c, 0x5c, 0x60, 0x6a, 0x34, 0x4f, 0x4f, 0x34, 0x6a, 0x60, 0x5c, 0x7c, 0x54, 0x14, 0xa, 0x27, 0x8b, 0x67, 0x2f, 0x26, 0x6, 0x1e, 0x4a, 0x2c, 0x39, 0x27, 0x2c, 0x48, 0x35, 0x28, 0x1, 0x3, 0x1f, 0xf5, 0xfe, 0x47, 0x2b, 0x1a, 0x44, 0x51, 0x32, 0x4a, 0x1, 0xc1, 0xdd, 0x24, 0x15, 0x4, 0x19, 0x28, 0x3a, 0x55, 0xfe, 0xcd, 0xdd, 0x24, 0x15, 0x4, 0x19, 0x28, 0x3a, 0x55, 0x1, 0x33, 0xdd, 0x17, 0x21, 0x15, 0x18, 0x27, 0x22, 0x22, 0x1, 0x4, 0xfb, 0xdd, 0x17, 0x21, 0x15, 0x18, 0x27, 0x22, 0x22, 0x1, 0x4, 0x0, 0x1, 0x0, 0xb6, 0x0, 0x0, 0x5, 0xfe, 0x5, 0xd5, 0x0, 0x41, 0x0, 0x0, 0x1, 0x27, 0x7, 0x27, 0x37, 0x27, 0x37, 0x17, 0x35, 0x33, 0x15, 0x17, 0x11, 0x27, 0x37, 0x17, 0x35, 0x33, 0x15, 0x37, 0x17, 0x7, 0x11, 0x37, 0x35, 0x33, 0x15, 0x37, 0x17, 0x7, 0x17, 0x7, 0x27, 0x7, 0x17, 0x37, 0x17, 0x7, 0x17, 0x7, 0x27, 0x15, 0x23, 0x35, 0x27, 0x11, 0x17, 0x7, 0x27, 0x15, 0x23, 0x35, 0x7, 0x27, 0x37, 0x11, 0x7, 0x15, 0x23, 0x35, 0x7, 0x27, 0x37, 0x27, 0x37, 0x17, 0x2, 0xe2, 0xf0, 0xc2, 0x3c, 0x86, 0xc4, 0x3c, 0xc4, 0x78, 0xf0, 0xc2, 0x3c, 0x86, 0x78, 0x86, 0x3c, 0xc2, 0xf0, 0x78, 0xc4, 0x3c, 0xc4, 0x86, 0x3c, 0xc2, 0xf0, 0xf0, 0xc2, 0x3c, 0x86, 0xc4, 0x3c, 0xc4, 0x78, 0xf0, 0xc2, 0x3c, 0x86, 0x78, 0x86, 0x3c, 0xc2, 0xf0, 0x78, 0xc4, 0x3c, 0xc4, 0x86, 0x3c, 0xc2, 0x2, 0xeb, 0x8a, 0x70, 0x68, 0x4d, 0x72, 0x68, 0x72, 0x9b, 0xe0, 0x8b, 0x1, 0x16, 0x6f, 0x68, 0x4d, 0xe3, 0xe3, 0x4d, 0x68, 0x6f, 0xfe, 0xeb, 0x8a, 0xe0, 0x9b, 0x72, 0x68, 0x72, 0x4d, 0x68, 0x70, 0x8a, 0x8b, 0x70, 0x68, 0x4d, 0x72, 0x68, 0x72, 0x9b, 0xe0, 0x8b, 0xfe, 0xea, 0x6f, 0x68, 0x4d, 0xe3, 0xe3, 0x4d, 0x68, 0x6f, 0x1, 0x16, 0x8b, 0xe0, 0x9b, 0x72, 0x68, 0x72, 0x4d, 0x68, 0x70, 0x0, 0x7, 0x0, 0x9c, 0x0, 0x0, 0x6, 0x18, 0x5, 0xd5, 0x0, 0x1d, 0x0, 0x21, 0x0, 0x25, 0x0, 0x29, 0x0, 0x2d, 0x0, 0x31, 0x0, 0x35, 0x0, 0x0, 0x1, 0x33, 0x11, 0x25, 0x11, 0x25, 0x17, 0xd, 0x3, 0x7, 0x25, 0x11, 0x25, 0x11, 0x23, 0x11, 0x5, 0x11, 0x5, 0x27, 0x2d, 0x3, 0x37, 0x5, 0x11, 0x5, 0x7, 0x15, 0x17, 0x35, 0x25, 0x7, 0x15, 0x37, 0x5, 0x7, 0x17, 0x37, 0x25, 0x7, 0x17, 0x37, 0x5, 0x7, 0x15, 0x3f, 0x1, 0x15, 0x17, 0x35, 0x3, 0x1e, 0x78, 0x1, 0x23, 0x1, 0x9, 0x3c, 0xfe, 0xf6, 0x1, 0x24, 0xfe, 0xdd, 0x1, 0x9, 0x3c, 0xfe, 0xf7, 0xfe, 0xdd, 0x78, 0xfe, 0xdd, 0xfe, 0xf7, 0x3c, 0x1, 0x9, 0xfe, 0xdd, 0x1, 0x24, 0xfe, 0xf6, 0x3c, 0x1, 0x9, 0x1, 0x23, 0xab, 0xab, 0x1, 0x23, 0xab, 0xab, 0xfd, 0xf7, 0xac, 0xab, 0xab, 0x1, 0x9a, 0xaa, 0xab, 0xab, 0xfd, 0xf6, 0xab, 0xab, 0x78, 0xab, 0x5, 0xd5, 0xfe, 0xcc, 0xa9, 0xfe, 0xb0, 0x9a, 0x68, 0x9a, 0xa8, 0xa8, 0x99, 0x68, 0x9a, 0xfe, 0xaf, 0xa9, 0xfe, 0xcd, 0x1, 0x33, 0xa9, 0x1, 0x51, 0x9a, 0x68, 0x99, 0xa8, 0xa8, 0x9a, 0x68, 0x9a, 0x1, 0x50, 0xa9, 0x27, 0xc5, 0x63, 0xc5, 0x63, 0x63, 0xc5, 0x63, 0x68, 0x63, 0x62, 0x62, 0x63, 0x63, 0x62, 0x62, 0x67, 0x63, 0xc6, 0x63, 0xc6, 0xc6, 0x63, 0xc6, 0x0, 0x0, 0x0, 0x1, 0x0, 0x82, 0x0, 0x4, 0x6, 0x30, 0x5, 0xd5, 0x0, 0x41, 0x0, 0x0, 0x1, 0x33, 0x15, 0x37, 0x17, 0x7, 0x11, 0x25, 0x11, 0x33, 0x15, 0x37, 0x17, 0x7, 0x17, 0x7, 0x27, 0xd, 0x1, 0x37, 0x17, 0x7, 0x17, 0x7, 0x27, 0x15, 0x23, 0x11, 0x25, 0x11, 0x17, 0x7, 0x27, 0x15, 0x23, 0x35, 0x7, 0x27, 0x37, 0x11, 0x5, 0x11, 0x23, 0x35, 0x7, 0x27, 0x37, 0x27, 0x37, 0x17, 0x2d, 0x1, 0x7, 0x27, 0x37, 0x27, 0x37, 0x17, 0x35, 0x33, 0x11, 0x5, 0x11, 0x27, 0x37, 0x17, 0x3, 0x1e, 0x78, 0x8c, 0x64, 0xf0, 0x1, 0xc, 0xc8, 0x58, 0x3c, 0x5b, 0x8c, 0x64, 0xf0, 0xfe, 0xf6, 0x1, 0xb, 0xf0, 0x64, 0x8c, 0x59, 0x3c, 0x5c, 0xc8, 0xfe, 0xf9, 0xf0, 0x64, 0x8c, 0x78, 0x8c, 0x64, 0xf0, 0xfe, 0xf7, 0xc8, 0x5b, 0x3c, 0x58, 0x8c, 0x64, 0xf0, 0x1, 0xb, 0xfe, 0xf7, 0xf0, 0x64, 0x8c, 0x5c, 0x3c, 0x59, 0xc8, 0x1, 0xd, 0xf0, 0x64, 0x8c, 0x5, 0xd5, 0x68, 0x51, 0xad, 0x8b, 0xfe, 0xce, 0x9b, 0x1, 0x15, 0xa2, 0x34, 0x68, 0x35, 0x51, 0xad, 0x8a, 0x99, 0x9b, 0x8b, 0xad, 0x51, 0x34, 0x68, 0x35, 0xa1, 0x1, 0x15, 0x98, 0xfe, 0xd0, 0x8b, 0xad, 0x51, 0x68, 0x65, 0x51, 0xad, 0x8b, 0x1, 0x35, 0x99, 0xfe, 0xeb, 0xa1, 0x35, 0x68, 0x33, 0x51, 0xae, 0x8b, 0x9a, 0x99, 0x8b, 0xad, 0x51, 0x35, 0x68, 0x33, 0xa1, 0xfe, 0xeb, 0x9b, 0x1, 0x36, 0x8b, 0xad, 0x51, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xa1, 0xff, 0xe5, 0x6, 0x13, 0x5, 0xf0, 0x0, 0x87, 0x0, 0x0, 0x1, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x7, 0x17, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x27, 0x11, 0x16, 0x17, 0x1e, 0x1, 0x14, 0xe, 0x1, 0x22, 0x2e, 0x1, 0x34, 0x36, 0x37, 0x36, 0x37, 0x11, 0x7, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x37, 0x27, 0x6, 0x7, 0x6, 0x23, 0x22, 0x2e, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x17, 0x11, 0x26, 0x27, 0x2e, 0x1, 0x34, 0x36, 0x37, 0x36, 0x33, 0x32, 0x1e, 0x1, 0x14, 0x6, 0x7, 0x6, 0x7, 0x11, 0x37, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x5, 0xf8, 0x1b, 0x1b, 0x1b, 0x2e, 0x2f, 0x35, 0x36, 0x2e, 0x13, 0x11, 0xf1, 0xf1, 0x11, 0x13, 0x2e, 0x36, 0x35, 0x2f, 0x2e, 0x1b, 0x1b, 0x1b, 0x1c, 0x2d, 0x2f, 0x35, 0x33, 0x31, 0x2f, 0x1b, 0x1a, 0x4, 0xf1, 0x15, 0x13, 0x2e, 0x36, 0x36, 0x5c, 0x6c, 0x5c, 0x36, 0x36, 0x2e, 0x13, 0x15, 0xf1, 0x4, 0x1a, 0x1b, 0x2f, 0x2f, 0x35, 0x36, 0x2e, 0x2e, 0x1b, 0x1b, 0x1b, 0x1b, 0x2e, 0x2f, 0x6a, 0x2f, 0x13, 0x11, 0xf1, 0xf1, 0x10, 0x14, 0x31, 0x33, 0x36, 0x5c, 0x36, 0x1b, 0x1b, 0x2e, 0x2f, 0x35, 0x33, 0x31, 0x2f, 0x1b, 0x1a, 0x4, 0xf1, 0x15, 0x13, 0x2e, 0x36, 0x36, 0x2e, 0x2f, 0x35, 0x36, 0x5c, 0x36, 0x36, 0x2e, 0x13, 0x15, 0xf1, 0x4, 0x1a, 0x1a, 0x30, 0x2e, 0x36, 0x35, 0x2f, 0x33, 0x4, 0x6d, 0x36, 0x2e, 0x35, 0x2f, 0x2e, 0x1b, 0x1b, 0x1b, 0xb, 0xf, 0x8b, 0x8c, 0xf, 0xb, 0x1b, 0x1b, 0x1b, 0x2e, 0x2f, 0x35, 0x34, 0x2f, 0x2f, 0x1b, 0x1b, 0x1b, 0x1a, 0x2f, 0x2e, 0x36, 0x16, 0x15, 0x8c, 0xfe, 0xe9, 0x7, 0xb, 0x1b, 0x5c, 0x6c, 0x5c, 0x36, 0x36, 0x5c, 0x6c, 0x5c, 0x1b, 0xb, 0x7, 0x1, 0x17, 0x8c, 0x15, 0x16, 0x36, 0x2e, 0x2f, 0x1a, 0x1b, 0x1b, 0x1a, 0x2f, 0x2e, 0x36, 0x35, 0x2f, 0x2e, 0x1b, 0x1b, 0x1b, 0xb, 0xf, 0x8c, 0x8b, 0xf, 0xb, 0x1b, 0x36, 0x5c, 0x6c, 0x2e, 0x2f, 0x1a, 0x1b, 0x1b, 0x1a, 0x2f, 0x2e, 0x36, 0x16, 0x15, 0x8c, 0x1, 0x17, 0x7, 0xb, 0x1b, 0x5c, 0x6c, 0x5c, 0x1b, 0x1b, 0x36, 0x5c, 0x6c, 0x5c, 0x1b, 0xb, 0x7, 0xfe, 0xe9, 0x8c, 0x15, 0x16, 0x36, 0x2e, 0x2d, 0x1c, 0x1b, 0x1b, 0x1e, 0x0, 0x0, 0x9, 0x0, 0x61, 0xff, 0xe5, 0x6, 0x53, 0x5, 0xd7, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x13, 0x0, 0x17, 0x0, 0x2e, 0x0, 0x45, 0x0, 0x5c, 0x0, 0x73, 0x0, 0x0, 0x0, 0x14, 0x6, 0x22, 0x26, 0x34, 0x36, 0x32, 0x9, 0x1, 0x37, 0x9, 0x2, 0x37, 0x9, 0x2, 0x27, 0x9, 0x2, 0x27, 0x1, 0x13, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x3, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x3, 0x6, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x5, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x3, 0xf0, 0x58, 0x7c, 0x58, 0x58, 0x7c, 0x1, 0xa7, 0xfe, 0x7d, 0x55, 0x1, 0x83, 0xfd, 0xd, 0xfe, 0x7f, 0x55, 0x1, 0x81, 0x2, 0x9e, 0xfe, 0x7d, 0x55, 0x1, 0x83, 0xfd, 0xb7, 0xfe, 0x7f, 0x55, 0x1, 0x81, 0xb9, 0x39, 0xf, 0x17, 0x4, 0x1, 0x2, 0x3, 0xf, 0x17, 0x72, 0x17, 0xf, 0x3, 0x2, 0x1, 0x4, 0x17, 0xf, 0x39, 0x39, 0xf, 0x17, 0x4, 0x1, 0x2, 0x3, 0xf, 0x17, 0x72, 0x17, 0xf, 0x3, 0x2, 0x1, 0x4, 0x17, 0xf, 0x9f, 0x3c, 0x18, 0x25, 0x44, 0x1d, 0x52, 0x45, 0x1e, 0x41, 0x20, 0x31, 0x31, 0x20, 0x41, 0x1e, 0x45, 0x52, 0x1d, 0x44, 0x25, 0x18, 0x1, 0xec, 0x3c, 0x18, 0x25, 0x44, 0x1d, 0x52, 0x45, 0x1e, 0x41, 0x20, 0x31, 0x31, 0x20, 0x41, 0x1e, 0x45, 0x52, 0x1d, 0x44, 0x25, 0x18, 0x3, 0x2c, 0x7c, 0x58, 0x58, 0x7c, 0x58, 0xfd, 0x2e, 0x1, 0x84, 0x55, 0xfe, 0x7c, 0x2, 0x4a, 0x1, 0x81, 0x55, 0xfe, 0x7e, 0x1, 0x2d, 0xfe, 0x7c, 0x55, 0x1, 0x84, 0xfd, 0xd, 0xfe, 0x7e, 0x55, 0x1, 0x81, 0x1, 0x2e, 0x3c, 0x18, 0x25, 0x44, 0x1d, 0x52, 0x45, 0x1e, 0x41, 0x20, 0x31, 0x31, 0x20, 0x41, 0x1e, 0x45, 0x52, 0x1d, 0x44, 0x25, 0x18, 0xfe, 0x14, 0x3c, 0x18, 0x25, 0x44, 0x1d, 0x52, 0x45, 0x1e, 0x41, 0x20, 0x31, 0x31, 0x20, 0x41, 0x1e, 0x45, 0x52, 0x1d, 0x44, 0x25, 0x18, 0x1, 0x14, 0x39, 0xf, 0x17, 0x4, 0x1, 0x2, 0x3, 0xf, 0x17, 0x72, 0x17, 0xf, 0x3, 0x2, 0x1, 0x4, 0x17, 0xf, 0x39, 0x39, 0xf, 0x17, 0x4, 0x1, 0x2, 0x3, 0xf, 0x17, 0x72, 0x17, 0xf, 0x3, 0x2, 0x1, 0x4, 0x17, 0xf, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, 0x61, 0xff, 0xe5, 0x6, 0x53, 0x5, 0xd7, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x13, 0x0, 0x17, 0x0, 0x2b, 0x0, 0x3f, 0x0, 0x53, 0x0, 0x67, 0x0, 0x0, 0x0, 0x14, 0x6, 0x22, 0x26, 0x34, 0x36, 0x32, 0x9, 0x1, 0x17, 0x9, 0x2, 0x17, 0x9, 0x2, 0x7, 0x9, 0x2, 0x7, 0x1, 0x2, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x12, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x24, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x4, 0x3b, 0x84, 0xba, 0x84, 0x84, 0xba, 0xfd, 0x69, 0x1, 0x29, 0x55, 0xfe, 0xd7, 0x2, 0xa1, 0x1, 0x29, 0x55, 0xfe, 0xd7, 0xfd, 0xa, 0x1, 0x29, 0x55, 0xfe, 0xd7, 0x3, 0x4b, 0x1, 0x29, 0x55, 0xfe, 0xd7, 0x8, 0x13, 0x15, 0x27, 0x2e, 0x6e, 0x2e, 0x27, 0x15, 0x13, 0x13, 0x15, 0x27, 0x2e, 0x6e, 0x2e, 0x27, 0x15, 0x13, 0x13, 0x15, 0x27, 0x2e, 0x6e, 0x2e, 0x27, 0x15, 0x13, 0x13, 0x15, 0x27, 0x2e, 0x6e, 0x2e, 0x27, 0x15, 0xfd, 0x19, 0x70, 0x31, 0x37, 0x23, 0x28, 0x28, 0x23, 0x37, 0x31, 0x70, 0x31, 0x37, 0x23, 0x28, 0x28, 0x23, 0x37, 0x4, 0x4d, 0x70, 0x31, 0x37, 0x23, 0x28, 0x28, 0x23, 0x37, 0x31, 0x70, 0x31, 0x37, 0x23, 0x28, 0x28, 0x23, 0x37, 0x3, 0x4b, 0xba, 0x84, 0x84, 0xba, 0x84, 0xfd, 0x38, 0x1, 0x29, 0x55, 0xfe, 0xd7, 0x3, 0x4c, 0x1, 0x29, 0x55, 0xfe, 0xd7, 0x1, 0x7e, 0xfe, 0xd7, 0x55, 0x1, 0x29, 0xfd, 0x5e, 0xfe, 0xd7, 0x55, 0x1, 0x29, 0x3, 0x49, 0x70, 0x31, 0x37, 0x23, 0x28, 0x28, 0x23, 0x37, 0x31, 0x70, 0x31, 0x37, 0x23, 0x28, 0x28, 0x23, 0x37, 0xfb, 0xb3, 0x70, 0x31, 0x37, 0x23, 0x28, 0x28, 0x23, 0x37, 0x31, 0x70, 0x31, 0x37, 0x23, 0x28, 0x28, 0x23, 0x37, 0x2, 0x59, 0x13, 0x15, 0x27, 0x2e, 0x6e, 0x2e, 0x27, 0x15, 0x13, 0x13, 0x15, 0x27, 0x2e, 0x6e, 0x2e, 0x27, 0x15, 0x13, 0x13, 0x15, 0x27, 0x2e, 0x6e, 0x2e, 0x27, 0x15, 0x13, 0x13, 0x15, 0x27, 0x2e, 0x6e, 0x2e, 0x27, 0x15, 0x0, 0x0, 0x0, 0x9, 0x0, 0x54, 0xff, 0xe5, 0x6, 0x60, 0x5, 0xf2, 0x0, 0xc, 0x0, 0x18, 0x0, 0x25, 0x0, 0x32, 0x0, 0x3f, 0x0, 0x4b, 0x0, 0x57, 0x0, 0x5f, 0x0, 0x6b, 0x0, 0x0, 0x1, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x25, 0x35, 0x25, 0x33, 0x32, 0x17, 0x16, 0x5, 0x34, 0x36, 0x3b, 0x1, 0x5, 0x15, 0x5, 0x23, 0x22, 0x27, 0x26, 0x1, 0x16, 0x15, 0x14, 0xf, 0x1, 0x1, 0x27, 0x1, 0x37, 0x36, 0x33, 0x32, 0x1, 0x26, 0x35, 0x34, 0x3f, 0x1, 0x1, 0x17, 0x1, 0x7, 0x6, 0x23, 0x22, 0x3, 0x36, 0x33, 0x32, 0x1f, 0x1, 0x1, 0x7, 0x1, 0x27, 0x26, 0x35, 0x34, 0x1, 0x6, 0x22, 0x2f, 0x1, 0x1, 0x37, 0x1, 0x17, 0x16, 0x15, 0x14, 0x0, 0x32, 0x17, 0x16, 0x1d, 0x1, 0x3, 0x23, 0x3, 0x35, 0x34, 0x37, 0x12, 0x14, 0x6, 0x22, 0x26, 0x34, 0x36, 0x32, 0x2, 0x22, 0x27, 0x26, 0x3d, 0x1, 0x13, 0x33, 0x13, 0x15, 0x14, 0x7, 0x6, 0x60, 0x1c, 0x1c, 0x28, 0xa, 0xfe, 0x60, 0x1, 0xa0, 0xa, 0x26, 0x1e, 0x1c, 0xf9, 0xf4, 0x38, 0x28, 0xa, 0x1, 0xa0, 0xfe, 0x60, 0xa, 0x26, 0x1e, 0x1c, 0x5, 0x2a, 0x1d, 0x1b, 0x7, 0xfe, 0xb7, 0x47, 0x1, 0x2, 0x7, 0x1c, 0x29, 0x2a, 0xfb, 0xd5, 0x1d, 0x1b, 0x7, 0x1, 0x49, 0x47, 0xfe, 0xfe, 0x7, 0x1c, 0x29, 0x28, 0x1f, 0x1d, 0x2a, 0x28, 0x1d, 0x7, 0x1, 0x2, 0x47, 0xfe, 0xb7, 0x7, 0x1b, 0x4, 0x65, 0x1e, 0x52, 0x1c, 0x7, 0xfe, 0xfe, 0x47, 0x1, 0x49, 0x7, 0x1b, 0xfd, 0x96, 0x52, 0x1e, 0x1d, 0x32, 0x64, 0x32, 0x1d, 0xdd, 0x58, 0x7c, 0x58, 0x58, 0x7c, 0x15, 0x52, 0x1e, 0x1d, 0x32, 0x64, 0x32, 0x1d, 0x2, 0xec, 0x2a, 0x1e, 0x1c, 0x32, 0x64, 0x32, 0x1e, 0x1e, 0x28, 0x28, 0x3c, 0x32, 0x64, 0x32, 0x1c, 0x1e, 0x2, 0x4d, 0x1d, 0x2a, 0x27, 0x1d, 0x7, 0xfe, 0xfe, 0x46, 0x1, 0x49, 0x7, 0x1c, 0xfb, 0x9b, 0x1d, 0x2a, 0x27, 0x1d, 0x7, 0x1, 0x2, 0x46, 0xfe, 0xb7, 0x7, 0x1c, 0x4, 0x65, 0x1e, 0x1c, 0x7, 0xfe, 0xb7, 0x46, 0x1, 0x2, 0x7, 0x1b, 0x29, 0x2a, 0xfb, 0xd6, 0x1e, 0x1c, 0x7, 0x1, 0x49, 0x46, 0xfe, 0xfe, 0x7, 0x1b, 0x29, 0x2a, 0x5, 0xd, 0x1d, 0x1c, 0x28, 0xa, 0xfe, 0x61, 0x1, 0x9f, 0xa, 0x27, 0x1d, 0xfd, 0x55, 0x7c, 0x58, 0x58, 0x7c, 0x58, 0xfc, 0x63, 0x1d, 0x1c, 0x28, 0xa, 0x1, 0x9f, 0xfe, 0x61, 0xa, 0x27, 0x1d, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x54, 0xff, 0xe5, 0x6, 0x60, 0x5, 0xf2, 0x0, 0x6c, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x3, 0x1, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x1, 0x25, 0x36, 0x33, 0x32, 0x17, 0x16, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x25, 0x1, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x13, 0x16, 0x15, 0x14, 0x7, 0x6, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x13, 0x1, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x5, 0x6, 0x23, 0x22, 0x27, 0x26, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x5, 0x1, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x16, 0x17, 0x16, 0x17, 0x1, 0x3, 0x26, 0x35, 0x34, 0x37, 0x36, 0x3, 0x5a, 0x2b, 0x2f, 0x23, 0x5, 0x4e, 0x1, 0x1c, 0x15, 0x2, 0x34, 0x32, 0x42, 0x1f, 0x1e, 0x34, 0xa, 0x19, 0xfe, 0x7b, 0x1, 0xdf, 0x19, 0xc, 0x4c, 0x22, 0x2e, 0x2e, 0x24, 0x4a, 0x7, 0x25, 0xfe, 0x28, 0x1, 0x8a, 0x1c, 0x2, 0x34, 0x1e, 0x1f, 0x42, 0x2b, 0x3b, 0xa, 0x12, 0xfe, 0xe9, 0x4e, 0x5, 0x23, 0x2f, 0x56, 0x2f, 0x23, 0x5, 0x4e, 0xfe, 0xe9, 0x12, 0xa, 0x34, 0x32, 0x42, 0x1f, 0x1e, 0x34, 0x2, 0x1c, 0x1, 0x8a, 0xfe, 0x28, 0x25, 0x7, 0x4a, 0x24, 0x2e, 0x2e, 0x22, 0x4c, 0xc, 0x19, 0x1, 0xdf, 0xfe, 0x7b, 0x19, 0xa, 0x34, 0x1e, 0x1f, 0x42, 0x24, 0x42, 0x2, 0x15, 0x1, 0x1c, 0x4e, 0x5, 0x23, 0x2e, 0x5, 0xf2, 0x2f, 0x23, 0x4a, 0x7, 0x1f, 0xfe, 0x22, 0x1, 0x89, 0x1d, 0x1, 0x35, 0x1f, 0x1e, 0x43, 0x37, 0x2f, 0x9, 0x12, 0xfe, 0xe9, 0x4e, 0x4, 0x22, 0x2e, 0x58, 0x2e, 0x24, 0x6, 0x4d, 0xfe, 0xe5, 0x16, 0x1, 0x35, 0x31, 0x43, 0x1e, 0x1f, 0x35, 0x9, 0x19, 0x1, 0x85, 0xfe, 0x22, 0x1f, 0x7, 0x4a, 0x23, 0x2f, 0x2f, 0x23, 0x4a, 0xe, 0x1e, 0x1, 0xd8, 0xfe, 0x7b, 0x19, 0x9, 0x35, 0x1f, 0x1e, 0x43, 0x4c, 0x1a, 0x1, 0x16, 0x1, 0x1b, 0x4d, 0x6, 0x24, 0x2e, 0x58, 0x2e, 0x22, 0x4, 0x4e, 0x1, 0x17, 0x12, 0x9, 0x35, 0x31, 0x43, 0x1e, 0x1f, 0x14, 0x21, 0x1, 0x1d, 0xfe, 0x77, 0x1, 0xd8, 0x1e, 0xe, 0x4a, 0x23, 0x2f, 0x0, 0x2, 0x0, 0x66, 0xff, 0xec, 0x6, 0xc6, 0x5, 0xe8, 0x0, 0xd, 0x0, 0x23, 0x0, 0xe7, 0xba, 0x0, 0x0, 0x0, 0x13, 0x0, 0x3, 0x2b, 0xba, 0x0, 0x1f, 0x0, 0x6, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x1f, 0x10, 0x41, 0x1b, 0x0, 0x16, 0x0, 0x0, 0x0, 0x26, 0x0, 0x0, 0x0, 0x36, 0x0, 0x0, 0x0, 0x46, 0x0, 0x0, 0x0, 0x56, 0x0, 0x0, 0x0, 0x66, 0x0, 0x0, 0x0, 0x76, 0x0, 0x0, 0x0, 0x86, 0x0, 0x0, 0x0, 0x96, 0x0, 0x0, 0x0, 0xa6, 0x0, 0x0, 0x0, 0xb6, 0x0, 0x0, 0x0, 0xc6, 0x0, 0x0, 0x0, 0xd6, 0x0, 0x0, 0x0, 0xd, 0x5d, 0x41, 0x5, 0x0, 0xe5, 0x0, 0x0, 0x0, 0xf5, 0x0, 0x0, 0x0, 0x2, 0x5d, 0x41, 0x5, 0x0, 0xea, 0x0, 0x6, 0x0, 0xfa, 0x0, 0x6, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x6, 0x0, 0x29, 0x0, 0x6, 0x0, 0x39, 0x0, 0x6, 0x0, 0x49, 0x0, 0x6, 0x0, 0x59, 0x0, 0x6, 0x0, 0x69, 0x0, 0x6, 0x0, 0x79, 0x0, 0x6, 0x0, 0x89, 0x0, 0x6, 0x0, 0x99, 0x0, 0x6, 0x0, 0xa9, 0x0, 0x6, 0x0, 0xb9, 0x0, 0x6, 0x0, 0xc9, 0x0, 0x6, 0x0, 0xd9, 0x0, 0x6, 0x0, 0xd, 0x5d, 0xb8, 0x0, 0x25, 0xdc, 0x0, 0xba, 0x0, 0x3, 0x0, 0x10, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x3, 0x10, 0xba, 0x0, 0x17, 0x0, 0xa, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x17, 0x10, 0xb8, 0x0, 0x10, 0x10, 0xb8, 0x0, 0xe, 0xd0, 0xb8, 0x0, 0xe, 0x2f, 0xb8, 0x0, 0x17, 0x10, 0xb8, 0x0, 0x19, 0xd0, 0xb8, 0x0, 0x19, 0x2f, 0xb8, 0x0, 0x17, 0x10, 0xb8, 0x0, 0x1b, 0xd0, 0xb8, 0x0, 0x10, 0x10, 0xb8, 0x0, 0x22, 0xd0, 0x30, 0x31, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x2, 0x24, 0x23, 0x22, 0x4, 0x2, 0x1, 0x6, 0x23, 0x20, 0x0, 0x11, 0x34, 0x12, 0x24, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x4, 0x12, 0x15, 0x10, 0x0, 0x21, 0x22, 0xb9, 0x1, 0x8f, 0x1, 0x1c, 0x1, 0x1c, 0x1, 0x8f, 0xb6, 0xfe, 0xb8, 0xad, 0xad, 0xfe, 0xb8, 0xb6, 0x2, 0xdc, 0x19, 0x19, 0xfe, 0xc4, 0xfe, 0x3f, 0xce, 0x1, 0x71, 0xbe, 0x19, 0x19, 0x19, 0x19, 0xc1, 0x1, 0x71, 0xcd, 0xfe, 0x3f, 0xfe, 0xc2, 0x19, 0x2, 0xea, 0xfe, 0xe4, 0xfe, 0x70, 0x1, 0x90, 0x1, 0x1c, 0xb3, 0x1, 0x47, 0xb1, 0xb1, 0xfe, 0xb9, 0xfc, 0x51, 0x2, 0x1, 0xbf, 0x1, 0x3f, 0xc6, 0x1, 0x72, 0xc6, 0x2, 0x2, 0xc6, 0xfe, 0x90, 0xc8, 0xfe, 0xc1, 0xfe, 0x41, 0x0, 0x0, 0x2, 0x0, 0x7a, 0xff, 0x9c, 0x6, 0xb2, 0x5, 0xd4, 0x0, 0x3, 0x0, 0xb, 0x0, 0x37, 0xba, 0x0, 0x3, 0x0, 0x5, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x3, 0x10, 0xba, 0x0, 0xa, 0x0, 0x0, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xa, 0x10, 0xb8, 0x0, 0xd, 0xdc, 0x0, 0xba, 0x0, 0x0, 0x0, 0xa, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x0, 0x10, 0xba, 0x0, 0x7, 0x0, 0x1, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x7, 0x10, 0x30, 0x31, 0x25, 0x11, 0x21, 0x11, 0x17, 0x23, 0x11, 0x21, 0x15, 0x33, 0x11, 0x21, 0x5, 0xfb, 0xfa, 0xd2, 0x11, 0x64, 0x5, 0xd4, 0x64, 0xfa, 0x2c, 0x53, 0x5, 0x2e, 0xfa, 0xd2, 0x53, 0x5, 0xd4, 0x64, 0xfa, 0x2c, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x7a, 0x0, 0x0, 0x6, 0xb2, 0x6, 0x38, 0x0, 0x3, 0x0, 0xb, 0x0, 0x37, 0xba, 0x0, 0x3, 0x0, 0x6, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x3, 0x10, 0xba, 0x0, 0xb, 0x0, 0x0, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xb, 0x10, 0xb8, 0x0, 0xd, 0xdc, 0x0, 0xba, 0x0, 0x0, 0x0, 0x5, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x0, 0x10, 0xba, 0x0, 0xa, 0x0, 0x1, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xa, 0x10, 0x30, 0x31, 0x25, 0x11, 0x21, 0x11, 0x25, 0x15, 0x21, 0x11, 0x33, 0x35, 0x21, 0x11, 0x5, 0xfb, 0xfa, 0xd2, 0x5, 0x81, 0xfa, 0x2c, 0x64, 0x5, 0xd4, 0x53, 0x5, 0x2e, 0xfa, 0xd2, 0x11, 0x64, 0x5, 0xd4, 0x64, 0xfa, 0x2c, 0x0, 0x0, 0x0, 0x2, 0x0, 0x7a, 0xff, 0x9c, 0x6, 0xb2, 0x5, 0xd4, 0x0, 0x3, 0x0, 0x9, 0x0, 0x37, 0xba, 0x0, 0x3, 0x0, 0x4, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x3, 0x10, 0xba, 0x0, 0x8, 0x0, 0x0, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x8, 0x10, 0xb8, 0x0, 0xb, 0xdc, 0x0, 0xba, 0x0, 0x0, 0x0, 0x8, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x0, 0x10, 0xba, 0x0, 0x6, 0x0, 0x1, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x6, 0x10, 0x30, 0x31, 0x25, 0x11, 0x21, 0x11, 0x7, 0x11, 0x21, 0x17, 0x11, 0x21, 0x5, 0xfb, 0xfa, 0xd2, 0x53, 0x5, 0xd4, 0x64, 0xfa, 0x4a, 0x53, 0x5, 0x2e, 0xfa, 0xd2, 0x53, 0x5, 0xd4, 0x82, 0xfa, 0x4a, 0x0, 0x0, 0x0, 0x2, 0x0, 0x7a, 0x0, 0x0, 0x6, 0xb2, 0x6, 0x38, 0x0, 0x3, 0x0, 0x9, 0x0, 0x37, 0xba, 0x0, 0x3, 0x0, 0x5, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x3, 0x10, 0xba, 0x0, 0x9, 0x0, 0x0, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x9, 0x10, 0xb8, 0x0, 0xb, 0xdc, 0x0, 0xba, 0x0, 0x0, 0x0, 0x4, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x0, 0x10, 0xba, 0x0, 0x8, 0x0, 0x1, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x8, 0x10, 0x30, 0x31, 0x25, 0x11, 0x21, 0x11, 0x5, 0x21, 0x11, 0x37, 0x21, 0x11, 0x5, 0xfb, 0xfa, 0xd2, 0x5, 0x81, 0xfa, 0x2c, 0x82, 0x5, 0xb6, 0x53, 0x5, 0x2e, 0xfa, 0xd2, 0x53, 0x5, 0xd4, 0x64, 0xfa, 0x4a, 0x0, 0x0, 0x4, 0x0, 0xaa, 0xff, 0xfb, 0x6, 0x82, 0x5, 0xd3, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0xb, 0x0, 0xb8, 0x0, 0x9, 0x2f, 0xb8, 0x0, 0xf, 0x2f, 0x30, 0x31, 0x13, 0x9, 0xe, 0xaa, 0x1, 0x53, 0x1, 0x53, 0xfe, 0xad, 0x1, 0xdf, 0x1, 0x54, 0x1, 0x52, 0xfe, 0xae, 0xfd, 0x15, 0x1, 0x53, 0x1, 0x53, 0xfe, 0xad, 0xfe, 0xad, 0x1, 0x53, 0x1, 0x53, 0xfe, 0xad, 0x2, 0xe9, 0x1, 0x53, 0xfe, 0xad, 0xfe, 0xad, 0x1, 0x53, 0x1, 0x52, 0xfe, 0xae, 0xfe, 0xab, 0x2, 0xea, 0x1, 0x55, 0xfe, 0xab, 0xfe, 0xae, 0xfe, 0x22, 0x1, 0x53, 0xfe, 0xad, 0xfe, 0xad, 0x0, 0x0, 0x0, 0x0, 0x1, 0x3, 0x5, 0xfe, 0x14, 0x3, 0xaf, 0x6, 0x14, 0x0, 0x3, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x3, 0xaf, 0xaa, 0x6, 0x14, 0xf8, 0x0, 0x8, 0x0, 0x0, 0x0, 0x1, 0x2, 0xb0, 0xfe, 0x14, 0x4, 0x4, 0x6, 0x14, 0x0, 0x3, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x4, 0x4, 0xfe, 0xac, 0x6, 0x14, 0xf8, 0x0, 0x8, 0x0, 0x0, 0x1, 0x2, 0x6, 0xfe, 0x14, 0x4, 0xae, 0x6, 0x14, 0x0, 0x3, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x4, 0xae, 0xfd, 0x58, 0x6, 0x14, 0xf8, 0x0, 0x8, 0x0, 0x0, 0x1, 0x0, 0xae, 0x3, 0x28, 0x2, 0x1c, 0x5, 0xd5, 0x0, 0x6, 0x0, 0x1b, 0xba, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3, 0x2b, 0x0, 0xb8, 0x0, 0x3, 0x2f, 0xba, 0x0, 0x6, 0x0, 0x0, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x6, 0x10, 0x30, 0x31, 0x1, 0x21, 0x11, 0x13, 0x33, 0x3, 0x33, 0x2, 0x1c, 0xfe, 0x92, 0xa4, 0x81, 0x52, 0x9b, 0x3, 0x28, 0x1, 0x6e, 0x1, 0x3f, 0xfe, 0xc1, 0x0, 0x1, 0x0, 0x78, 0x3, 0x28, 0x1, 0xe6, 0x5, 0xd5, 0x0, 0x6, 0x0, 0x27, 0xba, 0x0, 0x1, 0x0, 0x0, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x1, 0x10, 0x0, 0xb8, 0x0, 0x3, 0x2f, 0xba, 0x0, 0x1, 0x0, 0x2, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x1, 0x10, 0xb8, 0x0, 0x2, 0x10, 0xb8, 0x0, 0x5, 0xd0, 0x30, 0x31, 0x13, 0x21, 0x11, 0x3, 0x23, 0x13, 0x23, 0x78, 0x1, 0x6e, 0xa4, 0x81, 0x52, 0x9b, 0x5, 0xd5, 0xfe, 0x92, 0xfe, 0xc1, 0x1, 0x3f, 0x0, 0xff, 0xff, 0x0, 0xae, 0x3, 0x28, 0x3, 0xd6, 0x5, 0xd5, 0x10, 0x26, 0xf, 0xdd, 0x0, 0x0, 0x10, 0x7, 0xf, 0xdd, 0x1, 0xba, 0x0, 0x0, 0xff, 0xff, 0x0, 0x78, 0x3, 0x28, 0x3, 0xa0, 0x5, 0xd5, 0x10, 0x26, 0xf, 0xde, 0x0, 0x0, 0x10, 0x7, 0xf, 0xde, 0x1, 0xba, 0x0, 0x0, 0x0, 0x2, 0x1, 0x3e, 0xff, 0x42, 0x6, 0x2d, 0x6, 0xcf, 0x0, 0x44, 0x0, 0x48, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x11, 0x21, 0x22, 0x26, 0x35, 0x34, 0x24, 0x33, 0x21, 0x35, 0x37, 0x15, 0x21, 0x7, 0x23, 0x11, 0x14, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x1, 0x11, 0x23, 0x11, 0x2, 0xdd, 0x1f, 0x1a, 0x1b, 0x16, 0x15, 0x17, 0x17, 0x15, 0x16, 0x1b, 0x1a, 0x1a, 0x1c, 0x13, 0x13, 0x10, 0x11, 0x10, 0x13, 0x10, 0x14, 0x10, 0x18, 0x5f, 0x3e, 0x49, 0x2d, 0x37, 0x34, 0xfe, 0xcd, 0xde, 0xfd, 0x1, 0x4, 0xd7, 0x1, 0x33, 0x8d, 0x1, 0x54, 0x8c, 0xc8, 0x50, 0x3e, 0x43, 0x50, 0x4e, 0xb1, 0x44, 0x47, 0x2d, 0x32, 0x2e, 0x31, 0x2f, 0x26, 0x44, 0x39, 0x1, 0xa8, 0xbe, 0x1, 0xd0, 0xb, 0xc, 0x15, 0x14, 0x38, 0x1f, 0x1e, 0x38, 0x14, 0x15, 0xc, 0xb, 0x9, 0x8, 0x10, 0x10, 0x27, 0x2e, 0x2a, 0xe, 0x12, 0x6, 0x9, 0x1b, 0x21, 0x2d, 0x38, 0x81, 0x44, 0x1, 0x5f, 0xee, 0xb8, 0xbe, 0xe8, 0xc8, 0x32, 0xfa, 0x7b, 0xfb, 0xdb, 0x6a, 0xb7, 0x40, 0x46, 0x27, 0x25, 0x19, 0x1a, 0x2e, 0x33, 0x72, 0x40, 0x4d, 0x64, 0x37, 0x2b, 0x1d, 0x18, 0x1, 0x34, 0x2, 0x56, 0xfd, 0xaa, 0x0, 0x2, 0x1, 0x9e, 0xff, 0xdd, 0x5, 0x16, 0x5, 0xf0, 0x0, 0x15, 0x0, 0x2f, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x7, 0x6, 0x7, 0x26, 0x27, 0x26, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x12, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x3, 0x5a, 0xa0, 0x79, 0x2a, 0x2c, 0x26, 0x27, 0x88, 0xb2, 0x82, 0x86, 0xae, 0x88, 0x27, 0x26, 0x25, 0x31, 0x5d, 0x7e, 0x7c, 0x34, 0x35, 0x2c, 0x2d, 0x2b, 0x2b, 0x2d, 0x2c, 0x35, 0x34, 0x7c, 0x34, 0x35, 0x2c, 0x2d, 0x2b, 0x2b, 0x2d, 0x2c, 0x35, 0x5, 0xf0, 0x28, 0xe, 0x2b, 0x26, 0x61, 0x34, 0x7c, 0x64, 0x83, 0xce, 0xce, 0x83, 0x66, 0x7a, 0x34, 0x61, 0x26, 0x24, 0x15, 0x28, 0xfc, 0x46, 0x16, 0x18, 0x2a, 0x2e, 0x6a, 0x3d, 0x3c, 0x6a, 0x2e, 0x2a, 0x18, 0x16, 0x16, 0x18, 0x2a, 0x2e, 0x6a, 0x3c, 0x3d, 0x6a, 0x2e, 0x2a, 0x18, 0x0, 0x2, 0x1, 0x4e, 0xff, 0xdd, 0x5, 0x66, 0x5, 0xf0, 0x0, 0x21, 0x0, 0x3b, 0x0, 0x0, 0x1, 0x26, 0x25, 0x26, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x7, 0x4, 0x2, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x3, 0x5a, 0x7b, 0xfe, 0xf7, 0x88, 0x27, 0x26, 0x25, 0x31, 0x2d, 0x6c, 0x2e, 0x2f, 0x26, 0x25, 0x28, 0x28, 0x25, 0x26, 0x2f, 0x2e, 0x6c, 0x2d, 0x31, 0x25, 0x26, 0x27, 0x88, 0xfe, 0xf6, 0xb8, 0x7c, 0x34, 0x35, 0x2c, 0x2d, 0x2b, 0x2b, 0x2d, 0x2c, 0x35, 0x34, 0x7c, 0x34, 0x35, 0x2c, 0x2d, 0x2b, 0x2b, 0x2d, 0x2c, 0x35, 0x2, 0xad, 0xc4, 0xa1, 0x53, 0x83, 0x34, 0x61, 0x26, 0x24, 0x15, 0x14, 0x14, 0x14, 0x25, 0x25, 0x60, 0x36, 0x36, 0x60, 0x25, 0x25, 0x14, 0x14, 0x14, 0x15, 0x24, 0x26, 0x61, 0x34, 0x84, 0x52, 0xa1, 0xfe, 0xc5, 0x16, 0x18, 0x2a, 0x2e, 0x6a, 0x3d, 0x3c, 0x6a, 0x2e, 0x2a, 0x18, 0x16, 0x16, 0x18, 0x2a, 0x2e, 0x6a, 0x3c, 0x3d, 0x6a, 0x2e, 0x2a, 0x18, 0x0, 0x0, 0x1, 0x0, 0x6e, 0x0, 0xab, 0x6, 0x46, 0x5, 0x28, 0x0, 0x21, 0x0, 0x0, 0x25, 0x26, 0x25, 0x26, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x7, 0x4, 0x3, 0x5a, 0x89, 0xfe, 0x5f, 0xc2, 0x37, 0x37, 0x35, 0x45, 0x41, 0x9a, 0x41, 0x44, 0x36, 0x35, 0x39, 0x39, 0x35, 0x36, 0x44, 0x41, 0x9a, 0x41, 0x45, 0x35, 0x37, 0x37, 0xc2, 0xfe, 0x5f, 0xab, 0xef, 0xf2, 0x71, 0xb2, 0x4b, 0x8a, 0x36, 0x34, 0x1e, 0x1c, 0x1c, 0x1d, 0x35, 0x34, 0x89, 0x4e, 0x4e, 0x89, 0x34, 0x35, 0x1d, 0x1c, 0x1c, 0x1e, 0x34, 0x36, 0x8a, 0x4b, 0xb4, 0x6f, 0xf2, 0x0, 0x0, 0x1, 0x1, 0x58, 0xff, 0xfe, 0x5, 0xd4, 0x5, 0xd6, 0x0, 0x23, 0x0, 0x0, 0x1, 0x6, 0x3, 0x6, 0x23, 0x22, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x33, 0x22, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x12, 0x5, 0xd4, 0xee, 0xf2, 0x72, 0xb2, 0x4a, 0x8a, 0x36, 0x34, 0x1e, 0x1c, 0x1c, 0x1c, 0x36, 0x34, 0x88, 0x4e, 0x4e, 0x88, 0x34, 0x36, 0x1c, 0x1c, 0x1c, 0x1e, 0x34, 0x36, 0x8a, 0x4a, 0xb4, 0x70, 0xf2, 0x2, 0xea, 0x8a, 0xfe, 0x60, 0xc2, 0x36, 0x38, 0x34, 0x46, 0x40, 0x4e, 0x4c, 0x42, 0x44, 0x36, 0x34, 0x3a, 0x38, 0x36, 0x36, 0x44, 0x40, 0x4e, 0x4c, 0x42, 0x44, 0x36, 0x36, 0x38, 0xc2, 0xfe, 0x5e, 0x0, 0x2, 0x0, 0x7e, 0x0, 0x2a, 0x5, 0xcb, 0x5, 0x9e, 0x0, 0xd, 0x0, 0x69, 0x0, 0x0, 0x1, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x6, 0x7, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x5, 0x6, 0x15, 0x14, 0x33, 0x32, 0x37, 0x36, 0x33, 0x32, 0x15, 0x14, 0x21, 0x22, 0x27, 0x26, 0x35, 0x10, 0x21, 0x32, 0x17, 0x36, 0x37, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x1f, 0x1, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x3, 0x97, 0xa, 0x1d, 0x18, 0x36, 0x1e, 0x16, 0x13, 0x2b, 0x4a, 0x6f, 0x15, 0x2e, 0x5e, 0x56, 0x7c, 0x3b, 0x2d, 0xfe, 0xcb, 0x99, 0x69, 0x74, 0x10, 0x33, 0x36, 0x3f, 0xfe, 0xc5, 0xcc, 0xba, 0xc6, 0x1, 0x5, 0x66, 0x51, 0x4d, 0x10, 0x65, 0xe6, 0x45, 0x4a, 0x53, 0x3f, 0x28, 0x2a, 0x1a, 0x24, 0x14, 0x20, 0x19, 0xe, 0x73, 0x5d, 0x76, 0x68, 0x32, 0x4b, 0x29, 0x2a, 0x4e, 0x4c, 0x31, 0x33, 0x10, 0x3c, 0x56, 0x4c, 0x2a, 0x2d, 0x15, 0x2a, 0x15, 0x1f, 0x38, 0x41, 0x2a, 0x14, 0x8f, 0x5f, 0x78, 0x41, 0x4, 0x67, 0x30, 0x2c, 0x3f, 0x29, 0x21, 0x12, 0xf, 0x1b, 0x3a, 0x22, 0x39, 0x8c, 0x4a, 0x4f, 0x43, 0x51, 0x3e, 0x5e, 0xda, 0x76, 0x3a, 0x4d, 0x63, 0x2a, 0x84, 0x5a, 0x9c, 0x99, 0xa3, 0xfe, 0x1, 0x65, 0x8d, 0x97, 0x43, 0x30, 0xaa, 0x33, 0x4e, 0x33, 0x35, 0x25, 0x26, 0x1d, 0x17, 0x14, 0x1c, 0x2d, 0x19, 0x4b, 0x74, 0x5c, 0x4b, 0x25, 0x39, 0x53, 0x1f, 0x20, 0x3e, 0x42, 0x57, 0x4e, 0x3d, 0x11, 0x21, 0x24, 0x1f, 0x3f, 0x12, 0x24, 0x15, 0x38, 0x1c, 0x28, 0x46, 0x21, 0x35, 0x7b, 0x5e, 0x3f, 0x0, 0x0, 0x2, 0x0, 0xa0, 0x1, 0x5a, 0x6, 0x13, 0x4, 0x84, 0x0, 0x9, 0x0, 0x51, 0x0, 0x0, 0x1, 0x6, 0x7, 0x6, 0x7, 0x36, 0x37, 0x36, 0x35, 0x34, 0x1, 0x20, 0x35, 0x34, 0x37, 0x26, 0x27, 0x26, 0x2b, 0x1, 0x16, 0x7, 0x6, 0x7, 0x16, 0x33, 0x32, 0x37, 0x16, 0x15, 0x14, 0x23, 0x22, 0x27, 0x23, 0x35, 0x33, 0x36, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x33, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x32, 0x17, 0x16, 0x17, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x13, 0x16, 0x33, 0x32, 0x35, 0x34, 0x27, 0x26, 0x35, 0x34, 0x33, 0x32, 0x15, 0x14, 0x7, 0x6, 0x1, 0xdf, 0x3f, 0x2d, 0x42, 0x1b, 0x4f, 0x3e, 0x3d, 0x1, 0xfe, 0xfe, 0x8b, 0x76, 0x30, 0x36, 0x26, 0x25, 0x4, 0x2, 0x4b, 0x60, 0x64, 0x19, 0x43, 0x2b, 0x28, 0x8, 0x91, 0x6b, 0x14, 0x24, 0x27, 0x1e, 0x65, 0x4d, 0x3f, 0xf, 0x24, 0x23, 0x3d, 0x48, 0x62, 0xc, 0x8f, 0x42, 0x4, 0x3d, 0x29, 0x2b, 0x38, 0x1f, 0x3d, 0x2e, 0x6d, 0xd8, 0x39, 0x18, 0x65, 0x62, 0xc, 0xb, 0x50, 0x42, 0xf7, 0xb0, 0x3, 0x3e, 0xe, 0x24, 0x33, 0x67, 0x1d, 0x3a, 0x38, 0x34, 0x4, 0xfe, 0x21, 0xfe, 0x45, 0x42, 0x37, 0x1c, 0x14, 0x57, 0x50, 0x66, 0xf, 0x47, 0x2b, 0x1e, 0x31, 0x4b, 0xab, 0x48, 0x8e, 0x50, 0x3c, 0x2, 0x12, 0x12, 0x12, 0xe, 0x11, 0x46, 0x66, 0x1d, 0x23, 0x26, 0x54, 0x27, 0x19, 0x13, 0x14, 0x30, 0x50, 0x2b, 0x41, 0x27, 0x1d, 0xfe, 0x93, 0x9a, 0x3c, 0x1e, 0x12, 0x11, 0x1b, 0x3c, 0x51, 0xad, 0x62, 0x46, 0x0, 0x1, 0x1, 0x91, 0xfe, 0xe4, 0x5, 0x2f, 0x6, 0x27, 0x0, 0x20, 0x0, 0x0, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x15, 0x22, 0x7, 0x6, 0x2, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x5, 0x2f, 0xba, 0xa9, 0xa1, 0x8a, 0x86, 0x46, 0x44, 0x44, 0x40, 0x8c, 0x84, 0xa7, 0xa9, 0xba, 0x6d, 0x68, 0x60, 0xa6, 0x28, 0x28, 0x28, 0x28, 0x53, 0x4e, 0x65, 0x63, 0x72, 0xfe, 0xe4, 0x47, 0x43, 0x89, 0x85, 0xa7, 0xa4, 0xbb, 0xbd, 0xa9, 0x9d, 0x8f, 0x86, 0x46, 0x47, 0x2f, 0x43, 0x3e, 0xfe, 0xfa, 0x9b, 0x9c, 0xb8, 0xb1, 0x9c, 0x9b, 0x83, 0x7d, 0x44, 0x43, 0x0, 0x0, 0x1, 0x1, 0x91, 0xfe, 0xe4, 0x5, 0x2f, 0x6, 0x27, 0x0, 0x22, 0x0, 0x0, 0x1, 0x30, 0x35, 0x32, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2, 0x27, 0x26, 0x23, 0x30, 0x35, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x1, 0x91, 0x72, 0x63, 0x65, 0x4e, 0x53, 0x28, 0x28, 0x28, 0x28, 0xa6, 0x60, 0x68, 0x6d, 0xba, 0xa9, 0xa7, 0x84, 0x8c, 0x40, 0x44, 0x44, 0x46, 0x86, 0x8a, 0xa1, 0xa9, 0xfe, 0xe4, 0x2f, 0x43, 0x44, 0x7d, 0x83, 0x9b, 0x9c, 0xb1, 0xb8, 0x9c, 0x9b, 0x1, 0x6, 0x3e, 0x43, 0x2f, 0x47, 0x46, 0x86, 0x8f, 0x9d, 0xa9, 0xbd, 0xbb, 0xa4, 0xa7, 0x85, 0x89, 0x43, 0x47, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x1d, 0xfe, 0xf1, 0x4, 0x98, 0x6, 0x11, 0x0, 0xc, 0x0, 0x0, 0x1, 0x6, 0x2, 0x10, 0x12, 0x17, 0x21, 0x26, 0x2, 0x35, 0x34, 0x12, 0x37, 0x4, 0x98, 0x86, 0x82, 0x83, 0x85, 0xfe, 0xb0, 0x96, 0x95, 0x94, 0x97, 0x6, 0x11, 0xe6, 0xfe, 0x3e, 0xfe, 0x32, 0xfe, 0x3b, 0xe5, 0xeb, 0x1, 0xc6, 0xe0, 0xdf, 0x1, 0xc4, 0xec, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x1d, 0xfe, 0xf1, 0x4, 0x98, 0x6, 0x11, 0x0, 0xd, 0x0, 0x0, 0x1, 0x30, 0x21, 0x16, 0x12, 0x15, 0x14, 0x2, 0x7, 0x21, 0x36, 0x12, 0x10, 0x2, 0x2, 0x1d, 0x1, 0x50, 0x97, 0x94, 0x95, 0x96, 0xfe, 0xb0, 0x85, 0x83, 0x82, 0x6, 0x11, 0xec, 0xfe, 0x3c, 0xdf, 0xe0, 0xfe, 0x3a, 0xeb, 0xe5, 0x1, 0xc5, 0x1, 0xce, 0x1, 0xc2, 0x0, 0x0, 0x0, 0x1, 0x1, 0xb9, 0xfe, 0x14, 0x4, 0xdb, 0x6, 0x14, 0x0, 0x5, 0x0, 0x0, 0x1, 0x21, 0x9, 0x1, 0x21, 0x1, 0x4, 0xdb, 0xfe, 0xdc, 0xfe, 0x2, 0x1, 0xfe, 0x1, 0x24, 0xfe, 0x0, 0xfe, 0x14, 0x4, 0x0, 0x4, 0x0, 0xfc, 0x0, 0x0, 0x1, 0x1, 0xdb, 0xfe, 0x14, 0x4, 0xfc, 0x6, 0x14, 0x0, 0x5, 0x0, 0x0, 0x9, 0x2, 0x21, 0x9, 0x1, 0x1, 0xdb, 0x1, 0xff, 0xfe, 0x2, 0x1, 0x22, 0x1, 0xfe, 0xfe, 0x2, 0xfe, 0x14, 0x4, 0x0, 0x4, 0x0, 0xfc, 0x0, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x23, 0xfe, 0x14, 0x5, 0x7b, 0x6, 0x14, 0x0, 0x5, 0x0, 0x0, 0x1, 0x21, 0x9, 0x1, 0x21, 0x1, 0x5, 0x7b, 0xfe, 0x3c, 0xfd, 0x6c, 0x2, 0x94, 0x1, 0xc4, 0xfd, 0x60, 0xfe, 0x14, 0x4, 0x0, 0x4, 0x0, 0xfc, 0x0, 0x0, 0x1, 0x1, 0x39, 0xfe, 0x14, 0x5, 0x91, 0x6, 0x14, 0x0, 0x5, 0x0, 0x0, 0x9, 0x2, 0x21, 0x9, 0x1, 0x1, 0x39, 0x2, 0xa0, 0xfd, 0x60, 0x1, 0xc4, 0x2, 0x94, 0xfd, 0x6c, 0xfe, 0x14, 0x4, 0x0, 0x4, 0x0, 0xfc, 0x0, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x55, 0xfe, 0x14, 0x5, 0x3f, 0x6, 0x14, 0x0, 0x5, 0x0, 0x0, 0x1, 0x21, 0x9, 0x1, 0x21, 0x1, 0x5, 0x3f, 0xfe, 0x14, 0xfe, 0x2, 0x1, 0xfe, 0x1, 0xec, 0xfe, 0x0, 0xfe, 0x14, 0x4, 0x0, 0x4, 0x0, 0xfc, 0x0, 0x0, 0x1, 0x1, 0x77, 0xfe, 0x14, 0x5, 0x60, 0x6, 0x14, 0x0, 0x5, 0x0, 0x0, 0x9, 0x2, 0x21, 0x9, 0x1, 0x1, 0x77, 0x1, 0xff, 0xfe, 0x2, 0x1, 0xea, 0x1, 0xfe, 0xfe, 0x2, 0xfe, 0x14, 0x4, 0x0, 0x4, 0x0, 0xfc, 0x0, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0xc4, 0xfe, 0x13, 0x4, 0x48, 0x6, 0x14, 0x0, 0x7, 0x0, 0x0, 0x5, 0x17, 0x7, 0x1, 0x11, 0x1, 0x17, 0x7, 0x3, 0x5a, 0xee, 0x6a, 0xfe, 0xe6, 0x1, 0x1a, 0x6a, 0xee, 0x95, 0xee, 0x6a, 0x1, 0x1a, 0x5, 0xcd, 0x1, 0x1a, 0x6a, 0xee, 0x0, 0x0, 0x1, 0x2, 0x6c, 0xfe, 0x13, 0x3, 0xf0, 0x6, 0x14, 0x0, 0x7, 0x0, 0x0, 0x1, 0x27, 0x37, 0x1, 0x11, 0x1, 0x27, 0x37, 0x3, 0x5a, 0xee, 0x6a, 0x1, 0x1a, 0xfe, 0xe6, 0x6a, 0xee, 0x4, 0xbc, 0xee, 0x6a, 0xfe, 0xe6, 0xfa, 0x33, 0xfe, 0xe6, 0x6a, 0xee, 0x0, 0x1, 0x1, 0x66, 0xfe, 0xb2, 0x5, 0x13, 0x6, 0x14, 0x0, 0x24, 0x0, 0x0, 0x5, 0x15, 0x23, 0x22, 0x26, 0x3d, 0x1, 0x34, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x3d, 0x1, 0x34, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x14, 0x6, 0x7, 0x1e, 0x1, 0x1d, 0x1, 0x14, 0x16, 0x33, 0x5, 0x13, 0xd4, 0xf9, 0xa9, 0x6c, 0x8e, 0x3d, 0x3d, 0x8f, 0x6b, 0xa9, 0xf9, 0xd4, 0x44, 0x8d, 0x56, 0x5b, 0x6e, 0x6f, 0x5a, 0x56, 0x8d, 0xbe, 0x90, 0x94, 0xdd, 0xef, 0x97, 0x74, 0x8f, 0x73, 0x95, 0xf0, 0xdd, 0x93, 0x8f, 0x58, 0x8d, 0xf8, 0x9d, 0x8e, 0x19, 0x1b, 0x8e, 0x9c, 0xf8, 0x8d, 0x58, 0x0, 0x1, 0x1, 0xa1, 0xfe, 0xb2, 0x5, 0x4e, 0x6, 0x14, 0x0, 0x24, 0x0, 0x0, 0x5, 0x33, 0x32, 0x36, 0x3d, 0x1, 0x34, 0x36, 0x37, 0x2e, 0x1, 0x3d, 0x1, 0x34, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x16, 0x1d, 0x1, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x14, 0x6, 0x2b, 0x1, 0x1, 0xa1, 0x44, 0x8d, 0x56, 0x5a, 0x6f, 0x6e, 0x5b, 0x56, 0x8d, 0x44, 0xd4, 0xf9, 0xa9, 0x6b, 0x8f, 0x3d, 0x3d, 0x8e, 0x6c, 0xa9, 0xf9, 0xd4, 0xbe, 0x58, 0x8d, 0xf8, 0x9c, 0x8e, 0x1b, 0x19, 0x8e, 0x9d, 0xf8, 0x8d, 0x58, 0x8f, 0x93, 0xdd, 0xf0, 0x95, 0x73, 0x8f, 0x74, 0x97, 0xef, 0xdd, 0x94, 0x0, 0x2, 0x0, 0x98, 0xff, 0xec, 0x6, 0x94, 0x5, 0xe8, 0x0, 0xd, 0x0, 0x18, 0x0, 0x1b, 0x0, 0xba, 0x0, 0xe, 0x0, 0x3, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xe, 0x10, 0xba, 0x0, 0xa, 0x0, 0x13, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xa, 0x10, 0x30, 0x31, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x1, 0x21, 0x35, 0x23, 0x11, 0x23, 0x5, 0x15, 0x37, 0x11, 0x23, 0x6, 0x94, 0xfe, 0x3f, 0xfe, 0xc2, 0xfe, 0xc4, 0xfe, 0x3f, 0xce, 0x1, 0x71, 0xbe, 0xc1, 0x1, 0x71, 0xcd, 0xfb, 0xd3, 0x2, 0x69, 0xda, 0xa1, 0xfe, 0xff, 0xec, 0xd9, 0x2, 0xea, 0xfe, 0xc1, 0xfe, 0x41, 0x1, 0xbf, 0x1, 0x3f, 0xc6, 0x1, 0x72, 0xc6, 0xc6, 0xfe, 0x90, 0xfd, 0x5c, 0x8e, 0x3, 0x1a, 0x2f, 0x98, 0x2b, 0xfd, 0x82, 0x0, 0x0, 0x2, 0x0, 0x98, 0xff, 0xec, 0x6, 0x94, 0x5, 0xe8, 0x0, 0xd, 0x0, 0x2a, 0x0, 0x1b, 0x0, 0xba, 0x0, 0x25, 0x0, 0x3, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x25, 0x10, 0xba, 0x0, 0xa, 0x0, 0x14, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xa, 0x10, 0x30, 0x31, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x5, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x6, 0x4, 0x7, 0x15, 0x21, 0x35, 0x21, 0x3e, 0x1, 0x6, 0x94, 0xfe, 0x3f, 0xfe, 0xc2, 0xfe, 0xc4, 0xfe, 0x3f, 0xce, 0x1, 0x71, 0xbe, 0xc1, 0x1, 0x71, 0xcd, 0xfd, 0xe6, 0x3e, 0x30, 0xc5, 0xa3, 0x3d, 0x91, 0x61, 0x73, 0x84, 0x3b, 0x4e, 0x5f, 0x2f, 0x3e, 0x21, 0xfe, 0xfa, 0x52, 0x2, 0xa4, 0xfe, 0x4c, 0x7d, 0xb2, 0x2, 0xea, 0xfe, 0xc1, 0xfe, 0x41, 0x1, 0xbf, 0x1, 0x3f, 0xc6, 0x1, 0x72, 0xc6, 0xc6, 0xfe, 0x90, 0xe9, 0x46, 0x69, 0x3a, 0x7d, 0x97, 0x1f, 0x24, 0xab, 0x3a, 0x26, 0x4e, 0x3f, 0x28, 0x55, 0x3f, 0x22, 0xf1, 0x4d, 0x81, 0x8e, 0x74, 0xa7, 0x0, 0x0, 0x0, 0x2, 0x0, 0x98, 0xff, 0xec, 0x6, 0x94, 0x5, 0xe8, 0x0, 0xd, 0x0, 0x36, 0x0, 0x99, 0xba, 0x0, 0x0, 0x0, 0xe, 0x0, 0x3, 0x2b, 0x41, 0x5, 0x0, 0xea, 0x0, 0xe, 0x0, 0xfa, 0x0, 0xe, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0xe, 0x0, 0x29, 0x0, 0xe, 0x0, 0x39, 0x0, 0xe, 0x0, 0x49, 0x0, 0xe, 0x0, 0x59, 0x0, 0xe, 0x0, 0x69, 0x0, 0xe, 0x0, 0x79, 0x0, 0xe, 0x0, 0x89, 0x0, 0xe, 0x0, 0x99, 0x0, 0xe, 0x0, 0xa9, 0x0, 0xe, 0x0, 0xb9, 0x0, 0xe, 0x0, 0xc9, 0x0, 0xe, 0x0, 0xd9, 0x0, 0xe, 0x0, 0xd, 0x5d, 0xb8, 0x0, 0x31, 0xdc, 0x0, 0xba, 0x0, 0x2e, 0x0, 0x3, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x2e, 0x10, 0xba, 0x0, 0xa, 0x0, 0x11, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xa, 0x10, 0xba, 0x0, 0x21, 0x0, 0x27, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x21, 0x10, 0xba, 0x0, 0x18, 0x0, 0x1e, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x18, 0x10, 0xba, 0x0, 0x15, 0x0, 0x1e, 0x0, 0x18, 0x11, 0x12, 0x39, 0xba, 0x0, 0x2a, 0x0, 0x27, 0x0, 0x21, 0x11, 0x12, 0x39, 0x30, 0x31, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x25, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x2b, 0x1, 0x15, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x15, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x32, 0x36, 0x6, 0x94, 0xfe, 0x3f, 0xfe, 0xc2, 0xfe, 0xc4, 0xfe, 0x3f, 0xce, 0x1, 0x71, 0xbe, 0xc1, 0x1, 0x71, 0xcd, 0xfe, 0x7c, 0xc1, 0xa1, 0x3d, 0x88, 0x5f, 0x6b, 0x79, 0x34, 0x5b, 0x5c, 0x58, 0x5a, 0x91, 0x8c, 0x63, 0x6b, 0x73, 0x75, 0x44, 0x7d, 0x5b, 0x58, 0x88, 0x40, 0xc3, 0xd8, 0x76, 0xd, 0x4, 0x68, 0x2, 0xea, 0xfe, 0xc1, 0xfe, 0x41, 0x1, 0xbf, 0x1, 0x3f, 0xc6, 0x1, 0x72, 0xc6, 0xc6, 0xfe, 0x90, 0x18, 0x73, 0x89, 0x14, 0x18, 0x97, 0x20, 0x15, 0x3f, 0x3c, 0x3a, 0x3c, 0x8c, 0x4e, 0x47, 0x4c, 0x4f, 0x1c, 0x30, 0xa8, 0x1b, 0x17, 0x9c, 0x8d, 0x5d, 0x81, 0x3, 0x72, 0x0, 0x0, 0x3, 0x0, 0x98, 0xff, 0xec, 0x6, 0x94, 0x5, 0xe8, 0x0, 0xd, 0x0, 0x10, 0x0, 0x1b, 0x0, 0x1b, 0x0, 0xba, 0x0, 0x14, 0x0, 0x3, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x14, 0x10, 0xba, 0x0, 0xa, 0x0, 0x1b, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xa, 0x10, 0x30, 0x31, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x1, 0x21, 0x9, 0x1, 0x15, 0x21, 0x15, 0x33, 0x35, 0x33, 0x35, 0x23, 0x11, 0x23, 0x6, 0x94, 0xfe, 0x3f, 0xfe, 0xc2, 0xfe, 0xc4, 0xfe, 0x3f, 0xce, 0x1, 0x71, 0xbe, 0xc1, 0x1, 0x71, 0xcd, 0xfd, 0x16, 0xfe, 0xf3, 0x1, 0xd, 0xfe, 0x43, 0x1, 0xbd, 0xb6, 0x8d, 0x8d, 0xce, 0x2, 0xea, 0xfe, 0xc1, 0xfe, 0x41, 0x1, 0xbf, 0x1, 0x3f, 0xc6, 0x1, 0x72, 0xc6, 0xc6, 0xfe, 0x90, 0xfe, 0xbc, 0x1, 0x7e, 0xfe, 0x83, 0x8e, 0xd3, 0xd3, 0x8d, 0x2, 0x48, 0x0, 0x0, 0x0, 0x2, 0x0, 0x98, 0xff, 0xec, 0x6, 0x94, 0x5, 0xe8, 0x0, 0xd, 0x0, 0x2b, 0x0, 0x8b, 0xba, 0x0, 0x0, 0x0, 0x21, 0x0, 0x3, 0x2b, 0x41, 0x5, 0x0, 0xea, 0x0, 0x21, 0x0, 0xfa, 0x0, 0x21, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x21, 0x0, 0x29, 0x0, 0x21, 0x0, 0x39, 0x0, 0x21, 0x0, 0x49, 0x0, 0x21, 0x0, 0x59, 0x0, 0x21, 0x0, 0x69, 0x0, 0x21, 0x0, 0x79, 0x0, 0x21, 0x0, 0x89, 0x0, 0x21, 0x0, 0x99, 0x0, 0x21, 0x0, 0xa9, 0x0, 0x21, 0x0, 0xb9, 0x0, 0x21, 0x0, 0xc9, 0x0, 0x21, 0x0, 0xd9, 0x0, 0x21, 0x0, 0xd, 0x5d, 0x0, 0xba, 0x0, 0x1e, 0x0, 0x3, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x1e, 0x10, 0xba, 0x0, 0xa, 0x0, 0x2b, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xa, 0x10, 0xba, 0x0, 0x11, 0x0, 0x17, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x11, 0x10, 0xba, 0x0, 0x28, 0x0, 0x24, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x28, 0x10, 0xba, 0x0, 0x1a, 0x0, 0x17, 0x0, 0x11, 0x11, 0x12, 0x39, 0x30, 0x31, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x5, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x15, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x37, 0x35, 0x21, 0x35, 0x21, 0x6, 0x94, 0xfe, 0x3f, 0xfe, 0xc2, 0xfe, 0xc4, 0xfe, 0x3f, 0xce, 0x1, 0x71, 0xbe, 0xc1, 0x1, 0x71, 0xcd, 0xfb, 0xef, 0x59, 0x65, 0x32, 0x68, 0x76, 0x76, 0x68, 0x44, 0x77, 0x5f, 0x58, 0x85, 0x40, 0xbe, 0xd5, 0xcf, 0xb0, 0x1f, 0x3f, 0x3, 0x1, 0x91, 0xfd, 0xc3, 0x2, 0xea, 0xfe, 0xc1, 0xfe, 0x41, 0x1, 0xbf, 0x1, 0x3f, 0xc6, 0x1, 0x72, 0xc6, 0xc6, 0xfe, 0x90, 0xf3, 0x25, 0x14, 0x61, 0x56, 0x55, 0x61, 0x1b, 0x2f, 0xac, 0x18, 0x14, 0xac, 0x98, 0x95, 0xb0, 0xa, 0x1, 0xab, 0x8e, 0x0, 0x3, 0x0, 0x98, 0xff, 0xec, 0x6, 0x94, 0x5, 0xe8, 0x0, 0xd, 0x0, 0x19, 0x0, 0x32, 0x0, 0xf1, 0xb8, 0x0, 0x33, 0x2f, 0xb8, 0x0, 0x34, 0x2f, 0xb8, 0x0, 0x33, 0x10, 0xb8, 0x0, 0x6, 0xd0, 0xb8, 0x0, 0x6, 0x2f, 0xb8, 0x0, 0x34, 0x10, 0xb8, 0x0, 0xe, 0xdc, 0xb8, 0x0, 0x14, 0xdc, 0x41, 0x5, 0x0, 0xea, 0x0, 0x14, 0x0, 0xfa, 0x0, 0x14, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x14, 0x0, 0x29, 0x0, 0x14, 0x0, 0x39, 0x0, 0x14, 0x0, 0x49, 0x0, 0x14, 0x0, 0x59, 0x0, 0x14, 0x0, 0x69, 0x0, 0x14, 0x0, 0x79, 0x0, 0x14, 0x0, 0x89, 0x0, 0x14, 0x0, 0x99, 0x0, 0x14, 0x0, 0xa9, 0x0, 0x14, 0x0, 0xb9, 0x0, 0x14, 0x0, 0xc9, 0x0, 0x14, 0x0, 0xd9, 0x0, 0x14, 0x0, 0xd, 0x5d, 0xb8, 0x0, 0x6, 0x10, 0xb8, 0x0, 0x1d, 0xdc, 0x41, 0x1b, 0x0, 0x16, 0x0, 0x1d, 0x0, 0x26, 0x0, 0x1d, 0x0, 0x36, 0x0, 0x1d, 0x0, 0x46, 0x0, 0x1d, 0x0, 0x56, 0x0, 0x1d, 0x0, 0x66, 0x0, 0x1d, 0x0, 0x76, 0x0, 0x1d, 0x0, 0x86, 0x0, 0x1d, 0x0, 0x96, 0x0, 0x1d, 0x0, 0xa6, 0x0, 0x1d, 0x0, 0xb6, 0x0, 0x1d, 0x0, 0xc6, 0x0, 0x1d, 0x0, 0xd6, 0x0, 0x1d, 0x0, 0xd, 0x5d, 0x41, 0x5, 0x0, 0xe5, 0x0, 0x1d, 0x0, 0xf5, 0x0, 0x1d, 0x0, 0x2, 0x5d, 0x0, 0xba, 0x0, 0x20, 0x0, 0x3, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x20, 0x10, 0xba, 0x0, 0xa, 0x0, 0x1a, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xa, 0x10, 0xba, 0x0, 0x17, 0x0, 0x11, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x17, 0x10, 0xba, 0x0, 0x2c, 0x0, 0x26, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x2c, 0x10, 0xba, 0x0, 0x2f, 0x0, 0x26, 0x0, 0x2c, 0x11, 0x12, 0x39, 0x30, 0x31, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x1, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x3, 0x22, 0x2, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x37, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x17, 0x35, 0x2e, 0x1, 0x6, 0x94, 0xfe, 0x3f, 0xfe, 0xc2, 0xfe, 0xc4, 0xfe, 0x3f, 0xce, 0x1, 0x71, 0xbe, 0xc1, 0x1, 0x71, 0xcd, 0xfd, 0xa2, 0x5c, 0x4e, 0x4e, 0x5c, 0x5c, 0x4e, 0x4e, 0x5c, 0x71, 0xc8, 0xea, 0xc0, 0xb9, 0xa0, 0xc2, 0xba, 0xa0, 0x4e, 0x80, 0x9, 0x5, 0x7f, 0x77, 0x2f, 0x61, 0x54, 0x4a, 0x6a, 0x2, 0xea, 0xfe, 0xc1, 0xfe, 0x41, 0x1, 0xbf, 0x1, 0x3f, 0xc6, 0x1, 0x72, 0xc6, 0xc6, 0xfe, 0x90, 0xfe, 0x8f, 0x5a, 0x62, 0x62, 0x5a, 0x5b, 0x62, 0x62, 0x2, 0x2a, 0xfe, 0xf5, 0xda, 0xe7, 0xfd, 0xb3, 0x91, 0x94, 0xb1, 0x3d, 0xb, 0x50, 0x94, 0x16, 0x23, 0x9c, 0x18, 0x13, 0x0, 0x2, 0x0, 0x98, 0xff, 0xec, 0x6, 0x94, 0x5, 0xe8, 0x0, 0xd, 0x0, 0x14, 0x0, 0x1b, 0x0, 0xba, 0x0, 0x11, 0x0, 0x3, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x11, 0x10, 0xba, 0x0, 0xa, 0x0, 0x14, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xa, 0x10, 0x30, 0x31, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x25, 0x21, 0x1, 0x33, 0x1, 0x35, 0x21, 0x6, 0x94, 0xfe, 0x3f, 0xfe, 0xc2, 0xfe, 0xc4, 0xfe, 0x3f, 0xce, 0x1, 0x71, 0xbe, 0xc1, 0x1, 0x71, 0xcd, 0xfb, 0xc2, 0x1, 0xcf, 0xfe, 0xaf, 0xc1, 0x1, 0x6c, 0xfd, 0x55, 0x2, 0xea, 0xfe, 0xc1, 0xfe, 0x41, 0x1, 0xbf, 0x1, 0x3f, 0xc6, 0x1, 0x72, 0xc6, 0xc6, 0xfe, 0x90, 0x76, 0xfc, 0xe6, 0x3, 0x5d, 0x4b, 0x0, 0x4, 0x0, 0x98, 0xff, 0xec, 0x6, 0x94, 0x5, 0xe8, 0x0, 0xd, 0x0, 0x19, 0x0, 0x31, 0x0, 0x3d, 0x1, 0x8b, 0xba, 0x0, 0x1a, 0x0, 0x6, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x1a, 0x10, 0xba, 0x0, 0xe, 0x0, 0x14, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xe, 0x10, 0xba, 0x0, 0x0, 0x0, 0x20, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x0, 0x10, 0x41, 0x5, 0x0, 0xea, 0x0, 0x14, 0x0, 0xfa, 0x0, 0x14, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x14, 0x0, 0x29, 0x0, 0x14, 0x0, 0x39, 0x0, 0x14, 0x0, 0x49, 0x0, 0x14, 0x0, 0x59, 0x0, 0x14, 0x0, 0x69, 0x0, 0x14, 0x0, 0x79, 0x0, 0x14, 0x0, 0x89, 0x0, 0x14, 0x0, 0x99, 0x0, 0x14, 0x0, 0xa9, 0x0, 0x14, 0x0, 0xb9, 0x0, 0x14, 0x0, 0xc9, 0x0, 0x14, 0x0, 0xd9, 0x0, 0x14, 0x0, 0xd, 0x5d, 0x41, 0x1b, 0x0, 0x16, 0x0, 0x1a, 0x0, 0x26, 0x0, 0x1a, 0x0, 0x36, 0x0, 0x1a, 0x0, 0x46, 0x0, 0x1a, 0x0, 0x56, 0x0, 0x1a, 0x0, 0x66, 0x0, 0x1a, 0x0, 0x76, 0x0, 0x1a, 0x0, 0x86, 0x0, 0x1a, 0x0, 0x96, 0x0, 0x1a, 0x0, 0xa6, 0x0, 0x1a, 0x0, 0xb6, 0x0, 0x1a, 0x0, 0xc6, 0x0, 0x1a, 0x0, 0xd6, 0x0, 0x1a, 0x0, 0xd, 0x5d, 0x41, 0x5, 0x0, 0xe5, 0x0, 0x1a, 0x0, 0xf5, 0x0, 0x1a, 0x0, 0x2, 0x5d, 0x41, 0x5, 0x0, 0xea, 0x0, 0x20, 0x0, 0xfa, 0x0, 0x20, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x20, 0x0, 0x29, 0x0, 0x20, 0x0, 0x39, 0x0, 0x20, 0x0, 0x49, 0x0, 0x20, 0x0, 0x59, 0x0, 0x20, 0x0, 0x69, 0x0, 0x20, 0x0, 0x79, 0x0, 0x20, 0x0, 0x89, 0x0, 0x20, 0x0, 0x99, 0x0, 0x20, 0x0, 0xa9, 0x0, 0x20, 0x0, 0xb9, 0x0, 0x20, 0x0, 0xc9, 0x0, 0x20, 0x0, 0xd9, 0x0, 0x20, 0x0, 0xd, 0x5d, 0xba, 0x0, 0x2f, 0x0, 0x6, 0x0, 0x0, 0x11, 0x12, 0x39, 0xba, 0x0, 0x3b, 0x0, 0x14, 0x0, 0xe, 0x11, 0x12, 0x39, 0xb8, 0x0, 0x3b, 0x2f, 0x41, 0x5, 0x0, 0xea, 0x0, 0x3b, 0x0, 0xfa, 0x0, 0x3b, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x3b, 0x0, 0x29, 0x0, 0x3b, 0x0, 0x39, 0x0, 0x3b, 0x0, 0x49, 0x0, 0x3b, 0x0, 0x59, 0x0, 0x3b, 0x0, 0x69, 0x0, 0x3b, 0x0, 0x79, 0x0, 0x3b, 0x0, 0x89, 0x0, 0x3b, 0x0, 0x99, 0x0, 0x3b, 0x0, 0xa9, 0x0, 0x3b, 0x0, 0xb9, 0x0, 0x3b, 0x0, 0xc9, 0x0, 0x3b, 0x0, 0xd9, 0x0, 0x3b, 0x0, 0xd, 0x5d, 0xb8, 0x0, 0x35, 0xdc, 0x0, 0xba, 0x0, 0x1d, 0x0, 0x3, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x1d, 0x10, 0xba, 0x0, 0xa, 0x0, 0x29, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xa, 0x10, 0xba, 0x0, 0x17, 0x0, 0x11, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x17, 0x10, 0xba, 0x0, 0x32, 0x0, 0x38, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x32, 0x10, 0x30, 0x31, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x1, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x5, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0xe, 0x1, 0x1, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x6, 0x94, 0xfe, 0x3f, 0xfe, 0xc2, 0xfe, 0xc4, 0xfe, 0x3f, 0xce, 0x1, 0x71, 0xbe, 0xc1, 0x1, 0x71, 0xcd, 0xfd, 0xb9, 0x5f, 0x54, 0x54, 0x5f, 0x5f, 0x54, 0x54, 0x5f, 0xfd, 0xe2, 0xbe, 0xad, 0xad, 0xbe, 0x76, 0xf, 0x4, 0x69, 0xb6, 0x9d, 0x9d, 0xb7, 0x6a, 0x4, 0xf, 0x76, 0x1, 0x6b, 0x4b, 0x52, 0x52, 0x4b, 0x4d, 0x51, 0x51, 0x2, 0xea, 0xfe, 0xc1, 0xfe, 0x41, 0x1, 0xbf, 0x1, 0x3f, 0xc6, 0x1, 0x72, 0xc6, 0xc6, 0xfe, 0x90, 0xfe, 0x6c, 0x48, 0x51, 0x50, 0x49, 0x49, 0x50, 0x50, 0x49, 0x8a, 0x97, 0x97, 0x8a, 0x5c, 0x83, 0x3, 0x1, 0x76, 0x53, 0x74, 0x88, 0x88, 0x74, 0x53, 0x76, 0x1, 0x3, 0x83, 0x1, 0xc4, 0x42, 0x3e, 0x3d, 0x42, 0x42, 0x3d, 0x3e, 0x42, 0x0, 0x3, 0x0, 0x98, 0xff, 0xec, 0x6, 0x94, 0x5, 0xe8, 0x0, 0xd, 0x0, 0x26, 0x0, 0x32, 0x0, 0xe9, 0xb8, 0x0, 0x33, 0x2f, 0xb8, 0x0, 0x34, 0x2f, 0xb8, 0x0, 0x0, 0xdc, 0xb8, 0x0, 0x11, 0xdc, 0x41, 0x5, 0x0, 0xea, 0x0, 0x11, 0x0, 0xfa, 0x0, 0x11, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x11, 0x0, 0x29, 0x0, 0x11, 0x0, 0x39, 0x0, 0x11, 0x0, 0x49, 0x0, 0x11, 0x0, 0x59, 0x0, 0x11, 0x0, 0x69, 0x0, 0x11, 0x0, 0x79, 0x0, 0x11, 0x0, 0x89, 0x0, 0x11, 0x0, 0x99, 0x0, 0x11, 0x0, 0xa9, 0x0, 0x11, 0x0, 0xb9, 0x0, 0x11, 0x0, 0xc9, 0x0, 0x11, 0x0, 0xd9, 0x0, 0x11, 0x0, 0xd, 0x5d, 0xb8, 0x0, 0x33, 0x10, 0xb8, 0x0, 0x27, 0xd0, 0xb8, 0x0, 0x27, 0x2f, 0xb8, 0x0, 0x2d, 0xdc, 0x41, 0x1b, 0x0, 0x16, 0x0, 0x2d, 0x0, 0x26, 0x0, 0x2d, 0x0, 0x36, 0x0, 0x2d, 0x0, 0x46, 0x0, 0x2d, 0x0, 0x56, 0x0, 0x2d, 0x0, 0x66, 0x0, 0x2d, 0x0, 0x76, 0x0, 0x2d, 0x0, 0x86, 0x0, 0x2d, 0x0, 0x96, 0x0, 0x2d, 0x0, 0xa6, 0x0, 0x2d, 0x0, 0xb6, 0x0, 0x2d, 0x0, 0xc6, 0x0, 0x2d, 0x0, 0xd6, 0x0, 0x2d, 0x0, 0xd, 0x5d, 0x41, 0x5, 0x0, 0xe5, 0x0, 0x2d, 0x0, 0xf5, 0x0, 0x2d, 0x0, 0x2, 0x5d, 0x0, 0xba, 0x0, 0xe, 0x0, 0x3, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xe, 0x10, 0xba, 0x0, 0xa, 0x0, 0x14, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xa, 0x10, 0xba, 0x0, 0x1a, 0x0, 0x20, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x1a, 0x10, 0xba, 0x0, 0x2a, 0x0, 0x30, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x2a, 0x10, 0xba, 0x0, 0x23, 0x0, 0x20, 0x0, 0x1a, 0x11, 0x12, 0x39, 0x30, 0x31, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x1, 0x32, 0x12, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x7, 0xe, 0x1, 0x23, 0x22, 0x26, 0x27, 0x15, 0x1e, 0x1, 0x3, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x6, 0x94, 0xfe, 0x3f, 0xfe, 0xc2, 0xfe, 0xc4, 0xfe, 0x3f, 0xce, 0x1, 0x71, 0xbe, 0xc1, 0x1, 0x71, 0xcd, 0xfc, 0xd1, 0xc8, 0xe9, 0xbf, 0xb9, 0xa0, 0xc2, 0xba, 0x9f, 0x4f, 0x80, 0xa, 0x5, 0x7f, 0x77, 0x2e, 0x61, 0x55, 0x4a, 0x6b, 0x3c, 0x5c, 0x4e, 0x4e, 0x5b, 0x5b, 0x4e, 0x4e, 0x5c, 0x2, 0xea, 0xfe, 0xc1, 0xfe, 0x41, 0x1, 0xbf, 0x1, 0x3f, 0xc6, 0x1, 0x72, 0xc6, 0xc6, 0xfe, 0x90, 0xfd, 0x4b, 0x1, 0xa, 0xda, 0xe8, 0xfd, 0xb4, 0x91, 0x94, 0xaf, 0x3c, 0xd, 0x4f, 0x93, 0x15, 0x24, 0x9c, 0x18, 0x13, 0x2, 0x84, 0x5b, 0x62, 0x62, 0x5b, 0x5b, 0x62, 0x62, 0x0, 0x4, 0x0, 0x98, 0xff, 0xec, 0x6, 0x94, 0x5, 0xe8, 0x0, 0xd, 0x0, 0x18, 0x0, 0x24, 0x0, 0x30, 0x0, 0xd3, 0xba, 0x0, 0x25, 0x0, 0x11, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x25, 0x10, 0xba, 0x0, 0x19, 0x0, 0x1f, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x19, 0x10, 0xba, 0x0, 0x0, 0x0, 0x2b, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0x0, 0x10, 0x41, 0x5, 0x0, 0xea, 0x0, 0x1f, 0x0, 0xfa, 0x0, 0x1f, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x1f, 0x0, 0x29, 0x0, 0x1f, 0x0, 0x39, 0x0, 0x1f, 0x0, 0x49, 0x0, 0x1f, 0x0, 0x59, 0x0, 0x1f, 0x0, 0x69, 0x0, 0x1f, 0x0, 0x79, 0x0, 0x1f, 0x0, 0x89, 0x0, 0x1f, 0x0, 0x99, 0x0, 0x1f, 0x0, 0xa9, 0x0, 0x1f, 0x0, 0xb9, 0x0, 0x1f, 0x0, 0xc9, 0x0, 0x1f, 0x0, 0xd9, 0x0, 0x1f, 0x0, 0xd, 0x5d, 0x41, 0x5, 0x0, 0xea, 0x0, 0x2b, 0x0, 0xfa, 0x0, 0x2b, 0x0, 0x2, 0x5d, 0x41, 0x1b, 0x0, 0x19, 0x0, 0x2b, 0x0, 0x29, 0x0, 0x2b, 0x0, 0x39, 0x0, 0x2b, 0x0, 0x49, 0x0, 0x2b, 0x0, 0x59, 0x0, 0x2b, 0x0, 0x69, 0x0, 0x2b, 0x0, 0x79, 0x0, 0x2b, 0x0, 0x89, 0x0, 0x2b, 0x0, 0x99, 0x0, 0x2b, 0x0, 0xa9, 0x0, 0x2b, 0x0, 0xb9, 0x0, 0x2b, 0x0, 0xc9, 0x0, 0x2b, 0x0, 0xd9, 0x0, 0x2b, 0x0, 0xd, 0x5d, 0x0, 0xba, 0x0, 0xf, 0x0, 0x3, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xf, 0x10, 0xba, 0x0, 0xa, 0x0, 0x2e, 0x0, 0x3, 0x2b, 0xb8, 0x0, 0xa, 0x10, 0xb8, 0x0, 0x3, 0x10, 0xb8, 0x0, 0x28, 0xdc, 0x30, 0x31, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x12, 0x24, 0x33, 0x32, 0x4, 0x12, 0x1, 0x21, 0x35, 0x23, 0x11, 0x23, 0x7, 0x15, 0x37, 0x11, 0x23, 0x1, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x5, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x6, 0x94, 0xfe, 0x3f, 0xfe, 0xc2, 0xfe, 0xc4, 0xfe, 0x3f, 0xce, 0x1, 0x71, 0xbe, 0xc1, 0x1, 0x71, 0xcd, 0xfb, 0x24, 0x1, 0xc2, 0x9f, 0x75, 0xbc, 0xac, 0x9e, 0x3, 0x89, 0x46, 0x3f, 0x40, 0x45, 0x45, 0x40, 0x3f, 0x46, 0xfe, 0x70, 0x88, 0x83, 0x82, 0x88, 0x88, 0x82, 0x83, 0x88, 0x2, 0xea, 0xfe, 0xc1, 0xfe, 0x41, 0x1, 0xbf, 0x1, 0x3f, 0xc6, 0x1, 0x72, 0xc6, 0xc6, 0xfe, 0x90, 0xfd, 0xa9, 0x80, 0x2, 0xca, 0x2a, 0x89, 0x27, 0xfd, 0xc2, 0x1, 0x24, 0xa2, 0x97, 0x97, 0xa2, 0xa3, 0x97, 0x97, 0xa3, 0xd0, 0xe4, 0xe4, 0xd0, 0xd1, 0xe4, 0xe4, 0x0, 0x0, 0x3, 0x0, 0x9, 0xff, 0x96, 0x6, 0xab, 0x6, 0x3d, 0x0, 0x19, 0x0, 0x24, 0x0, 0x3e, 0x0, 0x0, 0x0, 0x20, 0x7, 0x6, 0x7, 0x6, 0x2, 0x15, 0x14, 0x12, 0x17, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x37, 0x36, 0x12, 0x35, 0x34, 0x2, 0x27, 0x26, 0x27, 0x1, 0x21, 0x11, 0x5, 0x35, 0x25, 0x33, 0x11, 0x21, 0x15, 0x21, 0x12, 0x20, 0x17, 0x16, 0x17, 0x16, 0x12, 0x15, 0x14, 0x2, 0x7, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x27, 0x26, 0x2, 0x35, 0x34, 0x12, 0x37, 0x36, 0x37, 0x3, 0xf4, 0xfe, 0xcc, 0x86, 0x84, 0x6d, 0x6f, 0x6d, 0x6d, 0x6f, 0x6d, 0x84, 0x86, 0x1, 0x34, 0x86, 0x84, 0x6d, 0x6f, 0x6d, 0x6d, 0x6f, 0x6d, 0x84, 0xfd, 0xa5, 0x1, 0x8, 0xfe, 0xe1, 0x1, 0x1e, 0xa1, 0x1, 0x8, 0xfd, 0x50, 0x8d, 0x1, 0x5c, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x98, 0xfe, 0xa4, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x5, 0xd9, 0x39, 0x36, 0x6f, 0x6f, 0xfe, 0xf7, 0x9c, 0x97, 0xfe, 0xf7, 0x6f, 0x6f, 0x36, 0x39, 0x39, 0x36, 0x6f, 0x6f, 0x1, 0x9, 0x97, 0x9c, 0x1, 0x9, 0x6f, 0x6f, 0x36, 0xfb, 0x7d, 0x3, 0x8f, 0x39, 0x93, 0x3a, 0xfb, 0xdd, 0x88, 0x5, 0xa8, 0x40, 0x3e, 0x7d, 0x7e, 0xfe, 0xd4, 0xb1, 0xac, 0xfe, 0xd4, 0x7e, 0x7d, 0x3e, 0x40, 0x40, 0x3e, 0x7d, 0x7e, 0x1, 0x2c, 0xac, 0xb1, 0x1, 0x2c, 0x7e, 0x7d, 0x3e, 0x0, 0x0, 0x3, 0x0, 0x9, 0xff, 0x96, 0x6, 0xab, 0x6, 0x3d, 0x0, 0x19, 0x0, 0x36, 0x0, 0x50, 0x0, 0x0, 0x0, 0x20, 0x7, 0x6, 0x7, 0x6, 0x2, 0x15, 0x14, 0x12, 0x17, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x37, 0x36, 0x12, 0x35, 0x34, 0x2, 0x27, 0x26, 0x27, 0x1, 0x21, 0x15, 0x21, 0x35, 0x36, 0x0, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0xe, 0x1, 0x2, 0x20, 0x17, 0x16, 0x17, 0x16, 0x12, 0x15, 0x14, 0x2, 0x7, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x27, 0x26, 0x2, 0x35, 0x34, 0x12, 0x37, 0x36, 0x37, 0x3, 0xf4, 0xfe, 0xcc, 0x86, 0x84, 0x6d, 0x6f, 0x6d, 0x6d, 0x6f, 0x6d, 0x84, 0x86, 0x1, 0x34, 0x86, 0x84, 0x6d, 0x6f, 0x6d, 0x6d, 0x6f, 0x6d, 0x84, 0xfe, 0x29, 0x2, 0x34, 0xfd, 0xa, 0x5c, 0x1, 0x3d, 0x29, 0x4e, 0x3d, 0x85, 0x6b, 0x50, 0xa5, 0x60, 0x61, 0xaa, 0x46, 0xba, 0xdd, 0x37, 0x49, 0x14, 0xd7, 0xba, 0x1, 0x5c, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x98, 0xfe, 0xa4, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x5, 0xd9, 0x39, 0x36, 0x6f, 0x6f, 0xfe, 0xf7, 0x9c, 0x97, 0xfe, 0xf7, 0x6f, 0x6f, 0x36, 0x39, 0x39, 0x36, 0x6f, 0x6f, 0x1, 0x9, 0x97, 0x9c, 0x1, 0x9, 0x6f, 0x6f, 0x36, 0xfb, 0x80, 0x88, 0x88, 0x5f, 0x1, 0x41, 0x2e, 0x58, 0x78, 0x3b, 0x5f, 0x78, 0x35, 0x35, 0xa3, 0x27, 0x28, 0xba, 0x9b, 0x49, 0x84, 0x5a, 0x17, 0xde, 0x4, 0x56, 0x40, 0x3e, 0x7d, 0x7e, 0xfe, 0xd4, 0xb1, 0xac, 0xfe, 0xd4, 0x7e, 0x7d, 0x3e, 0x40, 0x40, 0x3e, 0x7d, 0x7e, 0x1, 0x2c, 0xac, 0xb1, 0x1, 0x2c, 0x7e, 0x7d, 0x3e, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x9, 0xff, 0x96, 0x6, 0xab, 0x6, 0x3d, 0x0, 0x19, 0x0, 0x42, 0x0, 0x5c, 0x0, 0x0, 0x0, 0x20, 0x7, 0x6, 0x7, 0x6, 0x2, 0x15, 0x14, 0x12, 0x17, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x37, 0x36, 0x12, 0x35, 0x34, 0x2, 0x27, 0x26, 0x27, 0x3, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x0, 0x20, 0x17, 0x16, 0x17, 0x16, 0x12, 0x15, 0x14, 0x2, 0x7, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x27, 0x26, 0x2, 0x35, 0x34, 0x12, 0x37, 0x36, 0x37, 0x3, 0xf4, 0xfe, 0xcc, 0x86, 0x84, 0x6d, 0x6f, 0x6d, 0x6d, 0x6f, 0x6d, 0x84, 0x86, 0x1, 0x34, 0x86, 0x84, 0x6d, 0x6f, 0x6d, 0x6d, 0x6f, 0x6d, 0x84, 0x74, 0x74, 0x83, 0xf3, 0xe0, 0x4c, 0x9f, 0x55, 0x44, 0xa0, 0x57, 0x98, 0x9f, 0x94, 0x84, 0x8b, 0x91, 0x78, 0x7e, 0x82, 0x7a, 0x42, 0x98, 0x5c, 0x52, 0xab, 0x47, 0xba, 0xd5, 0x72, 0xfe, 0x3d, 0x1, 0x5c, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x98, 0xfe, 0xa4, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x5, 0xd9, 0x39, 0x36, 0x6f, 0x6f, 0xfe, 0xf7, 0x9c, 0x97, 0xfe, 0xf7, 0x6f, 0x6f, 0x36, 0x39, 0x39, 0x36, 0x6f, 0x6f, 0x1, 0x9, 0x97, 0x9c, 0x1, 0x9, 0x6f, 0x6f, 0x36, 0xfd, 0x79, 0x19, 0x9c, 0x74, 0xb0, 0xc2, 0x1e, 0x1d, 0x9c, 0x27, 0x28, 0x78, 0x72, 0x6a, 0x77, 0x85, 0x5f, 0x5a, 0x5c, 0x62, 0x1d, 0x1e, 0x90, 0x17, 0x1c, 0xa7, 0x8e, 0x64, 0x88, 0x3, 0x9, 0x40, 0x3e, 0x7d, 0x7e, 0xfe, 0xd4, 0xb1, 0xac, 0xfe, 0xd4, 0x7e, 0x7d, 0x3e, 0x40, 0x40, 0x3e, 0x7d, 0x7e, 0x1, 0x2c, 0xac, 0xb1, 0x1, 0x2c, 0x7e, 0x7d, 0x3e, 0x0, 0x0, 0x4, 0x0, 0x9, 0xff, 0x96, 0x6, 0xab, 0x6, 0x3d, 0x0, 0x19, 0x0, 0x1c, 0x0, 0x27, 0x0, 0x41, 0x0, 0x0, 0x0, 0x20, 0x7, 0x6, 0x7, 0x6, 0x2, 0x15, 0x14, 0x12, 0x17, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x37, 0x36, 0x12, 0x35, 0x34, 0x2, 0x27, 0x26, 0x27, 0x7, 0x1, 0x21, 0x3, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, 0x21, 0x35, 0x0, 0x20, 0x17, 0x16, 0x17, 0x16, 0x12, 0x15, 0x14, 0x2, 0x7, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x27, 0x26, 0x2, 0x35, 0x34, 0x12, 0x37, 0x36, 0x37, 0x3, 0xf4, 0xfe, 0xcc, 0x86, 0x84, 0x6d, 0x6f, 0x6d, 0x6d, 0x6f, 0x6d, 0x84, 0x86, 0x1, 0x34, 0x86, 0x84, 0x6d, 0x6f, 0x6d, 0x6d, 0x6f, 0x6d, 0x84, 0xde, 0xfe, 0x68, 0x1, 0x98, 0x2a, 0xcb, 0xaa, 0xaa, 0xa1, 0xfd, 0xe5, 0x1, 0x2b, 0x1, 0x5c, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x98, 0xfe, 0xa4, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x5, 0xd9, 0x39, 0x36, 0x6f, 0x6f, 0xfe, 0xf7, 0x9c, 0x97, 0xfe, 0xf7, 0x6f, 0x6f, 0x36, 0x39, 0x39, 0x36, 0x6f, 0x6f, 0x1, 0x9, 0x97, 0x9c, 0x1, 0x9, 0x6f, 0x6f, 0x36, 0xed, 0xfd, 0x82, 0x3, 0xb, 0xfc, 0xf5, 0x86, 0xfe, 0xe6, 0x1, 0x1a, 0x9c, 0x3, 0xf2, 0x40, 0x3e, 0x7d, 0x7e, 0xfe, 0xd4, 0xb1, 0xac, 0xfe, 0xd4, 0x7e, 0x7d, 0x3e, 0x40, 0x40, 0x3e, 0x7d, 0x7e, 0x1, 0x2c, 0xac, 0xb1, 0x1, 0x2c, 0x7e, 0x7d, 0x3e, 0x0, 0x0, 0x3, 0x0, 0x9, 0xff, 0x96, 0x6, 0xab, 0x6, 0x3d, 0x0, 0x19, 0x0, 0x37, 0x0, 0x51, 0x0, 0x0, 0x0, 0x20, 0x7, 0x6, 0x7, 0x6, 0x2, 0x15, 0x14, 0x12, 0x17, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x37, 0x36, 0x12, 0x35, 0x34, 0x2, 0x27, 0x26, 0x27, 0x5, 0x21, 0x15, 0x21, 0x11, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x12, 0x20, 0x17, 0x16, 0x17, 0x16, 0x12, 0x15, 0x14, 0x2, 0x7, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x27, 0x26, 0x2, 0x35, 0x34, 0x12, 0x37, 0x36, 0x37, 0x3, 0xf4, 0xfe, 0xcc, 0x86, 0x84, 0x6d, 0x6f, 0x6d, 0x6d, 0x6f, 0x6d, 0x84, 0x86, 0x1, 0x34, 0x86, 0x84, 0x6d, 0x6f, 0x6d, 0x6d, 0x6f, 0x6d, 0x84, 0xfd, 0xa3, 0x2, 0x7a, 0xfe, 0x1a, 0x23, 0x47, 0x23, 0xc8, 0xe9, 0xf0, 0xda, 0x4b, 0x9c, 0x53, 0x4c, 0x95, 0x56, 0x8a, 0xa2, 0xa2, 0x8a, 0x41, 0x81, 0x43, 0x8f, 0x1, 0x5c, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x98, 0xfe, 0xa4, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x5, 0xd9, 0x39, 0x36, 0x6f, 0x6f, 0xfe, 0xf7, 0x9c, 0x97, 0xfe, 0xf7, 0x6f, 0x6f, 0x36, 0x39, 0x39, 0x36, 0x6f, 0x6f, 0x1, 0x9, 0x97, 0x9c, 0x1, 0x9, 0x6f, 0x6f, 0x36, 0x63, 0x88, 0xfe, 0xdb, 0xc, 0xc, 0xdb, 0xbb, 0xc1, 0xd6, 0x1a, 0x19, 0xa3, 0x29, 0x25, 0x92, 0x7d, 0x7c, 0x92, 0x1d, 0x1e, 0x3, 0x58, 0x40, 0x3e, 0x7d, 0x7e, 0xfe, 0xd4, 0xb1, 0xac, 0xfe, 0xd4, 0x7e, 0x7d, 0x3e, 0x40, 0x40, 0x3e, 0x7d, 0x7e, 0x1, 0x2c, 0xac, 0xb1, 0x1, 0x2c, 0x7e, 0x7d, 0x3e, 0x0, 0x0, 0x0, 0x4, 0x0, 0x9, 0xff, 0x96, 0x6, 0xab, 0x6, 0x3d, 0x0, 0x19, 0x0, 0x25, 0x0, 0x3e, 0x0, 0x58, 0x0, 0x0, 0x0, 0x20, 0x7, 0x6, 0x7, 0x6, 0x2, 0x15, 0x14, 0x12, 0x17, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x37, 0x36, 0x12, 0x35, 0x34, 0x2, 0x27, 0x26, 0x27, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x13, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x7, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x2, 0x11, 0x10, 0x0, 0x33, 0x32, 0x16, 0x0, 0x20, 0x17, 0x16, 0x17, 0x16, 0x12, 0x15, 0x14, 0x2, 0x7, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x27, 0x26, 0x2, 0x35, 0x34, 0x12, 0x37, 0x36, 0x37, 0x3, 0xf4, 0xfe, 0xcc, 0x86, 0x84, 0x6d, 0x6f, 0x6d, 0x6d, 0x6f, 0x6d, 0x84, 0x86, 0x1, 0x34, 0x86, 0x84, 0x6d, 0x6f, 0x6d, 0x6d, 0x6f, 0x6d, 0x84, 0xfe, 0xd6, 0x6c, 0x80, 0x80, 0x6c, 0x6d, 0x7f, 0x7f, 0xd4, 0x3d, 0x7c, 0x3c, 0xa0, 0xa9, 0xc, 0x2f, 0x8e, 0x56, 0xb4, 0xd1, 0xda, 0xb5, 0xcf, 0xdb, 0x1, 0xd, 0xe2, 0x3d, 0x7c, 0xfe, 0x5e, 0x1, 0x5c, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x98, 0xfe, 0xa4, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x5, 0xd9, 0x39, 0x36, 0x6f, 0x6f, 0xfe, 0xf7, 0x9c, 0x97, 0xfe, 0xf7, 0x6f, 0x6f, 0x36, 0x39, 0x39, 0x36, 0x6f, 0x6f, 0x1, 0x9, 0x97, 0x9c, 0x1, 0x9, 0x6f, 0x6f, 0x36, 0xfd, 0x8b, 0x95, 0x82, 0x80, 0x96, 0x96, 0x80, 0x82, 0x95, 0x1, 0xfa, 0x93, 0x1d, 0x1e, 0xd8, 0xda, 0x45, 0x4b, 0xdb, 0xbc, 0xb8, 0xde, 0x1, 0x3e, 0x1, 0x2d, 0x1, 0x1d, 0x1, 0x4f, 0x18, 0x1, 0x0, 0x40, 0x3e, 0x7d, 0x7e, 0xfe, 0xd4, 0xb1, 0xac, 0xfe, 0xd4, 0x7e, 0x7d, 0x3e, 0x40, 0x40, 0x3e, 0x7d, 0x7e, 0x1, 0x2c, 0xac, 0xb1, 0x1, 0x2c, 0x7e, 0x7d, 0x3e, 0x0, 0x0, 0x3, 0x0, 0x9, 0xff, 0x96, 0x6, 0xab, 0x6, 0x3d, 0x0, 0x19, 0x0, 0x20, 0x0, 0x3a, 0x0, 0x0, 0x0, 0x20, 0x7, 0x6, 0x7, 0x6, 0x2, 0x15, 0x14, 0x12, 0x17, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x37, 0x36, 0x12, 0x35, 0x34, 0x2, 0x27, 0x26, 0x27, 0x5, 0x21, 0x15, 0x1, 0x23, 0x1, 0x21, 0x12, 0x20, 0x17, 0x16, 0x17, 0x16, 0x12, 0x15, 0x14, 0x2, 0x7, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x27, 0x26, 0x2, 0x35, 0x34, 0x12, 0x37, 0x36, 0x37, 0x3, 0xf4, 0xfe, 0xcc, 0x86, 0x84, 0x6d, 0x6f, 0x6d, 0x6d, 0x6f, 0x6d, 0x84, 0x86, 0x1, 0x34, 0x86, 0x84, 0x6d, 0x6f, 0x6d, 0x6d, 0x6f, 0x6d, 0x84, 0xfd, 0x5c, 0x3, 0x0, 0xfe, 0x4e, 0xa8, 0x1, 0x98, 0xfd, 0xc2, 0xd6, 0x1, 0x5c, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x98, 0xfe, 0xa4, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x5, 0xd9, 0x39, 0x36, 0x6f, 0x6f, 0xfe, 0xf7, 0x9c, 0x97, 0xfe, 0xf7, 0x6f, 0x6f, 0x36, 0x39, 0x39, 0x36, 0x6f, 0x6f, 0x1, 0x9, 0x97, 0x9c, 0x1, 0x9, 0x6f, 0x6f, 0x36, 0x60, 0x45, 0xfb, 0x9a, 0x4, 0x23, 0x1, 0x85, 0x40, 0x3e, 0x7d, 0x7e, 0xfe, 0xd4, 0xb1, 0xac, 0xfe, 0xd4, 0x7e, 0x7d, 0x3e, 0x40, 0x40, 0x3e, 0x7d, 0x7e, 0x1, 0x2c, 0xac, 0xb1, 0x1, 0x2c, 0x7e, 0x7d, 0x3e, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x9, 0xff, 0x96, 0x6, 0xab, 0x6, 0x3d, 0x0, 0x19, 0x0, 0x23, 0x0, 0x39, 0x0, 0x45, 0x0, 0x5f, 0x0, 0x0, 0x0, 0x20, 0x7, 0x6, 0x7, 0x6, 0x2, 0x15, 0x14, 0x12, 0x17, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x37, 0x36, 0x12, 0x35, 0x34, 0x2, 0x27, 0x26, 0x27, 0x1, 0x22, 0x6, 0x14, 0x16, 0x32, 0x36, 0x35, 0x34, 0x26, 0x25, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x20, 0x16, 0x15, 0x14, 0x6, 0x7, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x20, 0x26, 0x35, 0x34, 0x36, 0x13, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x12, 0x20, 0x17, 0x16, 0x17, 0x16, 0x12, 0x15, 0x14, 0x2, 0x7, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x27, 0x26, 0x2, 0x35, 0x34, 0x12, 0x37, 0x36, 0x37, 0x3, 0xf4, 0xfe, 0xcc, 0x86, 0x84, 0x6d, 0x6f, 0x6d, 0x6d, 0x6f, 0x6d, 0x84, 0x86, 0x1, 0x34, 0x86, 0x84, 0x6d, 0x6f, 0x6d, 0x6d, 0x6f, 0x6d, 0x84, 0xfe, 0xdf, 0x73, 0x84, 0x84, 0xe6, 0x85, 0x84, 0xfe, 0xea, 0x68, 0x74, 0xcc, 0x1, 0x64, 0xcc, 0x74, 0x68, 0x75, 0x83, 0xd4, 0xfe, 0x74, 0xd4, 0x84, 0x39, 0x74, 0x69, 0x68, 0x76, 0x76, 0x68, 0x69, 0x74, 0x30, 0x1, 0x5c, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x98, 0xfe, 0xa4, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x5, 0xd9, 0x39, 0x36, 0x6f, 0x6f, 0xfe, 0xf7, 0x9c, 0x97, 0xfe, 0xf7, 0x6f, 0x6f, 0x36, 0x39, 0x39, 0x36, 0x6f, 0x6f, 0x1, 0x9, 0x97, 0x9c, 0x1, 0x9, 0x6f, 0x6f, 0x36, 0xfd, 0x2c, 0x7b, 0xd8, 0x7b, 0x7c, 0x6b, 0x6c, 0x7b, 0x45, 0x1a, 0x8e, 0x67, 0x8f, 0xa6, 0xa6, 0x8f, 0x67, 0x8e, 0x1a, 0x1b, 0x9e, 0x73, 0xad, 0xba, 0xba, 0xad, 0x73, 0x9e, 0x1, 0x1a, 0x5c, 0x68, 0x68, 0x5c, 0x5d, 0x68, 0x68, 0x1, 0xd0, 0x40, 0x3e, 0x7d, 0x7e, 0xfe, 0xd4, 0xb1, 0xac, 0xfe, 0xd4, 0x7e, 0x7d, 0x3e, 0x40, 0x40, 0x3e, 0x7d, 0x7e, 0x1, 0x2c, 0xac, 0xb1, 0x1, 0x2c, 0x7e, 0x7d, 0x3e, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x9, 0xff, 0x96, 0x6, 0xab, 0x6, 0x3d, 0x0, 0x19, 0x0, 0x32, 0x0, 0x3e, 0x0, 0x58, 0x0, 0x0, 0x0, 0x20, 0x7, 0x6, 0x7, 0x6, 0x2, 0x15, 0x14, 0x12, 0x17, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x37, 0x36, 0x12, 0x35, 0x34, 0x2, 0x27, 0x26, 0x27, 0x1, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x37, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x12, 0x11, 0x10, 0x0, 0x23, 0x22, 0x26, 0x13, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x2, 0x20, 0x17, 0x16, 0x17, 0x16, 0x12, 0x15, 0x14, 0x2, 0x7, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x27, 0x26, 0x2, 0x35, 0x34, 0x12, 0x37, 0x36, 0x37, 0x3, 0xf4, 0xfe, 0xcc, 0x86, 0x84, 0x6d, 0x6f, 0x6d, 0x6d, 0x6f, 0x6d, 0x84, 0x86, 0x1, 0x34, 0x86, 0x84, 0x6d, 0x6f, 0x6d, 0x6d, 0x6f, 0x6d, 0x84, 0xfd, 0xa7, 0x3d, 0x7c, 0x3c, 0xa0, 0xa9, 0xc, 0x2e, 0x8f, 0x56, 0xb5, 0xcf, 0xda, 0xb4, 0xd0, 0xda, 0xfe, 0xf4, 0xe2, 0x3d, 0x7d, 0xfe, 0x6d, 0x7f, 0x7f, 0x6d, 0x6c, 0x80, 0x80, 0x4a, 0x1, 0x5c, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x98, 0xfe, 0xa4, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x5, 0xd9, 0x39, 0x36, 0x6f, 0x6f, 0xfe, 0xf7, 0x9c, 0x97, 0xfe, 0xf7, 0x6f, 0x6f, 0x36, 0x39, 0x39, 0x36, 0x6f, 0x6f, 0x1, 0x9, 0x97, 0x9c, 0x1, 0x9, 0x6f, 0x6f, 0x36, 0xfb, 0xe, 0x93, 0x1d, 0x1e, 0xd7, 0xdb, 0x44, 0x4a, 0xd9, 0xbc, 0xb8, 0xde, 0xfe, 0xc3, 0xfe, 0xd1, 0xfe, 0xe6, 0xfe, 0xaf, 0x18, 0x2, 0x12, 0x95, 0x82, 0x81, 0x95, 0x95, 0x81, 0x82, 0x95, 0x3, 0x95, 0x40, 0x3e, 0x7d, 0x7e, 0xfe, 0xd4, 0xb1, 0xac, 0xfe, 0xd4, 0x7e, 0x7d, 0x3e, 0x40, 0x40, 0x3e, 0x7d, 0x7e, 0x1, 0x2c, 0xac, 0xb1, 0x1, 0x2c, 0x7e, 0x7d, 0x3e, 0x0, 0x0, 0x0, 0x5, 0x0, 0x9, 0xff, 0x96, 0x6, 0xab, 0x6, 0x3d, 0x0, 0x1d, 0x0, 0x2b, 0x0, 0x38, 0x0, 0x43, 0x0, 0x61, 0x0, 0x0, 0x0, 0x20, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x27, 0x7, 0x22, 0x7, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x2e, 0x1, 0x20, 0x17, 0x16, 0x11, 0x10, 0x7, 0x6, 0x20, 0x2, 0x11, 0x10, 0x37, 0x1, 0x33, 0x11, 0x7, 0x35, 0x37, 0x33, 0x11, 0x33, 0x15, 0x21, 0x0, 0x20, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x3, 0xf4, 0xfe, 0xcc, 0x86, 0x84, 0x6d, 0x6f, 0x35, 0x38, 0x38, 0x35, 0x6f, 0x6d, 0x84, 0x86, 0x1, 0x34, 0x86, 0x84, 0x6d, 0x6f, 0x35, 0x38, 0x38, 0x35, 0x6f, 0x6d, 0x84, 0x1d, 0x54, 0x2c, 0x2b, 0x56, 0x55, 0x56, 0x56, 0x2b, 0x2b, 0xef, 0x1, 0x32, 0x51, 0x50, 0x50, 0x51, 0xfe, 0xce, 0xa0, 0x50, 0xfe, 0x33, 0x8d, 0x96, 0x95, 0x81, 0x83, 0xfe, 0x70, 0x1, 0x5, 0x1, 0x5c, 0x98, 0x96, 0x7c, 0x7e, 0x3c, 0x3f, 0x3f, 0x3c, 0x7e, 0x7c, 0x96, 0x98, 0xfe, 0xa4, 0x98, 0x96, 0x7c, 0x7e, 0x3c, 0x3f, 0x3f, 0x3c, 0x7e, 0x7c, 0x96, 0x5, 0xd9, 0x39, 0x36, 0x6f, 0x6f, 0x83, 0x86, 0x9c, 0x97, 0x86, 0x83, 0x6f, 0x6f, 0x36, 0x39, 0x39, 0x36, 0x6f, 0x6f, 0x83, 0x86, 0x97, 0x9c, 0x86, 0x83, 0x6f, 0x6f, 0x36, 0xcb, 0x7b, 0x7a, 0xf7, 0xf5, 0xf6, 0xf6, 0xf5, 0xf3, 0x7e, 0x7b, 0x80, 0x9f, 0x9e, 0xfe, 0xd1, 0xfe, 0xd3, 0x9f, 0x9f, 0x1, 0x3e, 0x1, 0x2d, 0x1, 0x2c, 0xa1, 0xfc, 0x67, 0x3, 0x8f, 0x25, 0x93, 0x26, 0xfb, 0xdd, 0x88, 0x5, 0xa8, 0x40, 0x3e, 0x7d, 0x7e, 0x95, 0x97, 0xb1, 0xac, 0x97, 0x95, 0x7e, 0x7d, 0x3e, 0x40, 0x40, 0x3e, 0x7d, 0x7e, 0x95, 0x97, 0xac, 0xb1, 0x97, 0x95, 0x7e, 0x7d, 0x3e, 0x0, 0x0, 0x2, 0x0, 0x9, 0xff, 0x96, 0x6, 0xab, 0x6, 0x3d, 0x0, 0xa, 0x0, 0x24, 0x0, 0x0, 0x1, 0x15, 0x21, 0x35, 0x21, 0x11, 0x23, 0x5, 0x15, 0x25, 0x11, 0x2, 0x20, 0x17, 0x16, 0x17, 0x16, 0x12, 0x15, 0x14, 0x2, 0x7, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x27, 0x26, 0x2, 0x35, 0x34, 0x12, 0x37, 0x36, 0x37, 0x2, 0x1f, 0x2, 0xb0, 0xfe, 0xf8, 0xa1, 0xfe, 0xe2, 0x1, 0x1f, 0x7b, 0x1, 0x5c, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x98, 0xfe, 0xa4, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x1, 0x1d, 0x88, 0x88, 0x4, 0x23, 0x3a, 0x93, 0x39, 0xfc, 0x71, 0x5, 0x20, 0x40, 0x3e, 0x7d, 0x7e, 0xfe, 0xd4, 0xb1, 0xac, 0xfe, 0xd4, 0x7e, 0x7d, 0x3e, 0x40, 0x40, 0x3e, 0x7d, 0x7e, 0x1, 0x2c, 0xac, 0xb1, 0x1, 0x2c, 0x7e, 0x7d, 0x3e, 0x0, 0x2, 0x0, 0x9, 0xff, 0x96, 0x6, 0xab, 0x6, 0x3d, 0x0, 0x1c, 0x0, 0x36, 0x0, 0x0, 0x1, 0x3e, 0x1, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x6, 0x0, 0x7, 0x15, 0x21, 0x35, 0x0, 0x20, 0x17, 0x16, 0x17, 0x16, 0x12, 0x15, 0x14, 0x2, 0x7, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x27, 0x26, 0x2, 0x35, 0x34, 0x12, 0x37, 0x36, 0x37, 0x2, 0xa3, 0xc3, 0xd7, 0x14, 0x49, 0x37, 0xdd, 0xba, 0x46, 0xaa, 0x61, 0x60, 0xa9, 0x4c, 0x6b, 0x85, 0x3d, 0x4e, 0x29, 0xfe, 0xc3, 0x5c, 0x2, 0xf6, 0xfd, 0xd5, 0x1, 0x5c, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x98, 0xfe, 0xa4, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x1, 0x20, 0xc7, 0xde, 0x17, 0x5a, 0x84, 0x49, 0x9b, 0xba, 0x28, 0x27, 0xa3, 0x35, 0x35, 0x78, 0x5f, 0x3b, 0x78, 0x58, 0x2e, 0xfe, 0xbf, 0x5f, 0x88, 0x88, 0x5, 0x1d, 0x40, 0x3e, 0x7d, 0x7e, 0xfe, 0xd4, 0xb1, 0xac, 0xfe, 0xd4, 0x7e, 0x7d, 0x3e, 0x40, 0x40, 0x3e, 0x7d, 0x7e, 0x1, 0x2c, 0xac, 0xb1, 0x1, 0x2c, 0x7e, 0x7d, 0x3e, 0x0, 0x2, 0x0, 0x9, 0xff, 0x96, 0x6, 0xab, 0x6, 0x3d, 0x0, 0x28, 0x0, 0x42, 0x0, 0x0, 0x1, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x2b, 0x1, 0x15, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x15, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x0, 0x20, 0x17, 0x16, 0x17, 0x16, 0x12, 0x15, 0x14, 0x2, 0x7, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x27, 0x26, 0x2, 0x35, 0x34, 0x12, 0x37, 0x36, 0x37, 0x4, 0x6, 0x69, 0x72, 0xd7, 0xb8, 0x47, 0xa1, 0x5c, 0x5c, 0x98, 0x42, 0x7a, 0x82, 0x7e, 0x78, 0x91, 0x8b, 0x84, 0x94, 0x9f, 0x98, 0x57, 0xa0, 0x44, 0x55, 0x9f, 0x4c, 0xe0, 0xf3, 0x83, 0xfe, 0x32, 0x1, 0x5c, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x98, 0xfe, 0xa4, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x3, 0x19, 0x1b, 0x88, 0x64, 0x8e, 0xa7, 0x19, 0x1a, 0x90, 0x1e, 0x1d, 0x62, 0x5c, 0x5a, 0x5f, 0x85, 0x77, 0x6a, 0x72, 0x78, 0x28, 0x27, 0x9c, 0x1d, 0x1e, 0xc2, 0xb0, 0x74, 0x9c, 0x3, 0x3d, 0x40, 0x3e, 0x7d, 0x7e, 0xfe, 0xd4, 0xb1, 0xac, 0xfe, 0xd4, 0x7e, 0x7d, 0x3e, 0x40, 0x40, 0x3e, 0x7d, 0x7e, 0x1, 0x2c, 0xac, 0xb1, 0x1, 0x2c, 0x7e, 0x7d, 0x3e, 0x0, 0x0, 0x0, 0x3, 0x0, 0x9, 0xff, 0x96, 0x6, 0xab, 0x6, 0x3d, 0x0, 0x2, 0x0, 0xd, 0x0, 0x27, 0x0, 0x0, 0x1, 0x11, 0x21, 0x9, 0x1, 0x15, 0x21, 0x11, 0x33, 0x11, 0x33, 0x35, 0x23, 0x11, 0x24, 0x20, 0x17, 0x16, 0x17, 0x16, 0x12, 0x15, 0x14, 0x2, 0x7, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x27, 0x26, 0x2, 0x35, 0x34, 0x12, 0x37, 0x36, 0x37, 0x3, 0x9c, 0xfe, 0x68, 0x1, 0x6e, 0xfe, 0xf, 0x2, 0x1b, 0xa1, 0xaa, 0xaa, 0xfe, 0x6f, 0x1, 0x5c, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x98, 0xfe, 0xa4, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x4, 0xb3, 0xfd, 0x82, 0x3, 0xb, 0xfd, 0xb, 0x9c, 0xfe, 0xe6, 0x1, 0x1a, 0x86, 0x3, 0xb, 0xfd, 0x40, 0x3e, 0x7d, 0x7e, 0xfe, 0xd4, 0xb1, 0xac, 0xfe, 0xd4, 0x7e, 0x7d, 0x3e, 0x40, 0x40, 0x3e, 0x7d, 0x7e, 0x1, 0x2c, 0xac, 0xb1, 0x1, 0x2c, 0x7e, 0x7d, 0x3e, 0x0, 0x2, 0x0, 0x9, 0xff, 0x96, 0x6, 0xab, 0x6, 0x3d, 0x0, 0x1d, 0x0, 0x37, 0x0, 0x0, 0x1, 0x11, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x15, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x11, 0x21, 0x35, 0x0, 0x20, 0x17, 0x16, 0x17, 0x16, 0x12, 0x15, 0x14, 0x2, 0x7, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x27, 0x26, 0x2, 0x35, 0x34, 0x12, 0x37, 0x36, 0x37, 0x2, 0x1d, 0x43, 0x81, 0x41, 0x8a, 0xa2, 0xa2, 0x8a, 0x56, 0x99, 0x48, 0x53, 0x9c, 0x4b, 0xda, 0xf0, 0xe9, 0xc8, 0x23, 0x47, 0x23, 0x1, 0xe6, 0xfe, 0x15, 0x1, 0x5c, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x98, 0xfe, 0xa4, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x5, 0x3d, 0xfd, 0xa8, 0x1e, 0x1d, 0x92, 0x7c, 0x7d, 0x92, 0x27, 0x27, 0xa3, 0x19, 0x1a, 0xd6, 0xc1, 0xbb, 0xdb, 0xc, 0xc, 0x1, 0x25, 0x88, 0x1, 0x0, 0x40, 0x3e, 0x7d, 0x7e, 0xfe, 0xd4, 0xb1, 0xac, 0xfe, 0xd4, 0x7e, 0x7d, 0x3e, 0x40, 0x40, 0x3e, 0x7d, 0x7e, 0x1, 0x2c, 0xac, 0xb1, 0x1, 0x2c, 0x7e, 0x7d, 0x3e, 0x0, 0x0, 0x0, 0x3, 0x0, 0x9, 0xff, 0x96, 0x6, 0xab, 0x6, 0x3d, 0x0, 0xb, 0x0, 0x24, 0x0, 0x3e, 0x0, 0x0, 0x1, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x1, 0x2e, 0x1, 0x23, 0x22, 0x0, 0x11, 0x10, 0x12, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x17, 0x0, 0x20, 0x17, 0x16, 0x17, 0x16, 0x12, 0x15, 0x14, 0x2, 0x7, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x27, 0x26, 0x2, 0x35, 0x34, 0x12, 0x37, 0x36, 0x37, 0x3, 0x50, 0x6d, 0x7f, 0x7f, 0x6d, 0x6c, 0x80, 0x80, 0x1, 0xad, 0x43, 0x7c, 0x3d, 0xe2, 0xfe, 0xf3, 0xdb, 0xcf, 0xb5, 0xda, 0xd1, 0xb4, 0x56, 0x8e, 0x2f, 0xc, 0xa9, 0xa0, 0x3c, 0x7c, 0x3d, 0xfe, 0x1b, 0x1, 0x5c, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x98, 0xfe, 0xa4, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x3, 0x2b, 0x95, 0x82, 0x80, 0x96, 0x96, 0x80, 0x82, 0x95, 0x1, 0xfa, 0x18, 0x18, 0xfe, 0xaf, 0xfe, 0xe5, 0xfe, 0xd3, 0xfe, 0xc2, 0xde, 0xb8, 0xbc, 0xdb, 0x4b, 0x45, 0xda, 0xd8, 0x1e, 0x1d, 0x1, 0xab, 0x40, 0x3e, 0x7d, 0x7e, 0xfe, 0xd4, 0xb1, 0xac, 0xfe, 0xd4, 0x7e, 0x7d, 0x3e, 0x40, 0x40, 0x3e, 0x7d, 0x7e, 0x1, 0x2c, 0xac, 0xb1, 0x1, 0x2c, 0x7e, 0x7d, 0x3e, 0x0, 0x0, 0x2, 0x0, 0x9, 0xff, 0x96, 0x6, 0xab, 0x6, 0x3d, 0x0, 0x6, 0x0, 0x20, 0x0, 0x0, 0x1, 0x15, 0x21, 0x1, 0x33, 0x1, 0x35, 0x24, 0x20, 0x17, 0x16, 0x17, 0x16, 0x12, 0x15, 0x14, 0x2, 0x7, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x27, 0x26, 0x2, 0x35, 0x34, 0x12, 0x37, 0x36, 0x37, 0x1, 0xd6, 0x2, 0x3e, 0xfe, 0x68, 0xa8, 0x1, 0xb2, 0xfd, 0xd6, 0x1, 0x5c, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x98, 0xfe, 0xa4, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x5, 0x40, 0x88, 0xfb, 0xdd, 0x4, 0x66, 0x45, 0xfd, 0x40, 0x3e, 0x7d, 0x7e, 0xfe, 0xd4, 0xb1, 0xac, 0xfe, 0xd4, 0x7e, 0x7d, 0x3e, 0x40, 0x40, 0x3e, 0x7d, 0x7e, 0x1, 0x2c, 0xac, 0xb1, 0x1, 0x2c, 0x7e, 0x7d, 0x3e, 0x0, 0x0, 0x4, 0x0, 0x9, 0xff, 0x96, 0x6, 0xab, 0x6, 0x3d, 0x0, 0x9, 0x0, 0x1f, 0x0, 0x2b, 0x0, 0x45, 0x0, 0x0, 0x1, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x34, 0x36, 0x27, 0xe, 0x1, 0x15, 0x14, 0x16, 0x20, 0x36, 0x35, 0x34, 0x26, 0x27, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x20, 0x6, 0x15, 0x14, 0x16, 0x37, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x12, 0x20, 0x17, 0x16, 0x17, 0x16, 0x12, 0x15, 0x14, 0x2, 0x7, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x27, 0x26, 0x2, 0x35, 0x34, 0x12, 0x37, 0x36, 0x37, 0x3, 0x59, 0x74, 0x84, 0x85, 0xe6, 0x84, 0x84, 0x2f, 0x74, 0x84, 0xd4, 0x1, 0x8c, 0xd4, 0x83, 0x75, 0x68, 0x74, 0xcc, 0xfe, 0x9c, 0xcc, 0x74, 0x2d, 0x74, 0x69, 0x68, 0x76, 0x76, 0x68, 0x69, 0x74, 0x30, 0x1, 0x5c, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x98, 0xfe, 0xa4, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x2, 0xcc, 0x7b, 0x6c, 0x6b, 0x7c, 0x7b, 0xd8, 0x7b, 0x45, 0x1b, 0x9e, 0x73, 0xad, 0xba, 0xba, 0xad, 0x73, 0x9e, 0x1b, 0x1a, 0x8e, 0x67, 0x8f, 0xa6, 0xa6, 0x8f, 0x67, 0x8e, 0xe5, 0x5d, 0x68, 0x68, 0x5d, 0x5c, 0x68, 0x68, 0x2, 0x89, 0x40, 0x3e, 0x7d, 0x7e, 0xfe, 0xd4, 0xb1, 0xac, 0xfe, 0xd4, 0x7e, 0x7d, 0x3e, 0x40, 0x40, 0x3e, 0x7d, 0x7e, 0x1, 0x2c, 0xac, 0xb1, 0x1, 0x2c, 0x7e, 0x7d, 0x3e, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x9, 0xff, 0x96, 0x6, 0xab, 0x6, 0x3d, 0x0, 0x18, 0x0, 0x24, 0x0, 0x3e, 0x0, 0x0, 0x25, 0x1e, 0x1, 0x33, 0x32, 0x0, 0x11, 0x10, 0x2, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0xe, 0x1, 0x23, 0x22, 0x26, 0x27, 0x1, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x0, 0x20, 0x17, 0x16, 0x17, 0x16, 0x12, 0x15, 0x14, 0x2, 0x7, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x27, 0x26, 0x2, 0x35, 0x34, 0x12, 0x37, 0x36, 0x37, 0x2, 0x21, 0x43, 0x7d, 0x3d, 0xe2, 0x1, 0xc, 0xda, 0xd0, 0xb4, 0xda, 0xd1, 0xb3, 0x56, 0x8f, 0x2e, 0xc, 0xa9, 0xa0, 0x3c, 0x7c, 0x3d, 0x1, 0x41, 0x6c, 0x80, 0x80, 0x6c, 0x6d, 0x7f, 0x7f, 0xfe, 0xdd, 0x1, 0x5c, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x98, 0xfe, 0xa4, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0xae, 0x18, 0x18, 0x1, 0x51, 0x1, 0x1a, 0x1, 0x2f, 0x1, 0x3d, 0xde, 0xb8, 0xbc, 0xd9, 0x4a, 0x44, 0xdb, 0xd7, 0x1e, 0x1d, 0x1, 0x67, 0x95, 0x82, 0x81, 0x95, 0x95, 0x81, 0x82, 0x95, 0x3, 0x95, 0x40, 0x3e, 0x7d, 0x7e, 0xfe, 0xd4, 0xb1, 0xac, 0xfe, 0xd4, 0x7e, 0x7d, 0x3e, 0x40, 0x40, 0x3e, 0x7d, 0x7e, 0x1, 0x2c, 0xac, 0xb1, 0x1, 0x2c, 0x7e, 0x7d, 0x3e, 0x0, 0x0, 0x0, 0x4, 0x0, 0x9, 0xff, 0x96, 0x6, 0xab, 0x6, 0x3d, 0x0, 0xb, 0x0, 0x15, 0x0, 0x20, 0x0, 0x3a, 0x0, 0x0, 0x1, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x24, 0x20, 0x2, 0x11, 0x10, 0x12, 0x20, 0x12, 0x11, 0x10, 0x1, 0x15, 0x21, 0x35, 0x23, 0x11, 0x23, 0x7, 0x15, 0x37, 0x11, 0x12, 0x20, 0x17, 0x16, 0x17, 0x16, 0x12, 0x15, 0x14, 0x2, 0x7, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x27, 0x26, 0x2, 0x35, 0x34, 0x12, 0x37, 0x36, 0x37, 0x4, 0x99, 0x65, 0x64, 0x64, 0x65, 0x64, 0x64, 0x64, 0x1, 0x5, 0xfe, 0xbe, 0xa9, 0xa9, 0x1, 0x42, 0xaa, 0xfb, 0x91, 0x1, 0xc2, 0xa1, 0x81, 0xb3, 0xb4, 0x96, 0x1, 0x5c, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x98, 0xfe, 0xa4, 0x98, 0x96, 0x7c, 0x7e, 0x7b, 0x7b, 0x7e, 0x7c, 0x96, 0x4, 0xd5, 0xf5, 0xf7, 0xf5, 0xf6, 0xf6, 0xf5, 0xf7, 0xf5, 0x80, 0xfe, 0xc3, 0xfe, 0xd1, 0xfe, 0xd3, 0xfe, 0xc2, 0x1, 0x3e, 0x1, 0x2d, 0x1, 0x2f, 0xfd, 0x5, 0x88, 0x88, 0x4, 0x23, 0x26, 0x93, 0x25, 0xfc, 0x71, 0x5, 0x20, 0x40, 0x3e, 0x7d, 0x7e, 0xfe, 0xd4, 0xb1, 0xac, 0xfe, 0xd4, 0x7e, 0x7d, 0x3e, 0x40, 0x40, 0x3e, 0x7d, 0x7e, 0x1, 0x2c, 0xac, 0xb1, 0x1, 0x2c, 0x7e, 0x7d, 0x3e, 0x0, 0x0, 0x0, 0x1, 0x0, 0x75, 0x0, 0x9a, 0x6, 0x50, 0x4, 0x6a, 0x0, 0x8, 0x0, 0x0, 0x9, 0x1, 0x21, 0x1, 0x21, 0x35, 0x21, 0x1, 0x21, 0x6, 0x50, 0xfe, 0x18, 0xfe, 0xc0, 0x1, 0x70, 0xfb, 0xdd, 0x4, 0x23, 0xfe, 0x90, 0x1, 0x40, 0x2, 0x82, 0xfe, 0x18, 0x1, 0x70, 0xf0, 0x1, 0x70, 0x0, 0x1, 0x0, 0xfc, 0x0, 0x70, 0x5, 0x74, 0x4, 0xe9, 0x0, 0x6, 0x0, 0x0, 0x9, 0x1, 0x37, 0x1, 0x1b, 0x1, 0x25, 0x3, 0xf7, 0xfd, 0x5, 0xa9, 0x2, 0xb5, 0xd4, 0x46, 0xfd, 0x4e, 0x1, 0x8b, 0x2, 0xb4, 0xaa, 0xfd, 0x5, 0x1, 0x34, 0xfd, 0x4e, 0x47, 0x0, 0x1, 0x0, 0x75, 0x0, 0xcc, 0x6, 0x50, 0x4, 0x38, 0x0, 0x6, 0x0, 0x0, 0x1, 0x5, 0x35, 0x5, 0x3, 0x9, 0x1, 0x4, 0x7a, 0xfb, 0xfb, 0x4, 0x5, 0x44, 0x2, 0x1a, 0xfd, 0xe6, 0x2, 0x3c, 0x32, 0xf0, 0x32, 0x1, 0x70, 0xfe, 0x4a, 0xfe, 0x4a, 0x0, 0x0, 0x1, 0x0, 0xfc, 0x0, 0x1b, 0x5, 0x74, 0x4, 0x94, 0x0, 0x6, 0x0, 0x0, 0x9, 0x1, 0x27, 0x1, 0x2d, 0x1, 0x3, 0x4, 0x5a, 0xfd, 0x4b, 0xa9, 0x2, 0xfb, 0xfe, 0xcb, 0x2, 0xb2, 0x46, 0x3, 0x16, 0xfd, 0x5, 0xaa, 0x2, 0xb4, 0xd4, 0x47, 0xfd, 0x4e, 0x0, 0x1, 0x0, 0x75, 0x1, 0x8, 0x6, 0x50, 0x3, 0xfc, 0x0, 0x8, 0x0, 0x0, 0x13, 0x21, 0x3, 0x4, 0x5, 0x4, 0x5, 0x13, 0x21, 0x75, 0x2, 0xbb, 0xa8, 0x1, 0x5c, 0x2, 0x6c, 0xfd, 0x94, 0xfe, 0xa4, 0xa8, 0xfd, 0x45, 0x2, 0xbe, 0x1, 0x3e, 0xfc, 0x7e, 0x7e, 0xfc, 0x1, 0x3e, 0x0, 0x1, 0x0, 0x75, 0x0, 0x75, 0x6, 0x1d, 0x4, 0x8f, 0x0, 0x2b, 0x0, 0x0, 0x0, 0x14, 0x6, 0x7, 0x1, 0x6, 0x7, 0x6, 0x22, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x3f, 0x1, 0x21, 0x22, 0x2e, 0x2, 0x34, 0x3e, 0x2, 0x33, 0x21, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x3e, 0x1, 0x32, 0x17, 0x16, 0x17, 0x1, 0x16, 0x6, 0x1d, 0x14, 0x11, 0xfe, 0x70, 0x10, 0x18, 0x16, 0x34, 0x2c, 0x12, 0x12, 0x13, 0x14, 0x11, 0xba, 0xfc, 0x80, 0x1a, 0x2c, 0x24, 0x13, 0x13, 0x24, 0x2c, 0x1a, 0x3, 0x80, 0xba, 0x11, 0x14, 0x13, 0x12, 0x12, 0x2c, 0x34, 0x16, 0x18, 0x10, 0x1, 0x90, 0x13, 0x2, 0x9b, 0x32, 0x2e, 0x11, 0xfe, 0x70, 0x10, 0xb, 0xa, 0x14, 0x11, 0x13, 0x2c, 0x19, 0x1a, 0x2e, 0x11, 0xba, 0x14, 0x22, 0x2e, 0x32, 0x2e, 0x22, 0x14, 0xba, 0x11, 0x2e, 0x1a, 0x19, 0x2c, 0x13, 0x11, 0x14, 0xa, 0xb, 0x10, 0xfe, 0x70, 0x13, 0x0, 0x1, 0x0, 0x75, 0x0, 0xcc, 0x6, 0x50, 0x4, 0x38, 0x0, 0x6, 0x0, 0x0, 0x1, 0x21, 0x35, 0x21, 0x11, 0x9, 0x1, 0x4, 0x9a, 0xfb, 0xdb, 0x4, 0x25, 0x1, 0xb6, 0xfe, 0x4a, 0x2, 0x5a, 0x50, 0x1, 0x8e, 0xfe, 0x4a, 0xfe, 0x4a, 0x0, 0x1, 0x0, 0x75, 0x0, 0xcc, 0x6, 0x50, 0x4, 0x38, 0x0, 0x6, 0x0, 0x0, 0x1, 0x21, 0x35, 0x21, 0x11, 0x9, 0x1, 0x4, 0x9a, 0xfb, 0xdb, 0x4, 0x25, 0x1, 0xb6, 0xfe, 0x4a, 0x2, 0x14, 0xdc, 0x1, 0x48, 0xfe, 0x4a, 0xfe, 0x4a, 0x0, 0x4, 0x0, 0x75, 0x0, 0xcc, 0x6, 0x50, 0x4, 0x38, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x12, 0x0, 0x0, 0x1, 0x23, 0x11, 0x33, 0x1, 0x23, 0x11, 0x33, 0x3, 0x23, 0x11, 0x33, 0x1, 0x21, 0x11, 0x21, 0x35, 0x9, 0x1, 0x2, 0xb9, 0xf0, 0xf0, 0xfe, 0xc0, 0x78, 0x78, 0xc8, 0x3c, 0x3c, 0x3, 0xe9, 0xfe, 0x6f, 0x1, 0x91, 0x1, 0xb6, 0xfe, 0x4a, 0x1, 0xba, 0x1, 0x90, 0xfe, 0x70, 0x1, 0x90, 0xfe, 0x70, 0x1, 0x90, 0xfe, 0x70, 0x1, 0x90, 0xee, 0xfe, 0x4a, 0xfe, 0x4a, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x75, 0x0, 0xcc, 0x6, 0x50, 0x4, 0x38, 0x0, 0x8, 0x0, 0xc, 0x0, 0x10, 0x0, 0x14, 0x0, 0x0, 0x1, 0x35, 0x12, 0x17, 0x6, 0x3, 0x35, 0x21, 0x11, 0x3, 0x23, 0x11, 0x33, 0x1, 0x23, 0x11, 0x33, 0x3, 0x23, 0x11, 0x33, 0x4, 0x9a, 0xb8, 0xfe, 0xfe, 0xb8, 0xfe, 0x6f, 0x50, 0xf0, 0xf0, 0xfe, 0xc0, 0x78, 0x78, 0xc8, 0x3c, 0x3c, 0x3, 0xae, 0x8a, 0xfe, 0xce, 0x84, 0x84, 0xfe, 0xce, 0x8a, 0x2, 0x58, 0xfd, 0xa8, 0x2, 0x58, 0xfd, 0xa8, 0x2, 0x58, 0xfd, 0xa8, 0x2, 0x58, 0x0, 0x0, 0x1, 0x0, 0x75, 0x0, 0x86, 0x6, 0x7d, 0x4, 0x7e, 0x0, 0x6, 0x0, 0x0, 0x9, 0x2, 0x11, 0x21, 0x11, 0x21, 0x4, 0x81, 0x1, 0xfc, 0xfe, 0x4, 0xfb, 0xf4, 0x4, 0xc, 0x4, 0x7e, 0xfe, 0x4, 0xfe, 0x4, 0x1, 0x11, 0x1, 0xd6, 0x0, 0x2, 0x0, 0xe4, 0x0, 0xc0, 0x6, 0x50, 0x4, 0x44, 0x0, 0x2, 0x0, 0x6, 0x0, 0x0, 0x1, 0x21, 0x1, 0x13, 0x9, 0x2, 0x3, 0x1e, 0x2, 0x36, 0xfc, 0xbc, 0x96, 0xfe, 0x3e, 0x5, 0x6c, 0xfa, 0x94, 0x2, 0x82, 0x1, 0xf, 0xfe, 0xf1, 0x1, 0xc2, 0xfe, 0x3e, 0xfe, 0x3e, 0x0, 0x0, 0x2, 0x0, 0xe4, 0x0, 0xc0, 0x6, 0x50, 0x4, 0x44, 0x0, 0x2, 0x0, 0x6, 0x0, 0x0, 0x9, 0x2, 0x21, 0x9, 0x2, 0x3, 0x1e, 0xfe, 0xf2, 0x3, 0x44, 0xfd, 0x52, 0xfe, 0x3e, 0x5, 0x6c, 0xfa, 0x94, 0x2, 0x82, 0xfe, 0xf1, 0x1, 0xf, 0x1, 0xc2, 0xfe, 0x3e, 0xfe, 0x3e, 0x0, 0x0, 0x1, 0x0, 0xe4, 0xff, 0xf8, 0x6, 0x50, 0x5, 0xc, 0x0, 0x3, 0x0, 0x0, 0x9, 0x3, 0x2, 0x42, 0xfe, 0xa2, 0x5, 0x6c, 0xfa, 0x94, 0x2, 0x82, 0x2, 0x8a, 0xfd, 0x76, 0xfd, 0x76, 0x0, 0x1, 0x0, 0x75, 0x0, 0xcc, 0x6, 0x50, 0x4, 0x62, 0x0, 0x14, 0x0, 0x0, 0x13, 0x11, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x21, 0x35, 0x9, 0x1, 0x35, 0x21, 0x20, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x75, 0x24, 0x23, 0x23, 0x2b, 0x2a, 0xc, 0x3, 0x5a, 0x1, 0xb6, 0xfe, 0x4a, 0xfe, 0x4d, 0xfe, 0x4d, 0x2a, 0x2b, 0x23, 0x23, 0x24, 0x2, 0x82, 0x1, 0xe0, 0x30, 0x55, 0x25, 0x21, 0x13, 0x12, 0xc6, 0xfe, 0x4a, 0xfe, 0x4a, 0xc6, 0x12, 0x13, 0x21, 0x25, 0x55, 0x0, 0x0, 0x0, 0x1, 0x0, 0x75, 0x0, 0xa2, 0x6, 0x50, 0x4, 0x38, 0x0, 0x14, 0x0, 0x0, 0x13, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x21, 0x35, 0x9, 0x1, 0x35, 0x21, 0x20, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x75, 0x24, 0x23, 0x23, 0x2b, 0x2a, 0xc, 0x3, 0x5a, 0x1, 0xb6, 0xfe, 0x4a, 0xfe, 0x4d, 0xfe, 0x4d, 0x2a, 0x2b, 0x23, 0x23, 0x24, 0x2, 0x82, 0x30, 0x55, 0x25, 0x21, 0x13, 0x12, 0xc6, 0xfe, 0x4a, 0xfe, 0x4a, 0xc6, 0x12, 0x13, 0x21, 0x25, 0x55, 0x30, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0xec, 0xff, 0xf1, 0x4, 0xd9, 0x5, 0x13, 0x0, 0x6, 0x0, 0x0, 0x1, 0x21, 0x11, 0x21, 0x11, 0x9, 0x1, 0x3, 0x5e, 0xfe, 0x8e, 0x1, 0x72, 0x1, 0x7b, 0xfe, 0x85, 0x1, 0x56, 0x2, 0x58, 0x1, 0x65, 0xfd, 0x6f, 0xfd, 0x6f, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x75, 0x0, 0xcc, 0x6, 0x50, 0x4, 0x38, 0x0, 0x8, 0x0, 0x0, 0x1, 0x35, 0x12, 0x5, 0x4, 0x3, 0x35, 0x21, 0x11, 0x4, 0x4, 0x90, 0x1, 0xbc, 0xfe, 0x44, 0x90, 0xfc, 0x71, 0x3, 0x9a, 0x9e, 0xfe, 0xce, 0x84, 0x84, 0xfe, 0xce, 0x9e, 0x2, 0x30, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x75, 0x0, 0x9a, 0x6, 0x1e, 0x4, 0x6a, 0x0, 0x8, 0x0, 0xf, 0x0, 0x0, 0x25, 0x35, 0x21, 0x11, 0x21, 0x35, 0x33, 0x9, 0x1, 0x3, 0x15, 0x9, 0x1, 0x15, 0x21, 0x11, 0x3, 0x3c, 0xfd, 0x39, 0x2, 0xc7, 0xfa, 0x1, 0xe8, 0xfe, 0x18, 0xaa, 0x1, 0x98, 0xfe, 0x68, 0xfd, 0x39, 0x9a, 0xee, 0x1, 0xf4, 0xee, 0xfe, 0x18, 0xfe, 0x18, 0x1, 0x3e, 0xee, 0x1, 0x98, 0x1, 0x98, 0xee, 0xfe, 0xac, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x75, 0x0, 0x9a, 0x6, 0x1e, 0x4, 0x6a, 0x0, 0x8, 0x0, 0xf, 0x0, 0x0, 0x25, 0x35, 0x21, 0x11, 0x21, 0x35, 0x33, 0x9, 0x1, 0x3, 0x15, 0x9, 0x1, 0x15, 0x21, 0x11, 0x3, 0x3c, 0xfd, 0x39, 0x2, 0xc7, 0xfa, 0x1, 0xe8, 0xfe, 0x18, 0x14, 0x1, 0x98, 0xfe, 0x68, 0xfd, 0x39, 0x9a, 0xee, 0x1, 0xf4, 0xee, 0xfe, 0x18, 0xfe, 0x18, 0x1, 0x3e, 0xee, 0x1, 0x98, 0x1, 0x98, 0xee, 0xfe, 0xac, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x2b, 0x0, 0x18, 0x6, 0x5a, 0x4, 0xb0, 0x0, 0xb, 0x0, 0x12, 0x0, 0x0, 0x13, 0x1, 0x21, 0x37, 0x33, 0x13, 0x15, 0x1, 0x23, 0x35, 0x37, 0x21, 0x1, 0x7, 0x1, 0x3, 0x7, 0x21, 0x3, 0x2b, 0x1, 0x20, 0x3, 0x49, 0x8a, 0x64, 0xd8, 0xfd, 0x26, 0x96, 0x16, 0xfd, 0x2b, 0x3, 0xd1, 0x8a, 0x2, 0x84, 0xac, 0x8a, 0xfc, 0xb7, 0xc4, 0x1, 0xce, 0x1, 0xf4, 0xee, 0xfd, 0xfe, 0xc8, 0xfe, 0x32, 0xc8, 0x26, 0x1, 0x18, 0xee, 0x1, 0x98, 0x1, 0x98, 0xee, 0xfe, 0xac, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x2b, 0x0, 0x18, 0x6, 0x5a, 0x4, 0xb0, 0x0, 0xb, 0x0, 0x12, 0x0, 0x0, 0x13, 0x35, 0x21, 0x27, 0x35, 0x33, 0x1, 0x15, 0x3, 0x23, 0x27, 0x21, 0x1, 0x21, 0x13, 0x21, 0x17, 0x13, 0x1, 0x2b, 0x2, 0xd5, 0x16, 0x96, 0x2, 0xda, 0xd8, 0x64, 0x8a, 0xfc, 0xb7, 0x2, 0xb1, 0xfc, 0xb7, 0xc4, 0x3, 0x49, 0x8a, 0xac, 0xfd, 0x7c, 0x2, 0xfa, 0xc8, 0x26, 0xc8, 0xfe, 0x32, 0xc8, 0xfd, 0xfe, 0xee, 0x1, 0xa4, 0xfe, 0xac, 0xee, 0x1, 0x98, 0x1, 0x98, 0x0, 0x0, 0x0, 0x2, 0x1, 0x15, 0x0, 0x0, 0x6, 0x32, 0x4, 0x98, 0x0, 0xa, 0x0, 0x11, 0x0, 0x0, 0x21, 0x27, 0x21, 0x27, 0x11, 0x21, 0x35, 0x33, 0x1, 0x17, 0x1, 0x3, 0x15, 0x9, 0x1, 0x15, 0x21, 0x11, 0x3, 0xdc, 0x4f, 0xfd, 0xec, 0x64, 0x2, 0x63, 0x6e, 0x1, 0xe8, 0x64, 0xfe, 0x18, 0x82, 0x1, 0x98, 0xfe, 0x68, 0xfd, 0x9d, 0x9e, 0xc8, 0x2, 0x94, 0x9e, 0xfe, 0x18, 0xc8, 0xfe, 0x18, 0x1, 0xb6, 0x9e, 0x1, 0x98, 0x1, 0x98, 0x9e, 0xfe, 0xc, 0x0, 0x0, 0x2, 0x1, 0x15, 0x0, 0x0, 0x6, 0x32, 0x4, 0x98, 0x0, 0xa, 0x0, 0x11, 0x0, 0x0, 0x1, 0x33, 0x1, 0x7, 0x1, 0x23, 0x35, 0x21, 0x11, 0x37, 0x21, 0x13, 0x21, 0x11, 0x21, 0x15, 0x9, 0x1, 0x3, 0xdc, 0x6e, 0x1, 0xe8, 0x64, 0xfe, 0x18, 0x6e, 0xfd, 0x9d, 0x64, 0x2, 0x14, 0x3b, 0xfd, 0x9d, 0x2, 0x63, 0x1, 0x98, 0xfe, 0x68, 0x4, 0x98, 0xfe, 0x18, 0xc8, 0xfe, 0x18, 0x9e, 0x2, 0x94, 0xc8, 0xfe, 0xe8, 0xfe, 0xc, 0x9e, 0x1, 0x98, 0x1, 0x98, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x7f, 0x0, 0x64, 0x6, 0x64, 0x4, 0x98, 0x0, 0xc, 0x0, 0x14, 0x0, 0x0, 0x1, 0x3, 0x21, 0x35, 0x33, 0x1, 0x17, 0x1, 0x23, 0x27, 0x35, 0x21, 0x27, 0x13, 0x7, 0x21, 0x15, 0x9, 0x1, 0x15, 0x21, 0x1, 0x15, 0x96, 0x3, 0x5d, 0x6e, 0x1, 0xe8, 0x32, 0xfe, 0x18, 0x6e, 0x32, 0xfc, 0xd5, 0x32, 0xf2, 0x72, 0x3, 0x2d, 0x1, 0x98, 0xfe, 0x68, 0xfc, 0xd3, 0x2, 0xb0, 0x1, 0x4a, 0x9e, 0xfe, 0x18, 0x64, 0xfe, 0x18, 0x63, 0x3b, 0x64, 0x1, 0x4a, 0xfa, 0x9e, 0x1, 0x98, 0x1, 0x98, 0x9e, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x7f, 0x0, 0x64, 0x6, 0x64, 0x4, 0x98, 0x0, 0xc, 0x0, 0x14, 0x0, 0x0, 0x1, 0x3, 0x37, 0x21, 0x35, 0x37, 0x33, 0x1, 0x7, 0x1, 0x23, 0x35, 0x21, 0x13, 0x7, 0x21, 0x15, 0x9, 0x1, 0x15, 0x21, 0x1, 0x15, 0x96, 0x32, 0x3, 0x2b, 0x32, 0x6e, 0x1, 0xe8, 0x32, 0xfe, 0x18, 0x6e, 0xfc, 0xa3, 0xf2, 0x72, 0x3, 0x2d, 0x1, 0x98, 0xfe, 0x68, 0xfc, 0xd3, 0x2, 0x4c, 0x1, 0x4a, 0x64, 0x3b, 0x63, 0xfe, 0x18, 0x64, 0xfe, 0x18, 0x9e, 0x1, 0x4a, 0xfa, 0x9e, 0x1, 0x98, 0x1, 0x98, 0x9e, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x3c, 0xff, 0xd8, 0x5, 0xc4, 0x4, 0xaf, 0x0, 0x1e, 0x0, 0x0, 0x1, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x21, 0x15, 0x9, 0x1, 0x15, 0x1, 0x3c, 0x27, 0x43, 0x5a, 0x6d, 0x6f, 0x7e, 0x79, 0x74, 0x69, 0x5e, 0x5a, 0x5c, 0x58, 0x5e, 0x56, 0x71, 0x6f, 0xf7, 0x74, 0x69, 0x5e, 0x3f, 0x29, 0x2, 0x58, 0x1, 0xca, 0xfe, 0x36, 0x3, 0x6e, 0x47, 0x43, 0x5a, 0x2e, 0x2f, 0x2f, 0x2b, 0x5d, 0x59, 0xdd, 0x80, 0x7a, 0xda, 0x5f, 0x58, 0x30, 0x2f, 0x2f, 0x2b, 0x5d, 0x3e, 0x49, 0x9e, 0x1, 0xca, 0x1, 0xca, 0x9e, 0x0, 0x0, 0x0, 0x9, 0x0, 0x82, 0x1, 0x42, 0x6, 0x50, 0x3, 0xc2, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x1e, 0x0, 0x22, 0x0, 0x26, 0x0, 0x2a, 0x0, 0x2e, 0x0, 0x0, 0x1, 0x7, 0x33, 0x37, 0x23, 0x7, 0x33, 0x37, 0x23, 0x7, 0x33, 0x37, 0x23, 0x7, 0x33, 0x37, 0x23, 0x35, 0x3, 0x21, 0x13, 0x21, 0x11, 0x16, 0x17, 0x6, 0x7, 0x11, 0x21, 0x3, 0x21, 0x1, 0x33, 0x27, 0x23, 0x17, 0x33, 0x27, 0x23, 0x17, 0x33, 0x27, 0x23, 0x17, 0x33, 0x27, 0x23, 0x2, 0xe1, 0xa0, 0x3c, 0xa0, 0xb4, 0xa0, 0x3c, 0xa0, 0xb4, 0xa0, 0x3c, 0xa0, 0xb4, 0xa0, 0x3c, 0xa0, 0x78, 0xbb, 0x2, 0x1c, 0xbb, 0x1, 0x87, 0xad, 0xc3, 0xc3, 0xad, 0xfe, 0x79, 0xbb, 0xfd, 0xe4, 0x2, 0x5f, 0x3c, 0xa0, 0x3c, 0x28, 0x3c, 0xa0, 0x3c, 0x28, 0x3c, 0xa0, 0x3c, 0x28, 0x3c, 0xa0, 0x3c, 0x2, 0x5a, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x50, 0x1, 0x18, 0xfe, 0xe8, 0x1, 0x16, 0xbc, 0x82, 0x82, 0xbc, 0x1, 0x16, 0xfe, 0xe8, 0x1, 0x68, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xa5, 0x0, 0x70, 0x5, 0x74, 0x5, 0x3e, 0x0, 0xc, 0x0, 0x10, 0x0, 0x14, 0x0, 0x0, 0x1, 0x37, 0x6, 0x15, 0x14, 0x17, 0x26, 0x23, 0x22, 0x7, 0x37, 0x27, 0x37, 0x9, 0x1, 0x21, 0x1, 0x25, 0x11, 0x1, 0x11, 0x4, 0xa2, 0xaf, 0x7, 0x2a, 0x8e, 0xa4, 0x42, 0x46, 0xaf, 0xfe, 0x38, 0xfe, 0x1d, 0x1, 0xa9, 0xfe, 0xe5, 0xfe, 0x57, 0x1, 0x55, 0x1, 0xa8, 0x1, 0x7b, 0xb0, 0x46, 0x43, 0xa3, 0x8f, 0x2a, 0x7, 0xb0, 0xfe, 0x39, 0x1, 0x6f, 0xfe, 0x58, 0x1, 0xa8, 0x3a, 0x1, 0x1b, 0xfe, 0x57, 0xfe, 0xe6, 0x0, 0x3, 0x0, 0x75, 0x1, 0x62, 0x6, 0x50, 0x3, 0xa2, 0x0, 0x8, 0x0, 0xc, 0x0, 0x10, 0x0, 0x0, 0x1, 0x35, 0x16, 0x17, 0x6, 0x7, 0x35, 0x21, 0x35, 0x5, 0x21, 0x7, 0x21, 0x13, 0x27, 0x21, 0x17, 0x4, 0xfe, 0x9a, 0xb8, 0xb8, 0x9a, 0xfe, 0x98, 0xfd, 0xa7, 0x2, 0x58, 0xc8, 0xfd, 0xa8, 0xc8, 0xc8, 0x2, 0x58, 0xc8, 0x2, 0xaa, 0xf8, 0xbc, 0x64, 0x64, 0xbc, 0xf8, 0x50, 0x52, 0xc8, 0x1, 0x1a, 0xc8, 0xc8, 0x0, 0x0, 0x0, 0x3, 0x0, 0xa7, 0xff, 0xc5, 0x5, 0x74, 0x4, 0x94, 0x0, 0xc, 0x0, 0x10, 0x0, 0x14, 0x0, 0x0, 0x1, 0x27, 0x16, 0x33, 0x32, 0x37, 0x6, 0x15, 0x14, 0x17, 0x27, 0x7, 0x27, 0x9, 0x1, 0x11, 0x1, 0x3, 0x21, 0x1, 0x21, 0x4, 0x69, 0xaf, 0x46, 0x42, 0xa4, 0x8e, 0x2a, 0x7, 0xaf, 0xff, 0x38, 0xfe, 0x91, 0x1, 0xa8, 0xfe, 0x58, 0x3a, 0xfe, 0xe5, 0x1, 0xa8, 0x1, 0x1b, 0x3, 0xc1, 0xb0, 0x7, 0x2a, 0x90, 0xa2, 0x43, 0x46, 0xb0, 0xff, 0x39, 0xfe, 0x1d, 0x1, 0xa8, 0xfe, 0xe5, 0xfe, 0x58, 0x1, 0x55, 0x1, 0xa8, 0x0, 0x1, 0x0, 0xa7, 0x0, 0x70, 0x5, 0x74, 0x5, 0x3e, 0x0, 0x2a, 0x0, 0x0, 0x25, 0x26, 0x23, 0x22, 0x7, 0x3e, 0x1, 0x37, 0x27, 0x26, 0x27, 0x26, 0x22, 0x6, 0x7, 0x1, 0x3e, 0x1, 0x33, 0x32, 0x1f, 0x1, 0x37, 0x26, 0x35, 0x34, 0x36, 0x37, 0x1, 0xe, 0x1, 0x15, 0x14, 0x17, 0x16, 0x17, 0x1, 0x3e, 0x1, 0x37, 0x6, 0x15, 0x14, 0x5, 0x74, 0x8f, 0xa5, 0x42, 0x45, 0x48, 0x80, 0x18, 0xa6, 0xa6, 0x23, 0x26, 0x4e, 0x4b, 0x1c, 0xfe, 0x58, 0x24, 0x57, 0x2f, 0x2c, 0x30, 0x15, 0x5, 0x13, 0x24, 0x22, 0x1, 0xa8, 0x20, 0x19, 0xe, 0xf, 0x7, 0x1, 0x44, 0x4, 0x35, 0x48, 0x7, 0x70, 0x2a, 0x7, 0x47, 0x36, 0x3, 0xa6, 0xa6, 0xe, 0xf, 0x1e, 0x1c, 0x1, 0xa8, 0x24, 0x22, 0x12, 0x8, 0x21, 0x30, 0x2c, 0x30, 0x59, 0x22, 0xfe, 0x57, 0x21, 0x46, 0x26, 0x27, 0x26, 0x23, 0x7, 0xfe, 0xbb, 0x17, 0x81, 0x47, 0x47, 0x43, 0xa3, 0x0, 0x0, 0x1, 0x0, 0x75, 0x1, 0x61, 0x6, 0x50, 0x3, 0xa3, 0x0, 0x27, 0x0, 0x0, 0x1, 0x6, 0x7, 0x34, 0x36, 0x37, 0x23, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x15, 0x21, 0x34, 0x36, 0x37, 0x36, 0x3f, 0x1, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x21, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x21, 0x2e, 0x1, 0x35, 0x16, 0x6, 0x50, 0xb7, 0x9b, 0x35, 0xe, 0xeb, 0xea, 0x23, 0x24, 0x1d, 0x1c, 0x1f, 0xfd, 0xa8, 0x25, 0x22, 0x1f, 0x2f, 0x15, 0x15, 0x2f, 0x1f, 0x22, 0x25, 0x2, 0x58, 0x1f, 0x1c, 0x1d, 0x24, 0x23, 0xa, 0x1, 0xcb, 0xe, 0x35, 0x9b, 0x2, 0x82, 0x65, 0xbc, 0x65, 0x81, 0x13, 0xf, 0x10, 0x1c, 0x1b, 0x4a, 0x28, 0x30, 0x59, 0x21, 0x1f, 0x15, 0x9, 0x1b, 0x15, 0x1f, 0x22, 0x58, 0x30, 0x28, 0x4a, 0x1b, 0x1c, 0x10, 0xf, 0x13, 0x81, 0x65, 0xbc, 0x0, 0x0, 0x1, 0x0, 0xa7, 0xff, 0xc6, 0x5, 0x74, 0x4, 0x94, 0x0, 0x2a, 0x0, 0x0, 0x1, 0x6, 0x15, 0x14, 0x17, 0x2e, 0x1, 0x27, 0x7, 0x6, 0x7, 0x6, 0x15, 0x14, 0x16, 0x17, 0x1, 0x2e, 0x1, 0x35, 0x34, 0x3f, 0x1, 0x27, 0x6, 0x23, 0x22, 0x26, 0x27, 0x1, 0x1e, 0x1, 0x32, 0x37, 0x36, 0x37, 0x1, 0x2e, 0x1, 0x27, 0x16, 0x33, 0x32, 0x5, 0x74, 0x29, 0x7, 0x48, 0x35, 0x4, 0xa7, 0xa7, 0xc, 0xe, 0x1d, 0x1c, 0xfe, 0x58, 0x22, 0x24, 0x13, 0x9, 0x23, 0x30, 0x2c, 0x30, 0x58, 0x22, 0x1, 0xa8, 0x1c, 0x4b, 0x4e, 0x26, 0x23, 0x7, 0x1, 0x45, 0x18, 0x80, 0x48, 0x45, 0x42, 0xa5, 0x4, 0x94, 0x8e, 0xa3, 0x43, 0x47, 0x47, 0x81, 0x17, 0xa8, 0xa8, 0x1f, 0x26, 0x27, 0x26, 0x4b, 0x1c, 0xfe, 0x57, 0x22, 0x59, 0x30, 0x2c, 0x30, 0x15, 0x4, 0x12, 0x24, 0x22, 0x1, 0xa8, 0x1c, 0x1e, 0xf, 0xe, 0x7, 0x1, 0x45, 0x3, 0x36, 0x47, 0x7, 0x0, 0x3, 0x0, 0x73, 0x0, 0xac, 0x6, 0x50, 0x4, 0x58, 0x0, 0x14, 0x0, 0x27, 0x0, 0x3c, 0x0, 0x0, 0x1, 0x36, 0x25, 0x6, 0x3, 0x6, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x36, 0x24, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x4, 0x5, 0x4, 0x5, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x12, 0x17, 0x24, 0x4, 0x2f, 0xf6, 0x1, 0x2b, 0xe3, 0x7a, 0xc, 0x15, 0x16, 0x1b, 0x1a, 0x3e, 0x1a, 0x1b, 0x16, 0x15, 0x17, 0x17, 0x15, 0x16, 0xfc, 0x5f, 0x20, 0x1b, 0x1d, 0x24, 0x23, 0x52, 0x23, 0x1, 0x61, 0x3, 0x66, 0xfc, 0x82, 0xfe, 0xb7, 0x23, 0x52, 0x23, 0x29, 0x18, 0x1d, 0x3, 0x9e, 0x1b, 0x16, 0x15, 0x17, 0x17, 0x15, 0x16, 0x1b, 0x1a, 0x3e, 0x1a, 0x1b, 0x16, 0x12, 0xf, 0x78, 0xe5, 0xfe, 0x94, 0x1, 0xce, 0x62, 0x51, 0x75, 0xfe, 0xfd, 0x1d, 0x14, 0x15, 0xc, 0xb, 0xb, 0xc, 0x15, 0x14, 0x38, 0x1f, 0x1e, 0x38, 0x14, 0x15, 0x97, 0x52, 0x4b, 0x1a, 0x1c, 0x10, 0xf, 0xe, 0x85, 0x36, 0x38, 0x83, 0xe, 0xf, 0x12, 0x1a, 0x1f, 0x1, 0x23, 0xc, 0x15, 0x14, 0x38, 0x1e, 0x1f, 0x38, 0x14, 0x15, 0xc, 0xb, 0xb, 0xc, 0x15, 0x11, 0x20, 0xfe, 0xfe, 0x76, 0x63, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x96, 0x1, 0x1f, 0x6, 0x3c, 0x3, 0xe5, 0x0, 0x1a, 0x0, 0x2a, 0x0, 0x0, 0x13, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x5, 0x4, 0x7, 0xe, 0x1, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x25, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x37, 0x16, 0x17, 0x6, 0x7, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x96, 0x41, 0x1e, 0x20, 0x14, 0x27, 0x27, 0x2b, 0x2f, 0x35, 0x34, 0x3c, 0x33, 0xa2, 0x1, 0x91, 0xfe, 0x6f, 0xa2, 0x38, 0x6e, 0x32, 0x33, 0x27, 0x39, 0x15, 0x1d, 0x17, 0x1d, 0x4, 0x6, 0x25, 0x25, 0x25, 0x25, 0x62, 0xfc, 0xfc, 0x62, 0x25, 0x25, 0x25, 0x2, 0x82, 0x26, 0x3a, 0x3f, 0x13, 0x24, 0x12, 0x13, 0x13, 0x16, 0x20, 0x66, 0x4c, 0x4c, 0x66, 0x23, 0x26, 0x13, 0x1d, 0x19, 0x23, 0x2f, 0x3a, 0x26, 0x27, 0x58, 0x32, 0x33, 0x58, 0x27, 0xf1, 0x72, 0x72, 0xf1, 0x27, 0x58, 0x33, 0x32, 0x58, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xa2, 0x1, 0x56, 0x6, 0x32, 0x3, 0xae, 0x0, 0x63, 0x0, 0x0, 0x0, 0x14, 0x6, 0xf, 0x1, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x3f, 0x1, 0x36, 0x35, 0x34, 0x26, 0x27, 0x26, 0x27, 0x26, 0x23, 0x21, 0x22, 0x7, 0x6, 0x7, 0x6, 0xf, 0x1, 0x6, 0x7, 0x6, 0x7, 0x6, 0x23, 0x21, 0x22, 0x2e, 0x2, 0x34, 0x3f, 0x1, 0x36, 0x34, 0x2f, 0x1, 0x26, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x21, 0x32, 0x17, 0x16, 0x17, 0x16, 0x1f, 0x1, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x21, 0x32, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x2f, 0x1, 0x26, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x1f, 0x1, 0x16, 0x6, 0x32, 0x6, 0x6, 0xf0, 0x4, 0x9, 0x7, 0x10, 0x7, 0x7, 0x6, 0x6, 0x6, 0x3, 0x1b, 0x3, 0x6, 0x6, 0x5, 0x8, 0x8, 0x7, 0xfe, 0xe6, 0x8, 0x7, 0x7, 0x6, 0x5, 0x4, 0x5a, 0x5, 0x3, 0x6, 0x8, 0x6, 0x8, 0xfd, 0x9c, 0x8, 0xe, 0xc, 0x6, 0x3, 0x3b, 0x3a, 0x1, 0x74, 0x3, 0x6, 0x6, 0x6, 0x7, 0x7, 0x8, 0x2, 0x64, 0x8, 0x6, 0x9, 0x5, 0x3, 0x5, 0x5a, 0x4, 0x5, 0x6, 0x7, 0x7, 0x8, 0x1, 0x1a, 0x7, 0x8, 0x8, 0x5, 0x6, 0x6, 0x3, 0x1b, 0x3, 0x6, 0x6, 0x6, 0x7, 0x7, 0x10, 0x7, 0x9, 0x4, 0xf0, 0x6, 0x2, 0x8b, 0x12, 0xe, 0x6, 0xf0, 0x4, 0x5, 0x3, 0x3, 0x4, 0x5, 0x6, 0xe, 0x9, 0x4, 0xb, 0x63, 0xb, 0x5, 0x7, 0xf, 0x6, 0x5, 0x3, 0x4, 0x3, 0x4, 0x5, 0x5, 0x8, 0xb4, 0xa, 0x3, 0x5, 0x4, 0x3, 0x6, 0xc, 0xe, 0x12, 0x6, 0x75, 0x75, 0x14, 0x2, 0xe8, 0x6, 0x12, 0xe, 0x6, 0x5, 0x4, 0x3, 0x3, 0x3, 0x6, 0x3, 0xa, 0xb4, 0x8, 0x5, 0x5, 0x4, 0x3, 0x4, 0x3, 0x5, 0x6, 0xf, 0x7, 0x5, 0xb, 0x63, 0xb, 0x4, 0x9, 0xe, 0x6, 0x5, 0x4, 0x3, 0x3, 0x5, 0x4, 0xf0, 0x6, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xa2, 0x0, 0xf1, 0x6, 0x32, 0x4, 0x13, 0x0, 0x63, 0x0, 0x0, 0x0, 0x14, 0x6, 0x7, 0x1, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x3f, 0x1, 0x36, 0x35, 0x34, 0x26, 0x27, 0x26, 0x27, 0x26, 0x2b, 0x1, 0x22, 0x7, 0x6, 0x7, 0x6, 0xf, 0x1, 0x6, 0x7, 0x6, 0x7, 0x6, 0x23, 0x21, 0x22, 0x2e, 0x2, 0x34, 0x3f, 0x1, 0x36, 0x34, 0x27, 0x3, 0x26, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x21, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x13, 0x16, 0x17, 0x16, 0x17, 0x16, 0x3b, 0x1, 0x32, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x2f, 0x1, 0x26, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x1, 0x16, 0x6, 0x32, 0x6, 0x6, 0xfe, 0x70, 0x5, 0x8, 0x7, 0x10, 0x7, 0x7, 0x6, 0x6, 0x6, 0x3, 0x57, 0x3, 0x6, 0x6, 0x5, 0x8, 0x8, 0x7, 0x5c, 0x8, 0x7, 0x7, 0x6, 0x5, 0x4, 0x78, 0x5, 0x3, 0x6, 0x8, 0x6, 0x8, 0xfd, 0x6a, 0x8, 0xe, 0xc, 0x6, 0x3, 0x49, 0x4a, 0x1, 0x9c, 0x3, 0x6, 0x6, 0x6, 0x7, 0x7, 0x8, 0x2, 0x96, 0x8, 0x6, 0x9, 0x5, 0x3, 0x5, 0x82, 0x4, 0x5, 0x6, 0x7, 0x7, 0x8, 0x5c, 0x7, 0x8, 0x8, 0x5, 0x6, 0x6, 0x3, 0x57, 0x3, 0x6, 0x6, 0x6, 0x7, 0x7, 0x10, 0x7, 0x8, 0x5, 0x1, 0x90, 0x6, 0x2, 0x8b, 0x12, 0xf, 0x5, 0xfe, 0x98, 0x5, 0x4, 0x3, 0x3, 0x4, 0x5, 0x6, 0xe, 0x9, 0x7, 0x8, 0xdb, 0x8, 0x8, 0x7, 0xf, 0x6, 0x5, 0x3, 0x4, 0x3, 0x4, 0x5, 0x5, 0x8, 0xf0, 0xa, 0x3, 0x5, 0x4, 0x3, 0x6, 0xc, 0xe, 0x12, 0x6, 0x93, 0x93, 0x14, 0x2, 0x1, 0x38, 0x6, 0x12, 0xe, 0x6, 0x5, 0x4, 0x3, 0x3, 0x3, 0x6, 0x3, 0xa, 0xfe, 0xfc, 0x8, 0x5, 0x5, 0x4, 0x3, 0x4, 0x3, 0x5, 0x6, 0xf, 0x7, 0x8, 0x8, 0xdb, 0x8, 0x7, 0x9, 0xe, 0x6, 0x5, 0x4, 0x3, 0x3, 0x4, 0x5, 0xfe, 0x98, 0x5, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x75, 0x0, 0xa6, 0x6, 0x50, 0x4, 0x5e, 0x0, 0x13, 0x0, 0x1d, 0x0, 0x27, 0x0, 0x0, 0x1, 0x6, 0x7, 0x6, 0x7, 0x23, 0x37, 0x36, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x2f, 0x1, 0x33, 0x16, 0x17, 0x16, 0x1, 0x23, 0x3e, 0x1, 0x37, 0x21, 0x35, 0x21, 0xe, 0x1, 0x3, 0x1e, 0x1, 0x17, 0x21, 0x35, 0x21, 0x2e, 0x1, 0x27, 0x6, 0x50, 0x88, 0x53, 0x8c, 0x4a, 0x6c, 0x2e, 0x2e, 0xa0, 0x26, 0x47, 0x47, 0x26, 0xa0, 0x15, 0x47, 0x6c, 0x48, 0x8e, 0x53, 0xfd, 0xcc, 0x69, 0x13, 0x37, 0x2a, 0xfc, 0xd6, 0x3, 0xe5, 0x6e, 0x4b, 0xd, 0xd, 0x4b, 0x6e, 0xfc, 0x1b, 0x3, 0x2a, 0x2a, 0x37, 0x13, 0x2, 0x82, 0x4f, 0x55, 0x8f, 0xa9, 0x6e, 0x6d, 0xa4, 0x27, 0x36, 0x36, 0x27, 0xa4, 0x31, 0xaa, 0xa4, 0x94, 0x55, 0xfd, 0xd5, 0x3d, 0x85, 0x48, 0x64, 0x8e, 0xb7, 0x3, 0x8f, 0x29, 0xb7, 0x8e, 0x64, 0x48, 0x85, 0x3d, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6e, 0xfe, 0xb2, 0x2, 0xd0, 0x6, 0x26, 0x0, 0x19, 0x0, 0x0, 0x1, 0x2a, 0x1, 0x27, 0x24, 0x3, 0x26, 0x0, 0x27, 0x26, 0x23, 0x22, 0x7, 0x27, 0x36, 0x37, 0x36, 0x15, 0x14, 0x0, 0x7, 0x6, 0x5, 0x16, 0x36, 0x37, 0x2, 0xd0, 0x9, 0x68, 0x37, 0xfe, 0x48, 0x2, 0x1, 0x1, 0x6d, 0x4, 0x3, 0x5e, 0x3a, 0x2d, 0x88, 0x33, 0xd5, 0xde, 0xfe, 0xb0, 0x7, 0xc, 0x1, 0x1c, 0x52, 0x45, 0x14, 0xfe, 0xb2, 0xb, 0x53, 0x1, 0x52, 0xae, 0x3, 0xf5, 0x51, 0x4f, 0x89, 0x31, 0xd8, 0x1, 0x1, 0xcc, 0xa1, 0xfc, 0x4c, 0x8f, 0xdc, 0x48, 0x15, 0x1, 0x2, 0x0, 0x0, 0x1, 0x0, 0x4f, 0xfe, 0xb2, 0x2, 0xb1, 0x6, 0x26, 0x0, 0x19, 0x0, 0x0, 0x13, 0x35, 0x1e, 0x1, 0x37, 0x24, 0x27, 0x26, 0x0, 0x35, 0x34, 0x17, 0x16, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x6, 0x0, 0x7, 0x2, 0x5, 0x6, 0x22, 0x4f, 0x14, 0x45, 0x52, 0x1, 0x1c, 0xc, 0x7, 0xfe, 0xb0, 0xde, 0xd5, 0x33, 0x88, 0x2d, 0x3a, 0x5e, 0x3, 0x4, 0x1, 0x6d, 0x1, 0x2, 0xfe, 0x48, 0x37, 0x68, 0xfe, 0xb2, 0x8f, 0x2, 0x1, 0x15, 0x48, 0xdc, 0x8f, 0x3, 0xb4, 0xa1, 0xcc, 0x1, 0x1, 0xd8, 0x31, 0x89, 0x4f, 0x51, 0xfc, 0xb, 0xae, 0xfe, 0xae, 0x53, 0xb, 0x0, 0x0, 0x0, 0x3, 0x0, 0x6, 0xfe, 0x23, 0x3, 0xee, 0x6, 0x75, 0x0, 0x3, 0x0, 0x6, 0x0, 0x9, 0x0, 0x0, 0x9, 0x5, 0x21, 0x9, 0x1, 0x21, 0x1, 0xf9, 0x1, 0xf5, 0xfe, 0xb, 0xfe, 0xd, 0x1, 0xf3, 0xfe, 0x98, 0x2, 0xd2, 0xfe, 0x96, 0x1, 0x6a, 0xfd, 0x2e, 0x6, 0x75, 0xfb, 0xdb, 0xfb, 0xd3, 0x4, 0x2d, 0x3, 0x31, 0xfd, 0x8, 0xfc, 0x8e, 0x3, 0x0, 0x0, 0x2, 0x0, 0xb0, 0xfe, 0xf2, 0x3, 0x30, 0x6, 0x14, 0x0, 0x3, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x25, 0x21, 0x15, 0x23, 0x11, 0x33, 0x15, 0x21, 0x1, 0x14, 0xc8, 0xfe, 0xd4, 0x2, 0x80, 0xf0, 0xf0, 0xfd, 0x80, 0x5, 0xb0, 0xf9, 0xa6, 0x6, 0x5a, 0x64, 0x64, 0xf9, 0xa6, 0x64, 0x0, 0x0, 0x0, 0x2, 0x0, 0xaf, 0xfe, 0xf2, 0x3, 0x2f, 0x6, 0x14, 0x0, 0x3, 0x0, 0xb, 0x0, 0x0, 0x1, 0x23, 0x11, 0x33, 0x13, 0x11, 0x21, 0x35, 0x33, 0x11, 0x23, 0x35, 0x2, 0xcb, 0xc8, 0xc8, 0x64, 0xfd, 0x80, 0xf0, 0xf0, 0x5, 0xb0, 0xf9, 0xa6, 0x6, 0xbe, 0xf8, 0xde, 0x64, 0x6, 0x5a, 0x64, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb7, 0xfe, 0xf2, 0x2, 0x7b, 0x6, 0x12, 0x0, 0x5, 0x0, 0x0, 0x13, 0x1, 0x33, 0x9, 0x1, 0x23, 0xb7, 0x1, 0x1a, 0xaa, 0xfe, 0xe6, 0x1, 0x1a, 0xaa, 0x2, 0x82, 0x3, 0x90, 0xfc, 0x70, 0xfc, 0x70, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xa4, 0xfe, 0xf2, 0x2, 0x68, 0x6, 0x12, 0x0, 0x5, 0x0, 0x0, 0x9, 0x1, 0x23, 0x9, 0x1, 0x33, 0x2, 0x68, 0xfe, 0xe6, 0xaa, 0x1, 0x1a, 0xfe, 0xe6, 0xaa, 0x2, 0x82, 0xfc, 0x70, 0x3, 0x90, 0x3, 0x90, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb7, 0xfe, 0xf2, 0x3, 0xcf, 0x6, 0x12, 0x10, 0x26, 0x10, 0x40, 0x0, 0x0, 0x10, 0x7, 0x10, 0x40, 0x1, 0x54, 0x0, 0x0, 0xff, 0xff, 0x0, 0xa4, 0xfe, 0xf2, 0x3, 0xbc, 0x6, 0x12, 0x10, 0x26, 0x10, 0x41, 0x0, 0x0, 0x10, 0x7, 0x10, 0x41, 0x1, 0x54, 0x0, 0x0, 0x0, 0x1, 0x0, 0x5b, 0x0, 0x0, 0x6, 0x5b, 0x5, 0xdc, 0x0, 0x16, 0x0, 0x0, 0x9, 0x1, 0x7, 0x27, 0x11, 0x23, 0x11, 0x27, 0x11, 0x23, 0x11, 0x27, 0x7, 0x11, 0x23, 0x11, 0x7, 0x11, 0x23, 0x11, 0x7, 0x27, 0x1, 0x3, 0x89, 0x2, 0xd2, 0x78, 0x5c, 0x78, 0xd2, 0x78, 0x6a, 0x6a, 0x78, 0xd2, 0x78, 0x5c, 0x78, 0x2, 0xd2, 0x5, 0xdc, 0xfd, 0x2c, 0x78, 0x5c, 0xfd, 0x14, 0x3, 0x65, 0xd3, 0xfb, 0xc8, 0x4, 0xb0, 0x68, 0x68, 0xfb, 0x50, 0x4, 0x38, 0xd3, 0xfc, 0x9b, 0x2, 0xec, 0x5c, 0x78, 0x2, 0xd4, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x59, 0xff, 0xf9, 0x6, 0x59, 0x5, 0xd5, 0x0, 0x16, 0x0, 0x0, 0x5, 0x1, 0x37, 0x17, 0x11, 0x33, 0x11, 0x17, 0x11, 0x33, 0x11, 0x17, 0x37, 0x11, 0x33, 0x11, 0x37, 0x11, 0x33, 0x11, 0x37, 0x17, 0x1, 0x3, 0x2b, 0xfd, 0x2e, 0x78, 0x5c, 0x78, 0xd2, 0x78, 0x6a, 0x6a, 0x78, 0xd2, 0x78, 0x5c, 0x78, 0xfd, 0x2e, 0x7, 0x2, 0xd4, 0x78, 0x5c, 0x2, 0xec, 0xfc, 0x9b, 0xd3, 0x4, 0x38, 0xfb, 0x50, 0x68, 0x68, 0x4, 0xb0, 0xfb, 0xc8, 0xd3, 0x3, 0x65, 0xfd, 0x14, 0x5c, 0x78, 0xfd, 0x2c, 0x0, 0x1, 0x0, 0x4f, 0x0, 0x6c, 0x6, 0x84, 0x5, 0x44, 0x0, 0x3d, 0x0, 0x0, 0x1, 0x30, 0x37, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x22, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x7, 0x37, 0x17, 0x1, 0x23, 0x1, 0x37, 0x17, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x2, 0x65, 0x77, 0x40, 0x52, 0x4e, 0xbe, 0x4a, 0x56, 0x3c, 0x42, 0x42, 0x21, 0x23, 0x40, 0x40, 0x52, 0x4e, 0xbe, 0x4a, 0x56, 0x3c, 0x42, 0x21, 0x17, 0x7, 0xe8, 0x78, 0xfe, 0x78, 0x5a, 0xfe, 0x76, 0x78, 0xe9, 0x8, 0x24, 0x30, 0x59, 0x54, 0x74, 0x67, 0x85, 0x80, 0x6c, 0x71, 0x57, 0x5a, 0x2f, 0x2e, 0x2e, 0x2f, 0x5a, 0x53, 0x75, 0x67, 0x85, 0x80, 0x6c, 0x6a, 0x1, 0x21, 0x78, 0x3f, 0x23, 0x21, 0x21, 0x27, 0x3b, 0x42, 0xa2, 0x5d, 0x59, 0x51, 0x53, 0x40, 0x3f, 0x23, 0x21, 0x21, 0x27, 0x3b, 0x42, 0x51, 0x39, 0x3f, 0xea, 0x78, 0xfe, 0x76, 0x1, 0x8a, 0x78, 0xe9, 0x60, 0x58, 0x71, 0x59, 0x53, 0x34, 0x2e, 0x2e, 0x30, 0x57, 0x59, 0x71, 0x70, 0x7b, 0x7f, 0x70, 0x71, 0x59, 0x53, 0x34, 0x2e, 0x2e, 0x2d, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x4f, 0x0, 0x7c, 0x6, 0x84, 0x5, 0x54, 0x0, 0x3c, 0x0, 0x0, 0x1, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x37, 0x17, 0x1, 0x23, 0x1, 0x37, 0x17, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x22, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x4, 0x6e, 0x5e, 0x6a, 0x6c, 0x80, 0x85, 0x67, 0x74, 0x54, 0x59, 0x30, 0x2e, 0x2e, 0x30, 0x59, 0x58, 0x70, 0x6c, 0x80, 0x85, 0x67, 0x74, 0x54, 0x59, 0x30, 0x24, 0x8, 0xe9, 0x78, 0xfe, 0x76, 0x5a, 0xfe, 0x78, 0x78, 0xe8, 0x7, 0x17, 0x21, 0x42, 0x3c, 0x56, 0x4a, 0xbe, 0x4e, 0x52, 0x40, 0x40, 0x23, 0x21, 0x42, 0x42, 0x3c, 0x56, 0x4a, 0xbe, 0x4e, 0x52, 0x40, 0x1, 0x31, 0x5a, 0x2d, 0x2e, 0x2e, 0x34, 0x53, 0x59, 0x71, 0x70, 0x7f, 0x7b, 0x70, 0x71, 0x59, 0x57, 0x30, 0x2e, 0x2e, 0x34, 0x53, 0x59, 0x71, 0x58, 0x60, 0xe9, 0x78, 0xfe, 0x76, 0x1, 0x8a, 0x78, 0xea, 0x3f, 0x39, 0x51, 0x42, 0x3b, 0x27, 0x21, 0x21, 0x23, 0x3f, 0x40, 0x53, 0x51, 0x59, 0x5d, 0xa2, 0x42, 0x3b, 0x27, 0x21, 0x21, 0x23, 0x3f, 0x0, 0x3, 0x0, 0x75, 0xff, 0xe3, 0x8, 0xde, 0x5, 0x24, 0x0, 0x25, 0x0, 0x39, 0x0, 0x4d, 0x0, 0x0, 0x1, 0x15, 0x1, 0x27, 0x37, 0x21, 0x6, 0x7, 0x6, 0x7, 0xe, 0x1, 0x20, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x23, 0x35, 0x33, 0x36, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x20, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x21, 0x27, 0x37, 0x24, 0x22, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x7, 0x21, 0x11, 0x33, 0x11, 0x21, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x32, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x8, 0xde, 0xfe, 0x77, 0x78, 0xe9, 0xfe, 0xa0, 0xb, 0x21, 0x31, 0x63, 0x62, 0xee, 0xfe, 0xec, 0xee, 0x62, 0x63, 0x31, 0x21, 0xb, 0xbd, 0xbd, 0xa, 0x22, 0x31, 0x63, 0x62, 0xee, 0x1, 0x14, 0xee, 0x62, 0x63, 0x31, 0x22, 0xa, 0x1, 0x60, 0xe9, 0x78, 0xfc, 0xe2, 0xd6, 0x5d, 0x5c, 0x4c, 0x4d, 0x26, 0x17, 0x9, 0x1, 0xae, 0xaa, 0x1, 0xae, 0x9, 0x17, 0x26, 0x4d, 0x4c, 0x5c, 0x1, 0x3b, 0xfe, 0x52, 0xaa, 0xfe, 0x52, 0xa, 0x16, 0x26, 0x4d, 0x4c, 0x5c, 0x5d, 0xd6, 0x5d, 0x5c, 0x4c, 0x4d, 0x26, 0x16, 0x2, 0xaf, 0x5a, 0xfe, 0x77, 0x78, 0xe9, 0x5a, 0x51, 0x76, 0x63, 0x62, 0x64, 0x64, 0x62, 0x63, 0x76, 0x51, 0x5a, 0xaa, 0x5b, 0x52, 0x77, 0x63, 0x62, 0x64, 0x64, 0x62, 0x63, 0x77, 0x52, 0x5b, 0xe9, 0x78, 0x56, 0x27, 0x27, 0x4c, 0x4d, 0x5c, 0x37, 0x3d, 0x1, 0x65, 0xfe, 0x9b, 0x3d, 0x37, 0x5c, 0x4d, 0x4c, 0x27, 0xfd, 0xc6, 0xfe, 0x9b, 0x1, 0x65, 0x3b, 0x36, 0x5c, 0x4d, 0x4c, 0x27, 0x27, 0x27, 0x27, 0x4c, 0x4d, 0x5c, 0x36, 0x0, 0x0, 0x1, 0x0, 0x64, 0x0, 0xcc, 0xb, 0x3, 0x4, 0x38, 0x0, 0x9, 0x0, 0x81, 0xb4, 0x2, 0x9, 0x6, 0x0, 0xa, 0x10, 0xd4, 0xd4, 0xcc, 0x32, 0x40, 0x9, 0x40, 0x2, 0x40, 0x9, 0x30, 0x2, 0x30, 0x9, 0x4, 0x5d, 0x31, 0x40, 0xa, 0x2, 0x5, 0x9, 0x1, 0x0, 0x6, 0x5, 0x9c, 0x6, 0xa, 0x0, 0x10, 0xd4, 0xec, 0x11, 0x39, 0x39, 0xcc, 0x10, 0xcc, 0x30, 0x40, 0xc, 0x8, 0x9, 0x9, 0x0, 0x8, 0x7, 0x8, 0x7, 0x9c, 0x0, 0x9, 0x0, 0x7, 0x5, 0x10, 0xfc, 0x3c, 0x8, 0x6, 0x10, 0x3c, 0x40, 0xc, 0x3, 0x2, 0x2, 0x1, 0x3, 0x4, 0x3, 0x4, 0x9c, 0x1, 0x2, 0x1, 0x7, 0x5, 0x10, 0xfc, 0x3c, 0x8, 0x6, 0x10, 0x3c, 0xb0, 0x10, 0x4b, 0x53, 0x58, 0x0, 0xb3, 0x3, 0x2, 0x8, 0x9, 0x10, 0x3c, 0x10, 0x3c, 0xb4, 0x8, 0x9c, 0x9, 0x9, 0x0, 0x7, 0x5, 0x10, 0xec, 0xb4, 0x3, 0x9c, 0x2, 0x2, 0x1, 0x7, 0x5, 0x10, 0xec, 0x59, 0x13, 0x35, 0x1, 0x17, 0x7, 0x21, 0x15, 0x21, 0x17, 0x7, 0x64, 0x1, 0x89, 0x78, 0xe9, 0x9, 0x87, 0xf6, 0x79, 0xe9, 0x78, 0x2, 0x55, 0x5a, 0x1, 0x89, 0x78, 0xe9, 0xaa, 0xe9, 0x78, 0x0, 0x0, 0x0, 0x1, 0x0, 0x75, 0x0, 0xcc, 0xb, 0x14, 0x4, 0x38, 0x0, 0x9, 0x0, 0x81, 0xb4, 0x2, 0x9, 0x0, 0x6, 0xa, 0x10, 0xd4, 0xd4, 0xcc, 0x32, 0x40, 0x9, 0x4f, 0x2, 0x4f, 0x9, 0x5f, 0x2, 0x5f, 0x9, 0x4, 0x5d, 0x31, 0x40, 0xa, 0x9, 0x6, 0x2, 0x1, 0x0, 0x5, 0x6, 0x9c, 0x5, 0xa, 0x0, 0x10, 0xd4, 0xec, 0x11, 0x39, 0x39, 0xcc, 0x10, 0xcc, 0x30, 0x40, 0xc, 0x8, 0x9, 0x9, 0x0, 0x8, 0x7, 0x8, 0x7, 0x9c, 0x0, 0x9, 0x0, 0x7, 0x5, 0x10, 0xfc, 0x3c, 0x8, 0x6, 0x10, 0x3c, 0x40, 0xc, 0x3, 0x2, 0x2, 0x1, 0x3, 0x4, 0x3, 0x4, 0x9c, 0x1, 0x2, 0x1, 0x7, 0x5, 0x10, 0xfc, 0x3c, 0x8, 0x6, 0x10, 0x3c, 0xb0, 0x10, 0x4b, 0x53, 0x58, 0x0, 0xb3, 0x3, 0x2, 0x8, 0x9, 0x10, 0x3c, 0x10, 0x3c, 0xb4, 0x8, 0x9c, 0x9, 0x9, 0x0, 0x7, 0x5, 0x10, 0xec, 0xb4, 0x3, 0x9c, 0x2, 0x2, 0x1, 0x7, 0x5, 0x10, 0xec, 0x59, 0x1, 0x15, 0x1, 0x27, 0x37, 0x21, 0x35, 0x21, 0x27, 0x37, 0xb, 0x14, 0xfe, 0x77, 0x78, 0xe9, 0xf6, 0x79, 0x9, 0x87, 0xe9, 0x78, 0x2, 0xaf, 0x5a, 0xfe, 0x77, 0x78, 0xe9, 0xaa, 0xe9, 0x78, 0x0, 0x0, 0x1, 0x0, 0x64, 0x0, 0xcc, 0xb, 0x14, 0x4, 0x38, 0x0, 0xf, 0x0, 0xda, 0xb6, 0x7, 0xa, 0x9, 0x2, 0xf, 0x0, 0x10, 0x10, 0xd4, 0xcc, 0x32, 0xd4, 0xcc, 0x32, 0x40, 0xd, 0x50, 0x2, 0x50, 0xf, 0x5f, 0xa, 0x5f, 0x7, 0x4f, 0xa, 0x4f, 0x7, 0x6, 0x5d, 0x31, 0x0, 0x40, 0xf, 0x7, 0x2, 0x4, 0xa, 0xf, 0x0, 0x1, 0x8, 0x9, 0x4, 0xd, 0x4, 0x9c, 0xd, 0x10, 0x10, 0xd4, 0xec, 0x11, 0x17, 0x39, 0xcc, 0x32, 0x10, 0xcc, 0x32, 0x30, 0x40, 0xc, 0xe, 0xf, 0xf, 0x0, 0xe, 0xd, 0xe, 0xd, 0x9c, 0x0, 0xf, 0x0, 0x7, 0x5, 0x10, 0xfc, 0x3c, 0x8, 0x6, 0x10, 0x3c, 0x40, 0xc, 0x3, 0x2, 0x2, 0x1, 0x3, 0x4, 0x3, 0x4, 0x9c, 0x1, 0x2, 0x1, 0x7, 0x5, 0x10, 0xfc, 0x3c, 0x8, 0x6, 0x10, 0x3c, 0x40, 0xc, 0xb, 0xa, 0xa, 0x9, 0xb, 0xc, 0xb, 0xc, 0x9c, 0x9, 0x9, 0xa, 0x7, 0x5, 0x10, 0xfc, 0x3c, 0x8, 0x6, 0x10, 0x3c, 0x40, 0xc, 0x6, 0x7, 0x7, 0x8, 0x6, 0x5, 0x6, 0x5, 0x9c, 0x8, 0x7, 0x8, 0x7, 0x5, 0x10, 0xfc, 0x3c, 0x8, 0x6, 0x10, 0x3c, 0xb0, 0x10, 0x4b, 0x53, 0x58, 0x0, 0xb7, 0xb, 0xa, 0x6, 0x7, 0x3, 0x2, 0xe, 0xf, 0x10, 0x3c, 0x10, 0x3c, 0x10, 0x3c, 0x10, 0x3c, 0xb4, 0xe, 0x9c, 0xf, 0xf, 0x0, 0x7, 0x5, 0x10, 0xec, 0xb4, 0x3, 0x9c, 0x2, 0x2, 0x1, 0x7, 0x5, 0x10, 0xec, 0xb4, 0xb, 0x9c, 0xa, 0xa, 0x9, 0x7, 0x5, 0x10, 0xec, 0xb4, 0x6, 0x9c, 0x7, 0x7, 0x8, 0x7, 0x5, 0x10, 0xec, 0x59, 0x13, 0x35, 0x1, 0x17, 0x7, 0x21, 0x27, 0x37, 0x1, 0x15, 0x1, 0x27, 0x37, 0x21, 0x17, 0x7, 0x64, 0x1, 0x89, 0x78, 0xe9, 0x8, 0x80, 0xe9, 0x78, 0x1, 0x89, 0xfe, 0x77, 0x78, 0xe9, 0xf7, 0x80, 0xe9, 0x78, 0x2, 0x55, 0x5a, 0x1, 0x89, 0x78, 0xe9, 0xe9, 0x78, 0xfe, 0x77, 0x5a, 0xfe, 0x77, 0x78, 0xe9, 0xe9, 0x78, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0x0, 0xcc, 0xb, 0x3, 0x4, 0x38, 0x0, 0xe, 0x0, 0x0, 0x1, 0x21, 0x15, 0x21, 0x17, 0x7, 0x1, 0x35, 0x1, 0x17, 0x7, 0x21, 0x15, 0x21, 0x7, 0x1, 0x90, 0x9, 0x73, 0xf7, 0x5, 0x5d, 0x78, 0xfe, 0x77, 0x1, 0x89, 0x78, 0x5d, 0x8, 0xfb, 0xf6, 0x8d, 0x69, 0x2, 0x19, 0x78, 0x5d, 0x78, 0x1, 0x89, 0x5a, 0x1, 0x89, 0x78, 0x5d, 0x78, 0x69, 0x0, 0x0, 0x0, 0x1, 0x0, 0x75, 0x0, 0xcc, 0xb, 0x14, 0x4, 0x38, 0x0, 0xe, 0x0, 0x0, 0x1, 0x37, 0x27, 0x21, 0x35, 0x21, 0x27, 0x37, 0x1, 0x15, 0x1, 0x27, 0x37, 0x21, 0x35, 0x9, 0xe8, 0x69, 0x69, 0xf6, 0x8d, 0x8, 0xfb, 0x5d, 0x78, 0x1, 0x89, 0xfe, 0x77, 0x78, 0x5d, 0xf7, 0x5, 0x2, 0x19, 0x69, 0x69, 0x78, 0x5d, 0x78, 0xfe, 0x77, 0x5a, 0xfe, 0x77, 0x78, 0x5d, 0x78, 0x0, 0x0, 0x0, 0x2, 0x0, 0x64, 0x0, 0xcc, 0xb, 0x14, 0x4, 0x38, 0x0, 0x5, 0x0, 0x15, 0x0, 0x0, 0x1, 0x21, 0x37, 0x27, 0x21, 0x7, 0x5, 0x21, 0x17, 0x7, 0x1, 0x35, 0x1, 0x17, 0x7, 0x21, 0x27, 0x37, 0x1, 0x15, 0x1, 0x27, 0x1, 0x90, 0x8, 0x58, 0x69, 0x69, 0xf7, 0xa8, 0x69, 0x8, 0x49, 0xf8, 0x98, 0x5d, 0x78, 0xfe, 0x77, 0x1, 0x89, 0x78, 0x5d, 0x7, 0x68, 0x5d, 0x78, 0x1, 0x89, 0xfe, 0x77, 0x78, 0x2, 0x19, 0x69, 0x69, 0x69, 0xe1, 0x5d, 0x78, 0x1, 0x89, 0x5a, 0x1, 0x89, 0x78, 0x5d, 0x5d, 0x78, 0xfe, 0x77, 0x5a, 0xfe, 0x77, 0x78, 0x0, 0x0, 0x1, 0x0, 0x64, 0x0, 0xcc, 0xb, 0x3, 0x4, 0x38, 0x0, 0xd, 0x0, 0x0, 0x1, 0x21, 0x17, 0x7, 0x1, 0x35, 0x1, 0x17, 0x7, 0x21, 0x11, 0x33, 0x11, 0x23, 0xa, 0x59, 0xf7, 0x23, 0xe9, 0x78, 0xfe, 0x77, 0x1, 0x89, 0x78, 0xe9, 0x8, 0xdd, 0xaa, 0xaa, 0x2, 0x2d, 0xe9, 0x78, 0x1, 0x89, 0x5a, 0x1, 0x89, 0x78, 0xe9, 0x1, 0x59, 0xfc, 0xa4, 0x0, 0x0, 0x1, 0x0, 0x75, 0x0, 0xcc, 0xb, 0x14, 0x4, 0x38, 0x0, 0xd, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x27, 0x37, 0x1, 0x15, 0x1, 0x27, 0x37, 0x1, 0x1f, 0xaa, 0xaa, 0x8, 0xdd, 0xe9, 0x78, 0x1, 0x89, 0xfe, 0x77, 0x78, 0xe9, 0x2, 0x2d, 0xfe, 0xa7, 0x3, 0x5c, 0xfe, 0xa7, 0xe9, 0x78, 0xfe, 0x77, 0x5a, 0xfe, 0x77, 0x78, 0xe9, 0x0, 0x0, 0x2, 0x0, 0x64, 0x0, 0xcc, 0xb, 0x3, 0x4, 0x38, 0x0, 0xd, 0x0, 0x12, 0x0, 0x0, 0x1, 0x21, 0x17, 0x7, 0x1, 0x35, 0x1, 0x17, 0x7, 0x21, 0x35, 0x33, 0x11, 0x23, 0x11, 0x35, 0x21, 0x7, 0x17, 0xa, 0x59, 0xf7, 0xaf, 0x5d, 0x78, 0xfe, 0x77, 0x1, 0x89, 0x78, 0x5d, 0x8, 0x51, 0xaa, 0xaa, 0xf7, 0x37, 0x69, 0x69, 0x1, 0xa1, 0x5d, 0x78, 0x1, 0x89, 0x5a, 0x1, 0x89, 0x78, 0x5d, 0xcd, 0xfc, 0xa4, 0x1, 0x45, 0xd2, 0x69, 0x69, 0x0, 0x0, 0x0, 0x2, 0x0, 0x75, 0x0, 0xcc, 0xb, 0x14, 0x4, 0x38, 0x0, 0xd, 0x0, 0x12, 0x0, 0x0, 0x1, 0x21, 0x27, 0x37, 0x1, 0x15, 0x1, 0x27, 0x37, 0x21, 0x15, 0x23, 0x11, 0x33, 0x11, 0x15, 0x21, 0x37, 0x27, 0x1, 0x1f, 0x8, 0x51, 0x5d, 0x78, 0x1, 0x89, 0xfe, 0x77, 0x78, 0x5d, 0xf7, 0xaf, 0xaa, 0xaa, 0x8, 0xc9, 0x69, 0x69, 0x3, 0x63, 0x5d, 0x78, 0xfe, 0x77, 0x5a, 0xfe, 0x77, 0x78, 0x5d, 0xcd, 0x3, 0x5c, 0xfe, 0xbb, 0xd2, 0x69, 0x69, 0x0, 0x0, 0x0, 0x1, 0x0, 0x75, 0x0, 0xcc, 0xb, 0x14, 0x4, 0x38, 0x0, 0x25, 0x0, 0x0, 0x13, 0x17, 0x37, 0x17, 0x37, 0x17, 0x37, 0x17, 0x37, 0x17, 0x37, 0x17, 0x37, 0x17, 0x37, 0x33, 0x27, 0x37, 0x1, 0x15, 0x1, 0x27, 0x37, 0x23, 0x7, 0x27, 0x7, 0x27, 0x7, 0x27, 0x7, 0x27, 0x7, 0x27, 0x7, 0x27, 0x7, 0x27, 0x75, 0x46, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0x46, 0x8b, 0xe9, 0x78, 0x1, 0x89, 0xfe, 0x77, 0x78, 0xe9, 0x63, 0x6e, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0x46, 0x2, 0xd7, 0x46, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0x46, 0xe9, 0x78, 0xfe, 0x77, 0x5a, 0xfe, 0x77, 0x78, 0xe9, 0x6e, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0x46, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x5, 0x14, 0x2, 0x58, 0x6, 0x40, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x2, 0xdd, 0x2, 0x58, 0x4, 0x9, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x2, 0xdd, 0x2, 0x58, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x2, 0x58, 0x1, 0xd3, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x2, 0x58, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x2, 0x58, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x2, 0x58, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x3, 0x84, 0x5, 0x14, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x5, 0x14, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x2, 0xdd, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x2, 0xdd, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x0, 0x0, 0xff, 0xff, 0x3, 0x84, 0x2, 0xdd, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x2, 0xdd, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x2, 0xdd, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x2, 0xdd, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x0, 0x0, 0xff, 0xff, 0x3, 0x84, 0x2, 0xdd, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x2, 0xdd, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x2, 0xdd, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x2, 0xdd, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x0, 0x0, 0xff, 0xff, 0x3, 0x84, 0x0, 0xa7, 0x4, 0xb0, 0x1, 0xd3, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x1, 0xd3, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x3, 0x84, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x3, 0x84, 0x0, 0xa7, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x3, 0x84, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0x0, 0xa7, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x2, 0x58, 0xff, 0x9c, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x2, 0x58, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x2, 0x58, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x2, 0x58, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x2, 0x58, 0x1, 0xd3, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x2, 0x58, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x2, 0x58, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x2, 0x58, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x1, 0xd3, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x1, 0xd3, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x3, 0x84, 0xfe, 0x70, 0x4, 0xb0, 0xff, 0x9c, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x1, 0xd3, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x3, 0x84, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x3, 0x84, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x3, 0x84, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x3, 0x84, 0xfe, 0x70, 0x4, 0xb0, 0x1, 0xd3, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x1, 0xd3, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x3, 0x84, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x3, 0x84, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x3, 0x84, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0xff, 0x9c, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x1, 0xd3, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x1, 0xd3, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x1, 0xd3, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x4, 0x9, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x2c, 0xfe, 0x70, 0x4, 0xb0, 0x6, 0x40, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x5, 0x14, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x2, 0xdd, 0x10, 0x27, 0x17, 0x1, 0x3, 0x84, 0x0, 0xa7, 0x10, 0x27, 0x17, 0x1, 0x1, 0x2c, 0xfe, 0x70, 0x10, 0x7, 0x17, 0x1, 0x3, 0x84, 0xfe, 0x70, 0x0, 0x0, 0x0, 0x2, 0x0, 0x64, 0x0, 0xcc, 0x6, 0x3f, 0x4, 0x38, 0x0, 0xd, 0x0, 0x12, 0x0, 0x0, 0x1, 0x21, 0x17, 0x7, 0x1, 0x35, 0x1, 0x17, 0x7, 0x21, 0x35, 0x33, 0x11, 0x23, 0x11, 0x35, 0x21, 0x7, 0x17, 0x5, 0x95, 0xfc, 0x73, 0x5d, 0x78, 0xfe, 0x77, 0x1, 0x89, 0x78, 0x5d, 0x3, 0x8d, 0xaa, 0xaa, 0xfb, 0xfb, 0x69, 0x69, 0x1, 0xa1, 0x5d, 0x78, 0x1, 0x89, 0x5a, 0x1, 0x89, 0x78, 0x5d, 0xcd, 0xfc, 0xa4, 0x1, 0x45, 0xd2, 0x69, 0x69, 0x0, 0x0, 0x0, 0x2, 0x0, 0x75, 0x0, 0xcc, 0x6, 0x50, 0x4, 0x38, 0x0, 0xd, 0x0, 0x12, 0x0, 0x0, 0x1, 0x21, 0x27, 0x37, 0x1, 0x15, 0x1, 0x27, 0x37, 0x21, 0x15, 0x23, 0x11, 0x33, 0x11, 0x15, 0x21, 0x37, 0x27, 0x1, 0x1f, 0x3, 0x8d, 0x5d, 0x78, 0x1, 0x89, 0xfe, 0x77, 0x78, 0x5d, 0xfc, 0x73, 0xaa, 0xaa, 0x4, 0x5, 0x69, 0x69, 0x3, 0x63, 0x5d, 0x78, 0xfe, 0x77, 0x5a, 0xfe, 0x77, 0x78, 0x5d, 0xcd, 0x3, 0x5c, 0xfe, 0xbb, 0xd2, 0x69, 0x69, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x5, 0xb4, 0x5, 0xdc, 0x0, 0x11, 0x0, 0x0, 0x9, 0x1, 0x33, 0x1, 0x7, 0x27, 0x11, 0x23, 0x11, 0x27, 0x11, 0x23, 0x11, 0x7, 0x11, 0x23, 0x11, 0x7, 0x1, 0x0, 0x2, 0x2d, 0x5a, 0x2, 0x2d, 0x78, 0x5c, 0x78, 0xd2, 0x78, 0xd2, 0x78, 0x5c, 0x3, 0xae, 0x2, 0x2e, 0xfd, 0xd2, 0x78, 0x5c, 0xfc, 0x6e, 0x4, 0xa, 0xd3, 0xfb, 0x23, 0x4, 0xdd, 0xd3, 0xfb, 0xf6, 0x3, 0x92, 0x5c, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0xff, 0xf9, 0x5, 0xb4, 0x5, 0xd5, 0x0, 0x11, 0x0, 0x0, 0x1, 0x37, 0x17, 0x11, 0x33, 0x11, 0x17, 0x11, 0x33, 0x11, 0x37, 0x11, 0x33, 0x11, 0x37, 0x17, 0x1, 0x23, 0x1, 0x0, 0x78, 0x5c, 0x78, 0xd2, 0x78, 0xd2, 0x78, 0x5c, 0x78, 0xfd, 0xd3, 0x5a, 0x2, 0x27, 0x78, 0x5c, 0x3, 0x92, 0xfb, 0xf6, 0xd3, 0x4, 0xdd, 0xfb, 0x23, 0xd3, 0x4, 0xa, 0xfc, 0x6e, 0x5c, 0x78, 0xfd, 0xd2, 0x0, 0x2, 0x0, 0x4f, 0x0, 0x80, 0x5, 0x27, 0x6, 0xb5, 0x0, 0x1e, 0x0, 0x3d, 0x0, 0x0, 0x25, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x10, 0x37, 0x36, 0x37, 0x36, 0x37, 0x1, 0x17, 0x7, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x10, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x3, 0x30, 0x17, 0x7, 0x1, 0x6, 0x7, 0x6, 0x7, 0x6, 0x14, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x34, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x2, 0xbd, 0x7f, 0x70, 0x6b, 0x5f, 0x56, 0x31, 0x2e, 0x2e, 0x31, 0x56, 0x62, 0x72, 0x1, 0x89, 0x78, 0xe9, 0x60, 0x58, 0x6b, 0x5f, 0x56, 0x31, 0x2e, 0x2e, 0x31, 0x56, 0x5f, 0x6b, 0x70, 0x49, 0xea, 0x78, 0xfe, 0xb8, 0x58, 0x45, 0x3f, 0x23, 0x21, 0x21, 0x27, 0x3b, 0x42, 0xa2, 0x5d, 0x59, 0x51, 0x53, 0x40, 0x3f, 0x23, 0x21, 0x21, 0x27, 0x3b, 0x42, 0x51, 0x39, 0x80, 0x2e, 0x2d, 0x5c, 0x5a, 0x6e, 0x6c, 0x1, 0x0, 0x6c, 0x6e, 0x5a, 0x5f, 0x2e, 0x1, 0x89, 0x78, 0xe9, 0x8, 0x24, 0x2d, 0x5c, 0x5a, 0x6e, 0x6c, 0xff, 0x0, 0x6c, 0x6e, 0x5a, 0x5c, 0x2d, 0x2e, 0x4, 0x29, 0xe8, 0x78, 0x1, 0x46, 0x21, 0x46, 0x40, 0x52, 0x4e, 0xbe, 0x4a, 0x56, 0x3c, 0x42, 0x42, 0x21, 0x23, 0x40, 0x40, 0x52, 0x4e, 0xbe, 0x4a, 0x56, 0x3c, 0x42, 0x21, 0x17, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x4f, 0x0, 0x80, 0x5, 0x27, 0x6, 0xb5, 0x0, 0x1e, 0x0, 0x3c, 0x0, 0x0, 0x25, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x10, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x27, 0x37, 0x1, 0x16, 0x17, 0x16, 0x17, 0x16, 0x10, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x3, 0x6, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x14, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x37, 0x36, 0x37, 0x36, 0x34, 0x27, 0x26, 0x27, 0x26, 0x27, 0x1, 0x27, 0x2, 0xb9, 0x7b, 0x70, 0x6b, 0x5f, 0x56, 0x31, 0x2e, 0x2e, 0x31, 0x56, 0x5f, 0x6b, 0x58, 0x60, 0xe9, 0x78, 0x1, 0x89, 0x72, 0x62, 0x56, 0x31, 0x2e, 0x2e, 0x31, 0x56, 0x5f, 0x6b, 0x70, 0xb1, 0x3f, 0x39, 0x51, 0x42, 0x3b, 0x27, 0x21, 0x21, 0x23, 0x3f, 0x40, 0x53, 0x51, 0x59, 0x5d, 0xa2, 0x42, 0x3b, 0x27, 0x21, 0x21, 0x23, 0x3f, 0x45, 0x58, 0xfe, 0xb8, 0x78, 0x80, 0x2e, 0x2d, 0x5c, 0x5a, 0x6e, 0x6c, 0x1, 0x0, 0x6c, 0x6e, 0x5a, 0x5c, 0x2d, 0x24, 0x8, 0xe9, 0x78, 0xfe, 0x77, 0x2e, 0x5f, 0x5a, 0x6e, 0x6c, 0xff, 0x0, 0x6c, 0x6e, 0x5a, 0x5c, 0x2d, 0x2e, 0x4, 0x29, 0x7, 0x17, 0x21, 0x42, 0x3c, 0x56, 0x4a, 0xbe, 0x4e, 0x52, 0x40, 0x40, 0x23, 0x21, 0x42, 0x42, 0x3c, 0x56, 0x4a, 0xbe, 0x4e, 0x52, 0x40, 0x46, 0x21, 0xfe, 0xba, 0x78, 0x0, 0x2, 0x1, 0x0, 0xfe, 0xb2, 0x4, 0xdf, 0x6, 0x14, 0x0, 0x10, 0x0, 0x2e, 0x0, 0x5c, 0x40, 0x12, 0x2e, 0x1d, 0x20, 0x13, 0x1a, 0x11, 0x1b, 0x16, 0x6, 0xd, 0x0, 0x27, 0x24, 0xf, 0x25, 0x2b, 0x20, 0x2f, 0x10, 0xdc, 0xb2, 0x0, 0x20, 0x1, 0x5d, 0x4b, 0xb0, 0xc, 0x54, 0x58, 0xb9, 0x0, 0x20, 0x0, 0x40, 0x38, 0x59, 0x3c, 0xcc, 0x39, 0x39, 0x39, 0xcc, 0x32, 0xdc, 0xb4, 0xf, 0x6, 0x1f, 0x6, 0x2, 0x5d, 0xdc, 0xcc, 0x32, 0x39, 0x39, 0x11, 0x39, 0x39, 0x31, 0x0, 0x40, 0xe, 0xf, 0x27, 0xa9, 0x25, 0x4, 0x1a, 0x1c, 0xc0, 0x25, 0x9, 0x13, 0x11, 0xb1, 0x2f, 0x10, 0xf4, 0xcc, 0x32, 0xc4, 0xf4, 0xcc, 0x32, 0x10, 0xec, 0x39, 0x30, 0x1, 0x15, 0x14, 0x16, 0x17, 0x26, 0x35, 0x11, 0x34, 0x37, 0xe, 0x1, 0x1d, 0x1, 0x10, 0x7, 0x16, 0x1, 0x15, 0x23, 0x22, 0x6, 0x15, 0x11, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x21, 0x22, 0x26, 0x3d, 0x1, 0x34, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x3d, 0x1, 0x34, 0x36, 0x33, 0x2, 0x9c, 0x4b, 0xb0, 0x32, 0x30, 0xb0, 0x49, 0xad, 0xad, 0x2, 0x43, 0x35, 0x8c, 0x55, 0x55, 0x8c, 0x35, 0xfe, 0xf9, 0xf9, 0xa7, 0x6c, 0x8e, 0x3e, 0x3e, 0x8e, 0x6c, 0xa7, 0xf9, 0x1, 0x12, 0xef, 0x98, 0x6d, 0x7, 0x47, 0x9d, 0x4, 0xd0, 0xa1, 0x42, 0x7, 0x6b, 0x98, 0xf0, 0xfe, 0xee, 0x3e, 0x44, 0x3, 0xf4, 0x64, 0x57, 0x8e, 0xfb, 0x30, 0x8d, 0x58, 0x64, 0x94, 0xdd, 0xef, 0x97, 0x74, 0x8f, 0x73, 0x95, 0xf0, 0xdd, 0x93, 0x0, 0x0, 0x0, 0x2, 0x1, 0x0, 0xfe, 0xb2, 0x4, 0xdf, 0x6, 0x14, 0x0, 0x10, 0x0, 0x2e, 0x0, 0x57, 0x40, 0x12, 0x12, 0x23, 0x2e, 0x1c, 0x19, 0x2, 0x1b, 0x16, 0x20, 0x5, 0x0, 0xa, 0x2d, 0x26, 0x2e, 0x25, 0x29, 0x2f, 0x10, 0xdc, 0x4b, 0xb0, 0xa, 0x54, 0x58, 0xb9, 0x0, 0x29, 0xff, 0xc0, 0x38, 0x59, 0xcc, 0x32, 0x39, 0x39, 0xcc, 0xdc, 0xb4, 0xf, 0x0, 0x1f, 0x0, 0x2, 0x5d, 0x3c, 0xdc, 0x3c, 0xcc, 0x39, 0x39, 0x39, 0x11, 0x39, 0x39, 0x31, 0x0, 0x40, 0xe, 0x2, 0x19, 0xa9, 0x1b, 0xd, 0x26, 0x24, 0xc0, 0x1b, 0x8, 0x2d, 0x11, 0xb1, 0x2f, 0x10, 0xf4, 0xcc, 0x32, 0xc4, 0xf4, 0xcc, 0x32, 0x10, 0xec, 0x39, 0x30, 0x1, 0x10, 0x37, 0x26, 0x11, 0x35, 0x34, 0x26, 0x27, 0x16, 0x15, 0x11, 0x14, 0x7, 0x3e, 0x1, 0x35, 0x1, 0x21, 0x32, 0x16, 0x1d, 0x1, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x14, 0x6, 0x23, 0x21, 0x35, 0x33, 0x32, 0x36, 0x35, 0x11, 0x34, 0x26, 0x2b, 0x1, 0x3, 0x43, 0xad, 0xad, 0x49, 0xb0, 0x30, 0x32, 0xb0, 0x4b, 0xfd, 0xbd, 0x1, 0x7, 0xf9, 0xa7, 0x6c, 0x8e, 0x3e, 0x3e, 0x8e, 0x6c, 0xa7, 0xf9, 0xfe, 0xf9, 0x35, 0x8c, 0x55, 0x55, 0x8c, 0x35, 0x1, 0x12, 0x1, 0xe, 0x44, 0x3e, 0x1, 0x12, 0xf0, 0x98, 0x6b, 0x7, 0x42, 0xa1, 0xfb, 0x30, 0x9d, 0x47, 0x7, 0x6d, 0x98, 0x5, 0xf1, 0x93, 0xdd, 0xf0, 0x95, 0x73, 0x8f, 0x74, 0x97, 0xef, 0xdd, 0x94, 0x64, 0x58, 0x8d, 0x4, 0xd0, 0x8e, 0x57, 0x0, 0x0, 0x4, 0x0, 0xd9, 0xfe, 0x32, 0x5, 0xdb, 0x5, 0xf9, 0x0, 0x2, 0x0, 0x6, 0x0, 0x9, 0x0, 0xd, 0x0, 0x0, 0x5, 0x11, 0x9, 0x2, 0x35, 0x1, 0x5, 0x9, 0x1, 0x3, 0x11, 0x1, 0x15, 0x5, 0x31, 0xfc, 0xaa, 0x4, 0x0, 0xfa, 0xfe, 0x5, 0x2, 0xfb, 0xa8, 0x3, 0x56, 0xfc, 0xaa, 0xaa, 0x5, 0x2, 0xcc, 0x2, 0x64, 0xfe, 0xce, 0xfd, 0xcc, 0x1, 0xe1, 0xa6, 0x1, 0xe1, 0x7, 0x1, 0x32, 0x1, 0x32, 0xfc, 0x9a, 0x4, 0x68, 0xfe, 0x1f, 0xa6, 0x0, 0x3, 0x0, 0xd9, 0x0, 0x1e, 0x7, 0x27, 0x4, 0xe6, 0x0, 0x3, 0x0, 0x6, 0x0, 0xa, 0x0, 0x0, 0x25, 0x23, 0x11, 0x33, 0x1, 0x11, 0x9, 0x2, 0x35, 0x1, 0x7, 0x27, 0xaa, 0xaa, 0xfe, 0xa, 0xfc, 0xa2, 0x4, 0x8, 0xfa, 0xfe, 0x5, 0x2, 0x1e, 0x4, 0xc8, 0xfc, 0x3a, 0x2, 0xc4, 0xfe, 0x9e, 0xfd, 0x9c, 0x2, 0x11, 0xa6, 0x2, 0x11, 0x0, 0x0, 0x0, 0x3, 0x0, 0xd9, 0x0, 0x1e, 0x7, 0x27, 0x4, 0xe6, 0x0, 0x3, 0x0, 0x6, 0x0, 0xa, 0x0, 0x0, 0x37, 0x11, 0x33, 0x11, 0x9, 0x2, 0x3, 0x11, 0x1, 0x15, 0xd9, 0xaa, 0x1, 0x4c, 0x3, 0x5e, 0xfc, 0xa2, 0xaa, 0x5, 0x2, 0x1e, 0x4, 0xc8, 0xfb, 0x38, 0x1, 0x2, 0x1, 0x62, 0x1, 0x62, 0xfc, 0x3a, 0x4, 0xc8, 0xfd, 0xef, 0xa6, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xff, 0xc2, 0x7, 0x27, 0x5, 0x42, 0x0, 0x5, 0x0, 0x8, 0x0, 0x0, 0x17, 0x11, 0x9, 0x1, 0x11, 0x1, 0x37, 0x1, 0x11, 0xd9, 0x3, 0x27, 0x3, 0x27, 0xfc, 0xd9, 0x9b, 0x1, 0xe2, 0x3e, 0x5, 0x80, 0xfd, 0xb0, 0x2, 0x50, 0xfa, 0x80, 0x2, 0x4e, 0x71, 0xfe, 0xa2, 0x2, 0xc6, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xff, 0xc2, 0x7, 0x27, 0x5, 0x42, 0x0, 0x5, 0x0, 0x8, 0x0, 0x0, 0x17, 0x11, 0x9, 0x1, 0x11, 0x1, 0x27, 0x1, 0x11, 0xd9, 0x3, 0x27, 0x3, 0x27, 0xfc, 0xd9, 0x9b, 0xfe, 0x1e, 0x3e, 0x5, 0x80, 0xfd, 0xb0, 0x2, 0x50, 0xfa, 0x80, 0x2, 0x4e, 0x71, 0x1, 0x5e, 0xfd, 0x44, 0x0, 0x0, 0x1, 0x0, 0xd9, 0xff, 0xc2, 0x7, 0x27, 0x5, 0x42, 0x0, 0x5, 0x0, 0x0, 0x17, 0x11, 0x9, 0x1, 0x11, 0x1, 0xd9, 0x3, 0x27, 0x3, 0x27, 0xfc, 0xd9, 0x3e, 0x5, 0x80, 0xfd, 0xb0, 0x2, 0x50, 0xfa, 0x80, 0x2, 0x4e, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd9, 0xff, 0xc2, 0x7, 0x27, 0x5, 0x42, 0x0, 0x8, 0x0, 0x0, 0x25, 0x15, 0x9, 0x1, 0x11, 0x9, 0x1, 0x15, 0x1, 0x7, 0x27, 0xfc, 0xd9, 0xfc, 0xd9, 0x3, 0x27, 0x3, 0x27, 0xfd, 0x74, 0xa2, 0xe0, 0x2, 0x4e, 0xfd, 0xb2, 0x5, 0x80, 0xfd, 0xb0, 0x2, 0x50, 0xdd, 0xfe, 0x1c, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd9, 0xff, 0xc2, 0x7, 0x27, 0x5, 0x42, 0x0, 0x8, 0x0, 0x0, 0x13, 0x35, 0x9, 0x1, 0x11, 0x9, 0x1, 0x35, 0x1, 0xd9, 0x3, 0x27, 0x3, 0x27, 0xfc, 0xd9, 0xfc, 0xd9, 0x2, 0x8c, 0x4, 0x62, 0xe0, 0xfd, 0xb2, 0x2, 0x4e, 0xfa, 0x80, 0x2, 0x50, 0xfd, 0xb0, 0xdd, 0x1, 0xe4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6, 0xfe, 0x23, 0x3, 0xee, 0x6, 0x75, 0x0, 0x3, 0x0, 0x0, 0x9, 0x3, 0x1, 0xfa, 0x1, 0xf4, 0xfe, 0xc, 0xfe, 0xc, 0x6, 0x75, 0xfb, 0xdb, 0xfb, 0xd3, 0x4, 0x2d, 0x0, 0x1, 0x0, 0xd9, 0x0, 0x0, 0x5, 0xdb, 0x5, 0x4, 0x0, 0x13, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x2, 0xc, 0xa8, 0x1, 0x4c, 0xa8, 0x1, 0x33, 0xfe, 0xcd, 0xa8, 0xfe, 0xb4, 0xa8, 0xfe, 0xcd, 0x2, 0xd7, 0x2, 0x2d, 0xfd, 0xd3, 0x2, 0x2d, 0xfd, 0xd3, 0xaa, 0xfd, 0xd3, 0x2, 0x2d, 0xfd, 0xd3, 0x2, 0x2d, 0xaa, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd9, 0x0, 0x0, 0x5, 0xdb, 0x5, 0x4, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x1, 0xa8, 0xa8, 0xb6, 0xa8, 0xb6, 0xa8, 0xcf, 0xcf, 0xa8, 0xb6, 0xa8, 0xb6, 0xa8, 0xcf, 0x2, 0xd7, 0x2, 0x2d, 0xfd, 0xd3, 0x2, 0x2d, 0xfd, 0xd3, 0x2, 0x2d, 0xfd, 0xd3, 0xaa, 0xfd, 0xd3, 0x2, 0x2d, 0xfd, 0xd3, 0x2, 0x2d, 0xfd, 0xd3, 0x2, 0x2d, 0xaa, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x3a, 0xfe, 0x6b, 0x7, 0xc6, 0x5, 0xfb, 0x0, 0x3, 0x0, 0x1d, 0x0, 0x37, 0x0, 0x0, 0x1, 0x21, 0x11, 0x21, 0x0, 0x20, 0x7, 0x6, 0x7, 0x6, 0x2, 0x15, 0x14, 0x12, 0x17, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x37, 0x36, 0x12, 0x35, 0x34, 0x2, 0x27, 0x26, 0x27, 0x24, 0x20, 0x4, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x4, 0x20, 0x24, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x3, 0x68, 0x1, 0x30, 0xfe, 0xd0, 0x1, 0x38, 0xfe, 0xc0, 0x8c, 0x89, 0x72, 0x74, 0x72, 0x72, 0x74, 0x72, 0x89, 0x8c, 0x1, 0x40, 0x8c, 0x89, 0x72, 0x74, 0x72, 0x72, 0x74, 0x72, 0x89, 0xfe, 0xd, 0x1, 0x8e, 0x1, 0x56, 0x8e, 0x8e, 0x47, 0x46, 0x46, 0x47, 0x8e, 0x8e, 0xfe, 0xaa, 0xfe, 0x72, 0xfe, 0xaa, 0x8e, 0x8e, 0x47, 0x46, 0x46, 0x47, 0x8e, 0x8e, 0x2, 0xe8, 0xfe, 0x92, 0x3, 0xc8, 0x3b, 0x3a, 0x72, 0x73, 0xfe, 0xec, 0xa3, 0x9f, 0xfe, 0xec, 0x73, 0x72, 0x3a, 0x3b, 0x3b, 0x3a, 0x72, 0x73, 0x1, 0x14, 0x9f, 0xa3, 0x1, 0x14, 0x73, 0x72, 0x3a, 0xf4, 0x90, 0x8d, 0x8e, 0xac, 0xaa, 0xc9, 0xc5, 0xac, 0xaa, 0x8e, 0x8d, 0x90, 0x90, 0x8d, 0x8e, 0xaa, 0xac, 0xc5, 0xc9, 0xaa, 0xac, 0x8e, 0x8d, 0x0, 0x0, 0x0, 0x3, 0x0, 0x3a, 0xfe, 0x6b, 0x7, 0xc6, 0x5, 0xfb, 0x0, 0x19, 0x0, 0x33, 0x0, 0x3f, 0x0, 0x0, 0x0, 0x20, 0x7, 0x6, 0x7, 0x6, 0x2, 0x15, 0x14, 0x12, 0x17, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x37, 0x36, 0x12, 0x35, 0x34, 0x2, 0x27, 0x26, 0x27, 0x24, 0x20, 0x4, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x4, 0x20, 0x24, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x5, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x4, 0xa0, 0xfe, 0xc0, 0x8c, 0x89, 0x72, 0x74, 0x72, 0x72, 0x74, 0x72, 0x89, 0x8c, 0x1, 0x40, 0x8c, 0x89, 0x72, 0x74, 0x72, 0x72, 0x74, 0x72, 0x89, 0xfe, 0xd, 0x1, 0x8e, 0x1, 0x56, 0x8e, 0x8e, 0x47, 0x46, 0x46, 0x47, 0x8e, 0x8e, 0xfe, 0xaa, 0xfe, 0x72, 0xfe, 0xaa, 0x8e, 0x8e, 0x47, 0x46, 0x46, 0x47, 0x8e, 0x80, 0x2, 0x7f, 0x2, 0x8d, 0xfd, 0x73, 0xa8, 0xfd, 0x73, 0x2, 0x8d, 0x5, 0x42, 0x3b, 0x3a, 0x72, 0x73, 0xfe, 0xec, 0xa3, 0x9f, 0xfe, 0xec, 0x73, 0x72, 0x3a, 0x3b, 0x3b, 0x3a, 0x72, 0x73, 0x1, 0x14, 0x9f, 0xa3, 0x1, 0x14, 0x73, 0x72, 0x3a, 0xf4, 0x90, 0x8d, 0x8e, 0xac, 0xaa, 0xc9, 0xc5, 0xac, 0xaa, 0x8e, 0x8d, 0x90, 0x90, 0x8d, 0x8e, 0xaa, 0xac, 0xc5, 0xc9, 0xaa, 0xac, 0x8e, 0x80, 0x4b, 0xfd, 0x73, 0xaa, 0xfd, 0x73, 0x2, 0x8d, 0xaa, 0x2, 0x8d, 0x0, 0x0, 0x0, 0x3, 0x0, 0x3a, 0xfe, 0x6b, 0x7, 0xc6, 0x5, 0xfb, 0x0, 0x19, 0x0, 0x33, 0x0, 0x3f, 0x0, 0x0, 0x0, 0x20, 0x7, 0x6, 0x7, 0x6, 0x2, 0x15, 0x14, 0x12, 0x17, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x37, 0x36, 0x12, 0x35, 0x34, 0x2, 0x27, 0x26, 0x27, 0x24, 0x20, 0x4, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x4, 0x20, 0x24, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x17, 0x9, 0x1, 0x17, 0x9, 0x1, 0x7, 0x9, 0x1, 0x27, 0x9, 0x1, 0x4, 0xa0, 0xfe, 0xc0, 0x8c, 0x89, 0x72, 0x74, 0x72, 0x72, 0x74, 0x72, 0x89, 0x8c, 0x1, 0x40, 0x8c, 0x89, 0x72, 0x74, 0x72, 0x72, 0x74, 0x72, 0x89, 0xfe, 0xd, 0x1, 0x8e, 0x1, 0x56, 0x8e, 0x8e, 0x47, 0x46, 0x46, 0x47, 0x8e, 0x8e, 0xfe, 0xaa, 0xfe, 0x72, 0xfe, 0xaa, 0x8e, 0x8e, 0x47, 0x46, 0x46, 0x47, 0x8e, 0x80, 0x5d, 0x1, 0xcd, 0x1, 0xce, 0x78, 0xfe, 0x33, 0x1, 0xcd, 0x77, 0xfe, 0x33, 0xfe, 0x32, 0x78, 0x1, 0xcd, 0xfe, 0x33, 0x5, 0x42, 0x3b, 0x3a, 0x72, 0x73, 0xfe, 0xec, 0xa3, 0x9f, 0xfe, 0xec, 0x73, 0x72, 0x3a, 0x3b, 0x3b, 0x3a, 0x72, 0x73, 0x1, 0x14, 0x9f, 0xa3, 0x1, 0x14, 0x73, 0x72, 0x3a, 0xf4, 0x90, 0x8d, 0x8e, 0xac, 0xaa, 0xc9, 0xc5, 0xac, 0xaa, 0x8e, 0x8d, 0x90, 0x90, 0x8d, 0x8e, 0xaa, 0xac, 0xc5, 0xc9, 0xaa, 0xac, 0x8e, 0x80, 0xe8, 0xfe, 0x33, 0x1, 0xcd, 0x78, 0xfe, 0x32, 0xfe, 0x33, 0x77, 0x1, 0xcd, 0xfe, 0x33, 0x78, 0x1, 0xce, 0x1, 0xcd, 0xff, 0xff, 0x0, 0x75, 0xfe, 0x4d, 0xa, 0x25, 0x6, 0xe, 0x10, 0x27, 0xc, 0xb0, 0x6, 0x6f, 0x0, 0x0, 0x10, 0x26, 0xc, 0xb0, 0x0, 0x0, 0x10, 0x27, 0xc, 0xb0, 0x2, 0x25, 0x0, 0x0, 0x10, 0x7, 0xc, 0xb0, 0x4, 0x4a, 0x0, 0x0, 0x0, 0x1, 0x0, 0x75, 0xfe, 0x4d, 0x3, 0xb6, 0x6, 0xe, 0x0, 0x1d, 0x0, 0x0, 0x5, 0x16, 0x33, 0x32, 0x37, 0x13, 0x21, 0x35, 0x21, 0x13, 0x3e, 0x1, 0x32, 0x16, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x3, 0x21, 0x15, 0x21, 0x3, 0xe, 0x1, 0x22, 0x26, 0x27, 0x1, 0x9, 0x11, 0x3b, 0x45, 0x8, 0x20, 0xfe, 0xee, 0x1, 0x1a, 0x19, 0x8, 0x9f, 0x98, 0x80, 0x14, 0x94, 0x10, 0x3c, 0x45, 0x8, 0x18, 0x1, 0x12, 0xfe, 0xe6, 0x21, 0x8, 0x9f, 0x98, 0x80, 0x14, 0x9b, 0x82, 0xaf, 0x2, 0x9a, 0xaa, 0x2, 0xc, 0xa5, 0x87, 0x7a, 0x8f, 0xf, 0x82, 0xaf, 0xfe, 0xd, 0xaa, 0xfd, 0x4d, 0xa5, 0x87, 0x7a, 0x8f, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x75, 0xfe, 0x4d, 0x3, 0xb6, 0x6, 0xe, 0x0, 0x25, 0x0, 0x0, 0x5, 0x16, 0x33, 0x32, 0x37, 0x13, 0x21, 0x35, 0x21, 0x37, 0x21, 0x35, 0x21, 0x13, 0x3e, 0x1, 0x32, 0x16, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x3, 0x21, 0x15, 0x21, 0x7, 0x21, 0x15, 0x21, 0x3, 0xe, 0x1, 0x22, 0x26, 0x27, 0x1, 0x9, 0x11, 0x3b, 0x45, 0x8, 0x16, 0xfe, 0xf8, 0x1, 0x10, 0xc, 0xfe, 0xe4, 0x1, 0x24, 0xf, 0x8, 0x9f, 0x98, 0x80, 0x14, 0x94, 0x11, 0x3b, 0x45, 0x8, 0xe, 0x1, 0x8, 0xfe, 0xf0, 0xc, 0x1, 0x1c, 0xfe, 0xdc, 0x17, 0x8, 0x9f, 0x98, 0x80, 0x14, 0x9b, 0x82, 0xaf, 0x1, 0xce, 0xaa, 0xf0, 0xa8, 0x1, 0x40, 0xa5, 0x87, 0x7a, 0x8f, 0xf, 0x82, 0xaf, 0xfe, 0xd9, 0xa8, 0xf0, 0xaa, 0xfe, 0x19, 0xa5, 0x87, 0x7a, 0x8f, 0x0, 0x0, 0x1, 0x0, 0x75, 0xfe, 0x4d, 0x3, 0xb6, 0x6, 0xe, 0x0, 0x1d, 0x0, 0x0, 0x1, 0x26, 0x23, 0x22, 0x7, 0x3, 0x25, 0x15, 0x5, 0x3, 0xe, 0x1, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x13, 0x5, 0x35, 0x25, 0x13, 0x3e, 0x1, 0x32, 0x16, 0x17, 0x3, 0x22, 0x11, 0x3b, 0x45, 0x8, 0x1a, 0x1, 0x43, 0xfe, 0xb5, 0x1f, 0x8, 0x9f, 0x98, 0x80, 0x14, 0x94, 0x11, 0x3b, 0x45, 0x8, 0x1a, 0xfe, 0xbe, 0x1, 0x4a, 0x1f, 0x8, 0x9f, 0x98, 0x80, 0x14, 0x4, 0xf6, 0x82, 0xaf, 0xfd, 0xe7, 0xb6, 0xa0, 0xba, 0xfd, 0x6d, 0xa5, 0x87, 0x7a, 0x8f, 0xf, 0x82, 0xaf, 0x2, 0x19, 0xb6, 0xa0, 0xba, 0x2, 0x93, 0xa5, 0x87, 0x7a, 0x8f, 0x0, 0x0, 0x0, 0x2, 0x0, 0x75, 0xfe, 0x4d, 0x3, 0xb6, 0x6, 0xe, 0x0, 0x2a, 0x0, 0x33, 0x0, 0x0, 0x1, 0x26, 0x23, 0x22, 0x7, 0x3, 0x16, 0x17, 0x7, 0x26, 0x27, 0x3, 0x36, 0x37, 0x17, 0x6, 0x7, 0x3, 0xe, 0x1, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x13, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x13, 0x3e, 0x1, 0x32, 0x16, 0x17, 0x1, 0x13, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x3, 0x22, 0x11, 0x3b, 0x45, 0x8, 0xe, 0x99, 0x49, 0x71, 0x28, 0x50, 0x16, 0x20, 0x15, 0x3e, 0x36, 0x44, 0xf, 0x8, 0x9f, 0x98, 0x80, 0x14, 0x94, 0x11, 0x3b, 0x45, 0x8, 0xf, 0x5d, 0x49, 0x6e, 0x6f, 0x53, 0x75, 0xf, 0x8, 0x9f, 0x98, 0x80, 0x14, 0xfe, 0x1, 0x16, 0x3d, 0x2c, 0x48, 0x4b, 0x25, 0x4, 0xf6, 0x82, 0xaf, 0xfe, 0xd6, 0x29, 0x88, 0x41, 0x48, 0x21, 0xfe, 0x2b, 0x6, 0x11, 0x70, 0x24, 0x9, 0xfe, 0xbe, 0xa5, 0x87, 0x7a, 0x8f, 0xf, 0x82, 0xaf, 0x1, 0x31, 0x18, 0x49, 0x6f, 0x9b, 0x9c, 0x73, 0x56, 0x13, 0x1, 0x3c, 0xa4, 0x88, 0x7a, 0x8f, 0xfc, 0x45, 0x1, 0xd6, 0x11, 0x2e, 0x4a, 0x67, 0x68, 0x48, 0x24, 0x0, 0x1, 0x0, 0x75, 0xfe, 0x4d, 0x4, 0x2d, 0x6, 0xe, 0x0, 0x32, 0x0, 0x0, 0x1, 0x26, 0x23, 0x22, 0x7, 0x3, 0x36, 0x37, 0x36, 0x3d, 0x1, 0x7, 0x27, 0x37, 0x33, 0x17, 0x7, 0x27, 0x15, 0x14, 0x7, 0x6, 0x7, 0x3, 0xe, 0x1, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x13, 0x26, 0x27, 0x26, 0x35, 0x33, 0x14, 0x17, 0x16, 0x17, 0x13, 0x3e, 0x1, 0x32, 0x17, 0x16, 0x17, 0x3, 0x22, 0x11, 0x3b, 0x45, 0x8, 0x2b, 0x40, 0x2f, 0x56, 0x5d, 0x48, 0xbd, 0x36, 0xbc, 0x48, 0x5c, 0x6e, 0x55, 0x6d, 0x11, 0x8, 0xa0, 0x97, 0x80, 0x14, 0x94, 0x11, 0x3b, 0x44, 0x9, 0x10, 0x5b, 0x3e, 0x77, 0x66, 0x50, 0x33, 0x2c, 0x2c, 0x8, 0xa0, 0x97, 0x49, 0x36, 0x15, 0x4, 0xf6, 0x82, 0xaf, 0xfc, 0x78, 0x10, 0x2f, 0x55, 0x72, 0x1e, 0x5d, 0x48, 0xbd, 0xbd, 0x48, 0x5d, 0x1e, 0x9c, 0x6c, 0x56, 0x11, 0xfe, 0xa1, 0xa5, 0x87, 0x7a, 0x8f, 0xf, 0x82, 0xaf, 0x1, 0x4d, 0x19, 0x3e, 0x77, 0x9a, 0x72, 0x4e, 0x33, 0xb, 0x3, 0x99, 0xa5, 0x87, 0x46, 0x34, 0x8f, 0x0, 0x0, 0x2, 0x0, 0x75, 0xfe, 0x4d, 0x3, 0xb6, 0x6, 0xe, 0x0, 0x3, 0x0, 0x21, 0x0, 0x0, 0x1, 0x33, 0x15, 0x23, 0x3, 0x13, 0x21, 0x11, 0x21, 0x13, 0x3e, 0x1, 0x32, 0x16, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x3, 0x21, 0x11, 0x21, 0x3, 0xe, 0x1, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x1, 0xb2, 0xd3, 0xd3, 0x10, 0x11, 0x1, 0x77, 0xfe, 0xa5, 0x14, 0x8, 0xa2, 0x97, 0x7e, 0x14, 0x94, 0x11, 0x39, 0x46, 0x9, 0xe, 0x1, 0x39, 0xfe, 0xa1, 0xd, 0x8, 0xa9, 0x91, 0x7d, 0x14, 0x94, 0x11, 0x39, 0x47, 0x2, 0xa6, 0xfe, 0xfd, 0xea, 0x1, 0x72, 0x2, 0x30, 0x1, 0xae, 0xa7, 0x85, 0x7d, 0x8c, 0xf, 0x82, 0xaf, 0xfe, 0xf5, 0xfc, 0xbc, 0xfe, 0xff, 0xad, 0x7f, 0x7d, 0x8c, 0xf, 0x82, 0x0, 0x2, 0x0, 0x75, 0xfe, 0x4d, 0x3, 0xb6, 0x6, 0xe, 0x0, 0x3, 0x0, 0x2b, 0x0, 0x0, 0x1, 0x33, 0x15, 0x23, 0x13, 0x6, 0x7, 0x13, 0x3e, 0x1, 0x32, 0x16, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x3, 0x16, 0x17, 0x16, 0x10, 0x7, 0x6, 0x7, 0x3, 0xe, 0x1, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x13, 0x16, 0x33, 0x32, 0x36, 0x34, 0x26, 0x1, 0xb2, 0xd3, 0xd3, 0x63, 0x29, 0x1f, 0x16, 0x8, 0xa2, 0x97, 0x7e, 0x14, 0x94, 0x11, 0x39, 0x47, 0x8, 0xe, 0x63, 0x42, 0x6e, 0x6e, 0x56, 0x73, 0xf, 0x8, 0xa2, 0x97, 0x7e, 0x14, 0x94, 0x11, 0x39, 0x46, 0x9, 0x16, 0x28, 0x36, 0x6f, 0x87, 0x94, 0x2, 0xa6, 0xfe, 0x1, 0x7e, 0x2, 0x5, 0x1, 0xc3, 0xa7, 0x85, 0x7c, 0x8d, 0xf, 0x82, 0xaf, 0xfe, 0xd6, 0x18, 0x4b, 0x7c, 0xfe, 0xd2, 0x6f, 0x55, 0x13, 0xfe, 0xbe, 0xa7, 0x85, 0x7d, 0x8c, 0xf, 0x82, 0xaf, 0x1, 0xb6, 0x10, 0x93, 0xd8, 0x7f, 0x0, 0x0, 0x2, 0x0, 0x75, 0xfe, 0x4d, 0x4, 0x70, 0x6, 0xe, 0x0, 0x3, 0x0, 0x2e, 0x0, 0x0, 0x1, 0x33, 0x15, 0x23, 0x1, 0x16, 0x33, 0x32, 0x37, 0x13, 0x16, 0x17, 0x16, 0x32, 0x36, 0x34, 0x26, 0x23, 0x22, 0x7, 0x13, 0x3e, 0x1, 0x32, 0x16, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x3, 0x36, 0x33, 0x32, 0x16, 0x10, 0x6, 0x23, 0x22, 0x27, 0x3, 0xe, 0x1, 0x22, 0x26, 0x27, 0x2, 0x8f, 0xd3, 0xd3, 0xfe, 0x7a, 0x11, 0x3b, 0x45, 0x8, 0x1b, 0x2d, 0x38, 0x70, 0xc6, 0x96, 0x8a, 0x71, 0xd5, 0x53, 0x18, 0x6, 0xa2, 0x97, 0x80, 0x14, 0x94, 0x11, 0x3b, 0x45, 0x8, 0xf, 0x3b, 0x44, 0xa9, 0xce, 0xdc, 0x9b, 0x57, 0x49, 0x11, 0x8, 0xa0, 0x97, 0x80, 0x14, 0x2, 0xae, 0xfe, 0xfd, 0xb5, 0x82, 0xaf, 0x2, 0x33, 0x3e, 0x1c, 0x36, 0x91, 0xd1, 0x8f, 0xa1, 0x2, 0x5d, 0xa4, 0x88, 0x7a, 0x8f, 0xf, 0x82, 0xaf, 0xfe, 0xcb, 0x13, 0xe9, 0xfe, 0xd2, 0xdb, 0x21, 0xfe, 0xa3, 0xa5, 0x87, 0x7a, 0x8f, 0x0, 0x3, 0x0, 0x75, 0xfe, 0x4d, 0x3, 0xb6, 0x6, 0xe, 0x0, 0x3, 0x0, 0xb, 0x0, 0x31, 0x0, 0x0, 0x1, 0x33, 0x15, 0x23, 0x16, 0x36, 0x34, 0x26, 0x22, 0x6, 0x14, 0x16, 0x3, 0x16, 0x33, 0x32, 0x37, 0x13, 0x26, 0x27, 0x26, 0x10, 0x37, 0x36, 0x37, 0x13, 0x3e, 0x1, 0x32, 0x16, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x3, 0x16, 0x17, 0x16, 0x10, 0x7, 0x6, 0x7, 0x3, 0xe, 0x1, 0x22, 0x26, 0x27, 0x1, 0xad, 0xd3, 0xd3, 0xcb, 0x94, 0x8a, 0xd6, 0x90, 0x8f, 0xa2, 0x11, 0x3b, 0x45, 0x8, 0xf, 0x5d, 0x49, 0x6e, 0x6f, 0x53, 0x75, 0xf, 0x8, 0x9f, 0x98, 0x80, 0x14, 0x94, 0x11, 0x3b, 0x45, 0x8, 0xe, 0x63, 0x42, 0x6e, 0x6e, 0x56, 0x73, 0xf, 0x8, 0x9f, 0x98, 0x80, 0x14, 0x2, 0xb0, 0xfe, 0x7a, 0x90, 0xd1, 0x8f, 0x91, 0xcf, 0x90, 0xfe, 0x2d, 0x82, 0xaf, 0x1, 0x31, 0x18, 0x49, 0x6f, 0x1, 0x37, 0x73, 0x56, 0x13, 0x1, 0x3c, 0xa4, 0x88, 0x7a, 0x8f, 0xf, 0x82, 0xaf, 0xfe, 0xd6, 0x18, 0x4b, 0x7c, 0xfe, 0xd2, 0x6f, 0x55, 0x13, 0xfe, 0xbe, 0xa5, 0x87, 0x7a, 0x8f, 0x0, 0x0, 0x3, 0x0, 0x75, 0xfe, 0x4d, 0x3, 0xb6, 0x6, 0xe, 0x0, 0x1d, 0x0, 0x21, 0x0, 0x25, 0x0, 0x0, 0x37, 0x11, 0x21, 0x13, 0x3e, 0x1, 0x32, 0x16, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x3, 0x21, 0x11, 0x21, 0x3, 0xe, 0x1, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x1b, 0x1, 0x3, 0x33, 0x11, 0x21, 0x23, 0x11, 0x33, 0x98, 0x1, 0x3b, 0x10, 0x8, 0xa2, 0x97, 0x7e, 0x14, 0x94, 0x11, 0x39, 0x47, 0x8, 0xf, 0x1, 0x18, 0xfe, 0xc4, 0xe, 0x8, 0xa9, 0x8f, 0x7f, 0x14, 0x94, 0x11, 0x39, 0x47, 0x8, 0xd, 0xc5, 0x18, 0xac, 0xfe, 0xc5, 0xab, 0x93, 0x9b, 0x2, 0xfe, 0x1, 0x49, 0xa7, 0x85, 0x7d, 0x8c, 0xf, 0x82, 0xaf, 0xfe, 0xd0, 0xfd, 0x2, 0xfe, 0xde, 0xad, 0x7f, 0x7b, 0x8e, 0xf, 0x82, 0xaf, 0x1, 0x9, 0x2, 0x74, 0xfe, 0x16, 0x1, 0xea, 0xfe, 0x16, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xbe, 0xfe, 0x4d, 0x4, 0x6d, 0x6, 0xe, 0x0, 0x2d, 0x0, 0x0, 0x1, 0x26, 0x23, 0x22, 0x7, 0x3, 0x21, 0x32, 0x16, 0x14, 0x6, 0x23, 0x35, 0x36, 0x37, 0x26, 0x27, 0x21, 0x3, 0xe, 0x1, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x13, 0x21, 0x17, 0x7, 0x1, 0x35, 0x1, 0x17, 0x7, 0x21, 0x13, 0x3e, 0x1, 0x32, 0x17, 0x16, 0x17, 0x3, 0x22, 0x11, 0x3b, 0x45, 0x8, 0x19, 0x1, 0xe, 0x64, 0x8b, 0x90, 0x5f, 0x60, 0x8, 0x8, 0x60, 0xfe, 0xeb, 0x21, 0x8, 0x9f, 0x98, 0x80, 0x14, 0x94, 0x11, 0x3b, 0x44, 0x9, 0x20, 0xfe, 0xdc, 0xbb, 0x60, 0xfe, 0xc5, 0x1, 0x3b, 0x60, 0xbb, 0x1, 0x2a, 0x1b, 0x8, 0x9f, 0x98, 0x49, 0x36, 0x15, 0x4, 0xf6, 0x82, 0xaf, 0xfd, 0xef, 0x8f, 0xc6, 0x8c, 0x88, 0x4, 0x65, 0x62, 0x6, 0xfd, 0x49, 0xa5, 0x87, 0x7a, 0x8f, 0xf, 0x82, 0xaf, 0x2, 0x9e, 0xba, 0x60, 0x1, 0x3a, 0x48, 0x1, 0x3a, 0x60, 0xba, 0x2, 0x2a, 0xa5, 0x87, 0x46, 0x34, 0x8f, 0x0, 0x0, 0x1, 0x0, 0x75, 0xfe, 0x4d, 0x3, 0xb6, 0x6, 0xe, 0x0, 0x23, 0x0, 0x0, 0x1, 0x26, 0x23, 0x22, 0x7, 0x3, 0x37, 0x17, 0x7, 0x17, 0x7, 0x27, 0x3, 0xe, 0x1, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x13, 0x7, 0x27, 0x37, 0x27, 0x37, 0x17, 0x13, 0x3e, 0x1, 0x32, 0x16, 0x17, 0x3, 0x22, 0x11, 0x3b, 0x45, 0x8, 0x14, 0x9d, 0x78, 0xfc, 0xfc, 0x78, 0xb1, 0x19, 0x8, 0x9f, 0x98, 0x80, 0x14, 0x94, 0x11, 0x3b, 0x45, 0x8, 0x17, 0x9f, 0x7a, 0xfe, 0xfc, 0x78, 0xb2, 0x17, 0x8, 0x9f, 0x98, 0x80, 0x14, 0x4, 0xf6, 0x82, 0xaf, 0xfe, 0x58, 0x9d, 0x79, 0xfc, 0xfc, 0x78, 0xb0, 0xfd, 0xf4, 0xa5, 0x87, 0x7a, 0x8f, 0xf, 0x82, 0xaf, 0x1, 0xe2, 0xa0, 0x79, 0xfc, 0xfc, 0x78, 0xb3, 0x1, 0xd8, 0xa5, 0x87, 0x7a, 0x8f, 0x0, 0x0, 0x0, 0x1, 0x0, 0x75, 0xfe, 0x4d, 0x3, 0xb6, 0x6, 0xe, 0x0, 0x2a, 0x0, 0x0, 0x5, 0x16, 0x33, 0x32, 0x37, 0x13, 0x6, 0x7, 0x6, 0x15, 0x11, 0x23, 0x11, 0x34, 0x36, 0x37, 0x13, 0x3e, 0x1, 0x32, 0x16, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x3, 0x16, 0x17, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x27, 0x3, 0xe, 0x1, 0x22, 0x26, 0x27, 0x1, 0x9, 0x11, 0x3b, 0x45, 0x8, 0x2d, 0x41, 0x20, 0x34, 0x79, 0x9b, 0x79, 0xe, 0x8, 0x9f, 0x98, 0x80, 0x14, 0x94, 0x11, 0x3b, 0x45, 0x8, 0xd, 0x5a, 0x3e, 0x56, 0x79, 0x7c, 0x2d, 0x8, 0x9f, 0x98, 0x80, 0x14, 0x9b, 0x82, 0xaf, 0x3, 0xa6, 0x10, 0x32, 0x50, 0x9c, 0xfe, 0xc8, 0x1, 0x49, 0xcf, 0xbc, 0x11, 0x1, 0x2b, 0xa5, 0x87, 0x7a, 0x8f, 0xf, 0x82, 0xaf, 0xfe, 0xe6, 0x18, 0x45, 0x61, 0xd6, 0xfe, 0xb7, 0x1, 0x38, 0xf3, 0x32, 0xfc, 0x4a, 0xa5, 0x87, 0x7a, 0x8f, 0x0, 0x1, 0x0, 0x75, 0xfe, 0x4d, 0x3, 0xb6, 0x6, 0xe, 0x0, 0x27, 0x0, 0x0, 0x1, 0x26, 0x23, 0x22, 0x7, 0x3, 0x36, 0x19, 0x1, 0x33, 0x11, 0x10, 0x5, 0x3, 0xe, 0x1, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x13, 0x26, 0x27, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x17, 0x13, 0x3e, 0x1, 0x32, 0x16, 0x17, 0x3, 0x22, 0x11, 0x3b, 0x45, 0x8, 0x2a, 0x92, 0x79, 0xfe, 0xef, 0x11, 0x8, 0x9f, 0x98, 0x80, 0x14, 0x94, 0x11, 0x3b, 0x45, 0x8, 0x10, 0x5c, 0x3f, 0x56, 0x79, 0x7e, 0x2b, 0x8, 0x9f, 0x98, 0x80, 0x14, 0x4, 0xf6, 0x82, 0xaf, 0xfc, 0x8d, 0x26, 0x1, 0x7, 0x1, 0x38, 0xfe, 0xb7, 0xfe, 0x8c, 0x27, 0xfe, 0xa2, 0xa5, 0x87, 0x7a, 0x8f, 0xf, 0x82, 0xaf, 0x1, 0x4c, 0x17, 0x46, 0x61, 0xd6, 0x1, 0x49, 0xfe, 0xc8, 0xf5, 0x31, 0x3, 0x85, 0xa5, 0x87, 0x7a, 0x8f, 0x0, 0x0, 0x2, 0x0, 0x75, 0xfe, 0x4d, 0x3, 0xc0, 0x6, 0xf9, 0x0, 0x17, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x3, 0xe, 0x1, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x1, 0x15, 0x21, 0x35, 0x1, 0xe3, 0x8, 0xa2, 0x4b, 0x4c, 0x7e, 0x14, 0x94, 0x11, 0x39, 0x47, 0x8, 0x41, 0x8, 0xa2, 0x4c, 0x4b, 0x7e, 0x14, 0x94, 0x11, 0x39, 0x47, 0x8, 0x2, 0x1e, 0xfc, 0xef, 0x4, 0xe2, 0xa7, 0x85, 0x7d, 0x8c, 0xf, 0x82, 0xaf, 0xfa, 0xb0, 0xa7, 0x85, 0x7d, 0x8c, 0xf, 0x82, 0xaf, 0x7, 0x67, 0xa0, 0xa0, 0x0, 0x0, 0x2, 0x0, 0x6b, 0xfd, 0x62, 0x3, 0xb6, 0x6, 0xe, 0x0, 0x17, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x3, 0xe, 0x1, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x1, 0x35, 0x21, 0x15, 0x1, 0xe3, 0x8, 0xa2, 0x4b, 0x4c, 0x7e, 0x14, 0x94, 0x11, 0x39, 0x47, 0x8, 0x41, 0x8, 0xa2, 0x4c, 0x4b, 0x7e, 0x14, 0x94, 0x11, 0x39, 0x47, 0x8, 0xfe, 0xc9, 0x3, 0x11, 0x4, 0xe2, 0xa7, 0x85, 0x7d, 0x8c, 0xf, 0x82, 0xaf, 0xfa, 0xb0, 0xa7, 0x85, 0x7d, 0x8c, 0xf, 0x82, 0xaf, 0xfd, 0xd0, 0xa0, 0xa0, 0x0, 0xff, 0xff, 0x1, 0x19, 0x0, 0x3f, 0x5, 0x9c, 0x4, 0xc5, 0x10, 0x6, 0x0, 0x99, 0x0, 0x0, 0xff, 0xff, 0x0, 0xd9, 0x1, 0xd3, 0x5, 0xdb, 0x4, 0x6a, 0x10, 0x26, 0xc, 0xc1, 0x0, 0x0, 0x10, 0x7, 0xd, 0x4a, 0x2, 0x14, 0x1, 0x24, 0xff, 0xff, 0x0, 0xd9, 0x0, 0x9f, 0x5, 0xdb, 0x4, 0x6a, 0x10, 0x26, 0xc, 0xc1, 0x0, 0x0, 0x10, 0x27, 0xd, 0x4a, 0x0, 0xe7, 0xfe, 0x57, 0x10, 0x7, 0xd, 0x4a, 0x3, 0x40, 0x1, 0x24, 0x0, 0x2, 0x0, 0xd9, 0xff, 0x4, 0x5, 0xdb, 0x4, 0xa6, 0x0, 0x3, 0x0, 0xa, 0x0, 0x0, 0x5, 0x15, 0x1, 0x35, 0x9, 0x2, 0x15, 0x1, 0x35, 0x1, 0x5, 0xdb, 0xfa, 0xfe, 0x5, 0x2, 0xfb, 0xf8, 0x4, 0x8, 0xfa, 0xfe, 0x5, 0x2, 0x46, 0xb6, 0x1, 0xd1, 0xb6, 0x2, 0x65, 0xfe, 0x91, 0xfe, 0x93, 0xb6, 0x1, 0xd1, 0xa6, 0x1, 0xd1, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xff, 0x4, 0x5, 0xdb, 0x4, 0xa6, 0x0, 0x3, 0x0, 0xa, 0x0, 0x0, 0x17, 0x1, 0x15, 0x1, 0x11, 0x35, 0x1, 0x15, 0x1, 0x35, 0x1, 0xd9, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x4, 0x8, 0x46, 0x1, 0xd1, 0xb6, 0xfe, 0x2f, 0x4, 0xec, 0xb6, 0xfe, 0x2f, 0xa6, 0xfe, 0x2f, 0xb6, 0x1, 0x6d, 0x0, 0xff, 0xff, 0x0, 0xd9, 0xff, 0x4, 0x5, 0xdd, 0x4, 0xa6, 0x10, 0x27, 0xd, 0x4a, 0x4, 0x2f, 0xff, 0xbb, 0x10, 0x6, 0x11, 0x7e, 0x0, 0x0, 0xff, 0xff, 0x0, 0xd9, 0xff, 0x4, 0x5, 0xdb, 0x4, 0xa6, 0x10, 0x26, 0xd, 0x4a, 0xfe, 0xbb, 0x10, 0x6, 0x11, 0x7f, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xd9, 0xff, 0x4, 0x5, 0xdb, 0x5, 0x27, 0x10, 0x27, 0xd, 0x4a, 0x1, 0xf, 0x1, 0xe1, 0x10, 0x6, 0x11, 0x7e, 0x0, 0x0, 0xff, 0xff, 0x0, 0xd9, 0xff, 0x4, 0x5, 0xdb, 0x5, 0x27, 0x10, 0x27, 0xd, 0x4a, 0x3, 0x1d, 0x1, 0xe1, 0x10, 0x6, 0x11, 0x7f, 0x0, 0x0, 0xff, 0xff, 0x0, 0xd9, 0xff, 0x4, 0x5, 0xdd, 0x6, 0x12, 0x10, 0x27, 0xd, 0x4a, 0x4, 0x2f, 0x2, 0xcc, 0x10, 0x6, 0x11, 0x7e, 0x0, 0x0, 0xff, 0xff, 0x0, 0xd9, 0xff, 0x4, 0x5, 0xdb, 0x6, 0xd, 0x10, 0x27, 0xd, 0x4a, 0xff, 0xfe, 0x2, 0xc7, 0x10, 0x6, 0x11, 0x7f, 0x0, 0x0, 0x0, 0x3, 0x0, 0xd9, 0xfe, 0xf1, 0x5, 0xdc, 0x5, 0x4e, 0x0, 0x1c, 0x0, 0x3a, 0x0, 0x41, 0x0, 0x0, 0x25, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x1e, 0x1, 0x17, 0x16, 0x33, 0x32, 0x36, 0x13, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x13, 0x9, 0x1, 0x15, 0x1, 0x35, 0x1, 0x5, 0xdc, 0x6a, 0xb2, 0x62, 0x6e, 0x92, 0xa, 0x6, 0x6, 0x10, 0x9a, 0x5e, 0x58, 0xac, 0x62, 0x68, 0xb4, 0x60, 0x6e, 0x94, 0xa, 0xc, 0xe, 0x9c, 0x5e, 0x56, 0xa8, 0x68, 0x6a, 0xb2, 0x62, 0x6e, 0x92, 0xa, 0x6, 0x6, 0x10, 0x9a, 0x5e, 0x58, 0xac, 0x62, 0x68, 0xb4, 0x60, 0x6e, 0x94, 0xa, 0x4, 0x8, 0xe, 0x9c, 0x5e, 0x56, 0xa8, 0x67, 0xfc, 0x40, 0x3, 0xc0, 0xfa, 0xfe, 0x5, 0x2, 0x50, 0xb3, 0x4e, 0x45, 0x3b, 0x4, 0x3, 0x2, 0x6, 0x3d, 0x4c, 0x54, 0xb3, 0x4e, 0x45, 0x3b, 0x5, 0x4, 0x6, 0x3d, 0x4b, 0x1, 0x9b, 0xb2, 0x50, 0x44, 0x3a, 0x4, 0x4, 0x2, 0x6, 0x3c, 0x4c, 0x52, 0xb2, 0x4e, 0x44, 0x3a, 0x4, 0x2, 0x4, 0x6, 0x3c, 0x4a, 0x3, 0x5e, 0xfe, 0xeb, 0xfe, 0xee, 0xb2, 0x1, 0x70, 0xaa, 0x1, 0x6f, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xd9, 0xfe, 0xf1, 0x5, 0xdc, 0x5, 0x4e, 0x0, 0x1c, 0x0, 0x3a, 0x0, 0x41, 0x0, 0x0, 0x25, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x1e, 0x1, 0x17, 0x16, 0x33, 0x32, 0x36, 0x13, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x1, 0x35, 0x1, 0x15, 0x1, 0x35, 0x1, 0x5, 0xdc, 0x6a, 0xb2, 0x62, 0x6e, 0x92, 0xa, 0x6, 0x6, 0x10, 0x9a, 0x5e, 0x58, 0xac, 0x62, 0x68, 0xb4, 0x60, 0x6e, 0x94, 0xa, 0xc, 0xe, 0x9c, 0x5e, 0x56, 0xa8, 0x68, 0x6a, 0xb2, 0x62, 0x6e, 0x92, 0xa, 0x6, 0x6, 0x10, 0x9a, 0x5e, 0x58, 0xac, 0x62, 0x68, 0xb4, 0x60, 0x6e, 0x94, 0xa, 0x4, 0x8, 0xe, 0x9c, 0x5e, 0x56, 0xa8, 0xfb, 0x65, 0x5, 0x2, 0xfa, 0xfe, 0x3, 0xc0, 0x50, 0xb3, 0x4e, 0x45, 0x3b, 0x4, 0x3, 0x2, 0x6, 0x3d, 0x4c, 0x54, 0xb3, 0x4e, 0x45, 0x3b, 0x5, 0x4, 0x6, 0x3d, 0x4b, 0x1, 0x9b, 0xb2, 0x50, 0x44, 0x3a, 0x4, 0x4, 0x2, 0x6, 0x3c, 0x4c, 0x52, 0xb2, 0x4e, 0x44, 0x3a, 0x4, 0x2, 0x4, 0x6, 0x3c, 0x4a, 0x3, 0x5e, 0xb0, 0xfe, 0x91, 0xaa, 0xfe, 0x90, 0xb2, 0x1, 0x12, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xff, 0x8, 0x5, 0xdb, 0x4, 0xa8, 0x0, 0xb, 0x0, 0x12, 0x0, 0x0, 0x1, 0x17, 0x7, 0x21, 0x15, 0x21, 0x7, 0x27, 0x37, 0x21, 0x35, 0x21, 0x9, 0x2, 0x15, 0x1, 0x35, 0x1, 0x3, 0xac, 0x96, 0x5a, 0x1, 0xf3, 0xfd, 0xb2, 0x85, 0x96, 0x5a, 0xfe, 0xd, 0x2, 0x4e, 0x2, 0xb4, 0xfc, 0x40, 0x3, 0xc0, 0xfa, 0xfe, 0x5, 0x2, 0x1, 0xa2, 0x50, 0xa8, 0xaa, 0xf8, 0x50, 0xa8, 0xaa, 0x3, 0x4e, 0xfe, 0xeb, 0xfe, 0xee, 0xb2, 0x1, 0x70, 0xaa, 0x1, 0x6f, 0x0, 0x2, 0x0, 0xd9, 0xff, 0x8, 0x5, 0xdb, 0x4, 0xa8, 0x0, 0xb, 0x0, 0x12, 0x0, 0x0, 0x1, 0x17, 0x7, 0x21, 0x15, 0x21, 0x7, 0x27, 0x37, 0x21, 0x35, 0x21, 0x1, 0x35, 0x1, 0x15, 0x1, 0x35, 0x1, 0x3, 0xac, 0x96, 0x5a, 0x1, 0xf3, 0xfd, 0xb2, 0x85, 0x96, 0x5a, 0xfe, 0xd, 0x2, 0x4e, 0xfd, 0xb2, 0x5, 0x2, 0xfa, 0xfe, 0x3, 0xc0, 0x1, 0xa2, 0x50, 0xa8, 0xaa, 0xf8, 0x50, 0xa8, 0xaa, 0x3, 0x4e, 0xb0, 0xfe, 0x91, 0xaa, 0xfe, 0x90, 0xb2, 0x1, 0x12, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xfe, 0x5f, 0x5, 0xdc, 0x5, 0x4e, 0x0, 0x36, 0x0, 0x3d, 0x0, 0x0, 0x1, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x7, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x2f, 0x1, 0x7, 0x27, 0x37, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x37, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x36, 0x37, 0x36, 0x17, 0x16, 0x1f, 0x1, 0x37, 0x17, 0x7, 0x16, 0x33, 0x32, 0x36, 0x13, 0x9, 0x1, 0x15, 0x1, 0x35, 0x1, 0x5, 0xdc, 0x6a, 0xb2, 0x62, 0x44, 0x53, 0x34, 0x8c, 0x57, 0x56, 0xa8, 0x68, 0x6a, 0xb2, 0x62, 0x6d, 0x93, 0x8, 0x5c, 0xa4, 0x59, 0x40, 0x2f, 0x58, 0xac, 0x62, 0x68, 0xb4, 0x60, 0x45, 0x53, 0x33, 0x8b, 0x56, 0x58, 0xac, 0x62, 0x68, 0x5a, 0x6d, 0x4d, 0x92, 0x70, 0x7, 0x5b, 0xa4, 0x59, 0x40, 0x31, 0x56, 0xa8, 0x67, 0xfc, 0x40, 0x3, 0xc0, 0xfa, 0xfe, 0x5, 0x2, 0x1, 0x96, 0xb2, 0x50, 0x44, 0x17, 0x83, 0x34, 0x4b, 0x55, 0xb3, 0x4e, 0x45, 0x3b, 0x3, 0xe9, 0x40, 0xe2, 0x10, 0x4c, 0x54, 0xb3, 0x4e, 0x45, 0x17, 0x82, 0x34, 0x4c, 0x52, 0xb2, 0x4e, 0x22, 0x2a, 0x8, 0xe, 0x2c, 0x3, 0xe9, 0x40, 0xe3, 0xf, 0x4a, 0x3, 0x5e, 0xfe, 0xeb, 0xfe, 0xee, 0xb2, 0x1, 0x70, 0xaa, 0x1, 0x6f, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xfe, 0x5f, 0x5, 0xdc, 0x5, 0x4e, 0x0, 0x35, 0x0, 0x3c, 0x0, 0x0, 0x1, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x7, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x2f, 0x1, 0x7, 0x27, 0x37, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x37, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x1f, 0x1, 0x37, 0x17, 0x7, 0x16, 0x33, 0x32, 0x36, 0x1, 0x35, 0x1, 0x15, 0x1, 0x35, 0x1, 0x5, 0xdc, 0x6a, 0xb2, 0x62, 0x44, 0x53, 0x34, 0x8c, 0x57, 0x56, 0xa8, 0x68, 0x6a, 0xb2, 0x62, 0x6d, 0x93, 0x8, 0x5c, 0xa4, 0x59, 0x40, 0x2f, 0x58, 0xac, 0x62, 0x68, 0xb4, 0x60, 0x45, 0x53, 0x33, 0x8b, 0x56, 0x58, 0xac, 0x62, 0x68, 0xb4, 0x60, 0x6e, 0x94, 0x7, 0x5b, 0xa4, 0x59, 0x40, 0x31, 0x56, 0xa8, 0xfb, 0x65, 0x5, 0x2, 0xfa, 0xfe, 0x3, 0xc0, 0x1, 0x96, 0xb2, 0x50, 0x44, 0x17, 0x83, 0x34, 0x4b, 0x55, 0xb3, 0x4e, 0x45, 0x3b, 0x3, 0xe9, 0x40, 0xe2, 0x10, 0x4c, 0x54, 0xb3, 0x4e, 0x45, 0x17, 0x82, 0x34, 0x4c, 0x52, 0xb2, 0x4e, 0x44, 0x3a, 0x3, 0xe9, 0x40, 0xe3, 0xf, 0x4a, 0x3, 0x5e, 0xb0, 0xfe, 0x91, 0xaa, 0xfe, 0x90, 0xb2, 0x1, 0x12, 0x0, 0x0, 0x0, 0x4, 0x0, 0xd9, 0xfd, 0x84, 0x5, 0xdb, 0x6, 0x54, 0x0, 0x6, 0x0, 0xa, 0x0, 0x11, 0x0, 0x15, 0x0, 0x0, 0x1, 0x15, 0x1, 0x35, 0x1, 0x15, 0x5, 0x1, 0x21, 0x35, 0x21, 0x1, 0x2d, 0x1, 0x35, 0x1, 0x15, 0x9, 0x1, 0x21, 0x35, 0x21, 0x5, 0xdb, 0xfa, 0xfe, 0x5, 0x2, 0xfc, 0x8b, 0x3, 0x75, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x3, 0x75, 0xfc, 0x8b, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0x3, 0xfb, 0xb0, 0x1, 0x2f, 0xaa, 0x1, 0x30, 0xb2, 0xd2, 0xfd, 0x5c, 0xaa, 0xfb, 0x5e, 0xd5, 0xd2, 0xb2, 0xfe, 0xd0, 0xaa, 0xfe, 0xd1, 0x3, 0x7e, 0xaa, 0x0, 0x0, 0x0, 0x4, 0x0, 0xd9, 0xfd, 0x84, 0x5, 0xdb, 0x6, 0x54, 0x0, 0x6, 0x0, 0xa, 0x0, 0x11, 0x0, 0x15, 0x0, 0x0, 0x13, 0x2d, 0x1, 0x35, 0x1, 0x15, 0x1, 0x11, 0x35, 0x21, 0x15, 0x11, 0x15, 0x1, 0x35, 0x1, 0x15, 0x5, 0x1, 0x35, 0x21, 0x15, 0xd9, 0x3, 0x75, 0xfc, 0x8b, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfc, 0x8b, 0xfe, 0x73, 0x5, 0x2, 0x3, 0xfb, 0xd5, 0xd2, 0xb2, 0xfe, 0xd0, 0xaa, 0xfe, 0xd1, 0xfe, 0xe1, 0xaa, 0xaa, 0xfc, 0x8, 0xb0, 0x1, 0x2f, 0xaa, 0x1, 0x30, 0xb2, 0xd2, 0x1, 0xf9, 0xaa, 0xaa, 0x0, 0x0, 0x3, 0x0, 0xd9, 0xff, 0x2, 0x5, 0xdc, 0x5, 0x4e, 0x0, 0x1a, 0x0, 0x1e, 0x0, 0x25, 0x0, 0x0, 0x1, 0x15, 0xe, 0x1, 0x23, 0x22, 0x2f, 0x1, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x1f, 0x2, 0x16, 0x33, 0x32, 0x36, 0x1, 0x21, 0x15, 0x21, 0x9, 0x2, 0x15, 0x1, 0x35, 0x1, 0x5, 0xdc, 0x6a, 0xb3, 0x61, 0x6e, 0x92, 0x10, 0x6, 0x10, 0x9a, 0x5e, 0x58, 0xac, 0x62, 0x68, 0xb4, 0x60, 0x6e, 0x94, 0xe, 0x16, 0x9c, 0x5e, 0x56, 0xa8, 0xfb, 0x66, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x1, 0xfc, 0x40, 0x3, 0xc0, 0xfa, 0xfe, 0x5, 0x2, 0x1, 0x96, 0xb2, 0x50, 0x44, 0x3a, 0x8, 0x2, 0x6, 0x3c, 0x4b, 0x53, 0xb2, 0x4e, 0x44, 0x3a, 0x6, 0xa, 0x3c, 0x4a, 0xfe, 0x6c, 0xaa, 0x5, 0x9c, 0xfe, 0xeb, 0xfe, 0xee, 0xb2, 0x1, 0x70, 0xaa, 0x1, 0x6f, 0x0, 0x0, 0x3, 0x0, 0xd9, 0xff, 0x2, 0x5, 0xdc, 0x5, 0x4e, 0x0, 0x1a, 0x0, 0x1e, 0x0, 0x25, 0x0, 0x0, 0x1, 0x15, 0xe, 0x1, 0x23, 0x22, 0x2f, 0x1, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x1f, 0x2, 0x16, 0x33, 0x32, 0x36, 0x1, 0x21, 0x15, 0x21, 0x3, 0x35, 0x1, 0x15, 0x1, 0x35, 0x1, 0x5, 0xdc, 0x6a, 0xb3, 0x61, 0x6e, 0x92, 0x10, 0x6, 0x10, 0x9a, 0x5e, 0x58, 0xac, 0x62, 0x68, 0xb4, 0x60, 0x6e, 0x94, 0xe, 0x16, 0x9c, 0x5e, 0x56, 0xa8, 0xfb, 0x66, 0x5, 0x2, 0xfa, 0xfe, 0x1, 0x5, 0x2, 0xfa, 0xfe, 0x3, 0xc0, 0x1, 0x96, 0xb2, 0x50, 0x44, 0x3a, 0x8, 0x2, 0x6, 0x3c, 0x4b, 0x53, 0xb2, 0x4e, 0x44, 0x3a, 0x6, 0xa, 0x3c, 0x4a, 0xfe, 0x6c, 0xaa, 0x5, 0x9c, 0xb0, 0xfe, 0x91, 0xaa, 0xfe, 0x90, 0xb2, 0x1, 0x12, 0x0, 0x3, 0x0, 0xd9, 0xfe, 0x12, 0x5, 0xdb, 0x6, 0xc, 0x0, 0x1a, 0x0, 0x21, 0x0, 0x28, 0x0, 0x0, 0x1, 0x15, 0xe, 0x1, 0x23, 0x22, 0x2f, 0x1, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x1f, 0x2, 0x16, 0x33, 0x32, 0x36, 0x13, 0x15, 0x1, 0x35, 0x1, 0x15, 0x5, 0x1, 0x2d, 0x1, 0x35, 0x1, 0x15, 0x1, 0x5, 0xdb, 0x69, 0xb3, 0x61, 0x6e, 0x92, 0x11, 0x6, 0xf, 0x9b, 0x5e, 0x58, 0xac, 0x62, 0x69, 0xb3, 0x61, 0x6e, 0x93, 0xf, 0x16, 0x9b, 0x5e, 0x56, 0xa9, 0x67, 0xfa, 0xfe, 0x5, 0x2, 0xfc, 0x8b, 0xfe, 0x73, 0x3, 0x75, 0xfc, 0x8b, 0x5, 0x2, 0xfa, 0xfe, 0x2, 0xbe, 0xb2, 0x4f, 0x45, 0x3b, 0x7, 0x2, 0x6, 0x3d, 0x4c, 0x53, 0xb2, 0x4e, 0x45, 0x3b, 0x6, 0x9, 0x3d, 0x4b, 0x1, 0x4a, 0xb0, 0x1, 0x2f, 0xaa, 0x1, 0x30, 0xb2, 0xd2, 0xfa, 0x3a, 0xd5, 0xd2, 0xb2, 0xfe, 0xd0, 0xaa, 0xfe, 0xd1, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xd9, 0xfe, 0x12, 0x5, 0xdb, 0x6, 0xc, 0x0, 0x1a, 0x0, 0x21, 0x0, 0x28, 0x0, 0x0, 0x1, 0x15, 0xe, 0x1, 0x23, 0x22, 0x2f, 0x1, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x1f, 0x2, 0x16, 0x33, 0x32, 0x36, 0x1, 0x2d, 0x1, 0x35, 0x1, 0x15, 0x9, 0x1, 0x15, 0x1, 0x35, 0x1, 0x15, 0x5, 0x5, 0xdb, 0x69, 0xb3, 0x61, 0x6e, 0x92, 0x11, 0x6, 0xf, 0x9b, 0x5e, 0x58, 0xac, 0x62, 0x69, 0xb3, 0x61, 0x6e, 0x93, 0xf, 0x16, 0x9b, 0x5e, 0x56, 0xa9, 0xfb, 0x65, 0x3, 0x75, 0xfc, 0x8b, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfc, 0x8b, 0x2, 0xbe, 0xb2, 0x4f, 0x45, 0x3b, 0x7, 0x2, 0x6, 0x3d, 0x4c, 0x53, 0xb2, 0x4e, 0x45, 0x3b, 0x6, 0x9, 0x3d, 0x4b, 0x1, 0x4a, 0xd5, 0xd2, 0xb2, 0xfe, 0xd0, 0xaa, 0xfe, 0xd1, 0xfb, 0xbf, 0xb0, 0x1, 0x2f, 0xaa, 0x1, 0x30, 0xb2, 0xd2, 0x0, 0x0, 0x0, 0x4, 0x0, 0xd9, 0xfe, 0x2c, 0x5, 0xdb, 0x5, 0xd7, 0x0, 0x6, 0x0, 0xa, 0x0, 0x11, 0x0, 0x15, 0x0, 0x0, 0x13, 0x2d, 0x1, 0x35, 0x1, 0x15, 0x1, 0x11, 0x35, 0x21, 0x15, 0x11, 0x15, 0x1, 0x35, 0x1, 0x15, 0x5, 0x1, 0x35, 0x21, 0x15, 0xd9, 0x3, 0x75, 0xfc, 0x8b, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfc, 0x8b, 0xfe, 0x73, 0x5, 0x2, 0x1, 0x25, 0xd5, 0xd2, 0xb2, 0xfe, 0xd0, 0xaa, 0xfe, 0xd1, 0xfe, 0xe1, 0xaa, 0xaa, 0x4, 0x28, 0xb0, 0x1, 0x2f, 0xaa, 0x1, 0x30, 0xb2, 0xd2, 0xf9, 0xd9, 0xaa, 0xaa, 0x0, 0x0, 0x4, 0x0, 0xd9, 0xfe, 0x2c, 0x5, 0xdb, 0x5, 0xd7, 0x0, 0x6, 0x0, 0xa, 0x0, 0x11, 0x0, 0x15, 0x0, 0x0, 0x1, 0x15, 0x1, 0x35, 0x1, 0x15, 0x5, 0x1, 0x21, 0x35, 0x21, 0x1, 0x2d, 0x1, 0x35, 0x1, 0x15, 0x9, 0x1, 0x21, 0x35, 0x21, 0x5, 0xdb, 0xfa, 0xfe, 0x5, 0x2, 0xfc, 0x8b, 0x3, 0x75, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x3, 0x75, 0xfc, 0x8b, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0x1, 0x25, 0xb0, 0x1, 0x2f, 0xaa, 0x1, 0x30, 0xb2, 0xd2, 0xfd, 0x5c, 0xaa, 0x3, 0x7e, 0xd5, 0xd2, 0xb2, 0xfe, 0xd0, 0xaa, 0xfe, 0xd1, 0xfb, 0x5e, 0xaa, 0x0, 0x0, 0x0, 0x4, 0x0, 0xd9, 0xfe, 0x36, 0x5, 0xdb, 0x5, 0xee, 0x0, 0x6, 0x0, 0xa, 0x0, 0x11, 0x0, 0x15, 0x0, 0x0, 0x1, 0x15, 0x1, 0x35, 0x1, 0x15, 0x5, 0x9, 0x1, 0x35, 0x9, 0x1, 0x2d, 0x1, 0x35, 0x1, 0x15, 0x1, 0x11, 0x35, 0x1, 0x15, 0x5, 0xdb, 0xfa, 0xfe, 0x5, 0x2, 0xfc, 0x8b, 0x3, 0x75, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x3, 0x75, 0xfc, 0x8b, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0x3, 0x95, 0xb0, 0x1, 0x2f, 0xaa, 0x1, 0x30, 0xb2, 0xd2, 0xfd, 0x56, 0x1, 0x2f, 0xb0, 0xfe, 0xd1, 0xfd, 0xa6, 0xd5, 0xd2, 0xb2, 0xfe, 0xd0, 0xaa, 0xfe, 0xd1, 0xfe, 0xd0, 0xb0, 0x1, 0x2f, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0xd9, 0xfe, 0x36, 0x5, 0xdb, 0x5, 0xee, 0x0, 0x6, 0x0, 0xa, 0x0, 0x11, 0x0, 0x15, 0x0, 0x0, 0x13, 0x2d, 0x1, 0x35, 0x1, 0x15, 0x1, 0x11, 0x35, 0x1, 0x15, 0x11, 0x15, 0x1, 0x35, 0x1, 0x15, 0x5, 0x9, 0x1, 0x35, 0x1, 0xd9, 0x3, 0x75, 0xfc, 0x8b, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfc, 0x8b, 0x3, 0x75, 0xfa, 0xfe, 0x5, 0x2, 0x3, 0x95, 0xd5, 0xd2, 0xb2, 0xfe, 0xd0, 0xaa, 0xfe, 0xd1, 0xfe, 0xdb, 0xb0, 0x1, 0x2f, 0xb0, 0xfd, 0x27, 0xb0, 0x1, 0x2f, 0xaa, 0x1, 0x30, 0xb2, 0xd2, 0xfd, 0x4b, 0x1, 0x2f, 0xb0, 0xfe, 0xd1, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xff, 0x84, 0x5, 0xdb, 0x5, 0x26, 0x0, 0x3, 0x0, 0xa, 0x0, 0x0, 0x9, 0x1, 0x35, 0x1, 0x11, 0x15, 0x1, 0x35, 0x1, 0x15, 0x1, 0x5, 0xdb, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfb, 0xf8, 0x4, 0x70, 0xfe, 0x2f, 0xb6, 0x1, 0xd1, 0xfb, 0x14, 0xb6, 0x1, 0xd1, 0xa6, 0x1, 0xd1, 0xb6, 0xfe, 0x93, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xff, 0x84, 0x5, 0xdb, 0x5, 0x26, 0x0, 0x3, 0x0, 0xa, 0x0, 0x0, 0x13, 0x35, 0x1, 0x15, 0x9, 0x2, 0x35, 0x1, 0x15, 0x1, 0xd9, 0x5, 0x2, 0xfa, 0xfe, 0x4, 0x8, 0xfb, 0xf8, 0x5, 0x2, 0xfa, 0xfe, 0x4, 0x70, 0xb6, 0xfe, 0x2f, 0xb6, 0xfd, 0x9b, 0x1, 0x6f, 0x1, 0x6d, 0xb6, 0xfe, 0x2f, 0xa6, 0xfe, 0x2f, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xd9, 0xff, 0x84, 0x5, 0xdd, 0x5, 0x26, 0x10, 0x27, 0xd, 0x4a, 0x4, 0x2f, 0xfe, 0xee, 0x10, 0x6, 0x11, 0x96, 0x0, 0x0, 0xff, 0xff, 0x0, 0xd9, 0xff, 0x84, 0x5, 0xdb, 0x5, 0x26, 0x10, 0x27, 0xd, 0x4a, 0xff, 0xfe, 0xfe, 0xe4, 0x10, 0x6, 0x11, 0x97, 0x0, 0x0, 0x0, 0x3, 0x0, 0xda, 0xff, 0xb6, 0x5, 0xdc, 0x5, 0x7b, 0x0, 0x3, 0x0, 0xa, 0x0, 0xe, 0x0, 0x0, 0x13, 0x35, 0x21, 0x15, 0x11, 0x15, 0x1, 0x35, 0x1, 0x15, 0x9, 0x1, 0x35, 0x21, 0x15, 0xda, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfc, 0x40, 0xfe, 0xbe, 0x5, 0x2, 0x4, 0xd1, 0xaa, 0xaa, 0xfb, 0x95, 0xb0, 0x1, 0x6f, 0xaa, 0x1, 0x70, 0xb2, 0xfe, 0xee, 0x2, 0x39, 0xaa, 0xaa, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xda, 0xff, 0xb6, 0x5, 0xdc, 0x5, 0x7b, 0x0, 0x3, 0x0, 0xa, 0x0, 0xe, 0x0, 0x0, 0x1, 0x21, 0x35, 0x21, 0x9, 0x2, 0x35, 0x1, 0x15, 0x9, 0x1, 0x21, 0x35, 0x21, 0x5, 0xdc, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x3, 0xc0, 0xfc, 0x40, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0x4, 0xd1, 0xaa, 0xfa, 0xeb, 0x1, 0x15, 0x1, 0x12, 0xb2, 0xfe, 0x90, 0xaa, 0xfe, 0x91, 0x3, 0xfe, 0xaa, 0x0, 0x3, 0x0, 0xd9, 0xff, 0xc0, 0x5, 0xdb, 0x5, 0xcd, 0x0, 0x3, 0x0, 0x7, 0x0, 0xe, 0x0, 0x0, 0x13, 0x35, 0x1, 0x15, 0x1, 0x35, 0x1, 0x15, 0x11, 0x15, 0x1, 0x35, 0x1, 0x15, 0x1, 0xd9, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfc, 0x40, 0x3, 0xab, 0xb2, 0x1, 0x70, 0xb2, 0xfd, 0x4e, 0xb2, 0x1, 0x70, 0xb2, 0xfc, 0x97, 0xb0, 0x1, 0x6f, 0xaa, 0x1, 0x70, 0xb2, 0xfe, 0xee, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xd9, 0xff, 0xc0, 0x5, 0xdb, 0x5, 0xcd, 0x0, 0x3, 0x0, 0x7, 0x0, 0xe, 0x0, 0x0, 0x9, 0x1, 0x35, 0x1, 0x11, 0x1, 0x35, 0x9, 0x3, 0x35, 0x1, 0x15, 0x1, 0x5, 0xdb, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x3, 0xc0, 0xfc, 0x40, 0x5, 0x2, 0xfa, 0xfe, 0x3, 0xab, 0x1, 0x70, 0xb2, 0xfe, 0x90, 0xfe, 0xc, 0x1, 0x70, 0xb2, 0xfe, 0x90, 0xfd, 0x55, 0x1, 0x15, 0x1, 0x12, 0xb2, 0xfe, 0x90, 0xaa, 0xfe, 0x91, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0x0, 0x11, 0x5, 0xdc, 0x5, 0x28, 0x0, 0x1b, 0x0, 0x22, 0x0, 0x0, 0x1, 0x2e, 0x1, 0x23, 0x22, 0x7, 0xe, 0x1, 0x7, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x37, 0x3e, 0x1, 0x37, 0x36, 0x33, 0x32, 0x16, 0x17, 0x3, 0x15, 0x1, 0x35, 0x1, 0x15, 0x1, 0x5, 0xdc, 0x68, 0xa8, 0x56, 0x5e, 0x9c, 0xe, 0xc, 0xa, 0x94, 0x6e, 0x60, 0xb4, 0x68, 0x62, 0xac, 0x58, 0x5e, 0x9a, 0x10, 0xc, 0xa, 0x92, 0x6e, 0x62, 0xb2, 0x6a, 0x1, 0xfa, 0xfe, 0x5, 0x2, 0xfc, 0x40, 0x3, 0xca, 0x54, 0x4c, 0x3e, 0x6, 0x4, 0x4, 0x3c, 0x46, 0x4e, 0xb2, 0x54, 0x4c, 0x3e, 0x6, 0x4, 0x4, 0x3c, 0x46, 0x4e, 0xfc, 0x45, 0xb0, 0x1, 0x6f, 0xaa, 0x1, 0x70, 0xb2, 0xfe, 0xee, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0x0, 0x30, 0x5, 0xdc, 0x5, 0x28, 0x0, 0x1b, 0x0, 0x22, 0x0, 0x0, 0x1, 0x2e, 0x1, 0x23, 0x22, 0x7, 0xe, 0x1, 0x7, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x37, 0x3e, 0x1, 0x37, 0x36, 0x33, 0x32, 0x16, 0x17, 0x9, 0x2, 0x35, 0x1, 0x15, 0x1, 0x5, 0xdc, 0x68, 0xa8, 0x56, 0x5e, 0x9c, 0xe, 0xc, 0xa, 0x94, 0x6e, 0x60, 0xb4, 0x68, 0x62, 0xac, 0x58, 0x5e, 0x9a, 0x10, 0xc, 0xa, 0x92, 0x6e, 0x62, 0xb2, 0x6a, 0xfa, 0xfd, 0x3, 0xc1, 0xfc, 0x3f, 0x5, 0x2, 0xfa, 0xfe, 0x3, 0xca, 0x54, 0x4c, 0x3e, 0x6, 0x4, 0x4, 0x3c, 0x46, 0x4e, 0xb2, 0x54, 0x4c, 0x3e, 0x6, 0x4, 0x4, 0x3c, 0x46, 0x4e, 0xfc, 0x64, 0x1, 0x15, 0x1, 0x12, 0xb2, 0xfe, 0x90, 0xaa, 0xfe, 0x91, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0xd9, 0xfe, 0x98, 0x5, 0xdc, 0x5, 0xd4, 0x0, 0x3, 0x0, 0x7, 0x0, 0x24, 0x0, 0x2b, 0x0, 0x0, 0x17, 0x35, 0x21, 0x15, 0x1, 0x35, 0x21, 0x15, 0x13, 0x2e, 0x1, 0x23, 0x22, 0x7, 0xe, 0x1, 0x7, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x16, 0x17, 0x3, 0x15, 0x1, 0x35, 0x1, 0x15, 0x1, 0xd9, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0x1, 0x68, 0xa8, 0x56, 0x5e, 0x9c, 0xe, 0xc, 0xa, 0x94, 0x6e, 0x60, 0xb4, 0x68, 0x62, 0xac, 0x58, 0x5e, 0x9a, 0x10, 0x6, 0x6, 0xa, 0x92, 0x6e, 0x62, 0xb2, 0x6a, 0x1, 0xfa, 0xfe, 0x5, 0x2, 0xfc, 0x40, 0x3e, 0xaa, 0xaa, 0xfe, 0xd6, 0xaa, 0xaa, 0x5, 0xdc, 0x56, 0x4a, 0x3c, 0x6, 0x4, 0x6, 0x3a, 0x44, 0x4e, 0xb4, 0x54, 0x4c, 0x3c, 0x6, 0x2, 0x4, 0x4, 0x3a, 0x44, 0x4e, 0xfc, 0x44, 0xb0, 0x1, 0x6f, 0xaa, 0x1, 0x70, 0xb2, 0xfe, 0xee, 0x0, 0x0, 0x0, 0x4, 0x0, 0xd9, 0xfe, 0x98, 0x5, 0xdc, 0x5, 0xd4, 0x0, 0x3, 0x0, 0x7, 0x0, 0x24, 0x0, 0x2b, 0x0, 0x0, 0x17, 0x35, 0x21, 0x15, 0x1, 0x35, 0x21, 0x15, 0x13, 0x2e, 0x1, 0x23, 0x22, 0x7, 0xe, 0x1, 0x7, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x16, 0x17, 0x9, 0x2, 0x35, 0x1, 0x15, 0x1, 0xd9, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0x1, 0x68, 0xa8, 0x56, 0x5e, 0x9c, 0xe, 0xc, 0xa, 0x94, 0x6e, 0x60, 0xb4, 0x68, 0x62, 0xac, 0x58, 0x5e, 0x9a, 0x10, 0x6, 0x6, 0xa, 0x92, 0x6e, 0x62, 0xb2, 0x6a, 0xfa, 0xfd, 0x3, 0xc0, 0xfc, 0x40, 0x5, 0x2, 0xfa, 0xfe, 0x3e, 0xaa, 0xaa, 0xfe, 0xd6, 0xaa, 0xaa, 0x5, 0xdc, 0x56, 0x4a, 0x3c, 0x6, 0x4, 0x6, 0x3a, 0x44, 0x4e, 0xb4, 0x54, 0x4c, 0x3c, 0x6, 0x2, 0x4, 0x4, 0x3a, 0x44, 0x4e, 0xfc, 0x44, 0x1, 0x15, 0x1, 0x12, 0xb2, 0xfe, 0x90, 0xaa, 0xfe, 0x91, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xd9, 0x0, 0x66, 0x5, 0xdb, 0x4, 0xce, 0x0, 0x3, 0x0, 0x20, 0x0, 0x24, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x1, 0x6, 0x7, 0x6, 0x7, 0x6, 0x7, 0x21, 0x35, 0x21, 0x36, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x21, 0x15, 0x21, 0x26, 0x27, 0x26, 0x27, 0x26, 0x1, 0x21, 0x15, 0x21, 0xd9, 0x5, 0x2, 0xfa, 0xfe, 0x2, 0x82, 0x43, 0x2e, 0x38, 0x1e, 0x1b, 0x4, 0xfe, 0x64, 0x1, 0xa, 0xc, 0x1e, 0x36, 0x57, 0x59, 0xce, 0x59, 0x56, 0x37, 0x1c, 0xe, 0x1, 0xa, 0xfe, 0x65, 0x4, 0x1b, 0x1e, 0x38, 0x2d, 0xfd, 0x3b, 0x5, 0x2, 0xfa, 0xfe, 0x2, 0x5a, 0xaa, 0x2, 0x7b, 0x4, 0x1e, 0x2b, 0x44, 0x44, 0x5c, 0xa8, 0x39, 0x33, 0x5b, 0x32, 0x33, 0x33, 0x32, 0x5b, 0x30, 0x3c, 0xa8, 0x5b, 0x45, 0x43, 0x2c, 0x1e, 0xfc, 0xe9, 0xaa, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xff, 0xcf, 0x5, 0xdb, 0x5, 0x57, 0x0, 0x3, 0x0, 0xe, 0x0, 0x0, 0x37, 0x21, 0x15, 0x21, 0x1, 0x0, 0x5, 0x4, 0x1, 0x15, 0x0, 0x25, 0x35, 0x24, 0x1, 0xd9, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfe, 0x81, 0xfe, 0x24, 0x1, 0xdc, 0x1, 0x7f, 0xfe, 0x81, 0xfc, 0x7d, 0x3, 0x83, 0x1, 0x7f, 0x79, 0xaa, 0x4, 0xb1, 0xfe, 0xe5, 0x5d, 0x5d, 0xfe, 0xe5, 0xd7, 0x1, 0x78, 0x84, 0xa6, 0x7c, 0x1, 0x80, 0x0, 0x2, 0x0, 0xd9, 0xff, 0xcf, 0x5, 0xdb, 0x5, 0x57, 0x0, 0x3, 0x0, 0xf, 0x0, 0x0, 0x25, 0x15, 0x21, 0x35, 0x11, 0x35, 0x0, 0x5, 0x30, 0x15, 0x4, 0x1, 0x35, 0x0, 0x25, 0x24, 0x5, 0xdb, 0xfa, 0xfe, 0x1, 0x7f, 0x3, 0x83, 0xfc, 0x7d, 0xfe, 0x81, 0x1, 0x7f, 0x1, 0xdc, 0xfe, 0x24, 0x79, 0xaa, 0xaa, 0x4, 0x7, 0xd7, 0xfe, 0x80, 0x7c, 0xa6, 0x84, 0xfe, 0x88, 0xd7, 0x1, 0x1b, 0x5d, 0x5d, 0x0, 0x2, 0x0, 0xd9, 0xfe, 0xd7, 0x5, 0xdb, 0x5, 0x57, 0x0, 0xb, 0x0, 0x16, 0x0, 0x0, 0x1, 0x17, 0x7, 0x21, 0x15, 0x21, 0x7, 0x27, 0x37, 0x21, 0x35, 0x21, 0x1, 0x0, 0x5, 0x4, 0x1, 0x15, 0x0, 0x25, 0x35, 0x24, 0x1, 0x3, 0xac, 0x96, 0x5a, 0x1, 0xf3, 0xfd, 0xb2, 0x85, 0x96, 0x5a, 0xfe, 0xd, 0x2, 0x4e, 0x2, 0xb4, 0xfe, 0x81, 0xfe, 0x24, 0x1, 0xdc, 0x1, 0x7f, 0xfe, 0x81, 0xfc, 0x7d, 0x3, 0x83, 0x1, 0x7f, 0x1, 0x71, 0x50, 0xa8, 0xaa, 0xf8, 0x50, 0xa8, 0xaa, 0x4, 0x7, 0xfe, 0xe5, 0x5d, 0x5d, 0xfe, 0xe5, 0xd7, 0x1, 0x78, 0x84, 0xa6, 0x7c, 0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xfe, 0xd7, 0x5, 0xdb, 0x5, 0x57, 0x0, 0xb, 0x0, 0x16, 0x0, 0x0, 0x1, 0x17, 0x7, 0x21, 0x15, 0x21, 0x7, 0x27, 0x37, 0x21, 0x35, 0x21, 0x1, 0x35, 0x0, 0x5, 0x15, 0x4, 0x1, 0x35, 0x0, 0x25, 0x24, 0x3, 0xac, 0x96, 0x5a, 0x1, 0xf3, 0xfd, 0xb2, 0x85, 0x96, 0x5a, 0xfe, 0xd, 0x2, 0x4e, 0xfd, 0xb2, 0x1, 0x7f, 0x3, 0x83, 0xfc, 0x7d, 0xfe, 0x81, 0x1, 0x7f, 0x1, 0xdc, 0xfe, 0x24, 0x1, 0x71, 0x50, 0xa8, 0xaa, 0xf8, 0x50, 0xa8, 0xaa, 0x4, 0x7, 0xd7, 0xfe, 0x80, 0x7c, 0xa6, 0x84, 0xfe, 0x88, 0xd7, 0x1, 0x1b, 0x5d, 0x5d, 0x0, 0x0, 0x0, 0x3, 0x0, 0xd9, 0xff, 0x9, 0x5, 0xdb, 0x5, 0x4b, 0x0, 0x3, 0x0, 0x7, 0x0, 0x12, 0x0, 0x0, 0x37, 0x35, 0x21, 0x15, 0x1, 0x35, 0x21, 0x15, 0x11, 0x0, 0x5, 0x4, 0x5, 0x15, 0x0, 0x25, 0x35, 0x24, 0x1, 0xd9, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfe, 0xcd, 0xfd, 0xd8, 0x2, 0x21, 0x1, 0x3a, 0xfe, 0xa3, 0xfc, 0x5b, 0x3, 0xa5, 0x1, 0x5d, 0x33, 0xaa, 0xaa, 0xfe, 0xd6, 0xaa, 0xaa, 0x5, 0x6b, 0xfe, 0xe5, 0x2d, 0x51, 0xf7, 0xd7, 0x1, 0x74, 0x58, 0xa6, 0x56, 0x1, 0x76, 0x0, 0x0, 0x0, 0x3, 0x0, 0xd9, 0xff, 0x9, 0x5, 0xdb, 0x5, 0x4b, 0x0, 0x3, 0x0, 0x7, 0x0, 0x12, 0x0, 0x0, 0x37, 0x35, 0x21, 0x15, 0x1, 0x35, 0x21, 0x15, 0x1, 0x35, 0x0, 0x5, 0x15, 0x4, 0x1, 0x35, 0x24, 0x25, 0x24, 0xd9, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x1, 0x5d, 0x3, 0xa5, 0xfc, 0x5b, 0xfe, 0xa3, 0x1, 0x3a, 0x2, 0x21, 0xfd, 0xd8, 0x33, 0xaa, 0xaa, 0xfe, 0xd6, 0xaa, 0xaa, 0x5, 0x6b, 0xd7, 0xfe, 0x8a, 0x56, 0xa6, 0x58, 0xfe, 0x8c, 0xd7, 0xf7, 0x51, 0x2d, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xfe, 0x71, 0x5, 0xdb, 0x5, 0x4b, 0x0, 0x13, 0x0, 0x1e, 0x0, 0x0, 0x5, 0x21, 0x35, 0x21, 0x37, 0x21, 0x35, 0x21, 0x37, 0x17, 0x7, 0x21, 0x15, 0x21, 0x7, 0x21, 0x15, 0x21, 0x7, 0x27, 0x1, 0x0, 0x5, 0x4, 0x5, 0x15, 0x0, 0x25, 0x35, 0x24, 0x1, 0x2, 0x26, 0xfe, 0xb3, 0x1, 0xda, 0x60, 0xfd, 0xc6, 0x2, 0xc8, 0x89, 0x8a, 0x29, 0x1, 0x50, 0xfe, 0x22, 0x5f, 0x2, 0x3d, 0xfd, 0x36, 0x8a, 0x8a, 0x3, 0xde, 0xfe, 0xcd, 0xfd, 0xd8, 0x2, 0x21, 0x1, 0x3a, 0xfe, 0xa3, 0xfc, 0x5b, 0x3, 0xa5, 0x1, 0x5d, 0xea, 0xaa, 0x73, 0xaa, 0xa4, 0x73, 0x31, 0xaa, 0x73, 0xaa, 0xa5, 0x74, 0x5, 0x8f, 0xfe, 0xe5, 0x2d, 0x51, 0xf7, 0xd7, 0x1, 0x74, 0x58, 0xa6, 0x56, 0x1, 0x76, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xfe, 0x71, 0x5, 0xdb, 0x5, 0x4b, 0x0, 0x13, 0x0, 0x1e, 0x0, 0x0, 0x5, 0x21, 0x35, 0x21, 0x37, 0x21, 0x35, 0x21, 0x37, 0x17, 0x7, 0x21, 0x15, 0x21, 0x7, 0x21, 0x15, 0x21, 0x7, 0x27, 0x1, 0x35, 0x0, 0x5, 0x15, 0x4, 0x1, 0x35, 0x24, 0x25, 0x24, 0x2, 0x26, 0xfe, 0xb3, 0x1, 0xda, 0x60, 0xfd, 0xc6, 0x2, 0xc8, 0x89, 0x8a, 0x29, 0x1, 0x50, 0xfe, 0x22, 0x5f, 0x2, 0x3d, 0xfd, 0x36, 0x8a, 0x8a, 0xfe, 0xdc, 0x1, 0x5d, 0x3, 0xa5, 0xfc, 0x5b, 0xfe, 0xa3, 0x1, 0x3a, 0x2, 0x21, 0xfd, 0xd8, 0xea, 0xaa, 0x73, 0xaa, 0xa4, 0x73, 0x31, 0xaa, 0x73, 0xaa, 0xa5, 0x74, 0x5, 0x8f, 0xd7, 0xfe, 0x8a, 0x56, 0xa6, 0x58, 0xfe, 0x8c, 0xd7, 0xf7, 0x51, 0x2d, 0x0, 0x0, 0x0, 0x3, 0x0, 0xd9, 0xfe, 0x79, 0x5, 0xdb, 0x5, 0x8b, 0x0, 0x1d, 0x0, 0x3a, 0x0, 0x45, 0x0, 0x0, 0x5, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x37, 0x36, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x13, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x3e, 0x1, 0x13, 0x0, 0x5, 0x4, 0x5, 0x15, 0x0, 0x25, 0x35, 0x24, 0x1, 0x5, 0xdb, 0x69, 0xb3, 0x61, 0x6e, 0x92, 0xa, 0x7, 0x6, 0xf, 0x9b, 0x5e, 0x58, 0xac, 0x62, 0x69, 0xb2, 0x62, 0x60, 0xa1, 0xb, 0x5, 0x6, 0xf, 0x9b, 0x5e, 0x56, 0xa9, 0x67, 0x69, 0xb3, 0x61, 0x6e, 0x92, 0xa, 0x7, 0x6, 0xf, 0x9b, 0x5e, 0x58, 0xac, 0x62, 0x69, 0xb3, 0x61, 0x6e, 0x93, 0xa, 0x5, 0x7, 0xf, 0xaa, 0x9e, 0xb0, 0x67, 0xfe, 0xcd, 0xfd, 0xd8, 0x2, 0x21, 0x1, 0x3a, 0xfe, 0xa3, 0xfc, 0x5b, 0x3, 0xa5, 0x1, 0x5d, 0x28, 0xb3, 0x4e, 0x45, 0x3b, 0x4, 0x3, 0x2, 0x6, 0x3d, 0x4c, 0x54, 0xb3, 0x4e, 0x39, 0xc, 0x6, 0x41, 0x5, 0x2, 0x2, 0x6, 0x3d, 0x4b, 0x1, 0x9a, 0xb2, 0x4f, 0x45, 0x3b, 0x4, 0x3, 0x2, 0x6, 0x3d, 0x4c, 0x53, 0xb2, 0x4e, 0x45, 0x3b, 0x4, 0x2, 0x3, 0x6, 0x43, 0xc, 0x45, 0x3, 0xec, 0xfe, 0xe5, 0x2d, 0x51, 0xf7, 0xd7, 0x1, 0x74, 0x58, 0xa6, 0x56, 0x1, 0x76, 0x0, 0x3, 0x0, 0xd9, 0xfe, 0x79, 0x5, 0xdb, 0x5, 0x8b, 0x0, 0x1d, 0x0, 0x3a, 0x0, 0x45, 0x0, 0x0, 0x5, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x37, 0x36, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x13, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x3e, 0x1, 0x1, 0x35, 0x0, 0x5, 0x15, 0x4, 0x1, 0x35, 0x24, 0x25, 0x24, 0x5, 0xdb, 0x69, 0xb3, 0x61, 0x6e, 0x92, 0xa, 0x7, 0x6, 0xf, 0x9b, 0x5e, 0x58, 0xac, 0x62, 0x69, 0xb2, 0x62, 0x60, 0xa1, 0xb, 0x5, 0x6, 0xf, 0x9b, 0x5e, 0x56, 0xa9, 0x67, 0x69, 0xb3, 0x61, 0x6e, 0x92, 0xa, 0x7, 0x6, 0xf, 0x9b, 0x5e, 0x58, 0xac, 0x62, 0x69, 0xb3, 0x61, 0x6e, 0x93, 0xa, 0x5, 0x7, 0xf, 0xaa, 0x9e, 0xb0, 0xfb, 0x65, 0x1, 0x5d, 0x3, 0xa5, 0xfc, 0x5b, 0xfe, 0xa3, 0x1, 0x3a, 0x2, 0x21, 0xfd, 0xd8, 0x28, 0xb3, 0x4e, 0x45, 0x3b, 0x4, 0x3, 0x2, 0x6, 0x3d, 0x4c, 0x54, 0xb3, 0x4e, 0x39, 0xc, 0x6, 0x41, 0x5, 0x2, 0x2, 0x6, 0x3d, 0x4b, 0x1, 0x9a, 0xb2, 0x4f, 0x45, 0x3b, 0x4, 0x3, 0x2, 0x6, 0x3d, 0x4c, 0x53, 0xb2, 0x4e, 0x45, 0x3b, 0x4, 0x2, 0x3, 0x6, 0x43, 0xc, 0x45, 0x3, 0xec, 0xd7, 0xfe, 0x8a, 0x56, 0xa6, 0x58, 0xfe, 0x8c, 0xd7, 0xf7, 0x51, 0x2d, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd9, 0xfd, 0xed, 0x5, 0xdc, 0x5, 0x8b, 0x0, 0x36, 0x0, 0x41, 0x0, 0x0, 0x1, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x7, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x2f, 0x1, 0x7, 0x27, 0x37, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x37, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x36, 0x37, 0x36, 0x17, 0x16, 0x1f, 0x1, 0x37, 0x17, 0x7, 0x16, 0x33, 0x32, 0x36, 0x13, 0x0, 0x5, 0x4, 0x5, 0x15, 0x0, 0x25, 0x35, 0x24, 0x1, 0x5, 0xdc, 0x6a, 0xb2, 0x62, 0x44, 0x53, 0x34, 0x8c, 0x57, 0x56, 0xa8, 0x68, 0x6a, 0xb2, 0x62, 0x6d, 0x93, 0x8, 0x5c, 0xa4, 0x59, 0x40, 0x2f, 0x58, 0xac, 0x62, 0x68, 0xb4, 0x60, 0x45, 0x53, 0x33, 0x8b, 0x56, 0x58, 0xac, 0x62, 0x68, 0x5a, 0x6d, 0x4d, 0x92, 0x70, 0x7, 0x5b, 0xa4, 0x59, 0x40, 0x31, 0x56, 0xa8, 0x67, 0xfe, 0xcd, 0xfd, 0xd8, 0x2, 0x21, 0x1, 0x3a, 0xfe, 0xa3, 0xfc, 0x5b, 0x3, 0xa5, 0x1, 0x5d, 0x1, 0x24, 0xb2, 0x50, 0x44, 0x17, 0x83, 0x34, 0x4b, 0x55, 0xb3, 0x4e, 0x45, 0x3b, 0x3, 0xe9, 0x40, 0xe2, 0x10, 0x4c, 0x54, 0xb3, 0x4e, 0x45, 0x17, 0x82, 0x34, 0x4c, 0x52, 0xb2, 0x4e, 0x22, 0x2a, 0x8, 0xe, 0x2c, 0x3, 0xe9, 0x40, 0xe3, 0xf, 0x4a, 0x3, 0xe6, 0xfe, 0xe5, 0x2d, 0x51, 0xf7, 0xd7, 0x1, 0x74, 0x58, 0xa6, 0x56, 0x1, 0x76, 0x0, 0x2, 0x0, 0xd9, 0xfd, 0xed, 0x5, 0xdc, 0x5, 0x8b, 0x0, 0x36, 0x0, 0x41, 0x0, 0x0, 0x1, 0x15, 0xe, 0x1, 0x23, 0x22, 0x27, 0x7, 0x16, 0x33, 0x32, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x2f, 0x1, 0x7, 0x27, 0x37, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x37, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x36, 0x37, 0x36, 0x17, 0x16, 0x1f, 0x1, 0x37, 0x17, 0x7, 0x16, 0x33, 0x32, 0x36, 0x1, 0x35, 0x0, 0x5, 0x15, 0x4, 0x1, 0x35, 0x24, 0x25, 0x24, 0x5, 0xdc, 0x6a, 0xb2, 0x62, 0x44, 0x53, 0x34, 0x8c, 0x57, 0x56, 0xa8, 0x68, 0x6a, 0xb2, 0x62, 0x6d, 0x93, 0x8, 0x5c, 0xa4, 0x59, 0x40, 0x2f, 0x58, 0xac, 0x62, 0x68, 0xb4, 0x60, 0x45, 0x53, 0x33, 0x8b, 0x56, 0x58, 0xac, 0x62, 0x68, 0x5a, 0x6d, 0x4d, 0x92, 0x70, 0x7, 0x5b, 0xa4, 0x59, 0x40, 0x31, 0x56, 0xa8, 0xfb, 0x65, 0x1, 0x5d, 0x3, 0xa5, 0xfc, 0x5b, 0xfe, 0xa3, 0x1, 0x3a, 0x2, 0x21, 0xfd, 0xd8, 0x1, 0x24, 0xb2, 0x50, 0x44, 0x17, 0x83, 0x34, 0x4b, 0x55, 0xb3, 0x4e, 0x45, 0x3b, 0x3, 0xe9, 0x40, 0xe2, 0x10, 0x4c, 0x54, 0xb3, 0x4e, 0x45, 0x17, 0x82, 0x34, 0x4c, 0x52, 0xb2, 0x4e, 0x22, 0x2a, 0x8, 0xe, 0x2c, 0x3, 0xe9, 0x40, 0xe3, 0xf, 0x4a, 0x3, 0xe6, 0xd7, 0xfe, 0x8a, 0x56, 0xa6, 0x58, 0xfe, 0x8c, 0xd7, 0xf7, 0x51, 0x2d, 0x0, 0x0, 0x0, 0x3, 0x0, 0xd9, 0xfe, 0xa1, 0x5, 0xdb, 0x4, 0xae, 0x0, 0x3, 0x0, 0x7, 0x0, 0xe, 0x0, 0x0, 0x37, 0x1, 0x15, 0x1, 0x11, 0x1, 0x15, 0x9, 0x3, 0x15, 0x1, 0x35, 0x1, 0xd9, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfc, 0x40, 0x3, 0xc0, 0xfa, 0xfe, 0x5, 0x2, 0xc3, 0xfe, 0x90, 0xb2, 0x1, 0x70, 0x1, 0xf4, 0xfe, 0x90, 0xb2, 0x1, 0x70, 0x2, 0xab, 0xfe, 0xeb, 0xfe, 0xee, 0xb2, 0x1, 0x70, 0xaa, 0x1, 0x6f, 0x0, 0x0, 0x3, 0x0, 0xd9, 0xfe, 0xa1, 0x5, 0xdb, 0x4, 0xae, 0x0, 0x3, 0x0, 0x7, 0x0, 0xe, 0x0, 0x0, 0x25, 0x15, 0x1, 0x35, 0x1, 0x15, 0x1, 0x35, 0x11, 0x35, 0x1, 0x15, 0x1, 0x35, 0x1, 0x5, 0xdb, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x5, 0x2, 0xfa, 0xfe, 0x3, 0xc0, 0xc3, 0xb2, 0xfe, 0x90, 0xb2, 0x2, 0xb2, 0xb2, 0xfe, 0x90, 0xb2, 0x3, 0x69, 0xb0, 0xfe, 0x91, 0xaa, 0xfe, 0x90, 0xb2, 0x1, 0x12, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xb5, 0xff, 0xc9, 0x5, 0x9f, 0x4, 0xb3, 0x0, 0x6, 0x0, 0xd, 0x0, 0x0, 0x1, 0x17, 0x1, 0x17, 0x1, 0x17, 0x11, 0x13, 0x27, 0x9, 0x2, 0x27, 0x21, 0x3, 0xc2, 0x5d, 0xfd, 0x23, 0xbf, 0x2, 0xdd, 0x5c, 0x65, 0xc1, 0xfd, 0x23, 0xfe, 0xb4, 0x2, 0xdd, 0xc2, 0x2, 0xcf, 0x4, 0x4e, 0x5c, 0xfd, 0x23, 0xbf, 0x2, 0xdd, 0x5d, 0x1, 0x78, 0xfd, 0x96, 0xc2, 0xfd, 0x23, 0x1, 0x4c, 0x2, 0xdd, 0xc1, 0x0, 0x0, 0x0, 0x2, 0x1, 0x20, 0xff, 0xc9, 0x6, 0xa, 0x4, 0xb3, 0x0, 0x6, 0x0, 0xd, 0x0, 0x0, 0x1, 0x21, 0x11, 0x37, 0x1, 0x37, 0x9, 0x1, 0x11, 0x21, 0x7, 0x9, 0x2, 0x2, 0xfd, 0xfe, 0x88, 0x5c, 0x2, 0xdd, 0xbf, 0xfd, 0x23, 0xfe, 0x80, 0x2, 0xcf, 0xc2, 0x2, 0xdd, 0xfe, 0xb4, 0xfd, 0x23, 0x4, 0x4e, 0xfe, 0x88, 0x5d, 0xfd, 0x23, 0xbf, 0x2, 0xdd, 0xfd, 0xf2, 0x2, 0xcf, 0xc1, 0xfd, 0x23, 0xfe, 0xb4, 0x2, 0xdd, 0x0, 0x0, 0x2, 0x0, 0xb5, 0x0, 0x34, 0x5, 0x9f, 0x5, 0x1e, 0x0, 0x6, 0x0, 0xd, 0x0, 0x0, 0x1, 0x7, 0x1, 0x7, 0x1, 0x7, 0x21, 0x5, 0x37, 0x9, 0x2, 0x37, 0x11, 0x5, 0x3a, 0x5c, 0xfd, 0x23, 0xbf, 0x2, 0xdd, 0x5d, 0x1, 0x78, 0xfd, 0x96, 0xc2, 0xfd, 0x23, 0x1, 0x4c, 0x2, 0xdd, 0xc1, 0x2, 0x11, 0x5d, 0x2, 0xdd, 0xbf, 0xfd, 0x23, 0x5c, 0x65, 0xc1, 0x2, 0xdd, 0x1, 0x4c, 0xfd, 0x23, 0xc2, 0xfd, 0x31, 0x0, 0x0, 0x0, 0x2, 0x1, 0x20, 0x0, 0x34, 0x6, 0xa, 0x5, 0x1e, 0x0, 0x6, 0x0, 0xd, 0x0, 0x0, 0x25, 0x27, 0x1, 0x27, 0x1, 0x27, 0x11, 0x3, 0x17, 0x9, 0x2, 0x17, 0x21, 0x2, 0xfd, 0x5d, 0x2, 0xdd, 0xbf, 0xfd, 0x23, 0x5c, 0x65, 0xc1, 0x2, 0xdd, 0x1, 0x4c, 0xfd, 0x23, 0xc2, 0xfd, 0x31, 0x99, 0x5c, 0x2, 0xdd, 0xbf, 0xfd, 0x23, 0x5d, 0xfe, 0x88, 0x2, 0x6a, 0xc2, 0x2, 0xdd, 0xfe, 0xb4, 0xfd, 0x23, 0xc1, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x37, 0x0, 0x86, 0x6, 0x50, 0x4, 0x7e, 0x0, 0x9, 0x0, 0x13, 0x0, 0x0, 0x25, 0x9, 0x1, 0x11, 0x21, 0x11, 0x9, 0x1, 0x11, 0x21, 0x1, 0x15, 0x21, 0x35, 0x9, 0x1, 0x35, 0x21, 0x15, 0x1, 0x2, 0x33, 0xfe, 0x4, 0x1, 0xfc, 0x2, 0x21, 0x1, 0xfc, 0xfe, 0x4, 0xfd, 0xdf, 0x2, 0x85, 0xfd, 0x17, 0xfe, 0xf6, 0x1, 0xa, 0x2, 0xe9, 0x1, 0xa, 0x86, 0x1, 0xfc, 0x1, 0xfc, 0xfe, 0xef, 0x1, 0x11, 0xfe, 0x4, 0xfe, 0x4, 0x1, 0x11, 0x1, 0xf5, 0x83, 0x83, 0xfe, 0xf6, 0xfe, 0xf6, 0x83, 0x83, 0x1, 0xa, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x37, 0x0, 0x86, 0x6, 0x3f, 0x4, 0x7e, 0x0, 0x6, 0x0, 0x0, 0x25, 0x9, 0x1, 0x11, 0x21, 0x11, 0x21, 0x2, 0x33, 0xfe, 0x4, 0x1, 0xfc, 0x4, 0xc, 0xfb, 0xf4, 0x86, 0x1, 0xfc, 0x1, 0xfc, 0xfe, 0xef, 0xfe, 0x2a, 0x0, 0x1, 0x1, 0x5e, 0x0, 0x0, 0x5, 0x56, 0x6, 0x8, 0x0, 0x6, 0x0, 0x0, 0x9, 0x2, 0x21, 0x11, 0x21, 0x11, 0x1, 0x5e, 0x1, 0xfc, 0x1, 0xfc, 0xfe, 0xef, 0xfe, 0x2a, 0x4, 0xc, 0x1, 0xfc, 0xfe, 0x4, 0xfb, 0xf4, 0x4, 0xc, 0x0, 0x1, 0x1, 0x5e, 0xff, 0xcd, 0x5, 0x56, 0x5, 0xd5, 0x0, 0x6, 0x0, 0x0, 0x1, 0x21, 0x11, 0x21, 0x11, 0x21, 0x1, 0x1, 0x5e, 0x1, 0x11, 0x1, 0xd6, 0x1, 0x11, 0xfe, 0x4, 0x1, 0xc9, 0x4, 0xc, 0xfb, 0xf4, 0xfe, 0x4, 0x0, 0x0, 0x1, 0x0, 0xb5, 0xff, 0xc9, 0x5, 0x9f, 0x4, 0xb3, 0x0, 0x6, 0x0, 0x0, 0x1, 0x27, 0x9, 0x2, 0x27, 0x21, 0x5, 0x9f, 0xc1, 0xfd, 0x23, 0xfe, 0xb4, 0x2, 0xdd, 0xc2, 0x2, 0xcf, 0x1, 0xe4, 0xc2, 0xfd, 0x23, 0x1, 0x4c, 0x2, 0xdd, 0xc1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x20, 0xff, 0xc9, 0x6, 0xa, 0x4, 0xb3, 0x0, 0x6, 0x0, 0x0, 0x1, 0x11, 0x21, 0x7, 0x9, 0x2, 0x1, 0x20, 0x2, 0xcf, 0xc2, 0x2, 0xdd, 0xfe, 0xb4, 0xfd, 0x23, 0x1, 0xe4, 0x2, 0xcf, 0xc1, 0xfd, 0x23, 0xfe, 0xb4, 0x2, 0xdd, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb5, 0x0, 0x34, 0x5, 0x9f, 0x5, 0x1e, 0x0, 0x6, 0x0, 0x0, 0x25, 0x37, 0x9, 0x2, 0x37, 0x11, 0x2, 0xd0, 0xc2, 0xfd, 0x23, 0x1, 0x4c, 0x2, 0xdd, 0xc1, 0x34, 0xc1, 0x2, 0xdd, 0x1, 0x4c, 0xfd, 0x23, 0xc2, 0xfd, 0x31, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x20, 0x0, 0x34, 0x6, 0xa, 0x5, 0x1e, 0x0, 0x6, 0x0, 0x0, 0x1, 0x17, 0x9, 0x2, 0x17, 0x21, 0x1, 0x20, 0xc1, 0x2, 0xdd, 0x1, 0x4c, 0xfd, 0x23, 0xc2, 0xfd, 0x31, 0x3, 0x3, 0xc2, 0x2, 0xdd, 0xfe, 0xb4, 0xfd, 0x23, 0xc1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x37, 0x0, 0x86, 0x6, 0x50, 0x4, 0x7e, 0x0, 0x9, 0x0, 0x0, 0x25, 0x9, 0x1, 0x11, 0x21, 0x11, 0x9, 0x1, 0x11, 0x21, 0x2, 0x33, 0xfe, 0x4, 0x1, 0xfc, 0x2, 0x21, 0x1, 0xfc, 0xfe, 0x4, 0xfd, 0xdf, 0x86, 0x1, 0xfc, 0x1, 0xfc, 0xfe, 0xef, 0x1, 0x11, 0xfe, 0x4, 0xfe, 0x4, 0x1, 0x11, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x5e, 0xff, 0xcd, 0x5, 0x56, 0x6, 0x8, 0x0, 0x9, 0x0, 0x0, 0x1, 0x21, 0x9, 0x1, 0x21, 0x11, 0x21, 0x9, 0x1, 0x21, 0x4, 0x45, 0x1, 0x11, 0xfe, 0x4, 0xfe, 0x4, 0x1, 0x11, 0xfe, 0xef, 0x1, 0xfc, 0x1, 0xfc, 0xfe, 0xef, 0x1, 0xc9, 0xfe, 0x4, 0x1, 0xfc, 0x2, 0x43, 0x1, 0xfc, 0xfe, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x75, 0xff, 0xf9, 0x6, 0x52, 0x2, 0xd7, 0x0, 0xb, 0x0, 0x0, 0x5, 0x23, 0x1, 0x37, 0x17, 0x11, 0x21, 0x35, 0x21, 0x11, 0x37, 0x17, 0x4, 0xc8, 0x5a, 0xfe, 0x78, 0x78, 0xe8, 0xfc, 0x2f, 0x4, 0x7b, 0xea, 0x78, 0x7, 0x1, 0x8a, 0x78, 0xea, 0x1, 0x1c, 0xaa, 0xfe, 0x3a, 0xea, 0x78, 0x0, 0x0, 0x1, 0x0, 0x75, 0x2, 0x2d, 0x6, 0x52, 0x5, 0xb, 0x0, 0xb, 0x0, 0x0, 0x9, 0x1, 0x7, 0x27, 0x11, 0x21, 0x35, 0x21, 0x11, 0x7, 0x27, 0x1, 0x4, 0xc8, 0x1, 0x8a, 0x78, 0xea, 0xfb, 0x85, 0x3, 0xd1, 0xe8, 0x78, 0x1, 0x88, 0x5, 0xb, 0xfe, 0x76, 0x78, 0xea, 0xfe, 0x3a, 0xaa, 0x1, 0x1c, 0xea, 0x78, 0x1, 0x8a, 0x0, 0x0, 0x1, 0x0, 0x48, 0xff, 0xf9, 0x6, 0x25, 0x2, 0xd7, 0x0, 0xb, 0x0, 0x0, 0x5, 0x1, 0x37, 0x17, 0x11, 0x21, 0x15, 0x21, 0x11, 0x37, 0x17, 0x1, 0x1, 0xd2, 0xfe, 0x76, 0x78, 0xea, 0x4, 0x7b, 0xfc, 0x2f, 0xe8, 0x78, 0xfe, 0x78, 0x7, 0x1, 0x8a, 0x78, 0xea, 0x1, 0xc6, 0xaa, 0xfe, 0xe4, 0xea, 0x78, 0xfe, 0x76, 0x0, 0x0, 0x0, 0x1, 0x0, 0x48, 0x2, 0x2d, 0x6, 0x25, 0x5, 0xb, 0x0, 0xb, 0x0, 0x0, 0x1, 0x33, 0x1, 0x7, 0x27, 0x11, 0x21, 0x15, 0x21, 0x11, 0x7, 0x27, 0x1, 0xd2, 0x5a, 0x1, 0x88, 0x78, 0xe8, 0x3, 0xd1, 0xfb, 0x85, 0xea, 0x78, 0x5, 0xb, 0xfe, 0x76, 0x78, 0xea, 0xfe, 0xe4, 0xaa, 0x1, 0xc6, 0xea, 0x78, 0x0, 0x2, 0x0, 0xba, 0xff, 0x4, 0x6, 0xd5, 0x5, 0x24, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x17, 0x11, 0x21, 0x11, 0x25, 0x21, 0x11, 0x21, 0xba, 0x6, 0x1b, 0xfa, 0x57, 0x5, 0x37, 0xfa, 0xc9, 0xfc, 0x6, 0x20, 0xf9, 0xe0, 0x72, 0x2, 0x9e, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0xff, 0x4, 0x6, 0xd5, 0x5, 0x24, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x17, 0x11, 0x21, 0x11, 0x1, 0x21, 0x11, 0x21, 0xba, 0x6, 0x1b, 0xfa, 0x57, 0x5, 0x37, 0xfa, 0xc9, 0xfc, 0x6, 0x20, 0xf9, 0xe0, 0x3, 0x10, 0x2, 0x9e, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0xff, 0x4, 0x6, 0xd5, 0x5, 0x24, 0x0, 0x2, 0x0, 0x6, 0x0, 0x0, 0x5, 0x21, 0x1, 0x3, 0x11, 0x21, 0x11, 0x1, 0x2c, 0x5, 0x37, 0xfa, 0xc9, 0x72, 0x6, 0x1b, 0x8a, 0x5, 0x3c, 0xfa, 0x52, 0x6, 0x20, 0xf9, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0xff, 0x4, 0x6, 0xd5, 0x5, 0x24, 0x0, 0x2, 0x0, 0x6, 0x0, 0x0, 0x5, 0x11, 0x21, 0x3, 0x11, 0x21, 0x11, 0x6, 0x63, 0xfa, 0xc9, 0x72, 0x6, 0x1b, 0x8a, 0x5, 0x3c, 0xfa, 0x52, 0x6, 0x20, 0xf9, 0xe0, 0x0, 0x0, 0x2, 0x0, 0x6, 0xff, 0x4, 0x6, 0x21, 0x5, 0x24, 0x0, 0x2, 0x0, 0x6, 0x0, 0x0, 0x5, 0x9, 0x5, 0x3, 0x13, 0x2, 0x76, 0xfd, 0x8a, 0xfc, 0xf3, 0x3, 0xd, 0x3, 0xe, 0xfc, 0xf2, 0x64, 0x2, 0x78, 0x2, 0x78, 0xfd, 0x88, 0x3, 0x10, 0xfc, 0xf0, 0xfc, 0xf0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6, 0xff, 0x4, 0x6, 0x21, 0x5, 0x24, 0x0, 0x2, 0x0, 0x6, 0x0, 0x0, 0x13, 0x1, 0x11, 0x9, 0x3, 0x9e, 0x2, 0x75, 0xfc, 0xf3, 0x3, 0xd, 0x3, 0xe, 0xfc, 0xf2, 0x2, 0x14, 0xfd, 0x88, 0x4, 0xf0, 0xfd, 0x88, 0x3, 0x10, 0xfc, 0xf0, 0xfc, 0xf0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6, 0xff, 0x4, 0x6, 0x21, 0x5, 0x24, 0x0, 0x2, 0x0, 0x6, 0x0, 0x0, 0x13, 0x9, 0x1, 0x21, 0x9, 0x2, 0x9e, 0x2, 0x75, 0x2, 0x76, 0xfa, 0x7d, 0x3, 0xd, 0x3, 0xe, 0xfc, 0xf2, 0x2, 0x14, 0xfd, 0x88, 0x2, 0x78, 0x3, 0x10, 0xfc, 0xf0, 0xfc, 0xf0, 0x0, 0x0, 0x2, 0x0, 0x6, 0xff, 0x4, 0x6, 0x21, 0x5, 0x24, 0x0, 0x2, 0x0, 0x6, 0x0, 0x0, 0x13, 0x21, 0x9, 0x4, 0x9e, 0x4, 0xeb, 0xfd, 0x8a, 0xfc, 0xf3, 0x3, 0xd, 0x3, 0xe, 0xfc, 0xf2, 0x2, 0x14, 0x2, 0x78, 0xfd, 0x88, 0x3, 0x10, 0xfc, 0xf0, 0xfc, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0xba, 0xff, 0x4, 0x6, 0xd5, 0x5, 0x24, 0x0, 0x5, 0x0, 0x9, 0x0, 0xd, 0x0, 0x11, 0x0, 0x15, 0x0, 0x1b, 0x0, 0x1f, 0x0, 0x23, 0x0, 0x29, 0x0, 0x2d, 0x0, 0x31, 0x0, 0x37, 0x0, 0x0, 0x5, 0x15, 0x23, 0x35, 0x33, 0x35, 0x13, 0x15, 0x23, 0x35, 0x13, 0x15, 0x23, 0x35, 0x1, 0x15, 0x23, 0x35, 0x23, 0x15, 0x23, 0x35, 0x1, 0x15, 0x23, 0x35, 0x23, 0x35, 0x23, 0x15, 0x23, 0x35, 0x23, 0x15, 0x23, 0x35, 0x1, 0x15, 0x33, 0x15, 0x23, 0x35, 0x13, 0x15, 0x23, 0x35, 0x13, 0x15, 0x23, 0x35, 0x13, 0x15, 0x23, 0x15, 0x23, 0x35, 0x6, 0xd5, 0xe3, 0x71, 0x72, 0x72, 0x72, 0x72, 0xfe, 0xa5, 0xcc, 0xea, 0xca, 0x4, 0x4d, 0x72, 0x71, 0xea, 0xcc, 0xea, 0xca, 0xfe, 0xa4, 0x72, 0xe4, 0x72, 0x72, 0x72, 0x72, 0xe4, 0x72, 0x72, 0x16, 0xe6, 0x74, 0x72, 0x1, 0xb6, 0xcc, 0xcc, 0x1, 0xb4, 0xca, 0xca, 0xfc, 0x24, 0x74, 0x74, 0x74, 0x74, 0x5, 0xac, 0xe6, 0x72, 0x74, 0x74, 0x74, 0x74, 0x74, 0xfa, 0xc6, 0x72, 0x74, 0xe6, 0x1, 0xb6, 0xcc, 0xcc, 0x1, 0xb4, 0xca, 0xca, 0x1, 0xd0, 0x74, 0x72, 0xe6, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x24, 0xff, 0xca, 0x6, 0xd0, 0x6, 0x23, 0x0, 0x4, 0x0, 0x0, 0x13, 0x9, 0x2, 0x21, 0x24, 0x3, 0x56, 0x3, 0x56, 0xfe, 0xba, 0xfb, 0xe0, 0x3, 0xb6, 0x2, 0x6d, 0xfd, 0x93, 0xfc, 0x14, 0x0, 0x0, 0x2, 0x0, 0x24, 0xff, 0xca, 0x6, 0xd0, 0x6, 0x23, 0x0, 0x4, 0x0, 0x9, 0x0, 0x0, 0x13, 0x1, 0x21, 0x9, 0x5, 0x21, 0xaa, 0x1, 0x13, 0x3, 0x7a, 0x1, 0x13, 0xfd, 0x30, 0xfc, 0xaa, 0x3, 0x56, 0x3, 0x56, 0xfe, 0xba, 0xfb, 0xe0, 0x3, 0x8b, 0xfc, 0xb1, 0x3, 0x4f, 0x2, 0xc, 0xfe, 0x1f, 0x2, 0x6d, 0xfd, 0x93, 0xfc, 0x14, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x96, 0xff, 0x46, 0x6, 0x66, 0x5, 0xfc, 0x0, 0x5, 0x0, 0xb, 0x0, 0x0, 0x9, 0x2, 0x11, 0x9, 0x1, 0x3, 0x11, 0x9, 0x1, 0x11, 0x1, 0x1, 0x8, 0x2, 0x76, 0x2, 0x76, 0xfd, 0x8a, 0xfd, 0x8a, 0x72, 0x2, 0xe8, 0x2, 0xe8, 0xfd, 0x18, 0x1, 0x35, 0xfe, 0x95, 0x1, 0x6b, 0x2, 0xd8, 0x1, 0x6b, 0xfe, 0x95, 0xfc, 0xe6, 0x3, 0x5c, 0x1, 0xad, 0xfe, 0x53, 0xfc, 0xa4, 0xfe, 0x53, 0x0, 0x1, 0x0, 0x96, 0xff, 0x46, 0x6, 0x66, 0x5, 0xfc, 0x0, 0x5, 0x0, 0x0, 0x37, 0x11, 0x9, 0x1, 0x11, 0x1, 0x96, 0x2, 0xe8, 0x2, 0xe8, 0xfd, 0x18, 0xf3, 0x3, 0x5c, 0x1, 0xad, 0xfe, 0x53, 0xfc, 0xa4, 0xfe, 0x53, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0xff, 0xb9, 0x6, 0xd9, 0x5, 0x89, 0x0, 0x5, 0x0, 0x0, 0x5, 0x9, 0x1, 0x21, 0x9, 0x1, 0x1, 0xd0, 0xfe, 0x52, 0x1, 0xae, 0x3, 0x5b, 0x1, 0xae, 0xfe, 0x52, 0x47, 0x2, 0xe8, 0x2, 0xe8, 0xfd, 0x18, 0xfd, 0x18, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x70, 0xfe, 0x0, 0x8, 0x84, 0x6, 0x28, 0x0, 0xb, 0x0, 0x0, 0x16, 0x10, 0x1, 0x24, 0x20, 0x5, 0x0, 0x10, 0x1, 0x4, 0x20, 0x25, 0x70, 0x2, 0x5, 0x1, 0x3, 0x2, 0x4, 0x1, 0x3, 0x2, 0x5, 0xfd, 0xfb, 0xfe, 0xfd, 0xfd, 0xfc, 0xfe, 0xfd, 0x40, 0x4, 0xa8, 0x1, 0x2a, 0x96, 0x96, 0xfe, 0xd6, 0xfb, 0x58, 0xfe, 0xd6, 0x96, 0x96, 0x0, 0x1, 0x0, 0x4d, 0xff, 0xa0, 0x6, 0xa7, 0x6, 0x4d, 0x0, 0x4, 0x0, 0x0, 0x9, 0x3, 0x11, 0x4, 0x3a, 0x2, 0x6c, 0xfd, 0x94, 0xfc, 0x14, 0x6, 0x4c, 0xfc, 0xaa, 0xfc, 0xaa, 0x1, 0x46, 0x4, 0x20, 0x0, 0x0, 0x2, 0x0, 0x4d, 0xff, 0xa0, 0x6, 0xa7, 0x6, 0x4d, 0x0, 0x4, 0x0, 0x9, 0x0, 0x0, 0x9, 0x1, 0x11, 0x9, 0x5, 0x11, 0x4, 0xe, 0xfc, 0xb2, 0x3, 0x4e, 0x2, 0xc, 0xfe, 0x20, 0x2, 0x6c, 0xfd, 0x94, 0xfc, 0x14, 0x5, 0xc6, 0xfe, 0xee, 0xfc, 0x86, 0xfe, 0xec, 0x2, 0xd0, 0x3, 0x56, 0xfc, 0xaa, 0xfc, 0xaa, 0x1, 0x46, 0x4, 0x20, 0x0, 0x0, 0x0, 0x1, 0x0, 0xa, 0x0, 0x0, 0x4, 0x6a, 0x5, 0xd5, 0x0, 0x15, 0x0, 0x0, 0x13, 0x33, 0x11, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0xc9, 0xca, 0x1, 0x5b, 0xfe, 0xa5, 0x1, 0x5b, 0xfe, 0xa5, 0x2, 0xd7, 0xfc, 0x5f, 0xbf, 0xbf, 0xbf, 0xbf, 0x5, 0xd5, 0xfe, 0x7, 0x90, 0x90, 0x90, 0xfe, 0x7e, 0xaa, 0x2, 0x2c, 0x90, 0x90, 0x90, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xa, 0x0, 0x0, 0x2, 0x2a, 0x6, 0x14, 0x0, 0x13, 0x0, 0x0, 0x1, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x1, 0x79, 0xb1, 0xb1, 0xb8, 0xb7, 0xb7, 0xb7, 0xb7, 0xb8, 0xb1, 0xb1, 0x2, 0xbc, 0x90, 0xfd, 0xd4, 0x2, 0x2c, 0x90, 0x90, 0x90, 0x2, 0x38, 0xfd, 0xc8, 0x90, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xd7, 0x0, 0x0, 0x4, 0x6a, 0x5, 0xd5, 0x0, 0x23, 0x0, 0x0, 0x13, 0x33, 0x11, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x33, 0xe, 0x1, 0x23, 0x22, 0x27, 0x11, 0x21, 0x15, 0x21, 0x11, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x23, 0x3e, 0x1, 0x33, 0x32, 0x17, 0xc9, 0xca, 0x2, 0x1, 0x11, 0xd, 0x26, 0x12, 0x12, 0x2, 0x7d, 0x2, 0x66, 0x5b, 0x14, 0x13, 0x2, 0xd7, 0xfc, 0x5f, 0x6, 0x5, 0x11, 0xd, 0x26, 0x12, 0x12, 0x2, 0x7d, 0x2, 0x66, 0x5b, 0x19, 0x16, 0x5, 0xd5, 0xfd, 0x2c, 0x1, 0x1, 0x9, 0x25, 0x24, 0x52, 0x86, 0x94, 0x4, 0xfe, 0x2f, 0xaa, 0x3, 0x2, 0x4, 0x3, 0x9, 0x25, 0x24, 0x52, 0x86, 0x94, 0x6, 0x0, 0x0, 0x2, 0x0, 0xa, 0x0, 0x0, 0x4, 0x8d, 0x5, 0xd5, 0x0, 0x10, 0x0, 0x1d, 0x0, 0x0, 0x13, 0x21, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x17, 0x15, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x1, 0x15, 0x21, 0x15, 0xc9, 0x1, 0xc8, 0xfb, 0x80, 0x81, 0x81, 0x80, 0xfb, 0xfe, 0xca, 0xbf, 0xbf, 0xca, 0xfe, 0x8d, 0x9a, 0x9a, 0x8d, 0xfe, 0x1, 0x5b, 0x5, 0xd5, 0x71, 0x72, 0xdb, 0xdd, 0x71, 0x71, 0xfd, 0xa8, 0x3, 0xcf, 0x90, 0x90, 0xd1, 0x92, 0x87, 0x86, 0x92, 0xd0, 0x90, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc9, 0xfe, 0x66, 0x5, 0x54, 0x5, 0xd5, 0x0, 0x1b, 0x0, 0x24, 0x0, 0xc7, 0x40, 0x1a, 0x11, 0xe, 0xf, 0xb, 0x5, 0x6, 0x3, 0x19, 0x9, 0x0, 0x24, 0x1e, 0x16, 0x5, 0xa, 0x21, 0x19, 0x4, 0x19, 0x3f, 0x1c, 0xa, 0x1c, 0x14, 0x4, 0x25, 0x10, 0xfc, 0xec, 0x32, 0xfc, 0xc4, 0xec, 0x11, 0x17, 0x39, 0x11, 0x39, 0x39, 0x39, 0x10, 0xcc, 0x39, 0x39, 0x31, 0x0, 0x40, 0x26, 0x9, 0x8, 0x7, 0x3, 0xa, 0x6, 0x11, 0x3, 0x4, 0x3, 0x5, 0x11, 0x4, 0x4, 0x3, 0x42, 0x14, 0xb, 0xa, 0xe, 0x95, 0x11, 0xb0, 0x4, 0x6, 0x4, 0x0, 0x1d, 0x3, 0x4, 0x1d, 0x95, 0x9, 0x24, 0x95, 0x15, 0x81, 0x4, 0x2f, 0xf4, 0xec, 0xd4, 0xec, 0x12, 0x39, 0x12, 0x39, 0x12, 0x39, 0x10, 0xf4, 0xec, 0x11, 0x39, 0x39, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x7, 0x10, 0x5, 0xed, 0x11, 0x17, 0x39, 0x59, 0x22, 0xb2, 0x40, 0x26, 0x1, 0x1, 0x5d, 0x40, 0x42, 0x7a, 0x1b, 0x1, 0x5, 0x0, 0x5, 0x1, 0x5, 0x2, 0x6, 0x3, 0x7, 0x4, 0x15, 0x0, 0x15, 0x1, 0x14, 0x2, 0x16, 0x3, 0x17, 0x4, 0x25, 0x0, 0x25, 0x1, 0x25, 0x2, 0x26, 0x3, 0x27, 0x6, 0x26, 0x7, 0x26, 0x8, 0x26, 0x9, 0x20, 0x26, 0x36, 0x1, 0x36, 0x2, 0x46, 0x1, 0x46, 0x2, 0x68, 0x5, 0x75, 0x4, 0x75, 0x5, 0x77, 0x1b, 0x88, 0x6, 0x88, 0x7, 0x98, 0x6, 0x98, 0x7, 0x1f, 0x5d, 0x0, 0x5d, 0x1, 0x1e, 0x1, 0x17, 0x13, 0x23, 0x3, 0x2e, 0x1, 0x2b, 0x1, 0x11, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x26, 0x19, 0x1, 0x21, 0x20, 0x16, 0x15, 0x14, 0x6, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x3, 0x8d, 0x41, 0x7b, 0x3e, 0xcd, 0xd9, 0xbf, 0x4a, 0x8b, 0x78, 0xdc, 0x6e, 0x86, 0x3f, 0x4d, 0xe3, 0xcd, 0x1, 0xc8, 0x1, 0x0, 0xfc, 0x83, 0xfd, 0x89, 0xfe, 0x92, 0x95, 0x95, 0x92, 0x2, 0xbc, 0x16, 0x90, 0x7e, 0xfe, 0x68, 0x1, 0x7f, 0x96, 0x62, 0xfd, 0xf1, 0xc2, 0x96, 0xaa, 0xf4, 0x1, 0xe, 0x5, 0x6d, 0xd6, 0xd8, 0x8d, 0xba, 0x2, 0x4f, 0xfd, 0xee, 0x87, 0x83, 0x83, 0x85, 0x0, 0x4, 0x0, 0x48, 0xff, 0xa2, 0x4, 0x9c, 0x4, 0xbc, 0x0, 0x23, 0x0, 0x28, 0x0, 0x30, 0x0, 0x37, 0x0, 0x0, 0x1, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x27, 0x7, 0x27, 0x37, 0x26, 0x35, 0x34, 0x36, 0x3b, 0x1, 0x37, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x37, 0x17, 0x7, 0x16, 0xf, 0x1, 0x33, 0x35, 0x34, 0x7, 0x1, 0x16, 0x33, 0x32, 0x36, 0x3d, 0x1, 0x1, 0x13, 0x6, 0x7, 0x6, 0x15, 0x14, 0x4, 0x2d, 0xb8, 0x3f, 0xbc, 0x88, 0x87, 0x5c, 0x67, 0x60, 0x6e, 0x3b, 0xfd, 0xfb, 0x29, 0x9e, 0xb, 0xd, 0x54, 0x97, 0x60, 0xb6, 0x54, 0x65, 0xbe, 0x5a, 0xe7, 0x78, 0x94, 0x5f, 0xa8, 0x39, 0xbb, 0x35, 0x38, 0xaf, 0xfe, 0xbc, 0x3e, 0x63, 0x99, 0xb9, 0xfd, 0xc5, 0xe5, 0x63, 0x33, 0x56, 0x2, 0x7f, 0xfd, 0x81, 0xaa, 0x66, 0x61, 0x3c, 0x7d, 0x4e, 0x85, 0x56, 0x7b, 0xbd, 0xc0, 0xbf, 0xc, 0xc, 0x45, 0x2e, 0x2e, 0xaa, 0x27, 0x27, 0x72, 0xb3, 0x4f, 0xcb, 0x73, 0x2b, 0x41, 0x12, 0x18, 0xba, 0xfe, 0x78, 0x2e, 0xd9, 0xb4, 0x29, 0xfe, 0xe2, 0x1, 0x15, 0xc, 0x1e, 0x33, 0x7b, 0x20, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xe8, 0xff, 0x42, 0x3, 0x12, 0x6, 0x93, 0x0, 0x1c, 0x0, 0x0, 0x1, 0x11, 0x33, 0x13, 0x33, 0x3, 0x33, 0x15, 0x23, 0x3, 0x15, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x26, 0x27, 0x3, 0x23, 0x13, 0x11, 0x23, 0x35, 0x33, 0x11, 0x1, 0x77, 0x31, 0xc0, 0xaa, 0xc0, 0xa0, 0xd1, 0xaa, 0x4b, 0x73, 0xbd, 0xbd, 0xd5, 0x51, 0xd, 0xa, 0x66, 0xaa, 0xd6, 0x87, 0x87, 0x5, 0x9e, 0xfe, 0xc2, 0x2, 0x33, 0xfd, 0xcd, 0x8f, 0xfe, 0xf, 0x6f, 0x89, 0x4e, 0x9a, 0x50, 0xc, 0x10, 0xfe, 0xd6, 0x2, 0x72, 0x2, 0x1d, 0x8f, 0x1, 0x3e, 0xff, 0xff, 0x0, 0xc9, 0xfe, 0xbf, 0x6, 0x4, 0x5, 0xd5, 0x10, 0x6, 0x4, 0x36, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0xfe, 0xe5, 0x5, 0x1c, 0x6, 0x14, 0x0, 0x19, 0x0, 0x0, 0x21, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x11, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x11, 0x33, 0x11, 0x23, 0x4, 0x64, 0xb8, 0x7c, 0x7c, 0x95, 0xac, 0xb9, 0xb9, 0x42, 0x59, 0x5a, 0x75, 0xc1, 0x63, 0x63, 0xb8, 0xb8, 0x2, 0x9e, 0x9f, 0x9e, 0xbe, 0xa4, 0xfd, 0x87, 0x6, 0x14, 0xfd, 0x9e, 0x65, 0x32, 0x32, 0x77, 0x78, 0xe8, 0xfd, 0xf5, 0xfe, 0x4c, 0x0, 0x1, 0x0, 0xc9, 0xfe, 0xbf, 0x5, 0x6a, 0x5, 0xd5, 0x0, 0xe, 0x0, 0x0, 0x25, 0x33, 0x11, 0x23, 0x11, 0x23, 0x1, 0x11, 0x23, 0x11, 0x33, 0x11, 0x1, 0x21, 0x1, 0x4, 0xc1, 0xa9, 0xc5, 0x45, 0xfd, 0x33, 0xca, 0xca, 0x2, 0x9e, 0x1, 0x4, 0xfd, 0x1b, 0xaa, 0xfe, 0x15, 0x1, 0x41, 0x2, 0xcf, 0xfd, 0x31, 0x5, 0xd5, 0xfd, 0x89, 0x2, 0x77, 0xfd, 0x48, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0xfe, 0xe5, 0x4, 0x9c, 0x6, 0x14, 0x0, 0xe, 0x0, 0x0, 0x13, 0x33, 0x11, 0x1, 0x33, 0x9, 0x1, 0x33, 0x11, 0x23, 0x11, 0x23, 0x1, 0x11, 0x23, 0xba, 0xb9, 0x2, 0x25, 0xeb, 0xfd, 0xae, 0x1, 0xcc, 0x9f, 0xb8, 0x38, 0xfd, 0xc7, 0xb9, 0x6, 0x14, 0xfc, 0x69, 0x1, 0xe3, 0xfd, 0xf4, 0xfe, 0x45, 0xfe, 0x4c, 0x1, 0x1b, 0x2, 0x23, 0xfd, 0xdd, 0x0, 0x0, 0x0, 0x1, 0x0, 0x5c, 0xfe, 0xbf, 0x5, 0xe8, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x0, 0x13, 0x21, 0x15, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x1, 0x21, 0x73, 0x4, 0x95, 0xfc, 0x50, 0x4, 0x90, 0xc9, 0xfb, 0x3d, 0x3, 0xb0, 0xfc, 0x67, 0x5, 0xd5, 0x9a, 0xfb, 0x6f, 0xfe, 0x15, 0x1, 0x41, 0x9a, 0x4, 0x91, 0x0, 0x1, 0x0, 0x58, 0xfe, 0xe5, 0x4, 0x93, 0x4, 0x60, 0x0, 0xb, 0x0, 0x0, 0x13, 0x21, 0x15, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x1, 0x21, 0x71, 0x3, 0x6a, 0xfd, 0x4c, 0x3, 0x6c, 0xb8, 0xfc, 0x7d, 0x2, 0xb4, 0xfd, 0x65, 0x4, 0x60, 0xa8, 0xfc, 0xdb, 0xfe, 0x52, 0x1, 0x1b, 0xa8, 0x3, 0x25, 0x0, 0x2, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x77, 0x5, 0xf1, 0x0, 0x10, 0x0, 0x1c, 0x0, 0x2d, 0x40, 0x18, 0x1a, 0x95, 0x0, 0xe, 0x14, 0x95, 0x5, 0x8, 0x8c, 0xe, 0x91, 0x1, 0xaf, 0x3, 0x17, 0x4, 0x0, 0x1c, 0x2, 0x11, 0x19, 0xb, 0x10, 0x1d, 0x10, 0xfc, 0xec, 0xd4, 0xec, 0x32, 0x32, 0x31, 0x0, 0x2f, 0xec, 0xe4, 0xf4, 0xc4, 0xec, 0x10, 0xc4, 0xee, 0x30, 0x1, 0x35, 0x33, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x32, 0x16, 0x1, 0x10, 0x12, 0x33, 0x32, 0x12, 0x11, 0x10, 0x2, 0x23, 0x22, 0x2, 0x4, 0xb3, 0xc4, 0xc4, 0x4d, 0xec, 0xa5, 0xfe, 0xf2, 0xfe, 0xac, 0x1, 0x54, 0x1, 0xe, 0xa5, 0xec, 0xfc, 0xdf, 0xea, 0xcc, 0xcd, 0xeb, 0xeb, 0xcd, 0xcc, 0xea, 0x4, 0xed, 0xe8, 0xfa, 0x2b, 0xe7, 0x84, 0x80, 0x1, 0xab, 0x1, 0x5c, 0x1, 0x5c, 0x1, 0xab, 0x80, 0xfd, 0x78, 0xfe, 0xe3, 0xfe, 0xbb, 0x1, 0x45, 0x1, 0x1d, 0x1, 0x1d, 0x1, 0x45, 0xfe, 0xbb, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0xfe, 0x66, 0x6, 0x1f, 0x5, 0xd5, 0x0, 0x14, 0x0, 0x0, 0x13, 0x21, 0x9, 0x1, 0x21, 0x11, 0x10, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x11, 0x1, 0x23, 0x1, 0x11, 0x23, 0xc9, 0x1, 0x2d, 0x1, 0x7d, 0x1, 0x7f, 0x1, 0x2d, 0xcd, 0xe3, 0x4d, 0x44, 0x86, 0x6e, 0xfe, 0x7f, 0xcb, 0xfe, 0x7f, 0xc4, 0x5, 0xd5, 0xfc, 0x8, 0x3, 0xf8, 0xfa, 0x93, 0xfe, 0xf2, 0xf4, 0xaa, 0x96, 0xc2, 0x4, 0xb7, 0xfc, 0x0, 0x4, 0x0, 0xfa, 0xe1, 0x0, 0x0, 0x0, 0x2, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x5, 0xd5, 0x0, 0x2, 0x0, 0xa, 0x0, 0x0, 0x25, 0x1, 0x21, 0x1, 0x23, 0x1, 0x33, 0x13, 0x21, 0x13, 0x33, 0x2, 0xbc, 0x1, 0x12, 0xfd, 0xdb, 0x1, 0x85, 0xe5, 0xfd, 0xc7, 0xd2, 0x88, 0x2, 0xa1, 0x88, 0xd5, 0xc7, 0x2, 0xe7, 0xfc, 0x52, 0x5, 0xd5, 0xfe, 0x81, 0x1, 0x7f, 0x0, 0x0, 0x2, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x77, 0x5, 0xf1, 0x0, 0xf, 0x0, 0x18, 0x0, 0x0, 0x25, 0x15, 0x23, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x20, 0x0, 0x10, 0x0, 0x21, 0x22, 0x26, 0x0, 0x10, 0x2, 0x23, 0x22, 0x2, 0x10, 0x12, 0x20, 0x1, 0x37, 0xc4, 0xc4, 0x4d, 0xec, 0xa5, 0x1, 0xe, 0x1, 0x54, 0xfe, 0xac, 0xfe, 0xf2, 0xa5, 0xec, 0x3, 0x21, 0xea, 0xcc, 0xcd, 0xeb, 0xeb, 0x1, 0x9a, 0xe7, 0xe8, 0x5, 0xd5, 0xe7, 0x84, 0x80, 0xfe, 0x55, 0xfd, 0x48, 0xfe, 0x55, 0x80, 0x1, 0x6b, 0x2, 0x3a, 0x1, 0x45, 0xfe, 0xbb, 0xfd, 0xc6, 0xfe, 0xbb, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3d, 0x0, 0x0, 0x5, 0xe0, 0x4, 0x7b, 0x0, 0x14, 0x0, 0x0, 0x1, 0x30, 0x1, 0x23, 0x1, 0x33, 0x9, 0x1, 0x36, 0x33, 0x32, 0x16, 0x1d, 0x1, 0x23, 0x35, 0x34, 0x26, 0x22, 0x7, 0x6, 0x4, 0x24, 0xfe, 0xb7, 0xfa, 0xfe, 0x5c, 0xc3, 0x1, 0x5e, 0x1, 0x14, 0x54, 0xde, 0x83, 0xb9, 0xb2, 0x51, 0x72, 0x29, 0x15, 0x3, 0x6d, 0xfc, 0x93, 0x4, 0x60, 0xfc, 0x54, 0x2, 0xe6, 0xe1, 0xbf, 0x86, 0x72, 0x72, 0x3a, 0x54, 0x2a, 0x15, 0x0, 0x0, 0x1, 0x0, 0x44, 0x0, 0x0, 0x9, 0x6, 0x5, 0xf0, 0x0, 0x1d, 0x0, 0x0, 0x9, 0x1, 0x23, 0x9, 0x1, 0x23, 0x1, 0x33, 0x9, 0x1, 0x33, 0x9, 0x1, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x1d, 0x1, 0x23, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x66, 0xfe, 0xc9, 0xfe, 0xfe, 0xc5, 0xfe, 0xc2, 0xfe, 0xfe, 0x8a, 0xcc, 0x1, 0x3a, 0x1, 0x39, 0xe3, 0x1, 0x3a, 0x1, 0x7, 0x12, 0x3c, 0x56, 0x89, 0x88, 0x55, 0x55, 0xaa, 0x51, 0x2e, 0x2a, 0x28, 0x1c, 0x4, 0xe1, 0xfb, 0x1f, 0x5, 0x10, 0xfa, 0xf0, 0x5, 0xd5, 0xfb, 0x12, 0x4, 0xee, 0xfb, 0x12, 0x4, 0x26, 0x47, 0x40, 0x5c, 0x5c, 0x5b, 0x6e, 0x83, 0x79, 0x36, 0x50, 0x28, 0x1c, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x56, 0x0, 0x0, 0x7, 0xb1, 0x4, 0x7b, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x36, 0x37, 0x36, 0x33, 0x32, 0x16, 0x1d, 0x1, 0x23, 0x35, 0x34, 0x26, 0x22, 0x7, 0x6, 0x7, 0x3, 0x23, 0xb, 0x1, 0x23, 0x1, 0x33, 0x1b, 0x1, 0x33, 0x13, 0x5, 0x46, 0x17, 0x39, 0x5b, 0x84, 0x83, 0xb9, 0xb2, 0x51, 0x72, 0x29, 0x18, 0x6, 0xe5, 0xd9, 0xf1, 0xf2, 0xd9, 0xfe, 0xdb, 0xb8, 0xe6, 0xe5, 0xd9, 0xe6, 0x3, 0x88, 0x56, 0x3d, 0x60, 0xbf, 0x86, 0x72, 0x72, 0x3a, 0x54, 0x2a, 0x19, 0x14, 0xfc, 0x93, 0x3, 0x96, 0xfc, 0x6a, 0x4, 0x60, 0xfc, 0x96, 0x3, 0x6a, 0xfc, 0x96, 0x0, 0x2, 0x0, 0x68, 0x0, 0x0, 0x4, 0x7f, 0x4, 0xb3, 0x0, 0x13, 0x0, 0x1b, 0x0, 0x0, 0x13, 0x10, 0x25, 0x36, 0x33, 0x32, 0x15, 0x14, 0xf, 0x1, 0x13, 0x1, 0x33, 0x1, 0x23, 0x3, 0x7, 0x35, 0x36, 0x3f, 0x1, 0x36, 0x35, 0x26, 0x23, 0x22, 0x15, 0x14, 0xc8, 0x1, 0x54, 0x14, 0x12, 0xa8, 0xb8, 0x7f, 0xab, 0x1, 0x5e, 0xc3, 0xfe, 0x5c, 0xfa, 0xd1, 0xa8, 0x31, 0x3c, 0xa5, 0xd8, 0x1, 0x2d, 0xaf, 0x3, 0x4d, 0x1, 0x32, 0x31, 0x3, 0xf8, 0x99, 0x5d, 0x40, 0xfe, 0x2f, 0x3, 0xac, 0xfb, 0xa0, 0x2, 0x32, 0x55, 0xc4, 0x14, 0x1c, 0x50, 0x6e, 0x34, 0x34, 0xa0, 0x25, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x71, 0x5, 0xd5, 0x0, 0x7, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x4, 0x71, 0xfd, 0x22, 0xca, 0xca, 0x2, 0xde, 0x2, 0xc7, 0xfd, 0x39, 0x5, 0xd5, 0xfd, 0x9c, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc1, 0x0, 0x0, 0x3, 0xd0, 0x4, 0x60, 0x0, 0x7, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x3, 0xd0, 0xfd, 0xa9, 0xb8, 0xb8, 0x2, 0x57, 0x2, 0x4, 0xfd, 0xfc, 0x4, 0x60, 0xfe, 0x33, 0x0, 0x0, 0x0, 0x2, 0x0, 0x70, 0xff, 0xe7, 0x4, 0xd1, 0x4, 0x68, 0x0, 0xa, 0x0, 0x27, 0x0, 0x0, 0x1, 0x22, 0x15, 0x11, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x32, 0x17, 0x16, 0x11, 0x10, 0x7, 0x6, 0x23, 0x7, 0x22, 0x27, 0x26, 0x11, 0x10, 0x37, 0x36, 0x37, 0x15, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x11, 0x10, 0x3, 0x3d, 0x41, 0x5f, 0x5f, 0x55, 0x56, 0x46, 0x36, 0x8b, 0x80, 0x89, 0x89, 0x81, 0xcb, 0xb7, 0xc8, 0x85, 0x88, 0x88, 0x65, 0xa7, 0x42, 0x3a, 0x56, 0x56, 0x4d, 0x70, 0x3, 0xcb, 0x91, 0xfd, 0x52, 0x68, 0x5d, 0xdf, 0xd0, 0x70, 0x5b, 0x9d, 0x84, 0x8d, 0xfe, 0xd9, 0xfe, 0xf1, 0xa1, 0x98, 0x1, 0x99, 0x9c, 0x1, 0x13, 0x1, 0x1e, 0x92, 0x6d, 0x1c, 0xa3, 0x17, 0x4e, 0x73, 0xbe, 0xca, 0x73, 0x67, 0x2, 0xaf, 0x1, 0x2e, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xff, 0xe5, 0x2, 0x90, 0x6, 0x14, 0x0, 0x17, 0x0, 0x0, 0x21, 0x35, 0x6, 0x21, 0x22, 0x2f, 0x1, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x34, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x17, 0x16, 0x15, 0x11, 0x1, 0xd7, 0x72, 0xfe, 0xf9, 0x25, 0x38, 0x1, 0x3c, 0x58, 0x9c, 0xa7, 0x4d, 0x69, 0xe7, 0xfe, 0xb7, 0x4f, 0x52, 0xae, 0xc9, 0xa, 0xbd, 0x23, 0xcb, 0xbe, 0x2, 0x6c, 0x99, 0x61, 0x9c, 0x60, 0x62, 0xd4, 0xfb, 0x82, 0x0, 0x0, 0x0, 0x3, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x4, 0x7b, 0x0, 0x7, 0x0, 0xf, 0x0, 0x20, 0x0, 0x0, 0x0, 0x26, 0x22, 0x6, 0x14, 0x16, 0x32, 0x36, 0x8, 0x1, 0x20, 0x0, 0x10, 0x0, 0x20, 0x8, 0x1, 0x26, 0x20, 0x6, 0x15, 0x14, 0x17, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x36, 0x35, 0x3, 0x16, 0x5e, 0x87, 0x5d, 0x5d, 0x88, 0x5d, 0xfd, 0x5b, 0x1, 0x11, 0x1, 0xe1, 0x1, 0x12, 0xfe, 0xee, 0xfe, 0x1f, 0xfe, 0xef, 0x3, 0x41, 0xac, 0xfe, 0xd9, 0xac, 0x14, 0x16, 0x37, 0x5c, 0x85, 0x88, 0x59, 0x33, 0x17, 0x12, 0x1, 0x61, 0x5f, 0x5e, 0x87, 0x5c, 0x5c, 0x2, 0x68, 0x1, 0x38, 0xfe, 0xc8, 0xfd, 0xd9, 0xfe, 0xc7, 0x1, 0x39, 0x1, 0xda, 0xe9, 0xe7, 0xc9, 0x60, 0x4d, 0x47, 0x38, 0x5d, 0x5f, 0x32, 0x42, 0x49, 0x5b, 0x0, 0x0, 0x1, 0x0, 0x62, 0x0, 0x0, 0x3, 0x33, 0x4, 0x60, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x3, 0x33, 0xfd, 0x2f, 0x2, 0x17, 0xfe, 0xd, 0x1, 0xf3, 0xfd, 0xf6, 0x4, 0x60, 0xfb, 0xa0, 0x93, 0x1, 0x78, 0x94, 0x1, 0x2d, 0x94, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xe9, 0xff, 0x11, 0x0, 0xee, 0x3, 0x67, 0x12, 0x7, 0x2, 0x74, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0x0, 0x1, 0x0, 0xa, 0x2, 0x9c, 0x3, 0x68, 0x5, 0xe0, 0x0, 0x6, 0x0, 0x0, 0x9, 0x1, 0x33, 0x9, 0x1, 0x33, 0x1, 0x1, 0x71, 0xfe, 0x99, 0x85, 0x1, 0x2a, 0x1, 0x2b, 0x84, 0xfe, 0x99, 0x2, 0x9c, 0x3, 0x44, 0xfd, 0x40, 0x2, 0xc0, 0xfc, 0xbc, 0x0, 0x0, 0x1, 0x0, 0x87, 0xfe, 0x10, 0x4, 0xc8, 0x5, 0xf0, 0x0, 0x3a, 0x0, 0x0, 0x1, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x17, 0x16, 0x1f, 0x1, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x17, 0x1e, 0x1, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x2e, 0x2, 0x2f, 0x1, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2f, 0x1, 0x2e, 0x1, 0x35, 0x34, 0x24, 0x33, 0x32, 0x16, 0x4, 0x48, 0x73, 0xcc, 0x5f, 0xa5, 0xb3, 0x3c, 0x36, 0xab, 0x7a, 0xe6, 0x67, 0x6c, 0x92, 0x73, 0xc9, 0x87, 0x7c, 0x93, 0x46, 0x18, 0x3f, 0x22, 0x4e, 0x67, 0x7b, 0x3c, 0xdf, 0x31, 0xe, 0x32, 0x27, 0x77, 0x80, 0x7b, 0xec, 0x72, 0xad, 0xbc, 0x87, 0x9a, 0x7b, 0xe2, 0xca, 0x1, 0x17, 0xf5, 0x69, 0xda, 0x5, 0xa4, 0xc5, 0x37, 0x36, 0x80, 0x76, 0x63, 0x33, 0x2e, 0x23, 0x19, 0x2f, 0x69, 0x6c, 0xb6, 0xd9, 0x70, 0x59, 0x12, 0x77, 0x6e, 0x49, 0xaa, 0x10, 0x27, 0x4f, 0x38, 0xce, 0x2d, 0xa, 0x21, 0x7, 0x18, 0x2f, 0xd0, 0x45, 0x46, 0x88, 0x7e, 0x6e, 0x7c, 0x1f, 0x18, 0x2d, 0xc0, 0xab, 0xc6, 0xe4, 0x26, 0x0, 0x1, 0x0, 0x5c, 0xfe, 0x10, 0x5, 0x1f, 0x5, 0xd5, 0x0, 0x18, 0x0, 0x0, 0x1, 0x33, 0x15, 0x23, 0x22, 0x2e, 0x2, 0x27, 0x25, 0x26, 0x2b, 0x1, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x16, 0x1f, 0x1, 0x1e, 0x1, 0x4, 0xb3, 0x6c, 0x93, 0x27, 0x59, 0x76, 0x8c, 0x45, 0xfe, 0xd3, 0x4e, 0x71, 0x7d, 0x3, 0xb0, 0xfc, 0x67, 0x4, 0x95, 0xfc, 0x55, 0x72, 0x75, 0xfc, 0x88, 0x9f, 0xfe, 0xba, 0xaa, 0x10, 0x27, 0x4f, 0x38, 0xf3, 0x3f, 0x9a, 0x4, 0x91, 0xaa, 0x9a, 0xfb, 0x6f, 0xd, 0x5f, 0xcd, 0x6e, 0x49, 0x0, 0x0, 0x0, 0x1, 0x0, 0x7b, 0xff, 0x7e, 0x4, 0x5b, 0x4, 0x60, 0x0, 0x1f, 0x0, 0x0, 0x1, 0x23, 0x37, 0x36, 0x23, 0x22, 0x5, 0x3, 0x6, 0x33, 0x32, 0x36, 0x33, 0x32, 0x3, 0x7, 0x23, 0x37, 0x36, 0x23, 0xe, 0x1, 0x23, 0x22, 0x1b, 0x1, 0x33, 0x7, 0x24, 0x33, 0x32, 0x7, 0x4, 0x38, 0xc0, 0x13, 0x19, 0x6a, 0x90, 0xfe, 0xd6, 0x45, 0x1b, 0x73, 0x80, 0xdc, 0x5a, 0xb7, 0x2b, 0x12, 0xbf, 0x12, 0x13, 0x34, 0x59, 0xf5, 0x96, 0xc0, 0x2a, 0x74, 0xbf, 0x18, 0x1, 0x7a, 0x92, 0xd2, 0x19, 0x2, 0xad, 0x81, 0xac, 0xac, 0xfe, 0x4, 0xae, 0x9a, 0xfe, 0xe2, 0x82, 0x82, 0x84, 0x1, 0x83, 0x1, 0x31, 0x3, 0x2f, 0xb1, 0xb1, 0xb1, 0x0, 0x1, 0x0, 0x32, 0xfe, 0x1e, 0x4, 0x72, 0x4, 0x5f, 0x0, 0x20, 0x0, 0x0, 0x1, 0x6, 0x16, 0x7, 0x6, 0x4, 0x23, 0x20, 0x24, 0x37, 0x33, 0x6, 0x16, 0x33, 0x3e, 0x1, 0x37, 0x36, 0x26, 0x37, 0x4, 0x23, 0x22, 0x37, 0x13, 0x33, 0x3, 0x6, 0x33, 0x16, 0x25, 0x13, 0x33, 0x3, 0xfa, 0xf, 0x68, 0x1a, 0x1b, 0xfe, 0xf4, 0xd2, 0xfe, 0xff, 0xfe, 0xdd, 0x16, 0xba, 0xb, 0x93, 0xd9, 0x6b, 0xc0, 0x19, 0x13, 0x6a, 0x8, 0xfe, 0x77, 0x94, 0xd3, 0x19, 0x98, 0xbc, 0x84, 0x18, 0x72, 0x9d, 0x1, 0x10, 0x71, 0xbf, 0x1, 0x2d, 0x78, 0xd1, 0x9e, 0x87, 0xa1, 0xab, 0x96, 0x44, 0x7c, 0x1, 0x48, 0x76, 0x60, 0xd3, 0x51, 0xb0, 0xaf, 0x3, 0x7e, 0xfd, 0x5, 0xae, 0x2, 0xb0, 0x2, 0xfb, 0x0, 0x0, 0x0, 0x1, 0x0, 0x50, 0xfe, 0x1e, 0x4, 0x48, 0x4, 0x5f, 0x0, 0x23, 0x0, 0x0, 0x1, 0x6, 0x16, 0x15, 0x14, 0x4, 0x23, 0x22, 0x24, 0x27, 0x35, 0x33, 0x15, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x37, 0x13, 0x36, 0x23, 0x22, 0x7, 0x3, 0x23, 0x13, 0x33, 0x7, 0x24, 0x33, 0x32, 0x7, 0x3, 0xa8, 0x1f, 0xbf, 0xfe, 0xbe, 0xd2, 0xb0, 0xfe, 0xd8, 0xc, 0xbb, 0x7, 0x9f, 0x94, 0x95, 0xb7, 0xc7, 0x24, 0x5a, 0x19, 0x68, 0x91, 0xfc, 0x39, 0xbe, 0x64, 0xbd, 0x17, 0x1, 0x52, 0x8f, 0xd4, 0x18, 0x1, 0x99, 0x8d, 0xb6, 0xb0, 0xbd, 0xcb, 0x9f, 0xac, 0x59, 0x50, 0x5b, 0x79, 0x81, 0x83, 0x84, 0xe8, 0xb8, 0x1, 0x66, 0xae, 0xae, 0xfd, 0xe3, 0x3, 0x50, 0xb0, 0xb0, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x7f, 0xff, 0xeb, 0x4, 0x94, 0x6, 0x75, 0x0, 0x9, 0x0, 0x2e, 0x0, 0x0, 0x1, 0x36, 0x7, 0x4, 0x7, 0x3, 0x6, 0x33, 0x20, 0x3f, 0x1, 0x6, 0x7, 0x6, 0x23, 0x20, 0x1b, 0x1, 0x36, 0x25, 0x13, 0xe, 0x1, 0x23, 0x22, 0x3f, 0x1, 0x33, 0x7, 0x6, 0x33, 0x32, 0x37, 0x36, 0x33, 0x32, 0x1d, 0x1, 0x23, 0x35, 0x26, 0xf, 0x1, 0x13, 0x37, 0x24, 0x3, 0x3, 0xaa, 0x1b, 0xf9, 0xfe, 0xd4, 0x27, 0x45, 0x1b, 0x9e, 0x1, 0x8b, 0x20, 0xc2, 0x18, 0xdb, 0xdb, 0xac, 0xfe, 0x9c, 0x39, 0x39, 0x20, 0x1, 0x85, 0x4, 0x5a, 0x85, 0x2e, 0xa4, 0x2, 0xa, 0xc4, 0xa, 0xa, 0x49, 0x42, 0xca, 0xd1, 0x61, 0xa1, 0x75, 0x2, 0x79, 0xa4, 0x7, 0x68, 0x1, 0x24, 0x34, 0x3, 0x51, 0xb4, 0x18, 0x20, 0xca, 0xfe, 0x28, 0xbc, 0xd7, 0xc, 0xa0, 0x64, 0x63, 0x1, 0x8e, 0x1, 0x7f, 0xe1, 0x5a, 0x1, 0x65, 0x14, 0x15, 0x7e, 0x88, 0x50, 0x41, 0x34, 0x35, 0x47, 0x78, 0x3d, 0x25, 0x13, 0x27, 0xfe, 0x94, 0x9, 0x1b, 0xfe, 0x83, 0x0, 0x0, 0x1, 0x0, 0x69, 0xfe, 0x1e, 0x4, 0x4b, 0x4, 0x5f, 0x0, 0x11, 0x0, 0x0, 0x1, 0x23, 0x3, 0x13, 0x36, 0x23, 0x22, 0x5, 0x3, 0x23, 0x13, 0x33, 0x7, 0x24, 0x33, 0x32, 0x7, 0x3, 0x4, 0x34, 0xd1, 0x52, 0x68, 0x19, 0x69, 0x87, 0xfe, 0xd1, 0x46, 0xc4, 0x75, 0xbf, 0x19, 0x1, 0x7e, 0x8f, 0xd2, 0x18, 0x75, 0xfe, 0x1e, 0x2, 0x66, 0x2, 0xa8, 0xae, 0xae, 0xfd, 0x83, 0x3, 0xb0, 0xb0, 0xb0, 0xb0, 0xfc, 0xd5, 0x0, 0x0, 0x0, 0x1, 0x0, 0x50, 0xfe, 0x1d, 0x6, 0xe5, 0x4, 0x5f, 0x0, 0x1c, 0x0, 0x0, 0x1, 0x23, 0x3, 0x13, 0x36, 0x23, 0x22, 0x5, 0x3, 0x23, 0x13, 0x33, 0x7, 0x24, 0x33, 0x32, 0x7, 0x24, 0x33, 0x32, 0x7, 0x3, 0x23, 0x13, 0x36, 0x23, 0x22, 0x5, 0x3, 0x4, 0x12, 0xcb, 0x55, 0x6c, 0x19, 0x68, 0x92, 0xfe, 0xe2, 0x51, 0xbe, 0x74, 0xc0, 0x14, 0x1, 0x78, 0x8d, 0xca, 0x17, 0x1, 0x6c, 0x93, 0xd5, 0x17, 0x9e, 0xc1, 0x89, 0x19, 0x6f, 0x91, 0xfe, 0xec, 0x6b, 0xfe, 0x1d, 0x2, 0x67, 0x2, 0xa8, 0xae, 0xae, 0xfc, 0xd4, 0x4, 0x5f, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xfc, 0x51, 0x3, 0x2c, 0xae, 0xae, 0xfd, 0x58, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0xff, 0xef, 0x4, 0x9a, 0x6, 0x87, 0x0, 0xb, 0x0, 0x24, 0x0, 0x0, 0x1, 0x36, 0x23, 0x22, 0x5, 0x3, 0x6, 0x37, 0x32, 0x37, 0x36, 0x37, 0x17, 0x6, 0x5, 0x4, 0x23, 0x22, 0x37, 0x1b, 0x1, 0x23, 0x22, 0x27, 0x35, 0x33, 0x15, 0x16, 0x3b, 0x1, 0x37, 0x33, 0x3, 0x24, 0x33, 0x32, 0x7, 0x3, 0xc9, 0x19, 0x69, 0x90, 0xfe, 0xd9, 0x4f, 0x15, 0x5f, 0xd4, 0x7b, 0x6b, 0x14, 0xbf, 0x27, 0xfe, 0xcd, 0xfe, 0xf8, 0x88, 0xd3, 0x18, 0x6a, 0x68, 0xb6, 0xb0, 0x11, 0xc6, 0x9, 0x6a, 0x57, 0xf, 0xb0, 0x7a, 0x1, 0x7b, 0x90, 0xd3, 0x19, 0x3, 0x2b, 0xae, 0xae, 0xfd, 0xce, 0x86, 0x1, 0x38, 0x42, 0x7e, 0x3, 0xf7, 0x42, 0x41, 0xaf, 0x2, 0xd6, 0x1, 0x44, 0xe6, 0xe9, 0xfd, 0x6b, 0x36, 0xfe, 0x59, 0xb1, 0xb1, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6c, 0x0, 0x0, 0x7, 0x34, 0x4, 0x5f, 0x0, 0x9, 0x0, 0x22, 0x0, 0x0, 0x1, 0x36, 0x23, 0x22, 0x5, 0x3, 0x6, 0x33, 0x16, 0x25, 0x1, 0x24, 0x33, 0x32, 0x7, 0x3, 0x23, 0x13, 0x36, 0x23, 0x22, 0x5, 0x3, 0x23, 0x37, 0x4, 0x23, 0x22, 0x37, 0x13, 0x33, 0x7, 0x24, 0x33, 0x32, 0x3, 0xa9, 0x1c, 0x65, 0x8f, 0xfe, 0xbb, 0x52, 0x1a, 0x72, 0x8d, 0x1, 0x3b, 0x1, 0x27, 0x1, 0x69, 0x8e, 0xd4, 0x18, 0x9b, 0xbe, 0x87, 0x18, 0x68, 0x90, 0xfe, 0xec, 0x82, 0xb8, 0x1e, 0xfe, 0x7b, 0xab, 0xda, 0x24, 0x90, 0xbf, 0x1b, 0x1, 0x99, 0x8f, 0xd6, 0x3, 0x2c, 0xae, 0xb2, 0xfe, 0xa, 0xae, 0x2, 0xb0, 0x2, 0x7d, 0xb0, 0xb0, 0xfc, 0x51, 0x3, 0x2c, 0xae, 0xae, 0xfc, 0xd4, 0xc8, 0xc8, 0xaf, 0x3, 0xb0, 0xb4, 0xb4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8e, 0x0, 0x0, 0x4, 0x57, 0x4, 0x5f, 0x0, 0xf, 0x0, 0x0, 0x21, 0x23, 0x13, 0x36, 0x23, 0x22, 0x5, 0x3, 0x23, 0x13, 0x33, 0x7, 0x24, 0x33, 0x32, 0x7, 0x3, 0xbe, 0xbf, 0x88, 0x19, 0x68, 0x93, 0xfe, 0xdc, 0x35, 0xbe, 0x5e, 0xc0, 0x17, 0x1, 0x81, 0x89, 0xd8, 0x20, 0x3, 0x2c, 0xae, 0xae, 0xfe, 0x91, 0x2, 0xa2, 0xb0, 0xb0, 0xc0, 0x0, 0x2, 0x0, 0x68, 0xfe, 0x1e, 0x4, 0x73, 0x6, 0x87, 0x0, 0x9, 0x0, 0x1a, 0x0, 0x0, 0x1, 0x36, 0x23, 0x22, 0x5, 0x3, 0x6, 0x33, 0x32, 0x25, 0x17, 0x13, 0x23, 0x3, 0x4, 0x23, 0x22, 0x37, 0x13, 0x3, 0x33, 0x13, 0x7, 0x24, 0x33, 0x32, 0x7, 0x3, 0xa1, 0x1f, 0x6f, 0x90, 0xfe, 0xc7, 0x4e, 0x18, 0x71, 0xaf, 0x1, 0x16, 0xaa, 0x6d, 0xcd, 0x5d, 0xfe, 0x8a, 0xac, 0xd3, 0x18, 0x90, 0x49, 0xd3, 0x34, 0x1d, 0x1, 0x92, 0x8d, 0xd3, 0x18, 0x3, 0x2c, 0xae, 0xae, 0xfd, 0xf5, 0xae, 0xbf, 0x9d, 0xfd, 0x89, 0x2, 0x91, 0xc0, 0xaf, 0x3, 0xe3, 0x2, 0x6, 0xfd, 0xef, 0xc7, 0xb0, 0xb0, 0x0, 0x0, 0x2, 0x0, 0x50, 0x0, 0x0, 0x7, 0x39, 0x4, 0x5f, 0x0, 0x9, 0x0, 0x22, 0x0, 0x0, 0x1, 0x36, 0x23, 0x22, 0x5, 0x3, 0x6, 0x33, 0x32, 0x25, 0x13, 0x23, 0x37, 0x4, 0x23, 0x22, 0x37, 0x13, 0x36, 0x23, 0x6, 0x5, 0x3, 0x23, 0x13, 0x33, 0x7, 0x24, 0x33, 0x32, 0x7, 0x24, 0x33, 0x36, 0x7, 0x6, 0x65, 0x19, 0x6f, 0x82, 0xfe, 0xb4, 0x4e, 0x1a, 0x6d, 0x88, 0x1, 0x49, 0x90, 0xc1, 0x1c, 0xfe, 0x79, 0xbb, 0xb7, 0x18, 0x5b, 0x19, 0x66, 0x79, 0xfe, 0xb8, 0x5f, 0xbf, 0x88, 0xc1, 0x19, 0x1, 0x90, 0x8e, 0xc8, 0x17, 0x1, 0x96, 0xb0, 0xc2, 0x1e, 0x3, 0x2c, 0xae, 0x9d, 0xfd, 0xf5, 0xae, 0xae, 0xfe, 0xce, 0xbf, 0xbf, 0xaf, 0x2, 0x7d, 0xae, 0x2, 0xac, 0xfc, 0xd4, 0x4, 0x5f, 0xb0, 0xb0, 0xb3, 0xb3, 0x1, 0xb1, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6d, 0xff, 0xef, 0x4, 0xc3, 0x6, 0x87, 0x0, 0x9, 0x0, 0x29, 0x0, 0x0, 0x1, 0x4, 0x7, 0x3, 0x6, 0x33, 0x32, 0x37, 0x36, 0x37, 0x1, 0x3, 0x6, 0x7, 0x6, 0x7, 0x24, 0x37, 0x13, 0x36, 0x25, 0x3, 0x26, 0x23, 0x22, 0x6, 0x23, 0x22, 0x3d, 0x1, 0x33, 0x15, 0x14, 0x33, 0x32, 0x36, 0x33, 0x32, 0x17, 0x13, 0x33, 0x15, 0x3, 0xa2, 0xfd, 0xef, 0x14, 0x45, 0x1d, 0xb6, 0x73, 0x79, 0x78, 0xd, 0x1, 0x1f, 0x63, 0x18, 0xc0, 0xbb, 0xd2, 0xfe, 0xb7, 0x1d, 0x56, 0x19, 0x2, 0xcf, 0x26, 0x14, 0x4a, 0x5d, 0xd5, 0x7a, 0x81, 0xc3, 0x37, 0x53, 0xb2, 0x72, 0xac, 0x23, 0x31, 0x58, 0x3, 0xdb, 0x2d, 0x83, 0xfe, 0x1b, 0xf5, 0x3b, 0x3d, 0x6d, 0x2, 0xa4, 0xfd, 0x3b, 0xa0, 0x40, 0x40, 0x6, 0x6, 0xfb, 0x2, 0x5d, 0xa6, 0x6b, 0x1, 0x1, 0x72, 0x81, 0x95, 0xa2, 0x77, 0x3f, 0x7c, 0xc0, 0xfe, 0xd3, 0x86, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x50, 0x0, 0x0, 0x4, 0x5b, 0x6, 0x87, 0x0, 0x1b, 0x0, 0x0, 0x21, 0x23, 0x13, 0x36, 0x23, 0x22, 0x5, 0x3, 0x23, 0x13, 0x27, 0x10, 0x21, 0x20, 0x17, 0x15, 0x23, 0x35, 0x26, 0x23, 0x22, 0x15, 0x13, 0x7, 0x24, 0x33, 0x36, 0x7, 0x3, 0xb6, 0xc0, 0x93, 0x18, 0x69, 0x90, 0xfe, 0xda, 0x73, 0xbf, 0x99, 0x22, 0x1, 0xa0, 0x1, 0x85, 0x2, 0xbc, 0x2, 0xad, 0xfe, 0x20, 0x11, 0x1, 0x7e, 0x8e, 0xdb, 0x20, 0x3, 0x2c, 0xae, 0xae, 0xfc, 0xd4, 0x4, 0x38, 0xd3, 0x1, 0x7c, 0xa1, 0x7b, 0x61, 0x41, 0xa3, 0xfe, 0xb9, 0x74, 0xb0, 0x1, 0xb1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x68, 0x0, 0x0, 0x7, 0x19, 0x4, 0x5f, 0x0, 0x1a, 0x0, 0x0, 0x25, 0x4, 0x23, 0x22, 0x37, 0x13, 0x33, 0x3, 0x6, 0x33, 0x32, 0x25, 0x13, 0x33, 0x3, 0x6, 0x33, 0x32, 0x25, 0x13, 0x33, 0x3, 0x23, 0x37, 0x4, 0x23, 0x22, 0x3, 0x2c, 0xfe, 0x92, 0x9c, 0xd2, 0x18, 0xa6, 0xbe, 0x93, 0x1a, 0x72, 0x9d, 0x1, 0x7, 0x87, 0xc0, 0x8a, 0x15, 0x5c, 0x9d, 0x1, 0x1a, 0x69, 0xc0, 0x93, 0xc1, 0x19, 0xfe, 0x80, 0x8a, 0xbe, 0xaf, 0xaf, 0xaf, 0x3, 0xb0, 0xfc, 0xd3, 0xae, 0xae, 0x3, 0x2d, 0xfc, 0xd3, 0xae, 0xae, 0x3, 0x2d, 0xfb, 0xa1, 0xaf, 0xaf, 0x0, 0x0, 0x0, 0x1, 0x0, 0x68, 0x0, 0x0, 0x4, 0x72, 0x4, 0x5f, 0x0, 0xf, 0x0, 0x0, 0x25, 0x4, 0x23, 0x22, 0x37, 0x13, 0x33, 0x3, 0x6, 0x33, 0x32, 0x25, 0x13, 0x33, 0x3, 0x23, 0x3, 0x2c, 0xfe, 0x92, 0x9c, 0xd2, 0x18, 0x9a, 0xc0, 0x89, 0x1a, 0x72, 0x9d, 0x1, 0x11, 0x73, 0xc0, 0x9c, 0xc2, 0xaf, 0xaf, 0xaf, 0x3, 0xb0, 0xfc, 0xd3, 0xae, 0xae, 0x3, 0x2d, 0xfb, 0xa1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8e, 0xfe, 0x1e, 0x6, 0x23, 0x6, 0x87, 0x0, 0x1e, 0x0, 0x0, 0x1, 0x23, 0x3, 0x37, 0x4, 0x23, 0x22, 0x37, 0x13, 0x4, 0x23, 0x22, 0x37, 0x13, 0x33, 0x3, 0x6, 0x33, 0x32, 0x37, 0x33, 0x3, 0x6, 0x33, 0x32, 0x25, 0x13, 0x3, 0x33, 0x13, 0x3, 0x6, 0x2, 0xd2, 0x4c, 0xf, 0xfe, 0xbd, 0x90, 0xca, 0x1c, 0x42, 0xfe, 0xec, 0x7f, 0xa9, 0x16, 0x5c, 0xce, 0x4e, 0x1e, 0x74, 0x32, 0xd6, 0xbe, 0x51, 0xd, 0x42, 0x7f, 0x1, 0x17, 0x69, 0x7a, 0xcc, 0x68, 0x7f, 0xfe, 0x1e, 0x2, 0x18, 0x4e, 0x84, 0xc1, 0x1, 0xba, 0x88, 0x97, 0x1, 0xd7, 0xfe, 0xba, 0x8f, 0x73, 0xfd, 0xe3, 0x5e, 0x79, 0x2, 0xdc, 0x2, 0xae, 0xfd, 0x27, 0xfc, 0x8e, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x68, 0x0, 0x0, 0x7, 0xb, 0x6, 0x87, 0x0, 0x1d, 0x0, 0x0, 0x1, 0x13, 0x3, 0x33, 0x13, 0x7, 0x24, 0x33, 0x32, 0x7, 0x3, 0x23, 0x13, 0x36, 0x23, 0x22, 0x5, 0x3, 0x23, 0x37, 0x4, 0x23, 0x22, 0x37, 0x13, 0x33, 0x3, 0x6, 0x33, 0x32, 0x3, 0x35, 0x6d, 0x54, 0xcd, 0x40, 0xc, 0x1, 0x72, 0x8d, 0xd5, 0x18, 0x9c, 0xbe, 0x87, 0x18, 0x68, 0x90, 0xfe, 0xe6, 0x73, 0xc0, 0x17, 0xfe, 0x9c, 0x9c, 0xd2, 0x18, 0x98, 0xc3, 0x8a, 0x1a, 0x72, 0x9d, 0x1, 0x32, 0x3, 0x0, 0x2, 0x55, 0xfd, 0xa1, 0x79, 0xb0, 0xb0, 0xfc, 0x51, 0x3, 0x2c, 0xae, 0xae, 0xfc, 0xd4, 0xaf, 0xaf, 0xaf, 0x3, 0xb0, 0xfc, 0xd3, 0xae, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x68, 0x0, 0x0, 0x4, 0x5d, 0x6, 0x87, 0x0, 0x11, 0x0, 0x0, 0x13, 0x3, 0x33, 0x13, 0x3, 0x6, 0x33, 0x32, 0x25, 0x13, 0x33, 0x3, 0x23, 0x37, 0x4, 0x23, 0x22, 0x37, 0xed, 0x4d, 0xdc, 0x37, 0x70, 0x1a, 0x68, 0x9d, 0x1, 0x7, 0x5e, 0xca, 0x88, 0xca, 0x17, 0xfe, 0x9c, 0x9c, 0xd2, 0x18, 0x4, 0x61, 0x2, 0x26, 0xfd, 0xd7, 0xfc, 0xd4, 0xae, 0xae, 0x3, 0x2d, 0xfb, 0xa1, 0xaf, 0xaf, 0xaf, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x66, 0xfe, 0x1e, 0x4, 0x4a, 0x4, 0x5f, 0x0, 0x7, 0x0, 0x1c, 0x0, 0x0, 0x1, 0x36, 0x23, 0x22, 0x5, 0x3, 0x24, 0x37, 0x17, 0x6, 0x5, 0x6, 0x16, 0x33, 0x32, 0x37, 0x17, 0x6, 0x21, 0x20, 0x2, 0x1b, 0x1, 0x33, 0x7, 0x24, 0x33, 0x36, 0x3, 0x3, 0x88, 0x1b, 0x6a, 0x8f, 0xfe, 0xd9, 0x65, 0x1, 0xfc, 0x17, 0xbc, 0x21, 0xfd, 0x44, 0x1b, 0x75, 0x98, 0x8e, 0xce, 0x63, 0xc2, 0xfe, 0xe0, 0xfe, 0xfa, 0xa5, 0x32, 0x8a, 0xbd, 0x15, 0x1, 0x78, 0x91, 0xd6, 0x2d, 0x3, 0x2b, 0xae, 0xae, 0xfd, 0x39, 0x4b, 0x9e, 0x1b, 0xec, 0x46, 0x9b, 0xc6, 0xba, 0x85, 0xb6, 0x1, 0x46, 0x1, 0x34, 0x3, 0xc7, 0xb1, 0xb1, 0x1, 0xfe, 0xcb, 0x0, 0x1, 0x0, 0x68, 0xfe, 0x1e, 0x7, 0x13, 0x5, 0x4a, 0x0, 0x1d, 0x0, 0x0, 0x25, 0x4, 0x23, 0x22, 0x37, 0x4, 0x23, 0x22, 0x37, 0x13, 0x33, 0x3, 0x6, 0x33, 0x32, 0x25, 0x13, 0x33, 0x3, 0x6, 0x33, 0x32, 0x25, 0x13, 0x27, 0x33, 0x13, 0x3, 0x13, 0x23, 0x5, 0xde, 0xfe, 0x80, 0x8a, 0xc8, 0x16, 0xfe, 0x9c, 0x9c, 0xd2, 0x18, 0xa4, 0xc0, 0x93, 0x1a, 0x72, 0x9d, 0x1, 0x7, 0x87, 0xc0, 0x8a, 0x15, 0x5c, 0x9d, 0x1, 0x1a, 0x68, 0x24, 0xcb, 0x14, 0x78, 0x6d, 0xd0, 0xaf, 0xaf, 0xaf, 0xaf, 0xaf, 0x3, 0xb0, 0xfc, 0xd3, 0xae, 0xae, 0x3, 0x2d, 0xfc, 0xd3, 0xae, 0xae, 0x3, 0x2c, 0xec, 0xfe, 0xe7, 0xfc, 0x69, 0xfd, 0x84, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x7b, 0xfe, 0x1e, 0x7, 0x22, 0x4, 0x5f, 0x0, 0x9, 0x0, 0x13, 0x0, 0x2d, 0x0, 0x0, 0x1, 0x36, 0x7, 0x26, 0x5, 0x3, 0x6, 0x33, 0x32, 0x25, 0x1, 0x36, 0x23, 0x6, 0x5, 0x3, 0x6, 0x17, 0x32, 0x25, 0x13, 0x23, 0x37, 0x4, 0x23, 0x27, 0x7, 0x13, 0x23, 0x3, 0x37, 0x4, 0x21, 0x22, 0x1b, 0x1, 0x33, 0x7, 0x24, 0x33, 0x32, 0x7, 0x24, 0x33, 0x32, 0x3, 0x3, 0x9d, 0xe, 0x6f, 0x9e, 0xfe, 0xe7, 0x47, 0x1a, 0x70, 0xaf, 0x1, 0xa, 0x3, 0x15, 0x19, 0x7d, 0x59, 0xfe, 0xaf, 0x48, 0x18, 0x8d, 0x95, 0x1, 0x3, 0x95, 0xb7, 0x1a, 0xfe, 0xd6, 0x96, 0x74, 0x9, 0x55, 0xce, 0x40, 0x1a, 0xfe, 0xfd, 0xfe, 0xf1, 0xd4, 0x2c, 0x74, 0xbf, 0x18, 0x1, 0x53, 0xd4, 0xc0, 0x18, 0x1, 0x50, 0xd7, 0xc3, 0x2d, 0x3, 0x6d, 0x6e, 0x2, 0x1, 0xb0, 0xfe, 0x7, 0xad, 0xae, 0x1, 0xfa, 0xaf, 0x1, 0xaf, 0xfe, 0x6, 0xae, 0x1, 0xaf, 0xfe, 0xcf, 0xaf, 0xaf, 0x2d, 0x3b, 0xfe, 0x2c, 0x1, 0xcc, 0xc5, 0xaf, 0x1, 0x31, 0x3, 0x2e, 0xb1, 0xb1, 0xb1, 0xb1, 0xfe, 0xcd, 0x0, 0x0, 0x1, 0x0, 0x64, 0xfe, 0x1e, 0x6, 0x45, 0x6, 0x87, 0x0, 0x17, 0x0, 0x0, 0x25, 0x13, 0x23, 0x3, 0x13, 0x5, 0x7, 0x23, 0x13, 0x33, 0x3, 0x25, 0x13, 0x3, 0x33, 0x13, 0x3, 0x25, 0x37, 0x33, 0x3, 0x23, 0x13, 0x5, 0x3, 0x6d, 0x67, 0xce, 0x51, 0x36, 0xfe, 0x5a, 0x1d, 0xc4, 0x7b, 0xc7, 0x4f, 0x1, 0xa6, 0x42, 0x55, 0xc2, 0x45, 0x33, 0x1, 0xa0, 0x1c, 0xcb, 0x7b, 0xcc, 0x50, 0xfe, 0x5c, 0x6f, 0xfd, 0xaf, 0x2, 0x52, 0x1, 0x84, 0x7b, 0xed, 0x3, 0x6f, 0xfd, 0xf8, 0x86, 0x1, 0xbb, 0x2, 0x53, 0xfd, 0x7b, 0xfe, 0xab, 0x78, 0xc0, 0xfc, 0x9f, 0x2, 0x1c, 0x7e, 0x0, 0x1, 0x0, 0x50, 0x0, 0x0, 0x4, 0x5c, 0x4, 0x5f, 0x0, 0xf, 0x0, 0x0, 0x1, 0x24, 0x33, 0x32, 0x7, 0x3, 0x23, 0x13, 0x36, 0x23, 0x22, 0x5, 0x3, 0x23, 0x13, 0x33, 0x1, 0x96, 0x1, 0x7b, 0x8e, 0xd5, 0x18, 0x9b, 0xc9, 0x87, 0x18, 0x5e, 0x90, 0xfe, 0xd9, 0x71, 0xc1, 0x9e, 0xbf, 0x3, 0xaf, 0xb0, 0xb0, 0xfc, 0x51, 0x3, 0x2c, 0xae, 0xae, 0xfc, 0xd4, 0x4, 0x5f, 0x0, 0x0, 0x1, 0x0, 0x68, 0xfe, 0x1e, 0x4, 0x72, 0x4, 0x60, 0x0, 0x10, 0x0, 0x0, 0x25, 0x4, 0x23, 0x22, 0x37, 0x13, 0x33, 0x3, 0x6, 0x33, 0x32, 0x37, 0x13, 0x33, 0x3, 0x13, 0x23, 0x3, 0xe, 0xfe, 0xaf, 0x9b, 0xd2, 0x18, 0x94, 0xbe, 0x81, 0x1a, 0x72, 0x9d, 0xf3, 0x88, 0xc9, 0x9c, 0x83, 0xda, 0xaf, 0xaf, 0xaf, 0x3, 0xb0, 0xfc, 0xd3, 0xae, 0xae, 0x3, 0x2e, 0xfc, 0x40, 0xfd, 0x7e, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x68, 0xfe, 0x1e, 0x4, 0x68, 0x4, 0x5f, 0x0, 0x16, 0x0, 0x0, 0x25, 0x4, 0x23, 0x22, 0x37, 0x13, 0x33, 0x3, 0x6, 0x33, 0x32, 0x25, 0x13, 0x33, 0x3, 0x2, 0x0, 0x21, 0x23, 0x35, 0x33, 0x32, 0x24, 0x3, 0x1f, 0xfe, 0x9c, 0x99, 0xd2, 0x18, 0x98, 0xc2, 0x89, 0x1a, 0x72, 0x9d, 0x1, 0x11, 0x69, 0xc0, 0x72, 0x3b, 0xfe, 0x2e, 0xfe, 0xdb, 0x55, 0x49, 0xe7, 0x1, 0x59, 0xa5, 0xa5, 0xaf, 0x3, 0xb0, 0xfc, 0xd3, 0xae, 0xae, 0x3, 0x2d, 0xfc, 0x91, 0xfe, 0x57, 0xfe, 0xd7, 0x8b, 0xdf, 0x0, 0x1, 0x0, 0x50, 0xfe, 0x1e, 0x4, 0x54, 0x6, 0x87, 0x0, 0x13, 0x0, 0x0, 0x1, 0x3, 0x13, 0x23, 0x3, 0x13, 0x3, 0x33, 0x13, 0x7, 0x24, 0x33, 0x32, 0x7, 0x3, 0x23, 0x13, 0x36, 0x23, 0x22, 0x1, 0x7c, 0x6a, 0x63, 0xda, 0x4b, 0x97, 0x4a, 0xc4, 0x3d, 0xf, 0x1, 0x7b, 0x8d, 0xd5, 0x18, 0x8b, 0xbd, 0x74, 0x18, 0x68, 0x90, 0x3, 0x2c, 0xfd, 0x1a, 0xfd, 0xd8, 0x2, 0x15, 0x4, 0x38, 0x2, 0x1c, 0xfd, 0xb3, 0x8b, 0xb0, 0xb0, 0xfc, 0x51, 0x3, 0x2c, 0xae, 0x0, 0x0, 0x0, 0x1, 0x0, 0x56, 0xfe, 0x1e, 0x4, 0x41, 0x4, 0x60, 0x0, 0x19, 0x0, 0x0, 0x1, 0x32, 0x37, 0x17, 0x6, 0x23, 0x6, 0x0, 0x37, 0x13, 0x33, 0x7, 0x24, 0x33, 0x32, 0xb, 0x1, 0x23, 0x13, 0x36, 0x23, 0x22, 0x5, 0x3, 0x6, 0x16, 0x2, 0x5b, 0x77, 0xcb, 0x58, 0xd0, 0xda, 0xfb, 0xfe, 0xe2, 0x24, 0x92, 0xbd, 0x1b, 0x1, 0x28, 0xe6, 0xd4, 0x2b, 0x82, 0xbe, 0x7e, 0x19, 0xa3, 0x73, 0xfe, 0xf7, 0x65, 0x1e, 0xa1, 0xfe, 0x9d, 0xad, 0x7a, 0xb2, 0x2, 0x1, 0x33, 0xf6, 0x4, 0x1b, 0xb1, 0xb0, 0xfe, 0xcd, 0xfd, 0x1a, 0x2, 0xe6, 0xae, 0xae, 0xfd, 0x19, 0xce, 0xda, 0x0, 0x0, 0x2, 0x0, 0x7a, 0xff, 0xee, 0x4, 0xc5, 0x6, 0x87, 0x0, 0x7, 0x0, 0x15, 0x0, 0x0, 0x1, 0x4, 0x7, 0x3, 0x6, 0x33, 0x20, 0x37, 0x1, 0x23, 0x3, 0x2, 0x5, 0x20, 0x1b, 0x1, 0x12, 0x25, 0x3, 0x33, 0x13, 0x33, 0x3, 0x96, 0xfd, 0xfc, 0x18, 0x43, 0x1f, 0xcd, 0x1, 0x38, 0x19, 0x1, 0x8f, 0x69, 0x64, 0x2c, 0xfd, 0xdb, 0xfe, 0xa9, 0x2a, 0x3e, 0x27, 0x2, 0xc2, 0x6a, 0xd2, 0x4b, 0x70, 0x3, 0xf0, 0x27, 0xb5, 0xfe, 0x32, 0xd6, 0xb2, 0x2, 0xb7, 0xfd, 0x5c, 0xfe, 0xe6, 0x2d, 0x1, 0x58, 0x1, 0xba, 0x1, 0x1b, 0x43, 0x2, 0x29, 0xfd, 0xd9, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x50, 0xfe, 0x1e, 0x6, 0xf6, 0x4, 0x60, 0x0, 0x1c, 0x0, 0x0, 0x21, 0x13, 0x36, 0x23, 0x22, 0x5, 0x3, 0x13, 0x23, 0x3, 0x13, 0x33, 0x7, 0x24, 0x33, 0x32, 0x7, 0x24, 0x33, 0x32, 0x7, 0x3, 0x23, 0x13, 0x36, 0x23, 0x22, 0x5, 0x3, 0x2, 0xf4, 0x73, 0x1b, 0x5f, 0x91, 0xfe, 0xe0, 0x60, 0x5c, 0xda, 0x44, 0x88, 0xc0, 0x14, 0x1, 0x75, 0x90, 0xc9, 0x16, 0x1, 0x69, 0x96, 0xd1, 0x16, 0x9b, 0xc2, 0x89, 0x1b, 0x71, 0x90, 0xfe, 0xeb, 0x74, 0x3, 0x2c, 0xae, 0xae, 0xfc, 0xf5, 0xfd, 0xfd, 0x1, 0xe2, 0x4, 0x60, 0xb1, 0xb1, 0xb1, 0xb1, 0xb1, 0xfc, 0x51, 0x3, 0x2c, 0xae, 0xae, 0xfc, 0xd4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3c, 0xfe, 0x1e, 0x4, 0x5c, 0x4, 0x5f, 0x0, 0x20, 0x0, 0x0, 0x1, 0x23, 0x13, 0x36, 0x23, 0x22, 0x5, 0x3, 0x36, 0x17, 0x20, 0x11, 0x10, 0x25, 0x6, 0x27, 0x37, 0x16, 0x33, 0x20, 0x11, 0x26, 0x21, 0x22, 0x7, 0x23, 0x13, 0x33, 0x7, 0x24, 0x17, 0x36, 0x3, 0x4, 0x22, 0xc0, 0x29, 0x15, 0x67, 0x90, 0xfe, 0xdc, 0x5d, 0xea, 0x97, 0x1, 0xb3, 0xfd, 0xb4, 0xe9, 0xeb, 0x1e, 0xdd, 0xe5, 0x1, 0xa0, 0x7, 0xfe, 0xd8, 0xb3, 0xc5, 0xc5, 0x9d, 0xc6, 0x1d, 0x1, 0x2c, 0xdf, 0xd0, 0x2a, 0x2, 0x23, 0x1, 0x8, 0xae, 0xb1, 0xfd, 0x97, 0x73, 0x1, 0xfe, 0x8d, 0xfe, 0x5e, 0x2, 0x1, 0x51, 0xbe, 0x7a, 0x1, 0x14, 0xdf, 0x6e, 0x4, 0x28, 0xb1, 0xb2, 0x1, 0x1, 0xfe, 0xcb, 0x0, 0x0, 0x1, 0x0, 0x60, 0xfe, 0x1e, 0x4, 0x61, 0x4, 0x5f, 0x0, 0xe, 0x0, 0x0, 0x1, 0x4, 0x1b, 0x1, 0x33, 0x3, 0x20, 0x37, 0x13, 0x33, 0x3, 0x2, 0x5, 0x2, 0x21, 0x2, 0xc8, 0xfd, 0x38, 0x60, 0x94, 0xbe, 0x8b, 0x2, 0x5, 0x21, 0x54, 0xc0, 0x5e, 0x24, 0xfd, 0x39, 0x37, 0x1, 0xe7, 0xfe, 0x1e, 0x1, 0x2, 0x43, 0x3, 0xff, 0xfc, 0x25, 0xf0, 0x2, 0xeb, 0xfc, 0xd3, 0xfe, 0xff, 0x1d, 0xfe, 0x8b, 0x0, 0x1, 0x0, 0x46, 0xfe, 0x1e, 0x4, 0x60, 0x4, 0x89, 0x0, 0x1e, 0x0, 0x0, 0x1, 0x16, 0x17, 0x24, 0x13, 0x4, 0x23, 0x20, 0x2f, 0x1, 0x33, 0x17, 0x16, 0x33, 0x20, 0x37, 0x33, 0x2, 0x1, 0x16, 0x17, 0x7, 0x24, 0x27, 0x6, 0x13, 0x23, 0x12, 0x25, 0x26, 0x27, 0x1, 0x52, 0x24, 0x77, 0x1, 0xad, 0x1, 0xfe, 0xcb, 0xf2, 0xfe, 0xe8, 0x10, 0x6, 0xd8, 0x8, 0x6, 0xa1, 0x1, 0x61, 0x91, 0xa1, 0x15, 0xfd, 0xf5, 0xd6, 0xb0, 0x3b, 0xfe, 0xff, 0xb9, 0xcb, 0x22, 0xc2, 0x2, 0x1, 0x14, 0x9b, 0x2c, 0x2, 0x83, 0xab, 0xd8, 0xdc, 0x1, 0xd2, 0x64, 0xed, 0x52, 0x6d, 0x51, 0x94, 0xfd, 0x72, 0xfe, 0xbe, 0xae, 0x3c, 0x89, 0x7a, 0xb0, 0xbe, 0xfe, 0x96, 0x1, 0xd7, 0xbf, 0xcb, 0xf8, 0x0, 0x0, 0x0, 0x1, 0x0, 0x50, 0x0, 0x0, 0x7, 0x0, 0x4, 0x5f, 0x0, 0x1b, 0x0, 0x0, 0x21, 0x23, 0x37, 0x4, 0x23, 0x22, 0x1b, 0x1, 0x36, 0x23, 0x22, 0x5, 0x3, 0x23, 0x13, 0x33, 0x7, 0x24, 0x33, 0x32, 0x7, 0x3, 0x6, 0x33, 0x32, 0x25, 0x13, 0x33, 0x6, 0x78, 0xc2, 0x18, 0xfe, 0x96, 0x9f, 0xca, 0x2c, 0x49, 0x17, 0x6b, 0x83, 0xfe, 0xe0, 0x66, 0xc3, 0x8e, 0xbf, 0x16, 0x1, 0x20, 0xe4, 0xd0, 0x19, 0x5a, 0x18, 0x67, 0x69, 0x1, 0x43, 0x5e, 0xbf, 0xaf, 0xaf, 0x1, 0x32, 0x1, 0xf9, 0xae, 0xae, 0xfc, 0xd6, 0x4, 0x5e, 0xb1, 0xb1, 0xb1, 0xfd, 0x84, 0xae, 0xae, 0x3, 0x2d, 0x0, 0x1, 0x0, 0x64, 0xfe, 0x1e, 0x4, 0x5b, 0x6, 0x87, 0x0, 0x17, 0x0, 0x0, 0x1, 0x36, 0x23, 0x22, 0x5, 0x3, 0x1, 0x23, 0x1, 0x13, 0x12, 0x21, 0x33, 0x15, 0x23, 0x22, 0x7, 0x3, 0x24, 0x37, 0x16, 0x7, 0x3, 0x23, 0x3, 0x88, 0x1b, 0x69, 0x7c, 0xfe, 0xc6, 0x5d, 0x2, 0x2, 0xf6, 0xfe, 0x31, 0xb3, 0x2a, 0x1, 0x70, 0xae, 0xea, 0x91, 0x1b, 0x32, 0x1, 0x78, 0x9a, 0xcb, 0x19, 0x5e, 0xc0, 0x3, 0x2c, 0xae, 0xaa, 0xfd, 0x7f, 0xfd, 0x6f, 0x2, 0x66, 0x4, 0xc0, 0x1, 0x43, 0x8a, 0xb9, 0xfe, 0x78, 0xa3, 0x1, 0x2, 0xaf, 0xfd, 0xe0, 0x0, 0x0, 0x1, 0x0, 0x7a, 0x0, 0x0, 0x4, 0x4e, 0x5, 0x2, 0x0, 0x18, 0x0, 0x0, 0x1, 0x2, 0x21, 0x20, 0x1b, 0x1, 0x33, 0x3, 0x6, 0x33, 0x20, 0x37, 0x13, 0x36, 0x4, 0x37, 0x35, 0x33, 0x15, 0x6, 0x37, 0x36, 0x33, 0x32, 0x7, 0x3, 0xff, 0x2c, 0xfd, 0xac, 0xfe, 0xd1, 0x2a, 0x23, 0xcb, 0x26, 0x1a, 0xc5, 0x1, 0x38, 0x1b, 0x4f, 0x16, 0xfd, 0x7c, 0x1, 0xd0, 0x2, 0x86, 0x85, 0x86, 0xf1, 0x24, 0x1, 0x32, 0xfe, 0xce, 0x1, 0x32, 0x1, 0x8, 0xfe, 0xf7, 0xad, 0xb9, 0x2, 0x32, 0x9a, 0xc2, 0xe7, 0xd4, 0xa4, 0x76, 0x3b, 0x3c, 0xfc, 0x0, 0x0, 0x0, 0x1, 0x0, 0x7c, 0xfe, 0x1e, 0x4, 0x6d, 0x6, 0x87, 0x0, 0x13, 0x0, 0x0, 0x25, 0x13, 0x23, 0x3, 0x37, 0x4, 0x23, 0x22, 0x1b, 0x1, 0x33, 0x3, 0x6, 0x33, 0x16, 0x25, 0x13, 0x3, 0x33, 0x13, 0x3, 0xe3, 0x6e, 0xdc, 0x4f, 0x2, 0xfe, 0x90, 0x9b, 0xcd, 0x2c, 0x8a, 0xbe, 0x8c, 0x17, 0x87, 0x68, 0x1, 0x2a, 0x73, 0x4e, 0xd3, 0x3b, 0x84, 0xfd, 0x9a, 0x2, 0x25, 0x6c, 0xaf, 0x1, 0x31, 0x3, 0x2e, 0xfc, 0xd2, 0xad, 0x2, 0xaf, 0x3, 0x21, 0x2, 0x35, 0xfd, 0xcd, 0x0, 0x0, 0x1, 0x0, 0x68, 0xfe, 0x1e, 0x4, 0xd2, 0x4, 0x5f, 0x0, 0x13, 0x0, 0x0, 0x25, 0x23, 0x37, 0x7, 0x13, 0x23, 0x3, 0x6, 0x23, 0x22, 0x37, 0x13, 0x33, 0x3, 0x6, 0x33, 0x32, 0x25, 0x13, 0x33, 0x4, 0x45, 0xbd, 0x8, 0xd4, 0x6d, 0xcb, 0x4a, 0xc5, 0x40, 0xbf, 0x18, 0x90, 0xc2, 0x86, 0x14, 0x8f, 0x7f, 0x1, 0x72, 0x6f, 0xc3, 0x46, 0x5f, 0x45, 0xfd, 0xbe, 0x2, 0x15, 0x33, 0xaf, 0x3, 0xb0, 0xfc, 0xb4, 0x8f, 0x99, 0x3, 0x42, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x7a, 0xff, 0xef, 0x6, 0xbb, 0x6, 0x88, 0x0, 0x7, 0x0, 0x25, 0x0, 0x0, 0x1, 0x4, 0x7, 0x3, 0x6, 0x33, 0x20, 0x37, 0x5, 0x23, 0x13, 0x36, 0x7, 0x5, 0x3, 0x2, 0x21, 0x20, 0x1b, 0x1, 0x36, 0x25, 0x11, 0x2, 0x21, 0x4, 0x17, 0x15, 0x23, 0x35, 0x26, 0x7, 0x22, 0x17, 0x11, 0x25, 0x20, 0x3, 0x3, 0x95, 0xfd, 0xfe, 0x1a, 0x42, 0x18, 0xab, 0x1, 0x47, 0x1c, 0x3, 0x17, 0xbd, 0x73, 0x1c, 0x65, 0xfe, 0x9f, 0x66, 0x29, 0xfd, 0xb9, 0xfe, 0xd6, 0x2a, 0x49, 0x1c, 0x2, 0xc4, 0x2, 0x1, 0x8d, 0x1, 0x57, 0x1, 0xca, 0x1, 0xa9, 0xc0, 0x2, 0x1, 0x5e, 0x1, 0x33, 0x2a, 0x3, 0xd9, 0x2b, 0xbd, 0xfe, 0x30, 0xb2, 0xb2, 0xb3, 0x2, 0xbd, 0xca, 0x9, 0x15, 0xfd, 0x4a, 0xfe, 0xce, 0x1, 0x32, 0x2, 0x19, 0xc1, 0x39, 0x1, 0x52, 0x1, 0x2, 0x2, 0xbe, 0x4d, 0x3f, 0x5b, 0x1, 0x96, 0xfe, 0xba, 0x27, 0xfe, 0xe0, 0x0, 0x2, 0x0, 0x71, 0xff, 0xe3, 0x4, 0xbb, 0x3, 0xb, 0x0, 0xb, 0x0, 0x17, 0x0, 0x24, 0x40, 0xa, 0x19, 0x45, 0x9, 0x12, 0xf, 0x3, 0x12, 0x15, 0x45, 0x18, 0x10, 0xfc, 0xec, 0xd4, 0xec, 0xec, 0x31, 0x0, 0x40, 0x8, 0x0, 0xb9, 0xc, 0x6, 0xb9, 0x12, 0x8c, 0x18, 0x10, 0xf4, 0xec, 0xd4, 0xec, 0x30, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x32, 0x4, 0x15, 0x14, 0x4, 0x23, 0x22, 0x24, 0x35, 0x34, 0x24, 0x2, 0x96, 0x99, 0xb7, 0xb7, 0x99, 0x99, 0xb7, 0xb7, 0x99, 0xf9, 0x1, 0x2c, 0xfe, 0xd4, 0xf9, 0xf9, 0xfe, 0xd4, 0x1, 0x2c, 0x2, 0x67, 0x7d, 0x73, 0x73, 0x7d, 0x7d, 0x73, 0x73, 0x7d, 0xa4, 0xd3, 0xc1, 0xc1, 0xd3, 0xd3, 0xc1, 0xc1, 0xd3, 0x0, 0x3, 0x0, 0x73, 0xff, 0xe3, 0x6, 0xa7, 0x5, 0xf0, 0x0, 0x13, 0x0, 0x1f, 0x0, 0x2b, 0x0, 0x32, 0x40, 0xd, 0x2d, 0x10, 0x21, 0x14, 0x19, 0xa, 0x91, 0x20, 0x15, 0x19, 0x0, 0x10, 0x2c, 0x10, 0xfc, 0xec, 0x32, 0xf4, 0xec, 0x32, 0xec, 0x31, 0x0, 0x40, 0xe, 0x15, 0x95, 0x20, 0xad, 0x1a, 0x95, 0xf, 0x26, 0x95, 0x5, 0x91, 0xf, 0x8c, 0x2c, 0x10, 0xe4, 0xf4, 0xec, 0x10, 0xec, 0xf4, 0xec, 0x30, 0x13, 0x34, 0x12, 0x36, 0x24, 0x33, 0x32, 0x4, 0x16, 0x12, 0x15, 0x14, 0x2, 0x6, 0x4, 0x23, 0x22, 0x24, 0x26, 0x2, 0x25, 0x21, 0x16, 0x17, 0x1e, 0x1, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x25, 0x21, 0x26, 0x27, 0x2e, 0x1, 0x23, 0x22, 0x7, 0x6, 0x7, 0x6, 0x73, 0x7e, 0xd4, 0x1, 0x26, 0xa2, 0xa2, 0x1, 0x26, 0xd4, 0x7e, 0x7e, 0xd4, 0xfe, 0xda, 0xa2, 0xa2, 0xfe, 0xda, 0xd4, 0x7e, 0x5, 0x59, 0xfb, 0x81, 0x1b, 0x8a, 0x4e, 0xd6, 0x77, 0x77, 0x6b, 0xd8, 0x5d, 0x1e, 0xfb, 0x8c, 0x4, 0x7e, 0x1a, 0x8a, 0x4e, 0xd6, 0x77, 0x77, 0x6b, 0xd8, 0x5d, 0x1e, 0x2, 0xea, 0x9d, 0x1, 0x1e, 0xd1, 0x7a, 0x7a, 0xd1, 0xfe, 0xe2, 0x9d, 0x9e, 0xfe, 0xe2, 0xd1, 0x7a, 0x7a, 0xd1, 0x1, 0x1e, 0x49, 0xca, 0x91, 0x53, 0x60, 0x30, 0x61, 0xe4, 0x4a, 0xf9, 0xc9, 0x92, 0x52, 0x60, 0x30, 0x61, 0xe5, 0x49, 0x0, 0x5, 0x0, 0x73, 0xff, 0xe3, 0x6, 0xa7, 0x5, 0xf0, 0x0, 0x13, 0x0, 0x18, 0x0, 0x1d, 0x0, 0x22, 0x0, 0x27, 0x0, 0x49, 0x40, 0x15, 0x1a, 0x22, 0x95, 0x18, 0x24, 0x24, 0x1e, 0x23, 0x29, 0x10, 0x1e, 0x19, 0x19, 0xa, 0x91, 0x23, 0x14, 0x19, 0x0, 0x10, 0x28, 0x10, 0xfc, 0xec, 0x32, 0xf4, 0xec, 0x32, 0xec, 0x11, 0x12, 0x39, 0x2f, 0x3c, 0xec, 0x32, 0x31, 0x0, 0x40, 0x12, 0x1a, 0x14, 0x95, 0x22, 0x23, 0xad, 0x1b, 0x17, 0x95, 0xf, 0x21, 0x25, 0x95, 0x5, 0x91, 0xf, 0x8c, 0x28, 0x10, 0xe4, 0xf4, 0xec, 0x32, 0x10, 0xec, 0x32, 0xf4, 0x3c, 0xec, 0x32, 0x30, 0x13, 0x34, 0x12, 0x36, 0x24, 0x33, 0x32, 0x4, 0x16, 0x12, 0x15, 0x14, 0x2, 0x6, 0x4, 0x23, 0x22, 0x24, 0x26, 0x2, 0x37, 0x16, 0x0, 0x17, 0x11, 0x29, 0x1, 0x11, 0x36, 0x0, 0x13, 0x26, 0x0, 0x27, 0x11, 0x29, 0x1, 0x11, 0x6, 0x0, 0x73, 0x7e, 0xd4, 0x1, 0x26, 0xa2, 0xa2, 0x1, 0x26, 0xd4, 0x7e, 0x7e, 0xd4, 0xfe, 0xda, 0xa2, 0xa2, 0xfe, 0xda, 0xd4, 0x7e, 0xdb, 0x1a, 0x1, 0xb, 0xb5, 0x2, 0xa4, 0xfe, 0x26, 0xb5, 0x1, 0xb, 0x1a, 0x1a, 0xfe, 0xf5, 0xb5, 0xfd, 0x5c, 0x1, 0xda, 0xb5, 0xfe, 0xf5, 0x2, 0xea, 0x9d, 0x1, 0x1e, 0xd1, 0x7a, 0x7a, 0xd1, 0xfe, 0xe2, 0x9d, 0x9e, 0xfe, 0xe2, 0xd1, 0x7a, 0x7a, 0xd1, 0x1, 0x1e, 0x49, 0xc9, 0xfe, 0xe6, 0x21, 0x2, 0x4, 0xfd, 0xfb, 0x21, 0x1, 0x1a, 0x1, 0x74, 0xc9, 0x1, 0x1a, 0x21, 0xfd, 0xfc, 0x2, 0x4, 0x21, 0xfe, 0xe6, 0x0, 0x0, 0x0, 0x2, 0x0, 0x40, 0x0, 0x0, 0x5, 0x35, 0x5, 0xd5, 0x0, 0xa, 0x0, 0xd, 0x0, 0x63, 0x40, 0xd, 0x3, 0x0, 0xc, 0x95, 0x1, 0x81, 0x6, 0x9, 0x3, 0x5, 0x0, 0x9, 0xe, 0x10, 0xdc, 0xc4, 0xd4, 0xc4, 0x31, 0x0, 0x2f, 0x3c, 0xf4, 0xec, 0x39, 0x39, 0x30, 0x40, 0x15, 0xd, 0x11, 0x0, 0x6, 0x0, 0x6, 0x11, 0x5, 0xd, 0x5, 0xc, 0x11, 0x3, 0x8, 0x3, 0x8, 0x11, 0x9, 0xa, 0x9, 0x42, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x1, 0xed, 0x7, 0x10, 0x1, 0xed, 0x7, 0x10, 0x1, 0xed, 0x7, 0x10, 0x1, 0xed, 0x40, 0x14, 0xb, 0x9, 0xc, 0xd, 0x5, 0xa, 0x9, 0xc, 0x0, 0x6, 0x7, 0x0, 0x6, 0x8, 0x3, 0x4, 0x3, 0x8, 0xd, 0x5, 0xf, 0xf, 0xf, 0xf, 0x59, 0x22, 0x13, 0x35, 0x21, 0x15, 0x9, 0x1, 0x23, 0x9, 0x1, 0x23, 0x1, 0x37, 0x1, 0x21, 0x76, 0x4, 0x95, 0xfe, 0x28, 0x2, 0x2, 0xf0, 0xfe, 0x76, 0xfe, 0x75, 0xf0, 0x2, 0x2, 0x79, 0x1, 0x54, 0xfd, 0x57, 0x5, 0x2b, 0xaa, 0x9a, 0xfd, 0x7f, 0xfd, 0x46, 0x2, 0x17, 0xfd, 0xe9, 0x2, 0xba, 0xa3, 0x1, 0xce, 0x0, 0x0, 0x0, 0x2, 0x0, 0x43, 0x0, 0x0, 0x5, 0x38, 0x5, 0xd5, 0x0, 0xa, 0x0, 0xd, 0x0, 0x63, 0x40, 0xd, 0x3, 0x0, 0xc, 0x95, 0x7, 0x5, 0x81, 0x2, 0x0, 0x7, 0x3, 0x5, 0xe, 0x10, 0xdc, 0xc4, 0xd4, 0xc4, 0x31, 0x0, 0x2f, 0xe4, 0x32, 0xec, 0x39, 0x39, 0x30, 0x40, 0x15, 0xd, 0x11, 0x0, 0x6, 0x0, 0x6, 0x11, 0x5, 0xd, 0x5, 0xc, 0x11, 0x3, 0x8, 0x3, 0x8, 0x11, 0x9, 0xa, 0x9, 0x42, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x1, 0xed, 0x7, 0x10, 0x1, 0xed, 0x7, 0x10, 0x1, 0xed, 0x7, 0x10, 0x1, 0xed, 0x40, 0x14, 0xb, 0x9, 0xc, 0xd, 0x5, 0xa, 0x9, 0xc, 0x0, 0x6, 0x7, 0x0, 0x6, 0x8, 0x3, 0x4, 0x3, 0x8, 0xd, 0x5, 0xf, 0xf, 0xf, 0xf, 0x59, 0x22, 0x25, 0x15, 0x21, 0x35, 0x9, 0x1, 0x33, 0x9, 0x1, 0x33, 0x1, 0x7, 0x1, 0x21, 0x5, 0xe, 0xfb, 0x6b, 0x1, 0xcc, 0xfd, 0xfe, 0xf0, 0x1, 0x8b, 0x1, 0x8a, 0xf0, 0xfd, 0xfe, 0x78, 0xfe, 0xab, 0x2, 0xa9, 0x9a, 0x9a, 0xaa, 0x2, 0x71, 0x2, 0xba, 0xfd, 0xe9, 0x2, 0x17, 0xfd, 0x46, 0xa3, 0xfe, 0x32, 0x0, 0x0, 0x0, 0x3, 0x0, 0x40, 0x0, 0x0, 0x4, 0xd5, 0x5, 0xd5, 0x0, 0x2, 0x0, 0x5, 0x0, 0xf, 0x0, 0x6a, 0x40, 0x11, 0xc, 0xf, 0x1, 0x95, 0xd, 0x81, 0xa, 0x7, 0x3, 0x95, 0x9, 0x11, 0xf, 0x7, 0xa, 0xc, 0x10, 0x10, 0xdc, 0x3c, 0xd4, 0x3c, 0xcc, 0x31, 0x0, 0x2f, 0xec, 0x39, 0x39, 0xf4, 0xec, 0x39, 0x39, 0x30, 0x40, 0x15, 0x0, 0x11, 0xf, 0x3, 0xf, 0x1, 0x11, 0xc, 0x4, 0xc, 0x4, 0x11, 0x7, 0x1, 0x7, 0x3, 0x11, 0xa, 0x0, 0xa, 0x42, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x1, 0xed, 0x7, 0x10, 0x1, 0xed, 0x7, 0x10, 0x1, 0xed, 0x7, 0x10, 0x1, 0xed, 0x40, 0x14, 0x2, 0x1, 0x7, 0xa, 0x0, 0x6, 0x1, 0x7, 0xf, 0x3, 0x5, 0x3, 0xf, 0x4, 0xc, 0xb, 0xc, 0x4, 0xa, 0x0, 0xf, 0xf, 0xf, 0xf, 0x59, 0x22, 0x1, 0x21, 0x9, 0x1, 0x21, 0x1, 0x37, 0x1, 0x15, 0x21, 0x35, 0x9, 0x1, 0x35, 0x21, 0x15, 0x3, 0xd9, 0xfd, 0x57, 0x1, 0x58, 0xfe, 0xb4, 0x2, 0xa9, 0xfe, 0xa8, 0x77, 0x1, 0xd1, 0xfb, 0x6b, 0x1, 0xd1, 0xfe, 0x2f, 0x4, 0x95, 0x5, 0x2b, 0xfe, 0x57, 0xfd, 0x28, 0x1, 0xa9, 0x96, 0xfd, 0xc1, 0xaa, 0xa0, 0x2, 0x4c, 0x2, 0x3f, 0xaa, 0xa0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x96, 0x0, 0x0, 0x3, 0xe8, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x23, 0x40, 0x11, 0x3, 0x7, 0x0, 0x8, 0x4, 0x91, 0xb, 0x1, 0x1c, 0x0, 0x9, 0x1c, 0x8, 0x5, 0x1c, 0x4, 0xc, 0x10, 0xdc, 0xfc, 0xdc, 0xfc, 0xdc, 0xec, 0x31, 0x0, 0x2f, 0xf4, 0x3c, 0x3c, 0xcc, 0x32, 0x30, 0x1, 0x33, 0x15, 0x23, 0x1, 0x33, 0x15, 0x23, 0x1, 0x33, 0x11, 0x23, 0x3, 0x1c, 0xcc, 0xcc, 0xfd, 0x7a, 0xcc, 0xcc, 0x1, 0x44, 0xca, 0xca, 0x5, 0xd5, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0xfa, 0x2b, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x5, 0xd5, 0x10, 0x6, 0x3, 0x30, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x39, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x28, 0x0, 0x0, 0xff, 0xff, 0x0, 0x83, 0x0, 0x0, 0x4, 0x45, 0x5, 0xd5, 0x10, 0x6, 0x1, 0x50, 0x0, 0x0, 0x0, 0x5, 0x0, 0x96, 0xff, 0xe3, 0x4, 0xe0, 0x5, 0xf0, 0x0, 0xb, 0x0, 0x17, 0x0, 0x23, 0x0, 0x2f, 0x0, 0x33, 0x0, 0x48, 0x40, 0x10, 0x35, 0x45, 0x31, 0x3, 0x1b, 0x12, 0x15, 0x2d, 0x30, 0x9, 0x21, 0x12, 0xf, 0x27, 0x45, 0x34, 0x10, 0xfc, 0x3c, 0xec, 0x32, 0xc4, 0xd4, 0x3c, 0xec, 0x32, 0xc4, 0xec, 0x31, 0x0, 0x40, 0x16, 0x33, 0xb9, 0x30, 0x30, 0x2a, 0xc, 0x0, 0xb9, 0xc, 0x6, 0xb9, 0x12, 0x91, 0x34, 0x1e, 0xb9, 0x2a, 0x18, 0xb9, 0x24, 0x8c, 0x34, 0x10, 0xf4, 0xec, 0xd4, 0xec, 0x10, 0xf4, 0xec, 0xd4, 0xec, 0x11, 0x12, 0x39, 0x2f, 0xec, 0x30, 0x1, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x22, 0x24, 0x35, 0x34, 0x24, 0x33, 0x32, 0x4, 0x15, 0x14, 0x4, 0x3, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x22, 0x24, 0x35, 0x34, 0x24, 0x33, 0x32, 0x4, 0x15, 0x14, 0x4, 0x1, 0x21, 0x15, 0x21, 0x2, 0xbb, 0x99, 0xb9, 0xb9, 0x99, 0x99, 0xb9, 0xb9, 0x99, 0xf9, 0xfe, 0xd4, 0x1, 0x2c, 0xf9, 0xf9, 0x1, 0x2c, 0xfe, 0xd4, 0xf9, 0x99, 0xb9, 0xb9, 0x99, 0x99, 0xb9, 0xb9, 0x99, 0xf9, 0xfe, 0xd4, 0x1, 0x2c, 0xf9, 0xf9, 0x1, 0x2c, 0xfe, 0xd4, 0xfd, 0x37, 0x3, 0xa0, 0xfc, 0x60, 0x4, 0x73, 0x39, 0x34, 0x34, 0x38, 0x38, 0x34, 0x34, 0x39, 0xa4, 0x8e, 0x83, 0x82, 0x8e, 0x8e, 0x82, 0x83, 0x8e, 0xfc, 0xb8, 0x39, 0x34, 0x34, 0x38, 0x38, 0x34, 0x34, 0x39, 0xa4, 0x8e, 0x83, 0x82, 0x8e, 0x8e, 0x82, 0x83, 0x8e, 0x3, 0x5c, 0xaa, 0x0, 0x0, 0x0, 0x1, 0x0, 0xdb, 0x0, 0x0, 0x6, 0x7d, 0x5, 0xd5, 0x0, 0x13, 0x0, 0x3a, 0x40, 0xd, 0x5, 0x9, 0xc, 0x3, 0x1c, 0x7, 0xd, 0x2, 0x1c, 0x0, 0x10, 0x12, 0x14, 0x10, 0xdc, 0xcc, 0x32, 0xec, 0x32, 0xdc, 0xec, 0x32, 0xcc, 0x32, 0x31, 0x0, 0x40, 0x10, 0x7, 0x12, 0x95, 0x0, 0xd, 0x95, 0x2, 0xad, 0x0, 0x4, 0x91, 0x11, 0x8, 0x95, 0xb, 0xf, 0x2f, 0x3c, 0xec, 0x32, 0xe4, 0x32, 0xf4, 0xec, 0x10, 0xec, 0x32, 0x30, 0x13, 0x21, 0x11, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0xdb, 0x2, 0xb, 0x1, 0x8b, 0x2, 0xb, 0xfe, 0xbf, 0x1, 0x41, 0xfd, 0xf5, 0xfe, 0x75, 0xfd, 0xf5, 0x1, 0x41, 0xfe, 0xbf, 0x5, 0xd5, 0xfd, 0x9c, 0x2, 0x64, 0xaa, 0xfb, 0x7f, 0xaa, 0x2, 0xc7, 0xfd, 0x39, 0xaa, 0x4, 0x81, 0x0, 0x0, 0x0, 0x2, 0x0, 0x5c, 0x0, 0x0, 0x5, 0x52, 0x5, 0xd5, 0x0, 0x8, 0x0, 0xb, 0x0, 0x54, 0x40, 0x10, 0xb, 0x95, 0x2, 0x81, 0x7, 0x0, 0xa, 0x2, 0x4, 0x6, 0x0, 0xb, 0x1c, 0x2, 0x4, 0xc, 0x10, 0xf4, 0xec, 0x32, 0xd4, 0xc4, 0x11, 0x39, 0x31, 0x0, 0x2f, 0x3c, 0xf4, 0xec, 0x30, 0x40, 0x19, 0x5, 0x11, 0x0, 0x4, 0x8, 0x7, 0x8, 0x9, 0x11, 0x0, 0x4, 0x0, 0x7, 0x11, 0x6, 0x5, 0x6, 0x5, 0x8, 0xa, 0x11, 0x4, 0x0, 0x4, 0x42, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x3c, 0x3c, 0x7, 0x10, 0x5, 0xed, 0x0, 0x7, 0x10, 0x4, 0xed, 0x7, 0x10, 0x8, 0xed, 0x59, 0x22, 0x21, 0x23, 0x11, 0x21, 0x15, 0x9, 0x1, 0x23, 0x1, 0x5, 0x1, 0x21, 0x1, 0x26, 0xca, 0x4, 0xac, 0xfe, 0x1e, 0x2, 0x2c, 0xef, 0xfe, 0x50, 0xfe, 0x73, 0x2, 0xe6, 0xfd, 0x1a, 0x5, 0xd5, 0x9a, 0xfd, 0x76, 0xfd, 0x4f, 0x2, 0x17, 0xd3, 0x3, 0xe7, 0x0, 0x0, 0x0, 0x3, 0x0, 0x96, 0x0, 0x0, 0x3, 0x7e, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x2d, 0x40, 0x13, 0xb, 0x95, 0x8, 0xaf, 0x7, 0x3, 0x95, 0x0, 0xad, 0x4, 0x95, 0x7, 0x1, 0x0, 0x9, 0x5, 0x8, 0x4, 0xc, 0x10, 0xdc, 0x3c, 0xcc, 0x32, 0xdc, 0xcc, 0xb4, 0x3f, 0xd, 0x3f, 0x1, 0x2, 0x5d, 0x31, 0x0, 0x2f, 0xec, 0xfc, 0xec, 0x10, 0xfc, 0xec, 0x30, 0x1, 0x33, 0x15, 0x23, 0x1, 0x33, 0x15, 0x23, 0x11, 0x33, 0x15, 0x23, 0x2, 0x80, 0xfe, 0xfe, 0xfe, 0x16, 0xfe, 0xfe, 0xfe, 0xfe, 0x3, 0x51, 0xcd, 0xfe, 0x49, 0xcd, 0x5, 0xd5, 0xcd, 0x0, 0x0, 0x0, 0x2, 0x0, 0x5c, 0x0, 0x0, 0x5, 0x52, 0x5, 0xd5, 0x0, 0x8, 0x0, 0xb, 0x0, 0x54, 0x40, 0x10, 0x0, 0x6, 0x81, 0xb, 0x95, 0x5, 0xb, 0x6, 0x4, 0x1, 0x7, 0xa, 0x1c, 0x6, 0x4, 0xc, 0x10, 0xf4, 0xec, 0x32, 0xd4, 0xc4, 0x11, 0x39, 0x31, 0x0, 0x2f, 0xec, 0xf4, 0x3c, 0x30, 0x40, 0x19, 0x2, 0x11, 0x7, 0x3, 0x8, 0x0, 0x8, 0x9, 0x11, 0x7, 0x3, 0x7, 0x0, 0x11, 0x1, 0x2, 0x1, 0x2, 0x8, 0xb, 0x11, 0x3, 0x7, 0x3, 0x42, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x3c, 0x3c, 0x7, 0x10, 0x5, 0xed, 0x0, 0x7, 0x10, 0x4, 0xed, 0x7, 0x10, 0x8, 0xed, 0x59, 0x22, 0x1, 0x33, 0x9, 0x1, 0x15, 0x21, 0x11, 0x33, 0x1, 0x25, 0x11, 0x21, 0x4, 0x63, 0xef, 0xfd, 0xd4, 0x1, 0xe2, 0xfb, 0x54, 0xca, 0x1, 0x8d, 0xfe, 0x73, 0x2, 0xe6, 0x5, 0xd5, 0xfd, 0x4f, 0xfd, 0x76, 0x9a, 0x5, 0xd5, 0xfd, 0xe9, 0xd3, 0xfc, 0x19, 0x0, 0x0, 0x0, 0x3, 0x0, 0x73, 0xff, 0xe3, 0x6, 0xa7, 0x5, 0xf0, 0x0, 0x13, 0x0, 0x1f, 0x0, 0x2b, 0x0, 0x37, 0x40, 0x11, 0x20, 0x95, 0x1b, 0x1b, 0x14, 0x26, 0x2d, 0x10, 0x26, 0x19, 0xa, 0x91, 0x14, 0x19, 0x0, 0x10, 0x2c, 0x10, 0xfc, 0xec, 0xf4, 0xec, 0xec, 0x11, 0x12, 0x39, 0x2f, 0xec, 0x31, 0x0, 0x40, 0xc, 0x1a, 0x21, 0x95, 0xf, 0x1b, 0x20, 0x95, 0x5, 0x91, 0xf, 0x8c, 0x2c, 0x10, 0xe4, 0xf4, 0xec, 0x32, 0x10, 0xec, 0x32, 0x30, 0x13, 0x34, 0x12, 0x36, 0x24, 0x33, 0x32, 0x4, 0x16, 0x12, 0x15, 0x14, 0x2, 0x6, 0x4, 0x23, 0x22, 0x24, 0x26, 0x2, 0x37, 0x14, 0x17, 0x16, 0x17, 0x16, 0x17, 0x11, 0x6, 0x7, 0xe, 0x1, 0x1, 0x11, 0x36, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x73, 0x7e, 0xd4, 0x1, 0x26, 0xa2, 0xa2, 0x1, 0x26, 0xd4, 0x7e, 0x7e, 0xd4, 0xfe, 0xda, 0xa2, 0xa2, 0xfe, 0xda, 0xd4, 0x7e, 0xd5, 0x2e, 0x5d, 0xd8, 0x3d, 0x40, 0xb5, 0x81, 0x4e, 0x5c, 0x2, 0xaa, 0xb5, 0x81, 0x4e, 0x5c, 0x2e, 0x5d, 0xd8, 0x3d, 0x2, 0xea, 0x9d, 0x1, 0x1e, 0xd1, 0x7a, 0x7a, 0xd1, 0xfe, 0xe2, 0x9d, 0x9e, 0xfe, 0xe2, 0xd1, 0x7a, 0x7a, 0xd1, 0x1, 0x1e, 0x9e, 0x7d, 0x71, 0xe4, 0x61, 0x1b, 0xc, 0x4, 0xb3, 0x21, 0x88, 0x53, 0xe1, 0x1, 0xdd, 0xfb, 0x4d, 0x21, 0x89, 0x52, 0xe1, 0x7d, 0x7c, 0x70, 0xe5, 0x61, 0x1b, 0x0, 0x0, 0x0, 0x3, 0x0, 0x73, 0xff, 0x95, 0x6, 0xa7, 0x6, 0x3f, 0x0, 0x19, 0x0, 0x23, 0x0, 0x2d, 0x0, 0x6e, 0x40, 0x1e, 0x16, 0x2e, 0x15, 0x17, 0x0, 0x1a, 0xa, 0x8, 0xd, 0x1c, 0x1d, 0x27, 0x26, 0x7, 0x14, 0x6, 0x1a, 0x24, 0x9, 0x2f, 0x10, 0x24, 0x19, 0xd, 0x91, 0x1a, 0x19, 0x0, 0x10, 0x2e, 0x10, 0xfc, 0xec, 0xf4, 0xec, 0xec, 0xc4, 0x11, 0x12, 0x17, 0x39, 0x12, 0x39, 0x39, 0x11, 0x12, 0x39, 0x39, 0x11, 0x39, 0x31, 0x0, 0x40, 0x1e, 0x7, 0x9, 0x5, 0x1f, 0x16, 0x2e, 0x1c, 0x1d, 0x27, 0x26, 0x4, 0x1f, 0x14, 0x12, 0xa, 0x17, 0x1f, 0x29, 0x15, 0xa, 0x29, 0x95, 0x12, 0x1f, 0x95, 0x5, 0x91, 0x12, 0x8c, 0x2e, 0x10, 0xe4, 0xf4, 0xec, 0x10, 0xec, 0x2f, 0xc4, 0x11, 0x12, 0x39, 0x39, 0x12, 0x39, 0x12, 0x17, 0x39, 0x12, 0x39, 0x11, 0x12, 0x39, 0x39, 0x30, 0x13, 0x34, 0x12, 0x36, 0x24, 0x33, 0x32, 0x17, 0x37, 0x17, 0x7, 0x16, 0x12, 0x15, 0x14, 0x2, 0x6, 0x4, 0x23, 0x22, 0x27, 0x7, 0x27, 0x37, 0x26, 0x2, 0x37, 0x14, 0x17, 0x1, 0x26, 0x23, 0x22, 0xe, 0x2, 0x5, 0x34, 0x27, 0x1, 0x16, 0x33, 0x32, 0x3e, 0x2, 0x73, 0x7e, 0xd4, 0x1, 0x26, 0xa2, 0xe3, 0xc4, 0xa0, 0x82, 0x9d, 0x6e, 0x80, 0x7e, 0xd4, 0xfe, 0xda, 0xa2, 0xe4, 0xc4, 0xa0, 0x81, 0x9c, 0x6e, 0x7f, 0xd5, 0x91, 0x2, 0xea, 0x8f, 0xa7, 0x77, 0xd6, 0x9c, 0x5c, 0x4, 0x8a, 0x91, 0xfd, 0x15, 0x90, 0xa7, 0x77, 0xd6, 0x9c, 0x5c, 0x2, 0xea, 0x9d, 0x1, 0x1e, 0xd1, 0x7a, 0x76, 0xc4, 0x69, 0xc2, 0x6a, 0xfe, 0xde, 0x9d, 0x9e, 0xfe, 0xe2, 0xd1, 0x7a, 0x77, 0xc5, 0x6b, 0xc1, 0x6a, 0x1, 0x21, 0x9e, 0xe6, 0xae, 0x3, 0x98, 0x5e, 0x60, 0xa5, 0xe1, 0x7c, 0xe5, 0xaf, 0xfc, 0x67, 0x5e, 0x60, 0xa5, 0xe1, 0x0, 0x0, 0x4, 0x0, 0x96, 0x0, 0x0, 0x1, 0x94, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x2e, 0x40, 0x17, 0x7, 0x95, 0x4, 0x3, 0x95, 0x0, 0x8, 0x95, 0xb, 0xc, 0x95, 0x0, 0xaf, 0xf, 0xd, 0x9, 0x5, 0x1, 0xc, 0x8, 0x4, 0x0, 0x10, 0x10, 0xdc, 0x3c, 0x3c, 0x3c, 0xcc, 0x32, 0x32, 0x32, 0x31, 0x0, 0x2f, 0xe4, 0xec, 0xdc, 0xec, 0x10, 0xec, 0xdc, 0xec, 0x30, 0x13, 0x33, 0x15, 0x23, 0x15, 0x33, 0x15, 0x23, 0x15, 0x33, 0x15, 0x23, 0x15, 0x33, 0x15, 0x23, 0x96, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x5, 0xd5, 0xcd, 0xdf, 0xcd, 0xe1, 0xcd, 0xe1, 0xcd, 0x0, 0x1, 0x0, 0x29, 0x0, 0x0, 0x4, 0xe1, 0x5, 0xd5, 0x0, 0x7, 0x0, 0x3a, 0x40, 0x9, 0x7, 0xaf, 0x1, 0x5, 0x9, 0x7, 0x1, 0x5, 0x8, 0x10, 0xdc, 0xdc, 0xc4, 0xcc, 0x31, 0x0, 0x2f, 0x3c, 0xe4, 0x30, 0x40, 0x14, 0x3, 0x11, 0x0, 0x7, 0x4, 0x2, 0x11, 0x1, 0x0, 0x1, 0x0, 0x3, 0x7, 0x11, 0x6, 0x4, 0x11, 0x5, 0x6, 0x5, 0x7, 0x1, 0x10, 0xed, 0x10, 0xed, 0x32, 0x32, 0x7, 0x10, 0xed, 0x8, 0x10, 0xed, 0x9, 0x1, 0x23, 0x9, 0x1, 0x23, 0x1, 0x33, 0x2, 0xb2, 0x2, 0x2e, 0xe8, 0xfe, 0x5d, 0xfe, 0xba, 0xe6, 0x3, 0x7f, 0xe8, 0x2, 0xba, 0xfd, 0x46, 0x2, 0x1e, 0xfd, 0xe2, 0x5, 0xd5, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x3b, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x2d, 0x40, 0xd, 0xd, 0x4, 0x3, 0x1c, 0x6, 0x2, 0x1c, 0xb, 0x7, 0x1c, 0xa, 0x4, 0xc, 0x10, 0xfc, 0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0xfc, 0x31, 0x0, 0x40, 0xa, 0x0, 0x91, 0x5, 0x7, 0x95, 0x2, 0xb, 0xad, 0x9, 0x5, 0x2f, 0x3c, 0xf4, 0x3c, 0xec, 0x10, 0xe4, 0x30, 0x1, 0x33, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x2, 0x9d, 0xca, 0x1, 0xd4, 0xca, 0xfd, 0x22, 0xca, 0x1, 0xd4, 0x5, 0xd5, 0xfd, 0x9c, 0xfc, 0x8f, 0x2, 0xc7, 0xfd, 0x39, 0x3, 0x71, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3e, 0x0, 0x0, 0x5, 0x3c, 0x5, 0xd5, 0x0, 0xe, 0x0, 0x81, 0x40, 0xc, 0x3, 0x1c, 0x4, 0x4, 0x7, 0x0, 0xf, 0x7, 0x9, 0x0, 0xd, 0xf, 0x10, 0xd4, 0xc4, 0xdc, 0xc4, 0xc4, 0x11, 0x12, 0x39, 0x2f, 0xec, 0x31, 0xb4, 0x80, 0x0, 0x7f, 0xd, 0x2, 0x5d, 0x0, 0x40, 0x6, 0x6, 0x3, 0x0, 0xaf, 0xc, 0x9, 0x2f, 0x3c, 0xec, 0x32, 0x32, 0x30, 0x4b, 0xb0, 0x42, 0x50, 0x58, 0x40, 0x14, 0xa, 0x11, 0x9, 0x8, 0x9, 0xc, 0x11, 0xd, 0xe, 0xd, 0x6, 0x11, 0x7, 0x8, 0x7, 0x1, 0x11, 0x0, 0xe, 0x0, 0x5, 0x7, 0x10, 0xec, 0x7, 0x10, 0xec, 0x7, 0x10, 0xec, 0x7, 0x10, 0xec, 0x40, 0xf, 0x8, 0x1, 0x9, 0xc, 0x7, 0xb, 0xc, 0x7, 0xa, 0x0, 0xe, 0xd, 0x6, 0x0, 0xa, 0xf, 0xf, 0xf, 0x40, 0xa, 0x5, 0x11, 0x8, 0x8, 0x7, 0x2, 0x11, 0xe, 0x0, 0xe, 0x7, 0x0, 0x10, 0xed, 0x7, 0x0, 0x10, 0xed, 0x59, 0x13, 0x33, 0x1, 0x11, 0x33, 0x11, 0x1, 0x33, 0x9, 0x1, 0x23, 0x9, 0x1, 0x23, 0x1, 0x82, 0xda, 0x1, 0x13, 0xca, 0x1, 0xb, 0xd8, 0xfe, 0x20, 0x2, 0x0, 0xd8, 0xfe, 0x5c, 0xfe, 0x58, 0xda, 0x2, 0x16, 0x5, 0xd5, 0xfe, 0x64, 0x1, 0x9c, 0xfe, 0x73, 0x1, 0x8d, 0xfd, 0x33, 0xfc, 0xf8, 0x2, 0x7b, 0xfd, 0x85, 0x3, 0x1d, 0x0, 0x0, 0x0, 0x4, 0x0, 0x96, 0x0, 0x0, 0x3, 0xa2, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x31, 0x40, 0x14, 0xf, 0x7, 0x95, 0xc, 0x4, 0xaf, 0x8, 0x0, 0x95, 0xb, 0x3, 0x5, 0x1, 0x4, 0x0, 0xd, 0x9, 0xc, 0x8, 0x10, 0x10, 0xdc, 0x3c, 0xcc, 0x32, 0xdc, 0x3c, 0xcc, 0x32, 0xb4, 0x3f, 0x5, 0x3f, 0x1, 0x2, 0x5d, 0x31, 0x0, 0x2f, 0x3c, 0xec, 0x32, 0xf4, 0x3c, 0xec, 0x32, 0x30, 0x25, 0x33, 0x15, 0x23, 0x11, 0x33, 0x15, 0x23, 0x1, 0x33, 0x15, 0x23, 0x11, 0x33, 0x15, 0x23, 0x2, 0xa4, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xf2, 0xfe, 0xfe, 0xfe, 0xfe, 0xcd, 0xcd, 0x5, 0xd5, 0xcd, 0xfb, 0xc5, 0xcd, 0x5, 0xd5, 0xcd, 0x0, 0x2, 0x0, 0x5c, 0x0, 0x0, 0x5, 0x8, 0x5, 0xd5, 0x0, 0x2, 0x0, 0x9, 0x0, 0x37, 0x40, 0x10, 0x2, 0x95, 0x5, 0x81, 0x8, 0x95, 0x4, 0x1, 0x5, 0x9, 0x6, 0x0, 0x1c, 0x5, 0x4, 0xa, 0x10, 0xf4, 0xec, 0xd4, 0xc4, 0x11, 0x39, 0x31, 0x0, 0x2f, 0xec, 0xf4, 0xec, 0x30, 0x40, 0x9, 0x0, 0x11, 0x8, 0x1, 0x11, 0x7, 0x8, 0x7, 0x42, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xed, 0x4, 0x10, 0xed, 0x59, 0x22, 0x9, 0x1, 0x21, 0x1, 0x21, 0x11, 0x21, 0x15, 0x1, 0x21, 0x1, 0x26, 0x2, 0xe6, 0xfd, 0x1a, 0x3, 0xe2, 0xfb, 0x54, 0x4, 0xac, 0xfc, 0x9c, 0x3, 0x64, 0x1, 0x44, 0x3, 0xe7, 0xfa, 0xd5, 0x5, 0xd5, 0x9a, 0xfb, 0x6f, 0x0, 0x3, 0x0, 0x96, 0x2, 0x68, 0x4, 0x92, 0x3, 0x68, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x24, 0x40, 0x11, 0x3, 0x7, 0xb, 0x0, 0x4, 0x8, 0xd, 0x1, 0x1c, 0x0, 0x5, 0x1c, 0x4, 0x9, 0x1c, 0x8, 0xc, 0x10, 0xdc, 0xec, 0xdc, 0xec, 0xdc, 0xec, 0xcc, 0x31, 0x0, 0x2f, 0x3c, 0x3c, 0xcc, 0x32, 0x32, 0x30, 0x1, 0x33, 0x11, 0x23, 0x1, 0x33, 0x11, 0x23, 0x1, 0x33, 0x11, 0x23, 0x3, 0xc6, 0xcc, 0xcc, 0xfe, 0x68, 0xcc, 0xcc, 0xfe, 0x68, 0xcc, 0xcc, 0x3, 0x68, 0xff, 0x0, 0x1, 0x0, 0xff, 0x0, 0x1, 0x0, 0xff, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x5, 0xd5, 0x10, 0x6, 0x3, 0x37, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6f, 0x0, 0x0, 0x3, 0x96, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x21, 0x40, 0x10, 0xb, 0x3, 0x95, 0x0, 0xaf, 0x4, 0x8, 0x95, 0x7, 0x5, 0x1, 0x3, 0x1c, 0x0, 0x8, 0x9, 0x2f, 0xcc, 0x32, 0xfc, 0xcc, 0x32, 0x31, 0x0, 0x2f, 0xec, 0x32, 0xf4, 0xec, 0x32, 0x30, 0x13, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x35, 0x21, 0x11, 0x21, 0x6f, 0x3, 0x26, 0xfe, 0xd3, 0x1, 0x2e, 0xfc, 0xda, 0x1, 0x2d, 0xfe, 0xd2, 0x5, 0xd5, 0xaa, 0xfb, 0x7f, 0xaa, 0xaa, 0x4, 0x81, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6f, 0xff, 0xe2, 0x7, 0x31, 0x5, 0xf0, 0x0, 0x2f, 0x0, 0x2c, 0x40, 0x16, 0xf, 0x21, 0x95, 0x14, 0x1c, 0x91, 0x9, 0x27, 0x95, 0x2c, 0x4, 0x8c, 0x30, 0x31, 0x1e, 0x2a, 0x24, 0x19, 0xc, 0x12, 0x6, 0x30, 0x10, 0xcc, 0x32, 0xdc, 0xec, 0xdc, 0x32, 0xcc, 0x31, 0x0, 0x10, 0xe4, 0x32, 0xec, 0x32, 0xf4, 0x3c, 0xec, 0x32, 0x30, 0x1, 0x6, 0x7, 0x6, 0x21, 0x22, 0x27, 0x35, 0x16, 0x33, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x22, 0x7, 0x35, 0x36, 0x33, 0x20, 0x17, 0x16, 0x17, 0x36, 0x37, 0x36, 0x21, 0x32, 0x17, 0x15, 0x26, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x32, 0x37, 0x15, 0x6, 0x23, 0x20, 0x27, 0x26, 0x3, 0xd0, 0x25, 0x34, 0xc2, 0xfe, 0xac, 0x80, 0x72, 0x6d, 0x79, 0x1, 0x0, 0x1, 0x10, 0xfe, 0xf0, 0xff, 0x0, 0x79, 0x6d, 0x72, 0x80, 0x1, 0x4f, 0xc7, 0x34, 0x25, 0x25, 0x34, 0xc2, 0x1, 0x54, 0x80, 0x72, 0x6d, 0x79, 0xff, 0x0, 0xfe, 0xf0, 0x1, 0x10, 0x1, 0x0, 0x79, 0x6d, 0x72, 0x80, 0xfe, 0xb2, 0xc8, 0x34, 0x1, 0x2a, 0x42, 0x36, 0xd0, 0x21, 0xaf, 0x2a, 0x1, 0x3a, 0x1, 0x27, 0x1, 0x28, 0x1, 0x38, 0x29, 0xaf, 0x20, 0xcf, 0x36, 0x41, 0x42, 0x36, 0xcf, 0x20, 0xaf, 0x29, 0xfe, 0xc8, 0xfe, 0xd8, 0xfe, 0xd9, 0xfe, 0xc6, 0x2a, 0xaf, 0x21, 0xd0, 0x36, 0x0, 0x2, 0x0, 0x6f, 0x0, 0x0, 0x5, 0xcc, 0x5, 0xd5, 0x0, 0x1b, 0x0, 0x1f, 0x0, 0x50, 0x40, 0x13, 0xb, 0x7, 0x9, 0xd, 0x5, 0x1c, 0x10, 0x1f, 0x4, 0x11, 0x1d, 0x1, 0x1c, 0x16, 0x1a, 0x18, 0x14, 0x0, 0x20, 0x10, 0xd4, 0x3c, 0x3c, 0xcc, 0x32, 0xec, 0x32, 0x32, 0xd4, 0x3c, 0x3c, 0xfc, 0x3c, 0x3c, 0xcc, 0x32, 0x31, 0x0, 0x40, 0x14, 0x9, 0x1c, 0x18, 0x95, 0x6, 0x2, 0x1b, 0x0, 0xa, 0x1d, 0x17, 0x95, 0xd, 0x11, 0x14, 0x4, 0x0, 0xaf, 0xf, 0x13, 0x2f, 0x3c, 0xe4, 0x32, 0xdc, 0x3c, 0x3c, 0xec, 0x32, 0x32, 0x10, 0xdc, 0x3c, 0x3c, 0xec, 0x32, 0x32, 0x30, 0x1, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x17, 0x11, 0x21, 0x11, 0x1, 0x91, 0xca, 0x1, 0x92, 0xca, 0x1, 0x15, 0xfe, 0xeb, 0x1, 0x15, 0xfe, 0xeb, 0xca, 0xfe, 0x6e, 0xca, 0xfe, 0xde, 0x1, 0x22, 0xfe, 0xde, 0x1, 0x22, 0xca, 0x1, 0x92, 0x5, 0xd5, 0xfe, 0x78, 0x1, 0x88, 0xfe, 0x78, 0xaa, 0xfe, 0x8e, 0xaa, 0xfe, 0x79, 0x1, 0x87, 0xfe, 0x79, 0x1, 0x87, 0xaa, 0x1, 0x72, 0xaa, 0xaa, 0xfe, 0x8e, 0x1, 0x72, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x33, 0x5, 0xd5, 0x10, 0x6, 0x3, 0xac, 0x0, 0x0, 0x0, 0x1, 0x0, 0xcc, 0x0, 0x0, 0x4, 0x88, 0x5, 0xd5, 0x0, 0x7, 0x0, 0x1c, 0x40, 0xe, 0x4, 0x95, 0x1, 0xaf, 0x5, 0x95, 0x0, 0x6, 0x2, 0x5, 0x1c, 0x0, 0x4, 0x8, 0x10, 0xfc, 0xec, 0xc4, 0x32, 0x31, 0x0, 0x2f, 0xec, 0xfc, 0xec, 0x30, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0xcc, 0x3, 0xbc, 0xfd, 0xe, 0x2, 0xf2, 0x5, 0xd5, 0xaa, 0xfb, 0x7f, 0xaa, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x1, 0x93, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x2c, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6f, 0x0, 0x0, 0x5, 0xcc, 0x5, 0xd5, 0x0, 0x13, 0x0, 0x37, 0x40, 0xc, 0x7, 0x3, 0x5, 0x9, 0x1, 0x1c, 0x12, 0xe, 0xc, 0x10, 0x0, 0x14, 0x10, 0x2f, 0x3c, 0x3c, 0xcc, 0x32, 0xfc, 0x3c, 0x3c, 0xcc, 0x32, 0x31, 0x0, 0x40, 0xe, 0x10, 0x5, 0x95, 0x2, 0x13, 0x0, 0x6, 0xf, 0x95, 0x9, 0xc, 0x0, 0xaf, 0xb, 0x2f, 0xe4, 0xdc, 0x3c, 0xec, 0x32, 0x10, 0xdc, 0x3c, 0xec, 0x32, 0x30, 0x1, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x2, 0xbf, 0xca, 0x2, 0x43, 0xfd, 0xbd, 0x2, 0x43, 0xfd, 0xbd, 0xca, 0xfd, 0xb0, 0x2, 0x50, 0xfd, 0xb0, 0x2, 0x50, 0x5, 0xd5, 0xfe, 0x78, 0xaa, 0xfe, 0x8e, 0xaa, 0xfe, 0x79, 0x1, 0x87, 0xaa, 0x1, 0x72, 0xaa, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc9, 0x0, 0x0, 0x1, 0x95, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x7, 0x0, 0x37, 0x40, 0xc, 0x7, 0x0, 0x4, 0xaf, 0x2, 0x5, 0x1, 0x1c, 0x4, 0x0, 0x4, 0x8, 0x10, 0xfc, 0x4b, 0xb0, 0x10, 0x54, 0x58, 0xb9, 0x0, 0x0, 0x0, 0x40, 0x38, 0x59, 0x32, 0xec, 0x32, 0x31, 0x0, 0x2f, 0xec, 0xcc, 0xcc, 0x30, 0x1, 0x40, 0xd, 0x30, 0x9, 0x40, 0x9, 0x50, 0x9, 0x60, 0x9, 0x8f, 0x9, 0x9f, 0x9, 0x6, 0x5d, 0x37, 0x33, 0x15, 0x23, 0x13, 0x33, 0x11, 0x23, 0xc9, 0xcc, 0xcc, 0x2, 0xca, 0xca, 0xcd, 0xcd, 0x5, 0xd5, 0xfb, 0xa6, 0x0, 0x0, 0x1, 0x0, 0x9f, 0xff, 0xe3, 0x5, 0xa4, 0x5, 0xd5, 0x0, 0x1c, 0x0, 0x3e, 0x40, 0x18, 0x15, 0xf, 0x95, 0x1a, 0x4, 0x95, 0x7, 0x91, 0x1a, 0x8c, 0x1d, 0x14, 0x19, 0x15, 0x12, 0x19, 0x7, 0x17, 0xc, 0x19, 0x6, 0x0, 0x10, 0x1d, 0x10, 0xfc, 0xc4, 0xec, 0xd4, 0xc4, 0xec, 0xd4, 0xec, 0x31, 0x0, 0x10, 0xe4, 0xf4, 0xec, 0x10, 0xec, 0xc4, 0x30, 0x40, 0x6, 0x4, 0x11, 0x8, 0x9, 0x8, 0x42, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x1, 0xed, 0x59, 0x22, 0x13, 0x34, 0x12, 0x37, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0xe, 0x1, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x33, 0x16, 0x15, 0x14, 0x4, 0x21, 0x20, 0x24, 0x9f, 0xbe, 0xbb, 0x2, 0x10, 0xfc, 0xa4, 0x4, 0xac, 0xfd, 0x78, 0xb7, 0xc5, 0xdb, 0xc9, 0xe2, 0xd5, 0xcb, 0xbf, 0xe1, 0xfe, 0xbb, 0xfe, 0xb9, 0xfe, 0xce, 0xfe, 0xb9, 0x1, 0xc3, 0x9f, 0x1, 0x4, 0x77, 0x1, 0x4e, 0xaa, 0xaa, 0xfe, 0x65, 0x74, 0xe4, 0x77, 0x96, 0xa4, 0x88, 0x88, 0xb3, 0xce, 0xe0, 0xa1, 0xce, 0xe6, 0xf9, 0x0, 0x0, 0x4, 0x0, 0x63, 0xff, 0xe3, 0x4, 0xad, 0x5, 0xf0, 0x0, 0xb, 0x0, 0x17, 0x0, 0x23, 0x0, 0x2f, 0x0, 0x39, 0x40, 0xe, 0x31, 0x45, 0x3, 0x1b, 0x12, 0x15, 0x2d, 0x9, 0x21, 0x12, 0xf, 0x27, 0x45, 0x30, 0x10, 0xfc, 0x3c, 0xec, 0x32, 0xd4, 0x3c, 0xec, 0x32, 0xec, 0x31, 0x0, 0x40, 0x10, 0x0, 0xb9, 0xc, 0x6, 0xb9, 0x12, 0x91, 0x30, 0x1e, 0xb9, 0x2a, 0x18, 0xb9, 0x24, 0x8c, 0x30, 0x10, 0xf4, 0xec, 0xd4, 0xec, 0x10, 0xf4, 0xec, 0xd4, 0xec, 0x30, 0x1, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x22, 0x24, 0x35, 0x34, 0x24, 0x33, 0x32, 0x4, 0x15, 0x14, 0x4, 0x3, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x22, 0x24, 0x35, 0x34, 0x24, 0x33, 0x32, 0x4, 0x15, 0x14, 0x4, 0x2, 0x88, 0x99, 0xb7, 0xb7, 0x99, 0x99, 0xb7, 0xb7, 0x99, 0xf9, 0xfe, 0xd4, 0x1, 0x2c, 0xf9, 0xf9, 0x1, 0x2c, 0xfe, 0xd4, 0xf9, 0x99, 0xb7, 0xb7, 0x99, 0x99, 0xb7, 0xb7, 0x99, 0xf9, 0xfe, 0xd4, 0x1, 0x2c, 0xf9, 0xf9, 0x1, 0x2c, 0xfe, 0xd4, 0x4, 0x1a, 0x50, 0x49, 0x49, 0x50, 0x50, 0x49, 0x49, 0x50, 0xa4, 0xa5, 0x98, 0x97, 0xa6, 0xa6, 0x97, 0x98, 0xa5, 0xfd, 0x11, 0x50, 0x49, 0x49, 0x50, 0x50, 0x49, 0x49, 0x50, 0xa4, 0xa6, 0x97, 0x98, 0xa5, 0xa5, 0x98, 0x97, 0xa6, 0x0, 0x2, 0x0, 0x73, 0xff, 0xe3, 0x6, 0xa7, 0x5, 0xf0, 0x0, 0x13, 0x0, 0x27, 0x0, 0x28, 0x40, 0xb, 0x29, 0x10, 0x1e, 0x19, 0xa, 0x91, 0x14, 0x19, 0x0, 0x10, 0x28, 0x10, 0xfc, 0xec, 0xf4, 0xec, 0xec, 0x31, 0x0, 0x40, 0xa, 0x19, 0x95, 0xf, 0x23, 0x95, 0x5, 0x91, 0xf, 0x8c, 0x28, 0x10, 0xe4, 0xf4, 0xec, 0x10, 0xec, 0x30, 0x13, 0x34, 0x12, 0x36, 0x24, 0x33, 0x32, 0x4, 0x16, 0x12, 0x15, 0x14, 0x2, 0x6, 0x4, 0x23, 0x22, 0x24, 0x26, 0x2, 0x37, 0x14, 0x1e, 0x2, 0x33, 0x32, 0x3e, 0x2, 0x35, 0x34, 0x2e, 0x2, 0x23, 0x22, 0xe, 0x2, 0x73, 0x7e, 0xd4, 0x1, 0x26, 0xa2, 0xa2, 0x1, 0x26, 0xd4, 0x7e, 0x7e, 0xd4, 0xfe, 0xda, 0xa2, 0xa2, 0xfe, 0xda, 0xd4, 0x7e, 0xd5, 0x5c, 0x9c, 0xd6, 0x77, 0x77, 0xd6, 0x9c, 0x5c, 0x5c, 0x9c, 0xd6, 0x77, 0x77, 0xd6, 0x9c, 0x5c, 0x2, 0xea, 0x9d, 0x1, 0x1e, 0xd1, 0x7a, 0x7a, 0xd1, 0xfe, 0xe2, 0x9d, 0x9e, 0xfe, 0xe2, 0xd1, 0x7a, 0x7a, 0xd1, 0x1, 0x1e, 0x9e, 0x7d, 0xe1, 0xa5, 0x60, 0x60, 0xa5, 0xe1, 0x7d, 0x7c, 0xe1, 0xa5, 0x60, 0x60, 0xa5, 0xe1, 0x0, 0x0, 0x2, 0x0, 0x73, 0xff, 0x91, 0x6, 0xa7, 0x5, 0xf0, 0x0, 0x16, 0x0, 0x2c, 0x0, 0x50, 0x40, 0x18, 0xf, 0xe, 0xa, 0x1f, 0x20, 0x21, 0x1e, 0xd, 0x10, 0x6, 0x17, 0x23, 0xe, 0x2e, 0x10, 0x23, 0x19, 0xa, 0x91, 0x17, 0x19, 0x0, 0x10, 0x2d, 0x10, 0xfc, 0xec, 0xf4, 0xec, 0xec, 0xc4, 0x11, 0x12, 0x17, 0x39, 0x12, 0x39, 0x39, 0x31, 0x0, 0x40, 0x16, 0xf, 0x12, 0x20, 0x1f, 0x21, 0x1e, 0x10, 0xd, 0x6, 0x28, 0x1c, 0xf, 0x1c, 0x95, 0x12, 0x28, 0x95, 0x5, 0x91, 0x12, 0x8c, 0x2d, 0x10, 0xe4, 0xf4, 0xec, 0x10, 0xec, 0xc0, 0x11, 0x12, 0x17, 0x39, 0x12, 0x39, 0x30, 0x13, 0x34, 0x12, 0x36, 0x24, 0x33, 0x32, 0x4, 0x16, 0x12, 0x15, 0x14, 0x2, 0x7, 0x17, 0x7, 0x27, 0x6, 0x23, 0x22, 0x24, 0x26, 0x2, 0x37, 0x14, 0x1e, 0x2, 0x33, 0x32, 0x37, 0x1, 0x37, 0x1, 0x36, 0x35, 0x34, 0x2e, 0x2, 0x23, 0x22, 0xe, 0x2, 0x73, 0x7e, 0xd4, 0x1, 0x26, 0xa2, 0xa2, 0x1, 0x26, 0xd4, 0x7e, 0x7f, 0x6c, 0xa2, 0x81, 0xa7, 0xc4, 0xe5, 0xa2, 0xfe, 0xda, 0xd4, 0x7e, 0xd5, 0x5c, 0x9c, 0xd6, 0x77, 0xa7, 0x90, 0xfe, 0x91, 0x83, 0x1, 0x6a, 0x90, 0x5c, 0x9c, 0xd6, 0x77, 0x77, 0xd6, 0x9c, 0x5c, 0x2, 0xea, 0x9e, 0x1, 0x1e, 0xd0, 0x7a, 0x7a, 0xd0, 0xfe, 0xe2, 0x9e, 0x9e, 0xfe, 0xe0, 0x69, 0xc7, 0x6b, 0xca, 0x77, 0x7a, 0xd0, 0x1, 0x1e, 0x9e, 0x7c, 0xe2, 0xa4, 0x60, 0x5e, 0x1, 0xbe, 0x6a, 0xfe, 0x49, 0xae, 0xe5, 0x7c, 0xe2, 0xa4, 0x60, 0x60, 0xa4, 0xe2, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x3b, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x2d, 0x40, 0xd, 0xd, 0x4, 0x6, 0x1c, 0x4, 0x8, 0x1c, 0xb, 0x2, 0x1c, 0x0, 0x4, 0xc, 0x10, 0xfc, 0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0xfc, 0x31, 0x0, 0x40, 0xa, 0x5, 0x1, 0x91, 0xa, 0xb, 0x8, 0x95, 0x3, 0xad, 0xa, 0x2f, 0xf4, 0xec, 0x32, 0x10, 0xe4, 0x32, 0x30, 0x13, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x23, 0x11, 0xc9, 0xca, 0x2, 0xde, 0xca, 0xfe, 0x2c, 0xca, 0x2, 0x64, 0x3, 0x71, 0xfd, 0x39, 0x2, 0xc7, 0xfc, 0x8f, 0xfd, 0x9c, 0x2, 0x64, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xc9, 0x0, 0x0, 0x1, 0xc7, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x28, 0x40, 0x14, 0xb, 0x95, 0x8, 0xaf, 0x7, 0x3, 0x95, 0x0, 0xad, 0x4, 0x95, 0x7, 0xd, 0x9, 0x1, 0x5, 0x0, 0x4, 0x8, 0xc, 0x10, 0xdc, 0x3c, 0x3c, 0xdc, 0x3c, 0x3c, 0xcc, 0x31, 0x0, 0x2f, 0xec, 0xfc, 0xec, 0x10, 0xfc, 0xec, 0x30, 0x13, 0x33, 0x15, 0x23, 0x11, 0x33, 0x15, 0x23, 0x11, 0x33, 0x15, 0x23, 0xc9, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x3, 0x51, 0xcd, 0xfe, 0x49, 0xcd, 0x5, 0xd5, 0xcd, 0x0, 0x0, 0x0, 0x5, 0x0, 0x96, 0x0, 0x0, 0x5, 0x68, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x13, 0x0, 0x3f, 0x40, 0x1b, 0x13, 0x1, 0x95, 0x2, 0x10, 0xaf, 0xf, 0xb, 0x95, 0x8, 0xad, 0xc, 0x6, 0x95, 0x5, 0xf, 0x3, 0x7, 0x2, 0x6, 0x9, 0x8, 0xd, 0x11, 0xc, 0x10, 0x14, 0x10, 0xdc, 0x3c, 0xcc, 0x32, 0xdc, 0xcc, 0xdc, 0x3c, 0xcc, 0x32, 0xb6, 0x3f, 0x7, 0x3f, 0x3, 0x3f, 0x9, 0x3, 0x5d, 0x31, 0x0, 0x2f, 0x3c, 0xec, 0x32, 0xfc, 0xec, 0x10, 0xfc, 0x3c, 0xec, 0x32, 0x30, 0x1, 0x23, 0x35, 0x33, 0x11, 0x23, 0x35, 0x33, 0x1, 0x33, 0x15, 0x23, 0x1, 0x33, 0x15, 0x23, 0x11, 0x33, 0x15, 0x23, 0x5, 0x68, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0x18, 0xfe, 0xfe, 0xfe, 0x16, 0xfe, 0xfe, 0xfe, 0xfe, 0x5, 0x8, 0xcd, 0xfa, 0x2b, 0xcd, 0x2, 0x84, 0xcd, 0xfe, 0x49, 0xcd, 0x5, 0xd5, 0xcd, 0x0, 0x3, 0x0, 0x73, 0xff, 0xe3, 0x6, 0xa7, 0x5, 0xf0, 0x0, 0x13, 0x0, 0x27, 0x0, 0x2b, 0x0, 0x3e, 0x40, 0x10, 0x2d, 0x10, 0xa, 0x29, 0x28, 0x28, 0x14, 0x1e, 0x19, 0xa, 0x91, 0x14, 0x19, 0x0, 0x10, 0x2c, 0x10, 0xfc, 0xec, 0xf4, 0xec, 0x11, 0x39, 0x2f, 0xcc, 0x10, 0xec, 0xb2, 0x2f, 0x29, 0x1, 0x5d, 0x31, 0x0, 0x40, 0xe, 0x2b, 0xce, 0x28, 0xad, 0x19, 0x95, 0xf, 0x23, 0x95, 0x5, 0x91, 0xf, 0x8c, 0x2c, 0x10, 0xe4, 0xf4, 0xec, 0x10, 0xec, 0xf4, 0xec, 0x30, 0x1, 0x13, 0x34, 0x12, 0x36, 0x24, 0x33, 0x32, 0x4, 0x16, 0x12, 0x15, 0x14, 0x2, 0x6, 0x4, 0x23, 0x22, 0x24, 0x26, 0x2, 0x37, 0x14, 0x1e, 0x2, 0x33, 0x32, 0x3e, 0x2, 0x35, 0x34, 0x2e, 0x2, 0x23, 0x22, 0xe, 0x2, 0x5, 0x33, 0x15, 0x23, 0x73, 0x7e, 0xd4, 0x1, 0x26, 0xa2, 0xa2, 0x1, 0x26, 0xd4, 0x7e, 0x7e, 0xd4, 0xfe, 0xda, 0xa2, 0xa2, 0xfe, 0xda, 0xd4, 0x7e, 0xd5, 0x5c, 0x9c, 0xd6, 0x77, 0x77, 0xd6, 0x9c, 0x5c, 0x5c, 0x9c, 0xd6, 0x77, 0x77, 0xd6, 0x9c, 0x5c, 0x1, 0xc6, 0xfe, 0xfe, 0x2, 0xea, 0x9d, 0x1, 0x1e, 0xd1, 0x7a, 0x7a, 0xd1, 0xfe, 0xe2, 0x9d, 0x9e, 0xfe, 0xe2, 0xd1, 0x7a, 0x7a, 0xd1, 0x1, 0x1e, 0x9e, 0x7d, 0xe1, 0xa5, 0x60, 0x60, 0xa5, 0xe1, 0x7d, 0x7c, 0xe1, 0xa5, 0x60, 0x60, 0xa5, 0xe1, 0x15, 0xcd, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x73, 0xff, 0xe4, 0x6, 0xa7, 0x6, 0x3e, 0x0, 0x16, 0x0, 0x2c, 0x0, 0x50, 0x40, 0x18, 0x9, 0x8, 0xd, 0x25, 0x24, 0x23, 0x26, 0xa, 0x7, 0x6, 0x17, 0x21, 0x8, 0x2e, 0x10, 0x21, 0x19, 0xd, 0x91, 0x17, 0x19, 0x0, 0x10, 0x2d, 0x10, 0xfc, 0xec, 0xf4, 0xec, 0xec, 0xc4, 0x11, 0x12, 0x17, 0x39, 0x12, 0x39, 0x39, 0x31, 0x0, 0x40, 0x16, 0x8, 0x5, 0xa, 0x7, 0x23, 0x26, 0x24, 0x25, 0x6, 0x28, 0x1c, 0x8, 0x1c, 0x95, 0x12, 0x28, 0x95, 0x5, 0x91, 0x12, 0x8c, 0x2d, 0x10, 0xe4, 0xf4, 0xec, 0x10, 0xec, 0xc4, 0x11, 0x12, 0x17, 0x39, 0x12, 0x39, 0x30, 0x13, 0x34, 0x12, 0x36, 0x24, 0x33, 0x32, 0x17, 0x37, 0x17, 0x7, 0x16, 0x12, 0x15, 0x14, 0x2, 0x6, 0x4, 0x23, 0x22, 0x24, 0x26, 0x2, 0x37, 0x14, 0x1e, 0x2, 0x33, 0x32, 0x3e, 0x2, 0x35, 0x34, 0x27, 0x1, 0x27, 0x1, 0x26, 0x23, 0x22, 0xe, 0x2, 0x73, 0x7e, 0xd4, 0x1, 0x26, 0xa2, 0xe4, 0xc4, 0xa0, 0x83, 0x9e, 0x6e, 0x7f, 0x7e, 0xd4, 0xfe, 0xda, 0xa2, 0xa2, 0xfe, 0xda, 0xd4, 0x7e, 0xd5, 0x5c, 0x9c, 0xd6, 0x77, 0x77, 0xd6, 0x9c, 0x5c, 0x90, 0xfe, 0x94, 0x82, 0x1, 0x70, 0x90, 0xa7, 0x77, 0xd6, 0x9c, 0x5c, 0x2, 0xea, 0x9e, 0x1, 0x1e, 0xd0, 0x7a, 0x76, 0xc4, 0x69, 0xc2, 0x6b, 0xfe, 0xe0, 0x9e, 0x9e, 0xfe, 0xe2, 0xd0, 0x7a, 0x7a, 0xd0, 0x1, 0x1e, 0x9e, 0x7c, 0xe2, 0xa4, 0x60, 0x60, 0xa4, 0xe2, 0x7c, 0xe5, 0xae, 0xfe, 0x3f, 0x6c, 0x1, 0xc6, 0x5e, 0x60, 0xa4, 0xe2, 0x0, 0x0, 0x0, 0x3, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x72, 0x5, 0xef, 0x0, 0x25, 0x0, 0x31, 0x0, 0x3d, 0x0, 0x47, 0x40, 0x10, 0x38, 0x26, 0x19, 0xe, 0x18, 0x1e, 0x8, 0x19, 0x2c, 0x32, 0x30, 0x13, 0x19, 0x0, 0x10, 0x3e, 0x10, 0xfc, 0xec, 0xf4, 0x3c, 0xec, 0x32, 0xdc, 0x3c, 0xec, 0x32, 0x31, 0x0, 0x40, 0x17, 0x2f, 0x95, 0x1b, 0x3b, 0x95, 0xb, 0x35, 0xb, 0x1b, 0x29, 0x4, 0x16, 0x10, 0x16, 0x95, 0x23, 0x10, 0x95, 0x3, 0x91, 0x23, 0x8c, 0x3e, 0x10, 0xe4, 0xf4, 0xec, 0x10, 0xec, 0x11, 0x12, 0x17, 0x39, 0x2f, 0xec, 0x2f, 0xec, 0x30, 0x13, 0x10, 0x0, 0x21, 0x20, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x6, 0x21, 0x20, 0x0, 0x5, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x13, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x73, 0x1, 0x86, 0x1, 0x53, 0x1, 0x93, 0x5f, 0x20, 0x14, 0x99, 0x85, 0x84, 0x99, 0x18, 0xfe, 0xfe, 0xfe, 0xfb, 0x1, 0x5, 0x1, 0x2, 0x18, 0x99, 0x84, 0x85, 0x99, 0x14, 0x20, 0x5f, 0xfe, 0x6d, 0xfe, 0xad, 0xfe, 0x7a, 0x3, 0x99, 0x2c, 0x1c, 0x1c, 0x2c, 0x2c, 0x1c, 0x1c, 0x2c, 0x90, 0x2c, 0x1c, 0x1c, 0x2c, 0x2c, 0x1c, 0x1c, 0x2c, 0x2, 0xe9, 0x1, 0x67, 0x1, 0x9f, 0x73, 0x27, 0x4f, 0x3b, 0x81, 0x91, 0x91, 0x81, 0x48, 0x36, 0xfe, 0xbe, 0xfe, 0xe2, 0xfe, 0xe2, 0xfe, 0xbe, 0x36, 0x48, 0x81, 0x91, 0x91, 0x81, 0x3b, 0x4f, 0x27, 0x73, 0x1, 0x9f, 0x7a, 0x3c, 0x31, 0x31, 0x3c, 0x3b, 0x32, 0x32, 0x3, 0x87, 0x3c, 0x31, 0x31, 0x3c, 0x3b, 0x2f, 0x2f, 0x0, 0x1, 0x0, 0x64, 0x0, 0x0, 0x5, 0xc0, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x23, 0x40, 0x11, 0x5, 0x8, 0x95, 0x2, 0xb, 0xad, 0x0, 0xaf, 0x7, 0x3, 0x5, 0x2, 0x1c, 0xa, 0x8, 0xb, 0xc, 0x10, 0xd4, 0x3c, 0xc4, 0xfc, 0x3c, 0xc4, 0x31, 0x0, 0x2f, 0xe4, 0xf4, 0x3c, 0xec, 0x32, 0x30, 0x1, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x2, 0xad, 0xca, 0x2, 0x49, 0xfd, 0xb7, 0xca, 0xfd, 0xb7, 0x2, 0x49, 0x5, 0xd5, 0xfd, 0x6a, 0xaa, 0xfd, 0x6b, 0x2, 0x95, 0xaa, 0x0, 0xff, 0xff, 0x0, 0x3d, 0x0, 0x0, 0x5, 0x3b, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x3b, 0x0, 0x0, 0x0, 0x3, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x72, 0x5, 0xef, 0x0, 0x33, 0x0, 0x3f, 0x0, 0x4b, 0x0, 0x66, 0x40, 0x19, 0x19, 0x18, 0x1b, 0x95, 0x15, 0x1e, 0x1e, 0x1f, 0x46, 0x34, 0x19, 0xe, 0x25, 0x2b, 0x8, 0x19, 0x36, 0x3a, 0x30, 0x1f, 0x14, 0x19, 0x0, 0x10, 0x4c, 0x10, 0xfc, 0xec, 0x32, 0xf4, 0x3c, 0xec, 0x32, 0xdc, 0x3c, 0xec, 0x32, 0x11, 0x39, 0x2f, 0x3c, 0xfc, 0x3c, 0xcc, 0x31, 0x0, 0x40, 0x1f, 0x17, 0x1c, 0x14, 0x18, 0x95, 0x1e, 0x1a, 0x3d, 0x95, 0x28, 0x49, 0x95, 0xb, 0x1a, 0x43, 0xb, 0x28, 0x37, 0x5, 0x23, 0x10, 0x23, 0x95, 0x31, 0x10, 0x95, 0x3, 0x91, 0x31, 0x8c, 0x4c, 0x10, 0xe4, 0xf4, 0xec, 0x10, 0xec, 0x11, 0x12, 0x17, 0x39, 0x2f, 0xec, 0x2f, 0xec, 0x2f, 0x3c, 0xec, 0x32, 0xcc, 0xc4, 0x30, 0x13, 0x10, 0x0, 0x21, 0x20, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x22, 0x7, 0x6, 0x15, 0x33, 0x11, 0x33, 0x15, 0x33, 0x15, 0x23, 0x15, 0x23, 0x11, 0x23, 0x14, 0x17, 0x16, 0x33, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0xe, 0x1, 0x7, 0x6, 0x21, 0x20, 0x0, 0x5, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x13, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x73, 0x1, 0x86, 0x1, 0x53, 0x1, 0x93, 0x5f, 0x20, 0x14, 0x99, 0x85, 0x84, 0x99, 0x18, 0xee, 0x97, 0x7f, 0xbb, 0xcc, 0xe9, 0xe9, 0xcc, 0xbb, 0x7f, 0x97, 0xee, 0x18, 0x99, 0x84, 0x85, 0x99, 0x14, 0x41, 0x3b, 0x85, 0xfe, 0xef, 0xfe, 0xad, 0xfe, 0x7a, 0x3, 0x99, 0x2c, 0x1c, 0x1c, 0x2c, 0x2c, 0x1c, 0x1c, 0x2c, 0x90, 0x2c, 0x1c, 0x1c, 0x2c, 0x2c, 0x1c, 0x1c, 0x2c, 0x2, 0xe9, 0x1, 0x67, 0x1, 0x9f, 0x73, 0x27, 0x4f, 0x3b, 0x81, 0x91, 0x91, 0x81, 0x48, 0x36, 0xa2, 0x8a, 0xdf, 0x0, 0xff, 0xff, 0xaa, 0xff, 0x0, 0xff, 0xdf, 0x8a, 0xa2, 0x36, 0x48, 0x81, 0x91, 0x91, 0x81, 0x3b, 0x4f, 0x4f, 0x17, 0x34, 0x1, 0x9f, 0x7a, 0x3c, 0x31, 0x31, 0x3c, 0x3b, 0x32, 0x32, 0x3, 0x87, 0x3c, 0x31, 0x31, 0x3c, 0x3b, 0x2f, 0x2f, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x5, 0xd5, 0x0, 0x13, 0x0, 0x3b, 0x40, 0x1c, 0xe, 0xb, 0x95, 0x4, 0x2, 0x95, 0x0, 0x81, 0x10, 0x95, 0x8, 0x4, 0xad, 0x12, 0x5, 0xe, 0x95, 0xb, 0x8, 0x9, 0x1, 0x11, 0xf, 0x3, 0x1c, 0x0, 0x4, 0x14, 0x10, 0xfc, 0xec, 0x32, 0xd4, 0xc4, 0xc4, 0xdc, 0x3c, 0xec, 0x32, 0x31, 0x0, 0x2f, 0xec, 0x32, 0xec, 0xf4, 0xec, 0x10, 0xee, 0x32, 0x30, 0xb2, 0x1f, 0x14, 0x1, 0x1, 0x5d, 0x13, 0x21, 0x15, 0x21, 0x11, 0x21, 0x11, 0x33, 0x15, 0x33, 0x15, 0x23, 0x15, 0x23, 0x11, 0x21, 0x11, 0x21, 0x15, 0x21, 0xc9, 0x3, 0xb0, 0xfd, 0x1a, 0x1, 0x11, 0xcc, 0xea, 0xea, 0xcc, 0xfe, 0xef, 0x2, 0xf8, 0xfc, 0x3e, 0x5, 0xd5, 0xaa, 0xfe, 0x46, 0x0, 0xff, 0xff, 0xaa, 0xff, 0x0, 0xff, 0xfd, 0xe3, 0xaa, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x5, 0xd5, 0x10, 0x6, 0x3, 0x29, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x3b, 0x5, 0xd5, 0x0, 0x7, 0x0, 0x1f, 0x40, 0x10, 0x6, 0x2, 0x81, 0x4, 0x95, 0x0, 0x9, 0x4, 0x5, 0x1c, 0x0, 0x4, 0x1c, 0x1, 0x4, 0x8, 0x10, 0xfc, 0xec, 0xd4, 0xec, 0xec, 0x31, 0x0, 0x2f, 0xec, 0xf4, 0x3c, 0x30, 0x29, 0x1, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x5, 0x3b, 0xfb, 0x8e, 0xca, 0x2, 0xde, 0xca, 0x5, 0xd5, 0xfa, 0xd5, 0x5, 0x2b, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x79, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x3d, 0x40, 0xc, 0x42, 0x7, 0x3, 0x95, 0x4, 0x81, 0x1, 0x5, 0x1, 0x4, 0x4, 0x9, 0x10, 0xfc, 0x3c, 0xd4, 0x31, 0x0, 0x2f, 0xf4, 0xec, 0x32, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x12, 0x8, 0x11, 0x2, 0x2, 0x1, 0x7, 0x11, 0x3, 0x3, 0x2, 0x8, 0x11, 0x2, 0x0, 0x11, 0x1, 0x2, 0x1, 0x5, 0x7, 0x10, 0xec, 0x10, 0xec, 0x7, 0x10, 0xec, 0x8, 0x10, 0xec, 0x59, 0x21, 0x23, 0x9, 0x1, 0x35, 0x21, 0x15, 0x21, 0x1, 0x1, 0xb1, 0xe8, 0x1, 0xdf, 0xfe, 0x21, 0x3, 0xb0, 0xfd, 0x38, 0x1, 0xdf, 0x2, 0xc0, 0x2, 0x6b, 0xaa, 0xaa, 0xfd, 0x9a, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x73, 0x0, 0x0, 0x5, 0xdb, 0x5, 0xd5, 0x0, 0x23, 0x0, 0x4f, 0x40, 0x16, 0x25, 0x10, 0x6, 0xf, 0x19, 0x7, 0xe, 0x2, 0x24, 0x10, 0x21, 0x18, 0x19, 0x20, 0x19, 0x13, 0xa, 0x2, 0x1c, 0x14, 0x1d, 0x1, 0x2f, 0x3c, 0x3c, 0xec, 0x32, 0x32, 0xd4, 0x3c, 0xec, 0x32, 0xec, 0x10, 0xd4, 0x3c, 0xec, 0x32, 0xec, 0x31, 0x0, 0x40, 0x12, 0x0, 0x3, 0x95, 0x1d, 0xa, 0x20, 0x1, 0x6, 0x81, 0xf, 0x15, 0x12, 0x95, 0x1c, 0xb, 0x19, 0x14, 0xf, 0x2f, 0x3c, 0x3c, 0xd4, 0x3c, 0xec, 0x32, 0x10, 0xf4, 0x3c, 0x3c, 0xd4, 0x3c, 0xec, 0x32, 0x30, 0x1, 0x11, 0x33, 0x11, 0x32, 0x36, 0x35, 0x33, 0x10, 0x0, 0x23, 0x11, 0x32, 0x0, 0x11, 0x23, 0x34, 0x26, 0x23, 0x11, 0x23, 0x11, 0x22, 0x6, 0x15, 0x23, 0x10, 0x0, 0x33, 0x11, 0x22, 0x0, 0x11, 0x33, 0x14, 0x16, 0x2, 0xc2, 0xca, 0x8a, 0xf2, 0xd3, 0xfe, 0x87, 0xd6, 0xd6, 0x1, 0x79, 0xd3, 0xf2, 0x8a, 0xca, 0x8a, 0xf2, 0xd3, 0x1, 0x79, 0xd6, 0xd6, 0xfe, 0x87, 0xd3, 0xf2, 0x4, 0x2b, 0x1, 0xaa, 0xfe, 0x56, 0xe2, 0xc8, 0xfe, 0xee, 0xfe, 0xba, 0xfe, 0xdb, 0xfe, 0xba, 0xfe, 0xee, 0xc8, 0xe2, 0xfe, 0x56, 0x1, 0xaa, 0xe2, 0xc8, 0x1, 0x12, 0x1, 0x46, 0x1, 0x25, 0x1, 0x46, 0x1, 0x12, 0xc8, 0xe2, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x3, 0xf6, 0x5, 0xd5, 0x0, 0x6, 0x0, 0x2e, 0x40, 0xb, 0x3, 0x0, 0xaf, 0x6, 0x1, 0x3, 0x4, 0x1c, 0x0, 0x4, 0x7, 0x10, 0xfc, 0x4b, 0xb0, 0x10, 0x54, 0x58, 0xb9, 0x0, 0x0, 0x0, 0x40, 0x38, 0x59, 0xec, 0xc4, 0xc4, 0x31, 0x0, 0x2f, 0xec, 0xc4, 0x30, 0xb4, 0x2, 0x11, 0x3, 0x3, 0x4, 0x7, 0x1, 0x10, 0xed, 0x13, 0x21, 0x1, 0x23, 0x1, 0x11, 0x23, 0xc9, 0x1, 0x1a, 0x2, 0x13, 0xde, 0xfe, 0x75, 0xc4, 0x5, 0xd5, 0xfd, 0x2d, 0x2, 0x1d, 0xfa, 0xe1, 0x0, 0x1, 0x0, 0x73, 0x0, 0x0, 0x5, 0xdb, 0x5, 0xd5, 0x0, 0x2b, 0x0, 0x66, 0x40, 0x1a, 0x16, 0x2d, 0x10, 0x1d, 0x10, 0x19, 0x1c, 0x11, 0xc, 0x2c, 0x10, 0x1, 0x7, 0x26, 0x19, 0x6, 0x27, 0x20, 0x18, 0x14, 0xc, 0x1c, 0x23, 0x2b, 0x3, 0xb, 0x2f, 0x3c, 0x3c, 0x3c, 0xec, 0x32, 0x32, 0x32, 0xd4, 0x3c, 0xec, 0x32, 0xc4, 0xec, 0x10, 0xd4, 0x3c, 0xec, 0x32, 0xec, 0xc4, 0x31, 0x0, 0x40, 0x1a, 0x18, 0x2b, 0xb9, 0x15, 0x1, 0x1, 0x2a, 0x3, 0xd, 0xa, 0x95, 0x14, 0x3, 0x10, 0xb, 0x6, 0x81, 0x1d, 0x20, 0x23, 0x95, 0x19, 0x2a, 0x27, 0x22, 0x1d, 0x2f, 0x3c, 0x3c, 0xd4, 0x3c, 0xec, 0x32, 0x10, 0xf4, 0x3c, 0x3c, 0xd4, 0x3c, 0xec, 0x32, 0x11, 0x12, 0x39, 0x2f, 0x3c, 0xec, 0x32, 0x30, 0x1, 0x35, 0x21, 0x35, 0x22, 0x0, 0x11, 0x33, 0x14, 0x16, 0x33, 0x11, 0x33, 0x11, 0x32, 0x36, 0x35, 0x33, 0x10, 0x0, 0x23, 0x15, 0x21, 0x15, 0x21, 0x15, 0x32, 0x0, 0x11, 0x23, 0x34, 0x26, 0x23, 0x11, 0x23, 0x11, 0x22, 0x6, 0x15, 0x23, 0x10, 0x0, 0x33, 0x35, 0x1, 0x1, 0x1, 0xc1, 0xd6, 0xfe, 0x87, 0xd3, 0xf2, 0x8a, 0xca, 0x8a, 0xf2, 0xd3, 0xfe, 0x87, 0xd6, 0x1, 0xbf, 0xfe, 0x41, 0xd6, 0x1, 0x79, 0xd3, 0xf2, 0x8a, 0xca, 0x8a, 0xf2, 0xd3, 0x1, 0x79, 0xd6, 0x2, 0x95, 0xaa, 0x3e, 0x1, 0x46, 0x1, 0x12, 0xc8, 0xe2, 0x1, 0xaa, 0xfe, 0x56, 0xe2, 0xc8, 0xfe, 0xee, 0xfe, 0xba, 0x3e, 0xaa, 0x3d, 0xfe, 0xba, 0xfe, 0xee, 0xc8, 0xe2, 0xfe, 0x56, 0x1, 0xaa, 0xe2, 0xc8, 0x1, 0x12, 0x1, 0x46, 0x3d, 0x0, 0x0, 0x0, 0x1, 0x0, 0x36, 0x4, 0x2d, 0x3, 0xe9, 0x5, 0xd5, 0x0, 0x7, 0x0, 0x17, 0x40, 0x9, 0x6, 0x2, 0x4, 0x1, 0x0, 0x5, 0x4, 0x1, 0x8, 0x10, 0xdc, 0xcc, 0xdc, 0xcc, 0x31, 0x0, 0x2f, 0xcc, 0xc4, 0x32, 0x30, 0x1, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x3, 0xe9, 0xfc, 0x4d, 0x8f, 0x2, 0x95, 0x8f, 0x4, 0x2d, 0x1, 0xa8, 0xfe, 0xfb, 0x1, 0x5, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x8f, 0xff, 0xe3, 0x3, 0xac, 0x5, 0xd3, 0x0, 0x17, 0x0, 0x1b, 0x0, 0x24, 0x0, 0x0, 0x1, 0x33, 0x11, 0x36, 0x37, 0x36, 0x37, 0x15, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x3f, 0x1, 0x3e, 0x1, 0x37, 0x3e, 0x1, 0x35, 0x13, 0x23, 0x35, 0x33, 0x3, 0x11, 0x7, 0xe, 0x1, 0x15, 0x14, 0x17, 0x16, 0x1, 0xf3, 0xbf, 0x1f, 0x21, 0x59, 0x61, 0x5e, 0xc1, 0x67, 0xb8, 0xdf, 0x48, 0x5a, 0x58, 0x2f, 0x27, 0x8, 0x6, 0x6, 0xc5, 0xcb, 0xcb, 0xc5, 0x2d, 0x39, 0x33, 0x42, 0x24, 0x4, 0x42, 0xfc, 0x53, 0x8, 0xd, 0x23, 0x43, 0xbc, 0x39, 0x38, 0xc2, 0x9f, 0x4c, 0x89, 0x56, 0x56, 0x2f, 0x35, 0x19, 0x15, 0x3c, 0x34, 0x1, 0xe, 0xfe, 0xfa, 0xbe, 0x1, 0xad, 0x2c, 0x35, 0x5e, 0x31, 0x59, 0x37, 0x1f, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xd9, 0x0, 0x9f, 0x5, 0xdb, 0x3, 0x32, 0x10, 0x26, 0xc, 0xc1, 0x0, 0x0, 0x10, 0x7, 0xd, 0x4a, 0x2, 0x13, 0xfe, 0x57, 0x0, 0x1, 0x0, 0xb0, 0x3, 0x3a, 0x2, 0x58, 0x6, 0x14, 0x0, 0x5, 0x0, 0x0, 0x13, 0x21, 0x15, 0x23, 0x11, 0x23, 0xb0, 0x1, 0xa8, 0xf0, 0xb8, 0x6, 0x14, 0x8f, 0xfd, 0xb5, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc7, 0x3, 0x3a, 0x2, 0x6f, 0x6, 0x14, 0x0, 0x5, 0x0, 0x0, 0x1, 0x23, 0x35, 0x21, 0x11, 0x23, 0x1, 0xb6, 0xef, 0x1, 0xa8, 0xb9, 0x5, 0x85, 0x8f, 0xfd, 0x26, 0x0, 0x0, 0x1, 0x0, 0xb0, 0xfe, 0xf2, 0x2, 0x58, 0x1, 0xcc, 0x0, 0x5, 0x0, 0x0, 0x5, 0x33, 0x15, 0x21, 0x11, 0x33, 0x1, 0x68, 0xf0, 0xfe, 0x58, 0xb8, 0x7f, 0x8f, 0x2, 0xda, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc7, 0xfe, 0xf2, 0x2, 0x6f, 0x1, 0xcc, 0x0, 0x5, 0x0, 0x0, 0x1, 0x21, 0x35, 0x33, 0x11, 0x33, 0x2, 0x6f, 0xfe, 0x58, 0xef, 0xb9, 0xfe, 0xf2, 0x8f, 0x2, 0x4b, 0x0, 0xff, 0xff, 0x0, 0x93, 0x0, 0x0, 0x3, 0xb0, 0x5, 0xf0, 0x10, 0x6, 0x5, 0x4d, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x27, 0x17, 0x7b, 0x0, 0x0, 0xfc, 0x36, 0x10, 0x6, 0x17, 0x7b, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x27, 0x17, 0x82, 0x0, 0x0, 0xfc, 0x36, 0x10, 0x6, 0x17, 0x82, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x27, 0x17, 0x7e, 0x0, 0x0, 0xfc, 0x36, 0x10, 0x6, 0x17, 0x80, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x27, 0x17, 0x80, 0x0, 0x0, 0xfc, 0x36, 0x10, 0x6, 0x17, 0x81, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x27, 0x17, 0x7b, 0x0, 0x0, 0xfc, 0x36, 0x10, 0x6, 0x17, 0x80, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x7b, 0x0, 0x0, 0x10, 0x7, 0x17, 0x80, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x27, 0x17, 0x80, 0x0, 0x0, 0xfc, 0x36, 0x10, 0x6, 0x17, 0x82, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x80, 0x0, 0x0, 0x10, 0x7, 0x17, 0x82, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x27, 0x17, 0x7b, 0x0, 0x0, 0xfc, 0x36, 0x10, 0x6, 0x17, 0x7f, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x83, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x7b, 0x0, 0x0, 0x10, 0x7, 0x17, 0x7c, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x82, 0x0, 0x0, 0x10, 0x7, 0x17, 0x7b, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x27, 0x17, 0x82, 0x0, 0x0, 0xfc, 0x36, 0x10, 0x6, 0x17, 0x7b, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x7b, 0x0, 0x0, 0x10, 0x7, 0x17, 0x7d, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x27, 0x17, 0x7b, 0x0, 0x0, 0xfc, 0x36, 0x10, 0x6, 0x17, 0x7d, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x82, 0x0, 0x0, 0x10, 0x7, 0x17, 0x81, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x7e, 0x0, 0x0, 0x10, 0x7, 0x17, 0x82, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x83, 0x5, 0xd5, 0x10, 0x27, 0x17, 0x7e, 0x0, 0x0, 0xfc, 0x36, 0x10, 0x6, 0x17, 0x7c, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x27, 0x17, 0x7f, 0x0, 0x0, 0xfc, 0x36, 0x10, 0x6, 0x17, 0x81, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x83, 0x5, 0xd5, 0x10, 0x27, 0x17, 0x7c, 0x0, 0x0, 0xfc, 0x36, 0x10, 0x6, 0x17, 0x82, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x7f, 0x0, 0x0, 0x10, 0x7, 0x17, 0x82, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x27, 0x17, 0x7e, 0x0, 0x0, 0xfc, 0x36, 0x10, 0x6, 0x17, 0x7d, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x81, 0x0, 0x0, 0x10, 0x7, 0x17, 0x7d, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x81, 0x0, 0x0, 0x10, 0x7, 0x17, 0x82, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x27, 0x17, 0x7e, 0x0, 0x0, 0xfc, 0x36, 0x10, 0x6, 0x17, 0x82, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x27, 0x17, 0x7e, 0x0, 0x0, 0xfc, 0x36, 0x10, 0x6, 0x17, 0x7b, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x81, 0x0, 0x0, 0x10, 0x7, 0x17, 0x7b, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x81, 0x0, 0x0, 0x10, 0x7, 0x17, 0x7e, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x83, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x7c, 0x0, 0x0, 0x10, 0x7, 0x17, 0x7f, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x80, 0x0, 0x0, 0x10, 0x7, 0x17, 0x80, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x7d, 0x0, 0x0, 0x10, 0x7, 0x17, 0x7d, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x83, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x7c, 0x0, 0x0, 0x10, 0x7, 0x17, 0x81, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x7e, 0x0, 0x0, 0x10, 0x7, 0x17, 0x7f, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x27, 0x17, 0x81, 0x0, 0x0, 0xfc, 0x36, 0x10, 0x6, 0x17, 0x7b, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x7e, 0x0, 0x0, 0x10, 0x7, 0x17, 0x7b, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x27, 0x17, 0x82, 0x0, 0x0, 0xfc, 0x36, 0x10, 0x6, 0x17, 0x7d, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x82, 0x0, 0x0, 0x10, 0x7, 0x17, 0x7d, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x7f, 0x0, 0x0, 0x10, 0x7, 0x17, 0x7d, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x83, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x7d, 0x0, 0x0, 0x10, 0x7, 0x17, 0x7c, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x80, 0x0, 0x0, 0x10, 0x7, 0x17, 0x81, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x27, 0x17, 0x80, 0x0, 0x0, 0xfc, 0x36, 0x10, 0x6, 0x17, 0x7e, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x83, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x81, 0x0, 0x0, 0x10, 0x7, 0x17, 0x7c, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x7f, 0x0, 0x0, 0x10, 0x7, 0x17, 0x7e, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x83, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x7c, 0x0, 0x0, 0x10, 0x7, 0x17, 0x7b, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x7b, 0x0, 0x0, 0x10, 0x7, 0x17, 0x7f, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x83, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x7c, 0x0, 0x0, 0x10, 0x7, 0x17, 0x82, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x82, 0x0, 0x0, 0x10, 0x7, 0x17, 0x7f, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x83, 0x5, 0xd5, 0x10, 0x27, 0x17, 0x80, 0x0, 0x0, 0xfc, 0x36, 0x10, 0x6, 0x17, 0x7c, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x80, 0x0, 0x0, 0x10, 0x7, 0x17, 0x7f, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x83, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x7c, 0x0, 0x0, 0x10, 0x7, 0x17, 0x7d, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x7d, 0x0, 0x0, 0x10, 0x7, 0x17, 0x7f, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x7e, 0x0, 0x0, 0x10, 0x7, 0x17, 0x7e, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x81, 0x0, 0x0, 0x10, 0x7, 0x17, 0x81, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x7f, 0x0, 0x0, 0x10, 0x7, 0x17, 0x81, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x83, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x7e, 0x0, 0x0, 0x10, 0x7, 0x17, 0x7c, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x7e, 0x0, 0x0, 0x10, 0x7, 0x17, 0x7d, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x7d, 0x0, 0x0, 0x10, 0x7, 0x17, 0x81, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x7f, 0x0, 0x0, 0x10, 0x7, 0x17, 0x7f, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x83, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x7c, 0x0, 0x0, 0x10, 0x7, 0x17, 0x7c, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x7f, 0x0, 0x0, 0x10, 0x7, 0x17, 0x80, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x83, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x80, 0x0, 0x0, 0x10, 0x7, 0x17, 0x7c, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x83, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x7f, 0x0, 0x0, 0x10, 0x7, 0x17, 0x7c, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x7e, 0x0, 0x0, 0x10, 0x7, 0x17, 0x81, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x26, 0x17, 0x80, 0x0, 0x0, 0x10, 0x7, 0x17, 0x7d, 0x0, 0x0, 0xfc, 0x36, 0xff, 0xff, 0x0, 0xaa, 0xfe, 0xbc, 0x6, 0x82, 0x5, 0xd5, 0x10, 0x27, 0x17, 0x80, 0x0, 0x0, 0xfc, 0x36, 0x10, 0x6, 0x17, 0x7d, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0xec, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x25, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8d, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x33, 0x0, 0x0, 0x0, 0x2, 0x0, 0x46, 0x0, 0x0, 0x4, 0xa, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x13, 0x0, 0x0, 0x25, 0x11, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x5, 0x21, 0x22, 0x24, 0x35, 0x34, 0x24, 0x3b, 0x1, 0x11, 0x33, 0x3, 0x40, 0xfe, 0x8d, 0x9a, 0x9a, 0x8d, 0x1, 0xc8, 0xfe, 0x38, 0xfb, 0xfe, 0xff, 0x1, 0x1, 0xfb, 0xfe, 0xca, 0xa6, 0x2, 0x31, 0x92, 0x87, 0x86, 0x92, 0xa6, 0xe3, 0xdb, 0xdd, 0xe2, 0x2, 0x58, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xb0, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x27, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x4, 0xe9, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x37, 0x0, 0x0, 0x0, 0x1, 0xff, 0xfa, 0x0, 0x0, 0x4, 0xe9, 0x5, 0xd5, 0x0, 0x7, 0x0, 0x0, 0x29, 0x1, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x4, 0xe9, 0xfb, 0x11, 0x2, 0x12, 0xcb, 0x2, 0x12, 0xaa, 0x5, 0x2b, 0xfa, 0xd5, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x8b, 0x5, 0xf0, 0x12, 0x6, 0x0, 0x2a, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x6a, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x2e, 0x0, 0x0, 0x0, 0x1, 0xff, 0xd5, 0x0, 0x0, 0x4, 0x76, 0x5, 0xd5, 0x0, 0xa, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x21, 0x9, 0x1, 0x21, 0x1, 0x11, 0x33, 0x4, 0x76, 0xca, 0xfd, 0x62, 0xfe, 0xfc, 0x2, 0xe5, 0xfc, 0xe6, 0x1, 0xa, 0x2, 0xcd, 0xca, 0x2, 0x77, 0xfd, 0x89, 0x2, 0xb8, 0x3, 0x1d, 0xfd, 0x31, 0x2, 0xcf, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0xff, 0xe3, 0x3, 0x4f, 0x5, 0xd5, 0x12, 0x6, 0x17, 0x2, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x27, 0x5, 0xf0, 0x12, 0x6, 0x0, 0x26, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x27, 0x5, 0xf0, 0x12, 0x6, 0x1, 0x48, 0x0, 0x0, 0xff, 0xff, 0x0, 0x5c, 0x0, 0x0, 0x5, 0x1f, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x3d, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x23, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x29, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x23, 0x5, 0xd5, 0x12, 0x6, 0xb, 0xc4, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x1f, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x30, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x33, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x6a, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x2f, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xff, 0xe3, 0x4, 0xa2, 0x5, 0xf0, 0x12, 0x6, 0x0, 0x36, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x54, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x35, 0x0, 0x0, 0x0, 0x2, 0x0, 0x3b, 0x0, 0x0, 0x4, 0xc6, 0x5, 0xd5, 0x0, 0x13, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x2e, 0x1, 0x27, 0x3, 0x33, 0x13, 0x1e, 0x1, 0x3b, 0x1, 0x11, 0x33, 0x11, 0x21, 0x20, 0x26, 0x35, 0x34, 0x36, 0x1, 0x11, 0x23, 0x22, 0x6, 0x10, 0x16, 0x33, 0x2, 0x2, 0x41, 0x7b, 0x3e, 0xcd, 0xd9, 0xbf, 0x4a, 0x8b, 0x78, 0xdc, 0xca, 0xfe, 0x38, 0xff, 0x0, 0xfc, 0x83, 0x2, 0x77, 0xfe, 0x92, 0x95, 0x95, 0x92, 0x3, 0x19, 0x16, 0x90, 0x7e, 0x1, 0x98, 0xfe, 0x81, 0x96, 0x62, 0x2, 0x77, 0xfa, 0x2b, 0xd6, 0xd8, 0x8d, 0xba, 0xfd, 0xb1, 0x2, 0x12, 0x87, 0xfe, 0xfa, 0x85, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x5, 0xd5, 0x12, 0x6, 0x2, 0x7, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x39, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x3b, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x2b, 0x0, 0x0, 0xff, 0xff, 0x0, 0xa3, 0xff, 0xe3, 0x5, 0xbb, 0x5, 0xf0, 0x12, 0x6, 0xb, 0xd3, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x18, 0x5, 0xf2, 0x0, 0xf, 0x0, 0x0, 0x1, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x10, 0x36, 0x33, 0x32, 0x16, 0x4, 0x18, 0x5b, 0xc2, 0x68, 0x8f, 0x71, 0xca, 0xd3, 0xf7, 0x60, 0xbe, 0x5, 0x98, 0xec, 0x51, 0x51, 0x95, 0xcb, 0xfc, 0x12, 0x3, 0xee, 0x1, 0x1a, 0xea, 0x2c, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x44, 0x0, 0x0, 0x7, 0xa6, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x3a, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3d, 0x0, 0x0, 0x5, 0x3b, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x3b, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x4, 0xe7, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x3c, 0x0, 0x0, 0x0, 0x3, 0x0, 0x91, 0x0, 0x0, 0x4, 0xb4, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x11, 0x0, 0x20, 0x0, 0x0, 0x1, 0x11, 0x21, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x1, 0x11, 0x21, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x5, 0x21, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x2e, 0x1, 0x35, 0x34, 0x24, 0x33, 0x21, 0x3, 0xea, 0xfe, 0xbc, 0xa3, 0x9d, 0x9d, 0xa3, 0x1, 0x44, 0xfe, 0xd5, 0x94, 0x91, 0x91, 0x94, 0x1, 0xf5, 0xfd, 0xfc, 0xe7, 0xfa, 0x80, 0x7c, 0x95, 0xa5, 0x1, 0x10, 0xfb, 0x2, 0x18, 0x3, 0xc, 0x2, 0x23, 0x87, 0x8b, 0x8c, 0x85, 0xfd, 0x9a, 0x1, 0xc2, 0x6f, 0x72, 0x71, 0x70, 0xa6, 0xc0, 0xb1, 0x89, 0xa2, 0x14, 0x20, 0xcb, 0x98, 0xc8, 0xda, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x24, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x5, 0xd5, 0x12, 0x6, 0x11, 0xe3, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x28, 0x0, 0x0, 0x0, 0x1, 0x0, 0x83, 0x0, 0x0, 0x4, 0x45, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x0, 0x29, 0x1, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x4, 0x45, 0xfc, 0x50, 0x2, 0xe6, 0xfd, 0x39, 0x2, 0xc7, 0xfd, 0x8, 0x3, 0xc2, 0xaa, 0x1, 0xba, 0xaa, 0x2, 0x1d, 0xaa, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x1, 0x93, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x2c, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x5, 0xf0, 0x12, 0x6, 0x0, 0x32, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x5, 0xd5, 0x12, 0x6, 0x0, 0x38, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb2, 0x0, 0x0, 0x5, 0x29, 0x5, 0xf2, 0x0, 0x11, 0x0, 0x2a, 0x40, 0x9, 0xa, 0x1c, 0x8, 0x38, 0x11, 0x1c, 0x0, 0x41, 0x12, 0x10, 0xfc, 0x4b, 0xb0, 0x10, 0x54, 0x58, 0xb9, 0x0, 0x0, 0xff, 0xc0, 0x38, 0x59, 0xec, 0xfc, 0xec, 0x31, 0x0, 0xb5, 0xd, 0x95, 0x4, 0x91, 0x9, 0x0, 0x2f, 0x3c, 0xf4, 0xec, 0x30, 0x33, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x19, 0x1, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0xb2, 0x1, 0x21, 0x1, 0x1b, 0x1, 0x1a, 0x1, 0x21, 0xcb, 0xae, 0xc2, 0xc3, 0xae, 0x3, 0xa4, 0x1, 0x24, 0x1, 0x2a, 0xfe, 0xd6, 0xfe, 0xdc, 0xfc, 0x5c, 0x3, 0x8b, 0xf0, 0xd3, 0xd3, 0xf0, 0xfc, 0x75, 0xff, 0xff, 0x0, 0x8, 0x0, 0x0, 0x3, 0xa9, 0x5, 0xd5, 0x12, 0x6, 0xb, 0xd4, 0x0, 0x0, 0x0, 0x2, 0x0, 0x73, 0x0, 0x0, 0x5, 0x5a, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x11, 0x0, 0x1f, 0x40, 0x9, 0x0, 0x1c, 0xa, 0x32, 0x4, 0x19, 0xe, 0x10, 0x12, 0x10, 0xfc, 0xec, 0xf4, 0xec, 0x31, 0x0, 0xb6, 0x0, 0x95, 0x9, 0x81, 0x7, 0x95, 0xb, 0x2f, 0xec, 0xf4, 0xec, 0x30, 0x1, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x33, 0x13, 0x11, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x4, 0x90, 0xf4, 0xfe, 0xcb, 0xfe, 0xe1, 0x1, 0x1f, 0x1, 0x35, 0xf4, 0xca, 0xfe, 0x61, 0xfe, 0x50, 0xfe, 0x68, 0x1, 0x96, 0x1, 0xb2, 0x5, 0x2f, 0xfe, 0xe9, 0xfe, 0xd4, 0xfe, 0xd2, 0xfe, 0xe8, 0x5, 0x2f, 0xfa, 0x2b, 0x1, 0x6a, 0x1, 0x82, 0x1, 0x80, 0x1, 0x69, 0x0, 0x0, 0x0, 0x1, 0x0, 0xaf, 0x0, 0x0, 0x1, 0xb7, 0x1, 0x3e, 0x0, 0x3, 0x0, 0x0, 0x13, 0x21, 0x11, 0x21, 0xaf, 0x1, 0x8, 0xfe, 0xf8, 0x1, 0x3e, 0xfe, 0xc2, 0x0, 0x0, 0x1, 0x0, 0x92, 0xfe, 0xc0, 0x1, 0xb7, 0x1, 0x3e, 0x0, 0x6, 0x0, 0x0, 0x13, 0x21, 0x11, 0x3, 0x23, 0x13, 0x23, 0xaf, 0x1, 0x8, 0xa4, 0x81, 0xa4, 0x87, 0x1, 0x3e, 0xfe, 0xc2, 0xfe, 0xc0, 0x1, 0x40, 0xff, 0xff, 0x0, 0xaf, 0x0, 0x0, 0x4, 0x16, 0x1, 0x3e, 0x10, 0x27, 0x12, 0xbf, 0x2, 0x5f, 0x0, 0x0, 0x10, 0x6, 0x12, 0xbf, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaf, 0xfe, 0xc0, 0x4, 0x16, 0x1, 0x3e, 0x10, 0x27, 0x12, 0xc0, 0x2, 0x5f, 0x0, 0x0, 0x10, 0x6, 0x12, 0xbf, 0x0, 0x0, 0x0, 0x2, 0x0, 0x92, 0xfe, 0xc0, 0x1, 0xb7, 0x4, 0x23, 0x0, 0x6, 0x0, 0xa, 0x0, 0x0, 0x13, 0x21, 0x11, 0x3, 0x23, 0x13, 0x23, 0x11, 0x21, 0x11, 0x21, 0xaf, 0x1, 0x8, 0xa4, 0x81, 0xa4, 0x87, 0x1, 0x8, 0xfe, 0xf8, 0x1, 0x3e, 0xfe, 0xc2, 0xfe, 0xc0, 0x1, 0x40, 0x4, 0x23, 0xfe, 0xc2, 0x0, 0x0, 0x0, 0x2, 0x0, 0xaf, 0x0, 0x0, 0x1, 0xb7, 0x4, 0x23, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x13, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0xaf, 0x1, 0x8, 0xfe, 0xf8, 0x1, 0x8, 0xfe, 0xf8, 0x1, 0x3e, 0xfe, 0xc2, 0x4, 0x23, 0xfe, 0xc2, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xaf, 0x0, 0x0, 0x4, 0x5, 0x2, 0xd6, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x21, 0x11, 0x21, 0x1, 0x21, 0x15, 0x21, 0x2, 0xfd, 0x1, 0x8, 0xfe, 0xf8, 0xfd, 0xb2, 0x3, 0x56, 0xfc, 0xaa, 0x1, 0x3e, 0xfe, 0xc2, 0x2, 0xd6, 0xa8, 0x0, 0x0, 0x2, 0x0, 0xaf, 0x1, 0x60, 0x4, 0x5, 0x3, 0xa2, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0xaf, 0x3, 0x56, 0xfc, 0xaa, 0x3, 0x56, 0xfc, 0xaa, 0x3, 0xa2, 0xa8, 0xf0, 0xaa, 0x0, 0x0, 0xff, 0xff, 0x0, 0x72, 0xff, 0xe3, 0x4, 0x8d, 0x5, 0xf0, 0x10, 0x6, 0x1, 0x69, 0x0, 0x0, 0xff, 0xff, 0x0, 0x64, 0xff, 0xe3, 0x3, 0xbc, 0x4, 0x7b, 0x10, 0x6, 0x1, 0x6a, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x2, 0xc6, 0x5, 0xd5, 0x10, 0x6, 0x1, 0x58, 0x0, 0x0, 0xff, 0xff, 0x0, 0xa6, 0x0, 0x0, 0x2, 0x6e, 0x4, 0x60, 0x10, 0x6, 0x2, 0x2b, 0x0, 0x0, 0x0, 0x1, 0x0, 0x76, 0xff, 0xe3, 0x8, 0xfa, 0x5, 0x29, 0x0, 0x34, 0x0, 0x3e, 0x40, 0x15, 0x30, 0x31, 0x2c, 0x1c, 0x0, 0x18, 0x17, 0x4, 0xa, 0xf, 0x2a, 0x24, 0x1e, 0x6, 0x0, 0x36, 0x1c, 0x1c, 0x13, 0x45, 0x35, 0x10, 0xfc, 0xec, 0xcc, 0xcc, 0x17, 0x39, 0xd4, 0xcc, 0x10, 0xec, 0xd4, 0xcc, 0x31, 0x0, 0x40, 0xc, 0x24, 0x95, 0xa, 0x2a, 0x1e, 0x95, 0x4, 0xf, 0x8c, 0x30, 0x17, 0x35, 0x10, 0xcc, 0x32, 0xf4, 0x32, 0xec, 0x32, 0xdc, 0xec, 0x30, 0x1, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0xf, 0x1, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x33, 0x6, 0x7, 0x6, 0x15, 0x10, 0x21, 0x32, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x33, 0x20, 0x11, 0x34, 0x27, 0x26, 0x27, 0x33, 0x16, 0x17, 0x16, 0x8, 0xfa, 0x66, 0x74, 0xea, 0x5b, 0x6e, 0x61, 0x60, 0x7a, 0x78, 0x7a, 0x7b, 0xc2, 0x6e, 0x5b, 0xea, 0x74, 0x66, 0x43, 0x47, 0x6f, 0xf9, 0x7e, 0x5b, 0x55, 0x1, 0x0, 0x8a, 0x5d, 0x4c, 0x4b, 0x66, 0x9d, 0x9b, 0x64, 0x4b, 0x4a, 0x5d, 0x8a, 0x1, 0x0, 0x55, 0x5b, 0x7e, 0xfa, 0x6f, 0x46, 0x43, 0x1, 0xfe, 0xf2, 0x8b, 0x9e, 0x44, 0x40, 0x40, 0x44, 0x44, 0x80, 0x44, 0x9d, 0x8b, 0xf2, 0xc6, 0xe2, 0xec, 0x98, 0x6b, 0xf3, 0xe2, 0xb6, 0xfe, 0xba, 0x36, 0x33, 0x33, 0x36, 0x36, 0x33, 0x33, 0x36, 0x1, 0x46, 0xb6, 0xe2, 0xf3, 0x6b, 0x98, 0xec, 0xe2, 0x0, 0x1, 0x0, 0x98, 0xff, 0xe3, 0x7, 0xa1, 0x3, 0xc5, 0x0, 0x21, 0x0, 0x3c, 0x40, 0x13, 0x21, 0x0, 0x1f, 0x8, 0x2, 0xe, 0xd, 0x4, 0x9, 0x1d, 0x12, 0x4, 0x2, 0x23, 0x10, 0x8, 0xb, 0x45, 0x22, 0x10, 0xfc, 0xec, 0xcc, 0xcc, 0x17, 0x39, 0xd4, 0xcc, 0x10, 0xec, 0xd4, 0xcc, 0x31, 0x0, 0x40, 0xc, 0x17, 0xa9, 0x7, 0x1d, 0x12, 0xa9, 0x4, 0x9, 0x8c, 0x21, 0xd, 0x22, 0x10, 0xcc, 0x32, 0xf4, 0x32, 0xec, 0x32, 0xdc, 0xec, 0x30, 0x1, 0x12, 0x11, 0x10, 0x21, 0x22, 0x24, 0x22, 0x4, 0x23, 0x20, 0x11, 0x10, 0x13, 0x33, 0x2, 0x15, 0x10, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x11, 0x34, 0x3, 0x7, 0x17, 0x8a, 0xfe, 0x72, 0x54, 0xfe, 0xd5, 0xf0, 0xfe, 0xd4, 0x52, 0xfe, 0x72, 0x8a, 0xc6, 0x92, 0xd0, 0x3e, 0x49, 0x78, 0x15, 0x64, 0xfc, 0x64, 0x14, 0x79, 0x49, 0x3f, 0xd0, 0x92, 0x3, 0xc5, 0xfe, 0xe3, 0xfe, 0xeb, 0xfe, 0x50, 0xe2, 0xe2, 0x1, 0xb1, 0x1, 0x14, 0x1, 0x1d, 0xfe, 0xb9, 0xfa, 0xfe, 0xfb, 0x38, 0x5b, 0xc, 0x37, 0x37, 0xc, 0x5b, 0x38, 0x1, 0x7, 0xf8, 0x1, 0x47, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3c, 0x0, 0x0, 0x7, 0x72, 0x5, 0xd5, 0x10, 0x26, 0x3, 0xbe, 0x0, 0x0, 0x10, 0x7, 0x0, 0x2c, 0x5, 0xdf, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3e, 0x0, 0x0, 0x6, 0x8a, 0x4, 0x7b, 0x10, 0x26, 0x3, 0xde, 0x0, 0x0, 0x10, 0x7, 0x0, 0xf3, 0x5, 0x11, 0x0, 0x0, 0x0, 0x2, 0x0, 0x73, 0xff, 0xe3, 0x7, 0xd0, 0x5, 0xf0, 0x0, 0x9, 0x0, 0x1c, 0x0, 0x0, 0x0, 0x20, 0x0, 0x11, 0x10, 0x0, 0x20, 0x0, 0x11, 0x10, 0x17, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x21, 0x2, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x4, 0x1, 0xfe, 0x48, 0xfe, 0xff, 0x1, 0x1, 0x1, 0xb8, 0x1, 0x3, 0xd2, 0x1, 0x30, 0xca, 0xca, 0xfe, 0xd0, 0xe, 0xfe, 0x98, 0xfe, 0xc5, 0xfe, 0xc6, 0xfe, 0x88, 0x1, 0x78, 0x1, 0x3a, 0x1, 0x3b, 0x1, 0x68, 0x5, 0x4c, 0xfe, 0xb8, 0xfe, 0xe5, 0xfe, 0xe6, 0xfe, 0xb8, 0x1, 0x48, 0x1, 0x1a, 0x1, 0x1b, 0xc5, 0x2, 0x96, 0xfa, 0x2b, 0x2, 0x95, 0xfe, 0xe8, 0xfe, 0x66, 0x1, 0xa5, 0x1, 0x61, 0x1, 0x62, 0x1, 0xa5, 0xfe, 0x67, 0x0, 0x0, 0x0, 0x2, 0x0, 0x70, 0xff, 0xe3, 0x5, 0xfb, 0x4, 0x7b, 0x0, 0xa, 0x0, 0x1c, 0x0, 0x0, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x10, 0x26, 0x1, 0x33, 0x11, 0x33, 0x11, 0x23, 0x11, 0x23, 0x6, 0x0, 0x23, 0x22, 0x0, 0x11, 0x10, 0x0, 0x20, 0x12, 0x2, 0x72, 0x93, 0xac, 0xac, 0x93, 0x95, 0xab, 0xac, 0x1, 0x68, 0xd5, 0xb8, 0xb8, 0xd0, 0x9, 0xfe, 0xf9, 0xf1, 0xf0, 0xfe, 0xee, 0x1, 0x12, 0x1, 0xe0, 0xf9, 0x3, 0xdf, 0xe9, 0xc7, 0xc8, 0xe8, 0xe7, 0x1, 0x92, 0xe7, 0xfe, 0xc2, 0x1, 0xbf, 0xfb, 0xa0, 0x2, 0x9, 0xf8, 0xfe, 0xd2, 0x1, 0x39, 0x1, 0x13, 0x1, 0x14, 0x1, 0x38, 0xfe, 0xe4, 0x0, 0x0, 0x2, 0x0, 0xd3, 0x0, 0x0, 0x7, 0xbf, 0x5, 0xd5, 0x0, 0xf, 0x0, 0x12, 0x0, 0x0, 0x1, 0x33, 0x1, 0x23, 0x3, 0x21, 0x3, 0x23, 0x13, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x9, 0x1, 0x21, 0x4, 0xa1, 0xe5, 0x2, 0x39, 0xd2, 0x88, 0xfd, 0x5f, 0x88, 0xd5, 0xfc, 0xfe, 0x3a, 0xca, 0xca, 0x2, 0x7, 0x1, 0x6f, 0xfe, 0xee, 0x2, 0x25, 0x5, 0xd5, 0xfa, 0x2b, 0x1, 0x7f, 0xfe, 0x81, 0x2, 0x95, 0xfd, 0x6b, 0x5, 0xd5, 0xfd, 0x6a, 0x1, 0xcf, 0xfd, 0x19, 0x0, 0x0, 0x2, 0x0, 0xc1, 0xff, 0xe3, 0x6, 0x4, 0x4, 0x7b, 0x0, 0x22, 0x0, 0x2d, 0x0, 0x0, 0x1, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x36, 0x33, 0x21, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3d, 0x1, 0x6, 0x4, 0xb8, 0x3f, 0xbc, 0x88, 0xac, 0xcb, 0x2f, 0xfe, 0xf8, 0xb8, 0xb8, 0x1, 0xd2, 0x6a, 0x95, 0x1, 0x2, 0xa7, 0x97, 0x60, 0xb6, 0x54, 0x65, 0xbe, 0x5a, 0xf3, 0xf0, 0xfe, 0x91, 0xdf, 0xac, 0x81, 0x6f, 0x99, 0xb9, 0x2, 0x7f, 0xfd, 0x81, 0xaa, 0x66, 0x61, 0xc1, 0xa2, 0x73, 0x50, 0xfd, 0xf7, 0x4, 0x60, 0xfe, 0x41, 0x22, 0x12, 0x7f, 0x8b, 0x2e, 0x2e, 0xaa, 0x27, 0x27, 0xfc, 0xfe, 0xb4, 0x66, 0x7b, 0x62, 0x73, 0xd9, 0xb4, 0x29, 0x0, 0x0, 0x2, 0x0, 0x65, 0xfe, 0xbf, 0x8, 0x8, 0x5, 0xd5, 0x0, 0x12, 0x0, 0x1a, 0x0, 0x0, 0x37, 0x36, 0x37, 0x12, 0x19, 0x1, 0x21, 0x15, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x23, 0x21, 0x11, 0x23, 0x11, 0x1, 0x21, 0x15, 0x10, 0x3, 0x6, 0x7, 0x21, 0xac, 0x86, 0x26, 0x61, 0x6, 0x4f, 0xfd, 0x29, 0xaa, 0xaa, 0xca, 0xfc, 0xa8, 0xaa, 0x4, 0x2, 0xfe, 0x1b, 0x70, 0x17, 0x28, 0x2, 0x94, 0xaa, 0x3f, 0x78, 0x1, 0x34, 0x2, 0x26, 0x1, 0x1a, 0xaa, 0xfb, 0x7f, 0xfe, 0x15, 0x1, 0x41, 0xfe, 0xbf, 0x1, 0xeb, 0x4, 0x81, 0xd4, 0xfe, 0xd, 0xfe, 0xb5, 0x44, 0x2b, 0x0, 0x0, 0x2, 0x0, 0x6b, 0xfe, 0xe5, 0x6, 0xe7, 0x4, 0x60, 0x0, 0x12, 0x0, 0x19, 0x0, 0x0, 0x37, 0x36, 0x37, 0x36, 0x11, 0x35, 0x21, 0x15, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x23, 0x21, 0x11, 0x23, 0x11, 0x1, 0x21, 0x15, 0x10, 0xf, 0x1, 0x21, 0xb0, 0x5b, 0x28, 0x62, 0x5, 0x52, 0xfd, 0xa3, 0x93, 0x93, 0xb9, 0xfd, 0x2d, 0x93, 0x3, 0x66, 0xfe, 0x7d, 0x76, 0x1d, 0x2, 0x16, 0x93, 0x28, 0x55, 0xd3, 0x1, 0xa9, 0xd4, 0x93, 0xfc, 0xc6, 0xfe, 0x52, 0x1, 0x1b, 0xfe, 0xe5, 0x1, 0xae, 0x3, 0x3a, 0x8c, 0xfe, 0x64, 0xdc, 0x36, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x54, 0x0, 0x0, 0x8, 0x11, 0x5, 0xd5, 0x0, 0x11, 0x0, 0x0, 0x33, 0x35, 0x36, 0x37, 0x36, 0x11, 0x35, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x15, 0x10, 0x3, 0x6, 0x54, 0xdd, 0x3a, 0x57, 0x6, 0x4f, 0xfd, 0x29, 0xca, 0xfe, 0x1b, 0x66, 0x62, 0xaa, 0x30, 0xa3, 0xf6, 0x2, 0x64, 0xfe, 0xaa, 0xfa, 0xd5, 0x5, 0x2b, 0xb8, 0xfd, 0xca, 0xfe, 0xf8, 0xfd, 0x0, 0x0, 0x1, 0x0, 0x4c, 0x0, 0x0, 0x6, 0xd1, 0x4, 0x60, 0x0, 0x12, 0x0, 0x0, 0x33, 0x35, 0x36, 0x37, 0x36, 0x11, 0x35, 0x21, 0x15, 0x21, 0x11, 0x2b, 0x1, 0x11, 0x21, 0x15, 0x10, 0x7, 0x6, 0x4c, 0xbb, 0x33, 0x44, 0x5, 0x53, 0xfd, 0xa3, 0x1, 0xb8, 0xfe, 0x7b, 0x58, 0x5e, 0x99, 0x1d, 0x7d, 0xa6, 0x1, 0xd0, 0xb7, 0x93, 0xfc, 0x33, 0x3, 0xcd, 0x6f, 0xfe, 0x50, 0xc2, 0xcf, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x8, 0xf6, 0x5, 0xd5, 0x0, 0xf, 0x0, 0x0, 0x13, 0x21, 0x9, 0x1, 0x21, 0x15, 0x21, 0x11, 0x2b, 0x1, 0x11, 0x1, 0x23, 0x1, 0x11, 0x23, 0xc9, 0x1, 0x2d, 0x1, 0x7d, 0x1, 0x7f, 0x4, 0x4, 0xfd, 0x29, 0xc5, 0x5, 0xfe, 0x84, 0xcb, 0xfe, 0x7f, 0xc4, 0x5, 0xd5, 0xfc, 0x8, 0x3, 0xf8, 0xaa, 0xfa, 0xd5, 0x5, 0x12, 0xfc, 0xd, 0x4, 0x0, 0xfa, 0xe1, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x7, 0xac, 0x4, 0x60, 0x0, 0xe, 0x0, 0x0, 0x13, 0x21, 0x9, 0x1, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x1, 0x23, 0x1, 0x11, 0x23, 0xba, 0x1, 0xd, 0x1, 0x3e, 0x1, 0x3f, 0x3, 0x68, 0xfd, 0xa3, 0xb9, 0xfe, 0xcb, 0xb8, 0xfe, 0xca, 0xb9, 0x4, 0x60, 0xfd, 0x12, 0x2, 0xee, 0x93, 0xfc, 0x33, 0x3, 0xb0, 0xfd, 0x27, 0x2, 0xd9, 0xfc, 0x50, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x5, 0xf0, 0x10, 0x27, 0x0, 0x79, 0x1, 0xe2, 0x0, 0x0, 0x10, 0x6, 0x0, 0x32, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x4, 0x7b, 0x10, 0x26, 0x0, 0x52, 0x0, 0x0, 0x10, 0x7, 0x0, 0x79, 0x1, 0x2e, 0xff, 0x84, 0x0, 0x4, 0x0, 0x73, 0xff, 0xe3, 0x6, 0x65, 0x5, 0xf0, 0x0, 0x3, 0x0, 0x7, 0x0, 0x13, 0x0, 0x1d, 0x0, 0x0, 0x1, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x12, 0x20, 0x27, 0x26, 0x10, 0x37, 0x36, 0x20, 0x17, 0x16, 0x10, 0x7, 0x0, 0x20, 0x0, 0x11, 0x10, 0x0, 0x20, 0x0, 0x11, 0x10, 0x2, 0x31, 0xd3, 0xd3, 0x1, 0xa4, 0xd3, 0xd3, 0xf1, 0xfd, 0x4c, 0xd0, 0xcf, 0xcf, 0xd0, 0x2, 0xb4, 0xd0, 0xcf, 0xcf, 0xfe, 0xc8, 0xfe, 0x1a, 0xfe, 0xe0, 0x1, 0x20, 0x1, 0xe6, 0x1, 0x20, 0x3, 0x46, 0xfe, 0xfe, 0xfe, 0xfd, 0x9b, 0xd2, 0xd2, 0x2, 0xc4, 0xd3, 0xd2, 0xd2, 0xd3, 0xfd, 0x3c, 0xd2, 0x4, 0x97, 0xfe, 0xb8, 0xfe, 0xe5, 0xfe, 0xe6, 0xfe, 0xb8, 0x1, 0x48, 0x1, 0x1a, 0x1, 0x1b, 0x0, 0x4, 0x0, 0x71, 0xff, 0xe3, 0x5, 0x43, 0x4, 0x7b, 0x0, 0x3, 0x0, 0x7, 0x0, 0x12, 0x0, 0x1e, 0x0, 0x0, 0x1, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x3, 0x22, 0x6, 0x10, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x1, 0xbc, 0xd3, 0xd3, 0x1, 0x68, 0xd3, 0xd3, 0x4a, 0xc3, 0xe3, 0xe1, 0xc5, 0xc2, 0xe3, 0xe3, 0xc2, 0x1, 0x20, 0x1, 0x49, 0xfe, 0xb7, 0xfe, 0xe0, 0xfe, 0xdf, 0xfe, 0xb8, 0x1, 0x48, 0x2, 0xca, 0xfe, 0xfe, 0xfe, 0x2, 0x13, 0xe7, 0xfe, 0x6e, 0xe7, 0xe8, 0xc8, 0xc7, 0xe9, 0x9c, 0xfe, 0xc8, 0xfe, 0xec, 0xfe, 0xed, 0xfe, 0xc7, 0x1, 0x39, 0x1, 0x13, 0x1, 0x14, 0x1, 0x38, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0xa, 0x6a, 0x5, 0xf0, 0x10, 0x26, 0x13, 0x1c, 0x0, 0x0, 0x10, 0x27, 0x0, 0x79, 0x6, 0x72, 0x0, 0x0, 0x10, 0x7, 0x0, 0x79, 0x1, 0xe2, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x7, 0xb6, 0x4, 0x7b, 0x10, 0x27, 0x0, 0x79, 0x4, 0x6f, 0xff, 0x84, 0x10, 0x27, 0x0, 0x79, 0x1, 0x2e, 0xff, 0x84, 0x10, 0x6, 0x13, 0x1d, 0x0, 0x0, 0x0, 0xf, 0x0, 0x3a, 0xfe, 0x57, 0x6, 0xce, 0x5, 0xf1, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x13, 0x0, 0x17, 0x0, 0x1f, 0x0, 0x27, 0x0, 0x2f, 0x0, 0x37, 0x0, 0x3f, 0x0, 0x47, 0x0, 0x4f, 0x0, 0x80, 0x0, 0x84, 0x0, 0x0, 0x25, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x1, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x1, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x0, 0x22, 0x6, 0x14, 0x16, 0x32, 0x36, 0x34, 0x12, 0x22, 0x6, 0x14, 0x16, 0x32, 0x36, 0x34, 0x24, 0x22, 0x6, 0x14, 0x16, 0x32, 0x36, 0x34, 0x12, 0x22, 0x6, 0x14, 0x16, 0x32, 0x36, 0x34, 0x24, 0x22, 0x6, 0x14, 0x16, 0x32, 0x36, 0x34, 0x0, 0x22, 0x6, 0x14, 0x16, 0x32, 0x36, 0x34, 0x24, 0x22, 0x6, 0x14, 0x16, 0x32, 0x36, 0x34, 0x13, 0x32, 0x16, 0x15, 0x14, 0x6, 0x2b, 0x1, 0x16, 0x15, 0x14, 0x6, 0x20, 0x27, 0x26, 0x27, 0x6, 0x7, 0x6, 0x20, 0x26, 0x35, 0x34, 0x37, 0x22, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x3b, 0x1, 0x26, 0x35, 0x34, 0x36, 0x20, 0x17, 0x16, 0x17, 0x36, 0x37, 0x36, 0x20, 0x16, 0x15, 0x14, 0x7, 0x1, 0x33, 0x15, 0x23, 0x4, 0x4a, 0x86, 0x86, 0xfd, 0xef, 0x86, 0x86, 0x2, 0x11, 0x86, 0x86, 0xfd, 0xef, 0x86, 0x86, 0xfe, 0xf8, 0x86, 0x86, 0x4, 0x22, 0x86, 0x86, 0xfc, 0x7b, 0xb4, 0x69, 0x69, 0xb4, 0x68, 0xa0, 0xb4, 0x69, 0x69, 0xb4, 0x68, 0x1, 0xa9, 0xb4, 0x69, 0x69, 0xb4, 0x68, 0xa1, 0xb4, 0x69, 0x69, 0xb4, 0x68, 0xfd, 0x86, 0xb4, 0x69, 0x69, 0xb4, 0x68, 0xfe, 0x90, 0xb4, 0x69, 0x69, 0xb4, 0x68, 0x1, 0xa9, 0xb4, 0x69, 0x69, 0xb4, 0x68, 0x47, 0x8d, 0xab, 0xab, 0x8d, 0x4, 0x34, 0xab, 0xfe, 0xe3, 0x55, 0x16, 0xf, 0xf, 0x15, 0x55, 0xfe, 0xe2, 0xa9, 0x33, 0x2, 0x1, 0x8f, 0xab, 0xab, 0x8f, 0x2, 0x32, 0xa9, 0x1, 0x1e, 0x55, 0x15, 0xf, 0xf, 0x16, 0x55, 0x1, 0x1d, 0xab, 0x34, 0xfd, 0xaf, 0x86, 0x86, 0x16, 0x9c, 0x9c, 0x9c, 0x5, 0x49, 0x9c, 0x9c, 0x9c, 0xfe, 0x46, 0x9c, 0x9c, 0x9c, 0x1, 0x5d, 0x8e, 0xf7, 0x8e, 0x8e, 0xf7, 0x2, 0xe4, 0x8f, 0xf6, 0x8e, 0x8e, 0xf6, 0x8f, 0x8f, 0xf6, 0x8e, 0x8e, 0xf6, 0xfe, 0x39, 0x8e, 0xf7, 0x8e, 0x8e, 0xf7, 0x8e, 0x8e, 0xf7, 0x8e, 0x8e, 0xf7, 0xfe, 0x37, 0x8e, 0xf7, 0x8e, 0x8e, 0xf7, 0x8e, 0x8e, 0xf7, 0x8e, 0x8e, 0xf7, 0x3, 0x52, 0xcc, 0xac, 0xa9, 0xcc, 0x5c, 0x85, 0xab, 0xcb, 0x64, 0x1b, 0x1d, 0x1d, 0x19, 0x66, 0xca, 0xac, 0x85, 0x5c, 0xca, 0xab, 0xac, 0xcc, 0x5a, 0x85, 0xab, 0xcc, 0x65, 0x1a, 0x1d, 0x1d, 0x1a, 0x65, 0xcc, 0xab, 0x85, 0x5a, 0xfe, 0xd2, 0x9c, 0x0, 0x1, 0xff, 0xfa, 0xfe, 0x66, 0x6, 0x10, 0x5, 0xd5, 0x0, 0x1d, 0x0, 0x0, 0x3, 0x21, 0x15, 0x21, 0x11, 0x21, 0x32, 0x17, 0x16, 0x15, 0x11, 0x10, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x34, 0x26, 0x23, 0x21, 0x11, 0x23, 0x11, 0x21, 0x6, 0x4, 0xef, 0xfd, 0xee, 0x1, 0xa1, 0xba, 0x71, 0x6d, 0xcc, 0xe4, 0x4c, 0x3e, 0x86, 0x38, 0x37, 0x7c, 0x7c, 0xfe, 0x88, 0xcb, 0xfd, 0xee, 0x5, 0xd5, 0xaa, 0xfe, 0x46, 0x77, 0x72, 0xee, 0xfe, 0xce, 0xfe, 0xf2, 0xf4, 0xaa, 0x4b, 0x4b, 0xc2, 0x1, 0x22, 0x9f, 0x9e, 0xfd, 0x39, 0x5, 0x2b, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3c, 0xfe, 0x56, 0x5, 0x48, 0x4, 0x60, 0x0, 0x1f, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x11, 0x33, 0x20, 0x17, 0x16, 0x15, 0x11, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x34, 0x27, 0x26, 0x23, 0x21, 0x11, 0x23, 0x11, 0x21, 0x3c, 0x4, 0x31, 0xfe, 0x42, 0xfa, 0x1, 0x7, 0x46, 0x52, 0x52, 0x51, 0xb5, 0xc1, 0xac, 0x6e, 0x21, 0x26, 0x26, 0x2c, 0x8b, 0xfe, 0xfc, 0xb5, 0xfe, 0x42, 0x4, 0x60, 0x93, 0xfe, 0xaa, 0x47, 0x51, 0xe5, 0xfe, 0xf2, 0xd5, 0x61, 0x60, 0x9c, 0x30, 0x37, 0x93, 0x1, 0x8, 0xa6, 0x24, 0x29, 0xfe, 0x19, 0x3, 0xcd, 0x0, 0x0, 0x0, 0x1, 0xff, 0xfa, 0x0, 0x0, 0x4, 0xe9, 0x5, 0xd5, 0x0, 0xf, 0x0, 0x0, 0x3, 0x21, 0x15, 0x21, 0x11, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x26, 0x19, 0x1, 0x21, 0x6, 0x4, 0xef, 0xfd, 0xee, 0x6d, 0x86, 0x3f, 0x4d, 0xe3, 0xcd, 0xfd, 0xee, 0x5, 0xd5, 0xaa, 0xfc, 0xd7, 0xc2, 0x96, 0xaa, 0xf4, 0x1, 0xe, 0x3, 0x29, 0x0, 0x1, 0x0, 0x3c, 0x0, 0x0, 0x4, 0x6d, 0x4, 0x60, 0x0, 0x11, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x11, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x21, 0x3c, 0x4, 0x31, 0xfe, 0x46, 0x23, 0x23, 0x6d, 0x58, 0x6e, 0xb6, 0x50, 0x53, 0xfe, 0x45, 0x4, 0x60, 0x93, 0xfd, 0xbe, 0x91, 0x2e, 0x30, 0x9c, 0x60, 0x62, 0xd4, 0x2, 0x37, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xaf, 0x0, 0x0, 0x4, 0xb3, 0x5, 0xd5, 0x0, 0x17, 0x0, 0x2a, 0x40, 0xb, 0x19, 0x8, 0x1c, 0x6, 0x13, 0xc, 0x0, 0x1c, 0xf, 0x4, 0x18, 0x10, 0xfc, 0xec, 0x32, 0xcc, 0xd4, 0xec, 0xcc, 0x31, 0x0, 0x40, 0xa, 0x2, 0x95, 0xb, 0xad, 0x15, 0x95, 0x12, 0x81, 0x7, 0xe, 0x2f, 0x3c, 0xf4, 0xec, 0xf4, 0xec, 0x30, 0x1, 0x15, 0x21, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x21, 0x11, 0x23, 0x11, 0x34, 0x36, 0x33, 0x21, 0x15, 0x23, 0x22, 0x6, 0x1, 0x7a, 0x1, 0xa1, 0xba, 0xde, 0xc9, 0x7c, 0x7c, 0xfe, 0x88, 0xcb, 0xa3, 0xb5, 0x1, 0x9, 0xe0, 0x69, 0x4d, 0x4, 0x3f, 0xce, 0xe9, 0xee, 0xfe, 0x66, 0x1, 0x8a, 0x9f, 0x9e, 0xfd, 0x39, 0x4, 0x3f, 0xd6, 0xc0, 0x9c, 0x61, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x4, 0x64, 0x6, 0x14, 0x10, 0x6, 0x2, 0x28, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd6, 0x0, 0x0, 0x3, 0x1d, 0x5, 0x58, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x13, 0x33, 0x15, 0x23, 0x1, 0x11, 0x33, 0x11, 0xd6, 0xaa, 0xaa, 0x1, 0xbf, 0x88, 0x5, 0x58, 0x88, 0xfb, 0x30, 0x5, 0x58, 0xfa, 0xa8, 0x0, 0x0, 0x2, 0x0, 0xd6, 0x0, 0x0, 0x3, 0x1d, 0x5, 0x58, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x13, 0x33, 0x15, 0x23, 0x1, 0x11, 0x33, 0x11, 0xd6, 0xaa, 0xaa, 0x1, 0xbf, 0x88, 0x4, 0x24, 0x88, 0xfc, 0x64, 0x5, 0x58, 0xfa, 0xa8, 0x0, 0x0, 0x2, 0x0, 0xd6, 0x0, 0x0, 0x3, 0x1d, 0x5, 0x58, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x13, 0x33, 0x15, 0x23, 0x1, 0x11, 0x33, 0x11, 0xd6, 0xaa, 0xaa, 0x1, 0xbf, 0x88, 0x2, 0xf0, 0x88, 0xfd, 0x98, 0x5, 0x58, 0xfa, 0xa8, 0x0, 0x0, 0x2, 0x0, 0xd6, 0x0, 0x0, 0x3, 0x1d, 0x5, 0x58, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x13, 0x33, 0x15, 0x23, 0x1, 0x11, 0x33, 0x11, 0xd6, 0xaa, 0xaa, 0x1, 0xbf, 0x88, 0x1, 0xbc, 0x88, 0xfe, 0xcc, 0x5, 0x58, 0xfa, 0xa8, 0x0, 0x0, 0x2, 0x0, 0xd6, 0x0, 0x0, 0x3, 0x1d, 0x5, 0x58, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x37, 0x33, 0x15, 0x23, 0x1, 0x33, 0x11, 0x23, 0xd6, 0xaa, 0xaa, 0x1, 0xbf, 0x88, 0x88, 0x88, 0x88, 0x5, 0x58, 0xfa, 0xa8, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xd6, 0x0, 0x0, 0x3, 0x1d, 0x5, 0x58, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x33, 0x15, 0x23, 0x1, 0x23, 0x11, 0x33, 0x2, 0x73, 0xaa, 0xaa, 0xfe, 0xeb, 0x88, 0x88, 0x5, 0x58, 0x88, 0xfb, 0x30, 0x5, 0x58, 0x0, 0x0, 0x2, 0x0, 0xd6, 0x0, 0x0, 0x3, 0x1d, 0x5, 0x58, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x33, 0x15, 0x23, 0x1, 0x23, 0x11, 0x33, 0x2, 0x73, 0xaa, 0xaa, 0xfe, 0xeb, 0x88, 0x88, 0x4, 0x24, 0x88, 0xfc, 0x64, 0x5, 0x58, 0x0, 0x0, 0x2, 0x0, 0xd6, 0x0, 0x0, 0x3, 0x1d, 0x5, 0x58, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x33, 0x15, 0x23, 0x1, 0x23, 0x11, 0x33, 0x2, 0x73, 0xaa, 0xaa, 0xfe, 0xeb, 0x88, 0x88, 0x2, 0xf0, 0x88, 0xfd, 0x98, 0x5, 0x58, 0x0, 0x0, 0x2, 0x0, 0xd6, 0x0, 0x0, 0x3, 0x1d, 0x5, 0x58, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x33, 0x15, 0x23, 0x1, 0x23, 0x11, 0x33, 0x2, 0x73, 0xaa, 0xaa, 0xfe, 0xeb, 0x88, 0x88, 0x1, 0xbc, 0x88, 0xfe, 0xcc, 0x5, 0x58, 0x0, 0x0, 0x2, 0x0, 0xd6, 0x0, 0x0, 0x3, 0x1d, 0x5, 0x58, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x25, 0x33, 0x15, 0x23, 0x21, 0x23, 0x11, 0x33, 0x2, 0x73, 0xaa, 0xaa, 0xfe, 0xeb, 0x88, 0x88, 0x88, 0x88, 0x5, 0x58, 0x0, 0x1, 0x0, 0xd6, 0x0, 0x0, 0x3, 0x1d, 0x5, 0x58, 0x0, 0x5, 0x0, 0x0, 0x21, 0x23, 0x11, 0x21, 0x15, 0x21, 0x1, 0x5e, 0x88, 0x2, 0x47, 0xfe, 0x41, 0x5, 0x58, 0x88, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd6, 0x0, 0x0, 0x3, 0x1d, 0x5, 0x58, 0x0, 0x7, 0x0, 0x0, 0x21, 0x23, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x1, 0x5e, 0x88, 0x88, 0x1, 0xbf, 0xfe, 0x41, 0x5, 0x58, 0xfe, 0xcc, 0x88, 0x0, 0x0, 0x1, 0x0, 0xd6, 0x0, 0x0, 0x3, 0x1d, 0x5, 0x58, 0x0, 0x7, 0x0, 0x0, 0x21, 0x23, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x1, 0x5e, 0x88, 0x88, 0x1, 0xbf, 0xfe, 0x41, 0x5, 0x58, 0xfd, 0x98, 0x88, 0x0, 0x0, 0x1, 0x0, 0xd6, 0x0, 0x0, 0x3, 0x1d, 0x5, 0x58, 0x0, 0x7, 0x0, 0x0, 0x21, 0x23, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x1, 0x5e, 0x88, 0x88, 0x1, 0xbf, 0xfe, 0x41, 0x5, 0x58, 0xfc, 0x64, 0x88, 0x0, 0x0, 0x1, 0x0, 0xd6, 0x0, 0x0, 0x3, 0x1d, 0x5, 0x58, 0x0, 0x5, 0x0, 0x0, 0x25, 0x21, 0x15, 0x21, 0x11, 0x33, 0x1, 0x5e, 0x1, 0xbf, 0xfd, 0xb9, 0x88, 0x88, 0x88, 0x5, 0x58, 0x0, 0x0, 0x1, 0x0, 0x66, 0x2, 0x9c, 0x2, 0x8e, 0x5, 0xe4, 0x0, 0x9, 0x0, 0x0, 0x1, 0x33, 0x17, 0x7, 0x27, 0x11, 0x23, 0x11, 0x7, 0x27, 0x1, 0x5e, 0x39, 0xf7, 0x4c, 0x92, 0x6b, 0x93, 0x4c, 0x5, 0xe4, 0xdd, 0x43, 0x83, 0xfd, 0x55, 0x2, 0xab, 0x83, 0x43, 0x0, 0x1, 0x0, 0x66, 0x2, 0x98, 0x2, 0x8e, 0x5, 0xe0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x23, 0x27, 0x37, 0x17, 0x11, 0x33, 0x11, 0x37, 0x17, 0x1, 0x97, 0x39, 0xf8, 0x4c, 0x93, 0x6b, 0x92, 0x4c, 0x2, 0x98, 0xdd, 0x43, 0x83, 0x2, 0xab, 0xfd, 0x55, 0x83, 0x43, 0x0, 0x2, 0x0, 0xc3, 0x2, 0x9c, 0x1, 0x43, 0x5, 0xe0, 0x0, 0x3, 0x0, 0x9, 0x0, 0x0, 0x13, 0x33, 0x15, 0x23, 0x11, 0x33, 0x11, 0x7, 0x23, 0x27, 0xc3, 0x80, 0x80, 0x80, 0xd, 0x66, 0xd, 0x3, 0x2a, 0x8e, 0x3, 0x44, 0xfe, 0x91, 0xc8, 0xc8, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc3, 0x2, 0x9c, 0x1, 0x43, 0x5, 0xe0, 0x0, 0x3, 0x0, 0x9, 0x0, 0x0, 0x1, 0x23, 0x35, 0x33, 0x11, 0x23, 0x11, 0x37, 0x33, 0x17, 0x1, 0x43, 0x80, 0x80, 0x80, 0xc, 0x66, 0xe, 0x5, 0x52, 0x8e, 0xfc, 0xbc, 0x1, 0x6f, 0xc8, 0xc8, 0x0, 0xff, 0xff, 0x0, 0xc3, 0x0, 0x0, 0x1, 0x43, 0x3, 0x44, 0x10, 0x7, 0x12, 0xf8, 0x0, 0x0, 0xfd, 0x64, 0x0, 0x0, 0x0, 0x1, 0x0, 0x89, 0x0, 0x0, 0x2, 0xcd, 0x5, 0xd4, 0x0, 0x10, 0x0, 0x0, 0x33, 0x35, 0x20, 0x2, 0x21, 0x35, 0x20, 0x2, 0x21, 0x35, 0x20, 0x13, 0x16, 0x7, 0x16, 0x13, 0x12, 0xcf, 0x1, 0x4a, 0x14, 0xfe, 0xb6, 0x1, 0x4a, 0x1e, 0xfe, 0xa2, 0x2, 0x1d, 0xe, 0x9, 0xae, 0xb8, 0x6, 0xa, 0xa3, 0x2, 0x27, 0xa3, 0x1, 0xc5, 0xa2, 0xfe, 0x8c, 0xe5, 0x63, 0x6d, 0xfe, 0xfb, 0xfe, 0x5a, 0x0, 0x0, 0x0, 0x1, 0x0, 0x89, 0x0, 0x0, 0x2, 0x91, 0x4, 0x60, 0x0, 0x10, 0x0, 0x0, 0x33, 0x35, 0x20, 0x2, 0x21, 0x35, 0x20, 0x2, 0x21, 0x35, 0x20, 0x13, 0x16, 0x7, 0x16, 0x17, 0x12, 0xbb, 0x1, 0x2c, 0x14, 0xfe, 0xd4, 0x1, 0x2c, 0x1e, 0xfe, 0xd4, 0x1, 0xe1, 0xe, 0x8, 0x84, 0x8f, 0x6, 0xa, 0x99, 0x1, 0x7c, 0x99, 0x1, 0x1a, 0x98, 0xfe, 0xe8, 0x9e, 0x4d, 0x59, 0xbc, 0xfe, 0xb8, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x73, 0x1, 0xcb, 0x3, 0x4a, 0x5, 0xf0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x10, 0x17, 0x7, 0x2, 0x35, 0x10, 0x21, 0x15, 0x20, 0x1, 0x2d, 0x75, 0xa4, 0x8b, 0x2, 0xd7, 0xfd, 0xe3, 0x3, 0xcd, 0xfe, 0xfe, 0xd2, 0x2e, 0x1, 0x31, 0xd4, 0x2, 0x20, 0xdb, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x73, 0x0, 0x56, 0x3, 0x4a, 0x4, 0x7b, 0x0, 0x9, 0x0, 0x0, 0x1, 0x10, 0x17, 0x7, 0x2, 0x35, 0x10, 0x21, 0x15, 0x20, 0x1, 0x2d, 0x75, 0xa4, 0x8b, 0x2, 0xd7, 0xfd, 0xe3, 0x2, 0x58, 0xfe, 0xfe, 0xd2, 0x2e, 0x1, 0x31, 0xd4, 0x2, 0x20, 0xbd, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0xfe, 0x66, 0x5, 0x3b, 0x5, 0xd5, 0x0, 0x13, 0x0, 0x0, 0x13, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x10, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x11, 0x21, 0x11, 0x23, 0xc9, 0xca, 0x2, 0xde, 0xca, 0xcd, 0xe3, 0x4d, 0x3f, 0x86, 0x6e, 0xfd, 0x22, 0xca, 0x5, 0xd5, 0xfd, 0x9c, 0x2, 0x64, 0xfa, 0x93, 0xfe, 0xf2, 0xf4, 0xaa, 0x96, 0xc2, 0x2, 0x5f, 0xfd, 0x39, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x6, 0x14, 0x0, 0x1c, 0x0, 0x0, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x11, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x3, 0xac, 0x7c, 0x7c, 0x95, 0xac, 0xb9, 0xb9, 0x42, 0xb3, 0x75, 0xc1, 0xc6, 0xa3, 0xb5, 0x46, 0x31, 0x6e, 0x21, 0x26, 0x2, 0x9e, 0x9f, 0x9e, 0xbe, 0xa4, 0xfd, 0x87, 0x6, 0x14, 0xfd, 0x9e, 0x65, 0x64, 0xef, 0xe8, 0xfd, 0x48, 0xd6, 0xc0, 0x9c, 0x30, 0x38, 0x92, 0x0, 0x0, 0x1, 0xff, 0xfa, 0xfe, 0x4c, 0x6, 0x8d, 0x5, 0xd5, 0x0, 0x2a, 0x0, 0x0, 0x3, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x21, 0x22, 0x27, 0x26, 0x27, 0x35, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2b, 0x1, 0x35, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x6, 0x4, 0xef, 0xfd, 0xee, 0x3, 0x5e, 0xfe, 0x65, 0x69, 0x81, 0x63, 0x55, 0x51, 0x98, 0x98, 0xfe, 0xe8, 0x73, 0x81, 0x82, 0x82, 0x6a, 0x7f, 0x7e, 0x89, 0xc0, 0x63, 0x64, 0x5c, 0x5d, 0xa5, 0xae, 0x1, 0x81, 0xfd, 0x9e, 0xcb, 0xfd, 0xee, 0x5, 0xd5, 0xaa, 0xcb, 0x9a, 0xfe, 0x16, 0x38, 0x2b, 0x6c, 0x68, 0x8a, 0xdc, 0x7a, 0x79, 0x13, 0x13, 0x24, 0xc3, 0x31, 0x19, 0x19, 0x4b, 0x4b, 0x8f, 0x86, 0x49, 0x4a, 0x98, 0x1, 0xea, 0xfc, 0x4a, 0x5, 0x2b, 0x0, 0x1, 0x0, 0x37, 0xfe, 0x4c, 0x5, 0x34, 0x5, 0x9e, 0x0, 0x30, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x4, 0x21, 0x22, 0x27, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2b, 0x1, 0x35, 0x1, 0x21, 0x11, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x3, 0x41, 0x69, 0x81, 0x63, 0x55, 0x51, 0xfe, 0xd0, 0xfe, 0xe8, 0x5e, 0x63, 0x64, 0x6a, 0x54, 0xc8, 0x6d, 0xbe, 0x63, 0x64, 0x5c, 0x5b, 0xa7, 0xae, 0x1, 0xae, 0xfd, 0x6a, 0x4b, 0x73, 0xbd, 0xbd, 0xd5, 0xa2, 0x87, 0x87, 0xb9, 0x3, 0x65, 0x1, 0xdc, 0x38, 0x2b, 0x6c, 0x68, 0x8a, 0xdd, 0xf2, 0x12, 0x13, 0x25, 0xc3, 0x31, 0x32, 0x4b, 0x4b, 0x8f, 0x84, 0x4b, 0x4a, 0xa6, 0x1, 0xf3, 0xfd, 0xa4, 0x89, 0x4e, 0x9a, 0x9f, 0xd2, 0x2, 0x60, 0x8f, 0x1, 0x3e, 0xfe, 0xc2, 0xa8, 0x0, 0x0, 0xff, 0xff, 0x0, 0xa4, 0xff, 0xe3, 0x4, 0x7b, 0x5, 0xf0, 0x10, 0x6, 0x1, 0x52, 0x0, 0x0, 0x0, 0x1, 0x0, 0x85, 0xfe, 0x67, 0x3, 0xc8, 0x4, 0x7c, 0x0, 0x31, 0x0, 0x0, 0x1, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x16, 0x17, 0x15, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x15, 0x6, 0x7, 0x6, 0x23, 0x22, 0x24, 0x35, 0x34, 0x36, 0x1, 0x8b, 0x70, 0x3c, 0x3c, 0x72, 0x71, 0xc4, 0x4c, 0xaa, 0x62, 0x61, 0x50, 0x51, 0x47, 0x81, 0x3b, 0x46, 0x44, 0x43, 0x74, 0x9b, 0x94, 0x89, 0x48, 0x4e, 0x54, 0x55, 0x97, 0x61, 0x51, 0x55, 0x47, 0x5a, 0x54, 0x55, 0x50, 0xee, 0xfe, 0xfe, 0x8a, 0x1, 0xac, 0x20, 0x56, 0x55, 0x7b, 0xba, 0x68, 0x68, 0x1a, 0x26, 0xb6, 0x2d, 0x14, 0x15, 0x3e, 0x48, 0x6d, 0x6d, 0x46, 0x45, 0x98, 0x4d, 0x55, 0x85, 0x88, 0x55, 0x55, 0x1c, 0x1c, 0x38, 0xbe, 0x25, 0x13, 0x12, 0xf0, 0xe5, 0x8f, 0xc1, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x3, 0x7e, 0x4, 0x60, 0x0, 0x9, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0xba, 0x2, 0xc4, 0xfd, 0xf6, 0x1, 0xd5, 0xfe, 0x2b, 0xba, 0x4, 0x60, 0x94, 0xfe, 0xd3, 0x94, 0xfd, 0xf5, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6f, 0xff, 0xe3, 0x3, 0xc7, 0x4, 0x7b, 0x10, 0x6, 0x0, 0x56, 0x0, 0x0, 0x0, 0x3, 0x0, 0x10, 0x0, 0x0, 0x9, 0xee, 0x5, 0xd5, 0x0, 0xf, 0x0, 0x12, 0x0, 0x15, 0x0, 0x0, 0x1, 0x33, 0x9, 0x1, 0x33, 0x1, 0x23, 0x3, 0x21, 0x3, 0x2b, 0x1, 0x3, 0x21, 0x3, 0x23, 0x9, 0x1, 0x21, 0x9, 0x1, 0x21, 0x2, 0x4a, 0xe5, 0x1, 0xd0, 0x1, 0xd1, 0xe5, 0x2, 0x39, 0xd2, 0x88, 0xfd, 0x5f, 0x88, 0x3, 0xd2, 0x88, 0xfd, 0x5f, 0x88, 0xd5, 0x2, 0xac, 0xfe, 0xee, 0x2, 0x25, 0x3, 0x73, 0xfe, 0xee, 0x2, 0x25, 0x5, 0xd5, 0xfb, 0x3e, 0x4, 0xc2, 0xfa, 0x2b, 0x1, 0x7f, 0xfe, 0x81, 0x1, 0x7f, 0xfe, 0x81, 0x5, 0xe, 0xfd, 0x19, 0x2, 0xe7, 0xfd, 0x19, 0x0, 0x0, 0x0, 0x4, 0x0, 0x7b, 0xff, 0xe3, 0x7, 0x27, 0x4, 0x7b, 0x0, 0xa, 0x0, 0x35, 0x0, 0x40, 0x0, 0x4d, 0x0, 0x0, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3d, 0x1, 0x25, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x27, 0x15, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x21, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x30, 0x17, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3d, 0x1, 0x1, 0x16, 0x17, 0x36, 0x33, 0x21, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x6, 0x2, 0xbe, 0xdf, 0xac, 0x81, 0x6f, 0x99, 0xb9, 0x3, 0xb2, 0xb8, 0x3f, 0xbc, 0x88, 0x6e, 0x51, 0xb8, 0x3f, 0xbc, 0x88, 0xac, 0xcb, 0xfd, 0xfb, 0x1, 0x2, 0xa7, 0x97, 0x60, 0xb6, 0x54, 0x65, 0xbe, 0x5a, 0xf3, 0x78, 0x12, 0x65, 0xbe, 0x5a, 0xf3, 0xf0, 0xfe, 0x91, 0xdf, 0xac, 0x81, 0x6f, 0x99, 0xb9, 0xfd, 0x88, 0x35, 0x1, 0x79, 0xc7, 0x1, 0x2, 0xa7, 0x97, 0x60, 0x5b, 0x41, 0x2, 0x33, 0x66, 0x7b, 0x62, 0x73, 0xd9, 0xb4, 0x29, 0x4c, 0xfd, 0x81, 0xaa, 0x66, 0x61, 0x27, 0xa, 0xaa, 0x66, 0x61, 0xc1, 0xa2, 0xbd, 0xc0, 0x12, 0x7f, 0x8b, 0x2e, 0x2e, 0xaa, 0x27, 0x27, 0x7e, 0x14, 0x44, 0x27, 0x27, 0xfc, 0xfe, 0xb4, 0x66, 0x7b, 0x62, 0x73, 0xd9, 0xb4, 0x29, 0x1, 0x68, 0x6e, 0xa6, 0x3c, 0x12, 0x7f, 0x8b, 0x17, 0x10, 0x0, 0x0, 0x0, 0x3, 0x0, 0x10, 0xff, 0xe3, 0x9, 0x2d, 0x5, 0xf0, 0x0, 0x13, 0x0, 0x16, 0x0, 0x20, 0x0, 0x0, 0x1, 0x33, 0x13, 0x36, 0x37, 0x36, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x27, 0x26, 0x27, 0x21, 0x3, 0x23, 0x9, 0x1, 0x21, 0x0, 0x20, 0x0, 0x11, 0x10, 0x0, 0x20, 0x0, 0x11, 0x10, 0x2, 0x4a, 0xe5, 0xb8, 0x2d, 0x70, 0xbc, 0x1, 0x3b, 0x1, 0x3a, 0x1, 0x78, 0xfe, 0x88, 0xfe, 0xc6, 0xfe, 0xc5, 0xbc, 0x50, 0x2e, 0xfd, 0x67, 0x88, 0xd5, 0x2, 0xac, 0xfe, 0xee, 0x2, 0x25, 0x3, 0x88, 0xfe, 0x48, 0xfe, 0xfd, 0x1, 0x3, 0x1, 0xb8, 0x1, 0x1, 0x5, 0xd5, 0xfe, 0x1e, 0xae, 0x7d, 0xd2, 0xfe, 0x5b, 0xfe, 0x9e, 0xfe, 0x9f, 0xfe, 0x5b, 0xd2, 0x58, 0x72, 0xfe, 0x81, 0x5, 0xe, 0xfd, 0x19, 0x3, 0x25, 0xfe, 0xb8, 0xfe, 0xe5, 0xfe, 0xe6, 0xfe, 0xb8, 0x1, 0x48, 0x1, 0x1a, 0x1, 0x1b, 0x0, 0x0, 0x3, 0x0, 0x7b, 0xff, 0xe3, 0x7, 0x7b, 0x4, 0x7b, 0x0, 0x22, 0x0, 0x2d, 0x0, 0x38, 0x0, 0x0, 0x1, 0x32, 0x0, 0x11, 0x10, 0x0, 0x20, 0x27, 0x26, 0x27, 0xe, 0x2, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x21, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x20, 0x17, 0x36, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3d, 0x1, 0x1, 0x22, 0x6, 0x10, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x5, 0x79, 0xf0, 0x1, 0x12, 0xfe, 0xee, 0xfe, 0x1f, 0x88, 0x37, 0x21, 0x12, 0x60, 0x8c, 0xb2, 0xb1, 0xcc, 0xfd, 0xfb, 0x1, 0x2, 0xa7, 0x97, 0x60, 0xb6, 0x54, 0x65, 0xbe, 0x5a, 0x1, 0x2a, 0x71, 0x8a, 0xfe, 0x4f, 0xdf, 0xac, 0x81, 0x6f, 0x99, 0xb9, 0x2, 0x4, 0x94, 0xac, 0xab, 0x95, 0x93, 0xac, 0xac, 0x4, 0x7b, 0xfe, 0xc8, 0xfe, 0xec, 0xfe, 0xed, 0xfe, 0xc7, 0x9d, 0x3e, 0x52, 0x45, 0x87, 0x61, 0xc1, 0xa2, 0xbd, 0xc0, 0x12, 0x7f, 0x8b, 0x2e, 0x2e, 0xaa, 0x27, 0x27, 0xbd, 0xbd, 0xfd, 0xb8, 0x66, 0x7b, 0x62, 0x73, 0xd9, 0xb4, 0x29, 0x1, 0xac, 0xe7, 0xfe, 0x6e, 0xe7, 0xe8, 0xc8, 0xc7, 0xe9, 0x0, 0x0, 0x0, 0x2, 0x0, 0x10, 0xff, 0xe3, 0x8, 0x71, 0x5, 0xd5, 0x0, 0x2, 0x0, 0x16, 0x0, 0x0, 0x9, 0x1, 0x21, 0x1, 0x33, 0x1, 0x16, 0x21, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x10, 0x0, 0x21, 0x20, 0x3, 0x27, 0x21, 0x3, 0x23, 0x2, 0xbc, 0xfe, 0xee, 0x2, 0x25, 0xfe, 0x7b, 0xe5, 0x1, 0xbc, 0x4a, 0x1, 0x1, 0xc2, 0xae, 0xcb, 0xfe, 0xdf, 0xfe, 0xe6, 0xfe, 0x73, 0x76, 0x25, 0xfd, 0x5f, 0x88, 0xd5, 0x5, 0xe, 0xfd, 0x19, 0x3, 0xae, 0xfb, 0x72, 0xc0, 0xd3, 0xf0, 0x3, 0x8b, 0xfc, 0x5c, 0xfe, 0xdc, 0xfe, 0xd6, 0x1, 0x34, 0x68, 0xfe, 0x81, 0x0, 0x2, 0x0, 0x7b, 0xff, 0xe3, 0x7, 0x1f, 0x4, 0x7b, 0x0, 0x28, 0x0, 0x33, 0x0, 0x0, 0x25, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x21, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x11, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x20, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3d, 0x1, 0x3, 0x93, 0x48, 0xa2, 0xb2, 0xb1, 0xcb, 0xfd, 0xfb, 0x1, 0x2, 0xa7, 0x97, 0x60, 0xb6, 0x54, 0x65, 0xbe, 0x5a, 0xf3, 0xf0, 0x7c, 0x7c, 0x95, 0xad, 0xb8, 0xb8, 0x43, 0xb1, 0x75, 0xfe, 0xe5, 0xfe, 0xdb, 0xdf, 0xac, 0x81, 0x6f, 0x99, 0xb9, 0xdf, 0x8d, 0x6f, 0xc1, 0xa2, 0xbd, 0xc0, 0x12, 0x7f, 0x8b, 0x2e, 0x2e, 0xaa, 0x27, 0x27, 0xfc, 0xff, 0x0, 0xbe, 0x9f, 0x9f, 0xbe, 0xa4, 0x2, 0x7b, 0xfb, 0xa0, 0xac, 0x66, 0x63, 0x2, 0x50, 0x66, 0x7b, 0x62, 0x73, 0xd9, 0xb4, 0x29, 0x0, 0x0, 0x2, 0x0, 0x10, 0x0, 0x0, 0x7, 0xb4, 0x5, 0xd5, 0x0, 0x2, 0x0, 0xd, 0x0, 0x0, 0x9, 0x1, 0x21, 0x13, 0x3, 0x21, 0x3, 0x23, 0x1, 0x33, 0x9, 0x1, 0x33, 0x1, 0x2, 0xbc, 0xfe, 0xee, 0x2, 0x25, 0xc7, 0x88, 0xfd, 0x5f, 0x88, 0xd5, 0x2, 0x3a, 0xe5, 0x1, 0xdc, 0x1, 0xd7, 0xd2, 0xfd, 0xc7, 0x5, 0xe, 0xfd, 0x19, 0xfd, 0xd9, 0x1, 0x7f, 0xfe, 0x81, 0x5, 0xd5, 0xfb, 0x1f, 0x4, 0xe1, 0xfa, 0x2b, 0x0, 0x0, 0x0, 0x2, 0x0, 0x7b, 0xff, 0xe3, 0x6, 0x4e, 0x4, 0x7b, 0x0, 0xa, 0x0, 0x28, 0x0, 0x0, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3d, 0x1, 0x11, 0x35, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x21, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x19, 0x1, 0x1, 0x33, 0x1, 0x2, 0xbe, 0xdf, 0xac, 0x81, 0x6f, 0x99, 0xb9, 0x3f, 0xbc, 0x88, 0xac, 0xcb, 0xfd, 0xfb, 0x1, 0x2, 0xa7, 0x97, 0x60, 0xb6, 0x54, 0x65, 0xbe, 0x5a, 0xf3, 0xf0, 0x1, 0x5e, 0xc3, 0xfe, 0x5c, 0x2, 0x33, 0x66, 0x7b, 0x62, 0x73, 0xd9, 0xb4, 0x29, 0xfd, 0xcd, 0xaa, 0x66, 0x61, 0xc1, 0xa2, 0xbd, 0xc0, 0x12, 0x7f, 0x8b, 0x2e, 0x2e, 0xaa, 0x27, 0x27, 0xfc, 0xff, 0x0, 0xfe, 0x35, 0x3, 0xac, 0xfb, 0xa0, 0x0, 0x3, 0x0, 0x10, 0x0, 0x0, 0x7, 0xb4, 0x5, 0xd5, 0x0, 0x2, 0x0, 0x12, 0x0, 0x15, 0x0, 0x0, 0x9, 0x1, 0x29, 0x2, 0x15, 0x21, 0x3, 0x23, 0x3, 0x21, 0x3, 0x23, 0x1, 0x33, 0x1, 0x33, 0x1, 0x33, 0x1, 0x23, 0x17, 0x2, 0xbc, 0xfe, 0xee, 0x2, 0x25, 0x2, 0x7e, 0x1, 0x67, 0xfe, 0x59, 0x92, 0xe5, 0x88, 0xfd, 0x5f, 0x88, 0xd5, 0x2, 0x3a, 0xe5, 0x1, 0x67, 0xe9, 0x1, 0x63, 0xd2, 0xfd, 0x8b, 0x69, 0x35, 0x5, 0xe, 0xfd, 0x19, 0xa8, 0xfe, 0x81, 0x1, 0x7f, 0xfe, 0x81, 0x5, 0xd5, 0xfc, 0x52, 0x3, 0xae, 0xfb, 0xaa, 0x8b, 0x0, 0x0, 0x3, 0x0, 0x7b, 0xff, 0xe3, 0x6, 0x4e, 0x4, 0x7b, 0x0, 0x22, 0x0, 0x2d, 0x0, 0x30, 0x0, 0x0, 0x21, 0x35, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x21, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x17, 0x33, 0x13, 0x33, 0x3, 0x33, 0x15, 0x23, 0x3, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3d, 0x1, 0x21, 0x23, 0x11, 0x3, 0x75, 0x3f, 0xbc, 0x88, 0xac, 0xcb, 0xfd, 0xfb, 0x1, 0x2, 0xa7, 0x97, 0x60, 0xb6, 0x54, 0x65, 0xbe, 0x5a, 0xf3, 0x78, 0x67, 0xf, 0xc6, 0x9a, 0xc3, 0x9b, 0x9b, 0xd1, 0xd3, 0xfe, 0x14, 0xdf, 0xac, 0x81, 0x6f, 0x99, 0xb9, 0x1, 0x47, 0x8f, 0xaa, 0x66, 0x61, 0xc1, 0xa2, 0xbd, 0xc0, 0x12, 0x7f, 0x8b, 0x2e, 0x2e, 0xaa, 0x27, 0x27, 0x7e, 0x6d, 0xcd, 0x1, 0x9d, 0xfe, 0x63, 0x90, 0xfd, 0xcd, 0x2, 0x33, 0x66, 0x7b, 0x62, 0x73, 0xd9, 0xb4, 0x29, 0xfe, 0x81, 0x0, 0x2, 0x0, 0x10, 0xfe, 0x56, 0x7, 0x9b, 0x5, 0xd5, 0x0, 0x2, 0x0, 0x18, 0x0, 0x0, 0x9, 0x1, 0x21, 0x1, 0x6, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x3f, 0x1, 0x3, 0x21, 0x3, 0x23, 0x1, 0x33, 0x9, 0x1, 0x33, 0x2, 0xbc, 0xfe, 0xee, 0x2, 0x25, 0x1, 0x6c, 0x4b, 0x4d, 0x4a, 0x7c, 0xd8, 0xab, 0x4c, 0x2a, 0x2b, 0x32, 0x13, 0x88, 0xfd, 0x5f, 0x88, 0xd5, 0x2, 0x3a, 0xe5, 0x1, 0xcf, 0x1, 0xcb, 0xd2, 0x5, 0xe, 0xfd, 0x19, 0xfd, 0x71, 0xc6, 0x3f, 0x3d, 0xaa, 0x24, 0x25, 0x85, 0x32, 0x1, 0x7f, 0xfe, 0x81, 0x5, 0xd5, 0xfb, 0x40, 0x4, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x7b, 0xfe, 0x56, 0x6, 0x4e, 0x4, 0x7b, 0x0, 0x27, 0x0, 0x32, 0x0, 0x0, 0x21, 0x35, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x21, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x19, 0x1, 0x1, 0x33, 0x1, 0xe, 0x1, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x3f, 0x1, 0x1, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3d, 0x1, 0x3, 0x75, 0x3f, 0xbc, 0x88, 0xac, 0xcb, 0xfd, 0xfb, 0x1, 0x2, 0xa7, 0x97, 0x60, 0xb6, 0x54, 0x65, 0xbe, 0x5a, 0xf3, 0xf0, 0x1, 0x5e, 0xc3, 0xfe, 0x14, 0x4e, 0x94, 0x7c, 0x93, 0x6c, 0x4c, 0x54, 0x33, 0x1a, 0xfe, 0xf4, 0xdf, 0xac, 0x81, 0x6f, 0x99, 0xb9, 0xaa, 0x66, 0x61, 0xc1, 0xa2, 0xbd, 0xc0, 0x12, 0x7f, 0x8b, 0x2e, 0x2e, 0xaa, 0x27, 0x27, 0xfc, 0xff, 0x0, 0xfe, 0x77, 0x3, 0x6a, 0xfb, 0x38, 0xc8, 0x7a, 0x9a, 0x48, 0x86, 0x42, 0x2, 0x33, 0x66, 0x7b, 0x62, 0x73, 0xd9, 0xb4, 0x29, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x27, 0x5, 0xf0, 0x10, 0x6, 0x3, 0x93, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7f, 0xff, 0xe3, 0x3, 0xf5, 0x4, 0x7b, 0x10, 0x6, 0x3, 0x19, 0x0, 0x0, 0x0, 0x1, 0x0, 0xa, 0x0, 0x0, 0x5, 0x6a, 0x5, 0xd5, 0x0, 0x12, 0x0, 0x0, 0x13, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x1, 0x21, 0x9, 0x1, 0x21, 0x1, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0xc9, 0xca, 0xbf, 0xbf, 0x2, 0x9e, 0x1, 0x4, 0xfd, 0x1b, 0x3, 0x1a, 0xfe, 0xf6, 0xfd, 0x33, 0xca, 0xbf, 0xbf, 0x5, 0xd5, 0xb9, 0xaa, 0xfe, 0xec, 0x2, 0x77, 0xfd, 0x48, 0xfc, 0xe3, 0x2, 0xcf, 0xfd, 0x31, 0x4, 0x72, 0xaa, 0x0, 0x0, 0x1, 0x0, 0xe, 0x0, 0x0, 0x4, 0xa4, 0x6, 0x14, 0x0, 0x12, 0x0, 0x0, 0x13, 0x33, 0x15, 0x21, 0x15, 0x21, 0x11, 0x1, 0x33, 0x9, 0x1, 0x23, 0x1, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0xc2, 0xb9, 0x1, 0x22, 0xfe, 0xde, 0x2, 0x25, 0xeb, 0xfd, 0xae, 0x2, 0x6b, 0xf0, 0xfd, 0xc7, 0xb9, 0xb4, 0xb4, 0x6, 0x14, 0xac, 0xa4, 0xfd, 0xb9, 0x1, 0xe3, 0xfd, 0xf4, 0xfd, 0xac, 0x2, 0x23, 0xfd, 0xdd, 0x4, 0xc4, 0xa4, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x66, 0x5, 0xd5, 0x0, 0x9, 0x0, 0x0, 0x13, 0x11, 0x33, 0x11, 0x37, 0x11, 0x21, 0x15, 0x21, 0x11, 0xc9, 0xca, 0xfc, 0x2, 0xd7, 0xfc, 0x5f, 0x2, 0xad, 0x3, 0x28, 0xfd, 0x5e, 0x4d, 0xfd, 0x2a, 0xaa, 0x2, 0xfa, 0x0, 0x0, 0x1, 0x0, 0xc1, 0x0, 0x0, 0x2, 0x63, 0x6, 0x14, 0x0, 0x7, 0x0, 0x0, 0x13, 0x11, 0x33, 0x11, 0x37, 0x11, 0x23, 0x11, 0xc1, 0xb8, 0xea, 0xb8, 0x2, 0x9c, 0x3, 0x78, 0xfd, 0x5, 0x49, 0xfc, 0x9e, 0x2, 0xe5, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x53, 0x0, 0x0, 0x4, 0x9c, 0x5, 0xd5, 0x0, 0xd, 0x0, 0x0, 0x13, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x35, 0x33, 0xfb, 0xca, 0xa8, 0xa8, 0x2, 0xd7, 0xfc, 0x5f, 0xa8, 0xa8, 0x5, 0xd5, 0xe0, 0xa4, 0xfc, 0x59, 0xaa, 0x4, 0x51, 0xa4, 0x0, 0x1, 0x0, 0x78, 0x0, 0x0, 0x2, 0xf2, 0x6, 0x14, 0x0, 0xb, 0x0, 0x0, 0x1, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x1, 0x59, 0xb8, 0xe1, 0xe1, 0xb8, 0xe1, 0xe1, 0x6, 0x14, 0xfe, 0xe2, 0xa4, 0xfb, 0xae, 0x4, 0x52, 0xa4, 0x0, 0x3, 0x0, 0xa, 0xff, 0xe3, 0x6, 0x6a, 0x5, 0xf0, 0x0, 0x15, 0x0, 0x1d, 0x0, 0x25, 0x0, 0x0, 0x1, 0x20, 0x17, 0x16, 0x13, 0x33, 0x15, 0x23, 0x2, 0x7, 0x6, 0x21, 0x20, 0x27, 0x26, 0x3, 0x23, 0x35, 0x33, 0x12, 0x37, 0x36, 0x4, 0x20, 0x7, 0x6, 0x7, 0x21, 0x26, 0x27, 0x13, 0x21, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x3, 0x3b, 0x1, 0x3a, 0xbc, 0xa1, 0x17, 0x81, 0x7e, 0xb, 0xb0, 0xbc, 0xfe, 0xc6, 0xfe, 0xc5, 0xbc, 0xb1, 0xb, 0x7e, 0x81, 0x17, 0xa2, 0xbc, 0x2, 0x17, 0xfe, 0x48, 0x81, 0x6a, 0x14, 0x3, 0xb4, 0x13, 0x69, 0x7f, 0xfc, 0x46, 0xa, 0x77, 0x81, 0x1, 0xb8, 0x81, 0x76, 0x5, 0xf0, 0xd2, 0xb5, 0xfe, 0xe3, 0x90, 0xfe, 0xbe, 0xc4, 0xd3, 0xd2, 0xc4, 0x1, 0x43, 0x90, 0x1, 0x1d, 0xb5, 0xd2, 0xa4, 0xa4, 0x86, 0xd6, 0xd6, 0x86, 0xfe, 0x14, 0xfa, 0x97, 0xa4, 0xa4, 0x97, 0x0, 0x0, 0x0, 0x3, 0x0, 0xa, 0xff, 0xe3, 0x5, 0x8e, 0x4, 0x7b, 0x0, 0x15, 0x0, 0x1e, 0x0, 0x27, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x33, 0x15, 0x23, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x23, 0x35, 0x33, 0x36, 0x37, 0x36, 0x17, 0x22, 0x7, 0x6, 0x7, 0x21, 0x26, 0x27, 0x26, 0x13, 0x21, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x2, 0xcd, 0xf0, 0x89, 0x6f, 0x15, 0xc4, 0xc0, 0xa, 0x7e, 0x89, 0xf0, 0xf1, 0x88, 0x7e, 0xa, 0xc2, 0xc6, 0x15, 0x6f, 0x88, 0xf1, 0x94, 0x56, 0x3f, 0x11, 0x2, 0x73, 0x11, 0x3f, 0x56, 0xab, 0xfd, 0x83, 0x8, 0x4c, 0x56, 0x95, 0x93, 0x56, 0x4d, 0x4, 0x7b, 0x9c, 0x7e, 0xcd, 0x90, 0xf4, 0x90, 0x9d, 0x9d, 0x90, 0xf4, 0x90, 0xcd, 0x7e, 0x9c, 0x9c, 0x73, 0x55, 0x83, 0x81, 0x55, 0x75, 0xfe, 0x25, 0xab, 0x67, 0x73, 0x74, 0x67, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x73, 0xff, 0xe3, 0xa, 0x6a, 0x5, 0xf0, 0x0, 0x1a, 0x0, 0x24, 0x0, 0x2e, 0x0, 0x0, 0x1, 0x20, 0x17, 0x16, 0x17, 0x36, 0x37, 0x36, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x27, 0x26, 0x27, 0x6, 0x7, 0x6, 0x21, 0x20, 0x0, 0x10, 0x0, 0x4, 0x20, 0x0, 0x11, 0x10, 0x0, 0x20, 0x0, 0x11, 0x10, 0x0, 0x20, 0x0, 0x11, 0x10, 0x0, 0x20, 0x0, 0x11, 0x10, 0x3, 0x27, 0x1, 0x3a, 0xbc, 0x2f, 0x23, 0x23, 0x2e, 0xbd, 0x1, 0x3b, 0x1, 0x3a, 0x1, 0x78, 0xfe, 0x88, 0xfe, 0xc6, 0xfe, 0xc5, 0xbd, 0x2e, 0x24, 0x23, 0x2e, 0xbc, 0xfe, 0xc6, 0xfe, 0xc5, 0xfe, 0x87, 0x1, 0x79, 0x2, 0x17, 0xfe, 0x48, 0xfe, 0xfd, 0x1, 0x3, 0x1, 0xb8, 0x1, 0x1, 0x3, 0x90, 0xfe, 0x48, 0xfe, 0xfd, 0x1, 0x3, 0x1, 0xb8, 0x1, 0x1, 0x5, 0xf0, 0xd2, 0x35, 0x3d, 0x3d, 0x35, 0xd2, 0xfe, 0x5b, 0xfe, 0x9e, 0xfe, 0x9f, 0xfe, 0x5b, 0xd2, 0x34, 0x3d, 0x3c, 0x34, 0xd3, 0x1, 0xa4, 0x2, 0xc4, 0x1, 0xa5, 0xa4, 0xfe, 0xb8, 0xfe, 0xe5, 0xfe, 0xe6, 0xfe, 0xb8, 0x1, 0x48, 0x1, 0x1a, 0x1, 0x1b, 0x1, 0x48, 0xfe, 0xb8, 0xfe, 0xe5, 0xfe, 0xe6, 0xfe, 0xb8, 0x1, 0x48, 0x1, 0x1a, 0x1, 0x1b, 0x0, 0x3, 0x0, 0x71, 0xff, 0xe3, 0x7, 0xb6, 0x4, 0x7b, 0x0, 0xa, 0x0, 0x15, 0x0, 0x31, 0x0, 0x0, 0x1, 0x22, 0x6, 0x10, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x21, 0x22, 0x6, 0x10, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x32, 0x17, 0x16, 0x17, 0x36, 0x37, 0x36, 0x33, 0x32, 0x0, 0x11, 0x10, 0x0, 0x23, 0x22, 0x27, 0x26, 0x27, 0x6, 0x7, 0x6, 0x23, 0x22, 0x0, 0x11, 0x10, 0x0, 0x5, 0xb4, 0x94, 0xac, 0xab, 0x95, 0x93, 0xac, 0xac, 0xfc, 0x2c, 0x94, 0xac, 0xab, 0x95, 0x93, 0xac, 0xac, 0x93, 0xf0, 0x89, 0x15, 0x12, 0x12, 0x15, 0x89, 0xf1, 0xf0, 0x1, 0x12, 0xfe, 0xee, 0xf0, 0xf1, 0x89, 0x15, 0x12, 0x12, 0x15, 0x89, 0xf0, 0xf1, 0xfe, 0xef, 0x1, 0x11, 0x3, 0xdf, 0xe7, 0xfe, 0x6e, 0xe7, 0xe8, 0xc8, 0xc7, 0xe9, 0xe7, 0xfe, 0x6e, 0xe7, 0xe8, 0xc8, 0xc7, 0xe9, 0x9c, 0x9c, 0x18, 0x1b, 0x1b, 0x18, 0x9c, 0xfe, 0xc8, 0xfe, 0xec, 0xfe, 0xed, 0xfe, 0xc7, 0x9d, 0x18, 0x1b, 0x1b, 0x18, 0x9d, 0x1, 0x39, 0x1, 0x13, 0x1, 0x14, 0x1, 0x38, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xa, 0x0, 0x0, 0x4, 0x8d, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x1d, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x25, 0x21, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x15, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x1, 0x93, 0xfe, 0x8d, 0x9a, 0x9a, 0x8d, 0xfe, 0x38, 0x1, 0xc8, 0xfb, 0x80, 0x81, 0x81, 0x80, 0xfb, 0xfe, 0xed, 0xed, 0xca, 0xbf, 0xbf, 0x5, 0x2f, 0xfd, 0xcf, 0x92, 0x87, 0x86, 0x92, 0xa6, 0x71, 0x72, 0xdb, 0xdd, 0x71, 0x71, 0xc4, 0x90, 0xfe, 0xfc, 0x1, 0x4, 0x90, 0x0, 0x0, 0x2, 0xff, 0xfb, 0xfe, 0x56, 0x4, 0xa4, 0x4, 0x7b, 0x0, 0x7, 0x0, 0x1f, 0x0, 0x0, 0x0, 0x10, 0x26, 0x20, 0x6, 0x10, 0x16, 0x20, 0x1, 0x35, 0x33, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x0, 0x10, 0x2, 0x23, 0x22, 0x26, 0x27, 0x11, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x3, 0xe5, 0xa7, 0xfe, 0xdc, 0xa7, 0xa7, 0x1, 0x24, 0xfc, 0xbd, 0xbf, 0xb9, 0x3a, 0xb1, 0x7b, 0xcc, 0x0, 0xff, 0xff, 0xcc, 0x7b, 0xb1, 0x3a, 0xfe, 0xfe, 0xb9, 0x1, 0x64, 0x1, 0x96, 0xe7, 0xe7, 0xfe, 0x6a, 0xe7, 0xfe, 0x67, 0x90, 0x4, 0xec, 0xaa, 0x64, 0x61, 0xfe, 0xbc, 0xfd, 0xf0, 0xfe, 0xbc, 0x61, 0x64, 0xfe, 0xcc, 0x90, 0x8e, 0x8e, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x32, 0x0, 0x0, 0x5, 0x99, 0x5, 0xd5, 0x0, 0x1e, 0x0, 0x27, 0x0, 0x0, 0x1, 0x21, 0x32, 0x4, 0x15, 0x14, 0x4, 0x2b, 0x1, 0x11, 0x23, 0x11, 0x23, 0x22, 0x7, 0x6, 0x15, 0x16, 0x17, 0x16, 0x17, 0x7, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x3b, 0x3, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x1, 0x1, 0xd5, 0x1, 0xc8, 0xfb, 0x1, 0x1, 0xfe, 0xff, 0xfb, 0xfe, 0xca, 0x2d, 0x5c, 0x30, 0x3a, 0x1, 0x1a, 0x17, 0x3c, 0x44, 0x4f, 0x45, 0x46, 0x7f, 0x61, 0xa2, 0x21, 0xca, 0xfe, 0x8d, 0x9a, 0x9a, 0x8d, 0xfe, 0x5, 0xd5, 0xe3, 0xdb, 0xdd, 0xe2, 0xfd, 0xa8, 0x2, 0x58, 0x18, 0x1f, 0x3d, 0x35, 0x27, 0x20, 0x18, 0x94, 0x17, 0x49, 0x4b, 0x7d, 0x93, 0x4c, 0x3b, 0x92, 0x87, 0x86, 0x92, 0x0, 0x0, 0x0, 0x2, 0x0, 0x32, 0xfe, 0x56, 0x5, 0xc2, 0x4, 0x7b, 0x0, 0xc, 0x0, 0x31, 0x0, 0x0, 0x1, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x26, 0x20, 0x6, 0x15, 0x3, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x7, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x0, 0x10, 0x2, 0x23, 0x22, 0x27, 0x11, 0x23, 0x2, 0x91, 0xa, 0x9d, 0x92, 0x8e, 0x58, 0x53, 0xa7, 0xfe, 0xdc, 0xa7, 0xb9, 0x33, 0x29, 0x2c, 0x34, 0x3a, 0x1b, 0x17, 0x3c, 0x44, 0x4f, 0x45, 0x46, 0x7f, 0x54, 0x67, 0x35, 0x37, 0xb9, 0x3a, 0xb1, 0x7b, 0xcc, 0x0, 0xff, 0xff, 0xca, 0xc0, 0xa8, 0xb9, 0x1, 0x32, 0xb, 0xaa, 0x73, 0x70, 0xcf, 0xcb, 0xe7, 0xe7, 0xcb, 0xfe, 0xe3, 0x19, 0x18, 0x1b, 0x41, 0x34, 0x28, 0x20, 0x18, 0x94, 0x17, 0x49, 0x4b, 0x7d, 0x86, 0x59, 0x3b, 0x17, 0x2, 0xa6, 0xaa, 0x64, 0x61, 0xfe, 0xbc, 0xfd, 0xf0, 0xfe, 0xbc, 0xa2, 0xfd, 0xd1, 0x0, 0x2, 0x0, 0x73, 0xfe, 0x94, 0x5, 0xd9, 0x5, 0xf0, 0x0, 0x9, 0x0, 0x23, 0x0, 0x0, 0x0, 0x20, 0x0, 0x11, 0x10, 0x0, 0x20, 0x0, 0x11, 0x10, 0x1, 0x27, 0x37, 0x27, 0x7, 0x6, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x2, 0x7, 0x17, 0x37, 0x17, 0x7, 0x17, 0x23, 0x27, 0x4, 0x3, 0xfe, 0x48, 0xfe, 0xfd, 0x1, 0x3, 0x1, 0xb8, 0x1, 0x1, 0xfe, 0x80, 0x48, 0xaa, 0x6b, 0x33, 0x12, 0xf, 0xfe, 0xc5, 0xfe, 0x87, 0x1, 0x79, 0x1, 0x3b, 0x1, 0x3a, 0x1, 0x78, 0xd1, 0xc6, 0x45, 0xd7, 0x48, 0xbc, 0x62, 0xf4, 0xe, 0x5, 0x4c, 0xfe, 0xb8, 0xfe, 0xe5, 0xfe, 0xe6, 0xfe, 0xb8, 0x1, 0x48, 0x1, 0x1a, 0x1, 0x1b, 0xfa, 0x90, 0x7d, 0x62, 0x74, 0x3, 0x1, 0x1, 0xa5, 0x1, 0x61, 0x1, 0x62, 0x1, 0xa5, 0xfe, 0x5b, 0xfe, 0x9e, 0xfe, 0xfc, 0xfe, 0x8e, 0x58, 0x4b, 0x7c, 0x7d, 0x6c, 0x6b, 0xf, 0x0, 0x0, 0x2, 0x0, 0x71, 0xfe, 0x56, 0x5, 0x19, 0x4, 0x7b, 0x0, 0x17, 0x0, 0x1f, 0x0, 0x0, 0x25, 0xe, 0x1, 0x23, 0x22, 0x2, 0x10, 0x0, 0x33, 0x32, 0x16, 0x17, 0x35, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x23, 0x35, 0x21, 0x0, 0x10, 0x16, 0x20, 0x36, 0x10, 0x26, 0x20, 0x3, 0xa2, 0x3a, 0xb1, 0x7c, 0xcb, 0xff, 0x0, 0xff, 0xcb, 0x7c, 0xb1, 0x3a, 0xb8, 0xbf, 0xbf, 0xb8, 0xff, 0x0, 0xff, 0xfd, 0x8d, 0xa7, 0x1, 0x24, 0xa8, 0xa8, 0xfe, 0xdc, 0xa8, 0x64, 0x61, 0x1, 0x44, 0x2, 0x10, 0x1, 0x44, 0x61, 0x64, 0xaa, 0xfb, 0x14, 0x90, 0x8e, 0x8e, 0x90, 0x3, 0x86, 0xfe, 0x6a, 0xe7, 0xe7, 0x1, 0x96, 0xe7, 0x0, 0x2, 0x0, 0xa, 0x0, 0x0, 0x4, 0x8d, 0x5, 0xd5, 0x0, 0x7, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x36, 0x10, 0x26, 0x23, 0x1, 0x33, 0x15, 0x33, 0x15, 0x23, 0x15, 0x33, 0x32, 0x4, 0x10, 0x4, 0x2b, 0x1, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x1, 0x93, 0xfe, 0x8d, 0x9a, 0x99, 0x8e, 0xfe, 0x38, 0xca, 0xed, 0xed, 0xfe, 0xfb, 0x1, 0x1, 0xfe, 0xff, 0xfb, 0xfe, 0xca, 0xbf, 0xbf, 0x4, 0x27, 0xfd, 0xd1, 0x92, 0x1, 0xc, 0x91, 0x1, 0xae, 0x2d, 0x90, 0x4b, 0xe1, 0xfe, 0x48, 0xe2, 0xfe, 0xae, 0x5, 0x18, 0x90, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xfb, 0xfe, 0x56, 0x4, 0xa4, 0x6, 0x14, 0x0, 0x7, 0x0, 0x1f, 0x0, 0x0, 0x0, 0x10, 0x26, 0x20, 0x6, 0x10, 0x16, 0x20, 0x25, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x3e, 0x1, 0x33, 0x32, 0x0, 0x10, 0x2, 0x23, 0x22, 0x26, 0x3, 0xe5, 0xa7, 0xfe, 0xdc, 0xa7, 0xa7, 0x1, 0x24, 0xfe, 0x35, 0xb9, 0xbf, 0xbf, 0xb9, 0xfe, 0xfe, 0x3a, 0xb1, 0x7b, 0xcc, 0x0, 0xff, 0xff, 0xcc, 0x7b, 0xb1, 0x1, 0x64, 0x1, 0x96, 0xe7, 0xe7, 0xfe, 0x6a, 0xe7, 0x2b, 0xfd, 0xae, 0x6, 0x9b, 0x90, 0x93, 0x93, 0x90, 0xfe, 0xc5, 0x64, 0x61, 0xfe, 0xbc, 0xfd, 0xf0, 0xfe, 0xbc, 0x61, 0x0, 0x2, 0x0, 0xa, 0x0, 0x0, 0x4, 0x8d, 0x5, 0xd5, 0x0, 0x7, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x36, 0x10, 0x26, 0x23, 0x1, 0x33, 0x11, 0x33, 0x32, 0x4, 0x10, 0x4, 0x2b, 0x1, 0x15, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x1, 0x93, 0xfe, 0x8d, 0x9a, 0x99, 0x8e, 0xfe, 0x38, 0xca, 0xfe, 0xfb, 0x1, 0x1, 0xfe, 0xff, 0xfb, 0xfe, 0xed, 0xed, 0xca, 0xbf, 0xbf, 0x4, 0x27, 0xfd, 0xd1, 0x92, 0x1, 0xc, 0x91, 0x1, 0xae, 0xfe, 0xf8, 0xe1, 0xfe, 0x48, 0xe2, 0x5e, 0x90, 0x64, 0x64, 0x90, 0x0, 0x2, 0xff, 0xfb, 0xfe, 0x56, 0x4, 0xa4, 0x6, 0x14, 0x0, 0x7, 0x0, 0x1f, 0x0, 0x0, 0x0, 0x10, 0x26, 0x20, 0x6, 0x10, 0x16, 0x20, 0x1, 0x35, 0x33, 0x11, 0x33, 0x11, 0x3e, 0x1, 0x33, 0x32, 0x0, 0x10, 0x2, 0x23, 0x22, 0x26, 0x27, 0x11, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x3, 0xe5, 0xa7, 0xfe, 0xdc, 0xa7, 0xa7, 0x1, 0x24, 0xfc, 0xbd, 0xbf, 0xb9, 0x3a, 0xb1, 0x7b, 0xcc, 0x0, 0xff, 0xff, 0xcc, 0x7b, 0xb1, 0x3a, 0xfe, 0xfe, 0xb9, 0x1, 0x64, 0x1, 0x96, 0xe7, 0xe7, 0xfe, 0x6a, 0xe7, 0xfe, 0x67, 0x90, 0x6, 0xa0, 0xfd, 0xa2, 0x64, 0x61, 0xfe, 0xbc, 0xfd, 0xf0, 0xfe, 0xbc, 0x61, 0x64, 0xfe, 0xcc, 0x90, 0x8e, 0x8e, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb, 0x0, 0x0, 0x3, 0xac, 0x5, 0xd5, 0x0, 0x5, 0x0, 0x0, 0x21, 0x23, 0x11, 0x21, 0x35, 0x21, 0x3, 0xac, 0xca, 0xfd, 0x29, 0x3, 0xa1, 0x5, 0x2b, 0xaa, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc1, 0xfe, 0x56, 0x1, 0x79, 0x4, 0x7b, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x1, 0x7, 0x33, 0x11, 0x23, 0x1, 0x1d, 0x5c, 0xb8, 0xb8, 0x4, 0x7b, 0x1b, 0xf9, 0xf6, 0x0, 0x0, 0x1, 0x0, 0xc9, 0xfe, 0x56, 0x5, 0x19, 0x5, 0xf0, 0x0, 0x14, 0x0, 0x0, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x15, 0x36, 0x37, 0x36, 0x33, 0x32, 0x12, 0x19, 0x1, 0x23, 0x4, 0x50, 0x9a, 0x99, 0xb3, 0xd7, 0xca, 0xca, 0x51, 0x66, 0x65, 0x9e, 0xe3, 0xe9, 0xc9, 0x3, 0x7f, 0xd7, 0xd5, 0xff, 0xde, 0xfb, 0x8, 0x7, 0x7f, 0xf1, 0x87, 0x43, 0x42, 0xfe, 0xc1, 0xfe, 0xcc, 0xfc, 0x83, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x4, 0x7b, 0x0, 0x13, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x4, 0x64, 0xb8, 0x7c, 0x7c, 0x95, 0xac, 0xb9, 0xb9, 0x42, 0xb3, 0x75, 0xc1, 0xc6, 0x2, 0xa4, 0xfd, 0x5c, 0x2, 0x9e, 0x9f, 0x9e, 0xbe, 0xa4, 0xfb, 0xdd, 0x6, 0xa, 0xae, 0x65, 0x64, 0xef, 0x0, 0x0, 0xff, 0xff, 0x0, 0xf0, 0x0, 0x0, 0x1, 0xc3, 0x4, 0x23, 0x12, 0x6, 0x0, 0x1d, 0x0, 0x0, 0x0, 0x2, 0x0, 0xa0, 0x1, 0x49, 0x2, 0x62, 0x3, 0xb, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x21, 0x2, 0x62, 0xfe, 0x3e, 0x1, 0xc2, 0xfe, 0x3e, 0x1, 0xc2, 0x1, 0x49, 0x96, 0x96, 0x96, 0x0, 0x0, 0x1, 0x1, 0x35, 0x1, 0xe1, 0x2, 0x0, 0x5, 0xd5, 0x0, 0x5, 0x0, 0x3a, 0x40, 0xb, 0x3, 0x0, 0x81, 0x6, 0x4, 0x3, 0x1, 0x3, 0x0, 0x0, 0x6, 0x10, 0xfc, 0x4b, 0xb0, 0xb, 0x54, 0x58, 0xb9, 0x0, 0x0, 0xff, 0xc0, 0x38, 0x59, 0xec, 0x39, 0x39, 0x31, 0x0, 0x10, 0xe4, 0xcc, 0x40, 0x9, 0x20, 0x3, 0x5f, 0x3, 0xb0, 0x3, 0xef, 0x3, 0x4, 0x5d, 0x30, 0x1, 0xb6, 0x0, 0x7, 0x20, 0x7, 0x50, 0x7, 0x3, 0x5d, 0x1, 0x33, 0x11, 0x3, 0x23, 0x3, 0x1, 0x35, 0xcb, 0x14, 0xa2, 0x15, 0x5, 0xd5, 0xfd, 0x71, 0xfe, 0x9b, 0x1, 0x65, 0x0, 0x1, 0x0, 0xc5, 0x3, 0xaa, 0x1, 0x6f, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x37, 0x40, 0xa, 0x1, 0x84, 0x0, 0x81, 0x4, 0x0, 0x5, 0x2, 0x4, 0x4, 0x10, 0xfc, 0x4b, 0xb0, 0x12, 0x54, 0x4b, 0xb0, 0x13, 0x54, 0x5b, 0x58, 0xb9, 0x0, 0x2, 0xff, 0xc0, 0x38, 0x59, 0xec, 0x31, 0x0, 0x10, 0xf4, 0xec, 0x30, 0x1, 0x40, 0xd, 0x40, 0x5, 0x50, 0x5, 0x60, 0x5, 0x70, 0x5, 0x90, 0x5, 0xa0, 0x5, 0x6, 0x5d, 0x1, 0x11, 0x23, 0x11, 0x1, 0x6f, 0xaa, 0x5, 0xd5, 0xfd, 0xd5, 0x2, 0x2b, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaf, 0x0, 0x0, 0x4, 0xb3, 0x5, 0xd5, 0x12, 0x6, 0x3, 0xbb, 0x0, 0x0, 0x0, 0x2, 0x0, 0x4d, 0xfe, 0x56, 0x3, 0x54, 0x6, 0x14, 0x0, 0x6, 0x0, 0x1f, 0x0, 0x0, 0x1, 0x26, 0x23, 0x22, 0x7, 0x14, 0x33, 0x37, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x26, 0x35, 0x30, 0x3, 0x23, 0x20, 0x37, 0x36, 0x33, 0x32, 0x1, 0x92, 0x17, 0x37, 0x4d, 0x1, 0x5c, 0x50, 0xb8, 0xfa, 0xfa, 0x3d, 0x78, 0x31, 0x46, 0xbf, 0x99, 0x2, 0x3c, 0xfe, 0xe8, 0x1, 0x1, 0xf5, 0x35, 0x3, 0x12, 0x84, 0x4b, 0x39, 0xfa, 0x2, 0x8, 0xfc, 0xfe, 0xa0, 0xfd, 0x70, 0x7c, 0x74, 0x9c, 0xcc, 0xca, 0x2, 0x86, 0xbd, 0xf6, 0x0, 0x0, 0x1, 0x0, 0xc9, 0xfe, 0xbf, 0x5, 0xdd, 0x5, 0xd5, 0x0, 0xd, 0x0, 0x0, 0x13, 0x21, 0x1, 0x11, 0x33, 0x11, 0x33, 0x11, 0x23, 0x11, 0x21, 0x1, 0x11, 0x23, 0xc9, 0x1, 0x10, 0x2, 0x96, 0xc4, 0xaa, 0xaa, 0xfe, 0xf0, 0xfd, 0x6a, 0xc4, 0x5, 0xd5, 0xfb, 0x1f, 0x4, 0xe1, 0xfa, 0xd5, 0xfe, 0x15, 0x1, 0x41, 0x4, 0xe1, 0xfb, 0x1f, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xba, 0xfe, 0xe5, 0x4, 0xf7, 0x4, 0x7b, 0x0, 0x17, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x23, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x4, 0x64, 0x93, 0x93, 0xb8, 0x7c, 0x7c, 0x95, 0xac, 0xb9, 0xb9, 0x42, 0xb3, 0x75, 0xc1, 0xc6, 0x2, 0xa4, 0xfd, 0xef, 0xfe, 0x52, 0x1, 0x1b, 0x2, 0x9e, 0x9f, 0x9e, 0xbe, 0xa4, 0xfd, 0x87, 0x4, 0x60, 0xae, 0x65, 0x64, 0xef, 0x0, 0x1, 0x0, 0x4, 0xff, 0xe3, 0x6, 0x39, 0x5, 0xf0, 0x0, 0x28, 0x0, 0x0, 0x25, 0x11, 0x21, 0x35, 0x21, 0x11, 0x6, 0x4, 0x23, 0x24, 0x27, 0x26, 0x27, 0x7, 0x27, 0x37, 0x26, 0x35, 0x10, 0x0, 0x21, 0x32, 0x4, 0x17, 0x15, 0x2e, 0x1, 0x23, 0x20, 0x7, 0x6, 0x3, 0x1, 0x17, 0x1, 0x16, 0x17, 0x16, 0x21, 0x32, 0x36, 0x4, 0xc3, 0xfe, 0xb6, 0x2, 0x12, 0x75, 0xfe, 0xe6, 0xa0, 0xfe, 0xa2, 0xc6, 0x8d, 0x28, 0x54, 0x2b, 0x70, 0x1, 0x1, 0x8b, 0x1, 0x5e, 0x92, 0x1, 0x7, 0x6f, 0x70, 0xfc, 0x8b, 0xfe, 0xef, 0x8a, 0x87, 0x3, 0x4, 0xc6, 0x2b, 0xfb, 0x16, 0x19, 0x6a, 0x8a, 0x1, 0x11, 0x6b, 0xa8, 0xd5, 0x1, 0x91, 0xa6, 0xfd, 0x7f, 0x53, 0x55, 0x1, 0xcc, 0x92, 0xe2, 0x1c, 0x7f, 0x25, 0x1e, 0x1f, 0x1, 0x6e, 0x1, 0x99, 0x48, 0x46, 0xd7, 0x5f, 0x60, 0x99, 0x97, 0xfe, 0xd9, 0x1, 0x95, 0x7f, 0xfe, 0x5f, 0xcf, 0x77, 0x99, 0x25, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x4, 0xfe, 0x56, 0x5, 0x10, 0x4, 0x7b, 0x0, 0x26, 0x0, 0x30, 0x0, 0x3a, 0x0, 0x0, 0x25, 0x10, 0x2, 0x21, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x3d, 0x1, 0xe, 0x1, 0x23, 0x22, 0x27, 0x26, 0x27, 0x7, 0x27, 0x37, 0x26, 0x35, 0x10, 0x12, 0x33, 0x32, 0x16, 0x17, 0x35, 0x33, 0x11, 0x37, 0x17, 0xf, 0x1, 0x5, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x17, 0x4, 0x5a, 0xfe, 0xfe, 0xfa, 0x61, 0xac, 0x51, 0x51, 0x9e, 0x52, 0xb5, 0xb4, 0x39, 0xb2, 0x7c, 0xce, 0x7e, 0x43, 0x1f, 0x68, 0x21, 0x74, 0x7, 0xfc, 0xce, 0x7c, 0xb2, 0x39, 0xb8, 0x95, 0x21, 0xb6, 0xb9, 0xfd, 0x9f, 0x14, 0x2e, 0x52, 0x94, 0x95, 0xa5, 0xd, 0x13, 0x32, 0x52, 0x96, 0x94, 0xa5, 0x2, 0x8b, 0xfe, 0xe2, 0xfe, 0xe9, 0x1d, 0x1e, 0xb3, 0x2c, 0x2a, 0xbd, 0xbf, 0x5b, 0x63, 0x62, 0x9d, 0x53, 0x70, 0x23, 0x63, 0x27, 0x38, 0x3e, 0x1, 0x4, 0x1, 0x3a, 0x62, 0x63, 0xaa, 0xfe, 0xb1, 0x32, 0x63, 0x3d, 0x3d, 0xcb, 0x57, 0x3c, 0x6e, 0xdc, 0xc7, 0x15, 0x7e, 0x62, 0x41, 0x6e, 0xdc, 0xc8, 0x1d, 0x1c, 0x0, 0x0, 0x0, 0x2, 0x0, 0x4, 0x0, 0x0, 0x5, 0x6a, 0x5, 0xd5, 0x0, 0x13, 0x0, 0x16, 0x0, 0x0, 0x13, 0x33, 0x11, 0x1, 0x21, 0x1, 0x17, 0x25, 0x17, 0x5, 0x1, 0x21, 0x1, 0x7, 0x11, 0x23, 0x11, 0x7, 0x27, 0x37, 0x25, 0x27, 0x15, 0xc9, 0xca, 0x2, 0x9e, 0x1, 0x4, 0xfd, 0x1b, 0x79, 0x2, 0x52, 0x2b, 0xfd, 0xed, 0x2, 0x37, 0xfe, 0xf6, 0xfe, 0xb, 0xd8, 0xca, 0x9a, 0x2b, 0xc5, 0x1, 0x38, 0x6e, 0x5, 0xd5, 0xfd, 0x89, 0x2, 0x77, 0xfd, 0x48, 0x7a, 0xc5, 0x7f, 0xb0, 0xfd, 0xc7, 0x1, 0xf7, 0x48, 0xfe, 0x51, 0x1, 0x6c, 0x33, 0x7f, 0x41, 0x68, 0x6e, 0x93, 0x0, 0x0, 0x0, 0x2, 0x0, 0x4, 0x0, 0x0, 0x4, 0x9e, 0x6, 0x14, 0x0, 0x13, 0x0, 0x16, 0x0, 0x0, 0x13, 0x33, 0x11, 0x1, 0x33, 0x1, 0x17, 0x25, 0x17, 0x5, 0x1, 0x23, 0x1, 0x7, 0x11, 0x23, 0x35, 0x7, 0x27, 0x37, 0x25, 0x27, 0x15, 0xba, 0xb9, 0x2, 0x25, 0xeb, 0xfd, 0xae, 0x5e, 0x1, 0xee, 0x21, 0xfe, 0x46, 0x1, 0xb8, 0xf0, 0xfe, 0x85, 0xbe, 0xb9, 0x95, 0x21, 0xb6, 0x1, 0x22, 0x69, 0x6, 0x14, 0xfc, 0x69, 0x1, 0xe3, 0xfd, 0xf4, 0x5b, 0xa4, 0x62, 0x93, 0xfe, 0x58, 0x1, 0x6c, 0x3f, 0xfe, 0xd3, 0xf0, 0x32, 0x63, 0x3c, 0x61, 0x65, 0x88, 0x0, 0x0, 0x3, 0x0, 0x4, 0x0, 0x0, 0x5, 0xf8, 0x5, 0xd5, 0x0, 0x13, 0x0, 0x16, 0x0, 0x19, 0x0, 0x0, 0x13, 0x21, 0x1, 0x25, 0x11, 0x33, 0x11, 0x37, 0x17, 0x7, 0x11, 0x21, 0x1, 0x5, 0x11, 0x23, 0x11, 0x7, 0x27, 0x37, 0x25, 0x3, 0x11, 0x25, 0x13, 0x11, 0xc9, 0x1, 0x10, 0x1, 0x5e, 0x1, 0x38, 0xc4, 0x9a, 0x2b, 0xc5, 0xfe, 0xf0, 0xfe, 0xa6, 0xfe, 0xc4, 0xc4, 0x9a, 0x2b, 0xc5, 0x1, 0xc0, 0xfc, 0x1, 0xea, 0xf8, 0x5, 0xd5, 0xfd, 0x6b, 0x67, 0x2, 0x2e, 0xfe, 0x13, 0x33, 0x7f, 0x41, 0xfc, 0xa5, 0x2, 0x8e, 0x69, 0xfd, 0xdb, 0x1, 0xe4, 0x33, 0x7f, 0x41, 0x95, 0x1, 0xdb, 0xfd, 0xd1, 0x16, 0xfe, 0x2c, 0x2, 0x26, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x4, 0x0, 0x0, 0x5, 0x10, 0x4, 0x7b, 0x0, 0x17, 0x0, 0x20, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x5, 0x11, 0x23, 0x11, 0x7, 0x27, 0x37, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x36, 0x17, 0x16, 0x17, 0x37, 0x17, 0x7, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x4, 0x64, 0xb8, 0xfd, 0xc7, 0xb9, 0x95, 0x21, 0xb6, 0xb9, 0x42, 0xb3, 0x75, 0xc1, 0x63, 0x4a, 0x13, 0x91, 0x21, 0xac, 0xba, 0x9, 0x33, 0x3e, 0x7c, 0x95, 0xac, 0x2, 0xa4, 0xfd, 0x5c, 0x2, 0x6a, 0xbe, 0xfe, 0x54, 0x1, 0x6f, 0x32, 0x63, 0x3d, 0x2, 0x83, 0xae, 0x65, 0x64, 0x1, 0x78, 0x59, 0x99, 0x31, 0x63, 0x39, 0x30, 0x75, 0x40, 0x4f, 0xbe, 0xa4, 0x5f, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x4, 0x0, 0x0, 0x5, 0x8b, 0x5, 0xd5, 0x0, 0x1d, 0x0, 0x24, 0x0, 0x2b, 0x0, 0x0, 0x1, 0x1e, 0x1, 0x17, 0x13, 0x23, 0x3, 0x2e, 0x1, 0x2b, 0x1, 0x11, 0x23, 0x11, 0x7, 0x27, 0x37, 0x11, 0x21, 0x20, 0x17, 0x16, 0x17, 0x37, 0x17, 0x7, 0x16, 0x15, 0x14, 0x6, 0x2d, 0x1, 0x26, 0x27, 0x26, 0x27, 0x23, 0x11, 0x15, 0x33, 0x16, 0x37, 0x36, 0x37, 0x3, 0x8d, 0x41, 0x7b, 0x3e, 0xcd, 0xd9, 0xbf, 0x4a, 0x8b, 0x78, 0xdc, 0xca, 0x9a, 0x2b, 0xc5, 0x1, 0xc8, 0x1, 0x0, 0x7e, 0x49, 0x1f, 0xe9, 0x2b, 0xff, 0x1, 0x83, 0xfd, 0x89, 0x2, 0x19, 0x12, 0x2c, 0x4a, 0x93, 0xfe, 0xfe, 0x93, 0x4a, 0x3d, 0xb, 0x2, 0xbc, 0x16, 0x90, 0x7e, 0xfe, 0x68, 0x1, 0x7f, 0x96, 0x62, 0xfd, 0x89, 0x3, 0x1, 0x33, 0x7f, 0x42, 0x2, 0x46, 0x6b, 0x3e, 0x64, 0x4e, 0x7f, 0x55, 0xd, 0xe, 0x8d, 0xba, 0xf2, 0xb3, 0x3f, 0x28, 0x42, 0x1, 0xfe, 0x16, 0x28, 0x1, 0x44, 0x38, 0x63, 0x0, 0x0, 0x1, 0x0, 0x4, 0x0, 0x0, 0x3, 0x4a, 0x4, 0x7b, 0x0, 0x19, 0x0, 0x0, 0x1, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x25, 0x17, 0x5, 0x11, 0x23, 0x11, 0x7, 0x27, 0x37, 0x11, 0x33, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x17, 0x3, 0x4a, 0x1f, 0x49, 0x2c, 0x9c, 0xa7, 0x1, 0xb2, 0x21, 0xfe, 0x2d, 0xb9, 0x95, 0x21, 0xb6, 0xb9, 0x3a, 0xba, 0x85, 0x13, 0x2e, 0x1c, 0x3, 0xb4, 0x12, 0x11, 0xcb, 0xbe, 0x34, 0x90, 0x62, 0x9c, 0xfe, 0x54, 0x1, 0x6f, 0x32, 0x63, 0x3c, 0x2, 0x84, 0xae, 0x66, 0x63, 0x5, 0x5, 0x0, 0x0, 0x1, 0x0, 0x4, 0xff, 0xe3, 0x5, 0x10, 0x5, 0xf0, 0x0, 0x2f, 0x0, 0x0, 0x1, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1f, 0x1, 0x25, 0x17, 0x5, 0x16, 0x17, 0x16, 0x15, 0x14, 0x4, 0x21, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2f, 0x1, 0x5, 0x27, 0x25, 0x26, 0x27, 0x26, 0x35, 0x34, 0x24, 0x33, 0x32, 0x16, 0x4, 0x48, 0x73, 0xcc, 0x5f, 0xa5, 0xb3, 0x77, 0xa6, 0x54, 0x2, 0x22, 0x2b, 0xfe, 0x99, 0x57, 0x36, 0x6c, 0xfe, 0xdd, 0xfe, 0xe7, 0x6a, 0xef, 0x80, 0x7b, 0xec, 0x72, 0xad, 0xbc, 0x87, 0x9a, 0x61, 0xfd, 0xe2, 0x2b, 0x1, 0x65, 0x4d, 0x30, 0x65, 0x1, 0x17, 0xf5, 0x69, 0xda, 0x5, 0xa4, 0xc5, 0x37, 0x36, 0x80, 0x76, 0x63, 0x65, 0x1f, 0x11, 0xb5, 0x7f, 0x77, 0x27, 0x38, 0x6c, 0xb6, 0xd9, 0xe0, 0x30, 0x2f, 0xd0, 0x45, 0x46, 0x88, 0x7e, 0x6e, 0x7c, 0x1f, 0x13, 0xb4, 0x7f, 0x77, 0x22, 0x2e, 0x60, 0xab, 0xc6, 0xe4, 0x26, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x4, 0xff, 0xe3, 0x4, 0x27, 0x4, 0x7b, 0x0, 0x2f, 0x0, 0x0, 0x1, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1f, 0x1, 0x25, 0x17, 0x5, 0x16, 0x17, 0x16, 0x17, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2f, 0x1, 0x5, 0x27, 0x25, 0x26, 0x27, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x3, 0x8b, 0x4e, 0xa8, 0x5a, 0x89, 0x89, 0x62, 0x94, 0x2d, 0x1, 0xba, 0x21, 0xfe, 0xd6, 0x4b, 0x2c, 0x52, 0x1, 0xf7, 0xd8, 0x5a, 0xc3, 0x6c, 0x66, 0xc6, 0x61, 0x82, 0x8c, 0x65, 0xab, 0x24, 0xfe, 0x4f, 0x21, 0x1, 0x23, 0x3e, 0x26, 0x4c, 0xe0, 0xce, 0x66, 0xb4, 0x4, 0x3f, 0xae, 0x28, 0x28, 0x54, 0x54, 0x40, 0x49, 0x21, 0xa, 0x93, 0x63, 0x63, 0x20, 0x28, 0x4c, 0x89, 0x9c, 0xb6, 0x23, 0x23, 0xbe, 0x35, 0x35, 0x59, 0x51, 0x4b, 0x50, 0x25, 0x8, 0x90, 0x63, 0x61, 0x1b, 0x26, 0x4a, 0x83, 0x9e, 0xac, 0x1e, 0x0, 0x0, 0x1, 0xff, 0x97, 0x0, 0x0, 0x5, 0x9f, 0x5, 0xd5, 0x0, 0x14, 0x0, 0x0, 0x1, 0xe, 0x1, 0x1d, 0x1, 0x23, 0x35, 0x34, 0x36, 0x3b, 0x1, 0x11, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x1, 0x2d, 0x84, 0x76, 0x9c, 0xc0, 0xd6, 0xca, 0x2, 0xde, 0xca, 0xca, 0xfd, 0x22, 0xca, 0x5, 0x30, 0x1, 0x5e, 0x69, 0x31, 0x46, 0xb5, 0xa3, 0xfd, 0x9c, 0x2, 0x64, 0xfa, 0x2b, 0x2, 0xc7, 0xfd, 0x39, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x6, 0x98, 0x4, 0x60, 0x12, 0x6, 0x3, 0xdc, 0x0, 0x0, 0x0, 0x1, 0x0, 0x77, 0x0, 0x0, 0x3, 0xd1, 0x5, 0xd5, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x3, 0xd1, 0xca, 0xfd, 0xb0, 0x2, 0x50, 0xfd, 0x70, 0x5, 0xd5, 0xfa, 0x2b, 0x2, 0xc9, 0xaa, 0x1, 0xb8, 0xaa, 0x0, 0x0, 0x2, 0x0, 0x46, 0x0, 0x0, 0x4, 0xa, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x13, 0x0, 0x0, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x3b, 0x1, 0x13, 0x11, 0x23, 0x11, 0x23, 0x22, 0x24, 0x35, 0x34, 0x24, 0x33, 0x3, 0x40, 0xfe, 0x8d, 0x9a, 0x9a, 0x8d, 0xfe, 0xca, 0xca, 0xfe, 0xfb, 0xfe, 0xff, 0x1, 0x1, 0xfb, 0x5, 0x2f, 0x92, 0x86, 0x87, 0x92, 0x2, 0xd7, 0xfa, 0x2b, 0x2, 0x58, 0xe2, 0xdd, 0xdb, 0xe3, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x1f, 0x5, 0xd5, 0x0, 0xc, 0x0, 0x0, 0x33, 0x11, 0x33, 0x11, 0x1, 0x33, 0x1, 0x11, 0x33, 0x11, 0x21, 0x9, 0x1, 0xc9, 0xc4, 0x1, 0x81, 0xcb, 0x1, 0x81, 0xc5, 0xfe, 0xd3, 0xfe, 0x81, 0xfe, 0x83, 0x5, 0xd5, 0xfa, 0xe1, 0x4, 0x0, 0xfc, 0x0, 0x5, 0x1f, 0xfa, 0x2b, 0x3, 0xf8, 0xfc, 0x8, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0x0, 0x0, 0x1, 0x93, 0x7, 0x6d, 0x0, 0x3, 0x0, 0x0, 0x13, 0x33, 0x11, 0x23, 0xc9, 0xca, 0xca, 0x7, 0x6d, 0xf8, 0x93, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x44, 0x0, 0x0, 0x9, 0x55, 0x5, 0xd5, 0x0, 0xf, 0x0, 0x0, 0x25, 0x1, 0x33, 0x9, 0x1, 0x33, 0x1, 0x23, 0x9, 0x1, 0x23, 0x9, 0x1, 0x23, 0x1, 0x33, 0x3, 0xf4, 0x1, 0x3e, 0xe3, 0x1, 0x3a, 0x1, 0x39, 0xcd, 0xfe, 0x89, 0xfe, 0xfe, 0xc5, 0xfe, 0xc2, 0xe3, 0xfe, 0xc6, 0xfe, 0xc7, 0xcd, 0x1, 0x77, 0xfe, 0xc5, 0x5, 0x10, 0xfb, 0x12, 0x4, 0xee, 0xfa, 0x2b, 0x5, 0x10, 0xfa, 0xf0, 0x4, 0xee, 0xfb, 0x12, 0x5, 0xd5, 0x0, 0x0, 0x1, 0x0, 0xc2, 0x4, 0xd0, 0x2, 0x95, 0x5, 0x58, 0x0, 0x3, 0x0, 0x11, 0xb6, 0x1, 0xa9, 0x2, 0x4, 0x3, 0x1, 0x4, 0x10, 0xc4, 0xd4, 0x31, 0x0, 0x10, 0xd4, 0xec, 0x30, 0x1, 0x21, 0x35, 0x21, 0x2, 0x95, 0xfe, 0x2d, 0x1, 0xd3, 0x4, 0xd0, 0x88, 0x0, 0x1, 0x0, 0x8d, 0x3, 0x9c, 0x2, 0xbd, 0x5, 0x58, 0x0, 0x4, 0x0, 0x0, 0x13, 0x27, 0x1, 0x33, 0x15, 0xd6, 0x49, 0x2, 0x8, 0x28, 0x3, 0x9c, 0x73, 0x1, 0x49, 0x88, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6e, 0x2, 0x68, 0x2, 0xe4, 0x5, 0x58, 0x0, 0x5, 0x0, 0x0, 0x1, 0x23, 0x1, 0x27, 0x1, 0x33, 0x2, 0xe4, 0x10, 0xfe, 0x2, 0x68, 0x2, 0x27, 0x4f, 0x4, 0xd0, 0xfd, 0x98, 0x57, 0x2, 0x99, 0x0, 0x1, 0x0, 0x60, 0x1, 0x34, 0x2, 0xf2, 0x5, 0x58, 0x0, 0x5, 0x0, 0x0, 0x1, 0x23, 0x1, 0x27, 0x1, 0x33, 0x2, 0xf2, 0xe, 0xfd, 0xf2, 0x76, 0x2, 0x35, 0x5d, 0x4, 0xd0, 0xfc, 0x64, 0x44, 0x3, 0xe0, 0x0, 0x1, 0x0, 0x5a, 0x0, 0x0, 0x2, 0xf9, 0x5, 0x58, 0x0, 0x5, 0x0, 0x0, 0x1, 0x23, 0x1, 0x27, 0x1, 0x33, 0x2, 0xf9, 0xb, 0xfd, 0xe8, 0x7c, 0x2, 0x3b, 0x64, 0x4, 0xd0, 0xfb, 0x30, 0x37, 0x5, 0x21, 0x0, 0x1, 0x0, 0x8d, 0x3, 0x9c, 0x2, 0xbd, 0x5, 0x58, 0x0, 0x4, 0x0, 0x0, 0x13, 0x1, 0x15, 0x23, 0x1, 0xd6, 0x1, 0xe7, 0x28, 0xfd, 0xf8, 0x5, 0x58, 0xfe, 0xcc, 0x88, 0x1, 0x49, 0xff, 0xff, 0x0, 0xc2, 0x3, 0x9c, 0x2, 0x95, 0x4, 0x24, 0x10, 0x7, 0x13, 0x45, 0x0, 0x0, 0xfe, 0xcc, 0x0, 0x0, 0xff, 0xff, 0x0, 0x8d, 0x2, 0x68, 0x2, 0xbd, 0x4, 0x24, 0x10, 0x7, 0x13, 0x46, 0x0, 0x0, 0xfe, 0xcc, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6e, 0x1, 0x34, 0x2, 0xe4, 0x4, 0x24, 0x10, 0x7, 0x13, 0x47, 0x0, 0x0, 0xfe, 0xcc, 0x0, 0x0, 0xff, 0xff, 0x0, 0x60, 0x0, 0x0, 0x2, 0xf2, 0x4, 0x24, 0x10, 0x7, 0x13, 0x48, 0x0, 0x0, 0xfe, 0xcc, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6e, 0x2, 0x68, 0x2, 0xe4, 0x5, 0x58, 0x0, 0x5, 0x0, 0x0, 0x1, 0x15, 0x23, 0x1, 0x37, 0x1, 0x2, 0xe4, 0x4f, 0xfd, 0xd9, 0x68, 0x1, 0xfe, 0x2, 0xf0, 0x88, 0x2, 0x99, 0x57, 0xfd, 0x98, 0xff, 0xff, 0x0, 0x8d, 0x2, 0x68, 0x2, 0xbd, 0x4, 0x24, 0x10, 0x7, 0x13, 0x4a, 0x0, 0x0, 0xfe, 0xcc, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc2, 0x2, 0x68, 0x2, 0x95, 0x2, 0xf0, 0x10, 0x7, 0x13, 0x45, 0x0, 0x0, 0xfd, 0x98, 0x0, 0x0, 0xff, 0xff, 0x0, 0x8d, 0x1, 0x34, 0x2, 0xbd, 0x2, 0xf0, 0x10, 0x7, 0x13, 0x46, 0x0, 0x0, 0xfd, 0x98, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6e, 0x0, 0x0, 0x2, 0xe4, 0x2, 0xf0, 0x10, 0x7, 0x13, 0x47, 0x0, 0x0, 0xfd, 0x98, 0x0, 0x0, 0x0, 0x1, 0x0, 0x60, 0x1, 0x34, 0x2, 0xf2, 0x5, 0x58, 0x0, 0x5, 0x0, 0x0, 0x1, 0x15, 0x23, 0x1, 0x37, 0x1, 0x2, 0xf2, 0x5d, 0xfd, 0xcb, 0x76, 0x2, 0xe, 0x1, 0xbc, 0x88, 0x3, 0xe0, 0x44, 0xfc, 0x64, 0xff, 0xff, 0x0, 0x6e, 0x1, 0x34, 0x2, 0xe4, 0x4, 0x24, 0x10, 0x7, 0x13, 0x4f, 0x0, 0x0, 0xfe, 0xcc, 0x0, 0x0, 0xff, 0xff, 0x0, 0x8d, 0x1, 0x34, 0x2, 0xbd, 0x2, 0xf0, 0x10, 0x7, 0x13, 0x4a, 0x0, 0x0, 0xfd, 0x98, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc2, 0x1, 0x34, 0x2, 0x95, 0x1, 0xbc, 0x10, 0x7, 0x13, 0x45, 0x0, 0x0, 0xfc, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x8d, 0x0, 0x0, 0x2, 0xbd, 0x1, 0xbc, 0x10, 0x7, 0x13, 0x46, 0x0, 0x0, 0xfc, 0x64, 0x0, 0x0, 0x0, 0x1, 0x0, 0x5a, 0x0, 0x0, 0x2, 0xf9, 0x5, 0x58, 0x0, 0x5, 0x0, 0x0, 0x25, 0x15, 0x23, 0x1, 0x37, 0x1, 0x2, 0xf9, 0x64, 0xfd, 0xc5, 0x7c, 0x2, 0x18, 0x88, 0x88, 0x5, 0x21, 0x37, 0xfb, 0x30, 0x0, 0xff, 0xff, 0x0, 0x60, 0x0, 0x0, 0x2, 0xf2, 0x4, 0x24, 0x10, 0x7, 0x13, 0x54, 0x0, 0x0, 0xfe, 0xcc, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6e, 0x0, 0x0, 0x2, 0xe4, 0x2, 0xf0, 0x10, 0x7, 0x13, 0x4f, 0x0, 0x0, 0xfd, 0x98, 0x0, 0x0, 0xff, 0xff, 0x0, 0x8d, 0x0, 0x0, 0x2, 0xbd, 0x1, 0xbc, 0x10, 0x7, 0x13, 0x4a, 0x0, 0x0, 0xfc, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc2, 0x0, 0x0, 0x2, 0x95, 0x0, 0x88, 0x11, 0x7, 0x13, 0x45, 0x0, 0x0, 0xfb, 0x30, 0x0, 0x7, 0xb1, 0x0, 0x4, 0x0, 0x10, 0x3c, 0x30, 0x0, 0x0, 0x1, 0x0, 0xd6, 0x0, 0x0, 0x1, 0x5e, 0x5, 0x58, 0x0, 0x3, 0x0, 0xe, 0xb5, 0x2, 0x1, 0x0, 0x8, 0x3, 0x4, 0x10, 0xd4, 0xec, 0x31, 0x0, 0xc4, 0xc4, 0x33, 0x11, 0x33, 0x11, 0xd6, 0x88, 0x5, 0x58, 0xfa, 0xa8, 0x0, 0x0, 0x0, 0xe, 0x0, 0x96, 0x0, 0x0, 0x7, 0x3a, 0x5, 0xdc, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x13, 0x0, 0x17, 0x0, 0x1b, 0x0, 0x1f, 0x0, 0x23, 0x0, 0x27, 0x0, 0x2b, 0x0, 0x2f, 0x0, 0x33, 0x0, 0x37, 0x1, 0xda, 0xb7, 0x2f, 0x24, 0x30, 0x28, 0x37, 0x2c, 0x34, 0x38, 0x10, 0xdc, 0x3c, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0xb6, 0x1f, 0x23, 0x2b, 0x20, 0x33, 0x1c, 0x27, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0xdc, 0x3c, 0xb6, 0x14, 0xc, 0x1b, 0x13, 0x8, 0x10, 0x18, 0xdc, 0x3c, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0xb6, 0x3, 0x7, 0xf, 0x4, 0x17, 0x0, 0xb, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0xdc, 0x3c, 0xb0, 0x39, 0xcc, 0xb0, 0x58, 0x4b, 0x52, 0x58, 0xb0, 0x38, 0x10, 0x4b, 0xb0, 0xa, 0x62, 0x66, 0x20, 0xb0, 0x0, 0x54, 0x58, 0xb1, 0x33, 0x30, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x40, 0x54, 0x58, 0x40, 0xa, 0x33, 0x30, 0x2f, 0x2c, 0x37, 0x34, 0x2b, 0x28, 0x27, 0x24, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x80, 0x54, 0x58, 0xb3, 0x23, 0x20, 0x2f, 0x2c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0xc0, 0x54, 0x58, 0xb3, 0x37, 0x34, 0x2f, 0x2c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb8, 0x1, 0x0, 0x54, 0x58, 0xb5, 0x2b, 0x28, 0x27, 0x24, 0x37, 0x34, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb8, 0x1, 0x40, 0x54, 0x58, 0xb3, 0x37, 0x34, 0x1f, 0x1c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb8, 0x1, 0x80, 0x54, 0x58, 0xb1, 0x1f, 0x1c, 0x3c, 0x3c, 0x59, 0x20, 0xb8, 0x1, 0xc0, 0x54, 0x58, 0xb7, 0x2b, 0x28, 0x33, 0x30, 0x37, 0x34, 0x2f, 0x2c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0xb8, 0x10, 0x0, 0x62, 0xb8, 0x2, 0x80, 0x63, 0x4b, 0x23, 0x61, 0x20, 0xb0, 0x0, 0x54, 0x58, 0xb1, 0x17, 0x14, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x1, 0x54, 0x58, 0x40, 0xa, 0xf, 0xc, 0x1b, 0x18, 0x17, 0x14, 0x13, 0x10, 0xb, 0x8, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x2, 0x54, 0x58, 0xb3, 0x7, 0x4, 0x13, 0x10, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x3, 0x54, 0x58, 0xb3, 0x13, 0x10, 0x1b, 0x18, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x4, 0x54, 0x58, 0xb5, 0x1b, 0x18, 0xb, 0x8, 0xf, 0xc, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x5, 0x54, 0x58, 0xb3, 0x3, 0x0, 0x1b, 0x18, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x6, 0x54, 0x58, 0xb1, 0x3, 0x0, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x7, 0x54, 0x58, 0xb7, 0x13, 0x10, 0x17, 0x14, 0x1b, 0x18, 0xf, 0xc, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0xb0, 0x9, 0x54, 0x58, 0xb1, 0x1b, 0x18, 0x3c, 0x3c, 0x59, 0x1b, 0xb6, 0xf, 0xc, 0x2b, 0x28, 0x27, 0x24, 0x38, 0x10, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0xb7, 0x7, 0x4, 0x3, 0x0, 0xb, 0x8, 0x17, 0x14, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x31, 0x0, 0xb7, 0x4, 0xd, 0x18, 0x20, 0x34, 0x29, 0xc, 0x28, 0x2f, 0x3c, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0xb5, 0x5, 0x14, 0x19, 0x21, 0x30, 0x35, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0xb5, 0x0, 0x15, 0x10, 0x1c, 0x31, 0x2c, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0xb7, 0x9, 0x25, 0x1, 0x8, 0x11, 0x1d, 0x24, 0x2d, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0xdc, 0x3c, 0x30, 0x1, 0x11, 0x33, 0x11, 0x3, 0x11, 0x33, 0x11, 0x1, 0x35, 0x21, 0x15, 0x1, 0x35, 0x21, 0x15, 0x1, 0x11, 0x33, 0x11, 0x15, 0x35, 0x21, 0x15, 0x1, 0x11, 0x33, 0x11, 0x1, 0x11, 0x33, 0x11, 0x3, 0x11, 0x33, 0x11, 0x1, 0x35, 0x21, 0x15, 0x1, 0x35, 0x21, 0x15, 0x1, 0x11, 0x33, 0x11, 0x15, 0x35, 0x21, 0x15, 0x1, 0x11, 0x33, 0x11, 0x6, 0xd6, 0x64, 0x64, 0x64, 0xfd, 0x76, 0x2, 0x26, 0xfd, 0xda, 0x2, 0x26, 0xfd, 0x76, 0x64, 0x2, 0x26, 0xfd, 0x76, 0x64, 0xfe, 0x70, 0x64, 0x64, 0x64, 0xfd, 0x76, 0x2, 0x26, 0xfd, 0xda, 0x2, 0x26, 0xfd, 0x76, 0x64, 0x2, 0x26, 0xfd, 0x76, 0x64, 0x3, 0x25, 0x2, 0x4e, 0xfd, 0xb2, 0xfd, 0x44, 0x2, 0x4e, 0xfd, 0xb2, 0x5, 0xf, 0x64, 0x64, 0xfa, 0x88, 0x64, 0x64, 0x3, 0x25, 0x2, 0x4e, 0xfd, 0xb2, 0x69, 0x64, 0x64, 0xfd, 0xad, 0x2, 0x4e, 0xfd, 0xb2, 0x2, 0xbc, 0x2, 0x4e, 0xfd, 0xb2, 0xfd, 0x44, 0x2, 0x4e, 0xfd, 0xb2, 0x5, 0xf, 0x64, 0x64, 0xfa, 0x88, 0x64, 0x64, 0x3, 0x25, 0x2, 0x4e, 0xfd, 0xb2, 0x69, 0x64, 0x64, 0xfd, 0xad, 0x2, 0x4e, 0xfd, 0xb2, 0x0, 0x0, 0x0, 0xe, 0x0, 0x96, 0x0, 0x0, 0x7, 0x3a, 0x5, 0xdc, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x13, 0x0, 0x17, 0x0, 0x1b, 0x0, 0x1f, 0x0, 0x23, 0x0, 0x27, 0x0, 0x2b, 0x0, 0x2f, 0x0, 0x33, 0x0, 0x37, 0x1, 0xe0, 0xb7, 0x2f, 0x24, 0x30, 0x28, 0x37, 0x2c, 0x34, 0x38, 0x10, 0xdc, 0x3c, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0xb6, 0x1f, 0x23, 0x2b, 0x20, 0x33, 0x1c, 0x27, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0xdc, 0x3c, 0xb6, 0x14, 0xc, 0x1b, 0x13, 0x8, 0x10, 0x18, 0xdc, 0x3c, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0xb6, 0x3, 0x7, 0xf, 0x4, 0x17, 0x0, 0xb, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0xdc, 0x3c, 0xb0, 0x39, 0xcc, 0xb0, 0x58, 0x0, 0x4b, 0x1, 0x52, 0x58, 0xb0, 0x38, 0x10, 0x0, 0x4b, 0x1, 0xb0, 0xa, 0x62, 0x66, 0x20, 0xb0, 0x0, 0x54, 0x58, 0xb1, 0x33, 0x30, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x40, 0x54, 0x58, 0x40, 0xa, 0x33, 0x30, 0x2f, 0x2c, 0x37, 0x34, 0x2b, 0x28, 0x27, 0x24, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x80, 0x54, 0x58, 0xb3, 0x23, 0x20, 0x2f, 0x2c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0xc0, 0x54, 0x58, 0xb3, 0x37, 0x34, 0x2f, 0x2c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb8, 0x1, 0x0, 0x54, 0x58, 0xb5, 0x2b, 0x28, 0x27, 0x24, 0x37, 0x34, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb8, 0x1, 0x40, 0x54, 0x58, 0xb3, 0x37, 0x34, 0x1f, 0x1c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb8, 0x1, 0x80, 0x54, 0x58, 0xb1, 0x1f, 0x1c, 0x3c, 0x3c, 0x59, 0x20, 0xb8, 0x1, 0xc0, 0x54, 0x58, 0xb7, 0x2b, 0x28, 0x33, 0x30, 0x37, 0x34, 0x2f, 0x2c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0xb8, 0x10, 0x0, 0x62, 0xb8, 0x2, 0x80, 0x63, 0x0, 0x4b, 0x1, 0x23, 0x61, 0x20, 0xb0, 0x0, 0x54, 0x58, 0xb1, 0x17, 0x14, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x1, 0x54, 0x58, 0x40, 0xa, 0xf, 0xc, 0x1b, 0x18, 0x17, 0x14, 0x13, 0x10, 0xb, 0x8, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x2, 0x54, 0x58, 0xb3, 0x7, 0x4, 0x13, 0x10, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x3, 0x54, 0x58, 0xb3, 0x13, 0x10, 0x1b, 0x18, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x4, 0x54, 0x58, 0xb5, 0x1b, 0x18, 0xb, 0x8, 0xf, 0xc, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x5, 0x54, 0x58, 0xb3, 0x3, 0x0, 0x1b, 0x18, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x6, 0x54, 0x58, 0xb1, 0x3, 0x0, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x7, 0x54, 0x58, 0xb7, 0x13, 0x10, 0x17, 0x14, 0x1b, 0x18, 0xf, 0xc, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0xb0, 0x9, 0x54, 0x58, 0xb1, 0x1b, 0x18, 0x3c, 0x3c, 0x59, 0x1b, 0xb6, 0xf, 0xc, 0x2b, 0x28, 0x27, 0x24, 0x38, 0x10, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0xb7, 0x7, 0x4, 0x3, 0x0, 0xb, 0x8, 0x17, 0x14, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x31, 0x0, 0xb7, 0x4, 0xd, 0x18, 0x20, 0x34, 0x29, 0xc, 0x28, 0x2f, 0x3c, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0xb5, 0x5, 0x14, 0x19, 0x21, 0x30, 0x35, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0xb5, 0x0, 0x15, 0x10, 0x1c, 0x31, 0x2c, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0xb7, 0x9, 0x25, 0x1, 0x8, 0x11, 0x1d, 0x24, 0x2d, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0xdc, 0x3c, 0x30, 0x1, 0x11, 0x33, 0x11, 0x3, 0x11, 0x33, 0x11, 0x1, 0x35, 0x21, 0x15, 0x1, 0x35, 0x21, 0x15, 0x1, 0x11, 0x33, 0x11, 0x15, 0x35, 0x21, 0x15, 0x1, 0x11, 0x33, 0x11, 0x1, 0x11, 0x33, 0x11, 0x3, 0x11, 0x33, 0x11, 0x1, 0x35, 0x21, 0x15, 0x1, 0x35, 0x21, 0x15, 0x1, 0x11, 0x33, 0x11, 0x15, 0x35, 0x21, 0x15, 0x1, 0x11, 0x33, 0x11, 0x6, 0xd6, 0x64, 0x64, 0x64, 0xfd, 0x76, 0x2, 0x26, 0xfd, 0xda, 0x2, 0x26, 0xfd, 0x76, 0x64, 0x2, 0x26, 0xfd, 0x76, 0x64, 0xfe, 0x70, 0x64, 0x64, 0x64, 0xfd, 0x76, 0x2, 0x26, 0xfd, 0xda, 0x2, 0x26, 0xfd, 0x76, 0x64, 0x2, 0x26, 0xfd, 0x76, 0x64, 0x3, 0x1b, 0x2, 0x58, 0xfd, 0xa8, 0xfd, 0x44, 0x2, 0x58, 0xfd, 0xa8, 0x5, 0x19, 0x64, 0x64, 0xfa, 0x88, 0x64, 0x64, 0x3, 0x1b, 0x2, 0x58, 0xfd, 0xa8, 0x5f, 0x64, 0x64, 0xfd, 0xa3, 0x2, 0x58, 0xfd, 0xa8, 0x2, 0xbc, 0x2, 0x58, 0xfd, 0xa8, 0xfd, 0x44, 0x2, 0x58, 0xfd, 0xa8, 0x5, 0x19, 0x64, 0x64, 0xfa, 0x88, 0x64, 0x64, 0x3, 0x1b, 0x2, 0x58, 0xfd, 0xa8, 0x5f, 0x64, 0x64, 0xfd, 0xa3, 0x2, 0x58, 0xfd, 0xa8, 0x0, 0xe, 0x0, 0x96, 0x0, 0x0, 0x7, 0x3a, 0x5, 0xdc, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x13, 0x0, 0x17, 0x0, 0x1b, 0x0, 0x1f, 0x0, 0x23, 0x0, 0x27, 0x0, 0x2b, 0x0, 0x2f, 0x0, 0x33, 0x0, 0x37, 0x1, 0xda, 0xb7, 0x2f, 0x24, 0x30, 0x28, 0x37, 0x2c, 0x34, 0x38, 0x10, 0xdc, 0x3c, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0xb6, 0x1f, 0x23, 0x2b, 0x20, 0x33, 0x1c, 0x27, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0xdc, 0x3c, 0xb6, 0x14, 0xc, 0x1b, 0x13, 0x8, 0x10, 0x18, 0xdc, 0x3c, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0xb6, 0x3, 0x7, 0xf, 0x4, 0x17, 0x0, 0xb, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0xdc, 0x3c, 0xb0, 0x39, 0xcc, 0xb0, 0x58, 0x4c, 0x52, 0x58, 0xb0, 0x38, 0x10, 0x4c, 0xb0, 0xa, 0x62, 0x66, 0x20, 0xb0, 0x0, 0x54, 0x58, 0xb1, 0x33, 0x30, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x40, 0x54, 0x58, 0x40, 0xa, 0x33, 0x30, 0x2f, 0x2c, 0x37, 0x34, 0x2b, 0x28, 0x27, 0x24, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x80, 0x54, 0x58, 0xb3, 0x23, 0x20, 0x2f, 0x2c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0xc0, 0x54, 0x58, 0xb3, 0x37, 0x34, 0x2f, 0x2c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb8, 0x1, 0x0, 0x54, 0x58, 0xb5, 0x2b, 0x28, 0x27, 0x24, 0x37, 0x34, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb8, 0x1, 0x40, 0x54, 0x58, 0xb3, 0x37, 0x34, 0x1f, 0x1c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb8, 0x1, 0x80, 0x54, 0x58, 0xb1, 0x1f, 0x1c, 0x3c, 0x3c, 0x59, 0x20, 0xb8, 0x1, 0xc0, 0x54, 0x58, 0xb7, 0x2b, 0x28, 0x33, 0x30, 0x37, 0x34, 0x2f, 0x2c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0xb8, 0x10, 0x0, 0x62, 0xb8, 0x2, 0x80, 0x63, 0x4c, 0x23, 0x61, 0x20, 0xb0, 0x0, 0x54, 0x58, 0xb1, 0x17, 0x14, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x1, 0x54, 0x58, 0x40, 0xa, 0xf, 0xc, 0x1b, 0x18, 0x17, 0x14, 0x13, 0x10, 0xb, 0x8, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x2, 0x54, 0x58, 0xb3, 0x7, 0x4, 0x13, 0x10, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x3, 0x54, 0x58, 0xb3, 0x13, 0x10, 0x1b, 0x18, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x4, 0x54, 0x58, 0xb5, 0x1b, 0x18, 0xb, 0x8, 0xf, 0xc, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x5, 0x54, 0x58, 0xb3, 0x3, 0x0, 0x1b, 0x18, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x6, 0x54, 0x58, 0xb1, 0x3, 0x0, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x7, 0x54, 0x58, 0xb7, 0x13, 0x10, 0x17, 0x14, 0x1b, 0x18, 0xf, 0xc, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0xb0, 0x9, 0x54, 0x58, 0xb1, 0x1b, 0x18, 0x3c, 0x3c, 0x59, 0x1b, 0xb6, 0xf, 0xc, 0x2b, 0x28, 0x27, 0x24, 0x38, 0x10, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0xb7, 0x7, 0x4, 0x3, 0x0, 0xb, 0x8, 0x17, 0x14, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x31, 0x0, 0xb7, 0x4, 0xd, 0x18, 0x20, 0x34, 0x29, 0xc, 0x28, 0x2f, 0x3c, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0xb5, 0x5, 0x14, 0x19, 0x21, 0x30, 0x35, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0xb5, 0x0, 0x15, 0x10, 0x1c, 0x31, 0x2c, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0xb7, 0x9, 0x25, 0x1, 0x8, 0x11, 0x1d, 0x24, 0x2d, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0xdc, 0x3c, 0x30, 0x1, 0x11, 0x33, 0x11, 0x3, 0x11, 0x33, 0x11, 0x1, 0x35, 0x21, 0x15, 0x1, 0x35, 0x21, 0x15, 0x1, 0x11, 0x33, 0x11, 0x15, 0x35, 0x21, 0x15, 0x1, 0x11, 0x33, 0x11, 0x1, 0x11, 0x33, 0x11, 0x3, 0x11, 0x33, 0x11, 0x1, 0x35, 0x21, 0x15, 0x1, 0x35, 0x21, 0x15, 0x1, 0x11, 0x33, 0x11, 0x15, 0x35, 0x21, 0x15, 0x1, 0x11, 0x33, 0x11, 0x6, 0xd6, 0x64, 0x64, 0x64, 0xfd, 0x76, 0x2, 0x26, 0xfd, 0xda, 0x2, 0x26, 0xfd, 0x76, 0x64, 0x2, 0x26, 0xfd, 0x76, 0x64, 0xfe, 0x70, 0x64, 0x64, 0x64, 0xfd, 0x76, 0x2, 0x26, 0xfd, 0xda, 0x2, 0x26, 0xfd, 0x76, 0x64, 0x2, 0x26, 0xfd, 0x76, 0x64, 0x3, 0x25, 0x2, 0x4e, 0xfd, 0xb2, 0xfd, 0x44, 0x2, 0x4e, 0xfd, 0xb2, 0x5, 0xf, 0x64, 0x64, 0xfa, 0x88, 0x64, 0x64, 0x3, 0x25, 0x2, 0x4e, 0xfd, 0xb2, 0x69, 0x64, 0x64, 0xfd, 0xad, 0x2, 0x4e, 0xfd, 0xb2, 0x2, 0xbc, 0x2, 0x4e, 0xfd, 0xb2, 0xfd, 0x44, 0x2, 0x4e, 0xfd, 0xb2, 0x5, 0xf, 0x64, 0x64, 0xfa, 0x88, 0x64, 0x64, 0x3, 0x25, 0x2, 0x4e, 0xfd, 0xb2, 0x69, 0x64, 0x64, 0xfd, 0xad, 0x2, 0x4e, 0xfd, 0xb2, 0x0, 0x0, 0x0, 0xe, 0x0, 0x96, 0x0, 0x0, 0x7, 0x3a, 0x5, 0xdc, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x13, 0x0, 0x17, 0x0, 0x1b, 0x0, 0x1f, 0x0, 0x23, 0x0, 0x27, 0x0, 0x2b, 0x0, 0x2f, 0x0, 0x33, 0x0, 0x37, 0x1, 0xe0, 0xb7, 0x2f, 0x24, 0x30, 0x28, 0x37, 0x2c, 0x34, 0x38, 0x10, 0xdc, 0x3c, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0xb6, 0x1f, 0x23, 0x2b, 0x20, 0x33, 0x1c, 0x27, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0xdc, 0x3c, 0xb6, 0x14, 0xc, 0x1b, 0x13, 0x8, 0x10, 0x18, 0xdc, 0x3c, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0xb6, 0x3, 0x7, 0xf, 0x4, 0x17, 0x0, 0xb, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0xdc, 0x3c, 0xb0, 0x39, 0xcc, 0xb0, 0x58, 0x0, 0x4c, 0x1, 0x52, 0x58, 0xb0, 0x38, 0x10, 0x0, 0x4c, 0x1, 0xb0, 0xa, 0x62, 0x66, 0x20, 0xb0, 0x0, 0x54, 0x58, 0xb1, 0x33, 0x30, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x40, 0x54, 0x58, 0x40, 0xa, 0x33, 0x30, 0x2f, 0x2c, 0x37, 0x34, 0x2b, 0x28, 0x27, 0x24, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x80, 0x54, 0x58, 0xb3, 0x23, 0x20, 0x2f, 0x2c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0xc0, 0x54, 0x58, 0xb3, 0x37, 0x34, 0x2f, 0x2c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb8, 0x1, 0x0, 0x54, 0x58, 0xb5, 0x2b, 0x28, 0x27, 0x24, 0x37, 0x34, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb8, 0x1, 0x40, 0x54, 0x58, 0xb3, 0x37, 0x34, 0x1f, 0x1c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb8, 0x1, 0x80, 0x54, 0x58, 0xb1, 0x1f, 0x1c, 0x3c, 0x3c, 0x59, 0x20, 0xb8, 0x1, 0xc0, 0x54, 0x58, 0xb7, 0x2b, 0x28, 0x33, 0x30, 0x37, 0x34, 0x2f, 0x2c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0xb8, 0x10, 0x0, 0x62, 0xb8, 0x2, 0x80, 0x63, 0x0, 0x4c, 0x1, 0x23, 0x61, 0x20, 0xb0, 0x0, 0x54, 0x58, 0xb1, 0x17, 0x14, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x1, 0x54, 0x58, 0x40, 0xa, 0xf, 0xc, 0x1b, 0x18, 0x17, 0x14, 0x13, 0x10, 0xb, 0x8, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x2, 0x54, 0x58, 0xb3, 0x7, 0x4, 0x13, 0x10, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x3, 0x54, 0x58, 0xb3, 0x13, 0x10, 0x1b, 0x18, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x4, 0x54, 0x58, 0xb5, 0x1b, 0x18, 0xb, 0x8, 0xf, 0xc, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x5, 0x54, 0x58, 0xb3, 0x3, 0x0, 0x1b, 0x18, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x6, 0x54, 0x58, 0xb1, 0x3, 0x0, 0x3c, 0x3c, 0x59, 0x20, 0xb0, 0x7, 0x54, 0x58, 0xb7, 0x13, 0x10, 0x17, 0x14, 0x1b, 0x18, 0xf, 0xc, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0xb0, 0x9, 0x54, 0x58, 0xb1, 0x1b, 0x18, 0x3c, 0x3c, 0x59, 0x1b, 0xb6, 0xf, 0xc, 0x2b, 0x28, 0x27, 0x24, 0x38, 0x10, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0xb7, 0x7, 0x4, 0x3, 0x0, 0xb, 0x8, 0x17, 0x14, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x59, 0x31, 0x0, 0xb7, 0x4, 0xd, 0x18, 0x20, 0x34, 0x29, 0xc, 0x28, 0x2f, 0x3c, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0xb5, 0x5, 0x14, 0x19, 0x21, 0x30, 0x35, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0xb5, 0x0, 0x15, 0x10, 0x1c, 0x31, 0x2c, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0xb7, 0x9, 0x25, 0x1, 0x8, 0x11, 0x1d, 0x24, 0x2d, 0xdc, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0xdc, 0x3c, 0x30, 0x1, 0x11, 0x33, 0x11, 0x3, 0x11, 0x33, 0x11, 0x1, 0x35, 0x21, 0x15, 0x1, 0x35, 0x21, 0x15, 0x1, 0x11, 0x33, 0x11, 0x15, 0x35, 0x21, 0x15, 0x1, 0x11, 0x33, 0x11, 0x1, 0x11, 0x33, 0x11, 0x3, 0x11, 0x33, 0x11, 0x1, 0x35, 0x21, 0x15, 0x1, 0x35, 0x21, 0x15, 0x1, 0x11, 0x33, 0x11, 0x15, 0x35, 0x21, 0x15, 0x1, 0x11, 0x33, 0x11, 0x6, 0xd6, 0x64, 0x64, 0x64, 0xfd, 0x76, 0x2, 0x26, 0xfd, 0xda, 0x2, 0x26, 0xfd, 0x76, 0x64, 0x2, 0x26, 0xfd, 0x76, 0x64, 0xfe, 0x70, 0x64, 0x64, 0x64, 0xfd, 0x76, 0x2, 0x26, 0xfd, 0xda, 0x2, 0x26, 0xfd, 0x76, 0x64, 0x2, 0x26, 0xfd, 0x76, 0x64, 0x3, 0x1b, 0x2, 0x58, 0xfd, 0xa8, 0xfd, 0x44, 0x2, 0x58, 0xfd, 0xa8, 0x5, 0x19, 0x64, 0x64, 0xfa, 0x88, 0x64, 0x64, 0x3, 0x1b, 0x2, 0x58, 0xfd, 0xa8, 0x5f, 0x64, 0x64, 0xfd, 0xa3, 0x2, 0x58, 0xfd, 0xa8, 0x2, 0xbc, 0x2, 0x58, 0xfd, 0xa8, 0xfd, 0x44, 0x2, 0x58, 0xfd, 0xa8, 0x5, 0x19, 0x64, 0x64, 0xfa, 0x88, 0x64, 0x64, 0x3, 0x1b, 0x2, 0x58, 0xfd, 0xa8, 0x5f, 0x64, 0x64, 0xfd, 0xa3, 0x2, 0x58, 0xfd, 0xa8, 0x0, 0x1, 0x0, 0x6e, 0xff, 0xe2, 0x4, 0x36, 0x6, 0x9f, 0x0, 0x15, 0x0, 0x0, 0x1, 0x15, 0x10, 0x21, 0x20, 0x11, 0x35, 0x13, 0x33, 0x3, 0x15, 0x10, 0x21, 0x20, 0x11, 0x35, 0x34, 0x0, 0x11, 0x33, 0x16, 0x0, 0x4, 0x36, 0xfe, 0x26, 0xfe, 0x12, 0x3b, 0xc8, 0x45, 0x1, 0x30, 0x1, 0x26, 0xfe, 0xf, 0xb5, 0x1, 0x1, 0xef, 0x2, 0xa1, 0x9f, 0xfd, 0xe0, 0x2, 0x25, 0x8b, 0x1, 0x9, 0xfe, 0xda, 0x73, 0xfe, 0x80, 0x1, 0x8a, 0xb8, 0xf9, 0x1, 0xcb, 0x1, 0x17, 0xc5, 0xfe, 0x7, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6e, 0xff, 0xe2, 0x4, 0x36, 0x6, 0x9f, 0x0, 0x9, 0x0, 0x1c, 0x0, 0x0, 0x1, 0x12, 0x25, 0x4, 0x3, 0x15, 0x10, 0x21, 0x20, 0x11, 0x37, 0x15, 0x10, 0x20, 0x11, 0x35, 0x10, 0x25, 0x33, 0x36, 0x27, 0x26, 0x27, 0x33, 0x14, 0x16, 0x7, 0x33, 0x4, 0x3, 0x82, 0x1, 0xfe, 0xc9, 0xfe, 0xe1, 0x1, 0x1, 0x26, 0x1, 0x30, 0xb4, 0xfc, 0x38, 0x1, 0x93, 0x14, 0x34, 0x86, 0x85, 0x2, 0xcf, 0xda, 0x25, 0x14, 0x1, 0x60, 0x2, 0x9d, 0x1, 0x67, 0xb, 0x8, 0xfe, 0x82, 0x55, 0xfe, 0x4e, 0x1, 0xad, 0x4b, 0x37, 0xfd, 0x9f, 0x2, 0x61, 0x3c, 0x1, 0xeb, 0x3d, 0xa3, 0x51, 0x52, 0xb2, 0x6c, 0x9e, 0xf3, 0x45, 0x0, 0x2, 0x0, 0x6e, 0xff, 0xe2, 0x4, 0x8f, 0x6, 0xb3, 0x0, 0x9, 0x0, 0x21, 0x0, 0x0, 0x1, 0x10, 0x21, 0x20, 0x11, 0x15, 0x10, 0x21, 0x20, 0x11, 0x37, 0x15, 0x10, 0x21, 0x20, 0x11, 0x35, 0x10, 0x25, 0x33, 0x36, 0x27, 0x36, 0x23, 0x22, 0x15, 0x23, 0x10, 0x21, 0x20, 0x3, 0x6, 0x7, 0x4, 0x3, 0xd2, 0xfe, 0xb7, 0xfe, 0xa3, 0x1, 0x58, 0x1, 0x4e, 0xbd, 0xfd, 0xf1, 0xfd, 0xee, 0x2, 0x7, 0x5e, 0x4d, 0x2, 0x1, 0xbe, 0xb6, 0xa4, 0x1, 0x57, 0x1, 0x5c, 0x1, 0xc, 0x44, 0x1, 0x26, 0x2, 0x7e, 0x1, 0xa4, 0xfe, 0x62, 0x5f, 0xfe, 0x5d, 0x1, 0xa3, 0x61, 0x57, 0xfd, 0xb3, 0x2, 0x3e, 0x78, 0x1, 0xd6, 0x4e, 0x5c, 0x61, 0x9a, 0xc4, 0x1, 0x64, 0xfe, 0xc1, 0x8b, 0x55, 0x72, 0x0, 0x0, 0x2, 0x0, 0x6e, 0x0, 0x0, 0x6, 0xaf, 0x6, 0xb3, 0x0, 0x24, 0x0, 0x2e, 0x0, 0x0, 0x25, 0x36, 0x37, 0x0, 0x11, 0x35, 0x10, 0x21, 0x32, 0x17, 0x36, 0x21, 0x20, 0x11, 0x15, 0x10, 0x5, 0x24, 0x11, 0x35, 0x34, 0x37, 0x26, 0x23, 0x20, 0x11, 0x15, 0x10, 0x1, 0x17, 0x4, 0x17, 0x21, 0x26, 0x27, 0x24, 0x7, 0x1, 0x10, 0x21, 0x20, 0x3, 0x15, 0x2, 0x5, 0x24, 0x13, 0x1, 0xd, 0x63, 0x7f, 0xfe, 0x7f, 0x1, 0xb9, 0xa9, 0x9f, 0x65, 0x1, 0x2, 0x1, 0xd9, 0xfe, 0x27, 0xfe, 0x34, 0x27, 0x54, 0xad, 0xfe, 0xfb, 0x1, 0xa8, 0xd4, 0x1, 0x87, 0x38, 0xfe, 0xf8, 0xd, 0xee, 0xfe, 0xfe, 0xf5, 0x4, 0x85, 0xfe, 0xe5, 0xfe, 0xef, 0x1, 0x1, 0x1, 0x13, 0x1, 0x1a, 0x1, 0xc3, 0x4e, 0x21, 0x1, 0x56, 0x1, 0xc6, 0x6d, 0x1, 0xf8, 0xb3, 0xa9, 0xfd, 0xff, 0x95, 0xfd, 0xd2, 0x1e, 0x1c, 0x2, 0x30, 0x77, 0x5f, 0x8c, 0x9a, 0xfe, 0xb7, 0x63, 0xfe, 0x2d, 0xfe, 0xb1, 0x18, 0x53, 0xd6, 0x52, 0x40, 0x40, 0xb4, 0x4, 0x5d, 0x1, 0x8f, 0xfe, 0x9e, 0x9a, 0xfe, 0x77, 0x1d, 0x1c, 0x1, 0x6c, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6f, 0xff, 0xe2, 0x4, 0x36, 0x6, 0xb3, 0x0, 0x17, 0x0, 0x0, 0x1, 0x10, 0x21, 0x20, 0x1b, 0x1, 0x33, 0x3, 0x10, 0x21, 0x4, 0x19, 0x1, 0x34, 0x21, 0x22, 0x11, 0x17, 0x23, 0x3, 0x10, 0x21, 0x20, 0x11, 0x4, 0x36, 0xfe, 0x16, 0xfe, 0x22, 0x1, 0x5a, 0xd0, 0x6e, 0x1, 0x27, 0x1, 0x3a, 0xfe, 0xe4, 0xf3, 0x53, 0xbe, 0x45, 0x1, 0xb2, 0x1, 0xb7, 0x1, 0xc8, 0xfe, 0x1a, 0x1, 0xe9, 0x1, 0x2f, 0xfe, 0xd1, 0xfe, 0xb7, 0x1, 0x1, 0x4f, 0x3, 0x73, 0xd1, 0xfe, 0xff, 0xf6, 0x1, 0xd, 0x1, 0x89, 0xfe, 0x8b, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6e, 0xff, 0xe2, 0x4, 0x36, 0x6, 0xb3, 0x0, 0x21, 0x0, 0x0, 0x1, 0x6, 0x7, 0x16, 0x1d, 0x1, 0x10, 0x20, 0x11, 0x13, 0x33, 0x3, 0x10, 0x21, 0x20, 0x11, 0x35, 0x34, 0x27, 0x23, 0x35, 0x33, 0x36, 0x3, 0x34, 0x23, 0x4, 0x7, 0x17, 0x23, 0x27, 0x10, 0x21, 0x20, 0x4, 0xe, 0x5, 0xcd, 0xfa, 0xfc, 0x38, 0x35, 0xc4, 0x3c, 0x1, 0x27, 0x1, 0x30, 0xbe, 0xaa, 0x5b, 0xdc, 0x2, 0xfc, 0xfe, 0xfe, 0x3, 0x25, 0xba, 0x19, 0x1, 0xb3, 0x1, 0xbb, 0x5, 0x1b, 0xe6, 0x7c, 0x73, 0xfe, 0x7d, 0xfe, 0x17, 0x2, 0x1, 0x1, 0x17, 0xfe, 0xe0, 0xfe, 0xa8, 0x1, 0x4e, 0x73, 0xcd, 0x28, 0xa9, 0x50, 0x1, 0xa, 0xda, 0x1, 0xf5, 0x9a, 0x9e, 0x1, 0x90, 0x0, 0x0, 0x3, 0x0, 0x6e, 0xff, 0xe2, 0x4, 0xcb, 0x6, 0xb3, 0x0, 0x9, 0x0, 0x13, 0x0, 0x26, 0x0, 0x0, 0x1, 0x12, 0x7, 0x22, 0x15, 0x14, 0x17, 0x36, 0x37, 0x33, 0x1, 0x10, 0x21, 0x20, 0x11, 0x15, 0x10, 0x21, 0x20, 0x11, 0x37, 0x15, 0x10, 0x21, 0x20, 0x11, 0x35, 0x34, 0x37, 0x26, 0x35, 0x10, 0x21, 0x20, 0x11, 0x14, 0x7, 0x33, 0x4, 0x2, 0xd1, 0x2, 0xd6, 0xd1, 0x68, 0x66, 0xc0, 0x12, 0x1, 0x3d, 0xfe, 0xc8, 0xfe, 0xb4, 0x1, 0x47, 0x1, 0x3d, 0xc2, 0xfd, 0xff, 0xfd, 0xfd, 0x65, 0xbe, 0x1, 0x85, 0x1, 0x91, 0xc, 0xb, 0x1, 0x48, 0x4, 0xde, 0x1, 0x36, 0x1, 0xdf, 0xb4, 0x5f, 0x63, 0x9, 0xfd, 0xe5, 0x1, 0x88, 0xfe, 0x76, 0x4b, 0xfe, 0x5d, 0x1, 0x9b, 0x58, 0x4b, 0xfd, 0xb8, 0x2, 0x52, 0x46, 0x8d, 0xbc, 0x94, 0xce, 0x1, 0x8e, 0xfe, 0x2e, 0x25, 0x40, 0x7f, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6e, 0xff, 0xe2, 0x6, 0xa0, 0x6, 0xb3, 0x0, 0x9, 0x0, 0x22, 0x0, 0x0, 0x1, 0x10, 0x21, 0x20, 0x19, 0x1, 0x10, 0x21, 0x20, 0x11, 0x25, 0x2, 0x3, 0x21, 0x24, 0x13, 0x11, 0x10, 0x23, 0x22, 0x3, 0x11, 0x10, 0x21, 0x20, 0x19, 0x1, 0x10, 0x21, 0x36, 0x17, 0x36, 0x33, 0x20, 0x13, 0x3, 0x49, 0xfe, 0xf3, 0xfe, 0xed, 0x1, 0x13, 0x1, 0xd, 0x3, 0x57, 0xa, 0xcc, 0xfe, 0xf7, 0x1, 0x8, 0x17, 0xf2, 0xd7, 0x13, 0xfe, 0x2e, 0xfe, 0x3c, 0x1, 0xce, 0xe0, 0x95, 0x73, 0xf7, 0x1, 0x83, 0x2, 0x4, 0x92, 0x1, 0x82, 0xfe, 0x7e, 0xfd, 0x93, 0xfe, 0x5c, 0x1, 0xa4, 0x9b, 0xfe, 0x46, 0xfe, 0xfa, 0xe5, 0x1, 0xdb, 0x1, 0xd2, 0x1, 0x79, 0xfe, 0xed, 0xfd, 0x2d, 0xfd, 0xbd, 0x2, 0x43, 0x2, 0x6d, 0x2, 0x21, 0x2, 0xe6, 0xda, 0xfd, 0xe9, 0x0, 0x0, 0x1, 0x0, 0x6e, 0x0, 0x0, 0x4, 0x3, 0x6, 0xb3, 0x0, 0x15, 0x0, 0x0, 0x1, 0x10, 0x3, 0x23, 0x12, 0x19, 0x1, 0x10, 0x23, 0x20, 0x19, 0x1, 0x10, 0x13, 0x23, 0x2, 0x19, 0x1, 0x10, 0x21, 0x20, 0x11, 0x4, 0x3, 0x9b, 0xc6, 0xa4, 0xf5, 0xfe, 0xdb, 0xae, 0xc8, 0xa4, 0x1, 0xe3, 0x1, 0xb2, 0x2, 0xfb, 0xfe, 0x8a, 0xfe, 0x7b, 0x1, 0x43, 0x1, 0xb8, 0x1, 0x9a, 0x1, 0x7e, 0xfe, 0x82, 0xfe, 0x66, 0xfe, 0x53, 0xfe, 0xb2, 0x1, 0x79, 0x1, 0x82, 0x1, 0x9a, 0x2, 0x1e, 0xfd, 0xe2, 0x0, 0x0, 0x1, 0x0, 0x6e, 0xff, 0xe2, 0x4, 0x36, 0x6, 0xa0, 0x0, 0x1c, 0x0, 0x0, 0x1, 0x2, 0x21, 0x20, 0x11, 0x13, 0x33, 0x3, 0x10, 0x5, 0x20, 0x11, 0x35, 0x10, 0x2b, 0x1, 0x35, 0x33, 0x24, 0x35, 0x34, 0x27, 0x21, 0x16, 0x15, 0x10, 0x7, 0x16, 0x11, 0x4, 0x36, 0x1, 0xfe, 0x1d, 0xfe, 0x1c, 0x2b, 0xce, 0x3c, 0x1, 0x27, 0x1, 0x30, 0xd2, 0xdc, 0xaf, 0x0, 0xff, 0xc8, 0x1, 0x18, 0x64, 0xfa, 0xfa, 0x1, 0xc6, 0xfe, 0x1c, 0x1, 0xf3, 0x1, 0x24, 0xfe, 0xdc, 0xfe, 0xae, 0x1, 0x1, 0x44, 0x78, 0x1, 0x3c, 0xa8, 0x81, 0xaf, 0x95, 0xb9, 0xbe, 0x6d, 0xfe, 0xf7, 0x64, 0x63, 0xfe, 0x9e, 0x0, 0x0, 0x1, 0x0, 0x6e, 0x0, 0x0, 0x8, 0xeb, 0x6, 0xb3, 0x0, 0x35, 0x0, 0x0, 0x25, 0x36, 0x37, 0x24, 0x3, 0x35, 0x10, 0x21, 0x32, 0x17, 0x36, 0x20, 0x17, 0x36, 0x33, 0x20, 0x11, 0x15, 0x14, 0x3, 0x23, 0x12, 0x3d, 0x1, 0x12, 0x23, 0x20, 0x15, 0x11, 0x23, 0x11, 0x10, 0x23, 0x6, 0x15, 0x11, 0x23, 0x11, 0x26, 0x21, 0x22, 0x11, 0x15, 0x12, 0x5, 0x36, 0x17, 0x4, 0x1, 0x21, 0x26, 0x25, 0x24, 0x1, 0x1, 0x5d, 0x73, 0x91, 0xfe, 0x3d, 0x30, 0x1, 0xb7, 0xe8, 0x70, 0x64, 0x1, 0x9e, 0x6d, 0x5e, 0xf3, 0x1, 0xae, 0xdf, 0xcd, 0xfc, 0x1, 0xfd, 0xff, 0x0, 0xac, 0xe3, 0xdb, 0xad, 0x2, 0xfe, 0xfe, 0xf8, 0x2d, 0x1, 0xb2, 0x7a, 0x90, 0x2, 0xe, 0x1, 0x12, 0xfe, 0xd0, 0x28, 0xfe, 0x99, 0xfe, 0x9b, 0xfe, 0xc9, 0xa6, 0x78, 0x43, 0xf3, 0x1, 0xf0, 0x7b, 0x1, 0xeb, 0xb2, 0xbb, 0xbb, 0xb2, 0xfe, 0x1f, 0x67, 0xba, 0xfe, 0x64, 0x1, 0xb1, 0xc8, 0x3f, 0x1, 0x47, 0xe7, 0xfe, 0x5a, 0x1, 0xa6, 0x1, 0x0, 0x2, 0xfe, 0xfe, 0x5a, 0x1, 0xa6, 0xe7, 0xfe, 0xb7, 0x79, 0xfe, 0x41, 0xe9, 0x17, 0xb, 0x23, 0xfe, 0x76, 0xa5, 0x5c, 0x5b, 0xfe, 0xc3, 0x0, 0x0, 0x2, 0x0, 0x6e, 0xff, 0xe2, 0x4, 0x34, 0x6, 0xb3, 0x0, 0x9, 0x0, 0x1e, 0x0, 0x0, 0x1, 0x11, 0x26, 0x27, 0x20, 0x11, 0x15, 0x10, 0x5, 0x20, 0x13, 0x10, 0x21, 0x20, 0x11, 0x35, 0x10, 0x25, 0x32, 0x17, 0x35, 0x34, 0x21, 0x22, 0x6, 0x7, 0x23, 0x10, 0x21, 0x20, 0x11, 0x3, 0x8b, 0x6a, 0xb8, 0xfe, 0xc3, 0x1, 0x3a, 0x1, 0x25, 0xa9, 0xfe, 0x32, 0xfe, 0x8, 0x1, 0xe3, 0x9e, 0x9d, 0xfe, 0xe1, 0x99, 0x7b, 0x1, 0xb2, 0x1, 0xba, 0x1, 0xd4, 0x1, 0xda, 0x1, 0xcb, 0x3f, 0x1, 0xfe, 0xc1, 0xb8, 0xfe, 0x95, 0x1, 0x1, 0x62, 0xfd, 0xfe, 0x2, 0x2, 0xae, 0x1, 0xee, 0x14, 0x4a, 0xd1, 0xf9, 0x71, 0x6c, 0x1, 0x7c, 0xfe, 0x63, 0x0, 0x0, 0x2, 0x0, 0x82, 0xff, 0xe2, 0x4, 0x4a, 0x6, 0xa0, 0x0, 0x9, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x10, 0x21, 0x22, 0x7, 0x11, 0x10, 0x21, 0x20, 0x11, 0x37, 0x15, 0x10, 0x21, 0x20, 0x19, 0x1, 0x10, 0x29, 0x1, 0x15, 0x21, 0x22, 0x1d, 0x1, 0x36, 0x33, 0x20, 0x3, 0x96, 0xfe, 0xc9, 0xa8, 0x81, 0x1, 0x35, 0x1, 0x2b, 0xb4, 0xfe, 0x15, 0xfe, 0x23, 0x1, 0x51, 0x2, 0x3, 0xfe, 0x2, 0xac, 0xa9, 0x8c, 0x1, 0xe9, 0x2, 0xab, 0x1, 0x4f, 0x4b, 0xfe, 0x26, 0xfe, 0xad, 0x1, 0x44, 0xfe, 0xfa, 0xfe, 0x18, 0x1, 0xe8, 0x3, 0x54, 0x1, 0x82, 0xa0, 0xe6, 0xc7, 0x55, 0x0, 0x0, 0x1, 0x0, 0x6e, 0x0, 0x0, 0x6, 0x86, 0x6, 0xb3, 0x0, 0x20, 0x0, 0x0, 0x1, 0x10, 0x1, 0x23, 0x0, 0x19, 0x1, 0x10, 0x21, 0x22, 0x19, 0x1, 0x23, 0x11, 0x10, 0x21, 0x22, 0x19, 0x1, 0x10, 0x1, 0x23, 0x0, 0x19, 0x1, 0x10, 0x21, 0x32, 0x17, 0x36, 0x33, 0x20, 0x11, 0x6, 0x86, 0xfe, 0xc7, 0xe0, 0x1, 0x5e, 0xfe, 0xf2, 0xe5, 0xb7, 0xfe, 0xf7, 0xeb, 0x1, 0x3e, 0xd7, 0xfe, 0xda, 0x1, 0xbe, 0xde, 0x78, 0x82, 0xb9, 0x1, 0xc9, 0x2, 0xc2, 0xfe, 0x66, 0xfe, 0xd8, 0x1, 0x6e, 0x1, 0x55, 0x1, 0xcf, 0x1, 0x83, 0xfe, 0xcf, 0xfd, 0x82, 0x2, 0x87, 0x1, 0x28, 0xfe, 0x7d, 0xfe, 0x31, 0xfe, 0xa7, 0xfe, 0x96, 0x1, 0x28, 0x1, 0x9b, 0x1, 0xcf, 0x2, 0x21, 0xf0, 0xf0, 0xfd, 0xdf, 0x0, 0x1, 0x0, 0x6e, 0xff, 0xe2, 0x4, 0x36, 0x6, 0x9f, 0x0, 0x1e, 0x0, 0x0, 0x1, 0x15, 0x10, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x10, 0x21, 0x20, 0x11, 0x35, 0x34, 0x27, 0x23, 0x35, 0x33, 0x24, 0x35, 0x34, 0x24, 0x35, 0x33, 0x14, 0x4, 0x15, 0x14, 0x7, 0x4, 0x4, 0x36, 0xfe, 0x30, 0xfe, 0x8, 0x14, 0xc7, 0x1d, 0x1, 0x35, 0x1, 0x21, 0xb0, 0xda, 0x73, 0x1, 0x3, 0xfe, 0x5d, 0xdc, 0x1, 0x7b, 0xeb, 0x0, 0xff, 0x1, 0xd7, 0x25, 0xfe, 0x30, 0x1, 0xdf, 0xb3, 0xb3, 0xfe, 0xc1, 0x1, 0x3f, 0x43, 0xc0, 0x2d, 0xb6, 0x3f, 0xb0, 0xa3, 0x72, 0xf4, 0x96, 0x8e, 0xdd, 0xb2, 0x79, 0x6e, 0x0, 0x0, 0x1, 0x0, 0x6e, 0xff, 0xe2, 0x4, 0x35, 0x6, 0xc1, 0x0, 0x16, 0x0, 0x0, 0x1, 0x10, 0x25, 0x20, 0x11, 0x33, 0x10, 0x21, 0x20, 0x19, 0x1, 0x5, 0x4, 0x15, 0x10, 0x25, 0x35, 0x4, 0x27, 0x36, 0x25, 0x35, 0x25, 0x4, 0x35, 0xfe, 0x18, 0xfe, 0x21, 0xbe, 0x1, 0x21, 0x1, 0x33, 0xfd, 0xd7, 0x1, 0x60, 0xfd, 0xb8, 0x1, 0xa2, 0x1, 0x2, 0xfe, 0x5d, 0x3, 0xc6, 0x1, 0xd1, 0xfe, 0xf, 0x2, 0x2, 0x4a, 0xfe, 0x56, 0x1, 0x4f, 0x4, 0x3b, 0x32, 0x78, 0xd6, 0xfe, 0x7d, 0x2, 0xb2, 0x2, 0xce, 0xb0, 0x5f, 0xa7, 0x82, 0x0, 0x1, 0x0, 0x6e, 0x0, 0x0, 0x6, 0xe1, 0x6, 0xb3, 0x0, 0x26, 0x0, 0x0, 0x1, 0x15, 0x10, 0x1, 0x23, 0x0, 0x11, 0x35, 0x10, 0x25, 0x20, 0x3, 0x11, 0x23, 0x11, 0x10, 0x21, 0x20, 0x11, 0x15, 0x10, 0x1, 0x23, 0x0, 0x11, 0x35, 0x10, 0x25, 0x24, 0x21, 0x15, 0x24, 0x3, 0x37, 0x20, 0x17, 0x36, 0x33, 0x20, 0x6, 0xe1, 0xfe, 0xa2, 0xef, 0x1, 0x87, 0xfe, 0xfb, 0xfe, 0xf5, 0x1, 0xc0, 0xfe, 0xe6, 0xfe, 0xfc, 0x1, 0x94, 0xeb, 0xfe, 0x99, 0x1, 0x14, 0x1, 0x15, 0x2, 0xca, 0xfc, 0xf2, 0xb0, 0x7d, 0x1, 0xa, 0x8a, 0x75, 0xdb, 0x1, 0xdc, 0x3, 0x1e, 0x7c, 0xfe, 0x62, 0xfe, 0xfc, 0x1, 0x62, 0x1, 0x49, 0x8c, 0x1, 0x4b, 0x2, 0xfe, 0xd7, 0xfe, 0xa2, 0x1, 0x5e, 0x1, 0x28, 0xfe, 0xb4, 0x95, 0xfe, 0xc1, 0xfe, 0x9d, 0x1, 0x4, 0x1, 0x9e, 0x77, 0x1, 0xa3, 0xfc, 0xfb, 0xa0, 0x1, 0xfe, 0xd8, 0x34, 0xf4, 0xf4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x82, 0xff, 0xe2, 0x4, 0x4a, 0x6, 0x9f, 0x0, 0x15, 0x0, 0x0, 0x1, 0x15, 0x10, 0x21, 0x20, 0x19, 0x1, 0x33, 0x11, 0x10, 0x21, 0x20, 0x11, 0x35, 0x34, 0x2, 0x27, 0x37, 0x33, 0x7, 0x14, 0x0, 0x4, 0x4a, 0xfe, 0x15, 0xfe, 0x23, 0xb4, 0x1, 0x2b, 0x1, 0x35, 0xfc, 0x3, 0x2d, 0xc8, 0x4a, 0x1, 0x8, 0x2, 0x7, 0x2d, 0xfe, 0x8, 0x2, 0x52, 0x4, 0x6b, 0xfb, 0x6d, 0xfe, 0x76, 0x1, 0x49, 0x4b, 0xb3, 0x1, 0x26, 0x99, 0xd9, 0xe6, 0x7c, 0xfe, 0xfb, 0x0, 0x0, 0x1, 0x0, 0x6e, 0xff, 0xe2, 0x5, 0x6a, 0x6, 0xb3, 0x0, 0x24, 0x0, 0x0, 0x1, 0xe, 0x1, 0x7, 0x11, 0x16, 0x12, 0x33, 0x32, 0x12, 0x35, 0x11, 0x34, 0x2, 0x27, 0x23, 0x13, 0x23, 0x13, 0x35, 0x33, 0x15, 0x33, 0x4, 0x12, 0x7, 0x11, 0x16, 0x0, 0x21, 0x20, 0x0, 0x35, 0x11, 0x34, 0x12, 0x37, 0x2, 0xa, 0x84, 0x58, 0x2, 0x1, 0xd1, 0xf1, 0xef, 0xcd, 0xd6, 0x92, 0x12, 0x14, 0xbb, 0x14, 0x93, 0x12, 0x1, 0x2e, 0xfa, 0x1, 0x1, 0xfe, 0xd7, 0xfe, 0xa9, 0xfe, 0xbc, 0xfe, 0xc7, 0xc0, 0xdc, 0x5, 0xa7, 0x2f, 0xf0, 0xb3, 0xfe, 0xbd, 0x98, 0xfe, 0x88, 0x1, 0x77, 0x99, 0x1, 0x40, 0xb6, 0x1, 0x44, 0x2, 0xfc, 0xed, 0x3, 0x11, 0xe7, 0x44, 0x5c, 0xfe, 0x75, 0xb1, 0xfe, 0xb6, 0xd1, 0xfe, 0x26, 0x1, 0xd6, 0xd5, 0x1, 0x49, 0xb0, 0x1, 0x8d, 0x52, 0x0, 0x0, 0x1, 0x0, 0x32, 0xff, 0xe1, 0x4, 0x27, 0x6, 0xb3, 0x0, 0x1e, 0x0, 0x0, 0x1, 0x12, 0x21, 0x20, 0x3, 0x13, 0x33, 0x3, 0x10, 0x21, 0x20, 0x19, 0x1, 0x26, 0x23, 0x22, 0x17, 0x11, 0x23, 0x11, 0x26, 0x27, 0x23, 0x35, 0x33, 0x32, 0x17, 0x36, 0x33, 0x20, 0x11, 0x4, 0x27, 0x1, 0xfe, 0x34, 0xfe, 0x8, 0x4, 0x38, 0xcb, 0x44, 0x1, 0x42, 0x1, 0x1d, 0x1, 0xc2, 0xa7, 0x2, 0x9f, 0x14, 0x9e, 0x93, 0x8c, 0x9b, 0x4b, 0x69, 0xa9, 0x1, 0x71, 0x1, 0xee, 0xfd, 0xf3, 0x1, 0xea, 0x1, 0x2e, 0xfe, 0xd7, 0xfe, 0xb2, 0x1, 0x35, 0x3, 0xb4, 0xa9, 0x54, 0xfe, 0x68, 0x1, 0x4d, 0x8c, 0x13, 0x9f, 0x9f, 0x9f, 0xfe, 0x86, 0x0, 0x2, 0x0, 0x6e, 0xff, 0xe2, 0x6, 0x8c, 0x6, 0xb3, 0x0, 0x9, 0x0, 0x37, 0x0, 0x0, 0x1, 0x10, 0x21, 0x20, 0x11, 0x15, 0x10, 0x21, 0x20, 0x11, 0x1, 0x6, 0x0, 0x21, 0x23, 0x22, 0x24, 0x35, 0x33, 0x14, 0x16, 0x3b, 0x1, 0x32, 0x36, 0x35, 0x10, 0x2b, 0x1, 0x35, 0x37, 0x36, 0x35, 0x10, 0x21, 0x22, 0x7, 0x16, 0x7, 0x15, 0x10, 0x25, 0x4, 0x11, 0x35, 0x10, 0x21, 0x32, 0x17, 0x36, 0x33, 0x20, 0x11, 0x10, 0x7, 0x16, 0x3, 0x46, 0xfe, 0xef, 0xfe, 0xf7, 0x1, 0x16, 0x1, 0x4, 0x3, 0x32, 0x1, 0xfe, 0xbf, 0xfe, 0xe9, 0x64, 0xcf, 0xfe, 0xb5, 0xcb, 0xda, 0x82, 0x4a, 0xc6, 0xe8, 0x7f, 0x7c, 0x3b, 0xd4, 0xfe, 0xf7, 0x85, 0x6f, 0x26, 0x3, 0xfe, 0x49, 0xfe, 0x2b, 0x1, 0xc3, 0xfd, 0x6d, 0x8c, 0xbb, 0x1, 0xaa, 0xec, 0xd8, 0x4, 0x9e, 0x1, 0x76, 0xfe, 0x8f, 0x8b, 0xfe, 0x79, 0x1, 0x87, 0xfd, 0xc0, 0xd4, 0xfe, 0xde, 0xd9, 0x81, 0x3b, 0x80, 0xcd, 0x89, 0x1, 0x1, 0x97, 0x2, 0x89, 0xdf, 0x1, 0x35, 0x80, 0x70, 0x94, 0x72, 0xfd, 0xd7, 0x1, 0x1, 0x2, 0x29, 0x8b, 0x2, 0x10, 0xc7, 0xc1, 0xfe, 0x5a, 0xfe, 0xe5, 0x92, 0x7b, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6e, 0xff, 0xe2, 0x4, 0x35, 0x6, 0x9f, 0x0, 0x19, 0x0, 0x0, 0x1, 0x10, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x10, 0x21, 0x20, 0x19, 0x1, 0x2, 0x27, 0x6, 0x7, 0x13, 0x23, 0x27, 0x10, 0x5, 0x32, 0x13, 0x11, 0x33, 0x4, 0x35, 0xfe, 0x16, 0xfe, 0x23, 0x37, 0xcc, 0x45, 0x1, 0x21, 0x1, 0x3f, 0xd0, 0xb4, 0xc4, 0x1, 0x42, 0xb3, 0x3c, 0x1, 0x6d, 0xac, 0xdd, 0xa9, 0x1, 0xca, 0xfe, 0x18, 0x1, 0xe8, 0xdd, 0xdc, 0xfe, 0xb7, 0x1, 0x4e, 0x2, 0x24, 0x1, 0xb2, 0x2, 0x1, 0xa8, 0xfe, 0xff, 0xf9, 0x1, 0x5e, 0x2, 0xfe, 0xaa, 0x1, 0xa2, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6e, 0xff, 0xe2, 0x6, 0xbb, 0x6, 0xb3, 0x0, 0x2a, 0x0, 0x0, 0x37, 0x36, 0x37, 0x0, 0x11, 0x35, 0x10, 0x21, 0x32, 0x13, 0x12, 0x33, 0x20, 0x13, 0x15, 0x6, 0x3, 0x23, 0x12, 0x3d, 0x1, 0x10, 0x21, 0x20, 0x19, 0x1, 0x23, 0x11, 0x10, 0x20, 0x13, 0x15, 0x2, 0x1, 0x16, 0x17, 0x4, 0x17, 0x21, 0x26, 0x27, 0x24, 0x5, 0xfc, 0x78, 0x9a, 0xfe, 0x60, 0x1, 0xc6, 0xd9, 0x89, 0x78, 0xe6, 0x1, 0xc6, 0x1, 0x2, 0xaf, 0xe5, 0xd6, 0xfe, 0xfd, 0xfe, 0xf1, 0xab, 0xfd, 0xec, 0x2, 0x1, 0x1, 0xb3, 0x76, 0x53, 0x1, 0xa5, 0x38, 0xfe, 0xf8, 0x3, 0xfd, 0xfe, 0xef, 0xfe, 0xdf, 0xb1, 0x62, 0x22, 0x1, 0x1c, 0x2, 0x20, 0x4b, 0x1, 0xf7, 0xfe, 0xf9, 0x1, 0x7, 0xfe, 0x20, 0x61, 0xeb, 0xfe, 0x94, 0x1, 0x60, 0xf2, 0x54, 0x1, 0x54, 0xfe, 0x72, 0xfe, 0xc0, 0x1, 0x40, 0x1, 0x8d, 0xfe, 0xa8, 0x6d, 0xfe, 0x4d, 0xfe, 0xad, 0x4, 0x12, 0x70, 0xe1, 0x52, 0x63, 0x45, 0xbe, 0x0, 0x1, 0x0, 0x6e, 0xff, 0xe2, 0x4, 0x34, 0x6, 0xa1, 0x0, 0x1d, 0x0, 0x0, 0x1, 0x10, 0x21, 0x20, 0x11, 0x13, 0x33, 0x3, 0x10, 0x21, 0x20, 0x19, 0x1, 0x6, 0x7, 0x4, 0x11, 0x35, 0x34, 0x37, 0x33, 0x6, 0x1d, 0x1, 0x10, 0x5, 0x36, 0x37, 0x11, 0x33, 0x4, 0x34, 0xfe, 0x19, 0xfe, 0x21, 0x1e, 0xc2, 0x22, 0x1, 0x21, 0x1, 0x3f, 0xa5, 0x90, 0xfe, 0x35, 0x90, 0xe1, 0xb3, 0x1, 0x3, 0xa4, 0x9b, 0xa8, 0x1, 0xc5, 0xfe, 0x1d, 0x1, 0xbb, 0x1, 0x9, 0xfe, 0xf3, 0xfe, 0xe9, 0x1, 0x44, 0x1, 0xf8, 0x63, 0xb, 0x2, 0x1, 0xb9, 0x28, 0xa9, 0xc9, 0xd4, 0x94, 0x28, 0xfe, 0xda, 0x1, 0xa, 0x74, 0x2, 0x39, 0x0, 0x0, 0x2, 0x0, 0x6e, 0xff, 0xe2, 0x4, 0x34, 0x6, 0xb3, 0x0, 0x8, 0x0, 0x23, 0x0, 0x0, 0x1, 0x11, 0x26, 0x23, 0x20, 0x11, 0x15, 0x2, 0x20, 0x13, 0x10, 0x21, 0x20, 0x11, 0x35, 0x12, 0x21, 0x16, 0x17, 0x11, 0x34, 0x23, 0x22, 0x1d, 0x1, 0x23, 0x35, 0x34, 0x21, 0x35, 0x20, 0x17, 0x36, 0x33, 0x20, 0x11, 0x3, 0x8c, 0x73, 0xc7, 0xfe, 0xdb, 0x1, 0x2, 0x60, 0xa8, 0xfe, 0x31, 0xfe, 0x9, 0x1, 0x1, 0xe3, 0x88, 0xb2, 0xae, 0xb3, 0xa4, 0xfe, 0xe7, 0x1, 0x1c, 0x36, 0x55, 0xd4, 0x1, 0x4b, 0x1, 0xcb, 0x1, 0xc6, 0x49, 0xfe, 0x90, 0x72, 0xfe, 0x8a, 0x1, 0x5d, 0xfe, 0x3, 0x2, 0xc, 0x90, 0x1, 0xf9, 0x2, 0x3d, 0x1, 0x60, 0x7c, 0xb4, 0x3a, 0x3a, 0xb4, 0x9f, 0xc0, 0xc0, 0xfe, 0xb3, 0x0, 0x1, 0x0, 0x83, 0x0, 0x0, 0x4, 0x4a, 0x6, 0xb3, 0x0, 0x1d, 0x0, 0x0, 0x1, 0x37, 0x34, 0x23, 0x22, 0x11, 0x15, 0x36, 0x17, 0x4, 0x3, 0x15, 0x10, 0x3, 0x23, 0x12, 0x3d, 0x1, 0x10, 0x5, 0x26, 0x7, 0x11, 0x23, 0x11, 0x2, 0x21, 0x20, 0x13, 0x7, 0x2, 0x8f, 0x10, 0xa5, 0xc4, 0xae, 0x9b, 0x1, 0xcc, 0x1, 0xc0, 0xdc, 0xe8, 0xfe, 0xda, 0x81, 0xb9, 0xb3, 0x1, 0x1, 0x55, 0x1, 0x7f, 0x1, 0x14, 0x5, 0xe, 0x92, 0x75, 0xfe, 0xe6, 0xe1, 0x68, 0x4, 0x1, 0xfe, 0x3d, 0x5e, 0xfe, 0xfd, 0xfe, 0xa7, 0x1, 0x75, 0xb0, 0xae, 0x1, 0x13, 0x1, 0x1, 0x62, 0xfc, 0x7c, 0x4, 0xf0, 0x1, 0xc3, 0xfe, 0xed, 0x92, 0x0, 0x1, 0x0, 0x70, 0xff, 0xe2, 0x4, 0xc3, 0x6, 0xa0, 0x0, 0x23, 0x0, 0x0, 0x1, 0x16, 0x7, 0x4, 0x11, 0x10, 0x0, 0x20, 0x0, 0x19, 0x1, 0x2, 0x13, 0x33, 0x2, 0x15, 0x11, 0x1a, 0x1, 0x17, 0x32, 0x12, 0x35, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x24, 0x35, 0x34, 0x24, 0x37, 0x33, 0x14, 0x4, 0x4, 0x91, 0x2, 0xf8, 0x1, 0x28, 0xfe, 0xe5, 0xfe, 0x2, 0xfe, 0xc6, 0x2, 0x72, 0xd7, 0x86, 0x1, 0xcc, 0xab, 0xaf, 0xac, 0x3, 0xc0, 0xd2, 0x5a, 0x1, 0x9, 0xfe, 0xe3, 0x1, 0xb8, 0x1, 0x24, 0x5, 0x7, 0xae, 0x8c, 0x7b, 0xfe, 0xf6, 0xfe, 0xe2, 0xfe, 0xb8, 0x1, 0x48, 0x1, 0x70, 0x1, 0x9d, 0x1, 0x2c, 0x1, 0x3d, 0xfe, 0x8b, 0xf4, 0xfe, 0x63, 0xfe, 0xf6, 0xfe, 0xf2, 0x1, 0x1, 0xf, 0xad, 0xfb, 0xa3, 0x65, 0xc2, 0x81, 0x91, 0x8c, 0x54, 0x88, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6e, 0xff, 0xe2, 0x4, 0x34, 0x6, 0x9f, 0x0, 0x9, 0x0, 0x15, 0x0, 0x0, 0x1, 0x11, 0x26, 0x23, 0x20, 0x11, 0x15, 0x10, 0x21, 0x20, 0x13, 0x10, 0x21, 0x20, 0x11, 0x35, 0x10, 0x21, 0x36, 0x17, 0x11, 0x33, 0x3, 0x8c, 0x7a, 0xca, 0xfe, 0xe4, 0x1, 0x1c, 0x1, 0x44, 0xa8, 0xfe, 0x1e, 0xfe, 0x1c, 0x1, 0xe4, 0xa6, 0x94, 0xa8, 0x2, 0x7, 0x1, 0xa3, 0x50, 0xfe, 0x70, 0x59, 0xfe, 0x71, 0x1, 0x6c, 0xfd, 0xf4, 0x2, 0x3e, 0x4a, 0x2, 0x3d, 0x1, 0x52, 0x2, 0x49, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x83, 0xff, 0xe2, 0x4, 0x49, 0x6, 0xb3, 0x0, 0x1a, 0x0, 0x24, 0x0, 0x0, 0x13, 0x10, 0x21, 0x32, 0x17, 0x36, 0x21, 0x15, 0x20, 0x1d, 0x1, 0x23, 0x35, 0x34, 0x23, 0x22, 0x15, 0x11, 0x36, 0x37, 0x20, 0x13, 0x15, 0x10, 0x21, 0x20, 0x13, 0x33, 0x10, 0x21, 0x20, 0x11, 0x35, 0x10, 0x21, 0x22, 0x7, 0x83, 0x1, 0x5b, 0xc8, 0x60, 0x25, 0x1, 0x1e, 0xfe, 0xe7, 0xa4, 0xa7, 0xaf, 0xa6, 0x8a, 0x1, 0xe1, 0x2, 0xfe, 0x9, 0xfe, 0x30, 0x2, 0xb3, 0x1, 0x17, 0x1, 0x49, 0xfe, 0xcf, 0x89, 0xa6, 0x5, 0x79, 0x1, 0x3a, 0xbd, 0xbd, 0x9f, 0xa0, 0x44, 0x44, 0xa0, 0x9b, 0xfe, 0x9e, 0x55, 0x1, 0xfe, 0x11, 0x77, 0xfd, 0xdb, 0x2, 0x1b, 0xfe, 0x85, 0x1, 0x71, 0x8b, 0x1, 0x52, 0x60, 0x0, 0x2, 0x0, 0x6e, 0xff, 0xe2, 0x4, 0x5c, 0x6, 0xa0, 0x0, 0x1c, 0x0, 0x23, 0x0, 0x0, 0x1, 0x23, 0x13, 0x33, 0x15, 0x23, 0x13, 0x10, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x10, 0x21, 0x20, 0x11, 0x3, 0x23, 0x20, 0x11, 0x10, 0x21, 0x33, 0x27, 0x33, 0x17, 0x33, 0x1, 0x14, 0x3b, 0x1, 0x3, 0x23, 0x22, 0x4, 0x5b, 0xdc, 0x3f, 0x9e, 0x7e, 0x57, 0xfe, 0x16, 0xfe, 0x23, 0x3b, 0xcc, 0x48, 0x1, 0x20, 0x1, 0x35, 0x5e, 0xe1, 0xfe, 0x67, 0x1, 0x9c, 0x5e, 0x25, 0xc8, 0x22, 0xf2, 0xfc, 0xee, 0xf2, 0xd5, 0x44, 0x8e, 0xf5, 0x5, 0x69, 0xfe, 0xb9, 0x8d, 0xfe, 0x35, 0xfe, 0x18, 0x1, 0xe8, 0xdd, 0xdc, 0xfe, 0xb7, 0x1, 0x4e, 0x1, 0xc5, 0x1, 0x2d, 0x1, 0x36, 0xa8, 0xa8, 0xfe, 0xcf, 0xa5, 0x1, 0x47, 0x0, 0x0, 0x0, 0x2, 0x0, 0x82, 0xff, 0xe2, 0x4, 0x4a, 0x6, 0x9f, 0x0, 0x9, 0x0, 0x15, 0x0, 0x0, 0x1, 0x10, 0x21, 0x6, 0x7, 0x11, 0x10, 0x21, 0x20, 0x11, 0x37, 0x15, 0x10, 0x21, 0x20, 0x19, 0x1, 0x33, 0x11, 0x36, 0x33, 0x4, 0x3, 0x96, 0xfe, 0xcb, 0xa2, 0x88, 0x1, 0x39, 0x1, 0x26, 0xb4, 0xfe, 0x26, 0xfe, 0x12, 0xb5, 0xa1, 0x89, 0x1, 0xe9, 0x2, 0x8d, 0x1, 0x7f, 0x3, 0x55, 0xfe, 0x58, 0xfe, 0x76, 0x1, 0x80, 0x6e, 0x5f, 0xfd, 0xd1, 0x2, 0x25, 0x4, 0x98, 0xfd, 0xbc, 0x4e, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x32, 0xff, 0xe2, 0x3, 0xef, 0x6, 0xb3, 0x0, 0x21, 0x0, 0x0, 0x1, 0x7, 0x25, 0x3, 0x4, 0x17, 0x6, 0x4, 0x21, 0x35, 0x20, 0x36, 0x35, 0x26, 0x25, 0x27, 0x13, 0x25, 0x37, 0x5, 0x37, 0x36, 0x34, 0x26, 0x23, 0x7, 0x35, 0x33, 0x32, 0x17, 0x16, 0x14, 0xf, 0x1, 0x3, 0xef, 0x4d, 0xfe, 0xa7, 0x91, 0x1, 0x50, 0x1, 0x1, 0xfe, 0xc9, 0xfe, 0x99, 0x1, 0x17, 0xc9, 0x1, 0xfe, 0xfa, 0x73, 0xe9, 0xfe, 0x79, 0x50, 0x1, 0x81, 0x6a, 0x13, 0x4a, 0x40, 0x82, 0x9c, 0x84, 0x4a, 0x4b, 0x1e, 0x70, 0x3, 0xcc, 0x8a, 0xab, 0xfe, 0xeb, 0x6e, 0xdc, 0xc6, 0xe6, 0xa0, 0x7f, 0x7a, 0xc0, 0x28, 0x45, 0x1, 0x95, 0xbe, 0x8c, 0xc5, 0xc2, 0x1c, 0x53, 0x38, 0x13, 0x9b, 0x4b, 0x4a, 0xb2, 0x37, 0xc4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6e, 0xff, 0xe2, 0x4, 0x35, 0x6, 0xb3, 0x0, 0x26, 0x0, 0x0, 0x1, 0x10, 0x21, 0x20, 0x11, 0x33, 0x10, 0x21, 0x20, 0x11, 0x34, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x35, 0x34, 0x27, 0x23, 0x35, 0x33, 0x32, 0x35, 0x34, 0x21, 0x23, 0x35, 0x33, 0x20, 0x11, 0x14, 0x7, 0x33, 0x16, 0x15, 0x16, 0x7, 0x16, 0x4, 0x35, 0xfe, 0x18, 0xfe, 0x21, 0xbe, 0x1, 0x21, 0x1, 0x2d, 0x9a, 0xe7, 0xd3, 0x9a, 0x9a, 0xe7, 0xe7, 0x83, 0xfe, 0x6d, 0x76, 0x76, 0x2, 0x51, 0x97, 0x2, 0xa9, 0x1, 0x83, 0x96, 0x1, 0x99, 0xfe, 0x49, 0x2, 0x4, 0xfe, 0x9c, 0x1, 0x17, 0xc5, 0xb3, 0x84, 0x79, 0x1, 0xb5, 0x99, 0xb8, 0x9e, 0xfe, 0xaa, 0x9b, 0x61, 0x4e, 0x87, 0x94, 0x47, 0x6e, 0x0, 0x1, 0x0, 0x78, 0xff, 0xe2, 0x4, 0x3e, 0x6, 0xb2, 0x0, 0x26, 0x0, 0x0, 0x5, 0x20, 0x19, 0x1, 0x33, 0x11, 0x10, 0x21, 0x20, 0x11, 0x34, 0x27, 0x23, 0x35, 0x33, 0x32, 0x37, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x36, 0x35, 0x34, 0x21, 0x35, 0x20, 0x11, 0x6, 0x7, 0x23, 0x16, 0x17, 0x6, 0x7, 0x16, 0x15, 0x10, 0x2, 0x5c, 0xfe, 0x1c, 0xb5, 0x1, 0x30, 0x1, 0x27, 0x83, 0xa9, 0xa9, 0x6c, 0x5, 0x5, 0x83, 0xa6, 0xa6, 0x6f, 0xfe, 0xd7, 0x1, 0xe7, 0x1, 0x9f, 0x2, 0xb6, 0x1, 0x1, 0xad, 0xc0, 0x1e, 0x1, 0xe6, 0x4, 0x4d, 0xfb, 0xb3, 0xfe, 0xba, 0x1, 0x12, 0xe0, 0x2, 0xb1, 0x83, 0x7d, 0xb7, 0x1, 0xb4, 0x81, 0x9e, 0xfe, 0xd2, 0xa5, 0x53, 0x67, 0x7e, 0x80, 0x5c, 0x56, 0xe1, 0xfe, 0x4e, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6e, 0xff, 0x5f, 0x4, 0x36, 0x6, 0xb3, 0x0, 0x9, 0x0, 0x1f, 0x0, 0x0, 0x1, 0x10, 0x5, 0x24, 0x19, 0x1, 0x10, 0x21, 0x20, 0x11, 0x3, 0x32, 0x37, 0x23, 0x0, 0x19, 0x1, 0x10, 0x21, 0x20, 0x19, 0x1, 0x10, 0x1, 0x16, 0x33, 0x15, 0x22, 0x25, 0x23, 0x4, 0x27, 0x1, 0x2c, 0x1, 0x24, 0x1, 0x2a, 0xfe, 0xd7, 0xfe, 0xdb, 0xbe, 0xd9, 0x3f, 0x2, 0xfe, 0xea, 0x1, 0xe2, 0x1, 0xe4, 0xfe, 0xe5, 0x2e, 0xef, 0xc3, 0xfe, 0xe7, 0x15, 0xfe, 0xee, 0xc5, 0x2, 0xd2, 0xfe, 0x68, 0x78, 0x78, 0x1, 0x98, 0x1, 0xa2, 0x1, 0xa0, 0xfe, 0x60, 0xfb, 0xa9, 0x53, 0x1, 0x4, 0x1, 0x5e, 0x1, 0xa6, 0x2, 0x3b, 0xfd, 0xc1, 0xfe, 0x5e, 0xfe, 0xa2, 0xfe, 0xf8, 0x4f, 0xbe, 0xe6, 0xe7, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6e, 0xff, 0xe2, 0x4, 0x34, 0x6, 0xb5, 0x0, 0x1c, 0x0, 0x0, 0x1, 0x10, 0x21, 0x20, 0x11, 0x35, 0x33, 0x15, 0x10, 0x21, 0x20, 0x11, 0x35, 0x10, 0x2b, 0x1, 0x35, 0x33, 0x24, 0x11, 0x5, 0x15, 0x23, 0x11, 0x25, 0x10, 0x5, 0x4, 0x11, 0x4, 0x34, 0xfe, 0x17, 0xfe, 0x25, 0xbd, 0x1, 0x25, 0x1, 0x28, 0xf2, 0xe4, 0x7b, 0x1, 0x5b, 0xfd, 0xb5, 0xc1, 0x3, 0xc6, 0xfe, 0xba, 0x1, 0x46, 0x1, 0x96, 0xfe, 0x4c, 0x1, 0xd4, 0xd3, 0xdd, 0xfe, 0xd6, 0x1, 0x14, 0x9b, 0x1, 0x1a, 0xa4, 0xad, 0x1, 0x78, 0x17, 0xec, 0x1, 0x8f, 0x15, 0xfd, 0xbf, 0x9e, 0x71, 0xfe, 0xd2, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6e, 0xff, 0xe2, 0x4, 0x42, 0x6, 0xb4, 0x0, 0x20, 0x0, 0x0, 0x1, 0x10, 0x21, 0x20, 0x11, 0x35, 0x33, 0x15, 0x10, 0x21, 0x20, 0x11, 0x10, 0x21, 0x23, 0x35, 0x33, 0x24, 0x3, 0x6, 0x23, 0x4, 0x11, 0x33, 0x14, 0x21, 0x32, 0x37, 0x33, 0x15, 0x2, 0x5, 0x4, 0x4, 0x35, 0xfe, 0x18, 0xfe, 0x21, 0xbf, 0x1, 0x20, 0x1, 0x2d, 0xfe, 0xea, 0xc0, 0x6e, 0x1, 0x67, 0x2, 0xa7, 0x83, 0xfe, 0x21, 0xbe, 0x1, 0x21, 0xde, 0x7d, 0x9a, 0xb, 0xfe, 0xd5, 0x1, 0x29, 0x1, 0xc8, 0xfe, 0x1a, 0x1, 0xe6, 0x8e, 0x8e, 0xfe, 0xba, 0x1, 0x46, 0x1, 0x60, 0xad, 0x1e, 0x1, 0xbb, 0x6f, 0x2, 0x1, 0x77, 0xc6, 0xc5, 0xe1, 0xfe, 0x80, 0xa6, 0x9c, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x6e, 0xff, 0xe2, 0x4, 0xc1, 0x6, 0xb3, 0x0, 0x7, 0x0, 0xf, 0x0, 0x25, 0x0, 0x0, 0x1, 0x21, 0x24, 0x11, 0x10, 0x21, 0x20, 0x35, 0x1, 0x10, 0x29, 0x1, 0x11, 0x34, 0x21, 0x20, 0x1, 0x15, 0x10, 0x21, 0x20, 0x11, 0x10, 0x25, 0x23, 0x24, 0x11, 0x10, 0x21, 0x20, 0x11, 0x15, 0x33, 0x15, 0x23, 0x11, 0x33, 0x15, 0x3, 0x84, 0xfe, 0xc7, 0xfe, 0xe1, 0x1, 0x26, 0x1, 0x32, 0xfd, 0xa8, 0x1, 0x1f, 0x1, 0x39, 0xfe, 0xce, 0xfe, 0xda, 0x3, 0x9, 0xfe, 0x16, 0xfe, 0x23, 0x1, 0xc, 0x1, 0xfe, 0xf5, 0x1, 0xe4, 0x1, 0xe3, 0x8c, 0x8c, 0x8c, 0x2, 0xde, 0x2, 0xfe, 0xce, 0xfe, 0xd4, 0xf4, 0x3, 0x62, 0xfe, 0xba, 0x1, 0x9f, 0xe3, 0xfb, 0xda, 0x78, 0xfe, 0x6c, 0x1, 0xcc, 0x1, 0x21, 0x6a, 0x60, 0x1, 0x3f, 0x1, 0xdb, 0xfe, 0x7e, 0x97, 0xbe, 0xfe, 0xca, 0xb8, 0x0, 0x0, 0x2, 0x0, 0x6e, 0xff, 0xe2, 0x7, 0x36, 0x6, 0xb4, 0x0, 0xa, 0x0, 0x2c, 0x0, 0x0, 0x1, 0x11, 0x34, 0x26, 0x23, 0x20, 0x13, 0x11, 0x10, 0x5, 0x20, 0x13, 0x10, 0x21, 0x22, 0x27, 0x15, 0x10, 0x21, 0x35, 0x20, 0x35, 0x11, 0x10, 0x21, 0x22, 0x6, 0x1d, 0x1, 0x10, 0x21, 0x15, 0x20, 0x3, 0x35, 0x10, 0x24, 0x37, 0x20, 0x17, 0x36, 0x21, 0x4, 0x12, 0x15, 0x6, 0x7c, 0x81, 0xa6, 0xfe, 0xde, 0x2, 0x1, 0x20, 0x1, 0x27, 0xba, 0xfe, 0x18, 0x80, 0x9a, 0xfe, 0x2f, 0x1, 0x14, 0xfe, 0xda, 0x8b, 0x99, 0x1, 0x25, 0xfe, 0x1d, 0x1, 0x1, 0x18, 0xcb, 0x1, 0x4, 0x89, 0x76, 0x1, 0x1, 0x1, 0x27, 0xba, 0x3, 0xb5, 0x1, 0x3, 0xc3, 0x9a, 0xfe, 0xd9, 0xfe, 0x6b, 0xfe, 0xd4, 0x1, 0x1, 0x84, 0xfd, 0xdd, 0x87, 0x9e, 0xfe, 0x6c, 0xa0, 0xf4, 0x3, 0x78, 0x1, 0x27, 0x9b, 0xc2, 0xfd, 0xfe, 0xaf, 0xa5, 0x1, 0xf6, 0xfd, 0x1, 0x1, 0xfa, 0x1, 0xd8, 0xd8, 0x1, 0xfe, 0xc4, 0xbf, 0x0, 0x3, 0x0, 0x7a, 0xfe, 0x1e, 0x6, 0xf9, 0x6, 0x87, 0x0, 0x7, 0x0, 0xf, 0x0, 0x23, 0x0, 0x0, 0x1, 0x4, 0x7, 0x3, 0x6, 0x33, 0x32, 0x25, 0x17, 0x24, 0x37, 0x13, 0x36, 0x23, 0x22, 0x5, 0x1, 0x6, 0x5, 0x13, 0x23, 0x3, 0x4, 0x23, 0x22, 0x1b, 0x1, 0x36, 0x25, 0x3, 0x33, 0x13, 0x24, 0x33, 0x32, 0x3, 0x3, 0x9a, 0xfd, 0xfc, 0x1b, 0x42, 0x17, 0x70, 0x72, 0x1, 0x2e, 0xab, 0x2, 0x4, 0xe, 0x48, 0x1b, 0x8f, 0x5a, 0xfe, 0xe3, 0x2, 0x64, 0x20, 0xfd, 0x44, 0x5d, 0xcf, 0x5d, 0xfe, 0xc7, 0xa9, 0xd3, 0x2a, 0x48, 0x24, 0x2, 0xbc, 0x4f, 0xbe, 0x48, 0x1, 0x35, 0xc1, 0xd4, 0x2a, 0x3, 0xfc, 0x4e, 0xa8, 0xfe, 0x2c, 0xae, 0xae, 0xae, 0x46, 0x68, 0x1, 0xfa, 0xae, 0x49, 0xfd, 0xa1, 0xe0, 0x28, 0xfd, 0xf4, 0x2, 0x91, 0xaf, 0x1, 0x32, 0x1, 0xf9, 0xfa, 0x3a, 0x2, 0x28, 0xfd, 0x6a, 0x6e, 0xfe, 0xcd, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x64, 0xfe, 0x28, 0x6, 0x13, 0x6, 0xd3, 0x0, 0x30, 0x0, 0x3c, 0x0, 0x0, 0x1, 0x16, 0x0, 0x15, 0x14, 0x7, 0x4, 0x11, 0x2, 0x5, 0x24, 0x3, 0x34, 0x37, 0x27, 0x26, 0x27, 0x6, 0x11, 0x10, 0x5, 0x4, 0x17, 0x23, 0x26, 0x25, 0x6, 0x7, 0x27, 0x36, 0x37, 0x24, 0x11, 0x10, 0x25, 0x26, 0x35, 0x37, 0x17, 0x7, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x26, 0x0, 0x35, 0x1, 0x10, 0x23, 0x22, 0x7, 0x6, 0x7, 0x6, 0x15, 0x12, 0x5, 0x36, 0x3, 0x6b, 0x1, 0x1, 0x56, 0x1e, 0x1, 0x6f, 0x15, 0xfe, 0x72, 0xfe, 0x62, 0x14, 0x3c, 0x46, 0x6a, 0x55, 0xdd, 0x1, 0x65, 0x2, 0x2b, 0x5, 0xdb, 0xb, 0xfe, 0x7c, 0x96, 0x74, 0x7a, 0x6b, 0x9c, 0xfe, 0x9e, 0x1, 0x3a, 0x24, 0x26, 0xa0, 0x18, 0x97, 0x61, 0x6f, 0x80, 0x1, 0xfe, 0xac, 0x2, 0xa5, 0xef, 0x1f, 0x1b, 0x36, 0x58, 0x43, 0xa, 0x1, 0x1, 0xe5, 0x6, 0xd3, 0xa4, 0xfe, 0xe6, 0xab, 0x66, 0x45, 0x14, 0xfe, 0x2c, 0xfe, 0x20, 0x14, 0x14, 0x1, 0xeb, 0x66, 0x8e, 0xa, 0x9, 0x5c, 0x37, 0xfe, 0xb9, 0xfe, 0xac, 0xad, 0xc0, 0xde, 0xa8, 0x59, 0x3, 0x98, 0x6c, 0x67, 0x2f, 0xe9, 0x1, 0x42, 0x1, 0xbf, 0x38, 0x4d, 0x75, 0xb1, 0x38, 0x79, 0x8e, 0x90, 0x89, 0x8b, 0x7a, 0x1, 0x1b, 0xd4, 0xfb, 0xe, 0x1, 0x52, 0x5, 0x34, 0x1a, 0x5d, 0xa1, 0xfe, 0x95, 0xa, 0xa, 0x0, 0x0, 0x0, 0x2, 0x0, 0x64, 0xff, 0xe2, 0x3, 0xac, 0x6, 0x1e, 0x0, 0x3, 0x0, 0x16, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x1, 0x10, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x10, 0x33, 0x32, 0x11, 0x26, 0x24, 0x35, 0x33, 0x16, 0x17, 0x16, 0xd9, 0x2, 0x56, 0xfd, 0xaa, 0x2, 0xd3, 0xfe, 0x5b, 0xfe, 0x5d, 0x27, 0xb0, 0x23, 0xf2, 0xef, 0x1, 0xfe, 0x7a, 0xbb, 0x2, 0xbe, 0xbf, 0x6, 0x1e, 0x94, 0xfc, 0x20, 0xfe, 0x38, 0x1, 0xbe, 0xd0, 0xd0, 0xfe, 0xce, 0x1, 0x3c, 0xdd, 0xfe, 0xdd, 0xad, 0x7e, 0x7e, 0x0, 0x0, 0x3, 0x0, 0x64, 0xff, 0xe2, 0x3, 0xac, 0x6, 0x38, 0x0, 0x3, 0x0, 0x7, 0x0, 0x1a, 0x0, 0x0, 0x1, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x1, 0x10, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x10, 0x33, 0x32, 0x11, 0x26, 0x24, 0x35, 0x33, 0x16, 0x17, 0x16, 0x2, 0x4c, 0xcb, 0xcb, 0xfe, 0x79, 0xcb, 0xcb, 0x2, 0xe7, 0xfe, 0x5b, 0xfe, 0x5d, 0x27, 0xb0, 0x23, 0xf2, 0xef, 0x1, 0xfe, 0x7a, 0xbb, 0x2, 0xbe, 0xbf, 0x6, 0x38, 0xca, 0xca, 0xca, 0xfc, 0x3c, 0xfe, 0x38, 0x1, 0xbe, 0xd0, 0xd0, 0xfe, 0xce, 0x1, 0x3c, 0xdd, 0xfe, 0xdd, 0xad, 0x7e, 0x7e, 0x0, 0x0, 0x0, 0x4, 0x0, 0x64, 0xff, 0xe2, 0x3, 0xac, 0x7, 0x0, 0x0, 0x12, 0x0, 0x16, 0x0, 0x1a, 0x0, 0x1e, 0x0, 0x0, 0x1, 0x10, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x10, 0x33, 0x32, 0x11, 0x26, 0x24, 0x35, 0x33, 0x16, 0x17, 0x16, 0x1, 0x21, 0x15, 0x21, 0x1, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x3, 0xac, 0xfe, 0x5b, 0xfe, 0x5d, 0x27, 0xb0, 0x23, 0xf2, 0xef, 0x1, 0xfe, 0x7a, 0xbb, 0x2, 0xbe, 0xbf, 0xfd, 0xd, 0x2, 0x56, 0xfd, 0xaa, 0x1, 0x89, 0xcb, 0xcb, 0xfe, 0x79, 0xcb, 0xcb, 0x1, 0xaa, 0xfe, 0x38, 0x1, 0xbe, 0xd0, 0xd0, 0xfe, 0xce, 0x1, 0x3c, 0xdd, 0xfe, 0xdd, 0xad, 0x7e, 0x7e, 0x2, 0xb6, 0x94, 0x2, 0x25, 0xca, 0xca, 0xca, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x64, 0xff, 0xe2, 0x3, 0xac, 0x6, 0x8c, 0x0, 0x3, 0x0, 0x16, 0x0, 0x0, 0x1, 0x33, 0x1, 0x23, 0x1, 0x10, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x10, 0x33, 0x32, 0x11, 0x26, 0x24, 0x35, 0x33, 0x16, 0x17, 0x16, 0x2, 0x27, 0xeb, 0xfe, 0xfe, 0xad, 0x2, 0x49, 0xfe, 0x5b, 0xfe, 0x5d, 0x27, 0xb0, 0x23, 0xf2, 0xef, 0x1, 0xfe, 0x7a, 0xbb, 0x2, 0xbe, 0xbf, 0x6, 0x8c, 0xfe, 0xf8, 0xfc, 0x26, 0xfe, 0x38, 0x1, 0xbe, 0xd0, 0xd0, 0xfe, 0xce, 0x1, 0x3c, 0xdd, 0xfe, 0xdd, 0xad, 0x7e, 0x7e, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x64, 0xff, 0xe2, 0x3, 0xac, 0x7, 0x18, 0x0, 0x3, 0x0, 0x7, 0x0, 0x1a, 0x0, 0x0, 0x1, 0x33, 0x3, 0x23, 0x7, 0x21, 0x15, 0x21, 0x1, 0x10, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x10, 0x33, 0x32, 0x11, 0x26, 0x24, 0x35, 0x33, 0x16, 0x17, 0x16, 0x2, 0x27, 0xb9, 0xe4, 0x99, 0x96, 0x2, 0x56, 0xfd, 0xaa, 0x2, 0xdf, 0xfe, 0x5b, 0xfe, 0x5d, 0x27, 0xb0, 0x23, 0xf2, 0xef, 0x1, 0xfe, 0x7a, 0xbb, 0x2, 0xbe, 0xbf, 0x7, 0x18, 0xfe, 0xf8, 0x79, 0x94, 0xfc, 0xa7, 0xfe, 0x38, 0x1, 0xbe, 0xd0, 0xd0, 0xfe, 0xce, 0x1, 0x3c, 0xdd, 0xfe, 0xdd, 0xad, 0x7e, 0x7e, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x64, 0xff, 0xe2, 0x3, 0xac, 0x6, 0x79, 0x0, 0x8, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x2, 0x20, 0x3, 0x33, 0x16, 0x33, 0x32, 0x37, 0x13, 0x10, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x10, 0x33, 0x32, 0x11, 0x26, 0x24, 0x35, 0x33, 0x16, 0x17, 0x16, 0x3, 0x28, 0x13, 0xfd, 0xb4, 0x13, 0x76, 0x19, 0xaa, 0xac, 0x17, 0xfa, 0xfe, 0x5b, 0xfe, 0x5d, 0x27, 0xb0, 0x23, 0xf2, 0xef, 0x1, 0xfe, 0x7a, 0xbb, 0x2, 0xbe, 0xbf, 0x6, 0x79, 0xfe, 0xe1, 0x1, 0x1f, 0x96, 0x96, 0xfb, 0x31, 0xfe, 0x38, 0x1, 0xbe, 0xd0, 0xd0, 0xfe, 0xce, 0x1, 0x3c, 0xdd, 0xfe, 0xdd, 0xad, 0x7e, 0x7e, 0x0, 0x0, 0x0, 0x2, 0x0, 0x64, 0xfe, 0x1d, 0x3, 0x98, 0x6, 0x1e, 0x0, 0x3, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x21, 0x15, 0x21, 0x1, 0x10, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x10, 0x33, 0x32, 0x19, 0x1, 0x10, 0x23, 0x22, 0x15, 0x17, 0x23, 0x27, 0x10, 0x21, 0x20, 0x11, 0x1, 0xb, 0x2, 0x56, 0xfd, 0xaa, 0x2, 0x8d, 0xfe, 0x74, 0xfe, 0x58, 0x21, 0xac, 0x19, 0xf4, 0xe2, 0xe1, 0xc8, 0x37, 0xac, 0x31, 0x1, 0x6e, 0x1, 0x8b, 0x6, 0x1e, 0x94, 0xfa, 0x37, 0xfe, 0x5c, 0x1, 0xa6, 0xe1, 0xe3, 0xfe, 0xe8, 0x1, 0x16, 0x3, 0x13, 0x1, 0x2, 0xf4, 0xe2, 0xdc, 0x1, 0x86, 0xfe, 0x6f, 0x0, 0x2, 0x0, 0x64, 0xfe, 0x1d, 0x3, 0x98, 0x6, 0x64, 0x0, 0x3, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x33, 0x1, 0x23, 0x1, 0x10, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x10, 0x33, 0x32, 0x19, 0x1, 0x10, 0x23, 0x22, 0x15, 0x17, 0x23, 0x27, 0x10, 0x21, 0x20, 0x11, 0x2, 0x6d, 0xeb, 0xfe, 0xfe, 0xad, 0x1, 0xef, 0xfe, 0x74, 0xfe, 0x58, 0x21, 0xac, 0x19, 0xf4, 0xe2, 0xe1, 0xc8, 0x37, 0xac, 0x31, 0x1, 0x6e, 0x1, 0x8b, 0x6, 0x64, 0xfe, 0xf8, 0xfa, 0x65, 0xfe, 0x5c, 0x1, 0xa6, 0xe1, 0xe3, 0xfe, 0xe8, 0x1, 0x16, 0x3, 0x13, 0x1, 0x2, 0xf4, 0xe2, 0xdc, 0x1, 0x86, 0xfe, 0x6f, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x64, 0xfe, 0x1d, 0x3, 0x98, 0x7, 0x36, 0x0, 0x3, 0x0, 0x7, 0x0, 0x1f, 0x0, 0x0, 0x1, 0x33, 0x3, 0x23, 0x7, 0x21, 0x15, 0x21, 0x1, 0x10, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x10, 0x33, 0x32, 0x19, 0x1, 0x10, 0x23, 0x22, 0x15, 0x17, 0x23, 0x27, 0x10, 0x21, 0x20, 0x11, 0x2, 0x59, 0xd7, 0xe4, 0xb7, 0x96, 0x2, 0x56, 0xfd, 0xaa, 0x2, 0x99, 0xfe, 0x74, 0xfe, 0x58, 0x21, 0xac, 0x19, 0xf4, 0xe2, 0xe1, 0xc8, 0x37, 0xac, 0x31, 0x1, 0x6e, 0x1, 0x8b, 0x7, 0x36, 0xfe, 0xf8, 0x79, 0x94, 0xfa, 0xa0, 0xfe, 0x5c, 0x1, 0xa6, 0xe1, 0xe3, 0xfe, 0xe8, 0x1, 0x16, 0x3, 0x13, 0x1, 0x2, 0xf4, 0xe2, 0xdc, 0x1, 0x86, 0xfe, 0x6f, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x64, 0xfe, 0x1d, 0x3, 0x98, 0x6, 0x79, 0x0, 0x8, 0x0, 0x20, 0x0, 0x0, 0x1, 0x2, 0x20, 0x3, 0x33, 0x16, 0x33, 0x32, 0x37, 0x13, 0x10, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x10, 0x33, 0x32, 0x19, 0x1, 0x10, 0x23, 0x22, 0x15, 0x17, 0x23, 0x27, 0x10, 0x21, 0x20, 0x11, 0x3, 0x50, 0x13, 0xfd, 0xb4, 0x13, 0x76, 0x19, 0xaa, 0xac, 0x17, 0xbe, 0xfe, 0x74, 0xfe, 0x58, 0x21, 0xac, 0x19, 0xf4, 0xe2, 0xe1, 0xc8, 0x37, 0xac, 0x31, 0x1, 0x6e, 0x1, 0x8b, 0x6, 0x79, 0xfe, 0xe1, 0x1, 0x1f, 0x96, 0x96, 0xf9, 0x48, 0xfe, 0x5c, 0x1, 0xa6, 0xe1, 0xe3, 0xfe, 0xe8, 0x1, 0x16, 0x3, 0x13, 0x1, 0x2, 0xf4, 0xe2, 0xdc, 0x1, 0x86, 0xfe, 0x6f, 0x0, 0x0, 0x0, 0x2, 0x0, 0x64, 0x0, 0x0, 0x3, 0xc0, 0x6, 0x1e, 0x0, 0x11, 0x0, 0x15, 0x0, 0x0, 0x1, 0x10, 0x3, 0x23, 0x12, 0x11, 0x10, 0x23, 0x22, 0x11, 0x10, 0x13, 0x23, 0x2, 0x11, 0x10, 0x21, 0x20, 0x1, 0x21, 0x15, 0x21, 0x3, 0xc0, 0x99, 0xad, 0x92, 0xf6, 0xfe, 0x91, 0xae, 0x97, 0x1, 0xb2, 0x1, 0xaa, 0xfd, 0x37, 0x2, 0x56, 0xfd, 0xaa, 0x2, 0x44, 0xfe, 0xf4, 0xfe, 0xc8, 0x1, 0x21, 0x1, 0x23, 0x1, 0x90, 0xfe, 0x6d, 0xfe, 0xe0, 0xfe, 0xdf, 0x1, 0x3a, 0x1, 0xd, 0x2, 0x19, 0x1, 0xbe, 0x94, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x64, 0x0, 0x0, 0x3, 0xc0, 0x6, 0x64, 0x0, 0x11, 0x0, 0x15, 0x0, 0x0, 0x1, 0x10, 0x3, 0x23, 0x12, 0x11, 0x10, 0x23, 0x22, 0x11, 0x10, 0x13, 0x23, 0x2, 0x11, 0x10, 0x21, 0x20, 0x1, 0x33, 0x1, 0x23, 0x3, 0xc0, 0x99, 0xad, 0x92, 0xf6, 0xfe, 0x91, 0xae, 0x97, 0x1, 0xb2, 0x1, 0xaa, 0xfe, 0xb7, 0xe1, 0xfe, 0xfe, 0xa3, 0x2, 0x44, 0xfe, 0xf4, 0xfe, 0xc9, 0x1, 0x20, 0x1, 0x23, 0x1, 0x90, 0xfe, 0x6d, 0xfe, 0xe0, 0xfe, 0xdf, 0x1, 0x3a, 0x1, 0xd, 0x2, 0x19, 0x2, 0x4, 0xfe, 0xf8, 0x0, 0x0, 0x0, 0x2, 0x0, 0x64, 0x0, 0x0, 0x3, 0xc0, 0x6, 0x79, 0x0, 0x11, 0x0, 0x1a, 0x0, 0x0, 0x1, 0x10, 0x3, 0x23, 0x12, 0x11, 0x10, 0x23, 0x22, 0x11, 0x10, 0x13, 0x23, 0x2, 0x11, 0x10, 0x21, 0x20, 0x3, 0x2, 0x20, 0x3, 0x33, 0x16, 0x33, 0x32, 0x37, 0x3, 0xc0, 0x99, 0xad, 0x92, 0xf6, 0xfe, 0x91, 0xae, 0x97, 0x1, 0xb2, 0x1, 0xaa, 0x70, 0x13, 0xfd, 0xb4, 0x13, 0x76, 0x19, 0xaa, 0xac, 0x17, 0x2, 0x44, 0xfe, 0xf4, 0xfe, 0xc9, 0x1, 0x20, 0x1, 0x23, 0x1, 0x90, 0xfe, 0x6d, 0xfe, 0xe0, 0xfe, 0xdf, 0x1, 0x3a, 0x1, 0xd, 0x2, 0x19, 0x2, 0x19, 0xfe, 0xe1, 0x1, 0x1f, 0x96, 0x96, 0x0, 0x0, 0x2, 0x0, 0x64, 0xff, 0xff, 0x5, 0xe6, 0x6, 0x1e, 0x0, 0x1c, 0x0, 0x20, 0x0, 0x0, 0x1, 0x12, 0x1, 0x23, 0x0, 0x11, 0x2, 0x23, 0x22, 0x11, 0x15, 0x23, 0x35, 0x10, 0x23, 0x22, 0x11, 0x2, 0x1, 0x23, 0x0, 0x11, 0x10, 0x21, 0x32, 0x17, 0x36, 0x33, 0x20, 0x1, 0x21, 0x15, 0x21, 0x5, 0xe6, 0x1, 0xfe, 0xed, 0xd1, 0x1, 0x2f, 0x1, 0xd2, 0xe7, 0xa6, 0xe7, 0xd3, 0x1, 0x1, 0x38, 0xd1, 0xfe, 0xe6, 0x1, 0x88, 0xe1, 0x57, 0x62, 0xdc, 0x1, 0x85, 0xfc, 0x14, 0x2, 0x56, 0xfd, 0xaa, 0x2, 0x56, 0xfe, 0xd1, 0xfe, 0xd9, 0x1, 0x16, 0x1, 0x40, 0x1, 0x7e, 0xfe, 0xa7, 0xd2, 0xd2, 0x1, 0x59, 0xfe, 0x82, 0xfe, 0xcd, 0xfe, 0xdc, 0x1, 0x24, 0x1, 0x33, 0x2, 0xa, 0xe3, 0xe3, 0x1, 0xbe, 0x94, 0x0, 0x0, 0x0, 0x3, 0x0, 0x64, 0xff, 0xff, 0x5, 0xe6, 0x6, 0x38, 0x0, 0x1c, 0x0, 0x20, 0x0, 0x24, 0x0, 0x0, 0x1, 0x12, 0x1, 0x23, 0x0, 0x11, 0x2, 0x23, 0x22, 0x11, 0x15, 0x23, 0x35, 0x10, 0x23, 0x22, 0x11, 0x2, 0x1, 0x23, 0x0, 0x11, 0x10, 0x21, 0x32, 0x17, 0x36, 0x33, 0x20, 0x1, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x5, 0xe6, 0x1, 0xfe, 0xed, 0xd1, 0x1, 0x2f, 0x1, 0xd2, 0xe7, 0xa6, 0xe7, 0xd3, 0x1, 0x1, 0x38, 0xd1, 0xfe, 0xe6, 0x1, 0x88, 0xe1, 0x57, 0x62, 0xdc, 0x1, 0x85, 0xfd, 0x9b, 0xcb, 0xcb, 0xfe, 0x79, 0xcb, 0xcb, 0x2, 0x56, 0xfe, 0xd1, 0xfe, 0xd9, 0x1, 0x16, 0x1, 0x40, 0x1, 0x7e, 0xfe, 0xa7, 0xd2, 0xd2, 0x1, 0x59, 0xfe, 0x82, 0xfe, 0xcd, 0xfe, 0xdc, 0x1, 0x24, 0x1, 0x33, 0x2, 0xa, 0xe3, 0xe3, 0x1, 0xd8, 0xca, 0xca, 0xca, 0x0, 0x4, 0x0, 0x64, 0xff, 0xff, 0x5, 0xe6, 0x7, 0x28, 0x0, 0x1c, 0x0, 0x20, 0x0, 0x24, 0x0, 0x28, 0x0, 0x0, 0x1, 0x12, 0x1, 0x23, 0x0, 0x11, 0x2, 0x23, 0x22, 0x11, 0x15, 0x23, 0x35, 0x10, 0x23, 0x22, 0x11, 0x2, 0x1, 0x23, 0x0, 0x11, 0x10, 0x21, 0x32, 0x17, 0x36, 0x33, 0x20, 0x1, 0x21, 0x15, 0x21, 0x1, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x5, 0xe6, 0x1, 0xfe, 0xed, 0xd1, 0x1, 0x2f, 0x1, 0xd2, 0xe7, 0xa6, 0xe7, 0xd3, 0x1, 0x1, 0x38, 0xd1, 0xfe, 0xe6, 0x1, 0x88, 0xe1, 0x57, 0x62, 0xdc, 0x1, 0x85, 0xfc, 0x12, 0x2, 0x56, 0xfd, 0xaa, 0x1, 0x89, 0xcb, 0xcb, 0xfe, 0x79, 0xcb, 0xcb, 0x2, 0x56, 0xfe, 0xd1, 0xfe, 0xd9, 0x1, 0x16, 0x1, 0x40, 0x1, 0x7e, 0xfe, 0xa7, 0xd2, 0xd2, 0x1, 0x59, 0xfe, 0x82, 0xfe, 0xcd, 0xfe, 0xdc, 0x1, 0x24, 0x1, 0x33, 0x2, 0xa, 0xe3, 0xe3, 0x1, 0x37, 0x94, 0x2, 0x25, 0xca, 0xca, 0xca, 0x0, 0x0, 0x2, 0x0, 0x64, 0xff, 0xff, 0x5, 0xe6, 0x6, 0x64, 0x0, 0x1c, 0x0, 0x20, 0x0, 0x0, 0x1, 0x12, 0x1, 0x23, 0x0, 0x11, 0x2, 0x23, 0x22, 0x11, 0x15, 0x23, 0x35, 0x10, 0x23, 0x22, 0x11, 0x2, 0x1, 0x23, 0x0, 0x11, 0x10, 0x21, 0x32, 0x17, 0x36, 0x33, 0x20, 0x1, 0x33, 0x1, 0x23, 0x5, 0xe6, 0x1, 0xfe, 0xed, 0xd1, 0x1, 0x2f, 0x1, 0xd2, 0xe7, 0xa6, 0xe7, 0xd3, 0x1, 0x1, 0x38, 0xd1, 0xfe, 0xe6, 0x1, 0x88, 0xe1, 0x57, 0x62, 0xdc, 0x1, 0x85, 0xfd, 0x76, 0xe1, 0xfe, 0xfe, 0xa3, 0x2, 0x56, 0xfe, 0xd1, 0xfe, 0xd9, 0x1, 0x16, 0x1, 0x40, 0x1, 0x7e, 0xfe, 0xa7, 0xd2, 0xd2, 0x1, 0x59, 0xfe, 0x82, 0xfe, 0xcd, 0xfe, 0xdc, 0x1, 0x24, 0x1, 0x33, 0x2, 0xa, 0xe3, 0xe3, 0x2, 0x4, 0xfe, 0xf8, 0x0, 0x0, 0x2, 0x0, 0x64, 0xff, 0xff, 0x5, 0xe6, 0x6, 0x79, 0x0, 0x1c, 0x0, 0x25, 0x0, 0x0, 0x1, 0x12, 0x1, 0x23, 0x0, 0x11, 0x2, 0x23, 0x22, 0x11, 0x15, 0x23, 0x35, 0x10, 0x23, 0x22, 0x11, 0x2, 0x1, 0x23, 0x0, 0x11, 0x10, 0x21, 0x32, 0x17, 0x36, 0x33, 0x20, 0x1, 0x2, 0x20, 0x3, 0x33, 0x16, 0x33, 0x32, 0x37, 0x5, 0xe6, 0x1, 0xfe, 0xed, 0xd1, 0x1, 0x2f, 0x1, 0xd2, 0xe7, 0xa6, 0xe7, 0xd3, 0x1, 0x1, 0x38, 0xd1, 0xfe, 0xe6, 0x1, 0x88, 0xe1, 0x57, 0x62, 0xdc, 0x1, 0x85, 0xfe, 0x8b, 0x13, 0xfd, 0xb4, 0x13, 0x76, 0x19, 0xaa, 0xac, 0x17, 0x2, 0x56, 0xfe, 0xd1, 0xfe, 0xd9, 0x1, 0x16, 0x1, 0x40, 0x1, 0x7e, 0xfe, 0xa7, 0xd2, 0xd2, 0x1, 0x59, 0xfe, 0x82, 0xfe, 0xcd, 0xfe, 0xdc, 0x1, 0x24, 0x1, 0x33, 0x2, 0xa, 0xe3, 0xe3, 0x2, 0x19, 0xfe, 0xe1, 0x1, 0x1f, 0x96, 0x96, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x3c, 0xfe, 0x1d, 0x3, 0xe8, 0x6, 0x1e, 0x0, 0x3, 0x0, 0x24, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x1, 0x10, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x10, 0x21, 0x32, 0x19, 0x1, 0x26, 0x23, 0x22, 0x15, 0x3, 0x23, 0x3, 0x34, 0x2b, 0x1, 0x27, 0x37, 0x17, 0x33, 0x32, 0x17, 0x36, 0x33, 0x20, 0x11, 0xed, 0x2, 0x56, 0xfd, 0xaa, 0x2, 0xfb, 0xfe, 0x6e, 0xfe, 0x47, 0x19, 0xb2, 0x17, 0x1, 0x5, 0xe8, 0x2, 0x87, 0x7b, 0xa, 0x8f, 0xa, 0x9c, 0x52, 0x6d, 0x14, 0x57, 0x50, 0x8f, 0x4f, 0x43, 0xa0, 0x1, 0x30, 0x6, 0x1e, 0x94, 0xfa, 0x36, 0xfe, 0x5d, 0x1, 0xa3, 0xe3, 0xe3, 0xfe, 0xe9, 0x1, 0x17, 0x3, 0x67, 0xb6, 0x8c, 0xfe, 0xa5, 0x1, 0x5b, 0x78, 0x28, 0xa1, 0x32, 0xbb, 0xbb, 0xfe, 0xc7, 0x0, 0x0, 0x3, 0x0, 0x3c, 0xfe, 0x1d, 0x3, 0xe8, 0x6, 0x38, 0x0, 0x3, 0x0, 0x7, 0x0, 0x28, 0x0, 0x0, 0x1, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x1, 0x10, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x10, 0x21, 0x32, 0x19, 0x1, 0x26, 0x23, 0x22, 0x15, 0x3, 0x23, 0x3, 0x34, 0x2b, 0x1, 0x27, 0x37, 0x17, 0x33, 0x32, 0x17, 0x36, 0x33, 0x20, 0x11, 0x2, 0x74, 0xcb, 0xcb, 0xfe, 0x79, 0xcb, 0xcb, 0x2, 0xfb, 0xfe, 0x6e, 0xfe, 0x47, 0x19, 0xb2, 0x17, 0x1, 0x5, 0xe8, 0x2, 0x87, 0x7b, 0xa, 0x8f, 0xa, 0x9c, 0x52, 0x6d, 0x14, 0x57, 0x50, 0x8f, 0x4f, 0x43, 0xa0, 0x1, 0x30, 0x6, 0x38, 0xca, 0xca, 0xca, 0xfa, 0x52, 0xfe, 0x5d, 0x1, 0xa3, 0xe3, 0xe3, 0xfe, 0xe9, 0x1, 0x17, 0x3, 0x67, 0xb6, 0x8c, 0xfe, 0xa5, 0x1, 0x5b, 0x78, 0x28, 0xa1, 0x32, 0xbb, 0xbb, 0xfe, 0xc7, 0x0, 0x0, 0x0, 0x4, 0x0, 0x3c, 0xfe, 0x1d, 0x3, 0xe8, 0x7, 0x3c, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x2c, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x1, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x1, 0x10, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x10, 0x21, 0x32, 0x19, 0x1, 0x26, 0x23, 0x22, 0x15, 0x3, 0x23, 0x3, 0x34, 0x2b, 0x1, 0x27, 0x37, 0x17, 0x33, 0x32, 0x17, 0x36, 0x33, 0x20, 0x11, 0xeb, 0x2, 0x56, 0xfd, 0xaa, 0x1, 0x89, 0xcb, 0xcb, 0xfe, 0x79, 0xcb, 0xcb, 0x2, 0xfb, 0xfe, 0x6e, 0xfe, 0x47, 0x19, 0xb2, 0x17, 0x1, 0x5, 0xe8, 0x2, 0x87, 0x7b, 0xa, 0x8f, 0xa, 0x9c, 0x52, 0x6d, 0x14, 0x57, 0x50, 0x8f, 0x4f, 0x43, 0xa0, 0x1, 0x30, 0x5, 0xab, 0x94, 0x2, 0x25, 0xca, 0xca, 0xca, 0xf9, 0x4e, 0xfe, 0x5d, 0x1, 0xa3, 0xe3, 0xe3, 0xfe, 0xe9, 0x1, 0x17, 0x3, 0x67, 0xb6, 0x8c, 0xfe, 0xa5, 0x1, 0x5b, 0x78, 0x28, 0xa1, 0x32, 0xbb, 0xbb, 0xfe, 0xc7, 0x0, 0x2, 0x0, 0x3c, 0xfe, 0x1d, 0x3, 0xe8, 0x6, 0x64, 0x0, 0x3, 0x0, 0x24, 0x0, 0x0, 0x1, 0x33, 0x3, 0x23, 0x1, 0x10, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x10, 0x21, 0x32, 0x19, 0x1, 0x26, 0x23, 0x22, 0x15, 0x3, 0x23, 0x3, 0x34, 0x2b, 0x1, 0x27, 0x37, 0x17, 0x33, 0x32, 0x17, 0x36, 0x33, 0x20, 0x11, 0x2, 0x59, 0xd7, 0xf8, 0xa3, 0x2, 0x53, 0xfe, 0x6e, 0xfe, 0x47, 0x19, 0xb2, 0x17, 0x1, 0x5, 0xe8, 0x2, 0x87, 0x7b, 0xa, 0x8f, 0xa, 0x9c, 0x52, 0x6d, 0x14, 0x57, 0x50, 0x8f, 0x4f, 0x43, 0xa0, 0x1, 0x30, 0x6, 0x64, 0xfe, 0xf8, 0xfa, 0x64, 0xfe, 0x5d, 0x1, 0xa3, 0xe3, 0xe3, 0xfe, 0xe9, 0x1, 0x17, 0x3, 0x67, 0xb6, 0x8c, 0xfe, 0xa5, 0x1, 0x5b, 0x78, 0x28, 0xa1, 0x32, 0xbb, 0xbb, 0xfe, 0xc7, 0x0, 0x2, 0x0, 0x3c, 0xfe, 0x1d, 0x3, 0xe8, 0x6, 0x79, 0x0, 0x8, 0x0, 0x29, 0x0, 0x0, 0x1, 0x2, 0x20, 0x3, 0x33, 0x16, 0x33, 0x32, 0x37, 0x1, 0x10, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x10, 0x21, 0x32, 0x19, 0x1, 0x26, 0x23, 0x22, 0x15, 0x3, 0x23, 0x3, 0x34, 0x2b, 0x1, 0x27, 0x37, 0x17, 0x33, 0x32, 0x17, 0x36, 0x33, 0x20, 0x11, 0x3, 0x46, 0x13, 0xfd, 0xb4, 0x13, 0x76, 0x19, 0xaa, 0xac, 0x17, 0x1, 0x18, 0xfe, 0x6e, 0xfe, 0x47, 0x19, 0xb2, 0x17, 0x1, 0x5, 0xe8, 0x2, 0x87, 0x7b, 0xa, 0x8f, 0xa, 0x9c, 0x52, 0x6d, 0x14, 0x57, 0x50, 0x8f, 0x4f, 0x43, 0xa0, 0x1, 0x30, 0x6, 0x79, 0xfe, 0xe1, 0x1, 0x1f, 0x96, 0x96, 0xf9, 0x47, 0xfe, 0x5d, 0x1, 0xa3, 0xe3, 0xe3, 0xfe, 0xe9, 0x1, 0x17, 0x3, 0x67, 0xb6, 0x8c, 0xfe, 0xa5, 0x1, 0x5b, 0x78, 0x28, 0xa1, 0x32, 0xbb, 0xbb, 0xfe, 0xc7, 0x0, 0x0, 0x2, 0x0, 0x3c, 0xfe, 0x1d, 0x3, 0xe8, 0x6, 0xd1, 0x0, 0x6, 0x0, 0x27, 0x0, 0x0, 0x1, 0x13, 0x23, 0x27, 0x7, 0x23, 0x13, 0x1, 0x10, 0x21, 0x20, 0x11, 0x37, 0x33, 0x7, 0x10, 0x21, 0x32, 0x19, 0x1, 0x26, 0x23, 0x22, 0x15, 0x3, 0x23, 0x3, 0x34, 0x2b, 0x1, 0x27, 0x37, 0x17, 0x33, 0x32, 0x17, 0x36, 0x33, 0x20, 0x11, 0x2, 0x58, 0xf5, 0x8b, 0xb4, 0xb4, 0x8b, 0xf5, 0x2, 0x24, 0xfe, 0x6e, 0xfe, 0x47, 0x19, 0xb2, 0x17, 0x1, 0x5, 0xe8, 0x2, 0x87, 0x7b, 0xa, 0x8f, 0xa, 0x9c, 0x52, 0x6d, 0x14, 0x57, 0x50, 0x8f, 0x4f, 0x43, 0xa0, 0x1, 0x30, 0x6, 0xd1, 0xfe, 0x88, 0xf5, 0xf5, 0x1, 0x78, 0xf8, 0xef, 0xfe, 0x5d, 0x1, 0xa3, 0xe3, 0xe3, 0xfe, 0xe9, 0x1, 0x17, 0x3, 0x67, 0xb6, 0x8c, 0xfe, 0xa5, 0x1, 0x5b, 0x78, 0x28, 0xa1, 0x32, 0xbb, 0xbb, 0xfe, 0xc7, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x6, 0x14, 0x0, 0x9, 0x0, 0x20, 0x0, 0x0, 0x1, 0x22, 0x6, 0x10, 0x16, 0x20, 0x36, 0x35, 0x34, 0x26, 0x1, 0x10, 0x37, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x33, 0x21, 0x15, 0x21, 0x22, 0x15, 0x14, 0x16, 0x33, 0x32, 0x0, 0x10, 0x0, 0x20, 0x0, 0x2, 0x72, 0x93, 0xac, 0xab, 0x1, 0x28, 0xac, 0xac, 0xfd, 0x6b, 0xc3, 0x4f, 0x41, 0xc2, 0x9e, 0x1, 0xfc, 0xfe, 0x28, 0xbc, 0x75, 0x92, 0xed, 0x1, 0x15, 0xfe, 0xed, 0xfe, 0x20, 0xfe, 0xef, 0x3, 0xdf, 0xe7, 0xfe, 0x6e, 0xe7, 0xe8, 0xc7, 0xc8, 0xe9, 0xfe, 0x50, 0x1, 0x4d, 0x9b, 0x2f, 0x8d, 0x31, 0x7c, 0x94, 0x93, 0x89, 0x49, 0x34, 0xfe, 0xc8, 0xfd, 0xda, 0xfe, 0xc6, 0x1, 0x39, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2f, 0x0, 0x0, 0x5, 0xaa, 0x6, 0x14, 0x0, 0x24, 0x0, 0x48, 0x40, 0x13, 0x26, 0x0, 0x7, 0x9, 0x5, 0x8, 0xc, 0x21, 0x18, 0xd, 0x1e, 0x8, 0x11, 0xc, 0x21, 0x10, 0x14, 0x4c, 0x25, 0x10, 0xfc, 0x3c, 0xc4, 0x32, 0xc4, 0xfc, 0x3c, 0xc4, 0x10, 0x3c, 0xfc, 0x3c, 0xc4, 0xc4, 0xc4, 0x31, 0x0, 0x40, 0x11, 0x9, 0xd, 0x11, 0xa9, 0x12, 0x2, 0x1a, 0x87, 0x0, 0x18, 0x97, 0x6, 0x1f, 0x12, 0xbc, 0xb, 0xf, 0x2f, 0x3c, 0xe6, 0x32, 0x32, 0xfe, 0x3c, 0xee, 0x32, 0x10, 0xee, 0x32, 0x32, 0x30, 0x1, 0x15, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x7, 0x6, 0x1d, 0x1, 0x21, 0x35, 0x34, 0x36, 0x33, 0x5, 0xaa, 0xb0, 0x63, 0x4d, 0x1, 0x2f, 0xfe, 0xd1, 0xb9, 0xfe, 0x7, 0xb9, 0xb0, 0xb0, 0xae, 0xbd, 0xae, 0xb0, 0x63, 0x27, 0x26, 0x1, 0xf9, 0xae, 0xbd, 0x6, 0x14, 0x99, 0x50, 0x68, 0x63, 0x8f, 0xfc, 0x2f, 0x3, 0xd1, 0xfc, 0x2f, 0x3, 0xd1, 0x8f, 0x4e, 0xbb, 0xab, 0x99, 0x28, 0x28, 0x68, 0x63, 0x4e, 0xbb, 0xab, 0x0, 0x2, 0x0, 0x2f, 0x0, 0x0, 0x4, 0x4a, 0x6, 0x14, 0x0, 0x15, 0x0, 0x19, 0x0, 0x52, 0x40, 0x11, 0x1b, 0x46, 0x0, 0x17, 0x8, 0x16, 0xf, 0x14, 0x4, 0x8, 0x8, 0x3, 0x16, 0xa, 0x6, 0x4c, 0x1a, 0x10, 0xfc, 0x3c, 0xc4, 0x32, 0xc4, 0xfc, 0x3c, 0xc4, 0x10, 0xfe, 0x3c, 0xec, 0x31, 0x0, 0x40, 0x12, 0x8, 0x3, 0xa9, 0x0, 0x10, 0x87, 0xe, 0x18, 0xbe, 0x16, 0xb1, 0xe, 0x97, 0x9, 0x0, 0xbc, 0x5, 0x1, 0x2f, 0x3c, 0xe6, 0x32, 0xee, 0xfe, 0xee, 0x10, 0xee, 0x10, 0xee, 0x32, 0x30, 0x40, 0xb, 0xff, 0x1b, 0xa0, 0x1b, 0x90, 0x1b, 0x80, 0x1b, 0x10, 0x1b, 0x5, 0x1, 0x5d, 0x1, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x1, 0x33, 0x15, 0x23, 0x4, 0x4a, 0xb9, 0xfe, 0x7, 0xb9, 0xb0, 0xb0, 0xad, 0xb3, 0xb9, 0xb0, 0x63, 0x4d, 0x1, 0xf9, 0xb9, 0xb9, 0x4, 0x60, 0xfb, 0xa0, 0x3, 0xd1, 0xfc, 0x2f, 0x3, 0xd1, 0x8f, 0x4e, 0xb7, 0xaf, 0x99, 0x50, 0x68, 0x63, 0x1, 0xb2, 0xe9, 0x0, 0x0, 0x1, 0x0, 0x2f, 0x0, 0x0, 0x4, 0x4a, 0x6, 0x14, 0x0, 0x15, 0x0, 0x37, 0x40, 0xf, 0x17, 0x46, 0x1, 0x8, 0x4, 0xa, 0xc, 0x8, 0x8, 0x10, 0x4, 0x12, 0xe, 0x4c, 0x16, 0x10, 0xfc, 0x3c, 0xc4, 0xc4, 0xfc, 0x3c, 0xc4, 0x10, 0xfe, 0xec, 0x31, 0x0, 0x40, 0xd, 0xf, 0xb, 0xa9, 0x9, 0x4, 0x87, 0x0, 0x97, 0x11, 0x9, 0xbc, 0xd, 0x2, 0x2f, 0x3c, 0xe6, 0x32, 0xfe, 0xee, 0x10, 0xee, 0x32, 0x30, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x22, 0x6, 0x1d, 0x1, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x36, 0x2, 0x4a, 0x2, 0x0, 0xb9, 0xfe, 0xb7, 0x63, 0x4d, 0x1, 0x2f, 0xfe, 0xd1, 0xb9, 0xb0, 0xb0, 0xae, 0x6, 0x14, 0xf9, 0xec, 0x5, 0x7b, 0x50, 0x68, 0x63, 0x8f, 0xfc, 0x2f, 0x3, 0xd1, 0x8f, 0x4e, 0xbb, 0xab, 0x0, 0x0, 0x0, 0x2, 0x0, 0x2f, 0x0, 0x0, 0x6, 0xfc, 0x6, 0x14, 0x0, 0x29, 0x0, 0x2d, 0x0, 0x5a, 0x40, 0x18, 0x2f, 0x46, 0x17, 0x2b, 0x8, 0x2a, 0x10, 0x1b, 0x15, 0x8, 0x1a, 0x2a, 0x9, 0x0, 0x1f, 0x6, 0x8, 0x24, 0x1e, 0x9, 0x22, 0x26, 0x4c, 0x2e, 0x10, 0xfc, 0x3c, 0xc4, 0x32, 0xc4, 0xfc, 0x3c, 0xc4, 0x10, 0xc4, 0x32, 0xfc, 0x3c, 0xc4, 0x10, 0xfc, 0x3c, 0xec, 0x31, 0x0, 0x40, 0x17, 0x1b, 0x1f, 0x23, 0xa9, 0x24, 0x11, 0x1, 0x87, 0x0, 0x2d, 0xbe, 0x2a, 0xb1, 0x10, 0x0, 0x97, 0x16, 0x7, 0x24, 0xbc, 0x19, 0x1d, 0x21, 0x2f, 0x3c, 0x3c, 0xe4, 0x32, 0x32, 0xe4, 0x32, 0xf4, 0xec, 0x10, 0xec, 0x32, 0x10, 0xec, 0x32, 0x32, 0x30, 0x1, 0x15, 0x23, 0x22, 0x7, 0x6, 0x1d, 0x1, 0x21, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x36, 0x33, 0x5, 0x33, 0x15, 0x23, 0x2, 0xf8, 0xb0, 0x63, 0x27, 0x26, 0x1, 0xf9, 0x57, 0x1c, 0x27, 0x4e, 0x83, 0xae, 0xb0, 0x63, 0x4d, 0x2, 0xb2, 0xb9, 0xfe, 0x7, 0xb9, 0xfe, 0x7, 0xb9, 0xb0, 0xb0, 0xae, 0xbd, 0x3, 0xf9, 0xb9, 0xb9, 0x6, 0x14, 0x99, 0x28, 0x28, 0x68, 0x63, 0x4e, 0xbb, 0x55, 0x1c, 0x13, 0x27, 0x99, 0x50, 0x68, 0x63, 0xfb, 0xa0, 0x3, 0xd1, 0xfc, 0x2f, 0x3, 0xd1, 0xfc, 0x2f, 0x3, 0xd1, 0x8f, 0x4e, 0xbb, 0xab, 0x2, 0xe9, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2f, 0x0, 0x0, 0x6, 0xfc, 0x6, 0x14, 0x0, 0x26, 0x0, 0x4e, 0x40, 0x16, 0x28, 0x46, 0xd, 0x8, 0x10, 0x16, 0x18, 0x14, 0x8, 0x10, 0x9, 0x0, 0x1c, 0x6, 0x8, 0x21, 0x1b, 0x9, 0x1f, 0x23, 0x4c, 0x27, 0x10, 0xfc, 0x3c, 0xc4, 0x32, 0xc4, 0xfc, 0x3c, 0xc4, 0x10, 0xc4, 0xfc, 0x3c, 0xc4, 0x10, 0xfc, 0xec, 0x31, 0x0, 0x40, 0x12, 0x18, 0x1c, 0x20, 0xa9, 0x21, 0x11, 0x2, 0x87, 0xc, 0x26, 0x97, 0x15, 0x7, 0x21, 0xbc, 0xf, 0x1a, 0x1e, 0x2f, 0x3c, 0x3c, 0xe4, 0x32, 0x32, 0xf4, 0x3c, 0xec, 0x32, 0x10, 0xec, 0x32, 0x32, 0x30, 0x1, 0x15, 0x23, 0x22, 0x7, 0x6, 0x1d, 0x1, 0x21, 0x35, 0x34, 0x36, 0x33, 0x21, 0x11, 0x23, 0x11, 0x21, 0x22, 0x6, 0x1d, 0x1, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x36, 0x33, 0x2, 0xf8, 0xb0, 0x63, 0x27, 0x26, 0x1, 0xf9, 0xae, 0xbd, 0x2, 0x0, 0xb9, 0xfe, 0xb7, 0x63, 0x4d, 0x1, 0x2f, 0xfe, 0xd1, 0xb9, 0xfe, 0x7, 0xb9, 0xb0, 0xb0, 0xae, 0xbd, 0x6, 0x14, 0x99, 0x28, 0x28, 0x68, 0x63, 0x4e, 0xbb, 0xab, 0xf9, 0xec, 0x5, 0x7b, 0x50, 0x68, 0x63, 0x8f, 0xfc, 0x2f, 0x3, 0xd1, 0xfc, 0x2f, 0x3, 0xd1, 0x8f, 0x4e, 0xbb, 0xab, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2f, 0x0, 0x0, 0x5, 0x4c, 0x6, 0x14, 0x0, 0x2d, 0x0, 0x0, 0x1, 0x35, 0x34, 0x27, 0x26, 0x2b, 0x1, 0x22, 0x7, 0x6, 0x15, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x37, 0x36, 0x3b, 0x1, 0x32, 0x17, 0x16, 0x1d, 0x1, 0x21, 0x15, 0x21, 0x11, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x23, 0x35, 0x3, 0x18, 0x24, 0x25, 0x65, 0x22, 0x63, 0x27, 0x26, 0xb9, 0xb0, 0xb0, 0x57, 0x57, 0xbd, 0x1e, 0xbd, 0x57, 0x55, 0x1, 0x7b, 0xfe, 0x85, 0x25, 0x26, 0x73, 0xbd, 0xbd, 0xd5, 0x51, 0x51, 0x87, 0x4, 0x60, 0x63, 0x68, 0x28, 0x28, 0x28, 0x28, 0x68, 0xfb, 0x3d, 0x3, 0xd1, 0x8f, 0x4e, 0xbb, 0x55, 0x56, 0x56, 0x53, 0xbd, 0x4e, 0x8f, 0xfd, 0xa0, 0x89, 0x27, 0x27, 0x9a, 0x50, 0x4f, 0xd2, 0x2, 0x60, 0x8f, 0x0, 0x0, 0x1, 0x0, 0x6f, 0xff, 0xe3, 0x6, 0xb2, 0x5, 0xf0, 0x0, 0x59, 0x0, 0x0, 0x1, 0x15, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x1f, 0x1, 0x1e, 0x1, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x35, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2f, 0x1, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x32, 0x17, 0x16, 0x1d, 0x1, 0x21, 0x15, 0x21, 0x11, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x27, 0x26, 0x7, 0x22, 0x7, 0x6, 0x15, 0x14, 0x3, 0x51, 0x56, 0x49, 0x54, 0x46, 0x75, 0x3f, 0x3b, 0x31, 0x31, 0x94, 0x3f, 0xc3, 0xa6, 0x7b, 0x7c, 0xd8, 0x60, 0x5c, 0x61, 0x6c, 0x66, 0x63, 0x63, 0x61, 0x82, 0x46, 0x46, 0x32, 0x2d, 0xb1, 0x40, 0xab, 0x4c, 0x4c, 0x66, 0x70, 0xb5, 0x48, 0x4d, 0x5, 0x5c, 0x5b, 0xa2, 0x8c, 0x62, 0x5e, 0x1, 0x7b, 0xfe, 0x85, 0x25, 0x26, 0x73, 0xbd, 0xbd, 0xd5, 0x51, 0x51, 0x87, 0x87, 0x30, 0x36, 0x44, 0x45, 0x36, 0x34, 0x4, 0x3f, 0xae, 0x2b, 0x11, 0x14, 0x2a, 0x27, 0x57, 0x40, 0x25, 0x24, 0x21, 0xe, 0x2b, 0x98, 0x89, 0x9c, 0x5b, 0x5b, 0x11, 0x12, 0x23, 0xbe, 0x35, 0x1a, 0x1b, 0x2d, 0x2c, 0x51, 0x4b, 0x28, 0x23, 0x2a, 0xf, 0x24, 0x4a, 0x4b, 0x82, 0xa6, 0x4e, 0x56, 0xb, 0x1d, 0x1f, 0x87, 0x5f, 0x5d, 0x1, 0x60, 0x5c, 0x88, 0x4c, 0x8f, 0xfd, 0xa0, 0x89, 0x27, 0x27, 0x9a, 0x50, 0x4f, 0xd2, 0x2, 0x60, 0x8f, 0x4e, 0x41, 0x2b, 0x32, 0x1, 0x31, 0x30, 0x40, 0x3d, 0x0, 0x0, 0x1, 0x0, 0xab, 0xff, 0xe3, 0x8, 0xe3, 0x6, 0x14, 0x0, 0x4b, 0x0, 0x0, 0x1, 0x16, 0x15, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x34, 0x27, 0x21, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x15, 0x14, 0x33, 0x21, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x15, 0x14, 0x1f, 0x1, 0x21, 0x3, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x11, 0x4, 0x4f, 0x9, 0xb8, 0x43, 0xb1, 0x75, 0xc1, 0xc8, 0xb8, 0x7c, 0x7c, 0x95, 0xad, 0x5, 0xfe, 0x53, 0x98, 0x5b, 0x50, 0x5a, 0x77, 0x72, 0x59, 0x59, 0x83, 0x83, 0x1, 0x6c, 0x17, 0x36, 0x9, 0x37, 0xd1, 0xec, 0xde, 0x60, 0xe, 0x3b, 0x1, 0xdd, 0x1, 0x7c, 0x7c, 0x95, 0xad, 0xb8, 0xb8, 0x43, 0xb1, 0x75, 0xc1, 0xc8, 0x3, 0xb6, 0x25, 0x21, 0xfc, 0x90, 0xac, 0x66, 0x63, 0xf0, 0xe7, 0x1, 0x66, 0xfe, 0xa1, 0x9f, 0x9f, 0xbe, 0xa4, 0x1, 0x91, 0x24, 0x1c, 0x5e, 0x53, 0x91, 0x83, 0x42, 0x57, 0xaf, 0x7b, 0x8a, 0x38, 0x83, 0x4b, 0x1f, 0x15, 0x7a, 0xaf, 0x2b, 0x29, 0x20, 0x91, 0xfd, 0x61, 0xa0, 0x9e, 0xbe, 0xa4, 0x2, 0x7b, 0xfb, 0xa0, 0xac, 0x66, 0x63, 0xf0, 0xe7, 0x1, 0xfc, 0x0, 0x0, 0x1, 0x0, 0xae, 0xff, 0xe3, 0x8, 0xe3, 0x6, 0x14, 0x0, 0x3a, 0x0, 0x0, 0x1, 0x21, 0x26, 0x15, 0x14, 0x1f, 0x1, 0x16, 0x15, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x34, 0x2f, 0x1, 0x26, 0x37, 0x36, 0x33, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x5, 0x39, 0xfe, 0xf3, 0x60, 0xe, 0x4d, 0x31, 0xb8, 0x43, 0xb1, 0x75, 0xc1, 0xc8, 0xb8, 0x7c, 0x7c, 0x95, 0xad, 0x10, 0x4d, 0x4d, 0x20, 0x37, 0xd1, 0x1, 0xd3, 0x2, 0xf2, 0xfd, 0xe, 0x7c, 0x7c, 0x98, 0x53, 0x57, 0xb8, 0xb8, 0x43, 0xb1, 0x75, 0xc1, 0xc8, 0x5, 0x65, 0x1, 0x2c, 0x27, 0x22, 0xbc, 0x78, 0x4d, 0xfc, 0x90, 0xac, 0x66, 0x63, 0xf0, 0xe7, 0x2, 0xa6, 0xfd, 0x61, 0x9f, 0x9f, 0xbe, 0xa4, 0x1, 0x91, 0x3f, 0x27, 0xbc, 0xbb, 0x47, 0x7a, 0xfe, 0x4c, 0xaa, 0xfe, 0xb, 0x9f, 0x9f, 0x5f, 0x62, 0xa1, 0x1, 0x3b, 0xfc, 0xe0, 0xac, 0x66, 0x63, 0xf0, 0xe7, 0x0, 0x0, 0x1, 0x0, 0xae, 0xfe, 0x56, 0x8, 0xe3, 0x6, 0x14, 0x0, 0x35, 0x0, 0x0, 0x1, 0x21, 0x26, 0x15, 0x14, 0x1f, 0x1, 0x16, 0x15, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x34, 0x2f, 0x1, 0x26, 0x37, 0x36, 0x33, 0x21, 0x11, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x5, 0x39, 0xfe, 0xf3, 0x60, 0xe, 0x4d, 0x31, 0xb8, 0x43, 0xb1, 0x75, 0xc1, 0xc8, 0xb8, 0x7c, 0x7c, 0x95, 0xad, 0x10, 0x4d, 0x4d, 0x20, 0x37, 0xd1, 0x1, 0xd4, 0x42, 0xb3, 0x75, 0xc1, 0xc6, 0xb8, 0x7c, 0x7c, 0x95, 0xac, 0xb9, 0x5, 0x65, 0x1, 0x2c, 0x27, 0x22, 0xbc, 0x78, 0x4d, 0xfc, 0x90, 0xac, 0x66, 0x63, 0xf0, 0xe7, 0x2, 0xa6, 0xfd, 0x61, 0x9f, 0x9f, 0xbe, 0xa4, 0x1, 0x91, 0x3f, 0x27, 0xbc, 0xbb, 0x47, 0x7a, 0xfd, 0x9e, 0x65, 0x64, 0xef, 0xe8, 0xfd, 0x5c, 0x2, 0x9e, 0x9f, 0x9e, 0xbe, 0xa4, 0xfb, 0xdd, 0x0, 0x0, 0x0, 0x2, 0x0, 0xae, 0xfe, 0x56, 0x8, 0xe3, 0x6, 0x14, 0x0, 0x35, 0x0, 0x3c, 0x0, 0x0, 0x1, 0x21, 0x22, 0x27, 0x26, 0x37, 0x36, 0x37, 0x36, 0x33, 0x21, 0x11, 0x21, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x11, 0x23, 0x11, 0x33, 0x15, 0x21, 0x11, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x19, 0x1, 0x21, 0x22, 0x15, 0x14, 0x33, 0x3, 0xa0, 0xfe, 0xdb, 0x95, 0x5e, 0x53, 0x3, 0x3, 0x57, 0x73, 0x76, 0x1, 0xdd, 0x1, 0x99, 0x7c, 0x7c, 0x95, 0xad, 0xb8, 0xb8, 0x43, 0xb1, 0x75, 0xc1, 0xc8, 0xe1, 0xd5, 0xfe, 0x73, 0x43, 0xb1, 0x75, 0xc1, 0xc8, 0xb8, 0x7c, 0x7c, 0x95, 0x57, 0x56, 0xfe, 0xdb, 0x83, 0x83, 0x3, 0xb6, 0x5e, 0x53, 0x91, 0x83, 0x42, 0x57, 0xfe, 0x4c, 0xfd, 0x61, 0x9f, 0x9f, 0xbe, 0xa4, 0x2, 0x7b, 0xfb, 0xa0, 0xac, 0x66, 0x63, 0xf0, 0xe7, 0x1, 0xfc, 0xfb, 0x42, 0xa2, 0x2, 0x56, 0x66, 0x63, 0xf0, 0xe7, 0x1, 0x66, 0xfe, 0xa1, 0x9f, 0x9f, 0x5f, 0x5f, 0xa4, 0x2, 0x7b, 0x1, 0x5, 0x7b, 0x8a, 0x0, 0x0, 0x0, 0x1, 0x0, 0xae, 0xfe, 0x56, 0xb, 0x9b, 0x6, 0x14, 0x0, 0x48, 0x0, 0x0, 0x1, 0x21, 0x26, 0x15, 0x14, 0x1f, 0x1, 0x16, 0x15, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x34, 0x2f, 0x1, 0x26, 0x37, 0x36, 0x33, 0x21, 0x11, 0x36, 0x37, 0x36, 0x33, 0x32, 0x16, 0x1d, 0x1, 0x14, 0x17, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x23, 0x35, 0xe, 0x1, 0x23, 0x22, 0x27, 0x26, 0x3d, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x5, 0x39, 0xfe, 0xf3, 0x60, 0xe, 0x4d, 0x31, 0xb8, 0x43, 0xb1, 0x75, 0xc1, 0xc8, 0xb8, 0x7c, 0x7c, 0x95, 0xad, 0x10, 0x4d, 0x4d, 0x20, 0x37, 0xd1, 0x1, 0xd4, 0x63, 0x25, 0x5a, 0x6b, 0xc1, 0xc6, 0x3e, 0x38, 0x6e, 0x8c, 0xad, 0xb8, 0xb8, 0x43, 0xb1, 0x6c, 0xaf, 0x62, 0x64, 0x7c, 0x7c, 0x78, 0xac, 0xb9, 0x5, 0x65, 0x1, 0x2c, 0x27, 0x22, 0xbc, 0x78, 0x4d, 0xfc, 0x90, 0xac, 0x66, 0x63, 0xf0, 0xe7, 0x2, 0xa6, 0xfd, 0x61, 0x9f, 0x9f, 0xbe, 0xa4, 0x1, 0x91, 0x3f, 0x27, 0xbc, 0xbb, 0x47, 0x7a, 0xfd, 0x9e, 0x81, 0x16, 0x32, 0xef, 0xe8, 0xe3, 0x97, 0x58, 0x4f, 0xbe, 0xa4, 0x2, 0x7b, 0xfb, 0xa0, 0xac, 0x66, 0x63, 0x78, 0x7b, 0xe4, 0xe4, 0x9f, 0x9e, 0xbe, 0xa4, 0xfb, 0xdd, 0xff, 0xff, 0x0, 0x88, 0x0, 0x5b, 0x1, 0x42, 0x4, 0x60, 0x12, 0x26, 0x5, 0x2f, 0x0, 0x0, 0x10, 0x7, 0x5, 0x14, 0xfe, 0x4e, 0x1, 0xa0, 0x0, 0x1, 0x1, 0x56, 0x5, 0x0, 0x3, 0xc8, 0x6, 0x1f, 0x0, 0xc, 0x0, 0x0, 0x1, 0x33, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x37, 0x33, 0xe, 0x1, 0x20, 0x26, 0x1, 0x56, 0x76, 0xb, 0x61, 0x57, 0x56, 0x60, 0xd, 0x76, 0xa, 0x9e, 0xfe, 0xde, 0x9e, 0x6, 0x1f, 0x4b, 0x4b, 0x4a, 0x4c, 0x8f, 0x90, 0x90, 0x0, 0xff, 0xff, 0x0, 0x4a, 0x0, 0x5b, 0x2, 0xa2, 0x4, 0x60, 0x12, 0x26, 0x5, 0x43, 0x0, 0x0, 0x10, 0x7, 0x5, 0x17, 0xfe, 0xe7, 0x1, 0xa0, 0x0, 0x1, 0x0, 0x4e, 0x0, 0x0, 0x4, 0x7e, 0x4, 0x60, 0x0, 0x16, 0x0, 0x0, 0x1, 0x13, 0x32, 0x37, 0x36, 0x37, 0x36, 0x3d, 0x1, 0x33, 0x11, 0x14, 0xe, 0x5, 0x23, 0x21, 0x35, 0x21, 0x3, 0x1, 0x63, 0xc1, 0xfa, 0x5c, 0x40, 0x8, 0x2, 0xba, 0xe, 0x26, 0x40, 0x65, 0x8b, 0xbe, 0x78, 0xfe, 0x6a, 0x1, 0x14, 0xc1, 0x4, 0x60, 0xfc, 0x51, 0xa3, 0x71, 0xf2, 0x3c, 0x76, 0xf7, 0xfe, 0xd6, 0x74, 0xb6, 0xb0, 0x81, 0x6f, 0x45, 0x27, 0xb1, 0x3, 0xaf, 0x0, 0x1, 0x0, 0xae, 0x0, 0x0, 0x6, 0x2d, 0x4, 0x60, 0x0, 0x20, 0x0, 0x0, 0x9, 0x1, 0x23, 0x1, 0xe, 0x3, 0x15, 0x11, 0x23, 0x11, 0x34, 0x3e, 0x2, 0x37, 0x1, 0x33, 0x1, 0x3e, 0x3, 0x35, 0x11, 0x33, 0x15, 0x14, 0xe, 0x3, 0x4, 0xb3, 0x1, 0x7a, 0xed, 0xfd, 0x4b, 0x2d, 0x62, 0x5b, 0x3b, 0xb8, 0x49, 0x77, 0x7a, 0x3f, 0xfe, 0x87, 0xed, 0x2, 0xb4, 0x2d, 0x62, 0x5c, 0x3b, 0xb8, 0x32, 0x4e, 0x68, 0x60, 0x1, 0x69, 0xfe, 0x97, 0x2, 0x97, 0x6, 0x38, 0x5e, 0x97, 0x58, 0xfe, 0xf4, 0x1, 0xa, 0x64, 0xad, 0x77, 0x4e, 0x16, 0x1, 0x6a, 0xfd, 0x69, 0x6, 0x38, 0x5e, 0x97, 0x58, 0x1, 0xc, 0xf6, 0x56, 0x9a, 0x6e, 0x5a, 0x37, 0x0, 0x0, 0x1, 0x0, 0x58, 0x0, 0x0, 0x5, 0xbd, 0x4, 0x60, 0x0, 0x7, 0x0, 0x0, 0x1, 0x23, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x5, 0xbd, 0xca, 0xba, 0xfc, 0x1f, 0x5, 0x65, 0x3, 0xd1, 0xfc, 0x2f, 0x3, 0xd1, 0x8f, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0x0, 0x0, 0x6, 0x1d, 0x4, 0x60, 0x0, 0x13, 0x0, 0x17, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x34, 0x2e, 0x4, 0x23, 0x21, 0x35, 0x21, 0x32, 0x1e, 0x4, 0x25, 0x11, 0x23, 0x11, 0x6, 0x1d, 0xb9, 0xd, 0x27, 0x3e, 0x6e, 0x8c, 0x69, 0xfd, 0x2b, 0x2, 0xd5, 0x85, 0xc4, 0x94, 0x5e, 0x3b, 0x18, 0xfb, 0x6b, 0xb9, 0x1, 0xed, 0xfe, 0x13, 0x1, 0xed, 0x6a, 0x8b, 0x74, 0x40, 0x2c, 0xf, 0x8f, 0x1a, 0x3f, 0x5d, 0x91, 0xb2, 0x45, 0xfd, 0x54, 0x2, 0x60, 0x0, 0x0, 0x1, 0x0, 0x58, 0x0, 0x0, 0x5, 0xbb, 0x4, 0x60, 0x0, 0x1b, 0x0, 0x0, 0x13, 0x21, 0x32, 0x1e, 0x3, 0x14, 0xe, 0x3, 0x23, 0x21, 0x35, 0x21, 0x32, 0x3e, 0x3, 0x34, 0x2e, 0x3, 0x23, 0x21, 0x58, 0x2, 0xd7, 0x96, 0xe8, 0x8f, 0x5c, 0x23, 0x23, 0x5c, 0x8f, 0xe7, 0x96, 0xfd, 0x28, 0x2, 0xd8, 0x71, 0xa8, 0x66, 0x3d, 0x16, 0x16, 0x3d, 0x66, 0xa8, 0x71, 0xfd, 0x28, 0x4, 0x60, 0x41, 0x69, 0x95, 0x99, 0xb0, 0x99, 0x95, 0x69, 0x41, 0x8e, 0x2a, 0x48, 0x6e, 0x75, 0x9a, 0x75, 0x6e, 0x48, 0x2a, 0x0, 0x1, 0x0, 0x58, 0x0, 0x0, 0x5, 0xbb, 0x6, 0x14, 0x0, 0x8, 0x0, 0x0, 0x21, 0x1, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x1, 0x2, 0xa0, 0x2, 0x5c, 0xfb, 0x5c, 0xbb, 0x4, 0xa8, 0xfd, 0xa4, 0x3, 0xd1, 0x2, 0x43, 0xfe, 0x4c, 0x84, 0xfc, 0x24, 0x0, 0x0, 0x2, 0x0, 0xba, 0x0, 0x0, 0x6, 0x1d, 0x4, 0x60, 0x0, 0x8, 0x0, 0x13, 0x0, 0x0, 0x29, 0x1, 0x11, 0x21, 0x32, 0x1e, 0x2, 0x15, 0x1, 0x11, 0x21, 0x11, 0x34, 0x2e, 0x4, 0x23, 0x6, 0x1d, 0xfa, 0x9d, 0x3, 0x35, 0xa3, 0xd3, 0x83, 0x35, 0xfb, 0x57, 0x3, 0xef, 0xc, 0x21, 0x33, 0x57, 0x6d, 0x4f, 0x4, 0x60, 0x3c, 0x90, 0xd9, 0xa7, 0x1, 0xbd, 0xfc, 0xbe, 0x1, 0x85, 0x5e, 0x82, 0x68, 0x3d, 0x29, 0xf, 0x0, 0x0, 0x0, 0x1, 0x0, 0x58, 0x0, 0x0, 0x5, 0xbb, 0x4, 0x60, 0x0, 0xf, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x34, 0x2e, 0x2, 0x23, 0x21, 0x35, 0x21, 0x32, 0x1e, 0x2, 0x5, 0xbb, 0xba, 0x1d, 0x54, 0x8c, 0x74, 0xfc, 0xc8, 0x3, 0x37, 0xa2, 0xd3, 0x82, 0x35, 0x2, 0x14, 0xfd, 0xec, 0x2, 0x14, 0x86, 0xa1, 0x6d, 0x29, 0x8f, 0x3c, 0x90, 0xd9, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x60, 0xff, 0xf8, 0x5, 0xba, 0x4, 0x60, 0x0, 0x1e, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x34, 0x2e, 0x3, 0x23, 0x21, 0x11, 0x14, 0x6, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x23, 0x35, 0x21, 0x32, 0x1e, 0x2, 0x5, 0xba, 0xba, 0xa, 0x24, 0x40, 0x70, 0x50, 0xfe, 0x24, 0x7b, 0x98, 0x35, 0x4e, 0x41, 0x26, 0x47, 0x2e, 0xad, 0x3, 0x43, 0x8f, 0xc1, 0x6c, 0x2c, 0x2, 0x5e, 0xfd, 0xa2, 0x2, 0x60, 0x4a, 0x63, 0x65, 0x3a, 0x25, 0xfd, 0xcd, 0xd6, 0xd0, 0x10, 0x8f, 0xe, 0x72, 0xa3, 0x2, 0x33, 0x8f, 0x43, 0x8a, 0xb4, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xd9, 0x2, 0x2d, 0x5, 0xdb, 0x5, 0x4, 0x0, 0x7, 0x0, 0x0, 0x1, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x5, 0xdb, 0xfa, 0xfe, 0x2, 0x2d, 0xa8, 0x2, 0x2d, 0x2, 0x2d, 0xaa, 0x2, 0x2d, 0xfd, 0xd3, 0x0, 0x0, 0xff, 0xff, 0x0, 0x58, 0x0, 0x0, 0x5, 0x53, 0x5, 0x96, 0x10, 0x26, 0x5, 0x21, 0xa1, 0x0, 0x12, 0x6, 0x5, 0x3f, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x4e, 0x0, 0x0, 0x5, 0x53, 0x5, 0x96, 0x10, 0x26, 0x5, 0x19, 0x4e, 0x0, 0x12, 0x6, 0x5, 0x3f, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x58, 0x0, 0x0, 0x5, 0x53, 0x5, 0x96, 0x10, 0x27, 0x5, 0x19, 0x2, 0x58, 0xfc, 0xf, 0x10, 0x26, 0x5, 0x21, 0x97, 0x0, 0x12, 0x6, 0x5, 0x3f, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x58, 0x0, 0x0, 0x5, 0x53, 0x5, 0x96, 0x10, 0x27, 0x5, 0x19, 0x2, 0x58, 0xfc, 0xf, 0x10, 0x27, 0x5, 0x21, 0xfb, 0x4c, 0x0, 0x0, 0x12, 0x6, 0x5, 0x3f, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0xbb, 0x4, 0x9f, 0x4, 0x60, 0x10, 0x26, 0x5, 0x17, 0x0, 0x0, 0x12, 0x6, 0x5, 0x26, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x75, 0x4, 0x9f, 0x4, 0x60, 0x10, 0x26, 0x5, 0x18, 0x0, 0x0, 0x12, 0x6, 0x5, 0x26, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0xbb, 0x4, 0x9f, 0x4, 0x60, 0x10, 0x26, 0x5, 0x14, 0x0, 0x0, 0x12, 0x6, 0x5, 0x26, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x58, 0x0, 0x0, 0x4, 0x48, 0x4, 0x60, 0x10, 0x27, 0x5, 0x1c, 0xfe, 0xe1, 0x0, 0x0, 0x12, 0x6, 0x5, 0x27, 0x0, 0x0, 0xff, 0xff, 0x0, 0x58, 0xff, 0xf6, 0x3, 0x11, 0x4, 0x60, 0x10, 0x27, 0x5, 0x1c, 0xfe, 0x21, 0x0, 0x0, 0x12, 0x6, 0x5, 0x28, 0x0, 0x0, 0xff, 0xff, 0x0, 0x58, 0x0, 0x0, 0x4, 0x17, 0x4, 0x60, 0x10, 0x27, 0x5, 0x1c, 0xfe, 0x81, 0x0, 0x0, 0x12, 0x6, 0x5, 0x29, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x4, 0x80, 0x4, 0x60, 0x10, 0x26, 0x5, 0x1c, 0x0, 0x0, 0x12, 0x6, 0x5, 0x2a, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x59, 0x0, 0x0, 0x2, 0x1e, 0x4, 0x60, 0x10, 0x27, 0x5, 0x1c, 0xfe, 0xb, 0x0, 0x0, 0x10, 0x7, 0x5, 0x2b, 0x0, 0xaa, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x59, 0x0, 0x0, 0x2, 0xe7, 0x4, 0x60, 0x10, 0x27, 0x5, 0x1c, 0xfe, 0xb, 0x0, 0x0, 0x10, 0x6, 0x5, 0x2c, 0x7a, 0x0, 0xff, 0xff, 0x0, 0xb9, 0xff, 0xe3, 0x4, 0xbf, 0x4, 0x6b, 0x10, 0x26, 0x5, 0x1c, 0x0, 0x0, 0x12, 0x6, 0x5, 0x2e, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x59, 0x1, 0xa2, 0x2, 0x1c, 0x4, 0x60, 0x10, 0x27, 0x5, 0x1c, 0xfe, 0xb, 0x0, 0xa0, 0x10, 0x7, 0x5, 0x2f, 0x0, 0xda, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x58, 0xfe, 0x56, 0x3, 0x92, 0x4, 0x60, 0x10, 0x27, 0x5, 0x1c, 0xfe, 0xb1, 0x0, 0x0, 0x12, 0x6, 0x5, 0x30, 0x0, 0x0, 0xff, 0xff, 0x0, 0x58, 0x0, 0x0, 0x3, 0xca, 0x4, 0x60, 0x10, 0x27, 0x5, 0x1c, 0xfe, 0xb1, 0x0, 0x0, 0x12, 0x6, 0x5, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0x58, 0x0, 0x0, 0x3, 0xf0, 0x5, 0xd5, 0x10, 0x27, 0x5, 0x1c, 0xfe, 0x51, 0x0, 0x0, 0x12, 0x6, 0x5, 0x32, 0x0, 0x0, 0xff, 0xff, 0x0, 0x58, 0x0, 0x0, 0x4, 0xb5, 0x4, 0x70, 0x10, 0x26, 0x5, 0x1c, 0x30, 0x0, 0x12, 0x6, 0x5, 0x34, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x58, 0x0, 0x0, 0x2, 0x78, 0x4, 0x60, 0x10, 0x27, 0x5, 0x1c, 0xfe, 0x21, 0x0, 0x0, 0x10, 0x6, 0x5, 0x36, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb9, 0xff, 0xe3, 0x4, 0xbf, 0x4, 0x60, 0x10, 0x26, 0x5, 0x1c, 0x0, 0x0, 0x12, 0x6, 0x5, 0x37, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0x64, 0x4, 0x60, 0x10, 0x26, 0x5, 0x1c, 0x71, 0x0, 0x12, 0x6, 0x5, 0x39, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x4, 0x8e, 0x4, 0x60, 0x10, 0x26, 0x5, 0x1c, 0x7c, 0x0, 0x12, 0x6, 0x5, 0x3a, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x58, 0x0, 0x0, 0x4, 0x5, 0x4, 0x60, 0x10, 0x27, 0x5, 0x1c, 0xfe, 0x51, 0x0, 0x0, 0x12, 0x6, 0x5, 0x3c, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x5, 0x11, 0x4, 0x5f, 0x10, 0x26, 0x5, 0x1c, 0xd1, 0x0, 0x12, 0x6, 0x5, 0x3d, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x58, 0x0, 0x0, 0x3, 0xca, 0x4, 0x60, 0x10, 0x27, 0x5, 0x1c, 0xfe, 0xb1, 0x0, 0x0, 0x12, 0x6, 0x5, 0x3e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x58, 0x0, 0x0, 0x5, 0x53, 0x4, 0x60, 0x10, 0x27, 0x5, 0x19, 0x2, 0x39, 0xfc, 0xd, 0x12, 0x6, 0x5, 0x3f, 0x0, 0x0, 0xff, 0xff, 0x0, 0x14, 0xff, 0xf8, 0x4, 0x88, 0x4, 0x60, 0x10, 0x26, 0x5, 0x1c, 0x0, 0x0, 0x12, 0x6, 0x5, 0x40, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x1, 0x74, 0x5, 0x96, 0x10, 0x27, 0x5, 0x21, 0xfb, 0xb4, 0x0, 0x0, 0x12, 0x6, 0x5, 0x2b, 0x0, 0x0, 0xff, 0xff, 0x0, 0x58, 0x0, 0x0, 0x4, 0x48, 0x5, 0x96, 0x10, 0x27, 0x5, 0x1f, 0xff, 0x71, 0x0, 0x0, 0x12, 0x6, 0x5, 0x27, 0x0, 0x0, 0xff, 0xff, 0x0, 0x58, 0x0, 0x0, 0x3, 0xca, 0x5, 0x96, 0x10, 0x27, 0x5, 0x1f, 0xff, 0x41, 0x0, 0x0, 0x12, 0x6, 0x5, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x4, 0x8e, 0x5, 0x96, 0x10, 0x26, 0x5, 0x1f, 0x0, 0x0, 0x12, 0x6, 0x5, 0x3a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x58, 0x0, 0x0, 0x4, 0x91, 0x6, 0x14, 0x0, 0x2c, 0x0, 0x0, 0x9, 0x1, 0x23, 0x1, 0xe, 0x4, 0x15, 0x11, 0x23, 0x35, 0x34, 0x3e, 0x5, 0x37, 0x3, 0x23, 0x11, 0x33, 0x11, 0x33, 0x7, 0x1, 0x3e, 0x4, 0x35, 0x11, 0x33, 0x15, 0x14, 0xe, 0x5, 0x3, 0x72, 0x1, 0x1d, 0xd9, 0xfe, 0x60, 0x1c, 0x23, 0x38, 0x21, 0x1a, 0xb8, 0x14, 0x1f, 0x32, 0x2d, 0x41, 0x2c, 0x1f, 0xba, 0xb8, 0xbb, 0x78, 0x2, 0x1, 0x9e, 0x1b, 0x23, 0x38, 0x22, 0x1a, 0xb8, 0x14, 0x1f, 0x32, 0x2e, 0x40, 0x2c, 0x1, 0x9b, 0xfe, 0x65, 0x2, 0x58, 0xe, 0x15, 0x35, 0x41, 0x6e, 0x45, 0xfe, 0xf4, 0xb9, 0x51, 0x8a, 0x60, 0x51, 0x32, 0x2c, 0x15, 0xd, 0x1, 0xd, 0x2, 0x42, 0xfe, 0x4c, 0x3, 0xfd, 0xab, 0xd, 0x15, 0x36, 0x41, 0x6e, 0x45, 0x1, 0xc, 0xb9, 0x52, 0x89, 0x61, 0x51, 0x31, 0x2c, 0x15, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0x6, 0xeb, 0x2, 0x9d, 0x10, 0x27, 0x16, 0xc8, 0x3, 0x39, 0xff, 0x6, 0x10, 0x6, 0x5, 0x8e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0x7, 0xef, 0x2, 0x9d, 0x10, 0x27, 0x16, 0xc8, 0x3, 0x39, 0xff, 0x6, 0x10, 0x6, 0x16, 0xca, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xc, 0x1, 0x87, 0x2, 0x58, 0x10, 0x26, 0x16, 0xcb, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc8, 0x0, 0xe0, 0xff, 0x6, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xc, 0x2, 0x7e, 0x2, 0x58, 0x10, 0x27, 0x16, 0xc8, 0x0, 0xe0, 0xff, 0x6, 0x10, 0x6, 0x16, 0xcc, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0x6, 0xeb, 0x2, 0x9d, 0x10, 0x27, 0x16, 0xc7, 0x2, 0xbc, 0xff, 0x6, 0x10, 0x6, 0x5, 0x8e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0x7, 0xef, 0x2, 0x9d, 0x10, 0x27, 0x16, 0xc7, 0x2, 0xbc, 0xff, 0x6, 0x10, 0x6, 0x16, 0xca, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xc, 0x1, 0xf3, 0x2, 0x58, 0x10, 0x26, 0x16, 0xcb, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc7, 0x0, 0x63, 0xff, 0x6, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xc, 0x2, 0x7e, 0x2, 0x58, 0x10, 0x26, 0x16, 0xcc, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc7, 0x0, 0x63, 0xff, 0x6, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0x6, 0xeb, 0x2, 0x9d, 0x10, 0x27, 0x16, 0xc9, 0x2, 0xbc, 0xff, 0x6, 0x10, 0x6, 0x5, 0x8e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0x7, 0xef, 0x2, 0x9d, 0x10, 0x27, 0x16, 0xc9, 0x2, 0xbc, 0xff, 0x6, 0x10, 0x6, 0x16, 0xca, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xc, 0x1, 0xf3, 0x2, 0x58, 0x10, 0x26, 0x16, 0xcb, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc9, 0x0, 0x63, 0xff, 0x6, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xc, 0x2, 0x7e, 0x2, 0x58, 0x10, 0x26, 0x16, 0xcc, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc9, 0x0, 0x63, 0xff, 0x6, 0xff, 0xff, 0x0, 0x82, 0xff, 0xec, 0x6, 0xeb, 0x4, 0x1a, 0x10, 0x27, 0x16, 0xc8, 0x3, 0x39, 0x3, 0x84, 0x10, 0x6, 0x5, 0x8e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xff, 0xec, 0x7, 0xef, 0x4, 0x1a, 0x10, 0x27, 0x16, 0xc8, 0x3, 0x39, 0x3, 0x84, 0x10, 0x6, 0x16, 0xca, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x1, 0x87, 0x4, 0xe2, 0x10, 0x26, 0x16, 0xcb, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc8, 0x0, 0xe0, 0x4, 0x4c, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x2, 0x7e, 0x4, 0xe2, 0x10, 0x26, 0x16, 0xcc, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc8, 0x0, 0xe0, 0x4, 0x4c, 0xff, 0xff, 0x0, 0x82, 0xff, 0xec, 0x6, 0xeb, 0x4, 0x1a, 0x10, 0x27, 0x16, 0xc9, 0x2, 0xbc, 0x3, 0x84, 0x10, 0x6, 0x5, 0x8e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xff, 0xec, 0x7, 0xef, 0x4, 0x1a, 0x10, 0x26, 0x16, 0xca, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc9, 0x2, 0xbc, 0x3, 0x84, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x1, 0xf3, 0x4, 0xe2, 0x10, 0x26, 0x16, 0xcb, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc9, 0x0, 0x63, 0x4, 0x4c, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x2, 0x7e, 0x4, 0xe2, 0x10, 0x26, 0x16, 0xcc, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc9, 0x0, 0x63, 0x4, 0x4c, 0xff, 0xff, 0x0, 0x82, 0xff, 0xec, 0x6, 0xeb, 0x4, 0x99, 0x10, 0x27, 0x5, 0x4b, 0x1, 0x84, 0xfd, 0xa8, 0x10, 0x6, 0x5, 0x8e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xff, 0xec, 0x7, 0xef, 0x4, 0x99, 0x10, 0x26, 0x16, 0xca, 0x0, 0x0, 0x10, 0x7, 0x5, 0x4b, 0x1, 0x84, 0xfd, 0xa8, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x2, 0x30, 0x5, 0x61, 0x10, 0x26, 0x16, 0xcb, 0x0, 0x0, 0x10, 0x7, 0x5, 0x4b, 0xff, 0x2b, 0xfe, 0x70, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x2, 0x7e, 0x5, 0x61, 0x10, 0x26, 0x16, 0xcc, 0x0, 0x0, 0x10, 0x7, 0x5, 0x4b, 0xff, 0x2b, 0xfe, 0x70, 0xff, 0xff, 0x0, 0x82, 0xff, 0xa4, 0x7, 0x9e, 0x6, 0xe, 0x10, 0x27, 0x16, 0xc6, 0x5, 0x78, 0x4, 0x7e, 0x10, 0x6, 0x5, 0xba, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xff, 0xa5, 0x8, 0x5c, 0x5, 0x46, 0x10, 0x26, 0x16, 0xcd, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x5, 0x78, 0x3, 0xb6, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x3, 0x3f, 0x6, 0xe, 0x10, 0x26, 0x16, 0xce, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x1, 0x2c, 0x4, 0x7e, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x4, 0x20, 0x5, 0x78, 0x10, 0x26, 0x16, 0xcf, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x1, 0x3e, 0x3, 0xe8, 0xff, 0xff, 0x0, 0x82, 0xff, 0xa4, 0x7, 0x9e, 0x6, 0xe, 0x10, 0x27, 0x16, 0xc9, 0x5, 0x78, 0x5, 0x78, 0x10, 0x6, 0x5, 0xba, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xff, 0xa5, 0x8, 0x5c, 0x5, 0x46, 0x10, 0x26, 0x16, 0xcd, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc9, 0x5, 0x78, 0x4, 0xb0, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x3, 0x3f, 0x6, 0xe, 0x10, 0x26, 0x16, 0xce, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc9, 0x1, 0x2c, 0x5, 0x78, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x4, 0x20, 0x5, 0x78, 0x10, 0x26, 0x16, 0xcf, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc9, 0x1, 0x3e, 0x4, 0xe2, 0xff, 0xff, 0x0, 0x9d, 0xfe, 0xc, 0x5, 0x28, 0x3, 0x66, 0x10, 0x27, 0x16, 0xc8, 0x3, 0x7, 0x0, 0xaf, 0x10, 0x6, 0x5, 0x5a, 0x0, 0x0, 0xff, 0xff, 0x0, 0x9d, 0xfe, 0xc, 0x5, 0x3e, 0x3, 0x66, 0x10, 0x27, 0x16, 0xc8, 0x2, 0xa3, 0x0, 0x7d, 0x10, 0x6, 0x14, 0x86, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0xfe, 0x3e, 0x4, 0x5c, 0x3, 0x2f, 0x10, 0x26, 0x14, 0x87, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc8, 0x2, 0xd, 0xff, 0x38, 0xff, 0xff, 0xff, 0xec, 0xfe, 0x3e, 0x5, 0x3e, 0x3, 0x2f, 0x10, 0x26, 0x14, 0x88, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc8, 0x2, 0xd, 0xff, 0x38, 0xff, 0xff, 0x0, 0x9d, 0xfe, 0xc, 0x5, 0x28, 0x3, 0x66, 0x10, 0x27, 0x16, 0xc5, 0x2, 0x8a, 0x0, 0x19, 0x10, 0x6, 0x5, 0x5a, 0x0, 0x0, 0xff, 0xff, 0x0, 0x9d, 0xfe, 0xc, 0x5, 0x3e, 0x3, 0x66, 0x10, 0x27, 0x16, 0xc5, 0x2, 0x26, 0xff, 0xe7, 0x10, 0x6, 0x14, 0x86, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0xff, 0x38, 0x4, 0x5c, 0x3, 0x2f, 0x10, 0x26, 0x14, 0x87, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x1, 0x90, 0xff, 0x38, 0xff, 0xff, 0xff, 0xec, 0xff, 0x38, 0x5, 0x3e, 0x3, 0x2f, 0x10, 0x26, 0x14, 0x88, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x1, 0x90, 0xff, 0x38, 0xff, 0xff, 0x0, 0x9d, 0xfe, 0xc, 0x5, 0x28, 0x3, 0x66, 0x10, 0x27, 0x16, 0xc7, 0x2, 0x96, 0x0, 0x96, 0x10, 0x6, 0x5, 0x5a, 0x0, 0x0, 0xff, 0xff, 0x0, 0x9d, 0xfe, 0xc, 0x5, 0x3e, 0x3, 0x66, 0x10, 0x27, 0x16, 0xc7, 0x2, 0x19, 0x0, 0x32, 0x10, 0x6, 0x14, 0x86, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0xfe, 0x3e, 0x4, 0x5c, 0x3, 0x2f, 0x10, 0x26, 0x14, 0x87, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc7, 0x1, 0x90, 0xff, 0x38, 0xff, 0xff, 0xff, 0xec, 0xfe, 0x3e, 0x5, 0x3e, 0x3, 0x2f, 0x10, 0x26, 0x14, 0x88, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc7, 0x1, 0x90, 0xff, 0x38, 0xff, 0xff, 0x0, 0x9d, 0xfe, 0xc, 0x5, 0x28, 0x3, 0x66, 0x10, 0x27, 0x16, 0xc9, 0x2, 0x96, 0x0, 0xaf, 0x10, 0x6, 0x5, 0x5a, 0x0, 0x0, 0xff, 0xff, 0x0, 0x9d, 0xfe, 0xc, 0x5, 0x3e, 0x3, 0x66, 0x10, 0x27, 0x16, 0xc9, 0x2, 0x19, 0x0, 0x32, 0x10, 0x6, 0x14, 0x86, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0xfe, 0x3e, 0x4, 0x5c, 0x3, 0x2f, 0x10, 0x26, 0x14, 0x87, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc9, 0x1, 0x90, 0xff, 0x38, 0xff, 0xff, 0xff, 0xec, 0xfe, 0x3e, 0x5, 0x3e, 0x3, 0x2f, 0x10, 0x26, 0x14, 0x88, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc9, 0x1, 0x90, 0xff, 0x38, 0xff, 0xff, 0x0, 0x7d, 0xfe, 0xd4, 0x3, 0x1b, 0x3, 0x52, 0x10, 0x27, 0x16, 0xc5, 0x1, 0x2b, 0xfe, 0xd4, 0x10, 0x6, 0x5, 0x5c, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7d, 0xfe, 0xd4, 0x4, 0x47, 0x3, 0x52, 0x10, 0x27, 0x16, 0xc5, 0x1, 0x2b, 0xfe, 0xd4, 0x10, 0x6, 0x14, 0x8e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7d, 0xff, 0xda, 0x3, 0x1b, 0x4, 0xb0, 0x10, 0x27, 0x16, 0xc5, 0x0, 0xfa, 0x4, 0x1a, 0x10, 0x6, 0x5, 0x5c, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7d, 0xff, 0xda, 0x4, 0x47, 0x4, 0xb0, 0x10, 0x27, 0x16, 0xc5, 0x0, 0xfa, 0x4, 0x1a, 0x10, 0x6, 0x14, 0x8e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7d, 0xff, 0xda, 0x3, 0x1b, 0x5, 0xaa, 0x10, 0x27, 0x16, 0xc6, 0x0, 0xfa, 0x4, 0x1a, 0x10, 0x6, 0x5, 0x5c, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7d, 0xff, 0xda, 0x4, 0x47, 0x5, 0xaa, 0x10, 0x27, 0x16, 0xc6, 0x0, 0xfa, 0x4, 0x1a, 0x10, 0x6, 0x14, 0x8e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7d, 0xff, 0xda, 0x3, 0x1b, 0x5, 0xf7, 0x10, 0x27, 0x5, 0x4b, 0xff, 0xc2, 0xff, 0x6, 0x10, 0x6, 0x5, 0x5c, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7d, 0xff, 0xda, 0x4, 0x47, 0x5, 0xf7, 0x10, 0x27, 0x5, 0x4b, 0xff, 0xc2, 0xff, 0x6, 0x10, 0x6, 0x14, 0x8e, 0x0, 0x0, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x3, 0x84, 0x4, 0xb0, 0x10, 0x27, 0x16, 0xc6, 0x1, 0xf4, 0x3, 0x20, 0x10, 0x6, 0x5, 0x5e, 0x0, 0x0, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x4, 0x7e, 0x4, 0xb0, 0x10, 0x26, 0x14, 0x92, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x1, 0xf4, 0x3, 0x20, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x3, 0xc1, 0x5, 0x2f, 0x10, 0x26, 0x5, 0x5e, 0x0, 0x0, 0x10, 0x7, 0x5, 0x4b, 0x0, 0xbc, 0xfe, 0x3e, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x4, 0x7e, 0x5, 0x2f, 0x10, 0x26, 0x14, 0x92, 0x0, 0x0, 0x10, 0x7, 0x5, 0x4b, 0x0, 0xbc, 0xfe, 0x3e, 0xff, 0xff, 0x0, 0x82, 0xff, 0xa7, 0x7, 0x29, 0x6, 0x14, 0x10, 0x6, 0x5, 0xc2, 0x0, 0x0, 0x0, 0x1, 0x0, 0x82, 0xff, 0xa7, 0x7, 0xd9, 0x6, 0x14, 0x0, 0x37, 0x0, 0x0, 0x25, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x24, 0x11, 0x34, 0x37, 0x33, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x1, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x15, 0x5, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x1, 0x16, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x26, 0x2f, 0x1, 0x6, 0x5, 0x9c, 0x63, 0xa9, 0xcd, 0xb7, 0xc0, 0x80, 0xfe, 0xb6, 0x3f, 0xb8, 0x41, 0xcb, 0x68, 0x97, 0xb8, 0xc2, 0x9e, 0x23, 0x10, 0x36, 0xfe, 0xca, 0x32, 0xa, 0x23, 0x64, 0x2, 0xe9, 0xfd, 0xad, 0x47, 0x15, 0x6, 0x1f, 0x2, 0x47, 0x16, 0x26, 0x2b, 0x40, 0x58, 0x84, 0x41, 0x3a, 0x67, 0x21, 0x61, 0x19, 0x78, 0x4c, 0x3c, 0x49, 0x26, 0x62, 0x1, 0xb, 0x8a, 0x5c, 0x5e, 0x88, 0x7e, 0x42, 0x22, 0x50, 0x41, 0x37, 0x1a, 0x2e, 0x45, 0x42, 0x1, 0x7c, 0x3d, 0x51, 0x23, 0x21, 0x77, 0x2a, 0x1, 0x36, 0xba, 0xfa, 0x1e, 0x28, 0xb, 0x19, 0x20, 0x25, 0xfd, 0x3f, 0x1a, 0xe, 0x10, 0xb8, 0x18, 0x2b, 0x29, 0x78, 0x40, 0x0, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x3, 0xcf, 0x6, 0x14, 0x10, 0x6, 0x14, 0xbf, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x4, 0x7f, 0x6, 0x14, 0x10, 0x6, 0x14, 0xc0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xff, 0xa7, 0x7, 0x29, 0x7, 0x2b, 0x10, 0x27, 0x16, 0xe8, 0x3, 0xca, 0x0, 0x0, 0x10, 0x6, 0x5, 0xc2, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xff, 0xa7, 0x7, 0xd9, 0x7, 0x2b, 0x10, 0x26, 0x14, 0x1c, 0x0, 0x0, 0x10, 0x7, 0x16, 0xe8, 0x3, 0xca, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x3, 0xcf, 0x7, 0x2b, 0x10, 0x26, 0x14, 0x1d, 0x0, 0x0, 0x10, 0x6, 0x16, 0xe8, 0x70, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x4, 0x7f, 0x7, 0x2b, 0x10, 0x26, 0x14, 0x1e, 0x0, 0x0, 0x10, 0x6, 0x16, 0xe8, 0x70, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xfd, 0xa8, 0x7, 0x29, 0x7, 0x2b, 0x10, 0x27, 0x16, 0xc8, 0x2, 0xd5, 0xfe, 0xa2, 0x10, 0x6, 0x5, 0xc8, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xfd, 0xa8, 0x7, 0xd9, 0x7, 0x2b, 0x10, 0x26, 0x14, 0x20, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc8, 0x2, 0xd5, 0xfe, 0xa2, 0xff, 0xff, 0xff, 0xec, 0xfd, 0xda, 0x3, 0xcf, 0x7, 0x2b, 0x10, 0x26, 0x14, 0x21, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc8, 0x1, 0x45, 0xfe, 0xd4, 0xff, 0xff, 0xff, 0xec, 0xfd, 0xda, 0x4, 0x7f, 0x7, 0x2b, 0x10, 0x26, 0x14, 0x22, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc8, 0x1, 0x45, 0xfe, 0xd4, 0xff, 0xff, 0x0, 0x82, 0xff, 0xa7, 0x7, 0x29, 0x7, 0x3a, 0x10, 0x27, 0x16, 0xc5, 0x3, 0x84, 0x6, 0xa4, 0x10, 0x6, 0x5, 0xc8, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xff, 0xa7, 0x7, 0xd9, 0x7, 0x3a, 0x10, 0x26, 0x14, 0x20, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x3, 0x84, 0x6, 0xa4, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x3, 0xcf, 0x7, 0x3a, 0x10, 0x26, 0x14, 0x21, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x0, 0x4b, 0x6, 0xa4, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x4, 0x7f, 0x7, 0x3a, 0x10, 0x26, 0x14, 0x22, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x0, 0x4b, 0x6, 0xa4, 0xff, 0xff, 0x0, 0x93, 0xfe, 0xb5, 0x5, 0x48, 0x2, 0xee, 0x10, 0x6, 0x5, 0xd3, 0x0, 0x0, 0x0, 0x1, 0x0, 0x93, 0xfe, 0xc, 0x6, 0x2b, 0x2, 0x45, 0x0, 0x26, 0x0, 0x0, 0x1, 0x16, 0x17, 0x16, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x6, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x24, 0x11, 0x34, 0x37, 0x33, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x4, 0xe0, 0x2c, 0x1b, 0x16, 0x32, 0x35, 0x3c, 0x4b, 0x82, 0x47, 0x22, 0x3, 0x59, 0x78, 0xef, 0x61, 0x5c, 0x74, 0x71, 0xfe, 0xb8, 0x2f, 0xb8, 0x31, 0xc9, 0x5a, 0x4c, 0x58, 0x4f, 0xc2, 0x4b, 0x21, 0x65, 0x2, 0x45, 0x61, 0x60, 0x50, 0x3c, 0x40, 0xb8, 0x30, 0x6d, 0x93, 0xc7, 0x42, 0x1b, 0x25, 0x6b, 0x1, 0x63, 0xaf, 0x8d, 0x89, 0xb3, 0xec, 0x35, 0x18, 0x14, 0x30, 0xe3, 0x65, 0x70, 0xb8, 0xcb, 0x0, 0xff, 0xff, 0x0, 0x93, 0xfe, 0xb5, 0x5, 0x48, 0x5, 0x16, 0x10, 0x27, 0x5, 0x4b, 0x0, 0xc8, 0xfe, 0x25, 0x10, 0x6, 0x5, 0xd3, 0x0, 0x0, 0xff, 0xff, 0x0, 0x93, 0xfe, 0xc, 0x6, 0x2b, 0x4, 0x1c, 0x10, 0x26, 0x14, 0x2c, 0x0, 0x0, 0x10, 0x7, 0x5, 0x4b, 0x0, 0xc8, 0xfd, 0x2b, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x2, 0x30, 0x5, 0x61, 0x10, 0x26, 0x16, 0xcb, 0x0, 0x0, 0x10, 0x7, 0x5, 0x4b, 0xff, 0x2b, 0xfe, 0x70, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x2, 0x7e, 0x5, 0x61, 0x10, 0x26, 0x16, 0xcc, 0x0, 0x0, 0x10, 0x7, 0x5, 0x4b, 0xff, 0x2b, 0xfe, 0x70, 0xff, 0xff, 0x0, 0x90, 0xff, 0xbd, 0x5, 0x1b, 0x3, 0xe5, 0x10, 0x6, 0x5, 0xd7, 0x0, 0x0, 0x0, 0x3, 0x0, 0x90, 0xfe, 0xd, 0x5, 0x22, 0x2, 0xab, 0x0, 0x9, 0x0, 0x2b, 0x0, 0x36, 0x0, 0x0, 0x25, 0x3e, 0x1, 0x35, 0x34, 0x23, 0x22, 0x7, 0x6, 0x15, 0x25, 0x34, 0x37, 0x33, 0x6, 0x15, 0x14, 0x16, 0x33, 0x30, 0x33, 0x35, 0x10, 0x37, 0x36, 0x20, 0x17, 0x16, 0x15, 0x6, 0x7, 0x21, 0x15, 0x21, 0x16, 0x14, 0x7, 0x6, 0x20, 0x26, 0x35, 0x22, 0x27, 0x26, 0x5, 0x14, 0x17, 0x16, 0x33, 0x32, 0x35, 0x34, 0x26, 0x27, 0x6, 0x2, 0xb1, 0x3f, 0xd0, 0x54, 0x4b, 0x4a, 0x26, 0xfd, 0xdf, 0x10, 0xb8, 0xe, 0x7c, 0x14, 0x1f, 0x8a, 0x74, 0x1, 0x4, 0x44, 0x2e, 0x15, 0x5e, 0x1, 0x28, 0xfe, 0xa8, 0xa3, 0x2e, 0x45, 0xfe, 0xf4, 0xf2, 0x3a, 0x71, 0xc1, 0x2, 0x21, 0x26, 0x50, 0x45, 0x54, 0xbf, 0x2a, 0x13, 0x9f, 0x1b, 0xa4, 0x34, 0x70, 0x8d, 0x48, 0x75, 0x1a, 0x4a, 0x36, 0x3e, 0x28, 0x45, 0x26, 0x37, 0x1, 0x9, 0x7f, 0x6b, 0x63, 0x43, 0x72, 0x79, 0x62, 0xb8, 0x6c, 0xe2, 0x42, 0x63, 0xde, 0xdf, 0x1f, 0x35, 0x2f, 0x69, 0x43, 0x8d, 0x70, 0x34, 0x97, 0xc, 0x7, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0xff, 0xbd, 0x3, 0xbd, 0x3, 0xe5, 0x10, 0x6, 0x14, 0xcf, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xd, 0x3, 0xc4, 0x2, 0xab, 0x10, 0x6, 0x14, 0xd0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x90, 0xff, 0xc9, 0x5, 0xc7, 0x6, 0xd6, 0x10, 0x27, 0x16, 0xc6, 0x2, 0x71, 0x5, 0x46, 0x10, 0x6, 0x5, 0x6b, 0x0, 0x0, 0xff, 0xff, 0x0, 0x90, 0xff, 0xc9, 0x6, 0xd2, 0x6, 0xd6, 0x10, 0x26, 0x14, 0xbe, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x2, 0x71, 0x5, 0x46, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x3, 0xcf, 0x7, 0x6c, 0x10, 0x26, 0x14, 0xbf, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x0, 0x4b, 0x5, 0xdc, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x4, 0x7f, 0x7, 0x6c, 0x10, 0x26, 0x14, 0xc0, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x0, 0x4b, 0x5, 0xdc, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x3, 0x40, 0x4, 0x72, 0x10, 0x27, 0x5, 0x7f, 0xff, 0xf4, 0xfe, 0x3e, 0x10, 0x6, 0x5, 0x70, 0x0, 0x0, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x4, 0x36, 0x4, 0x72, 0x10, 0x27, 0x5, 0x7f, 0xff, 0xf4, 0xfe, 0x3e, 0x10, 0x6, 0x14, 0xd2, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x1, 0x87, 0x2, 0x58, 0x0, 0xd, 0x0, 0x0, 0x25, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x3d, 0x1, 0x33, 0x15, 0x14, 0x1, 0x2b, 0x48, 0x9d, 0x5a, 0x23, 0x63, 0x2c, 0x31, 0xb8, 0x56, 0x56, 0xb8, 0x2c, 0x31, 0x6a, 0xd9, 0xd9, 0xbb, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x2, 0x7e, 0x2, 0x58, 0x0, 0x14, 0x0, 0x0, 0x25, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x3d, 0x1, 0x33, 0x15, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x1, 0x2b, 0x4d, 0x98, 0x5a, 0x23, 0x63, 0x2c, 0x31, 0xb8, 0x31, 0x2c, 0x63, 0x37, 0x6e, 0x96, 0x56, 0x56, 0xb8, 0x2c, 0x31, 0x6a, 0xd9, 0xd9, 0x6a, 0x31, 0x2c, 0xb8, 0x0, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xf3, 0x5, 0xc0, 0x3, 0x4a, 0x10, 0x6, 0x5, 0x71, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xf0, 0x6, 0xbf, 0x2, 0x2, 0x10, 0x6, 0x14, 0xd4, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xd4, 0x1, 0xf3, 0x2, 0x58, 0x10, 0x26, 0x14, 0x3b, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x0, 0x63, 0xfe, 0xd4, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xd4, 0x2, 0x7e, 0x2, 0x58, 0x10, 0x26, 0x14, 0x3c, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x0, 0x63, 0xfe, 0xd4, 0x0, 0x1, 0xfc, 0x70, 0x6, 0x4, 0x0, 0x0, 0x7, 0x6e, 0x0, 0x7, 0x0, 0x0, 0x11, 0x22, 0x4, 0x7, 0x35, 0x36, 0x24, 0x33, 0xe7, 0xfe, 0x3d, 0xe6, 0xec, 0x1, 0xc5, 0xdf, 0x6, 0xd4, 0x67, 0x69, 0x7e, 0x77, 0x75, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x6, 0x4, 0x3, 0x90, 0x7, 0x6e, 0x0, 0x7, 0x0, 0x0, 0x11, 0x35, 0x32, 0x4, 0x17, 0x15, 0x26, 0x24, 0xdf, 0x1, 0xc5, 0xec, 0xe6, 0xfe, 0x3d, 0x6, 0xd4, 0x9a, 0x75, 0x77, 0x7e, 0x69, 0x67, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfd, 0x2a, 0x6, 0xd, 0x0, 0x0, 0x7, 0x27, 0x0, 0x13, 0x0, 0x0, 0x11, 0x2f, 0x1, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x23, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x4, 0x90, 0x1c, 0x4f, 0x2c, 0x24, 0x65, 0x35, 0x46, 0x5, 0xa2, 0x4, 0x71, 0x70, 0xc8, 0x5b, 0x3f, 0x38, 0x57, 0x6, 0x48, 0x2, 0x37, 0xb, 0x12, 0xa, 0x24, 0x30, 0x47, 0x87, 0x4a, 0x49, 0xe, 0xd, 0x20, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x6, 0xd, 0x2, 0xd6, 0x7, 0x27, 0x0, 0x13, 0x0, 0x0, 0x11, 0x1f, 0x1, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x33, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x4, 0x90, 0x1c, 0x4f, 0x2c, 0x24, 0x61, 0x39, 0x47, 0x4, 0xa2, 0x4, 0x71, 0x70, 0xc8, 0x5b, 0x3f, 0x38, 0x57, 0x6, 0xec, 0x2, 0x37, 0xb, 0x12, 0xa, 0x24, 0x2c, 0x4b, 0x87, 0x4a, 0x49, 0xe, 0xd, 0x20, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x8, 0x4, 0xba, 0x2, 0x50, 0x6, 0x9a, 0x10, 0x7, 0x5, 0x73, 0xff, 0x2c, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x2, 0x6c, 0x6, 0x9a, 0x10, 0x26, 0x5, 0x68, 0x0, 0x0, 0x10, 0x7, 0x5, 0x73, 0xff, 0x2c, 0x0, 0x0, 0xff, 0xff, 0x0, 0x8, 0x4, 0xba, 0x2, 0x50, 0x6, 0xfd, 0x10, 0x7, 0x5, 0x74, 0xff, 0x2c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x69, 0x0, 0x0, 0x2, 0x2c, 0x1, 0x6b, 0x0, 0xd, 0x0, 0x0, 0x1, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x26, 0x3d, 0x1, 0x33, 0x1, 0x21, 0x31, 0x2c, 0x63, 0x4b, 0x82, 0x8e, 0x5c, 0x57, 0xb8, 0x1, 0x4c, 0x37, 0x31, 0x2c, 0xb8, 0x5c, 0x57, 0x8d, 0x2b, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x8, 0xfe, 0x16, 0x2, 0x50, 0xff, 0xf6, 0x10, 0x7, 0x5, 0x75, 0xff, 0x2c, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x8, 0x4, 0xba, 0x2, 0x50, 0x5, 0xaa, 0x10, 0x7, 0x5, 0x76, 0xff, 0x2c, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x2, 0x6c, 0x5, 0xaa, 0x10, 0x27, 0x5, 0x76, 0xff, 0x2c, 0x0, 0x0, 0x10, 0x6, 0x5, 0x68, 0x0, 0x0, 0xff, 0xff, 0x0, 0x8, 0x4, 0xb9, 0x2, 0x50, 0x6, 0xfd, 0x10, 0x7, 0x5, 0x77, 0xff, 0x2c, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x2, 0x6c, 0x6, 0xfd, 0x10, 0x27, 0x5, 0x77, 0xff, 0x2c, 0x0, 0x0, 0x10, 0x6, 0x5, 0x68, 0x0, 0x0, 0xff, 0xff, 0x0, 0x8, 0xfe, 0xe8, 0x2, 0x50, 0xff, 0xd8, 0x10, 0x7, 0x5, 0x78, 0xff, 0x2c, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xe8, 0x2, 0x6c, 0x0, 0xb8, 0x10, 0x27, 0x5, 0x78, 0xff, 0x2c, 0x0, 0x0, 0x10, 0x6, 0x5, 0x68, 0x0, 0x0, 0xff, 0xff, 0xff, 0xf4, 0x4, 0xcb, 0x2, 0x64, 0x6, 0xf4, 0x10, 0x7, 0x5, 0x79, 0xff, 0x2c, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x2, 0x6c, 0x6, 0xf4, 0x10, 0x27, 0x5, 0x79, 0xff, 0x2c, 0x0, 0x0, 0x10, 0x6, 0x5, 0x68, 0x0, 0x0, 0xff, 0xff, 0x0, 0x18, 0x4, 0xe1, 0x2, 0x3c, 0x7, 0x6, 0x10, 0x7, 0x5, 0x7a, 0xff, 0x2c, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x2, 0x6c, 0x7, 0x6, 0x10, 0x26, 0x5, 0x68, 0x0, 0x0, 0x10, 0x7, 0x5, 0x7a, 0xff, 0x2c, 0x0, 0x0, 0xff, 0xff, 0x0, 0xa3, 0x0, 0x55, 0x3, 0x1e, 0x3, 0xde, 0x10, 0x6, 0x5, 0x4e, 0x0, 0x0, 0xff, 0xff, 0xff, 0xb5, 0x0, 0x0, 0x2, 0x85, 0x7, 0x83, 0x10, 0x27, 0x5, 0x7b, 0xff, 0x1d, 0x1, 0xc2, 0x10, 0x6, 0x5, 0x54, 0x0, 0x0, 0xff, 0xff, 0xff, 0xb5, 0x0, 0x0, 0x2, 0x85, 0x7, 0x83, 0x10, 0x26, 0x14, 0x72, 0x0, 0x0, 0x10, 0x7, 0x5, 0x7b, 0xff, 0x1d, 0x1, 0xc2, 0xff, 0xff, 0x0, 0x6c, 0x0, 0x0, 0x1, 0xc3, 0x8, 0x39, 0x10, 0x27, 0x5, 0x7c, 0xff, 0x1d, 0x1, 0xc2, 0x10, 0x6, 0x5, 0x54, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6c, 0x0, 0x0, 0x2, 0x84, 0x8, 0x39, 0x10, 0x26, 0x14, 0x72, 0x0, 0x0, 0x10, 0x7, 0x5, 0x7c, 0xff, 0x1d, 0x1, 0xc2, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x3, 0x40, 0x4, 0xb5, 0x10, 0x27, 0x5, 0x7c, 0xff, 0xc2, 0xfe, 0x3e, 0x10, 0x6, 0x5, 0x70, 0x0, 0x0, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x4, 0x36, 0x4, 0xb5, 0x10, 0x26, 0x14, 0xd2, 0x0, 0x0, 0x10, 0x7, 0x5, 0x7c, 0xff, 0xc2, 0xfe, 0x3e, 0xff, 0xff, 0x0, 0x6c, 0xfe, 0xc, 0x1, 0xc3, 0x6, 0x14, 0x10, 0x27, 0x5, 0x7d, 0xff, 0x1d, 0x0, 0x0, 0x10, 0x6, 0x5, 0x54, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6c, 0xfe, 0xc, 0x2, 0x84, 0x6, 0x14, 0x10, 0x26, 0x14, 0x72, 0x0, 0x0, 0x10, 0x7, 0x5, 0x7d, 0xff, 0x1d, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xf3, 0x5, 0xc0, 0x4, 0xb5, 0x10, 0x27, 0x5, 0x7c, 0xff, 0xf4, 0xfe, 0x3e, 0x10, 0x6, 0x5, 0x71, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xf0, 0x6, 0xbf, 0x3, 0xbb, 0x10, 0x26, 0x14, 0xd4, 0x0, 0x0, 0x10, 0x7, 0x5, 0x7c, 0x0, 0x58, 0xfd, 0x44, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x1, 0xd1, 0x4, 0xe7, 0x10, 0x26, 0x14, 0x3b, 0x0, 0x0, 0x10, 0x7, 0x5, 0x7c, 0xff, 0x2b, 0xfe, 0x70, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x2, 0x7e, 0x4, 0xe7, 0x10, 0x26, 0x14, 0x3c, 0x0, 0x0, 0x10, 0x7, 0x5, 0x7c, 0xff, 0x2b, 0xfe, 0x70, 0xff, 0xff, 0x0, 0xc1, 0x0, 0x0, 0x1, 0x79, 0x6, 0x14, 0x10, 0x6, 0x5, 0x54, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc1, 0x0, 0x0, 0x2, 0x84, 0x6, 0x14, 0x0, 0xd, 0x0, 0x0, 0x13, 0x11, 0x33, 0x11, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x26, 0xc1, 0xb8, 0x31, 0x2c, 0x63, 0x4b, 0x82, 0x9a, 0x50, 0x57, 0x1, 0x73, 0x4, 0xa1, 0xfb, 0x6b, 0x6a, 0x31, 0x2c, 0xb8, 0x5c, 0x65, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xa2, 0x6, 0xeb, 0x2, 0x9d, 0x10, 0x27, 0x16, 0xc4, 0x3, 0x39, 0xfe, 0xa2, 0x10, 0x6, 0x5, 0x8e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xa2, 0x7, 0xef, 0x2, 0x9d, 0x10, 0x26, 0x16, 0xca, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x3, 0x39, 0xfe, 0xa2, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xd4, 0x1, 0x87, 0x2, 0x58, 0x10, 0x26, 0x16, 0xcb, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x0, 0xe0, 0xfe, 0xd4, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xd4, 0x2, 0x7e, 0x2, 0x58, 0x10, 0x26, 0x16, 0xcc, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x0, 0xe0, 0xfe, 0xd4, 0xff, 0xff, 0x0, 0x8b, 0xff, 0xc6, 0x3, 0xa0, 0x4, 0x1a, 0x10, 0x27, 0x16, 0xc5, 0x0, 0xfa, 0x3, 0x84, 0x10, 0x6, 0x5, 0x6f, 0x0, 0x0, 0xff, 0xff, 0x0, 0x91, 0x0, 0x0, 0x4, 0x5e, 0x4, 0x1a, 0x10, 0x26, 0x14, 0xce, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x1, 0x5e, 0x3, 0x84, 0xff, 0xff, 0x0, 0x82, 0xff, 0xec, 0x6, 0xeb, 0x3, 0x20, 0x10, 0x27, 0x16, 0xc5, 0x2, 0xbc, 0x2, 0x8a, 0x10, 0x6, 0x5, 0x8e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xff, 0xec, 0x7, 0xef, 0x3, 0x20, 0x10, 0x26, 0x16, 0xca, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x2, 0xbc, 0x2, 0x8a, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x1, 0xf3, 0x3, 0xe8, 0x10, 0x26, 0x16, 0xcb, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x0, 0x63, 0x3, 0x52, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x2, 0x7e, 0x3, 0xe8, 0x10, 0x26, 0x16, 0xcc, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x0, 0x63, 0x3, 0x52, 0xff, 0xff, 0x0, 0x82, 0xff, 0xec, 0x6, 0xeb, 0x4, 0x1a, 0x10, 0x27, 0x16, 0xc6, 0x2, 0xbc, 0x2, 0x8a, 0x10, 0x6, 0x5, 0x8e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xff, 0xec, 0x7, 0xef, 0x4, 0x1a, 0x10, 0x26, 0x16, 0xca, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x2, 0xbc, 0x2, 0x8a, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x1, 0xf3, 0x4, 0xe2, 0x10, 0x26, 0x16, 0xcb, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x0, 0x63, 0x3, 0x52, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x2, 0x7e, 0x4, 0xe2, 0x10, 0x26, 0x16, 0xcc, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x0, 0x63, 0x3, 0x52, 0xff, 0xff, 0x0, 0x9d, 0xfe, 0xc, 0x5, 0x28, 0x3, 0x66, 0x10, 0x27, 0x16, 0xc4, 0x3, 0x7, 0x0, 0x19, 0x10, 0x6, 0x5, 0x5a, 0x0, 0x0, 0xff, 0xff, 0x0, 0x9d, 0xfe, 0xc, 0x5, 0x3e, 0x3, 0x66, 0x10, 0x26, 0x14, 0x86, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x2, 0xbc, 0xff, 0xce, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xd4, 0x4, 0x5c, 0x3, 0x2f, 0x10, 0x26, 0x14, 0x87, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x2, 0xd, 0xfe, 0xd4, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xd4, 0x5, 0x3e, 0x3, 0x2f, 0x10, 0x26, 0x14, 0x88, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x2, 0xd, 0xfe, 0xd4, 0xff, 0xff, 0x0, 0x9d, 0xfe, 0xc, 0x5, 0x28, 0x3, 0x66, 0x10, 0x6, 0x5, 0x5a, 0x0, 0x0, 0x0, 0x1, 0x0, 0x9d, 0xfe, 0xc, 0x5, 0x3e, 0x3, 0x66, 0x0, 0x30, 0x0, 0x0, 0x25, 0x33, 0x15, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x21, 0x32, 0x37, 0x15, 0x6, 0x23, 0x20, 0x27, 0x26, 0x35, 0x10, 0x37, 0x36, 0x37, 0x22, 0x23, 0x22, 0x7, 0x6, 0x7, 0x35, 0x24, 0x33, 0x20, 0x17, 0x15, 0x22, 0x7, 0x17, 0x16, 0x17, 0x16, 0x5, 0x16, 0x28, 0x31, 0x81, 0x7b, 0x52, 0x3d, 0x6, 0x49, 0x72, 0x62, 0xe0, 0x4a, 0x81, 0x1, 0x49, 0xc1, 0xd4, 0x96, 0xfa, 0xfe, 0x5e, 0xa9, 0x83, 0xd4, 0x60, 0x89, 0xc, 0xd, 0x5f, 0x8c, 0x87, 0x5f, 0x1, 0x10, 0xc1, 0x1, 0x26, 0xc8, 0x6d, 0x1f, 0x1d, 0x33, 0x48, 0x5a, 0xb8, 0xb8, 0x96, 0x64, 0x9c, 0xf, 0xb2, 0x18, 0x50, 0xb7, 0xfc, 0x89, 0x5e, 0xa4, 0x76, 0xb8, 0x63, 0xc2, 0x96, 0xe0, 0x1, 0x2, 0xdf, 0x65, 0x34, 0x13, 0x13, 0x29, 0xb8, 0x3f, 0x36, 0x9a, 0xd, 0x5b, 0xa0, 0x5f, 0x77, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x4, 0x5c, 0x3, 0x2f, 0x0, 0x1e, 0x0, 0x0, 0x1, 0x26, 0x27, 0x26, 0x27, 0x26, 0x7, 0x35, 0x36, 0x37, 0x32, 0x17, 0x4, 0x17, 0x15, 0x6, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x3, 0x53, 0x53, 0x67, 0x55, 0xb4, 0x52, 0xa1, 0x48, 0x4b, 0xa2, 0xac, 0x1, 0x2, 0xdc, 0x4c, 0x58, 0xa6, 0x4a, 0x91, 0x4b, 0xdd, 0xa3, 0x80, 0x64, 0xe3, 0x81, 0x68, 0x74, 0x5e, 0x2, 0x1d, 0x17, 0x17, 0x13, 0x10, 0x7, 0x6, 0xb8, 0x7, 0x1, 0x23, 0x34, 0x62, 0x9a, 0x18, 0x34, 0x62, 0x42, 0x81, 0x1b, 0x50, 0xb8, 0x48, 0x3a, 0x6a, 0x56, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x5, 0x3e, 0x3, 0x2f, 0x0, 0x29, 0x0, 0x0, 0x1, 0x4, 0x17, 0x15, 0x6, 0x7, 0x16, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x26, 0x27, 0x6, 0x7, 0x6, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x27, 0x26, 0x7, 0x35, 0x36, 0x37, 0x32, 0x2, 0x7e, 0x1, 0x2, 0xdc, 0x41, 0x49, 0x32, 0x1e, 0x68, 0x72, 0x42, 0x56, 0xd1, 0x7e, 0x28, 0x3b, 0x45, 0x29, 0x91, 0x4b, 0xdd, 0xa3, 0x80, 0x64, 0xe3, 0x81, 0x68, 0x74, 0x5e, 0x65, 0x53, 0x67, 0x55, 0xb4, 0x52, 0xa1, 0x48, 0x4b, 0xa2, 0x3, 0xc, 0x34, 0x62, 0x9a, 0x14, 0x29, 0x4e, 0x22, 0x77, 0xb8, 0xa8, 0x36, 0x61, 0x2e, 0x25, 0x81, 0x1b, 0x50, 0xb8, 0x48, 0x3a, 0x6a, 0x56, 0x23, 0x17, 0x17, 0x13, 0x10, 0x7, 0x6, 0xb8, 0x7, 0x1, 0x0, 0x0, 0xff, 0xff, 0x0, 0x9d, 0xfe, 0xc, 0x5, 0x28, 0x4, 0xb0, 0x10, 0x27, 0x16, 0xc4, 0x2, 0x3f, 0x4, 0x1a, 0x10, 0x6, 0x5, 0x5a, 0x0, 0x0, 0xff, 0xff, 0x0, 0x9d, 0xfe, 0xc, 0x5, 0x3e, 0x4, 0xb0, 0x10, 0x26, 0x14, 0x86, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x2, 0x3f, 0x4, 0x1a, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x4, 0x5c, 0x4, 0x4c, 0x10, 0x26, 0x14, 0x87, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x2, 0xd, 0x3, 0xb6, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x5, 0x3e, 0x4, 0x4c, 0x10, 0x26, 0x14, 0x88, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x2, 0xd, 0x3, 0xb6, 0xff, 0xff, 0x0, 0x7d, 0xff, 0xda, 0x3, 0x1b, 0x3, 0x52, 0x10, 0x6, 0x5, 0x5c, 0x0, 0x0, 0x0, 0x1, 0x0, 0x7d, 0xff, 0xda, 0x4, 0x47, 0x3, 0x52, 0x0, 0x20, 0x0, 0x0, 0x1, 0x26, 0x27, 0x33, 0x16, 0x17, 0x16, 0x15, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x2, 0x22, 0x39, 0xb6, 0xe3, 0x61, 0x52, 0x51, 0x53, 0x2c, 0x63, 0x4b, 0x82, 0x93, 0x61, 0x5d, 0xcf, 0x2e, 0x2d, 0x66, 0x67, 0x73, 0x54, 0x21, 0x22, 0xac, 0x23, 0x8, 0x2, 0x3f, 0x7a, 0x99, 0x4e, 0x89, 0x86, 0x75, 0x49, 0x53, 0x2c, 0xb8, 0x82, 0x80, 0x21, 0x7, 0x26, 0xb8, 0x2a, 0x9, 0x31, 0x70, 0x1b, 0x2a, 0x44, 0xff, 0xff, 0x0, 0x7d, 0xff, 0xda, 0x3, 0x1b, 0x4, 0xb0, 0x10, 0x27, 0x16, 0xc4, 0x1, 0x45, 0x4, 0x1a, 0x10, 0x6, 0x5, 0x5c, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7d, 0xff, 0xda, 0x4, 0x47, 0x4, 0xb0, 0x10, 0x26, 0x14, 0x8e, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x1, 0x45, 0x4, 0x1a, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x3, 0x62, 0x2, 0x26, 0x10, 0x6, 0x5, 0x5e, 0x0, 0x0, 0x0, 0x1, 0xff, 0xab, 0xfe, 0xc, 0x4, 0x7e, 0x2, 0x26, 0x0, 0x18, 0x0, 0x0, 0x1, 0x33, 0x16, 0x17, 0x16, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x2, 0x7, 0x4, 0x21, 0x35, 0x20, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x2, 0x78, 0xb8, 0x1e, 0x3, 0xa, 0x49, 0x2a, 0x65, 0x4b, 0x82, 0x82, 0x32, 0x44, 0xfb, 0xfe, 0xe4, 0xfe, 0xbe, 0x1, 0x30, 0xcb, 0xda, 0x23, 0xa, 0x2, 0x26, 0x70, 0x1e, 0x67, 0x4d, 0x2c, 0xb8, 0x3e, 0xfe, 0xea, 0x85, 0x97, 0xb8, 0x80, 0x8a, 0xd0, 0x3a, 0x48, 0x7e, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x3, 0x62, 0x3, 0xb6, 0x10, 0x27, 0x16, 0xc4, 0x2, 0x71, 0x3, 0x20, 0x10, 0x6, 0x5, 0x5e, 0x0, 0x0, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x4, 0x7e, 0x3, 0xb6, 0x10, 0x26, 0x14, 0x92, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x2, 0x71, 0x3, 0x20, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0x9, 0x1a, 0x2, 0xee, 0x10, 0x6, 0x5, 0x60, 0x0, 0x0, 0x0, 0x1, 0x0, 0x82, 0xfe, 0xc, 0xa, 0x47, 0x2, 0xee, 0x0, 0x46, 0x0, 0x0, 0x25, 0x16, 0x37, 0x36, 0x35, 0x33, 0x14, 0x17, 0x16, 0x33, 0x32, 0x19, 0x1, 0x33, 0x11, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x6, 0x7, 0x6, 0x27, 0x26, 0x27, 0x6, 0x7, 0x6, 0x7, 0x6, 0x23, 0x26, 0x27, 0x24, 0x11, 0x34, 0x37, 0x33, 0x6, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x27, 0x26, 0x2f, 0x1, 0x33, 0x17, 0x16, 0x17, 0x16, 0x5, 0xb8, 0x4e, 0x30, 0x25, 0xb8, 0x13, 0x40, 0x6e, 0x8e, 0xb8, 0x53, 0x2c, 0x63, 0x4b, 0x82, 0x91, 0x76, 0x44, 0x6d, 0x25, 0x20, 0x49, 0x30, 0x8a, 0x11, 0x31, 0x5f, 0x40, 0x38, 0x89, 0x27, 0x18, 0x54, 0x85, 0xc1, 0x50, 0x78, 0x80, 0x6d, 0xfe, 0xed, 0x69, 0xb8, 0x6c, 0x1, 0x1, 0x93, 0x5f, 0x51, 0x62, 0x5f, 0x79, 0x5e, 0x40, 0x1, 0x1, 0x10, 0x40, 0xb8, 0x24, 0x10, 0x1c, 0x3a, 0xb5, 0x2, 0x7c, 0x5f, 0xca, 0xcd, 0x32, 0xa9, 0x1, 0x18, 0x1, 0x26, 0xfe, 0xaa, 0x61, 0x53, 0x2c, 0xb8, 0x60, 0x5b, 0x19, 0x9, 0x19, 0x46, 0x7b, 0x9f, 0x1e, 0x14, 0x2, 0x2, 0x3c, 0xb3, 0x6b, 0xaa, 0x3e, 0x1a, 0x1, 0x1c, 0x47, 0x1, 0x48, 0xf6, 0xb4, 0xce, 0xdc, 0xb3, 0x26, 0x18, 0x25, 0x30, 0x9e, 0x6c, 0x8e, 0x7d, 0x3d, 0xea, 0x9c, 0x4a, 0x3c, 0x7e, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0xff, 0xe3, 0x6, 0xa, 0x2, 0xee, 0x0, 0x31, 0x0, 0x0, 0x25, 0x6, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x3d, 0x1, 0x33, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x33, 0x14, 0x17, 0x16, 0x37, 0x36, 0x19, 0x1, 0x33, 0x11, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x1, 0x80, 0x2b, 0x38, 0x4c, 0x63, 0x82, 0x4b, 0x63, 0x2c, 0x50, 0xb8, 0x2c, 0x2b, 0x68, 0x6d, 0x2c, 0x25, 0xb8, 0x13, 0x40, 0x6e, 0x8e, 0xb8, 0x5c, 0x4b, 0x66, 0x25, 0x23, 0x3f, 0x37, 0x89, 0x12, 0x30, 0x60, 0x44, 0x41, 0x62, 0x48, 0x3c, 0x8a, 0x3b, 0x21, 0x2e, 0xb8, 0x2c, 0x50, 0x64, 0xc0, 0x9c, 0x40, 0x64, 0x63, 0x7a, 0x67, 0xc2, 0xcd, 0x32, 0xaa, 0x1, 0x2, 0x1, 0x16, 0x1, 0x26, 0xfe, 0xaa, 0xc7, 0x71, 0x5c, 0x18, 0x9, 0x19, 0x3d, 0x84, 0x9c, 0x21, 0x18, 0x31, 0x28, 0x0, 0x1, 0xff, 0xec, 0xff, 0xe3, 0x7, 0x37, 0x2, 0xee, 0x0, 0x38, 0x0, 0x0, 0x5, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x6, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x3d, 0x1, 0x33, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x33, 0x14, 0x17, 0x16, 0x37, 0x36, 0x19, 0x1, 0x33, 0x11, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x6, 0x4, 0xfd, 0x25, 0x23, 0x3f, 0x37, 0x89, 0x12, 0x30, 0x60, 0x44, 0x41, 0x62, 0x48, 0x3c, 0x29, 0x2b, 0x38, 0x4c, 0x63, 0x82, 0x4b, 0x63, 0x2c, 0x50, 0xb8, 0x2c, 0x2b, 0x68, 0x6d, 0x2c, 0x25, 0xb8, 0x13, 0x40, 0x6e, 0x8e, 0xb8, 0x53, 0x2c, 0x63, 0x4b, 0x82, 0x91, 0x76, 0x44, 0x14, 0x9, 0x19, 0x3d, 0x84, 0x9c, 0x21, 0x18, 0x31, 0x28, 0x49, 0x3b, 0x21, 0x2e, 0xb8, 0x2c, 0x50, 0x64, 0xc0, 0x9c, 0x40, 0x64, 0x63, 0x7a, 0x67, 0xc2, 0xcd, 0x32, 0xaa, 0x1, 0x2, 0x1, 0x16, 0x1, 0x26, 0xfe, 0xaa, 0x61, 0x53, 0x2c, 0xb8, 0x60, 0x5a, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0x9, 0x1a, 0x4, 0xb0, 0x10, 0x27, 0x16, 0xc6, 0x4, 0xe2, 0x3, 0x20, 0x10, 0x6, 0x5, 0x60, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0xa, 0x47, 0x4, 0xb0, 0x10, 0x26, 0x14, 0x96, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x4, 0xe2, 0x3, 0x20, 0xff, 0xff, 0xff, 0xec, 0xff, 0xe3, 0x6, 0xa, 0x4, 0xb0, 0x10, 0x26, 0x14, 0x97, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x2, 0x8a, 0x3, 0x20, 0xff, 0xff, 0xff, 0xec, 0xff, 0xe3, 0x7, 0x37, 0x4, 0xb0, 0x10, 0x26, 0x14, 0x98, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x2, 0x8a, 0x3, 0x20, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0x9, 0x13, 0x2, 0xe5, 0x10, 0x6, 0x5, 0x62, 0x0, 0x0, 0x0, 0x2, 0x0, 0x82, 0xfe, 0xc, 0x9, 0xe1, 0x2, 0xe5, 0x0, 0x3c, 0x0, 0x49, 0x0, 0x0, 0x29, 0x1, 0x22, 0x27, 0x26, 0x35, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x26, 0x27, 0x24, 0x11, 0x34, 0x37, 0x33, 0x6, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x33, 0x6, 0x17, 0x16, 0x17, 0x36, 0x37, 0x36, 0x37, 0x36, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x16, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x2f, 0x1, 0x6, 0x3, 0x22, 0x7, 0x6, 0x7, 0x33, 0x32, 0x37, 0x36, 0x27, 0x26, 0x27, 0x26, 0x6, 0x75, 0xfe, 0xec, 0x26, 0x34, 0x2d, 0x4a, 0x58, 0xee, 0x50, 0x78, 0x80, 0x6d, 0xfe, 0xed, 0x69, 0xb8, 0x6c, 0x1, 0x1, 0x93, 0x5f, 0x51, 0x66, 0x5b, 0xa2, 0x2b, 0x21, 0x27, 0xab, 0x1, 0xe, 0xa, 0x28, 0x73, 0x7b, 0x6c, 0x93, 0x48, 0x58, 0x7d, 0x61, 0xba, 0x2a, 0xe, 0x10, 0x3d, 0x52, 0x4b, 0x82, 0x83, 0x67, 0x1c, 0xcc, 0x12, 0x4c, 0x7e, 0xa8, 0x91, 0xbb, 0xed, 0x81, 0xbb, 0x1, 0x2, 0x89, 0x25, 0x1e, 0x1a, 0x10, 0xba, 0x80, 0x9b, 0x4d, 0x1a, 0x1, 0x1c, 0x47, 0x1, 0x48, 0xf6, 0xb4, 0xce, 0xdc, 0xb3, 0x26, 0x18, 0x25, 0x44, 0x8a, 0x6c, 0x7f, 0x93, 0x8a, 0xf, 0x37, 0x28, 0x32, 0x92, 0x6c, 0x5e, 0x46, 0x22, 0x1, 0x2, 0x25, 0x47, 0xe9, 0x4d, 0x46, 0xc, 0xb, 0x2c, 0xb8, 0x5c, 0x1a, 0x76, 0x2, 0x37, 0x51, 0x6c, 0xc2, 0x3f, 0x5b, 0x46, 0x87, 0x13, 0x5, 0x0, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x6, 0x32, 0x2, 0xe5, 0x0, 0xc, 0x0, 0x2e, 0x0, 0x0, 0x1, 0x6, 0x7, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x3, 0x21, 0x22, 0x27, 0x26, 0x27, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x3d, 0x1, 0x33, 0x15, 0x14, 0x16, 0x17, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x3, 0xd0, 0xa8, 0x91, 0xbb, 0xed, 0x81, 0xba, 0x8b, 0x25, 0x30, 0x4c, 0xba, 0xfe, 0xec, 0x4a, 0x4e, 0x41, 0x27, 0x66, 0xac, 0x82, 0x4b, 0x63, 0x2c, 0x50, 0xb8, 0x12, 0x2d, 0x65, 0x5f, 0x99, 0x90, 0x4b, 0x55, 0x73, 0x6b, 0xba, 0xb8, 0xca, 0x1, 0xe6, 0x6c, 0xc2, 0x3f, 0x5b, 0x46, 0x87, 0x13, 0x5, 0xfd, 0xc9, 0x2a, 0x23, 0x3d, 0x8a, 0xb8, 0x2c, 0x50, 0x64, 0x72, 0x4e, 0x18, 0x50, 0x32, 0x86, 0x54, 0x89, 0x3f, 0x21, 0x27, 0x44, 0xec, 0xa9, 0x6d, 0x78, 0x0, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x7, 0x4, 0x2, 0xe5, 0x0, 0x2b, 0x0, 0x38, 0x0, 0x0, 0x29, 0x1, 0x22, 0x27, 0x26, 0x27, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x3d, 0x1, 0x33, 0x15, 0x14, 0x16, 0x17, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x16, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x2f, 0x1, 0x6, 0x3, 0x6, 0x7, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x3, 0x98, 0xfe, 0xe8, 0x4a, 0x4e, 0x41, 0x27, 0x66, 0xac, 0x82, 0x4b, 0x63, 0x2c, 0x50, 0xb8, 0x12, 0x2d, 0x65, 0x5f, 0x99, 0x90, 0x4b, 0x55, 0x71, 0x6d, 0xbe, 0x2a, 0xe, 0x10, 0x3d, 0x52, 0x4b, 0x82, 0x83, 0x67, 0x1c, 0xcc, 0xe0, 0xa8, 0x91, 0xbb, 0xed, 0x81, 0xba, 0x8b, 0x25, 0x30, 0x4c, 0x2a, 0x23, 0x3d, 0x8a, 0xb8, 0x2c, 0x50, 0x64, 0x72, 0x4e, 0x18, 0x50, 0x32, 0x86, 0x54, 0x89, 0x3f, 0x21, 0x27, 0x44, 0xec, 0x4b, 0x48, 0xc, 0xb, 0x2c, 0xb8, 0x5c, 0x1a, 0x76, 0x1, 0xe6, 0x6c, 0xc2, 0x3f, 0x5b, 0x46, 0x87, 0x13, 0x5, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0x9, 0x13, 0x3, 0xb6, 0x10, 0x27, 0x16, 0xc4, 0x4, 0xfb, 0x3, 0x20, 0x10, 0x6, 0x5, 0x62, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0x9, 0xe1, 0x3, 0xb6, 0x10, 0x26, 0x14, 0x9e, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x4, 0xfb, 0x3, 0x20, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x6, 0x32, 0x3, 0xb6, 0x10, 0x26, 0x14, 0x9f, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x1, 0xdb, 0x3, 0x20, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x7, 0x4, 0x3, 0xb6, 0x10, 0x26, 0x14, 0xa0, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x1, 0xdb, 0x3, 0x20, 0xff, 0xff, 0x0, 0x90, 0x0, 0x0, 0x6, 0xdc, 0x6, 0x14, 0x10, 0x6, 0x5, 0x64, 0x0, 0x0, 0x0, 0x2, 0x0, 0x90, 0x0, 0x0, 0x7, 0xac, 0x6, 0x14, 0x0, 0x1c, 0x0, 0x29, 0x0, 0x0, 0x29, 0x2, 0x35, 0x21, 0x11, 0x33, 0x11, 0x12, 0x25, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x16, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x2f, 0x1, 0x6, 0x25, 0x33, 0x32, 0x37, 0x36, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x4, 0x40, 0xfd, 0xbf, 0xfe, 0x91, 0x1, 0x6f, 0xb8, 0xd9, 0x1, 0x14, 0x5c, 0x44, 0x75, 0x69, 0xbc, 0x2a, 0xe, 0x10, 0x3d, 0x52, 0x4b, 0x82, 0x83, 0x67, 0x1c, 0xcc, 0xfd, 0xe9, 0xbb, 0xed, 0x81, 0xbb, 0x1, 0x2, 0x89, 0x25, 0x30, 0x50, 0x7a, 0xb1, 0xb8, 0x5, 0x5c, 0xfb, 0xe, 0x1, 0x3f, 0x63, 0x21, 0x27, 0x45, 0xeb, 0x4d, 0x46, 0xc, 0xb, 0x2c, 0xb8, 0x5c, 0x1a, 0x76, 0xb8, 0x3f, 0x5d, 0x44, 0x87, 0x13, 0x5, 0x51, 0x78, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x5, 0xd4, 0x6, 0x14, 0x0, 0xc, 0x0, 0x1f, 0x0, 0x0, 0x25, 0x33, 0x32, 0x37, 0x36, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x13, 0x29, 0x1, 0x35, 0x21, 0x11, 0x33, 0x11, 0x12, 0x25, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x2, 0x39, 0xbb, 0xed, 0x81, 0xbb, 0x1, 0x2, 0x89, 0x25, 0x30, 0x50, 0x7a, 0xb1, 0x75, 0xfd, 0xc1, 0xfe, 0xf5, 0x1, 0xb, 0xb8, 0xd9, 0x1, 0x14, 0x5c, 0x44, 0x75, 0x69, 0xba, 0xb8, 0xca, 0xb8, 0x3f, 0x5d, 0x44, 0x87, 0x13, 0x5, 0x51, 0x78, 0xfe, 0x92, 0xb8, 0x5, 0x5c, 0xfb, 0xe, 0x1, 0x3f, 0x63, 0x21, 0x27, 0x45, 0xeb, 0xa9, 0x6d, 0x78, 0x0, 0x0, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x6, 0xa4, 0x6, 0x14, 0x0, 0x1c, 0x0, 0x29, 0x0, 0x0, 0x29, 0x2, 0x35, 0x21, 0x11, 0x33, 0x11, 0x12, 0x25, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x16, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x2f, 0x1, 0x6, 0x25, 0x33, 0x32, 0x37, 0x36, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x3, 0x38, 0xfd, 0xbf, 0xfe, 0xf5, 0x1, 0xb, 0xb8, 0xd9, 0x1, 0x14, 0x5c, 0x44, 0x75, 0x69, 0xbc, 0x2a, 0xe, 0x10, 0x3d, 0x52, 0x4b, 0x82, 0x83, 0x67, 0x1c, 0xcc, 0xfd, 0xe9, 0xbb, 0xed, 0x81, 0xbb, 0x1, 0x2, 0x89, 0x25, 0x30, 0x50, 0x7a, 0xb1, 0xb8, 0x5, 0x5c, 0xfb, 0xe, 0x1, 0x3f, 0x63, 0x21, 0x27, 0x45, 0xeb, 0x4d, 0x46, 0xc, 0xb, 0x2c, 0xb8, 0x5c, 0x1a, 0x76, 0xb8, 0x3f, 0x5d, 0x44, 0x87, 0x13, 0x5, 0x51, 0x78, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x90, 0x0, 0x0, 0x6, 0xdc, 0x6, 0x14, 0x10, 0x27, 0x16, 0xc4, 0x3, 0xcf, 0x3, 0x52, 0x10, 0x6, 0x5, 0x64, 0x0, 0x0, 0xff, 0xff, 0x0, 0x90, 0x0, 0x0, 0x7, 0xac, 0x6, 0x14, 0x10, 0x26, 0x14, 0xa6, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x3, 0xcf, 0x3, 0x52, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x5, 0xd4, 0x6, 0x14, 0x10, 0x26, 0x14, 0xa7, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x2, 0xc7, 0x3, 0x52, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x6, 0xa4, 0x6, 0x14, 0x10, 0x26, 0x14, 0xa8, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x2, 0xc7, 0x3, 0x52, 0xff, 0xff, 0x0, 0x75, 0xfe, 0xc, 0x4, 0xb2, 0x4, 0x2a, 0x10, 0x6, 0x5, 0x66, 0x0, 0x0, 0x0, 0x2, 0x0, 0x75, 0xfe, 0xc, 0x4, 0xb2, 0x3, 0xe, 0x0, 0x25, 0x0, 0x2b, 0x0, 0x0, 0x1, 0x6, 0x21, 0x20, 0x27, 0x26, 0x10, 0x37, 0x2e, 0x1, 0x35, 0x34, 0x37, 0x36, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x1e, 0x1, 0x3b, 0x1, 0x15, 0x23, 0x20, 0x27, 0x6, 0x15, 0x14, 0x17, 0x16, 0x21, 0x32, 0x37, 0x1, 0x36, 0x34, 0x22, 0x15, 0x14, 0x4, 0xb2, 0x98, 0xfe, 0xff, 0xfe, 0x5b, 0x9d, 0x62, 0xbb, 0x3d, 0x44, 0x7d, 0x61, 0xee, 0x5f, 0x7f, 0x5b, 0x39, 0x5e, 0x44, 0xb6, 0x55, 0xa0, 0x90, 0xfe, 0xf6, 0xf8, 0x9a, 0x29, 0x6b, 0x1, 0x5f, 0xc1, 0xd4, 0xfd, 0x31, 0x88, 0xce, 0xfe, 0x6f, 0x63, 0xbc, 0x7a, 0x1, 0x92, 0x8c, 0x32, 0x74, 0x2a, 0x6e, 0x40, 0x30, 0x30, 0x40, 0x70, 0x5b, 0x43, 0x2b, 0x20, 0x40, 0x4d, 0xb8, 0xe4, 0x81, 0x6b, 0x6c, 0x3d, 0x9e, 0x76, 0x2, 0x96, 0x38, 0x60, 0x33, 0x24, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x3, 0xf8, 0x4, 0x2a, 0x0, 0x1a, 0x0, 0x0, 0x37, 0x32, 0x37, 0x26, 0x27, 0x26, 0x35, 0x10, 0x37, 0x36, 0x33, 0x15, 0x22, 0x6, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x25, 0x15, 0x5, 0x4, 0x2b, 0x1, 0x35, 0x3c, 0xa1, 0xca, 0x4b, 0x34, 0x58, 0xcc, 0x7d, 0xfb, 0xda, 0xba, 0x3e, 0x53, 0x46, 0x37, 0x4a, 0x1, 0x20, 0xfe, 0x5c, 0xfe, 0xa2, 0xb2, 0x58, 0xb8, 0x5d, 0x18, 0x3b, 0x64, 0x8c, 0x1, 0x8, 0x7d, 0x4d, 0xa9, 0x89, 0xff, 0x34, 0x46, 0x21, 0x81, 0xb8, 0xc5, 0xa4, 0xb8, 0x0, 0x0, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x3, 0xf0, 0x3, 0xe, 0x0, 0x24, 0x0, 0x2f, 0x0, 0x0, 0x25, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x16, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x2, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x36, 0x35, 0x34, 0x27, 0x1, 0xee, 0xc2, 0xca, 0x76, 0x60, 0x6b, 0x42, 0x3b, 0x28, 0x61, 0x44, 0x1e, 0xd, 0x10, 0x68, 0x59, 0xee, 0x59, 0x68, 0x10, 0xd, 0x1e, 0x4d, 0x58, 0x1f, 0x44, 0x3d, 0x70, 0x60, 0x76, 0xca, 0xa8, 0x34, 0x1e, 0x2f, 0x67, 0x67, 0x2f, 0xb9, 0xb9, 0xb8, 0x28, 0x24, 0x27, 0x55, 0x5a, 0x27, 0x2d, 0x1f, 0x29, 0x37, 0x34, 0x2d, 0x2d, 0x34, 0x37, 0x29, 0x1f, 0x2d, 0x27, 0x62, 0x4d, 0x1f, 0x2c, 0x28, 0xb8, 0x2, 0x55, 0x7, 0xc, 0x20, 0x1d, 0x5f, 0x5f, 0x1d, 0x20, 0xc, 0x0, 0x0, 0xff, 0xff, 0x0, 0x75, 0xfe, 0xc, 0x4, 0xb2, 0x5, 0x46, 0x10, 0x27, 0x16, 0xc4, 0x1, 0x77, 0x4, 0xb0, 0x10, 0x6, 0x5, 0x66, 0x0, 0x0, 0xff, 0xff, 0x0, 0x75, 0xfe, 0xc, 0x4, 0xb2, 0x4, 0x4c, 0x10, 0x26, 0x14, 0xae, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x1, 0xa9, 0x3, 0xb6, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x3, 0xf8, 0x5, 0x46, 0x10, 0x26, 0x14, 0xaf, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x1, 0x77, 0x4, 0xb0, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x3, 0xf0, 0x4, 0x4c, 0x10, 0x26, 0x14, 0xb0, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x1, 0xa3, 0x3, 0xb6, 0xff, 0xff, 0x0, 0x82, 0xff, 0xa4, 0x7, 0x9e, 0x5, 0x14, 0x10, 0x27, 0x16, 0xc4, 0x5, 0xf5, 0x4, 0x7e, 0x10, 0x6, 0x5, 0xba, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xff, 0xa5, 0x8, 0x5c, 0x4, 0x4c, 0x10, 0x26, 0x16, 0xcd, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x5, 0xf5, 0x3, 0xb6, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x3, 0x3f, 0x5, 0x14, 0x10, 0x26, 0x16, 0xce, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x1, 0xa9, 0x4, 0x7e, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x4, 0x20, 0x4, 0x7e, 0x10, 0x26, 0x16, 0xcf, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x1, 0xbb, 0x3, 0xe8, 0xff, 0xff, 0x0, 0x6b, 0xfe, 0x48, 0x5, 0x9b, 0x5, 0x14, 0x10, 0x27, 0x16, 0xc5, 0x3, 0x52, 0x4, 0x7e, 0x10, 0x6, 0x5, 0x8f, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6b, 0xfe, 0xc, 0x6, 0xc0, 0x4, 0x1, 0x10, 0x26, 0x16, 0xd0, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x3, 0x84, 0x3, 0x6b, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x3, 0x3f, 0x5, 0x14, 0x10, 0x26, 0x16, 0xd1, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x1, 0x2c, 0x4, 0x7e, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x4, 0x20, 0x4, 0x7e, 0x10, 0x26, 0x16, 0xd2, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x1, 0x38, 0x3, 0xe8, 0xff, 0xff, 0x0, 0x90, 0xff, 0xc9, 0x5, 0xc7, 0x6, 0x14, 0x10, 0x6, 0x5, 0x6b, 0x0, 0x0, 0x0, 0x2, 0x0, 0x90, 0xff, 0xc9, 0x6, 0xd2, 0x6, 0x14, 0x0, 0x21, 0x0, 0x44, 0x0, 0x0, 0x1, 0x15, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x37, 0x36, 0x37, 0x36, 0x13, 0x6, 0x27, 0x26, 0x27, 0x24, 0x35, 0x34, 0x37, 0x33, 0x6, 0x15, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x19, 0x1, 0x33, 0x11, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x6, 0x3, 0xd0, 0x4a, 0x26, 0x50, 0xe, 0xc, 0x44, 0x66, 0x58, 0x52, 0x4e, 0x42, 0x38, 0x44, 0x2d, 0x3c, 0x39, 0x3c, 0x4e, 0x4a, 0x12, 0x20, 0x1, 0x2, 0x4b, 0x55, 0x8a, 0x6d, 0x91, 0xcf, 0x65, 0xfe, 0xdb, 0x10, 0xb8, 0xe, 0x2, 0xa0, 0x79, 0x7f, 0x8c, 0x59, 0x98, 0x62, 0x4c, 0xb8, 0x31, 0x2c, 0x63, 0x4b, 0x82, 0x99, 0x71, 0x9e, 0x4, 0x6f, 0x52, 0x4, 0xe, 0x1e, 0x21, 0x1c, 0x12, 0x10, 0xa, 0xf, 0x58, 0x6e, 0x2a, 0x27, 0xb, 0x58, 0xa, 0x1a, 0x1a, 0x1e, 0x26, 0x11, 0x10, 0x1c, 0x2f, 0x2e, 0x51, 0x26, 0x2b, 0xfb, 0x70, 0x14, 0x2, 0x2, 0x1e, 0x58, 0xc3, 0x4b, 0x35, 0x3a, 0x2c, 0x5c, 0x2e, 0x23, 0x1b, 0x2f, 0x5e, 0x49, 0x1, 0x1, 0x3, 0xb1, 0xfb, 0x6b, 0x6a, 0x31, 0x2c, 0xb8, 0x7b, 0x7e, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x3, 0xcf, 0x6, 0x14, 0x0, 0x1f, 0x0, 0x0, 0x29, 0x1, 0x35, 0x21, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x1, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x15, 0x5, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x1, 0x16, 0x15, 0x14, 0x7, 0x6, 0x1, 0x36, 0xfe, 0xb6, 0x1, 0x36, 0x94, 0x2d, 0x10, 0x36, 0xfe, 0xca, 0x32, 0xa, 0x1f, 0x68, 0x2, 0xe9, 0xfd, 0xad, 0x47, 0x15, 0x6, 0x1f, 0x1, 0x13, 0x66, 0x3e, 0x5f, 0xb8, 0x68, 0x24, 0x24, 0x45, 0x42, 0x1, 0x7c, 0x3d, 0x51, 0x23, 0x21, 0x76, 0x2b, 0x1, 0x36, 0xba, 0xfa, 0x1e, 0x28, 0xb, 0x19, 0x20, 0x25, 0xfe, 0xb6, 0x7b, 0x7b, 0x71, 0x65, 0x9b, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x4, 0x7f, 0x6, 0x14, 0x0, 0x29, 0x0, 0x0, 0x29, 0x1, 0x35, 0x21, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x1, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x15, 0x5, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x1, 0x16, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x26, 0x2f, 0x1, 0x6, 0x7, 0x6, 0x1, 0x36, 0xfe, 0xb6, 0x1, 0x36, 0x94, 0x2d, 0x10, 0x36, 0xfe, 0xca, 0x32, 0xa, 0x1f, 0x68, 0x2, 0xe9, 0xfd, 0xad, 0x47, 0x15, 0x6, 0x1f, 0x2, 0x47, 0x16, 0x26, 0x2b, 0x40, 0x58, 0x84, 0x41, 0x3a, 0x67, 0x21, 0x61, 0x15, 0x11, 0x5f, 0xb8, 0x68, 0x24, 0x24, 0x45, 0x42, 0x1, 0x7c, 0x3d, 0x51, 0x23, 0x21, 0x76, 0x2b, 0x1, 0x36, 0xba, 0xfa, 0x1e, 0x28, 0xb, 0x19, 0x20, 0x25, 0xfd, 0x3f, 0x1a, 0xe, 0x10, 0xb8, 0x18, 0x2b, 0x29, 0x78, 0x2e, 0x1b, 0x9b, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x90, 0xfe, 0xc8, 0x5, 0x18, 0x6, 0x14, 0x10, 0x6, 0x5, 0x6c, 0x0, 0x0, 0x0, 0x1, 0x0, 0x90, 0xfe, 0xc8, 0x6, 0x23, 0x6, 0x14, 0x0, 0x24, 0x0, 0x0, 0x25, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x6, 0x7, 0x6, 0x5, 0x6, 0x23, 0x22, 0x27, 0x24, 0x3, 0x26, 0x37, 0x33, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x4, 0x12, 0x4e, 0xb8, 0x31, 0x2c, 0x63, 0x4b, 0x82, 0x70, 0x4e, 0x12, 0x1b, 0x79, 0xfe, 0xfb, 0x86, 0x55, 0x63, 0x45, 0xfe, 0xdc, 0x1, 0x1, 0x40, 0xb8, 0x41, 0xa6, 0x28, 0x49, 0x50, 0x6d, 0xae, 0x49, 0x7e, 0xe3, 0x4, 0x6a, 0xfb, 0x6b, 0x6a, 0x31, 0x2c, 0xb8, 0x33, 0x2e, 0x28, 0xb1, 0x42, 0x22, 0x16, 0x5b, 0x1, 0x12, 0x8a, 0x5c, 0x73, 0x73, 0x7e, 0x42, 0x10, 0x22, 0x35, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x1, 0xaf, 0x6, 0x14, 0x0, 0xd, 0x0, 0x0, 0x1, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x33, 0x1, 0xaf, 0x57, 0x50, 0x9a, 0x82, 0x4b, 0x63, 0x2c, 0x31, 0xb8, 0x1, 0x73, 0xb2, 0x65, 0x5c, 0xb8, 0x2c, 0x31, 0x6a, 0x4, 0x95, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x2, 0xba, 0x6, 0x14, 0x0, 0x14, 0x0, 0x0, 0x25, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x1, 0x53, 0x4d, 0x98, 0x82, 0x4b, 0x63, 0x2c, 0x31, 0xb8, 0x31, 0x2c, 0x63, 0x4b, 0x82, 0x96, 0x56, 0x56, 0xb8, 0x2c, 0x31, 0x6a, 0x4, 0x95, 0xfb, 0x6b, 0x6a, 0x31, 0x2c, 0xb8, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x8c, 0xfe, 0x14, 0x4, 0x5e, 0x2, 0xf3, 0x10, 0x6, 0x5, 0x6d, 0x0, 0x0, 0x0, 0x2, 0x0, 0x8c, 0xfe, 0x14, 0x5, 0x67, 0x2, 0x74, 0x0, 0x11, 0x0, 0x35, 0x0, 0x0, 0x25, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x5, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x7, 0x6, 0x15, 0x11, 0x23, 0x11, 0x34, 0x37, 0x36, 0x33, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x2, 0x62, 0x7a, 0x4c, 0x2c, 0x15, 0x35, 0x6, 0x15, 0x3b, 0x28, 0x2e, 0x3b, 0x1b, 0x44, 0x1, 0xc0, 0xf, 0xd, 0x85, 0x4b, 0xb5, 0x8d, 0x32, 0x4b, 0x19, 0xc8, 0x78, 0x41, 0x5a, 0x2, 0xa2, 0x4d, 0x5c, 0x48, 0x54, 0xaa, 0x28, 0xf, 0x28, 0x26, 0x69, 0x4b, 0x82, 0xaf, 0xa8, 0x2a, 0x16, 0x39, 0x3a, 0x18, 0x14, 0x58, 0x11, 0xc, 0x1b, 0x44, 0x44, 0x28, 0xa9, 0xe, 0x8, 0x50, 0x4e, 0x1c, 0x4e, 0x1a, 0x4f, 0xfe, 0x93, 0x1, 0x6d, 0xad, 0x66, 0x37, 0x2a, 0x28, 0x94, 0x84, 0x3f, 0x24, 0x47, 0xb3, 0x43, 0x2c, 0x2c, 0xb8, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xec, 0xff, 0xcd, 0x3, 0xa6, 0x2, 0x6d, 0x0, 0x15, 0x0, 0x24, 0x0, 0x0, 0x25, 0x6, 0x23, 0x22, 0x27, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x25, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x6, 0x3, 0x64, 0x61, 0x93, 0xce, 0x6e, 0x40, 0x68, 0xa0, 0x74, 0x34, 0x57, 0x5, 0x14, 0x87, 0x5e, 0x51, 0xb0, 0x5b, 0x61, 0xfd, 0xf0, 0x3e, 0x9f, 0x2f, 0x13, 0x34, 0x28, 0x2a, 0x58, 0x2e, 0x5b, 0xf, 0x7, 0x34, 0x66, 0x62, 0x30, 0xb8, 0x47, 0x31, 0xb5, 0x50, 0x38, 0x54, 0x59, 0xb8, 0x8f, 0x4e, 0x45, 0x12, 0x35, 0x45, 0x4b, 0x26, 0x29, 0x3c, 0x61, 0x25, 0x0, 0x2, 0xff, 0xec, 0xff, 0xce, 0x4, 0xb4, 0x2, 0x6d, 0x0, 0x1d, 0x0, 0x2f, 0x0, 0x0, 0x25, 0x6, 0x23, 0x22, 0x27, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x25, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x6, 0x3, 0x64, 0x61, 0x8b, 0xd6, 0x6e, 0x40, 0x68, 0xa0, 0x74, 0x34, 0x2c, 0x2b, 0x5, 0x14, 0x87, 0x5e, 0x5d, 0x48, 0x42, 0xc1, 0x11, 0x5, 0x33, 0x24, 0x6b, 0x4b, 0x82, 0xb0, 0xfe, 0x14, 0x3e, 0x9f, 0x2f, 0x13, 0x34, 0x5, 0x16, 0x3a, 0x27, 0x27, 0x35, 0x29, 0x32, 0xf, 0x7, 0x34, 0x66, 0x62, 0x30, 0xb8, 0x24, 0x23, 0x31, 0xb5, 0x50, 0x38, 0x1d, 0x53, 0xa7, 0x31, 0x3e, 0x2c, 0xb8, 0xc4, 0x45, 0x12, 0x35, 0x45, 0x13, 0x12, 0x58, 0x11, 0xc, 0x1b, 0x21, 0x61, 0x25, 0x0, 0x0, 0xff, 0xff, 0x0, 0x93, 0xfe, 0xb5, 0x5, 0x48, 0x3, 0xb6, 0x10, 0x27, 0x16, 0xc4, 0x2, 0x3f, 0x3, 0x20, 0x10, 0x6, 0x5, 0xd3, 0x0, 0x0, 0xff, 0xff, 0x0, 0x93, 0xfe, 0xc, 0x6, 0x2b, 0x2, 0xbc, 0x10, 0x26, 0x14, 0x2c, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x2, 0x3f, 0x2, 0x26, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x1, 0x87, 0x3, 0xe8, 0x10, 0x27, 0x16, 0xc4, 0x0, 0xe0, 0x3, 0x52, 0x10, 0x6, 0x16, 0xcb, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x2, 0x7e, 0x3, 0xe8, 0x10, 0x27, 0x16, 0xc4, 0x0, 0xe0, 0x3, 0x52, 0x10, 0x6, 0x16, 0xcc, 0x0, 0x0, 0xff, 0xff, 0x0, 0x8b, 0xff, 0xc6, 0x3, 0xa0, 0x2, 0xde, 0x10, 0x6, 0x5, 0x6f, 0x0, 0x0, 0x0, 0x2, 0x0, 0x91, 0x0, 0x0, 0x4, 0x5e, 0x2, 0xee, 0x0, 0xa, 0x0, 0x24, 0x0, 0x0, 0x1, 0x26, 0x27, 0x26, 0x27, 0x6, 0x7, 0x6, 0x17, 0x1e, 0x1, 0x13, 0x26, 0x27, 0x33, 0x16, 0x17, 0x16, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x26, 0x27, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x2, 0xa4, 0xf, 0xd, 0xd, 0xc, 0x78, 0x52, 0x6f, 0x2, 0x1, 0xb4, 0x74, 0x4, 0x3, 0xb8, 0x1, 0x24, 0x15, 0x38, 0x1f, 0x70, 0x4b, 0x82, 0x5a, 0x49, 0x2d, 0x26, 0x8a, 0x9c, 0x38, 0x3a, 0xbd, 0xcc, 0x6d, 0x1, 0x1a, 0x2a, 0x31, 0x32, 0x65, 0xc, 0x43, 0x59, 0x3e, 0x29, 0x32, 0x1, 0xd1, 0x27, 0x2b, 0xa8, 0xae, 0x65, 0x4f, 0x2c, 0xb8, 0x33, 0x1f, 0x3b, 0x49, 0xf, 0x30, 0x9a, 0xad, 0x7f, 0x44, 0x0, 0x3, 0xff, 0xec, 0xff, 0xbd, 0x3, 0xbd, 0x3, 0xe5, 0x0, 0xf, 0x0, 0x2d, 0x0, 0x3d, 0x0, 0x0, 0x1, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x7, 0x32, 0x37, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x17, 0x26, 0x27, 0x35, 0x16, 0x17, 0x4, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x6, 0x2b, 0x1, 0x35, 0x1, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x1, 0x94, 0x24, 0x22, 0x27, 0xf, 0x16, 0x3a, 0x41, 0x17, 0x16, 0x7, 0x15, 0xf9, 0x34, 0x4e, 0x2d, 0xf, 0x12, 0x2d, 0x30, 0x4d, 0x2c, 0x51, 0xdf, 0xd8, 0x1, 0x0, 0x40, 0xe, 0x28, 0x4a, 0xaf, 0x83, 0x9a, 0x78, 0x92, 0x89, 0x2, 0xab, 0x6, 0x62, 0xc, 0x11, 0x34, 0x31, 0x7d, 0x11, 0x7, 0x21, 0x1d, 0x1, 0xd, 0x1b, 0x40, 0x48, 0x3d, 0x2e, 0x25, 0x34, 0x2d, 0x2b, 0x23, 0x1e, 0x25, 0x76, 0x88, 0xb, 0x69, 0x45, 0x4e, 0x40, 0x54, 0x53, 0x5a, 0x9, 0x27, 0xe, 0xb9, 0x44, 0xb3, 0xd1, 0xde, 0x34, 0x39, 0x67, 0x3d, 0x71, 0x6c, 0x29, 0xb8, 0x1, 0x44, 0x25, 0x27, 0x93, 0x69, 0xe, 0x13, 0x2e, 0x43, 0x1e, 0x21, 0x3c, 0x4e, 0x45, 0x0, 0x0, 0x0, 0x3, 0xff, 0xec, 0xfe, 0xd, 0x3, 0xc4, 0x2, 0xab, 0x0, 0xa, 0x0, 0x24, 0x0, 0x2f, 0x0, 0x0, 0x25, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x23, 0x22, 0x7, 0x6, 0x7, 0x12, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x21, 0x15, 0x21, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x3, 0x23, 0x35, 0x5, 0x14, 0x17, 0x16, 0x33, 0x32, 0x35, 0x34, 0x27, 0x26, 0x23, 0x1, 0x53, 0x13, 0x2a, 0x60, 0x72, 0x54, 0x4b, 0x4a, 0x26, 0xb8, 0x9, 0x81, 0x6c, 0x81, 0x8a, 0x45, 0x2e, 0xa3, 0x1, 0x58, 0xfe, 0xa8, 0xa3, 0x2e, 0x45, 0x8a, 0x81, 0x6c, 0x81, 0x9, 0xaf, 0x1, 0x67, 0x26, 0x4a, 0x4b, 0x54, 0x72, 0x60, 0x2a, 0xb8, 0x4c, 0x5a, 0x34, 0x70, 0x8d, 0x48, 0x75, 0x1, 0xa, 0x7e, 0x6b, 0x63, 0x43, 0x72, 0x6f, 0x6c, 0xb8, 0x6c, 0x6f, 0x72, 0x43, 0x63, 0x6b, 0x80, 0x1, 0x8, 0xb8, 0xb8, 0x75, 0x48, 0x8d, 0x70, 0x34, 0x5a, 0x4c, 0x0, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x3, 0x40, 0x2, 0x86, 0x10, 0x6, 0x5, 0x70, 0x0, 0x0, 0x0, 0x2, 0xff, 0xab, 0xfe, 0xc, 0x4, 0x36, 0x2, 0x86, 0x0, 0xb, 0x0, 0x2c, 0x0, 0x0, 0x25, 0x34, 0x27, 0x26, 0x27, 0x26, 0x7, 0x6, 0x7, 0x6, 0x17, 0x16, 0x5, 0x33, 0x15, 0x23, 0x27, 0x6, 0x7, 0x6, 0x7, 0x6, 0x21, 0x35, 0x20, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x37, 0x36, 0x37, 0x36, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x2, 0x8d, 0x10, 0x18, 0x2e, 0x3c, 0x3c, 0x43, 0xd, 0x11, 0x40, 0x2f, 0x1, 0x73, 0xf6, 0xc2, 0x46, 0x19, 0x81, 0x53, 0x69, 0xc0, 0xfe, 0x93, 0x1, 0x69, 0x84, 0xa8, 0x3e, 0x76, 0x2d, 0x8b, 0x33, 0x6a, 0xa, 0x2, 0xa, 0x1b, 0xb0, 0x3b, 0x41, 0x57, 0x45, 0x85, 0x16, 0xd, 0xb8, 0x4c, 0x39, 0x50, 0x1e, 0x29, 0x1a, 0x1d, 0x38, 0x4b, 0x36, 0x28, 0x4, 0xb8, 0x1, 0x9c, 0x81, 0x53, 0x2f, 0x56, 0xb8, 0x4c, 0x5f, 0x94, 0x3, 0x7, 0x18, 0x2b, 0x59, 0x87, 0x1f, 0x39, 0x9b, 0x4b, 0x19, 0x1, 0x2, 0x31, 0x5c, 0x8d, 0x53, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xf3, 0x5, 0xc0, 0x3, 0x4a, 0x10, 0x6, 0x5, 0x71, 0x0, 0x0, 0x0, 0x1, 0x0, 0x82, 0xfe, 0xf0, 0x6, 0xbf, 0x2, 0x2, 0x0, 0x37, 0x0, 0x0, 0x5, 0x36, 0x35, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x24, 0x11, 0x34, 0x37, 0x33, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x4, 0x4c, 0x5b, 0x1, 0x2f, 0x1d, 0x1e, 0x2c, 0x34, 0x50, 0x54, 0x1e, 0x2a, 0x75, 0x57, 0x80, 0x20, 0x23, 0x23, 0x72, 0x70, 0x6c, 0x1a, 0x24, 0xf, 0x2d, 0x41, 0x49, 0x3, 0x3, 0x71, 0x80, 0xda, 0x59, 0x68, 0xbc, 0x75, 0xfe, 0xdb, 0x3f, 0xb8, 0x41, 0xa6, 0x42, 0xb3, 0x5b, 0x4d, 0x95, 0x21, 0x33, 0x21, 0x2b, 0xd, 0x8, 0x28, 0x3b, 0x3d, 0x41, 0x3c, 0x5e, 0xe, 0x6, 0x86, 0xc4, 0xb8, 0xac, 0xa5, 0x6, 0x11, 0x23, 0x30, 0x1b, 0x1e, 0x7b, 0x62, 0x56, 0x60, 0x1f, 0xc, 0x29, 0x67, 0x1, 0x6, 0x99, 0x5a, 0x5a, 0x99, 0x72, 0x4e, 0x1f, 0x8, 0xf, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0x5, 0xc0, 0x3, 0x4a, 0x10, 0x27, 0x16, 0xc5, 0x1, 0xf4, 0xfe, 0xc, 0x10, 0x6, 0x5, 0x71, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0x6, 0xbf, 0x2, 0x2, 0x10, 0x27, 0x16, 0xc5, 0x1, 0xf4, 0xfe, 0xc, 0x10, 0x6, 0x14, 0xd4, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xd4, 0x1, 0xf3, 0x2, 0x58, 0x10, 0x26, 0x14, 0x3b, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x0, 0x63, 0xfe, 0xd4, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xd4, 0x2, 0x7e, 0x2, 0x58, 0x10, 0x26, 0x14, 0x3c, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x0, 0x63, 0xfe, 0xd4, 0xff, 0xff, 0xff, 0x2e, 0xff, 0xec, 0x3, 0xbf, 0x6, 0xed, 0x10, 0x26, 0x14, 0xdf, 0x0, 0x0, 0x10, 0x7, 0x5, 0x7b, 0xfe, 0x96, 0x1, 0x2c, 0xff, 0xff, 0xff, 0x2e, 0xff, 0xec, 0x4, 0xda, 0x6, 0xed, 0x10, 0x26, 0x14, 0xe0, 0x0, 0x0, 0x10, 0x7, 0x5, 0x7b, 0xfe, 0x96, 0x1, 0x2c, 0xff, 0xff, 0xff, 0xe5, 0xff, 0xec, 0x3, 0xbf, 0x7, 0xa3, 0x10, 0x26, 0x14, 0xdf, 0x0, 0x0, 0x10, 0x7, 0x5, 0x7c, 0xfe, 0x96, 0x1, 0x2c, 0xff, 0xff, 0xff, 0xe5, 0xff, 0xec, 0x4, 0xda, 0x7, 0xa3, 0x10, 0x26, 0x14, 0xe0, 0x0, 0x0, 0x10, 0x7, 0x5, 0x7c, 0xfe, 0x96, 0x1, 0x2c, 0xff, 0xff, 0x0, 0x17, 0xfe, 0xc, 0x3, 0xbf, 0x6, 0x14, 0x10, 0x26, 0x14, 0xdf, 0x0, 0x0, 0x10, 0x7, 0x5, 0x7d, 0xfe, 0xc8, 0x0, 0x0, 0xff, 0xff, 0x0, 0x17, 0xfe, 0xc, 0x4, 0xda, 0x6, 0x14, 0x10, 0x26, 0x14, 0xe0, 0x0, 0x0, 0x10, 0x7, 0x5, 0x7d, 0xfe, 0xc8, 0x0, 0x0, 0x0, 0x1, 0x0, 0x54, 0xff, 0xec, 0x3, 0xbf, 0x6, 0x14, 0x0, 0x16, 0x0, 0x0, 0x1, 0x10, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x37, 0x1, 0x33, 0x1, 0x36, 0x37, 0x36, 0x35, 0x11, 0x33, 0x3, 0xbf, 0x8b, 0x37, 0x4d, 0xcd, 0x9e, 0x6a, 0x4b, 0x60, 0x55, 0x71, 0x88, 0xfe, 0x16, 0xb3, 0x1, 0xaa, 0x1d, 0x14, 0x25, 0xb8, 0x3, 0x42, 0xfe, 0xd4, 0xda, 0x55, 0x47, 0xb4, 0x20, 0xb8, 0x20, 0x98, 0x4, 0x46, 0xfc, 0x41, 0x2b, 0x37, 0x89, 0xb8, 0x2, 0xae, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x54, 0xff, 0xec, 0x4, 0xda, 0x6, 0x14, 0x0, 0x1f, 0x0, 0x0, 0x1, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x37, 0x1, 0x33, 0x1, 0x36, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x26, 0x3, 0x34, 0x3b, 0x49, 0xca, 0xa1, 0x6a, 0x4b, 0x60, 0x55, 0x71, 0x88, 0xfe, 0x16, 0xb3, 0x1, 0xaa, 0x1d, 0x14, 0x25, 0xb8, 0x22, 0x40, 0x50, 0x69, 0x81, 0xaf, 0x66, 0x11, 0x1, 0x3c, 0x5b, 0x41, 0xb4, 0x20, 0xb8, 0x20, 0x98, 0x4, 0x46, 0xfc, 0x41, 0x2b, 0x37, 0x89, 0xb8, 0x2, 0xae, 0xfc, 0x44, 0xae, 0x54, 0x9e, 0xb8, 0xf3, 0x29, 0x0, 0x0, 0x0, 0x3, 0x0, 0x1e, 0xff, 0x54, 0x8, 0x16, 0x7, 0x4c, 0x0, 0x3, 0x0, 0x7, 0x0, 0x2a, 0x0, 0x0, 0x9, 0x4, 0x15, 0x33, 0x35, 0x27, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x36, 0x3f, 0x1, 0x36, 0x37, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0xf, 0x1, 0xe, 0x1, 0x1d, 0x1, 0x4, 0x1a, 0x3, 0xfc, 0xfc, 0x4, 0xfc, 0x4, 0x3, 0x96, 0xcb, 0x6, 0x6, 0x6, 0x8, 0x13, 0x17, 0x2c, 0x58, 0x5c, 0x22, 0x24, 0xdf, 0xb8, 0x67, 0xc1, 0x5e, 0x61, 0xb3, 0x4f, 0x6c, 0x83, 0x33, 0x39, 0x5a, 0x5a, 0x38, 0x7, 0x4c, 0xfc, 0x4, 0xfc, 0x4, 0x3, 0xfc, 0xfd, 0xae, 0xfe, 0xfe, 0x93, 0x7b, 0x34, 0x3c, 0x15, 0x19, 0x1a, 0x1f, 0x2b, 0x56, 0x5a, 0x40, 0x45, 0x4c, 0x9f, 0xc2, 0x38, 0x39, 0xbc, 0x43, 0x46, 0x6e, 0x59, 0x31, 0x5e, 0x35, 0x59, 0x56, 0x82, 0x65, 0x9a, 0x0, 0x0, 0x0, 0x2, 0x0, 0x64, 0xff, 0xe3, 0x5, 0xaa, 0x5, 0xd5, 0x0, 0x7, 0x0, 0xa, 0x0, 0x0, 0x37, 0x1, 0x33, 0x1, 0x7, 0x3, 0x21, 0x3, 0x1, 0x21, 0x3, 0x64, 0x2, 0x30, 0xe6, 0x2, 0x30, 0xa8, 0xc1, 0xfd, 0x8c, 0xc1, 0x1, 0x6, 0x1, 0xea, 0xf5, 0x23, 0x5, 0xb2, 0xfa, 0x4e, 0x40, 0x1, 0xf6, 0xfe, 0xa, 0x2, 0xaa, 0x2, 0x7c, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xc8, 0xff, 0xed, 0x4, 0x14, 0x5, 0xe8, 0x0, 0x9, 0x0, 0x1a, 0x0, 0x24, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x26, 0x23, 0x1, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x16, 0x15, 0x14, 0x7, 0x6, 0x21, 0x22, 0x27, 0x13, 0x11, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x26, 0x23, 0x1, 0x7c, 0x34, 0xfb, 0x77, 0x3d, 0xc6, 0xaf, 0xfe, 0xde, 0x88, 0x64, 0xf0, 0xa2, 0xce, 0xd7, 0xd6, 0x75, 0xab, 0xfe, 0xbd, 0x64, 0x84, 0xb4, 0x6f, 0xea, 0x5e, 0x2c, 0xec, 0xbf, 0x2, 0x7e, 0xfe, 0x23, 0x72, 0x3b, 0x42, 0x59, 0x95, 0x3, 0x57, 0x13, 0x61, 0x7b, 0xd0, 0xd5, 0x7a, 0x7a, 0xe4, 0x8e, 0x70, 0xa4, 0x13, 0x5, 0x34, 0xfe, 0x15, 0x80, 0x3d, 0x38, 0x68, 0x8e, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0xff, 0xe3, 0x3, 0xea, 0x5, 0xf3, 0x0, 0x5, 0x0, 0x0, 0x5, 0x9, 0x1, 0x17, 0x9, 0x1, 0x3, 0x6b, 0xfc, 0xf9, 0x3, 0x7, 0x7f, 0xfd, 0x78, 0x2, 0x88, 0x1d, 0x3, 0x8, 0x3, 0x8, 0x7f, 0xfd, 0x77, 0xfd, 0x77, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc8, 0x0, 0x0, 0x4, 0x6, 0x5, 0xd2, 0x0, 0xc, 0x0, 0x15, 0x0, 0x0, 0x33, 0x11, 0x33, 0x20, 0x17, 0x16, 0x17, 0x16, 0x10, 0x7, 0x6, 0x4, 0x21, 0x37, 0x3e, 0x2, 0x10, 0x27, 0x2e, 0x1, 0x27, 0xc8, 0x5a, 0x1, 0x84, 0x9e, 0x9f, 0x19, 0xa, 0x27, 0x38, 0xfe, 0xb9, 0xfe, 0xc2, 0x5a, 0xce, 0xc7, 0x41, 0xa, 0x12, 0xbc, 0xfe, 0x5, 0xd2, 0x78, 0x7a, 0xf9, 0x65, 0xfe, 0x62, 0x7f, 0xb8, 0xad, 0xc0, 0x8, 0x63, 0xd4, 0x1, 0x7a, 0x5c, 0xac, 0x91, 0xa, 0x0, 0x1, 0x0, 0xc8, 0x0, 0x0, 0x3, 0x9c, 0x5, 0xf2, 0x0, 0xd, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x5, 0x7, 0x25, 0x11, 0x5, 0x7, 0x25, 0x11, 0x5, 0x7, 0x1, 0x7c, 0xb4, 0x2, 0xd4, 0x1c, 0xfd, 0xfc, 0x2, 0x20, 0x1c, 0xfd, 0xfc, 0x2, 0x20, 0x1c, 0x1, 0x36, 0xfe, 0xca, 0x5, 0xf2, 0x75, 0xb2, 0x53, 0xfe, 0xc3, 0x58, 0xb2, 0x53, 0xfe, 0xc3, 0x58, 0xb2, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc8, 0x0, 0x0, 0x3, 0x9c, 0x5, 0xf2, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x5, 0x7, 0x25, 0x11, 0x5, 0x7, 0x1, 0x7c, 0xb4, 0x2, 0xd4, 0x1c, 0xfd, 0xfc, 0x2, 0x20, 0x1c, 0x3, 0x2a, 0xfc, 0xd6, 0x5, 0xf2, 0x75, 0xb2, 0x53, 0xfe, 0xc3, 0x58, 0xb2, 0x0, 0x1, 0x0, 0x96, 0x0, 0x0, 0x2, 0xee, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x0, 0x13, 0x21, 0x15, 0x23, 0x11, 0x33, 0x15, 0x21, 0x35, 0x33, 0x11, 0x23, 0x96, 0x2, 0x58, 0xd2, 0xd2, 0xfd, 0xa8, 0xd2, 0xd2, 0x5, 0xd5, 0xb4, 0xfb, 0x93, 0xb4, 0xb4, 0x4, 0x6d, 0x0, 0x3, 0x0, 0xc8, 0x0, 0x0, 0x4, 0x38, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x0, 0x13, 0x21, 0x11, 0x21, 0x1, 0x11, 0x21, 0x11, 0x5, 0x21, 0x11, 0x21, 0xc8, 0x3, 0x70, 0xfc, 0x90, 0x2, 0xbc, 0xfd, 0xf8, 0x2, 0x8, 0xfd, 0xf8, 0x2, 0x8, 0x5, 0xd5, 0xfa, 0x2b, 0x3, 0x45, 0x1, 0xdc, 0xfe, 0x24, 0xb4, 0xfe, 0x23, 0x0, 0x0, 0x0, 0x5, 0x0, 0x96, 0xff, 0xe3, 0x6, 0xa4, 0x5, 0xf3, 0x0, 0xf, 0x0, 0x14, 0x0, 0x19, 0x0, 0x1e, 0x0, 0x23, 0x0, 0x0, 0x0, 0x2, 0x6, 0x4, 0x20, 0x24, 0x26, 0x2, 0x10, 0x12, 0x36, 0x24, 0x20, 0x4, 0x16, 0x12, 0x1, 0x36, 0x0, 0x37, 0x21, 0x3, 0x11, 0x21, 0x16, 0x0, 0x1, 0x21, 0x11, 0x6, 0x0, 0x1, 0x11, 0x21, 0x26, 0x0, 0x6, 0xa4, 0x7a, 0xd0, 0xfe, 0xe0, 0xfe, 0xc6, 0xfe, 0xe0, 0xd0, 0x7a, 0x7a, 0xd0, 0x1, 0x20, 0x1, 0x3a, 0x1, 0x20, 0xd0, 0x7a, 0xfd, 0x53, 0xc2, 0x1, 0x12, 0x1e, 0xfe, 0xe, 0xb4, 0xfe, 0xe, 0x1e, 0x1, 0x12, 0xfe, 0xd0, 0x1, 0xf2, 0xc2, 0xfe, 0xee, 0x2, 0x88, 0x1, 0xf2, 0x1e, 0xfe, 0xee, 0x2, 0x4e, 0xfe, 0xe0, 0xd0, 0x7b, 0x7b, 0xd0, 0x1, 0x20, 0x1, 0x3a, 0x1, 0x20, 0xd0, 0x7b, 0x7b, 0xd0, 0xfe, 0xe0, 0xfd, 0x16, 0x1e, 0x1, 0x12, 0xc3, 0xfe, 0xd, 0x1, 0xf3, 0xc3, 0xfe, 0xee, 0x2, 0x89, 0x1, 0xf3, 0x1e, 0xfe, 0xee, 0x1, 0x30, 0xfe, 0xd, 0xc3, 0x1, 0x12, 0x0, 0x0, 0x1, 0x0, 0xc8, 0x0, 0x0, 0x1, 0x7c, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x0, 0x13, 0x33, 0x11, 0x23, 0xc8, 0xb4, 0xb4, 0x5, 0xd5, 0xfa, 0x2b, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc8, 0xff, 0xe3, 0x4, 0x83, 0x5, 0xf3, 0x0, 0xa, 0x0, 0x0, 0x21, 0x23, 0x11, 0x33, 0x11, 0x1, 0x17, 0x9, 0x1, 0x7, 0x1, 0x1, 0x7c, 0xb4, 0xb4, 0x2, 0x88, 0x78, 0xfd, 0x2e, 0x2, 0xd9, 0x78, 0xfd, 0x71, 0x5, 0xd5, 0xfd, 0xe1, 0x2, 0x3d, 0x86, 0xfd, 0x81, 0xfd, 0x7b, 0x86, 0x2, 0x43, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc8, 0x0, 0x0, 0x3, 0xfb, 0x5, 0xd5, 0x0, 0x6, 0x0, 0x0, 0x9, 0x1, 0x17, 0x1, 0x23, 0x11, 0x33, 0x1, 0x7c, 0x1, 0xff, 0x80, 0xfd, 0x4d, 0x80, 0xb4, 0x1, 0x33, 0x2, 0x0, 0x80, 0xfd, 0x4d, 0x5, 0xd5, 0x0, 0x0, 0x1, 0x0, 0xc8, 0x0, 0x0, 0xa, 0xd4, 0x5, 0xf3, 0x0, 0xc, 0x0, 0x0, 0x13, 0x33, 0x9, 0x3, 0x17, 0x9, 0x3, 0x11, 0x23, 0xc8, 0x74, 0x2, 0x83, 0x2, 0x38, 0x2, 0x2f, 0x2, 0x2e, 0x80, 0xfd, 0x52, 0xfd, 0xd2, 0xfd, 0xd1, 0xfd, 0xb3, 0xb4, 0x5, 0xd5, 0xfd, 0xe5, 0x2, 0x39, 0xfd, 0xd1, 0x2, 0x2f, 0x80, 0xfd, 0x53, 0x2, 0x2e, 0xfd, 0xd2, 0x1, 0xee, 0xfb, 0x4c, 0x0, 0x1, 0x0, 0xc8, 0x0, 0x0, 0x6, 0x77, 0x5, 0xf3, 0x0, 0x8, 0x0, 0x0, 0x13, 0x33, 0x9, 0x1, 0x17, 0x9, 0x1, 0x11, 0x23, 0xc8, 0x74, 0x2, 0x83, 0x2, 0x38, 0x80, 0xfd, 0x52, 0xfd, 0xb3, 0xb4, 0x5, 0xd5, 0xfd, 0xe5, 0x2, 0x39, 0x80, 0xfd, 0x53, 0x1, 0xee, 0xfb, 0x4c, 0x0, 0x5, 0x0, 0xc8, 0x0, 0x0, 0x6, 0x9c, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x13, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x1, 0x21, 0x11, 0x21, 0x1, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x13, 0x11, 0x21, 0x11, 0x1, 0x7c, 0x1, 0xdc, 0xfd, 0x70, 0x5, 0xd4, 0xfa, 0x2c, 0x3, 0x44, 0x1, 0xdc, 0xfb, 0x94, 0x1, 0xdc, 0xb4, 0x1, 0xdc, 0x2, 0x90, 0xfe, 0x24, 0x1, 0xdc, 0x3, 0x45, 0xfa, 0x2b, 0x5, 0x21, 0xfe, 0x24, 0x1, 0xdc, 0xfe, 0x24, 0x1, 0xdc, 0xfd, 0x6f, 0xfe, 0x24, 0x1, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x96, 0xff, 0xe3, 0x6, 0xa4, 0x5, 0xf3, 0x0, 0xf, 0x0, 0x1f, 0x0, 0x27, 0x0, 0x0, 0x0, 0x36, 0x34, 0x2e, 0x2, 0x22, 0xe, 0x2, 0x14, 0x1e, 0x2, 0x32, 0x36, 0x0, 0x2, 0x6, 0x4, 0x20, 0x24, 0x26, 0x2, 0x10, 0x12, 0x36, 0x24, 0x20, 0x4, 0x16, 0x12, 0x4, 0x6, 0x22, 0x26, 0x34, 0x36, 0x32, 0x16, 0x5, 0x92, 0x5e, 0x5e, 0x9f, 0xde, 0xf0, 0xde, 0x9f, 0x5e, 0x5e, 0x9f, 0xde, 0xf0, 0xde, 0x1, 0xb1, 0x7a, 0xd0, 0xfe, 0xe0, 0xfe, 0xc6, 0xfe, 0xe0, 0xd0, 0x7a, 0x7a, 0xd0, 0x1, 0x20, 0x1, 0x3a, 0x1, 0x20, 0xd0, 0x7a, 0xfd, 0x85, 0x52, 0x74, 0x52, 0x52, 0x74, 0x52, 0x1, 0x94, 0xdf, 0xf0, 0xdf, 0x9e, 0x5f, 0x5f, 0x9e, 0xdf, 0xf0, 0xdf, 0x9e, 0x5f, 0x5f, 0x1, 0x58, 0xfe, 0xe0, 0xd0, 0x7b, 0x7b, 0xd0, 0x1, 0x20, 0x1, 0x3a, 0x1, 0x20, 0xd0, 0x7b, 0x7b, 0xd0, 0xfe, 0xe0, 0xd7, 0x52, 0x52, 0x74, 0x52, 0x52, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc8, 0x0, 0x0, 0x4, 0xe7, 0x5, 0xe8, 0x0, 0x11, 0x0, 0x0, 0x1, 0x24, 0x35, 0x34, 0x24, 0x21, 0x22, 0x7, 0x11, 0x23, 0x11, 0x36, 0x33, 0x20, 0x0, 0x11, 0x10, 0x5, 0x3, 0x28, 0x1, 0xb, 0xfe, 0xd3, 0xfe, 0xe2, 0x35, 0x37, 0xb4, 0xa2, 0x7e, 0x1, 0x62, 0x1, 0x9d, 0xfe, 0x81, 0x2, 0x59, 0x66, 0xd4, 0xb6, 0xf9, 0x6, 0xfa, 0xc4, 0x5, 0xd4, 0x14, 0xfe, 0xbf, 0xfe, 0xec, 0xfe, 0xb0, 0x92, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc8, 0x0, 0x0, 0x6, 0x2a, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x0, 0x33, 0x11, 0x33, 0x9, 0x1, 0x33, 0x11, 0x23, 0x11, 0x9, 0x1, 0x11, 0xc8, 0xb4, 0x1, 0xfd, 0x1, 0xfd, 0xb4, 0xb4, 0xfe, 0x3, 0xfe, 0x3, 0x5, 0xd5, 0xfd, 0xa2, 0x2, 0x5e, 0xfa, 0x2b, 0x4, 0xbd, 0xfd, 0xa1, 0x2, 0x5f, 0xfb, 0x43, 0x0, 0x0, 0x0, 0x2, 0x0, 0x96, 0x0, 0x0, 0x4, 0x1a, 0x5, 0xf2, 0x0, 0xb, 0x0, 0x1d, 0x0, 0x0, 0x0, 0x34, 0x2e, 0x1, 0x22, 0xe, 0x1, 0x14, 0x1e, 0x1, 0x32, 0x3e, 0x1, 0x6, 0x7, 0x6, 0x7, 0x11, 0x23, 0x11, 0x26, 0x27, 0x2e, 0x1, 0x34, 0x3e, 0x1, 0x32, 0x1e, 0x1, 0x3, 0x66, 0x48, 0x7d, 0x92, 0x7d, 0x48, 0x48, 0x7d, 0x92, 0x7d, 0xfc, 0x7a, 0x66, 0x40, 0x48, 0xb4, 0x47, 0x41, 0x68, 0x78, 0x79, 0xcf, 0xf4, 0xcf, 0x79, 0x3, 0xe7, 0x93, 0x7c, 0x48, 0x48, 0x7c, 0x93, 0x7d, 0x48, 0x48, 0x4c, 0xd1, 0x3b, 0x25, 0xe, 0xfd, 0x89, 0x2, 0x77, 0xe, 0x25, 0x3c, 0xd0, 0xf4, 0xcf, 0x79, 0x79, 0xcf, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc8, 0x0, 0x0, 0x4, 0x44, 0x5, 0xe9, 0x0, 0xc, 0x0, 0x17, 0x0, 0x0, 0x8, 0x1, 0x15, 0x14, 0x2, 0x7, 0x6, 0x23, 0x11, 0x23, 0x11, 0x36, 0x33, 0x3, 0x20, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x2, 0xd8, 0x1, 0x6c, 0xc8, 0xff, 0x76, 0x8b, 0xb4, 0xa2, 0x7e, 0x6c, 0x1, 0x9, 0x85, 0x86, 0x8b, 0x72, 0xbe, 0x2b, 0x2e, 0x5, 0xe9, 0xfe, 0xe5, 0xfc, 0x8d, 0xfe, 0xd1, 0x4e, 0x24, 0xfe, 0x5c, 0x5, 0xd5, 0x14, 0xfc, 0x6f, 0x73, 0x72, 0x96, 0x9e, 0x6c, 0x58, 0x4, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x96, 0xff, 0xf2, 0x2, 0xf2, 0x5, 0xea, 0x0, 0x9, 0x0, 0x0, 0x9, 0x3, 0x7, 0x9, 0x3, 0x17, 0x1, 0x94, 0x1, 0x5e, 0xfe, 0xa2, 0x1, 0x1f, 0x80, 0xfe, 0x63, 0x1, 0x5e, 0xfe, 0xa2, 0x1, 0x9d, 0x80, 0x4, 0x4c, 0xfe, 0xa2, 0xfe, 0xa2, 0xfe, 0xe2, 0x80, 0x1, 0x9e, 0x1, 0x5e, 0x1, 0x5e, 0x1, 0x9e, 0x80, 0x0, 0x1, 0x0, 0x64, 0x0, 0x0, 0x4, 0xfc, 0x5, 0xf2, 0x0, 0x7, 0x0, 0x0, 0x1, 0x7, 0x25, 0x11, 0x23, 0x11, 0x25, 0x37, 0x4, 0xfc, 0x38, 0xfe, 0x32, 0xb4, 0xfe, 0x22, 0x38, 0x4, 0x8a, 0xac, 0x95, 0xfb, 0x8d, 0x4, 0xad, 0x99, 0xac, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc8, 0x0, 0x0, 0x4, 0xb4, 0x5, 0xea, 0x0, 0x7, 0x0, 0x0, 0x1, 0x17, 0x1, 0x11, 0x23, 0x11, 0x33, 0x11, 0x4, 0x34, 0x80, 0xfc, 0xc8, 0xb4, 0xb4, 0x5, 0xea, 0x80, 0xfc, 0xc9, 0xfd, 0xcd, 0x5, 0xd5, 0xfd, 0x5c, 0x0, 0x1, 0x0, 0x96, 0xff, 0xe3, 0x4, 0xe7, 0x5, 0xf2, 0x0, 0xb, 0x0, 0x0, 0x9, 0x1, 0x37, 0x9, 0x1, 0x17, 0x9, 0x1, 0x7, 0x9, 0x1, 0x27, 0x2, 0x51, 0xfe, 0x45, 0x96, 0x1, 0x92, 0x1, 0x93, 0x96, 0xfe, 0x45, 0x1, 0xbb, 0x96, 0xfe, 0x6d, 0xfe, 0x6e, 0x96, 0x2, 0xed, 0x2, 0xa3, 0x62, 0xfd, 0xa1, 0x2, 0x5f, 0x62, 0xfd, 0x5d, 0xfd, 0x58, 0x62, 0x2, 0x64, 0xfd, 0x9c, 0x62, 0x0, 0x0, 0x0, 0x3, 0x0, 0x96, 0x0, 0x0, 0x4, 0xe2, 0x5, 0xd5, 0x0, 0x13, 0x0, 0x1b, 0x0, 0x24, 0x0, 0x0, 0x21, 0x23, 0x35, 0x26, 0x27, 0x26, 0x10, 0x37, 0x36, 0x37, 0x35, 0x33, 0x15, 0x16, 0x17, 0x16, 0x10, 0x7, 0x6, 0x7, 0x19, 0x1, 0x36, 0x37, 0x36, 0x10, 0x27, 0x26, 0x1, 0x11, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x3, 0x16, 0xb4, 0xaa, 0x81, 0xa1, 0xa1, 0x80, 0xab, 0xb4, 0xaa, 0x81, 0xa1, 0xa1, 0x80, 0xab, 0x60, 0x4b, 0x6d, 0x6d, 0x4b, 0xfe, 0xec, 0x60, 0x4b, 0x6d, 0x6d, 0x4b, 0xcc, 0x1a, 0x80, 0xa1, 0x1, 0xc7, 0xa2, 0x80, 0x1a, 0xcb, 0xcb, 0x1a, 0x80, 0xa1, 0xfe, 0x39, 0xa2, 0x80, 0x1a, 0x3, 0x87, 0xfd, 0x30, 0x17, 0x4c, 0x6c, 0x1, 0x32, 0x6c, 0x4b, 0xfd, 0x48, 0x2, 0xd0, 0x17, 0x4c, 0x6e, 0x98, 0x96, 0x6e, 0x4c, 0x0, 0x1, 0x0, 0x64, 0x0, 0x0, 0x6, 0x16, 0x5, 0xf2, 0x0, 0xb, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x37, 0x1, 0x11, 0x33, 0x11, 0x1, 0x17, 0x1, 0x3, 0x97, 0xb4, 0xfd, 0x81, 0x80, 0x1, 0xff, 0xb4, 0x1, 0xff, 0x80, 0xfd, 0x81, 0x2, 0xf4, 0x2, 0x7e, 0x80, 0xfe, 0x0, 0x1, 0xe3, 0xfe, 0x1d, 0x2, 0x0, 0x80, 0xfd, 0x82, 0x0, 0x3, 0x0, 0x96, 0xff, 0xf1, 0x3, 0xa2, 0x5, 0xb9, 0x0, 0x7, 0x0, 0x1d, 0x0, 0x25, 0x0, 0x0, 0x0, 0x34, 0x26, 0x22, 0x6, 0x14, 0x16, 0x32, 0x24, 0x6, 0x20, 0x26, 0x10, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x10, 0x36, 0x20, 0x16, 0x10, 0x7, 0x6, 0x7, 0x16, 0x17, 0x16, 0x2, 0x34, 0x26, 0x22, 0x6, 0x14, 0x16, 0x32, 0x2, 0xee, 0x7b, 0xae, 0x7b, 0x7b, 0xae, 0x1, 0x2f, 0xe5, 0xfe, 0xbe, 0xe5, 0x72, 0x2f, 0x37, 0x37, 0x2f, 0x72, 0xe5, 0x1, 0x42, 0xe5, 0x72, 0x2f, 0x37, 0x37, 0x2f, 0x72, 0xb4, 0x7b, 0xae, 0x7b, 0x7b, 0xae, 0x1, 0x20, 0xae, 0x7b, 0x7b, 0xae, 0x7b, 0x31, 0xe5, 0xe5, 0x1, 0x42, 0x73, 0x2f, 0x1b, 0x1c, 0x2e, 0x72, 0x1, 0x43, 0xe5, 0xe5, 0xfe, 0xbe, 0x73, 0x2f, 0x1b, 0x1c, 0x2e, 0x72, 0x1, 0xc3, 0xae, 0x7b, 0x7b, 0xae, 0x7b, 0x0, 0x2, 0x0, 0xc8, 0x0, 0x0, 0x3, 0xe0, 0x5, 0xe8, 0x0, 0xa, 0x0, 0x13, 0x0, 0x0, 0x33, 0x11, 0x36, 0x33, 0x32, 0x4, 0x15, 0x14, 0x4, 0x21, 0x19, 0x1, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0xc8, 0x84, 0x81, 0xf3, 0x1, 0x20, 0xfe, 0xa9, 0xfe, 0xf3, 0xca, 0xe6, 0xb4, 0xa2, 0x2a, 0x30, 0x5, 0xd5, 0x13, 0xe6, 0xbd, 0xd0, 0xdc, 0xfd, 0x67, 0x3, 0x4e, 0x7f, 0x76, 0x63, 0x9c, 0x6, 0x0, 0x2, 0x0, 0xc8, 0xff, 0xed, 0x3, 0xe0, 0x5, 0xd5, 0x0, 0xa, 0x0, 0x14, 0x0, 0x0, 0x13, 0x33, 0x11, 0x20, 0x4, 0x15, 0x14, 0x4, 0x23, 0x22, 0x27, 0x13, 0x30, 0x11, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0xc8, 0xb4, 0x1, 0xd, 0x1, 0x57, 0xfe, 0xe0, 0xf3, 0x81, 0x84, 0xb4, 0x30, 0x2a, 0xa2, 0xb4, 0xe6, 0x5, 0xd5, 0xfd, 0x67, 0xdc, 0xd0, 0xbd, 0xe6, 0x13, 0x2, 0x87, 0xfe, 0x12, 0x6, 0x9c, 0x63, 0x76, 0x7f, 0x0, 0x1, 0x0, 0x64, 0x0, 0x0, 0x2, 0xbc, 0x5, 0xd5, 0x0, 0x7, 0x0, 0x0, 0x13, 0x35, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x64, 0x1, 0xa4, 0xb4, 0xb4, 0x2, 0x91, 0xb4, 0x2, 0x90, 0xfa, 0x2b, 0x2, 0x91, 0x0, 0x2, 0x0, 0x64, 0x0, 0x0, 0x5, 0xaa, 0x5, 0xf2, 0x0, 0x6, 0x0, 0xe, 0x0, 0x0, 0x9, 0x1, 0x23, 0x1, 0x37, 0x9, 0x1, 0x0, 0x6, 0x22, 0x26, 0x34, 0x36, 0x32, 0x16, 0x5, 0xaa, 0xfd, 0xd0, 0xe6, 0xfd, 0xd0, 0xa8, 0x1, 0xfb, 0x1, 0xfb, 0xfe, 0x91, 0x52, 0x74, 0x52, 0x52, 0x74, 0x52, 0x5, 0xb2, 0xfa, 0x4e, 0x5, 0xb2, 0x40, 0xfa, 0xda, 0x5, 0x26, 0xfd, 0xd8, 0x52, 0x52, 0x74, 0x52, 0x52, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc8, 0x0, 0x0, 0x1, 0x7c, 0x5, 0xd5, 0x12, 0x6, 0x14, 0xf0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0xff, 0xe3, 0x5, 0xaa, 0x5, 0xd5, 0x0, 0x6, 0x0, 0x0, 0x37, 0x1, 0x33, 0x1, 0x7, 0x9, 0x1, 0x64, 0x2, 0x30, 0xe6, 0x2, 0x30, 0xa8, 0xfe, 0x5, 0xfe, 0x5, 0x23, 0x5, 0xb2, 0xfa, 0x4e, 0x40, 0x5, 0x26, 0xfa, 0xda, 0x0, 0x0, 0xff, 0xff, 0x0, 0x96, 0xff, 0xe3, 0x4, 0xe7, 0x5, 0xf2, 0x12, 0x6, 0x14, 0xfe, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0x0, 0x0, 0x6, 0x27, 0x5, 0xf3, 0x0, 0x8, 0x0, 0x0, 0x13, 0x9, 0x1, 0x7, 0x1, 0x11, 0x23, 0x11, 0x1, 0x64, 0x2, 0xc8, 0x2, 0xfb, 0x7a, 0xfd, 0xdb, 0xb4, 0xfe, 0x10, 0x3, 0x2c, 0x2, 0xc7, 0xfd, 0x3b, 0x84, 0x1, 0xfe, 0xfb, 0x58, 0x4, 0x9d, 0xfe, 0xf, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xaa, 0x1, 0xe0, 0x6, 0x82, 0x2, 0xa8, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x0, 0x1, 0x21, 0x35, 0x21, 0x5, 0x35, 0x21, 0x15, 0x29, 0x1, 0x35, 0x21, 0x1, 0xfd, 0xfe, 0xad, 0x1, 0x53, 0x3, 0x32, 0x1, 0x53, 0xfd, 0xbd, 0xfe, 0xae, 0x1, 0x52, 0x1, 0xe0, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x1, 0x37, 0x6, 0x82, 0x4, 0xe, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0xff, 0x58, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x3, 0x46, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x1, 0x3a, 0x6, 0x82, 0x4, 0xa, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x1, 0x62, 0x10, 0x7, 0xf, 0x5c, 0x0, 0x0, 0x1, 0x3a, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x1, 0x3d, 0x6, 0x82, 0x4, 0xb, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0xff, 0x5d, 0x10, 0x7, 0xf, 0x5c, 0x0, 0x0, 0x3, 0x43, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x1, 0x3b, 0x6, 0x82, 0x4, 0xa, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x1, 0x3c, 0x10, 0x7, 0x15, 0xa, 0x0, 0x0, 0x1, 0x62, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x1, 0x3d, 0x6, 0x82, 0x4, 0xa, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0xff, 0x5d, 0x10, 0x7, 0x15, 0xa, 0x0, 0x0, 0x1, 0x62, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x4, 0x80, 0x10, 0x26, 0xf, 0x5c, 0x0, 0x0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x1, 0x80, 0x10, 0x7, 0xf, 0x5c, 0x0, 0x0, 0x3, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x4, 0x80, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x1, 0x80, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x3, 0x0, 0x10, 0x6, 0xf, 0x5d, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0xfe, 0x20, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x4, 0x80, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x1, 0x80, 0x10, 0x7, 0xf, 0x5c, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x4, 0x80, 0x10, 0x26, 0xf, 0x5c, 0x0, 0x0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x3, 0x0, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x1, 0x80, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x1, 0x80, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x4, 0x80, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x3, 0x0, 0x10, 0x6, 0xf, 0x5d, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x1, 0x80, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x3, 0x0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x4, 0x80, 0x10, 0x7, 0x15, 0xa, 0x0, 0x0, 0xfe, 0x20, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x26, 0xf, 0x5c, 0x0, 0x0, 0x10, 0x26, 0x15, 0xa, 0x0, 0xa0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x4, 0x80, 0x10, 0x7, 0xf, 0x5c, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x26, 0xf, 0x5d, 0x0, 0x0, 0x10, 0x26, 0x15, 0xa, 0x0, 0xa0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x4, 0x80, 0x10, 0x7, 0xf, 0x5c, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0xfe, 0x20, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x3, 0x0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x4, 0x80, 0x10, 0x6, 0x15, 0xa, 0x0, 0xa0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x3, 0x0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x1, 0x80, 0x10, 0x26, 0xf, 0x5c, 0x0, 0x0, 0x10, 0x7, 0xf, 0x5c, 0x0, 0x0, 0x4, 0x80, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x3, 0x0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x4, 0x80, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x1, 0x80, 0x10, 0x6, 0xf, 0x5d, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0xfe, 0x20, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x1, 0x80, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x4, 0x80, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x26, 0xf, 0x5c, 0x0, 0x0, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x1, 0x80, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x3, 0x0, 0x10, 0x7, 0xf, 0x5c, 0x0, 0x0, 0x4, 0x80, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x26, 0xf, 0x5d, 0x0, 0x0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x4, 0x80, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x3, 0x0, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x1, 0x80, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0xfe, 0x20, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x1, 0x80, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x3, 0x0, 0x10, 0x7, 0xf, 0x5c, 0x0, 0x0, 0x4, 0x80, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x26, 0x15, 0xa, 0x0, 0xa0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x4, 0x80, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x3, 0x0, 0x10, 0x6, 0xf, 0x5c, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x26, 0x15, 0xa, 0x0, 0xa0, 0x10, 0x26, 0xf, 0x5d, 0x0, 0x0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x4, 0x80, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x26, 0x15, 0xa, 0x0, 0xa0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x4, 0x80, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x3, 0x0, 0x10, 0x7, 0x15, 0xa, 0x0, 0x0, 0xfe, 0x20, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x1, 0x20, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x1, 0x80, 0x10, 0x26, 0xf, 0x5c, 0x0, 0x0, 0x10, 0x7, 0xf, 0x5c, 0x0, 0x0, 0x4, 0x80, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x26, 0xf, 0x5d, 0x0, 0x0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x4, 0x80, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x1, 0x80, 0x10, 0x7, 0x15, 0xa, 0x0, 0x0, 0x1, 0x20, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0xfe, 0x20, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x1, 0x20, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x1, 0x80, 0x10, 0x7, 0xf, 0x5c, 0x0, 0x0, 0x4, 0x80, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x1, 0x80, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x4, 0x80, 0x10, 0x26, 0xf, 0x5c, 0x0, 0x0, 0x10, 0x7, 0x15, 0xa, 0x0, 0x0, 0x1, 0x20, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x1, 0x20, 0x10, 0x26, 0xf, 0x5d, 0x0, 0x0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x4, 0x80, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x1, 0x80, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x1, 0x20, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0xfe, 0x20, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x4, 0x80, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x1, 0x80, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x1, 0x20, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x4, 0x80, 0x10, 0x26, 0x15, 0xa, 0x0, 0xa0, 0x10, 0x6, 0xf, 0x5c, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x1, 0x20, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x4, 0x80, 0x10, 0x26, 0x15, 0xa, 0x0, 0xa0, 0x10, 0x6, 0xf, 0x5d, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x1, 0x20, 0x10, 0x26, 0x15, 0xa, 0x0, 0xa0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x4, 0x80, 0x10, 0x7, 0x15, 0xa, 0x0, 0x0, 0xfe, 0x20, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x4, 0x80, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x3, 0x0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x1, 0x80, 0x10, 0x6, 0xf, 0x5c, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x4, 0x80, 0x10, 0x26, 0xf, 0x5d, 0x0, 0x0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x3, 0x0, 0x10, 0x7, 0xf, 0x5c, 0x0, 0x0, 0x1, 0x80, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x4, 0x80, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x3, 0x0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x1, 0x80, 0x10, 0x7, 0x15, 0xa, 0x0, 0x0, 0xfe, 0x20, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x4, 0x80, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x1, 0x80, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x3, 0x0, 0x10, 0x6, 0xf, 0x5c, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x4, 0x80, 0x10, 0x26, 0xf, 0x5d, 0x0, 0x0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x3, 0x0, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x1, 0x80, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x4, 0x80, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0xfe, 0x20, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x3, 0x0, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x1, 0x80, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x4, 0x80, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x3, 0x0, 0x10, 0x26, 0x15, 0xa, 0x0, 0xa0, 0x10, 0x6, 0xf, 0x5c, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x4, 0x80, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x3, 0x0, 0x10, 0x26, 0x15, 0xa, 0x0, 0xa0, 0x10, 0x6, 0xf, 0x5d, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x4, 0x80, 0x10, 0x26, 0x15, 0xa, 0x0, 0xa0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x3, 0x0, 0x10, 0x7, 0x15, 0xa, 0x0, 0x0, 0xfe, 0x20, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x4, 0x80, 0x10, 0x26, 0xf, 0x5c, 0x0, 0x0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x1, 0x80, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x3, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x4, 0x80, 0x10, 0x26, 0xf, 0x5d, 0x0, 0x0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x1, 0x80, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x3, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x4, 0x80, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x3, 0x0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x1, 0x80, 0x10, 0x7, 0x15, 0xa, 0x0, 0x0, 0xfe, 0x20, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x4, 0x80, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x3, 0x0, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x1, 0x80, 0x10, 0x6, 0xf, 0x5c, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x4, 0x80, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x1, 0x80, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x3, 0x0, 0x10, 0x6, 0xf, 0x5d, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x4, 0x80, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x3, 0x0, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x1, 0x80, 0x10, 0x7, 0x15, 0xa, 0x0, 0x0, 0xfe, 0x20, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x4, 0x80, 0x10, 0x26, 0xf, 0x5c, 0x0, 0x0, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x3, 0x0, 0x10, 0x6, 0x15, 0xa, 0x0, 0xa0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x4, 0x80, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x3, 0x0, 0x10, 0x26, 0xf, 0x5d, 0x0, 0x0, 0x10, 0x6, 0x15, 0xa, 0x0, 0xa0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x4, 0x80, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0xfe, 0x20, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x3, 0x0, 0x10, 0x6, 0x15, 0xa, 0x0, 0xa0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x4, 0x80, 0x10, 0x26, 0xf, 0x5c, 0x0, 0x0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x1, 0x80, 0x10, 0x7, 0x15, 0xa, 0x0, 0x0, 0x1, 0x20, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x4, 0x80, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x1, 0x20, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x1, 0x80, 0x10, 0x6, 0xf, 0x5d, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x4, 0x80, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x1, 0x80, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x1, 0x20, 0x10, 0x7, 0x15, 0xa, 0x0, 0x0, 0xfe, 0x20, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x4, 0x80, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x1, 0x20, 0x10, 0x26, 0xf, 0x5c, 0x0, 0x0, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x1, 0x80, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x4, 0x80, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x1, 0x80, 0x10, 0x26, 0xf, 0x5d, 0x0, 0x0, 0x10, 0x7, 0x15, 0xa, 0x0, 0x0, 0x1, 0x20, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x4, 0x80, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x1, 0x80, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0xfe, 0x20, 0x10, 0x7, 0x15, 0xa, 0x0, 0x0, 0x1, 0x20, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x4, 0x80, 0x10, 0x26, 0xf, 0x5c, 0x0, 0x0, 0x10, 0x26, 0x15, 0xa, 0x0, 0xa0, 0x10, 0x7, 0x15, 0xa, 0x0, 0x0, 0x1, 0x20, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x4, 0x80, 0x10, 0x26, 0xf, 0x5d, 0x0, 0x0, 0x10, 0x26, 0x15, 0xa, 0x0, 0xa0, 0x10, 0x7, 0x15, 0xa, 0x0, 0x0, 0x1, 0x20, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x4, 0x80, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0xfe, 0x20, 0x10, 0x26, 0x15, 0xa, 0x0, 0xa0, 0x10, 0x7, 0x15, 0xa, 0x0, 0x0, 0x1, 0x20, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x2, 0xa0, 0x10, 0x26, 0xf, 0x5c, 0x0, 0x0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x1, 0x80, 0x10, 0x7, 0xf, 0x5c, 0x0, 0x0, 0x3, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x2, 0xa0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x1, 0x80, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x3, 0x0, 0x10, 0x6, 0xf, 0x5d, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x2, 0xa0, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0xfe, 0x20, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x1, 0x80, 0x10, 0x7, 0xf, 0x5c, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x2, 0xa0, 0x10, 0x26, 0xf, 0x5c, 0x0, 0x0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x3, 0x0, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x1, 0x80, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x2, 0xa0, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x1, 0x80, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x3, 0x0, 0x10, 0x6, 0xf, 0x5d, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x2, 0xa0, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x1, 0x80, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x3, 0x0, 0x10, 0x7, 0x15, 0xa, 0x0, 0x0, 0xfe, 0x20, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x2, 0xa0, 0x10, 0x26, 0xf, 0x5c, 0x0, 0x0, 0x10, 0x26, 0x15, 0xa, 0x0, 0xa0, 0x10, 0x7, 0xf, 0x5c, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x2, 0xa0, 0x10, 0x26, 0xf, 0x5d, 0x0, 0x0, 0x10, 0x26, 0x15, 0xa, 0x0, 0xa0, 0x10, 0x7, 0xf, 0x5c, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x2, 0xa0, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0xfe, 0x20, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x3, 0x0, 0x10, 0x6, 0x15, 0xa, 0x0, 0xa0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x2, 0xa0, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x3, 0x0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x1, 0x80, 0x10, 0x6, 0xf, 0x5c, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x2, 0xa0, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x3, 0x0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x1, 0x80, 0x10, 0x6, 0xf, 0x5d, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x2, 0xa0, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0xfe, 0x20, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x1, 0x80, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x2, 0xa0, 0x10, 0x26, 0xf, 0x5c, 0x0, 0x0, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x1, 0x80, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x3, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x2, 0xa0, 0x10, 0x26, 0xf, 0x5d, 0x0, 0x0, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x3, 0x0, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x1, 0x80, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x2, 0xa0, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0xfe, 0x20, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x1, 0x80, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x2, 0xa0, 0x10, 0x26, 0x15, 0xa, 0x0, 0xa0, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x3, 0x0, 0x10, 0x6, 0xf, 0x5c, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x2, 0xa0, 0x10, 0x26, 0x15, 0xa, 0x0, 0xa0, 0x10, 0x26, 0xf, 0x5d, 0x0, 0x0, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x2, 0xa0, 0x10, 0x26, 0x15, 0xa, 0x0, 0xa0, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x3, 0x0, 0x10, 0x7, 0x15, 0xa, 0x0, 0x0, 0xfe, 0x20, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x2, 0xa0, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x1, 0x20, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x1, 0x80, 0x10, 0x6, 0xf, 0x5c, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x2, 0xa0, 0x10, 0x26, 0xf, 0x5d, 0x0, 0x0, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x1, 0x80, 0x10, 0x7, 0x15, 0xa, 0x0, 0x0, 0x1, 0x20, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x2, 0xa0, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0xfe, 0x20, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x1, 0x20, 0x10, 0x7, 0xf, 0x5c, 0x0, 0x0, 0x1, 0x80, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x2, 0xa0, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x1, 0x80, 0x10, 0x26, 0xf, 0x5c, 0x0, 0x0, 0x10, 0x7, 0x15, 0xa, 0x0, 0x0, 0x1, 0x20, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x2, 0xa0, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x1, 0x20, 0x10, 0x26, 0xf, 0x5d, 0x0, 0x0, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x1, 0x80, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x2, 0xa0, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x1, 0x20, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0xfe, 0x20, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x1, 0x80, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x2, 0xa0, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x1, 0x20, 0x10, 0x26, 0x15, 0xa, 0x0, 0xa0, 0x10, 0x6, 0xf, 0x5c, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x2, 0xa0, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x1, 0x20, 0x10, 0x26, 0x15, 0xa, 0x0, 0xa0, 0x10, 0x6, 0xf, 0x5d, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x0, 0x0, 0x6, 0x82, 0x5, 0x48, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x2, 0xa0, 0x10, 0x27, 0x15, 0xa, 0x0, 0x0, 0x1, 0x20, 0x10, 0x26, 0x15, 0xa, 0x0, 0xa0, 0x10, 0x7, 0x15, 0xa, 0x0, 0x0, 0xfe, 0x20, 0x0, 0x3, 0x0, 0x10, 0x0, 0x0, 0x5, 0xdc, 0x5, 0xd5, 0x0, 0x3, 0x0, 0xb, 0x0, 0xe, 0x0, 0x0, 0x1, 0x23, 0x1, 0x33, 0x9, 0x1, 0x21, 0x3, 0x21, 0x3, 0x23, 0x1, 0x17, 0x1, 0x21, 0x3, 0x5d, 0xcd, 0x1, 0xee, 0xcd, 0xfe, 0x57, 0x2, 0x3a, 0xfe, 0x5c, 0x98, 0xfd, 0x80, 0x99, 0x77, 0x2, 0x39, 0x18, 0xfe, 0xe3, 0x2, 0x38, 0x5, 0x71, 0xfa, 0xf3, 0x5, 0x71, 0xfa, 0x2b, 0x1, 0xa1, 0xfe, 0x5f, 0x5, 0xd5, 0xc7, 0xfc, 0xf7, 0x0, 0x0, 0x0, 0x6, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x4e, 0x5, 0xd5, 0x0, 0xc, 0x0, 0x14, 0x0, 0x1c, 0x0, 0x20, 0x0, 0x25, 0x0, 0x2a, 0x0, 0x0, 0x13, 0x21, 0x32, 0x16, 0x15, 0x14, 0x7, 0x16, 0x11, 0x14, 0x4, 0x23, 0x21, 0x1, 0x11, 0x33, 0x32, 0x37, 0x11, 0x26, 0x23, 0x3, 0x11, 0x33, 0x36, 0x33, 0x11, 0x26, 0x23, 0x21, 0x11, 0x33, 0x11, 0x1, 0x36, 0x35, 0x34, 0x2f, 0x1, 0x36, 0x35, 0x34, 0x27, 0xc9, 0x2, 0x66, 0xe7, 0xfa, 0xc0, 0xfe, 0xfe, 0xf0, 0xfb, 0xfd, 0x86, 0x1, 0x90, 0xea, 0x3b, 0x33, 0x33, 0x3b, 0xea, 0xd6, 0x24, 0x20, 0x20, 0x24, 0xfd, 0xfe, 0xca, 0x2, 0x23, 0xd0, 0xd0, 0x3e, 0xd0, 0xd0, 0x5, 0xd5, 0xc0, 0xb1, 0xe5, 0x5d, 0x61, 0xfe, 0xe1, 0xc8, 0xda, 0x2, 0xe9, 0xfd, 0x7b, 0x7, 0x2, 0x77, 0x7, 0x2, 0x88, 0xfd, 0xdc, 0x3, 0x2, 0x1f, 0x2, 0xfa, 0xf3, 0x5, 0xd, 0xfb, 0x11, 0x44, 0xdc, 0xe5, 0x44, 0x96, 0x36, 0xcd, 0xc4, 0x36, 0x0, 0x4, 0x0, 0xe8, 0x0, 0x0, 0x6, 0x33, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x10, 0x0, 0x14, 0x0, 0x19, 0x0, 0x0, 0x13, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x29, 0x1, 0x1, 0x13, 0x33, 0x32, 0x37, 0x11, 0x26, 0x23, 0x21, 0x11, 0x33, 0x3, 0x1, 0x36, 0x11, 0x10, 0x27, 0xe8, 0x2, 0x3, 0x1, 0xb2, 0x1, 0x96, 0xfe, 0x68, 0xfe, 0x50, 0xfd, 0xfd, 0x1, 0x92, 0x1, 0x63, 0xf5, 0xa0, 0xa0, 0xf6, 0xfe, 0x70, 0xca, 0x1, 0x2, 0xc6, 0xdf, 0xdf, 0x5, 0xd5, 0xfe, 0x97, 0xfe, 0x80, 0xfe, 0x7e, 0xfe, 0x96, 0x5, 0x71, 0xfa, 0xf3, 0x41, 0x4, 0x8b, 0x41, 0xfa, 0xf3, 0x5, 0xd, 0xfb, 0x6b, 0x95, 0x1, 0x7b, 0x1, 0x71, 0x9c, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x53, 0x5, 0xd5, 0x0, 0x3, 0x0, 0xf, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x25, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x1, 0x2d, 0xca, 0xfe, 0xd2, 0x4, 0x78, 0xfd, 0x1a, 0x2, 0xc7, 0xfd, 0x39, 0x2, 0xf8, 0xfb, 0x76, 0x5, 0x71, 0xfa, 0xf3, 0x5, 0xd, 0x64, 0x64, 0xfd, 0xe4, 0x64, 0xfd, 0x73, 0x64, 0x0, 0x0, 0x2, 0x0, 0xc9, 0x0, 0x0, 0x4, 0xec, 0x5, 0xd5, 0x0, 0x9, 0x0, 0xd, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x1, 0x23, 0x11, 0x33, 0xc9, 0x4, 0x23, 0xfd, 0x6f, 0x2, 0x51, 0xfd, 0xaf, 0xfe, 0x6e, 0x1, 0x2e, 0xca, 0xca, 0x5, 0xd5, 0x64, 0xfd, 0xe4, 0x64, 0xfd, 0xf, 0x5, 0x71, 0xfa, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x8b, 0x5, 0xf0, 0x0, 0x1d, 0x0, 0x26, 0x0, 0x0, 0x1, 0x26, 0x24, 0x23, 0x22, 0x7, 0x11, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x11, 0x21, 0x35, 0x21, 0x11, 0x6, 0x4, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x32, 0x4, 0x17, 0x1, 0x11, 0x6, 0x7, 0x6, 0x11, 0x10, 0x17, 0x16, 0x5, 0x64, 0x7f, 0xfe, 0xfc, 0x85, 0xbb, 0x87, 0x87, 0xbb, 0x91, 0x7f, 0x65, 0x56, 0xfe, 0x52, 0x2, 0x12, 0x75, 0xfe, 0xe6, 0xa0, 0xfe, 0xa2, 0xfe, 0x75, 0x1, 0x8b, 0x1, 0x5e, 0x92, 0x1, 0x7, 0x6f, 0xfc, 0x52, 0x1c, 0x1a, 0xa9, 0xa9, 0x1a, 0x4, 0xe4, 0x61, 0x47, 0x40, 0xfb, 0x3b, 0x40, 0x26, 0x1f, 0x35, 0x1, 0xe7, 0x64, 0xfd, 0x7f, 0x53, 0x55, 0x1, 0x99, 0x1, 0x6d, 0x1, 0x6e, 0x1, 0x99, 0x48, 0x46, 0xfb, 0x63, 0x4, 0x49, 0x16, 0x1a, 0xaf, 0xfe, 0xba, 0xfe, 0xbb, 0xaf, 0x1a, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x66, 0x0, 0x0, 0x2, 0xbe, 0x5, 0xd5, 0x0, 0x3, 0x0, 0xf, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x25, 0x21, 0x15, 0x23, 0x11, 0x33, 0x15, 0x21, 0x35, 0x33, 0x11, 0x23, 0x1, 0x2e, 0xca, 0xfe, 0x6e, 0x2, 0x58, 0x64, 0x64, 0xfd, 0xa8, 0x64, 0x64, 0x5, 0x71, 0xfa, 0xf3, 0x5, 0xd, 0x64, 0x64, 0xfa, 0xf3, 0x64, 0x64, 0x5, 0xd, 0x0, 0x0, 0x2, 0xff, 0x96, 0xfe, 0x66, 0x2, 0x59, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x14, 0x0, 0x0, 0x1, 0x11, 0x14, 0x7, 0x36, 0x37, 0x36, 0x35, 0x11, 0x25, 0x21, 0x11, 0x10, 0x6, 0x23, 0x21, 0x35, 0x33, 0x32, 0x36, 0x35, 0x1, 0x2d, 0x56, 0x90, 0x3f, 0x4f, 0xfe, 0xd4, 0x1, 0x90, 0xcd, 0xe3, 0xfe, 0xed, 0x3f, 0x86, 0x6e, 0x5, 0x71, 0xfa, 0xb1, 0xf2, 0x64, 0xa, 0x4a, 0x5e, 0xea, 0x5, 0x9, 0x64, 0xfa, 0x93, 0xfe, 0xf2, 0xf4, 0x64, 0x96, 0xc2, 0x0, 0x0, 0x2, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x30, 0x5, 0xd5, 0x0, 0xa, 0x0, 0xe, 0x0, 0x0, 0x13, 0x21, 0x11, 0x1, 0x33, 0x9, 0x1, 0x23, 0x1, 0x11, 0x21, 0x13, 0x11, 0x33, 0x11, 0xc9, 0x1, 0x90, 0x3, 0x3, 0x9f, 0xfc, 0xa3, 0x3, 0x92, 0x99, 0xfc, 0xc2, 0xfe, 0x70, 0x64, 0xca, 0x5, 0xd5, 0xfd, 0x89, 0x2, 0x77, 0xfd, 0x40, 0xfc, 0xeb, 0x2, 0xcf, 0xfd, 0x31, 0x5, 0x71, 0xfa, 0xf3, 0x5, 0xd, 0x0, 0x2, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x32, 0x5, 0xd5, 0x0, 0x5, 0x0, 0x9, 0x0, 0x0, 0x13, 0x21, 0x11, 0x21, 0x15, 0x21, 0x13, 0x11, 0x33, 0x11, 0xc9, 0x1, 0x92, 0x2, 0xd7, 0xfb, 0x97, 0x64, 0xca, 0x5, 0xd5, 0xfa, 0x8f, 0x64, 0x5, 0x6f, 0xfa, 0xf3, 0x5, 0xd, 0x0, 0x0, 0x0, 0x3, 0x0, 0xc4, 0x0, 0x0, 0x7, 0x6f, 0x5, 0xd5, 0x0, 0xc, 0x0, 0x10, 0x0, 0x14, 0x0, 0x0, 0x21, 0x11, 0x1, 0x23, 0x1, 0x3, 0x21, 0x11, 0x21, 0x9, 0x1, 0x21, 0x11, 0x1, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x5, 0xdd, 0xfe, 0x5f, 0x47, 0xfe, 0x62, 0x1, 0xfe, 0x6e, 0x1, 0xd8, 0x1, 0x7d, 0x1, 0x7f, 0x1, 0xd7, 0xfe, 0xd2, 0xca, 0xfa, 0x1d, 0xca, 0x5, 0x71, 0xfb, 0xae, 0x4, 0x52, 0xfa, 0x8f, 0x5, 0xd5, 0xfc, 0x8, 0x3, 0xf8, 0xfa, 0x2b, 0x5, 0x71, 0xfa, 0xf3, 0x5, 0xd, 0xfa, 0xf3, 0x5, 0xd, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x72, 0xff, 0xe3, 0x5, 0xda, 0x5, 0xf0, 0x0, 0xf, 0x0, 0x17, 0x0, 0x1f, 0x0, 0x27, 0x0, 0x28, 0x0, 0x0, 0x1, 0x20, 0x17, 0x16, 0x11, 0x10, 0x7, 0x6, 0x21, 0x20, 0x27, 0x26, 0x11, 0x10, 0x37, 0x36, 0x13, 0x16, 0x20, 0x37, 0x11, 0x26, 0x20, 0x7, 0x3, 0x11, 0x6, 0x7, 0x6, 0x10, 0x17, 0x16, 0x1, 0x11, 0x36, 0x37, 0x36, 0x10, 0x27, 0x26, 0x1, 0x3, 0x26, 0x1, 0x3a, 0xbc, 0xbe, 0xbd, 0xbd, 0xfe, 0xc6, 0xfe, 0xc5, 0xbc, 0xbd, 0xbd, 0xbc, 0x47, 0x6c, 0x1, 0x10, 0x6c, 0x6c, 0xfe, 0xf0, 0x6c, 0x69, 0x24, 0x20, 0x9b, 0x9b, 0x20, 0x2, 0xde, 0x23, 0x1f, 0x9b, 0x9b, 0x1f, 0xfb, 0xcc, 0x5, 0xf0, 0xd2, 0xd5, 0xfe, 0xa0, 0xfe, 0xa1, 0xd4, 0xd3, 0xd3, 0xd2, 0x1, 0x61, 0x1, 0x62, 0xd3, 0xd2, 0xfa, 0x8e, 0x32, 0x32, 0x4, 0xd7, 0x32, 0x32, 0xfb, 0x6a, 0x4, 0x54, 0x1d, 0x25, 0xb6, 0xfd, 0x9c, 0xb5, 0x25, 0x4, 0x35, 0xfb, 0xaf, 0x1d, 0x24, 0xb6, 0x2, 0x63, 0xb6, 0x24, 0xfd, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x88, 0xff, 0xdc, 0x4, 0x9f, 0x5, 0xf6, 0x0, 0x11, 0x0, 0x2d, 0x0, 0x0, 0x1, 0x6, 0x10, 0x16, 0x1f, 0x1, 0x1e, 0x1, 0x10, 0x7, 0x36, 0x10, 0x26, 0x2f, 0x1, 0x2e, 0x1, 0x34, 0x25, 0x15, 0x26, 0x20, 0x6, 0x14, 0x16, 0x1f, 0x1, 0x1e, 0x1, 0x10, 0x4, 0x20, 0x25, 0x35, 0x16, 0x20, 0x36, 0x34, 0x26, 0x2f, 0x1, 0x2e, 0x1, 0x10, 0x24, 0x20, 0x1, 0x50, 0x64, 0x88, 0xac, 0x6f, 0xa9, 0xa8, 0x26, 0x81, 0x9c, 0xaa, 0x6e, 0xb0, 0x9e, 0x3, 0xf, 0xce, 0xfe, 0xc5, 0xa2, 0x6d, 0x94, 0x6e, 0xca, 0xc9, 0xfe, 0xe0, 0xfe, 0x13, 0xfe, 0xfb, 0xdf, 0x1, 0x67, 0xa9, 0x7a, 0x8a, 0x6f, 0xca, 0xb7, 0x1, 0x16, 0x1, 0xc6, 0x5, 0x2d, 0x5b, 0xfe, 0xca, 0x9a, 0x29, 0x1a, 0x27, 0xb9, 0xfe, 0xff, 0x4e, 0x58, 0x1, 0x64, 0xbb, 0x27, 0x1b, 0x27, 0x9d, 0xe3, 0xb4, 0x70, 0x75, 0x89, 0xe9, 0x69, 0x24, 0x1b, 0x32, 0xeb, 0xfe, 0x58, 0xee, 0x66, 0x7c, 0x95, 0x92, 0xfd, 0x86, 0x20, 0x1a, 0x2f, 0xcf, 0x1, 0x8c, 0xf4, 0x0, 0x0, 0x2, 0xff, 0xfa, 0x0, 0x0, 0x5, 0xb0, 0x5, 0xd5, 0x0, 0x3, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x25, 0x21, 0x15, 0x21, 0x11, 0x21, 0x11, 0x21, 0x2, 0x72, 0xc8, 0xfc, 0xc0, 0x5, 0xb6, 0xfd, 0xee, 0xfe, 0x70, 0xfd, 0xec, 0x5, 0x71, 0xfa, 0xf3, 0x5, 0xd, 0x64, 0x64, 0xfa, 0x8f, 0x5, 0x71, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xb1, 0xff, 0xe3, 0x5, 0xf3, 0x5, 0xd5, 0x0, 0x6, 0x0, 0xd, 0x0, 0x1d, 0x0, 0x0, 0x1, 0x11, 0x10, 0x7, 0x24, 0x19, 0x1, 0x21, 0x11, 0x10, 0x5, 0x26, 0x13, 0x11, 0x25, 0x21, 0x11, 0x14, 0x16, 0x20, 0x36, 0x35, 0x11, 0x21, 0x11, 0x10, 0x0, 0x20, 0x0, 0x11, 0x4, 0xc6, 0x58, 0x1, 0x21, 0xfb, 0x86, 0x1, 0x21, 0x59, 0x1, 0xfe, 0xd3, 0x1, 0x91, 0x80, 0x1, 0x20, 0x80, 0x1, 0x91, 0xfe, 0xac, 0xfd, 0x66, 0xfe, 0xac, 0x5, 0x71, 0xfc, 0x99, 0xfe, 0xe6, 0x82, 0x62, 0x1, 0x61, 0x3, 0x40, 0xfc, 0xc0, 0xfe, 0x9e, 0x60, 0x7c, 0x1, 0x1f, 0x3, 0x67, 0x64, 0xfc, 0x35, 0xf0, 0xd3, 0xd3, 0xf0, 0x3, 0xcb, 0xfc, 0x5c, 0xfe, 0xdc, 0xfe, 0xd6, 0x1, 0x2a, 0x1, 0x24, 0x0, 0x2, 0x0, 0x10, 0x0, 0x0, 0x5, 0xb7, 0x5, 0xd5, 0x0, 0x3, 0x0, 0xa, 0x0, 0x0, 0x13, 0x1, 0x33, 0x1, 0x25, 0x21, 0x9, 0x1, 0x33, 0x1, 0x21, 0x9a, 0x1, 0xee, 0xc8, 0xfe, 0x12, 0xfe, 0xae, 0x1, 0x90, 0x1, 0xd9, 0x1, 0xda, 0x64, 0xfd, 0xc7, 0xfe, 0xcc, 0x5, 0x71, 0xfa, 0xf3, 0x5, 0xd, 0x64, 0xfb, 0x17, 0x4, 0xe9, 0xfa, 0x2b, 0x0, 0x0, 0x3, 0x0, 0x44, 0x0, 0x0, 0x8, 0xae, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x7, 0x0, 0x14, 0x0, 0x0, 0x9, 0x1, 0x33, 0x1, 0x21, 0x1, 0x33, 0x1, 0x25, 0x21, 0x9, 0x1, 0x21, 0x9, 0x1, 0x33, 0x1, 0x21, 0x9, 0x1, 0x21, 0x4, 0xc4, 0x1, 0x44, 0xc8, 0xfe, 0xbc, 0xfb, 0x35, 0x1, 0x44, 0xc8, 0xfe, 0xbc, 0xfe, 0xbb, 0x1, 0x90, 0x1, 0x3a, 0x1, 0x39, 0x1, 0x90, 0x1, 0x3a, 0x1, 0x39, 0x64, 0xfe, 0x89, 0xfe, 0x7c, 0xfe, 0xc5, 0xfe, 0xc2, 0xfe, 0x80, 0x5, 0x71, 0xfa, 0xf3, 0x5, 0xd, 0xfa, 0xf3, 0x5, 0xd, 0x64, 0xfb, 0x12, 0x4, 0xee, 0xfb, 0x12, 0x4, 0xee, 0xfa, 0x2b, 0x5, 0x10, 0xfa, 0xf0, 0x0, 0x0, 0x2, 0x0, 0x6c, 0x0, 0x0, 0x6, 0x6, 0x5, 0xd5, 0x0, 0x3, 0x0, 0xf, 0x0, 0x0, 0x9, 0x1, 0x33, 0x1, 0x25, 0x21, 0x9, 0x1, 0x33, 0x9, 0x1, 0x21, 0x9, 0x1, 0x23, 0x1, 0x1, 0x28, 0x3, 0x5c, 0xc6, 0xfc, 0xa4, 0xfe, 0x7e, 0x1, 0xb8, 0x1, 0x76, 0x1, 0x84, 0x62, 0xfe, 0x4c, 0x2, 0x3a, 0xfe, 0x48, 0xfe, 0x8a, 0xfe, 0x7c, 0x64, 0x1, 0xb6, 0x5, 0x71, 0xfa, 0xf3, 0x5, 0xd, 0x64, 0xfd, 0xce, 0x2, 0x32, 0xfd, 0x84, 0xfc, 0xa7, 0x2, 0x32, 0xfd, 0xce, 0x2, 0x7b, 0x0, 0x0, 0x0, 0x2, 0xff, 0xfc, 0x0, 0x0, 0x5, 0xac, 0x5, 0xd5, 0x0, 0x8, 0x0, 0xe, 0x0, 0x0, 0x9, 0x1, 0x33, 0x1, 0x11, 0x21, 0x11, 0x1, 0x21, 0x9, 0x1, 0x23, 0x1, 0x11, 0x33, 0x3, 0x6e, 0x1, 0xda, 0x64, 0xfd, 0xf0, 0xfe, 0x70, 0xfd, 0xf0, 0x1, 0x94, 0x1, 0xaa, 0xfe, 0x32, 0xc8, 0x1, 0xcc, 0xca, 0x3, 0x13, 0x2, 0xc2, 0xfc, 0xf2, 0xfd, 0x39, 0x2, 0xc7, 0x3, 0xe, 0xfc, 0xf2, 0x2, 0xaa, 0xfd, 0x56, 0xfd, 0x9d, 0x0, 0x4, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0x93, 0x4, 0x7b, 0x0, 0x7, 0x0, 0x22, 0x0, 0x2c, 0x0, 0x33, 0x0, 0x0, 0x1, 0x34, 0x26, 0x27, 0x16, 0x15, 0x11, 0x33, 0x13, 0x11, 0x21, 0x35, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x3b, 0x1, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x20, 0x4, 0x1, 0x35, 0x23, 0x22, 0x7, 0x11, 0x3e, 0x1, 0x37, 0x36, 0x5, 0x11, 0xe, 0x1, 0x15, 0x14, 0x16, 0x4, 0x2f, 0x96, 0x3d, 0x4b, 0x88, 0x64, 0xfe, 0xb0, 0x3f, 0xbc, 0x56, 0xac, 0xcb, 0xfd, 0xfb, 0xd0, 0x75, 0x97, 0x60, 0xb6, 0x54, 0x77, 0xdf, 0x38, 0x1, 0x1e, 0x1, 0x1a, 0xfe, 0xb0, 0xd0, 0x36, 0x2f, 0x5e, 0x62, 0x3b, 0x3a, 0xfe, 0x67, 0x43, 0x88, 0x7a, 0x2, 0x7f, 0xd3, 0x86, 0x18, 0x5d, 0x88, 0xfd, 0x59, 0x2, 0x1b, 0xfd, 0x81, 0xaa, 0x66, 0x61, 0xc1, 0xa2, 0xbd, 0xc0, 0x48, 0x7f, 0x8b, 0x2e, 0x2e, 0x74, 0x27, 0x27, 0xfc, 0xfe, 0x8b, 0x55, 0x4, 0xfd, 0xed, 0x4, 0x4e, 0x48, 0x47, 0xdc, 0x1, 0xfd, 0x12, 0x67, 0x8b, 0x77, 0x74, 0x0, 0x0, 0x0, 0x4, 0x0, 0x94, 0xff, 0xe3, 0x5, 0x13, 0x6, 0x14, 0x0, 0xf, 0x0, 0x1a, 0x0, 0x1e, 0x0, 0x2d, 0x0, 0x0, 0x13, 0x21, 0x11, 0x3e, 0x1, 0x33, 0x32, 0x0, 0x10, 0x2, 0x23, 0x22, 0x26, 0x27, 0x15, 0x21, 0x1, 0x34, 0x27, 0x26, 0x27, 0x11, 0x36, 0x37, 0x36, 0x37, 0x36, 0x1, 0x11, 0x33, 0x11, 0x1, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x94, 0x1, 0x4e, 0x3a, 0xb1, 0x7c, 0xcb, 0x0, 0xff, 0xff, 0xcb, 0x7c, 0xb1, 0x3a, 0xfe, 0xb2, 0x4, 0x12, 0x5e, 0x2c, 0x3c, 0x3c, 0x2c, 0x39, 0x16, 0xf, 0xfc, 0x52, 0x86, 0x1, 0xf9, 0x19, 0x1a, 0xa5, 0x4b, 0x4d, 0x16, 0xe, 0x5f, 0x5d, 0xa5, 0x1a, 0x19, 0x6, 0x14, 0xfd, 0xa2, 0x64, 0x61, 0xfe, 0xbc, 0xfd, 0xf0, 0xfe, 0xbc, 0x61, 0x64, 0xa8, 0x2, 0x74, 0x9f, 0x82, 0x3d, 0x20, 0xfc, 0x7a, 0x20, 0x3d, 0x4f, 0x73, 0x4b, 0x3, 0xda, 0xfa, 0xac, 0x5, 0x54, 0xfe, 0x64, 0x3, 0x69, 0x68, 0x74, 0x4a, 0x9e, 0x9f, 0x82, 0x82, 0x3, 0x0, 0x0, 0x2, 0x0, 0x71, 0xff, 0xe3, 0x3, 0xe7, 0x4, 0x7b, 0x0, 0x1a, 0x0, 0x23, 0x0, 0x0, 0x25, 0x15, 0xe, 0x1, 0x23, 0x22, 0x0, 0x11, 0x10, 0x0, 0x21, 0x32, 0x16, 0x17, 0x15, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x33, 0x32, 0x37, 0x36, 0x25, 0x11, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x3, 0xe7, 0x4d, 0xa5, 0x5d, 0xfd, 0xfe, 0xd6, 0x1, 0x2d, 0x1, 0x6, 0x55, 0xa2, 0x4c, 0x45, 0x6d, 0x47, 0x4a, 0x58, 0x48, 0x43, 0x51, 0x52, 0x48, 0x56, 0xfe, 0x18, 0x2c, 0x24, 0x7b, 0x7a, 0x24, 0x8f, 0x64, 0x24, 0x24, 0x1, 0x3e, 0x1, 0xe, 0x1, 0x12, 0x1, 0x3a, 0x23, 0x23, 0x64, 0x1f, 0x18, 0xf, 0x14, 0xfc, 0x57, 0x13, 0x10, 0x13, 0x1b, 0x3, 0x53, 0x1a, 0x25, 0x80, 0xea, 0xe6, 0x83, 0x26, 0x0, 0x0, 0x4, 0x0, 0x94, 0xff, 0xe3, 0x5, 0x13, 0x6, 0x14, 0x0, 0xf, 0x0, 0x1a, 0x0, 0x1e, 0x0, 0x2d, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x21, 0x35, 0xe, 0x1, 0x23, 0x22, 0x2, 0x10, 0x0, 0x33, 0x32, 0x16, 0x1, 0x14, 0x17, 0x16, 0x17, 0x16, 0x17, 0x11, 0x6, 0x7, 0x6, 0x1, 0x11, 0x33, 0x11, 0x1, 0x11, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x3, 0xc5, 0x1, 0x4e, 0xfe, 0xb2, 0x3a, 0xb1, 0x7c, 0xcb, 0xff, 0x0, 0xff, 0xcb, 0x7c, 0xb1, 0xfd, 0x76, 0xf, 0x16, 0x39, 0x2c, 0x3c, 0x3c, 0x2c, 0x5e, 0x3, 0x28, 0x86, 0xfd, 0x81, 0x19, 0x1a, 0xa5, 0x5d, 0x5f, 0xe, 0x16, 0x4d, 0x4b, 0xa5, 0x1a, 0x3, 0xb6, 0x2, 0x5e, 0xf9, 0xec, 0xa8, 0x64, 0x61, 0x1, 0x44, 0x2, 0x10, 0x1, 0x44, 0x61, 0xfe, 0x5a, 0x9e, 0x4b, 0x73, 0x4f, 0x3d, 0x20, 0x3, 0x86, 0x20, 0x3d, 0x82, 0x2, 0x9d, 0xfa, 0xac, 0x5, 0x54, 0xfe, 0x64, 0xfc, 0x36, 0x3, 0x82, 0x82, 0x9f, 0x9e, 0x4a, 0x74, 0x68, 0x69, 0x0, 0x3, 0x0, 0x6f, 0xff, 0xe3, 0x4, 0x7d, 0x4, 0x7b, 0x0, 0x13, 0x0, 0x18, 0x0, 0x1f, 0x0, 0x0, 0x1, 0x21, 0x13, 0x16, 0x33, 0x32, 0x37, 0x15, 0xe, 0x1, 0x23, 0x20, 0x0, 0x11, 0x10, 0x0, 0x33, 0x32, 0x0, 0x15, 0x1, 0x6, 0x11, 0x12, 0x17, 0x13, 0x21, 0x2e, 0x1, 0x23, 0x22, 0x7, 0x4, 0x7d, 0xfd, 0x8b, 0x1, 0x4b, 0x5f, 0xd9, 0xc3, 0x6d, 0xc3, 0x6b, 0xfe, 0xf4, 0xfe, 0xc7, 0x1, 0x29, 0xfc, 0xe5, 0x1, 0x4, 0xfd, 0x23, 0xc6, 0x1, 0xc5, 0x69, 0x2, 0x1, 0x3, 0xcc, 0xa9, 0x4a, 0x40, 0x2, 0x4, 0xfe, 0x62, 0x15, 0x5d, 0x75, 0x2d, 0x29, 0x1, 0x38, 0x1, 0xa, 0x1, 0x13, 0x1, 0x43, 0xfe, 0xda, 0xf7, 0x1, 0x71, 0x7a, 0xfe, 0xdb, 0xfe, 0xf3, 0x8e, 0x1, 0xd3, 0xbe, 0xe7, 0x11, 0x0, 0x0, 0x0, 0x2, 0x0, 0x2f, 0x0, 0x0, 0x3, 0xe3, 0x6, 0x14, 0x0, 0xa, 0x0, 0x20, 0x0, 0x0, 0x1, 0x6, 0x7, 0x6, 0x15, 0x11, 0x33, 0x11, 0x34, 0x37, 0x36, 0x25, 0x15, 0x23, 0x22, 0x7, 0x6, 0x1d, 0x1, 0x21, 0x15, 0x21, 0x11, 0x21, 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x37, 0x36, 0x33, 0x2, 0x11, 0x67, 0x2e, 0x39, 0x87, 0x16, 0x12, 0x1, 0xf1, 0xae, 0x94, 0x3a, 0x39, 0x1, 0x84, 0xfe, 0x7c, 0xfe, 0xb1, 0xb0, 0xb0, 0x57, 0x58, 0xbc, 0x5, 0xae, 0xa, 0x2d, 0x38, 0x91, 0xfb, 0xb6, 0x4, 0x4a, 0x5f, 0x44, 0x38, 0x8b, 0x64, 0x39, 0x37, 0x92, 0x64, 0x64, 0xfc, 0x1a, 0x3, 0xe6, 0x64, 0x64, 0xbc, 0x54, 0x56, 0x0, 0x0, 0x4, 0x0, 0x71, 0xfe, 0x56, 0x4, 0xf0, 0x4, 0x7b, 0x0, 0x7, 0x0, 0x23, 0x0, 0x2e, 0x0, 0x3d, 0x0, 0x0, 0x1, 0x11, 0x14, 0x7, 0x16, 0x36, 0x19, 0x1, 0x1, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x3d, 0x1, 0xe, 0x1, 0x23, 0x22, 0x2, 0x10, 0x0, 0x33, 0x32, 0x16, 0x17, 0x35, 0x21, 0x11, 0x10, 0x0, 0x21, 0x22, 0x26, 0x3, 0x14, 0x17, 0x16, 0x17, 0x11, 0x6, 0x7, 0x6, 0x7, 0x6, 0x1, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x4, 0x6, 0x6a, 0x5, 0xeb, 0xfc, 0x6c, 0x51, 0x9e, 0x52, 0xb5, 0xb4, 0x3a, 0xb1, 0x7c, 0xcb, 0xff, 0x0, 0xff, 0xcb, 0x7c, 0xb1, 0x3a, 0x1, 0x4e, 0xfe, 0xd6, 0xfe, 0xcd, 0x72, 0xca, 0x79, 0x5e, 0x2c, 0x3c, 0x3c, 0x2c, 0x39, 0x16, 0xf, 0x1, 0x2f, 0x19, 0x1a, 0xa5, 0x4b, 0x4d, 0x16, 0xe, 0x5f, 0x5d, 0xa5, 0x1a, 0x19, 0x3, 0xfa, 0xfc, 0x3d, 0xca, 0x8c, 0x5, 0x9d, 0x1, 0x12, 0x3, 0x6f, 0xfa, 0x97, 0x80, 0x2c, 0x2a, 0xbd, 0xbf, 0x71, 0x64, 0x61, 0x1, 0x44, 0x2, 0x10, 0x1, 0x44, 0x61, 0x64, 0xa8, 0xfc, 0x2d, 0xfe, 0xe2, 0xfe, 0xe9, 0x1d, 0x3, 0x77, 0x9f, 0x82, 0x3d, 0x20, 0x3, 0x86, 0x20, 0x3d, 0x4f, 0x73, 0x4b, 0xfd, 0xc2, 0x3, 0x69, 0x68, 0x74, 0x4a, 0x9e, 0x9f, 0x82, 0x82, 0x3, 0x0, 0x0, 0x3, 0x0, 0xba, 0x0, 0x0, 0x5, 0x48, 0x6, 0x14, 0x0, 0xa, 0x0, 0xe, 0x0, 0x22, 0x0, 0x0, 0x1, 0x16, 0x17, 0x16, 0x15, 0x11, 0x33, 0x11, 0x34, 0x27, 0x26, 0x1, 0x11, 0x33, 0x11, 0x27, 0x21, 0x11, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x11, 0x21, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x21, 0x4, 0x0, 0x9, 0x8, 0x47, 0x8c, 0x53, 0x35, 0xfc, 0xc2, 0x87, 0xeb, 0x1, 0x4f, 0x49, 0xc6, 0x81, 0xd4, 0xdb, 0xfe, 0xac, 0x6b, 0x6b, 0x80, 0x95, 0xfe, 0xb1, 0x4, 0xd, 0xb, 0xc, 0x68, 0xbe, 0xfd, 0x94, 0x2, 0x40, 0xc1, 0x5b, 0x3a, 0x1, 0xb6, 0xfa, 0xb4, 0x5, 0x4c, 0x64, 0xfd, 0x9e, 0x65, 0x64, 0xef, 0xe8, 0xfd, 0x5c, 0x2, 0xd0, 0x9f, 0x9e, 0xbe, 0xa4, 0xfd, 0x55, 0x0, 0x3, 0x0, 0xe6, 0x0, 0x0, 0x2, 0x35, 0x6, 0x14, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x3, 0x33, 0x15, 0x23, 0x7, 0x21, 0x11, 0x21, 0x1, 0x4a, 0x87, 0xa0, 0xb9, 0xb9, 0x4b, 0x1, 0x4f, 0xfe, 0xb1, 0x3, 0xfc, 0xfc, 0x68, 0x3, 0x98, 0x2, 0x18, 0xe9, 0xcb, 0xfb, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xd7, 0xfe, 0x56, 0x2, 0xc, 0x6, 0x14, 0x0, 0x8, 0x0, 0x16, 0x0, 0x1a, 0x0, 0x0, 0x5, 0x11, 0x23, 0x11, 0x14, 0x7, 0x36, 0x37, 0x36, 0x7, 0x23, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x21, 0x11, 0x14, 0x7, 0x6, 0x3, 0x33, 0x15, 0x23, 0x1, 0xa8, 0x87, 0x25, 0x47, 0x28, 0x3d, 0xf4, 0xdd, 0x31, 0x6c, 0x24, 0x25, 0x1, 0x4f, 0x51, 0x52, 0x61, 0xb8, 0xb8, 0x16, 0x4, 0x12, 0xfb, 0xd0, 0xb5, 0x54, 0xf, 0x30, 0x48, 0xf4, 0x64, 0x30, 0x31, 0x99, 0x4, 0xac, 0xfb, 0x8c, 0xd6, 0x60, 0x60, 0x7, 0xbe, 0xe9, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0x0, 0x0, 0x5, 0x32, 0x6, 0x14, 0x0, 0xa, 0x0, 0xe, 0x0, 0x0, 0x13, 0x21, 0x11, 0x1, 0x33, 0x9, 0x1, 0x23, 0x1, 0x11, 0x21, 0x13, 0x11, 0x33, 0x11, 0xba, 0x1, 0x4f, 0x2, 0x84, 0x8c, 0xfd, 0x48, 0x2, 0xd1, 0x96, 0xfd, 0x6d, 0xfe, 0xb1, 0x64, 0x87, 0x6, 0x14, 0xfc, 0x69, 0x1, 0xe3, 0xfd, 0xf6, 0xfd, 0xaa, 0x2, 0x23, 0xfd, 0xdd, 0x5, 0xb0, 0xfa, 0xb4, 0x5, 0x4c, 0x0, 0x2, 0x0, 0xe6, 0x0, 0x0, 0x2, 0xea, 0x6, 0x14, 0x0, 0x8, 0x0, 0x14, 0x0, 0x0, 0x1, 0x14, 0x17, 0x16, 0x17, 0x26, 0x35, 0x11, 0x23, 0x13, 0x22, 0x27, 0x26, 0x35, 0x11, 0x21, 0x11, 0x14, 0x16, 0x33, 0x15, 0x1, 0x4a, 0x3d, 0x28, 0x47, 0x25, 0x87, 0xf5, 0xb6, 0x52, 0x51, 0x1, 0x4f, 0x4c, 0x69, 0x1, 0x94, 0xa0, 0x48, 0x30, 0xf, 0x54, 0xb5, 0x4, 0x30, 0xfa, 0x5a, 0x60, 0x60, 0xd6, 0x4, 0x7e, 0xfb, 0x4a, 0x9c, 0x5e, 0x64, 0x0, 0x0, 0x0, 0x4, 0x0, 0xba, 0x0, 0x0, 0x8, 0x87, 0x4, 0x7b, 0x0, 0x22, 0x0, 0x26, 0x0, 0x31, 0x0, 0x3c, 0x0, 0x0, 0x13, 0x21, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x17, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x11, 0x21, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x21, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x21, 0x13, 0x11, 0x33, 0x11, 0x25, 0x16, 0x17, 0x16, 0x15, 0x11, 0x33, 0x11, 0x34, 0x27, 0x26, 0x25, 0x16, 0x17, 0x16, 0x15, 0x11, 0x33, 0x11, 0x34, 0x27, 0x26, 0xba, 0x1, 0x4f, 0x49, 0xc6, 0x81, 0xd4, 0x9d, 0x1b, 0x54, 0xde, 0x81, 0xd4, 0xdb, 0xfe, 0xac, 0x6b, 0x6b, 0x80, 0x95, 0xfe, 0xac, 0x6b, 0x6b, 0x80, 0x95, 0xfe, 0xb1, 0x64, 0x87, 0x2, 0x5b, 0x9, 0x8, 0x47, 0x8c, 0x53, 0x35, 0x2, 0xe3, 0x9, 0x8, 0x47, 0x8c, 0x53, 0x35, 0x4, 0x60, 0xae, 0x65, 0x64, 0xac, 0x4a, 0x80, 0x76, 0xef, 0xe8, 0xfd, 0x5c, 0x2, 0xd0, 0x9f, 0x9e, 0xbe, 0xab, 0xfd, 0x5c, 0x2, 0xd0, 0x9f, 0x9e, 0xbe, 0xa4, 0xfd, 0x55, 0x3, 0xfc, 0xfc, 0x68, 0x3, 0x98, 0x11, 0xb, 0xc, 0x68, 0xbe, 0xfd, 0x94, 0x2, 0x40, 0xc1, 0x5b, 0x3a, 0x13, 0xb, 0xc, 0x68, 0xbe, 0xfd, 0x94, 0x2, 0x40, 0xc1, 0x5b, 0x3a, 0x0, 0x0, 0x0, 0x3, 0x0, 0xba, 0x0, 0x0, 0x5, 0x48, 0x4, 0x7b, 0x0, 0xa, 0x0, 0xe, 0x0, 0x22, 0x0, 0x0, 0x1, 0x16, 0x17, 0x16, 0x15, 0x11, 0x33, 0x11, 0x34, 0x27, 0x26, 0x25, 0x11, 0x33, 0x11, 0x27, 0x21, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x11, 0x21, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x21, 0x4, 0x0, 0x9, 0x8, 0x47, 0x8c, 0x53, 0x35, 0xfc, 0xc2, 0x87, 0xeb, 0x1, 0x4f, 0x49, 0xc6, 0x81, 0xd4, 0xdb, 0xfe, 0xac, 0x6b, 0x6b, 0x80, 0x95, 0xfe, 0xb1, 0x4, 0xd, 0xb, 0xc, 0x68, 0xbe, 0xfd, 0x94, 0x2, 0x40, 0xc1, 0x5b, 0x3a, 0x2, 0xfc, 0x68, 0x3, 0x98, 0x64, 0xae, 0x65, 0x64, 0xef, 0xe8, 0xfd, 0x5c, 0x2, 0xd0, 0x9f, 0x9e, 0xbe, 0xa4, 0xfd, 0x55, 0x0, 0x0, 0x0, 0x4, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x4, 0x7b, 0x0, 0xb, 0x0, 0x13, 0x0, 0x1b, 0x0, 0x23, 0x0, 0x0, 0x1, 0x32, 0x0, 0x11, 0x10, 0x0, 0x23, 0x22, 0x0, 0x11, 0x10, 0x0, 0x13, 0x16, 0x32, 0x37, 0x11, 0x26, 0x22, 0x7, 0x3, 0x11, 0x6, 0x7, 0x6, 0x10, 0x17, 0x16, 0x1, 0x11, 0x36, 0x37, 0x36, 0x10, 0x27, 0x26, 0x2, 0x73, 0xf0, 0x1, 0x12, 0xfe, 0xee, 0xf0, 0xf1, 0xfe, 0xef, 0x1, 0x11, 0x82, 0x33, 0x78, 0x33, 0x33, 0x78, 0x33, 0x64, 0x34, 0x27, 0x70, 0x70, 0x27, 0x1, 0xda, 0x33, 0x28, 0x70, 0x70, 0x28, 0x4, 0x7b, 0xfe, 0xc8, 0xfe, 0xec, 0xfe, 0xed, 0xfe, 0xc7, 0x1, 0x39, 0x1, 0x13, 0x1, 0x14, 0x1, 0x38, 0xfb, 0xd7, 0xb, 0xb, 0x3, 0xba, 0xb, 0xb, 0xfc, 0x6b, 0x3, 0x70, 0x1d, 0x2d, 0x80, 0xfe, 0x24, 0x80, 0x2d, 0x3, 0x52, 0xfc, 0x92, 0x1c, 0x2d, 0x81, 0x1, 0xdb, 0x80, 0x2d, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x71, 0xfe, 0x56, 0x4, 0xf0, 0x4, 0x7b, 0x0, 0xf, 0x0, 0x1a, 0x0, 0x1e, 0x0, 0x2d, 0x0, 0x0, 0x25, 0x11, 0x21, 0x11, 0x21, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x0, 0x10, 0x2, 0x23, 0x22, 0x26, 0x1, 0x34, 0x27, 0x26, 0x27, 0x26, 0x27, 0x11, 0x36, 0x37, 0x36, 0x1, 0x11, 0x23, 0x11, 0x1, 0x11, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x1, 0xbf, 0xfe, 0xb2, 0x1, 0x4e, 0x3a, 0xb1, 0x7c, 0xcb, 0x0, 0xff, 0xff, 0xcb, 0x7c, 0xb1, 0x2, 0x8a, 0xf, 0x16, 0x39, 0x2c, 0x3c, 0x3c, 0x2c, 0x5e, 0xfc, 0xd8, 0x86, 0x2, 0x7f, 0x19, 0x1a, 0xa5, 0x5d, 0x5f, 0xe, 0x16, 0x4d, 0x4b, 0xa5, 0x1a, 0xa8, 0xfd, 0xae, 0x6, 0x8, 0xa8, 0x64, 0x61, 0xfe, 0xbc, 0xfd, 0xf0, 0xfe, 0xbc, 0x61, 0x1, 0xa6, 0x9e, 0x4b, 0x73, 0x4f, 0x3d, 0x20, 0xfc, 0x7a, 0x20, 0x3d, 0x82, 0xfd, 0x6f, 0x5, 0x48, 0xfa, 0xb8, 0x1, 0x90, 0x3, 0xca, 0x3, 0x82, 0x82, 0x9f, 0x9e, 0x4a, 0x74, 0x68, 0x69, 0x0, 0x0, 0x4, 0x0, 0x71, 0xfe, 0x56, 0x4, 0xf0, 0x4, 0x7b, 0x0, 0xf, 0x0, 0x1a, 0x0, 0x1e, 0x0, 0x2d, 0x0, 0x0, 0x25, 0xe, 0x1, 0x23, 0x22, 0x2, 0x10, 0x0, 0x33, 0x32, 0x16, 0x17, 0x35, 0x21, 0x11, 0x21, 0x1, 0x14, 0x17, 0x16, 0x17, 0x11, 0x6, 0x7, 0x6, 0x7, 0x6, 0x1, 0x33, 0x11, 0x23, 0x1, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x3, 0xa2, 0x3a, 0xb1, 0x7c, 0xcb, 0xff, 0x0, 0xff, 0xcb, 0x7c, 0xb1, 0x3a, 0x1, 0x4e, 0xfe, 0xb2, 0xfd, 0x3c, 0x5e, 0x2c, 0x3c, 0x3c, 0x2c, 0x39, 0x16, 0xf, 0x3, 0x28, 0x86, 0x86, 0xfe, 0x7, 0x19, 0x1a, 0xa5, 0x4b, 0x4d, 0x16, 0xe, 0x5f, 0x5d, 0xa5, 0x1a, 0x19, 0xa8, 0x64, 0x61, 0x1, 0x44, 0x2, 0x10, 0x1, 0x44, 0x61, 0x64, 0xa8, 0xf9, 0xf8, 0x3, 0x94, 0x9f, 0x82, 0x3d, 0x20, 0x3, 0x86, 0x20, 0x3d, 0x4f, 0x73, 0x4b, 0xfc, 0x32, 0x5, 0x48, 0xfc, 0x48, 0x3, 0x69, 0x68, 0x74, 0x4a, 0x9e, 0x9f, 0x82, 0x82, 0x3, 0x0, 0x0, 0x0, 0x2, 0x0, 0xba, 0x0, 0x0, 0x3, 0xdf, 0x4, 0x7b, 0x0, 0x3, 0x0, 0x15, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x27, 0x21, 0x15, 0x3e, 0x1, 0x33, 0x32, 0x1f, 0x1, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x11, 0x21, 0x1, 0x1e, 0x86, 0xea, 0x1, 0x4e, 0x3a, 0xba, 0x85, 0x1b, 0xf, 0x34, 0x1f, 0x49, 0x2c, 0x9c, 0xa7, 0xfe, 0xb2, 0x3, 0xfc, 0xfc, 0x68, 0x3, 0x98, 0x64, 0xae, 0x66, 0x63, 0x3, 0x7, 0x85, 0x12, 0x11, 0xcb, 0xbe, 0xfd, 0x7a, 0x0, 0x2, 0x0, 0x6f, 0xff, 0xe3, 0x3, 0xc7, 0x4, 0x7b, 0x0, 0x1d, 0x0, 0x45, 0x0, 0x0, 0x1, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x1f, 0x1, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2f, 0x1, 0x26, 0x27, 0x26, 0x35, 0x34, 0x3, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2f, 0x1, 0x2e, 0x1, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1f, 0x1, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x1, 0x69, 0x27, 0x1c, 0x4b, 0x26, 0x27, 0x71, 0x34, 0xa5, 0x3d, 0x42, 0x25, 0x25, 0x1d, 0x55, 0x2b, 0x2e, 0x84, 0x33, 0x90, 0x39, 0x47, 0xd3, 0x53, 0xa0, 0x4f, 0x6a, 0x71, 0x4c, 0x91, 0x34, 0x8f, 0x76, 0xe0, 0xce, 0x66, 0xb4, 0x4c, 0x4a, 0x5c, 0x5f, 0x6f, 0x70, 0x50, 0x78, 0x33, 0xa1, 0x84, 0xf7, 0xd8, 0x5a, 0xc3, 0x6c, 0x3, 0xf9, 0xf, 0x17, 0x3d, 0x76, 0x66, 0x30, 0x33, 0x22, 0x10, 0x33, 0x3b, 0x40, 0x7b, 0x52, 0x3f, 0x10, 0x17, 0x42, 0x73, 0x6c, 0x33, 0x37, 0x27, 0xf, 0x2a, 0x37, 0x43, 0x6f, 0x54, 0xfc, 0xfe, 0x37, 0x38, 0x5e, 0x55, 0x4e, 0x4f, 0x2c, 0x10, 0x2c, 0x97, 0x88, 0xa6, 0xb5, 0x20, 0x1f, 0x7a, 0x31, 0x24, 0x59, 0x58, 0x44, 0x4c, 0x23, 0xf, 0x2f, 0x9e, 0x90, 0xa4, 0xc0, 0x25, 0x25, 0x0, 0x2, 0x0, 0x37, 0x0, 0x0, 0x3, 0x88, 0x5, 0x9e, 0x0, 0x7, 0x0, 0x1b, 0x0, 0x0, 0x25, 0x26, 0x37, 0x11, 0x23, 0x11, 0x6, 0x16, 0x13, 0x11, 0x21, 0x15, 0x21, 0x11, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x21, 0x22, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x11, 0x1, 0xd0, 0x2a, 0x3, 0x87, 0x1, 0x5c, 0x90, 0x1, 0x7b, 0xfe, 0x85, 0x4b, 0x73, 0xbd, 0xfe, 0xad, 0xd5, 0xa2, 0x87, 0x87, 0x6a, 0x55, 0x7c, 0x3, 0xff, 0xfc, 0x37, 0xad, 0x4e, 0x5, 0x28, 0xfe, 0xac, 0x64, 0xfd, 0x55, 0x89, 0x4e, 0x64, 0x9f, 0xd2, 0x2, 0x75, 0x64, 0x1, 0x54, 0x0, 0x0, 0x3, 0x0, 0xb1, 0xff, 0xe5, 0x5, 0x44, 0x4, 0x60, 0x0, 0xa, 0x0, 0xe, 0x0, 0x22, 0x0, 0x0, 0x25, 0x26, 0x27, 0x26, 0x35, 0x11, 0x23, 0x11, 0x14, 0x17, 0x16, 0x5, 0x11, 0x23, 0x11, 0x17, 0x21, 0x35, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x11, 0x21, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x21, 0x1, 0xf9, 0x9, 0x8, 0x47, 0x8c, 0x53, 0x35, 0x3, 0x43, 0x87, 0xeb, 0xfe, 0xac, 0x49, 0xc6, 0x81, 0xd4, 0xdb, 0x1, 0x54, 0x6b, 0x6b, 0x80, 0x95, 0x1, 0x54, 0x53, 0xb, 0xc, 0x68, 0xbe, 0x2, 0x6c, 0xfd, 0xc0, 0xc1, 0x5b, 0x3a, 0x2, 0x3, 0x98, 0xfc, 0x68, 0x64, 0xae, 0x65, 0x64, 0xef, 0xe8, 0x2, 0xa4, 0xfd, 0x30, 0x9f, 0x9e, 0xbe, 0xa4, 0x2, 0xab, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x3d, 0x0, 0x0, 0x4, 0xb1, 0x4, 0x60, 0x0, 0x3, 0x0, 0xa, 0x0, 0x0, 0x13, 0x1, 0x33, 0x1, 0x25, 0x21, 0x9, 0x1, 0x33, 0x1, 0x21, 0xcd, 0x1, 0x59, 0x83, 0xfe, 0xa3, 0xfe, 0xf1, 0x1, 0x54, 0x1, 0x5e, 0x1, 0x5e, 0x64, 0xfe, 0x5c, 0xfe, 0xd4, 0x3, 0xfc, 0xfc, 0x68, 0x3, 0x98, 0x64, 0xfc, 0x54, 0x3, 0xac, 0xfb, 0xa0, 0x0, 0x0, 0x3, 0x0, 0x56, 0x0, 0x0, 0x6, 0xf2, 0x4, 0x60, 0x0, 0x3, 0x0, 0x7, 0x0, 0x14, 0x0, 0x0, 0x1, 0x13, 0x33, 0x3, 0x21, 0x13, 0x33, 0x3, 0x25, 0x21, 0x1b, 0x1, 0x21, 0x1b, 0x1, 0x33, 0x1, 0x21, 0xb, 0x1, 0x21, 0x3, 0xf1, 0xf0, 0x87, 0xf2, 0xfc, 0x62, 0xf0, 0x87, 0xf2, 0xfe, 0xf9, 0x1, 0x54, 0xe6, 0xe5, 0x1, 0x4e, 0xe6, 0xe5, 0x64, 0xfe, 0xdb, 0xfe, 0xca, 0xf1, 0xf2, 0xfe, 0xc7, 0x3, 0xfc, 0xfc, 0x68, 0x3, 0x98, 0xfc, 0x68, 0x3, 0x98, 0x64, 0xfc, 0x96, 0x3, 0x6a, 0xfc, 0x96, 0x3, 0x6a, 0xfb, 0xa0, 0x3, 0x96, 0xfc, 0x6a, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x4c, 0x0, 0x0, 0x5, 0x1c, 0x4, 0x60, 0x0, 0x3, 0x0, 0xf, 0x0, 0x0, 0x9, 0x1, 0x33, 0x1, 0x25, 0x21, 0x9, 0x1, 0x33, 0x9, 0x1, 0x21, 0x9, 0x1, 0x23, 0x1, 0x1, 0x13, 0x2, 0xab, 0x97, 0xfd, 0x55, 0xfe, 0xa2, 0x1, 0x90, 0x1, 0x1d, 0x1, 0x1d, 0x7c, 0xfe, 0xa5, 0x1, 0xe5, 0xfe, 0x70, 0xfe, 0xe3, 0xfe, 0xe3, 0x7c, 0x1, 0x5b, 0x3, 0xfc, 0xfc, 0x68, 0x3, 0x98, 0x64, 0xfe, 0x81, 0x1, 0x7f, 0xfe, 0x2d, 0xfd, 0x73, 0x1, 0x7f, 0xfe, 0x81, 0x1, 0xd3, 0x0, 0x0, 0x0, 0x2, 0x0, 0x3d, 0xfe, 0x56, 0x4, 0xc3, 0x4, 0x60, 0x0, 0x3, 0x0, 0x12, 0x0, 0x0, 0x13, 0x1, 0x37, 0x1, 0x25, 0x21, 0x9, 0x1, 0x33, 0x1, 0xe, 0x1, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x37, 0xd2, 0x1, 0xb2, 0x3e, 0xfe, 0x95, 0xfe, 0xe6, 0x1, 0x5e, 0x1, 0x5d, 0x1, 0x5f, 0x6c, 0xfe, 0x14, 0x50, 0x92, 0x7c, 0x93, 0x93, 0x58, 0x51, 0x2b, 0x3, 0xfc, 0xfb, 0xdb, 0x99, 0x3, 0x8c, 0x64, 0xfc, 0x97, 0x3, 0x69, 0xfb, 0x38, 0xc7, 0x7b, 0x64, 0x43, 0x59, 0x0, 0x0, 0x2, 0x0, 0x58, 0x0, 0x0, 0x4, 0x62, 0x4, 0x60, 0x0, 0x3, 0x0, 0xd, 0x0, 0x0, 0x9, 0x1, 0x33, 0x1, 0x25, 0x21, 0x15, 0x1, 0x21, 0x15, 0x21, 0x35, 0x1, 0x21, 0x3, 0x5c, 0xfd, 0x76, 0x8c, 0x2, 0x8a, 0xfc, 0x89, 0x3, 0xf1, 0xfd, 0x77, 0x2, 0x89, 0xfb, 0xf6, 0x2, 0x89, 0xfd, 0x90, 0x3, 0xfc, 0xfc, 0x68, 0x3, 0x98, 0x64, 0x64, 0xfc, 0x68, 0x64, 0x64, 0x3, 0x98, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x24, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0xec, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x25, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x27, 0x5, 0xf0, 0x10, 0x6, 0x0, 0x26, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0xb0, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x27, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8b, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x28, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x23, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x29, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0x8b, 0x5, 0xf0, 0x10, 0x6, 0x0, 0x2a, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x3b, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x2b, 0x0, 0x0, 0xff, 0xff, 0x0, 0x97, 0x0, 0x0, 0x2, 0xf6, 0x5, 0xd5, 0x10, 0x6, 0x17, 0x16, 0x0, 0x0, 0xff, 0xff, 0xff, 0x96, 0xfe, 0x66, 0x1, 0x93, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x2d, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x6a, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x2e, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x6a, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x2f, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x6, 0x1f, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x30, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x33, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x31, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xff, 0xe3, 0x5, 0xd9, 0x5, 0xf0, 0x10, 0x6, 0x0, 0x32, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x4, 0x8d, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x33, 0x0, 0x0, 0xff, 0xff, 0x0, 0x73, 0xfe, 0xf8, 0x5, 0xd9, 0x5, 0xf0, 0x10, 0x6, 0x0, 0x34, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc9, 0x0, 0x0, 0x5, 0x54, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x35, 0x0, 0x0, 0xff, 0xff, 0x0, 0x87, 0xff, 0xe3, 0x4, 0xa2, 0x5, 0xf0, 0x10, 0x6, 0x0, 0x36, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x4, 0xe9, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x37, 0x0, 0x0, 0xff, 0xff, 0x0, 0xb2, 0xff, 0xe3, 0x5, 0x29, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x38, 0x0, 0x0, 0xff, 0xff, 0x0, 0x10, 0x0, 0x0, 0x5, 0x68, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x39, 0x0, 0x0, 0xff, 0xff, 0x0, 0x44, 0x0, 0x0, 0x7, 0xa6, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x3a, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3d, 0x0, 0x0, 0x5, 0x3b, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x3b, 0x0, 0x0, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x4, 0xe7, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x3c, 0x0, 0x0, 0xff, 0xff, 0x0, 0x5c, 0x0, 0x0, 0x5, 0x1f, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x3d, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7b, 0xff, 0xe3, 0x4, 0x2d, 0x4, 0x7b, 0x10, 0x6, 0x0, 0x44, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xff, 0xe3, 0x4, 0xa4, 0x6, 0x14, 0x10, 0x6, 0x0, 0x45, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x3, 0xe7, 0x4, 0x7b, 0x10, 0x6, 0x0, 0x46, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x5a, 0x6, 0x14, 0x10, 0x6, 0x0, 0x47, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x7f, 0x4, 0x7b, 0x10, 0x6, 0x0, 0x48, 0x0, 0x0, 0xff, 0xff, 0x0, 0x2f, 0x0, 0x0, 0x2, 0xf8, 0x6, 0x14, 0x10, 0x6, 0x0, 0x49, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x56, 0x4, 0x5a, 0x4, 0x7b, 0x10, 0x6, 0x0, 0x4a, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x4, 0x64, 0x6, 0x14, 0x10, 0x6, 0x0, 0x4b, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc1, 0x0, 0x0, 0x1, 0x79, 0x6, 0x14, 0x10, 0x6, 0x0, 0x4c, 0x0, 0x0, 0xff, 0xff, 0xff, 0xdb, 0xfe, 0x56, 0x1, 0x79, 0x6, 0x14, 0x10, 0x6, 0x0, 0x4d, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x4, 0x9c, 0x6, 0x14, 0x10, 0x6, 0x0, 0x4e, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc1, 0x0, 0x0, 0x2, 0x39, 0x6, 0x14, 0x10, 0x6, 0x17, 0xc, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x7, 0x1d, 0x4, 0x7b, 0x10, 0x6, 0x0, 0x50, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x4, 0x64, 0x4, 0x7b, 0x10, 0x6, 0x0, 0x51, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x75, 0x4, 0x7b, 0x10, 0x6, 0x0, 0x52, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0xfe, 0x56, 0x4, 0xa4, 0x4, 0x7b, 0x10, 0x6, 0x0, 0x53, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xfe, 0x56, 0x4, 0x5a, 0x4, 0x7b, 0x10, 0x6, 0x0, 0x54, 0x0, 0x0, 0xff, 0xff, 0x0, 0xba, 0x0, 0x0, 0x3, 0x4a, 0x4, 0x7b, 0x10, 0x6, 0x0, 0x55, 0x0, 0x0, 0xff, 0xff, 0x0, 0x6f, 0xff, 0xe3, 0x3, 0xc7, 0x4, 0x7b, 0x10, 0x6, 0x0, 0x56, 0x0, 0x0, 0xff, 0xff, 0x0, 0x37, 0x0, 0x0, 0x2, 0xf2, 0x5, 0x9e, 0x10, 0x6, 0x0, 0x57, 0x0, 0x0, 0xff, 0xff, 0x0, 0xae, 0xff, 0xe3, 0x4, 0x58, 0x4, 0x7b, 0x10, 0x6, 0x0, 0x58, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3d, 0x0, 0x0, 0x4, 0x7f, 0x4, 0x60, 0x10, 0x6, 0x0, 0x59, 0x0, 0x0, 0xff, 0xff, 0x0, 0x56, 0x0, 0x0, 0x6, 0x35, 0x4, 0x60, 0x10, 0x6, 0x0, 0x5a, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3b, 0x0, 0x0, 0x4, 0x79, 0x4, 0x60, 0x10, 0x6, 0x0, 0x5b, 0x0, 0x0, 0xff, 0xff, 0x0, 0x3d, 0xfe, 0x56, 0x4, 0x7f, 0x4, 0x60, 0x10, 0x6, 0x0, 0x5c, 0x0, 0x0, 0xff, 0xff, 0x0, 0x58, 0x0, 0x0, 0x3, 0xdb, 0x4, 0x60, 0x10, 0x6, 0x0, 0x5d, 0x0, 0x0, 0x0, 0x4, 0x0, 0x88, 0xff, 0xe3, 0x4, 0x90, 0x5, 0xf0, 0x0, 0x7, 0x0, 0xc, 0x0, 0x14, 0x0, 0x19, 0x0, 0x0, 0x0, 0x20, 0x0, 0x10, 0x0, 0x20, 0x0, 0x10, 0x1, 0x36, 0x11, 0x10, 0x2f, 0x1, 0x26, 0x22, 0x7, 0x11, 0x16, 0x32, 0x37, 0x1, 0x6, 0x11, 0x10, 0x17, 0x1, 0x90, 0x1, 0xf6, 0x1, 0xa, 0xfe, 0xf6, 0xfe, 0xa, 0xfe, 0xf8, 0x2, 0xd8, 0xcc, 0xcc, 0x64, 0x33, 0x7b, 0x34, 0x34, 0x7b, 0x33, 0xfe, 0xba, 0xca, 0xca, 0x5, 0xf0, 0xfe, 0x73, 0xfd, 0xd, 0xfe, 0x73, 0x1, 0x8d, 0x2, 0xf3, 0xfc, 0x23, 0x8f, 0x1, 0xd4, 0x1, 0xd5, 0x8f, 0x30, 0xf, 0xf, 0xfa, 0xd9, 0xf, 0xf, 0x4, 0xf7, 0x90, 0xfe, 0x2c, 0xfe, 0x2d, 0x90, 0x0, 0x2, 0x0, 0x6b, 0x0, 0x0, 0x4, 0xac, 0x5, 0xd5, 0x0, 0x3, 0x0, 0xe, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x37, 0x11, 0x21, 0x15, 0x21, 0x35, 0x21, 0x11, 0x5, 0x35, 0x25, 0x2, 0x36, 0xca, 0x62, 0x1, 0x4a, 0xfb, 0xdc, 0x1, 0x4a, 0xfe, 0x99, 0x1, 0x67, 0x5, 0x71, 0xfa, 0xf3, 0x5, 0xd, 0x64, 0xfa, 0x8f, 0x64, 0x64, 0x5, 0xd, 0x48, 0x64, 0x48, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x82, 0x0, 0x0, 0x4, 0x9a, 0x5, 0xf0, 0x0, 0x10, 0x0, 0x28, 0x0, 0x0, 0x37, 0x21, 0x1, 0x36, 0x37, 0x36, 0x10, 0x27, 0x26, 0x27, 0x17, 0x16, 0x15, 0x14, 0xe, 0x1, 0x3, 0x1, 0x24, 0x33, 0x32, 0x4, 0x15, 0x14, 0xe, 0x1, 0x7, 0x1, 0x21, 0x15, 0x21, 0x37, 0x36, 0x0, 0x37, 0x36, 0x10, 0x26, 0x23, 0x22, 0x7, 0xfb, 0x1, 0x0, 0x1, 0x29, 0x60, 0x22, 0x4c, 0x6c, 0x44, 0x62, 0x3, 0x5a, 0x45, 0x82, 0xd1, 0xfe, 0xe7, 0x1, 0x3, 0xb5, 0xf3, 0x1, 0x1f, 0x30, 0x51, 0x5d, 0xfe, 0xfa, 0x2, 0x28, 0xfb, 0xe8, 0x1, 0x2, 0x1, 0x9e, 0x3d, 0x79, 0x87, 0x6d, 0x98, 0xc1, 0x64, 0x1, 0xcd, 0x95, 0x40, 0x8f, 0x1, 0x39, 0x5c, 0x39, 0x18, 0x4, 0x70, 0xa8, 0x64, 0xba, 0xcf, 0xfe, 0xdd, 0x4, 0x39, 0x68, 0xf4, 0xcc, 0x62, 0xac, 0x96, 0x91, 0xfe, 0x69, 0x64, 0x64, 0x5, 0x2, 0x41, 0x62, 0xbf, 0x1, 0x19, 0xa8, 0x95, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x9c, 0xff, 0xe3, 0x4, 0x73, 0x5, 0xf0, 0x0, 0x24, 0x0, 0x2a, 0x0, 0x30, 0x0, 0x0, 0x5, 0x22, 0x27, 0x35, 0x17, 0x16, 0x33, 0x32, 0x37, 0x11, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0xf, 0x1, 0x35, 0x36, 0x33, 0x32, 0x4, 0x15, 0x14, 0x6, 0x7, 0x1e, 0x1, 0x15, 0x14, 0x4, 0x35, 0x36, 0x35, 0x34, 0x26, 0x27, 0x19, 0x1, 0x3e, 0x1, 0x35, 0x34, 0x2, 0x2b, 0xbb, 0xd4, 0x21, 0xc4, 0xaa, 0x65, 0x4f, 0x36, 0x3f, 0xcc, 0xd4, 0x3b, 0x32, 0x3a, 0x4c, 0x9c, 0xd9, 0x1b, 0xe6, 0xaf, 0xe6, 0x1, 0xc, 0x8d, 0x80, 0x8e, 0xa2, 0xfe, 0xd0, 0xcc, 0x75, 0x57, 0x45, 0x64, 0x1d, 0x4a, 0x6a, 0xc, 0x44, 0x10, 0x2, 0x95, 0xa, 0x64, 0x8, 0x2, 0x20, 0xa, 0x3c, 0x8, 0x68, 0x40, 0xd1, 0xb2, 0x7c, 0xaa, 0x21, 0x1f, 0xc5, 0x90, 0xdd, 0xf2, 0x92, 0x55, 0xe8, 0x6c, 0x8d, 0x24, 0x2, 0x96, 0xfe, 0x1a, 0x1d, 0x79, 0x58, 0xac, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x5a, 0x0, 0x0, 0x4, 0xb8, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x6, 0x0, 0x11, 0x0, 0x0, 0x1, 0x23, 0x13, 0x33, 0x9, 0x1, 0x21, 0x3, 0x21, 0x11, 0x33, 0x15, 0x23, 0x11, 0x21, 0x11, 0x21, 0x35, 0x3, 0xa7, 0xcb, 0x3, 0xc8, 0xfe, 0xd4, 0xfe, 0x51, 0x1, 0xaf, 0x3, 0x1, 0x93, 0xad, 0xad, 0xfe, 0x70, 0xfd, 0xdf, 0x5, 0x71, 0xfa, 0xf3, 0x4, 0xc1, 0xfc, 0xe3, 0x3, 0xcd, 0xfc, 0x33, 0x64, 0xfe, 0x5c, 0x1, 0xa4, 0x7f, 0x0, 0x0, 0x0, 0x3, 0x0, 0x94, 0xff, 0xe3, 0x4, 0x8c, 0x5, 0xd5, 0x0, 0x4, 0x0, 0x8, 0x0, 0x1e, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x36, 0x1, 0x36, 0x10, 0x27, 0x3, 0x11, 0x26, 0x23, 0x22, 0x7, 0x11, 0x21, 0x15, 0x21, 0x11, 0xc, 0x1, 0x10, 0x4, 0x21, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x1, 0xff, 0xc8, 0x67, 0x1, 0xb6, 0xcc, 0xcc, 0x64, 0x31, 0x6a, 0xb4, 0xce, 0x3, 0x4b, 0xfe, 0x45, 0x1, 0x11, 0x1, 0x18, 0xfe, 0xd4, 0xfe, 0xbd, 0xb9, 0xd0, 0xbd, 0xdc, 0x81, 0x3, 0x91, 0x1, 0xe0, 0xfd, 0xfd, 0x1b, 0xfc, 0xe6, 0x5c, 0x1, 0xdc, 0x60, 0xfd, 0x49, 0x2, 0xd7, 0xa, 0x4b, 0x2, 0xef, 0x64, 0xfe, 0x23, 0x9, 0xf5, 0xfe, 0x46, 0xf9, 0x3c, 0x88, 0x64, 0x0, 0x0, 0x4, 0x0, 0x71, 0xff, 0xe3, 0x4, 0xaa, 0x5, 0xf0, 0x0, 0x4, 0x0, 0x9, 0x0, 0x11, 0x0, 0x25, 0x0, 0x0, 0x25, 0x36, 0x11, 0x10, 0x27, 0x1, 0x6, 0x11, 0x10, 0x1f, 0x1, 0x16, 0x32, 0x37, 0x11, 0x26, 0x22, 0x7, 0x13, 0x32, 0x17, 0x15, 0x27, 0x26, 0x20, 0x7, 0x11, 0x36, 0x33, 0x32, 0x0, 0x10, 0x0, 0x23, 0x20, 0x0, 0x10, 0x0, 0x3, 0x7c, 0xca, 0xca, 0xfe, 0x26, 0xcd, 0xcd, 0x64, 0x3a, 0xab, 0x2d, 0x28, 0xab, 0x3f, 0xf4, 0xa7, 0xa8, 0x22, 0x99, 0xfe, 0xd6, 0x5e, 0x42, 0x68, 0xf5, 0x1, 0x5, 0xfe, 0xf0, 0xf6, 0xfe, 0xdf, 0xfe, 0xee, 0x1, 0x50, 0x70, 0x63, 0x1, 0xc, 0x1, 0x18, 0x5c, 0x1, 0xca, 0xb3, 0xfe, 0x91, 0xfe, 0x23, 0x95, 0x32, 0x10, 0x8, 0x3, 0x22, 0x6, 0x13, 0x2, 0x8c, 0x3c, 0x6a, 0xc, 0x36, 0x2d, 0xfe, 0x66, 0x16, 0xfe, 0xef, 0xfe, 0x2f, 0xfe, 0xea, 0x1, 0x8d, 0x2, 0xdb, 0x1, 0xa5, 0x0, 0x0, 0x2, 0x0, 0x41, 0x0, 0x0, 0x4, 0xd6, 0x5, 0xd5, 0x0, 0x3, 0x0, 0xa, 0x0, 0x0, 0x9, 0x1, 0x33, 0x1, 0x25, 0x21, 0x15, 0x1, 0x21, 0x1, 0x21, 0x3, 0x95, 0xfe, 0xd, 0xd6, 0x1, 0xf3, 0xfb, 0xd6, 0x4, 0x95, 0xfd, 0xe7, 0xfe, 0x53, 0x2, 0x1a, 0xfd, 0x17, 0x5, 0x71, 0xfa, 0xf3, 0x5, 0xd, 0x64, 0x64, 0xfa, 0x8f, 0x5, 0x71, 0x0, 0x0, 0x0, 0x7, 0x0, 0x8b, 0xff, 0xe3, 0x4, 0x8b, 0x5, 0xf0, 0x0, 0x4, 0x0, 0xc, 0x0, 0x24, 0x0, 0x29, 0x0, 0x31, 0x0, 0x39, 0x0, 0x41, 0x0, 0x0, 0x25, 0x36, 0x27, 0x26, 0x27, 0x0, 0x10, 0x17, 0x16, 0x17, 0x11, 0x6, 0x7, 0x13, 0x35, 0x2e, 0x1, 0x35, 0x34, 0x24, 0x20, 0x16, 0x15, 0x14, 0x6, 0x7, 0x15, 0x1e, 0x1, 0x15, 0x14, 0x4, 0x20, 0x24, 0x35, 0x34, 0x36, 0x13, 0x11, 0x6, 0x7, 0x6, 0x5, 0x16, 0x32, 0x37, 0x11, 0x26, 0x22, 0x7, 0x19, 0x1, 0x16, 0x32, 0x37, 0x11, 0x26, 0x22, 0x5, 0x11, 0x36, 0x37, 0x36, 0x10, 0x27, 0x26, 0x3, 0x58, 0xd1, 0x7, 0x7, 0xc3, 0xfd, 0xba, 0x5f, 0x21, 0x2c, 0x2c, 0x20, 0x4c, 0x80, 0x90, 0x0, 0xff, 0x1, 0xbd, 0xfe, 0x90, 0x80, 0x91, 0xa2, 0xfe, 0xf7, 0xfe, 0x12, 0xfe, 0xf7, 0xa3, 0x90, 0xc3, 0x7, 0x7, 0x1, 0x35, 0x31, 0x70, 0x31, 0x31, 0x70, 0x31, 0x30, 0x72, 0x30, 0x30, 0x72, 0x1, 0x6, 0x2c, 0x20, 0x60, 0x5f, 0x21, 0x64, 0x4a, 0xea, 0xe4, 0x4e, 0x2, 0x27, 0xfe, 0xf8, 0x4d, 0x1b, 0x12, 0x1, 0xfc, 0x12, 0x1b, 0xfd, 0xdc, 0x2, 0x20, 0xb1, 0x80, 0xb3, 0xd0, 0xd0, 0xb3, 0x80, 0xb1, 0x20, 0x1, 0x23, 0xc5, 0x8f, 0xd9, 0xe8, 0xe8, 0xd9, 0x8f, 0xc5, 0xfd, 0x6c, 0x2, 0x66, 0x4e, 0xe4, 0xea, 0x61, 0x6, 0x6, 0x2, 0x96, 0x7, 0x7, 0x2, 0xa2, 0xfd, 0xd0, 0x7, 0x7, 0x2, 0x30, 0x7, 0x21, 0xfe, 0x4, 0x12, 0x1b, 0x4d, 0x1, 0x8, 0x4d, 0x1b, 0x0, 0x4, 0x0, 0x6a, 0xff, 0xe3, 0x4, 0xa3, 0x5, 0xf0, 0x0, 0x4, 0x0, 0x9, 0x0, 0x11, 0x0, 0x25, 0x0, 0x0, 0x1, 0x6, 0x11, 0x10, 0x17, 0x1, 0x36, 0x11, 0x10, 0x2f, 0x1, 0x26, 0x22, 0x7, 0x11, 0x16, 0x32, 0x37, 0x3, 0x22, 0x27, 0x35, 0x17, 0x16, 0x20, 0x37, 0x11, 0x6, 0x23, 0x22, 0x0, 0x10, 0x0, 0x33, 0x20, 0x0, 0x10, 0x0, 0x1, 0x98, 0xca, 0xca, 0x1, 0xda, 0xcd, 0xcd, 0x64, 0x3a, 0xab, 0x2d, 0x28, 0xab, 0x3f, 0xf4, 0xa7, 0xa8, 0x22, 0x99, 0x1, 0x2a, 0x5e, 0x42, 0x68, 0xf5, 0xfe, 0xfb, 0x1, 0x10, 0xf6, 0x1, 0x21, 0x1, 0x12, 0xfe, 0xb0, 0x5, 0x63, 0x63, 0xfe, 0xf4, 0xfe, 0xe8, 0x5c, 0xfe, 0x36, 0xb3, 0x1, 0x6f, 0x1, 0xdd, 0x95, 0x32, 0x10, 0x8, 0xfc, 0xde, 0x6, 0x13, 0xfd, 0x74, 0x3c, 0x6a, 0xc, 0x36, 0x2d, 0x1, 0x9a, 0x16, 0x1, 0x11, 0x1, 0xd1, 0x1, 0x16, 0xfe, 0x73, 0xfd, 0x25, 0xfe, 0x5b, 0xff, 0xff, 0x0, 0x87, 0xff, 0xe3, 0x4, 0x8f, 0x5, 0xf0, 0x10, 0x6, 0x0, 0x13, 0x0, 0x0, 0xff, 0xff, 0x0, 0xe1, 0x0, 0x0, 0x4, 0x5a, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x14, 0x0, 0x0, 0xff, 0xff, 0x0, 0x96, 0x0, 0x0, 0x4, 0x4a, 0x5, 0xf0, 0x10, 0x6, 0x0, 0x15, 0x0, 0x0, 0xff, 0xff, 0x0, 0x9c, 0xff, 0xe3, 0x4, 0x73, 0x5, 0xf0, 0x10, 0x6, 0x0, 0x16, 0x0, 0x0, 0xff, 0xff, 0x0, 0x64, 0x0, 0x0, 0x4, 0xa4, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x17, 0x0, 0x0, 0xff, 0xff, 0x0, 0x9e, 0xff, 0xe3, 0x4, 0x64, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x18, 0x0, 0x0, 0xff, 0xff, 0x0, 0x8f, 0xff, 0xe3, 0x4, 0x96, 0x5, 0xf0, 0x10, 0x6, 0x0, 0x19, 0x0, 0x0, 0xff, 0xff, 0x0, 0xa8, 0x0, 0x0, 0x4, 0x68, 0x5, 0xd5, 0x10, 0x6, 0x0, 0x1a, 0x0, 0x0, 0xff, 0xff, 0x0, 0x8b, 0xff, 0xe3, 0x4, 0x8b, 0x5, 0xf0, 0x10, 0x6, 0x0, 0x1b, 0x0, 0x0, 0xff, 0xff, 0x0, 0x81, 0xff, 0xe3, 0x4, 0x87, 0x5, 0xf0, 0x10, 0x6, 0x0, 0x1c, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x33, 0x11, 0x23, 0x1, 0x11, 0x21, 0x11, 0x5, 0x2e, 0x8d, 0x8d, 0xfb, 0x9a, 0x9, 0x59, 0x1, 0x5f, 0x2, 0xc3, 0xfc, 0x24, 0x4, 0xf5, 0xfb, 0xb, 0x0, 0x0, 0x0, 0x3, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x0, 0x37, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0xc8, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0x46, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x0, 0x0, 0x0, 0x4, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x16, 0x0, 0x1a, 0x0, 0x1e, 0x0, 0x22, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x7, 0x30, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0xf9, 0x98, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0x2, 0xc3, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x0, 0x0, 0x5, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x16, 0x0, 0x2c, 0x0, 0x30, 0x0, 0x34, 0x0, 0x38, 0x0, 0x0, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x8, 0xb1, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xc5, 0x24, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfa, 0x8, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0x1, 0x3f, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x2, 0x11, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0xfc, 0xf6, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x0, 0x6, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x16, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x45, 0x0, 0x49, 0x0, 0x4d, 0x0, 0x0, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x8, 0xb1, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfe, 0xce, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfe, 0xd2, 0x24, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfa, 0x8, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0x1, 0x3f, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x1, 0x9, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x48, 0x19, 0x1a, 0x12, 0xf, 0x1, 0x8, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0xfc, 0xf6, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x0, 0x0, 0x7, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x57, 0x0, 0x5b, 0x0, 0x5f, 0x0, 0x63, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x6, 0x27, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0xfd, 0xde, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xf8, 0x8f, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0x3, 0xcc, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfc, 0x9f, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x57, 0x0, 0x6e, 0x0, 0x72, 0x0, 0x76, 0x0, 0x7a, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x5, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x6, 0x27, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0xfd, 0xde, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfe, 0xf7, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0xf9, 0x98, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0x3, 0xcc, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xe4, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x0, 0x0, 0x9, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x14, 0x0, 0x2a, 0x0, 0x40, 0x0, 0x55, 0x0, 0x69, 0x0, 0x7f, 0x0, 0x83, 0x0, 0x87, 0x0, 0x8b, 0x0, 0x0, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x3, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x20, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x14, 0x7, 0x6, 0x7, 0x0, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x2, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x0, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x7, 0x6, 0x7, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x7, 0xa4, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfe, 0xcd, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x11, 0x1a, 0x2, 0x55, 0x4a, 0x16, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x16, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0xfd, 0x7e, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x11, 0x1a, 0xfa, 0x1c, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0x3, 0x52, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x16, 0x1a, 0x13, 0x10, 0xfd, 0xef, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x24, 0x24, 0x18, 0x1a, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0xfd, 0xde, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0xfc, 0xe3, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x0, 0x0, 0x0, 0x4, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x15, 0x0, 0x19, 0x0, 0x1d, 0x0, 0x21, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x2, 0xca, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x19, 0x1a, 0x11, 0x10, 0xfd, 0xfe, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0x2, 0xc3, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x15, 0x0, 0x2c, 0x0, 0x30, 0x0, 0x34, 0x0, 0x38, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x25, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x2, 0xcc, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x48, 0x18, 0x1a, 0x11, 0x10, 0x4, 0x64, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0xf9, 0x98, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0x2, 0xc3, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x0, 0x0, 0x6, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x15, 0x0, 0x2c, 0x0, 0x42, 0x0, 0x46, 0x0, 0x4a, 0x0, 0x4e, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x2, 0xca, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x19, 0x1a, 0x11, 0x10, 0x5, 0xe7, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xc5, 0x24, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfa, 0x8, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0x2, 0xc3, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfe, 0xa1, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x2, 0x11, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0xfc, 0xf6, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x15, 0x0, 0x2c, 0x0, 0x41, 0x0, 0x57, 0x0, 0x5b, 0x0, 0x5f, 0x0, 0x63, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x2, 0xca, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x19, 0x1a, 0x11, 0x10, 0x5, 0xe7, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfe, 0xce, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfe, 0xd2, 0x24, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfa, 0x8, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0x2, 0xc3, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfe, 0xa1, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x1, 0x9, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x48, 0x19, 0x1a, 0x12, 0xf, 0x1, 0x8, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0xfc, 0xf6, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x0, 0x8, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x57, 0x0, 0x6d, 0x0, 0x71, 0x0, 0x75, 0x0, 0x79, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x2, 0xca, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x19, 0x1a, 0x11, 0x10, 0x3, 0x5d, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0xfd, 0xde, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xf8, 0x8f, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0x2, 0xc3, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x1, 0x2e, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfc, 0x9f, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x0, 0x0, 0x0, 0x9, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x57, 0x0, 0x6d, 0x0, 0x84, 0x0, 0x88, 0x0, 0x8c, 0x0, 0x90, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x5, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x2, 0xca, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x19, 0x1a, 0x11, 0x10, 0x3, 0x5d, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0xfd, 0xde, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfe, 0xf7, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0xf9, 0x98, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0x2, 0xc3, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x1, 0x2e, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xe4, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x0, 0xa, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x15, 0x0, 0x2a, 0x0, 0x40, 0x0, 0x56, 0x0, 0x6b, 0x0, 0x7f, 0x0, 0x95, 0x0, 0x99, 0x0, 0x9d, 0x0, 0xa1, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x25, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x3, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x20, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x14, 0x7, 0x6, 0x7, 0x0, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x2, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x0, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x7, 0x6, 0x7, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x2, 0xca, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x19, 0x1a, 0x11, 0x10, 0x4, 0xda, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfe, 0xcd, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x11, 0x1a, 0x2, 0x55, 0x4a, 0x16, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x16, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0xfd, 0x7e, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x11, 0x1a, 0xfa, 0x1c, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0x2, 0xc3, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xb4, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x16, 0x1a, 0x13, 0x10, 0xfd, 0xef, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x24, 0x24, 0x18, 0x1a, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0xfd, 0xde, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0xfc, 0xe3, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x0, 0x0, 0x0, 0x5, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x2f, 0x0, 0x33, 0x0, 0x37, 0x0, 0x0, 0x0, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x4, 0x72, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0xfd, 0xad, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfe, 0x6d, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0x1, 0x40, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfc, 0xf4, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x16, 0x0, 0x1a, 0x0, 0x1e, 0x0, 0x22, 0x0, 0x38, 0x0, 0x4e, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x4, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x30, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0xf9, 0x98, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0xfe, 0xb7, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0xfd, 0xad, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x2, 0xc3, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x1f, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x0, 0x0, 0x7, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x16, 0x0, 0x2c, 0x0, 0x30, 0x0, 0x34, 0x0, 0x38, 0x0, 0x4e, 0x0, 0x64, 0x0, 0x0, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x4, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x8, 0xb1, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xc5, 0x24, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfa, 0x8, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0xfe, 0xb7, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0xfd, 0xad, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x1, 0x3f, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x2, 0x11, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0xfc, 0xf6, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x1f, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x0, 0x8, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x16, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x45, 0x0, 0x49, 0x0, 0x4d, 0x0, 0x63, 0x0, 0x79, 0x0, 0x0, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x4, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x8, 0xb1, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfe, 0xce, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfe, 0xd2, 0x24, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfa, 0x8, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0xfe, 0xb7, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0xfd, 0xad, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x1, 0x3f, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x1, 0x9, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x48, 0x19, 0x1a, 0x12, 0xf, 0x1, 0x8, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0xfc, 0xf6, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x1f, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x0, 0x0, 0x9, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x14, 0x0, 0x29, 0x0, 0x3e, 0x0, 0x53, 0x0, 0x57, 0x0, 0x5b, 0x0, 0x5f, 0x0, 0x74, 0x0, 0x89, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x4, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x6, 0x27, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0xfd, 0xde, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xf8, 0x8f, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0xfe, 0xb7, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0xfd, 0xad, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x3, 0xcc, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfc, 0x9f, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x1f, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x57, 0x0, 0x6e, 0x0, 0x72, 0x0, 0x76, 0x0, 0x7a, 0x0, 0x90, 0x0, 0xa6, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x5, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x4, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x6, 0x27, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0xfd, 0xde, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfe, 0xf7, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0xf9, 0x98, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0xfe, 0xb7, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0xfd, 0xad, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x3, 0xcc, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xe4, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x1f, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x0, 0x0, 0xb, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x14, 0x0, 0x2a, 0x0, 0x40, 0x0, 0x55, 0x0, 0x69, 0x0, 0x7f, 0x0, 0x83, 0x0, 0x87, 0x0, 0x8b, 0x0, 0xa1, 0x0, 0xb7, 0x0, 0x0, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x3, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x20, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x14, 0x7, 0x6, 0x7, 0x0, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x2, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x0, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x7, 0x6, 0x7, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x4, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0xa4, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfe, 0xcd, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x11, 0x1a, 0x2, 0x55, 0x4a, 0x16, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x16, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0xfd, 0x7e, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x11, 0x1a, 0xfa, 0x1c, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0xfe, 0xb7, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0xfd, 0xad, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x3, 0x52, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x16, 0x1a, 0x13, 0x10, 0xfd, 0xef, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x24, 0x24, 0x18, 0x1a, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0xfd, 0xde, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0xfc, 0xe3, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x1f, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x0, 0x0, 0x0, 0x6, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x45, 0x0, 0x49, 0x0, 0x4d, 0x0, 0x0, 0x0, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x25, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x4, 0x72, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0xfe, 0xb6, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfe, 0xd2, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfe, 0x6d, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0x1, 0x40, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xf9, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0x1, 0x9, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfc, 0xf4, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x58, 0x0, 0x5c, 0x0, 0x60, 0x0, 0x64, 0x0, 0x0, 0x0, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x25, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x5, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x4, 0x72, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0xfe, 0xb6, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfe, 0xd2, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x4, 0xd5, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0xf9, 0x98, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0x1, 0x40, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xf9, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0x1, 0x9, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x8f, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x0, 0x0, 0x8, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x58, 0x0, 0x6e, 0x0, 0x72, 0x0, 0x76, 0x0, 0x7a, 0x0, 0x0, 0x0, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x25, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x4, 0x72, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0xfe, 0xb6, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfe, 0xd2, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x6, 0x56, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xc5, 0x24, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfa, 0x8, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0x1, 0x40, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xf9, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0x1, 0x9, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfd, 0xed, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x2, 0x11, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0xfc, 0xf6, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x58, 0x0, 0x6d, 0x0, 0x83, 0x0, 0x87, 0x0, 0x8b, 0x0, 0x8f, 0x0, 0x0, 0x0, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x25, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x4, 0x72, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0xfe, 0xb6, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfe, 0xd2, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x6, 0x56, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfe, 0xce, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfe, 0xd2, 0x24, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfa, 0x8, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0x1, 0x40, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xf9, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0x1, 0x9, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfd, 0xed, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x1, 0x9, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x48, 0x19, 0x1a, 0x12, 0xf, 0x1, 0x8, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0xfc, 0xf6, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x0, 0xa, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x57, 0x0, 0x6d, 0x0, 0x83, 0x0, 0x99, 0x0, 0x9d, 0x0, 0xa1, 0x0, 0xa5, 0x0, 0x0, 0x0, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x25, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x25, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x4, 0x72, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0xfe, 0xb6, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfe, 0xd2, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x3, 0xcc, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0xfd, 0xde, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xf8, 0x8f, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0x1, 0x40, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xf9, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0x1, 0x9, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x7a, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfc, 0x9f, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x0, 0x0, 0x0, 0x0, 0xb, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x57, 0x0, 0x6d, 0x0, 0x83, 0x0, 0x99, 0x0, 0xb0, 0x0, 0xb4, 0x0, 0xb8, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x25, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x25, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x5, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x4, 0x72, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0xfe, 0xb6, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfe, 0xd2, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x3, 0xcc, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0xfd, 0xde, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfe, 0xf7, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0xf9, 0x98, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0x1, 0x40, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xf9, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0x1, 0x9, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x7a, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xe4, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x0, 0x0, 0xc, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x56, 0x0, 0x6c, 0x0, 0x82, 0x0, 0x97, 0x0, 0xab, 0x0, 0xc1, 0x0, 0xc5, 0x0, 0xc9, 0x0, 0xcd, 0x0, 0x0, 0x0, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x25, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x21, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x3, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x20, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x14, 0x7, 0x6, 0x7, 0x0, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x2, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x0, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x7, 0x6, 0x7, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x4, 0x72, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0xfe, 0xb6, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfe, 0xd2, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x5, 0x49, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfe, 0xcd, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x11, 0x1a, 0x2, 0x55, 0x4a, 0x16, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x16, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0xfd, 0x7e, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x11, 0x1a, 0xfa, 0x1c, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0x1, 0x40, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xf9, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0x1, 0x9, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x16, 0x1a, 0x13, 0x10, 0xfd, 0xef, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x24, 0x24, 0x18, 0x1a, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0xfd, 0xde, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0xfc, 0xe3, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x14, 0x0, 0x29, 0x0, 0x3e, 0x0, 0x53, 0x0, 0x57, 0x0, 0x5b, 0x0, 0x5f, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x1, 0xc1, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0xfd, 0xde, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfc, 0xf5, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0x3, 0xcc, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfc, 0x9f, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x15, 0x0, 0x19, 0x0, 0x1d, 0x0, 0x21, 0x0, 0x36, 0x0, 0x4b, 0x0, 0x60, 0x0, 0x75, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x7, 0x30, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0xf9, 0x98, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0xfc, 0x6, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0xfd, 0xde, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x2, 0xc3, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x2, 0x6d, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x0, 0x0, 0x0, 0x9, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x16, 0x0, 0x2c, 0x0, 0x30, 0x0, 0x34, 0x0, 0x38, 0x0, 0x4e, 0x0, 0x64, 0x0, 0x7a, 0x0, 0x90, 0x0, 0x0, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x8, 0xb1, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xc5, 0x24, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfa, 0x8, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0xfc, 0x6, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0xfd, 0xde, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x1, 0x3f, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x2, 0x11, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0xfc, 0xf6, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x2, 0x6d, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x16, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x45, 0x0, 0x49, 0x0, 0x4d, 0x0, 0x63, 0x0, 0x79, 0x0, 0x8f, 0x0, 0xa5, 0x0, 0x0, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x8, 0xb1, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfe, 0xce, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfe, 0xd2, 0x24, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfa, 0x8, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0xfc, 0x6, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0xfd, 0xde, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x1, 0x3f, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x1, 0x9, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x48, 0x19, 0x1a, 0x12, 0xf, 0x1, 0x8, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0xfc, 0xf6, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x2, 0x6d, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x0, 0xb, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x57, 0x0, 0x5b, 0x0, 0x5f, 0x0, 0x63, 0x0, 0x79, 0x0, 0x8f, 0x0, 0xa5, 0x0, 0xbb, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x6, 0x27, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0xfd, 0xde, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xf8, 0x8f, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0xfc, 0x6, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0xfd, 0xde, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x3, 0xcc, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfc, 0x9f, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x2, 0x6d, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x0, 0x0, 0x0, 0xc, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x57, 0x0, 0x6e, 0x0, 0x72, 0x0, 0x76, 0x0, 0x7a, 0x0, 0x90, 0x0, 0xa6, 0x0, 0xbc, 0x0, 0xd2, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x5, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x6, 0x27, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0xfd, 0xde, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfe, 0xf7, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0xf9, 0x98, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0xfc, 0x6, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0xfd, 0xde, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x3, 0xcc, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xe4, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x2, 0x6d, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x0, 0xd, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x14, 0x0, 0x2a, 0x0, 0x40, 0x0, 0x55, 0x0, 0x69, 0x0, 0x7f, 0x0, 0x83, 0x0, 0x87, 0x0, 0x8b, 0x0, 0xa1, 0x0, 0xb7, 0x0, 0xcd, 0x0, 0xe3, 0x0, 0x0, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x3, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x20, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x14, 0x7, 0x6, 0x7, 0x0, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x2, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x0, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x7, 0x6, 0x7, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x7, 0xa4, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfe, 0xcd, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x11, 0x1a, 0x2, 0x55, 0x4a, 0x16, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x16, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0xfd, 0x7e, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x11, 0x1a, 0xfa, 0x1c, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0xfc, 0x6, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0xfd, 0xde, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x3, 0x52, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x16, 0x1a, 0x13, 0x10, 0xfd, 0xef, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x24, 0x24, 0x18, 0x1a, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0xfd, 0xde, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0xfc, 0xe3, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x2, 0x6d, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x0, 0x0, 0x8, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x21, 0x0, 0x37, 0x0, 0x4d, 0x0, 0x63, 0x0, 0x79, 0x0, 0x0, 0x37, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x5, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0xc8, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0xfc, 0x6, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0xfd, 0xde, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfe, 0xf7, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x19, 0x1a, 0x11, 0x10, 0x46, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x2, 0x6d, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xe4, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x0, 0x0, 0x9, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x16, 0x0, 0x1a, 0x0, 0x1e, 0x0, 0x22, 0x0, 0x38, 0x0, 0x4e, 0x0, 0x64, 0x0, 0x7a, 0x0, 0x90, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x5, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x7, 0x30, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0xf9, 0x98, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0xfc, 0x6, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0xfd, 0xde, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfe, 0xf7, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x19, 0x1a, 0x11, 0x10, 0x2, 0xc3, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x2, 0x6d, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xe4, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x0, 0xa, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x16, 0x0, 0x2c, 0x0, 0x30, 0x0, 0x34, 0x0, 0x38, 0x0, 0x4e, 0x0, 0x64, 0x0, 0x7a, 0x0, 0x90, 0x0, 0xa6, 0x0, 0x0, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x5, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x8, 0xb1, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xc5, 0x24, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfa, 0x8, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0xfc, 0x6, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0xfd, 0xde, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfe, 0xf7, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x19, 0x1a, 0x11, 0x10, 0x1, 0x3f, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x2, 0x11, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0xfc, 0xf6, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x2, 0x6d, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xe4, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x0, 0x0, 0x0, 0x0, 0xb, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x16, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x45, 0x0, 0x49, 0x0, 0x4d, 0x0, 0x63, 0x0, 0x79, 0x0, 0x8f, 0x0, 0xa5, 0x0, 0xbb, 0x0, 0x0, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x5, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x8, 0xb1, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfe, 0xce, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfe, 0xd2, 0x24, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfa, 0x8, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0xfc, 0x6, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0xfd, 0xde, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfe, 0xf7, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x19, 0x1a, 0x11, 0x10, 0x1, 0x3f, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x1, 0x9, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x48, 0x19, 0x1a, 0x12, 0xf, 0x1, 0x8, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0xfc, 0xf6, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x2, 0x6d, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xe4, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x0, 0xc, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x57, 0x0, 0x5b, 0x0, 0x5f, 0x0, 0x63, 0x0, 0x79, 0x0, 0x8f, 0x0, 0xa5, 0x0, 0xbb, 0x0, 0xd1, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x5, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x6, 0x27, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0xfd, 0xde, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xf8, 0x8f, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0xfc, 0x6, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0xfd, 0xde, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfe, 0xf7, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x19, 0x1a, 0x11, 0x10, 0x3, 0xcc, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfc, 0x9f, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x2, 0x6d, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xe4, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x0, 0x0, 0x0, 0xd, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x57, 0x0, 0x6e, 0x0, 0x72, 0x0, 0x76, 0x0, 0x7a, 0x0, 0x90, 0x0, 0xa6, 0x0, 0xbc, 0x0, 0xd2, 0x0, 0xe8, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x5, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x5, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x6, 0x27, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0xfd, 0xde, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfe, 0xf7, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0xf9, 0x98, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0xfc, 0x6, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0xfd, 0xde, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfe, 0xf7, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x19, 0x1a, 0x11, 0x10, 0x3, 0xcc, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xe4, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x2, 0x6d, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xe4, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x0, 0xe, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x14, 0x0, 0x2a, 0x0, 0x40, 0x0, 0x55, 0x0, 0x69, 0x0, 0x7f, 0x0, 0x83, 0x0, 0x87, 0x0, 0x8b, 0x0, 0xa1, 0x0, 0xb7, 0x0, 0xcd, 0x0, 0xe3, 0x0, 0xf9, 0x0, 0x0, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x3, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x20, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x14, 0x7, 0x6, 0x7, 0x0, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x2, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x0, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x7, 0x6, 0x7, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x5, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x7, 0xa4, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfe, 0xcd, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x11, 0x1a, 0x2, 0x55, 0x4a, 0x16, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x16, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0xfd, 0x7e, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x11, 0x1a, 0xfa, 0x1c, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0xfc, 0x6, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0xfd, 0xde, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfe, 0xf7, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x19, 0x1a, 0x11, 0x10, 0x3, 0x52, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x16, 0x1a, 0x13, 0x10, 0xfd, 0xef, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x24, 0x24, 0x18, 0x1a, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0xfd, 0xde, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0xfc, 0xe3, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x2, 0x6d, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xe4, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x0, 0x0, 0x9, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x22, 0x0, 0x3a, 0x0, 0x50, 0x0, 0x66, 0x0, 0x7c, 0x0, 0x92, 0x0, 0x0, 0x37, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x3, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x20, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x14, 0x7, 0x6, 0x7, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x3, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x0, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x7, 0x6, 0x7, 0xc8, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0xfd, 0x84, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfe, 0xcd, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x10, 0x1b, 0x2, 0x30, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0x95, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x10, 0x1b, 0x46, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x1, 0xf2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0xfd, 0xef, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x0, 0xa, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x16, 0x0, 0x1a, 0x0, 0x1e, 0x0, 0x22, 0x0, 0x39, 0x0, 0x51, 0x0, 0x67, 0x0, 0x7d, 0x0, 0x93, 0x0, 0xa9, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x3, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x20, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x14, 0x7, 0x6, 0x7, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x3, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x0, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x7, 0x6, 0x7, 0x7, 0x30, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0xf9, 0x98, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0xfd, 0x84, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfe, 0xcd, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x10, 0x1b, 0x2, 0x30, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0x95, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x10, 0x1b, 0x2, 0xc3, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x1, 0xf2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0xfd, 0xef, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x0, 0x0, 0x0, 0x0, 0xb, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x16, 0x0, 0x2c, 0x0, 0x30, 0x0, 0x34, 0x0, 0x38, 0x0, 0x4f, 0x0, 0x67, 0x0, 0x7d, 0x0, 0x93, 0x0, 0xa9, 0x0, 0xbf, 0x0, 0x0, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x3, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x20, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x14, 0x7, 0x6, 0x7, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x3, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x0, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x7, 0x6, 0x7, 0x8, 0xb1, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xc5, 0x24, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfa, 0x8, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0xfd, 0x84, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfe, 0xcd, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x10, 0x1b, 0x2, 0x30, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0x95, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x10, 0x1b, 0x1, 0x3f, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x2, 0x11, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0xfc, 0xf6, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x1, 0xf2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0xfd, 0xef, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x0, 0x0, 0x0, 0xc, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x16, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x45, 0x0, 0x49, 0x0, 0x4d, 0x0, 0x64, 0x0, 0x7c, 0x0, 0x92, 0x0, 0xa8, 0x0, 0xbe, 0x0, 0xd4, 0x0, 0x0, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x3, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x20, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x14, 0x7, 0x6, 0x7, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x3, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x0, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x7, 0x6, 0x7, 0x8, 0xb1, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfe, 0xce, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfe, 0xd2, 0x24, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfa, 0x8, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0xfd, 0x84, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfe, 0xcd, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x10, 0x1b, 0x2, 0x30, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0x95, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x10, 0x1b, 0x1, 0x3f, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x1, 0x9, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x48, 0x19, 0x1a, 0x12, 0xf, 0x1, 0x8, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0xfc, 0xf6, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x1, 0xf2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0xfd, 0xef, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x57, 0x0, 0x5b, 0x0, 0x5f, 0x0, 0x63, 0x0, 0x7a, 0x0, 0x92, 0x0, 0xa8, 0x0, 0xbe, 0x0, 0xd4, 0x0, 0xea, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x3, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x20, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x14, 0x7, 0x6, 0x7, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x3, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x0, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x7, 0x6, 0x7, 0x6, 0x27, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0xfd, 0xde, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xf8, 0x8f, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0xfd, 0x84, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfe, 0xcd, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x10, 0x1b, 0x2, 0x30, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0x95, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x10, 0x1b, 0x3, 0xcc, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfc, 0x9f, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x1, 0xf2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0xfd, 0xef, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x0, 0x0, 0xe, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x57, 0x0, 0x6e, 0x0, 0x72, 0x0, 0x76, 0x0, 0x7a, 0x0, 0x91, 0x0, 0xa9, 0x0, 0xbf, 0x0, 0xd5, 0x0, 0xeb, 0x1, 0x1, 0x0, 0x0, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x5, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x3, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x20, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x14, 0x7, 0x6, 0x7, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x3, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x0, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x7, 0x6, 0x7, 0x6, 0x27, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0xfd, 0xde, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfe, 0xf7, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0xf9, 0x98, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0xfd, 0x84, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfe, 0xcd, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x10, 0x1b, 0x2, 0x30, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0x95, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x10, 0x1b, 0x3, 0xcc, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xe4, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x1, 0xf2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0xfd, 0xef, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x0, 0x0, 0x0, 0x0, 0xf, 0x0, 0xc8, 0x0, 0x46, 0xa, 0x21, 0x5, 0x3b, 0x0, 0x14, 0x0, 0x2a, 0x0, 0x40, 0x0, 0x55, 0x0, 0x69, 0x0, 0x7f, 0x0, 0x83, 0x0, 0x87, 0x0, 0x8b, 0x0, 0xa1, 0x0, 0xb7, 0x0, 0xcc, 0x0, 0xe1, 0x0, 0xf6, 0x1, 0xb, 0x0, 0x0, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x3, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x20, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x14, 0x7, 0x6, 0x7, 0x0, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x2, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x0, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x7, 0x6, 0x7, 0x1, 0x11, 0x21, 0x11, 0x27, 0x11, 0x21, 0x11, 0x25, 0x11, 0x33, 0x11, 0x1, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x3, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x20, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x7, 0x6, 0x7, 0x1, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x3, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x0, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x1, 0x7, 0x6, 0x7, 0x7, 0xa4, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfe, 0xcc, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x11, 0x1a, 0x2, 0x55, 0x49, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x49, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0xfd, 0x7d, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x11, 0x1a, 0xfa, 0x1c, 0x9, 0x59, 0x8d, 0xf7, 0xc1, 0x3, 0xd9, 0x8d, 0xfd, 0x84, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfe, 0xcc, 0x49, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x10, 0x1b, 0x2, 0x30, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0x94, 0x49, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x10, 0x1b, 0x3, 0x52, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x49, 0x17, 0x1a, 0x13, 0x10, 0xfd, 0xef, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x24, 0x24, 0x18, 0x1a, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0xfd, 0xde, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0xfc, 0xe3, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x1, 0xf2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0xfd, 0xef, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x15, 0x21, 0x35, 0x1, 0x21, 0x11, 0x21, 0x1, 0xe1, 0x2, 0xc3, 0xfc, 0x24, 0x4, 0xf5, 0xfb, 0xb, 0x3, 0x7, 0x8d, 0x8d, 0x4, 0x66, 0xf6, 0xa7, 0x0, 0x0, 0x0, 0x3, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x0, 0x13, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0xc8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x7, 0x6d, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x0, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x16, 0x0, 0x1a, 0x0, 0x1e, 0x0, 0x22, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x3, 0x45, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x1, 0x5, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0x6, 0x68, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x0, 0x0, 0x5, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x2f, 0x0, 0x33, 0x0, 0x37, 0x0, 0x0, 0x5, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0xc1, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x2, 0x11, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0xfc, 0xf6, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x7c, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x2, 0x3b, 0x24, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x5, 0xf8, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x16, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x45, 0x0, 0x49, 0x0, 0x4d, 0x0, 0x0, 0x5, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0xc1, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x1, 0x9, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x48, 0x19, 0x1a, 0x12, 0xf, 0x1, 0x8, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0xfc, 0xf6, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x7c, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x1, 0x32, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x1, 0x2e, 0x24, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x5, 0xf8, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x0, 0x0, 0x0, 0x7, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x57, 0x0, 0x5b, 0x0, 0x5f, 0x0, 0x63, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x12, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x4, 0x4e, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfc, 0x9f, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x2, 0xe, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x22, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xfd, 0xfe, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x7, 0x71, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x57, 0x0, 0x6e, 0x0, 0x72, 0x0, 0x76, 0x0, 0x7a, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x12, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x3, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x4, 0x4e, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xe4, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x2, 0xe, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x22, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xfd, 0xfe, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x1, 0x9, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0x6, 0x68, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x0, 0x0, 0x9, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x14, 0x0, 0x2a, 0x0, 0x40, 0x0, 0x55, 0x0, 0x69, 0x0, 0x7f, 0x0, 0x83, 0x0, 0x87, 0x0, 0x8b, 0x0, 0x0, 0x25, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x25, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x10, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x22, 0x27, 0x26, 0x27, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x27, 0x26, 0x27, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x3, 0xd4, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x16, 0x1a, 0x13, 0x10, 0xfd, 0xef, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x24, 0x24, 0x18, 0x1a, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0xfd, 0xde, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0xfc, 0xe3, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x91, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x1, 0x33, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x11, 0x1a, 0xfd, 0xab, 0x4a, 0x16, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x16, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x2, 0x82, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x11, 0x1a, 0x5, 0xe4, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x19, 0x0, 0x1d, 0x0, 0x21, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x3, 0x45, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x5, 0x6b, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x19, 0x1a, 0x11, 0x10, 0x2, 0x2, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x2c, 0x0, 0x30, 0x0, 0x34, 0x0, 0x38, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x13, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x3, 0x45, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x5, 0x69, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x48, 0x18, 0x1a, 0x11, 0x10, 0xfb, 0x9c, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0x6, 0x68, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x0, 0x0, 0x6, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x2c, 0x0, 0x42, 0x0, 0x46, 0x0, 0x4a, 0x0, 0x4e, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x3, 0x45, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfe, 0xa1, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x2, 0x11, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0xfc, 0xf6, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x5, 0x6b, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x19, 0x1a, 0x11, 0x10, 0xfa, 0x19, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x2, 0x3b, 0x24, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x5, 0xf8, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x2c, 0x0, 0x41, 0x0, 0x57, 0x0, 0x5b, 0x0, 0x5f, 0x0, 0x63, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x3, 0x45, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfe, 0xa1, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x1, 0x9, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x48, 0x19, 0x1a, 0x12, 0xf, 0x1, 0x8, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0xfc, 0xf6, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x5, 0x6b, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x19, 0x1a, 0x11, 0x10, 0xfa, 0x19, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x1, 0x32, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x1, 0x2e, 0x24, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x5, 0xf8, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x0, 0x8, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x57, 0x0, 0x6d, 0x0, 0x71, 0x0, 0x75, 0x0, 0x79, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x12, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x3, 0x45, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x1, 0x2e, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfc, 0x9f, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x5, 0x6b, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x19, 0x1a, 0x11, 0x10, 0xfc, 0xa3, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x22, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xfd, 0xfe, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x7, 0x71, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x0, 0x0, 0x0, 0x9, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x57, 0x0, 0x6d, 0x0, 0x84, 0x0, 0x88, 0x0, 0x8c, 0x0, 0x90, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x12, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x3, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x3, 0x45, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x1, 0x2e, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xe4, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x5, 0x6b, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x19, 0x1a, 0x11, 0x10, 0xfc, 0xa3, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x22, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xfd, 0xfe, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x1, 0x9, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0x6, 0x68, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x0, 0xa, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x2a, 0x0, 0x40, 0x0, 0x56, 0x0, 0x6b, 0x0, 0x7f, 0x0, 0x95, 0x0, 0x99, 0x0, 0x9d, 0x0, 0xa1, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x13, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x25, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x10, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x22, 0x27, 0x26, 0x27, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x27, 0x26, 0x27, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x3, 0x45, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xb4, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x16, 0x1a, 0x13, 0x10, 0xfd, 0xef, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x24, 0x24, 0x18, 0x1a, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0xfd, 0xde, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0xfc, 0xe3, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x5, 0x6b, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x19, 0x1a, 0x11, 0x10, 0xfb, 0x26, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x1, 0x33, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x11, 0x1a, 0xfd, 0xab, 0x4a, 0x16, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x16, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x2, 0x82, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x11, 0x1a, 0x5, 0xe4, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x0, 0x0, 0x0, 0x5, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x2f, 0x0, 0x33, 0x0, 0x37, 0x0, 0x0, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0xc2, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfc, 0xf4, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x3, 0xc3, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x1, 0x93, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x16, 0x0, 0x1a, 0x0, 0x1e, 0x0, 0x22, 0x0, 0x38, 0x0, 0x4e, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x2, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x3, 0x45, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x1f, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x1, 0x5, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0x6, 0x68, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x1, 0x49, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x0, 0x0, 0x7, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x16, 0x0, 0x2c, 0x0, 0x30, 0x0, 0x34, 0x0, 0x38, 0x0, 0x4e, 0x0, 0x64, 0x0, 0x0, 0x5, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x2, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0xc1, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x2, 0x11, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0xfc, 0xf6, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x1f, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x7c, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x2, 0x3b, 0x24, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x5, 0xf8, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x1, 0x49, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x0, 0x0, 0x8, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x16, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x45, 0x0, 0x49, 0x0, 0x4d, 0x0, 0x63, 0x0, 0x79, 0x0, 0x0, 0x5, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x2, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0xc1, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x1, 0x9, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x48, 0x19, 0x1a, 0x12, 0xf, 0x1, 0x8, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0xfc, 0xf6, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x1f, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x7c, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x1, 0x32, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x1, 0x2e, 0x24, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x5, 0xf8, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x1, 0x49, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x0, 0x0, 0x0, 0x9, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x57, 0x0, 0x5b, 0x0, 0x5f, 0x0, 0x63, 0x0, 0x79, 0x0, 0x8f, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x12, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x2, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x4, 0x4e, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfc, 0x9f, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x1f, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x2, 0xe, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x22, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xfd, 0xfe, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x7, 0x71, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x1, 0x49, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x57, 0x0, 0x6e, 0x0, 0x72, 0x0, 0x76, 0x0, 0x7a, 0x0, 0x90, 0x0, 0xa6, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x12, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x3, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x2, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x4, 0x4e, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xe4, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x1f, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x2, 0xe, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x22, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xfd, 0xfe, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x1, 0x9, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0x6, 0x68, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x1, 0x49, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x0, 0x0, 0xb, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x14, 0x0, 0x2a, 0x0, 0x40, 0x0, 0x55, 0x0, 0x69, 0x0, 0x7f, 0x0, 0x83, 0x0, 0x87, 0x0, 0x8b, 0x0, 0xa1, 0x0, 0xb7, 0x0, 0x0, 0x25, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x25, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x10, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x22, 0x27, 0x26, 0x27, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x27, 0x26, 0x27, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x2, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x3, 0xd4, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x16, 0x1a, 0x13, 0x10, 0xfd, 0xef, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x24, 0x24, 0x18, 0x1a, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0xfd, 0xde, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0xfc, 0xe3, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x1f, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x91, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x1, 0x33, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x11, 0x1a, 0xfd, 0xab, 0x4a, 0x16, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x16, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x2, 0x82, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x11, 0x1a, 0x5, 0xe4, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x1, 0x49, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x45, 0x0, 0x49, 0x0, 0x4d, 0x0, 0x0, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x13, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0xc2, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xf9, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0x1, 0x9, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfc, 0xf4, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x3, 0xc3, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x1, 0x4a, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x1, 0x2e, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x1, 0x93, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x58, 0x0, 0x5c, 0x0, 0x60, 0x0, 0x64, 0x0, 0x0, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x13, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x3, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0xc2, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xf9, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0x1, 0x9, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x8f, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x3, 0xc3, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x1, 0x4a, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x1, 0x2e, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfb, 0x2b, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0x6, 0x68, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x0, 0x0, 0x8, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x58, 0x0, 0x6e, 0x0, 0x72, 0x0, 0x76, 0x0, 0x7a, 0x0, 0x0, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x13, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0xc2, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xf9, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0x1, 0x9, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfd, 0xed, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x2, 0x11, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0xfc, 0xf6, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x3, 0xc3, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x1, 0x4a, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x1, 0x2e, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xf9, 0xaa, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x2, 0x3b, 0x24, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x5, 0xf8, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x58, 0x0, 0x6d, 0x0, 0x83, 0x0, 0x87, 0x0, 0x8b, 0x0, 0x8f, 0x0, 0x0, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x13, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0xc2, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xf9, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0x1, 0x9, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfd, 0xed, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x1, 0x9, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x48, 0x19, 0x1a, 0x12, 0xf, 0x1, 0x8, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0xfc, 0xf6, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x3, 0xc3, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x1, 0x4a, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x1, 0x2e, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xf9, 0xaa, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x1, 0x32, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x1, 0x2e, 0x24, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x5, 0xf8, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x0, 0xa, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x57, 0x0, 0x6d, 0x0, 0x83, 0x0, 0x99, 0x0, 0x9d, 0x0, 0xa1, 0x0, 0xa5, 0x0, 0x0, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x13, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x13, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x12, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0xc2, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xf9, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0x1, 0x9, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x7a, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfc, 0x9f, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x3, 0xc3, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x1, 0x4a, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x1, 0x2e, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfc, 0x34, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x22, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xfd, 0xfe, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x7, 0x71, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x0, 0x0, 0x0, 0x0, 0xb, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x57, 0x0, 0x6d, 0x0, 0x83, 0x0, 0x99, 0x0, 0xb0, 0x0, 0xb4, 0x0, 0xb8, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x13, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x13, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x12, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x3, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0xc2, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xf9, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0x1, 0x9, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x7a, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xe4, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x3, 0xc3, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x1, 0x4a, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x1, 0x2e, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfc, 0x34, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x22, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xfd, 0xfe, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x1, 0x9, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0x6, 0x68, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x0, 0x0, 0xc, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x56, 0x0, 0x6c, 0x0, 0x82, 0x0, 0x97, 0x0, 0xab, 0x0, 0xc1, 0x0, 0xc5, 0x0, 0xc9, 0x0, 0xcd, 0x0, 0x0, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x13, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x11, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x25, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x10, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x22, 0x27, 0x26, 0x27, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x27, 0x26, 0x27, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0xc2, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xf9, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0x1, 0x9, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x16, 0x1a, 0x13, 0x10, 0xfd, 0xef, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x24, 0x24, 0x18, 0x1a, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0xfd, 0xde, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0xfc, 0xe3, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x3, 0xc3, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x1, 0x4a, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x1, 0x2e, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfa, 0xb7, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x1, 0x33, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x11, 0x1a, 0xfd, 0xab, 0x4a, 0x16, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x16, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x2, 0x82, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x11, 0x1a, 0x5, 0xe4, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x14, 0x0, 0x29, 0x0, 0x3e, 0x0, 0x53, 0x0, 0x57, 0x0, 0x5b, 0x0, 0x5f, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x12, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x4, 0x4e, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfc, 0x9f, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x6, 0x74, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x22, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0xfd, 0xfe, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x3, 0xb, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x19, 0x0, 0x1d, 0x0, 0x21, 0x0, 0x36, 0x0, 0x4b, 0x0, 0x60, 0x0, 0x75, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x12, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x3, 0x45, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x2, 0x6d, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x1, 0x5, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0x6, 0x68, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x3, 0xfa, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x22, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0xfd, 0xfe, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x0, 0x0, 0x0, 0x9, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x16, 0x0, 0x2c, 0x0, 0x30, 0x0, 0x34, 0x0, 0x38, 0x0, 0x4e, 0x0, 0x64, 0x0, 0x7a, 0x0, 0x90, 0x0, 0x0, 0x5, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x12, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0xc1, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x2, 0x11, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0xfc, 0xf6, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x2, 0x6d, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x7c, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x2, 0x3b, 0x24, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x5, 0xf8, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x3, 0xfa, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x22, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xfd, 0xfe, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x0, 0xa, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x16, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x45, 0x0, 0x49, 0x0, 0x4d, 0x0, 0x63, 0x0, 0x79, 0x0, 0x8f, 0x0, 0xa5, 0x0, 0x0, 0x5, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x12, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0xc1, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x1, 0x9, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x48, 0x19, 0x1a, 0x12, 0xf, 0x1, 0x8, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0xfc, 0xf6, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x2, 0x6d, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x7c, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x1, 0x32, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x1, 0x2e, 0x24, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x5, 0xf8, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x3, 0xfa, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x22, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xfd, 0xfe, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x0, 0x0, 0xb, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x57, 0x0, 0x5b, 0x0, 0x5f, 0x0, 0x63, 0x0, 0x79, 0x0, 0x8f, 0x0, 0xa5, 0x0, 0xbb, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x12, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x12, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x4, 0x4e, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfc, 0x9f, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x2, 0x6d, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x2, 0xe, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x22, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xfd, 0xfe, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x7, 0x71, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x3, 0xfa, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x22, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xfd, 0xfe, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x0, 0x0, 0x0, 0xc, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x14, 0x0, 0x29, 0x0, 0x3e, 0x0, 0x53, 0x0, 0x69, 0x0, 0x6d, 0x0, 0x71, 0x0, 0x75, 0x0, 0x8a, 0x0, 0x9f, 0x0, 0xb4, 0x0, 0xc9, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x12, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x3, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x12, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x4, 0x4e, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xe4, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x2, 0x6d, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x2, 0xe, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x22, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0xfd, 0xfe, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x1, 0x9, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0x6, 0x68, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x3, 0xfa, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x22, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0xfd, 0xfe, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x0, 0x0, 0x0, 0xd, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x14, 0x0, 0x2a, 0x0, 0x40, 0x0, 0x55, 0x0, 0x69, 0x0, 0x7f, 0x0, 0x83, 0x0, 0x87, 0x0, 0x8b, 0x0, 0xa1, 0x0, 0xb7, 0x0, 0xcd, 0x0, 0xe3, 0x0, 0x0, 0x25, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x25, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x10, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x22, 0x27, 0x26, 0x27, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x27, 0x26, 0x27, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x12, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x3, 0xd4, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x16, 0x1a, 0x13, 0x10, 0xfd, 0xef, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x24, 0x24, 0x18, 0x1a, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0xfd, 0xde, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0xfc, 0xe3, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x2, 0x6d, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x91, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x1, 0x33, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x11, 0x1a, 0xfd, 0xab, 0x4a, 0x16, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x16, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x2, 0x82, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x11, 0x1a, 0x5, 0xe4, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x3, 0xfa, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x22, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xfd, 0xfe, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x0, 0x0, 0x0, 0x8, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x21, 0x0, 0x37, 0x0, 0x4d, 0x0, 0x63, 0x0, 0x79, 0x0, 0x0, 0x13, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x12, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x3, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0xc8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x2, 0x6d, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xe4, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x7, 0x6d, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x3, 0xfa, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x22, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xfd, 0xfe, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x1, 0x9, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x19, 0x1a, 0x11, 0x10, 0x0, 0x9, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x16, 0x0, 0x1a, 0x0, 0x1e, 0x0, 0x22, 0x0, 0x38, 0x0, 0x4e, 0x0, 0x64, 0x0, 0x7a, 0x0, 0x90, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x12, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x3, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x3, 0x45, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x2, 0x6d, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xe4, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x1, 0x5, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0x6, 0x68, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x3, 0xfa, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x22, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xfd, 0xfe, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x1, 0x9, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x19, 0x1a, 0x11, 0x10, 0x0, 0xa, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x2f, 0x0, 0x33, 0x0, 0x37, 0x0, 0x4c, 0x0, 0x61, 0x0, 0x76, 0x0, 0x8b, 0x0, 0xa0, 0x0, 0x0, 0x5, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x12, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x3, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0xc1, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x2, 0x11, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0xfc, 0xf6, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x2, 0x6d, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xe4, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x7c, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x2, 0x3b, 0x24, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x5, 0xf8, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x3, 0xfa, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x22, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0xfd, 0xfe, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x1, 0x9, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x19, 0x1a, 0x11, 0x10, 0x0, 0xb, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x16, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x45, 0x0, 0x49, 0x0, 0x4d, 0x0, 0x63, 0x0, 0x79, 0x0, 0x8f, 0x0, 0xa5, 0x0, 0xbb, 0x0, 0x0, 0x5, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x12, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x3, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0xc1, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x1, 0x9, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x48, 0x19, 0x1a, 0x12, 0xf, 0x1, 0x8, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0xfc, 0xf6, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x2, 0x6d, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xe4, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x7c, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x1, 0x32, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x1, 0x2e, 0x24, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x5, 0xf8, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x3, 0xfa, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x22, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xfd, 0xfe, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x1, 0x9, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x19, 0x1a, 0x11, 0x10, 0x0, 0x0, 0xc, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x57, 0x0, 0x5b, 0x0, 0x5f, 0x0, 0x63, 0x0, 0x79, 0x0, 0x8f, 0x0, 0xa5, 0x0, 0xbb, 0x0, 0xd1, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x12, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x12, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x3, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x4, 0x4e, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfc, 0x9f, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x2, 0x6d, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xe4, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x2, 0xe, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x22, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xfd, 0xfe, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x7, 0x71, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x3, 0xfa, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x22, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xfd, 0xfe, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x1, 0x9, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x19, 0x1a, 0x11, 0x10, 0x0, 0x0, 0x0, 0xd, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x57, 0x0, 0x6e, 0x0, 0x72, 0x0, 0x76, 0x0, 0x7a, 0x0, 0x90, 0x0, 0xa6, 0x0, 0xbc, 0x0, 0xd2, 0x0, 0xe8, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x12, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x3, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x12, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x3, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x4, 0x4e, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xe4, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x2, 0x6d, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xe4, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x2, 0xe, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x22, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xfd, 0xfe, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x1, 0x9, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0x6, 0x68, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x3, 0xfa, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x22, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xfd, 0xfe, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x1, 0x9, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x19, 0x1a, 0x11, 0x10, 0x0, 0xe, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x14, 0x0, 0x2a, 0x0, 0x40, 0x0, 0x55, 0x0, 0x69, 0x0, 0x7f, 0x0, 0x83, 0x0, 0x87, 0x0, 0x8b, 0x0, 0xa1, 0x0, 0xb7, 0x0, 0xcd, 0x0, 0xe3, 0x0, 0xf9, 0x0, 0x0, 0x25, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x25, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x10, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x22, 0x27, 0x26, 0x27, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x27, 0x26, 0x27, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x12, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x3, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x3, 0xd4, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x16, 0x1a, 0x13, 0x10, 0xfd, 0xef, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x24, 0x24, 0x18, 0x1a, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0xfd, 0xde, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0xfc, 0xe3, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x2, 0x6d, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xe4, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x91, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x1, 0x33, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x11, 0x1a, 0xfd, 0xab, 0x4a, 0x16, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x16, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x2, 0x82, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x11, 0x1a, 0x5, 0xe4, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x3, 0xfa, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x22, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xfd, 0xfe, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x1, 0x9, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x19, 0x1a, 0x11, 0x10, 0x0, 0x0, 0x0, 0x9, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x22, 0x0, 0x3a, 0x0, 0x50, 0x0, 0x66, 0x0, 0x7c, 0x0, 0x92, 0x0, 0x0, 0x13, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x25, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x10, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x25, 0x34, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x27, 0x26, 0x27, 0xc8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x1, 0xf2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0xfd, 0xef, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x7, 0x6d, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x2, 0x7c, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x1, 0x33, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x10, 0x1b, 0xfd, 0xd0, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x2, 0x6b, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x10, 0x1b, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x16, 0x0, 0x1a, 0x0, 0x1e, 0x0, 0x22, 0x0, 0x39, 0x0, 0x51, 0x0, 0x67, 0x0, 0x7d, 0x0, 0x93, 0x0, 0xa9, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x25, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x10, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x25, 0x34, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x27, 0x26, 0x27, 0x3, 0x45, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x1, 0xf2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0xfd, 0xef, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x1, 0x5, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0x6, 0x68, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x2, 0x7c, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x1, 0x33, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x10, 0x1b, 0xfd, 0xd0, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x2, 0x6b, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x10, 0x1b, 0x0, 0x0, 0x0, 0x0, 0xb, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x16, 0x0, 0x2c, 0x0, 0x30, 0x0, 0x34, 0x0, 0x38, 0x0, 0x4f, 0x0, 0x67, 0x0, 0x7d, 0x0, 0x93, 0x0, 0xa9, 0x0, 0xbf, 0x0, 0x0, 0x5, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x25, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x10, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x25, 0x34, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x27, 0x26, 0x27, 0x1, 0xc1, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x2, 0x11, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0xfc, 0xf6, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x1, 0xf2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0xfd, 0xef, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x7c, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x2, 0x3b, 0x24, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x5, 0xf8, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x2, 0x7c, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x1, 0x33, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x10, 0x1b, 0xfd, 0xd0, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x2, 0x6b, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x10, 0x1b, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x16, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x45, 0x0, 0x49, 0x0, 0x4d, 0x0, 0x64, 0x0, 0x7c, 0x0, 0x92, 0x0, 0xa8, 0x0, 0xbe, 0x0, 0xd4, 0x0, 0x0, 0x5, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x25, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x10, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x25, 0x34, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x27, 0x26, 0x27, 0x1, 0xc1, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x1, 0x9, 0xf, 0x11, 0x1b, 0x17, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x48, 0x19, 0x1a, 0x12, 0xf, 0x1, 0x8, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0xfc, 0xf6, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x1, 0xf2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0xfd, 0xef, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x7c, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x1, 0x32, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x1, 0x2e, 0x24, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x5, 0xf8, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x2, 0x7c, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x1, 0x33, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x10, 0x1b, 0xfd, 0xd0, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x2, 0x6b, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x10, 0x1b, 0x0, 0xd, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x2b, 0x0, 0x41, 0x0, 0x57, 0x0, 0x5b, 0x0, 0x5f, 0x0, 0x63, 0x0, 0x7a, 0x0, 0x92, 0x0, 0xa8, 0x0, 0xbe, 0x0, 0xd4, 0x0, 0xea, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x12, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x25, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x10, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x22, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x25, 0x34, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x27, 0x26, 0x27, 0x4, 0x4e, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfc, 0x9f, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x1, 0xf2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x4a, 0x17, 0x19, 0x13, 0x10, 0xfd, 0xef, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0xe, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x22, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0xfd, 0xfe, 0x10, 0x11, 0x1b, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x7, 0x71, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x2, 0x7c, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x24, 0x25, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x1, 0x33, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x10, 0x1b, 0xfd, 0xd0, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x2, 0x6b, 0x4a, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x10, 0x1b, 0x0, 0x0, 0xe, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x14, 0x0, 0x29, 0x0, 0x3e, 0x0, 0x53, 0x0, 0x69, 0x0, 0x6d, 0x0, 0x71, 0x0, 0x75, 0x0, 0x8b, 0x0, 0xa1, 0x0, 0xb6, 0x0, 0xcb, 0x0, 0xe0, 0x0, 0xf5, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x0, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x12, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x1, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x3, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x34, 0x37, 0x36, 0x37, 0x36, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x25, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x10, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x25, 0x34, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x27, 0x26, 0x27, 0x4, 0x4e, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xfd, 0xe9, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x2, 0x53, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0x10, 0x11, 0x1b, 0x17, 0xe4, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0xfd, 0xa8, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x1, 0xf2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0xfd, 0xef, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0xe, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x22, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0xfd, 0xfe, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x1, 0x9, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x49, 0x18, 0x19, 0x12, 0x10, 0x6, 0x68, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x2, 0x7c, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x1, 0x34, 0x49, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x10, 0x1b, 0xfd, 0xd0, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x2, 0x6c, 0x49, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x10, 0x1b, 0x0, 0x0, 0x0, 0x0, 0xf, 0x0, 0xc8, 0xfe, 0x14, 0x5, 0xbd, 0x7, 0x6d, 0x0, 0x14, 0x0, 0x2a, 0x0, 0x40, 0x0, 0x55, 0x0, 0x69, 0x0, 0x7f, 0x0, 0x83, 0x0, 0x87, 0x0, 0x8b, 0x0, 0xa1, 0x0, 0xb7, 0x0, 0xcc, 0x0, 0xe1, 0x0, 0xf6, 0x1, 0xb, 0x0, 0x0, 0x25, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x25, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x10, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x22, 0x27, 0x26, 0x27, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x24, 0x34, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x27, 0x26, 0x27, 0x1, 0x21, 0x11, 0x21, 0x37, 0x21, 0x11, 0x21, 0x13, 0x21, 0x15, 0x21, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x25, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x10, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x27, 0x26, 0x27, 0x1, 0x34, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x25, 0x34, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x17, 0x16, 0x17, 0x16, 0x14, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x26, 0x27, 0x26, 0x0, 0x34, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x27, 0x26, 0x27, 0x3, 0xd4, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x49, 0x17, 0x1a, 0x13, 0x10, 0xfd, 0xef, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x24, 0x24, 0x18, 0x1a, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0xfd, 0xde, 0x10, 0x11, 0x1b, 0x18, 0x47, 0x18, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x10, 0x1b, 0x18, 0x48, 0x18, 0x19, 0x13, 0xfc, 0xe3, 0x4, 0xf5, 0xfb, 0xb, 0x8d, 0x3, 0xdb, 0xfc, 0x25, 0x8c, 0x2, 0xc3, 0xfd, 0x3d, 0x1, 0xf2, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x18, 0x1a, 0x11, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x49, 0x18, 0x19, 0x13, 0x10, 0xfd, 0xef, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x2, 0x2, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0xfd, 0xee, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x2, 0x12, 0x10, 0x11, 0x1b, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x48, 0x18, 0x1a, 0x12, 0x91, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x13, 0x10, 0x10, 0x11, 0x1c, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x1, 0x34, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x11, 0x1a, 0xfd, 0xab, 0x49, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x17, 0x49, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0xf, 0xf, 0x11, 0x1b, 0x2, 0x83, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x17, 0x26, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x11, 0x1a, 0x5, 0xe4, 0xf6, 0xa7, 0x8d, 0x8, 0x3f, 0xfc, 0x27, 0x8d, 0x2, 0x7c, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x10, 0x1c, 0x17, 0x49, 0x18, 0x19, 0x12, 0x10, 0x10, 0x11, 0x1a, 0x18, 0x1, 0x34, 0x49, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x10, 0x1b, 0xfd, 0xd0, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x12, 0x10, 0x1, 0x11, 0x11, 0x1b, 0x17, 0x48, 0x18, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x2, 0x6c, 0x49, 0x17, 0x1a, 0x12, 0x10, 0x10, 0x11, 0x1b, 0x17, 0x25, 0x24, 0x17, 0x1a, 0x11, 0x10, 0x1, 0x11, 0x10, 0x1b, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0xb, 0x0, 0x17, 0x0, 0x1b, 0x0, 0x0, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x1, 0x11, 0x21, 0x11, 0x1, 0xb8, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x1, 0x2c, 0x4, 0x47, 0x6, 0xf5, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xf7, 0xd3, 0x7, 0x1, 0xf8, 0xff, 0x0, 0x5, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x18, 0x0, 0x24, 0x0, 0x30, 0x0, 0x33, 0x0, 0x3b, 0x0, 0x0, 0x1, 0x16, 0x0, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x27, 0x23, 0x14, 0x17, 0x23, 0x36, 0x35, 0x23, 0x6, 0x23, 0x22, 0x35, 0x34, 0x37, 0x36, 0x0, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x1, 0x3, 0x21, 0x3, 0x33, 0x1, 0x23, 0x27, 0x21, 0x7, 0x23, 0x4, 0xd7, 0x41, 0x1, 0x3b, 0x9, 0x1b, 0xc3, 0x6c, 0x42, 0x1e, 0x3b, 0x98, 0x3b, 0x1e, 0x42, 0x6c, 0xc3, 0x1b, 0x9, 0x1, 0x3b, 0xfd, 0x22, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x2, 0x4b, 0x86, 0x1, 0xc, 0xd2, 0x9a, 0x1, 0x20, 0x84, 0x44, 0xfe, 0xb6, 0x44, 0x84, 0x3, 0x18, 0x79, 0xfe, 0x7e, 0x26, 0x25, 0x4e, 0xe4, 0x9b, 0xcc, 0x6b, 0x6b, 0xcc, 0x9b, 0xe4, 0x4e, 0x25, 0x26, 0x1, 0x82, 0x4, 0x56, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfe, 0xac, 0xfe, 0x55, 0x2, 0xf, 0xfc, 0xbc, 0xda, 0xda, 0x0, 0x0, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x18, 0x0, 0x24, 0x0, 0x30, 0x0, 0x49, 0x0, 0x0, 0x1, 0x16, 0x0, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x27, 0x23, 0x14, 0x17, 0x23, 0x36, 0x35, 0x23, 0x6, 0x23, 0x22, 0x35, 0x34, 0x37, 0x36, 0x0, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x1, 0x21, 0x15, 0x21, 0x35, 0x36, 0x37, 0x0, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x1, 0x6, 0x4, 0xd7, 0x41, 0x1, 0x3b, 0x9, 0x1b, 0xc3, 0x6c, 0x42, 0x1e, 0x3b, 0x98, 0x3b, 0x1e, 0x42, 0x6c, 0xc3, 0x1b, 0x9, 0x1, 0x3b, 0xfd, 0x22, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x1, 0x9e, 0x1, 0xa8, 0xfd, 0xaa, 0x22, 0x3f, 0x1, 0x58, 0x68, 0x55, 0x34, 0x7a, 0x48, 0x4d, 0x85, 0x39, 0x91, 0xae, 0xfe, 0xb5, 0x38, 0x3, 0x18, 0x79, 0xfe, 0x7e, 0x26, 0x25, 0x4e, 0xe4, 0x9b, 0xcc, 0x6b, 0x6b, 0xcc, 0x9b, 0xe4, 0x4e, 0x25, 0x26, 0x1, 0x82, 0x4, 0x56, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfc, 0x3f, 0x72, 0x6e, 0x1f, 0x38, 0x1, 0x31, 0x5e, 0x42, 0x51, 0x23, 0x23, 0x7b, 0x1c, 0x1c, 0x84, 0x6c, 0x8b, 0xfe, 0xe4, 0x30, 0x0, 0x0, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x18, 0x0, 0x24, 0x0, 0x30, 0x0, 0x59, 0x0, 0x0, 0x1, 0x16, 0x0, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x27, 0x23, 0x14, 0x17, 0x23, 0x36, 0x35, 0x23, 0x6, 0x23, 0x22, 0x35, 0x34, 0x37, 0x36, 0x0, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x1, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x4, 0xd7, 0x41, 0x1, 0x3b, 0x9, 0x1b, 0xc3, 0x6c, 0x42, 0x1e, 0x3b, 0x98, 0x3b, 0x1e, 0x42, 0x6c, 0xc3, 0x1b, 0x9, 0x1, 0x3b, 0xfd, 0x22, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x2, 0x9a, 0x5c, 0x65, 0xbe, 0xb1, 0x39, 0x7d, 0x46, 0x34, 0x77, 0x43, 0x6d, 0x78, 0x6f, 0x6c, 0x56, 0x5e, 0x5e, 0x61, 0x64, 0x5f, 0x28, 0x66, 0x51, 0x49, 0x80, 0x37, 0x90, 0xa9, 0x5a, 0x3, 0x18, 0x79, 0xfe, 0x7e, 0x26, 0x25, 0x4e, 0xe4, 0x9b, 0xcc, 0x6b, 0x6b, 0xcc, 0x9b, 0xe4, 0x4e, 0x25, 0x26, 0x1, 0x82, 0x4, 0x56, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfd, 0x91, 0x12, 0x6d, 0x52, 0x7c, 0x86, 0x15, 0x14, 0x79, 0x1b, 0x1a, 0x4f, 0x46, 0x4a, 0x4c, 0x6c, 0x3f, 0x3c, 0x3a, 0x3d, 0x12, 0x17, 0x73, 0x11, 0x12, 0x76, 0x63, 0x45, 0x60, 0x0, 0x0, 0x0, 0x5, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x18, 0x0, 0x24, 0x0, 0x30, 0x0, 0x33, 0x0, 0x3e, 0x0, 0x0, 0x1, 0x16, 0x0, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x27, 0x23, 0x14, 0x17, 0x23, 0x36, 0x35, 0x23, 0x6, 0x23, 0x22, 0x35, 0x34, 0x37, 0x36, 0x0, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x9, 0x1, 0x21, 0x3, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x21, 0x35, 0x4, 0xd7, 0x41, 0x1, 0x3b, 0x9, 0x1b, 0xc3, 0x6c, 0x42, 0x1e, 0x3b, 0x98, 0x3b, 0x1e, 0x42, 0x6c, 0xc3, 0x1b, 0x9, 0x1, 0x3b, 0xfd, 0x22, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x2, 0x8e, 0xfe, 0xcb, 0x1, 0x35, 0x16, 0xa6, 0x87, 0x87, 0x90, 0xfe, 0x62, 0x3, 0x18, 0x79, 0xfe, 0x7e, 0x26, 0x25, 0x4e, 0xe4, 0x9b, 0xcc, 0x6b, 0x6b, 0xcc, 0x9b, 0xe4, 0x4e, 0x25, 0x26, 0x1, 0x82, 0x4, 0x56, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfe, 0x97, 0xfe, 0x5d, 0x2, 0x1c, 0xfd, 0xe4, 0x6d, 0xba, 0xba, 0x79, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x18, 0x0, 0x24, 0x0, 0x30, 0x0, 0x51, 0x0, 0x0, 0x1, 0x16, 0x0, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x27, 0x23, 0x14, 0x17, 0x23, 0x36, 0x35, 0x23, 0x6, 0x23, 0x22, 0x35, 0x34, 0x37, 0x36, 0x0, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x5, 0x21, 0x15, 0x21, 0x15, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x4, 0xd7, 0x41, 0x1, 0x3b, 0x9, 0x1b, 0xc3, 0x6c, 0x42, 0x1e, 0x3b, 0x98, 0x3b, 0x1e, 0x42, 0x6c, 0xc3, 0x1b, 0x9, 0x1, 0x3b, 0xfd, 0x22, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x1, 0x18, 0x1, 0xfe, 0xfe, 0x79, 0x1c, 0x1d, 0x1c, 0x1c, 0xa1, 0x5e, 0x5e, 0x61, 0x60, 0xb0, 0x3c, 0x7e, 0x42, 0x39, 0x3e, 0x3e, 0x45, 0x6f, 0x82, 0x82, 0x6f, 0x34, 0x68, 0x36, 0x3, 0x18, 0x79, 0xfe, 0x7e, 0x26, 0x25, 0x4e, 0xe4, 0x9b, 0xcc, 0x6b, 0x6b, 0xcc, 0x9b, 0xe4, 0x4e, 0x25, 0x26, 0x1, 0x82, 0x4, 0x56, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xf0, 0x5f, 0xcc, 0x9, 0x4, 0x4, 0x4d, 0x4c, 0x83, 0x87, 0x4b, 0x4a, 0x12, 0x12, 0x71, 0x1b, 0xe, 0xd, 0x66, 0xae, 0x66, 0x14, 0x15, 0x0, 0x0, 0x0, 0x5, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x18, 0x0, 0x24, 0x0, 0x30, 0x0, 0x40, 0x0, 0x60, 0x0, 0x0, 0x1, 0x16, 0x0, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x27, 0x23, 0x14, 0x17, 0x23, 0x36, 0x35, 0x23, 0x6, 0x23, 0x22, 0x35, 0x34, 0x37, 0x36, 0x0, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x1, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x13, 0x15, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x4, 0xd7, 0x41, 0x1, 0x3b, 0x9, 0x1b, 0xc3, 0x6c, 0x42, 0x1e, 0x3b, 0x98, 0x3b, 0x1e, 0x42, 0x6c, 0xc3, 0x1b, 0x9, 0x1, 0x3b, 0xfd, 0x22, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x2, 0x47, 0x58, 0x33, 0x33, 0x33, 0x33, 0x58, 0x57, 0x33, 0x33, 0x33, 0x33, 0xab, 0x31, 0x32, 0x32, 0x31, 0x80, 0x44, 0x44, 0xa, 0x26, 0x39, 0x3a, 0x44, 0x91, 0x54, 0x54, 0x58, 0x57, 0x91, 0xa7, 0xb0, 0x6c, 0x6c, 0xb6, 0x31, 0x32, 0x32, 0x3, 0x18, 0x79, 0xfe, 0x7e, 0x26, 0x25, 0x4e, 0xe4, 0x9b, 0xcc, 0x6b, 0x6b, 0xcc, 0x9b, 0xe4, 0x4e, 0x25, 0x26, 0x1, 0x82, 0x4, 0x56, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfd, 0x9e, 0x34, 0x35, 0x5b, 0x5a, 0x34, 0x35, 0x35, 0x34, 0x5a, 0x5b, 0x35, 0x34, 0x1, 0x62, 0x67, 0x14, 0xa, 0xb, 0x4b, 0x4c, 0x99, 0x31, 0x1a, 0x1a, 0x4c, 0x4d, 0x84, 0x7f, 0x4f, 0x4e, 0xde, 0xd4, 0xc6, 0x75, 0x76, 0x8, 0x9, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x18, 0x0, 0x24, 0x0, 0x30, 0x0, 0x37, 0x0, 0x0, 0x1, 0x16, 0x0, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x27, 0x23, 0x14, 0x17, 0x23, 0x36, 0x35, 0x23, 0x6, 0x23, 0x22, 0x35, 0x34, 0x37, 0x36, 0x0, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x17, 0x21, 0x15, 0x1, 0x23, 0x1, 0x21, 0x4, 0xd7, 0x41, 0x1, 0x3b, 0x9, 0x1b, 0xc3, 0x6c, 0x42, 0x1e, 0x3b, 0x98, 0x3b, 0x1e, 0x42, 0x6c, 0xc3, 0x1b, 0x9, 0x1, 0x3b, 0xfd, 0x22, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0xf0, 0x2, 0x69, 0xfe, 0xa4, 0x88, 0x1, 0x48, 0xfe, 0x33, 0x3, 0x18, 0x79, 0xfe, 0x7e, 0x26, 0x25, 0x4e, 0xe4, 0x9b, 0xcc, 0x6b, 0x6b, 0xcc, 0x9b, 0xe4, 0x4e, 0x25, 0x26, 0x1, 0x82, 0x4, 0x56, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xf0, 0x30, 0xfc, 0xed, 0x2, 0xe4, 0x0, 0x0, 0x6, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x18, 0x0, 0x24, 0x0, 0x30, 0x0, 0x3d, 0x0, 0x5b, 0x0, 0x6a, 0x0, 0x0, 0x1, 0x16, 0x0, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x27, 0x23, 0x14, 0x17, 0x23, 0x36, 0x35, 0x23, 0x6, 0x23, 0x22, 0x35, 0x34, 0x37, 0x36, 0x0, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x0, 0x22, 0x7, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x36, 0x34, 0x27, 0x25, 0x26, 0x27, 0x26, 0x35, 0x34, 0x36, 0x20, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x22, 0x7, 0x6, 0x4, 0xd7, 0x41, 0x1, 0x3b, 0x9, 0x1b, 0xc3, 0x6c, 0x42, 0x1e, 0x3b, 0x98, 0x3b, 0x1e, 0x42, 0x6c, 0xc3, 0x1b, 0x9, 0x1, 0x3b, 0xfd, 0x22, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x2, 0x97, 0xba, 0x35, 0x35, 0x6a, 0x5d, 0x5c, 0x36, 0x35, 0x35, 0xfe, 0xec, 0x54, 0x2e, 0x2f, 0xa4, 0x1, 0x1e, 0x52, 0x51, 0x2e, 0x2f, 0x53, 0x5a, 0x38, 0x35, 0x55, 0x56, 0x9e, 0x9f, 0x55, 0x56, 0x35, 0x36, 0x2d, 0x2f, 0x2e, 0x55, 0x51, 0x31, 0x30, 0x30, 0x2f, 0xa6, 0x30, 0x2f, 0x3, 0x18, 0x79, 0xfe, 0x7e, 0x26, 0x25, 0x4e, 0xe4, 0x9b, 0xcc, 0x6b, 0x6b, 0xcc, 0x9b, 0xe4, 0x4e, 0x25, 0x26, 0x1, 0x82, 0x4, 0x56, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfd, 0x5b, 0x2c, 0x2b, 0x4b, 0x4c, 0x56, 0x2c, 0x2b, 0x96, 0x2b, 0x5d, 0x12, 0x31, 0x32, 0x48, 0x64, 0x74, 0x3a, 0x3a, 0x64, 0x4a, 0x30, 0x31, 0x12, 0x12, 0x3a, 0x37, 0x50, 0x79, 0x41, 0x41, 0x41, 0x41, 0x79, 0x4e, 0x39, 0x38, 0xc6, 0x3f, 0x26, 0x25, 0x25, 0x24, 0x41, 0x3f, 0x26, 0x25, 0x25, 0x24, 0x0, 0x0, 0x5, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x18, 0x0, 0x24, 0x0, 0x30, 0x0, 0x50, 0x0, 0x5f, 0x0, 0x0, 0x1, 0x16, 0x0, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x27, 0x23, 0x14, 0x17, 0x23, 0x36, 0x35, 0x23, 0x6, 0x23, 0x22, 0x35, 0x34, 0x37, 0x36, 0x0, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x1, 0x35, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x6, 0x7, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x13, 0x32, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x4, 0xd7, 0x41, 0x1, 0x3b, 0x9, 0x1b, 0xc3, 0x6c, 0x42, 0x1e, 0x3b, 0x98, 0x3b, 0x1e, 0x42, 0x6c, 0xc3, 0x1b, 0x9, 0x1, 0x3b, 0xfd, 0x22, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x1, 0x2e, 0x31, 0x32, 0x32, 0x30, 0x81, 0x44, 0x43, 0xa, 0x23, 0x3c, 0x39, 0x45, 0x90, 0xa8, 0x57, 0x58, 0x91, 0xa7, 0x57, 0x58, 0x6b, 0x6c, 0xb6, 0x31, 0x32, 0x32, 0xcc, 0x58, 0x66, 0x33, 0x33, 0x58, 0x55, 0x35, 0x34, 0x34, 0x33, 0x3, 0x18, 0x79, 0xfe, 0x7e, 0x26, 0x25, 0x4e, 0xe4, 0x9b, 0xcc, 0x6b, 0x6b, 0xcc, 0x9b, 0xe4, 0x4e, 0x25, 0x26, 0x1, 0x82, 0x4, 0x56, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfb, 0xdf, 0x67, 0x14, 0xb, 0xa, 0x4b, 0x4b, 0x9a, 0x2f, 0x1b, 0x1a, 0x98, 0x84, 0x81, 0x4d, 0x4e, 0x6f, 0x6f, 0xd4, 0xc6, 0x75, 0x76, 0x8, 0x9, 0x1, 0x72, 0x68, 0x5c, 0x5a, 0x34, 0x35, 0x35, 0x34, 0x5a, 0x5c, 0x34, 0x34, 0x0, 0x0, 0x0, 0x6, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x18, 0x0, 0x24, 0x0, 0x30, 0x0, 0x3e, 0x0, 0x4a, 0x0, 0x51, 0x0, 0x0, 0x1, 0x16, 0x0, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x27, 0x23, 0x14, 0x17, 0x23, 0x36, 0x35, 0x23, 0x6, 0x23, 0x22, 0x35, 0x34, 0x37, 0x36, 0x0, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x0, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x32, 0x37, 0x36, 0x35, 0x34, 0x2f, 0x1, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x1, 0x11, 0x7, 0x35, 0x37, 0x33, 0x11, 0x4, 0xd7, 0x41, 0x1, 0x3b, 0x9, 0x1b, 0xc3, 0x6c, 0x42, 0x1e, 0x3b, 0x98, 0x3b, 0x1e, 0x42, 0x6c, 0xc3, 0x1b, 0x9, 0x1, 0x3b, 0xfd, 0x22, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x3, 0xea, 0x8e, 0x32, 0x33, 0x33, 0x32, 0x8e, 0x32, 0x33, 0x33, 0x79, 0x83, 0xaa, 0xaa, 0x83, 0xa2, 0x8c, 0x8c, 0xfe, 0x74, 0x85, 0x8c, 0x89, 0x3, 0x18, 0x79, 0xfe, 0x7e, 0x26, 0x25, 0x4e, 0xe4, 0x9b, 0xcc, 0x6b, 0x6b, 0xcc, 0x9b, 0xe4, 0x4e, 0x25, 0x26, 0x1, 0x82, 0x4, 0x56, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfe, 0xc8, 0x56, 0x56, 0xac, 0xad, 0x56, 0x56, 0x56, 0x56, 0xad, 0xac, 0x56, 0xaf, 0xde, 0xd3, 0xd4, 0xde, 0xde, 0xd4, 0xd3, 0xde, 0xfc, 0xac, 0x2, 0xd1, 0x29, 0x74, 0x27, 0xfc, 0xbd, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x18, 0x0, 0x24, 0x0, 0x30, 0x0, 0x3d, 0x0, 0x0, 0x1, 0x16, 0x0, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x27, 0x23, 0x14, 0x17, 0x23, 0x36, 0x35, 0x23, 0x6, 0x23, 0x22, 0x35, 0x34, 0x37, 0x36, 0x0, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x5, 0x33, 0x11, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x4, 0xd7, 0x41, 0x1, 0x3b, 0x9, 0x1b, 0xc3, 0x6c, 0x42, 0x1e, 0x3b, 0x98, 0x3b, 0x1e, 0x42, 0x6c, 0xc3, 0x1b, 0x9, 0x1, 0x3b, 0xfd, 0x22, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x1, 0xb2, 0x7f, 0x41, 0x40, 0x8f, 0x31, 0x28, 0x54, 0x46, 0x3, 0x18, 0x79, 0xfe, 0x7e, 0x26, 0x25, 0x4e, 0xe4, 0x9b, 0xcc, 0x6b, 0x6b, 0xcc, 0x9b, 0xe4, 0x4e, 0x25, 0x26, 0x1, 0x82, 0x4, 0x56, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xf0, 0xfd, 0xdc, 0x95, 0x46, 0x45, 0x60, 0x54, 0x6c, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x18, 0x0, 0x24, 0x0, 0x30, 0x0, 0x4a, 0x0, 0x0, 0x1, 0x16, 0x0, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x27, 0x23, 0x14, 0x17, 0x23, 0x36, 0x35, 0x23, 0x6, 0x23, 0x22, 0x35, 0x34, 0x37, 0x36, 0x0, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x1, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x4, 0xd7, 0x41, 0x1, 0x3b, 0x9, 0x1b, 0xc3, 0x6c, 0x42, 0x1e, 0x3b, 0x98, 0x3b, 0x1e, 0x42, 0x6c, 0xc3, 0x1b, 0x9, 0x1, 0x3b, 0xfd, 0x22, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x3, 0x3c, 0x31, 0x65, 0x39, 0xb5, 0xc8, 0xc9, 0xb4, 0x39, 0x66, 0x30, 0x2f, 0x6a, 0x36, 0x7c, 0x7c, 0x7b, 0x7d, 0x37, 0x6a, 0x2e, 0x3, 0x18, 0x79, 0xfe, 0x7e, 0x26, 0x25, 0x4e, 0xe4, 0x9b, 0xcc, 0x6b, 0x6b, 0xcc, 0x9b, 0xe4, 0x4e, 0x25, 0x26, 0x1, 0x82, 0x4, 0x56, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfb, 0xeb, 0x17, 0x16, 0xe3, 0xce, 0xcd, 0xe5, 0x17, 0x17, 0x74, 0x22, 0x24, 0xaa, 0xac, 0xab, 0xab, 0x24, 0x22, 0x0, 0x0, 0x5, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x11, 0x0, 0x1b, 0x0, 0x34, 0x0, 0x40, 0x0, 0x4c, 0x0, 0x0, 0x1, 0x22, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x17, 0x7, 0x12, 0x10, 0x26, 0x23, 0x22, 0x6, 0x10, 0x16, 0x33, 0x32, 0x5, 0x16, 0x0, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x27, 0x23, 0x14, 0x17, 0x23, 0x36, 0x35, 0x23, 0x6, 0x23, 0x22, 0x35, 0x34, 0x37, 0x36, 0x0, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x2, 0xfb, 0x4, 0x11, 0x5, 0x9e, 0x9b, 0x9c, 0x9e, 0x9f, 0x9c, 0x56, 0x58, 0x7e, 0x5f, 0xa, 0x55, 0x61, 0x60, 0x55, 0x55, 0x60, 0x61, 0x1, 0x94, 0x41, 0x1, 0x3b, 0x9, 0x1b, 0xc3, 0x6c, 0x42, 0x1e, 0x3b, 0x98, 0x3b, 0x1e, 0x42, 0x6c, 0xc3, 0x1b, 0x9, 0x1, 0x3b, 0xfd, 0x22, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x3, 0x2c, 0x1, 0xd7, 0xda, 0xdb, 0xd7, 0xd7, 0xdb, 0xa5, 0xc9, 0x28, 0x6a, 0x38, 0x1, 0x80, 0x1, 0x70, 0x9e, 0x9e, 0xfe, 0x90, 0x9e, 0x6e, 0x79, 0xfe, 0x7e, 0x26, 0x25, 0x4e, 0xe4, 0x9b, 0xcc, 0x6b, 0x6b, 0xcc, 0x9b, 0xe4, 0x4e, 0x25, 0x26, 0x1, 0x82, 0x4, 0x56, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0x0, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x18, 0x0, 0x24, 0x0, 0x30, 0x0, 0x3b, 0x0, 0x0, 0x1, 0x16, 0x0, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x27, 0x23, 0x14, 0x17, 0x23, 0x36, 0x35, 0x23, 0x6, 0x23, 0x22, 0x35, 0x34, 0x37, 0x36, 0x0, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x17, 0x33, 0x11, 0x1, 0x33, 0x9, 0x1, 0x23, 0x1, 0x11, 0x23, 0x4, 0xd7, 0x41, 0x1, 0x3b, 0x9, 0x1b, 0xc3, 0x6c, 0x42, 0x1e, 0x3b, 0x98, 0x3b, 0x1e, 0x42, 0x6c, 0xc3, 0x1b, 0x9, 0x1, 0x3b, 0xfd, 0x22, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0xf0, 0x7f, 0x1, 0x6a, 0xa4, 0xfe, 0x69, 0x1, 0xb8, 0xa7, 0xfe, 0x78, 0x7f, 0x3, 0x18, 0x79, 0xfe, 0x7e, 0x26, 0x25, 0x4e, 0xe4, 0x9b, 0xcc, 0x6b, 0x6b, 0xcc, 0x9b, 0xe4, 0x4e, 0x25, 0x26, 0x1, 0x82, 0x4, 0x56, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xf0, 0xfe, 0x9f, 0x1, 0x61, 0xfe, 0x7a, 0xfe, 0x42, 0x1, 0x93, 0xfe, 0x6d, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x21, 0x0, 0x2d, 0x0, 0x30, 0x0, 0x38, 0x0, 0x0, 0x1, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x9, 0x1, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x1, 0x3, 0x21, 0x3, 0x33, 0x1, 0x23, 0x27, 0x21, 0x7, 0x23, 0x4, 0xcc, 0x16, 0x37, 0x3e, 0x54, 0x8b, 0x3e, 0x13, 0x7d, 0xfe, 0xc4, 0xfe, 0xc0, 0x7d, 0x13, 0x3f, 0x8a, 0x56, 0x3c, 0x37, 0xfd, 0x2, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x2, 0x4b, 0x86, 0x1, 0xc, 0xd2, 0x9a, 0x1, 0x20, 0x84, 0x44, 0xfe, 0xb6, 0x44, 0x84, 0x1, 0xb6, 0x76, 0x3e, 0x47, 0x95, 0x2d, 0x3b, 0x9e, 0x9f, 0xfe, 0x6e, 0x1, 0x92, 0x9d, 0xa0, 0x3b, 0x2d, 0x95, 0x47, 0x41, 0x4, 0xcc, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfe, 0xac, 0xfe, 0x55, 0x2, 0xf, 0xfc, 0xbc, 0xda, 0xda, 0x0, 0x0, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x21, 0x0, 0x2d, 0x0, 0x46, 0x0, 0x0, 0x1, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x9, 0x1, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x1, 0x21, 0x15, 0x21, 0x35, 0x36, 0x37, 0x0, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x1, 0x6, 0x4, 0xcc, 0x16, 0x37, 0x3e, 0x54, 0x8b, 0x3e, 0x13, 0x7d, 0xfe, 0xc4, 0xfe, 0xc0, 0x7d, 0x13, 0x3f, 0x8a, 0x56, 0x3c, 0x37, 0xfd, 0x2, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x1, 0x9e, 0x1, 0xa8, 0xfd, 0xaa, 0x22, 0x3f, 0x1, 0x58, 0x68, 0x55, 0x34, 0x7a, 0x48, 0x4d, 0x85, 0x39, 0x91, 0xae, 0xfe, 0xb5, 0x38, 0x1, 0xb6, 0x76, 0x3e, 0x47, 0x95, 0x2d, 0x3b, 0x9e, 0x9f, 0xfe, 0x6e, 0x1, 0x92, 0x9d, 0xa0, 0x3b, 0x2d, 0x95, 0x47, 0x41, 0x4, 0xcc, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfc, 0x3f, 0x72, 0x6e, 0x1f, 0x38, 0x1, 0x31, 0x5e, 0x42, 0x51, 0x23, 0x23, 0x7b, 0x1c, 0x1c, 0x84, 0x6c, 0x8b, 0xfe, 0xe4, 0x30, 0x0, 0x0, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x21, 0x0, 0x2d, 0x0, 0x56, 0x0, 0x0, 0x1, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x9, 0x1, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x1, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x4, 0xcc, 0x16, 0x37, 0x3e, 0x54, 0x8b, 0x3e, 0x13, 0x7d, 0xfe, 0xc4, 0xfe, 0xc0, 0x7d, 0x13, 0x3f, 0x8a, 0x56, 0x3c, 0x37, 0xfd, 0x2, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x2, 0x9a, 0x5c, 0x65, 0xbe, 0xb1, 0x39, 0x7d, 0x46, 0x34, 0x77, 0x43, 0x6d, 0x78, 0x6f, 0x6c, 0x56, 0x5e, 0x5e, 0x61, 0x64, 0x5f, 0x28, 0x66, 0x51, 0x49, 0x80, 0x37, 0x90, 0xa9, 0x5a, 0x1, 0xb6, 0x76, 0x3e, 0x47, 0x95, 0x2d, 0x3b, 0x9e, 0x9f, 0xfe, 0x6e, 0x1, 0x92, 0x9d, 0xa0, 0x3b, 0x2d, 0x95, 0x47, 0x41, 0x4, 0xcc, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfd, 0x91, 0x12, 0x6d, 0x52, 0x7c, 0x86, 0x15, 0x14, 0x79, 0x1b, 0x1a, 0x4f, 0x46, 0x4a, 0x4c, 0x6c, 0x3f, 0x3c, 0x3a, 0x3d, 0x12, 0x17, 0x73, 0x11, 0x12, 0x76, 0x63, 0x45, 0x60, 0x0, 0x0, 0x0, 0x5, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x21, 0x0, 0x2d, 0x0, 0x30, 0x0, 0x3b, 0x0, 0x0, 0x1, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x9, 0x1, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x9, 0x1, 0x21, 0x3, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x21, 0x35, 0x4, 0xcc, 0x16, 0x37, 0x3e, 0x54, 0x8b, 0x3e, 0x13, 0x7d, 0xfe, 0xc4, 0xfe, 0xc0, 0x7d, 0x13, 0x3f, 0x8a, 0x56, 0x3c, 0x37, 0xfd, 0x2, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x2, 0x8e, 0xfe, 0xcb, 0x1, 0x35, 0x16, 0xa6, 0x87, 0x87, 0x90, 0xfe, 0x62, 0x1, 0xb6, 0x76, 0x3e, 0x47, 0x95, 0x2d, 0x3b, 0x9e, 0x9f, 0xfe, 0x6e, 0x1, 0x92, 0x9d, 0xa0, 0x3b, 0x2d, 0x95, 0x47, 0x41, 0x4, 0xcc, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfe, 0x97, 0xfe, 0x5d, 0x2, 0x1c, 0xfd, 0xe4, 0x6d, 0xba, 0xba, 0x79, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x21, 0x0, 0x2d, 0x0, 0x4e, 0x0, 0x0, 0x1, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x9, 0x1, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x5, 0x21, 0x15, 0x21, 0x15, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x4, 0xcc, 0x16, 0x37, 0x3e, 0x54, 0x8b, 0x3e, 0x13, 0x7d, 0xfe, 0xc4, 0xfe, 0xc0, 0x7d, 0x13, 0x3f, 0x8a, 0x56, 0x3c, 0x37, 0xfd, 0x2, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x1, 0x18, 0x1, 0xfe, 0xfe, 0x79, 0x1c, 0x1d, 0x1c, 0x1c, 0xa1, 0x5e, 0x5e, 0x61, 0x60, 0xb0, 0x3c, 0x7e, 0x42, 0x39, 0x3e, 0x3e, 0x45, 0x6f, 0x82, 0x82, 0x6f, 0x34, 0x68, 0x36, 0x1, 0xb6, 0x76, 0x3e, 0x47, 0x95, 0x2d, 0x3b, 0x9e, 0x9f, 0xfe, 0x6e, 0x1, 0x92, 0x9d, 0xa0, 0x3b, 0x2d, 0x95, 0x47, 0x41, 0x4, 0xcc, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xf0, 0x5f, 0xcc, 0x9, 0x4, 0x4, 0x4d, 0x4c, 0x83, 0x87, 0x4b, 0x4a, 0x12, 0x12, 0x71, 0x1b, 0xe, 0xd, 0x66, 0xae, 0x66, 0x14, 0x15, 0x0, 0x0, 0x0, 0x5, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x21, 0x0, 0x2d, 0x0, 0x3d, 0x0, 0x5d, 0x0, 0x0, 0x1, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x9, 0x1, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x1, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x13, 0x15, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x4, 0xcc, 0x16, 0x37, 0x3e, 0x54, 0x8b, 0x3e, 0x13, 0x7d, 0xfe, 0xc4, 0xfe, 0xc0, 0x7d, 0x13, 0x3f, 0x8a, 0x56, 0x3c, 0x37, 0xfd, 0x2, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x2, 0x47, 0x58, 0x33, 0x33, 0x33, 0x33, 0x58, 0x57, 0x33, 0x33, 0x33, 0x33, 0xab, 0x31, 0x32, 0x32, 0x31, 0x80, 0x44, 0x44, 0xa, 0x26, 0x39, 0x3a, 0x44, 0x91, 0x54, 0x54, 0x58, 0x57, 0x91, 0xa7, 0xb0, 0x6c, 0x6c, 0xb6, 0x31, 0x32, 0x32, 0x1, 0xb6, 0x76, 0x3e, 0x47, 0x95, 0x2d, 0x3b, 0x9e, 0x9f, 0xfe, 0x6e, 0x1, 0x92, 0x9d, 0xa0, 0x3b, 0x2d, 0x95, 0x47, 0x41, 0x4, 0xcc, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfd, 0x9e, 0x34, 0x35, 0x5b, 0x5a, 0x34, 0x35, 0x35, 0x34, 0x5a, 0x5b, 0x35, 0x34, 0x1, 0x62, 0x67, 0x14, 0xa, 0xb, 0x4b, 0x4c, 0x99, 0x31, 0x1a, 0x1a, 0x4c, 0x4d, 0x84, 0x7f, 0x4f, 0x4e, 0xde, 0xd4, 0xc6, 0x75, 0x76, 0x8, 0x9, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x21, 0x0, 0x2d, 0x0, 0x34, 0x0, 0x0, 0x1, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x9, 0x1, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x17, 0x21, 0x15, 0x1, 0x23, 0x1, 0x21, 0x4, 0xcc, 0x16, 0x37, 0x3e, 0x54, 0x8b, 0x3e, 0x13, 0x7d, 0xfe, 0xc4, 0xfe, 0xc0, 0x7d, 0x13, 0x3f, 0x8a, 0x56, 0x3c, 0x37, 0xfd, 0x2, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0xf0, 0x2, 0x69, 0xfe, 0xa4, 0x88, 0x1, 0x48, 0xfe, 0x33, 0x1, 0xb6, 0x76, 0x3e, 0x47, 0x95, 0x2d, 0x3b, 0x9e, 0x9f, 0xfe, 0x6e, 0x1, 0x92, 0x9d, 0xa0, 0x3b, 0x2d, 0x95, 0x47, 0x41, 0x4, 0xcc, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xf0, 0x30, 0xfc, 0xed, 0x2, 0xe4, 0x0, 0x0, 0x6, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x21, 0x0, 0x2d, 0x0, 0x3a, 0x0, 0x58, 0x0, 0x67, 0x0, 0x0, 0x1, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x9, 0x1, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x0, 0x22, 0x7, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x36, 0x34, 0x27, 0x25, 0x26, 0x27, 0x26, 0x35, 0x34, 0x36, 0x20, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x22, 0x7, 0x6, 0x4, 0xcc, 0x16, 0x37, 0x3e, 0x54, 0x8b, 0x3e, 0x13, 0x7d, 0xfe, 0xc4, 0xfe, 0xc0, 0x7d, 0x13, 0x3f, 0x8a, 0x56, 0x3c, 0x37, 0xfd, 0x2, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x2, 0x97, 0xba, 0x35, 0x35, 0x6a, 0x5d, 0x5c, 0x36, 0x35, 0x35, 0xfe, 0xec, 0x54, 0x2e, 0x2f, 0xa4, 0x1, 0x1e, 0x52, 0x51, 0x2e, 0x2f, 0x53, 0x5a, 0x38, 0x35, 0x55, 0x56, 0x9e, 0x9f, 0x55, 0x56, 0x35, 0x36, 0x2d, 0x2f, 0x2e, 0x55, 0x51, 0x31, 0x30, 0x30, 0x2f, 0xa6, 0x30, 0x2f, 0x1, 0xb6, 0x76, 0x3e, 0x47, 0x95, 0x2d, 0x3b, 0x9e, 0x9f, 0xfe, 0x6e, 0x1, 0x92, 0x9d, 0xa0, 0x3b, 0x2d, 0x95, 0x47, 0x41, 0x4, 0xcc, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfd, 0x5b, 0x2c, 0x2b, 0x4b, 0x4c, 0x56, 0x2c, 0x2b, 0x96, 0x2b, 0x5d, 0x12, 0x31, 0x32, 0x48, 0x64, 0x74, 0x3a, 0x3a, 0x64, 0x4a, 0x30, 0x31, 0x12, 0x12, 0x3a, 0x37, 0x50, 0x79, 0x41, 0x41, 0x41, 0x41, 0x79, 0x4e, 0x39, 0x38, 0xc6, 0x3f, 0x26, 0x25, 0x25, 0x24, 0x41, 0x3f, 0x26, 0x25, 0x25, 0x24, 0x0, 0x0, 0x5, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x21, 0x0, 0x2d, 0x0, 0x4d, 0x0, 0x5c, 0x0, 0x0, 0x1, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x9, 0x1, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x1, 0x35, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x6, 0x7, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x13, 0x32, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x4, 0xcc, 0x16, 0x37, 0x3e, 0x54, 0x8b, 0x3e, 0x13, 0x7d, 0xfe, 0xc4, 0xfe, 0xc0, 0x7d, 0x13, 0x3f, 0x8a, 0x56, 0x3c, 0x37, 0xfd, 0x2, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x1, 0x2e, 0x31, 0x32, 0x32, 0x30, 0x81, 0x44, 0x43, 0xa, 0x23, 0x3c, 0x39, 0x45, 0x90, 0xa8, 0x57, 0x58, 0x91, 0xa7, 0x57, 0x58, 0x6b, 0x6c, 0xb6, 0x31, 0x32, 0x32, 0xcc, 0x58, 0x66, 0x33, 0x33, 0x58, 0x55, 0x35, 0x34, 0x34, 0x33, 0x1, 0xb6, 0x76, 0x3e, 0x47, 0x95, 0x2d, 0x3b, 0x9e, 0x9f, 0xfe, 0x6e, 0x1, 0x92, 0x9d, 0xa0, 0x3b, 0x2d, 0x95, 0x47, 0x41, 0x4, 0xcc, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfb, 0xdf, 0x67, 0x14, 0xb, 0xa, 0x4b, 0x4b, 0x9a, 0x2f, 0x1b, 0x1a, 0x98, 0x84, 0x81, 0x4d, 0x4e, 0x6f, 0x6f, 0xd4, 0xc6, 0x75, 0x76, 0x8, 0x9, 0x1, 0x72, 0x68, 0x5c, 0x5a, 0x34, 0x35, 0x35, 0x34, 0x5a, 0x5c, 0x34, 0x34, 0x0, 0x0, 0x0, 0x6, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x21, 0x0, 0x2d, 0x0, 0x3b, 0x0, 0x47, 0x0, 0x4e, 0x0, 0x0, 0x1, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x9, 0x1, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x0, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x32, 0x37, 0x36, 0x35, 0x34, 0x2f, 0x1, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x1, 0x11, 0x7, 0x35, 0x37, 0x33, 0x11, 0x4, 0xcc, 0x16, 0x37, 0x3e, 0x54, 0x8b, 0x3e, 0x13, 0x7d, 0xfe, 0xc4, 0xfe, 0xc0, 0x7d, 0x13, 0x3f, 0x8a, 0x56, 0x3c, 0x37, 0xfd, 0x2, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x3, 0xea, 0x8e, 0x32, 0x33, 0x33, 0x32, 0x8e, 0x32, 0x33, 0x33, 0x79, 0x83, 0xaa, 0xaa, 0x83, 0xa2, 0x8c, 0x8c, 0xfe, 0x74, 0x85, 0x8c, 0x89, 0x1, 0xb6, 0x76, 0x3e, 0x47, 0x95, 0x2d, 0x3b, 0x9e, 0x9f, 0xfe, 0x6e, 0x1, 0x92, 0x9d, 0xa0, 0x3b, 0x2d, 0x95, 0x47, 0x41, 0x4, 0xcc, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfe, 0xc8, 0x56, 0x56, 0xac, 0xad, 0x56, 0x56, 0x56, 0x56, 0xad, 0xac, 0x56, 0xaf, 0xde, 0xd3, 0xd4, 0xde, 0xde, 0xd4, 0xd3, 0xde, 0xfc, 0xac, 0x2, 0xd1, 0x29, 0x74, 0x27, 0xfc, 0xbd, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x21, 0x0, 0x2d, 0x0, 0x3a, 0x0, 0x0, 0x1, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x9, 0x1, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x5, 0x33, 0x11, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x4, 0xcc, 0x16, 0x37, 0x3e, 0x54, 0x8b, 0x3e, 0x13, 0x7d, 0xfe, 0xc4, 0xfe, 0xc0, 0x7d, 0x13, 0x3f, 0x8a, 0x56, 0x3c, 0x37, 0xfd, 0x2, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x1, 0xb2, 0x7f, 0x41, 0x40, 0x8f, 0x31, 0x28, 0x54, 0x46, 0x1, 0xb6, 0x76, 0x3e, 0x47, 0x95, 0x2d, 0x3b, 0x9e, 0x9f, 0xfe, 0x6e, 0x1, 0x92, 0x9d, 0xa0, 0x3b, 0x2d, 0x95, 0x47, 0x41, 0x4, 0xcc, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xf0, 0xfd, 0xdc, 0x95, 0x46, 0x45, 0x60, 0x54, 0x6c, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x21, 0x0, 0x2d, 0x0, 0x47, 0x0, 0x0, 0x1, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x9, 0x1, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x1, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x4, 0xcc, 0x16, 0x37, 0x3e, 0x54, 0x8b, 0x3e, 0x13, 0x7d, 0xfe, 0xc4, 0xfe, 0xc0, 0x7d, 0x13, 0x3f, 0x8a, 0x56, 0x3c, 0x37, 0xfd, 0x2, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x3, 0x3c, 0x31, 0x65, 0x39, 0xb5, 0xc8, 0xc9, 0xb4, 0x39, 0x66, 0x30, 0x2f, 0x6a, 0x36, 0x7c, 0x7c, 0x7b, 0x7d, 0x37, 0x6a, 0x2e, 0x1, 0xb6, 0x76, 0x3e, 0x47, 0x95, 0x2d, 0x3b, 0x9e, 0x9f, 0xfe, 0x6e, 0x1, 0x92, 0x9d, 0xa0, 0x3b, 0x2d, 0x95, 0x47, 0x41, 0x4, 0xcc, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfb, 0xeb, 0x17, 0x16, 0xe3, 0xce, 0xcd, 0xe5, 0x17, 0x17, 0x74, 0x22, 0x24, 0xaa, 0xac, 0xab, 0xab, 0x24, 0x22, 0x0, 0x0, 0x5, 0x0, 0xd9, 0xfe, 0x14, 0x7, 0x78, 0x7, 0x6d, 0x0, 0x11, 0x0, 0x1b, 0x0, 0x31, 0x0, 0x3d, 0x0, 0x49, 0x0, 0x0, 0x1, 0x22, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x17, 0x7, 0x12, 0x10, 0x26, 0x23, 0x22, 0x6, 0x10, 0x16, 0x33, 0x32, 0x1, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x9, 0x1, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x2, 0xfb, 0x4, 0x11, 0x5, 0x9e, 0x9b, 0x9c, 0x9e, 0x9f, 0x9c, 0x56, 0x58, 0x7e, 0x5f, 0xa, 0x55, 0x61, 0x60, 0x55, 0x55, 0x60, 0x61, 0x1, 0x89, 0x16, 0x37, 0x3e, 0x54, 0x8b, 0x3e, 0x13, 0x7d, 0xfe, 0xc4, 0xfe, 0xc0, 0x7d, 0x13, 0x3f, 0x8a, 0x56, 0x3c, 0x37, 0xfd, 0x13, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x3, 0x2c, 0x1, 0xd7, 0xda, 0xdb, 0xd7, 0xd7, 0xdb, 0xa5, 0xc9, 0x28, 0x6a, 0x38, 0x1, 0x80, 0x1, 0x70, 0x9e, 0x9e, 0xfe, 0x90, 0x9e, 0xfe, 0x30, 0x76, 0x3e, 0x47, 0x95, 0x2d, 0x3b, 0x9e, 0x9f, 0xfe, 0x6e, 0x1, 0x92, 0x9d, 0xa0, 0x3b, 0x2d, 0x95, 0x47, 0x41, 0x4, 0xcc, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x15, 0x0, 0x21, 0x0, 0x2d, 0x0, 0x38, 0x0, 0x0, 0x1, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x9, 0x1, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x17, 0x33, 0x11, 0x1, 0x33, 0x9, 0x1, 0x23, 0x1, 0x11, 0x23, 0x4, 0xcc, 0x16, 0x37, 0x3e, 0x54, 0x8b, 0x3e, 0x13, 0x7d, 0xfe, 0xc4, 0xfe, 0xc0, 0x7d, 0x13, 0x3f, 0x8a, 0x56, 0x3c, 0x37, 0xfd, 0x2, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0xf0, 0x7f, 0x1, 0x6a, 0xa4, 0xfe, 0x69, 0x1, 0xb8, 0xa7, 0xfe, 0x78, 0x7f, 0x1, 0xb6, 0x76, 0x3e, 0x47, 0x95, 0x2d, 0x3b, 0x9e, 0x9f, 0xfe, 0x6e, 0x1, 0x92, 0x9d, 0xa0, 0x3b, 0x2d, 0x95, 0x47, 0x41, 0x4, 0xcc, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xf0, 0xfe, 0x9f, 0x1, 0x61, 0xfe, 0x7a, 0xfe, 0x42, 0x1, 0x93, 0xfe, 0x6d, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x6, 0x0, 0x12, 0x0, 0x1e, 0x0, 0x21, 0x0, 0x29, 0x0, 0x0, 0x1, 0x30, 0x9, 0x1, 0x30, 0x1, 0x30, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x1, 0x3, 0x21, 0x3, 0x33, 0x1, 0x23, 0x27, 0x21, 0x7, 0x23, 0x4, 0xca, 0x1, 0x98, 0xfe, 0x68, 0xfe, 0x66, 0xfe, 0x88, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x2, 0x4b, 0x86, 0x1, 0xc, 0xd2, 0x9a, 0x1, 0x20, 0x84, 0x44, 0xfe, 0xb6, 0x44, 0x84, 0x2, 0xf9, 0xfd, 0xf2, 0xfd, 0xfa, 0x2, 0x6, 0x6, 0xa, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfe, 0xac, 0xfe, 0x55, 0x2, 0xf, 0xfc, 0xbc, 0xda, 0xda, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x6, 0x0, 0x12, 0x0, 0x1e, 0x0, 0x37, 0x0, 0x0, 0x1, 0x30, 0x9, 0x1, 0x30, 0x1, 0x30, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x1, 0x21, 0x15, 0x21, 0x35, 0x36, 0x37, 0x0, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x1, 0x6, 0x4, 0xca, 0x1, 0x98, 0xfe, 0x68, 0xfe, 0x66, 0xfe, 0x88, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x1, 0x9e, 0x1, 0xa8, 0xfd, 0xaa, 0x22, 0x3f, 0x1, 0x58, 0x68, 0x55, 0x34, 0x7a, 0x48, 0x4d, 0x85, 0x39, 0x91, 0xae, 0xfe, 0xb5, 0x38, 0x2, 0xf9, 0xfd, 0xf2, 0xfd, 0xfa, 0x2, 0x6, 0x6, 0xa, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfc, 0x3f, 0x72, 0x6e, 0x1f, 0x38, 0x1, 0x31, 0x5e, 0x42, 0x51, 0x23, 0x23, 0x7b, 0x1c, 0x1c, 0x84, 0x6c, 0x8b, 0xfe, 0xe4, 0x30, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x6, 0x0, 0x12, 0x0, 0x1e, 0x0, 0x47, 0x0, 0x0, 0x1, 0x30, 0x9, 0x1, 0x30, 0x1, 0x30, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x1, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x4, 0xca, 0x1, 0x98, 0xfe, 0x68, 0xfe, 0x66, 0xfe, 0x88, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x2, 0x9a, 0x5c, 0x65, 0xbe, 0xb1, 0x39, 0x7d, 0x46, 0x34, 0x77, 0x43, 0x6d, 0x78, 0x6f, 0x6c, 0x56, 0x5e, 0x5e, 0x61, 0x64, 0x5f, 0x28, 0x66, 0x51, 0x49, 0x80, 0x37, 0x90, 0xa9, 0x5a, 0x2, 0xf9, 0xfd, 0xf2, 0xfd, 0xfa, 0x2, 0x6, 0x6, 0xa, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfd, 0x91, 0x12, 0x6d, 0x52, 0x7c, 0x86, 0x15, 0x14, 0x79, 0x1b, 0x1a, 0x4f, 0x46, 0x4a, 0x4c, 0x6c, 0x3f, 0x3c, 0x3a, 0x3d, 0x12, 0x17, 0x73, 0x11, 0x12, 0x76, 0x63, 0x45, 0x60, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x6, 0x0, 0x12, 0x0, 0x1e, 0x0, 0x21, 0x0, 0x2c, 0x0, 0x0, 0x1, 0x30, 0x9, 0x1, 0x30, 0x1, 0x30, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x9, 0x1, 0x21, 0x3, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x21, 0x35, 0x4, 0xca, 0x1, 0x98, 0xfe, 0x68, 0xfe, 0x66, 0xfe, 0x88, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x2, 0x8e, 0xfe, 0xcb, 0x1, 0x35, 0x16, 0xa6, 0x87, 0x87, 0x90, 0xfe, 0x62, 0x2, 0xf9, 0xfd, 0xf2, 0xfd, 0xfa, 0x2, 0x6, 0x6, 0xa, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfe, 0x97, 0xfe, 0x5d, 0x2, 0x1c, 0xfd, 0xe4, 0x6d, 0xba, 0xba, 0x79, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x6, 0x0, 0x12, 0x0, 0x1e, 0x0, 0x3f, 0x0, 0x0, 0x1, 0x30, 0x9, 0x1, 0x30, 0x1, 0x30, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x5, 0x21, 0x15, 0x21, 0x15, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x4, 0xca, 0x1, 0x98, 0xfe, 0x68, 0xfe, 0x66, 0xfe, 0x88, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x1, 0x18, 0x1, 0xfe, 0xfe, 0x79, 0x1c, 0x1d, 0x1c, 0x1c, 0xa1, 0x5e, 0x5e, 0x61, 0x60, 0xb0, 0x3c, 0x7e, 0x42, 0x39, 0x3e, 0x3e, 0x45, 0x6f, 0x82, 0x82, 0x6f, 0x34, 0x68, 0x36, 0x2, 0xf9, 0xfd, 0xf2, 0xfd, 0xfa, 0x2, 0x6, 0x6, 0xa, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xf0, 0x5f, 0xcc, 0x9, 0x4, 0x4, 0x4d, 0x4c, 0x83, 0x87, 0x4b, 0x4a, 0x12, 0x12, 0x71, 0x1b, 0xe, 0xd, 0x66, 0xae, 0x66, 0x14, 0x15, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x6, 0x0, 0x12, 0x0, 0x1e, 0x0, 0x2e, 0x0, 0x4e, 0x0, 0x0, 0x1, 0x30, 0x9, 0x1, 0x30, 0x1, 0x30, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x1, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x13, 0x15, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x4, 0xca, 0x1, 0x98, 0xfe, 0x68, 0xfe, 0x66, 0xfe, 0x88, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x2, 0x47, 0x58, 0x33, 0x33, 0x33, 0x33, 0x58, 0x57, 0x33, 0x33, 0x33, 0x33, 0xab, 0x31, 0x32, 0x32, 0x31, 0x80, 0x44, 0x44, 0xa, 0x26, 0x39, 0x3a, 0x44, 0x91, 0x54, 0x54, 0x58, 0x57, 0x91, 0xa7, 0xb0, 0x6c, 0x6c, 0xb6, 0x31, 0x32, 0x32, 0x2, 0xf9, 0xfd, 0xf2, 0xfd, 0xfa, 0x2, 0x6, 0x6, 0xa, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfd, 0x9e, 0x34, 0x35, 0x5b, 0x5a, 0x34, 0x35, 0x35, 0x34, 0x5a, 0x5b, 0x35, 0x34, 0x1, 0x62, 0x67, 0x14, 0xa, 0xb, 0x4b, 0x4c, 0x99, 0x31, 0x1a, 0x1a, 0x4c, 0x4d, 0x84, 0x7f, 0x4f, 0x4e, 0xde, 0xd4, 0xc6, 0x75, 0x76, 0x8, 0x9, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x6, 0x0, 0x12, 0x0, 0x1e, 0x0, 0x25, 0x0, 0x0, 0x1, 0x30, 0x9, 0x1, 0x30, 0x1, 0x30, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x17, 0x21, 0x15, 0x1, 0x23, 0x1, 0x21, 0x4, 0xca, 0x1, 0x98, 0xfe, 0x68, 0xfe, 0x66, 0xfe, 0x88, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0xf0, 0x2, 0x69, 0xfe, 0xa4, 0x88, 0x1, 0x48, 0xfe, 0x33, 0x2, 0xf9, 0xfd, 0xf2, 0xfd, 0xfa, 0x2, 0x6, 0x6, 0xa, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xf0, 0x30, 0xfc, 0xed, 0x2, 0xe4, 0x0, 0x0, 0x0, 0x6, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x6, 0x0, 0x12, 0x0, 0x1e, 0x0, 0x2b, 0x0, 0x49, 0x0, 0x58, 0x0, 0x0, 0x1, 0x30, 0x9, 0x1, 0x30, 0x1, 0x30, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x0, 0x22, 0x7, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x36, 0x34, 0x27, 0x25, 0x26, 0x27, 0x26, 0x35, 0x34, 0x36, 0x20, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x22, 0x7, 0x6, 0x4, 0xca, 0x1, 0x98, 0xfe, 0x68, 0xfe, 0x66, 0xfe, 0x88, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x2, 0x97, 0xba, 0x35, 0x35, 0x6a, 0x5d, 0x5c, 0x36, 0x35, 0x35, 0xfe, 0xec, 0x54, 0x2e, 0x2f, 0xa4, 0x1, 0x1e, 0x52, 0x51, 0x2e, 0x2f, 0x53, 0x5a, 0x38, 0x35, 0x55, 0x56, 0x9e, 0x9f, 0x55, 0x56, 0x35, 0x36, 0x2d, 0x2f, 0x2e, 0x55, 0x51, 0x31, 0x30, 0x30, 0x2f, 0xa6, 0x30, 0x2f, 0x2, 0xf9, 0xfd, 0xf2, 0xfd, 0xfa, 0x2, 0x6, 0x6, 0xa, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfd, 0x5b, 0x2c, 0x2b, 0x4b, 0x4c, 0x56, 0x2c, 0x2b, 0x96, 0x2b, 0x5d, 0x12, 0x31, 0x32, 0x48, 0x64, 0x74, 0x3a, 0x3a, 0x64, 0x4a, 0x30, 0x31, 0x12, 0x12, 0x3a, 0x37, 0x50, 0x79, 0x41, 0x41, 0x41, 0x41, 0x79, 0x4e, 0x39, 0x38, 0xc6, 0x3f, 0x26, 0x25, 0x25, 0x24, 0x41, 0x3f, 0x26, 0x25, 0x25, 0x24, 0x0, 0x0, 0x0, 0x5, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x6, 0x0, 0x12, 0x0, 0x1e, 0x0, 0x3e, 0x0, 0x4d, 0x0, 0x0, 0x1, 0x30, 0x9, 0x1, 0x30, 0x1, 0x30, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x1, 0x35, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x6, 0x7, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x13, 0x32, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x4, 0xca, 0x1, 0x98, 0xfe, 0x68, 0xfe, 0x66, 0xfe, 0x88, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x1, 0x2e, 0x31, 0x32, 0x32, 0x30, 0x81, 0x44, 0x43, 0xa, 0x23, 0x3c, 0x39, 0x45, 0x90, 0xa8, 0x57, 0x58, 0x91, 0xa7, 0x57, 0x58, 0x6b, 0x6c, 0xb6, 0x31, 0x32, 0x32, 0xcc, 0x58, 0x66, 0x33, 0x33, 0x58, 0x55, 0x35, 0x34, 0x34, 0x33, 0x2, 0xf9, 0xfd, 0xf2, 0xfd, 0xfa, 0x2, 0x6, 0x6, 0xa, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfb, 0xdf, 0x67, 0x14, 0xb, 0xa, 0x4b, 0x4b, 0x9a, 0x2f, 0x1b, 0x1a, 0x98, 0x84, 0x81, 0x4d, 0x4e, 0x6f, 0x6f, 0xd4, 0xc6, 0x75, 0x76, 0x8, 0x9, 0x1, 0x72, 0x68, 0x5c, 0x5a, 0x34, 0x35, 0x35, 0x34, 0x5a, 0x5c, 0x34, 0x34, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x6, 0x0, 0x12, 0x0, 0x1e, 0x0, 0x2c, 0x0, 0x38, 0x0, 0x3f, 0x0, 0x0, 0x1, 0x30, 0x9, 0x1, 0x30, 0x1, 0x30, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x0, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x32, 0x37, 0x36, 0x35, 0x34, 0x2f, 0x1, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x1, 0x11, 0x7, 0x35, 0x37, 0x33, 0x11, 0x4, 0xca, 0x1, 0x98, 0xfe, 0x68, 0xfe, 0x66, 0xfe, 0x88, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x3, 0xea, 0x8e, 0x32, 0x33, 0x33, 0x32, 0x8e, 0x32, 0x33, 0x33, 0x79, 0x83, 0xaa, 0xaa, 0x83, 0xa2, 0x8c, 0x8c, 0xfe, 0x74, 0x85, 0x8c, 0x89, 0x2, 0xf9, 0xfd, 0xf2, 0xfd, 0xfa, 0x2, 0x6, 0x6, 0xa, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfe, 0xc8, 0x56, 0x56, 0xac, 0xad, 0x56, 0x56, 0x56, 0x56, 0xad, 0xac, 0x56, 0xaf, 0xde, 0xd3, 0xd4, 0xde, 0xde, 0xd4, 0xd3, 0xde, 0xfc, 0xac, 0x2, 0xd1, 0x29, 0x74, 0x27, 0xfc, 0xbd, 0x0, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x6, 0x0, 0x12, 0x0, 0x1e, 0x0, 0x2b, 0x0, 0x0, 0x1, 0x30, 0x9, 0x1, 0x30, 0x1, 0x30, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x5, 0x33, 0x11, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x4, 0xca, 0x1, 0x98, 0xfe, 0x68, 0xfe, 0x66, 0xfe, 0x88, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x1, 0xb2, 0x7f, 0x41, 0x40, 0x8f, 0x31, 0x28, 0x54, 0x46, 0x2, 0xf9, 0xfd, 0xf2, 0xfd, 0xfa, 0x2, 0x6, 0x6, 0xa, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xf0, 0xfd, 0xdc, 0x95, 0x46, 0x45, 0x60, 0x54, 0x6c, 0x0, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x6, 0x0, 0x12, 0x0, 0x1e, 0x0, 0x38, 0x0, 0x0, 0x1, 0x30, 0x9, 0x1, 0x30, 0x1, 0x30, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x1, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x4, 0xca, 0x1, 0x98, 0xfe, 0x68, 0xfe, 0x66, 0xfe, 0x88, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x3, 0x3c, 0x31, 0x65, 0x39, 0xb5, 0xc8, 0xc9, 0xb4, 0x39, 0x66, 0x30, 0x2f, 0x6a, 0x36, 0x7c, 0x7c, 0x7b, 0x7d, 0x37, 0x6a, 0x2e, 0x2, 0xf9, 0xfd, 0xf2, 0xfd, 0xfa, 0x2, 0x6, 0x6, 0xa, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfb, 0xeb, 0x17, 0x16, 0xe3, 0xce, 0xcd, 0xe5, 0x17, 0x17, 0x74, 0x22, 0x24, 0xaa, 0xac, 0xab, 0xab, 0x24, 0x22, 0x0, 0x0, 0x0, 0x5, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x6, 0x0, 0x18, 0x0, 0x22, 0x0, 0x2e, 0x0, 0x3a, 0x0, 0x0, 0x1, 0x30, 0x9, 0x1, 0x30, 0x1, 0x30, 0x3, 0x22, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x17, 0x7, 0x12, 0x10, 0x26, 0x23, 0x22, 0x6, 0x10, 0x16, 0x33, 0x32, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x4, 0xca, 0x1, 0x98, 0xfe, 0x68, 0xfe, 0x66, 0x35, 0x4, 0x11, 0x5, 0x9e, 0x9b, 0x9c, 0x9e, 0x9f, 0x9c, 0x56, 0x58, 0x7e, 0x5f, 0xa, 0x55, 0x61, 0x60, 0x55, 0x55, 0x60, 0x61, 0xfe, 0x75, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x2, 0xf9, 0xfd, 0xf2, 0xfd, 0xfa, 0x2, 0x6, 0x2, 0x41, 0x1, 0xd7, 0xda, 0xdb, 0xd7, 0xd7, 0xdb, 0xa5, 0xc9, 0x28, 0x6a, 0x38, 0x1, 0x80, 0x1, 0x70, 0x9e, 0x9e, 0xfe, 0x90, 0x9e, 0x3, 0x6f, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0x0, 0x0, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x6, 0x0, 0x12, 0x0, 0x1e, 0x0, 0x29, 0x0, 0x0, 0x1, 0x30, 0x9, 0x1, 0x30, 0x1, 0x30, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x17, 0x33, 0x11, 0x1, 0x33, 0x9, 0x1, 0x23, 0x1, 0x11, 0x23, 0x4, 0xca, 0x1, 0x98, 0xfe, 0x68, 0xfe, 0x66, 0xfe, 0x88, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0xf0, 0x7f, 0x1, 0x6a, 0xa4, 0xfe, 0x69, 0x1, 0xb8, 0xa7, 0xfe, 0x78, 0x7f, 0x2, 0xf9, 0xfd, 0xf2, 0xfd, 0xfa, 0x2, 0x6, 0x6, 0xa, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xf0, 0xfe, 0x9f, 0x1, 0x61, 0xfe, 0x7a, 0xfe, 0x42, 0x1, 0x93, 0xfe, 0x6d, 0x0, 0x3, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x9, 0x0, 0x15, 0x0, 0x21, 0x0, 0x0, 0x1, 0x13, 0x21, 0x1, 0x13, 0x9, 0x1, 0x13, 0x1, 0x21, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x4, 0x18, 0x8e, 0x1, 0xd1, 0xfe, 0x89, 0x8f, 0xfe, 0x89, 0xfe, 0x87, 0x90, 0xfe, 0x89, 0x1, 0xd0, 0xfe, 0x30, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x5, 0x31, 0xfe, 0x47, 0xfe, 0xef, 0xfe, 0x47, 0x1, 0x11, 0xfe, 0xef, 0x1, 0xb9, 0x1, 0x11, 0x3, 0x7d, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x23, 0x0, 0x2f, 0x0, 0x3b, 0x0, 0x3e, 0x0, 0x46, 0x0, 0x0, 0x5, 0x36, 0x35, 0x6, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x26, 0x35, 0x34, 0x20, 0x15, 0x14, 0x7, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x27, 0x14, 0x17, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x1, 0x3, 0x21, 0x3, 0x33, 0x1, 0x23, 0x27, 0x21, 0x7, 0x23, 0x4, 0x55, 0x39, 0x48, 0xaa, 0x35, 0x19, 0x92, 0x10, 0x3f, 0xab, 0x4b, 0x31, 0x7c, 0x1, 0xd8, 0x7c, 0x31, 0x4b, 0xab, 0x3f, 0x10, 0x92, 0x19, 0x35, 0xa9, 0x49, 0x39, 0xfc, 0xc9, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x2, 0x4b, 0x86, 0x1, 0xc, 0xd2, 0x9a, 0x1, 0x20, 0x84, 0x44, 0xfe, 0xb6, 0x44, 0x84, 0xfc, 0x4c, 0xfb, 0xc3, 0x3, 0x1, 0xc, 0x43, 0x95, 0x34, 0x24, 0x8d, 0x13, 0x82, 0x6a, 0xea, 0xea, 0x6a, 0x82, 0x13, 0x8d, 0x24, 0x34, 0x92, 0x46, 0xc, 0x1, 0x5, 0xc5, 0xfb, 0x4c, 0x7, 0xf1, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfe, 0xac, 0xfe, 0x55, 0x2, 0xf, 0xfc, 0xbc, 0xda, 0xda, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x23, 0x0, 0x2f, 0x0, 0x3b, 0x0, 0x54, 0x0, 0x0, 0x5, 0x36, 0x35, 0x6, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x26, 0x35, 0x34, 0x20, 0x15, 0x14, 0x7, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x27, 0x14, 0x17, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x1, 0x21, 0x15, 0x21, 0x35, 0x36, 0x37, 0x0, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x1, 0x6, 0x4, 0x55, 0x39, 0x48, 0xaa, 0x35, 0x19, 0x92, 0x10, 0x3f, 0xab, 0x4b, 0x31, 0x7c, 0x1, 0xd8, 0x7c, 0x31, 0x4b, 0xab, 0x3f, 0x10, 0x92, 0x19, 0x35, 0xa9, 0x49, 0x39, 0xfc, 0xc9, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x1, 0x9e, 0x1, 0xa8, 0xfd, 0xaa, 0x22, 0x3f, 0x1, 0x58, 0x68, 0x55, 0x34, 0x7a, 0x48, 0x4d, 0x85, 0x39, 0x91, 0xae, 0xfe, 0xb5, 0x38, 0xfc, 0x4c, 0xfb, 0xc3, 0x3, 0x1, 0xc, 0x43, 0x95, 0x34, 0x24, 0x8d, 0x13, 0x82, 0x6a, 0xea, 0xea, 0x6a, 0x82, 0x13, 0x8d, 0x24, 0x34, 0x92, 0x46, 0xc, 0x1, 0x5, 0xc5, 0xfb, 0x4c, 0x7, 0xf1, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfc, 0x3f, 0x72, 0x6e, 0x1f, 0x38, 0x1, 0x31, 0x5e, 0x42, 0x51, 0x23, 0x23, 0x7b, 0x1c, 0x1c, 0x84, 0x6c, 0x8b, 0xfe, 0xe4, 0x30, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x23, 0x0, 0x2f, 0x0, 0x3b, 0x0, 0x64, 0x0, 0x0, 0x5, 0x36, 0x35, 0x6, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x26, 0x35, 0x34, 0x20, 0x15, 0x14, 0x7, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x27, 0x14, 0x17, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x1, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x35, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x4, 0x55, 0x39, 0x48, 0xaa, 0x35, 0x19, 0x92, 0x10, 0x3f, 0xab, 0x4b, 0x31, 0x7c, 0x1, 0xd8, 0x7c, 0x31, 0x4b, 0xab, 0x3f, 0x10, 0x92, 0x19, 0x35, 0xa9, 0x49, 0x39, 0xfc, 0xc9, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x2, 0x9a, 0x5c, 0x65, 0xbe, 0xb1, 0x39, 0x7d, 0x46, 0x34, 0x77, 0x43, 0x6d, 0x78, 0x6f, 0x6c, 0x56, 0x5e, 0x5e, 0x61, 0x64, 0x5f, 0x28, 0x66, 0x51, 0x49, 0x80, 0x37, 0x90, 0xa9, 0x5a, 0xfc, 0x4c, 0xfb, 0xc3, 0x3, 0x1, 0xc, 0x43, 0x95, 0x34, 0x24, 0x8d, 0x13, 0x82, 0x6a, 0xea, 0xea, 0x6a, 0x82, 0x13, 0x8d, 0x24, 0x34, 0x92, 0x46, 0xc, 0x1, 0x5, 0xc5, 0xfb, 0x4c, 0x7, 0xf1, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfd, 0x91, 0x12, 0x6d, 0x52, 0x7c, 0x86, 0x15, 0x14, 0x79, 0x1b, 0x1a, 0x4f, 0x46, 0x4a, 0x4c, 0x6c, 0x3f, 0x3c, 0x3a, 0x3d, 0x12, 0x17, 0x73, 0x11, 0x12, 0x76, 0x63, 0x45, 0x60, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x23, 0x0, 0x2f, 0x0, 0x3b, 0x0, 0x3e, 0x0, 0x49, 0x0, 0x0, 0x5, 0x36, 0x35, 0x6, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x26, 0x35, 0x34, 0x20, 0x15, 0x14, 0x7, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x27, 0x14, 0x17, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x9, 0x1, 0x21, 0x3, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x21, 0x35, 0x4, 0x55, 0x39, 0x48, 0xaa, 0x35, 0x19, 0x92, 0x10, 0x3f, 0xab, 0x4b, 0x31, 0x7c, 0x1, 0xd8, 0x7c, 0x31, 0x4b, 0xab, 0x3f, 0x10, 0x92, 0x19, 0x35, 0xa9, 0x49, 0x39, 0xfc, 0xc9, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x2, 0x8e, 0xfe, 0xcb, 0x1, 0x35, 0x16, 0xa6, 0x87, 0x87, 0x90, 0xfe, 0x62, 0xfc, 0x4c, 0xfb, 0xc3, 0x3, 0x1, 0xc, 0x43, 0x95, 0x34, 0x24, 0x8d, 0x13, 0x82, 0x6a, 0xea, 0xea, 0x6a, 0x82, 0x13, 0x8d, 0x24, 0x34, 0x92, 0x46, 0xc, 0x1, 0x5, 0xc5, 0xfb, 0x4c, 0x7, 0xf1, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfe, 0x97, 0xfe, 0x5d, 0x2, 0x1c, 0xfd, 0xe4, 0x6d, 0xba, 0xba, 0x79, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x23, 0x0, 0x2f, 0x0, 0x3b, 0x0, 0x5c, 0x0, 0x0, 0x5, 0x36, 0x35, 0x6, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x26, 0x35, 0x34, 0x20, 0x15, 0x14, 0x7, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x27, 0x14, 0x17, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x5, 0x21, 0x15, 0x21, 0x15, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x4, 0x55, 0x39, 0x48, 0xaa, 0x35, 0x19, 0x92, 0x10, 0x3f, 0xab, 0x4b, 0x31, 0x7c, 0x1, 0xd8, 0x7c, 0x31, 0x4b, 0xab, 0x3f, 0x10, 0x92, 0x19, 0x35, 0xa9, 0x49, 0x39, 0xfc, 0xc9, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x1, 0x18, 0x1, 0xfe, 0xfe, 0x79, 0x1c, 0x1d, 0x1c, 0x1c, 0xa1, 0x5e, 0x5e, 0x61, 0x60, 0xb0, 0x3c, 0x7e, 0x42, 0x39, 0x3e, 0x3e, 0x45, 0x6f, 0x82, 0x82, 0x6f, 0x34, 0x68, 0x36, 0xfc, 0x4c, 0xfb, 0xc3, 0x3, 0x1, 0xc, 0x43, 0x95, 0x34, 0x24, 0x8d, 0x13, 0x82, 0x6a, 0xea, 0xea, 0x6a, 0x82, 0x13, 0x8d, 0x24, 0x34, 0x92, 0x46, 0xc, 0x1, 0x5, 0xc5, 0xfb, 0x4c, 0x7, 0xf1, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xf0, 0x5f, 0xcc, 0x9, 0x4, 0x4, 0x4d, 0x4c, 0x83, 0x87, 0x4b, 0x4a, 0x12, 0x12, 0x71, 0x1b, 0xe, 0xd, 0x66, 0xae, 0x66, 0x14, 0x15, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x23, 0x0, 0x2f, 0x0, 0x3b, 0x0, 0x4b, 0x0, 0x6b, 0x0, 0x0, 0x5, 0x36, 0x35, 0x6, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x26, 0x35, 0x34, 0x20, 0x15, 0x14, 0x7, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x27, 0x14, 0x17, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x1, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x13, 0x15, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x4, 0x55, 0x39, 0x48, 0xaa, 0x35, 0x19, 0x92, 0x10, 0x3f, 0xab, 0x4b, 0x31, 0x7c, 0x1, 0xd8, 0x7c, 0x31, 0x4b, 0xab, 0x3f, 0x10, 0x92, 0x19, 0x35, 0xa9, 0x49, 0x39, 0xfc, 0xc9, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x2, 0x47, 0x58, 0x33, 0x33, 0x33, 0x33, 0x58, 0x57, 0x33, 0x33, 0x33, 0x33, 0xab, 0x31, 0x32, 0x32, 0x31, 0x80, 0x44, 0x44, 0xa, 0x26, 0x39, 0x3a, 0x44, 0x91, 0x54, 0x54, 0x58, 0x57, 0x91, 0xa7, 0xb0, 0x6c, 0x6c, 0xb6, 0x31, 0x32, 0x32, 0xfc, 0x4c, 0xfb, 0xc3, 0x3, 0x1, 0xc, 0x43, 0x95, 0x34, 0x24, 0x8d, 0x13, 0x82, 0x6a, 0xea, 0xea, 0x6a, 0x82, 0x13, 0x8d, 0x24, 0x34, 0x92, 0x46, 0xc, 0x1, 0x5, 0xc5, 0xfb, 0x4c, 0x7, 0xf1, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfd, 0x9e, 0x34, 0x35, 0x5b, 0x5a, 0x34, 0x35, 0x35, 0x34, 0x5a, 0x5b, 0x35, 0x34, 0x1, 0x62, 0x67, 0x14, 0xa, 0xb, 0x4b, 0x4c, 0x99, 0x31, 0x1a, 0x1a, 0x4c, 0x4d, 0x84, 0x7f, 0x4f, 0x4e, 0xde, 0xd4, 0xc6, 0x75, 0x76, 0x8, 0x9, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x23, 0x0, 0x2f, 0x0, 0x3b, 0x0, 0x42, 0x0, 0x0, 0x5, 0x36, 0x35, 0x6, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x26, 0x35, 0x34, 0x20, 0x15, 0x14, 0x7, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x27, 0x14, 0x17, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x17, 0x21, 0x15, 0x1, 0x23, 0x1, 0x21, 0x4, 0x55, 0x39, 0x48, 0xaa, 0x35, 0x19, 0x92, 0x10, 0x3f, 0xab, 0x4b, 0x31, 0x7c, 0x1, 0xd8, 0x7c, 0x31, 0x4b, 0xab, 0x3f, 0x10, 0x92, 0x19, 0x35, 0xa9, 0x49, 0x39, 0xfc, 0xc9, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0xf0, 0x2, 0x69, 0xfe, 0xa4, 0x88, 0x1, 0x48, 0xfe, 0x33, 0xfc, 0x4c, 0xfb, 0xc3, 0x3, 0x1, 0xc, 0x43, 0x95, 0x34, 0x24, 0x8d, 0x13, 0x82, 0x6a, 0xea, 0xea, 0x6a, 0x82, 0x13, 0x8d, 0x24, 0x34, 0x92, 0x46, 0xc, 0x1, 0x5, 0xc5, 0xfb, 0x4c, 0x7, 0xf1, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xf0, 0x30, 0xfc, 0xed, 0x2, 0xe4, 0x0, 0x0, 0x0, 0x6, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x23, 0x0, 0x2f, 0x0, 0x3b, 0x0, 0x48, 0x0, 0x66, 0x0, 0x75, 0x0, 0x0, 0x5, 0x36, 0x35, 0x6, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x26, 0x35, 0x34, 0x20, 0x15, 0x14, 0x7, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x27, 0x14, 0x17, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x0, 0x22, 0x7, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x36, 0x34, 0x27, 0x25, 0x26, 0x27, 0x26, 0x35, 0x34, 0x36, 0x20, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x22, 0x7, 0x6, 0x4, 0x55, 0x39, 0x48, 0xaa, 0x35, 0x19, 0x92, 0x10, 0x3f, 0xab, 0x4b, 0x31, 0x7c, 0x1, 0xd8, 0x7c, 0x31, 0x4b, 0xab, 0x3f, 0x10, 0x92, 0x19, 0x35, 0xa9, 0x49, 0x39, 0xfc, 0xc9, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x2, 0x97, 0xba, 0x35, 0x35, 0x6a, 0x5d, 0x5c, 0x36, 0x35, 0x35, 0xfe, 0xec, 0x54, 0x2e, 0x2f, 0xa4, 0x1, 0x1e, 0x52, 0x51, 0x2e, 0x2f, 0x53, 0x5a, 0x38, 0x35, 0x55, 0x56, 0x9e, 0x9f, 0x55, 0x56, 0x35, 0x36, 0x2d, 0x2f, 0x2e, 0x55, 0x51, 0x31, 0x30, 0x30, 0x2f, 0xa6, 0x30, 0x2f, 0xfc, 0x4c, 0xfb, 0xc3, 0x3, 0x1, 0xc, 0x43, 0x95, 0x34, 0x24, 0x8d, 0x13, 0x82, 0x6a, 0xea, 0xea, 0x6a, 0x82, 0x13, 0x8d, 0x24, 0x34, 0x92, 0x46, 0xc, 0x1, 0x5, 0xc5, 0xfb, 0x4c, 0x7, 0xf1, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfd, 0x5b, 0x2c, 0x2b, 0x4b, 0x4c, 0x56, 0x2c, 0x2b, 0x96, 0x2b, 0x5d, 0x12, 0x31, 0x32, 0x48, 0x64, 0x74, 0x3a, 0x3a, 0x64, 0x4a, 0x30, 0x31, 0x12, 0x12, 0x3a, 0x37, 0x50, 0x79, 0x41, 0x41, 0x41, 0x41, 0x79, 0x4e, 0x39, 0x38, 0xc6, 0x3f, 0x26, 0x25, 0x25, 0x24, 0x41, 0x3f, 0x26, 0x25, 0x25, 0x24, 0x0, 0x0, 0x0, 0x5, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x23, 0x0, 0x2f, 0x0, 0x3b, 0x0, 0x5b, 0x0, 0x6a, 0x0, 0x0, 0x5, 0x36, 0x35, 0x6, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x26, 0x35, 0x34, 0x20, 0x15, 0x14, 0x7, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x27, 0x14, 0x17, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x1, 0x35, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x6, 0x7, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x13, 0x32, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x4, 0x55, 0x39, 0x48, 0xaa, 0x35, 0x19, 0x92, 0x10, 0x3f, 0xab, 0x4b, 0x31, 0x7c, 0x1, 0xd8, 0x7c, 0x31, 0x4b, 0xab, 0x3f, 0x10, 0x92, 0x19, 0x35, 0xa9, 0x49, 0x39, 0xfc, 0xc9, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x1, 0x2e, 0x31, 0x32, 0x32, 0x30, 0x81, 0x44, 0x43, 0xa, 0x23, 0x3c, 0x39, 0x45, 0x90, 0xa8, 0x57, 0x58, 0x91, 0xa7, 0x57, 0x58, 0x6b, 0x6c, 0xb6, 0x31, 0x32, 0x32, 0xcc, 0x58, 0x66, 0x33, 0x33, 0x58, 0x55, 0x35, 0x34, 0x34, 0x33, 0xfc, 0x4c, 0xfb, 0xc3, 0x3, 0x1, 0xc, 0x43, 0x95, 0x34, 0x24, 0x8d, 0x13, 0x82, 0x6a, 0xea, 0xea, 0x6a, 0x82, 0x13, 0x8d, 0x24, 0x34, 0x92, 0x46, 0xc, 0x1, 0x5, 0xc5, 0xfb, 0x4c, 0x7, 0xf1, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfb, 0xdf, 0x67, 0x14, 0xb, 0xa, 0x4b, 0x4b, 0x9a, 0x2f, 0x1b, 0x1a, 0x98, 0x84, 0x81, 0x4d, 0x4e, 0x6f, 0x6f, 0xd4, 0xc6, 0x75, 0x76, 0x8, 0x9, 0x1, 0x72, 0x68, 0x5c, 0x5a, 0x34, 0x35, 0x35, 0x34, 0x5a, 0x5c, 0x34, 0x34, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x23, 0x0, 0x2f, 0x0, 0x3b, 0x0, 0x49, 0x0, 0x55, 0x0, 0x5c, 0x0, 0x0, 0x5, 0x36, 0x35, 0x6, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x26, 0x35, 0x34, 0x20, 0x15, 0x14, 0x7, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x27, 0x14, 0x17, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x0, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x32, 0x37, 0x36, 0x35, 0x34, 0x2f, 0x1, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x1, 0x11, 0x7, 0x35, 0x37, 0x33, 0x11, 0x4, 0x55, 0x39, 0x48, 0xaa, 0x35, 0x19, 0x92, 0x10, 0x3f, 0xab, 0x4b, 0x31, 0x7c, 0x1, 0xd8, 0x7c, 0x31, 0x4b, 0xab, 0x3f, 0x10, 0x92, 0x19, 0x35, 0xa9, 0x49, 0x39, 0xfc, 0xc9, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x3, 0xea, 0x8e, 0x32, 0x33, 0x33, 0x32, 0x8e, 0x32, 0x33, 0x33, 0x79, 0x83, 0xaa, 0xaa, 0x83, 0xa2, 0x8c, 0x8c, 0xfe, 0x74, 0x85, 0x8c, 0x89, 0xfc, 0x4c, 0xfb, 0xc3, 0x3, 0x1, 0xc, 0x43, 0x95, 0x34, 0x24, 0x8d, 0x13, 0x82, 0x6a, 0xea, 0xea, 0x6a, 0x82, 0x13, 0x8d, 0x24, 0x34, 0x92, 0x46, 0xc, 0x1, 0x5, 0xc5, 0xfb, 0x4c, 0x7, 0xf1, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfe, 0xc8, 0x56, 0x56, 0xac, 0xad, 0x56, 0x56, 0x56, 0x56, 0xad, 0xac, 0x56, 0xaf, 0xde, 0xd3, 0xd4, 0xde, 0xde, 0xd4, 0xd3, 0xde, 0xfc, 0xac, 0x2, 0xd1, 0x29, 0x74, 0x27, 0xfc, 0xbd, 0x0, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x23, 0x0, 0x2f, 0x0, 0x3b, 0x0, 0x48, 0x0, 0x0, 0x5, 0x36, 0x35, 0x6, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x26, 0x35, 0x34, 0x20, 0x15, 0x14, 0x7, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x27, 0x14, 0x17, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x5, 0x33, 0x11, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x36, 0x35, 0x4, 0x55, 0x39, 0x48, 0xaa, 0x35, 0x19, 0x92, 0x10, 0x3f, 0xab, 0x4b, 0x31, 0x7c, 0x1, 0xd8, 0x7c, 0x31, 0x4b, 0xab, 0x3f, 0x10, 0x92, 0x19, 0x35, 0xa9, 0x49, 0x39, 0xfc, 0xc9, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x1, 0xb2, 0x7f, 0x41, 0x40, 0x8f, 0x31, 0x28, 0x54, 0x46, 0xfc, 0x4c, 0xfb, 0xc3, 0x3, 0x1, 0xc, 0x43, 0x95, 0x34, 0x24, 0x8d, 0x13, 0x82, 0x6a, 0xea, 0xea, 0x6a, 0x82, 0x13, 0x8d, 0x24, 0x34, 0x92, 0x46, 0xc, 0x1, 0x5, 0xc5, 0xfb, 0x4c, 0x7, 0xf1, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xf0, 0xfd, 0xdc, 0x95, 0x46, 0x45, 0x60, 0x54, 0x6c, 0x0, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x23, 0x0, 0x2f, 0x0, 0x3b, 0x0, 0x55, 0x0, 0x0, 0x5, 0x36, 0x35, 0x6, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x26, 0x35, 0x34, 0x20, 0x15, 0x14, 0x7, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x27, 0x14, 0x17, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x1, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x15, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x4, 0x55, 0x39, 0x48, 0xaa, 0x35, 0x19, 0x92, 0x10, 0x3f, 0xab, 0x4b, 0x31, 0x7c, 0x1, 0xd8, 0x7c, 0x31, 0x4b, 0xab, 0x3f, 0x10, 0x92, 0x19, 0x35, 0xa9, 0x49, 0x39, 0xfc, 0xc9, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x3, 0x3c, 0x31, 0x65, 0x39, 0xb5, 0xc8, 0xc9, 0xb4, 0x39, 0x66, 0x30, 0x2f, 0x6a, 0x36, 0x7c, 0x7c, 0x7b, 0x7d, 0x37, 0x6a, 0x2e, 0xfc, 0x4c, 0xfb, 0xc3, 0x3, 0x1, 0xc, 0x43, 0x95, 0x34, 0x24, 0x8d, 0x13, 0x82, 0x6a, 0xea, 0xea, 0x6a, 0x82, 0x13, 0x8d, 0x24, 0x34, 0x92, 0x46, 0xc, 0x1, 0x5, 0xc5, 0xfb, 0x4c, 0x7, 0xf1, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfb, 0xeb, 0x17, 0x16, 0xe3, 0xce, 0xcd, 0xe5, 0x17, 0x17, 0x74, 0x22, 0x24, 0xaa, 0xac, 0xab, 0xab, 0x24, 0x22, 0x0, 0x0, 0x0, 0x5, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x23, 0x0, 0x2f, 0x0, 0x3b, 0x0, 0x4d, 0x0, 0x57, 0x0, 0x0, 0x5, 0x36, 0x35, 0x6, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x26, 0x35, 0x34, 0x20, 0x15, 0x14, 0x7, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x27, 0x14, 0x17, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x1, 0x22, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x17, 0x7, 0x12, 0x10, 0x26, 0x23, 0x22, 0x6, 0x10, 0x16, 0x33, 0x32, 0x4, 0x55, 0x39, 0x48, 0xaa, 0x35, 0x19, 0x92, 0x10, 0x3f, 0xab, 0x4b, 0x31, 0x7c, 0x1, 0xd8, 0x7c, 0x31, 0x4b, 0xab, 0x3f, 0x10, 0x92, 0x19, 0x35, 0xa9, 0x49, 0x39, 0xfc, 0xc9, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x2, 0x33, 0x4, 0x11, 0x5, 0x9e, 0x9b, 0x9c, 0x9e, 0x9f, 0x9c, 0x56, 0x58, 0x7e, 0x5f, 0xa, 0x55, 0x61, 0x60, 0x55, 0x55, 0x60, 0x61, 0xfc, 0x4c, 0xfb, 0xc3, 0x3, 0x1, 0xc, 0x43, 0x95, 0x34, 0x24, 0x8d, 0x13, 0x82, 0x6a, 0xea, 0xea, 0x6a, 0x82, 0x13, 0x8d, 0x24, 0x34, 0x92, 0x46, 0xc, 0x1, 0x5, 0xc5, 0xfb, 0x4c, 0x7, 0xf1, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xfb, 0xbf, 0x1, 0xd7, 0xda, 0xdb, 0xd7, 0xd7, 0xdb, 0xa5, 0xc9, 0x28, 0x6a, 0x38, 0x1, 0x80, 0x1, 0x70, 0x9e, 0x9e, 0xfe, 0x90, 0x9e, 0x0, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x23, 0x0, 0x2f, 0x0, 0x3b, 0x0, 0x46, 0x0, 0x0, 0x5, 0x36, 0x35, 0x6, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x26, 0x35, 0x34, 0x20, 0x15, 0x14, 0x7, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x27, 0x14, 0x17, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x17, 0x33, 0x11, 0x1, 0x33, 0x9, 0x1, 0x23, 0x1, 0x11, 0x23, 0x4, 0x55, 0x39, 0x48, 0xaa, 0x35, 0x19, 0x92, 0x10, 0x3f, 0xab, 0x4b, 0x31, 0x7c, 0x1, 0xd8, 0x7c, 0x31, 0x4b, 0xab, 0x3f, 0x10, 0x92, 0x19, 0x35, 0xa9, 0x49, 0x39, 0xfc, 0xc9, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0xf0, 0x7f, 0x1, 0x6a, 0xa4, 0xfe, 0x69, 0x1, 0xb8, 0xa7, 0xfe, 0x78, 0x7f, 0xfc, 0x4c, 0xfb, 0xc3, 0x3, 0x1, 0xc, 0x43, 0x95, 0x34, 0x24, 0x8d, 0x13, 0x82, 0x6a, 0xea, 0xea, 0x6a, 0x82, 0x13, 0x8d, 0x24, 0x34, 0x92, 0x46, 0xc, 0x1, 0x5, 0xc5, 0xfb, 0x4c, 0x7, 0xf1, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0xf0, 0xfe, 0x9f, 0x1, 0x61, 0xfe, 0x7a, 0xfe, 0x42, 0x1, 0x93, 0xfe, 0x6d, 0x0, 0x4, 0x0, 0xc8, 0xfe, 0x14, 0x7, 0x67, 0x7, 0x6d, 0x0, 0x9, 0x0, 0x13, 0x0, 0x1f, 0x0, 0x2b, 0x0, 0x0, 0x1, 0x3, 0x21, 0x5, 0x3, 0x25, 0x5, 0x3, 0x25, 0x21, 0x3, 0x13, 0x5, 0x1, 0x13, 0x25, 0x5, 0x13, 0x1, 0x25, 0x1, 0x22, 0x15, 0x11, 0x14, 0x33, 0x21, 0x32, 0x35, 0x11, 0x34, 0x23, 0x25, 0x21, 0x32, 0x15, 0x11, 0x14, 0x23, 0x21, 0x22, 0x35, 0x11, 0x34, 0x4, 0x18, 0x64, 0xfe, 0xbc, 0x1, 0x6, 0x65, 0x1, 0x7, 0x1, 0x5, 0x63, 0x1, 0x5, 0xfe, 0xbb, 0x62, 0xad, 0x1, 0xb2, 0xfe, 0xb8, 0x60, 0xfe, 0x89, 0xfe, 0x87, 0x62, 0xfe, 0xb7, 0x1, 0xb3, 0xfe, 0x4d, 0x78, 0x78, 0x4, 0xbf, 0x78, 0x78, 0xfb, 0x41, 0x4, 0xbf, 0xf0, 0xf0, 0xfb, 0x41, 0xf0, 0x4, 0x6e, 0xfe, 0xce, 0xbe, 0xfe, 0xcd, 0xbe, 0xbe, 0x1, 0x33, 0xbe, 0x1, 0xf5, 0xfe, 0x6f, 0x28, 0xfe, 0xe2, 0xfe, 0x54, 0xdf, 0xdf, 0x1, 0xa8, 0x1, 0x22, 0x28, 0x3, 0x55, 0x78, 0xf8, 0x87, 0x78, 0x78, 0x7, 0x79, 0x78, 0x78, 0xf0, 0xf8, 0x87, 0xf0, 0xf0, 0x7, 0x79, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x99, 0xff, 0x6a, 0x7, 0xbf, 0x7, 0x56, 0x0, 0x7, 0x0, 0x11, 0x0, 0x19, 0x0, 0x23, 0x0, 0x2b, 0x0, 0x33, 0x0, 0x7f, 0x0, 0xb7, 0x0, 0x0, 0x0, 0x34, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x37, 0x22, 0x6, 0x15, 0x14, 0x33, 0x32, 0x36, 0x35, 0x34, 0x24, 0x14, 0x6, 0x22, 0x26, 0x34, 0x36, 0x32, 0x17, 0x22, 0x6, 0x15, 0x14, 0x33, 0x32, 0x36, 0x35, 0x34, 0x0, 0x34, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x36, 0x14, 0x6, 0x22, 0x26, 0x34, 0x36, 0x32, 0x6, 0x32, 0x3e, 0x3, 0x37, 0x13, 0x17, 0x7, 0x3e, 0x4, 0x35, 0x34, 0x26, 0x27, 0x26, 0x27, 0x3e, 0x1, 0x35, 0x34, 0x26, 0x23, 0x22, 0xe, 0x1, 0x15, 0x14, 0x17, 0x7, 0x26, 0x35, 0x34, 0x37, 0x26, 0x22, 0x7, 0x16, 0x15, 0x14, 0x7, 0x27, 0x36, 0x35, 0x34, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x6, 0x7, 0xe, 0x1, 0x15, 0x14, 0x1e, 0x3, 0x17, 0x27, 0x37, 0x13, 0x1e, 0x3, 0x12, 0x32, 0x17, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x16, 0x15, 0x14, 0xe, 0x2, 0x7, 0x5, 0x7, 0x25, 0x7, 0x6, 0x7, 0x5, 0x7, 0x25, 0xe, 0x1, 0x22, 0x26, 0x27, 0x5, 0x27, 0x25, 0x26, 0x2f, 0x1, 0x5, 0x27, 0x25, 0x2e, 0x3, 0x35, 0x34, 0x37, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x2, 0xe6, 0x42, 0x5c, 0x42, 0x42, 0x5c, 0x74, 0x11, 0x2d, 0xd, 0x11, 0x2e, 0x1, 0xaf, 0x42, 0x5c, 0x42, 0x42, 0x5c, 0x17, 0x11, 0x2c, 0xd, 0x11, 0x2d, 0xfe, 0x6f, 0x16, 0x20, 0x16, 0x16, 0x20, 0xec, 0x16, 0x20, 0x16, 0x16, 0x20, 0xa1, 0x6c, 0x4e, 0x2e, 0x1b, 0x9, 0x2, 0x10, 0x86, 0xc, 0x3b, 0x71, 0x73, 0x56, 0x36, 0x43, 0x37, 0x30, 0x41, 0x49, 0x62, 0x62, 0x4f, 0x53, 0x82, 0x43, 0x12, 0x82, 0x17, 0x1, 0x2a, 0xa8, 0x2a, 0x1, 0x17, 0x82, 0x12, 0x43, 0x82, 0x53, 0x4f, 0x62, 0x62, 0x49, 0x41, 0x30, 0x37, 0x43, 0x36, 0x56, 0x73, 0x71, 0x3b, 0xc, 0x86, 0x10, 0x2, 0x9, 0x1b, 0x2e, 0x38, 0x98, 0x4c, 0x2b, 0xca, 0x8f, 0x8b, 0xad, 0x5d, 0x9c, 0x4b, 0x83, 0x98, 0x59, 0x1, 0x9f, 0x4, 0xfd, 0xec, 0x1, 0x2, 0x4, 0x1, 0xfb, 0x16, 0xfe, 0xd, 0x20, 0xa9, 0xfa, 0xa9, 0x20, 0xfe, 0xd, 0x16, 0x1, 0xfb, 0x4, 0x2, 0x1, 0xfd, 0xec, 0x4, 0x1, 0x9f, 0x59, 0x98, 0x83, 0x4b, 0x9c, 0x5d, 0xad, 0x8b, 0x8f, 0xca, 0x2b, 0x3, 0x38, 0x90, 0x67, 0x67, 0x90, 0x67, 0x82, 0x3d, 0x18, 0x12, 0x3e, 0x18, 0x11, 0x75, 0x90, 0x67, 0x67, 0x90, 0x67, 0xdc, 0x3d, 0x18, 0x12, 0x3e, 0x18, 0x11, 0xfd, 0x22, 0x36, 0x27, 0x27, 0x36, 0x27, 0x5d, 0x36, 0x27, 0x27, 0x36, 0x27, 0xe0, 0x24, 0x39, 0x5d, 0x57, 0x3e, 0x1, 0x3a, 0x6, 0xfb, 0x1f, 0x4c, 0x6b, 0x74, 0x93, 0x4c, 0x4a, 0x98, 0x37, 0x33, 0x28, 0x23, 0x83, 0x58, 0x51, 0x69, 0x6b, 0xa4, 0x5c, 0x42, 0x3f, 0x26, 0x53, 0x54, 0x1b, 0xe, 0x3, 0x3, 0xe, 0x1b, 0x54, 0x53, 0x26, 0x3f, 0x42, 0x5c, 0xa4, 0x6b, 0x69, 0x51, 0x58, 0x83, 0x23, 0x28, 0x33, 0x37, 0x98, 0x4a, 0x4c, 0x93, 0x74, 0x6b, 0x4c, 0x1f, 0xfb, 0x6, 0xfe, 0xc6, 0x3e, 0x57, 0x5d, 0x39, 0x6, 0x2, 0x6, 0x86, 0xbe, 0xb7, 0x8c, 0x8a, 0x72, 0xac, 0xc8, 0x6c, 0xc8, 0xa1, 0x7e, 0x33, 0x1a, 0x44, 0x23, 0x1, 0x1f, 0x1f, 0xae, 0x40, 0xac, 0x6d, 0x8a, 0x8a, 0x6d, 0xac, 0x40, 0xae, 0x1f, 0x1f, 0x1, 0x23, 0x44, 0x1a, 0x33, 0x7e, 0xa1, 0xc8, 0x6c, 0xc8, 0xac, 0x72, 0x8a, 0x8c, 0xb7, 0xbe, 0x86, 0x0, 0x0, 0x0, 0xb, 0x0, 0x4b, 0xff, 0x6a, 0x9, 0x2d, 0x6, 0x8a, 0x0, 0x9, 0x0, 0x14, 0x0, 0x18, 0x0, 0x22, 0x0, 0x28, 0x0, 0x2c, 0x0, 0x8e, 0x0, 0x99, 0x0, 0x9f, 0x0, 0xfd, 0x1, 0x7, 0x0, 0x0, 0x1, 0x22, 0x26, 0x34, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x27, 0x32, 0x36, 0x35, 0x34, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x33, 0x15, 0x23, 0x1, 0x22, 0x26, 0x34, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x1, 0x37, 0x17, 0x7, 0x27, 0x37, 0x1, 0x15, 0x23, 0x35, 0x25, 0x17, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x1e, 0x1, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x37, 0x16, 0x17, 0x3e, 0x4, 0x37, 0x16, 0x33, 0x32, 0x3e, 0x4, 0x37, 0x3e, 0x1, 0x35, 0x34, 0x27, 0x2e, 0x4, 0x23, 0x22, 0xe, 0x2, 0xf, 0x1, 0x6, 0x7, 0x26, 0x24, 0x20, 0x4, 0x7, 0x26, 0x2f, 0x1, 0x2e, 0x3, 0x23, 0x22, 0xe, 0x3, 0x7, 0x6, 0x15, 0x14, 0x16, 0x17, 0x1e, 0x5, 0x33, 0x32, 0x37, 0x1e, 0x4, 0x17, 0x36, 0x25, 0x32, 0x36, 0x35, 0x34, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x1, 0x7, 0x17, 0x7, 0x27, 0x37, 0x1, 0x34, 0x37, 0x27, 0x26, 0x27, 0x23, 0x22, 0x2e, 0x6, 0x27, 0x2e, 0x1, 0x35, 0x34, 0x3e, 0x1, 0x37, 0x3e, 0x1, 0x33, 0x32, 0x1e, 0x2, 0x17, 0x16, 0x1f, 0x1, 0x36, 0x37, 0x36, 0x20, 0x17, 0x16, 0x17, 0x37, 0x36, 0x37, 0x3e, 0x3, 0x33, 0x32, 0x16, 0x17, 0x1e, 0x2, 0x15, 0x14, 0x6, 0x7, 0xe, 0x7, 0x2b, 0x1, 0x6, 0xf, 0x1, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x7, 0x6, 0x7, 0xe, 0x1, 0x22, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x1, 0x6, 0x20, 0x27, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x3, 0x79, 0x32, 0x3e, 0x3d, 0x33, 0x32, 0x3e, 0x3d, 0x1e, 0x12, 0x2d, 0xe, 0x11, 0x17, 0x16, 0x35, 0x6e, 0x6e, 0x2, 0x49, 0x33, 0x3d, 0x3e, 0x32, 0x33, 0x3d, 0x3e, 0xfb, 0x53, 0x33, 0xc5, 0x39, 0x3f, 0x2a, 0x3, 0x94, 0x6e, 0xfd, 0xd2, 0x42, 0x3f, 0x11, 0x5, 0x39, 0x34, 0xb1, 0x8b, 0x69, 0x45, 0x80, 0x42, 0x39, 0x5, 0x11, 0x3f, 0x42, 0x18, 0x12, 0x5, 0x1e, 0xd, 0x14, 0xa, 0x1, 0x52, 0x27, 0x20, 0x38, 0x25, 0x2f, 0x16, 0x36, 0xc, 0x31, 0x2e, 0x34, 0x2, 0x26, 0x1e, 0x2b, 0x2b, 0x12, 0x11, 0x20, 0x23, 0x10, 0x13, 0x13, 0x3f, 0x59, 0x3d, 0xfe, 0xf7, 0xfe, 0xbe, 0xfe, 0xf7, 0x3d, 0x59, 0x3f, 0x13, 0x13, 0x10, 0x23, 0x20, 0x11, 0x12, 0x2b, 0x2b, 0x1e, 0x26, 0x2, 0x34, 0x2e, 0x31, 0xc, 0x36, 0x16, 0x2f, 0x25, 0x38, 0x20, 0x27, 0x52, 0x1, 0xa, 0x14, 0xd, 0x1e, 0x5, 0x12, 0x3, 0x6, 0x12, 0x2d, 0xe, 0x11, 0x17, 0x16, 0x1, 0xed, 0xaa, 0x2a, 0x3f, 0x39, 0xc5, 0xfa, 0xcb, 0xd, 0x15, 0x39, 0x10, 0xa, 0x21, 0x3b, 0x2b, 0x35, 0x1b, 0x37, 0x13, 0x3f, 0xa, 0x42, 0x3a, 0x29, 0x2c, 0x23, 0x33, 0x87, 0x41, 0x1d, 0x33, 0x32, 0x19, 0x17, 0x25, 0x11, 0x41, 0x28, 0x37, 0xa4, 0x1, 0xa4, 0xa4, 0x37, 0x28, 0x41, 0x11, 0x25, 0x17, 0x19, 0x32, 0x33, 0x1d, 0x41, 0x87, 0x33, 0x23, 0x2c, 0x29, 0x3a, 0x42, 0xa, 0x3f, 0x13, 0x37, 0x1b, 0x35, 0x2b, 0x3b, 0x21, 0xa, 0x10, 0x39, 0x15, 0xd, 0xd, 0x22, 0x60, 0x9, 0x16, 0x20, 0x42, 0x36, 0x88, 0xc4, 0x88, 0x36, 0x42, 0x20, 0x16, 0x9, 0x5f, 0x23, 0xd, 0x3, 0x34, 0x61, 0xfe, 0xba, 0x61, 0x11, 0x1f, 0x37, 0x9d, 0x6b, 0x7e, 0x2, 0xd1, 0x6e, 0x82, 0x6e, 0x6e, 0x82, 0x6e, 0x1b, 0x41, 0x15, 0x11, 0x1f, 0x1d, 0x19, 0x12, 0xd4, 0xd2, 0x1, 0x8b, 0x6e, 0x82, 0x6e, 0x6e, 0x82, 0x6e, 0x2, 0xb5, 0x2d, 0xda, 0xba, 0x18, 0x94, 0xfd, 0x4d, 0xd2, 0xd2, 0x93, 0x76, 0x24, 0x44, 0x11, 0x19, 0x4b, 0x3b, 0x37, 0x22, 0x8, 0xd, 0x44, 0x3b, 0x4b, 0x19, 0x11, 0x44, 0x24, 0x76, 0xd, 0xf, 0x13, 0x68, 0x35, 0x57, 0x4d, 0x27, 0x14, 0xb, 0xc, 0x20, 0x11, 0x31, 0xa, 0x2a, 0x4c, 0x37, 0x2e, 0x34, 0x2, 0x28, 0x1a, 0x23, 0x13, 0xe, 0x22, 0x11, 0x19, 0x19, 0x4e, 0x83, 0x65, 0x6d, 0x6d, 0x65, 0x83, 0x4e, 0x19, 0x19, 0x11, 0x22, 0xe, 0x13, 0x23, 0x1a, 0x28, 0x2, 0x34, 0x2e, 0x37, 0x4c, 0x2a, 0xa, 0x31, 0x11, 0x20, 0xc, 0xb, 0x14, 0x27, 0x4d, 0x57, 0x35, 0x68, 0x13, 0xf, 0x4e, 0x41, 0x15, 0x11, 0x1f, 0x1d, 0x19, 0x12, 0x2, 0x9a, 0xbb, 0x94, 0x18, 0xba, 0xda, 0xfb, 0xef, 0x2a, 0x2c, 0x50, 0xdd, 0x49, 0x9, 0x8, 0x1b, 0xd, 0x2c, 0xf, 0x39, 0x9, 0x3a, 0x6b, 0x52, 0x34, 0x5f, 0x35, 0x22, 0x32, 0x53, 0x12, 0x27, 0x18, 0x19, 0x27, 0x15, 0x52, 0x1d, 0x1b, 0x4e, 0x4e, 0x1b, 0x1d, 0x52, 0x15, 0x27, 0x19, 0x18, 0x27, 0x12, 0x53, 0x32, 0x22, 0x35, 0x5f, 0x34, 0x52, 0x6b, 0x3a, 0x9, 0x39, 0xf, 0x2c, 0xd, 0x1b, 0x8, 0x9, 0x49, 0xdd, 0x50, 0x2c, 0x2a, 0x30, 0x28, 0x73, 0x42, 0x44, 0x30, 0x48, 0x2e, 0x26, 0x1b, 0x1b, 0x26, 0x2e, 0x48, 0x30, 0x44, 0x42, 0x73, 0x28, 0xfe, 0xe0, 0x16, 0x16, 0x24, 0x15, 0x27, 0x26, 0x0, 0x0, 0x0, 0x8, 0x0, 0x3d, 0xff, 0x6a, 0x8, 0x1d, 0x7, 0x14, 0x0, 0x11, 0x0, 0x19, 0x0, 0x28, 0x0, 0x32, 0x0, 0x41, 0x0, 0x4e, 0x0, 0x7f, 0x0, 0xb8, 0x0, 0x0, 0x1, 0x37, 0x16, 0x33, 0x32, 0x37, 0x16, 0x33, 0x32, 0x37, 0x17, 0x6, 0x23, 0x22, 0x27, 0x6, 0x23, 0x22, 0x1, 0x17, 0x6, 0x22, 0x27, 0x37, 0x16, 0x32, 0x1, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x16, 0x7, 0x22, 0x6, 0x15, 0x14, 0x17, 0x3e, 0x1, 0x37, 0x26, 0x5, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x6, 0x5, 0x36, 0x35, 0x34, 0x2e, 0x2, 0x27, 0x26, 0x27, 0x6, 0x7, 0x26, 0x23, 0x22, 0x7, 0x26, 0x27, 0x6, 0x7, 0xe, 0x3, 0x15, 0x14, 0x17, 0x25, 0x17, 0x5, 0x16, 0x17, 0x25, 0x17, 0x5, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x37, 0x25, 0x37, 0x5, 0x36, 0x37, 0x25, 0x37, 0x5, 0x26, 0x35, 0x34, 0x3e, 0x3, 0x37, 0x36, 0x3f, 0x1, 0x17, 0x1e, 0x1, 0x17, 0x36, 0x32, 0x17, 0x3e, 0x1, 0x3f, 0x1, 0x17, 0x16, 0x17, 0x1e, 0x4, 0x15, 0x14, 0x7, 0x17, 0x7, 0x27, 0x6, 0x7, 0x17, 0x7, 0x27, 0x2, 0x7, 0x6, 0x21, 0x20, 0x27, 0x26, 0x3, 0x7, 0x27, 0x37, 0x26, 0x27, 0x7, 0x27, 0x2, 0xa6, 0x5c, 0x45, 0x5b, 0x3a, 0x54, 0x54, 0x3a, 0x5b, 0x45, 0x5c, 0x6c, 0x90, 0x4a, 0x44, 0x45, 0x49, 0x90, 0x1, 0xb8, 0x3e, 0x7a, 0xc2, 0x7a, 0x3e, 0x5a, 0x86, 0xfe, 0xfc, 0x2b, 0x51, 0x20, 0x28, 0x46, 0x36, 0x15, 0x35, 0x2f, 0x41, 0x46, 0x65, 0x4e, 0x24, 0x30, 0x5, 0x2b, 0x45, 0x12, 0x16, 0x1, 0xb8, 0x5, 0x64, 0x46, 0x42, 0x2f, 0x35, 0x15, 0x36, 0x46, 0x28, 0x20, 0x51, 0x79, 0xc, 0x1a, 0x30, 0x28, 0x10, 0x4, 0xc, 0xd, 0x2c, 0x40, 0x1, 0x93, 0x12, 0xa, 0xa, 0x16, 0x4, 0x1b, 0x2a, 0xf3, 0x99, 0x74, 0x9b, 0x9d, 0x74, 0x99, 0xf3, 0x2a, 0x1b, 0x5, 0x15, 0xb, 0xa, 0x12, 0x1, 0x42, 0xa, 0xfe, 0xbf, 0xe, 0x17, 0x1, 0x1e, 0x1a, 0xfe, 0xe1, 0x67, 0xa4, 0xb5, 0x1, 0xea, 0xb5, 0xa4, 0x67, 0xfe, 0xe1, 0x1a, 0x1, 0x1e, 0x15, 0xf, 0xfe, 0xc0, 0xa, 0xfa, 0xc0, 0x11, 0x7, 0x13, 0xc, 0x1f, 0x5, 0x17, 0x26, 0xf, 0x3c, 0x8f, 0xfd, 0x5d, 0x69, 0xe2, 0x69, 0x5d, 0xfd, 0x8f, 0x3b, 0x10, 0x26, 0x17, 0x5, 0x1f, 0xc, 0x13, 0x7, 0x11, 0x6c, 0xa, 0x6d, 0xf, 0x20, 0x6e, 0x1a, 0x6d, 0x75, 0xc3, 0xd9, 0xfe, 0xe0, 0xfe, 0xdf, 0xd9, 0xc1, 0x76, 0x6d, 0x1a, 0x6d, 0x1e, 0x10, 0x6d, 0xa, 0x1, 0x8c, 0x62, 0x40, 0x2c, 0x2c, 0x40, 0x62, 0x64, 0x1c, 0x1c, 0x1, 0xa8, 0x78, 0x3d, 0x3d, 0x78, 0x2e, 0x1, 0x6, 0x4c, 0x1c, 0xb, 0x23, 0x24, 0x2d, 0x47, 0x30, 0x2c, 0x61, 0x26, 0x30, 0x24, 0xe, 0xf, 0x7, 0x34, 0x25, 0x11, 0x1d, 0x43, 0x61, 0x2c, 0x30, 0x47, 0x2d, 0x24, 0x23, 0xb, 0x1c, 0x4, 0x3, 0x16, 0x18, 0x1c, 0xe, 0xc, 0x3, 0x3b, 0xa7, 0x82, 0x74, 0x2e, 0x66, 0x3e, 0x76, 0x19, 0xa1, 0xa7, 0x3a, 0xc4, 0x15, 0x15, 0xc4, 0x3a, 0xa7, 0xa1, 0x1b, 0x72, 0x41, 0x65, 0x2e, 0x74, 0x82, 0x2b, 0x42, 0x2c, 0x45, 0x40, 0x79, 0x3e, 0x7a, 0xe7, 0x77, 0x84, 0x84, 0x77, 0xe7, 0x7a, 0x3e, 0x79, 0x39, 0x4c, 0x2c, 0x42, 0x3d, 0x7c, 0x8f, 0x39, 0x6a, 0x77, 0x41, 0x93, 0x18, 0x75, 0x8c, 0x3a, 0x9, 0x16, 0x89, 0x61, 0xd, 0xd, 0x61, 0x89, 0x16, 0x9, 0x3a, 0x8c, 0x75, 0x18, 0x93, 0x41, 0x77, 0x6a, 0x39, 0x8f, 0x7c, 0xf, 0x42, 0xe, 0x51, 0x57, 0x2e, 0x3e, 0x2e, 0xfe, 0xf7, 0x8e, 0x9e, 0x9e, 0x8c, 0x1, 0xb, 0x2e, 0x3e, 0x2e, 0x51, 0x57, 0xe, 0x42, 0x0, 0x0, 0xb, 0x0, 0xaa, 0xff, 0x6a, 0x8, 0x96, 0x7, 0xb, 0x0, 0x7, 0x0, 0x11, 0x0, 0x1d, 0x0, 0x25, 0x0, 0x31, 0x0, 0x3b, 0x0, 0x47, 0x0, 0x68, 0x0, 0x98, 0x0, 0xaa, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x34, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x37, 0x22, 0x6, 0x15, 0x14, 0x33, 0x32, 0x36, 0x35, 0x34, 0x3, 0x22, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x15, 0x14, 0x7, 0x6, 0x0, 0x14, 0x6, 0x22, 0x26, 0x34, 0x36, 0x32, 0x1, 0x34, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x23, 0x22, 0x27, 0x26, 0x1, 0x22, 0x6, 0x15, 0x14, 0x33, 0x32, 0x36, 0x35, 0x34, 0x1, 0x37, 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, 0x6, 0x21, 0x22, 0x26, 0x12, 0x20, 0x37, 0x36, 0x35, 0x34, 0x27, 0x3e, 0x2, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x2e, 0x1, 0x23, 0x22, 0x7, 0x6, 0x15, 0x14, 0x1e, 0x1, 0x17, 0x6, 0x15, 0x14, 0x17, 0x12, 0x20, 0x4, 0x17, 0x16, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0xe, 0x1, 0x2b, 0x1, 0x6, 0x7, 0xe, 0x1, 0x7, 0x6, 0x20, 0x27, 0x2e, 0x1, 0x27, 0x26, 0x27, 0x23, 0x22, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x36, 0x37, 0x36, 0x3, 0x26, 0x23, 0x22, 0x7, 0xe, 0x1, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x3b, 0x1, 0x36, 0x37, 0x26, 0x25, 0x6, 0x7, 0x16, 0x17, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x26, 0x27, 0x26, 0x23, 0x22, 0x3, 0x19, 0x52, 0x74, 0x52, 0x52, 0x74, 0x91, 0x16, 0x37, 0x10, 0x16, 0x38, 0x10, 0x18, 0x2c, 0x25, 0x1e, 0x18, 0x2c, 0x25, 0x2, 0xd, 0x52, 0x74, 0x52, 0x52, 0x74, 0xfe, 0xff, 0x18, 0x1f, 0x25, 0x2c, 0x18, 0x1f, 0x25, 0x2c, 0x1, 0x1e, 0x16, 0x37, 0x10, 0x16, 0x38, 0xfc, 0xe3, 0x6a, 0x82, 0xce, 0x60, 0xb4, 0x3b, 0x6a, 0xa8, 0xfe, 0xee, 0x80, 0xea, 0x8a, 0x1, 0xc0, 0xa5, 0x7c, 0x54, 0x1e, 0x1d, 0x1f, 0x56, 0x5a, 0x82, 0x47, 0x71, 0x1f, 0x1c, 0x70, 0x47, 0x82, 0x5a, 0x56, 0x1f, 0x1d, 0x1e, 0x54, 0x7c, 0xd0, 0x1, 0x6a, 0x1, 0x37, 0x61, 0x69, 0x10, 0x19, 0x1d, 0x6a, 0x90, 0x8, 0xd, 0x1c, 0x22, 0x86, 0x59, 0x7, 0xf, 0x3a, 0x38, 0xab, 0x6d, 0x94, 0xfe, 0xe0, 0x94, 0x6d, 0xab, 0x38, 0x3a, 0xf, 0x7, 0x59, 0x86, 0x22, 0x1c, 0xd, 0x8, 0x90, 0x6a, 0x1d, 0x19, 0x10, 0x69, 0x61, 0xd6, 0x18, 0x20, 0xd, 0x15, 0x28, 0x2b, 0x7, 0x17, 0x47, 0x1f, 0x26, 0x4, 0x8, 0x3c, 0x35, 0x5, 0x74, 0x10, 0x35, 0x3c, 0x8, 0x4, 0x26, 0x1f, 0x47, 0x17, 0x7, 0x2b, 0x28, 0x15, 0xd, 0x20, 0x4, 0x8, 0x74, 0x52, 0x52, 0x74, 0x52, 0x68, 0x31, 0x13, 0xe, 0x31, 0x13, 0xe, 0xfe, 0x52, 0x15, 0x20, 0x24, 0x1f, 0x15, 0x20, 0x24, 0x1f, 0x2, 0xc, 0x74, 0x52, 0x52, 0x74, 0x52, 0xfe, 0x5, 0x15, 0x1f, 0x24, 0x20, 0x15, 0x1f, 0x24, 0x1, 0x6b, 0x31, 0x13, 0xe, 0x31, 0x13, 0xe, 0xfd, 0xa8, 0x54, 0xa4, 0x58, 0x4c, 0x54, 0xd6, 0x72, 0xfe, 0xde, 0xcb, 0x9a, 0xb8, 0x86, 0x95, 0x2c, 0x30, 0x5e, 0x31, 0x8a, 0x69, 0x6f, 0x45, 0x35, 0x35, 0x45, 0x6f, 0x69, 0x8a, 0x31, 0x5e, 0x30, 0x2c, 0x95, 0x86, 0xb8, 0x9a, 0x6, 0x0, 0xa4, 0x7c, 0x88, 0x9b, 0x6, 0xa4, 0x87, 0x2c, 0x36, 0x5b, 0x3f, 0x4b, 0x69, 0x7b, 0x70, 0x6e, 0xad, 0x37, 0x4c, 0x4c, 0x37, 0xad, 0x6e, 0x70, 0x7b, 0x69, 0x4b, 0x3f, 0x5b, 0x36, 0x2c, 0x87, 0xa4, 0x6, 0x9b, 0x88, 0x7c, 0xfd, 0xcc, 0x15, 0x7, 0xf, 0x52, 0x3a, 0x1e, 0x33, 0x97, 0x2f, 0x15, 0x87, 0x7b, 0x57, 0x60, 0x60, 0x57, 0x7b, 0x87, 0x15, 0x2f, 0x97, 0x33, 0x1e, 0x3a, 0x52, 0xf, 0x7, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0xb, 0x0, 0x16, 0x0, 0x22, 0x0, 0x2e, 0x0, 0x34, 0x0, 0x39, 0x0, 0x3e, 0x0, 0x42, 0x0, 0x46, 0x0, 0x0, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x3, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x1, 0x21, 0x10, 0x0, 0x20, 0x0, 0x5, 0x36, 0x37, 0x11, 0x23, 0x3, 0x11, 0x23, 0x11, 0x16, 0x25, 0x36, 0x37, 0x23, 0x5, 0x35, 0x23, 0x16, 0x2, 0x82, 0x51, 0x3b, 0x3a, 0x52, 0x52, 0x3a, 0x3b, 0x51, 0x2, 0x42, 0x52, 0x74, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0xfc, 0x6d, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x87, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x1, 0x14, 0x4, 0xdb, 0xfe, 0x95, 0xfd, 0xfc, 0xfe, 0x94, 0x2, 0xb2, 0x58, 0x4c, 0xa4, 0x88, 0xa4, 0x4c, 0x2, 0xc, 0x48, 0x1c, 0x64, 0xfd, 0x20, 0x65, 0x1c, 0x3, 0xff, 0x3b, 0x51, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0xdb, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0xfe, 0xc3, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x6a, 0xfe, 0xfe, 0xfe, 0x96, 0x1, 0x6a, 0xdf, 0xb, 0x2a, 0x1, 0x25, 0xfe, 0xa6, 0x1, 0x5a, 0xfe, 0xdb, 0x2a, 0x99, 0x52, 0x64, 0xb8, 0xb8, 0x66, 0x0, 0x9, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0xb, 0x0, 0x17, 0x0, 0x23, 0x0, 0x2f, 0x0, 0x35, 0x0, 0x3a, 0x0, 0x3f, 0x0, 0x43, 0x0, 0x47, 0x0, 0x0, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x3, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x22, 0x6, 0x15, 0x21, 0x34, 0x36, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x22, 0x6, 0x15, 0x7, 0x21, 0x10, 0x0, 0x20, 0x0, 0x5, 0x36, 0x37, 0x11, 0x23, 0x3, 0x11, 0x23, 0x11, 0x16, 0x25, 0x36, 0x37, 0x23, 0x5, 0x35, 0x23, 0x16, 0x1, 0x31, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x87, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x3, 0xbc, 0x8c, 0xc4, 0x8c, 0x87, 0x3d, 0x54, 0x3d, 0xfd, 0x29, 0x8c, 0xc4, 0x8c, 0x87, 0x3d, 0x54, 0x3d, 0xdf, 0x4, 0xdb, 0xfe, 0x95, 0xfd, 0xfc, 0xfe, 0x94, 0x2, 0xb2, 0x58, 0x4c, 0xa4, 0x88, 0xa4, 0x4c, 0x2, 0xc, 0x48, 0x1c, 0x64, 0xfd, 0x20, 0x65, 0x1c, 0x2, 0xea, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0xfe, 0xc3, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x2, 0x16, 0x8b, 0xc5, 0xc5, 0x8b, 0x53, 0x77, 0x77, 0x53, 0x8b, 0xc5, 0xc5, 0x8b, 0x53, 0x77, 0x77, 0x53, 0xac, 0xfe, 0xfe, 0xfe, 0x96, 0x1, 0x6a, 0xdf, 0xb, 0x2a, 0x1, 0x25, 0xfe, 0xa6, 0x1, 0x5a, 0xfe, 0xdb, 0x2a, 0x99, 0x52, 0x64, 0xb8, 0xb8, 0x66, 0x0, 0x9, 0x0, 0x5f, 0xff, 0x6a, 0x8, 0xf9, 0x6, 0x6e, 0x0, 0x3, 0x0, 0x7, 0x0, 0xc, 0x0, 0x11, 0x0, 0x17, 0x0, 0x23, 0x0, 0x2f, 0x0, 0x59, 0x0, 0x7e, 0x0, 0x0, 0x1, 0x35, 0x23, 0x16, 0x5, 0x36, 0x37, 0x23, 0x1, 0x11, 0x23, 0x11, 0x16, 0x17, 0x36, 0x37, 0x11, 0x23, 0x25, 0x21, 0x10, 0x0, 0x20, 0x0, 0x13, 0x34, 0x36, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x22, 0x6, 0x15, 0x21, 0x34, 0x36, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x22, 0x6, 0x15, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x14, 0x7, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x6, 0x22, 0x27, 0x26, 0x2f, 0x1, 0x2, 0x7, 0x0, 0x21, 0x20, 0x1, 0x26, 0x3, 0x7, 0x6, 0x7, 0x6, 0x22, 0x26, 0x35, 0x34, 0x37, 0x36, 0x3f, 0x1, 0x26, 0x37, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x27, 0x6, 0x23, 0x22, 0x27, 0x26, 0x2f, 0x1, 0x17, 0x16, 0x17, 0x26, 0x27, 0x26, 0x21, 0x20, 0x7, 0x6, 0x7, 0x36, 0x3f, 0x1, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x6, 0x3, 0x3c, 0x65, 0x1c, 0x3, 0x29, 0x48, 0x1c, 0x64, 0xfe, 0x4c, 0xa4, 0x4c, 0xe0, 0x58, 0x4c, 0xa4, 0xfd, 0x4e, 0x4, 0xdb, 0xfe, 0x95, 0xfd, 0xfc, 0xfe, 0x94, 0x58, 0x8c, 0xc4, 0x8c, 0x87, 0x3d, 0x54, 0x3d, 0x1, 0xc9, 0x8c, 0xc4, 0x8c, 0x87, 0x3d, 0x54, 0x3d, 0xfb, 0xbd, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0x2, 0x5d, 0x3b, 0x18, 0x1e, 0x36, 0x4c, 0x1f, 0x19, 0x12, 0xb, 0x2a, 0xd1, 0xfe, 0xfa, 0xfe, 0x8b, 0xfe, 0x8c, 0xfe, 0xf9, 0xd1, 0x2b, 0xa, 0x12, 0x19, 0x1f, 0x4c, 0x36, 0x1e, 0x17, 0x3c, 0x5c, 0x2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0x1, 0x1b, 0x25, 0x26, 0x1f, 0x19, 0x12, 0x2d, 0x88, 0x29, 0x18, 0x2f, 0x9a, 0xde, 0xfe, 0xc2, 0xfe, 0xc4, 0xe0, 0x9a, 0x2f, 0x18, 0x29, 0x88, 0x2d, 0x12, 0x19, 0x1f, 0x4c, 0x1b, 0x1, 0x1, 0xa1, 0xb8, 0x66, 0x50, 0x52, 0x64, 0xfe, 0xa6, 0x1, 0x5a, 0xfe, 0xdb, 0x2a, 0xb, 0xb, 0x2a, 0x1, 0x25, 0x87, 0xfe, 0xfe, 0xfe, 0x96, 0x1, 0x6a, 0x1, 0xae, 0x8b, 0xc5, 0xc5, 0x8b, 0x53, 0x77, 0x77, 0x53, 0x8b, 0xc5, 0xc5, 0x8b, 0x53, 0x77, 0x77, 0x53, 0xa2, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0x1d, 0x1b, 0x1f, 0x14, 0x18, 0x1f, 0x25, 0x26, 0x36, 0x1f, 0x19, 0x39, 0x20, 0xfe, 0xe9, 0xd1, 0xfe, 0xfa, 0x1, 0x6, 0xd0, 0x1, 0x16, 0x1e, 0x39, 0x19, 0x1f, 0x36, 0x26, 0x25, 0x1f, 0x19, 0x13, 0x1e, 0x1c, 0x1d, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x14, 0x13, 0x1a, 0x1f, 0x19, 0x39, 0x88, 0x2d, 0xe, 0xf, 0xc7, 0x9a, 0xe0, 0xe0, 0x9b, 0xc6, 0x10, 0xd, 0x2d, 0x88, 0x39, 0x19, 0x1f, 0x1b, 0x14, 0x0, 0x0, 0x6, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0xb, 0x0, 0x16, 0x0, 0x22, 0x0, 0x2e, 0x0, 0x34, 0x0, 0x3c, 0x0, 0x0, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x21, 0x10, 0x0, 0x20, 0x0, 0x25, 0x21, 0x16, 0x17, 0x16, 0x24, 0x37, 0x36, 0x2, 0x82, 0x51, 0x3b, 0x3a, 0x52, 0x52, 0x3a, 0x3b, 0x51, 0x2, 0x42, 0x52, 0x74, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0xfb, 0xe6, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x8d, 0x4, 0xdb, 0xfe, 0x95, 0xfd, 0xfc, 0xfe, 0x94, 0x4, 0x42, 0xfc, 0x57, 0x21, 0x5c, 0x8e, 0x1, 0x94, 0x8e, 0x5c, 0x3, 0xff, 0x3b, 0x51, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0xdb, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0xfe, 0xb9, 0xfe, 0xfe, 0xfe, 0x96, 0x1, 0x6a, 0x7b, 0x75, 0x5c, 0x8e, 0x1, 0x8e, 0x5c, 0x0, 0x0, 0x0, 0x6, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0xb, 0x0, 0x17, 0x0, 0x23, 0x0, 0x2f, 0x0, 0x35, 0x0, 0x3e, 0x0, 0x0, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x22, 0x6, 0x15, 0x21, 0x34, 0x36, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x22, 0x6, 0x15, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x21, 0x10, 0x0, 0x20, 0x0, 0x25, 0x21, 0x16, 0x17, 0x16, 0x37, 0x32, 0x37, 0x36, 0x2, 0x16, 0x8c, 0xc4, 0x8c, 0x87, 0x3d, 0x54, 0x3d, 0x1, 0xc9, 0x8c, 0xc4, 0x8c, 0x87, 0x3d, 0x54, 0x3d, 0xfb, 0xbd, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x8d, 0x4, 0xdb, 0xfe, 0x95, 0xfd, 0xfc, 0xfe, 0x94, 0x4, 0x42, 0xfc, 0x57, 0x21, 0x5c, 0x8e, 0xca, 0xca, 0x8e, 0x5c, 0x3, 0x8c, 0x8b, 0xc5, 0xc5, 0x8b, 0x53, 0x77, 0x77, 0x53, 0x8b, 0xc5, 0xc5, 0x8b, 0x53, 0x77, 0x77, 0x53, 0xa2, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0xfe, 0xb9, 0xfe, 0xfe, 0xfe, 0x96, 0x1, 0x6a, 0x7b, 0x75, 0x5c, 0x8e, 0x1, 0x8e, 0x5c, 0x0, 0x7, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0xb, 0x0, 0x17, 0x0, 0x23, 0x0, 0x2f, 0x0, 0x3b, 0x0, 0x41, 0x0, 0x4a, 0x0, 0x0, 0x1, 0x17, 0x16, 0x7, 0x6, 0x7, 0x6, 0x22, 0x26, 0x35, 0x34, 0x37, 0x5, 0x34, 0x36, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x22, 0x6, 0x15, 0x21, 0x34, 0x36, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x22, 0x6, 0x15, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x21, 0x10, 0x0, 0x20, 0x0, 0x25, 0x21, 0x16, 0x17, 0x16, 0x37, 0x32, 0x37, 0x36, 0x6, 0xa8, 0x41, 0x1c, 0x1, 0x1, 0x1a, 0x1b, 0x4c, 0x36, 0x1b, 0xfb, 0xaf, 0x8c, 0xc4, 0x8c, 0x87, 0x3d, 0x54, 0x3d, 0x1, 0xc9, 0x8c, 0xc4, 0x8c, 0x87, 0x3d, 0x54, 0x3d, 0xfb, 0xbd, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x8d, 0x4, 0xdb, 0xfe, 0x95, 0xfd, 0xfc, 0xfe, 0x94, 0x4, 0x42, 0xfc, 0x57, 0x21, 0x5c, 0x8e, 0xca, 0xca, 0x8e, 0x5c, 0x4, 0x2c, 0x80, 0x38, 0x22, 0x2b, 0x1a, 0x1b, 0x36, 0x2c, 0x23, 0x35, 0x20, 0x8b, 0xc5, 0xc5, 0x8b, 0x53, 0x77, 0x77, 0x53, 0x8b, 0xc5, 0xc5, 0x8b, 0x53, 0x77, 0x77, 0x53, 0xa2, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0xfe, 0xb9, 0xfe, 0xfe, 0xfe, 0x96, 0x1, 0x6a, 0x7b, 0x75, 0x5c, 0x8e, 0x1, 0x8e, 0x5c, 0x0, 0x6, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0x6, 0x0, 0xd, 0x0, 0x19, 0x0, 0x25, 0x0, 0x2b, 0x0, 0x33, 0x0, 0x0, 0x1, 0x25, 0x17, 0x7, 0x17, 0x7, 0x25, 0x27, 0x15, 0x5, 0x27, 0x37, 0x27, 0x37, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x21, 0x10, 0x0, 0x20, 0x0, 0x25, 0x21, 0x16, 0x17, 0x16, 0x24, 0x37, 0x36, 0x4, 0x7c, 0x1, 0x27, 0x4d, 0xc6, 0xc6, 0x4d, 0xfe, 0xd9, 0xa0, 0xfe, 0xd9, 0x4d, 0xc6, 0xc6, 0x4d, 0xfd, 0xf5, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x8d, 0x4, 0xdb, 0xfe, 0x95, 0xfd, 0xfc, 0xfe, 0x94, 0x4, 0x42, 0xfc, 0x57, 0x21, 0x5c, 0x8e, 0x1, 0x94, 0x8e, 0x5c, 0x4, 0x27, 0xce, 0x6e, 0x8b, 0x8a, 0x6e, 0xce, 0x55, 0x55, 0xce, 0x6e, 0x8a, 0x8b, 0x6e, 0xfd, 0xf5, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0xfe, 0xb9, 0xfe, 0xfe, 0xfe, 0x96, 0x1, 0x6a, 0x7b, 0x75, 0x5c, 0x8e, 0x1, 0x8e, 0x5c, 0x0, 0x0, 0x0, 0x7, 0x0, 0x8f, 0xff, 0x6a, 0x7, 0xc8, 0x7, 0x63, 0x0, 0xf, 0x0, 0x1f, 0x0, 0x2a, 0x0, 0x35, 0x0, 0x49, 0x0, 0x57, 0x0, 0x5f, 0x0, 0x0, 0x1, 0x37, 0x16, 0x17, 0x16, 0x4, 0x37, 0x36, 0x37, 0x17, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x2f, 0x1, 0x6, 0x21, 0x20, 0x27, 0x7, 0x6, 0x5, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x1, 0x34, 0x24, 0x21, 0x20, 0x4, 0x15, 0x14, 0x7, 0x16, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x37, 0x26, 0x25, 0x36, 0x35, 0x34, 0x24, 0x21, 0x20, 0x4, 0x15, 0x14, 0x17, 0x36, 0x21, 0x20, 0x17, 0x26, 0x23, 0x22, 0x7, 0x16, 0x33, 0x32, 0x2, 0x1d, 0x73, 0x1c, 0x28, 0x8f, 0x1, 0x93, 0x8e, 0x27, 0x1d, 0x73, 0x25, 0x32, 0xb6, 0xfd, 0xfc, 0xb6, 0x32, 0xfe, 0xef, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xde, 0xe, 0xe5, 0xfe, 0xd7, 0xfe, 0xd8, 0xe6, 0xe, 0xe0, 0x3, 0x94, 0x52, 0x74, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0xfd, 0xbe, 0x51, 0x3b, 0x3a, 0x52, 0x52, 0x3a, 0x3b, 0x51, 0xfe, 0xd, 0x2, 0x1e, 0x1, 0x7f, 0x1, 0x80, 0x2, 0x1c, 0xfd, 0xe2, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0xe3, 0xfe, 0x5, 0xdb, 0xbc, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0xbd, 0xf4, 0x1, 0x4a, 0x1, 0x4b, 0x43, 0xb0, 0xde, 0xdd, 0xb0, 0xb0, 0xdd, 0xde, 0x1, 0xd1, 0x47, 0x2c, 0x26, 0x8d, 0x1, 0x8e, 0x27, 0x2c, 0x48, 0x39, 0x32, 0xb5, 0xb5, 0x33, 0x1, 0x51, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0xe0, 0xe, 0x39, 0x39, 0xe, 0xe0, 0x2a, 0x3b, 0x51, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0x51, 0x76, 0x52, 0x53, 0x2, 0x5c, 0x86, 0xbe, 0xbe, 0x86, 0x82, 0x5c, 0xfc, 0xfe, 0xa5, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0x1, 0x5b, 0xfc, 0x5c, 0x2, 0x36, 0x4a, 0x51, 0x72, 0x72, 0x51, 0x4a, 0x36, 0xcf, 0xf5, 0x6e, 0x6e, 0x1c, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x7, 0x30, 0x0, 0x3, 0x0, 0xe, 0x0, 0x19, 0x0, 0x1d, 0x0, 0x2d, 0x0, 0x39, 0x0, 0x4a, 0x0, 0x0, 0x1, 0x5, 0x7, 0x25, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x1, 0x17, 0x5, 0x27, 0x1, 0x37, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x37, 0x17, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x1, 0x36, 0x20, 0x17, 0x25, 0x11, 0x16, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x37, 0x11, 0x2, 0xd2, 0x1, 0x2f, 0x4d, 0xfe, 0xd1, 0x2, 0x3f, 0x52, 0x74, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0xfd, 0xbe, 0x51, 0x3b, 0x3a, 0x52, 0x52, 0x3a, 0x3b, 0x51, 0x3, 0x4, 0x4d, 0xfe, 0xd1, 0x4d, 0xfd, 0xc6, 0x73, 0x1c, 0x28, 0x8e, 0x1, 0x94, 0x8e, 0x27, 0x1d, 0x73, 0x25, 0x32, 0xb6, 0xfd, 0xfc, 0xb6, 0x32, 0xfe, 0xef, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x1, 0xe2, 0x84, 0x1, 0x2a, 0x84, 0x1, 0xbb, 0xad, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0xae, 0x5, 0x67, 0xd4, 0x6f, 0xd5, 0xfe, 0xbc, 0x3b, 0x51, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0x51, 0x76, 0x52, 0x53, 0x1, 0xec, 0x6e, 0xd5, 0x6f, 0xfd, 0x3e, 0x47, 0x2c, 0x26, 0x8e, 0x8e, 0x27, 0x2c, 0x48, 0x39, 0x32, 0xb5, 0xb5, 0x33, 0x1, 0x51, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0x2, 0x1d, 0x2a, 0x2a, 0xec, 0xfd, 0xd0, 0xe7, 0xfe, 0xd1, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0x1, 0x2f, 0xe7, 0x2, 0x30, 0x0, 0x5, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0xf, 0x0, 0x1b, 0x0, 0x27, 0x0, 0x32, 0x0, 0x39, 0x0, 0x0, 0x1, 0x37, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x37, 0x17, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x3, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x2d, 0x1, 0x17, 0x7, 0x17, 0x7, 0x25, 0x2, 0x1d, 0x73, 0x1c, 0x28, 0x8e, 0x1, 0x94, 0x8e, 0x27, 0x1d, 0x73, 0x25, 0x32, 0xb6, 0xfd, 0xfc, 0xb6, 0x32, 0xfe, 0xef, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x87, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x1, 0xd8, 0x51, 0x3b, 0x3a, 0x52, 0x52, 0x3a, 0x3b, 0x51, 0x1, 0xfa, 0x1, 0x27, 0x4d, 0xc6, 0xc6, 0x4d, 0xfe, 0xd9, 0x1, 0xd1, 0x47, 0x2c, 0x26, 0x8e, 0x8e, 0x27, 0x2c, 0x48, 0x39, 0x32, 0xb5, 0xb5, 0x33, 0x1, 0x51, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0xfe, 0xc3, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x2, 0x87, 0x3b, 0x51, 0x51, 0x76, 0x52, 0x53, 0x64, 0xce, 0x6e, 0x8b, 0x8a, 0x6e, 0xce, 0x0, 0x5, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0xf, 0x0, 0x1b, 0x0, 0x27, 0x0, 0x33, 0x0, 0x3f, 0x0, 0x0, 0x1, 0x37, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x37, 0x17, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x3, 0x34, 0x36, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x22, 0x6, 0x15, 0x21, 0x34, 0x36, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x22, 0x6, 0x15, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x2, 0x1d, 0x73, 0x1c, 0x28, 0x8e, 0x1, 0x94, 0x8e, 0x27, 0x1d, 0x73, 0x25, 0x32, 0xb6, 0xfd, 0xfc, 0xb6, 0x32, 0x2c, 0x8c, 0xc4, 0x8c, 0x87, 0x3d, 0x54, 0x3d, 0x1, 0xc9, 0x8c, 0xc4, 0x8c, 0x87, 0x3d, 0x54, 0x3d, 0xfb, 0xbd, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x1, 0xd1, 0x47, 0x2c, 0x26, 0x8e, 0x8e, 0x27, 0x2c, 0x48, 0x39, 0x32, 0xb5, 0xb5, 0x33, 0x1, 0xf3, 0x8b, 0xc5, 0xc5, 0x8b, 0x53, 0x77, 0x77, 0x53, 0x8b, 0xc5, 0xc5, 0x8b, 0x53, 0x77, 0x77, 0x53, 0xa2, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0xb, 0x0, 0x17, 0x0, 0x37, 0x0, 0x43, 0x0, 0x51, 0x0, 0x0, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x22, 0x6, 0x15, 0x21, 0x34, 0x36, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x22, 0x6, 0x15, 0x5, 0x10, 0x0, 0x21, 0x32, 0x37, 0x26, 0x27, 0x6, 0x23, 0x20, 0x0, 0x11, 0x33, 0x14, 0x0, 0x20, 0x0, 0x35, 0x33, 0x14, 0x7, 0x16, 0x1d, 0x1, 0x36, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x3, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x5, 0x6, 0x7, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x34, 0x27, 0x26, 0x4, 0x66, 0x8c, 0xc4, 0x8c, 0x87, 0x3d, 0x54, 0x3d, 0xfd, 0x29, 0x8c, 0xc4, 0x8c, 0x87, 0x3d, 0x54, 0x3d, 0xfe, 0x94, 0x1, 0xbf, 0x1, 0x3c, 0x88, 0x76, 0x65, 0x41, 0x2b, 0x2d, 0xfe, 0xfe, 0xfe, 0x94, 0x87, 0x1, 0x1d, 0x1, 0x94, 0x1, 0x1c, 0x87, 0x7b, 0x37, 0xd1, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x87, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x5, 0x10, 0x4f, 0x5c, 0x1f, 0x26, 0x24, 0x1b, 0x10, 0xd, 0x21, 0x1, 0x1, 0x2, 0x3, 0x8c, 0x8b, 0xc5, 0xc5, 0x8b, 0x53, 0x77, 0x77, 0x53, 0x8b, 0xc5, 0xc5, 0x8b, 0x53, 0x77, 0x77, 0x53, 0xa2, 0xfe, 0xc4, 0xfe, 0x43, 0x29, 0x30, 0x6c, 0x5, 0x1, 0x6a, 0x1, 0x2, 0xca, 0xfe, 0xe5, 0x1, 0x1c, 0xc9, 0xd5, 0xa0, 0x64, 0x63, 0x4, 0xda, 0x1, 0x33, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0xfe, 0xc3, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x36, 0x43, 0x24, 0x28, 0x18, 0x17, 0x8, 0x13, 0x39, 0x5, 0x6, 0x2e, 0x0, 0x0, 0x5, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0xf, 0x0, 0x1b, 0x0, 0x27, 0x0, 0x33, 0x0, 0x3f, 0x0, 0x0, 0x1, 0x37, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x37, 0x17, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x1, 0x14, 0x6, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x32, 0x36, 0x35, 0x21, 0x14, 0x6, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x32, 0x36, 0x35, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x2, 0x1d, 0x73, 0x1c, 0x28, 0x8e, 0x1, 0x94, 0x8e, 0x27, 0x1d, 0x73, 0x25, 0x32, 0xb6, 0xfd, 0xfc, 0xb6, 0x32, 0x4, 0x0, 0x8c, 0xc4, 0x8c, 0x87, 0x3d, 0x54, 0x3d, 0xfe, 0x37, 0x8c, 0xc4, 0x8c, 0x87, 0x3d, 0x54, 0x3d, 0xfd, 0x3f, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x1, 0xd1, 0x47, 0x2c, 0x26, 0x8e, 0x8e, 0x27, 0x2c, 0x48, 0x39, 0x32, 0xb5, 0xb5, 0x33, 0x2, 0xef, 0x8b, 0xc5, 0xc5, 0x8b, 0x53, 0x77, 0x77, 0x53, 0x8b, 0xc5, 0xc5, 0x8b, 0x53, 0x77, 0x77, 0x53, 0xfe, 0x62, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0x0, 0x0, 0x5, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0x17, 0x0, 0x2f, 0x0, 0x3b, 0x0, 0x47, 0x0, 0x57, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x15, 0x6, 0xf, 0x1, 0x23, 0x27, 0x26, 0x35, 0x26, 0x37, 0x36, 0x33, 0x16, 0x17, 0x16, 0x17, 0x33, 0x34, 0x37, 0x36, 0x21, 0x32, 0x17, 0x16, 0x15, 0x33, 0x36, 0x37, 0x36, 0x37, 0x32, 0x17, 0x16, 0x7, 0x14, 0xf, 0x1, 0x23, 0x27, 0x26, 0x27, 0x34, 0x37, 0x36, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x37, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x37, 0x17, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x5, 0xa6, 0x1a, 0x19, 0x3c, 0x1, 0x32, 0xa8, 0x2, 0x9f, 0x3e, 0x1, 0xa, 0x26, 0x3f, 0x29, 0x20, 0x1c, 0xa, 0x1, 0xd, 0x23, 0xfd, 0x49, 0x3d, 0x23, 0xd, 0x1, 0xa, 0x1c, 0x20, 0x29, 0x3f, 0x26, 0xa, 0x1, 0x3e, 0x9f, 0x2, 0xa8, 0x32, 0x1, 0x3c, 0x19, 0xfe, 0x12, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0xec, 0x73, 0x1c, 0x28, 0x8e, 0x1, 0x94, 0x8e, 0x27, 0x1d, 0x73, 0x25, 0x32, 0xb6, 0xfd, 0xfc, 0xb6, 0x32, 0x4, 0xc0, 0xe, 0x25, 0x3f, 0x41, 0x3e, 0xcf, 0xbe, 0x44, 0x4c, 0x15, 0x19, 0x44, 0x1, 0x20, 0x20, 0x31, 0xe, 0x1d, 0x47, 0x47, 0x1d, 0xe, 0x31, 0x20, 0x20, 0x1, 0x44, 0x19, 0x15, 0x4c, 0x44, 0xbe, 0xcf, 0x3e, 0x41, 0x3f, 0x25, 0xe, 0xfe, 0x2a, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0xfd, 0xaa, 0x47, 0x2c, 0x26, 0x8e, 0x8e, 0x27, 0x2c, 0x48, 0x39, 0x32, 0xb5, 0xb5, 0x33, 0x0, 0x0, 0x0, 0x4, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0x17, 0x0, 0x23, 0x0, 0x33, 0x0, 0x3c, 0x0, 0x0, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x27, 0x23, 0x15, 0x14, 0x6, 0x22, 0x26, 0x35, 0x14, 0x6, 0x22, 0x26, 0x3d, 0x1, 0x23, 0x6, 0x7, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x25, 0x37, 0x16, 0x17, 0x16, 0x4, 0x37, 0x36, 0x37, 0x17, 0x6, 0x7, 0x6, 0x20, 0x27, 0x26, 0x3, 0x21, 0x26, 0x27, 0x26, 0x21, 0x20, 0x7, 0x6, 0x1, 0x31, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0x54, 0x6e, 0xa6, 0xec, 0xa6, 0xa6, 0xec, 0xa6, 0x6e, 0x55, 0x87, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x1, 0x73, 0x73, 0x1c, 0x28, 0x8f, 0x1, 0x93, 0x8e, 0x27, 0x1d, 0x73, 0x25, 0x32, 0xb6, 0xfd, 0xfc, 0xb6, 0x32, 0x60, 0x4, 0x94, 0x16, 0x18, 0xde, 0xfe, 0xc2, 0xfe, 0xc4, 0xe0, 0x18, 0x2, 0xea, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0xc3, 0xa0, 0x4f, 0x64, 0x8e, 0x8e, 0x64, 0x64, 0x8e, 0x8e, 0x64, 0x4f, 0xa0, 0xc3, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x5b, 0x47, 0x2c, 0x26, 0x8d, 0x1, 0x8e, 0x27, 0x2c, 0x48, 0x39, 0x32, 0xb5, 0xb5, 0x33, 0x3, 0x3b, 0x1a, 0x19, 0xe0, 0xe0, 0x19, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0x3, 0x0, 0x7, 0x0, 0x11, 0x0, 0x1d, 0x0, 0x29, 0x0, 0x0, 0x1, 0x35, 0x21, 0x15, 0x21, 0x35, 0x21, 0x15, 0x13, 0x32, 0x37, 0x36, 0x37, 0x17, 0x6, 0x7, 0x6, 0x21, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x4, 0x98, 0x1, 0xaa, 0xfb, 0xd4, 0x1, 0xaa, 0x6c, 0xca, 0x8e, 0x27, 0x1d, 0x73, 0x25, 0x32, 0xb6, 0xfe, 0xfe, 0xfc, 0x7e, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x3, 0x8c, 0x87, 0x87, 0x87, 0x87, 0xfd, 0xac, 0x8e, 0x27, 0x2c, 0x48, 0x39, 0x32, 0xb5, 0x2, 0x39, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0x3, 0x0, 0xe, 0x0, 0x19, 0x0, 0x25, 0x0, 0x31, 0x0, 0x0, 0x1, 0x35, 0x21, 0x15, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x2, 0x4c, 0x3, 0xc0, 0xfc, 0x76, 0x51, 0x3b, 0x3a, 0x52, 0x52, 0x3a, 0x3b, 0x51, 0x2, 0x42, 0x52, 0x74, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0xfb, 0xe6, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x1, 0x71, 0x87, 0x87, 0x2, 0x8c, 0x3b, 0x51, 0x51, 0x76, 0x52, 0x53, 0x3a, 0x3b, 0x51, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0xd9, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x17, 0x0, 0x23, 0x0, 0x0, 0x1, 0x35, 0x21, 0x15, 0x21, 0x35, 0x21, 0x15, 0x1, 0x35, 0x21, 0x15, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x4, 0x98, 0x1, 0xaa, 0xfb, 0xd4, 0x1, 0xaa, 0xfe, 0x8c, 0x3, 0xc0, 0xfa, 0x9e, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x3, 0x8c, 0x87, 0x87, 0x87, 0x87, 0xfd, 0xe5, 0x87, 0x87, 0x1, 0x79, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0x0, 0x0, 0x5, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0xb, 0x0, 0x17, 0x0, 0x1b, 0x0, 0x29, 0x0, 0x37, 0x0, 0x0, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x3, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x5, 0x35, 0x21, 0x15, 0x1, 0x35, 0x21, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x35, 0x21, 0x35, 0x21, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x35, 0x1, 0x31, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x87, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x1, 0xa2, 0x3, 0xc0, 0xfc, 0x2, 0x1, 0x78, 0x3a, 0x52, 0x52, 0x3a, 0x3b, 0x51, 0x1, 0x56, 0x1, 0x78, 0x3a, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0x2, 0xea, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0xfe, 0xc3, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x5, 0x87, 0x87, 0x2, 0x2d, 0x87, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0x3a, 0x3, 0x2, 0x87, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0x3a, 0x3, 0x2, 0x0, 0x8, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0x8, 0x0, 0xc, 0x0, 0x10, 0x0, 0x14, 0x0, 0x1f, 0x0, 0x2a, 0x0, 0x36, 0x0, 0x42, 0x0, 0x0, 0x1, 0x17, 0x16, 0x14, 0x6, 0x22, 0x26, 0x34, 0x37, 0x1, 0x35, 0x21, 0x15, 0x13, 0x25, 0x37, 0xd, 0x1, 0x27, 0x25, 0x17, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x6, 0x50, 0x41, 0x1b, 0x36, 0x4c, 0x36, 0x1b, 0xfc, 0x3d, 0x3, 0xc0, 0xb, 0xfe, 0xa8, 0x4d, 0x1, 0x58, 0xfb, 0xdd, 0x4d, 0x1, 0x58, 0x4d, 0xfe, 0xe9, 0x51, 0x3b, 0x3a, 0x52, 0x52, 0x3a, 0x3b, 0x51, 0x2, 0x42, 0x52, 0x74, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0xfb, 0xe6, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x3, 0xac, 0x80, 0x35, 0x4f, 0x36, 0x36, 0x4f, 0x35, 0xfe, 0x45, 0x87, 0x87, 0x2, 0xa5, 0xf0, 0x6f, 0xf1, 0x6e, 0x6e, 0xf1, 0x6f, 0xfe, 0xaf, 0x3b, 0x51, 0x51, 0x76, 0x52, 0x53, 0x3a, 0x3b, 0x51, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0x91, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0x0, 0x0, 0x0, 0x5, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0x3, 0x0, 0xf, 0x0, 0x1b, 0x0, 0x27, 0x0, 0x33, 0x0, 0x0, 0x1, 0x35, 0x21, 0x15, 0x13, 0x14, 0x6, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x32, 0x36, 0x35, 0x21, 0x14, 0x6, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x32, 0x36, 0x35, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x2, 0x4c, 0x3, 0xc0, 0x36, 0x8c, 0xc4, 0x8c, 0x87, 0x3d, 0x54, 0x3d, 0xfe, 0x37, 0x8c, 0xc4, 0x8c, 0x87, 0x3d, 0x54, 0x3d, 0xfd, 0x3f, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x1, 0x71, 0x87, 0x87, 0x3, 0x17, 0x8b, 0xc5, 0xc5, 0x8b, 0x53, 0x77, 0x77, 0x53, 0x8b, 0xc5, 0xc5, 0x8b, 0x53, 0x77, 0x77, 0x53, 0xfe, 0x62, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0x0, 0x5, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0x3, 0x0, 0xe, 0x0, 0x19, 0x0, 0x25, 0x0, 0x31, 0x0, 0x0, 0x25, 0x27, 0x1, 0x17, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x2, 0x95, 0x39, 0x3, 0x67, 0x39, 0xfc, 0x86, 0x51, 0x3b, 0x3a, 0x52, 0x52, 0x3a, 0x3b, 0x51, 0x2, 0x42, 0x52, 0x74, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0xfb, 0xe6, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0xac, 0x7b, 0x1, 0x96, 0x7b, 0x1, 0xbb, 0x3b, 0x51, 0x51, 0x76, 0x52, 0x53, 0x3a, 0x3b, 0x51, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0xd9, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0x0, 0x5, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0x3, 0x0, 0xf, 0x0, 0x1b, 0x0, 0x1f, 0x0, 0x42, 0x0, 0x0, 0x1, 0x27, 0x1, 0x17, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x3, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x9, 0x1, 0x37, 0x1, 0x3, 0x22, 0x7, 0x6, 0x7, 0xe, 0x1, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x27, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x7, 0x26, 0x2, 0xc9, 0x5f, 0x1, 0xe, 0x5f, 0xfd, 0x5a, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x87, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x4, 0xe5, 0xfe, 0xf2, 0x5f, 0x1, 0xe, 0x9a, 0x34, 0x29, 0xb, 0x18, 0x46, 0xc4, 0x46, 0x1c, 0xc, 0x22, 0x35, 0x38, 0x20, 0x79, 0x10, 0x19, 0x46, 0xc4, 0x46, 0x1c, 0xc, 0x22, 0x35, 0x34, 0x28, 0xc, 0x18, 0x46, 0xc4, 0x46, 0x18, 0x10, 0x79, 0x1f, 0x3, 0x5c, 0x5f, 0x1, 0xe, 0x5f, 0xfe, 0x80, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0xfe, 0xc3, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0xe6, 0x1, 0xe, 0x5f, 0xfe, 0xf2, 0xfe, 0x57, 0x69, 0x1d, 0x22, 0x62, 0x1, 0x63, 0x28, 0x21, 0x5f, 0x5f, 0x39, 0x28, 0x22, 0x62, 0x62, 0x28, 0x22, 0x5f, 0x69, 0x1e, 0x22, 0x62, 0x62, 0x22, 0x28, 0x39, 0x5f, 0x0, 0x0, 0x0, 0x5, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0xb, 0x0, 0x16, 0x0, 0x23, 0x0, 0x2f, 0x0, 0x3b, 0x0, 0x0, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x3, 0x37, 0x27, 0x37, 0x5, 0x15, 0x7, 0x17, 0x15, 0x5, 0x27, 0x37, 0x27, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x2, 0x82, 0x51, 0x3b, 0x3a, 0x52, 0x52, 0x3a, 0x3b, 0x51, 0x2, 0x42, 0x52, 0x74, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0xce, 0x50, 0x90, 0x41, 0x1, 0x3, 0x3c, 0x3c, 0xfe, 0xfd, 0x41, 0x90, 0x50, 0xfc, 0xb4, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x3, 0xff, 0x3b, 0x51, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0xfe, 0x24, 0x3e, 0x4e, 0x76, 0x8d, 0x58, 0x2e, 0x2e, 0x58, 0x8d, 0x76, 0x4e, 0x3e, 0x1, 0x23, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0x0, 0x6, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0x17, 0x0, 0x22, 0x0, 0x29, 0x0, 0x36, 0x0, 0x42, 0x0, 0x4e, 0x0, 0x0, 0x1, 0x32, 0x17, 0x16, 0x15, 0x6, 0xf, 0x1, 0x23, 0x27, 0x26, 0x35, 0x26, 0x37, 0x36, 0x33, 0x16, 0x17, 0x16, 0x17, 0x33, 0x34, 0x37, 0x36, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x2d, 0x1, 0x17, 0x7, 0x17, 0x7, 0x25, 0x3, 0x37, 0x27, 0x37, 0x5, 0x15, 0x7, 0x17, 0x15, 0x5, 0x27, 0x37, 0x27, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x6, 0x6a, 0x1a, 0x1a, 0x3c, 0x2, 0x32, 0xa8, 0x2, 0x9e, 0x3e, 0x2, 0xa, 0x26, 0x40, 0x28, 0x20, 0x1c, 0xa, 0x2, 0xc, 0x22, 0xfc, 0x56, 0x51, 0x3b, 0x3a, 0x52, 0x52, 0x3a, 0x3b, 0x51, 0x1, 0xfa, 0x1, 0x27, 0x4d, 0xc6, 0xc6, 0x4d, 0xfe, 0xd9, 0x86, 0x50, 0x90, 0x41, 0x1, 0x3, 0x3c, 0x3c, 0xfe, 0xfd, 0x41, 0x90, 0x50, 0xfc, 0xb4, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x2, 0xaf, 0xe, 0x25, 0x3f, 0x41, 0x3e, 0xcf, 0xbe, 0x44, 0x4c, 0x15, 0x19, 0x44, 0x1, 0x20, 0x20, 0x31, 0xe, 0x1d, 0x47, 0x1, 0x4e, 0x3b, 0x51, 0x51, 0x76, 0x52, 0x53, 0x64, 0xce, 0x6e, 0x8b, 0x8a, 0x6e, 0xce, 0xfe, 0x17, 0x3e, 0x4e, 0x76, 0x8d, 0x58, 0x2e, 0x2e, 0x58, 0x8d, 0x76, 0x4e, 0x3e, 0x1, 0x23, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0x0, 0x0, 0x5, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0xb, 0x0, 0x17, 0x0, 0x24, 0x0, 0x30, 0x0, 0x3c, 0x0, 0x0, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x22, 0x6, 0x15, 0x21, 0x34, 0x36, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x22, 0x6, 0x15, 0x3, 0x37, 0x27, 0x37, 0x5, 0x15, 0x7, 0x17, 0x15, 0x5, 0x27, 0x37, 0x27, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x2, 0x16, 0x8c, 0xc4, 0x8c, 0x87, 0x3d, 0x54, 0x3d, 0x1, 0xc9, 0x8c, 0xc4, 0x8c, 0x87, 0x3d, 0x54, 0x3d, 0xf7, 0x50, 0x90, 0x41, 0x1, 0x3, 0x3c, 0x3c, 0xfe, 0xfd, 0x41, 0x90, 0x50, 0xfc, 0xb4, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x3, 0x8c, 0x8b, 0xc5, 0xc5, 0x8b, 0x53, 0x77, 0x77, 0x53, 0x8b, 0xc5, 0xc5, 0x8b, 0x53, 0x77, 0x77, 0x53, 0xfe, 0x5d, 0x3e, 0x4e, 0x76, 0x8d, 0x58, 0x2e, 0x2e, 0x58, 0x8d, 0x76, 0x4e, 0x3e, 0x1, 0x23, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0xc, 0x0, 0x18, 0x0, 0x24, 0x0, 0x30, 0x0, 0x3c, 0x0, 0x0, 0x1, 0x37, 0x27, 0x37, 0x5, 0x15, 0x7, 0x17, 0x15, 0x5, 0x27, 0x37, 0x27, 0x1, 0x14, 0x6, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x32, 0x36, 0x35, 0x21, 0x14, 0x6, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x32, 0x36, 0x35, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x3, 0xf6, 0x50, 0x90, 0x41, 0x1, 0x3, 0x3c, 0x3c, 0xfe, 0xfd, 0x41, 0x90, 0x50, 0x2, 0x4c, 0x8c, 0xc4, 0x8c, 0x87, 0x3d, 0x54, 0x3d, 0xfe, 0x37, 0x8c, 0xc4, 0x8c, 0x87, 0x3d, 0x54, 0x3d, 0xfd, 0x3f, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x1, 0xe9, 0x3e, 0x4e, 0x76, 0x8d, 0x58, 0x2e, 0x2e, 0x58, 0x8d, 0x76, 0x4e, 0x3e, 0x2, 0xc1, 0x8b, 0xc5, 0xc5, 0x8b, 0x53, 0x77, 0x77, 0x53, 0x8b, 0xc5, 0xc5, 0x8b, 0x53, 0x77, 0x77, 0x53, 0xfe, 0x62, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0x0, 0x0, 0x0, 0x6, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0xb, 0x0, 0x16, 0x0, 0x22, 0x0, 0x2e, 0x0, 0x38, 0x0, 0x3e, 0x0, 0x0, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x3, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x25, 0x35, 0x21, 0x15, 0x23, 0x14, 0x6, 0x22, 0x26, 0x35, 0x21, 0x23, 0x14, 0x16, 0x32, 0x36, 0x2, 0x82, 0x51, 0x3b, 0x3a, 0x52, 0x52, 0x3a, 0x3b, 0x51, 0x2, 0x42, 0x52, 0x74, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0xfc, 0x6d, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x87, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x1, 0xa2, 0x3, 0xc0, 0xf2, 0x8c, 0xc4, 0x8c, 0x1, 0x55, 0xce, 0x3d, 0x54, 0x3d, 0x3, 0xff, 0x3b, 0x51, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0xdb, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0xfe, 0xc3, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x63, 0x87, 0x87, 0x8b, 0xc5, 0xc5, 0x8b, 0x53, 0x77, 0x77, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0xa, 0x0, 0x11, 0x0, 0x1d, 0x0, 0x29, 0x0, 0x33, 0x0, 0x39, 0x0, 0x0, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x2d, 0x1, 0x17, 0x7, 0x17, 0x7, 0x25, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x3, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x25, 0x35, 0x21, 0x15, 0x23, 0x14, 0x6, 0x22, 0x26, 0x35, 0x21, 0x23, 0x14, 0x16, 0x32, 0x36, 0x2, 0x82, 0x51, 0x3b, 0x3a, 0x52, 0x52, 0x3a, 0x3b, 0x51, 0x1, 0xfa, 0x1, 0x27, 0x4d, 0xc6, 0xc6, 0x4d, 0xfe, 0xd9, 0xfc, 0xb5, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x87, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x1, 0xa2, 0x3, 0xc0, 0xf2, 0x8c, 0xc4, 0x8c, 0x1, 0x55, 0xce, 0x3d, 0x54, 0x3d, 0x3, 0xfd, 0x3b, 0x51, 0x51, 0x76, 0x52, 0x53, 0x64, 0xce, 0x6e, 0x8b, 0x8a, 0x6e, 0xce, 0xe8, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0xfe, 0xc3, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x63, 0x87, 0x87, 0x8b, 0xc5, 0xc5, 0x8b, 0x53, 0x77, 0x77, 0x0, 0x0, 0x6, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0xb, 0x0, 0x17, 0x0, 0x1e, 0x0, 0x25, 0x0, 0x2f, 0x0, 0x35, 0x0, 0x0, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x3, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x1, 0x15, 0x5, 0x27, 0x37, 0x27, 0x37, 0x5, 0x25, 0x17, 0x7, 0x17, 0x7, 0x25, 0x1, 0x35, 0x21, 0x15, 0x23, 0x14, 0x6, 0x22, 0x26, 0x35, 0x21, 0x23, 0x14, 0x16, 0x32, 0x36, 0x1, 0x31, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x87, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x3, 0x32, 0xfe, 0xd9, 0x4d, 0xc6, 0xc6, 0x4d, 0x1, 0xc7, 0x1, 0x27, 0x4d, 0xc6, 0xc6, 0x4d, 0xfe, 0xd9, 0xfd, 0xd0, 0x3, 0xc0, 0xf2, 0x8c, 0xc4, 0x8c, 0x1, 0x55, 0xce, 0x3d, 0x54, 0x3d, 0x2, 0xea, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0xfe, 0xc3, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x2, 0xb1, 0x55, 0xce, 0x6e, 0x8a, 0x8b, 0x6e, 0xce, 0xce, 0x6e, 0x8b, 0x8a, 0x6e, 0xce, 0xfe, 0x7, 0x87, 0x87, 0x8b, 0xc5, 0xc5, 0x8b, 0x53, 0x77, 0x77, 0x0, 0x0, 0x7, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0x3, 0x0, 0x7, 0x0, 0x12, 0x0, 0x1d, 0x0, 0x29, 0x0, 0x35, 0x0, 0x46, 0x0, 0x0, 0x1, 0x25, 0x37, 0xd, 0x1, 0x27, 0x25, 0x17, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x36, 0x37, 0x36, 0x20, 0x17, 0x16, 0x17, 0x7, 0x26, 0x27, 0x26, 0x23, 0x26, 0x7, 0x6, 0x7, 0x6, 0x17, 0xfe, 0xa8, 0x4d, 0x1, 0x58, 0xfb, 0xdd, 0x4d, 0x1, 0x58, 0x4d, 0xfe, 0xe9, 0x51, 0x3b, 0x3a, 0x52, 0x52, 0x3a, 0x3b, 0x51, 0x2, 0x42, 0x52, 0x74, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0xfb, 0xe6, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0xec, 0x25, 0x32, 0xb6, 0x2, 0x4, 0xb6, 0x33, 0x24, 0x73, 0x1c, 0x28, 0x8e, 0xca, 0xca, 0x8e, 0x27, 0x1d, 0x4, 0x16, 0xf0, 0x6f, 0xf1, 0x6e, 0x6e, 0xf1, 0x6f, 0xfe, 0xaf, 0x3b, 0x51, 0x51, 0x76, 0x52, 0x53, 0x3a, 0x3b, 0x51, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0x91, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0xfd, 0x25, 0x38, 0x33, 0xb5, 0xb5, 0x33, 0x38, 0x48, 0x2c, 0x27, 0x8e, 0x1, 0x8e, 0x27, 0x2c, 0x0, 0x0, 0x0, 0x8, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0xf, 0x0, 0x13, 0x0, 0x17, 0x0, 0x22, 0x0, 0x2d, 0x0, 0x39, 0x0, 0x45, 0x0, 0x56, 0x0, 0x0, 0x25, 0x27, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x7, 0x26, 0x27, 0x26, 0x22, 0x7, 0x6, 0x1, 0x25, 0x37, 0xd, 0x1, 0x27, 0x25, 0x17, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x36, 0x37, 0x36, 0x20, 0x17, 0x16, 0x17, 0x7, 0x26, 0x27, 0x26, 0x23, 0x26, 0x7, 0x6, 0x7, 0x3, 0xd5, 0x79, 0x10, 0x18, 0x46, 0xc4, 0x46, 0x18, 0x10, 0x79, 0x7, 0x8, 0x1e, 0x54, 0x1e, 0x8, 0x2, 0x3b, 0xfe, 0xa8, 0x4d, 0x1, 0x58, 0xfb, 0xdd, 0x4d, 0x1, 0x58, 0x4d, 0xfe, 0xe9, 0x51, 0x3b, 0x3a, 0x52, 0x52, 0x3a, 0x3b, 0x51, 0x2, 0x42, 0x52, 0x74, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0xfb, 0xe6, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0xec, 0x25, 0x32, 0xb6, 0x2, 0x4, 0xb6, 0x33, 0x24, 0x73, 0x1c, 0x28, 0x8e, 0xca, 0xca, 0x8e, 0x27, 0x1d, 0x9f, 0x39, 0x28, 0x22, 0x62, 0x62, 0x22, 0x28, 0x39, 0x13, 0x10, 0x3c, 0x3c, 0x10, 0x3, 0x64, 0xf0, 0x6f, 0xf1, 0x6e, 0x6e, 0xf1, 0x6f, 0xfe, 0xaf, 0x3b, 0x51, 0x51, 0x76, 0x52, 0x53, 0x3a, 0x3b, 0x51, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0x91, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0xfd, 0x25, 0x38, 0x33, 0xb5, 0xb5, 0x33, 0x38, 0x48, 0x2c, 0x27, 0x8e, 0x1, 0x8e, 0x27, 0x2c, 0x0, 0x0, 0x7, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0x3, 0x0, 0xe, 0x0, 0x19, 0x0, 0x1d, 0x0, 0x29, 0x0, 0x35, 0x0, 0x46, 0x0, 0x0, 0x1, 0x17, 0x5, 0x27, 0x5, 0x34, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x1, 0x5, 0x7, 0x25, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x36, 0x37, 0x36, 0x20, 0x17, 0x16, 0x17, 0x7, 0x26, 0x27, 0x26, 0x23, 0x26, 0x7, 0x6, 0x7, 0x5, 0x86, 0x4d, 0xfe, 0xd1, 0x4d, 0xfe, 0x2b, 0x51, 0x3b, 0x3a, 0x52, 0x52, 0x3a, 0x3b, 0x51, 0x2, 0x42, 0x52, 0x74, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0xfe, 0xe, 0x1, 0x2f, 0x4d, 0xfe, 0xd1, 0xfe, 0x25, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0xec, 0x25, 0x32, 0xb6, 0x2, 0x4, 0xb6, 0x33, 0x24, 0x73, 0x1c, 0x28, 0x8e, 0xca, 0xca, 0x8e, 0x27, 0x1d, 0x5, 0x67, 0x6e, 0xd5, 0x6f, 0xde, 0x3b, 0x51, 0x51, 0x76, 0x52, 0x53, 0x3a, 0x3b, 0x51, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0x1, 0xec, 0xd4, 0x6f, 0xd5, 0xfd, 0xf1, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0xfd, 0x25, 0x38, 0x33, 0xb5, 0xb5, 0x33, 0x38, 0x48, 0x2c, 0x27, 0x8e, 0x1, 0x8e, 0x27, 0x2c, 0x0, 0x0, 0x8, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0x10, 0x0, 0x1c, 0x0, 0x28, 0x0, 0x2c, 0x0, 0x37, 0x0, 0x42, 0x0, 0x46, 0x0, 0x56, 0x0, 0x0, 0x1, 0x36, 0x37, 0x36, 0x20, 0x17, 0x16, 0x17, 0x7, 0x26, 0x27, 0x26, 0x23, 0x26, 0x7, 0x6, 0x7, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x3, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x1, 0x5, 0x7, 0x25, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x1, 0x17, 0x5, 0x27, 0x3, 0x27, 0x36, 0x37, 0x36, 0x32, 0x17, 0x16, 0x17, 0x7, 0x26, 0x27, 0x26, 0x22, 0x7, 0x6, 0x2, 0x1d, 0x25, 0x32, 0xb6, 0x2, 0x4, 0xb6, 0x33, 0x24, 0x73, 0x1c, 0x28, 0x8e, 0xca, 0xca, 0x8e, 0x27, 0x1d, 0xfe, 0xa1, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x87, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x2, 0x28, 0x1, 0x2f, 0x4d, 0xfe, 0xd1, 0x2, 0x3f, 0x52, 0x74, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0xfd, 0xbe, 0x51, 0x3b, 0x3a, 0x52, 0x52, 0x3a, 0x3b, 0x51, 0x3, 0x4, 0x4d, 0xfe, 0xd1, 0x4d, 0x82, 0x79, 0x10, 0x18, 0x46, 0xc4, 0x46, 0x18, 0x10, 0x79, 0x7, 0x8, 0x1e, 0x54, 0x1e, 0x8, 0x1, 0x4c, 0x38, 0x33, 0xb5, 0xb5, 0x33, 0x38, 0x48, 0x2c, 0x27, 0x8e, 0x1, 0x8e, 0x27, 0x2c, 0x1, 0xe5, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0xfe, 0xc3, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x3, 0xf1, 0xd4, 0x6f, 0xd5, 0xfe, 0xbc, 0x3b, 0x51, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0x51, 0x76, 0x52, 0x53, 0x1, 0xec, 0x6e, 0xd5, 0x6f, 0xfc, 0xc, 0x39, 0x28, 0x22, 0x62, 0x62, 0x22, 0x28, 0x39, 0x13, 0x10, 0x3c, 0x3c, 0x10, 0x0, 0x0, 0x0, 0x5, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0xb, 0x0, 0x17, 0x0, 0x23, 0x0, 0x34, 0x0, 0x4f, 0x0, 0x0, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x3, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x1, 0x14, 0x6, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x32, 0x36, 0x35, 0x1, 0x36, 0x37, 0x36, 0x20, 0x17, 0x16, 0x17, 0x7, 0x26, 0x27, 0x26, 0x23, 0x26, 0x7, 0x6, 0x7, 0x1, 0x14, 0x7, 0x6, 0x7, 0x17, 0x16, 0x7, 0x6, 0x7, 0x6, 0x22, 0x26, 0x35, 0x34, 0x3f, 0x1, 0x26, 0x27, 0x26, 0x35, 0x33, 0x14, 0x16, 0x32, 0x36, 0x35, 0x1, 0x31, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x87, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x3, 0x48, 0x8c, 0xc4, 0x8c, 0x87, 0x3d, 0x54, 0x3d, 0xfe, 0xb2, 0x25, 0x32, 0xb6, 0x2, 0x4, 0xb6, 0x33, 0x24, 0x73, 0x1c, 0x28, 0x8e, 0xca, 0xca, 0x8e, 0x27, 0x1d, 0x3, 0xb2, 0x46, 0x3a, 0x4d, 0x20, 0x1c, 0x1, 0x1, 0x1a, 0x1b, 0x4c, 0x36, 0x1b, 0x20, 0x4d, 0x3a, 0x46, 0x87, 0x3d, 0x54, 0x3d, 0x2, 0xea, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0xfe, 0xc3, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x3, 0x12, 0x8b, 0xc5, 0xc5, 0x8b, 0x53, 0x77, 0x77, 0x53, 0xfc, 0xc4, 0x38, 0x33, 0xb5, 0xb5, 0x33, 0x38, 0x48, 0x2c, 0x27, 0x8e, 0x1, 0x8e, 0x27, 0x2c, 0x3, 0x83, 0x8c, 0x62, 0x51, 0xe, 0x3f, 0x37, 0x23, 0x2b, 0x1a, 0x1b, 0x36, 0x2c, 0x23, 0x35, 0x3f, 0xd, 0x52, 0x62, 0x8c, 0x53, 0x77, 0x77, 0x53, 0x0, 0x0, 0x0, 0x5, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0x10, 0x0, 0x17, 0x0, 0x1e, 0x0, 0x2a, 0x0, 0x36, 0x0, 0x0, 0x1, 0x36, 0x37, 0x36, 0x20, 0x17, 0x16, 0x17, 0x7, 0x26, 0x27, 0x26, 0x23, 0x26, 0x7, 0x6, 0x7, 0x1, 0x25, 0x17, 0x7, 0x17, 0x7, 0x25, 0x27, 0x15, 0x5, 0x27, 0x37, 0x27, 0x37, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x2, 0x1d, 0x25, 0x32, 0xb6, 0x2, 0x4, 0xb6, 0x33, 0x24, 0x73, 0x1c, 0x28, 0x8e, 0xca, 0xca, 0x8e, 0x27, 0x1d, 0x1, 0xec, 0x1, 0x27, 0x4d, 0xc6, 0xc6, 0x4d, 0xfe, 0xd9, 0xa0, 0xfe, 0xd9, 0x4d, 0xc6, 0xc6, 0x4d, 0xfd, 0xf5, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x1, 0x4c, 0x38, 0x33, 0xb5, 0xb5, 0x33, 0x38, 0x48, 0x2c, 0x27, 0x8e, 0x1, 0x8e, 0x27, 0x2c, 0x3, 0x22, 0xce, 0x6e, 0x8b, 0x8a, 0x6e, 0xce, 0x55, 0x55, 0xce, 0x6e, 0x8a, 0x8b, 0x6e, 0xfd, 0xf5, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0x0, 0x0, 0x6, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0x3, 0x0, 0x7, 0x0, 0x18, 0x0, 0x21, 0x0, 0x2d, 0x0, 0x39, 0x0, 0x0, 0x1, 0x27, 0x1, 0x17, 0x9, 0x1, 0x37, 0x9, 0x1, 0x36, 0x37, 0x36, 0x20, 0x17, 0x16, 0x17, 0x7, 0x26, 0x27, 0x26, 0x23, 0x26, 0x7, 0x6, 0x7, 0x1, 0x17, 0x16, 0xe, 0x1, 0x22, 0x26, 0x34, 0x37, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x3, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x2, 0xc9, 0x5f, 0x1, 0xe, 0x5f, 0x1, 0xb8, 0xfe, 0xf2, 0x5f, 0x1, 0xe, 0xfc, 0x2f, 0x25, 0x32, 0xb6, 0x2, 0x4, 0xb6, 0x33, 0x24, 0x73, 0x1c, 0x28, 0x8e, 0xca, 0xca, 0x8e, 0x27, 0x1d, 0x3, 0xda, 0x42, 0x1b, 0x1, 0x36, 0x4c, 0x36, 0x1c, 0xfb, 0x7, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x87, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x3, 0x5c, 0x5f, 0x1, 0xe, 0x5f, 0xfe, 0xf2, 0x1, 0xe, 0x5f, 0xfe, 0xf2, 0xfd, 0x91, 0x38, 0x33, 0xb5, 0xb5, 0x33, 0x38, 0x48, 0x2c, 0x27, 0x8e, 0x1, 0x8e, 0x27, 0x2c, 0x3, 0x23, 0x80, 0x35, 0x4f, 0x36, 0x36, 0x4f, 0x35, 0xbe, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0xfe, 0xc3, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x0, 0x0, 0x6, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0xb, 0x0, 0x16, 0x0, 0x22, 0x0, 0x2e, 0x0, 0x34, 0x0, 0x3c, 0x0, 0x0, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x1, 0x21, 0x34, 0x0, 0x20, 0x0, 0x5, 0x21, 0x26, 0x27, 0x26, 0x20, 0x7, 0x6, 0x2, 0x82, 0x51, 0x3b, 0x3a, 0x52, 0x52, 0x3a, 0x3b, 0x51, 0x2, 0x42, 0x52, 0x74, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0xfb, 0xe6, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x4, 0xf3, 0xfc, 0xf, 0x1, 0x27, 0x1, 0xa3, 0x1, 0x27, 0xfc, 0xa9, 0x2, 0xbd, 0x18, 0x45, 0x6b, 0xfe, 0xd2, 0x6a, 0x45, 0x3, 0xff, 0x3b, 0x51, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0xdb, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0xfc, 0xa4, 0xe8, 0x1, 0x46, 0xfe, 0xba, 0x61, 0x60, 0x4c, 0x74, 0x75, 0x4c, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0x3, 0x0, 0x7, 0x0, 0x12, 0x0, 0x1d, 0x0, 0x29, 0x0, 0x35, 0x0, 0x3b, 0x0, 0x43, 0x0, 0x0, 0x1, 0x25, 0x37, 0xd, 0x1, 0x27, 0x25, 0x17, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x1, 0x21, 0x34, 0x0, 0x20, 0x0, 0x5, 0x21, 0x26, 0x27, 0x26, 0x20, 0x7, 0x6, 0x6, 0x17, 0xfe, 0xa8, 0x4d, 0x1, 0x58, 0xfb, 0xdd, 0x4d, 0x1, 0x58, 0x4d, 0xfe, 0xe9, 0x51, 0x3b, 0x3a, 0x52, 0x52, 0x3a, 0x3b, 0x51, 0x2, 0x42, 0x52, 0x74, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0xfb, 0xe6, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x4, 0xf3, 0xfc, 0xf, 0x1, 0x27, 0x1, 0xa3, 0x1, 0x27, 0xfc, 0xa9, 0x2, 0xbd, 0x18, 0x45, 0x6b, 0xfe, 0xd2, 0x6a, 0x45, 0x4, 0x16, 0xf0, 0x6f, 0xf1, 0x6e, 0x6e, 0xf1, 0x6f, 0xfe, 0xaf, 0x3b, 0x51, 0x51, 0x76, 0x52, 0x53, 0x3a, 0x3b, 0x51, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0x91, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0xfc, 0xa4, 0xe8, 0x1, 0x46, 0xfe, 0xba, 0x61, 0x60, 0x4c, 0x74, 0x75, 0x4c, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0xb, 0x0, 0x13, 0x0, 0x19, 0x0, 0x4e, 0x0, 0x5a, 0x0, 0x66, 0x0, 0x6c, 0x0, 0x78, 0x0, 0x84, 0x0, 0x8a, 0x0, 0x90, 0x0, 0x96, 0x0, 0x9c, 0x0, 0xa2, 0x0, 0x0, 0x1, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x1, 0x21, 0x26, 0x27, 0x26, 0x20, 0x7, 0x6, 0x5, 0x21, 0x34, 0x0, 0x20, 0x0, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x27, 0x15, 0x23, 0x11, 0x26, 0x27, 0x11, 0x23, 0x35, 0xe, 0x1, 0x22, 0x27, 0x23, 0x35, 0x26, 0x34, 0x37, 0x11, 0x26, 0x27, 0x11, 0x23, 0x11, 0x6, 0x7, 0x11, 0x16, 0x14, 0x7, 0x15, 0x23, 0x6, 0x22, 0x26, 0x27, 0x15, 0x23, 0x11, 0x6, 0x7, 0x11, 0x23, 0x35, 0x6, 0x7, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x36, 0x37, 0x35, 0x6, 0x7, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x27, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x1, 0x15, 0x16, 0x17, 0x35, 0x26, 0x27, 0x26, 0x27, 0x15, 0x36, 0x37, 0x25, 0x26, 0x27, 0x15, 0x16, 0x17, 0x25, 0x6, 0x7, 0x15, 0x36, 0x37, 0x25, 0x6, 0x7, 0x15, 0x16, 0x17, 0x4, 0x96, 0x74, 0x4a, 0x55, 0x69, 0x6f, 0x4f, 0x4c, 0x72, 0xfe, 0x37, 0x2, 0xbd, 0x18, 0x45, 0x6b, 0xfe, 0xd2, 0x6a, 0x45, 0x3, 0x3f, 0xfc, 0xf, 0x1, 0x27, 0x1, 0xa3, 0x1, 0x27, 0xfb, 0xd, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0x35, 0x44, 0x1e, 0x25, 0x44, 0x1e, 0x6d, 0x8e, 0x38, 0x44, 0x2b, 0x2b, 0x21, 0x22, 0x44, 0x22, 0x21, 0x2b, 0x2b, 0x44, 0x38, 0x8e, 0x6e, 0x1d, 0x44, 0x25, 0x1e, 0x44, 0x36, 0x87, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x4, 0x71, 0x22, 0x17, 0x18, 0x21, 0x1f, 0x1a, 0x16, 0x23, 0xfd, 0x9e, 0x20, 0x23, 0x23, 0x20, 0x1, 0x9, 0x72, 0x4c, 0x4f, 0x6f, 0x69, 0x55, 0x4a, 0x74, 0x85, 0x23, 0x16, 0x1a, 0x1f, 0x21, 0x18, 0x17, 0x22, 0x2, 0x1f, 0x24, 0x1f, 0x20, 0x67, 0x21, 0x22, 0x1f, 0x24, 0x1, 0xe, 0x21, 0x22, 0x2b, 0x18, 0xfc, 0x4f, 0x23, 0x20, 0x19, 0x2a, 0x1, 0xe, 0x22, 0x21, 0x24, 0x1f, 0x4, 0x1a, 0x52, 0x6c, 0x75, 0x49, 0x4f, 0x6f, 0x6f, 0xfc, 0xe9, 0x60, 0x4c, 0x74, 0x75, 0x4c, 0xe6, 0xe8, 0x1, 0x46, 0xfe, 0xba, 0x1, 0x37, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x9b, 0x85, 0xba, 0x1, 0x3b, 0x2e, 0x29, 0xfe, 0x6e, 0x59, 0x36, 0x47, 0x24, 0x40, 0x3c, 0x9c, 0x3c, 0x1, 0x3d, 0x4, 0x1, 0xfd, 0x6a, 0x2, 0x96, 0x1, 0x4, 0xfe, 0xc3, 0x3c, 0x9c, 0x3c, 0x40, 0x24, 0x46, 0x37, 0x59, 0x1, 0x93, 0x2a, 0x2e, 0xfe, 0xc5, 0xbc, 0x86, 0x9c, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x2, 0xa4, 0x18, 0x21, 0x21, 0x18, 0x16, 0x23, 0x20, 0xfc, 0xa, 0x1, 0xa2, 0xf, 0x12, 0xfe, 0x91, 0x4f, 0x6f, 0x6f, 0x4f, 0x49, 0x75, 0x6c, 0x52, 0x19, 0x20, 0x23, 0x16, 0x18, 0x21, 0x21, 0x1, 0x79, 0xa3, 0x1, 0xa, 0x8c, 0x13, 0x28, 0xa, 0x8, 0xf2, 0x14, 0x9, 0x26, 0x1e, 0x18, 0x84, 0x21, 0x2d, 0xd2, 0x19, 0x1d, 0x9c, 0x2d, 0x21, 0xfd, 0x7, 0xb, 0xc3, 0x9, 0x14, 0x0, 0x8, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x1b, 0x0, 0x27, 0x0, 0x2d, 0x0, 0x35, 0x0, 0x0, 0x1, 0x27, 0x1, 0x17, 0x9, 0x1, 0x37, 0x9, 0x1, 0x27, 0x1, 0x17, 0x9, 0x1, 0x37, 0x1, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x1, 0x21, 0x34, 0x0, 0x20, 0x0, 0x5, 0x21, 0x26, 0x27, 0x26, 0x20, 0x7, 0x6, 0x2, 0xc9, 0x5f, 0x1, 0xe, 0x5f, 0x1, 0xb8, 0xfe, 0xf2, 0x5f, 0x1, 0xe, 0xfc, 0xdb, 0x5f, 0x1, 0xe, 0x5f, 0x1, 0xb8, 0xfe, 0xf2, 0x5f, 0x1, 0xe, 0xfa, 0xbc, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x4, 0xf3, 0xfc, 0xf, 0x1, 0x27, 0x1, 0xa3, 0x1, 0x27, 0xfc, 0xa9, 0x2, 0xbd, 0x18, 0x45, 0x6b, 0xfe, 0xd2, 0x6a, 0x45, 0x4, 0x13, 0x5f, 0x1, 0xe, 0x5f, 0xfe, 0xf2, 0x1, 0xe, 0x5f, 0xfe, 0xf2, 0xfe, 0x58, 0x5f, 0x1, 0xe, 0x5f, 0xfe, 0xf2, 0x1, 0xe, 0x5f, 0xfe, 0xf2, 0x3f, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0xfc, 0xa4, 0xe8, 0x1, 0x46, 0xfe, 0xba, 0x61, 0x60, 0x4c, 0x74, 0x75, 0x4c, 0x0, 0x0, 0x0, 0x7, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0x11, 0x0, 0x1d, 0x0, 0x29, 0x0, 0x35, 0x0, 0x41, 0x0, 0x47, 0x0, 0x4f, 0x0, 0x0, 0x1, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x3, 0x14, 0x6, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x32, 0x36, 0x35, 0x21, 0x14, 0x6, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x32, 0x36, 0x35, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x1, 0x21, 0x34, 0x0, 0x20, 0x0, 0x5, 0x21, 0x26, 0x27, 0x26, 0x20, 0x7, 0x6, 0x5, 0xc4, 0x55, 0x25, 0x1f, 0x19, 0x16, 0xd, 0xd, 0x24, 0x12, 0xa, 0x5, 0xc, 0x27, 0x1f, 0x3b, 0x12, 0x8c, 0xc4, 0x8c, 0x87, 0x3d, 0x54, 0x3d, 0xfe, 0x37, 0x8c, 0xc4, 0x8c, 0x87, 0x3d, 0x54, 0x3d, 0xfd, 0x3f, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x4, 0xf3, 0xfc, 0xf, 0x1, 0x27, 0x1, 0xa3, 0x1, 0x27, 0xfc, 0xa9, 0x2, 0xbd, 0x18, 0x45, 0x6b, 0xfe, 0xd2, 0x6a, 0x45, 0x2, 0xc8, 0x74, 0x32, 0xf, 0xb, 0x4, 0xc, 0x22, 0x14, 0x15, 0xe, 0xf, 0x24, 0x14, 0x10, 0x1, 0xc0, 0x8b, 0xc5, 0xc5, 0x8b, 0x53, 0x77, 0x77, 0x53, 0x8b, 0xc5, 0xc5, 0x8b, 0x53, 0x77, 0x77, 0x53, 0xfe, 0x62, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0xfc, 0xa4, 0xe8, 0x1, 0x46, 0xfe, 0xba, 0x61, 0x60, 0x4c, 0x74, 0x75, 0x4c, 0x0, 0x0, 0x6, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0x6, 0x0, 0xd, 0x0, 0x19, 0x0, 0x25, 0x0, 0x2b, 0x0, 0x33, 0x0, 0x0, 0x1, 0x25, 0x17, 0x7, 0x17, 0x7, 0x25, 0x27, 0x15, 0x5, 0x27, 0x37, 0x27, 0x37, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x1, 0x21, 0x34, 0x0, 0x20, 0x0, 0x5, 0x21, 0x26, 0x27, 0x26, 0x20, 0x7, 0x6, 0x4, 0x7c, 0x1, 0x27, 0x4d, 0xc6, 0xc6, 0x4d, 0xfe, 0xd9, 0xa0, 0xfe, 0xd9, 0x4d, 0xc6, 0xc6, 0x4d, 0xfd, 0xf5, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x4, 0xf3, 0xfc, 0xf, 0x1, 0x27, 0x1, 0xa3, 0x1, 0x27, 0xfc, 0xa9, 0x2, 0xbd, 0x18, 0x45, 0x6b, 0xfe, 0xd2, 0x6a, 0x45, 0x4, 0x27, 0xce, 0x6e, 0x8b, 0x8a, 0x6e, 0xce, 0x55, 0x55, 0xce, 0x6e, 0x8a, 0x8b, 0x6e, 0xfd, 0xf5, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0xfc, 0xa4, 0xe8, 0x1, 0x46, 0xfe, 0xba, 0x61, 0x60, 0x4c, 0x74, 0x75, 0x4c, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x5f, 0xff, 0x6a, 0x8, 0xf9, 0x6, 0x6e, 0x0, 0x5, 0x0, 0xc, 0x0, 0x13, 0x0, 0x3d, 0x0, 0x62, 0x0, 0x0, 0x25, 0x21, 0x34, 0x0, 0x20, 0x0, 0x1, 0x15, 0x5, 0x27, 0x37, 0x27, 0x37, 0x5, 0x25, 0x17, 0x7, 0x17, 0x7, 0x25, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x14, 0x7, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x6, 0x22, 0x27, 0x26, 0x2f, 0x1, 0x2, 0x7, 0x0, 0x21, 0x20, 0x1, 0x26, 0x3, 0x7, 0x6, 0x7, 0x6, 0x22, 0x26, 0x35, 0x34, 0x37, 0x36, 0x3f, 0x1, 0x26, 0x37, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x27, 0x6, 0x23, 0x22, 0x27, 0x26, 0x2f, 0x1, 0x17, 0x16, 0x17, 0x26, 0x27, 0x26, 0x21, 0x20, 0x7, 0x6, 0x7, 0x36, 0x3f, 0x1, 0x7, 0x6, 0x7, 0x6, 0x22, 0x27, 0x6, 0x6, 0xa4, 0xfc, 0xf, 0x1, 0x27, 0x1, 0xa3, 0x1, 0x27, 0xfd, 0xb8, 0xfe, 0xd9, 0x4d, 0xc6, 0xc6, 0x4d, 0x1, 0xc7, 0x1, 0x27, 0x4d, 0xc6, 0xc6, 0x4d, 0xfe, 0xd9, 0xfc, 0x2e, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0x2, 0x5d, 0x3b, 0x18, 0x1e, 0x36, 0x4c, 0x1f, 0x19, 0x12, 0xb, 0x2a, 0xd1, 0xfe, 0xfa, 0xfe, 0x8b, 0xfe, 0x8c, 0xfe, 0xf9, 0xd1, 0x2b, 0xa, 0x12, 0x19, 0x1f, 0x4c, 0x36, 0x1e, 0x17, 0x3c, 0x5c, 0x2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0x1, 0x1b, 0x25, 0x26, 0x1f, 0x19, 0x12, 0x2d, 0x88, 0x29, 0x18, 0x2f, 0x9a, 0xde, 0xfe, 0xc2, 0xfe, 0xc4, 0xe0, 0x9a, 0x2f, 0x18, 0x29, 0x88, 0x2d, 0x12, 0x19, 0x1f, 0x4c, 0x1b, 0x1, 0xcb, 0xe8, 0x1, 0x46, 0xfe, 0xba, 0x2, 0x74, 0x55, 0xce, 0x6e, 0x8a, 0x8b, 0x6e, 0xce, 0xce, 0x6e, 0x8b, 0x8a, 0x6e, 0xce, 0xe8, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0x1d, 0x1b, 0x1f, 0x14, 0x18, 0x1f, 0x25, 0x26, 0x36, 0x1f, 0x19, 0x39, 0x20, 0xfe, 0xe9, 0xd1, 0xfe, 0xfa, 0x1, 0x6, 0xd0, 0x1, 0x16, 0x1e, 0x39, 0x19, 0x1f, 0x36, 0x26, 0x25, 0x1f, 0x19, 0x13, 0x1e, 0x1c, 0x1d, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x14, 0x13, 0x1a, 0x1f, 0x19, 0x39, 0x88, 0x2d, 0xe, 0xf, 0xc7, 0x9a, 0xe0, 0xe0, 0x9b, 0xc6, 0x10, 0xd, 0x2d, 0x88, 0x39, 0x19, 0x1f, 0x1b, 0x14, 0x0, 0x5, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0x7, 0x0, 0x13, 0x0, 0x1e, 0x0, 0x2a, 0x0, 0x36, 0x0, 0x0, 0x0, 0x34, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x3, 0x2c, 0x96, 0xd4, 0x96, 0x96, 0xd4, 0xfe, 0xc0, 0x51, 0x3b, 0x3a, 0x52, 0x52, 0x3a, 0x3b, 0x51, 0x2, 0x42, 0x52, 0x74, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0xfb, 0xe6, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x1, 0x5a, 0xd4, 0x96, 0x96, 0xd4, 0x96, 0x3, 0x3b, 0x3b, 0x51, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0xdb, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0x3, 0x0, 0x7, 0x0, 0x12, 0x0, 0x1d, 0x0, 0x25, 0x0, 0x31, 0x0, 0x3d, 0x0, 0x0, 0x1, 0x25, 0x37, 0xd, 0x1, 0x27, 0x25, 0x17, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x0, 0x34, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x6, 0x17, 0xfe, 0xa8, 0x4d, 0x1, 0x58, 0xfb, 0xdd, 0x4d, 0x1, 0x58, 0x4d, 0xfe, 0xe9, 0x51, 0x3b, 0x3a, 0x52, 0x52, 0x3a, 0x3b, 0x51, 0x2, 0x42, 0x52, 0x74, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0xfe, 0xe8, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0xfc, 0xb3, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x4, 0x16, 0xf0, 0x6f, 0xf1, 0x6e, 0x6e, 0xf1, 0x6f, 0xfe, 0xaf, 0x3b, 0x51, 0x51, 0x76, 0x52, 0x53, 0x3a, 0x3b, 0x51, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0xfe, 0x14, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x1, 0xa6, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0x0, 0x0, 0x0, 0x8, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0x8, 0x0, 0x10, 0x0, 0x14, 0x0, 0x18, 0x0, 0x23, 0x0, 0x2e, 0x0, 0x3a, 0x0, 0x46, 0x0, 0x0, 0x1, 0x17, 0x16, 0x14, 0x6, 0x22, 0x26, 0x34, 0x37, 0x0, 0x34, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x1, 0x25, 0x37, 0xd, 0x1, 0x27, 0x25, 0x17, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x6, 0x50, 0x41, 0x1b, 0x36, 0x4c, 0x36, 0x1b, 0xfd, 0x1d, 0x96, 0xd4, 0x96, 0x96, 0xd4, 0x2, 0x55, 0xfe, 0xa8, 0x4d, 0x1, 0x58, 0xfb, 0xdd, 0x4d, 0x1, 0x58, 0x4d, 0xfe, 0xe9, 0x51, 0x3b, 0x3a, 0x52, 0x52, 0x3a, 0x3b, 0x51, 0x2, 0x42, 0x52, 0x74, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0xfb, 0xe6, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x3, 0xac, 0x80, 0x35, 0x4f, 0x36, 0x36, 0x4f, 0x35, 0xfe, 0x2e, 0xd4, 0x96, 0x96, 0xd4, 0x96, 0x3, 0x52, 0xf0, 0x6f, 0xf1, 0x6e, 0x6e, 0xf1, 0x6f, 0xfe, 0xaf, 0x3b, 0x51, 0x51, 0x76, 0x52, 0x53, 0x3a, 0x3b, 0x51, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0x91, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x23, 0xff, 0x3c, 0x8, 0x35, 0x6, 0x6e, 0x0, 0x7, 0x0, 0xf, 0x0, 0x13, 0x0, 0x17, 0x0, 0x1f, 0x0, 0x6b, 0x0, 0x94, 0x0, 0x0, 0x0, 0x26, 0x34, 0x36, 0x32, 0x16, 0x14, 0x6, 0x20, 0x26, 0x34, 0x36, 0x32, 0x16, 0x14, 0x6, 0x25, 0x27, 0x25, 0x17, 0x5, 0x25, 0x37, 0x5, 0x0, 0x34, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x1, 0x35, 0x2e, 0x1, 0x27, 0x2, 0x11, 0x34, 0x36, 0x37, 0x36, 0x37, 0x0, 0x20, 0x1, 0x16, 0x17, 0x1e, 0x1, 0x15, 0x10, 0x3, 0xe, 0x1, 0x7, 0x15, 0x23, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x13, 0x34, 0x26, 0x22, 0x6, 0x7, 0x6, 0x7, 0x6, 0xf, 0x1, 0xe, 0x1, 0x1d, 0x1, 0x23, 0x35, 0x6, 0x20, 0x27, 0x15, 0x23, 0x35, 0x34, 0x26, 0x2f, 0x1, 0x26, 0x27, 0x26, 0x27, 0x2e, 0x1, 0x22, 0x6, 0x15, 0x12, 0x17, 0x16, 0x17, 0x16, 0x1d, 0x1, 0x25, 0x16, 0x20, 0x37, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x3e, 0x1, 0x37, 0x36, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x20, 0x7, 0x6, 0x7, 0x16, 0x17, 0x1e, 0x2, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x5, 0x15, 0x51, 0x52, 0x74, 0x53, 0x53, 0xfd, 0x49, 0x51, 0x51, 0x75, 0x52, 0x52, 0xfe, 0xf9, 0x4d, 0x1, 0x58, 0x4d, 0x2, 0x7e, 0xfe, 0xa8, 0x4d, 0x1, 0x58, 0xfc, 0xc8, 0x96, 0xd4, 0x96, 0x96, 0xd4, 0xfd, 0xa1, 0x48, 0x56, 0x18, 0x8a, 0x68, 0x3d, 0x3b, 0xae, 0x1, 0x7, 0x2, 0xe9, 0x1, 0x6, 0xae, 0x3b, 0x3d, 0x68, 0x8a, 0x18, 0x56, 0x48, 0x87, 0x26, 0x81, 0x1d, 0x7a, 0x2, 0x27, 0x3a, 0x25, 0x6, 0xe, 0x69, 0x29, 0x38, 0x5e, 0x27, 0x1b, 0x88, 0x6e, 0xfe, 0xfb, 0x79, 0x88, 0x1b, 0x27, 0x5e, 0x38, 0x29, 0x69, 0xe, 0x6, 0x25, 0x3a, 0x27, 0x2, 0x7a, 0x1d, 0x81, 0x26, 0x1, 0x4c, 0x77, 0x1, 0x9, 0x6c, 0x1b, 0x30, 0x91, 0x38, 0x11, 0x3c, 0x11, 0x2, 0x8, 0xc, 0xc, 0x33, 0xf, 0x11, 0x32, 0x8f, 0xde, 0xfd, 0x86, 0xe0, 0x8f, 0x33, 0x12, 0xf, 0x33, 0x18, 0x8, 0x2, 0x11, 0x3c, 0x11, 0x38, 0x91, 0x30, 0x1b, 0x3, 0x28, 0x53, 0x75, 0x51, 0x51, 0x75, 0x53, 0x53, 0x75, 0x51, 0x51, 0x76, 0x52, 0xee, 0x6e, 0xf1, 0x6f, 0xf0, 0xf0, 0x6f, 0xf1, 0xfc, 0xd6, 0xd4, 0x96, 0x96, 0xd4, 0x96, 0xfe, 0x78, 0xcb, 0x3e, 0x5b, 0x31, 0x1, 0x17, 0x1, 0x27, 0x53, 0x6b, 0xa, 0xdf, 0xb0, 0x1, 0x8, 0xfe, 0xf8, 0xaf, 0xe0, 0xa, 0x6b, 0x53, 0xfe, 0xd9, 0xfe, 0xe9, 0x31, 0x5b, 0x3e, 0xcb, 0xe7, 0x24, 0x1f, 0x6e, 0x39, 0xf0, 0x1, 0x12, 0x1c, 0x28, 0x23, 0x6d, 0xf3, 0x71, 0x2c, 0x25, 0x40, 0x1c, 0x3c, 0x3f, 0xfb, 0x4c, 0x1e, 0x20, 0x4e, 0xfb, 0x3f, 0x3c, 0x1c, 0x40, 0x25, 0x2c, 0x71, 0xf3, 0x6d, 0x23, 0x28, 0x1c, 0xfe, 0xee, 0xf0, 0x39, 0x6e, 0x1f, 0x24, 0xe7, 0xdb, 0x26, 0x25, 0x21, 0x59, 0x3b, 0x65, 0x56, 0x22, 0x13, 0x44, 0x78, 0xf, 0x86, 0x38, 0x36, 0x30, 0xe, 0xa, 0xb5, 0x90, 0xe0, 0xe0, 0x8f, 0xb5, 0xb, 0xe, 0x30, 0x6e, 0x86, 0xf, 0x78, 0x44, 0x13, 0x22, 0x56, 0x65, 0x3b, 0x59, 0x0, 0x0, 0x0, 0x9, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0xb, 0x0, 0x17, 0x0, 0x23, 0x0, 0x2f, 0x0, 0x3b, 0x0, 0x47, 0x0, 0x4f, 0x0, 0x5b, 0x0, 0x67, 0x0, 0x0, 0x1, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x37, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x17, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x27, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x2, 0x34, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x3, 0xf2, 0x92, 0x5c, 0x6a, 0x84, 0x8b, 0x63, 0x5f, 0x8f, 0x74, 0x8f, 0x5f, 0x63, 0x8b, 0x84, 0x6a, 0x5c, 0x92, 0x30, 0x74, 0x4a, 0x55, 0x69, 0x6f, 0x4f, 0x4c, 0x72, 0x85, 0x22, 0x17, 0x18, 0x21, 0x1f, 0x1a, 0x16, 0x23, 0xfe, 0xa7, 0x72, 0x4c, 0x4f, 0x6f, 0x69, 0x55, 0x4a, 0x74, 0x85, 0x23, 0x16, 0x1a, 0x1f, 0x21, 0x18, 0x17, 0x22, 0x11, 0x96, 0xd4, 0x96, 0x96, 0xd4, 0xfc, 0xe8, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x4, 0x1a, 0x66, 0x88, 0x93, 0x5b, 0x63, 0x8b, 0x8b, 0x63, 0x63, 0x8b, 0x8b, 0x63, 0x5b, 0x93, 0x88, 0x66, 0x52, 0x6c, 0x75, 0x49, 0x4f, 0x6f, 0x6f, 0x4f, 0x18, 0x21, 0x21, 0x18, 0x16, 0x23, 0x20, 0x19, 0x4f, 0x6f, 0x6f, 0x4f, 0x49, 0x75, 0x6c, 0x52, 0x19, 0x20, 0x23, 0x16, 0x18, 0x21, 0x21, 0xfd, 0x28, 0xd4, 0x96, 0x96, 0xd4, 0x96, 0x2, 0x26, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0x0, 0x0, 0xa, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0x4a, 0x0, 0x56, 0x0, 0x5e, 0x0, 0x62, 0x0, 0x66, 0x0, 0x6b, 0x0, 0x70, 0x0, 0x74, 0x0, 0x79, 0x0, 0x7e, 0x0, 0x0, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x34, 0x27, 0x11, 0x23, 0x11, 0x26, 0x27, 0x15, 0x17, 0x7, 0x11, 0x23, 0x35, 0x23, 0x15, 0x23, 0x35, 0x23, 0x15, 0x23, 0x35, 0x23, 0x15, 0x23, 0x11, 0x33, 0x11, 0x33, 0x11, 0x27, 0x37, 0x17, 0x35, 0x26, 0x20, 0x7, 0x15, 0x37, 0x17, 0x7, 0x11, 0x33, 0x11, 0x33, 0x11, 0x23, 0x35, 0x23, 0x15, 0x23, 0x35, 0x23, 0x15, 0x23, 0x35, 0x23, 0x15, 0x23, 0x11, 0x27, 0x37, 0x35, 0x6, 0x7, 0x11, 0x23, 0x11, 0x6, 0x7, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x24, 0x34, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x13, 0x11, 0x33, 0x11, 0x1, 0x33, 0x35, 0x27, 0x17, 0x33, 0x35, 0x7, 0x27, 0x11, 0x15, 0x17, 0x35, 0x26, 0x1, 0x35, 0x7, 0x15, 0x3, 0x6, 0x7, 0x15, 0x37, 0x11, 0x35, 0x7, 0x27, 0x15, 0x1, 0x31, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0x40, 0x44, 0x1e, 0x26, 0x6, 0x6, 0x44, 0x34, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x5b, 0x4d, 0x96, 0xa7, 0xfe, 0x62, 0xa7, 0x96, 0x4d, 0x5b, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x34, 0x44, 0x6, 0x6, 0x25, 0x1f, 0x44, 0x41, 0x87, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x3, 0x2, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x13, 0x44, 0x1, 0x10, 0x44, 0x44, 0x88, 0x34, 0x3, 0x31, 0x34, 0x19, 0xfc, 0xf9, 0x44, 0x44, 0x1b, 0x19, 0x34, 0x31, 0x3, 0x2, 0xea, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0xaa, 0x8f, 0xfe, 0x85, 0x1, 0xf3, 0x2c, 0x28, 0x67, 0x4, 0x9, 0xfe, 0x2d, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x2, 0x38, 0xfe, 0xd7, 0x1, 0x10, 0x3f, 0x6f, 0x69, 0x7b, 0x60, 0x60, 0x7b, 0x69, 0x6f, 0x3f, 0xfe, 0xf0, 0x1, 0x29, 0xfd, 0xc8, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x1, 0xd3, 0x9, 0x4, 0x68, 0x28, 0x2c, 0xfe, 0xc, 0x1, 0x7d, 0x90, 0xab, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x19, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x1, 0x64, 0x2, 0x38, 0xfd, 0xc8, 0x1, 0xf, 0xb1, 0x2f, 0xe0, 0x63, 0x4, 0x22, 0x1, 0x23, 0x7f, 0x24, 0x7a, 0x16, 0xfe, 0x6f, 0xe0, 0x2f, 0xb1, 0x1, 0xa4, 0x13, 0x17, 0x79, 0x24, 0xfe, 0xdb, 0x81, 0x22, 0x4, 0x63, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0xaa, 0xff, 0x6a, 0xc, 0x71, 0x7, 0x6c, 0x0, 0x9, 0x0, 0x13, 0x0, 0x1d, 0x0, 0x25, 0x0, 0x31, 0x0, 0x3d, 0x0, 0x49, 0x0, 0x55, 0x0, 0x0, 0x1, 0x21, 0x15, 0x3, 0x33, 0x15, 0x21, 0x35, 0x13, 0x23, 0x25, 0x21, 0x15, 0x3, 0x33, 0x15, 0x21, 0x35, 0x13, 0x23, 0x25, 0x21, 0x15, 0x3, 0x33, 0x15, 0x21, 0x35, 0x13, 0x23, 0x0, 0x34, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x1, 0x14, 0x6, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x32, 0x36, 0x35, 0x21, 0x14, 0x6, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x32, 0x36, 0x35, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0xa, 0xf6, 0x1, 0x7b, 0xf8, 0xf8, 0xfe, 0x7b, 0xf8, 0xee, 0xfe, 0x17, 0x1, 0x7b, 0xf8, 0xf8, 0xfe, 0x7b, 0xf8, 0xee, 0xfe, 0x17, 0x1, 0x7b, 0xf8, 0xf8, 0xfe, 0x7b, 0xf8, 0xee, 0xfc, 0x88, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x2, 0x4b, 0x8c, 0xc4, 0x8c, 0x87, 0x3d, 0x54, 0x3d, 0xfe, 0x37, 0x8c, 0xc4, 0x8c, 0x87, 0x3d, 0x54, 0x3d, 0xfd, 0x3f, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x7, 0x6c, 0x68, 0xfe, 0xf4, 0x5c, 0x68, 0x1, 0xc, 0x5c, 0x68, 0xfe, 0xf4, 0x5c, 0x68, 0x1, 0xc, 0x5c, 0x68, 0xfe, 0xf4, 0x5c, 0x68, 0x1, 0xc, 0xfa, 0x7f, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x3, 0x44, 0x8b, 0xc5, 0xc5, 0x8b, 0x53, 0x77, 0x77, 0x53, 0x8b, 0xc5, 0xc5, 0x8b, 0x53, 0x77, 0x77, 0x53, 0xfe, 0x62, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0x0, 0x0, 0x0, 0x5, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0xb, 0x0, 0x17, 0x0, 0x23, 0x0, 0x2b, 0x0, 0x37, 0x0, 0x0, 0x1, 0x27, 0x37, 0x27, 0x37, 0x17, 0x37, 0x17, 0x7, 0x17, 0x7, 0x27, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x3, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x4, 0x34, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x1, 0x27, 0x37, 0x27, 0x37, 0x17, 0x37, 0x17, 0x7, 0x17, 0x7, 0x27, 0x2, 0x95, 0x5f, 0x71, 0x71, 0x5f, 0x71, 0x72, 0x5f, 0x71, 0x71, 0x5f, 0x72, 0xfe, 0x2b, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x87, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x2, 0x82, 0x96, 0xd4, 0x96, 0x96, 0xd4, 0x1, 0x1e, 0x5f, 0x71, 0x71, 0x5f, 0x71, 0x72, 0x5f, 0x71, 0x71, 0x5f, 0x72, 0x3, 0x28, 0x5f, 0x71, 0x72, 0x5f, 0x71, 0x71, 0x5f, 0x72, 0x71, 0x5f, 0x71, 0xaf, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0xfe, 0xc3, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1c, 0xd4, 0x96, 0x96, 0xd4, 0x96, 0x2, 0x64, 0x5f, 0x71, 0x72, 0x5f, 0x71, 0x71, 0x5f, 0x72, 0x71, 0x5f, 0x71, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0xa, 0x0, 0x15, 0x0, 0x21, 0x0, 0x2d, 0x0, 0x0, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x5, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x2, 0x82, 0x51, 0x3b, 0x3a, 0x52, 0x52, 0x3a, 0x3b, 0x51, 0x2, 0x42, 0x52, 0x74, 0x53, 0x53, 0x3a, 0x3b, 0x51, 0xfb, 0xe6, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x87, 0x1, 0xbf, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xbd, 0xfe, 0x43, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0x41, 0x3, 0xfd, 0x3b, 0x51, 0x51, 0x76, 0x52, 0x53, 0x3a, 0x3b, 0x51, 0x51, 0x3b, 0x3a, 0x53, 0x53, 0xd9, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0x74, 0xfe, 0xc4, 0xfe, 0x43, 0x1, 0xbd, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0xc0, 0xfe, 0x40, 0x0, 0x0, 0xa, 0x0, 0xaa, 0xff, 0x6a, 0x7, 0xad, 0x6, 0x6e, 0x0, 0xb, 0x0, 0xf, 0x0, 0x13, 0x0, 0x17, 0x0, 0x1b, 0x0, 0x1f, 0x0, 0x24, 0x0, 0x28, 0x0, 0x2c, 0x0, 0x37, 0x0, 0x0, 0x13, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x10, 0x0, 0x21, 0x20, 0x0, 0x1, 0x35, 0x21, 0x15, 0x33, 0x35, 0x21, 0x15, 0x25, 0x27, 0x25, 0x17, 0x5, 0x25, 0x37, 0x5, 0x1, 0x21, 0x11, 0x21, 0x1, 0x21, 0x16, 0x21, 0x20, 0x25, 0x36, 0x13, 0x7, 0x1, 0x11, 0x27, 0x12, 0x1, 0x2, 0x27, 0x26, 0x21, 0x20, 0x7, 0x6, 0x3, 0x17, 0x21, 0xaa, 0x2, 0xe, 0x1, 0x74, 0x1, 0x75, 0x2, 0xc, 0xfd, 0xf4, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf2, 0x1, 0x6c, 0x1, 0xaa, 0xd8, 0x1, 0xaa, 0xfb, 0xff, 0x4d, 0x1, 0x58, 0x4d, 0x2, 0x7e, 0xfe, 0xa8, 0x4d, 0x1, 0x58, 0xfc, 0x39, 0x3, 0x1e, 0xfc, 0xe2, 0x3, 0x54, 0xfc, 0x76, 0xc4, 0x1, 0x1, 0x1, 0x2, 0x1, 0x14, 0xcb, 0x16, 0xe1, 0xfb, 0xd4, 0xe2, 0x16, 0x5, 0xd7, 0x1b, 0xbe, 0xde, 0xfe, 0xc2, 0xfe, 0xc4, 0xe0, 0xbe, 0x1c, 0xe0, 0x4, 0x2c, 0x2, 0xea, 0x1, 0x75, 0x2, 0xf, 0xfd, 0xf1, 0xfe, 0x8b, 0xfe, 0x8c, 0xfd, 0xf4, 0x2, 0xc, 0x1, 0xba, 0x87, 0x87, 0x87, 0x87, 0xe6, 0x6e, 0xf1, 0x6f, 0xf0, 0xf0, 0x6f, 0xf1, 0xfc, 0x87, 0x1, 0x18, 0xfe, 0x61, 0x93, 0xd9, 0xc9, 0x1, 0x11, 0x9e, 0xfe, 0xc4, 0x1, 0x3c, 0x9e, 0xfe, 0xef, 0x1, 0xb3, 0x1, 0x2, 0xbf, 0xe0, 0xe0, 0xbf, 0xfe, 0xff, 0x9d, 0x0, 0x9, 0x0, 0x3a, 0xff, 0x6a, 0x8, 0x26, 0x7, 0x14, 0x0, 0x8, 0x0, 0x1d, 0x0, 0x52, 0x0, 0x8f, 0x0, 0x9d, 0x0, 0xab, 0x0, 0xb5, 0x0, 0xbb, 0x0, 0xc1, 0x0, 0x0, 0x0, 0x32, 0x37, 0x17, 0x6, 0x23, 0x22, 0x27, 0x37, 0x17, 0x16, 0x33, 0x32, 0x37, 0x16, 0x15, 0x14, 0x7, 0x6, 0x4, 0x20, 0x24, 0x27, 0x26, 0x35, 0x34, 0x37, 0x16, 0x33, 0x32, 0x1, 0x14, 0x17, 0x25, 0x17, 0x5, 0x16, 0x17, 0x25, 0x17, 0x5, 0x16, 0x17, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x37, 0x36, 0x37, 0x25, 0x37, 0x5, 0x36, 0x37, 0x25, 0x37, 0x5, 0x36, 0x35, 0x34, 0x2e, 0x2, 0x27, 0x26, 0x27, 0x6, 0x7, 0x26, 0x23, 0x22, 0x7, 0x26, 0x27, 0x6, 0x7, 0xe, 0x3, 0x7, 0x26, 0x35, 0x34, 0x3e, 0x3, 0x37, 0x36, 0x3f, 0x1, 0x17, 0x1e, 0x1, 0x17, 0x36, 0x32, 0x17, 0x3e, 0x1, 0x3f, 0x1, 0x17, 0x16, 0x17, 0x1e, 0x4, 0x15, 0x14, 0x7, 0x17, 0x7, 0x27, 0x6, 0x7, 0x17, 0x7, 0x27, 0x6, 0x7, 0x2, 0x7, 0x6, 0x21, 0x20, 0x27, 0x26, 0x3, 0x26, 0x27, 0x7, 0x27, 0x37, 0x26, 0x27, 0x7, 0x27, 0x25, 0x34, 0x2e, 0x1, 0x22, 0xe, 0x1, 0x15, 0x23, 0x34, 0x36, 0x32, 0x16, 0x15, 0x21, 0x34, 0x2e, 0x1, 0x22, 0xe, 0x1, 0x15, 0x23, 0x34, 0x36, 0x32, 0x16, 0x15, 0x1, 0x26, 0x27, 0x6, 0x7, 0x15, 0x16, 0x33, 0x32, 0x3f, 0x1, 0x15, 0x36, 0x37, 0x6, 0x23, 0x5, 0x35, 0x23, 0x22, 0x27, 0x16, 0x3, 0xec, 0x82, 0x5c, 0x3e, 0x78, 0x63, 0x65, 0x76, 0x3e, 0xa0, 0x72, 0x74, 0x9e, 0x92, 0x5, 0x1d, 0x36, 0xfe, 0xed, 0xfe, 0x9c, 0xfe, 0xec, 0x3b, 0x23, 0x3, 0x95, 0xa0, 0x79, 0xfd, 0x5d, 0x7, 0x1, 0x4d, 0x5, 0xfe, 0xb4, 0x8, 0xe, 0x1, 0x34, 0x16, 0xfe, 0xc8, 0x12, 0x16, 0x66, 0xa3, 0xb5, 0x1, 0xea, 0xb5, 0xa1, 0x67, 0x1a, 0x10, 0xfe, 0xcd, 0x16, 0x1, 0x2e, 0xe, 0x8, 0xfe, 0xba, 0x5, 0x1, 0x47, 0x6, 0xa, 0xa, 0x16, 0x4, 0x1b, 0x2a, 0xf3, 0x99, 0x74, 0x9b, 0x9d, 0x74, 0x99, 0xf3, 0x2a, 0x1b, 0x5, 0x15, 0xb, 0xa, 0x80, 0x5, 0x7, 0x13, 0xc, 0x1f, 0x5, 0x17, 0x26, 0xf, 0x3c, 0x8f, 0xfd, 0x5d, 0x69, 0xe2, 0x69, 0x5d, 0xfd, 0x8f, 0x3b, 0x10, 0x26, 0x17, 0x5, 0x1f, 0xc, 0x13, 0x7, 0x5, 0x69, 0x4, 0x6b, 0x8, 0x15, 0x68, 0x16, 0x64, 0x13, 0x1b, 0x74, 0xc0, 0xd9, 0xfe, 0xe0, 0xfe, 0xdf, 0xd9, 0xc0, 0x74, 0x1d, 0x10, 0x5e, 0x16, 0x62, 0x14, 0x9, 0x65, 0x4, 0x3, 0x31, 0x15, 0x31, 0x42, 0x31, 0x15, 0x87, 0x8c, 0xc4, 0x8c, 0x1, 0xc9, 0x15, 0x31, 0x42, 0x31, 0x15, 0x87, 0x8c, 0xc4, 0x8c, 0xfe, 0x3a, 0x24, 0x28, 0x1a, 0x32, 0x2b, 0x24, 0x29, 0x20, 0x88, 0x60, 0x33, 0x48, 0x3a, 0xfe, 0x47, 0x15, 0x3f, 0x3f, 0x34, 0x2, 0xfc, 0x2e, 0x78, 0x3d, 0x3d, 0x78, 0xfc, 0x25, 0x42, 0x20, 0x19, 0x44, 0x47, 0x81, 0x93, 0x8f, 0x7d, 0x4b, 0x53, 0x17, 0x17, 0x42, 0x1, 0xc7, 0x24, 0x62, 0x15, 0x43, 0x16, 0x4a, 0x41, 0x69, 0x3f, 0x6c, 0x3a, 0x31, 0xe2, 0x77, 0x84, 0x84, 0x76, 0xe3, 0x38, 0x35, 0x6a, 0x3f, 0x67, 0x3e, 0x4c, 0x15, 0x43, 0x15, 0x52, 0x34, 0x2e, 0x66, 0x3e, 0x76, 0x19, 0xa1, 0xa7, 0x3a, 0xc4, 0x15, 0x15, 0xc4, 0x3a, 0xa7, 0xa1, 0x1b, 0x72, 0x41, 0x65, 0xbd, 0x4d, 0x45, 0x39, 0x6a, 0x77, 0x41, 0x93, 0x18, 0x75, 0x8c, 0x3a, 0x9, 0x16, 0x89, 0x61, 0xd, 0xd, 0x61, 0x89, 0x16, 0x9, 0x3a, 0x8c, 0x75, 0x18, 0x93, 0x41, 0x77, 0x6a, 0x39, 0x44, 0x4d, 0x7, 0x44, 0x7, 0x56, 0x57, 0x24, 0x40, 0x22, 0x3c, 0x3c, 0xfe, 0xfd, 0x8c, 0x9e, 0x9e, 0x8c, 0x1, 0x3, 0x40, 0x36, 0x20, 0x40, 0x22, 0x4f, 0x60, 0x7, 0x44, 0x51, 0x2b, 0x5a, 0x45, 0x45, 0x59, 0x2c, 0x8c, 0xc4, 0xc4, 0x8c, 0x2b, 0x5a, 0x45, 0x45, 0x59, 0x2c, 0x8c, 0xc4, 0xc4, 0x8c, 0xfe, 0x3, 0x7, 0xb, 0x7, 0xa, 0x91, 0x5, 0x4, 0x84, 0x63, 0x27, 0x46, 0xa, 0x61, 0x61, 0x9, 0x43, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, 0x60, 0xff, 0x6a, 0x8, 0xf8, 0x7, 0x14, 0x0, 0x3f, 0x0, 0x48, 0x0, 0x5d, 0x0, 0xa8, 0x0, 0xb6, 0x0, 0xc4, 0x0, 0xce, 0x0, 0xd4, 0x0, 0xda, 0x0, 0x0, 0x1, 0x36, 0x35, 0x34, 0x2e, 0x2, 0x27, 0x26, 0x27, 0x6, 0x7, 0x26, 0x20, 0x7, 0x26, 0x27, 0x6, 0x7, 0xe, 0x3, 0x15, 0x14, 0x17, 0x36, 0x3f, 0x1, 0x7, 0xe, 0x1, 0x23, 0x22, 0x27, 0x16, 0x17, 0x25, 0x17, 0x5, 0x16, 0x17, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x37, 0x36, 0x37, 0x25, 0x37, 0x5, 0x36, 0x37, 0x6, 0x23, 0x22, 0x26, 0x2f, 0x1, 0x17, 0x16, 0x4, 0x32, 0x37, 0x17, 0x6, 0x23, 0x22, 0x27, 0x37, 0x17, 0x16, 0x33, 0x32, 0x37, 0x16, 0x15, 0x14, 0x7, 0x6, 0x4, 0x20, 0x24, 0x27, 0x26, 0x35, 0x34, 0x37, 0x16, 0x33, 0x32, 0x5, 0x22, 0x26, 0x35, 0x34, 0x36, 0x3f, 0x1, 0x34, 0x27, 0x7, 0x27, 0x37, 0x26, 0x35, 0x34, 0x3e, 0x3, 0x37, 0x36, 0x3f, 0x1, 0x17, 0x1e, 0x1, 0x17, 0x36, 0x32, 0x17, 0x3e, 0x1, 0x3f, 0x1, 0x17, 0x16, 0x17, 0x1e, 0x4, 0x15, 0x14, 0x7, 0x17, 0x7, 0x27, 0x6, 0x7, 0x17, 0x1e, 0x1, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x2f, 0x1, 0x6, 0x7, 0x2, 0x7, 0x6, 0x20, 0x27, 0x26, 0x3, 0x26, 0x27, 0x7, 0x6, 0x1, 0x34, 0x2e, 0x1, 0x22, 0xe, 0x1, 0x15, 0x23, 0x34, 0x36, 0x32, 0x16, 0x15, 0x21, 0x34, 0x2e, 0x1, 0x22, 0xe, 0x1, 0x15, 0x23, 0x34, 0x36, 0x32, 0x16, 0x15, 0x1, 0x26, 0x27, 0x6, 0x7, 0x15, 0x16, 0x33, 0x32, 0x3f, 0x1, 0x15, 0x36, 0x37, 0x6, 0x23, 0x5, 0x35, 0x23, 0x22, 0x27, 0x16, 0x7, 0xba, 0x2, 0xa, 0xa, 0x16, 0x4, 0x1a, 0x2a, 0xf2, 0x9a, 0x74, 0xfe, 0xc8, 0x74, 0x98, 0xf4, 0x2a, 0x1c, 0x5, 0x15, 0xa, 0xa, 0x2, 0x18, 0x50, 0x88, 0x2c, 0x11, 0x33, 0x2c, 0x30, 0x1c, 0x8, 0x10, 0x1, 0x34, 0x16, 0xfe, 0xc8, 0x12, 0x16, 0x66, 0xa4, 0xb5, 0x1, 0xe9, 0xb6, 0xa2, 0x66, 0x1a, 0x10, 0xfe, 0xcc, 0x16, 0x1, 0x2e, 0x10, 0x8, 0x1c, 0x30, 0x2c, 0x34, 0x10, 0x2e, 0x8a, 0x52, 0xfc, 0xc8, 0x82, 0x5c, 0x3e, 0x78, 0x62, 0x66, 0x76, 0x3e, 0xa0, 0x72, 0x74, 0x9e, 0x92, 0x6, 0x1e, 0x36, 0xfe, 0xee, 0xfe, 0x9c, 0xfe, 0xec, 0x3c, 0x22, 0x2, 0x96, 0xa0, 0x78, 0xfc, 0x7c, 0x25, 0x37, 0x3e, 0x34, 0x5a, 0x8, 0x66, 0x4, 0x64, 0x6, 0x8, 0x12, 0xc, 0x20, 0x4, 0x18, 0x26, 0xe, 0x3c, 0x8f, 0xfd, 0x5e, 0x69, 0xe1, 0x6a, 0x5d, 0xfd, 0x8e, 0x3c, 0x10, 0x26, 0x16, 0x5, 0x1f, 0xc, 0x14, 0x6, 0x4, 0x68, 0x4, 0x6a, 0x6, 0x4, 0x5a, 0x34, 0x3c, 0x36, 0x24, 0x2c, 0x34, 0x12, 0xe, 0x18, 0x2c, 0x74, 0xc0, 0xd8, 0xfd, 0xc0, 0xda, 0xc0, 0x74, 0x2a, 0x1a, 0x10, 0x24, 0x2, 0xe4, 0x16, 0x30, 0x42, 0x32, 0x14, 0x88, 0x8c, 0xc4, 0x8c, 0x1, 0xca, 0x16, 0x30, 0x42, 0x32, 0x14, 0x88, 0x8c, 0xc4, 0x8c, 0xfe, 0x3a, 0x24, 0x28, 0x1a, 0x32, 0x2c, 0x24, 0x28, 0x20, 0x88, 0x60, 0x34, 0x48, 0x3a, 0xfe, 0x46, 0x14, 0x3e, 0x40, 0x34, 0x3, 0x7c, 0x28, 0x2c, 0x2e, 0x66, 0x3e, 0x76, 0x19, 0xa1, 0xa7, 0x3a, 0xc4, 0x15, 0x15, 0xc4, 0x3a, 0xa7, 0xa1, 0x1b, 0x72, 0x41, 0x65, 0x2e, 0x2a, 0x27, 0x2c, 0x19, 0x2c, 0x88, 0x33, 0x3c, 0x25, 0x57, 0x4c, 0x69, 0x3f, 0x6c, 0x3a, 0x31, 0xe2, 0x77, 0x84, 0x84, 0x76, 0xe3, 0x38, 0x35, 0x6a, 0x3f, 0x67, 0x44, 0x60, 0x28, 0x3c, 0x33, 0x88, 0x2c, 0x19, 0xaf, 0x2e, 0x78, 0x3d, 0x3d, 0x78, 0xfc, 0x25, 0x42, 0x20, 0x19, 0x44, 0x47, 0x81, 0x93, 0x8f, 0x7d, 0x4b, 0x53, 0x17, 0x17, 0x42, 0x41, 0x36, 0x25, 0x2c, 0x34, 0x11, 0x1d, 0x3, 0x4a, 0x7, 0x44, 0x6, 0x4d, 0x45, 0x39, 0x6a, 0x77, 0x41, 0x93, 0x18, 0x75, 0x8c, 0x3a, 0x9, 0x16, 0x89, 0x61, 0xd, 0xd, 0x61, 0x89, 0x16, 0x9, 0x3a, 0x8c, 0x75, 0x18, 0x93, 0x41, 0x77, 0x6a, 0x39, 0x44, 0x4d, 0x7, 0x44, 0x7, 0x34, 0x19, 0x1d, 0x11, 0x34, 0x2c, 0x25, 0x36, 0x3c, 0x33, 0x2a, 0x68, 0x62, 0xfe, 0xfd, 0x8c, 0x9e, 0x9e, 0x8c, 0x1, 0x3, 0x5d, 0x70, 0x2d, 0x6f, 0x1, 0xc4, 0x2b, 0x5a, 0x45, 0x45, 0x59, 0x2c, 0x8c, 0xc4, 0xc4, 0x8c, 0x2b, 0x5a, 0x45, 0x45, 0x59, 0x2c, 0x8c, 0xc4, 0xc4, 0x8c, 0xfe, 0x3, 0x7, 0xb, 0x7, 0xa, 0x91, 0x5, 0x4, 0x84, 0x63, 0x27, 0x46, 0xa, 0x61, 0x61, 0x9, 0x43, 0x0, 0x0, 0x0, 0x9, 0x0, 0x3a, 0xff, 0x6a, 0x8, 0x26, 0x7, 0x14, 0x0, 0x8, 0x0, 0x1d, 0x0, 0x2a, 0x0, 0x5f, 0x0, 0x9c, 0x0, 0xaa, 0x0, 0xb4, 0x0, 0xc3, 0x0, 0xd0, 0x0, 0x0, 0x0, 0x32, 0x37, 0x17, 0x6, 0x23, 0x22, 0x27, 0x37, 0x17, 0x16, 0x33, 0x32, 0x37, 0x16, 0x15, 0x14, 0x7, 0x6, 0x4, 0x20, 0x24, 0x27, 0x26, 0x35, 0x34, 0x37, 0x16, 0x33, 0x32, 0x17, 0x6, 0x23, 0x22, 0x27, 0x1e, 0x1, 0x32, 0x36, 0x37, 0x6, 0x23, 0x22, 0x1, 0x14, 0x17, 0x25, 0x17, 0x5, 0x16, 0x17, 0x25, 0x17, 0x5, 0x16, 0x17, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x37, 0x36, 0x37, 0x25, 0x37, 0x5, 0x36, 0x37, 0x25, 0x37, 0x5, 0x36, 0x35, 0x34, 0x2e, 0x2, 0x27, 0x26, 0x27, 0x6, 0x7, 0x26, 0x23, 0x22, 0x7, 0x26, 0x27, 0x6, 0x7, 0xe, 0x3, 0x7, 0x26, 0x35, 0x34, 0x3e, 0x3, 0x37, 0x36, 0x3f, 0x1, 0x17, 0x1e, 0x1, 0x17, 0x36, 0x32, 0x17, 0x3e, 0x1, 0x3f, 0x1, 0x17, 0x16, 0x17, 0x1e, 0x4, 0x15, 0x14, 0x7, 0x17, 0x7, 0x27, 0x6, 0x7, 0x17, 0x7, 0x27, 0x6, 0x7, 0x2, 0x7, 0x6, 0x21, 0x20, 0x27, 0x26, 0x3, 0x26, 0x27, 0x7, 0x27, 0x37, 0x26, 0x27, 0x7, 0x27, 0x25, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x37, 0x22, 0x6, 0x15, 0x14, 0x17, 0x3e, 0x1, 0x37, 0x26, 0x5, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x27, 0x36, 0x37, 0x36, 0x33, 0x32, 0x16, 0x7, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x6, 0x3, 0xec, 0x82, 0x5c, 0x3e, 0x78, 0x63, 0x65, 0x76, 0x3e, 0xa0, 0x72, 0x74, 0x9e, 0x92, 0x5, 0x1d, 0x36, 0xfe, 0xed, 0xfe, 0x9c, 0xfe, 0xec, 0x3b, 0x23, 0x3, 0x95, 0xa0, 0x79, 0x70, 0x72, 0x77, 0x3f, 0x3f, 0x35, 0xc0, 0xea, 0xbd, 0x32, 0x48, 0x3a, 0x75, 0xfc, 0x7d, 0x7, 0x1, 0x4d, 0x5, 0xfe, 0xb4, 0x8, 0xe, 0x1, 0x34, 0x16, 0xfe, 0xc8, 0x12, 0x16, 0x66, 0xa3, 0xb5, 0x1, 0xea, 0xb5, 0xa1, 0x67, 0x1a, 0x10, 0xfe, 0xcd, 0x16, 0x1, 0x2e, 0xe, 0x8, 0xfe, 0xba, 0x5, 0x1, 0x47, 0x6, 0xa, 0xa, 0x16, 0x4, 0x1b, 0x2a, 0xf3, 0x99, 0x74, 0x9b, 0x9d, 0x74, 0x99, 0xf3, 0x2a, 0x1b, 0x5, 0x15, 0xb, 0xa, 0x80, 0x5, 0x7, 0x13, 0xc, 0x1f, 0x5, 0x17, 0x26, 0xf, 0x3c, 0x8f, 0xfd, 0x5d, 0x69, 0xe2, 0x69, 0x5d, 0xfd, 0x8f, 0x3b, 0x10, 0x26, 0x17, 0x5, 0x1f, 0xc, 0x13, 0x7, 0x5, 0x69, 0x4, 0x6b, 0x8, 0x15, 0x68, 0x16, 0x64, 0x13, 0x1b, 0x74, 0xc0, 0xd9, 0xfe, 0xe0, 0xfe, 0xdf, 0xd9, 0xc0, 0x74, 0x1d, 0x10, 0x5e, 0x16, 0x62, 0x14, 0x9, 0x65, 0x4, 0x1, 0xe2, 0x63, 0x43, 0x3e, 0x5d, 0x7, 0x30, 0x4c, 0x21, 0x28, 0x43, 0x38, 0x8, 0xfd, 0x24, 0x30, 0x5, 0x2b, 0x45, 0x12, 0x15, 0x2, 0xff, 0x8, 0x38, 0x43, 0x25, 0x24, 0x4d, 0x2f, 0x8, 0x32, 0x2d, 0x3b, 0x43, 0x63, 0xa4, 0xc, 0x1a, 0x2e, 0x2a, 0x10, 0x4, 0xc, 0xd, 0x2c, 0x40, 0x2, 0xfc, 0x2e, 0x78, 0x3d, 0x3d, 0x78, 0xfc, 0x25, 0x42, 0x20, 0x19, 0x44, 0x47, 0x81, 0x93, 0x8f, 0x7d, 0x4b, 0x53, 0x17, 0x17, 0x42, 0x68, 0x1f, 0x9, 0x45, 0x4c, 0x4d, 0x45, 0xa, 0x2, 0x4e, 0x24, 0x62, 0x15, 0x43, 0x16, 0x4a, 0x41, 0x69, 0x3f, 0x6c, 0x3a, 0x31, 0xe2, 0x77, 0x84, 0x84, 0x76, 0xe3, 0x38, 0x35, 0x6a, 0x3f, 0x67, 0x3e, 0x4c, 0x15, 0x43, 0x15, 0x52, 0x34, 0x2e, 0x66, 0x3e, 0x76, 0x19, 0xa1, 0xa7, 0x3a, 0xc4, 0x15, 0x15, 0xc4, 0x3a, 0xa7, 0xa1, 0x1b, 0x72, 0x41, 0x65, 0xbd, 0x4d, 0x45, 0x39, 0x6a, 0x77, 0x41, 0x93, 0x18, 0x75, 0x8c, 0x3a, 0x9, 0x16, 0x89, 0x61, 0xd, 0xd, 0x61, 0x89, 0x16, 0x9, 0x3a, 0x8c, 0x75, 0x18, 0x93, 0x41, 0x77, 0x6a, 0x39, 0x44, 0x4d, 0x7, 0x44, 0x7, 0x56, 0x57, 0x24, 0x40, 0x22, 0x3c, 0x3c, 0xfe, 0xfd, 0x8c, 0x9e, 0x9e, 0x8c, 0x1, 0x3, 0x40, 0x36, 0x20, 0x40, 0x22, 0x4f, 0x60, 0x7, 0x44, 0x9f, 0x46, 0x5f, 0x57, 0x3b, 0x45, 0x18, 0xb, 0x21, 0x17, 0x49, 0x2b, 0x20, 0xd, 0xd, 0x6, 0x2f, 0x21, 0xf, 0x2d, 0x1d, 0x17, 0x21, 0xc, 0x19, 0x43, 0x42, 0x2a, 0x26, 0x5f, 0x7a, 0x3, 0x14, 0x15, 0x19, 0xc, 0xb, 0x3, 0x35, 0x0, 0x0, 0x0, 0x6, 0x0, 0x3d, 0xff, 0x6a, 0x8, 0x1d, 0x7, 0x14, 0x0, 0x11, 0x0, 0x19, 0x0, 0x4a, 0x0, 0x83, 0x0, 0x98, 0x0, 0xad, 0x0, 0x0, 0x1, 0x37, 0x16, 0x33, 0x32, 0x37, 0x16, 0x33, 0x32, 0x37, 0x17, 0x6, 0x23, 0x22, 0x27, 0x6, 0x23, 0x22, 0x1, 0x17, 0x6, 0x22, 0x27, 0x37, 0x16, 0x32, 0x25, 0x36, 0x35, 0x34, 0x2e, 0x2, 0x27, 0x26, 0x27, 0x6, 0x7, 0x26, 0x23, 0x22, 0x7, 0x26, 0x27, 0x6, 0x7, 0xe, 0x3, 0x15, 0x14, 0x17, 0x25, 0x17, 0x5, 0x16, 0x17, 0x25, 0x17, 0x5, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x37, 0x25, 0x37, 0x5, 0x36, 0x37, 0x25, 0x37, 0x5, 0x26, 0x35, 0x34, 0x3e, 0x3, 0x37, 0x36, 0x3f, 0x1, 0x17, 0x1e, 0x1, 0x17, 0x36, 0x32, 0x17, 0x3e, 0x1, 0x3f, 0x1, 0x17, 0x16, 0x17, 0x1e, 0x4, 0x15, 0x14, 0x7, 0x17, 0x7, 0x27, 0x6, 0x7, 0x17, 0x7, 0x27, 0x2, 0x7, 0x6, 0x21, 0x20, 0x27, 0x26, 0x3, 0x7, 0x27, 0x37, 0x26, 0x27, 0x7, 0x27, 0x1, 0x3e, 0x1, 0x33, 0x32, 0x16, 0x15, 0x14, 0xf, 0x1, 0x23, 0x27, 0x26, 0x27, 0x34, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x25, 0x32, 0x16, 0x17, 0x33, 0x34, 0x37, 0x36, 0x33, 0x32, 0x16, 0x15, 0x6, 0xf, 0x1, 0x23, 0x27, 0x26, 0x35, 0x34, 0x36, 0x2, 0xa6, 0x5c, 0x45, 0x5b, 0x3a, 0x54, 0x54, 0x3a, 0x5b, 0x45, 0x5c, 0x6c, 0x90, 0x4a, 0x44, 0x45, 0x49, 0x90, 0x1, 0xb8, 0x3e, 0x7a, 0xc2, 0x7a, 0x3e, 0x5a, 0x86, 0x2, 0xba, 0x12, 0xa, 0xa, 0x16, 0x4, 0x1b, 0x2a, 0xf3, 0x99, 0x74, 0x9b, 0x9d, 0x74, 0x99, 0xf3, 0x2a, 0x1b, 0x5, 0x15, 0xb, 0xa, 0x12, 0x1, 0x42, 0xa, 0xfe, 0xbf, 0xe, 0x17, 0x1, 0x1e, 0x1a, 0xfe, 0xe1, 0x67, 0xa4, 0xb5, 0x1, 0xea, 0xb5, 0xa4, 0x67, 0xfe, 0xe1, 0x1a, 0x1, 0x1e, 0x15, 0xf, 0xfe, 0xc0, 0xa, 0xfa, 0xc0, 0x11, 0x7, 0x13, 0xc, 0x1f, 0x5, 0x17, 0x26, 0xf, 0x3c, 0x8f, 0xfd, 0x5d, 0x69, 0xe2, 0x69, 0x5d, 0xfd, 0x8f, 0x3b, 0x10, 0x26, 0x17, 0x5, 0x1f, 0xc, 0x13, 0x7, 0x11, 0x6c, 0xa, 0x6d, 0xf, 0x20, 0x6e, 0x1a, 0x6d, 0x75, 0xc3, 0xd9, 0xfe, 0xe0, 0xfe, 0xdf, 0xd9, 0xc1, 0x76, 0x6d, 0x1a, 0x6d, 0x1e, 0x10, 0x6d, 0xa, 0x2, 0xe3, 0xa, 0x3a, 0x2d, 0x2e, 0x3e, 0x3e, 0x9f, 0x2, 0xa8, 0x31, 0x2, 0x40, 0x2f, 0x3d, 0x23, 0xd, 0x1, 0xa8, 0x2d, 0x3a, 0xa, 0x1, 0xd, 0x23, 0x3d, 0x2f, 0x40, 0x2, 0x31, 0xa8, 0x2, 0x9f, 0x3e, 0x3e, 0x1, 0x8c, 0x62, 0x40, 0x2c, 0x2c, 0x40, 0x62, 0x64, 0x1c, 0x1c, 0x1, 0xa8, 0x78, 0x3d, 0x3d, 0x78, 0x2e, 0x38, 0x82, 0x74, 0x2e, 0x66, 0x3e, 0x76, 0x19, 0xa1, 0xa7, 0x3a, 0xc4, 0x15, 0x15, 0xc4, 0x3a, 0xa7, 0xa1, 0x1b, 0x72, 0x41, 0x65, 0x2e, 0x74, 0x82, 0x2b, 0x42, 0x2c, 0x45, 0x40, 0x79, 0x3e, 0x7a, 0xe7, 0x77, 0x84, 0x84, 0x77, 0xe7, 0x7a, 0x3e, 0x79, 0x39, 0x4c, 0x2c, 0x42, 0x3d, 0x7c, 0x8f, 0x39, 0x6a, 0x77, 0x41, 0x93, 0x18, 0x75, 0x8c, 0x3a, 0x9, 0x16, 0x89, 0x61, 0xd, 0xd, 0x61, 0x89, 0x16, 0x9, 0x3a, 0x8c, 0x75, 0x18, 0x93, 0x41, 0x77, 0x6a, 0x39, 0x8f, 0x7c, 0xf, 0x42, 0xe, 0x51, 0x57, 0x2e, 0x3e, 0x2e, 0xfe, 0xf7, 0x8e, 0x9e, 0x9e, 0x8c, 0x1, 0xb, 0x2e, 0x3e, 0x2e, 0x51, 0x57, 0xe, 0x42, 0x1, 0x95, 0x30, 0x42, 0x3d, 0x31, 0x4a, 0x4a, 0xbe, 0xcf, 0x3d, 0x42, 0x2a, 0x48, 0x47, 0x1b, 0x10, 0x72, 0x42, 0x30, 0x10, 0x1b, 0x47, 0x48, 0x2a, 0x42, 0x3d, 0xcf, 0xbe, 0x4a, 0x4a, 0x31, 0x3d, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0x3d, 0xff, 0x6a, 0x8, 0x1d, 0x7, 0x14, 0x0, 0x3, 0x0, 0x7, 0x0, 0xf, 0x0, 0x1e, 0x0, 0x28, 0x0, 0x37, 0x0, 0x44, 0x0, 0x75, 0x0, 0xae, 0x0, 0xb8, 0x0, 0x0, 0x1, 0x5, 0x7, 0x2d, 0x1, 0x17, 0x5, 0x27, 0x13, 0x17, 0x6, 0x22, 0x27, 0x37, 0x16, 0x32, 0x1, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x16, 0x7, 0x22, 0x6, 0x15, 0x14, 0x17, 0x3e, 0x1, 0x37, 0x26, 0x5, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x6, 0x5, 0x36, 0x35, 0x34, 0x2e, 0x2, 0x27, 0x26, 0x27, 0x6, 0x7, 0x26, 0x23, 0x22, 0x7, 0x26, 0x27, 0x6, 0x7, 0xe, 0x3, 0x15, 0x14, 0x17, 0x25, 0x17, 0x5, 0x16, 0x17, 0x25, 0x17, 0x5, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x37, 0x25, 0x37, 0x5, 0x36, 0x37, 0x25, 0x37, 0x5, 0x26, 0x35, 0x34, 0x3e, 0x3, 0x37, 0x36, 0x3f, 0x1, 0x17, 0x1e, 0x1, 0x17, 0x36, 0x32, 0x17, 0x3e, 0x1, 0x3f, 0x1, 0x17, 0x16, 0x17, 0x1e, 0x4, 0x15, 0x14, 0x7, 0x17, 0x7, 0x27, 0x6, 0x7, 0x17, 0x7, 0x27, 0x2, 0x7, 0x6, 0x21, 0x20, 0x27, 0x26, 0x3, 0x7, 0x27, 0x37, 0x26, 0x27, 0x7, 0x27, 0x1, 0x32, 0x37, 0x36, 0x37, 0x17, 0x6, 0x7, 0x6, 0x21, 0x2, 0xd2, 0x1, 0x2f, 0x4d, 0xfe, 0xd1, 0x3, 0x1, 0x4d, 0xfe, 0xd1, 0x4d, 0x73, 0x3e, 0x7a, 0xc2, 0x7a, 0x3e, 0x5a, 0x86, 0xfe, 0xfc, 0x2b, 0x51, 0x20, 0x28, 0x46, 0x36, 0x15, 0x35, 0x2f, 0x41, 0x46, 0x65, 0x4e, 0x24, 0x30, 0x5, 0x2b, 0x45, 0x12, 0x16, 0x1, 0xb8, 0x5, 0x64, 0x46, 0x42, 0x2f, 0x35, 0x15, 0x36, 0x46, 0x28, 0x20, 0x51, 0x79, 0xc, 0x1a, 0x30, 0x28, 0x10, 0x4, 0xc, 0xd, 0x2c, 0x40, 0x1, 0x93, 0x12, 0xa, 0xa, 0x16, 0x4, 0x1b, 0x2a, 0xf3, 0x99, 0x74, 0x9b, 0x9d, 0x74, 0x99, 0xf3, 0x2a, 0x1b, 0x5, 0x15, 0xb, 0xa, 0x12, 0x1, 0x42, 0xa, 0xfe, 0xbf, 0xe, 0x17, 0x1, 0x1e, 0x1a, 0xfe, 0xe1, 0x67, 0xa4, 0xb5, 0x1, 0xea, 0xb5, 0xa4, 0x67, 0xfe, 0xe1, 0x1a, 0x1, 0x1e, 0x15, 0xf, 0xfe, 0xc0, 0xa, 0xfa, 0xc0, 0x11, 0x7, 0x13, 0xc, 0x1f, 0x5, 0x17, 0x26, 0xf, 0x3c, 0x8f, 0xfd, 0x5d, 0x69, 0xe2, 0x69, 0x5d, 0xfd, 0x8f, 0x3b, 0x10, 0x26, 0x17, 0x5, 0x1f, 0xc, 0x13, 0x7, 0x11, 0x6c, 0xa, 0x6d, 0xf, 0x20, 0x6e, 0x1a, 0x6d, 0x75, 0xc3, 0xd9, 0xfe, 0xe0, 0xfe, 0xdf, 0xd9, 0xc1, 0x76, 0x6d, 0x1a, 0x6d, 0x1e, 0x10, 0x6d, 0xa, 0x3, 0xef, 0xca, 0x8e, 0x28, 0x1c, 0x73, 0x22, 0x35, 0xb5, 0xfe, 0xfd, 0x5, 0x67, 0xd4, 0x6f, 0xd5, 0x6e, 0x6e, 0xd5, 0x6f, 0xfe, 0x3d, 0x78, 0x3d, 0x3d, 0x78, 0x2e, 0x1, 0x6, 0x4c, 0x1c, 0xb, 0x23, 0x24, 0x2d, 0x47, 0x30, 0x2c, 0x61, 0x26, 0x30, 0x24, 0xe, 0xf, 0x7, 0x34, 0x25, 0x11, 0x1d, 0x43, 0x61, 0x2c, 0x30, 0x47, 0x2d, 0x24, 0x23, 0xb, 0x1c, 0x4, 0x3, 0x16, 0x18, 0x1c, 0xe, 0xc, 0x3, 0x3b, 0xa7, 0x82, 0x74, 0x2e, 0x66, 0x3e, 0x76, 0x19, 0xa1, 0xa7, 0x3a, 0xc4, 0x15, 0x15, 0xc4, 0x3a, 0xa7, 0xa1, 0x1b, 0x72, 0x41, 0x65, 0x2e, 0x74, 0x82, 0x2b, 0x42, 0x2c, 0x45, 0x40, 0x79, 0x3e, 0x7a, 0xe7, 0x77, 0x84, 0x84, 0x77, 0xe7, 0x7a, 0x3e, 0x79, 0x39, 0x4c, 0x2c, 0x42, 0x3d, 0x7c, 0x8f, 0x39, 0x6a, 0x77, 0x41, 0x93, 0x18, 0x75, 0x8c, 0x3a, 0x9, 0x16, 0x89, 0x61, 0xd, 0xd, 0x61, 0x89, 0x16, 0x9, 0x3a, 0x8c, 0x75, 0x18, 0x93, 0x41, 0x77, 0x6a, 0x39, 0x8f, 0x7c, 0xf, 0x42, 0xe, 0x51, 0x57, 0x2e, 0x3e, 0x2e, 0xfe, 0xf7, 0x8e, 0x9e, 0x9e, 0x8c, 0x1, 0xb, 0x2e, 0x3e, 0x2e, 0x51, 0x57, 0xe, 0x42, 0xfe, 0x7f, 0x8e, 0x28, 0x2b, 0x48, 0x36, 0x35, 0xb5, 0x0, 0x0, 0x8, 0x0, 0x3d, 0xff, 0x6a, 0x8, 0x1d, 0x7, 0x14, 0x0, 0xe, 0x0, 0x18, 0x0, 0x27, 0x0, 0x34, 0x0, 0x69, 0x0, 0xa8, 0x0, 0xb5, 0x0, 0xbe, 0x0, 0x0, 0x1, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x16, 0x7, 0x22, 0x6, 0x15, 0x14, 0x17, 0x3e, 0x1, 0x37, 0x26, 0x5, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x6, 0x5, 0x36, 0x35, 0x34, 0x2e, 0x2, 0x27, 0x26, 0x27, 0x6, 0x7, 0x26, 0x23, 0x22, 0x7, 0x26, 0x27, 0x6, 0x7, 0xe, 0x3, 0x15, 0x14, 0x17, 0x16, 0x17, 0x25, 0x17, 0x5, 0x16, 0x17, 0x25, 0x17, 0x5, 0x17, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x3f, 0x1, 0x25, 0x37, 0x5, 0x36, 0x37, 0x25, 0x37, 0x0, 0x32, 0x17, 0x3e, 0x1, 0x3f, 0x1, 0x17, 0x16, 0x17, 0x1e, 0x4, 0x15, 0x14, 0x6, 0x15, 0x6, 0x7, 0x17, 0x7, 0x27, 0x6, 0x7, 0x17, 0x7, 0x27, 0x7, 0x2, 0x7, 0x6, 0x21, 0x20, 0x27, 0x26, 0x3, 0x27, 0x7, 0x27, 0x37, 0x26, 0x27, 0x7, 0x27, 0x37, 0x26, 0x27, 0x35, 0x34, 0x3e, 0x3, 0x37, 0x36, 0x3f, 0x1, 0x17, 0x1e, 0x1, 0x17, 0x13, 0x37, 0x27, 0x37, 0x5, 0x15, 0x7, 0x17, 0x15, 0x5, 0x27, 0x37, 0x27, 0x2, 0x32, 0x37, 0x17, 0x6, 0x23, 0x22, 0x27, 0x37, 0x3, 0x6c, 0x2b, 0x51, 0x20, 0x28, 0x46, 0x36, 0x15, 0x35, 0x2f, 0x41, 0x46, 0x65, 0x4e, 0x24, 0x30, 0x5, 0x2b, 0x45, 0x12, 0x16, 0x1, 0xb8, 0x5, 0x64, 0x46, 0x42, 0x2f, 0x35, 0x15, 0x36, 0x46, 0x28, 0x20, 0x51, 0x79, 0xc, 0x1a, 0x30, 0x28, 0x10, 0x4, 0xc, 0xd, 0x2c, 0x40, 0x1, 0x93, 0x12, 0xa, 0xa, 0x16, 0x4, 0x1b, 0x2a, 0xf3, 0x99, 0x74, 0x9b, 0x9d, 0x74, 0x99, 0xf3, 0x2a, 0x1b, 0x5, 0x15, 0xb, 0xa, 0x2, 0x7, 0x9, 0x1, 0x42, 0xa, 0xfe, 0xbf, 0xe, 0x17, 0x1, 0x1e, 0x1a, 0xfe, 0xe1, 0x2, 0x66, 0xa3, 0xb5, 0x1, 0xea, 0xb5, 0xa1, 0x67, 0x3, 0xfe, 0xe1, 0x1a, 0x1, 0x1e, 0x15, 0xf, 0xfe, 0xc0, 0xa, 0xfd, 0xd3, 0xe2, 0x69, 0x5d, 0xfd, 0x8f, 0x3b, 0x10, 0x26, 0x17, 0x5, 0x1f, 0xc, 0x13, 0x7, 0x1, 0x3, 0xd, 0x6c, 0xa, 0x6d, 0xf, 0x20, 0x6e, 0x1a, 0x6d, 0x4, 0x74, 0xc0, 0xd9, 0xfe, 0xe0, 0xfe, 0xdf, 0xd9, 0xc0, 0x74, 0x3, 0x6d, 0x1a, 0x6d, 0x1e, 0x10, 0x6d, 0xa, 0x6c, 0xe, 0x3, 0x7, 0x13, 0xc, 0x1f, 0x5, 0x17, 0x26, 0xf, 0x3c, 0x8f, 0xfd, 0x5d, 0xa3, 0x50, 0x90, 0x41, 0x1, 0x3, 0x3c, 0x3c, 0xfe, 0xfd, 0x41, 0x90, 0x50, 0xb, 0x84, 0x5b, 0x3e, 0x77, 0x64, 0x65, 0x76, 0x3e, 0x3, 0xa8, 0x4c, 0x1c, 0xb, 0x23, 0x24, 0x2d, 0x47, 0x30, 0x2c, 0x61, 0x26, 0x30, 0x24, 0xe, 0xf, 0x7, 0x34, 0x25, 0x11, 0x1d, 0x43, 0x61, 0x2c, 0x30, 0x47, 0x2d, 0x24, 0x23, 0xb, 0x1c, 0x4, 0x3, 0x16, 0x18, 0x1c, 0xe, 0xc, 0x3, 0x3b, 0xa7, 0x83, 0x73, 0x2e, 0x66, 0x3e, 0x76, 0x19, 0xa1, 0xa7, 0x3a, 0xc4, 0x15, 0x15, 0xc4, 0x3a, 0xa7, 0xa1, 0x1b, 0x72, 0x41, 0x65, 0x2e, 0xf, 0x24, 0x82, 0x41, 0x2b, 0x42, 0x2c, 0x45, 0x40, 0x79, 0x3e, 0x7a, 0x5, 0xe2, 0x77, 0x84, 0x84, 0x76, 0xe3, 0x5, 0x7a, 0x3e, 0x79, 0x39, 0x4c, 0x2c, 0x42, 0x3, 0x13, 0xd, 0x61, 0x89, 0x16, 0x9, 0x3a, 0x8c, 0x75, 0x18, 0x93, 0x41, 0x77, 0x6a, 0x39, 0x7, 0x1c, 0x7, 0x8a, 0x57, 0xf, 0x42, 0xe, 0x51, 0x57, 0x2e, 0x3e, 0x2e, 0x8, 0xfe, 0xfd, 0x8c, 0x9e, 0x9e, 0x8c, 0x1, 0x3, 0x8, 0x2e, 0x3e, 0x2e, 0x51, 0x57, 0xe, 0x42, 0xf, 0x60, 0x81, 0x2a, 0x39, 0x6a, 0x77, 0x41, 0x93, 0x18, 0x75, 0x8c, 0x3a, 0x9, 0x16, 0x89, 0x61, 0xfb, 0x3a, 0x3d, 0x4e, 0x77, 0x8d, 0x59, 0x2e, 0x2d, 0x59, 0x8d, 0x77, 0x4e, 0x3d, 0x1, 0xda, 0x2e, 0x78, 0x3d, 0x3d, 0x78, 0x0, 0x0, 0x0, 0xb, 0x0, 0x3d, 0xff, 0x6a, 0x8, 0x1d, 0x7, 0x14, 0x0, 0xe, 0x0, 0x18, 0x0, 0x27, 0x0, 0x34, 0x0, 0x65, 0x0, 0x9e, 0x0, 0xa6, 0x0, 0xaf, 0x0, 0xb8, 0x0, 0xbc, 0x0, 0xc0, 0x0, 0x0, 0x1, 0x6, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x16, 0x7, 0x22, 0x6, 0x15, 0x14, 0x17, 0x3e, 0x1, 0x37, 0x26, 0x5, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x22, 0x27, 0x26, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x6, 0x5, 0x36, 0x35, 0x34, 0x2e, 0x2, 0x27, 0x26, 0x27, 0x6, 0x7, 0x26, 0x23, 0x22, 0x7, 0x26, 0x27, 0x6, 0x7, 0xe, 0x3, 0x15, 0x14, 0x17, 0x25, 0x17, 0x5, 0x16, 0x17, 0x25, 0x17, 0x5, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x37, 0x25, 0x37, 0x5, 0x36, 0x37, 0x25, 0x37, 0x5, 0x26, 0x35, 0x34, 0x3e, 0x3, 0x37, 0x36, 0x3f, 0x1, 0x17, 0x1e, 0x1, 0x17, 0x36, 0x32, 0x17, 0x3e, 0x1, 0x3f, 0x1, 0x17, 0x16, 0x17, 0x1e, 0x4, 0x15, 0x14, 0x7, 0x17, 0x7, 0x27, 0x6, 0x7, 0x17, 0x7, 0x27, 0x2, 0x7, 0x6, 0x21, 0x20, 0x27, 0x26, 0x3, 0x7, 0x27, 0x37, 0x26, 0x27, 0x7, 0x27, 0x1, 0x36, 0x32, 0x17, 0x7, 0x26, 0x22, 0x7, 0x25, 0x36, 0x20, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x0, 0x32, 0x37, 0x17, 0x6, 0x23, 0x22, 0x27, 0x37, 0x1, 0x17, 0x5, 0x27, 0x25, 0x5, 0x7, 0x25, 0x3, 0x6c, 0x2b, 0x51, 0x20, 0x28, 0x46, 0x36, 0x15, 0x35, 0x2f, 0x41, 0x46, 0x65, 0x4e, 0x24, 0x30, 0x5, 0x2b, 0x45, 0x12, 0x16, 0x1, 0xb8, 0x5, 0x64, 0x46, 0x42, 0x2f, 0x35, 0x15, 0x36, 0x46, 0x28, 0x20, 0x51, 0x79, 0xc, 0x1a, 0x30, 0x28, 0x10, 0x4, 0xc, 0xd, 0x2c, 0x40, 0x1, 0x93, 0x12, 0xa, 0xa, 0x16, 0x4, 0x1b, 0x2a, 0xf3, 0x99, 0x74, 0x9b, 0x9d, 0x74, 0x99, 0xf3, 0x2a, 0x1b, 0x5, 0x15, 0xb, 0xa, 0x12, 0x1, 0x42, 0xa, 0xfe, 0xbf, 0xe, 0x17, 0x1, 0x1e, 0x1a, 0xfe, 0xe1, 0x67, 0xa4, 0xb5, 0x1, 0xea, 0xb5, 0xa4, 0x67, 0xfe, 0xe1, 0x1a, 0x1, 0x1e, 0x15, 0xf, 0xfe, 0xc0, 0xa, 0xfa, 0xc0, 0x11, 0x7, 0x13, 0xc, 0x1f, 0x5, 0x17, 0x26, 0xf, 0x3c, 0x8f, 0xfd, 0x5d, 0x69, 0xe2, 0x69, 0x5d, 0xfd, 0x8f, 0x3b, 0x10, 0x26, 0x17, 0x5, 0x1f, 0xc, 0x13, 0x7, 0x11, 0x6c, 0xa, 0x6d, 0xf, 0x20, 0x6e, 0x1a, 0x6d, 0x75, 0xc3, 0xd9, 0xfe, 0xe0, 0xfe, 0xdf, 0xd9, 0xc1, 0x76, 0x6d, 0x1a, 0x6d, 0x1e, 0x10, 0x6d, 0xa, 0x3, 0x47, 0x46, 0xc4, 0x46, 0x60, 0x1e, 0x54, 0x1e, 0xfe, 0x90, 0xb5, 0x2, 0x6, 0xb5, 0x60, 0x8e, 0xca, 0xc8, 0x90, 0x1, 0x17, 0x84, 0x5b, 0x3e, 0x77, 0x64, 0x65, 0x76, 0x3e, 0x1, 0xf6, 0x4d, 0xfe, 0xd1, 0x4d, 0xfe, 0x7b, 0x1, 0x2f, 0x4d, 0xfe, 0xd1, 0x3, 0xa8, 0x4c, 0x1c, 0xb, 0x23, 0x24, 0x2d, 0x47, 0x30, 0x2c, 0x61, 0x26, 0x30, 0x24, 0xe, 0xf, 0x7, 0x34, 0x25, 0x11, 0x1d, 0x43, 0x61, 0x2c, 0x30, 0x47, 0x2d, 0x24, 0x23, 0xb, 0x1c, 0x4, 0x3, 0x16, 0x18, 0x1c, 0xe, 0xc, 0x3, 0x3b, 0xa7, 0x82, 0x74, 0x2e, 0x66, 0x3e, 0x76, 0x19, 0xa1, 0xa7, 0x3a, 0xc4, 0x15, 0x15, 0xc4, 0x3a, 0xa7, 0xa1, 0x1b, 0x72, 0x41, 0x65, 0x2e, 0x74, 0x82, 0x2b, 0x42, 0x2c, 0x45, 0x40, 0x79, 0x3e, 0x7a, 0xe7, 0x77, 0x84, 0x84, 0x77, 0xe7, 0x7a, 0x3e, 0x79, 0x39, 0x4c, 0x2c, 0x42, 0x3d, 0x7c, 0x8f, 0x39, 0x6a, 0x77, 0x41, 0x93, 0x18, 0x75, 0x8c, 0x3a, 0x9, 0x16, 0x89, 0x61, 0xd, 0xd, 0x61, 0x89, 0x16, 0x9, 0x3a, 0x8c, 0x75, 0x18, 0x93, 0x41, 0x77, 0x6a, 0x39, 0x8f, 0x7c, 0xf, 0x42, 0xe, 0x51, 0x57, 0x2e, 0x3e, 0x2e, 0xfe, 0xf7, 0x8e, 0x9e, 0x9e, 0x8c, 0x1, 0xb, 0x2e, 0x3e, 0x2e, 0x51, 0x57, 0xe, 0x42, 0xfe, 0x13, 0x63, 0x63, 0x5f, 0x3c, 0x3c, 0xf5, 0xb5, 0xb5, 0x60, 0x8e, 0x8e, 0x1, 0xfa, 0x2e, 0x78, 0x3d, 0x3d, 0x78, 0x2, 0x3d, 0x6e, 0xd5, 0x6f, 0xd4, 0xd4, 0x6f, 0xd5, 0x0, 0x0, 0x5, 0x0, 0x3d, 0xff, 0x6a, 0x8, 0x1d, 0x7, 0x14, 0x0, 0x20, 0x0, 0x2c, 0x0, 0x34, 0x0, 0x64, 0x0, 0x8e, 0x0, 0x0, 0x1, 0x14, 0x6, 0x7, 0x17, 0x16, 0x14, 0x6, 0x22, 0x26, 0x35, 0x34, 0x35, 0x6, 0x22, 0x27, 0x37, 0x16, 0x32, 0x37, 0x17, 0x36, 0x3f, 0x1, 0x2e, 0x1, 0x35, 0x33, 0x14, 0x16, 0x32, 0x36, 0x35, 0x21, 0x14, 0x6, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x32, 0x36, 0x35, 0x3, 0x36, 0x20, 0x17, 0x7, 0x26, 0x20, 0x7, 0x1, 0x26, 0x10, 0x36, 0x3f, 0x1, 0x36, 0x3f, 0x1, 0x17, 0x1e, 0x1, 0x17, 0x36, 0x32, 0x17, 0x3e, 0x1, 0x3f, 0x1, 0x17, 0x16, 0x1f, 0x1, 0x1e, 0x1, 0x14, 0x7, 0x17, 0x7, 0x27, 0x6, 0x7, 0x17, 0x7, 0x27, 0x2, 0x0, 0x20, 0x0, 0x3, 0x7, 0x27, 0x37, 0x26, 0x27, 0x7, 0x27, 0x5, 0x12, 0x21, 0x32, 0x24, 0x37, 0x25, 0x37, 0x5, 0x36, 0x37, 0x25, 0x37, 0x5, 0x36, 0x35, 0x34, 0x2f, 0x1, 0x26, 0x27, 0x6, 0x7, 0x26, 0x20, 0x7, 0x26, 0x27, 0x6, 0xf, 0x1, 0x6, 0x15, 0x14, 0x17, 0x25, 0x17, 0x5, 0x16, 0x17, 0x25, 0x17, 0x6, 0x42, 0x80, 0x4d, 0x20, 0x1b, 0x36, 0x4c, 0x36, 0x6e, 0xc2, 0x76, 0x3e, 0x5b, 0x84, 0x5b, 0x33, 0x7, 0xf, 0x20, 0x4d, 0x80, 0x87, 0x3d, 0x54, 0x3d, 0xfe, 0x37, 0x8c, 0xc4, 0x8c, 0x87, 0x3d, 0x54, 0x3d, 0xf7, 0xb5, 0x2, 0x6, 0xb5, 0x60, 0x8e, 0xfe, 0x6e, 0x90, 0xfd, 0xd5, 0x11, 0x20, 0x16, 0x14, 0x17, 0x26, 0xf, 0x3c, 0x8f, 0xfd, 0x5d, 0x69, 0xe2, 0x69, 0x5d, 0xfd, 0x8f, 0x3b, 0x10, 0x26, 0x17, 0x14, 0x2b, 0xb, 0x11, 0x6c, 0xa, 0x6d, 0xf, 0x20, 0x6e, 0x1a, 0x6d, 0x75, 0xfe, 0x64, 0xfd, 0xbf, 0xfe, 0x66, 0x76, 0x6d, 0x1a, 0x6d, 0x1e, 0x10, 0x6d, 0xa, 0x1, 0x3b, 0xd7, 0x1, 0xde, 0xf5, 0x1, 0x59, 0x67, 0xfe, 0xe1, 0x1a, 0x1, 0x1e, 0x15, 0xf, 0xfe, 0xc0, 0xa, 0x1, 0x41, 0x12, 0x1a, 0x1e, 0x10, 0x2b, 0xf3, 0x99, 0x74, 0xfe, 0xc8, 0x74, 0x99, 0xf3, 0x2a, 0x1b, 0x10, 0x20, 0x13, 0x1, 0x42, 0xa, 0xfe, 0xbf, 0xe, 0x17, 0x1, 0x1e, 0x1a, 0x4, 0x88, 0x8b, 0xb4, 0xe, 0x3f, 0x35, 0x4f, 0x36, 0x36, 0x2c, 0x3, 0x3, 0x35, 0x3d, 0x78, 0x2e, 0x2e, 0x63, 0x18, 0x1d, 0x3f, 0xe, 0xb4, 0x8b, 0x53, 0x77, 0x77, 0x53, 0x8b, 0xc5, 0xc5, 0x8b, 0x53, 0x77, 0x77, 0x53, 0xfc, 0xda, 0xb5, 0xb5, 0x60, 0x8e, 0x8e, 0x1, 0xc6, 0x7c, 0x1, 0x6, 0xc4, 0x6a, 0x61, 0x75, 0x8c, 0x3a, 0x9, 0x16, 0x89, 0x61, 0xd, 0xd, 0x61, 0x89, 0x16, 0x9, 0x3a, 0x8c, 0x75, 0x61, 0xcc, 0xa0, 0xc8, 0x7c, 0xf, 0x42, 0xe, 0x51, 0x57, 0x2e, 0x3e, 0x2e, 0xfe, 0xf7, 0xfe, 0xd4, 0x1, 0x2a, 0x1, 0xb, 0x2e, 0x3e, 0x2e, 0x51, 0x57, 0xe, 0x42, 0xe6, 0xfe, 0x1e, 0xfb, 0xe7, 0x7a, 0x3e, 0x79, 0x39, 0x4c, 0x2c, 0x42, 0x2b, 0x82, 0x51, 0x88, 0x8d, 0xae, 0x62, 0xa7, 0x3a, 0xc4, 0x15, 0x15, 0xc4, 0x3a, 0xa7, 0xa1, 0x54, 0xa8, 0x6e, 0x6b, 0x82, 0x2b, 0x42, 0x2c, 0x45, 0x40, 0x79, 0x3e, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0x3d, 0xff, 0x6a, 0x8, 0x1d, 0x7, 0x14, 0x0, 0x34, 0x0, 0x73, 0x0, 0x7b, 0x0, 0x83, 0x0, 0x87, 0x0, 0x8b, 0x0, 0x0, 0x1, 0x36, 0x35, 0x34, 0x2e, 0x2, 0x27, 0x26, 0x27, 0x6, 0x7, 0x26, 0x23, 0x22, 0x7, 0x26, 0x27, 0x6, 0x7, 0xe, 0x3, 0x15, 0x14, 0x17, 0x16, 0x17, 0x25, 0x17, 0x5, 0x16, 0x17, 0x25, 0x17, 0x5, 0x17, 0x16, 0x17, 0x16, 0x20, 0x37, 0x36, 0x3f, 0x1, 0x25, 0x37, 0x5, 0x36, 0x37, 0x25, 0x37, 0x0, 0x32, 0x17, 0x3e, 0x1, 0x3f, 0x1, 0x17, 0x16, 0x17, 0x1e, 0x4, 0x15, 0x14, 0x6, 0x15, 0x6, 0x7, 0x17, 0x7, 0x27, 0x6, 0x7, 0x17, 0x7, 0x27, 0x7, 0x2, 0x7, 0x6, 0x21, 0x20, 0x27, 0x26, 0x3, 0x27, 0x7, 0x27, 0x37, 0x26, 0x27, 0x7, 0x27, 0x37, 0x26, 0x27, 0x35, 0x34, 0x3e, 0x3, 0x37, 0x36, 0x3f, 0x1, 0x17, 0x1e, 0x1, 0x17, 0x3, 0x21, 0x26, 0x27, 0x26, 0x20, 0x7, 0x6, 0x5, 0x21, 0x34, 0x37, 0x36, 0x33, 0x32, 0x0, 0x3, 0x1, 0x37, 0x1, 0x5, 0x27, 0x1, 0x17, 0x7, 0x2a, 0x12, 0xa, 0xa, 0x16, 0x4, 0x1b, 0x2a, 0xf3, 0x99, 0x74, 0x9b, 0x9d, 0x74, 0x99, 0xf3, 0x2a, 0x1b, 0x5, 0x15, 0xb, 0xa, 0x2, 0x7, 0x9, 0x1, 0x42, 0xa, 0xfe, 0xbf, 0xe, 0x17, 0x1, 0x1e, 0x1a, 0xfe, 0xe1, 0x2, 0x66, 0xa3, 0xb5, 0x1, 0xea, 0xb5, 0xa1, 0x67, 0x3, 0xfe, 0xe1, 0x1a, 0x1, 0x1e, 0x15, 0xf, 0xfe, 0xc0, 0xa, 0xfd, 0xd3, 0xe2, 0x69, 0x5d, 0xfd, 0x8f, 0x3b, 0x10, 0x26, 0x17, 0x5, 0x1f, 0xc, 0x13, 0x7, 0x1, 0x3, 0xd, 0x6c, 0xa, 0x6d, 0xf, 0x20, 0x6e, 0x1a, 0x6d, 0x4, 0x74, 0xc0, 0xd9, 0xfe, 0xe0, 0xfe, 0xdf, 0xd9, 0xc0, 0x74, 0x3, 0x6d, 0x1a, 0x6d, 0x1e, 0x10, 0x6d, 0xa, 0x6c, 0xe, 0x3, 0x7, 0x13, 0xc, 0x1f, 0x5, 0x17, 0x26, 0xf, 0x3c, 0x8f, 0xfd, 0x5d, 0x86, 0x2, 0xbd, 0x18, 0x45, 0x6b, 0xfe, 0xd2, 0x6a, 0x45, 0x3, 0x3f, 0xfc, 0xf, 0x93, 0x93, 0xd2, 0xd1, 0x1, 0x28, 0x95, 0xfe, 0xf2, 0x5f, 0x1, 0xe, 0xfc, 0xdb, 0x5f, 0x1, 0xe, 0x5f, 0x2, 0xda, 0x83, 0x73, 0x2e, 0x66, 0x3e, 0x76, 0x19, 0xa1, 0xa7, 0x3a, 0xc4, 0x15, 0x15, 0xc4, 0x3a, 0xa7, 0xa1, 0x1b, 0x72, 0x41, 0x65, 0x2e, 0xf, 0x24, 0x82, 0x41, 0x2b, 0x42, 0x2c, 0x45, 0x40, 0x79, 0x3e, 0x7a, 0x5, 0xe2, 0x77, 0x84, 0x84, 0x76, 0xe3, 0x5, 0x7a, 0x3e, 0x79, 0x39, 0x4c, 0x2c, 0x42, 0x3, 0x13, 0xd, 0x61, 0x89, 0x16, 0x9, 0x3a, 0x8c, 0x75, 0x18, 0x93, 0x41, 0x77, 0x6a, 0x39, 0x7, 0x1c, 0x7, 0x8a, 0x57, 0xf, 0x42, 0xe, 0x51, 0x57, 0x2e, 0x3e, 0x2e, 0x8, 0xfe, 0xfd, 0x8c, 0x9e, 0x9e, 0x8c, 0x1, 0x3, 0x8, 0x2e, 0x3e, 0x2e, 0x51, 0x57, 0xe, 0x42, 0xf, 0x60, 0x81, 0x2a, 0x39, 0x6a, 0x77, 0x41, 0x93, 0x18, 0x75, 0x8c, 0x3a, 0x9, 0x16, 0x89, 0x61, 0xfb, 0x47, 0x61, 0x4b, 0x74, 0x75, 0x4b, 0xe7, 0xe7, 0xa4, 0xa3, 0xfe, 0xba, 0x1, 0x7e, 0x1, 0xe, 0x5f, 0xfe, 0xf2, 0x5f, 0x5f, 0x1, 0xe, 0x5f, 0x0, 0x0, 0x0, 0x1, 0xff, 0xb9, 0x4, 0x9a, 0x0, 0xc7, 0x6, 0x12, 0x0, 0x3, 0x0, 0xa, 0x40, 0x3, 0x0, 0x3, 0x4, 0x0, 0x10, 0xd4, 0xcc, 0x30, 0x11, 0x33, 0x3, 0x23, 0xc7, 0x75, 0x99, 0x6, 0x12, 0xfe, 0x88, 0x0, 0x0, 0x2, 0xfc, 0xd7, 0x5, 0xe, 0xff, 0x29, 0x5, 0xd9, 0x0, 0x3, 0x0, 0x7, 0x0, 0xa5, 0x40, 0xd, 0x4, 0x0, 0xce, 0x6, 0x2, 0x8, 0x1, 0x64, 0x0, 0x5, 0x64, 0x4, 0x8, 0x10, 0xd4, 0xfc, 0xdc, 0xec, 0x31, 0x0, 0x10, 0xd4, 0x3c, 0xec, 0x32, 0x30, 0x0, 0x4b, 0xb0, 0xe, 0x54, 0x4b, 0xb0, 0x11, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x8, 0x0, 0x40, 0x0, 0x1, 0x0, 0x8, 0x0, 0x8, 0xff, 0xc0, 0x38, 0x11, 0x37, 0x38, 0x59, 0x1, 0x4b, 0xb0, 0xe, 0x54, 0x4b, 0xb0, 0xd, 0x54, 0x5b, 0x4b, 0xb0, 0x17, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x8, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x8, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x1, 0x4b, 0xb0, 0x11, 0x54, 0x4b, 0xb0, 0x19, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x8, 0x0, 0x40, 0x0, 0x1, 0x0, 0x8, 0x0, 0x8, 0xff, 0xc0, 0x38, 0x11, 0x37, 0x38, 0x59, 0x0, 0x4b, 0xb0, 0x18, 0x54, 0x58, 0xbd, 0x0, 0x8, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x8, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x40, 0x11, 0x60, 0x1, 0x60, 0x2, 0x60, 0x5, 0x60, 0x6, 0x70, 0x1, 0x70, 0x2, 0x70, 0x5, 0x70, 0x6, 0x8, 0x1, 0x5d, 0x1, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0xfe, 0x5e, 0xcb, 0xcb, 0xfe, 0x79, 0xcb, 0xcb, 0x5, 0xd9, 0xcb, 0xcb, 0xcb, 0x0, 0x0, 0x0, 0x1, 0xfd, 0x73, 0x4, 0xee, 0xfe, 0xf0, 0x5, 0xf6, 0x0, 0x3, 0x0, 0x7f, 0x40, 0x11, 0x2, 0x3, 0x0, 0x3, 0x1, 0x0, 0x0, 0x3, 0x42, 0x0, 0x2, 0xfa, 0x4, 0x1, 0x3, 0x3, 0x4, 0x10, 0xc4, 0x10, 0xc0, 0x31, 0x0, 0x10, 0xf4, 0xcc, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xc9, 0x7, 0x10, 0x5, 0xc9, 0x59, 0x22, 0x0, 0x4b, 0xb0, 0xc, 0x54, 0x58, 0xbd, 0x0, 0x4, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x4, 0x0, 0x4, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x0, 0x4b, 0xb0, 0xe, 0x54, 0x58, 0xbd, 0x0, 0x4, 0x0, 0x40, 0x0, 0x1, 0x0, 0x4, 0x0, 0x4, 0xff, 0xc0, 0x38, 0x11, 0x37, 0x38, 0x59, 0x40, 0x20, 0x6, 0x2, 0x15, 0x2, 0x25, 0x1, 0x25, 0x2, 0x36, 0x2, 0x46, 0x2, 0x56, 0x2, 0x6a, 0x1, 0x67, 0x2, 0x9, 0xf, 0x0, 0xf, 0x1, 0x1f, 0x0, 0x1f, 0x1, 0x2f, 0x0, 0x2f, 0x1, 0x6, 0x5d, 0x1, 0x5d, 0x1, 0x33, 0x3, 0x23, 0xfe, 0x37, 0xb9, 0xe4, 0x99, 0x5, 0xf6, 0xfe, 0xf8, 0x0, 0x0, 0x0, 0x1, 0xfc, 0xb6, 0x5, 0xe, 0xff, 0x4a, 0x5, 0xe9, 0x0, 0x1d, 0x0, 0x75, 0x40, 0x21, 0x16, 0x10, 0xf, 0x3, 0x13, 0xc, 0x7, 0x1, 0x0, 0x3, 0x8, 0x17, 0xc, 0xc3, 0x4, 0x13, 0xc3, 0x1b, 0x8, 0xfa, 0x1e, 0x10, 0x1, 0xf, 0x0, 0x7, 0x16, 0x56, 0x18, 0x7, 0x56, 0x9, 0x1e, 0x10, 0xd4, 0xec, 0xd4, 0xec, 0x11, 0x39, 0x39, 0x39, 0x39, 0x31, 0x0, 0x10, 0xf4, 0x3c, 0xec, 0xd4, 0xec, 0x32, 0x12, 0x17, 0x39, 0x11, 0x12, 0x17, 0x39, 0x30, 0x0, 0x4b, 0xb0, 0xc, 0x54, 0x58, 0xbd, 0x0, 0x1e, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x0, 0x4b, 0xb0, 0xe, 0x54, 0x58, 0xbd, 0x0, 0x1e, 0x0, 0x40, 0x0, 0x1, 0x0, 0x1e, 0x0, 0x1e, 0xff, 0xc0, 0x38, 0x11, 0x37, 0x38, 0x59, 0xb4, 0x10, 0xb, 0x1f, 0x1a, 0x2, 0x5d, 0x1, 0x27, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x1f, 0x1, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x3d, 0x1, 0x33, 0xe, 0x1, 0x23, 0x22, 0x26, 0xfd, 0xfc, 0x39, 0x19, 0x1f, 0xc, 0x24, 0x28, 0x7d, 0x67, 0x56, 0x24, 0x3d, 0x30, 0x39, 0x17, 0x22, 0xf, 0x20, 0x28, 0x7d, 0x2, 0x67, 0x54, 0x22, 0x3b, 0x5, 0x39, 0x21, 0xe, 0xb, 0x32, 0x2d, 0x6, 0x65, 0x76, 0x10, 0x1b, 0x1e, 0xd, 0xc, 0x33, 0x29, 0x6, 0x64, 0x77, 0x10, 0x0, 0x1, 0xfd, 0xc, 0x4, 0xee, 0xfe, 0x8b, 0x5, 0xf6, 0x0, 0x3, 0x0, 0x89, 0x40, 0x11, 0x1, 0x2, 0x3, 0x2, 0x0, 0x3, 0x3, 0x2, 0x42, 0x0, 0x1, 0xfa, 0x4, 0x1, 0x3, 0x3, 0x4, 0x10, 0xc4, 0x10, 0xc0, 0x31, 0x0, 0x10, 0xf4, 0xcc, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x5, 0xc9, 0x7, 0x10, 0x5, 0xc9, 0x59, 0x22, 0x0, 0x4b, 0xb0, 0xc, 0x54, 0x58, 0xbd, 0x0, 0x4, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x4, 0x0, 0x4, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x0, 0x4b, 0xb0, 0xe, 0x54, 0x58, 0xbd, 0x0, 0x4, 0x0, 0x40, 0x0, 0x1, 0x0, 0x4, 0x0, 0x4, 0xff, 0xc0, 0x38, 0x11, 0x37, 0x38, 0x59, 0x40, 0x2a, 0x6, 0x0, 0x6, 0x1, 0x16, 0x0, 0x12, 0x1, 0x24, 0x0, 0x24, 0x1, 0x35, 0x1, 0x43, 0x1, 0x55, 0x0, 0x55, 0x1, 0x9f, 0x0, 0x9f, 0x1, 0xaf, 0x0, 0xaf, 0x1, 0xe, 0xf, 0x0, 0xf, 0x3, 0x1f, 0x0, 0x1f, 0x3, 0x2f, 0x0, 0x2f, 0x3, 0x6, 0x5d, 0x1, 0x5d, 0x1, 0x13, 0x23, 0x3, 0xfd, 0xc7, 0xc4, 0x99, 0xe6, 0x5, 0xf6, 0xfe, 0xf8, 0x1, 0x8, 0x0, 0x0, 0x0, 0x1, 0xfc, 0xcf, 0x4, 0xee, 0xff, 0x31, 0x5, 0xf8, 0x0, 0x6, 0x0, 0x77, 0x40, 0xa, 0x4, 0x0, 0x5, 0x2, 0xfa, 0x7, 0x4, 0x2, 0x6, 0x7, 0x10, 0xd4, 0xc4, 0x39, 0x31, 0x0, 0x10, 0xf4, 0x3c, 0xc4, 0x39, 0x30, 0x0, 0x4b, 0xb0, 0xc, 0x54, 0x58, 0xbd, 0x0, 0x7, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x7, 0x0, 0x7, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x0, 0x4b, 0xb0, 0xe, 0x54, 0x58, 0xbd, 0x0, 0x7, 0x0, 0x40, 0x0, 0x1, 0x0, 0x7, 0x0, 0x7, 0xff, 0xc0, 0x38, 0x11, 0x37, 0x38, 0x59, 0x1, 0x4b, 0xb0, 0xe, 0x54, 0x58, 0xbd, 0x0, 0x7, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x7, 0x0, 0x7, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x40, 0x13, 0xf, 0x0, 0xf, 0x1, 0xc, 0x4, 0x1f, 0x0, 0x1f, 0x1, 0x1d, 0x4, 0x2f, 0x0, 0x2f, 0x1, 0x2d, 0x4, 0x9, 0x0, 0x5d, 0x1, 0x33, 0x13, 0x23, 0x27, 0x7, 0x23, 0xfd, 0xa2, 0xbc, 0xd3, 0x8b, 0xa6, 0xa6, 0x8b, 0x5, 0xf8, 0xfe, 0xf6, 0xb2, 0xb2, 0x0, 0x0, 0x0, 0x1, 0xfc, 0xcf, 0x4, 0xee, 0xff, 0x31, 0x5, 0xf8, 0x0, 0x6, 0x0, 0x86, 0x40, 0xa, 0x3, 0x4, 0x1, 0x0, 0xfa, 0x7, 0x3, 0x5, 0x1, 0x7, 0x10, 0xd4, 0xc4, 0x39, 0x31, 0x0, 0x10, 0xf4, 0xc4, 0x32, 0x39, 0x30, 0x0, 0x4b, 0xb0, 0xc, 0x54, 0x4b, 0xb0, 0x9, 0x54, 0x5b, 0x4b, 0xb0, 0xa, 0x54, 0x5b, 0x4b, 0xb0, 0xb, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x7, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x7, 0x0, 0x7, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x0, 0x4b, 0xb0, 0xe, 0x54, 0x58, 0xbd, 0x0, 0x7, 0x0, 0x40, 0x0, 0x1, 0x0, 0x7, 0x0, 0x7, 0xff, 0xc0, 0x38, 0x11, 0x37, 0x38, 0x59, 0x1, 0x4b, 0xb0, 0xe, 0x54, 0x58, 0xbd, 0x0, 0x7, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x7, 0x0, 0x7, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x40, 0x13, 0x0, 0x0, 0x3, 0x3, 0x0, 0x6, 0x10, 0x0, 0x12, 0x3, 0x10, 0x6, 0x20, 0x0, 0x22, 0x3, 0x20, 0x6, 0x9, 0x0, 0x5d, 0x1, 0x3, 0x33, 0x17, 0x37, 0x33, 0x3, 0xfd, 0xa2, 0xd3, 0x8b, 0xa6, 0xa6, 0x8b, 0xd3, 0x4, 0xee, 0x1, 0xa, 0xb2, 0xb2, 0xfe, 0xf6, 0x0, 0x0, 0x1, 0xfc, 0xc7, 0x5, 0x6, 0xff, 0x39, 0x5, 0xf8, 0x0, 0xd, 0x0, 0x0, 0x3, 0x23, 0x2e, 0x1, 0x23, 0x22, 0x6, 0x7, 0x23, 0x3e, 0x1, 0x33, 0x32, 0x16, 0xc7, 0x76, 0xd, 0x63, 0x53, 0x52, 0x61, 0x10, 0x76, 0xa, 0xa0, 0x8f, 0x90, 0x9f, 0x5, 0x6, 0x36, 0x39, 0x37, 0x38, 0x77, 0x7b, 0x7a, 0x0, 0x0, 0x1, 0xfc, 0xc7, 0x5, 0x6, 0xff, 0x39, 0x5, 0xf8, 0x0, 0xd, 0x0, 0x6a, 0x40, 0xe, 0x7, 0x0, 0x4, 0xc3, 0xb, 0xfa, 0xe, 0x7, 0x56, 0x8, 0x1, 0x56, 0x0, 0xe, 0x10, 0xd4, 0xec, 0xd4, 0xec, 0x31, 0x0, 0x10, 0xf4, 0xfc, 0xcc, 0x32, 0x30, 0x0, 0x4b, 0xb0, 0xc, 0x54, 0x58, 0xbd, 0x0, 0xe, 0xff, 0xc0, 0x0, 0x1, 0x0, 0xe, 0x0, 0xe, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x0, 0x4b, 0xb0, 0xe, 0x54, 0x58, 0xbd, 0x0, 0xe, 0x0, 0x40, 0x0, 0x1, 0x0, 0xe, 0x0, 0xe, 0xff, 0xc0, 0x38, 0x11, 0x37, 0x38, 0x59, 0x1, 0x4b, 0xb0, 0xe, 0x54, 0x4b, 0xb0, 0xf, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0xe, 0xff, 0xc0, 0x0, 0x1, 0x0, 0xe, 0x0, 0xe, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x1, 0x33, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x37, 0x33, 0xe, 0x1, 0x23, 0x22, 0x26, 0xfc, 0xc7, 0x76, 0xd, 0x63, 0x53, 0x52, 0x61, 0x10, 0x76, 0xa, 0xa0, 0x8f, 0x90, 0x9f, 0x5, 0xf8, 0x36, 0x39, 0x37, 0x38, 0x77, 0x7b, 0x7a, 0x0, 0x0, 0x0, 0x1, 0xfd, 0x9a, 0x5, 0xe, 0xfe, 0x66, 0x5, 0xdb, 0x0, 0x3, 0x0, 0x47, 0xb7, 0x0, 0xce, 0x2, 0x4, 0x1, 0x64, 0x0, 0x4, 0x10, 0xd4, 0xec, 0x31, 0x0, 0x10, 0xd4, 0xec, 0x30, 0x0, 0x4b, 0xb0, 0xe, 0x54, 0x4b, 0xb0, 0x11, 0x54, 0x5b, 0x58, 0xbd, 0x0, 0x4, 0x0, 0x40, 0x0, 0x1, 0x0, 0x4, 0x0, 0x4, 0xff, 0xc0, 0x38, 0x11, 0x37, 0x38, 0x59, 0x0, 0x4b, 0xb0, 0x18, 0x54, 0x58, 0xbd, 0x0, 0x4, 0xff, 0xc0, 0x0, 0x1, 0x0, 0x4, 0x0, 0x4, 0x0, 0x40, 0x38, 0x11, 0x37, 0x38, 0x59, 0x1, 0x33, 0x15, 0x23, 0xfd, 0x9a, 0xcc, 0xcc, 0x5, 0xdb, 0xcd, 0x0, 0x2, 0xfc, 0xe6, 0x4, 0xee, 0xff, 0xb2, 0x5, 0xf6, 0x0, 0x3, 0x0, 0x7, 0x0, 0x13, 0x40, 0x7, 0x0, 0x4, 0x3, 0x7, 0x8, 0x0, 0x4, 0x10, 0xcc, 0x31, 0x0, 0x10, 0xd4, 0x3c, 0xcc, 0x32, 0x30, 0x1, 0x33, 0x3, 0x23, 0x3, 0x33, 0x3, 0x23, 0xfe, 0xf9, 0xb9, 0xe4, 0x99, 0x8b, 0xb9, 0xe4, 0x99, 0x5, 0xf6, 0xfe, 0xf8, 0x1, 0x8, 0xfe, 0xf8, 0x0, 0x2, 0xfc, 0x4e, 0x4, 0xee, 0xff, 0x1a, 0x5, 0xf6, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x13, 0x23, 0x3, 0x21, 0x13, 0x23, 0x3, 0xfd, 0x7, 0xc4, 0x99, 0xe4, 0x2, 0x8, 0xc4, 0x99, 0xe4, 0x5, 0xf6, 0xfe, 0xf8, 0x1, 0x8, 0xfe, 0xf8, 0x1, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x96, 0x0, 0x96, 0x0, 0x3, 0x0, 0x0, 0x35, 0x33, 0x15, 0x23, 0x96, 0x96, 0x96, 0x96, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x1, 0x90, 0x0, 0x96, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x37, 0x33, 0x15, 0x23, 0x27, 0x33, 0x15, 0x23, 0xfa, 0x96, 0x96, 0xfa, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x1, 0x90, 0x1, 0x90, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x0, 0x13, 0x33, 0x15, 0x23, 0x17, 0x33, 0x15, 0x23, 0x27, 0x33, 0x15, 0x23, 0x7d, 0x96, 0x96, 0x7d, 0x96, 0x96, 0xfa, 0x96, 0x96, 0x1, 0x90, 0x96, 0x64, 0x96, 0x96, 0x96, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0xff, 0x6, 0x1, 0x90, 0x0, 0x96, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0x0, 0x17, 0x33, 0x15, 0x23, 0x13, 0x33, 0x15, 0x23, 0x27, 0x33, 0x15, 0x23, 0x7d, 0x96, 0x96, 0x7d, 0x96, 0x96, 0xfa, 0x96, 0x96, 0x64, 0x96, 0x1, 0x90, 0x96, 0x96, 0x96, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0xff, 0x6, 0x0, 0x96, 0x0, 0x96, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x15, 0x33, 0x15, 0x23, 0x11, 0x33, 0x15, 0x23, 0x96, 0x96, 0x96, 0x96, 0x64, 0x96, 0x1, 0x90, 0x96, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0xff, 0x6, 0x1, 0x90, 0x0, 0x96, 0x0, 0x3, 0x0, 0x7, 0x0, 0xb, 0x0, 0xf, 0x0, 0x0, 0x17, 0x33, 0x15, 0x23, 0x11, 0x33, 0x15, 0x23, 0x7, 0x33, 0x15, 0x23, 0x11, 0x33, 0x15, 0x23, 0xfa, 0x96, 0x96, 0x96, 0x96, 0xfa, 0x96, 0x96, 0x96, 0x96, 0x64, 0x96, 0x1, 0x90, 0x96, 0x64, 0x96, 0x1, 0x90, 0x96, 0x0, 0x1, 0x0, 0x82, 0xff, 0xec, 0x7, 0xef, 0x2, 0x9d, 0x0, 0x26, 0x0, 0x0, 0x1, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x26, 0x27, 0x6, 0x7, 0x4, 0x23, 0x22, 0x27, 0x24, 0x3, 0x26, 0x37, 0x33, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x24, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x33, 0x16, 0x6, 0xef, 0x46, 0x3f, 0x3f, 0x3c, 0x66, 0x74, 0x47, 0x50, 0x18, 0x9b, 0xe9, 0xfe, 0xfd, 0xd3, 0xc4, 0x7c, 0xfe, 0xb7, 0x1, 0x1, 0x40, 0xb8, 0x41, 0xcb, 0x68, 0x97, 0x1, 0x4, 0xbe, 0xc7, 0x7b, 0x3b, 0x1d, 0xb8, 0x13, 0x1, 0xf8, 0xd0, 0x3b, 0x35, 0xb8, 0x49, 0x53, 0x42, 0x83, 0x35, 0x3a, 0x26, 0x65, 0x1, 0x8, 0x8a, 0x5c, 0x5e, 0x88, 0x7d, 0x43, 0x22, 0x2, 0x37, 0x3a, 0x6d, 0x34, 0x77, 0x3e, 0x37, 0x4b, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x1, 0x87, 0x2, 0x58, 0x10, 0x6, 0x14, 0x3b, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x2, 0x7e, 0x2, 0x58, 0x10, 0x6, 0x14, 0x3c, 0x0, 0x0, 0x0, 0x2, 0x0, 0x82, 0xff, 0xa5, 0x8, 0x5c, 0x3, 0x11, 0x0, 0x2c, 0x0, 0x3e, 0x0, 0x0, 0x25, 0x6, 0x7, 0x4, 0x21, 0x24, 0x27, 0x24, 0x3, 0x26, 0x37, 0x33, 0x6, 0x15, 0x14, 0x17, 0x16, 0x21, 0x32, 0x25, 0x37, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x16, 0x33, 0x21, 0x15, 0x21, 0x22, 0x27, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x6, 0x78, 0x68, 0x6e, 0xfe, 0xe8, 0xfe, 0xf0, 0xfe, 0xcf, 0x7d, 0xfe, 0xb7, 0x1, 0x1, 0x40, 0xb8, 0x41, 0xcb, 0x51, 0x1, 0x2b, 0xe8, 0x1, 0x1d, 0x1c, 0x22, 0x1d, 0x52, 0x4, 0x16, 0xbc, 0x3a, 0x34, 0x52, 0x51, 0x89, 0x12, 0x4, 0x50, 0x9, 0x7, 0x1, 0x7, 0xfe, 0xf4, 0x69, 0x6f, 0x68, 0x5, 0xe, 0x34, 0x22, 0x28, 0x18, 0x16, 0x3d, 0x13, 0x6, 0x29, 0x31, 0x24, 0x2b, 0x18, 0x3c, 0x1, 0x27, 0x67, 0x1, 0x6, 0x8a, 0x5c, 0x5e, 0x88, 0x73, 0x4d, 0x1f, 0x36, 0x4, 0x1b, 0x2c, 0x7c, 0x79, 0x1f, 0x24, 0x9b, 0x4b, 0x17, 0x32, 0x53, 0x96, 0x25, 0x1e, 0x90, 0x6a, 0x1, 0xb8, 0xdf, 0x41, 0x7a, 0x14, 0x1b, 0x47, 0x27, 0x19, 0xa, 0x19, 0x3c, 0x13, 0x12, 0x38, 0x42, 0x4e, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x3, 0x3f, 0x3, 0xd9, 0x0, 0xf, 0x0, 0x30, 0x0, 0x0, 0x1, 0x36, 0x35, 0x34, 0x27, 0x26, 0x7, 0x6, 0x7, 0x6, 0x7, 0x14, 0x17, 0x16, 0x33, 0x32, 0x1, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x37, 0x6, 0x7, 0x6, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x6, 0x23, 0x21, 0x2, 0x56, 0x29, 0x42, 0x1f, 0x2c, 0x34, 0x28, 0x28, 0x1, 0x37, 0x28, 0x2a, 0x48, 0xfd, 0xae, 0xf1, 0x54, 0x97, 0x4f, 0x3c, 0x1f, 0xf, 0x3f, 0x61, 0x82, 0x4e, 0x62, 0x8, 0x17, 0x96, 0x4e, 0x4c, 0x5a, 0x42, 0x60, 0x2e, 0x17, 0x4e, 0x4a, 0x7c, 0x6d, 0x91, 0xfe, 0xbf, 0x2, 0x19, 0x2b, 0x4d, 0x3b, 0x33, 0x19, 0x1, 0x1, 0x2a, 0x29, 0x33, 0x50, 0x26, 0x19, 0xfe, 0xb7, 0x17, 0xc, 0x5d, 0x30, 0x32, 0x37, 0x2, 0x2, 0x45, 0x57, 0x81, 0x34, 0x2c, 0x94, 0x45, 0x24, 0x32, 0x48, 0x66, 0x33, 0x8c, 0xd0, 0x8f, 0x88, 0x2c, 0x27, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x4, 0x20, 0x3, 0x8, 0x0, 0x21, 0x0, 0x35, 0x0, 0x0, 0x1, 0x16, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x7, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x7, 0x22, 0x7, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x2, 0x66, 0xb7, 0x18, 0x8, 0x15, 0x1d, 0x24, 0x27, 0x93, 0x7f, 0xd9, 0x88, 0xb9, 0xb9, 0x88, 0xd9, 0x7f, 0x93, 0x27, 0x1d, 0x24, 0x15, 0x8, 0x17, 0xb9, 0x1e, 0x41, 0x3f, 0x3f, 0xf, 0x12, 0x38, 0x18, 0xa, 0x18, 0x1f, 0x44, 0x3f, 0x24, 0x19, 0xb, 0x17, 0x39, 0x13, 0x2, 0xfa, 0x50, 0x96, 0x32, 0x2a, 0x49, 0x31, 0x43, 0x32, 0x11, 0xb8, 0x39, 0x39, 0xb8, 0x11, 0x28, 0x4d, 0x2e, 0x4c, 0x2c, 0x30, 0x8f, 0x57, 0xe, 0xb8, 0xa, 0x20, 0x35, 0x15, 0x1d, 0x2b, 0x35, 0x44, 0x16, 0x15, 0x45, 0x32, 0x2e, 0x18, 0x1a, 0x34, 0x21, 0xa, 0x0, 0x0, 0x2, 0x0, 0x6b, 0xfe, 0xc, 0x6, 0xc0, 0x2, 0xe4, 0x0, 0x2e, 0x0, 0x40, 0x0, 0x0, 0x25, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x21, 0x15, 0x21, 0x23, 0x6, 0x7, 0x6, 0x7, 0x6, 0x27, 0x24, 0x27, 0x26, 0x35, 0x34, 0x37, 0x33, 0x6, 0x15, 0x14, 0x17, 0x16, 0x21, 0x32, 0x37, 0x36, 0x13, 0x36, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x6, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x4, 0xb8, 0x42, 0x2e, 0x79, 0x39, 0x93, 0x6, 0x28, 0x93, 0x29, 0x57, 0x70, 0x38, 0x63, 0x32, 0x14, 0x6, 0x1a, 0x4, 0x1, 0x7, 0xfe, 0xf4, 0x30, 0x2d, 0x3d, 0x80, 0x9e, 0xaf, 0xcd, 0xfe, 0x8e, 0x5e, 0x45, 0x3e, 0xb8, 0x3e, 0x1b, 0x3c, 0x1, 0x6, 0x8c, 0x96, 0xd5, 0x6c, 0x4, 0x16, 0x13, 0x2f, 0x22, 0x27, 0x22, 0x15, 0x33, 0x15, 0xa, 0x39, 0x4c, 0x64, 0x2f, 0xa, 0x5, 0xd, 0x23, 0x2b, 0x6d, 0xb9, 0x3d, 0x1a, 0xa5, 0x45, 0x13, 0x32, 0x58, 0x91, 0x3a, 0xd6, 0x1, 0xb8, 0x7a, 0x46, 0x91, 0x4e, 0x56, 0x1, 0x2, 0xbe, 0x8a, 0x7d, 0xa6, 0x60, 0x6b, 0x9b, 0x4c, 0x3a, 0x82, 0x44, 0x62, 0x1, 0x5a, 0x7a, 0x57, 0x4b, 0x23, 0x19, 0xa, 0x1b, 0x3a, 0x1e, 0x19, 0x3c, 0x2c, 0x3b, 0x14, 0x9, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x3, 0x3f, 0x3, 0xd9, 0x10, 0x6, 0x16, 0xce, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x4, 0x20, 0x3, 0x8, 0x10, 0x6, 0x16, 0xcf, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x1, 0x87, 0x3, 0xe8, 0x10, 0x26, 0x16, 0xcb, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x0, 0xe0, 0x3, 0x52, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x2, 0x7e, 0x3, 0xe8, 0x10, 0x26, 0x16, 0xcc, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x0, 0xe0, 0x3, 0x52, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x1, 0xb6, 0x1, 0xb7, 0x0, 0xb, 0x0, 0x17, 0x0, 0x0, 0x25, 0x34, 0x27, 0x26, 0x22, 0x6, 0x15, 0x14, 0x17, 0x16, 0x32, 0x3e, 0x1, 0x14, 0x7, 0x6, 0x22, 0x27, 0x26, 0x34, 0x37, 0x36, 0x32, 0x17, 0x1, 0x3c, 0x1c, 0x1c, 0x52, 0x38, 0x1c, 0x1c, 0x52, 0x38, 0x7a, 0x3f, 0x40, 0xb8, 0x3f, 0x40, 0x40, 0x3f, 0xb8, 0x40, 0xdc, 0x28, 0x1c, 0x1d, 0x38, 0x29, 0x2a, 0x1c, 0x1b, 0x38, 0x85, 0xb8, 0x40, 0x40, 0x40, 0x40, 0xb8, 0x40, 0x3f, 0x3f, 0xff, 0xff, 0x0, 0x82, 0xfe, 0x90, 0x7, 0xef, 0x3, 0x20, 0x10, 0x27, 0x16, 0xc5, 0x2, 0xbc, 0x2, 0x8a, 0x10, 0x27, 0x16, 0xd5, 0x2, 0xa9, 0xfe, 0x90, 0x10, 0x6, 0x16, 0xca, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xf4, 0x2, 0x6, 0x3, 0xe8, 0x10, 0x26, 0x16, 0xcb, 0x0, 0x0, 0x10, 0x27, 0x16, 0xc5, 0x0, 0x63, 0x3, 0x52, 0x10, 0x7, 0x16, 0xd5, 0x0, 0x50, 0xfe, 0xf4, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xf4, 0x2, 0x7e, 0x3, 0xe8, 0x10, 0x26, 0x16, 0xcc, 0x0, 0x0, 0x10, 0x27, 0x16, 0xc5, 0x0, 0x63, 0x3, 0x52, 0x10, 0x7, 0x16, 0xd5, 0x0, 0x50, 0xfe, 0xf4, 0xff, 0xff, 0x0, 0x82, 0xff, 0xec, 0x7, 0xef, 0x3, 0xb6, 0x10, 0x27, 0x16, 0xc7, 0x2, 0xbc, 0x3, 0x20, 0x10, 0x6, 0x16, 0xca, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x1, 0xf3, 0x4, 0xe2, 0x10, 0x26, 0x16, 0xcb, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc7, 0x0, 0x63, 0x4, 0x4c, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x2, 0x7e, 0x4, 0xe2, 0x10, 0x26, 0x16, 0xcc, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc7, 0x0, 0x63, 0x4, 0x4c, 0xff, 0xff, 0x0, 0x9d, 0xfe, 0xc, 0x5, 0x3e, 0x5, 0xaf, 0x10, 0x26, 0x14, 0x86, 0x0, 0x0, 0x10, 0x7, 0x5, 0x7c, 0x0, 0x8a, 0xff, 0x38, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x4, 0x5c, 0x5, 0x4b, 0x10, 0x26, 0x14, 0x87, 0x0, 0x0, 0x10, 0x7, 0x5, 0x7c, 0x0, 0x58, 0xfe, 0xd4, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x5, 0x3e, 0x5, 0x4b, 0x10, 0x26, 0x14, 0x88, 0x0, 0x0, 0x10, 0x7, 0x5, 0x7c, 0x0, 0x58, 0xfe, 0xd4, 0xff, 0xff, 0x0, 0x9d, 0xfe, 0xc, 0x5, 0x3e, 0x5, 0xaa, 0x10, 0x26, 0x14, 0x86, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc8, 0x2, 0x3f, 0x5, 0x14, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x4, 0x5c, 0x5, 0x46, 0x10, 0x26, 0x14, 0x87, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc8, 0x2, 0xd, 0x4, 0xb0, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x5, 0x3e, 0x5, 0x46, 0x10, 0x26, 0x14, 0x88, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc8, 0x2, 0xd, 0x4, 0xb0, 0xff, 0xff, 0x0, 0x9d, 0xfe, 0xc, 0x5, 0x3e, 0x5, 0xaa, 0x10, 0x26, 0x14, 0x86, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x1, 0xc2, 0x4, 0x1a, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x4, 0x5c, 0x5, 0x46, 0x10, 0x26, 0x14, 0x87, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x1, 0x90, 0x3, 0xb6, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x5, 0x3e, 0x5, 0x46, 0x10, 0x26, 0x14, 0x88, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x1, 0x90, 0x3, 0xb6, 0xff, 0xff, 0x0, 0x9d, 0xfe, 0xc, 0x5, 0x3e, 0x4, 0xb0, 0x10, 0x26, 0x14, 0x86, 0x0, 0x0, 0x10, 0x27, 0x16, 0xc4, 0x2, 0x3f, 0x4, 0x1a, 0x10, 0x7, 0x16, 0xc7, 0x1, 0xe7, 0x0, 0x19, 0xff, 0xff, 0xff, 0xec, 0xfe, 0x3e, 0x4, 0x5c, 0x4, 0x4c, 0x10, 0x26, 0x14, 0x87, 0x0, 0x0, 0x10, 0x27, 0x16, 0xc7, 0x1, 0x90, 0xff, 0x38, 0x10, 0x7, 0x16, 0xc4, 0x2, 0xd, 0x3, 0xb6, 0xff, 0xff, 0xff, 0xec, 0xfe, 0x3e, 0x5, 0x3e, 0x4, 0x4c, 0x10, 0x26, 0x14, 0x88, 0x0, 0x0, 0x10, 0x27, 0x16, 0xc7, 0x1, 0x9c, 0xff, 0x38, 0x10, 0x7, 0x16, 0xc4, 0x2, 0xd, 0x3, 0xb6, 0x0, 0x1, 0x0, 0x0, 0x5, 0x33, 0x3, 0x5f, 0x7, 0x2b, 0x0, 0x3, 0x0, 0x0, 0x9, 0x1, 0x35, 0x1, 0x3, 0x5f, 0xfc, 0xa1, 0x3, 0x5f, 0x6, 0x95, 0xfe, 0x9e, 0x96, 0x1, 0x62, 0x0, 0x0, 0x1, 0x0, 0xd5, 0xfe, 0x56, 0x5, 0x27, 0x5, 0xd5, 0x0, 0x13, 0x0, 0x4a, 0x40, 0x21, 0x11, 0x11, 0x1, 0x2, 0x1, 0x2, 0x11, 0x10, 0x11, 0x10, 0x42, 0xb, 0x95, 0xa, 0x11, 0x2, 0x3, 0x0, 0xaf, 0x10, 0x13, 0xb, 0x10, 0x1, 0x11, 0x2, 0x1c, 0x4, 0x36, 0x11, 0x1c, 0x0, 0x14, 0x10, 0xdc, 0xec, 0xfc, 0xec, 0x11, 0x39, 0x39, 0xcc, 0x31, 0x0, 0x2f, 0x3c, 0xec, 0x32, 0x39, 0x39, 0xdc, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x7, 0x10, 0x4, 0xed, 0x7, 0x10, 0x4, 0xed, 0x59, 0x22, 0xb2, 0x1f, 0x15, 0x1, 0x1, 0x5d, 0x13, 0x33, 0x1, 0x11, 0x33, 0x11, 0x14, 0x7, 0x6, 0x2b, 0x1, 0x35, 0x33, 0x32, 0x37, 0x36, 0x35, 0x1, 0x11, 0x23, 0xd5, 0xb8, 0x2, 0xe2, 0xb8, 0x52, 0x51, 0xb5, 0xfe, 0xe9, 0x69, 0x26, 0x26, 0xfd, 0x1e, 0xb8, 0x5, 0xd5, 0xfb, 0x83, 0x4, 0x7d, 0xfa, 0x17, 0xd6, 0x60, 0x60, 0x9c, 0x30, 0x31, 0xad, 0x4, 0x7d, 0xfb, 0x83, 0x0, 0x0, 0x1, 0x0, 0xf, 0x0, 0x0, 0x2, 0x1f, 0x4, 0x60, 0x0, 0xb, 0x0, 0x32, 0x40, 0x11, 0x2, 0xb, 0xa9, 0x5, 0x8, 0x0, 0xbc, 0x6, 0x5, 0x2, 0x1, 0x8, 0x8, 0xb, 0x0, 0x46, 0xc, 0x10, 0xfc, 0x3c, 0x3c, 0xec, 0x32, 0x32, 0x31, 0x0, 0x2f, 0xe4, 0xdc, 0x3c, 0xec, 0x32, 0x30, 0x40, 0xb, 0x10, 0xd, 0x40, 0xd, 0x50, 0xd, 0x60, 0xd, 0x70, 0xd, 0x5, 0x1, 0x5d, 0x13, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0xc3, 0xb8, 0xa4, 0xa4, 0xb8, 0xb4, 0xb4, 0x4, 0x60, 0xfe, 0x8, 0xa4, 0xfe, 0x3c, 0x1, 0xc4, 0xa4, 0x0, 0x0, 0x0, 0x0, 0x2, 0xfe, 0xf2, 0xfe, 0x56, 0x2, 0x2e, 0x4, 0x60, 0x0, 0xe, 0x0, 0x17, 0x0, 0x0, 0x13, 0x20, 0x35, 0x34, 0x21, 0x33, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x6, 0x7, 0x6, 0x3, 0x23, 0x22, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x21, 0xfe, 0xd1, 0x1, 0xe, 0xc1, 0xb8, 0xb5, 0xbf, 0x12, 0x35, 0x52, 0x20, 0xb5, 0x77, 0x3, 0x4, 0x7b, 0x69, 0x26, 0x12, 0xfe, 0x56, 0xdd, 0xcd, 0x4, 0x60, 0xfb, 0xa0, 0x9b, 0x70, 0x3f, 0x60, 0x1, 0x10, 0x33, 0x41, 0x30, 0x17, 0x0, 0xff, 0xff, 0x1, 0x92, 0x6, 0x63, 0x3, 0xe8, 0x8, 0x33, 0x10, 0x27, 0x0, 0x71, 0x0, 0xbd, 0x2, 0x3d, 0x10, 0x7, 0x16, 0xb9, 0x4, 0xbc, 0x1, 0x55, 0x0, 0x0, 0xff, 0xff, 0x1, 0x92, 0x6, 0x61, 0x3, 0xe8, 0x8, 0x34, 0x10, 0x27, 0x0, 0x71, 0x0, 0xbd, 0x0, 0xff, 0x10, 0x7, 0x16, 0xb9, 0x4, 0xbc, 0x2, 0x5b, 0x0, 0x0, 0xff, 0xff, 0x1, 0x92, 0x6, 0x5e, 0x3, 0xe8, 0x8, 0x33, 0x10, 0x27, 0x16, 0xc1, 0x4, 0xbc, 0x1, 0x50, 0x10, 0x7, 0x0, 0x71, 0x0, 0xbd, 0x2, 0x3d, 0x0, 0x0, 0xff, 0xff, 0x1, 0x93, 0x6, 0x63, 0x3, 0xe5, 0x8, 0x5a, 0x10, 0x27, 0x16, 0xba, 0x4, 0xf0, 0x2, 0x64, 0x10, 0x7, 0x16, 0xb9, 0x4, 0xbc, 0x1, 0x55, 0x0, 0x0, 0xff, 0xff, 0x1, 0x93, 0x6, 0x63, 0x3, 0xe5, 0x8, 0x5a, 0x10, 0x27, 0x16, 0xbc, 0x4, 0x8c, 0x2, 0x64, 0x10, 0x7, 0x16, 0xb9, 0x4, 0xbc, 0x1, 0x55, 0x0, 0x0, 0xff, 0xff, 0x1, 0x92, 0x6, 0x61, 0x3, 0xe8, 0x8, 0x5a, 0x10, 0x27, 0x16, 0xba, 0x4, 0xf0, 0x2, 0x64, 0x10, 0x7, 0x0, 0x71, 0x0, 0xbd, 0x0, 0xff, 0x0, 0x0, 0xff, 0xff, 0x1, 0x92, 0x6, 0x61, 0x3, 0xe8, 0x8, 0x5a, 0x10, 0x27, 0x16, 0xbc, 0x4, 0x8c, 0x2, 0x64, 0x10, 0x7, 0x0, 0x71, 0x0, 0xbd, 0x0, 0xff, 0x0, 0x0, 0xff, 0xff, 0x1, 0x76, 0x6, 0x6a, 0x4, 0xa, 0x8, 0x33, 0x10, 0x27, 0x16, 0xbb, 0x4, 0xc0, 0x1, 0x5c, 0x10, 0x7, 0x0, 0x71, 0x0, 0xbd, 0x2, 0x3d, 0x0, 0x0, 0xff, 0xff, 0x1, 0x8b, 0x6, 0x63, 0x3, 0xed, 0x8, 0x5a, 0x10, 0x27, 0x16, 0xbe, 0x4, 0xbc, 0x2, 0x62, 0x10, 0x7, 0x16, 0xb9, 0x4, 0xbc, 0x1, 0x55, 0x0, 0x0, 0xff, 0xff, 0x1, 0x76, 0x6, 0x6a, 0x4, 0xa, 0x8, 0x56, 0x10, 0x27, 0x16, 0xb9, 0x4, 0xbc, 0x2, 0x7d, 0x10, 0x7, 0x16, 0xbb, 0x4, 0xc0, 0x1, 0x5c, 0x0, 0x0, 0xff, 0xff, 0x1, 0x8b, 0x6, 0x63, 0x3, 0xed, 0x8, 0x57, 0x10, 0x27, 0x16, 0xbe, 0x4, 0xbc, 0x1, 0x75, 0x10, 0x7, 0x16, 0xc1, 0x4, 0xbc, 0x2, 0x7c, 0x0, 0x0, 0xff, 0xff, 0x1, 0x76, 0x6, 0x6a, 0x4, 0x30, 0x8, 0x5a, 0x10, 0x27, 0x16, 0xba, 0x5, 0x40, 0x2, 0x64, 0x10, 0x7, 0x16, 0xbb, 0x4, 0xc0, 0x1, 0x5c, 0x0, 0x0, 0xff, 0xff, 0x1, 0x8b, 0x6, 0x63, 0x5, 0x18, 0x8, 0x3a, 0x10, 0x27, 0x16, 0xbd, 0x4, 0xbc, 0x1, 0x75, 0x10, 0x7, 0x16, 0xba, 0x6, 0x28, 0x2, 0x44, 0x0, 0x0, 0xff, 0xff, 0x1, 0x8b, 0x6, 0x63, 0x4, 0x6d, 0x8, 0x3a, 0x10, 0x27, 0x16, 0xbc, 0x5, 0xe2, 0x2, 0x44, 0x10, 0x7, 0x16, 0xbd, 0x4, 0xbc, 0x1, 0x75, 0x0, 0x0, 0xff, 0xff, 0x1, 0x76, 0x6, 0x63, 0x4, 0xa, 0x8, 0x75, 0x10, 0x27, 0x16, 0xbd, 0x4, 0xbc, 0x1, 0x75, 0x10, 0x7, 0x16, 0xbb, 0x4, 0xc0, 0x2, 0x8c, 0x0, 0x0, 0xff, 0xff, 0x1, 0x76, 0x6, 0x56, 0x4, 0xa, 0x8, 0x59, 0x10, 0x27, 0x16, 0xc0, 0x4, 0xbc, 0x1, 0x50, 0x10, 0x7, 0x16, 0xbb, 0x4, 0xc0, 0x2, 0x70, 0x0, 0x0, 0xff, 0xff, 0x1, 0x83, 0x6, 0x56, 0x3, 0xf5, 0x8, 0x5a, 0x10, 0x27, 0x16, 0xc0, 0x4, 0xbc, 0x1, 0x50, 0x10, 0x7, 0x16, 0xba, 0x4, 0xf0, 0x2, 0x64, 0x0, 0x0, 0xff, 0xff, 0x1, 0x83, 0x6, 0x56, 0x3, 0xf5, 0x8, 0x5a, 0x10, 0x27, 0x16, 0xc0, 0x4, 0xbc, 0x1, 0x50, 0x10, 0x7, 0x16, 0xbc, 0x4, 0x8c, 0x2, 0x64, 0x0, 0x0, 0xff, 0xff, 0x1, 0x83, 0x6, 0x56, 0x3, 0xf5, 0x8, 0x8b, 0x10, 0x27, 0x2, 0xba, 0x4, 0xab, 0x2, 0x10, 0x10, 0x7, 0x16, 0xc0, 0x4, 0xbc, 0x1, 0x50, 0x0, 0x0, 0xff, 0xff, 0x1, 0x8b, 0x6, 0x63, 0x5, 0x7, 0x8, 0x5b, 0x10, 0x27, 0x2, 0xba, 0x6, 0x10, 0x1, 0xe0, 0x10, 0x7, 0x16, 0xbd, 0x4, 0xbc, 0x1, 0x75, 0x0, 0x0, 0xff, 0xff, 0xfc, 0x9a, 0x4, 0x7b, 0xff, 0x50, 0x6, 0x6e, 0x10, 0x26, 0x2, 0xb2, 0x0, 0x0, 0x10, 0x7, 0x2, 0xb8, 0xfe, 0xf8, 0x0, 0x5a, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2c, 0x1, 0x2c, 0x0, 0x3, 0x0, 0x0, 0x11, 0x21, 0x11, 0x21, 0x1, 0x2c, 0xfe, 0xd4, 0x1, 0x2c, 0xfe, 0xd4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xff, 0xe3, 0x3, 0x4f, 0x5, 0xd5, 0x0, 0xf, 0x0, 0x0, 0x3d, 0x1, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x10, 0x6, 0x23, 0x22, 0x26, 0x5b, 0xc2, 0x68, 0x8f, 0x71, 0xca, 0xd3, 0xf7, 0x60, 0xbe, 0x3d, 0xec, 0x51, 0x51, 0x95, 0xcb, 0x3, 0xee, 0xfc, 0x12, 0xfe, 0xe6, 0xea, 0x2c, 0x0, 0x0, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x5, 0x13, 0x2, 0x26, 0x10, 0x26, 0x17, 0x4, 0x0, 0x0, 0x10, 0x7, 0x5, 0x7f, 0x2, 0x6, 0xf9, 0x1e, 0x0, 0x1, 0xff, 0xab, 0xfe, 0xc, 0x4, 0xf6, 0x2, 0x26, 0x0, 0x18, 0x0, 0x0, 0x1, 0x33, 0x16, 0x17, 0x16, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x27, 0x2, 0x7, 0x4, 0x21, 0x35, 0x20, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x2, 0x78, 0xb8, 0x1e, 0x3, 0xa, 0x49, 0x2a, 0x65, 0xc3, 0xfa, 0x82, 0x32, 0x44, 0xfb, 0xfe, 0xe4, 0xfe, 0xbe, 0x1, 0x30, 0xcb, 0xda, 0x23, 0xa, 0x2, 0x26, 0x70, 0x1e, 0x67, 0x4d, 0x2c, 0xb8, 0x3e, 0xfe, 0xea, 0x85, 0x97, 0xb8, 0x80, 0x8a, 0xd0, 0x3a, 0x48, 0x7e, 0xff, 0xff, 0x0, 0x90, 0xfe, 0xc8, 0x6, 0x23, 0x7, 0xc4, 0x10, 0x27, 0x5, 0x7f, 0x2, 0xbc, 0x1, 0x90, 0x10, 0x6, 0x14, 0xc2, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x2, 0x60, 0x7, 0xc4, 0x10, 0x27, 0x5, 0x7f, 0xff, 0x53, 0x1, 0x90, 0x10, 0x6, 0x14, 0xc3, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x2, 0xba, 0x7, 0xc4, 0x10, 0x27, 0x5, 0x7f, 0xff, 0x53, 0x1, 0x90, 0x10, 0x6, 0x14, 0xc4, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xf0, 0x6, 0xbf, 0x3, 0x46, 0x10, 0x27, 0x5, 0x7f, 0x0, 0xbc, 0xfd, 0x12, 0x10, 0x6, 0x14, 0xd4, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xd4, 0x2, 0x38, 0x4, 0x40, 0x10, 0x27, 0x5, 0x7f, 0xff, 0x2b, 0xfe, 0xc, 0x10, 0x27, 0x16, 0xc5, 0x0, 0x63, 0xfe, 0xd4, 0x10, 0x6, 0x14, 0x3b, 0x0, 0x0, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xd4, 0x2, 0x7e, 0x4, 0x40, 0x10, 0x27, 0x5, 0x7f, 0xff, 0x2b, 0xfe, 0xc, 0x10, 0x27, 0x16, 0xc5, 0x0, 0x63, 0xfe, 0xd4, 0x10, 0x6, 0x14, 0x3c, 0x0, 0x0, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x4, 0x7e, 0x4, 0x72, 0x10, 0x27, 0x5, 0x7f, 0x0, 0xbc, 0xfe, 0x3e, 0x10, 0x6, 0x14, 0x92, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc1, 0x0, 0x0, 0x2, 0x39, 0x6, 0x14, 0x0, 0xb, 0x0, 0x39, 0xb5, 0x6, 0x2, 0x8, 0x0, 0x46, 0xc, 0x10, 0xfc, 0xec, 0xc4, 0x4b, 0xb0, 0xe, 0x53, 0x4b, 0xb0, 0x10, 0x51, 0x5a, 0x58, 0xb9, 0x0, 0x6, 0xff, 0xc0, 0x38, 0x59, 0x31, 0x0, 0xb4, 0x0, 0x97, 0x6, 0x87, 0x7, 0x2f, 0xec, 0xe4, 0x30, 0x40, 0xd, 0x10, 0xd, 0x40, 0xd, 0x50, 0xd, 0x60, 0xd, 0x70, 0xd, 0xf0, 0xd, 0x6, 0x1, 0x5d, 0x13, 0x33, 0x11, 0x14, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x26, 0x35, 0xc1, 0xb8, 0x4c, 0x69, 0xb, 0x20, 0xb5, 0xa3, 0x6, 0x14, 0xfb, 0x82, 0x99, 0x61, 0x9c, 0xc0, 0xd6, 0xff, 0xff, 0x0, 0x91, 0x0, 0x0, 0x4, 0x5e, 0x2, 0xee, 0x10, 0x6, 0x14, 0xce, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x5, 0x25, 0x5, 0xf0, 0x10, 0x6, 0x1, 0xe4, 0x0, 0x0, 0xff, 0xff, 0x0, 0x71, 0xff, 0xe3, 0x4, 0x71, 0x5, 0xf, 0x10, 0x6, 0x1, 0xe5, 0x0, 0x0, 0xff, 0xff, 0x0, 0x96, 0xfe, 0x75, 0x2, 0xb, 0x4, 0x7b, 0x10, 0x26, 0x0, 0xf3, 0x0, 0x0, 0x10, 0x7, 0x2, 0x9d, 0xff, 0x4a, 0x0, 0x0, 0x0, 0x2, 0x0, 0x4f, 0x0, 0x0, 0x2, 0x77, 0x4, 0x60, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x37, 0x33, 0x13, 0x23, 0x13, 0x21, 0x13, 0x21, 0xc7, 0x86, 0xb2, 0x86, 0x24, 0xfe, 0xb2, 0xda, 0x1, 0x4e, 0x64, 0x3, 0x98, 0xfc, 0x4, 0x4, 0x60, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0x16, 0xfe, 0x56, 0x2, 0x77, 0x4, 0x60, 0x0, 0x8, 0x0, 0x16, 0x0, 0x0, 0x5, 0x13, 0x23, 0x3, 0x6, 0x7, 0x36, 0x37, 0x36, 0x5, 0x23, 0x37, 0x33, 0x32, 0x37, 0x36, 0x37, 0x13, 0x21, 0x3, 0x6, 0x7, 0x6, 0x1, 0x35, 0xca, 0x86, 0xd0, 0x23, 0x35, 0x48, 0x32, 0x4b, 0xfe, 0xdc, 0xdc, 0x14, 0x31, 0x69, 0x30, 0x2f, 0x1d, 0xe9, 0x1, 0x4e, 0xde, 0x29, 0x64, 0x65, 0x16, 0x4, 0x12, 0xfb, 0xd0, 0xb5, 0x54, 0xf, 0x30, 0x48, 0xf4, 0x64, 0x30, 0x31, 0x99, 0x4, 0xac, 0xfb, 0x8c, 0xd6, 0x60, 0x60, 0x0, 0xff, 0xff, 0xff, 0xd3, 0xfe, 0x76, 0x2, 0x67, 0x4, 0x7b, 0x10, 0x27, 0x2, 0xb0, 0xff, 0x1d, 0x0, 0x0, 0x10, 0x6, 0x0, 0xf3, 0x0, 0x0, 0xff, 0xff, 0x0, 0xbf, 0xfe, 0x89, 0x1, 0x79, 0x4, 0x7b, 0x10, 0x26, 0x0, 0xf3, 0x0, 0x0, 0x10, 0x7, 0x2, 0xd4, 0x3, 0x1d, 0x0, 0x0, 0x0, 0x2, 0x0, 0xf0, 0x0, 0xd8, 0x1, 0xc3, 0x4, 0xfb, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x13, 0x33, 0x15, 0x23, 0x11, 0x33, 0x15, 0x23, 0xf0, 0xd3, 0xd3, 0xd3, 0xd3, 0x1, 0xd6, 0xfe, 0x4, 0x23, 0xfe, 0x0, 0x0, 0x1, 0x0, 0x97, 0x0, 0x0, 0x2, 0xf6, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x2b, 0x40, 0x16, 0xa, 0x2, 0x95, 0x1, 0x81, 0x9, 0x4, 0x95, 0x6, 0x5, 0x2, 0x1c, 0x4, 0x3, 0x1c, 0xa, 0x8, 0xb, 0x1c, 0x9, 0xa, 0xc, 0x10, 0xd4, 0x32, 0xec, 0x32, 0x10, 0xfc, 0x32, 0xec, 0x32, 0x31, 0x0, 0x2f, 0xec, 0x32, 0xf4, 0xec, 0x32, 0x30, 0x13, 0x21, 0x15, 0x23, 0x11, 0x33, 0x15, 0x21, 0x35, 0x33, 0x11, 0x23, 0x97, 0x2, 0x5e, 0xca, 0xcb, 0xfd, 0xa2, 0xc9, 0xca, 0x5, 0xd5, 0xaa, 0xfb, 0x7f, 0xaa, 0xaa, 0x4, 0x81, 0x0, 0x0, 0x1, 0x1, 0xad, 0x2, 0x95, 0x5, 0x9, 0x3, 0x3f, 0x0, 0x3, 0x0, 0x0, 0x1, 0x15, 0x21, 0x35, 0x5, 0x9, 0xfc, 0xa4, 0x3, 0x3f, 0xaa, 0xaa, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc8, 0x4, 0xcb, 0x3, 0x38, 0x8, 0xf2, 0x10, 0x27, 0x5, 0x73, 0x0, 0x0, 0x2, 0x58, 0x10, 0x6, 0x5, 0x79, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc8, 0x4, 0xcb, 0x3, 0x38, 0x9, 0x55, 0x10, 0x27, 0x5, 0x74, 0x0, 0x0, 0x2, 0x58, 0x10, 0x6, 0x5, 0x79, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc8, 0x4, 0xba, 0x3, 0x38, 0x8, 0xe8, 0x10, 0x27, 0x5, 0x79, 0x0, 0x0, 0x1, 0xf4, 0x10, 0x6, 0x5, 0x73, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc8, 0x4, 0xcb, 0x3, 0x38, 0x8, 0x2, 0x10, 0x27, 0x5, 0x76, 0x0, 0x0, 0x2, 0x58, 0x10, 0x6, 0x5, 0x79, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc8, 0x4, 0xcb, 0x3, 0x38, 0x9, 0x55, 0x10, 0x27, 0x5, 0x77, 0x0, 0x0, 0x2, 0x58, 0x10, 0x6, 0x5, 0x79, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc8, 0x4, 0xba, 0x3, 0x38, 0x8, 0x20, 0x10, 0x27, 0x5, 0x79, 0x0, 0x0, 0x1, 0x2c, 0x10, 0x6, 0x5, 0x76, 0x0, 0x0, 0xff, 0xff, 0x0, 0xdc, 0x4, 0xbf, 0x3, 0x24, 0x7, 0x9e, 0x10, 0x27, 0x5, 0x76, 0x0, 0x0, 0x1, 0xf4, 0x10, 0x6, 0x5, 0x7c, 0x0, 0x0, 0xff, 0xff, 0x0, 0xdc, 0x4, 0xbf, 0x3, 0x24, 0x8, 0xf1, 0x10, 0x27, 0x5, 0x77, 0x0, 0x0, 0x1, 0xf4, 0x10, 0x6, 0x5, 0x7c, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc1, 0x0, 0x0, 0x2, 0x4e, 0x5, 0xd5, 0x0, 0x5, 0x0, 0x1a, 0x40, 0xd, 0x4, 0x54, 0x2, 0xaf, 0x0, 0x4, 0x7, 0x4, 0x3, 0x8, 0x1, 0x4, 0x6, 0x10, 0xfc, 0xfc, 0xfc, 0xc4, 0x31, 0x0, 0x2f, 0xec, 0xec, 0x30, 0x33, 0x11, 0x33, 0x11, 0x33, 0x15, 0xc1, 0xb8, 0xd5, 0x5, 0xd5, 0xfa, 0xbe, 0x93, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x2, 0x4e, 0x5, 0xd5, 0x0, 0x7, 0x0, 0x1e, 0x40, 0xf, 0x1, 0x4, 0x54, 0x7, 0xaf, 0x2, 0x1, 0x9, 0x4, 0x0, 0x8, 0x6, 0x4, 0x4, 0x8, 0x10, 0xc4, 0xfc, 0xfc, 0xfc, 0xc4, 0x31, 0x0, 0x2f, 0xec, 0xec, 0x32, 0x30, 0x25, 0x33, 0x15, 0x21, 0x35, 0x33, 0x11, 0x33, 0x1, 0x79, 0xd5, 0xfd, 0x9e, 0xd5, 0xb8, 0x93, 0x93, 0x93, 0x5, 0x42, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x1, 0x79, 0x5, 0xd5, 0x0, 0x5, 0x0, 0x1a, 0x40, 0xd, 0x2, 0x54, 0x4, 0xaf, 0x0, 0x7, 0x4, 0x0, 0x8, 0x4, 0x4, 0x2, 0x6, 0x10, 0xc4, 0xfc, 0xfc, 0xec, 0x31, 0x0, 0x2f, 0xec, 0xec, 0x30, 0x29, 0x1, 0x35, 0x33, 0x11, 0x33, 0x1, 0x79, 0xfe, 0x73, 0xd5, 0xb8, 0x93, 0x5, 0x42, 0x0, 0x0, 0x2, 0x0, 0x71, 0xff, 0xe3, 0x4, 0xa6, 0x3, 0x93, 0x0, 0x7, 0x0, 0x15, 0x0, 0x38, 0x40, 0xd, 0x15, 0x17, 0x45, 0x5, 0x1c, 0x8, 0x13, 0x11, 0x1, 0x1c, 0xd, 0x45, 0x16, 0x10, 0xf4, 0xec, 0xd4, 0xb6, 0x10, 0x11, 0x30, 0x11, 0xa0, 0x11, 0x3, 0x5d, 0x39, 0x39, 0xec, 0xfc, 0xc4, 0x31, 0x0, 0x40, 0xb, 0x7, 0xa0, 0xf, 0x8, 0x3, 0xa0, 0xa, 0x8c, 0x13, 0xa0, 0x8, 0x2f, 0xec, 0xf4, 0xec, 0x10, 0xd4, 0xec, 0x30, 0x0, 0x10, 0x16, 0x20, 0x36, 0x10, 0x26, 0x20, 0x1, 0x6, 0x23, 0x22, 0x0, 0x10, 0x0, 0x20, 0x0, 0x15, 0x14, 0x7, 0x33, 0x15, 0x1, 0xd, 0xb9, 0x1, 0x6, 0xb9, 0xb9, 0xfe, 0xfa, 0x1, 0x2a, 0x4e, 0x59, 0xc3, 0xfe, 0xeb, 0x1, 0x15, 0x1, 0x86, 0x1, 0x15, 0x68, 0xed, 0x2, 0x3e, 0xfe, 0xfa, 0xb9, 0xb9, 0x1, 0x6, 0xb9, 0xfd, 0x9, 0x1d, 0x1, 0x15, 0x1, 0x86, 0x1, 0x15, 0xfe, 0xeb, 0xc3, 0xa9, 0x7f, 0x93, 0x0, 0x0, 0x0, 0x2, 0xff, 0xec, 0xff, 0xe3, 0x4, 0xa6, 0x3, 0x93, 0x0, 0x7, 0x0, 0x19, 0x0, 0x41, 0x40, 0x11, 0x18, 0x1b, 0x45, 0x5, 0x1c, 0xe, 0xb, 0x8, 0x17, 0x4, 0x15, 0x1, 0x1c, 0x10, 0x45, 0xd, 0x1a, 0x10, 0xc4, 0xf4, 0xec, 0xd4, 0xb6, 0x10, 0x15, 0x30, 0x15, 0xa0, 0x15, 0x3, 0x5d, 0x17, 0x39, 0xec, 0xfc, 0xc4, 0x31, 0x0, 0x40, 0xd, 0x7, 0xa0, 0x13, 0xc, 0x3, 0xa0, 0xa, 0x8c, 0xe, 0x17, 0xa0, 0x19, 0xc, 0x2f, 0x3c, 0xec, 0x32, 0xf4, 0xec, 0x10, 0xd4, 0xec, 0x30, 0x0, 0x10, 0x16, 0x20, 0x36, 0x10, 0x26, 0x20, 0x1, 0x6, 0x22, 0x27, 0x21, 0x35, 0x33, 0x26, 0x35, 0x34, 0x0, 0x20, 0x0, 0x15, 0x14, 0x7, 0x33, 0x15, 0x1, 0xd, 0xb9, 0x1, 0x6, 0xb9, 0xb9, 0xfe, 0xfa, 0x1, 0x2a, 0x4e, 0xb2, 0x4e, 0xfe, 0x4a, 0xed, 0x68, 0x1, 0x15, 0x1, 0x86, 0x1, 0x15, 0x68, 0xed, 0x2, 0x3e, 0xfe, 0xfa, 0xb9, 0xb9, 0x1, 0x6, 0xb9, 0xfd, 0x9, 0x1d, 0x1d, 0x93, 0x7f, 0xa9, 0xc3, 0x1, 0x15, 0xfe, 0xeb, 0xc3, 0xa9, 0x7f, 0x93, 0x0, 0x0, 0x0, 0x2, 0xff, 0xec, 0xff, 0xe3, 0x4, 0x21, 0x3, 0x93, 0x0, 0x7, 0x0, 0x15, 0x0, 0x38, 0x40, 0xd, 0x17, 0x45, 0x5, 0x1c, 0x13, 0x8, 0xf, 0x1, 0x1c, 0xa, 0x45, 0x15, 0x16, 0x10, 0xc4, 0xf4, 0xec, 0xd4, 0xb6, 0x10, 0xf, 0x30, 0xf, 0xa0, 0xf, 0x3, 0x5d, 0x39, 0x39, 0xec, 0xec, 0x31, 0x0, 0x40, 0xb, 0x7, 0xa0, 0xd, 0x13, 0x3, 0xa0, 0x11, 0x8c, 0x8, 0xa0, 0x13, 0x2f, 0xec, 0xf4, 0xec, 0x10, 0xd4, 0xec, 0x30, 0x0, 0x10, 0x16, 0x20, 0x36, 0x10, 0x26, 0x20, 0x3, 0x26, 0x35, 0x34, 0x0, 0x20, 0x0, 0x10, 0x0, 0x23, 0x22, 0x27, 0x21, 0x35, 0x1, 0xd, 0xb9, 0x1, 0x6, 0xb9, 0xb9, 0xfe, 0xfa, 0xed, 0x68, 0x1, 0x15, 0x1, 0x86, 0x1, 0x15, 0xfe, 0xeb, 0xc3, 0x59, 0x4e, 0xfe, 0x4a, 0x2, 0x3e, 0xfe, 0xfa, 0xb9, 0xb9, 0x1, 0x6, 0xb9, 0xfd, 0x9c, 0x7f, 0xa9, 0xc3, 0x1, 0x15, 0xfe, 0xeb, 0xfe, 0x7a, 0xfe, 0xeb, 0x1d, 0x93, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3d, 0x0, 0x0, 0x3, 0x78, 0x5, 0xd9, 0x0, 0xa, 0x0, 0x34, 0x40, 0xd, 0x5, 0x8, 0x2, 0xa, 0xc, 0x7, 0x6, 0x8, 0x1c, 0x3, 0x4, 0x2, 0xb, 0x10, 0xdc, 0xc4, 0x32, 0xfc, 0xc4, 0x32, 0xdc, 0xc4, 0x11, 0x12, 0x39, 0x31, 0x0, 0x40, 0xc, 0x5, 0x2, 0x8, 0x3, 0x3, 0x1, 0x6, 0x3, 0x81, 0xa, 0x87, 0x1, 0x2f, 0xec, 0xec, 0x32, 0x11, 0x12, 0x17, 0x39, 0x30, 0x29, 0x1, 0x11, 0x1, 0x33, 0x1b, 0x1, 0x33, 0x1, 0x11, 0x21, 0x3, 0x78, 0xfd, 0xde, 0xfe, 0xe7, 0xc2, 0xb3, 0xb3, 0xc2, 0xfe, 0xe7, 0x1, 0x6a, 0x3, 0x2a, 0x2, 0xaf, 0xfe, 0x5d, 0x1, 0xa3, 0xfd, 0x51, 0xfd, 0x69, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x3, 0x78, 0x5, 0xd9, 0x0, 0xc, 0x0, 0x36, 0x40, 0xe, 0x8, 0xb, 0x5, 0x0, 0xe, 0xa, 0x9, 0xb, 0x1c, 0x6, 0x7, 0x5, 0x3, 0xd, 0x10, 0xc4, 0xdc, 0xc4, 0x32, 0xfc, 0xc4, 0x32, 0xdc, 0xc4, 0x11, 0x12, 0x39, 0x31, 0x0, 0x40, 0xc, 0x8, 0x5, 0xb, 0x3, 0x1, 0x9, 0x6, 0x81, 0xc, 0x3, 0x87, 0x1, 0x2f, 0xec, 0x32, 0xec, 0x32, 0x11, 0x17, 0x39, 0x30, 0x25, 0x15, 0x21, 0x35, 0x21, 0x11, 0x1, 0x33, 0x1b, 0x1, 0x33, 0x1, 0x11, 0x3, 0x78, 0xfc, 0x74, 0x1, 0x6a, 0xfe, 0xe7, 0xc2, 0xb3, 0xb3, 0xc2, 0xfe, 0xe7, 0x93, 0x93, 0x93, 0x2, 0x97, 0x2, 0xaf, 0xfe, 0x5d, 0x1, 0xa3, 0xfd, 0x51, 0xfd, 0x69, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x3, 0x27, 0x5, 0xd9, 0x0, 0xa, 0x0, 0x34, 0x40, 0xd, 0x6, 0x9, 0x3, 0xc, 0x8, 0x7, 0x9, 0x1c, 0x4, 0x5, 0x3, 0x1, 0xb, 0x10, 0xc4, 0xdc, 0xc4, 0x32, 0xfc, 0xc4, 0x32, 0xcc, 0x11, 0x12, 0x39, 0x31, 0x0, 0x40, 0xc, 0x6, 0x3, 0x9, 0x3, 0x4, 0xa, 0x7, 0x4, 0x81, 0x1, 0x87, 0xa, 0x2f, 0xec, 0xec, 0x32, 0x11, 0x12, 0x17, 0x39, 0x30, 0x23, 0x35, 0x21, 0x11, 0x1, 0x33, 0x1b, 0x1, 0x33, 0x1, 0x11, 0x14, 0x1, 0x6a, 0xfe, 0xe7, 0xc2, 0xb3, 0xb3, 0xc2, 0xfe, 0xe7, 0x93, 0x2, 0x97, 0x2, 0xaf, 0xfe, 0x5d, 0x1, 0xa3, 0xfd, 0x51, 0xfc, 0xd6, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3d, 0x0, 0x0, 0x4, 0xd0, 0x3, 0x71, 0x0, 0x8, 0x0, 0x0, 0x29, 0x1, 0x9, 0x1, 0x23, 0x1, 0x33, 0x1, 0x33, 0x4, 0xd0, 0xfe, 0xec, 0xfe, 0xa2, 0xfe, 0xa2, 0xc3, 0x1, 0xa4, 0xfa, 0x1, 0x6d, 0x88, 0x2, 0xbd, 0xfd, 0x43, 0x3, 0x71, 0xfd, 0x22, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x4, 0xd0, 0x3, 0x71, 0x0, 0xa, 0x0, 0x0, 0x29, 0x1, 0x35, 0x33, 0x1, 0x33, 0x1, 0x33, 0x15, 0x21, 0x1, 0x1, 0x0, 0xfe, 0xec, 0x88, 0x1, 0x6d, 0xfa, 0x1, 0x6d, 0x88, 0xfe, 0xec, 0xfe, 0xa2, 0x93, 0x2, 0xde, 0xfd, 0x22, 0x93, 0x2, 0xbd, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x4, 0x7f, 0x3, 0x71, 0x0, 0x8, 0x0, 0x0, 0x29, 0x1, 0x35, 0x33, 0x1, 0x33, 0x1, 0x23, 0x1, 0x1, 0x0, 0xfe, 0xec, 0x88, 0x1, 0x6d, 0xfa, 0x1, 0xa4, 0xc3, 0xfe, 0xa2, 0x93, 0x2, 0xde, 0xfc, 0x8f, 0x2, 0xbd, 0x0, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x5, 0x4f, 0x3, 0x71, 0x0, 0x9, 0x0, 0x24, 0x40, 0xb, 0x9, 0xb, 0x4, 0x7, 0x1c, 0x5, 0x4, 0x1c, 0x2, 0x4, 0xa, 0x10, 0xfc, 0xec, 0xd4, 0xfc, 0xfc, 0xc4, 0x31, 0x0, 0xb6, 0x6, 0x3, 0xa3, 0x8, 0x5, 0x87, 0x1, 0x2f, 0xec, 0x32, 0xf4, 0x3c, 0x30, 0x29, 0x1, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x5, 0x4f, 0xfb, 0x6b, 0xb9, 0x2, 0x55, 0xb9, 0xce, 0x3, 0x71, 0xfd, 0x22, 0x2, 0xde, 0xfd, 0x22, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x5, 0x4f, 0x3, 0x71, 0x0, 0xb, 0x0, 0x28, 0x40, 0xc, 0xb, 0xd, 0x4, 0xa, 0x1c, 0x8, 0x6, 0x1c, 0x4, 0x4, 0x2, 0xc, 0x10, 0xc4, 0xfc, 0xec, 0xd4, 0xfc, 0xfc, 0xc4, 0x31, 0x0, 0xb7, 0x8, 0x5, 0xa3, 0x3, 0x6, 0xa, 0x87, 0x1, 0x2f, 0xec, 0x32, 0x32, 0xf4, 0x3c, 0x30, 0x29, 0x1, 0x35, 0x33, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x5, 0x4f, 0xfa, 0x9d, 0xce, 0xb9, 0x2, 0x55, 0xb9, 0xce, 0x93, 0x2, 0xde, 0xfd, 0x22, 0x2, 0xde, 0xfd, 0x22, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x4, 0x81, 0x3, 0x71, 0x0, 0x9, 0x0, 0x24, 0x40, 0xb, 0xb, 0x4, 0x0, 0x1c, 0x8, 0x6, 0x1c, 0x4, 0x4, 0x2, 0xa, 0x10, 0xc4, 0xfc, 0xec, 0xd4, 0xfc, 0xec, 0x31, 0x0, 0xb6, 0x8, 0x5, 0xa3, 0x3, 0x6, 0x87, 0x0, 0x2f, 0xec, 0x32, 0xf4, 0x3c, 0x30, 0x29, 0x1, 0x35, 0x33, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x4, 0x81, 0xfb, 0x6b, 0xce, 0xb9, 0x2, 0x55, 0xb9, 0x93, 0x2, 0xde, 0xfd, 0x22, 0x2, 0xde, 0x0, 0x1, 0x0, 0xba, 0x0, 0x0, 0x5, 0x4f, 0x3, 0x71, 0x0, 0x9, 0x0, 0x24, 0x40, 0xa, 0x8, 0xb, 0x4, 0x6, 0x1c, 0x2, 0x1, 0x4, 0x4, 0xa, 0x10, 0xfc, 0x3c, 0xd4, 0xfc, 0xfc, 0xc4, 0x31, 0x0, 0xb7, 0x4, 0xa0, 0x6, 0xa3, 0x7, 0x2, 0xa0, 0x0, 0x2f, 0xec, 0x32, 0xf4, 0xec, 0x30, 0x33, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x15, 0xba, 0x3, 0xe, 0xfc, 0xf2, 0x3, 0xc7, 0xce, 0x93, 0x2, 0x4b, 0x93, 0xfd, 0x22, 0x93, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x5, 0x4f, 0x3, 0x71, 0x0, 0x9, 0x0, 0x24, 0x40, 0xa, 0x8, 0xb, 0x4, 0x6, 0x1c, 0x2, 0x4, 0x4, 0x1, 0xa, 0x10, 0xc4, 0xfc, 0xd4, 0xfc, 0xfc, 0xc4, 0x31, 0x0, 0xb7, 0x4, 0xa0, 0x6, 0xa3, 0x7, 0x2, 0xa0, 0x0, 0x2f, 0xec, 0x32, 0xf4, 0xec, 0x30, 0x23, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x15, 0x14, 0x3, 0xdc, 0xfc, 0xf2, 0x3, 0xc7, 0xce, 0x93, 0x2, 0x4b, 0x93, 0xfd, 0x22, 0x93, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x4, 0x81, 0x3, 0x71, 0x0, 0x7, 0x0, 0x20, 0x40, 0x9, 0x9, 0x4, 0x0, 0x1c, 0x4, 0x6, 0x4, 0x3, 0x8, 0x10, 0xc4, 0xfc, 0xd4, 0xfc, 0xec, 0x31, 0x0, 0xb6, 0x6, 0xa0, 0x0, 0xa3, 0x4, 0xa0, 0x2, 0x2f, 0xec, 0xf4, 0xec, 0x30, 0x1, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x4, 0x81, 0xfb, 0x6b, 0x3, 0xdc, 0xfc, 0xf2, 0x3, 0x71, 0xfc, 0x8f, 0x93, 0x2, 0x4b, 0x93, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0x0, 0x0, 0x4, 0xd4, 0x5, 0xe2, 0x0, 0x13, 0x0, 0x1f, 0x0, 0x3a, 0x40, 0xe, 0x12, 0x21, 0x45, 0x1b, 0x1c, 0xc, 0x10, 0x1c, 0x1, 0x15, 0x1c, 0x6, 0x45, 0x20, 0x10, 0xfc, 0xec, 0xdc, 0xb2, 0x40, 0x1, 0x1, 0x5d, 0xfc, 0xdc, 0xb2, 0x40, 0xc, 0x1, 0x5d, 0xec, 0xfc, 0xc4, 0x31, 0x0, 0x40, 0xb, 0x18, 0x95, 0x1, 0x10, 0x1e, 0x95, 0x9, 0x91, 0x11, 0xa0, 0x0, 0x2f, 0xec, 0xf4, 0xec, 0xd4, 0x3c, 0xec, 0x30, 0x21, 0x11, 0x26, 0x27, 0x2e, 0x1, 0x34, 0x3e, 0x1, 0x20, 0x1e, 0x1, 0x14, 0x6, 0x7, 0x6, 0x7, 0x11, 0x21, 0x15, 0x0, 0x14, 0x1e, 0x1, 0x32, 0x3e, 0x1, 0x34, 0x2e, 0x1, 0x22, 0x6, 0x2, 0x4, 0x52, 0x4a, 0x72, 0x85, 0x85, 0xe4, 0x1, 0xc, 0xe6, 0x83, 0x83, 0x73, 0x4b, 0x52, 0x2, 0x18, 0xfc, 0x39, 0x5b, 0x9c, 0xb8, 0x9d, 0x5a, 0x5a, 0x9d, 0xb8, 0x9c, 0x3, 0xe, 0xb, 0x20, 0x31, 0xa8, 0xc5, 0xa9, 0x62, 0x62, 0xa9, 0xc5, 0xa8, 0x31, 0x20, 0xb, 0xfd, 0x85, 0x93, 0x4, 0xad, 0x70, 0x60, 0x38, 0x38, 0x60, 0x70, 0x60, 0x38, 0x38, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x4, 0xd4, 0x5, 0xe2, 0x0, 0x15, 0x0, 0x21, 0x0, 0x3e, 0x40, 0xf, 0x1, 0x23, 0x45, 0x1d, 0x1c, 0x11, 0x15, 0x1c, 0x6, 0x17, 0x1c, 0xb, 0x45, 0x4, 0x22, 0x10, 0xc4, 0xfc, 0xec, 0xdc, 0xb2, 0x40, 0x6, 0x1, 0x5d, 0xfc, 0xdc, 0xb2, 0x40, 0x11, 0x1, 0x5d, 0xec, 0xfc, 0xc4, 0x31, 0x0, 0x40, 0xc, 0x1a, 0x95, 0x6, 0x15, 0x20, 0x95, 0xe, 0x91, 0x0, 0x5, 0xa0, 0x2, 0x2f, 0xec, 0x32, 0xf4, 0xec, 0xd4, 0x3c, 0xec, 0x30, 0x25, 0x21, 0x15, 0x21, 0x35, 0x21, 0x11, 0x26, 0x27, 0x2e, 0x1, 0x34, 0x3e, 0x1, 0x20, 0x1e, 0x1, 0x14, 0x6, 0x7, 0x6, 0x7, 0x0, 0x14, 0x1e, 0x1, 0x32, 0x3e, 0x1, 0x34, 0x2e, 0x1, 0x22, 0x6, 0x2, 0xbc, 0x2, 0x18, 0xfb, 0x18, 0x2, 0x18, 0x52, 0x4a, 0x72, 0x85, 0x85, 0xe4, 0x1, 0xc, 0xe6, 0x83, 0x83, 0x73, 0x4b, 0x52, 0xfe, 0x51, 0x5b, 0x9c, 0xb8, 0x9d, 0x5a, 0x5a, 0x9d, 0xb8, 0x9c, 0x93, 0x93, 0x93, 0x2, 0x7b, 0xb, 0x20, 0x31, 0xa8, 0xc5, 0xa9, 0x62, 0x62, 0xa9, 0xc5, 0xa8, 0x31, 0x20, 0xb, 0x1, 0x9f, 0x70, 0x60, 0x38, 0x38, 0x60, 0x70, 0x60, 0x38, 0x38, 0x0, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x4, 0x4f, 0x5, 0xe2, 0x0, 0x13, 0x0, 0x1f, 0x0, 0x3a, 0x40, 0xe, 0x21, 0x45, 0x1b, 0x1c, 0xe, 0x12, 0x1c, 0x3, 0x15, 0x1c, 0x8, 0x45, 0x1, 0x20, 0x10, 0xc4, 0xfc, 0xec, 0xdc, 0xb2, 0x40, 0x6, 0x1, 0x5d, 0xfc, 0xdc, 0xb2, 0x40, 0x11, 0x1, 0x5d, 0xec, 0xec, 0x31, 0x0, 0x40, 0xb, 0x18, 0x95, 0x3, 0x12, 0x1e, 0x95, 0xb, 0x91, 0x2, 0xa0, 0x13, 0x2f, 0xec, 0xf4, 0xec, 0xd4, 0x3c, 0xec, 0x30, 0x23, 0x35, 0x21, 0x11, 0x26, 0x27, 0x2e, 0x1, 0x34, 0x3e, 0x1, 0x20, 0x1e, 0x1, 0x14, 0x6, 0x7, 0x6, 0x7, 0x11, 0x0, 0x14, 0x1e, 0x1, 0x32, 0x3e, 0x1, 0x34, 0x2e, 0x1, 0x22, 0x6, 0x14, 0x2, 0x18, 0x52, 0x4a, 0x72, 0x85, 0x85, 0xe4, 0x1, 0xc, 0xe6, 0x83, 0x83, 0x73, 0x4b, 0x52, 0xfe, 0x51, 0x5b, 0x9c, 0xb8, 0x9d, 0x5a, 0x5a, 0x9d, 0xb8, 0x9c, 0x93, 0x2, 0x7b, 0xb, 0x20, 0x31, 0xa8, 0xc5, 0xa9, 0x62, 0x62, 0xa9, 0xc5, 0xa8, 0x31, 0x20, 0xb, 0xfc, 0xf2, 0x4, 0xad, 0x70, 0x60, 0x38, 0x38, 0x60, 0x70, 0x60, 0x38, 0x38, 0x0, 0x2, 0x0, 0xba, 0x0, 0x0, 0x5, 0x4f, 0x4, 0xa6, 0x0, 0x8, 0x0, 0xc, 0x0, 0x26, 0x40, 0xa, 0x2, 0x6, 0x0, 0x5, 0xb, 0x4, 0xd, 0xc, 0xe, 0xd, 0x10, 0xd4, 0xc4, 0x10, 0xfc, 0xdc, 0xcc, 0xcc, 0x32, 0x31, 0x0, 0xb6, 0x2, 0x3, 0x5, 0x7, 0xb, 0xa0, 0x9, 0x2f, 0xec, 0xdc, 0xdc, 0xdc, 0xcc, 0x30, 0x1, 0x10, 0x33, 0x15, 0x22, 0x7, 0x33, 0x15, 0x23, 0x1, 0x21, 0x35, 0x21, 0x2, 0x11, 0xf2, 0x84, 0x2, 0x85, 0xf1, 0x3, 0x3e, 0xfb, 0x6b, 0x4, 0x95, 0x3, 0x9c, 0x1, 0xa, 0x66, 0x9a, 0x9e, 0xfc, 0xf8, 0x93, 0x0, 0x0, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x5, 0x4f, 0x4, 0xa6, 0x0, 0x8, 0x0, 0xc, 0x0, 0x22, 0xb7, 0x3, 0x6, 0x0, 0x5, 0xc, 0xe, 0xb, 0xd, 0x10, 0xc4, 0xd4, 0xc4, 0xdc, 0xcc, 0xcc, 0x32, 0x31, 0x0, 0xb6, 0x2, 0x3, 0x5, 0x7, 0xb, 0xa0, 0x9, 0x2f, 0xec, 0xdc, 0xdc, 0xdc, 0xcc, 0x30, 0x1, 0x10, 0x33, 0x15, 0x22, 0x7, 0x33, 0x15, 0x23, 0x1, 0x21, 0x35, 0x21, 0x2, 0x11, 0xf2, 0x84, 0x2, 0x85, 0xf1, 0x3, 0x3e, 0xfa, 0x9d, 0x5, 0x63, 0x3, 0x9c, 0x1, 0xa, 0x66, 0x9a, 0x9e, 0xfc, 0xf8, 0x93, 0x0, 0x0, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x4, 0x81, 0x4, 0xa6, 0x0, 0x8, 0x0, 0xc, 0x0, 0x24, 0x40, 0x9, 0x2, 0x6, 0x0, 0x5, 0xc, 0x4, 0xe, 0xb, 0xd, 0x10, 0xc4, 0xdc, 0xfc, 0xdc, 0xcc, 0xcc, 0x32, 0x31, 0x0, 0xb6, 0x2, 0x3, 0x5, 0x7, 0xb, 0xa0, 0x9, 0x2f, 0xec, 0xdc, 0xdc, 0xdc, 0xcc, 0x30, 0x1, 0x10, 0x33, 0x15, 0x22, 0x7, 0x33, 0x15, 0x23, 0x1, 0x21, 0x35, 0x21, 0x2, 0x11, 0xf2, 0x84, 0x2, 0x85, 0xf1, 0x2, 0x70, 0xfb, 0x6b, 0x4, 0x95, 0x3, 0x9c, 0x1, 0xa, 0x66, 0x9a, 0x9e, 0xfc, 0xf8, 0x93, 0x0, 0x2, 0x0, 0x71, 0x0, 0x0, 0x6, 0xb5, 0x5, 0xee, 0x0, 0x13, 0x0, 0x1d, 0x0, 0x37, 0x40, 0xf, 0x12, 0x1f, 0x11, 0x8, 0x1, 0x4, 0x14, 0x8, 0x2, 0xe, 0x1b, 0x8, 0x9, 0x45, 0x1e, 0x10, 0xfc, 0xec, 0xd4, 0x3c, 0xec, 0x32, 0xd4, 0xfc, 0xdc, 0xc4, 0x31, 0x0, 0x40, 0xd, 0x3, 0x5, 0x1, 0xa0, 0x1d, 0xf, 0x18, 0xa0, 0xa, 0x91, 0x11, 0xa0, 0x0, 0x2f, 0xec, 0xf4, 0xec, 0xd4, 0x3c, 0xec, 0x32, 0xcc, 0x30, 0x21, 0x11, 0x21, 0x11, 0x23, 0x11, 0x23, 0x22, 0x26, 0x10, 0x36, 0x20, 0x17, 0x16, 0x1d, 0x1, 0x21, 0x11, 0x33, 0x15, 0x1, 0x35, 0x34, 0x27, 0x26, 0x22, 0x6, 0x14, 0x16, 0x33, 0x5, 0x2e, 0xfe, 0x43, 0x9c, 0xf8, 0xbc, 0xb0, 0xb1, 0x1, 0x66, 0x5e, 0x8b, 0x2, 0x76, 0xce, 0xfc, 0x20, 0x5d, 0x38, 0xc6, 0x6d, 0x72, 0x5e, 0x2, 0xde, 0xfe, 0xc4, 0x1, 0x3c, 0xd6, 0x1, 0x55, 0xe5, 0x66, 0x98, 0xb6, 0xc9, 0xfd, 0x22, 0x93, 0x3, 0x71, 0xc9, 0x83, 0x5d, 0x38, 0x98, 0xc6, 0x83, 0x0, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x6, 0xb5, 0x5, 0xee, 0x0, 0x15, 0x0, 0x1f, 0x0, 0x3b, 0x40, 0x10, 0x12, 0x21, 0x11, 0x8, 0x1, 0x4, 0x16, 0x8, 0x2, 0xe, 0x1d, 0x8, 0x9, 0x45, 0x15, 0x20, 0x10, 0xc4, 0xfc, 0xec, 0xd4, 0x3c, 0xec, 0x32, 0xd4, 0xfc, 0xdc, 0xc4, 0x31, 0x0, 0x40, 0xe, 0x3, 0x5, 0x1, 0xa0, 0x1f, 0xf, 0x1a, 0xa0, 0xa, 0x91, 0x0, 0x11, 0xa0, 0x13, 0x2f, 0xec, 0x32, 0xf4, 0xec, 0xd4, 0x3c, 0xec, 0x32, 0xcc, 0x30, 0x25, 0x11, 0x21, 0x11, 0x23, 0x11, 0x23, 0x22, 0x26, 0x10, 0x36, 0x20, 0x17, 0x16, 0x1d, 0x1, 0x21, 0x11, 0x33, 0x15, 0x21, 0x35, 0x1, 0x35, 0x34, 0x27, 0x26, 0x22, 0x6, 0x14, 0x16, 0x33, 0x5, 0x2e, 0xfe, 0x43, 0x9c, 0xf8, 0xbc, 0xb0, 0xb1, 0x1, 0x66, 0x5e, 0x8b, 0x2, 0x76, 0xce, 0xf9, 0x37, 0x2, 0xe9, 0x5d, 0x38, 0xc6, 0x6d, 0x72, 0x5e, 0x93, 0x2, 0x4b, 0xfe, 0xc4, 0x1, 0x3c, 0xd6, 0x1, 0x55, 0xe5, 0x66, 0x98, 0xb6, 0xc9, 0xfd, 0x22, 0x93, 0x93, 0x2, 0xde, 0xc9, 0x83, 0x5d, 0x38, 0x98, 0xc6, 0x83, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x5, 0xe7, 0x5, 0xee, 0x0, 0x13, 0x0, 0x1d, 0x0, 0x37, 0x40, 0xf, 0x1f, 0x11, 0x8, 0x1, 0x4, 0x14, 0x8, 0x2, 0xe, 0x1b, 0x8, 0x9, 0x45, 0x13, 0x1e, 0x10, 0xc4, 0xfc, 0xec, 0xd4, 0x3c, 0xec, 0x32, 0xd4, 0xfc, 0xcc, 0x31, 0x0, 0x40, 0xd, 0x3, 0x5, 0x1, 0xa0, 0x1d, 0xf, 0x18, 0xa0, 0xa, 0x91, 0x0, 0xa0, 0x11, 0x2f, 0xec, 0xf4, 0xec, 0xd4, 0x3c, 0xec, 0x32, 0xcc, 0x30, 0x25, 0x11, 0x21, 0x11, 0x23, 0x11, 0x23, 0x22, 0x26, 0x10, 0x36, 0x20, 0x17, 0x16, 0x1d, 0x1, 0x21, 0x11, 0x21, 0x35, 0x1, 0x35, 0x34, 0x27, 0x26, 0x22, 0x6, 0x14, 0x16, 0x33, 0x5, 0x2e, 0xfe, 0x43, 0x9c, 0xf8, 0xbc, 0xb0, 0xb1, 0x1, 0x66, 0x5e, 0x8b, 0x2, 0x76, 0xfa, 0x5, 0x2, 0xe9, 0x5d, 0x38, 0xc6, 0x6d, 0x72, 0x5e, 0x93, 0x2, 0x4b, 0xfe, 0xc4, 0x1, 0x3c, 0xd6, 0x1, 0x55, 0xe5, 0x66, 0x98, 0xb6, 0xc9, 0xfc, 0x8f, 0x93, 0x2, 0xde, 0xc9, 0x83, 0x5d, 0x38, 0x98, 0xc6, 0x83, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc1, 0x0, 0x0, 0x3, 0x95, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x2c, 0x40, 0xb, 0xa, 0xd, 0x7, 0x3, 0x13, 0x5, 0x9, 0x1c, 0x1, 0x4, 0xc, 0x10, 0xfc, 0xfc, 0x3c, 0xfc, 0x3c, 0xdc, 0xc4, 0x31, 0x0, 0x40, 0xb, 0x5, 0xa0, 0x7, 0x0, 0x4, 0xa0, 0x2, 0xaf, 0xa, 0xa0, 0x0, 0x2f, 0xec, 0xf4, 0xec, 0x10, 0xdc, 0xec, 0x30, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0xc1, 0x2, 0x83, 0xfe, 0x35, 0x1, 0xcb, 0xfe, 0x35, 0x2, 0x1c, 0x5, 0xd5, 0x93, 0xfe, 0x2f, 0x92, 0xfd, 0xb4, 0x93, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x3, 0x95, 0x5, 0xd5, 0x0, 0xd, 0x0, 0x30, 0x40, 0xc, 0xc, 0xf, 0x9, 0x5, 0x13, 0x7, 0xb, 0x1c, 0x3, 0x4, 0x1, 0xe, 0x10, 0xc4, 0xfc, 0xfc, 0x3c, 0xfc, 0x3c, 0xdc, 0xc4, 0x31, 0x0, 0x40, 0xc, 0x7, 0xa0, 0x9, 0x0, 0x6, 0xa0, 0x4, 0xaf, 0x2, 0xc, 0xa0, 0x0, 0x2f, 0xec, 0x32, 0xf4, 0xec, 0x10, 0xdc, 0xec, 0x30, 0x23, 0x35, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x14, 0xd5, 0x2, 0x83, 0xfe, 0x35, 0x1, 0xcb, 0xfe, 0x35, 0x2, 0x1c, 0x93, 0x5, 0x42, 0x93, 0xfe, 0x2f, 0x92, 0xfd, 0xb4, 0x93, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x3, 0x44, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x2c, 0x40, 0xb, 0xd, 0x6, 0x9, 0x13, 0x7, 0xb, 0x1c, 0x4, 0x4, 0x2, 0xc, 0x10, 0xc4, 0xfc, 0xfc, 0x3c, 0xfc, 0x3c, 0xcc, 0x31, 0x0, 0x40, 0xb, 0x8, 0xa0, 0xa, 0x0, 0x7, 0xa0, 0x5, 0xaf, 0x2, 0xa0, 0x0, 0x2f, 0xec, 0xf4, 0xec, 0x10, 0xdc, 0xec, 0x30, 0x29, 0x1, 0x35, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x1, 0x79, 0xfe, 0x73, 0xd5, 0x2, 0x83, 0xfe, 0x35, 0x1, 0xcb, 0xfe, 0x35, 0x93, 0x5, 0x42, 0x93, 0xfe, 0x2f, 0x92, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3d, 0x0, 0x0, 0x3, 0x95, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x2c, 0x40, 0xb, 0xa, 0xd, 0x4, 0x8, 0x12, 0x0, 0x4, 0x13, 0x2, 0x6, 0xc, 0x10, 0xdc, 0x3c, 0xfc, 0x3c, 0xfc, 0xfc, 0xc4, 0x31, 0x0, 0x40, 0xb, 0x4, 0xa0, 0x2, 0x0, 0x5, 0xa0, 0x7, 0xaf, 0xa, 0xa0, 0x0, 0x2f, 0xec, 0xf4, 0xec, 0x10, 0xdc, 0xec, 0x30, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x15, 0x2, 0x8, 0xfe, 0x35, 0x1, 0xcb, 0xfe, 0x35, 0x2, 0x83, 0xd5, 0x2, 0xdf, 0x92, 0x1, 0xd1, 0x93, 0xfa, 0xbe, 0x93, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x3, 0x95, 0x5, 0xd5, 0x0, 0xd, 0x0, 0x30, 0x40, 0xc, 0xc, 0xf, 0x4, 0xa, 0x12, 0x6, 0x2, 0x13, 0x4, 0x8, 0x1, 0xe, 0x10, 0xc4, 0xdc, 0x3c, 0xfc, 0x3c, 0xfc, 0xfc, 0xc4, 0x31, 0x0, 0x40, 0xc, 0x5, 0xa0, 0x3, 0x0, 0x8, 0xa0, 0xa, 0xaf, 0xc, 0x2, 0xa0, 0x0, 0x2f, 0xec, 0x32, 0xf4, 0xec, 0x10, 0xdc, 0xec, 0x30, 0x23, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x15, 0x14, 0x2, 0x1c, 0xfe, 0x35, 0x1, 0xcb, 0xfe, 0x35, 0x2, 0x83, 0xd5, 0x93, 0x2, 0x4c, 0x92, 0x1, 0xd1, 0x93, 0xfa, 0xbe, 0x93, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x2, 0xc0, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x2c, 0x40, 0xb, 0xd, 0x4, 0xb, 0x12, 0x3, 0x7, 0x13, 0x5, 0x9, 0x2, 0xc, 0x10, 0xc4, 0xdc, 0x3c, 0xfc, 0x3c, 0xfc, 0xec, 0x31, 0x0, 0x40, 0xb, 0x7, 0xa0, 0x5, 0x0, 0x8, 0xa0, 0xa, 0xaf, 0x2, 0xa0, 0x0, 0x2f, 0xec, 0xf4, 0xec, 0x10, 0xdc, 0xec, 0x30, 0x29, 0x1, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x2, 0xc0, 0xfd, 0x2c, 0x2, 0x1c, 0xfe, 0x35, 0x1, 0xcb, 0xfe, 0x35, 0x2, 0x83, 0x93, 0x2, 0x4c, 0x92, 0x1, 0xd1, 0x93, 0x0, 0x0, 0x2, 0x0, 0xba, 0x0, 0x0, 0x4, 0x8c, 0x5, 0xd5, 0x0, 0xa, 0x0, 0x17, 0x0, 0x2a, 0x40, 0xc, 0x16, 0x19, 0x1b, 0x7, 0x1c, 0x13, 0xe, 0x2, 0x1c, 0xc, 0x4, 0x18, 0x10, 0xfc, 0xfc, 0x3c, 0xd4, 0xec, 0xfc, 0xc4, 0x31, 0x0, 0x40, 0x9, 0x1, 0xa0, 0xf, 0xd, 0x81, 0x3, 0x16, 0xa0, 0xb, 0x10, 0xec, 0x32, 0xec, 0xd4, 0xec, 0x30, 0x1, 0x21, 0x11, 0x21, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x1, 0x11, 0x33, 0x11, 0x21, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x33, 0x15, 0x2, 0x9c, 0xfe, 0xd0, 0x1, 0x2c, 0x52, 0x34, 0x2c, 0x2c, 0x3d, 0xfd, 0xd9, 0xb9, 0x1, 0x55, 0x69, 0x7f, 0x58, 0x4f, 0xd3, 0x2, 0xde, 0xfd, 0xb5, 0x5d, 0x4f, 0x7a, 0x7d, 0x49, 0x5f, 0xfd, 0x22, 0x5, 0xd5, 0xfd, 0x9c, 0x87, 0x5f, 0xd2, 0xa4, 0x82, 0x93, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x4, 0x8c, 0x5, 0xd5, 0x0, 0xe, 0x0, 0x19, 0x0, 0x2e, 0x40, 0xd, 0xd, 0x1b, 0x1b, 0x16, 0x1c, 0xa, 0x5, 0x11, 0x1c, 0x3, 0x4, 0x1, 0x1a, 0x10, 0xc4, 0xfc, 0xfc, 0x3c, 0xd4, 0xec, 0xfc, 0xc4, 0x31, 0x0, 0x40, 0xa, 0x10, 0xa0, 0x6, 0x4, 0x81, 0x2, 0x12, 0xd, 0xa0, 0x0, 0x2f, 0xec, 0x32, 0x32, 0xec, 0xd4, 0xec, 0x30, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x21, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x33, 0x15, 0x1, 0x21, 0x11, 0x21, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x14, 0xce, 0xb9, 0x1, 0x55, 0x69, 0x7f, 0x58, 0x4f, 0xd3, 0xfe, 0x10, 0xfe, 0xd0, 0x1, 0x2c, 0x52, 0x34, 0x2c, 0x2c, 0x3d, 0x93, 0x5, 0x42, 0xfd, 0x9c, 0x87, 0x5f, 0xd2, 0xa4, 0x82, 0x93, 0x2, 0xde, 0xfd, 0xb5, 0x5d, 0x4f, 0x7a, 0x7d, 0x49, 0x5f, 0x0, 0x0, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x4, 0x8, 0x5, 0xd5, 0x0, 0xa, 0x0, 0x19, 0x0, 0x2a, 0x40, 0xc, 0x1b, 0x1b, 0x7, 0x1c, 0x15, 0x10, 0x2, 0x1c, 0xe, 0x4, 0xc, 0x1a, 0x10, 0xc4, 0xfc, 0xfc, 0x3c, 0xd4, 0xec, 0xec, 0x31, 0x0, 0x40, 0x9, 0x1, 0xa0, 0x11, 0xf, 0x81, 0xd, 0x3, 0xa0, 0xb, 0x2f, 0xec, 0x32, 0xec, 0xd4, 0xec, 0x30, 0x1, 0x21, 0x11, 0x21, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x1, 0x35, 0x33, 0x11, 0x33, 0x11, 0x21, 0x32, 0x17, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x2, 0x9c, 0xfe, 0xd0, 0x1, 0x2c, 0x52, 0x34, 0x2c, 0x2c, 0x3d, 0xfd, 0xb, 0xce, 0xb9, 0x1, 0x55, 0x69, 0x7f, 0x58, 0x58, 0x58, 0x6c, 0x2, 0xde, 0xfd, 0xb5, 0x5d, 0x4f, 0x7a, 0x7d, 0x49, 0x5f, 0xfd, 0x22, 0x93, 0x5, 0x42, 0xfd, 0x9c, 0x87, 0x5f, 0xd2, 0xad, 0x87, 0x85, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc1, 0x0, 0x0, 0x4, 0xf9, 0x5, 0xd5, 0x0, 0x13, 0x0, 0x40, 0x40, 0xb, 0x12, 0x15, 0x4, 0x9, 0x11, 0x1c, 0x5, 0x0, 0x6, 0x4, 0x14, 0x10, 0xf4, 0xdc, 0xb2, 0x5f, 0x0, 0x1, 0x5d, 0x39, 0xfc, 0xd4, 0xfc, 0xc4, 0x0, 0x40, 0xb, 0xb, 0x5, 0x0, 0x6, 0xa, 0xa0, 0x7, 0x81, 0x11, 0xa0, 0x0, 0x2f, 0xec, 0xf4, 0xec, 0x39, 0x11, 0x39, 0x39, 0x40, 0x7, 0xb, 0x12, 0xa, 0x12, 0x5, 0x6, 0x5, 0x7, 0x10, 0x5, 0xec, 0xec, 0x31, 0x30, 0x21, 0x34, 0x2, 0x27, 0x26, 0x27, 0x3, 0x35, 0x21, 0x15, 0x5, 0x13, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x21, 0x15, 0x2, 0xaa, 0x1b, 0x35, 0x4d, 0x89, 0xc3, 0x3, 0x63, 0xfd, 0x99, 0x9d, 0x88, 0x34, 0x42, 0x6, 0x2, 0x1, 0x1, 0x98, 0x99, 0x1, 0x5f, 0x96, 0xdc, 0xdc, 0x1, 0x39, 0x56, 0x93, 0x1, 0xfe, 0xef, 0xea, 0xb8, 0xe6, 0x9c, 0x40, 0x39, 0x93, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x4, 0xf9, 0x5, 0xd5, 0x0, 0x16, 0x0, 0x44, 0x40, 0xc, 0x15, 0x18, 0x4, 0xc, 0x14, 0x1c, 0x8, 0x2, 0x9, 0x4, 0x1, 0x17, 0x10, 0xc4, 0xf4, 0xdc, 0xb2, 0x5f, 0x2, 0x1, 0x5d, 0x39, 0xfc, 0xd4, 0xfc, 0xc4, 0x0, 0x40, 0xc, 0xe, 0x8, 0x0, 0x9, 0xd, 0xa0, 0xa, 0x81, 0x14, 0x2, 0xa0, 0x0, 0x2f, 0xec, 0x32, 0xf4, 0xec, 0x39, 0x11, 0x39, 0x39, 0x40, 0x7, 0xe, 0x12, 0xd, 0x12, 0x8, 0x9, 0x8, 0x7, 0x10, 0x5, 0xec, 0xec, 0x31, 0x30, 0x23, 0x35, 0x21, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x3, 0x35, 0x21, 0x15, 0x5, 0x13, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x21, 0x15, 0x14, 0x2, 0xbb, 0x3, 0x8, 0xd, 0x35, 0x4d, 0x89, 0xc3, 0x3, 0x63, 0xfd, 0x99, 0x9d, 0x88, 0x34, 0x42, 0x6, 0x2, 0x1, 0x1, 0x98, 0x93, 0x58, 0x5d, 0xb0, 0x96, 0xdc, 0xdc, 0x1, 0x39, 0x56, 0x93, 0x1, 0xfe, 0xef, 0xea, 0xb8, 0xe6, 0x9c, 0x40, 0x39, 0x93, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x4, 0x24, 0x5, 0xd5, 0x0, 0x13, 0x0, 0x40, 0x40, 0xb, 0x15, 0x4, 0xc, 0x13, 0x1c, 0x8, 0x2, 0x9, 0x4, 0x1, 0x14, 0x10, 0xc4, 0xf4, 0xdc, 0xb2, 0x5f, 0x2, 0x1, 0x5d, 0x39, 0xfc, 0xd4, 0xec, 0x0, 0x40, 0xb, 0xe, 0x8, 0x0, 0x9, 0xd, 0xa0, 0xa, 0x81, 0x2, 0xa0, 0x0, 0x2f, 0xec, 0xf4, 0xec, 0x39, 0x11, 0x39, 0x39, 0x40, 0x7, 0xe, 0x12, 0xd, 0x12, 0x8, 0x9, 0x8, 0x7, 0x10, 0x5, 0xec, 0xec, 0x31, 0x30, 0x23, 0x35, 0x21, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x3, 0x35, 0x21, 0x15, 0x5, 0x13, 0x16, 0x17, 0x16, 0x12, 0x7, 0x14, 0x2, 0xbb, 0x3, 0x8, 0xd, 0x35, 0x4d, 0x89, 0xc3, 0x3, 0x63, 0xfd, 0x99, 0x9d, 0x88, 0x34, 0x42, 0xb, 0x1, 0x93, 0x58, 0x5d, 0xb0, 0x96, 0xdc, 0xdc, 0x1, 0x39, 0x56, 0x93, 0x1, 0xfe, 0xef, 0xea, 0xb8, 0xe6, 0xfe, 0xc9, 0x71, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3d, 0x0, 0x0, 0x2, 0xe1, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x3a, 0x40, 0x9, 0x7, 0xa, 0x4, 0x3, 0x5, 0x1c, 0x1, 0x3, 0x9, 0x10, 0xd4, 0xdc, 0xfc, 0x11, 0x39, 0xdc, 0xc4, 0x31, 0x0, 0x40, 0xd, 0x2, 0x12, 0x1, 0x12, 0x3, 0x4, 0x3, 0x3, 0x4, 0x81, 0x6, 0xa0, 0x8, 0x2f, 0xec, 0xf4, 0xcc, 0xb2, 0x1f, 0x3, 0x1, 0x5d, 0x7, 0x10, 0x4, 0xec, 0xec, 0xb4, 0x8d, 0x2, 0x8d, 0x1, 0x2, 0x5d, 0x30, 0x21, 0x11, 0x1, 0x35, 0x1, 0x33, 0x11, 0x33, 0x15, 0x1, 0x54, 0xfe, 0xe9, 0x1, 0x15, 0xba, 0xd5, 0x4, 0xdf, 0xfe, 0xc7, 0xf6, 0x1, 0x39, 0xfa, 0xbe, 0x93, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x2, 0xe1, 0x5, 0xd5, 0x0, 0xa, 0x0, 0x3e, 0x40, 0xa, 0x9, 0xc, 0x6, 0x5, 0x7, 0x1c, 0x3, 0x5, 0x1, 0xb, 0x10, 0xc4, 0xd4, 0xdc, 0xfc, 0x11, 0x39, 0xdc, 0xc4, 0x31, 0x0, 0x40, 0xe, 0x4, 0x12, 0x3, 0x12, 0x5, 0x6, 0x5, 0x5, 0x6, 0x81, 0x8, 0x2, 0xa0, 0xa, 0x2f, 0xec, 0x32, 0xf4, 0xcc, 0xb2, 0x1f, 0x5, 0x1, 0x5d, 0x7, 0x10, 0x4, 0xec, 0xec, 0xb4, 0x8d, 0x4, 0x8d, 0x3, 0x2, 0x5d, 0x30, 0x23, 0x35, 0x21, 0x11, 0x1, 0x35, 0x1, 0x33, 0x11, 0x33, 0x15, 0x14, 0x1, 0x68, 0xfe, 0xe9, 0x1, 0x15, 0xba, 0xd5, 0x93, 0x4, 0x4c, 0xfe, 0xc7, 0xf6, 0x1, 0x39, 0xfa, 0xbe, 0x93, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x2, 0xc, 0x5, 0xd5, 0x0, 0x8, 0x0, 0x3a, 0x40, 0x9, 0xa, 0x6, 0x5, 0x7, 0x1c, 0x3, 0x5, 0x1, 0x9, 0x10, 0xc4, 0xd4, 0xdc, 0xfc, 0x11, 0x39, 0xcc, 0x31, 0x0, 0x40, 0xd, 0x4, 0x12, 0x3, 0x12, 0x5, 0x6, 0x5, 0x5, 0x6, 0x81, 0x2, 0xa0, 0x8, 0x2f, 0xec, 0xf4, 0xcc, 0xb2, 0x1f, 0x5, 0x1, 0x5d, 0x7, 0x10, 0x4, 0xec, 0xec, 0xb4, 0x8d, 0x4, 0x8d, 0x3, 0x2, 0x5d, 0x30, 0x23, 0x35, 0x21, 0x11, 0x1, 0x35, 0x1, 0x33, 0x11, 0x14, 0x1, 0x68, 0xfe, 0xe9, 0x1, 0x15, 0xba, 0x93, 0x4, 0x4c, 0xfe, 0xc7, 0xf6, 0x1, 0x39, 0xfa, 0x2b, 0x0, 0x0, 0x3, 0x0, 0xc1, 0x0, 0x0, 0x7, 0xc0, 0x4, 0x1a, 0x0, 0x11, 0x0, 0x1a, 0x0, 0x23, 0x0, 0x31, 0x40, 0xe, 0x10, 0x25, 0x1c, 0xe, 0x1c, 0x12, 0x18, 0x1c, 0x1b, 0x21, 0x1c, 0x1, 0x4, 0x24, 0x10, 0xfc, 0xec, 0xd4, 0xec, 0xd4, 0xfc, 0xfc, 0xc4, 0x31, 0x0, 0x40, 0xb, 0x15, 0xa0, 0xa, 0x1e, 0xa0, 0x4, 0x10, 0x1a, 0x23, 0xa0, 0x0, 0x2f, 0xec, 0x32, 0x32, 0xd4, 0xec, 0xd4, 0xec, 0x30, 0x33, 0x11, 0x34, 0x12, 0x33, 0x32, 0x16, 0x17, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x15, 0x11, 0x33, 0x15, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x21, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x21, 0xc1, 0xf4, 0xc6, 0x7d, 0x78, 0x35, 0x25, 0x96, 0xd3, 0xd2, 0x5e, 0x88, 0xd5, 0xfe, 0x71, 0xa4, 0x5a, 0x81, 0x7f, 0x1, 0xfe, 0xfd, 0x48, 0xa4, 0x5a, 0x6c, 0x94, 0x1, 0xfe, 0x1, 0xee, 0xa6, 0x0, 0xff, 0x4b, 0x2d, 0x2d, 0xd2, 0x58, 0x80, 0x68, 0xfd, 0xb9, 0x93, 0x2, 0x7c, 0x82, 0x80, 0xc5, 0x95, 0xfe, 0x6e, 0x1, 0x63, 0x83, 0x7f, 0xa7, 0xd2, 0xf2, 0x0, 0x0, 0x0, 0x3, 0xff, 0xec, 0x0, 0x0, 0x7, 0xc0, 0x4, 0x1a, 0x0, 0x13, 0x0, 0x1c, 0x0, 0x25, 0x0, 0x35, 0x40, 0xf, 0x12, 0x27, 0x4, 0x10, 0x1c, 0x14, 0x1a, 0x1c, 0x1d, 0x23, 0x1c, 0x3, 0x4, 0x1, 0x26, 0x10, 0xc4, 0xfc, 0xec, 0xd4, 0xec, 0xd4, 0xfc, 0xfc, 0xc4, 0x31, 0x0, 0x40, 0xc, 0x17, 0xa0, 0xc, 0x20, 0xa0, 0x6, 0x11, 0x1b, 0x24, 0x2, 0xa0, 0x13, 0x2f, 0xec, 0x32, 0x32, 0x32, 0xd4, 0xec, 0xd4, 0xec, 0x30, 0x23, 0x35, 0x33, 0x11, 0x34, 0x12, 0x33, 0x32, 0x16, 0x17, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x15, 0x11, 0x33, 0x15, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x21, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x21, 0x14, 0xd5, 0xf4, 0xc6, 0x7d, 0x78, 0x35, 0x25, 0x96, 0xd3, 0xd2, 0x5e, 0x88, 0xd5, 0xfe, 0x71, 0xa4, 0x5a, 0x81, 0x7f, 0x1, 0xfe, 0xfd, 0x48, 0xa4, 0x5a, 0x6c, 0x94, 0x1, 0xfe, 0x93, 0x1, 0x5b, 0xa6, 0x0, 0xff, 0x4b, 0x2d, 0x2d, 0xd2, 0x58, 0x80, 0x68, 0xfd, 0xb9, 0x93, 0x2, 0x7c, 0x82, 0x80, 0xc5, 0x95, 0xfe, 0x6e, 0x1, 0x63, 0x83, 0x7f, 0xa7, 0xd2, 0xf2, 0x0, 0x0, 0x0, 0x3, 0xff, 0xec, 0x0, 0x0, 0x6, 0xeb, 0x4, 0x1a, 0x0, 0x11, 0x0, 0x1a, 0x0, 0x23, 0x0, 0x31, 0x40, 0xe, 0x25, 0x4, 0x10, 0x1c, 0x12, 0x18, 0x1c, 0x1b, 0x21, 0x1c, 0x3, 0x4, 0x1, 0x24, 0x10, 0xc4, 0xfc, 0xec, 0xd4, 0xec, 0xd4, 0xfc, 0xec, 0x31, 0x0, 0x40, 0xb, 0x15, 0xa0, 0xc, 0x1e, 0xa0, 0x6, 0x2, 0x22, 0x19, 0xa0, 0x11, 0x2f, 0xec, 0x32, 0x32, 0xd4, 0xec, 0xd4, 0xec, 0x30, 0x23, 0x35, 0x33, 0x11, 0x34, 0x12, 0x33, 0x32, 0x16, 0x17, 0x3e, 0x1, 0x33, 0x32, 0x17, 0x16, 0x15, 0x11, 0x3, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x21, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x1d, 0x1, 0x21, 0x14, 0xd5, 0xf4, 0xc6, 0x7d, 0x78, 0x35, 0x25, 0x96, 0xd3, 0xd2, 0x5e, 0x88, 0xba, 0xa4, 0x5a, 0x81, 0x7f, 0x1, 0xfe, 0xfd, 0x48, 0xa4, 0x5a, 0x6c, 0x94, 0x1, 0xfe, 0x93, 0x1, 0x5b, 0xa6, 0x0, 0xff, 0x4b, 0x2d, 0x2d, 0xd2, 0x58, 0x80, 0x68, 0xfd, 0x26, 0x2, 0x7c, 0x82, 0x80, 0xc5, 0x95, 0xfe, 0x6e, 0x1, 0x63, 0x83, 0x7f, 0xa7, 0xd2, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3d, 0x0, 0x0, 0x3, 0xdc, 0x5, 0xd5, 0x0, 0xd, 0x0, 0x2d, 0x40, 0xc, 0xc, 0xf, 0x9, 0x1f, 0xb, 0x7, 0x1c, 0x5, 0x1, 0x1f, 0x3, 0xe, 0x10, 0xdc, 0xfc, 0x3c, 0xfc, 0x3c, 0xfc, 0xdc, 0xc4, 0x31, 0x0, 0x40, 0xa, 0x9, 0x1, 0xa0, 0x3, 0x7, 0x6, 0x81, 0xc, 0xa0, 0x0, 0x2f, 0xec, 0xfc, 0xdc, 0x3c, 0xfc, 0x3c, 0x30, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x1, 0x88, 0xfe, 0xb5, 0x1, 0x4b, 0xb8, 0x1, 0x4b, 0xfe, 0xb5, 0x1, 0x9c, 0x3, 0x81, 0x93, 0x1, 0xc1, 0xfe, 0x3f, 0x93, 0xfd, 0x12, 0x93, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x3, 0xdc, 0x5, 0xd5, 0x0, 0xf, 0x0, 0x31, 0x40, 0xd, 0xe, 0x11, 0xb, 0x1f, 0xd, 0x9, 0x1c, 0x7, 0x3, 0x1f, 0x5, 0x1, 0x10, 0x10, 0xc4, 0xdc, 0xfc, 0x3c, 0xfc, 0x3c, 0xfc, 0xcc, 0xc4, 0x31, 0x0, 0x40, 0xb, 0xb, 0x3, 0xa0, 0x5, 0x9, 0x8, 0x81, 0x2, 0xe, 0xa0, 0x0, 0x2f, 0xec, 0x32, 0xf4, 0xdc, 0x3c, 0xfc, 0x3c, 0x30, 0x23, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x14, 0x1, 0x9c, 0xfe, 0xb5, 0x1, 0x4b, 0xb8, 0x1, 0x4b, 0xfe, 0xb5, 0x1, 0x9c, 0x93, 0x2, 0xee, 0x93, 0x1, 0xc1, 0xfe, 0x3f, 0x93, 0xfd, 0x12, 0x93, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x3, 0x8b, 0x5, 0xd5, 0x0, 0xd, 0x0, 0x2d, 0x40, 0xc, 0xf, 0xc, 0x1f, 0x0, 0xa, 0x1c, 0x8, 0x4, 0x1f, 0x6, 0x2, 0xe, 0x10, 0xc4, 0xdc, 0xfc, 0x3c, 0xfc, 0x3c, 0xfc, 0xcc, 0x31, 0x0, 0x40, 0xa, 0xc, 0x4, 0xa0, 0x6, 0xa, 0x8, 0x81, 0x2, 0xa0, 0x0, 0x2f, 0xec, 0xf4, 0xdc, 0x3c, 0xfc, 0x3c, 0x30, 0x29, 0x1, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x2, 0x40, 0xfd, 0xac, 0x1, 0x9c, 0xfe, 0xb5, 0x1, 0x4b, 0xb8, 0x1, 0x4b, 0xfe, 0xb5, 0x93, 0x2, 0xee, 0x93, 0x1, 0xc1, 0xfe, 0x3f, 0x93, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x3d, 0x0, 0x0, 0x6, 0x58, 0x5, 0xd5, 0x0, 0x3, 0x0, 0x15, 0x0, 0x3e, 0x40, 0x11, 0x14, 0x17, 0x10, 0x1f, 0xe, 0x12, 0x1c, 0x0, 0xc, 0xa, 0x2, 0x1c, 0x4, 0x8, 0x1f, 0x6, 0x16, 0x10, 0xdc, 0xfc, 0x3c, 0xfc, 0x3c, 0xdc, 0x3c, 0xfc, 0x3c, 0xfc, 0xdc, 0xc4, 0x31, 0x0, 0x40, 0xe, 0x5, 0x1, 0x11, 0xa0, 0x7, 0xb, 0xf, 0x9, 0xd, 0x81, 0x3, 0x13, 0xa0, 0x4, 0x2f, 0xec, 0x32, 0xf4, 0x3c, 0xdc, 0x3c, 0x3c, 0xec, 0x32, 0x32, 0x30, 0x25, 0x11, 0x21, 0x11, 0x7, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x4, 0x4, 0xfe, 0x3d, 0xb9, 0xfe, 0xb5, 0x1, 0x4b, 0xb9, 0x1, 0xc3, 0xb8, 0x1, 0x4c, 0xfe, 0xb4, 0x1, 0x9c, 0x93, 0x2, 0xee, 0xfd, 0x12, 0x93, 0x3, 0x81, 0x93, 0x1, 0xc1, 0xfe, 0x3f, 0x1, 0xc1, 0xfe, 0x3f, 0x93, 0xfd, 0x12, 0x93, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x6, 0x58, 0x5, 0xd5, 0x0, 0x13, 0x0, 0x17, 0x0, 0x42, 0x40, 0x12, 0x12, 0x19, 0xe, 0x1f, 0xc, 0x10, 0x1c, 0x14, 0xa, 0x8, 0x16, 0x1c, 0x2, 0x6, 0x1f, 0x4, 0x0, 0x18, 0x10, 0xc4, 0xdc, 0xfc, 0x3c, 0xfc, 0x3c, 0xdc, 0x3c, 0xfc, 0x3c, 0xfc, 0xdc, 0xc4, 0x31, 0x0, 0x40, 0xf, 0xf, 0x15, 0x3, 0xa0, 0x5, 0x9, 0xd, 0x7, 0xb, 0x81, 0x11, 0x17, 0x1, 0xa0, 0x13, 0x2f, 0xec, 0x32, 0x32, 0xf4, 0x3c, 0xdc, 0x3c, 0x3c, 0xec, 0x32, 0x32, 0x30, 0x23, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x25, 0x11, 0x21, 0x11, 0x14, 0x1, 0x9c, 0xfe, 0xb5, 0x1, 0x4b, 0xb9, 0x1, 0xc3, 0xb8, 0x1, 0x4c, 0xfe, 0xb4, 0x1, 0x9c, 0xfd, 0xac, 0xfe, 0x3d, 0x93, 0x2, 0xee, 0x93, 0x1, 0xc1, 0xfe, 0x3f, 0x1, 0xc1, 0xfe, 0x3f, 0x93, 0xfd, 0x12, 0x93, 0x93, 0x2, 0xee, 0xfd, 0x12, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x6, 0x8, 0x5, 0xd5, 0x0, 0x11, 0x0, 0x15, 0x0, 0x3e, 0x40, 0x11, 0x17, 0xf, 0x1f, 0xd, 0x11, 0x12, 0x12, 0xb, 0x9, 0x14, 0x1c, 0x3, 0x7, 0x1f, 0x5, 0x1, 0x16, 0x10, 0xc4, 0xdc, 0xfc, 0x3c, 0xfc, 0x3c, 0xdc, 0x3c, 0xfc, 0x3c, 0xfc, 0xcc, 0x31, 0x0, 0x40, 0xe, 0x10, 0x13, 0x4, 0xa0, 0x6, 0xa, 0xe, 0xc, 0x8, 0x81, 0x15, 0x2, 0xa0, 0x0, 0x2f, 0xec, 0x32, 0xf4, 0x3c, 0xdc, 0x3c, 0x3c, 0xfc, 0x3c, 0x3c, 0x30, 0x29, 0x1, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x3, 0x11, 0x21, 0x11, 0x4, 0xbc, 0xfb, 0x30, 0x1, 0x9c, 0xfe, 0xb5, 0x1, 0x4b, 0xb9, 0x1, 0xc3, 0xb8, 0x1, 0x4c, 0xfe, 0xb4, 0xb8, 0xfe, 0x3d, 0x93, 0x2, 0xee, 0x93, 0x1, 0xc1, 0xfe, 0x3f, 0x1, 0xc1, 0xfe, 0x3f, 0x93, 0xfd, 0x12, 0x2, 0xee, 0xfd, 0x12, 0x0, 0x2, 0x0, 0xba, 0x0, 0x0, 0x5, 0x4f, 0x3, 0x71, 0x0, 0x5, 0x0, 0x9, 0x0, 0x25, 0x40, 0xb, 0x4, 0xb, 0x4, 0x2, 0x1c, 0x8, 0x7, 0x1c, 0x1, 0x4, 0xa, 0x10, 0xfc, 0xec, 0xd4, 0xfc, 0xfc, 0xc4, 0x31, 0x0, 0xb7, 0x6, 0xa0, 0x2, 0xa3, 0x3, 0x8, 0xa0, 0x0, 0x2f, 0xec, 0x32, 0xf4, 0xec, 0x30, 0x33, 0x11, 0x21, 0x11, 0x33, 0x15, 0x1, 0x11, 0x21, 0x11, 0xba, 0x3, 0xc7, 0xce, 0xfc, 0x24, 0x2, 0x55, 0x3, 0x71, 0xfd, 0x22, 0x93, 0x2, 0xde, 0xfd, 0xb5, 0x2, 0x4b, 0x0, 0x0, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x5, 0x4f, 0x3, 0x71, 0x0, 0x7, 0x0, 0xb, 0x0, 0x2a, 0x40, 0xc, 0x6, 0xd, 0x4, 0x4, 0x1c, 0xa, 0x9, 0x1c, 0x3, 0x4, 0x1, 0xc, 0x10, 0xc4, 0xfc, 0xec, 0xd4, 0xfc, 0xfc, 0xc4, 0x31, 0x0, 0x40, 0x9, 0x8, 0xa0, 0x4, 0xa3, 0x2, 0x9, 0x5, 0xa0, 0x0, 0x2f, 0xec, 0x32, 0x32, 0xf4, 0xec, 0x30, 0x23, 0x35, 0x33, 0x11, 0x21, 0x11, 0x33, 0x15, 0x1, 0x11, 0x21, 0x11, 0x14, 0xce, 0x3, 0xc7, 0xce, 0xfc, 0x24, 0x2, 0x55, 0x93, 0x2, 0xde, 0xfd, 0x22, 0x93, 0x2, 0xde, 0xfd, 0xb5, 0x2, 0x4b, 0x0, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x4, 0x81, 0x3, 0x71, 0x0, 0x5, 0x0, 0x9, 0x0, 0x25, 0x40, 0xb, 0xb, 0x4, 0x5, 0x1c, 0x8, 0x7, 0x1c, 0x4, 0x4, 0x2, 0xa, 0x10, 0xc4, 0xfc, 0xec, 0xd4, 0xfc, 0xec, 0x31, 0x0, 0xb7, 0x9, 0xa0, 0x4, 0xa3, 0x3, 0x7, 0xa0, 0x0, 0x2f, 0xec, 0x32, 0xf4, 0xec, 0x30, 0x29, 0x1, 0x35, 0x33, 0x11, 0x21, 0x5, 0x11, 0x21, 0x11, 0x4, 0x81, 0xfb, 0x6b, 0xce, 0x3, 0xc7, 0xfc, 0xf2, 0x2, 0x55, 0x93, 0x2, 0xde, 0x93, 0xfd, 0xb5, 0x2, 0x4b, 0x0, 0x0, 0x0, 0x2, 0x0, 0x3d, 0x0, 0x0, 0x5, 0x14, 0x5, 0xd5, 0x0, 0x2, 0x0, 0x8, 0x0, 0x43, 0xb4, 0x7, 0xa, 0x5, 0x4, 0x9, 0x10, 0xd4, 0xc4, 0xc4, 0xc4, 0x31, 0x0, 0x40, 0xa, 0x42, 0x1, 0x95, 0x4, 0x81, 0x2, 0x95, 0x7, 0xa0, 0x3, 0x2f, 0xec, 0xec, 0xf4, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x12, 0x2, 0x11, 0x6, 0x1, 0x2, 0x0, 0x11, 0x5, 0x5, 0x6, 0x2, 0x11, 0x3, 0x1, 0x11, 0x4, 0x4, 0x3, 0x5, 0x7, 0x10, 0xec, 0x10, 0xec, 0x7, 0x10, 0xec, 0x8, 0x10, 0xec, 0x59, 0x1, 0x21, 0x1, 0x7, 0x1, 0x21, 0x1, 0x21, 0x15, 0x3, 0xc6, 0xfd, 0x74, 0x1, 0x46, 0x73, 0xfe, 0x30, 0x4, 0x86, 0xfe, 0x68, 0x1, 0xe9, 0x5, 0x42, 0xfb, 0x7e, 0xc0, 0x5, 0xd5, 0xfa, 0xbe, 0x93, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x5, 0x14, 0x5, 0xd5, 0x0, 0x2, 0x0, 0xa, 0x0, 0x46, 0xb5, 0x9, 0xc, 0x7, 0x6, 0x4, 0xb, 0x10, 0xc4, 0xd4, 0xc4, 0xc4, 0x31, 0x0, 0x40, 0xb, 0x42, 0x1, 0x95, 0x6, 0x81, 0x2, 0x95, 0x4, 0x9, 0xa0, 0x3, 0x2f, 0xec, 0x32, 0xec, 0xf4, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x12, 0x2, 0x11, 0x8, 0x1, 0x2, 0x0, 0x11, 0x7, 0x7, 0x8, 0x2, 0x11, 0x5, 0x1, 0x11, 0x6, 0x6, 0x5, 0x5, 0x7, 0x10, 0xec, 0x10, 0xec, 0x7, 0x10, 0xec, 0x8, 0x10, 0xec, 0x59, 0x1, 0x21, 0x1, 0x5, 0x35, 0x21, 0x1, 0x21, 0x1, 0x21, 0x15, 0x3, 0xc6, 0xfd, 0x74, 0x1, 0x46, 0xfd, 0x6c, 0x1, 0xe9, 0xfe, 0x68, 0x4, 0x86, 0xfe, 0x68, 0x1, 0xe9, 0x5, 0x42, 0xfb, 0x7e, 0xc0, 0x93, 0x5, 0x42, 0xfa, 0xbe, 0x93, 0x0, 0x0, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x4, 0xc3, 0x5, 0xd5, 0x0, 0x2, 0x0, 0x8, 0x0, 0x43, 0xb4, 0xa, 0x7, 0x6, 0x4, 0x9, 0x10, 0xc4, 0xd4, 0xc4, 0xc4, 0x31, 0x0, 0x40, 0xa, 0x42, 0x1, 0x95, 0x6, 0x81, 0x2, 0x95, 0x4, 0xa0, 0x3, 0x2f, 0xec, 0xec, 0xf4, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x12, 0x2, 0x11, 0x8, 0x1, 0x2, 0x0, 0x11, 0x7, 0x7, 0x8, 0x2, 0x11, 0x5, 0x1, 0x11, 0x6, 0x6, 0x5, 0x5, 0x7, 0x10, 0xec, 0x10, 0xec, 0x7, 0x10, 0xec, 0x8, 0x10, 0xec, 0x59, 0x1, 0x21, 0x1, 0x5, 0x35, 0x21, 0x1, 0x21, 0x1, 0x3, 0xc6, 0xfd, 0x74, 0x1, 0x46, 0xfd, 0x6c, 0x1, 0xe9, 0xfe, 0x68, 0x4, 0x86, 0xfe, 0x30, 0x5, 0x42, 0xfb, 0x7e, 0xc0, 0x93, 0x5, 0x42, 0xfa, 0x2b, 0x0, 0x0, 0x0, 0x3, 0x0, 0xc1, 0x0, 0x0, 0x5, 0xf3, 0x5, 0xd5, 0x0, 0xa, 0x0, 0xe, 0x0, 0x1f, 0x0, 0x38, 0x40, 0x10, 0x1e, 0x21, 0x4, 0x5, 0x1c, 0x17, 0x1d, 0x0, 0x1c, 0x12, 0xe, 0xc, 0x1c, 0x10, 0x4, 0x20, 0x10, 0xfc, 0xec, 0xd4, 0x3c, 0xfc, 0x3c, 0xd4, 0xec, 0xfc, 0xc4, 0x31, 0x0, 0x40, 0xd, 0x1c, 0xb, 0xa0, 0x1, 0x11, 0xa, 0xa0, 0x13, 0x81, 0xd, 0x1e, 0xa0, 0xf, 0x2f, 0xec, 0x32, 0xf4, 0xec, 0xdc, 0x3c, 0xec, 0x32, 0x30, 0x1, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2b, 0x1, 0x1, 0x11, 0x21, 0x11, 0x1, 0x11, 0x21, 0x11, 0x21, 0x32, 0x17, 0x16, 0x15, 0x6, 0x7, 0x6, 0x2f, 0x1, 0x11, 0x21, 0x15, 0x3, 0x6d, 0xa8, 0x5d, 0x25, 0x1f, 0x1f, 0x1d, 0x69, 0xa4, 0xfe, 0xd, 0x1, 0x3b, 0xfe, 0xc, 0x1, 0xf4, 0x1, 0xb0, 0x84, 0x40, 0x45, 0x1, 0x44, 0x5c, 0x8c, 0xd4, 0x2, 0x86, 0x3, 0x71, 0x51, 0x45, 0x3d, 0x3c, 0x64, 0x5e, 0xfd, 0x9c, 0xfd, 0xb5, 0x2, 0x4b, 0xfd, 0x22, 0x3, 0x71, 0x2, 0x64, 0x85, 0x90, 0x7c, 0x91, 0x5b, 0x7c, 0x1, 0x1, 0xfd, 0xb5, 0x93, 0x0, 0x0, 0x3, 0xff, 0xec, 0x0, 0x0, 0x5, 0xf3, 0x5, 0xd5, 0x0, 0xa, 0x0, 0xe, 0x0, 0x21, 0x0, 0x3c, 0x40, 0x11, 0x20, 0x23, 0x4, 0x5, 0x1c, 0x19, 0x1f, 0x0, 0x1c, 0x14, 0xe, 0xc, 0x1c, 0x12, 0x4, 0x10, 0x22, 0x10, 0xc4, 0xfc, 0xec, 0xd4, 0x3c, 0xfc, 0x3c, 0xd4, 0xec, 0xfc, 0xc4, 0x31, 0x0, 0x40, 0xe, 0x1e, 0xb, 0xa0, 0x1, 0x13, 0xa, 0xa0, 0x15, 0x81, 0x11, 0xd, 0x20, 0xa0, 0xf, 0x2f, 0xec, 0x32, 0x32, 0xf4, 0xec, 0xdc, 0x3c, 0xec, 0x32, 0x30, 0x1, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2b, 0x1, 0x1, 0x11, 0x21, 0x11, 0x1, 0x35, 0x33, 0x11, 0x21, 0x11, 0x21, 0x32, 0x17, 0x16, 0x15, 0x6, 0x7, 0x6, 0x2f, 0x1, 0x11, 0x21, 0x15, 0x3, 0x6d, 0xa8, 0x5d, 0x25, 0x1f, 0x1f, 0x1d, 0x69, 0xa4, 0xfe, 0xd, 0x1, 0x3b, 0xfd, 0x37, 0xd5, 0x1, 0xf4, 0x1, 0xb0, 0x84, 0x40, 0x45, 0x1, 0x44, 0x5c, 0x8c, 0xd4, 0x2, 0x86, 0x3, 0x71, 0x51, 0x45, 0x3d, 0x3c, 0x64, 0x5e, 0xfd, 0x9c, 0xfd, 0xb5, 0x2, 0x4b, 0xfd, 0x22, 0x93, 0x2, 0xde, 0x2, 0x64, 0x85, 0x90, 0x7c, 0x91, 0x5b, 0x7c, 0x1, 0x1, 0xfd, 0xb5, 0x93, 0x0, 0x0, 0x3, 0xff, 0xec, 0x0, 0x0, 0x5, 0x6e, 0x5, 0xd5, 0x0, 0xa, 0x0, 0xe, 0x0, 0x1f, 0x0, 0x38, 0x40, 0x10, 0x21, 0x4, 0x5, 0x1c, 0x1a, 0xf, 0x0, 0x1c, 0x15, 0xe, 0xc, 0x1c, 0x13, 0x4, 0x11, 0x20, 0x10, 0xc4, 0xfc, 0xec, 0xd4, 0x3c, 0xfc, 0x3c, 0xd4, 0xec, 0xec, 0x31, 0x0, 0x40, 0xd, 0x1f, 0xb, 0xa0, 0x1, 0x14, 0xa, 0xa0, 0x16, 0x81, 0x12, 0xd, 0xa0, 0x10, 0x2f, 0xec, 0x32, 0xf4, 0xec, 0xdc, 0x3c, 0xec, 0x32, 0x30, 0x1, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2b, 0x1, 0x1, 0x11, 0x21, 0x11, 0x13, 0x21, 0x35, 0x33, 0x11, 0x21, 0x11, 0x21, 0x32, 0x17, 0x16, 0x15, 0x6, 0x7, 0x6, 0x2f, 0x1, 0x3, 0x6d, 0xa8, 0x5d, 0x25, 0x1f, 0x1f, 0x1d, 0x69, 0xa4, 0xfe, 0xd, 0x1, 0x3b, 0xb8, 0xfc, 0x7f, 0xd5, 0x1, 0xf4, 0x1, 0xb0, 0x84, 0x40, 0x45, 0x1, 0x44, 0x5c, 0x8c, 0xd4, 0x3, 0x71, 0x51, 0x45, 0x3d, 0x3c, 0x64, 0x5e, 0xfd, 0x9c, 0xfd, 0xb5, 0x2, 0x4b, 0xfd, 0x22, 0x93, 0x2, 0xde, 0x2, 0x64, 0x85, 0x90, 0x7c, 0x91, 0x5b, 0x7c, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc1, 0x0, 0x0, 0x4, 0x51, 0x5, 0xd5, 0x0, 0xd, 0x0, 0x2e, 0x40, 0xd, 0xc, 0xf, 0x4, 0xb, 0x1c, 0x9, 0x1, 0x7, 0x3, 0x1c, 0x5, 0x4, 0xe, 0x10, 0xfc, 0xfc, 0x3c, 0xdc, 0x3c, 0xfc, 0xfc, 0xc4, 0x31, 0x0, 0x40, 0xa, 0x4, 0x2, 0xa0, 0x6, 0x8, 0xa, 0x81, 0xc, 0xa0, 0x0, 0x2f, 0xec, 0xf4, 0xdc, 0xcc, 0xfc, 0xcc, 0x30, 0x21, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x15, 0x2, 0xc5, 0xfe, 0xb5, 0xb9, 0xb9, 0x1, 0x4b, 0xb8, 0xd4, 0x3, 0x81, 0xfe, 0xfc, 0x2, 0x9b, 0xfe, 0xfc, 0x1, 0xc1, 0xfa, 0xbe, 0x93, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x4, 0x51, 0x5, 0xd5, 0x0, 0xf, 0x0, 0x32, 0x40, 0xe, 0xe, 0x11, 0x4, 0xd, 0x1c, 0xb, 0x3, 0x9, 0x5, 0x1c, 0x7, 0x4, 0x1, 0x10, 0x10, 0xc4, 0xfc, 0xfc, 0x3c, 0xdc, 0x3c, 0xfc, 0xfc, 0xc4, 0x31, 0x0, 0x40, 0xb, 0x6, 0x4, 0xa0, 0x8, 0xa, 0xc, 0x81, 0x2, 0xe, 0xa0, 0x0, 0x2f, 0xec, 0x32, 0xf4, 0xdc, 0xcc, 0xfc, 0xcc, 0x30, 0x23, 0x35, 0x21, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x15, 0x14, 0x2, 0xd9, 0xfe, 0xb5, 0xb9, 0xb9, 0x1, 0x4b, 0xb8, 0xd4, 0x93, 0x2, 0xee, 0xfe, 0xfc, 0x2, 0x9b, 0xfe, 0xfc, 0x1, 0xc1, 0xfa, 0xbe, 0x93, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x3, 0x7d, 0x5, 0xd5, 0x0, 0xd, 0x0, 0x2e, 0x40, 0xd, 0xf, 0x4, 0xc, 0x1c, 0xb, 0x3, 0x9, 0x5, 0x1c, 0x7, 0x4, 0x1, 0xe, 0x10, 0xc4, 0xfc, 0xfc, 0x3c, 0xdc, 0x3c, 0xfc, 0xec, 0x31, 0x0, 0x40, 0xa, 0x6, 0x4, 0xa0, 0x8, 0xa, 0xc, 0x81, 0x2, 0xa0, 0x0, 0x2f, 0xec, 0xf4, 0xdc, 0xcc, 0xfc, 0xcc, 0x30, 0x23, 0x35, 0x21, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x14, 0x2, 0xd9, 0xfe, 0xb5, 0xb9, 0xb9, 0x1, 0x4b, 0xb8, 0x93, 0x2, 0xee, 0xfe, 0xfc, 0x2, 0x9b, 0xfe, 0xfc, 0x1, 0xc1, 0xfa, 0x2b, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x70, 0x0, 0x0, 0x5, 0xdf, 0x5, 0xd5, 0x0, 0xa, 0x0, 0x1d, 0x0, 0x33, 0x40, 0xe, 0x1c, 0x1f, 0x4, 0x18, 0x1f, 0x16, 0x1a, 0x1c, 0xb, 0x1, 0x7, 0x11, 0x1b, 0x1e, 0x10, 0xfc, 0xcc, 0xd4, 0x3c, 0xfc, 0x3c, 0xfc, 0xfc, 0xc4, 0x31, 0x0, 0x40, 0xc, 0x19, 0xc, 0xa0, 0x0, 0x17, 0x2, 0xa0, 0x15, 0x81, 0x1b, 0xa0, 0x1d, 0x2f, 0xec, 0xf4, 0xec, 0xd4, 0x3c, 0xec, 0x32, 0x30, 0x1, 0x21, 0x11, 0x21, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x1, 0x11, 0x21, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x1, 0xdc, 0x1, 0x30, 0xfe, 0xd4, 0x52, 0x34, 0x2c, 0x2c, 0x3d, 0x1, 0x6e, 0xfe, 0xab, 0x6b, 0x7d, 0x58, 0x58, 0x58, 0x6c, 0x2, 0x32, 0x1, 0x4c, 0xfe, 0xb4, 0x2, 0x21, 0x2, 0xf7, 0x2, 0x4b, 0x5d, 0x4f, 0x7a, 0x7d, 0x49, 0x5f, 0xfd, 0x9, 0x2, 0x64, 0x87, 0x5f, 0xd2, 0xad, 0x87, 0x85, 0xfd, 0x22, 0x93, 0xfe, 0x2f, 0x93, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x5, 0xdf, 0x5, 0xd5, 0x0, 0xa, 0x0, 0x1f, 0x0, 0x37, 0x40, 0xf, 0x1e, 0x21, 0x4, 0x1a, 0x1f, 0x18, 0x1c, 0x1c, 0xd, 0x1, 0x7, 0x13, 0x1b, 0xc, 0x20, 0x10, 0xc4, 0xfc, 0xcc, 0xd4, 0x3c, 0xfc, 0x3c, 0xfc, 0xfc, 0xc4, 0x31, 0x0, 0x40, 0xd, 0x1b, 0xe, 0xa0, 0x0, 0x19, 0x2, 0xa0, 0x17, 0x81, 0x1d, 0xd, 0xa0, 0x1f, 0x2f, 0xec, 0x32, 0xf4, 0xec, 0xd4, 0x3c, 0xec, 0x32, 0x30, 0x1, 0x21, 0x11, 0x21, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x1, 0x35, 0x21, 0x11, 0x21, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x1, 0xdc, 0x1, 0x30, 0xfe, 0xd4, 0x52, 0x34, 0x2c, 0x2c, 0x3d, 0xfe, 0x55, 0x3, 0x19, 0xfe, 0xab, 0x6b, 0x7d, 0x58, 0x58, 0x58, 0x6c, 0x2, 0x32, 0x1, 0x4c, 0xfe, 0xb4, 0x2, 0x21, 0x2, 0xf7, 0x2, 0x4b, 0x5d, 0x4f, 0x7a, 0x7d, 0x49, 0x5f, 0xfd, 0x9, 0x93, 0x1, 0xd1, 0x87, 0x5f, 0xd2, 0xad, 0x87, 0x85, 0xfd, 0x22, 0x93, 0xfe, 0x2f, 0x93, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x5, 0xa, 0x5, 0xd5, 0x0, 0xa, 0x0, 0x1d, 0x0, 0x33, 0x40, 0xe, 0x1f, 0x4, 0x1a, 0x1f, 0x18, 0x1c, 0x1c, 0xd, 0x1, 0x7, 0x13, 0x1b, 0xc, 0x1e, 0x10, 0xc4, 0xfc, 0xcc, 0xd4, 0x3c, 0xfc, 0x3c, 0xfc, 0xec, 0x31, 0x0, 0x40, 0xc, 0x1b, 0xe, 0xa0, 0x0, 0x19, 0x2, 0xa0, 0x17, 0x81, 0xd, 0xa0, 0x1d, 0x2f, 0xec, 0xf4, 0xec, 0xd4, 0x3c, 0xec, 0x32, 0x30, 0x1, 0x21, 0x11, 0x21, 0x22, 0x7, 0x6, 0x15, 0x14, 0x17, 0x16, 0x1, 0x35, 0x21, 0x11, 0x21, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x1, 0xdc, 0x1, 0x30, 0xfe, 0xd4, 0x52, 0x34, 0x2c, 0x2c, 0x3d, 0xfe, 0x55, 0x3, 0x19, 0xfe, 0xab, 0x6b, 0x7d, 0x58, 0x58, 0x58, 0x6c, 0x2, 0x32, 0x1, 0x4c, 0xfe, 0xb4, 0x2, 0xf7, 0x2, 0x4b, 0x5d, 0x4f, 0x7a, 0x7d, 0x49, 0x5f, 0xfd, 0x9, 0x93, 0x1, 0xd1, 0x87, 0x5f, 0xd2, 0xad, 0x87, 0x85, 0xfd, 0x22, 0x93, 0xfd, 0x9c, 0x0, 0x1, 0x0, 0x3d, 0x0, 0x0, 0x3, 0xdc, 0x5, 0xd5, 0x0, 0x9, 0x0, 0x24, 0x40, 0xa, 0x8, 0xb, 0x4, 0x1f, 0x6, 0x1c, 0x0, 0x1f, 0x2, 0xa, 0x10, 0xdc, 0xfc, 0xfc, 0xfc, 0xdc, 0xc4, 0x31, 0x0, 0xb7, 0x1, 0x6, 0xa0, 0x3, 0x81, 0x7, 0xa0, 0x9, 0x2f, 0xec, 0xf4, 0xec, 0x32, 0x30, 0x21, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x1, 0x88, 0xfe, 0xb5, 0x3, 0x4e, 0xfe, 0xb5, 0x1, 0x9c, 0x5, 0x42, 0x93, 0x93, 0xfb, 0x51, 0x93, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x3, 0xdc, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x29, 0x40, 0xb, 0xa, 0xd, 0x6, 0x1f, 0x8, 0x1c, 0x2, 0x1f, 0x4, 0x1, 0xc, 0x10, 0xc4, 0xdc, 0xfc, 0xfc, 0xfc, 0xdc, 0xc4, 0x31, 0x0, 0x40, 0x9, 0x8, 0x3, 0xa0, 0x6, 0x81, 0x2, 0x9, 0xa0, 0x0, 0x2f, 0xec, 0x32, 0xf4, 0xec, 0x32, 0x30, 0x23, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x14, 0x1, 0x9c, 0xfe, 0xb5, 0x3, 0x4e, 0xfe, 0xb5, 0x1, 0x9c, 0x93, 0x4, 0xaf, 0x93, 0x93, 0xfb, 0x51, 0x93, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x3, 0x8b, 0x5, 0xd5, 0x0, 0x9, 0x0, 0x24, 0x40, 0xa, 0xb, 0x7, 0x1f, 0x9, 0x1c, 0x3, 0x1f, 0x5, 0x2, 0xa, 0x10, 0xc4, 0xdc, 0xfc, 0xfc, 0xfc, 0xcc, 0x31, 0x0, 0xb7, 0x9, 0x4, 0xa0, 0x6, 0x81, 0x3, 0xa0, 0x0, 0x2f, 0xec, 0xf4, 0xec, 0x32, 0x30, 0x29, 0x1, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x2, 0x40, 0xfd, 0xac, 0x1, 0x9c, 0xfe, 0xb5, 0x3, 0x4e, 0xfe, 0xb5, 0x93, 0x4, 0xaf, 0x93, 0x93, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x3d, 0x0, 0x0, 0x5, 0x14, 0x5, 0xd5, 0x0, 0x2, 0x0, 0x8, 0x0, 0x40, 0xb3, 0x8, 0xa, 0x3, 0x9, 0x10, 0xd4, 0xc4, 0xc4, 0x31, 0x0, 0x40, 0x9, 0x42, 0x1, 0x95, 0x5, 0x81, 0x6, 0x2, 0xa0, 0x3, 0x2f, 0xec, 0x32, 0xf4, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x12, 0x1, 0x11, 0x5, 0x2, 0x1, 0x0, 0x11, 0x6, 0x6, 0x5, 0x1, 0x11, 0x4, 0x2, 0x11, 0x3, 0x3, 0x4, 0x5, 0x7, 0x10, 0xec, 0x10, 0xec, 0x7, 0x10, 0xec, 0x8, 0x10, 0xec, 0x59, 0x25, 0x9, 0x1, 0x7, 0x1, 0x33, 0x1, 0x33, 0x15, 0x3, 0xc6, 0xfe, 0xba, 0xfe, 0xba, 0xfd, 0x1, 0xd0, 0xe6, 0x1, 0x98, 0x89, 0x93, 0x4, 0x82, 0xfb, 0x7e, 0x93, 0x5, 0xd5, 0xfa, 0xbe, 0x93, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x5, 0x14, 0x5, 0xd5, 0x0, 0x2, 0x0, 0xa, 0x0, 0x42, 0xb3, 0x9, 0xc, 0x4, 0xb, 0x10, 0xc4, 0xc4, 0xc4, 0x31, 0x0, 0x40, 0xa, 0x42, 0x1, 0x95, 0x6, 0x81, 0x8, 0x4, 0x2, 0xa0, 0x3, 0x2f, 0xec, 0x32, 0x32, 0xf4, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x12, 0x1, 0x11, 0x7, 0x2, 0x1, 0x0, 0x11, 0x8, 0x8, 0x7, 0x1, 0x11, 0x6, 0x2, 0x11, 0x5, 0x5, 0x6, 0x5, 0x7, 0x10, 0xec, 0x10, 0xec, 0x7, 0x10, 0xec, 0x8, 0x10, 0xec, 0x59, 0x25, 0x9, 0x1, 0x5, 0x35, 0x33, 0x1, 0x33, 0x1, 0x33, 0x15, 0x3, 0xc6, 0xfe, 0xba, 0xfe, 0xba, 0xfe, 0xb2, 0x89, 0x1, 0x98, 0xe6, 0x1, 0x98, 0x89, 0x93, 0x4, 0x82, 0xfb, 0x7e, 0x93, 0x93, 0x5, 0x42, 0xfa, 0xbe, 0x93, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x4, 0xc3, 0x5, 0xd5, 0x0, 0x2, 0x0, 0x8, 0x0, 0x40, 0xb3, 0xa, 0x8, 0x4, 0x9, 0x10, 0xc4, 0xc4, 0xc4, 0x31, 0x0, 0x40, 0x9, 0x42, 0x1, 0x95, 0x6, 0x81, 0x4, 0x2, 0xa0, 0x3, 0x2f, 0xec, 0x32, 0xf4, 0xec, 0x30, 0x4b, 0x53, 0x58, 0x40, 0x12, 0x1, 0x11, 0x7, 0x2, 0x1, 0x0, 0x11, 0x8, 0x8, 0x7, 0x1, 0x11, 0x6, 0x2, 0x11, 0x5, 0x5, 0x6, 0x5, 0x7, 0x10, 0xec, 0x10, 0xec, 0x7, 0x10, 0xec, 0x8, 0x10, 0xec, 0x59, 0x25, 0x9, 0x1, 0x5, 0x35, 0x33, 0x1, 0x33, 0x1, 0x3, 0xc6, 0xfe, 0xba, 0xfe, 0xba, 0xfe, 0xb2, 0x89, 0x1, 0x98, 0xe6, 0x1, 0xd0, 0x93, 0x4, 0x82, 0xfb, 0x7e, 0x93, 0x93, 0x5, 0x42, 0xfa, 0x2b, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0x0, 0x0, 0x4, 0xd4, 0x5, 0xd5, 0x0, 0x1c, 0x0, 0x28, 0x0, 0x0, 0x21, 0x11, 0x26, 0x27, 0x2e, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x35, 0x21, 0x35, 0x21, 0x11, 0x16, 0x17, 0x1e, 0x1, 0x14, 0x6, 0x7, 0x6, 0x7, 0x15, 0x21, 0x15, 0x0, 0x14, 0x1e, 0x1, 0x32, 0x3e, 0x1, 0x34, 0x2e, 0x1, 0x22, 0x6, 0x2, 0x4, 0x52, 0x4a, 0x72, 0x85, 0x43, 0x45, 0x6f, 0x4a, 0x52, 0xfe, 0xb5, 0x2, 0x3, 0x58, 0x45, 0x72, 0x84, 0x84, 0x72, 0x4a, 0x53, 0x2, 0x18, 0xfc, 0x39, 0x5b, 0x9c, 0xb8, 0x9d, 0x5a, 0x5a, 0x9d, 0xb8, 0x9c, 0x1, 0x86, 0xb, 0x1f, 0x31, 0xa6, 0xc6, 0x53, 0x56, 0x2f, 0x1f, 0xb, 0xf3, 0x93, 0xfe, 0x7b, 0xd, 0x1e, 0x32, 0xa6, 0xc6, 0xa6, 0x31, 0x20, 0xb, 0xf2, 0x93, 0x3, 0x22, 0x70, 0x5f, 0x38, 0x38, 0x5f, 0x70, 0x60, 0x38, 0x38, 0x0, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x4, 0xd4, 0x5, 0xd5, 0x0, 0x1e, 0x0, 0x2a, 0x0, 0x0, 0x23, 0x35, 0x21, 0x35, 0x26, 0x27, 0x2e, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x35, 0x21, 0x35, 0x21, 0x11, 0x16, 0x17, 0x1e, 0x1, 0x14, 0x6, 0x7, 0x6, 0x7, 0x15, 0x21, 0x15, 0x0, 0x14, 0x1e, 0x1, 0x32, 0x3e, 0x1, 0x34, 0x2e, 0x1, 0x22, 0x6, 0x14, 0x2, 0x18, 0x52, 0x4a, 0x72, 0x85, 0x43, 0x45, 0x6f, 0x4a, 0x52, 0xfe, 0xb5, 0x2, 0x3, 0x58, 0x45, 0x72, 0x84, 0x84, 0x72, 0x4a, 0x53, 0x2, 0x18, 0xfc, 0x39, 0x5b, 0x9c, 0xb8, 0x9d, 0x5a, 0x5a, 0x9d, 0xb8, 0x9c, 0x93, 0xf3, 0xb, 0x1f, 0x31, 0xa6, 0xc6, 0x53, 0x56, 0x2f, 0x1f, 0xb, 0xf3, 0x93, 0xfe, 0x7b, 0xd, 0x1e, 0x32, 0xa6, 0xc6, 0xa6, 0x31, 0x20, 0xb, 0xf2, 0x93, 0x3, 0x22, 0x70, 0x5f, 0x38, 0x38, 0x5f, 0x70, 0x60, 0x38, 0x38, 0x0, 0x0, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x4, 0x4f, 0x5, 0xd5, 0x0, 0x1c, 0x0, 0x28, 0x0, 0x0, 0x23, 0x35, 0x21, 0x35, 0x26, 0x27, 0x2e, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x35, 0x21, 0x35, 0x21, 0x11, 0x16, 0x17, 0x1e, 0x1, 0x14, 0x6, 0x7, 0x6, 0x7, 0x11, 0x0, 0x14, 0x1e, 0x1, 0x32, 0x3e, 0x1, 0x34, 0x2e, 0x1, 0x22, 0x6, 0x14, 0x2, 0x18, 0x52, 0x4a, 0x72, 0x85, 0x43, 0x45, 0x6f, 0x4a, 0x52, 0xfe, 0xb5, 0x2, 0x3, 0x58, 0x45, 0x72, 0x84, 0x84, 0x72, 0x4a, 0x53, 0xfe, 0x51, 0x5b, 0x9c, 0xb8, 0x9d, 0x5a, 0x5a, 0x9d, 0xb8, 0x9c, 0x93, 0xf3, 0xb, 0x1f, 0x31, 0xa6, 0xc6, 0x53, 0x56, 0x2f, 0x1f, 0xb, 0xf3, 0x93, 0xfe, 0x7b, 0xd, 0x1e, 0x32, 0xa6, 0xc6, 0xa6, 0x31, 0x20, 0xb, 0xfe, 0x7b, 0x3, 0x22, 0x70, 0x5f, 0x38, 0x38, 0x5f, 0x70, 0x60, 0x38, 0x38, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc1, 0x0, 0x0, 0x4, 0x51, 0x5, 0xd5, 0x0, 0x9, 0x0, 0x25, 0x40, 0xb, 0x8, 0xb, 0x4, 0x1, 0x1c, 0x7, 0x3, 0x1c, 0x5, 0x4, 0xa, 0x10, 0xfc, 0xec, 0xd4, 0xec, 0xfc, 0xc4, 0x31, 0x0, 0xb7, 0x4, 0x2, 0xa0, 0x5, 0x81, 0x7, 0xa0, 0x0, 0x2f, 0xec, 0xf4, 0xfc, 0xcc, 0x30, 0x21, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x33, 0x15, 0x2, 0xc5, 0xfe, 0xb5, 0xb9, 0x2, 0xbc, 0xd4, 0x5, 0x42, 0xfe, 0xc5, 0x1, 0xce, 0xfa, 0xbe, 0x93, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x4, 0x51, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x2a, 0x40, 0xc, 0xa, 0xd, 0x4, 0x2, 0x1c, 0x8, 0x4, 0x1c, 0x6, 0x4, 0x1, 0xc, 0x10, 0xc4, 0xfc, 0xec, 0xd4, 0xec, 0xfc, 0xc4, 0x31, 0x0, 0x40, 0x9, 0x5, 0x4, 0xa0, 0x8, 0x81, 0x2, 0x9, 0xa0, 0x0, 0x2f, 0xec, 0x32, 0xf4, 0xfc, 0xcc, 0x30, 0x23, 0x35, 0x21, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x33, 0x15, 0x14, 0x2, 0xd9, 0xfe, 0xb5, 0xb9, 0x2, 0xbc, 0xd4, 0x93, 0x4, 0xaf, 0xfe, 0xc5, 0x1, 0xce, 0xfa, 0xbe, 0x93, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x3, 0x7d, 0x5, 0xd5, 0x0, 0x9, 0x0, 0x25, 0x40, 0xb, 0xb, 0x4, 0x3, 0x1c, 0x9, 0x5, 0x1c, 0x7, 0x4, 0x1, 0xa, 0x10, 0xc4, 0xfc, 0xec, 0xd4, 0xec, 0xec, 0x31, 0x0, 0xb7, 0x6, 0x4, 0xa0, 0x8, 0x81, 0x2, 0xa0, 0x0, 0x2f, 0xec, 0xf4, 0xfc, 0xcc, 0x30, 0x23, 0x35, 0x21, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x14, 0x2, 0xd9, 0xfe, 0xb5, 0xb9, 0x2, 0xbc, 0x93, 0x4, 0xaf, 0xfe, 0xc5, 0x1, 0xce, 0xfa, 0x2b, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc1, 0x0, 0x0, 0x4, 0x51, 0x4, 0xe6, 0x0, 0xb, 0x0, 0x28, 0x40, 0xc, 0xb, 0xd, 0x4, 0x9, 0x1c, 0x1, 0x7, 0x3, 0x1c, 0x5, 0x4, 0xc, 0x10, 0xfc, 0xfc, 0x3c, 0xdc, 0xfc, 0xfc, 0xc4, 0x31, 0x0, 0xb7, 0x6, 0x8, 0xa0, 0x4, 0x2, 0xa, 0xa0, 0x0, 0x2f, 0xec, 0xd4, 0xcc, 0xfc, 0xcc, 0x30, 0x21, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x15, 0x2, 0xc5, 0xfe, 0xb5, 0xb9, 0xb9, 0x2, 0x3, 0xd4, 0x3, 0x4f, 0xfe, 0xfc, 0x2, 0x9b, 0xfe, 0xfc, 0xfc, 0xb1, 0x93, 0x0, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x4, 0x51, 0x4, 0xe6, 0x0, 0xd, 0x0, 0x2d, 0x40, 0xd, 0xd, 0xf, 0x4, 0xb, 0x1c, 0x3, 0x9, 0x5, 0x1c, 0x7, 0x4, 0x1, 0xe, 0x10, 0xc4, 0xfc, 0xfc, 0x3c, 0xdc, 0xfc, 0xfc, 0xc4, 0x31, 0x0, 0x40, 0x9, 0x8, 0xa, 0xa0, 0x6, 0x4, 0x2, 0xc, 0xa0, 0x0, 0x2f, 0xec, 0x32, 0xd4, 0xcc, 0xfc, 0xcc, 0x30, 0x23, 0x35, 0x21, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x15, 0x14, 0x2, 0xd9, 0xfe, 0xb5, 0xb9, 0xb9, 0x2, 0x3, 0xd4, 0x93, 0x2, 0xbc, 0xfe, 0xfc, 0x2, 0x9b, 0xfe, 0xfc, 0xfc, 0xb1, 0x93, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x3, 0x7d, 0x4, 0xe6, 0x0, 0xb, 0x0, 0x28, 0x40, 0xc, 0xd, 0x4, 0xb, 0x1c, 0x3, 0x9, 0x5, 0x1c, 0x7, 0x4, 0x1, 0xc, 0x10, 0xc4, 0xfc, 0xfc, 0x3c, 0xdc, 0xfc, 0xec, 0x31, 0x0, 0xb7, 0x8, 0xa, 0xa0, 0x6, 0x4, 0x2, 0xa0, 0x0, 0x2f, 0xec, 0xd4, 0xcc, 0xfc, 0xcc, 0x30, 0x23, 0x35, 0x21, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x14, 0x2, 0xd9, 0xfe, 0xb5, 0xb9, 0xb9, 0x2, 0x3, 0x93, 0x2, 0xbc, 0xfe, 0xfc, 0x2, 0x9b, 0xfe, 0xfc, 0xfc, 0x1e, 0x0, 0x0, 0x0, 0x2, 0x0, 0xc1, 0x0, 0x0, 0x4, 0x42, 0x5, 0xd5, 0x0, 0x3, 0x0, 0xd, 0x0, 0x2f, 0x40, 0xd, 0xd, 0xf, 0x4, 0xb, 0x1c, 0x7, 0x3, 0x1, 0x1c, 0x5, 0x9, 0x4, 0xe, 0x10, 0xfc, 0x3c, 0xec, 0xdc, 0x3c, 0xfc, 0xfc, 0xc4, 0x31, 0x0, 0x40, 0xb, 0x0, 0xa0, 0x6, 0x8, 0xa0, 0xa, 0x81, 0x2, 0xc, 0xa0, 0x4, 0x2f, 0xec, 0x32, 0xf4, 0xec, 0xd4, 0xec, 0x30, 0x1, 0x11, 0x21, 0x11, 0x1, 0x11, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x15, 0x1, 0x7a, 0x1, 0x3b, 0xfe, 0xc, 0x1, 0xf4, 0xfe, 0xc, 0x2, 0xac, 0xd5, 0x2, 0xde, 0xfd, 0xb5, 0x2, 0x4b, 0xfd, 0x22, 0x3, 0x71, 0x1, 0xd1, 0x93, 0xfa, 0xbe, 0x93, 0x0, 0x0, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x4, 0x42, 0x5, 0xd5, 0x0, 0x3, 0x0, 0xf, 0x0, 0x33, 0x40, 0xe, 0xf, 0x11, 0x4, 0xd, 0x1c, 0x9, 0x3, 0x1, 0x1c, 0x7, 0xb, 0x4, 0x5, 0x10, 0x10, 0xc4, 0xfc, 0x3c, 0xec, 0xdc, 0x3c, 0xfc, 0xfc, 0xc4, 0x31, 0x0, 0x40, 0xc, 0x0, 0xa0, 0x8, 0xa, 0xa0, 0xc, 0x81, 0x6, 0x2, 0xe, 0xa0, 0x4, 0x2f, 0xec, 0x32, 0x32, 0xf4, 0xec, 0xd4, 0xec, 0x30, 0x1, 0x11, 0x21, 0x11, 0x1, 0x35, 0x33, 0x11, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x15, 0x1, 0x7a, 0x1, 0x3b, 0xfd, 0x37, 0xd5, 0x1, 0xf4, 0xfe, 0xc, 0x2, 0xac, 0xd5, 0x2, 0xde, 0xfd, 0xb5, 0x2, 0x4b, 0xfd, 0x22, 0x93, 0x2, 0xde, 0x1, 0xd1, 0x93, 0xfa, 0xbe, 0x93, 0x0, 0x0, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x3, 0x6d, 0x5, 0xd5, 0x0, 0x3, 0x0, 0xd, 0x0, 0x2f, 0x40, 0xd, 0xf, 0x4, 0xd, 0x1c, 0x9, 0x3, 0x1, 0x1c, 0x7, 0xb, 0x4, 0x5, 0xe, 0x10, 0xc4, 0xfc, 0x3c, 0xec, 0xdc, 0x3c, 0xfc, 0xec, 0x31, 0x0, 0x40, 0xb, 0x0, 0xa0, 0x8, 0xa, 0xa0, 0xc, 0x81, 0x6, 0x2, 0xa0, 0x4, 0x2f, 0xec, 0x32, 0xf4, 0xec, 0xd4, 0xec, 0x30, 0x1, 0x11, 0x21, 0x11, 0x1, 0x35, 0x33, 0x11, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x1, 0x7a, 0x1, 0x3b, 0xfd, 0x37, 0xd5, 0x1, 0xf4, 0xfe, 0xc, 0x2, 0xac, 0x2, 0xde, 0xfd, 0xb5, 0x2, 0x4b, 0xfd, 0x22, 0x93, 0x2, 0xde, 0x1, 0xd1, 0x93, 0xfa, 0x2b, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0x0, 0x0, 0x4, 0xd4, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x26, 0x0, 0x42, 0x40, 0x10, 0x25, 0x28, 0x45, 0x7, 0x1c, 0x1f, 0x1a, 0x23, 0x1c, 0x17, 0xd, 0x1, 0x1c, 0x12, 0x45, 0x27, 0x10, 0xfc, 0xec, 0xdc, 0xb2, 0x40, 0xd, 0x1, 0x5d, 0x3c, 0xfc, 0x3c, 0xdc, 0xb2, 0x40, 0x1f, 0x1, 0x5d, 0xec, 0xfc, 0xc4, 0x31, 0x0, 0x40, 0xd, 0x4, 0x95, 0x23, 0xd, 0xa, 0x95, 0x1a, 0x17, 0x19, 0x81, 0x24, 0xa0, 0xc, 0x2f, 0xec, 0xec, 0xd4, 0x3c, 0xec, 0xd4, 0x3c, 0xec, 0x30, 0x0, 0x14, 0x1e, 0x1, 0x32, 0x3e, 0x1, 0x34, 0x2e, 0x1, 0x22, 0x6, 0x13, 0x11, 0x26, 0x27, 0x2e, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x11, 0x33, 0x11, 0x16, 0x17, 0x1e, 0x1, 0x14, 0x6, 0x7, 0x6, 0x7, 0x15, 0x21, 0x15, 0x1, 0xd, 0x5b, 0x9c, 0xb8, 0x9d, 0x5a, 0x5a, 0x9d, 0xb8, 0x9c, 0x9c, 0x52, 0x4a, 0x72, 0x85, 0x43, 0x45, 0x6f, 0x4a, 0x52, 0xb8, 0x58, 0x45, 0x72, 0x84, 0x84, 0x72, 0x4a, 0x53, 0x2, 0x18, 0x3, 0x22, 0x70, 0x5f, 0x38, 0x38, 0x5f, 0x70, 0x60, 0x38, 0x38, 0xfc, 0x7e, 0x1, 0x86, 0xb, 0x1f, 0x31, 0xa6, 0xc6, 0x53, 0x56, 0x2f, 0x1f, 0xb, 0x1, 0x86, 0xfe, 0x7b, 0xd, 0x1e, 0x32, 0xa6, 0xc6, 0xa6, 0x31, 0x20, 0xb, 0xf2, 0x93, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x4, 0xd4, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x28, 0x0, 0x46, 0x40, 0x11, 0xc, 0x2a, 0x45, 0x7, 0x1c, 0x23, 0x1e, 0x27, 0x1c, 0x1b, 0x11, 0x1, 0x1c, 0x16, 0x45, 0xf, 0x29, 0x10, 0xc4, 0xfc, 0xec, 0xdc, 0xb2, 0x40, 0x11, 0x1, 0x5d, 0x3c, 0xfc, 0x3c, 0xdc, 0xb2, 0x40, 0x23, 0x1, 0x5d, 0xec, 0xfc, 0xc4, 0x31, 0x0, 0x40, 0xe, 0x4, 0x95, 0x27, 0x11, 0xa, 0x95, 0x1e, 0x1b, 0x1d, 0x81, 0x28, 0x10, 0xa0, 0xe, 0x2f, 0xec, 0x32, 0xec, 0xd4, 0x3c, 0xec, 0xd4, 0x3c, 0xec, 0x30, 0x0, 0x14, 0x1e, 0x1, 0x32, 0x3e, 0x1, 0x34, 0x2e, 0x1, 0x22, 0x6, 0x1, 0x15, 0x21, 0x35, 0x21, 0x35, 0x26, 0x27, 0x2e, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x11, 0x33, 0x11, 0x16, 0x17, 0x1e, 0x1, 0x14, 0x6, 0x7, 0x6, 0x7, 0x15, 0x1, 0xd, 0x5b, 0x9c, 0xb8, 0x9d, 0x5a, 0x5a, 0x9d, 0xb8, 0x9c, 0x3, 0x6c, 0xfb, 0x18, 0x2, 0x18, 0x52, 0x4a, 0x72, 0x85, 0x43, 0x45, 0x6f, 0x4a, 0x52, 0xb8, 0x58, 0x45, 0x72, 0x84, 0x84, 0x72, 0x4a, 0x53, 0x3, 0x22, 0x70, 0x5f, 0x38, 0x38, 0x5f, 0x70, 0x60, 0x38, 0x38, 0xfd, 0x11, 0x93, 0x93, 0xf3, 0xb, 0x1f, 0x31, 0xa6, 0xc6, 0x53, 0x56, 0x2f, 0x1f, 0xb, 0x1, 0x86, 0xfe, 0x7b, 0xd, 0x1e, 0x32, 0xa6, 0xc6, 0xa6, 0x31, 0x20, 0xb, 0xf2, 0x0, 0x0, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x4, 0x4f, 0x5, 0xd5, 0x0, 0xb, 0x0, 0x26, 0x0, 0x42, 0x40, 0x10, 0x28, 0x45, 0x7, 0x1c, 0x1f, 0x1a, 0x23, 0x1c, 0x17, 0xd, 0x1, 0x1c, 0x12, 0x45, 0x26, 0x27, 0x10, 0xc4, 0xfc, 0xec, 0xdc, 0xb2, 0x40, 0xd, 0x1, 0x5d, 0x3c, 0xfc, 0x3c, 0xdc, 0xb2, 0x40, 0x1f, 0x1, 0x5d, 0xec, 0xec, 0x31, 0x0, 0x40, 0xd, 0x4, 0x95, 0x23, 0xd, 0xa, 0x95, 0x1a, 0x17, 0x19, 0x81, 0xc, 0xa0, 0x25, 0x2f, 0xec, 0xec, 0xd4, 0x3c, 0xec, 0xd4, 0x3c, 0xec, 0x30, 0x0, 0x14, 0x1e, 0x1, 0x32, 0x3e, 0x1, 0x34, 0x2e, 0x1, 0x22, 0x6, 0x13, 0x35, 0x26, 0x27, 0x2e, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x11, 0x33, 0x11, 0x16, 0x17, 0x1e, 0x1, 0x14, 0x6, 0x7, 0x6, 0x7, 0x11, 0x21, 0x35, 0x1, 0xd, 0x5b, 0x9c, 0xb8, 0x9d, 0x5a, 0x5a, 0x9d, 0xb8, 0x9c, 0x9c, 0x52, 0x4a, 0x72, 0x85, 0x43, 0x45, 0x6f, 0x4a, 0x52, 0xb8, 0x58, 0x45, 0x72, 0x84, 0x84, 0x72, 0x4a, 0x53, 0xfd, 0x30, 0x3, 0x22, 0x70, 0x5f, 0x38, 0x38, 0x5f, 0x70, 0x60, 0x38, 0x38, 0xfd, 0x11, 0xf3, 0xb, 0x1f, 0x31, 0xa6, 0xc6, 0x53, 0x56, 0x2f, 0x1f, 0xb, 0x1, 0x86, 0xfe, 0x7b, 0xd, 0x1e, 0x32, 0xa6, 0xc6, 0xa6, 0x31, 0x20, 0xb, 0xfe, 0x7b, 0x93, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x71, 0x0, 0x0, 0x4, 0xd4, 0x5, 0xd5, 0x0, 0x1e, 0x0, 0x2a, 0x0, 0x0, 0x21, 0x11, 0x26, 0x27, 0x2e, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x35, 0x21, 0x35, 0x21, 0x15, 0x21, 0x15, 0x16, 0x17, 0x1e, 0x1, 0x14, 0x6, 0x7, 0x6, 0x7, 0x15, 0x21, 0x15, 0x0, 0x14, 0x1e, 0x1, 0x32, 0x3e, 0x1, 0x34, 0x2e, 0x1, 0x22, 0x6, 0x2, 0x4, 0x52, 0x4a, 0x72, 0x85, 0x43, 0x45, 0x6f, 0x4a, 0x52, 0xfe, 0xb5, 0x3, 0x4e, 0xfe, 0xb5, 0x58, 0x45, 0x72, 0x84, 0x84, 0x72, 0x4a, 0x53, 0x2, 0x18, 0xfc, 0x39, 0x5b, 0x9c, 0xb8, 0x9d, 0x5a, 0x5a, 0x9d, 0xb8, 0x9c, 0x1, 0x86, 0xb, 0x1f, 0x31, 0xa6, 0xc6, 0x53, 0x56, 0x2f, 0x1f, 0xb, 0xf3, 0x93, 0x93, 0xf2, 0xd, 0x1e, 0x32, 0xa6, 0xc6, 0xa6, 0x31, 0x20, 0xb, 0xf2, 0x93, 0x3, 0x22, 0x70, 0x5f, 0x38, 0x38, 0x5f, 0x70, 0x60, 0x38, 0x38, 0x0, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x4, 0xd4, 0x5, 0xd5, 0x0, 0x20, 0x0, 0x2c, 0x0, 0x0, 0x25, 0x15, 0x21, 0x35, 0x21, 0x35, 0x26, 0x27, 0x2e, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x35, 0x21, 0x35, 0x21, 0x15, 0x21, 0x15, 0x16, 0x17, 0x1e, 0x1, 0x14, 0x6, 0x7, 0x6, 0x7, 0x15, 0x0, 0x14, 0x1e, 0x1, 0x32, 0x3e, 0x1, 0x34, 0x2e, 0x1, 0x22, 0x6, 0x4, 0xd4, 0xfb, 0x18, 0x2, 0x18, 0x52, 0x4a, 0x72, 0x85, 0x43, 0x45, 0x6f, 0x4a, 0x52, 0xfe, 0xb5, 0x3, 0x4e, 0xfe, 0xb5, 0x58, 0x45, 0x72, 0x84, 0x84, 0x72, 0x4a, 0x53, 0xfe, 0x51, 0x5b, 0x9c, 0xb8, 0x9d, 0x5a, 0x5a, 0x9d, 0xb8, 0x9c, 0x93, 0x93, 0x93, 0xf3, 0xb, 0x1f, 0x31, 0xa6, 0xc6, 0x53, 0x56, 0x2f, 0x1f, 0xb, 0xf3, 0x93, 0x93, 0xf2, 0xd, 0x1e, 0x32, 0xa6, 0xc6, 0xa6, 0x31, 0x20, 0xb, 0xf2, 0x2, 0x8f, 0x70, 0x5f, 0x38, 0x38, 0x5f, 0x70, 0x60, 0x38, 0x38, 0x0, 0x2, 0xff, 0xec, 0x0, 0x0, 0x4, 0x4f, 0x5, 0xd5, 0x0, 0x1e, 0x0, 0x2a, 0x0, 0x0, 0x29, 0x1, 0x35, 0x21, 0x35, 0x26, 0x27, 0x2e, 0x1, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x35, 0x21, 0x35, 0x21, 0x15, 0x21, 0x15, 0x16, 0x17, 0x1e, 0x1, 0x14, 0x6, 0x7, 0x6, 0x7, 0x0, 0x14, 0x1e, 0x1, 0x32, 0x3e, 0x1, 0x34, 0x2e, 0x1, 0x22, 0x6, 0x2, 0xbc, 0xfd, 0x30, 0x2, 0x18, 0x52, 0x4a, 0x72, 0x85, 0x43, 0x45, 0x6f, 0x4a, 0x52, 0xfe, 0xb5, 0x3, 0x4e, 0xfe, 0xb5, 0x58, 0x45, 0x72, 0x84, 0x84, 0x72, 0x4a, 0x53, 0xfe, 0x51, 0x5b, 0x9c, 0xb8, 0x9d, 0x5a, 0x5a, 0x9d, 0xb8, 0x9c, 0x93, 0xf3, 0xb, 0x1f, 0x31, 0xa6, 0xc6, 0x53, 0x56, 0x2f, 0x1f, 0xb, 0xf3, 0x93, 0x93, 0xf2, 0xd, 0x1e, 0x32, 0xa6, 0xc6, 0xa6, 0x31, 0x20, 0xb, 0x1, 0x9d, 0x70, 0x5f, 0x38, 0x38, 0x5f, 0x70, 0x60, 0x38, 0x38, 0x0, 0xff, 0xff, 0xfc, 0xec, 0x3, 0xfb, 0xff, 0x10, 0x6, 0x20, 0x10, 0x7, 0x2, 0x9c, 0xfb, 0xfe, 0xff, 0x1a, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x2, 0x86, 0x6, 0x82, 0x5, 0xd5, 0x12, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x2, 0x86, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x3, 0xca, 0x10, 0x7, 0xf, 0x5c, 0x0, 0x0, 0x5, 0xd, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x2, 0x86, 0x6, 0x83, 0x5, 0xd5, 0x12, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x2, 0x86, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x1, 0x3, 0xc9, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x5, 0xd, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x2, 0x86, 0x6, 0x82, 0x5, 0xd5, 0x12, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x2, 0x86, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x3, 0xc9, 0x10, 0x7, 0xf, 0x5c, 0x0, 0x0, 0x5, 0xd, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x2, 0x86, 0x6, 0x82, 0x5, 0xd5, 0x12, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x2, 0x86, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x3, 0xc9, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x5, 0xd, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x2, 0x86, 0x6, 0x82, 0x5, 0xd5, 0x12, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x2, 0x86, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x3, 0xc9, 0x10, 0x7, 0xf, 0x5c, 0x0, 0x0, 0x5, 0xd, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x2, 0x86, 0x6, 0x82, 0x5, 0xd5, 0x12, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x2, 0x86, 0x10, 0x27, 0xf, 0x5c, 0x0, 0x0, 0x3, 0xc9, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x5, 0xd, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x2, 0x86, 0x6, 0x82, 0x5, 0xd5, 0x12, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x2, 0x86, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x3, 0xc9, 0x10, 0x7, 0xf, 0x5c, 0x0, 0x0, 0x5, 0xd, 0x0, 0x0, 0xff, 0xff, 0x0, 0xaa, 0x2, 0x86, 0x6, 0x82, 0x5, 0xd5, 0x12, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x2, 0x86, 0x10, 0x27, 0xf, 0x5d, 0x0, 0x0, 0x3, 0xc9, 0x10, 0x7, 0xf, 0x5d, 0x0, 0x0, 0x5, 0xd, 0x0, 0x0, 0x0, 0x1, 0x1, 0x97, 0x5, 0x18, 0x5, 0x1b, 0x5, 0xe0, 0x0, 0xb, 0x0, 0x3a, 0x40, 0xd, 0x2, 0x1, 0x0, 0x3, 0x6, 0x5, 0x4, 0x7, 0xa, 0x9, 0x8, 0xb, 0xc, 0x10, 0xd4, 0x40, 0x9, 0x3f, 0xb, 0x6f, 0xb, 0x8f, 0xb, 0x90, 0xb, 0x4, 0x5d, 0xdc, 0x39, 0x39, 0xd4, 0xdc, 0x39, 0x39, 0xd4, 0xcc, 0x39, 0x39, 0x31, 0x0, 0xb6, 0x5, 0x4, 0x7, 0x1, 0xa, 0xb, 0xc, 0x10, 0xd4, 0xcc, 0x32, 0xdc, 0x3c, 0xcc, 0x30, 0x1, 0x7, 0x23, 0x27, 0x23, 0x7, 0x23, 0x27, 0x23, 0x7, 0x23, 0x27, 0x5, 0x1b, 0x64, 0x32, 0x32, 0xaf, 0x32, 0x32, 0x32, 0xaf, 0x32, 0x32, 0x64, 0x5, 0xe0, 0xc8, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xc9, 0xfe, 0x56, 0x5, 0xfc, 0x5, 0xd5, 0x0, 0xe, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x21, 0x11, 0x33, 0x11, 0x1, 0x21, 0x11, 0x33, 0x15, 0x1, 0x23, 0x5, 0x33, 0xc4, 0xfd, 0x6a, 0xfe, 0xf0, 0xc4, 0x2, 0x96, 0x1, 0x10, 0xc9, 0xfe, 0x92, 0x86, 0x4, 0xe1, 0xfb, 0x1f, 0x5, 0xd5, 0xfb, 0x1f, 0x4, 0xe1, 0xfa, 0xd5, 0xaa, 0xfe, 0x56, 0x0, 0x1, 0x0, 0xc1, 0xfe, 0x56, 0x5, 0x38, 0x4, 0x60, 0x0, 0xe, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x23, 0x11, 0x33, 0x11, 0x1, 0x33, 0x11, 0x33, 0x15, 0x1, 0x23, 0x4, 0x80, 0xb7, 0xfd, 0xe4, 0xec, 0xb7, 0x2, 0x1b, 0xed, 0xb8, 0xfe, 0xde, 0x7b, 0x3, 0x83, 0xfc, 0x7d, 0x4, 0x60, 0xfc, 0x7f, 0x3, 0x81, 0xfc, 0x39, 0x99, 0xfe, 0x56, 0x0, 0x0, 0x0, 0x2, 0x0, 0xae, 0xfe, 0x56, 0x4, 0x58, 0x4, 0x7b, 0x0, 0x1f, 0x0, 0x20, 0x0, 0x0, 0x25, 0x35, 0xe, 0x1, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x10, 0x2, 0x21, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x1, 0x33, 0x32, 0x36, 0x1, 0x3, 0xa0, 0x43, 0xb1, 0x75, 0xc1, 0xc8, 0xb8, 0x7c, 0x7c, 0x95, 0xad, 0xb8, 0xfe, 0xfe, 0xfa, 0x61, 0xac, 0x51, 0x51, 0x9e, 0x52, 0xb5, 0xb4, 0xfe, 0xdd, 0x6a, 0x42, 0x66, 0x63, 0xf0, 0xe7, 0x2, 0xa6, 0xfd, 0x61, 0x9f, 0x9f, 0xbe, 0xa4, 0x2, 0x7b, 0xfc, 0x2b, 0xfe, 0xe2, 0xfe, 0xe9, 0x1d, 0x1e, 0xb3, 0x2c, 0x2a, 0xbd, 0x4, 0xd0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7d, 0xfe, 0x90, 0x4, 0x47, 0x3, 0x52, 0x10, 0x27, 0x16, 0xd5, 0x1, 0x19, 0xfe, 0x90, 0x10, 0x6, 0x14, 0x8e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7d, 0xfe, 0xa2, 0x4, 0x47, 0x3, 0x52, 0x10, 0x27, 0x16, 0xc4, 0x1, 0xa9, 0xfe, 0xa2, 0x10, 0x6, 0x14, 0x8e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7d, 0xfe, 0xa2, 0x4, 0x47, 0x5, 0xf7, 0x10, 0x27, 0x5, 0x4b, 0xff, 0xc2, 0xff, 0x6, 0x10, 0x27, 0x16, 0xc4, 0x1, 0xa9, 0xfe, 0xa2, 0x10, 0x6, 0x14, 0x8e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7d, 0xff, 0xda, 0x4, 0x47, 0x5, 0x78, 0x10, 0x27, 0x16, 0xc7, 0x0, 0xfa, 0x4, 0xe2, 0x10, 0x6, 0x14, 0x8e, 0x0, 0x0, 0xff, 0xff, 0x0, 0x7d, 0xff, 0xda, 0x4, 0x47, 0x5, 0xaa, 0x10, 0x27, 0x16, 0xc9, 0x0, 0xfa, 0x5, 0x14, 0x10, 0x6, 0x14, 0x8e, 0x0, 0x0, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x4, 0x7e, 0x2, 0x26, 0x10, 0x27, 0x16, 0xd5, 0x2, 0x58, 0xfe, 0xc, 0x10, 0x6, 0x14, 0x92, 0x0, 0x0, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x4, 0x7e, 0x2, 0x26, 0x10, 0x27, 0x16, 0xc4, 0x3, 0x34, 0xfe, 0x48, 0x10, 0x6, 0x14, 0x92, 0x0, 0x0, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x4, 0x7e, 0x2, 0x26, 0x10, 0x27, 0x16, 0xc4, 0x0, 0xb4, 0x0, 0x28, 0x10, 0x27, 0x16, 0xc4, 0x3, 0x34, 0xfe, 0x48, 0x10, 0x6, 0x14, 0x92, 0x0, 0x0, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x4, 0x7e, 0x3, 0xb6, 0x10, 0x27, 0x16, 0xc5, 0x1, 0xf4, 0x3, 0x20, 0x10, 0x6, 0x14, 0x92, 0x0, 0x0, 0xff, 0xff, 0xff, 0xab, 0xfe, 0xc, 0x4, 0x7e, 0x4, 0xb0, 0x10, 0x27, 0x16, 0xc9, 0x1, 0xf4, 0x4, 0x1a, 0x10, 0x6, 0x14, 0x92, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0xa, 0x47, 0x3, 0xb6, 0x10, 0x26, 0x14, 0x96, 0x0, 0x0, 0x10, 0x27, 0x16, 0xc4, 0x5, 0x5f, 0x3, 0x20, 0x10, 0x7, 0x16, 0xc4, 0x5, 0xf5, 0xfe, 0xa2, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xa2, 0x6, 0xa, 0x3, 0xe8, 0x10, 0x26, 0x14, 0x97, 0x0, 0x0, 0x10, 0x27, 0x16, 0xc4, 0x3, 0x7, 0x3, 0x52, 0x10, 0x7, 0x16, 0xc4, 0x3, 0x9d, 0xfe, 0xa2, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xa2, 0x7, 0x37, 0x3, 0xe8, 0x10, 0x26, 0x14, 0x98, 0x0, 0x0, 0x10, 0x27, 0x16, 0xc4, 0x3, 0x7, 0x3, 0x52, 0x10, 0x7, 0x16, 0xc4, 0x3, 0x9d, 0xfe, 0xa2, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0xa, 0x47, 0x2, 0xee, 0x10, 0x26, 0x14, 0x96, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc7, 0x5, 0x78, 0xff, 0x6, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xc, 0x6, 0xa, 0x2, 0xee, 0x10, 0x26, 0x14, 0x97, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc7, 0x3, 0x20, 0xff, 0x6, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xc, 0x7, 0x37, 0x2, 0xee, 0x10, 0x26, 0x14, 0x98, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc7, 0x3, 0x20, 0xff, 0x6, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0xa, 0x47, 0x4, 0xb0, 0x10, 0x26, 0x14, 0x96, 0x0, 0x0, 0x10, 0x27, 0x16, 0xc6, 0x4, 0xe2, 0x3, 0x20, 0x10, 0x7, 0x16, 0xc7, 0x5, 0x78, 0xff, 0x6, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xc, 0x6, 0xa, 0x4, 0xb0, 0x10, 0x26, 0x14, 0x97, 0x0, 0x0, 0x10, 0x27, 0x16, 0xc6, 0x2, 0x8a, 0x3, 0x20, 0x10, 0x7, 0x16, 0xc7, 0x3, 0x20, 0xff, 0x6, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xc, 0x7, 0x37, 0x4, 0xb0, 0x10, 0x26, 0x14, 0x98, 0x0, 0x0, 0x10, 0x27, 0x16, 0xc6, 0x2, 0x8a, 0x3, 0x20, 0x10, 0x7, 0x16, 0xc7, 0x3, 0x20, 0xff, 0x6, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0x9, 0xe1, 0x2, 0xe5, 0x10, 0x26, 0x14, 0x9e, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x5, 0x78, 0xfe, 0xa2, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xa2, 0x6, 0x32, 0x2, 0xe5, 0x10, 0x26, 0x14, 0x9f, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x2, 0x58, 0xfe, 0xa2, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xa2, 0x7, 0x4, 0x2, 0xe5, 0x10, 0x26, 0x14, 0xa0, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x2, 0x58, 0xfe, 0xa2, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xc, 0x9, 0xe1, 0x4, 0xb0, 0x10, 0x26, 0x14, 0x9e, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x4, 0x7e, 0x3, 0x20, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x6, 0x32, 0x4, 0xb0, 0x10, 0x26, 0x14, 0x9f, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x1, 0x90, 0x3, 0x20, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x7, 0x4, 0x4, 0xb0, 0x10, 0x26, 0x14, 0xa0, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x1, 0x90, 0x3, 0x20, 0xff, 0xff, 0x0, 0x90, 0x0, 0x0, 0x7, 0xac, 0x6, 0x14, 0x10, 0x26, 0x14, 0xa6, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x3, 0x84, 0x3, 0x52, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x5, 0xd4, 0x6, 0x14, 0x10, 0x26, 0x14, 0xa7, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x2, 0x7c, 0x3, 0x52, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x6, 0xa4, 0x6, 0x14, 0x10, 0x26, 0x14, 0xa8, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x2, 0x7c, 0x3, 0x52, 0xff, 0xff, 0x0, 0x75, 0xfe, 0xc, 0x4, 0xb2, 0x5, 0x46, 0x10, 0x26, 0x14, 0xae, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x1, 0x2c, 0x3, 0xb6, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x3, 0xf8, 0x6, 0x40, 0x10, 0x26, 0x14, 0xaf, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x1, 0x2c, 0x4, 0xb0, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x3, 0xf0, 0x5, 0x46, 0x10, 0x26, 0x14, 0xb0, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x1, 0x2c, 0x3, 0xb6, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xa2, 0x8, 0x5c, 0x3, 0x11, 0x10, 0x26, 0x16, 0xcd, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x3, 0x6b, 0xfe, 0xa2, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xd4, 0x3, 0x3f, 0x3, 0xd9, 0x10, 0x26, 0x16, 0xce, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x1, 0xa8, 0xfe, 0xd4, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xd4, 0x4, 0x20, 0x3, 0x8, 0x10, 0x26, 0x16, 0xcf, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x1, 0xa8, 0xfe, 0xd4, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xa2, 0x8, 0x5c, 0x4, 0x4c, 0x10, 0x26, 0x16, 0xcd, 0x0, 0x0, 0x10, 0x27, 0x16, 0xc4, 0x5, 0xf5, 0x3, 0xb6, 0x10, 0x7, 0x16, 0xc4, 0x3, 0x6b, 0xfe, 0xa2, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xd4, 0x3, 0x3f, 0x5, 0x14, 0x10, 0x26, 0x16, 0xce, 0x0, 0x0, 0x10, 0x27, 0x16, 0xc4, 0x1, 0xa9, 0x4, 0x7e, 0x10, 0x7, 0x16, 0xc4, 0x1, 0xa8, 0xfe, 0xd4, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xd4, 0x4, 0x20, 0x4, 0x7e, 0x10, 0x26, 0x16, 0xcf, 0x0, 0x0, 0x10, 0x27, 0x16, 0xc4, 0x1, 0xbb, 0x3, 0xe8, 0x10, 0x7, 0x16, 0xc4, 0x1, 0xa8, 0xfe, 0xd4, 0xff, 0xff, 0x0, 0x82, 0xfd, 0xa8, 0x8, 0x5c, 0x3, 0x11, 0x10, 0x26, 0x16, 0xcd, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc7, 0x2, 0xee, 0xfe, 0xa2, 0xff, 0xff, 0xff, 0xec, 0xfd, 0xda, 0x3, 0x3f, 0x3, 0xd9, 0x10, 0x26, 0x16, 0xce, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc7, 0x1, 0x2c, 0xfe, 0xd4, 0xff, 0xff, 0xff, 0xec, 0xfd, 0xda, 0x4, 0x20, 0x3, 0x8, 0x10, 0x26, 0x16, 0xcf, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc7, 0x1, 0x2c, 0xfe, 0xd4, 0xff, 0xff, 0x0, 0x6b, 0xfe, 0xc, 0x6, 0xc0, 0x4, 0x1, 0x10, 0x26, 0x16, 0xd0, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x4, 0x1, 0x3, 0x6b, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x3, 0x3f, 0x5, 0x14, 0x10, 0x26, 0x16, 0xd1, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x1, 0xa9, 0x4, 0x7e, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x4, 0x20, 0x4, 0x7e, 0x10, 0x26, 0x16, 0xd2, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x1, 0xbb, 0x3, 0xe8, 0xff, 0xff, 0x0, 0x6b, 0xfe, 0xc, 0x6, 0xc0, 0x4, 0xfb, 0x10, 0x26, 0x16, 0xd0, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x3, 0x84, 0x3, 0x6b, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x3, 0x3f, 0x6, 0xe, 0x10, 0x26, 0x16, 0xd1, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x1, 0x2c, 0x4, 0x7e, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x4, 0x20, 0x5, 0x78, 0x10, 0x26, 0x16, 0xd2, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x1, 0x3e, 0x3, 0xe8, 0x0, 0x1, 0x0, 0x82, 0xff, 0xa7, 0x8, 0x82, 0x6, 0x14, 0x0, 0x37, 0x0, 0x0, 0x25, 0x32, 0x24, 0x36, 0x3d, 0x1, 0x34, 0x27, 0x25, 0x24, 0x3d, 0x1, 0x34, 0x37, 0x36, 0x37, 0x1, 0x21, 0x1, 0x6, 0x7, 0x6, 0x17, 0x16, 0x17, 0x5, 0x16, 0x1d, 0x1, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x26, 0x27, 0x6, 0x4, 0x23, 0x21, 0x22, 0x27, 0x24, 0x11, 0x34, 0x37, 0x33, 0x6, 0x15, 0x14, 0x17, 0x16, 0x33, 0x4, 0xf6, 0xb8, 0x1, 0x6b, 0x31, 0x79, 0xfc, 0x59, 0xfe, 0x9d, 0xb, 0x13, 0xa0, 0x2, 0xb0, 0x1, 0x60, 0xfc, 0x68, 0x5f, 0xf, 0x9, 0x4, 0x6, 0xae, 0x3, 0xca, 0xf8, 0x2f, 0xf, 0x16, 0x2e, 0x5a, 0x5c, 0x39, 0xb, 0x53, 0xfe, 0x6c, 0xa1, 0xfe, 0xc, 0xc0, 0x80, 0xfe, 0xb6, 0x3f, 0xb8, 0x41, 0xcb, 0x68, 0x97, 0x58, 0x96, 0x6c, 0x5, 0x9, 0x6b, 0x12, 0x91, 0x37, 0xbe, 0x7, 0x6, 0x3e, 0x63, 0x60, 0x1, 0x9b, 0xfd, 0xe8, 0x37, 0x23, 0xa, 0x23, 0x35, 0x1b, 0x96, 0x26, 0xf8, 0x45, 0x5e, 0x11, 0x5, 0xb8, 0x32, 0x30, 0x39, 0x82, 0x26, 0x62, 0x1, 0xb, 0x8a, 0x5c, 0x5e, 0x88, 0x7e, 0x42, 0x22, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x6, 0x84, 0x6, 0x14, 0x0, 0x20, 0x0, 0x0, 0x23, 0x35, 0x21, 0x32, 0x37, 0x36, 0x27, 0x26, 0x27, 0x25, 0x24, 0x3d, 0x1, 0x34, 0x37, 0x36, 0x37, 0x1, 0x21, 0x1, 0x6, 0x7, 0x6, 0x17, 0x16, 0x17, 0x5, 0x16, 0x15, 0x14, 0x7, 0x6, 0x23, 0x14, 0x5, 0x8, 0x93, 0x2e, 0x13, 0x3, 0xd, 0x63, 0xfc, 0x59, 0xfe, 0x9d, 0xb, 0x11, 0xa2, 0x2, 0xb0, 0x1, 0x60, 0xfc, 0x68, 0x5f, 0xf, 0x9, 0x4, 0x6, 0xae, 0x3, 0xca, 0xf8, 0x3e, 0x5f, 0xdf, 0xb8, 0x68, 0x2c, 0x1c, 0x6e, 0xf, 0x91, 0x37, 0xbe, 0x8, 0x5, 0x3e, 0x62, 0x61, 0x1, 0x9b, 0xfd, 0xe8, 0x37, 0x23, 0xa, 0x23, 0x35, 0x1b, 0x96, 0x26, 0xf8, 0x71, 0x65, 0x9b, 0x0, 0x0, 0x1, 0xff, 0xec, 0x0, 0x0, 0x7, 0x6, 0x6, 0x14, 0x0, 0x29, 0x0, 0x0, 0x23, 0x35, 0x21, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x25, 0x24, 0x3d, 0x1, 0x34, 0x37, 0x36, 0x37, 0x1, 0x21, 0x1, 0x6, 0x7, 0x6, 0x17, 0x16, 0x17, 0x5, 0x16, 0x1d, 0x1, 0x14, 0x17, 0x16, 0x3b, 0x1, 0x15, 0x23, 0x22, 0x26, 0x27, 0x6, 0x23, 0x14, 0x5, 0x8, 0x88, 0x39, 0x10, 0x70, 0xfc, 0x59, 0xfe, 0x9d, 0xb, 0x11, 0xa2, 0x2, 0xb0, 0x1, 0x60, 0xfc, 0x68, 0x5f, 0xf, 0x9, 0x4, 0x6, 0xae, 0x3, 0xca, 0xf8, 0x2f, 0xf, 0x16, 0x2e, 0x5a, 0x5a, 0x38, 0xb, 0x60, 0xa7, 0xb8, 0x68, 0x1d, 0x18, 0x7f, 0x11, 0x91, 0x37, 0xbe, 0x8, 0x4, 0x3f, 0x62, 0x61, 0x1, 0x9b, 0xfd, 0xe8, 0x37, 0x23, 0xa, 0x23, 0x35, 0x1b, 0x96, 0x26, 0xf8, 0x45, 0x5f, 0x10, 0x5, 0xb8, 0x2f, 0x28, 0x57, 0x0, 0x0, 0xff, 0xff, 0x0, 0x82, 0xff, 0xa7, 0x7, 0xd9, 0x6, 0x14, 0x10, 0x26, 0x14, 0x1c, 0x0, 0x0, 0x10, 0x7, 0x16, 0xd5, 0x5, 0x46, 0x3, 0x84, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x3, 0xcf, 0x6, 0x14, 0x10, 0x26, 0x14, 0xbf, 0x0, 0x0, 0x10, 0x7, 0x16, 0xd5, 0x1, 0xf4, 0x3, 0x84, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x4, 0x7f, 0x6, 0x14, 0x10, 0x26, 0x14, 0xc0, 0x0, 0x0, 0x10, 0x7, 0x16, 0xd5, 0x1, 0xf4, 0x3, 0x84, 0xff, 0xff, 0x0, 0x90, 0xff, 0xc9, 0x6, 0xd2, 0x6, 0x14, 0x10, 0x26, 0x14, 0xbe, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x2, 0xee, 0x5, 0x46, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x3, 0xcf, 0x6, 0x72, 0x10, 0x26, 0x14, 0xbf, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x0, 0xc8, 0x5, 0xdc, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x4, 0x7f, 0x6, 0x72, 0x10, 0x26, 0x14, 0xc0, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x0, 0xc8, 0x5, 0xdc, 0xff, 0xff, 0x0, 0x90, 0xfd, 0xa8, 0x6, 0xd2, 0x6, 0x14, 0x10, 0x26, 0x14, 0xbe, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc7, 0x2, 0x58, 0xfe, 0xa2, 0xff, 0xff, 0xff, 0xec, 0xfd, 0xda, 0x3, 0xcf, 0x6, 0x14, 0x10, 0x26, 0x14, 0xbf, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc7, 0x0, 0xc8, 0xfe, 0xd4, 0xff, 0xff, 0xff, 0xec, 0xfd, 0xda, 0x4, 0x7f, 0x6, 0x14, 0x10, 0x26, 0x14, 0xc0, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc7, 0x0, 0xc8, 0xfe, 0xd4, 0xff, 0xff, 0x0, 0x82, 0xff, 0xa7, 0x7, 0xd9, 0x7, 0x2b, 0x10, 0x26, 0x14, 0x20, 0x0, 0x0, 0x10, 0x7, 0x16, 0xd5, 0x5, 0x46, 0x3, 0x84, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x3, 0xcf, 0x7, 0x2b, 0x10, 0x26, 0x14, 0x21, 0x0, 0x0, 0x10, 0x7, 0x16, 0xd5, 0x1, 0xf4, 0x3, 0x84, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x4, 0x7f, 0x7, 0x2b, 0x10, 0x26, 0x14, 0x22, 0x0, 0x0, 0x10, 0x7, 0x16, 0xd5, 0x1, 0xf4, 0x3, 0x84, 0xff, 0xff, 0x0, 0x82, 0xfe, 0xa2, 0x7, 0xd9, 0x7, 0x2b, 0x10, 0x26, 0x14, 0x20, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x2, 0x58, 0xfe, 0xa2, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xd4, 0x3, 0xcf, 0x7, 0x2b, 0x10, 0x26, 0x14, 0x21, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x0, 0xc8, 0xfe, 0xd4, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xd4, 0x4, 0x7f, 0x7, 0x2b, 0x10, 0x26, 0x14, 0x22, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc5, 0x0, 0xc8, 0xfe, 0xd4, 0xff, 0xff, 0x0, 0x82, 0xff, 0xa7, 0x7, 0xd9, 0x8, 0x34, 0x10, 0x26, 0x14, 0x20, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x3, 0x84, 0x6, 0xa4, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x3, 0xcf, 0x8, 0x34, 0x10, 0x26, 0x14, 0x21, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x0, 0x4b, 0x6, 0xa4, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x4, 0x7f, 0x8, 0x34, 0x10, 0x26, 0x14, 0x22, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x0, 0x4b, 0x6, 0xa4, 0xff, 0xff, 0x0, 0x90, 0xfe, 0xc8, 0x6, 0x23, 0x7, 0x9e, 0x10, 0x26, 0x14, 0xc2, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x4, 0x6a, 0x7, 0x8, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x1, 0xaf, 0x7, 0x9e, 0x10, 0x26, 0x14, 0xc3, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x1, 0x1, 0x7, 0x8, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x2, 0xba, 0x7, 0x9e, 0x10, 0x26, 0x14, 0xc4, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x1, 0x1, 0x7, 0x8, 0xff, 0xff, 0x0, 0x90, 0xfe, 0xc8, 0x6, 0x23, 0x8, 0x34, 0x10, 0x26, 0x14, 0xc2, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x3, 0xe8, 0x6, 0xa4, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x2, 0xf, 0x8, 0x34, 0x10, 0x26, 0x14, 0xc3, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x0, 0x7f, 0x6, 0xa4, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x2, 0xba, 0x8, 0x34, 0x10, 0x26, 0x14, 0xc4, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x0, 0x7f, 0x6, 0xa4, 0xff, 0xff, 0x0, 0x90, 0xfc, 0xe0, 0x6, 0x23, 0x6, 0x14, 0x10, 0x26, 0x14, 0xc2, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc7, 0x2, 0x26, 0xfd, 0xda, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xc, 0x1, 0xf3, 0x6, 0x14, 0x10, 0x26, 0x14, 0xc3, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc7, 0x0, 0x63, 0xff, 0x6, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xc, 0x2, 0xba, 0x6, 0x14, 0x10, 0x26, 0x14, 0xc4, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc7, 0x0, 0x81, 0xff, 0x6, 0xff, 0xff, 0x0, 0x93, 0xfc, 0xc7, 0x6, 0x2b, 0x2, 0xbc, 0x10, 0x26, 0x14, 0x2c, 0x0, 0x0, 0x10, 0x27, 0x16, 0xc4, 0x2, 0x3f, 0x2, 0x26, 0x10, 0x7, 0x16, 0xc4, 0x2, 0xbc, 0xfc, 0xc7, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xd4, 0x1, 0x87, 0x3, 0xe8, 0x10, 0x27, 0x16, 0xc4, 0x0, 0xe0, 0x3, 0x52, 0x10, 0x26, 0x16, 0xcb, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x0, 0xe0, 0xfe, 0xd4, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xd4, 0x2, 0x7e, 0x3, 0xe8, 0x10, 0x27, 0x16, 0xc4, 0x0, 0xe0, 0x3, 0x52, 0x10, 0x26, 0x16, 0xcc, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc4, 0x0, 0xe0, 0xfe, 0xd4, 0xff, 0xff, 0x0, 0x93, 0xfc, 0xae, 0x6, 0x2b, 0x2, 0xbc, 0x10, 0x26, 0x14, 0x2c, 0x0, 0x0, 0x10, 0x27, 0x16, 0xc4, 0x2, 0x3f, 0x2, 0x26, 0x10, 0x7, 0x16, 0xd5, 0x2, 0x26, 0xfc, 0xae, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xf4, 0x2, 0x6, 0x3, 0xe8, 0x10, 0x27, 0x16, 0xc4, 0x0, 0xe0, 0x3, 0x52, 0x10, 0x26, 0x16, 0xcb, 0x0, 0x0, 0x10, 0x7, 0x16, 0xd5, 0x0, 0x50, 0xfe, 0xf4, 0xff, 0xff, 0xff, 0xec, 0xfe, 0xf4, 0x2, 0x7e, 0x3, 0xe8, 0x10, 0x27, 0x16, 0xc4, 0x0, 0xe0, 0x3, 0x52, 0x10, 0x26, 0x16, 0xcc, 0x0, 0x0, 0x10, 0x7, 0x16, 0xd5, 0x0, 0x50, 0xfe, 0xf4, 0xff, 0xff, 0x0, 0x93, 0xfe, 0xc, 0x6, 0x2b, 0x3, 0xb6, 0x10, 0x26, 0x14, 0x2c, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x1, 0xf4, 0x2, 0x26, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x1, 0xf3, 0x4, 0xe2, 0x10, 0x26, 0x16, 0xcb, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x0, 0x63, 0x3, 0x52, 0xff, 0xff, 0xff, 0xec, 0x0, 0x0, 0x2, 0x7e, 0x4, 0xe2, 0x10, 0x26, 0x16, 0xcc, 0x0, 0x0, 0x10, 0x7, 0x16, 0xc6, 0x0, 0x63, 0x3, 0x52, 0x0, 0x1, 0x0, 0x0, 0x0, 0x2, 0x57, 0xa, 0xdd, 0xda, 0xed, 0xfa, 0x5f, 0xf, 0x3c, 0xf5, 0x0, 0x1f, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0xce, 0x3f, 0xd7, 0xb2, 0x0, 0x0, 0x0, 0x0, 0xce, 0x3f, 0xd7, 0xb2, 0xf7, 0xd6, 0xfc, 0xae, 0xd, 0x72, 0x9, 0x55, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x7, 0x6d, 0xfe, 0x1d, 0x0, 0x0, 0xd, 0xe2, 0xf7, 0xd6, 0xfa, 0x51, 0xd, 0x72, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x17, 0xdc, 0x4, 0xcd, 0x0, 0x66, 0x0, 0x0, 0x0, 0x0, 0x2, 0xaa, 0x0, 0x0, 0x2, 0x8b, 0x0, 0x0, 0x3, 0x35, 0x1, 0x35, 0x3, 0xae, 0x0, 0xc5, 0x6, 0xb4, 0x0, 0x9e, 0x5, 0x17, 0x0, 0xaa, 0x7, 0x9a, 0x0, 0x71, 0x6, 0x3d, 0x0, 0x81, 0x2, 0x33, 0x0, 0xc5, 0x3, 0x1f, 0x0, 0xb0, 0x3, 0x1f, 0x0, 0xa4, 0x4, 0x0, 0x0, 0x3d, 0x6, 0xb4, 0x0, 0xd9, 0x2, 0x8b, 0x0, 0x9e, 0x2, 0xe3, 0x0, 0x64, 0x2, 0x8b, 0x0, 0xdb, 0x2, 0xb2, 0x0, 0x0, 0x5, 0x17, 0x0, 0x87, 0x5, 0x17, 0x0, 0xe1, 0x5, 0x17, 0x0, 0x96, 0x5, 0x17, 0x0, 0x9c, 0x5, 0x17, 0x0, 0x64, 0x5, 0x17, 0x0, 0x9e, 0x5, 0x17, 0x0, 0x8f, 0x5, 0x17, 0x0, 0xa8, 0x5, 0x17, 0x0, 0x8b, 0x5, 0x17, 0x0, 0x81, 0x2, 0xb2, 0x0, 0xf0, 0x2, 0xb2, 0x0, 0x9e, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x4, 0x3f, 0x0, 0x93, 0x8, 0x0, 0x0, 0x87, 0x5, 0x79, 0x0, 0x10, 0x5, 0x7d, 0x0, 0xc9, 0x5, 0x96, 0x0, 0x73, 0x6, 0x29, 0x0, 0xc9, 0x5, 0xe, 0x0, 0xc9, 0x4, 0x9a, 0x0, 0xc9, 0x6, 0x33, 0x0, 0x73, 0x6, 0x4, 0x0, 0xc9, 0x2, 0x5c, 0x0, 0xc9, 0x2, 0x5c, 0xff, 0x96, 0x5, 0x3f, 0x0, 0xc9, 0x4, 0x75, 0x0, 0xc9, 0x6, 0xe7, 0x0, 0xc9, 0x5, 0xfc, 0x0, 0xc9, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xd3, 0x0, 0xc9, 0x6, 0x4c, 0x0, 0x73, 0x5, 0x8f, 0x0, 0xc9, 0x5, 0x14, 0x0, 0x87, 0x4, 0xe3, 0xff, 0xfa, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0x79, 0x0, 0x10, 0x7, 0xe9, 0x0, 0x44, 0x5, 0x7b, 0x0, 0x3d, 0x4, 0xe3, 0xff, 0xfc, 0x5, 0x7b, 0x0, 0x5c, 0x3, 0x1f, 0x0, 0xb0, 0x2, 0xb2, 0x0, 0x0, 0x3, 0x1f, 0x0, 0xc7, 0x6, 0xb4, 0x0, 0xd9, 0x4, 0x0, 0xff, 0xec, 0x4, 0x0, 0x0, 0xaa, 0x4, 0xe7, 0x0, 0x7b, 0x5, 0x14, 0x0, 0xba, 0x4, 0x66, 0x0, 0x71, 0x5, 0x14, 0x0, 0x71, 0x4, 0xec, 0x0, 0x71, 0x2, 0xd1, 0x0, 0x2f, 0x5, 0x14, 0x0, 0x71, 0x5, 0x12, 0x0, 0xba, 0x2, 0x39, 0x0, 0xc1, 0x2, 0x39, 0xff, 0xdb, 0x4, 0xa2, 0x0, 0xba, 0x2, 0x39, 0x0, 0xc1, 0x7, 0xcb, 0x0, 0xba, 0x5, 0x12, 0x0, 0xba, 0x4, 0xe5, 0x0, 0x71, 0x5, 0x14, 0x0, 0xba, 0x5, 0x14, 0x0, 0x71, 0x3, 0x4a, 0x0, 0xba, 0x4, 0x2b, 0x0, 0x6f, 0x3, 0x23, 0x0, 0x37, 0x5, 0x12, 0x0, 0xae, 0x4, 0xbc, 0x0, 0x3d, 0x6, 0x8b, 0x0, 0x56, 0x4, 0xbc, 0x0, 0x3b, 0x4, 0xbc, 0x0, 0x3d, 0x4, 0x33, 0x0, 0x58, 0x5, 0x17, 0x1, 0x0, 0x2, 0xb2, 0x1, 0x4, 0x5, 0x17, 0x1, 0x0, 0x6, 0xb4, 0x0, 0xd9, 0x2, 0x8b, 0x0, 0x0, 0x3, 0x35, 0x1, 0x35, 0x5, 0x17, 0x0, 0xac, 0x5, 0x17, 0x0, 0x81, 0x5, 0x17, 0x0, 0x5e, 0x5, 0x17, 0x0, 0x52, 0x2, 0xb2, 0x1, 0x4, 0x4, 0x0, 0x0, 0x5c, 0x4, 0x0, 0x0, 0xd7, 0x8, 0x0, 0x1, 0x1b, 0x3, 0xc5, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x9e, 0x6, 0xb4, 0x0, 0xd9, 0x2, 0xe3, 0x0, 0x64, 0x8, 0x0, 0x1, 0x1b, 0x4, 0x0, 0x0, 0xd5, 0x4, 0x0, 0x0, 0xc3, 0x6, 0xb4, 0x0, 0xd9, 0x3, 0x35, 0x0, 0x5e, 0x3, 0x35, 0x0, 0x62, 0x4, 0x0, 0x1, 0x73, 0x5, 0x17, 0x0, 0xae, 0x5, 0x17, 0x0, 0x9e, 0x2, 0x8b, 0x0, 0xdb, 0x4, 0x0, 0x1, 0x23, 0x3, 0x35, 0x0, 0x89, 0x3, 0xc5, 0x0, 0x60, 0x4, 0xe5, 0x0, 0xc1, 0x7, 0xc1, 0x0, 0x89, 0x7, 0xc1, 0x0, 0x89, 0x7, 0xc1, 0x0, 0x62, 0x4, 0x3f, 0x0, 0x8f, 0x5, 0x79, 0x0, 0x10, 0x5, 0x79, 0x0, 0x10, 0x5, 0x79, 0x0, 0x10, 0x5, 0x79, 0x0, 0x10, 0x5, 0x79, 0x0, 0x10, 0x5, 0x79, 0x0, 0x10, 0x7, 0xcb, 0x0, 0x8, 0x5, 0x96, 0x0, 0x73, 0x5, 0xe, 0x0, 0xc9, 0x5, 0xe, 0x0, 0xc9, 0x5, 0xe, 0x0, 0xc9, 0x5, 0xe, 0x0, 0xc9, 0x2, 0x5c, 0x0, 0x3b, 0x2, 0x5c, 0x0, 0xa2, 0x2, 0x5c, 0xff, 0xfe, 0x2, 0x5c, 0x0, 0x6, 0x6, 0x33, 0x0, 0xa, 0x5, 0xfc, 0x0, 0xc9, 0x6, 0x4c, 0x0, 0x73, 0x6, 0x4c, 0x0, 0x73, 0x6, 0x4c, 0x0, 0x73, 0x6, 0x4c, 0x0, 0x73, 0x6, 0x4c, 0x0, 0x73, 0x6, 0xb4, 0x1, 0x19, 0x6, 0x4c, 0x0, 0x66, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0xdb, 0x0, 0xb2, 0x4, 0xe3, 0xff, 0xfc, 0x4, 0xd7, 0x0, 0xc9, 0x5, 0xa, 0x0, 0xba, 0x4, 0xe7, 0x0, 0x7b, 0x4, 0xe7, 0x0, 0x7b, 0x4, 0xe7, 0x0, 0x7b, 0x4, 0xe7, 0x0, 0x7b, 0x4, 0xe7, 0x0, 0x7b, 0x4, 0xe7, 0x0, 0x7b, 0x7, 0xdb, 0x0, 0x7b, 0x4, 0x66, 0x0, 0x71, 0x4, 0xec, 0x0, 0x71, 0x4, 0xec, 0x0, 0x71, 0x4, 0xec, 0x0, 0x71, 0x4, 0xec, 0x0, 0x71, 0x2, 0x39, 0xff, 0xc7, 0x2, 0x39, 0x0, 0x90, 0x2, 0x39, 0xff, 0xde, 0x2, 0x39, 0xff, 0xf4, 0x4, 0xe5, 0x0, 0x71, 0x5, 0x12, 0x0, 0xba, 0x4, 0xe5, 0x0, 0x71, 0x4, 0xe5, 0x0, 0x71, 0x4, 0xe5, 0x0, 0x71, 0x4, 0xe5, 0x0, 0x71, 0x4, 0xe5, 0x0, 0x71, 0x6, 0xb4, 0x0, 0xd9, 0x4, 0xe5, 0x0, 0x48, 0x5, 0x12, 0x0, 0xae, 0x5, 0x12, 0x0, 0xae, 0x5, 0x12, 0x0, 0xae, 0x5, 0x12, 0x0, 0xae, 0x4, 0xbc, 0x0, 0x3d, 0x5, 0x14, 0x0, 0xba, 0x4, 0xbc, 0x0, 0x3d, 0x5, 0x79, 0x0, 0x10, 0x4, 0xe7, 0x0, 0x7b, 0x5, 0x79, 0x0, 0x10, 0x4, 0xe7, 0x0, 0x7b, 0x5, 0x79, 0x0, 0x10, 0x4, 0xe7, 0x0, 0x7b, 0x5, 0x96, 0x0, 0x73, 0x4, 0x66, 0x0, 0x71, 0x5, 0x96, 0x0, 0x73, 0x4, 0x66, 0x0, 0x71, 0x5, 0x96, 0x0, 0x73, 0x4, 0x66, 0x0, 0x71, 0x5, 0x96, 0x0, 0x73, 0x4, 0x66, 0x0, 0x71, 0x6, 0x29, 0x0, 0xc9, 0x5, 0x14, 0x0, 0x71, 0x6, 0x33, 0x0, 0xa, 0x5, 0x14, 0x0, 0x71, 0x5, 0xe, 0x0, 0xc9, 0x4, 0xec, 0x0, 0x71, 0x5, 0xe, 0x0, 0xc9, 0x4, 0xec, 0x0, 0x71, 0x5, 0xe, 0x0, 0xc9, 0x4, 0xec, 0x0, 0x71, 0x5, 0xe, 0x0, 0xc9, 0x4, 0xec, 0x0, 0x71, 0x5, 0xe, 0x0, 0xc9, 0x4, 0xec, 0x0, 0x71, 0x6, 0x33, 0x0, 0x73, 0x5, 0x14, 0x0, 0x71, 0x6, 0x33, 0x0, 0x73, 0x5, 0x14, 0x0, 0x71, 0x6, 0x33, 0x0, 0x73, 0x5, 0x14, 0x0, 0x71, 0x6, 0x33, 0x0, 0x73, 0x5, 0x14, 0x0, 0x71, 0x6, 0x4, 0x0, 0xc9, 0x5, 0x12, 0xff, 0xe5, 0x7, 0x54, 0x0, 0xc9, 0x5, 0x8f, 0x0, 0x78, 0x2, 0x5c, 0xff, 0xe4, 0x2, 0x39, 0xff, 0xd3, 0x2, 0x5c, 0x0, 0x3, 0x2, 0x39, 0xff, 0xf2, 0x2, 0x5c, 0xff, 0xf5, 0x2, 0x39, 0xff, 0xe4, 0x2, 0x5c, 0x0, 0xb0, 0x2, 0x39, 0x0, 0x96, 0x2, 0x5c, 0x0, 0xc9, 0x2, 0x39, 0x0, 0xc1, 0x4, 0xb8, 0x0, 0xc9, 0x4, 0x72, 0x0, 0xc1, 0x2, 0x5c, 0xff, 0x96, 0x2, 0x39, 0xff, 0xdb, 0x5, 0x3f, 0x0, 0xc9, 0x4, 0xa2, 0x0, 0xba, 0x4, 0xa2, 0x0, 0xba, 0x4, 0x75, 0x0, 0xc9, 0x2, 0x39, 0x0, 0xc1, 0x4, 0x75, 0x0, 0xc9, 0x2, 0x39, 0x0, 0x88, 0x4, 0x75, 0x0, 0xc9, 0x3, 0x0, 0x0, 0xc1, 0x4, 0x75, 0x0, 0xc9, 0x2, 0xbc, 0x0, 0xc1, 0x4, 0x7f, 0xff, 0xf2, 0x2, 0x46, 0x0, 0x2, 0x5, 0xfc, 0x0, 0xc9, 0x5, 0x12, 0x0, 0xba, 0x5, 0xfc, 0x0, 0xc9, 0x5, 0x12, 0x0, 0xba, 0x5, 0xfc, 0x0, 0xc9, 0x5, 0x12, 0x0, 0xba, 0x6, 0x82, 0x0, 0xcd, 0x5, 0xfc, 0x0, 0xc9, 0x5, 0x12, 0x0, 0xba, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x8, 0x8f, 0x0, 0x73, 0x8, 0x2f, 0x0, 0x71, 0x5, 0x8f, 0x0, 0xc9, 0x3, 0x4a, 0x0, 0xba, 0x5, 0x8f, 0x0, 0xc9, 0x3, 0x4a, 0x0, 0x82, 0x5, 0x8f, 0x0, 0xc9, 0x3, 0x4a, 0x0, 0xba, 0x5, 0x14, 0x0, 0x87, 0x4, 0x2b, 0x0, 0x6f, 0x5, 0x14, 0x0, 0x87, 0x4, 0x2b, 0x0, 0x6f, 0x5, 0x14, 0x0, 0x87, 0x4, 0x2b, 0x0, 0x6f, 0x5, 0x14, 0x0, 0x87, 0x4, 0x2b, 0x0, 0x6f, 0x4, 0xe3, 0xff, 0xfa, 0x3, 0x23, 0x0, 0x37, 0x4, 0xe3, 0xff, 0xfa, 0x3, 0x23, 0x0, 0x37, 0x4, 0xe3, 0xff, 0xfa, 0x3, 0x23, 0x0, 0x37, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0x12, 0x0, 0xae, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0x12, 0x0, 0xae, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0x12, 0x0, 0xae, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0x12, 0x0, 0xae, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0x12, 0x0, 0xae, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0x12, 0x0, 0xae, 0x7, 0xe9, 0x0, 0x44, 0x6, 0x8b, 0x0, 0x56, 0x4, 0xe3, 0xff, 0xfc, 0x4, 0xbc, 0x0, 0x3d, 0x4, 0xe3, 0xff, 0xfc, 0x5, 0x7b, 0x0, 0x5c, 0x4, 0x33, 0x0, 0x58, 0x5, 0x7b, 0x0, 0x5c, 0x4, 0x33, 0x0, 0x58, 0x5, 0x7b, 0x0, 0x5c, 0x4, 0x33, 0x0, 0x58, 0x2, 0xd1, 0x0, 0x2f, 0x5, 0x14, 0x0, 0x20, 0x5, 0xe1, 0xff, 0x97, 0x5, 0x7d, 0x0, 0xc9, 0x5, 0x14, 0x0, 0xba, 0x5, 0x7d, 0x0, 0x0, 0x5, 0x14, 0x0, 0x0, 0x5, 0xa0, 0x0, 0x73, 0x5, 0x96, 0x0, 0x73, 0x4, 0x66, 0x0, 0x71, 0x6, 0x33, 0x0, 0xa, 0x6, 0x8d, 0xff, 0x97, 0x5, 0x7d, 0x0, 0xc9, 0x5, 0x14, 0x0, 0x71, 0x4, 0xe5, 0x0, 0x71, 0x5, 0xe, 0x0, 0x83, 0x6, 0x4c, 0x0, 0x75, 0x4, 0xea, 0x0, 0xa4, 0x4, 0x9a, 0xff, 0x96, 0x2, 0xd1, 0xff, 0x7f, 0x6, 0x33, 0x0, 0x73, 0x5, 0x7e, 0x0, 0x8, 0x7, 0xdf, 0x0, 0xba, 0x2, 0xd4, 0x0, 0xc9, 0x2, 0x5c, 0x0, 0xa, 0x5, 0xf7, 0x0, 0xc9, 0x4, 0xa2, 0x0, 0xb9, 0x2, 0x39, 0x0, 0xa, 0x4, 0xbc, 0x0, 0x3d, 0x7, 0xcb, 0x0, 0xb2, 0x5, 0xfc, 0xff, 0x96, 0x5, 0x12, 0x0, 0xba, 0x6, 0x4c, 0x0, 0x73, 0x7, 0x4e, 0x0, 0x67, 0x4, 0xe5, 0x0, 0x76, 0x7, 0x97, 0x0, 0x73, 0x6, 0x13, 0x0, 0x71, 0x5, 0x37, 0xff, 0x97, 0x5, 0x14, 0x0, 0xb9, 0x5, 0x8f, 0x0, 0xc9, 0x5, 0x14, 0x0, 0x72, 0x4, 0x2b, 0x0, 0x64, 0x5, 0xe, 0x0, 0xc9, 0x2, 0xb0, 0xfe, 0xf2, 0x3, 0x23, 0x0, 0x37, 0x4, 0xe3, 0x0, 0x18, 0x3, 0x23, 0x0, 0x37, 0x4, 0xe3, 0xff, 0xfa, 0x6, 0xdd, 0x0, 0xad, 0x5, 0x12, 0x0, 0xb0, 0x6, 0x1d, 0x0, 0x4e, 0x5, 0xc4, 0x0, 0xc9, 0x5, 0xf3, 0xff, 0xfc, 0x5, 0xd8, 0x0, 0x3d, 0x5, 0x7b, 0x0, 0x5c, 0x4, 0x33, 0x0, 0x58, 0x5, 0x54, 0x0, 0xa0, 0x5, 0x54, 0x0, 0x5c, 0x4, 0x9f, 0x0, 0x68, 0x4, 0x33, 0x0, 0x71, 0x5, 0x17, 0x0, 0x96, 0x5, 0x54, 0x0, 0x5d, 0x4, 0x9f, 0x0, 0x68, 0x4, 0x15, 0x0, 0x58, 0x5, 0x14, 0x0, 0xba, 0x2, 0x5c, 0x0, 0xc9, 0x3, 0xf0, 0x0, 0xc9, 0x3, 0xac, 0x0, 0x14, 0x2, 0x5d, 0x0, 0xc9, 0xb, 0x60, 0x0, 0xc9, 0xa, 0x64, 0x0, 0xc9, 0x9, 0x3c, 0x0, 0x71, 0x6, 0xaf, 0x0, 0xc9, 0x6, 0x4b, 0x0, 0xc9, 0x3, 0xa7, 0x0, 0xc1, 0x7, 0x73, 0x0, 0xc9, 0x7, 0x64, 0x0, 0xc9, 0x6, 0x61, 0x0, 0xba, 0x5, 0x79, 0x0, 0x10, 0x4, 0xe7, 0x0, 0x7b, 0x2, 0x5c, 0xff, 0xfe, 0x2, 0x39, 0xff, 0xe0, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0x12, 0x0, 0xae, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0x12, 0x0, 0xae, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0x12, 0x0, 0xae, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0x12, 0x0, 0xae, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0x12, 0x0, 0xae, 0x4, 0xec, 0x0, 0x71, 0x5, 0x79, 0x0, 0x10, 0x4, 0xe7, 0x0, 0x7b, 0x5, 0x79, 0x0, 0x10, 0x4, 0xe7, 0x0, 0x7b, 0x7, 0xcb, 0x0, 0x8, 0x7, 0xdb, 0x0, 0x7b, 0x6, 0x33, 0x0, 0x73, 0x5, 0x14, 0x0, 0x71, 0x6, 0x33, 0x0, 0x73, 0x5, 0x14, 0x0, 0x71, 0x5, 0x3f, 0x0, 0xc9, 0x4, 0xa2, 0xff, 0xe9, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x5, 0x54, 0x0, 0xa0, 0x4, 0x9f, 0x0, 0x58, 0x2, 0x39, 0xff, 0xdb, 0xb, 0x60, 0x0, 0xc9, 0xa, 0x64, 0x0, 0xc9, 0x9, 0x3c, 0x0, 0x71, 0x6, 0x33, 0x0, 0x73, 0x5, 0x14, 0x0, 0x71, 0x8, 0xe7, 0x0, 0xc9, 0x5, 0x75, 0x0, 0xc9, 0x5, 0xfc, 0x0, 0xc9, 0x5, 0x12, 0x0, 0xba, 0x5, 0x79, 0x0, 0x10, 0x4, 0xe7, 0x0, 0x7b, 0x7, 0xcb, 0x0, 0x8, 0x7, 0xdb, 0x0, 0x7b, 0x6, 0x4c, 0x0, 0x66, 0x4, 0xe5, 0x0, 0x48, 0x5, 0x79, 0x0, 0x10, 0x4, 0xe7, 0x0, 0x7b, 0x5, 0x79, 0x0, 0x10, 0x4, 0xe7, 0x0, 0x7b, 0x5, 0xe, 0x0, 0xc9, 0x4, 0xec, 0x0, 0x71, 0x5, 0xe, 0x0, 0xc9, 0x4, 0xec, 0x0, 0x71, 0x2, 0x5c, 0xff, 0xa7, 0x2, 0x39, 0xff, 0xc3, 0x2, 0x5c, 0x0, 0x5, 0x2, 0x39, 0xff, 0xe3, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x5, 0x8f, 0x0, 0xc7, 0x3, 0x4a, 0x0, 0x82, 0x5, 0x8f, 0x0, 0xc9, 0x3, 0x4a, 0x0, 0xba, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0x12, 0x0, 0xae, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0x12, 0x0, 0xae, 0x5, 0x14, 0x0, 0x87, 0x4, 0x2b, 0x0, 0x6f, 0x4, 0xe3, 0xff, 0xfa, 0x3, 0x23, 0x0, 0x37, 0x5, 0x4, 0x0, 0x9c, 0x4, 0x2c, 0x0, 0x47, 0x6, 0x4, 0x0, 0xc9, 0x5, 0x12, 0xff, 0xf0, 0x5, 0xe2, 0x0, 0xc9, 0x6, 0xb4, 0x0, 0x71, 0x5, 0x96, 0x0, 0x71, 0x4, 0xe2, 0x0, 0x71, 0x5, 0x7b, 0x0, 0x5c, 0x4, 0x33, 0x0, 0x58, 0x5, 0x79, 0x0, 0x10, 0x4, 0xe7, 0x0, 0x7b, 0x5, 0xe, 0x0, 0xc9, 0x4, 0xec, 0x0, 0x71, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x4, 0xe3, 0xff, 0xfc, 0x4, 0xbc, 0x0, 0x3d, 0x3, 0xcc, 0x0, 0x8a, 0x6, 0xbe, 0x0, 0xba, 0x3, 0xd1, 0x0, 0x37, 0x2, 0x39, 0xff, 0xdb, 0x7, 0xfc, 0x0, 0x71, 0x7, 0xfc, 0x0, 0x71, 0x5, 0x79, 0xff, 0xfd, 0x5, 0x96, 0x0, 0xc, 0x4, 0x66, 0x0, 0x9, 0x4, 0x75, 0x0, 0xa, 0x4, 0xe3, 0xff, 0xb2, 0x4, 0x2b, 0x0, 0x6f, 0x4, 0x33, 0x0, 0x58, 0x4, 0xd3, 0x0, 0x50, 0x3, 0xd5, 0x0, 0x50, 0x5, 0x7d, 0x0, 0xa, 0x5, 0xdb, 0x0, 0xc, 0x5, 0x79, 0x0, 0x10, 0x5, 0xe, 0x0, 0xc9, 0x4, 0xec, 0x0, 0x71, 0x2, 0x5c, 0xff, 0x96, 0x2, 0x39, 0xff, 0xdb, 0x6, 0x40, 0x0, 0x73, 0x5, 0x14, 0x0, 0x71, 0x5, 0x8f, 0x0, 0xa, 0x3, 0x4a, 0x0, 0xe, 0x4, 0xe3, 0xff, 0xf6, 0x4, 0xbc, 0x0, 0xb, 0x4, 0xcd, 0x0, 0xae, 0x5, 0x14, 0x0, 0x71, 0x5, 0x14, 0x0, 0xba, 0x5, 0x14, 0x0, 0xba, 0x4, 0x65, 0x0, 0x7f, 0x4, 0x66, 0x0, 0x71, 0x5, 0x14, 0x0, 0x71, 0x5, 0x92, 0x0, 0x71, 0x4, 0xec, 0x0, 0x71, 0x4, 0xec, 0x0, 0x71, 0x6, 0x8e, 0x0, 0x7c, 0x4, 0x53, 0x0, 0x85, 0x4, 0x41, 0x0, 0x85, 0x6, 0x34, 0x0, 0x85, 0x5, 0x50, 0x0, 0x71, 0x2, 0x39, 0xff, 0xdb, 0x5, 0x91, 0x0, 0x71, 0x5, 0x14, 0x0, 0x71, 0x5, 0x9, 0x0, 0x71, 0x4, 0xc4, 0x0, 0x60, 0x4, 0xc4, 0x0, 0x60, 0x5, 0x12, 0x0, 0xae, 0x5, 0x12, 0x0, 0xba, 0x5, 0x12, 0x0, 0xba, 0x2, 0x39, 0x0, 0xe, 0x2, 0xb5, 0x0, 0xa6, 0x2, 0xf9, 0x0, 0x74, 0x3, 0x2a, 0x0, 0x4b, 0x3, 0xe6, 0x0, 0x4d, 0x2, 0x3a, 0x0, 0xc1, 0x5, 0xa6, 0x0, 0xc1, 0x7, 0xcb, 0x0, 0xba, 0x7, 0xcb, 0x0, 0xba, 0x7, 0xcb, 0x0, 0xba, 0x5, 0x2b, 0xff, 0xdb, 0x5, 0x23, 0x0, 0xba, 0x5, 0x12, 0x0, 0xb3, 0x4, 0xe5, 0x0, 0x71, 0x6, 0xdd, 0x0, 0x71, 0x5, 0xd3, 0x0, 0x94, 0x5, 0x47, 0x0, 0x70, 0x3, 0x50, 0x0, 0x0, 0x3, 0x50, 0x0, 0x0, 0x3, 0x4f, 0x0, 0x0, 0x3, 0x4a, 0x0, 0xba, 0x3, 0x49, 0x0, 0xba, 0x4, 0x3e, 0x0, 0x84, 0x4, 0x3e, 0x0, 0x74, 0x4, 0xd4, 0x0, 0xba, 0x4, 0xd4, 0x0, 0xba, 0x4, 0x2b, 0x0, 0x6f, 0x2, 0xb0, 0xff, 0xd9, 0x2, 0xb0, 0xff, 0xd9, 0x3, 0xb1, 0x0, 0x37, 0x2, 0xb0, 0xfe, 0xf2, 0x3, 0x23, 0x0, 0x37, 0x3, 0x23, 0x0, 0x37, 0x5, 0x12, 0x0, 0x0, 0x4, 0xf1, 0x0, 0x71, 0x4, 0xc9, 0x0, 0xc1, 0x4, 0xbc, 0x0, 0x3d, 0x6, 0x8b, 0x0, 0x56, 0x4, 0xbc, 0x0, 0x3d, 0x4, 0xe3, 0x0, 0x66, 0x4, 0x33, 0x0, 0x58, 0x4, 0x33, 0x0, 0x58, 0x4, 0x9f, 0x0, 0x58, 0x4, 0x9f, 0x0, 0x6d, 0x4, 0x15, 0x0, 0x58, 0x4, 0x15, 0x0, 0x58, 0x4, 0x15, 0x0, 0x58, 0x4, 0x15, 0x0, 0x58, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xa3, 0x0, 0xba, 0x5, 0x50, 0x0, 0x71, 0x5, 0xaa, 0x0, 0x71, 0x5, 0x3b, 0x0, 0xba, 0x2, 0x56, 0xfe, 0xf2, 0x5, 0x56, 0x0, 0xba, 0x4, 0xe, 0x0, 0xba, 0x5, 0xd1, 0x0, 0x71, 0x4, 0x15, 0x0, 0x58, 0x4, 0x15, 0x0, 0x58, 0x8, 0x1d, 0x0, 0x71, 0x8, 0x76, 0x0, 0x71, 0x8, 0x1a, 0x0, 0x71, 0x6, 0xa4, 0x0, 0x37, 0x4, 0xe1, 0x0, 0x37, 0x6, 0x3a, 0x0, 0x37, 0x6, 0xc9, 0x0, 0x2f, 0x5, 0xa5, 0x0, 0xc1, 0x5, 0x3c, 0x0, 0xc1, 0x4, 0x1f, 0x0, 0x36, 0x4, 0x1f, 0x0, 0x36, 0x5, 0x4a, 0x0, 0x0, 0x5, 0x4f, 0x0, 0x0, 0x3, 0x3c, 0x0, 0x75, 0x3, 0x31, 0x0, 0x75, 0x1, 0x66, 0xff, 0xe9, 0x2, 0x12, 0x0, 0x75, 0x2, 0x5d, 0x0, 0x48, 0x2, 0x5e, 0x0, 0x48, 0x3, 0x8, 0x0, 0x20, 0x4, 0x1f, 0x0, 0x36, 0x2, 0xfb, 0x0, 0x26, 0x2, 0x3a, 0x0, 0xa0, 0x3, 0xae, 0x0, 0xa0, 0x2, 0x8b, 0x0, 0xae, 0x2, 0x8b, 0x0, 0xb2, 0x2, 0x8b, 0x0, 0xc4, 0x2, 0x75, 0x0, 0x75, 0x2, 0x75, 0x0, 0x75, 0x2, 0xf5, 0x0, 0x75, 0x2, 0xf5, 0x0, 0x75, 0x4, 0x0, 0x1, 0xb, 0x4, 0x0, 0x1, 0xb, 0x4, 0x0, 0x0, 0xc1, 0x4, 0x0, 0x0, 0xc1, 0x4, 0x0, 0x0, 0xc1, 0x4, 0x0, 0x0, 0xc1, 0x2, 0x33, 0x0, 0xd6, 0x4, 0x0, 0x0, 0xd5, 0x4, 0x0, 0x1, 0x73, 0x4, 0x0, 0x0, 0xaa, 0x2, 0x33, 0x0, 0xd6, 0x4, 0x0, 0x0, 0xd5, 0x4, 0x0, 0x0, 0xaa, 0x4, 0x0, 0x1, 0x73, 0x2, 0xb2, 0x0, 0x6f, 0x2, 0xb2, 0x0, 0x6f, 0x2, 0x75, 0x0, 0x75, 0x2, 0x75, 0x0, 0x75, 0x4, 0x0, 0x1, 0x1f, 0x4, 0x0, 0x1, 0x1f, 0x3, 0x1e, 0x0, 0x64, 0x2, 0x8a, 0x0, 0x64, 0x4, 0x0, 0x0, 0xc7, 0x4, 0x0, 0x1, 0x9a, 0x4, 0x0, 0x0, 0xee, 0x4, 0x0, 0x1, 0x4c, 0x4, 0x0, 0x0, 0xb6, 0x4, 0x0, 0x0, 0xf0, 0x2, 0x86, 0xff, 0xff, 0x4, 0x0, 0x0, 0xef, 0x3, 0x68, 0x0, 0x75, 0x1, 0x54, 0x0, 0x7a, 0x2, 0xfc, 0x0, 0x75, 0x3, 0x8d, 0x0, 0x75, 0x2, 0xf5, 0x0, 0x75, 0x3, 0xf2, 0x0, 0xd6, 0x3, 0xf2, 0x0, 0xd6, 0x3, 0xf2, 0x0, 0xd6, 0x3, 0xf2, 0x0, 0xd6, 0x3, 0xf2, 0x0, 0xd6, 0x4, 0x0, 0x0, 0xc1, 0x4, 0x0, 0x0, 0xd5, 0x4, 0x25, 0x0, 0xae, 0x4, 0x0, 0x0, 0xee, 0x4, 0x0, 0x0, 0xb6, 0x0, 0x0, 0xfc, 0xa8, 0x0, 0x0, 0xfd, 0x71, 0x0, 0x0, 0xfc, 0xc1, 0x0, 0x0, 0xfc, 0xb4, 0x0, 0x0, 0xfc, 0xd9, 0x0, 0x0, 0xfb, 0xec, 0x0, 0x0, 0xfc, 0xbf, 0x0, 0x0, 0xfd, 0xa2, 0x0, 0x0, 0xfc, 0xd7, 0x0, 0x0, 0xfd, 0x37, 0x0, 0x0, 0xfc, 0xec, 0x0, 0x0, 0xfc, 0xf4, 0x0, 0x0, 0xfc, 0xc5, 0x0, 0x0, 0xfd, 0xbc, 0x0, 0x0, 0xfc, 0xf0, 0x0, 0x0, 0xfc, 0x5d, 0x0, 0x0, 0xfc, 0xbf, 0x0, 0x0, 0xfc, 0xbf, 0x0, 0x0, 0xfe, 0x1f, 0x0, 0x0, 0xfd, 0x90, 0x0, 0x0, 0xfd, 0x90, 0x0, 0x0, 0xff, 0x79, 0x0, 0x0, 0xfc, 0xa8, 0x0, 0x0, 0xfd, 0x71, 0x0, 0x0, 0xfd, 0x24, 0x0, 0x0, 0xfd, 0xc4, 0x0, 0x0, 0xfe, 0x55, 0x0, 0x0, 0xfe, 0xf0, 0x0, 0x0, 0xfd, 0x80, 0x0, 0x0, 0xfd, 0xb, 0x0, 0x0, 0xfd, 0xb, 0x0, 0x0, 0xfd, 0x24, 0x0, 0x0, 0xfd, 0xb, 0x0, 0x0, 0xfd, 0x7a, 0x0, 0x0, 0xfd, 0x77, 0x0, 0x0, 0xfd, 0xa2, 0x0, 0x0, 0xfc, 0xd5, 0x0, 0x0, 0xfd, 0x28, 0x0, 0x0, 0xfd, 0x6a, 0x0, 0x0, 0xfd, 0x23, 0x0, 0x0, 0xfd, 0x4c, 0x0, 0x0, 0xfd, 0xbc, 0x0, 0x0, 0xfc, 0xf0, 0x0, 0x0, 0xfc, 0x63, 0x0, 0x0, 0xfc, 0xc5, 0x0, 0x0, 0xfc, 0xbf, 0x0, 0x0, 0xfc, 0xbf, 0x0, 0x0, 0xfc, 0xbf, 0x0, 0x0, 0xfc, 0xb4, 0x0, 0x0, 0xfc, 0xd9, 0x0, 0x0, 0xfb, 0xec, 0x0, 0x0, 0xfb, 0xec, 0x0, 0x0, 0xfb, 0x8c, 0x0, 0x0, 0xfd, 0x78, 0x0, 0x0, 0xfa, 0xed, 0x0, 0x0, 0xfb, 0x68, 0x0, 0x0, 0xfa, 0x12, 0x0, 0x0, 0xfd, 0xac, 0x0, 0x0, 0xfc, 0xf1, 0x0, 0x0, 0xfd, 0x21, 0x0, 0x0, 0xfc, 0x63, 0x0, 0x0, 0xfd, 0x2b, 0x0, 0x0, 0xfe, 0x6, 0x0, 0x0, 0xfb, 0xec, 0x0, 0x0, 0xfc, 0xa8, 0x0, 0x0, 0xfd, 0x71, 0x0, 0x0, 0xfc, 0xb4, 0x0, 0x0, 0xfd, 0x90, 0x0, 0x0, 0xfc, 0xe7, 0x0, 0x0, 0xfd, 0xc6, 0x0, 0x0, 0xfc, 0xd5, 0x0, 0x0, 0xfd, 0x1f, 0x0, 0x0, 0xfd, 0x15, 0x0, 0x0, 0xfd, 0x1f, 0x0, 0x0, 0xfc, 0xb6, 0x0, 0x0, 0xfc, 0xb6, 0x0, 0x0, 0xfc, 0xb6, 0x0, 0x0, 0xfc, 0x63, 0x0, 0x0, 0xfd, 0x33, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfd, 0x78, 0x0, 0x0, 0xfc, 0xbf, 0x0, 0x0, 0xfd, 0x2b, 0x0, 0x0, 0xfd, 0x78, 0x0, 0x0, 0xff, 0x2e, 0x0, 0x0, 0xfc, 0x90, 0x0, 0x0, 0xfc, 0x70, 0x0, 0x0, 0xfc, 0x70, 0x0, 0x0, 0xfc, 0x70, 0x0, 0x0, 0xfc, 0x70, 0x0, 0x0, 0xfd, 0x2a, 0x0, 0x0, 0xfc, 0x70, 0x0, 0x0, 0xfc, 0x77, 0x5, 0x3c, 0x0, 0xc9, 0x4, 0x8b, 0x0, 0xc1, 0x6, 0xe5, 0x0, 0xc9, 0x5, 0x2e, 0x0, 0xc9, 0x2, 0x3a, 0x0, 0xa0, 0x2, 0x3a, 0x0, 0xa0, 0x5, 0xfc, 0x0, 0xc9, 0x5, 0x33, 0x0, 0xba, 0x4, 0x0, 0x1, 0xb6, 0x4, 0x65, 0x0, 0x7f, 0x4, 0x66, 0x0, 0x71, 0x4, 0x65, 0x0, 0x7f, 0x2, 0xb2, 0x0, 0x9e, 0x4, 0x0, 0x1, 0x73, 0x4, 0x0, 0x0, 0xd7, 0x5, 0x8a, 0x0, 0x10, 0x2, 0x8b, 0x0, 0xdb, 0x5, 0xf8, 0xff, 0xe7, 0x6, 0xf8, 0xff, 0xf3, 0x3, 0x44, 0xff, 0xed, 0x6, 0x80, 0xff, 0xf2, 0x6, 0x99, 0xff, 0xe1, 0x6, 0x9b, 0xff, 0xdb, 0x2, 0xb5, 0x0, 0x5, 0x5, 0x79, 0x0, 0x10, 0x5, 0x7d, 0x0, 0xc9, 0x4, 0x75, 0x0, 0xc9, 0x5, 0x79, 0x0, 0x10, 0x5, 0xe, 0x0, 0xc9, 0x5, 0x7b, 0x0, 0x5c, 0x6, 0x4, 0x0, 0xc9, 0x6, 0x4c, 0x0, 0x73, 0x2, 0x5c, 0x0, 0xc9, 0x5, 0x3f, 0x0, 0xc9, 0x5, 0x79, 0x0, 0x10, 0x6, 0xe7, 0x0, 0xc9, 0x5, 0xfc, 0x0, 0xc9, 0x5, 0xe, 0x0, 0xc9, 0x6, 0x4c, 0x0, 0x73, 0x6, 0x4, 0x0, 0xc9, 0x4, 0xd3, 0x0, 0xc9, 0x5, 0xe, 0x0, 0xc9, 0x4, 0xe3, 0xff, 0xfa, 0x4, 0xe3, 0xff, 0xfc, 0x6, 0x4c, 0x0, 0x73, 0x5, 0x7b, 0x0, 0x3d, 0x6, 0x4c, 0x0, 0x73, 0x6, 0x1d, 0x0, 0x4e, 0x2, 0x5c, 0x0, 0x6, 0x4, 0xe3, 0xff, 0xfc, 0x5, 0x46, 0x0, 0x71, 0x4, 0x53, 0x0, 0x85, 0x5, 0x12, 0x0, 0xba, 0x2, 0xb5, 0x0, 0xa6, 0x4, 0xa1, 0x0, 0x95, 0x5, 0x46, 0x0, 0x71, 0x5, 0x1b, 0x0, 0xc0, 0x4, 0xbc, 0x0, 0x20, 0x4, 0xe5, 0x0, 0x71, 0x4, 0x53, 0x0, 0x85, 0x4, 0x5a, 0x0, 0x6b, 0x5, 0x12, 0x0, 0xba, 0x4, 0xe5, 0x0, 0x71, 0x2, 0xb5, 0x0, 0xa6, 0x4, 0xb7, 0x0, 0xbf, 0x4, 0xbc, 0x0, 0x3d, 0x5, 0x17, 0x0, 0xae, 0x4, 0x78, 0x0, 0x4a, 0x4, 0x76, 0x0, 0x6b, 0x4, 0xe5, 0x0, 0x71, 0x4, 0xd1, 0x0, 0x4a, 0x5, 0x14, 0x0, 0xba, 0x4, 0xb2, 0x0, 0x71, 0x5, 0x12, 0x0, 0x71, 0x4, 0xd1, 0x0, 0x64, 0x4, 0xa1, 0x0, 0x95, 0x5, 0x47, 0x0, 0x70, 0x4, 0x9f, 0x0, 0x3b, 0x5, 0x47, 0x0, 0x70, 0x6, 0xb3, 0x0, 0x87, 0x2, 0xb5, 0x0, 0x5, 0x4, 0xa1, 0x0, 0x95, 0x4, 0xe5, 0x0, 0x71, 0x4, 0xa1, 0x0, 0x95, 0x6, 0xb3, 0x0, 0x87, 0x5, 0x3f, 0x0, 0xc9, 0x4, 0xea, 0x0, 0xa7, 0x4, 0xf4, 0x0, 0x71, 0x5, 0x97, 0x0, 0x57, 0x6, 0xbd, 0xff, 0xe1, 0x5, 0x97, 0x0, 0x57, 0x5, 0x47, 0x0, 0x70, 0x6, 0xb3, 0x0, 0x41, 0x5, 0x4f, 0x0, 0x70, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x5, 0x30, 0x0, 0x8b, 0x4, 0xb2, 0x0, 0x71, 0x4, 0x9a, 0x0, 0xc9, 0x3, 0xab, 0xff, 0x40, 0x5, 0x47, 0x0, 0xb3, 0x5, 0x47, 0x0, 0xbf, 0x6, 0xec, 0x0, 0x72, 0x5, 0x5, 0x0, 0x77, 0x7, 0x78, 0x0, 0x73, 0x6, 0xb3, 0x0, 0x87, 0x6, 0x11, 0x0, 0x73, 0x5, 0x46, 0x0, 0x71, 0x6, 0x55, 0x0, 0xc9, 0x4, 0xeb, 0x0, 0x2d, 0x5, 0x7e, 0x0, 0x4f, 0x4, 0xdb, 0x0, 0x64, 0x6, 0x24, 0x0, 0x73, 0x5, 0x0, 0x0, 0x36, 0x5, 0x98, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x4, 0xe3, 0x0, 0x2c, 0x4, 0x4a, 0x0, 0x37, 0x5, 0x4f, 0x0, 0x70, 0x5, 0x14, 0x0, 0xba, 0x4, 0x66, 0x0, 0x71, 0x2, 0x39, 0xff, 0xdb, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xec, 0x0, 0x71, 0x4, 0xec, 0x0, 0xc4, 0x4, 0xd7, 0x0, 0xc9, 0x5, 0x14, 0x0, 0xba, 0x5, 0x96, 0x0, 0x73, 0x6, 0xe7, 0x0, 0xc9, 0x5, 0x35, 0x0, 0x7f, 0x5, 0x14, 0x0, 0x55, 0x5, 0xa0, 0x0, 0x73, 0x5, 0x96, 0x0, 0x73, 0x5, 0xa0, 0x0, 0x73, 0x5, 0xe, 0x0, 0xc9, 0x5, 0xe, 0x0, 0xc9, 0x6, 0x4a, 0xff, 0xfa, 0x4, 0xe1, 0x0, 0xc9, 0x5, 0x96, 0x0, 0x73, 0x5, 0x14, 0x0, 0x87, 0x2, 0x5c, 0x0, 0xc9, 0x2, 0x5c, 0x0, 0x6, 0x2, 0x5c, 0xff, 0x96, 0x8, 0xc0, 0x0, 0x54, 0x8, 0x5c, 0x0, 0xc9, 0x6, 0x4a, 0xff, 0xfa, 0x5, 0xae, 0x0, 0xc9, 0x5, 0xfc, 0x0, 0xc9, 0x4, 0xe0, 0x0, 0x23, 0x6, 0x4, 0x0, 0xc9, 0x5, 0x79, 0x0, 0x10, 0x5, 0x7d, 0x0, 0xc9, 0x5, 0x7d, 0x0, 0xc9, 0x4, 0xe1, 0x0, 0xc9, 0x6, 0x40, 0x0, 0x65, 0x5, 0xe, 0x0, 0xc9, 0x8, 0x9e, 0x0, 0x28, 0x5, 0x21, 0x0, 0x87, 0x5, 0xfc, 0x0, 0xc9, 0x5, 0xfc, 0x0, 0xc9, 0x5, 0xae, 0x0, 0xc9, 0x6, 0x4, 0x0, 0x54, 0x6, 0xe7, 0x0, 0xc9, 0x6, 0x4, 0x0, 0xc9, 0x6, 0x4c, 0x0, 0x73, 0x6, 0x4, 0x0, 0xc9, 0x4, 0xd3, 0x0, 0xc9, 0x5, 0x96, 0x0, 0x73, 0x4, 0xe3, 0xff, 0xfa, 0x4, 0xe0, 0x0, 0x23, 0x6, 0xe3, 0x0, 0x79, 0x5, 0x7b, 0x0, 0x3d, 0x6, 0x36, 0x0, 0xc9, 0x5, 0x7c, 0x0, 0xaf, 0x8, 0x8e, 0x0, 0xc9, 0x8, 0xc0, 0x0, 0xc9, 0x6, 0xa9, 0x0, 0x3c, 0x7, 0xf, 0x0, 0xc9, 0x5, 0x7d, 0x0, 0xc9, 0x5, 0x96, 0x0, 0x6f, 0x8, 0xa3, 0x0, 0xd3, 0x5, 0x8f, 0x0, 0x88, 0x4, 0xe7, 0x0, 0x7b, 0x4, 0xef, 0x0, 0x70, 0x4, 0xb7, 0x0, 0xba, 0x4, 0x34, 0x0, 0xba, 0x5, 0x88, 0x0, 0x6b, 0x4, 0xec, 0x0, 0x71, 0x7, 0x35, 0x0, 0x46, 0x4, 0x41, 0x0, 0x85, 0x5, 0x33, 0x0, 0xba, 0x5, 0x33, 0x0, 0xba, 0x4, 0xd5, 0x0, 0xba, 0x5, 0x1d, 0x0, 0x4c, 0x6, 0x9, 0x0, 0xba, 0x5, 0x3b, 0x0, 0xba, 0x4, 0xe5, 0x0, 0x71, 0x5, 0x3b, 0x0, 0xba, 0x5, 0x14, 0x0, 0xba, 0x4, 0x66, 0x0, 0x71, 0x4, 0xa9, 0x0, 0x3c, 0x4, 0xbc, 0x0, 0x3d, 0x6, 0xd7, 0x0, 0x70, 0x4, 0xbc, 0x0, 0x3b, 0x5, 0x72, 0x0, 0xba, 0x4, 0xba, 0x0, 0x96, 0x7, 0x52, 0x0, 0xba, 0x7, 0x89, 0x0, 0xba, 0x5, 0xa7, 0x0, 0x3e, 0x6, 0x51, 0x0, 0xba, 0x4, 0xb7, 0x0, 0xba, 0x4, 0x64, 0x0, 0x71, 0x6, 0xbc, 0x0, 0xc1, 0x4, 0xd0, 0x0, 0x74, 0x4, 0xec, 0x0, 0x71, 0x4, 0xec, 0x0, 0x71, 0x5, 0x0, 0x0, 0x2f, 0x4, 0x34, 0x0, 0xba, 0x4, 0x64, 0x0, 0x71, 0x4, 0x2b, 0x0, 0x6f, 0x2, 0x39, 0x0, 0xc1, 0x2, 0x39, 0xff, 0xf4, 0x2, 0x39, 0xff, 0xdb, 0x7, 0x38, 0x0, 0x4c, 0x7, 0x30, 0x0, 0xba, 0x5, 0x37, 0x0, 0x2f, 0x4, 0xd5, 0x0, 0xba, 0x5, 0x33, 0x0, 0xba, 0x4, 0xbc, 0x0, 0x3d, 0x5, 0x3b, 0x0, 0xba, 0x7, 0x78, 0x0, 0x73, 0x6, 0xb3, 0x0, 0x87, 0x6, 0x2a, 0x0, 0x1e, 0x5, 0x60, 0x0, 0x1e, 0x7, 0x8a, 0x0, 0xd3, 0x5, 0xfe, 0x0, 0xc1, 0x7, 0x9, 0x0, 0x10, 0x6, 0x44, 0x0, 0x33, 0x9, 0x47, 0x0, 0xc9, 0x8, 0x3, 0x0, 0xc1, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x6b, 0x8, 0x37, 0x0, 0xc9, 0x6, 0x98, 0x0, 0xc1, 0x5, 0x17, 0x0, 0x73, 0x4, 0x53, 0x0, 0x5b, 0x6, 0xda, 0x0, 0x10, 0x7, 0x3, 0x0, 0x32, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x6, 0x40, 0x0, 0x10, 0x5, 0x52, 0x0, 0x32, 0x6, 0x40, 0x0, 0x10, 0x5, 0x52, 0x0, 0x32, 0x7, 0xf0, 0x0, 0x73, 0x7, 0x3c, 0x0, 0x71, 0x7, 0xa0, 0x0, 0x73, 0x6, 0x11, 0x0, 0x71, 0x9, 0x70, 0x0, 0x76, 0x8, 0x39, 0x0, 0x98, 0x7, 0x78, 0x0, 0x73, 0x6, 0xb3, 0x0, 0x87, 0x5, 0x96, 0x0, 0x73, 0x4, 0x66, 0x0, 0x71, 0x4, 0x5, 0x0, 0x3b, 0x0, 0x0, 0xfb, 0xda, 0x0, 0x0, 0xfd, 0x7, 0x0, 0x0, 0xfd, 0xb3, 0x0, 0x0, 0xfd, 0xb3, 0x0, 0x0, 0xf9, 0xca, 0x3, 0x58, 0xf7, 0xd6, 0x3, 0x58, 0xf8, 0x58, 0x6, 0x2e, 0x0, 0xc9, 0x5, 0x6a, 0x0, 0xc1, 0x5, 0x7d, 0x0, 0x21, 0x4, 0xb7, 0x0, 0x26, 0x4, 0xd3, 0x0, 0xc9, 0x5, 0x14, 0x0, 0xba, 0x4, 0xe1, 0x0, 0xc9, 0x4, 0x34, 0x0, 0xba, 0x5, 0x66, 0x0, 0x47, 0x4, 0xb9, 0x0, 0x38, 0x4, 0xfe, 0x0, 0xc9, 0x4, 0x3d, 0x0, 0xba, 0x8, 0x9e, 0x0, 0x28, 0x7, 0x35, 0x0, 0x46, 0x5, 0x21, 0x0, 0x87, 0x4, 0x41, 0x0, 0x85, 0x5, 0xae, 0x0, 0xc9, 0x4, 0xd5, 0x0, 0xba, 0x5, 0xae, 0x0, 0xc9, 0x4, 0xd5, 0x0, 0xba, 0x5, 0xae, 0x0, 0x21, 0x4, 0xd5, 0x0, 0x3d, 0x6, 0xda, 0x0, 0x32, 0x6, 0xa7, 0x0, 0x2a, 0x6, 0x4, 0x0, 0xc9, 0x5, 0x49, 0x0, 0xc1, 0x8, 0x1d, 0x0, 0xc9, 0x7, 0x4, 0x0, 0xc1, 0x8, 0xa6, 0x0, 0xc9, 0x7, 0x53, 0x0, 0xc1, 0x7, 0x6, 0x0, 0x73, 0x5, 0x8b, 0x0, 0x71, 0x5, 0x96, 0x0, 0x73, 0x4, 0x66, 0x0, 0x71, 0x4, 0xe3, 0xff, 0xfa, 0x4, 0xa9, 0x0, 0x3c, 0x4, 0xe3, 0xff, 0xfc, 0x4, 0xbc, 0x0, 0x3d, 0x4, 0xe3, 0xff, 0xfc, 0x4, 0xbc, 0x0, 0x3d, 0x5, 0x7b, 0x0, 0x3d, 0x4, 0xbc, 0x0, 0x3b, 0x7, 0x79, 0xff, 0xfa, 0x6, 0x74, 0x0, 0x5, 0x5, 0x7c, 0x0, 0xaf, 0x4, 0xba, 0x0, 0x96, 0x5, 0x7c, 0x0, 0xaf, 0x4, 0xba, 0x0, 0x96, 0x5, 0x7c, 0x0, 0xaf, 0x5, 0x12, 0x0, 0xba, 0x7, 0x87, 0x0, 0x14, 0x5, 0xd3, 0x0, 0xf, 0x7, 0x87, 0x0, 0x14, 0x5, 0xd3, 0x0, 0xf, 0x2, 0x5c, 0x0, 0xc9, 0x8, 0x9e, 0x0, 0x28, 0x7, 0x35, 0x0, 0x46, 0x5, 0x3f, 0x0, 0xc9, 0x4, 0xd5, 0x0, 0xbf, 0x6, 0x35, 0x0, 0x36, 0x5, 0x5d, 0x0, 0x2e, 0x6, 0x4, 0x0, 0xc9, 0x5, 0x49, 0x0, 0xc1, 0x6, 0x36, 0x0, 0xc9, 0x5, 0x72, 0x0, 0xc1, 0x5, 0x7c, 0x0, 0xaf, 0x4, 0xba, 0x0, 0x96, 0x7, 0x1a, 0x0, 0xc9, 0x6, 0x32, 0x0, 0xc1, 0x2, 0x39, 0x0, 0xc1, 0x5, 0x79, 0x0, 0x10, 0x4, 0xe7, 0x0, 0x7b, 0x5, 0x79, 0x0, 0x10, 0x4, 0xe7, 0x0, 0x7b, 0x7, 0xcb, 0x0, 0x8, 0x7, 0xdb, 0x0, 0x7b, 0x5, 0xe, 0x0, 0xc9, 0x4, 0xec, 0x0, 0x71, 0x6, 0x4c, 0x0, 0x75, 0x4, 0xec, 0x0, 0x71, 0x6, 0x4c, 0x0, 0x75, 0x4, 0xec, 0x0, 0x71, 0x8, 0x9e, 0x0, 0x28, 0x7, 0x35, 0x0, 0x46, 0x5, 0x21, 0x0, 0x87, 0x4, 0x41, 0x0, 0x85, 0x5, 0x54, 0x0, 0xa0, 0x4, 0x9f, 0x0, 0x58, 0x5, 0xfc, 0x0, 0xc9, 0x5, 0x33, 0x0, 0xba, 0x5, 0xfc, 0x0, 0xc9, 0x5, 0x33, 0x0, 0xba, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x5, 0x96, 0x0, 0x6f, 0x4, 0x64, 0x0, 0x71, 0x4, 0xe0, 0x0, 0x23, 0x4, 0xbc, 0x0, 0x3d, 0x4, 0xe0, 0x0, 0x23, 0x4, 0xbc, 0x0, 0x3d, 0x4, 0xe0, 0x0, 0x23, 0x4, 0xbc, 0x0, 0x3d, 0x5, 0x7c, 0x0, 0xaf, 0x4, 0xba, 0x0, 0x96, 0x4, 0xe1, 0x0, 0xc9, 0x4, 0x34, 0x0, 0xba, 0x7, 0xf, 0x0, 0xc9, 0x6, 0x51, 0x0, 0xba, 0x5, 0x66, 0x0, 0x47, 0x4, 0xb9, 0x0, 0x38, 0x5, 0x7b, 0x0, 0x3d, 0x4, 0xbc, 0x0, 0x3b, 0x5, 0x7b, 0x0, 0x3d, 0x4, 0xbc, 0x0, 0x3b, 0x5, 0x7d, 0x0, 0x91, 0x4, 0xb7, 0x0, 0x71, 0x8, 0xc, 0x0, 0x91, 0x7, 0x2d, 0x0, 0x71, 0x7, 0xcc, 0x0, 0xc9, 0x6, 0xf4, 0x0, 0xab, 0x5, 0x6e, 0x0, 0xc9, 0x4, 0xb5, 0x0, 0xab, 0x8, 0x93, 0x0, 0x36, 0x7, 0xa8, 0x0, 0x2e, 0x8, 0xe7, 0x0, 0xc9, 0x7, 0xbd, 0x0, 0xc1, 0x6, 0x33, 0x0, 0x73, 0x5, 0x47, 0x0, 0x71, 0x6, 0x2f, 0xff, 0xfa, 0x5, 0xb0, 0x0, 0x5, 0x4, 0xea, 0x0, 0xa4, 0x4, 0x53, 0x0, 0x85, 0x6, 0x4, 0x0, 0x54, 0x5, 0x1d, 0x0, 0x4c, 0x9, 0x5a, 0x0, 0x54, 0x7, 0xf3, 0x0, 0x4c, 0x7, 0x27, 0x0, 0xc9, 0x6, 0xea, 0x0, 0xba, 0x8, 0x41, 0x0, 0x88, 0x7, 0xe3, 0x0, 0x74, 0x6, 0x4c, 0x0, 0x73, 0x5, 0x14, 0x0, 0x71, 0x7, 0xe9, 0x0, 0x44, 0x6, 0x8b, 0x0, 0x56, 0x5, 0xae, 0x0, 0xc9, 0x4, 0xd5, 0x0, 0xba, 0x8, 0xa5, 0x0, 0x54, 0x7, 0x3e, 0x0, 0x4c, 0x8, 0xa6, 0x0, 0xc9, 0x7, 0x4c, 0x0, 0xba, 0x6, 0x58, 0x0, 0xc9, 0x5, 0x76, 0x0, 0xba, 0x6, 0x21, 0x0, 0xb2, 0x5, 0xdb, 0x0, 0xb2, 0x6, 0x7, 0x0, 0x5d, 0x6, 0x7, 0x0, 0x5a, 0x5, 0xdb, 0x0, 0xb2, 0x6, 0x2d, 0x0, 0xb2, 0x5, 0x1f, 0x0, 0xbc, 0x5, 0xdb, 0x0, 0xb2, 0x6, 0xe0, 0x0, 0xb2, 0x6, 0x7, 0x0, 0x5d, 0x5, 0x87, 0x0, 0xbc, 0x4, 0x44, 0x0, 0xbc, 0x7, 0x60, 0x0, 0xbc, 0x6, 0xe8, 0x1, 0x8, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0xba, 0x0, 0x46, 0x6, 0x20, 0x0, 0xa8, 0x6, 0x7, 0x0, 0x64, 0x6, 0x23, 0x0, 0x69, 0x6, 0x55, 0x0, 0xb2, 0x5, 0xd2, 0x0, 0x92, 0x5, 0xd5, 0x0, 0x0, 0x6, 0xf, 0x0, 0xa0, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0xb4, 0x0, 0x78, 0x6, 0x67, 0x0, 0x5a, 0x6, 0x25, 0x0, 0xa8, 0x6, 0x55, 0x0, 0xb2, 0x5, 0xdb, 0x0, 0xb2, 0x6, 0x7, 0x0, 0x64, 0x5, 0xa4, 0x0, 0x96, 0x5, 0x8d, 0x0, 0xb2, 0x5, 0xf3, 0x0, 0xa0, 0x4, 0x4d, 0x0, 0xbc, 0x6, 0x7c, 0x0, 0x78, 0x6, 0xe, 0x0, 0x32, 0x6, 0x4c, 0x0, 0x73, 0x6, 0x52, 0x0, 0x6e, 0x2, 0x75, 0x0, 0x75, 0x2, 0x8b, 0x0, 0xb2, 0x1, 0xe0, 0x0, 0x0, 0x2, 0xe4, 0x0, 0x5, 0x1, 0xe7, 0xff, 0xff, 0x3, 0x3e, 0x0, 0x8, 0x4, 0x0, 0x0, 0x5a, 0x7, 0xcb, 0x0, 0xae, 0x5, 0x12, 0x0, 0xba, 0x5, 0x43, 0x0, 0x71, 0x5, 0x4e, 0x0, 0xba, 0x5, 0x12, 0x0, 0xae, 0x5, 0x14, 0x0, 0x71, 0x4, 0x1e, 0x0, 0xba, 0x5, 0x12, 0x0, 0xba, 0x5, 0xe8, 0x0, 0xba, 0x5, 0x43, 0x0, 0x71, 0x5, 0x12, 0x0, 0xba, 0x2, 0x2c, 0x0, 0xba, 0x7, 0xd7, 0x0, 0xba, 0x4, 0xfb, 0x0, 0x71, 0x5, 0x12, 0x0, 0xae, 0x5, 0x12, 0x0, 0xba, 0x4, 0xdd, 0x0, 0x6a, 0x5, 0x13, 0x0, 0xba, 0x5, 0x8, 0x0, 0x8c, 0x5, 0x12, 0x0, 0xae, 0x2, 0x2c, 0xff, 0xd4, 0x5, 0x12, 0xff, 0xd9, 0x3, 0xfd, 0x0, 0x0, 0x5, 0x12, 0x0, 0xba, 0x3, 0x3c, 0x0, 0xa, 0x7, 0xcb, 0x0, 0xae, 0x4, 0x7b, 0x0, 0x6e, 0x5, 0x30, 0x0, 0xba, 0x5, 0x12, 0x0, 0xae, 0x5, 0x12, 0x0, 0xae, 0x7, 0xca, 0x0, 0xae, 0x5, 0x12, 0x0, 0xba, 0x5, 0x11, 0x0, 0x6f, 0x3, 0x7a, 0x0, 0xba, 0x7, 0xca, 0x0, 0xae, 0x5, 0x17, 0x0, 0x29, 0x4, 0xe0, 0x0, 0x6f, 0x6, 0x71, 0x0, 0x46, 0x6, 0x7e, 0x0, 0xae, 0x2, 0xb2, 0x0, 0xf0, 0x2, 0xe3, 0x0, 0x64, 0x0, 0x0, 0x2, 0x44, 0x0, 0x0, 0x0, 0xab, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x2, 0x44, 0x0, 0x0, 0x1, 0xc7, 0x0, 0x0, 0x1, 0xc7, 0x0, 0x0, 0x1, 0x63, 0x0, 0x0, 0x1, 0x63, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2f, 0x0, 0x0, 0x2, 0x4e, 0x0, 0x0, 0x2, 0x44, 0x2, 0xe3, 0x0, 0x64, 0x0, 0x0, 0x1, 0x63, 0x2, 0x5c, 0x0, 0xd1, 0x0, 0x0, 0x5, 0x19, 0x0, 0x0, 0x0, 0xc5, 0x2, 0x5c, 0x0, 0xd1, 0x3, 0x88, 0x0, 0x66, 0x0, 0x0, 0x1, 0x63, 0x5, 0x59, 0x0, 0xba, 0x4, 0xa0, 0x0, 0x58, 0x3, 0x4c, 0x0, 0x58, 0x4, 0x5e, 0x0, 0x58, 0x5, 0x3a, 0x0, 0xba, 0x2, 0x2e, 0x0, 0xba, 0x2, 0xc5, 0x0, 0x58, 0x5, 0x3a, 0x0, 0xba, 0x5, 0x30, 0x0, 0xb9, 0x1, 0xca, 0x0, 0x88, 0x4, 0x4c, 0x0, 0x58, 0x4, 0x3b, 0x0, 0x58, 0x4, 0x8c, 0x0, 0x58, 0x5, 0x4f, 0x0, 0xba, 0x5, 0x6f, 0x0, 0x58, 0x2, 0x2e, 0x0, 0xba, 0x3, 0x34, 0x0, 0x58, 0x5, 0x31, 0x0, 0xb9, 0x5, 0x2, 0x0, 0x58, 0x5, 0x1e, 0x0, 0xba, 0x4, 0xff, 0x0, 0xba, 0x4, 0x51, 0x0, 0x58, 0x4, 0xbf, 0x0, 0x58, 0x5, 0xad, 0x0, 0xba, 0x4, 0x84, 0x0, 0x58, 0x5, 0xab, 0x0, 0x58, 0x5, 0x42, 0x0, 0x14, 0x3, 0xc4, 0x0, 0xba, 0x3, 0x62, 0x0, 0x88, 0x2, 0xa5, 0x0, 0x88, 0x3, 0x53, 0x0, 0xba, 0x5, 0x28, 0x0, 0xba, 0x5, 0x19, 0x0, 0x0, 0x5, 0x19, 0x0, 0x0, 0x6, 0xe, 0x0, 0x85, 0x7, 0xd0, 0x0, 0x85, 0x2, 0x95, 0x0, 0xdb, 0x0, 0x0, 0x0, 0xfc, 0x2, 0x8b, 0x0, 0xdb, 0x4, 0x3f, 0x0, 0x93, 0x3, 0xc3, 0x0, 0xa3, 0x2, 0x39, 0xff, 0xb5, 0x2, 0x39, 0x0, 0x6c, 0x3, 0xdd, 0xff, 0xab, 0x2, 0x39, 0x0, 0x6c, 0x6, 0x43, 0x0, 0x82, 0x2, 0x39, 0x0, 0xc1, 0x7, 0x88, 0x0, 0x82, 0x4, 0x31, 0x0, 0x8b, 0x7, 0x88, 0x0, 0x82, 0x7, 0x88, 0x0, 0x82, 0x5, 0x2a, 0x0, 0x9d, 0x5, 0x2a, 0x0, 0x9d, 0x5, 0x2a, 0x0, 0x9d, 0x3, 0x90, 0x0, 0x7d, 0x3, 0x90, 0x0, 0x7d, 0x3, 0xdd, 0xff, 0xab, 0x3, 0xdd, 0xff, 0xab, 0x9, 0xc4, 0x0, 0x82, 0x9, 0xc4, 0x0, 0x82, 0x9, 0xac, 0x0, 0x82, 0x9, 0xac, 0x0, 0x82, 0x7, 0x66, 0x0, 0x90, 0x7, 0x66, 0x0, 0x90, 0x4, 0xc6, 0x0, 0x75, 0x4, 0xc6, 0x0, 0x75, 0x2, 0x58, 0xff, 0xec, 0x8, 0x4b, 0x0, 0x82, 0x6, 0x35, 0x0, 0x6b, 0x6, 0x98, 0x0, 0x90, 0x5, 0xd0, 0x0, 0x90, 0x4, 0xf4, 0x0, 0x8c, 0x5, 0xe0, 0x0, 0x93, 0x4, 0x31, 0x0, 0x8b, 0x3, 0xdd, 0xff, 0xab, 0x6, 0x43, 0x0, 0x82, 0x6, 0x43, 0x0, 0x82, 0x0, 0x0, 0x0, 0xdc, 0x0, 0x0, 0x0, 0xdc, 0x0, 0x0, 0x0, 0xdc, 0x0, 0x0, 0x0, 0xdc, 0x0, 0x0, 0x0, 0xdc, 0x0, 0x0, 0x0, 0xdc, 0x0, 0x0, 0x0, 0xc8, 0x0, 0x0, 0x0, 0xec, 0x0, 0x0, 0x0, 0x98, 0x0, 0x0, 0x1, 0x4f, 0x0, 0x0, 0x1, 0x4f, 0x0, 0x0, 0x0, 0xdc, 0x4, 0x0, 0x0, 0xf3, 0x4, 0x4c, 0x1, 0xb8, 0x4, 0x4c, 0x1, 0x16, 0x4, 0x4c, 0x0, 0x52, 0x4, 0x4c, 0x0, 0x4c, 0x4, 0x4c, 0x0, 0xaf, 0x4, 0x4c, 0x0, 0x87, 0x4, 0x4c, 0x0, 0x55, 0x4, 0x4c, 0x0, 0x3c, 0x4, 0x4c, 0x0, 0x3c, 0x4, 0x4c, 0x0, 0x64, 0x4, 0x4c, 0x0, 0x85, 0x2, 0x99, 0x0, 0x0, 0x2, 0x8b, 0x0, 0xb2, 0x4, 0x5c, 0x0, 0x57, 0x7, 0x88, 0x0, 0x82, 0x6, 0x35, 0x0, 0x6b, 0x0, 0x0, 0x1, 0xc9, 0x2, 0x56, 0x0, 0x7a, 0x7, 0x88, 0x0, 0x82, 0x7, 0x88, 0x0, 0x82, 0x7, 0x88, 0x0, 0x82, 0x7, 0x88, 0x0, 0x82, 0x7, 0x88, 0x0, 0x82, 0x7, 0x88, 0x0, 0x82, 0x7, 0x88, 0x0, 0x82, 0x7, 0x88, 0x0, 0x82, 0x5, 0x2a, 0x0, 0x9d, 0x5, 0x2a, 0x0, 0x9d, 0x5, 0x2a, 0x0, 0x9d, 0x5, 0x2a, 0x0, 0x9d, 0x5, 0x2a, 0x0, 0x9d, 0x5, 0x2a, 0x0, 0x9d, 0x5, 0x2a, 0x0, 0x9d, 0x3, 0x90, 0x0, 0x7d, 0x3, 0x90, 0x0, 0x7d, 0x3, 0x90, 0x0, 0x7d, 0x3, 0x90, 0x0, 0x7d, 0x3, 0x90, 0x0, 0x7d, 0x3, 0x90, 0x0, 0x7d, 0x3, 0x90, 0x0, 0x7d, 0x3, 0x90, 0x0, 0x7d, 0x3, 0x90, 0x0, 0x7d, 0x3, 0xdd, 0xff, 0xab, 0x3, 0xdd, 0xff, 0xab, 0x3, 0xfc, 0xff, 0xab, 0x4, 0x3d, 0xff, 0xab, 0x4, 0xe2, 0xff, 0xab, 0x4, 0x3d, 0xff, 0xab, 0x3, 0xdd, 0xff, 0xab, 0x3, 0xdd, 0xff, 0xab, 0x3, 0xdd, 0xff, 0xab, 0x9, 0xc4, 0x0, 0x82, 0x9, 0xc4, 0x0, 0x82, 0x9, 0xc4, 0x0, 0x82, 0x9, 0xac, 0x0, 0x82, 0x9, 0xac, 0x0, 0x82, 0x7, 0x66, 0x0, 0x90, 0x4, 0xc6, 0x0, 0x75, 0x8, 0x4b, 0x0, 0x82, 0x8, 0x4b, 0x0, 0x82, 0x8, 0x4b, 0x0, 0x82, 0x8, 0x4b, 0x0, 0x82, 0x8, 0x4b, 0x0, 0x82, 0x8, 0x4b, 0x0, 0x82, 0x6, 0x35, 0x0, 0x6b, 0x6, 0x35, 0x0, 0x6b, 0x7, 0x29, 0x0, 0x82, 0x8, 0x6e, 0x0, 0x82, 0x7, 0x29, 0x0, 0x82, 0x6, 0x98, 0x0, 0x90, 0x6, 0x98, 0x0, 0x90, 0x6, 0x98, 0x0, 0x90, 0x7, 0x29, 0x0, 0x82, 0x7, 0x29, 0x0, 0x82, 0x7, 0x29, 0x0, 0x82, 0x7, 0x29, 0x0, 0x82, 0x7, 0x29, 0x0, 0x82, 0x7, 0x29, 0x0, 0x82, 0x5, 0xd0, 0x0, 0x90, 0x5, 0xd0, 0x0, 0x90, 0x5, 0xd0, 0x0, 0x90, 0x5, 0xd0, 0x0, 0x90, 0x5, 0xe0, 0x0, 0x93, 0x5, 0xe0, 0x0, 0x93, 0x5, 0xe0, 0x0, 0x93, 0x5, 0xe0, 0x0, 0x93, 0x5, 0xe0, 0x0, 0x93, 0x5, 0x96, 0x0, 0x90, 0x5, 0x2a, 0x0, 0x9d, 0x3, 0xdd, 0xff, 0xab, 0x6, 0x43, 0x0, 0x82, 0x6, 0x43, 0x0, 0x82, 0x4, 0x31, 0x0, 0x8b, 0x4, 0x4c, 0x1, 0xb8, 0x4, 0x4c, 0x1, 0x16, 0x4, 0x4c, 0x0, 0x52, 0x4, 0x4c, 0x0, 0x4c, 0x4, 0x4c, 0x0, 0x52, 0x4, 0x4c, 0x0, 0x6a, 0x4, 0x4c, 0x0, 0xd0, 0x4, 0x4c, 0x0, 0x3c, 0x4, 0x4c, 0x0, 0x3c, 0x4, 0x4c, 0x0, 0x64, 0x5, 0x17, 0x0, 0x87, 0x5, 0x17, 0x0, 0xe1, 0x5, 0x17, 0x0, 0xe1, 0x5, 0x17, 0x0, 0xe1, 0x5, 0x17, 0x0, 0xe1, 0x5, 0x17, 0x0, 0xe1, 0x5, 0x17, 0x0, 0xe1, 0x5, 0x17, 0x0, 0xd6, 0x5, 0x17, 0x0, 0xd6, 0x5, 0x17, 0x0, 0x9d, 0x2, 0x39, 0x0, 0xc1, 0x4, 0x92, 0x0, 0x71, 0x3, 0x64, 0x0, 0x3d, 0x4, 0xbc, 0x0, 0x3d, 0x5, 0x3b, 0x0, 0xba, 0x5, 0x3b, 0x0, 0xba, 0x4, 0xc0, 0x0, 0x71, 0x5, 0x3b, 0x0, 0xba, 0x6, 0xa1, 0x0, 0x71, 0x3, 0x81, 0x0, 0xc1, 0x3, 0x81, 0x0, 0x3d, 0x4, 0x78, 0x0, 0xba, 0x4, 0xe5, 0x0, 0xc1, 0x2, 0xcd, 0x0, 0x3d, 0x7, 0xac, 0x0, 0xc1, 0x3, 0xc8, 0x0, 0x3d, 0x6, 0x44, 0x0, 0x3d, 0x5, 0x3b, 0x0, 0xba, 0x5, 0x0, 0x0, 0x3d, 0x5, 0xdf, 0x0, 0xc1, 0x4, 0x3d, 0x0, 0xc1, 0x5, 0xcb, 0x0, 0x70, 0x3, 0xc8, 0x0, 0x3d, 0x5, 0x0, 0x0, 0x3d, 0x4, 0xc0, 0x0, 0x71, 0x4, 0x3d, 0x0, 0xc1, 0x4, 0x3d, 0x0, 0xc1, 0x4, 0x2e, 0x0, 0xc1, 0x4, 0xc0, 0x0, 0x71, 0x4, 0xc0, 0x0, 0x71, 0x0, 0x0, 0x0, 0xd9, 0x0, 0x0, 0x0, 0x42, 0x0, 0x0, 0x1, 0xa4, 0x0, 0x0, 0x0, 0xbf, 0x0, 0x0, 0x0, 0x5b, 0x0, 0x0, 0x0, 0x42, 0x0, 0x0, 0x0, 0x5b, 0x0, 0x0, 0x1, 0x9a, 0x0, 0x0, 0x0, 0xd5, 0x2, 0x82, 0x0, 0xc8, 0x2, 0x82, 0x0, 0xc8, 0x4, 0x7b, 0x0, 0x64, 0x4, 0x7b, 0x0, 0x64, 0x2, 0xe3, 0xff, 0xec, 0x5, 0x17, 0x0, 0xb0, 0x5, 0x5d, 0x0, 0x82, 0x5, 0x78, 0x0, 0x8b, 0x5, 0x81, 0x0, 0x89, 0x3, 0xdc, 0x0, 0x6d, 0x5, 0x6, 0x0, 0x7f, 0x5, 0x78, 0x0, 0x8b, 0x5, 0x80, 0x0, 0x73, 0x5, 0x5b, 0x0, 0xba, 0x5, 0x22, 0x0, 0x81, 0x5, 0x29, 0x0, 0x0, 0x5, 0x3e, 0x0, 0x57, 0x5, 0x45, 0x0, 0x5f, 0x5, 0x0, 0x0, 0x49, 0x5, 0x0, 0x0, 0x49, 0x5, 0xf6, 0x0, 0x59, 0x6, 0x22, 0x0, 0xba, 0x5, 0x7e, 0x0, 0x68, 0x5, 0x7e, 0x0, 0x68, 0x5, 0x9d, 0x0, 0x40, 0x5, 0x80, 0x0, 0x73, 0x5, 0x78, 0x0, 0x8b, 0x5, 0x32, 0x0, 0x4f, 0x5, 0xf, 0x0, 0x73, 0x5, 0xa0, 0x0, 0x4f, 0x6, 0x8d, 0x0, 0x7f, 0x5, 0x10, 0x0, 0x73, 0x5, 0x78, 0x0, 0x8b, 0x6, 0x4d, 0x0, 0xcb, 0x5, 0xf, 0x0, 0x6f, 0x0, 0x0, 0xfb, 0x60, 0x4, 0x50, 0x0, 0x7b, 0x4, 0x50, 0xfc, 0x9a, 0x0, 0x0, 0xfb, 0x40, 0x0, 0x0, 0xfb, 0x40, 0x0, 0x0, 0xfb, 0x40, 0x0, 0x0, 0xfb, 0x40, 0x0, 0x0, 0xfc, 0xfe, 0x0, 0x0, 0xfc, 0xa7, 0x0, 0x0, 0xfb, 0x60, 0x0, 0x0, 0xfb, 0x1c, 0x5, 0x4e, 0x0, 0x81, 0x3, 0x0, 0x0, 0x7a, 0x5, 0x42, 0x0, 0x7a, 0x3, 0xae, 0xff, 0xd3, 0x4, 0x61, 0x0, 0x5c, 0x3, 0xee, 0x0, 0xbc, 0x5, 0x64, 0x0, 0x93, 0x0, 0x0, 0xfd, 0x12, 0x0, 0x0, 0xfb, 0x7f, 0x0, 0x0, 0xfb, 0x3e, 0x0, 0x0, 0xfc, 0x4e, 0x0, 0x0, 0xfb, 0x1c, 0x0, 0x0, 0xfc, 0x9a, 0x5, 0x17, 0x0, 0x87, 0x5, 0x20, 0x0, 0x63, 0x5, 0x20, 0x0, 0x63, 0x5, 0x5d, 0x0, 0x16, 0x5, 0x0, 0x0, 0x63, 0x5, 0x0, 0x0, 0x63, 0x5, 0xa0, 0x0, 0x59, 0x5, 0x5d, 0x0, 0x82, 0x5, 0x64, 0x0, 0x96, 0x5, 0x6a, 0x0, 0x69, 0x8, 0x3a, 0x0, 0x7f, 0x8, 0x3a, 0x0, 0x7f, 0x6, 0xfe, 0x0, 0x78, 0x5, 0xde, 0x0, 0x6e, 0x5, 0x6e, 0x0, 0x6f, 0x6, 0xad, 0x0, 0x6e, 0x4, 0xec, 0x0, 0x64, 0x6, 0x24, 0x0, 0x50, 0x6, 0x7, 0x0, 0x3c, 0x7, 0x50, 0x0, 0x79, 0x3, 0xa0, 0x0, 0x3c, 0x4, 0xf5, 0x0, 0x78, 0x6, 0xbe, 0x0, 0x3c, 0x7, 0xf, 0x0, 0x78, 0x4, 0xff, 0x0, 0x82, 0x6, 0xd6, 0x0, 0x64, 0x6, 0x40, 0x0, 0x32, 0x5, 0x9, 0x0, 0x50, 0x7, 0x4b, 0x0, 0x6e, 0x4, 0xf7, 0x0, 0x82, 0x4, 0xf6, 0x0, 0x82, 0x6, 0xd6, 0x0, 0x64, 0x6, 0xed, 0x0, 0x64, 0x5, 0xca, 0x0, 0x5a, 0x5, 0xa, 0x0, 0x83, 0x4, 0xf7, 0x0, 0x6e, 0x5, 0x0, 0x0, 0x78, 0x4, 0xf5, 0x0, 0x82, 0x6, 0x8b, 0x0, 0x79, 0x6, 0xfd, 0x0, 0x78, 0x4, 0xec, 0x0, 0x82, 0x4, 0xfc, 0x0, 0x64, 0x5, 0x0, 0x0, 0x82, 0x5, 0xcc, 0x0, 0x3c, 0x6, 0xc1, 0x0, 0x3c, 0x4, 0xc4, 0x0, 0x82, 0x5, 0x82, 0x0, 0x6f, 0x4, 0xc4, 0x0, 0x3c, 0x4, 0xc0, 0x0, 0x6e, 0x5, 0xe8, 0x0, 0x50, 0x4, 0x10, 0x0, 0x64, 0x4, 0x24, 0x0, 0x64, 0x4, 0xa6, 0x0, 0x5a, 0x6, 0x8b, 0x0, 0x64, 0x4, 0x10, 0x0, 0x64, 0x4, 0x1a, 0x0, 0x64, 0x4, 0x1, 0x0, 0x29, 0x6, 0x68, 0x0, 0x64, 0x4, 0x24, 0x0, 0x64, 0x4, 0x15, 0x0, 0x5a, 0x8, 0x84, 0x0, 0x64, 0x4, 0x2e, 0x0, 0x64, 0x4, 0x2e, 0x0, 0x82, 0x6, 0x4a, 0x0, 0x64, 0x4, 0x10, 0x0, 0x64, 0x4, 0x24, 0x0, 0x64, 0x6, 0x5e, 0x0, 0x64, 0x4, 0x2e, 0x0, 0x82, 0x5, 0x3c, 0x0, 0x5a, 0x4, 0x2e, 0x0, 0xa, 0x6, 0x9a, 0x0, 0x64, 0x4, 0x1a, 0x0, 0x64, 0x6, 0x4a, 0x0, 0x64, 0x4, 0x24, 0x0, 0x64, 0x4, 0x24, 0x0, 0x3c, 0x4, 0x2e, 0x0, 0x82, 0x4, 0x92, 0x0, 0x5a, 0x4, 0x2e, 0x0, 0x64, 0x4, 0x24, 0x0, 0x83, 0x4, 0x29, 0x0, 0x64, 0x4, 0x2e, 0x0, 0x82, 0x3, 0xa2, 0x0, 0x14, 0x4, 0x10, 0x0, 0x64, 0x4, 0x24, 0x0, 0x78, 0x4, 0x10, 0x0, 0x64, 0x4, 0x10, 0x0, 0x64, 0x4, 0x24, 0x0, 0x64, 0x4, 0x6f, 0x0, 0x64, 0x6, 0x9f, 0x0, 0x64, 0x4, 0x6a, 0x0, 0x5a, 0x4, 0x10, 0x0, 0x64, 0x4, 0x92, 0x0, 0x50, 0x4, 0x10, 0x0, 0x64, 0x3, 0x95, 0x0, 0x6e, 0x2, 0x97, 0x0, 0x64, 0x5, 0x79, 0x0, 0x10, 0x5, 0x79, 0x0, 0x10, 0x5, 0x79, 0x0, 0x10, 0x5, 0x79, 0x0, 0x10, 0x6, 0x27, 0x0, 0xc9, 0x6, 0x27, 0x0, 0xc9, 0x6, 0x27, 0x0, 0xc9, 0x6, 0x27, 0x0, 0xc9, 0x6, 0x27, 0x0, 0x77, 0x6, 0x27, 0x0, 0x77, 0x6, 0xae, 0x0, 0xc9, 0x6, 0xad, 0x0, 0x10, 0x6, 0xae, 0x0, 0xc9, 0x6, 0xad, 0x0, 0x10, 0x6, 0xae, 0x0, 0xc9, 0x6, 0xad, 0x0, 0x10, 0x7, 0xbc, 0x0, 0xc9, 0x8, 0xe, 0x0, 0xc9, 0x7, 0xbc, 0x0, 0xc9, 0x8, 0xe, 0x0, 0xc9, 0x6, 0x27, 0x0, 0xc9, 0x7, 0xbc, 0x0, 0xc9, 0x8, 0xe, 0x0, 0x77, 0x7, 0xbc, 0x0, 0xc9, 0x8, 0xe, 0x0, 0x77, 0x6, 0x27, 0x0, 0x77, 0x2, 0xc, 0x0, 0xc9, 0x4, 0x58, 0x0, 0x89, 0x3, 0x63, 0x0, 0x5e, 0x3, 0x63, 0x0, 0x5e, 0x3, 0x1d, 0x0, 0x89, 0x3, 0x1d, 0x0, 0x89, 0x3, 0x25, 0x0, 0x89, 0x3, 0x1d, 0x0, 0x89, 0x3, 0xba, 0x0, 0x48, 0x3, 0x15, 0x0, 0x89, 0x2, 0xc, 0x0, 0xc9, 0x3, 0x1d, 0x0, 0x89, 0x3, 0x1d, 0x0, 0x89, 0x3, 0x1d, 0x0, 0x89, 0x8, 0xb8, 0x0, 0x10, 0x7, 0x45, 0x0, 0x10, 0x7, 0xa0, 0x0, 0xc9, 0x8, 0xef, 0x0, 0x77, 0x5, 0x79, 0x0, 0x10, 0x5, 0x79, 0x0, 0x10, 0x5, 0x79, 0x0, 0x10, 0x5, 0x79, 0x0, 0x10, 0x5, 0xd5, 0x0, 0x77, 0x5, 0xd5, 0x0, 0x77, 0x5, 0xd5, 0x0, 0x77, 0x5, 0xd5, 0x0, 0x77, 0x5, 0xd5, 0x0, 0x77, 0x5, 0xd5, 0x0, 0x77, 0x6, 0xae, 0x0, 0xc9, 0x5, 0x79, 0x0, 0x10, 0x6, 0xae, 0x0, 0xc9, 0x6, 0xad, 0x0, 0x10, 0x6, 0xae, 0x0, 0xc9, 0x6, 0xad, 0x0, 0x10, 0x7, 0xbc, 0x0, 0xc9, 0x8, 0xe, 0x0, 0x77, 0x7, 0xbc, 0x0, 0xc9, 0x8, 0xe, 0x0, 0x77, 0x7, 0xbc, 0x0, 0xc9, 0x8, 0xe, 0x0, 0x77, 0x7, 0xbc, 0x0, 0xc9, 0x8, 0xe, 0x0, 0x77, 0x5, 0xd5, 0x0, 0x77, 0x4, 0x11, 0x0, 0x89, 0x1, 0x89, 0x0, 0x89, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0xd7, 0x0, 0x77, 0x5, 0xd7, 0x0, 0x77, 0x5, 0xd7, 0x0, 0x77, 0x5, 0xd7, 0x0, 0x77, 0x5, 0xd7, 0x0, 0x79, 0x5, 0xd7, 0x0, 0x79, 0x7, 0x5e, 0x0, 0xc9, 0x7, 0x1c, 0x0, 0xb2, 0x7, 0x5e, 0x0, 0xc9, 0x7, 0x1c, 0x0, 0xb2, 0x7, 0x5e, 0x0, 0xc9, 0x7, 0x1c, 0x0, 0xb2, 0x7, 0x6c, 0x0, 0xc9, 0x7, 0x34, 0x0, 0x77, 0x7, 0x6c, 0x0, 0xc9, 0x7, 0x34, 0x0, 0x77, 0x7, 0x94, 0x0, 0xc9, 0x7, 0x34, 0x0, 0x79, 0x7, 0x94, 0x0, 0xc9, 0x7, 0x34, 0x0, 0x79, 0x7, 0x94, 0x0, 0xf0, 0x3, 0x79, 0x0, 0x89, 0x7, 0x5, 0x0, 0xb2, 0x7, 0x5, 0x0, 0xb2, 0x6, 0xed, 0x0, 0x77, 0x7, 0x1f, 0x0, 0x79, 0x5, 0x7, 0x0, 0x46, 0x5, 0x7, 0x0, 0xc9, 0x5, 0x7, 0x0, 0xc9, 0x5, 0x7, 0x0, 0xc9, 0x5, 0x7, 0x0, 0x46, 0x5, 0x7, 0x0, 0x46, 0x5, 0x7, 0x0, 0x46, 0x5, 0x7, 0x0, 0xc9, 0x5, 0x7, 0x0, 0xc9, 0x6, 0xe1, 0x0, 0xc9, 0x6, 0x2a, 0x0, 0x46, 0x6, 0x85, 0x0, 0xc9, 0x6, 0x87, 0x0, 0xc9, 0x6, 0x85, 0x0, 0xc9, 0x6, 0x87, 0x0, 0xc9, 0x6, 0xe1, 0x0, 0xc9, 0x6, 0x2a, 0x0, 0x46, 0x6, 0xe1, 0x0, 0xc9, 0x6, 0x2a, 0x0, 0x46, 0x6, 0x85, 0x0, 0xc9, 0x6, 0x87, 0x0, 0xc9, 0x6, 0x85, 0x0, 0xc9, 0x6, 0x87, 0x0, 0xc9, 0x6, 0x85, 0x0, 0xf0, 0x3, 0x41, 0x0, 0x89, 0x3, 0x41, 0x0, 0x38, 0x6, 0x1, 0x0, 0x46, 0x6, 0x33, 0x0, 0xc9, 0x6, 0x1, 0x0, 0x46, 0x6, 0x33, 0x0, 0xc9, 0x5, 0x7, 0x0, 0x46, 0x5, 0x7, 0x0, 0xc9, 0x5, 0x7, 0x0, 0xc9, 0x5, 0x7, 0x0, 0xc9, 0x5, 0x7, 0x0, 0x46, 0x5, 0x7, 0x0, 0x46, 0x5, 0x7, 0x0, 0x46, 0x5, 0x7, 0x0, 0xc9, 0x5, 0x7, 0x0, 0xc9, 0x6, 0xe1, 0x0, 0xc9, 0x6, 0x2a, 0x0, 0x46, 0x6, 0x85, 0x0, 0xc9, 0x6, 0x87, 0x0, 0xc9, 0x6, 0x85, 0x0, 0xc9, 0x6, 0x87, 0x0, 0xc9, 0x6, 0xe1, 0x0, 0xc9, 0x6, 0x2a, 0x0, 0x46, 0x6, 0xe1, 0x0, 0xc9, 0x6, 0x2a, 0x0, 0x46, 0x6, 0x85, 0x0, 0xc9, 0x6, 0x87, 0x0, 0xc9, 0x6, 0x85, 0x0, 0xc9, 0x6, 0x87, 0x0, 0xc9, 0x6, 0x85, 0x0, 0xf0, 0x3, 0x7a, 0x0, 0x89, 0x3, 0x7a, 0x0, 0x89, 0x4, 0xe1, 0x0, 0x77, 0x4, 0x75, 0x0, 0xc9, 0x4, 0x75, 0x0, 0xc9, 0x4, 0x75, 0x0, 0xc9, 0x4, 0xe1, 0x0, 0x77, 0x4, 0xe1, 0x0, 0x77, 0x4, 0xe1, 0x0, 0x77, 0x4, 0x75, 0x0, 0xc9, 0x4, 0x75, 0x0, 0xc9, 0x5, 0xfe, 0x0, 0xc9, 0x6, 0x26, 0x0, 0x77, 0x5, 0xf8, 0x0, 0xc9, 0x6, 0x1c, 0x0, 0xc9, 0x5, 0xf8, 0x0, 0xc9, 0x6, 0x1c, 0x0, 0xc9, 0x5, 0xfe, 0x0, 0xc9, 0x6, 0x26, 0x0, 0x77, 0x5, 0xfe, 0x0, 0xc9, 0x6, 0x26, 0x0, 0x77, 0x5, 0xf8, 0x0, 0xc9, 0x6, 0x1c, 0x0, 0xc9, 0x5, 0xf8, 0x0, 0xc9, 0x6, 0x1c, 0x0, 0xc9, 0x5, 0xf8, 0x0, 0xf0, 0x3, 0x16, 0x0, 0x89, 0x4, 0x11, 0x0, 0x89, 0x3, 0x16, 0x0, 0x89, 0x6, 0xd0, 0x0, 0x77, 0x6, 0xd0, 0x0, 0x46, 0x6, 0xd0, 0x0, 0x46, 0x6, 0xd0, 0x0, 0xb, 0x6, 0xd0, 0x0, 0x77, 0x6, 0xd0, 0x0, 0x77, 0x6, 0xd0, 0x0, 0x77, 0x6, 0xd0, 0x0, 0x46, 0x6, 0xd0, 0x0, 0x46, 0x8, 0x8e, 0x0, 0xc9, 0x8, 0x47, 0x0, 0x77, 0x8, 0x79, 0x0, 0xc9, 0x6, 0xd0, 0x0, 0x46, 0x8, 0x79, 0x0, 0xc9, 0x6, 0xd0, 0x0, 0x46, 0x6, 0xd0, 0x0, 0x46, 0x4, 0xcd, 0x0, 0x89, 0x3, 0x9f, 0x0, 0x89, 0x4, 0xcd, 0x0, 0x89, 0x6, 0xd0, 0x0, 0x77, 0x6, 0xd0, 0x0, 0x46, 0x6, 0xd0, 0x0, 0x46, 0x6, 0xd0, 0x0, 0x46, 0x6, 0xd0, 0x0, 0x77, 0x6, 0xd0, 0x0, 0x77, 0x6, 0xd0, 0x0, 0x77, 0x6, 0xd0, 0x0, 0x46, 0x6, 0xd0, 0x0, 0x46, 0x8, 0x8e, 0x0, 0xc9, 0x8, 0x47, 0x0, 0x77, 0x8, 0x79, 0x0, 0xc9, 0x8, 0x3d, 0x0, 0x46, 0x8, 0x79, 0x0, 0xc9, 0x8, 0x3d, 0x0, 0x46, 0x8, 0x8e, 0x0, 0xc9, 0x8, 0x47, 0x0, 0x77, 0x8, 0x8e, 0x0, 0xc9, 0x8, 0x47, 0x0, 0x77, 0x8, 0xaa, 0x0, 0xc9, 0x8, 0x3d, 0x0, 0x46, 0x8, 0xaa, 0x0, 0xc9, 0x8, 0x3d, 0x0, 0x46, 0x4, 0xcd, 0x0, 0x89, 0x5, 0xd5, 0x0, 0x77, 0x4, 0xd3, 0x0, 0x46, 0x4, 0xd3, 0x0, 0xc9, 0x4, 0xd3, 0x0, 0xc9, 0x4, 0xd3, 0x0, 0xc9, 0x4, 0xd3, 0x0, 0x46, 0x4, 0xd3, 0x0, 0x46, 0x4, 0xd3, 0x0, 0x46, 0x4, 0xd3, 0x0, 0xc9, 0x4, 0xd3, 0x0, 0xc9, 0x6, 0xad, 0x0, 0xc9, 0x6, 0x8, 0x0, 0x46, 0x6, 0x56, 0x0, 0xc9, 0x6, 0x2b, 0x0, 0xc9, 0x6, 0x56, 0x0, 0xc9, 0x6, 0x2b, 0x0, 0xc9, 0x6, 0xad, 0x0, 0xc9, 0x6, 0x8, 0x0, 0x46, 0x6, 0xad, 0x0, 0xc9, 0x6, 0x8, 0x0, 0x46, 0x6, 0x56, 0x0, 0xc9, 0x6, 0x2b, 0x0, 0xc9, 0x6, 0x56, 0x0, 0xc9, 0x6, 0x2b, 0x0, 0xc9, 0x6, 0x56, 0x0, 0xf0, 0x3, 0x59, 0x0, 0x89, 0x3, 0x5d, 0x0, 0x89, 0x3, 0x59, 0x0, 0x89, 0x5, 0xb2, 0x0, 0x46, 0x5, 0xb2, 0x0, 0x46, 0x5, 0xb2, 0x0, 0x46, 0x7, 0x22, 0x0, 0x46, 0x7, 0x22, 0x0, 0x46, 0x7, 0x22, 0x0, 0x46, 0x7, 0x22, 0x0, 0x46, 0x7, 0x47, 0x0, 0xc9, 0x6, 0xfa, 0x0, 0x46, 0x7, 0x47, 0x0, 0xc9, 0x6, 0xfa, 0x0, 0x46, 0x7, 0x47, 0x0, 0xc9, 0x6, 0xfa, 0x0, 0x46, 0x9, 0x1f, 0x0, 0xc9, 0x8, 0xcc, 0x0, 0x46, 0x9, 0x1f, 0x0, 0xc9, 0x8, 0xcc, 0x0, 0x46, 0x9, 0x1f, 0x0, 0xc9, 0x8, 0xcc, 0x0, 0x46, 0x9, 0x1f, 0x0, 0xc9, 0x8, 0xcc, 0x0, 0x46, 0x5, 0x20, 0x0, 0x89, 0x5, 0x4, 0x0, 0x77, 0x5, 0x4, 0x0, 0xc9, 0x5, 0x4, 0x0, 0xc9, 0x5, 0x4, 0x0, 0xc9, 0x5, 0x4, 0x0, 0x77, 0x5, 0x4, 0x0, 0x77, 0x5, 0x4, 0x0, 0x77, 0x5, 0x4, 0x0, 0xc9, 0x5, 0x4, 0x0, 0xc9, 0x6, 0xc1, 0x0, 0xc9, 0x6, 0x3f, 0x0, 0x77, 0x6, 0x87, 0x0, 0xc9, 0x6, 0x8c, 0x0, 0xc9, 0x6, 0x87, 0x0, 0xc9, 0x6, 0x8c, 0x0, 0xc9, 0x6, 0xc1, 0x0, 0xc9, 0x6, 0x3f, 0x0, 0x77, 0x6, 0xc1, 0x0, 0xc9, 0x6, 0x3f, 0x0, 0x77, 0x6, 0x87, 0x0, 0xc9, 0x6, 0x8c, 0x0, 0xc9, 0x6, 0x87, 0x0, 0xc9, 0x6, 0x8c, 0x0, 0xc9, 0x6, 0x87, 0x0, 0xf0, 0x3, 0x59, 0x0, 0x89, 0x3, 0x1d, 0x0, 0x89, 0x3, 0xe0, 0x0, 0x89, 0x7, 0x53, 0x0, 0xc9, 0x7, 0x53, 0x0, 0x77, 0x7, 0x53, 0x0, 0x77, 0x7, 0x53, 0x0, 0xc9, 0x7, 0x53, 0x0, 0xc9, 0x7, 0x53, 0x0, 0xc9, 0x4, 0xd3, 0x0, 0xc9, 0x4, 0xd3, 0x0, 0xc9, 0x4, 0xd3, 0x0, 0xc9, 0x4, 0xd3, 0x0, 0x46, 0x4, 0xd3, 0x0, 0x46, 0x4, 0xd3, 0x0, 0x46, 0x6, 0xad, 0x0, 0xc9, 0x6, 0x8, 0x0, 0x46, 0x3, 0x59, 0x0, 0x89, 0x5, 0xd5, 0x0, 0x77, 0x5, 0x79, 0x0, 0x96, 0x5, 0x79, 0x0, 0x96, 0x5, 0x79, 0x0, 0x96, 0x5, 0x79, 0x0, 0x96, 0x5, 0xcf, 0x0, 0x4d, 0x5, 0xcf, 0x0, 0x4d, 0x5, 0xcf, 0x0, 0x77, 0x5, 0xcf, 0x0, 0x77, 0x7, 0x64, 0x0, 0xc9, 0x8, 0xe, 0x0, 0x77, 0x4, 0x11, 0x0, 0x89, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0xd7, 0x0, 0x53, 0x5, 0xd7, 0x0, 0x53, 0x5, 0xd7, 0x0, 0x79, 0x5, 0xd7, 0x0, 0x79, 0x7, 0x94, 0x0, 0xc9, 0x7, 0x34, 0x0, 0x79, 0x4, 0x11, 0x0, 0x89, 0x6, 0xa5, 0x0, 0x46, 0x6, 0xa5, 0x0, 0x77, 0x6, 0xa5, 0x0, 0x77, 0x6, 0xa5, 0x0, 0x46, 0x6, 0xa5, 0x0, 0x46, 0x6, 0xa5, 0x0, 0x77, 0x6, 0xa5, 0x0, 0x77, 0x4, 0x82, 0x0, 0x89, 0x6, 0x4, 0x0, 0xc9, 0x3, 0xe0, 0x0, 0x89, 0x8, 0x60, 0x0, 0x89, 0x8, 0x60, 0x0, 0x89, 0x8, 0x60, 0x0, 0x89, 0x8, 0x60, 0x0, 0x89, 0x8, 0x60, 0x0, 0x89, 0x8, 0x60, 0x0, 0x89, 0x8, 0x60, 0x0, 0x89, 0x6, 0x9a, 0x0, 0x89, 0x6, 0xa5, 0x0, 0x46, 0x6, 0xa5, 0x0, 0x77, 0x6, 0xa5, 0x0, 0x46, 0x6, 0xa5, 0x0, 0x77, 0xa, 0x13, 0x0, 0x89, 0xa, 0x13, 0x0, 0x89, 0xa, 0x13, 0x0, 0x89, 0x8, 0x4, 0x0, 0x89, 0x8, 0x4, 0x0, 0x89, 0xa, 0x13, 0x0, 0x89, 0xa, 0x13, 0x0, 0x89, 0x5, 0x99, 0x0, 0x89, 0x8, 0x95, 0x0, 0x89, 0x6, 0xd0, 0x0, 0x46, 0x6, 0xd0, 0x0, 0x46, 0x6, 0xd0, 0x0, 0x77, 0x6, 0xd0, 0x0, 0x77, 0x6, 0xd0, 0x0, 0x46, 0x6, 0xd0, 0x0, 0x46, 0x4, 0xcd, 0x0, 0x89, 0x5, 0x25, 0x0, 0x77, 0x5, 0x25, 0x0, 0x21, 0x5, 0x25, 0x0, 0x21, 0x5, 0x25, 0x0, 0x77, 0x5, 0x25, 0x0, 0x77, 0x5, 0x25, 0x0, 0x21, 0x5, 0x25, 0x0, 0x21, 0x3, 0x59, 0x0, 0xa, 0x5, 0x7, 0x0, 0xc9, 0x6, 0x29, 0x0, 0xc9, 0x6, 0x23, 0x0, 0x73, 0x3, 0xbf, 0x0, 0x89, 0x3, 0xbf, 0x0, 0x89, 0x3, 0x8d, 0x0, 0x75, 0x8, 0x60, 0x0, 0x89, 0xa, 0x7a, 0x0, 0x89, 0xd, 0xf, 0x0, 0x89, 0xd, 0xf, 0x0, 0x89, 0xb, 0x0, 0x0, 0x89, 0xb, 0x0, 0x0, 0x89, 0xd, 0xf, 0x0, 0x89, 0xd, 0xf, 0x0, 0x89, 0x3, 0xd1, 0xff, 0xec, 0x3, 0xf1, 0xff, 0xec, 0x5, 0xb2, 0xff, 0xec, 0x7, 0x73, 0xff, 0xec, 0x9, 0x34, 0xff, 0xec, 0xa, 0xf5, 0xff, 0xec, 0x3, 0xf1, 0xff, 0xec, 0x5, 0xb2, 0xff, 0xec, 0x7, 0x73, 0xff, 0xec, 0x9, 0x33, 0xff, 0xec, 0xa, 0xf5, 0xff, 0xec, 0x3, 0xfc, 0xff, 0xec, 0x5, 0xbf, 0xff, 0xec, 0x7, 0x82, 0xff, 0xec, 0x9, 0x45, 0xff, 0xec, 0xb, 0x8, 0xff, 0xec, 0x3, 0xf1, 0xff, 0xec, 0x5, 0xb2, 0xff, 0xec, 0x7, 0x70, 0xff, 0xec, 0x9, 0x32, 0xff, 0xec, 0xa, 0xf5, 0xff, 0xec, 0x3, 0xfc, 0xff, 0xec, 0x6, 0x5, 0xff, 0xec, 0x6, 0x4f, 0xff, 0xec, 0x9, 0xa3, 0xff, 0xec, 0x9, 0x33, 0xff, 0xec, 0x5, 0x77, 0xff, 0xec, 0x4, 0xf, 0x0, 0x71, 0x4, 0xe, 0xff, 0xec, 0x4, 0xbc, 0x0, 0x3d, 0x5, 0xbd, 0x0, 0xb, 0x7, 0xdb, 0x0, 0x7b, 0x4, 0xb0, 0x0, 0x3e, 0x4, 0x66, 0x0, 0x71, 0x4, 0xd7, 0x0, 0xba, 0x4, 0xd7, 0x0, 0x24, 0x3, 0xed, 0x0, 0xba, 0x4, 0x53, 0x0, 0x82, 0x2, 0x39, 0x0, 0xc1, 0x3, 0x28, 0x0, 0x0, 0x4, 0xa2, 0x0, 0xba, 0x4, 0xaa, 0x0, 0x2, 0x6, 0x9, 0x0, 0xba, 0x5, 0x33, 0x0, 0xba, 0x4, 0xe5, 0x0, 0x71, 0x4, 0x66, 0x0, 0x7f, 0x5, 0x79, 0x0, 0x71, 0x5, 0x79, 0x0, 0x71, 0x5, 0x79, 0x0, 0x33, 0x8, 0x2f, 0x0, 0x71, 0x4, 0xe5, 0x0, 0x71, 0x4, 0xe5, 0x0, 0x71, 0x4, 0x32, 0x0, 0x97, 0x4, 0xd0, 0x0, 0x32, 0x4, 0xd0, 0x0, 0x32, 0x4, 0xa9, 0x0, 0x3c, 0x4, 0x98, 0x0, 0xba, 0x5, 0xe5, 0x0, 0xae, 0x7, 0x95, 0x0, 0xae, 0x5, 0x1a, 0x0, 0x2f, 0x4, 0xbc, 0x0, 0x3d, 0x6, 0x8b, 0x0, 0x56, 0x4, 0x33, 0x0, 0x58, 0x4, 0x35, 0x0, 0x78, 0x4, 0xaa, 0x0, 0xb3, 0x4, 0xbc, 0x0, 0x3d, 0x4, 0x83, 0x0, 0x97, 0x4, 0x32, 0x0, 0x97, 0x4, 0xb9, 0x0, 0x5a, 0x5, 0x1d, 0x0, 0x4c, 0x3, 0x72, 0x0, 0xa, 0x4, 0xe8, 0x0, 0x5, 0x3, 0x75, 0x0, 0x7f, 0x3, 0xe1, 0x0, 0x7f, 0x3, 0x2f, 0x0, 0x7f, 0x3, 0x2f, 0x0, 0x53, 0x3, 0xe7, 0x0, 0x48, 0x3, 0xca, 0x0, 0x7f, 0x1, 0x7c, 0x0, 0x7f, 0x1, 0x7c, 0xff, 0xbd, 0x3, 0x4e, 0x0, 0x7f, 0x2, 0xce, 0x0, 0x7f, 0x4, 0x59, 0x0, 0x7f, 0x3, 0xc5, 0x0, 0x7f, 0x3, 0xc5, 0x0, 0x7f, 0x3, 0xf7, 0x0, 0x48, 0x3, 0x84, 0x0, 0x47, 0x3, 0xa, 0x0, 0x7f, 0x3, 0x80, 0x0, 0x7f, 0x3, 0x14, 0xff, 0xfc, 0x3, 0xb0, 0x0, 0x70, 0x4, 0xfb, 0x0, 0x2b, 0x3, 0x22, 0x0, 0x4d, 0x3, 0x22, 0x0, 0x4d, 0x3, 0x3e, 0x0, 0x47, 0x5, 0x2f, 0x0, 0x4d, 0x3, 0x6d, 0x0, 0x75, 0x3, 0x3e, 0x0, 0x47, 0x3, 0x56, 0x0, 0x47, 0x3, 0x56, 0x0, 0x47, 0x2, 0xe2, 0x0, 0x54, 0x2, 0xe0, 0x0, 0x52, 0x3, 0x3e, 0x0, 0x47, 0x1, 0x6e, 0x0, 0x7a, 0x3, 0x68, 0x0, 0x75, 0x4, 0xfc, 0x0, 0x75, 0x3, 0x45, 0x0, 0x75, 0x3, 0x4f, 0x0, 0x47, 0x2, 0xf6, 0x0, 0x47, 0x3, 0x4f, 0x0, 0x47, 0x3, 0x4f, 0x0, 0x47, 0x3, 0x6d, 0x0, 0x75, 0x2, 0x5c, 0x0, 0x23, 0x3, 0x3d, 0x0, 0x6e, 0x3, 0xc2, 0x0, 0x6e, 0x4, 0xfc, 0x0, 0x75, 0x3, 0x56, 0x0, 0x26, 0x3, 0x37, 0x0, 0x79, 0x2, 0xfb, 0x0, 0x14, 0x3, 0x15, 0x0, 0x47, 0x3, 0x53, 0x0, 0x47, 0x2, 0xe9, 0x0, 0x25, 0x1, 0x6e, 0x0, 0x7a, 0x2, 0x12, 0x0, 0x75, 0x3, 0x3d, 0x0, 0x6e, 0x3, 0x56, 0x0, 0x26, 0x3, 0x37, 0x0, 0x79, 0x2, 0xfb, 0x0, 0x14, 0x3, 0x4b, 0x0, 0x79, 0x3, 0x53, 0x0, 0x47, 0x2, 0xe9, 0x0, 0x25, 0x5, 0x14, 0x0, 0xba, 0x3, 0xca, 0x0, 0x7f, 0x2, 0xf9, 0x0, 0x74, 0x5, 0x56, 0x0, 0x32, 0x2, 0x39, 0x0, 0x91, 0x3, 0x3e, 0x0, 0x47, 0x2, 0xf6, 0x0, 0x47, 0x2, 0xf6, 0x0, 0x47, 0x3, 0x4f, 0x0, 0x47, 0x2, 0xe2, 0x0, 0x54, 0x2, 0x5f, 0x0, 0x1e, 0x1, 0xdd, 0xff, 0xe9, 0x3, 0x3e, 0x0, 0x47, 0x3, 0x3d, 0x0, 0x6e, 0x2, 0x17, 0x0, 0x49, 0x1, 0xff, 0x0, 0x7a, 0x2, 0x16, 0x0, 0x49, 0x2, 0x17, 0x0, 0x49, 0x1, 0xe0, 0xff, 0x56, 0x1, 0xff, 0x0, 0x7a, 0x1, 0xe1, 0x0, 0x5b, 0x3, 0x3, 0x0, 0x71, 0x4, 0xfc, 0x0, 0x75, 0x4, 0xfc, 0x0, 0x75, 0x3, 0x49, 0xff, 0xe9, 0x3, 0xd6, 0x0, 0x75, 0x3, 0x45, 0x0, 0x71, 0x3, 0x4f, 0x0, 0x47, 0x3, 0x4f, 0x0, 0x47, 0x2, 0xe2, 0x0, 0x46, 0x2, 0x4b, 0xff, 0xe9, 0x2, 0x5c, 0x0, 0x23, 0x4, 0x10, 0x0, 0x5e, 0x3, 0x59, 0x0, 0x47, 0x2, 0xe4, 0x0, 0x75, 0x3, 0x40, 0x0, 0x7a, 0x3, 0x56, 0x0, 0x26, 0x2, 0xee, 0x0, 0x37, 0x3, 0x7e, 0x0, 0x37, 0x2, 0xee, 0x0, 0x37, 0x3, 0x23, 0x0, 0x37, 0x3, 0x4f, 0x0, 0x47, 0x0, 0x0, 0xfc, 0x5b, 0x0, 0x0, 0xfc, 0x5b, 0x0, 0x0, 0xfc, 0x5b, 0x0, 0x0, 0xfc, 0x5b, 0x0, 0x0, 0xfc, 0x42, 0x0, 0x0, 0xfc, 0x42, 0x5, 0x79, 0x0, 0x10, 0x4, 0xe7, 0x0, 0x7b, 0x5, 0x7d, 0x0, 0xc9, 0x5, 0x14, 0x0, 0xb8, 0x5, 0x7d, 0x0, 0xc9, 0x5, 0x14, 0x0, 0xba, 0x5, 0x7d, 0x0, 0xc9, 0x5, 0x14, 0x0, 0xba, 0x5, 0x96, 0x0, 0x73, 0x4, 0x66, 0x0, 0x71, 0x6, 0x29, 0x0, 0xc9, 0x5, 0x14, 0x0, 0x71, 0x6, 0x29, 0x0, 0xc9, 0x5, 0x14, 0x0, 0x71, 0x6, 0x29, 0x0, 0xc9, 0x5, 0x14, 0x0, 0x71, 0x6, 0x29, 0x0, 0xc9, 0x5, 0x14, 0x0, 0x71, 0x6, 0x29, 0x0, 0xc9, 0x5, 0x14, 0x0, 0x71, 0x5, 0xe, 0x0, 0xc9, 0x4, 0xec, 0x0, 0x71, 0x5, 0xe, 0x0, 0xc9, 0x4, 0xec, 0x0, 0x71, 0x5, 0xe, 0x0, 0xc9, 0x4, 0xec, 0x0, 0x71, 0x5, 0xe, 0x0, 0xc9, 0x4, 0xec, 0x0, 0x71, 0x5, 0xe, 0x0, 0xc9, 0x4, 0xec, 0x0, 0x71, 0x4, 0x9a, 0x0, 0xc9, 0x2, 0xd1, 0x0, 0x2f, 0x6, 0x33, 0x0, 0x73, 0x5, 0x14, 0x0, 0x71, 0x6, 0x4, 0x0, 0xc9, 0x5, 0x12, 0x0, 0xb8, 0x6, 0x4, 0x0, 0xc9, 0x5, 0x12, 0x0, 0xba, 0x6, 0x4, 0x0, 0xc9, 0x5, 0x12, 0xff, 0xed, 0x6, 0x4, 0x0, 0x11, 0x5, 0x12, 0x0, 0x2, 0x6, 0x4, 0x0, 0xc9, 0x5, 0x12, 0x0, 0xba, 0x2, 0x5c, 0x0, 0x0, 0x2, 0x39, 0xff, 0xd3, 0x2, 0x5c, 0x0, 0x7, 0x2, 0x39, 0xff, 0xf4, 0x5, 0x3f, 0x0, 0xc9, 0x4, 0xa2, 0x0, 0xba, 0x5, 0x3f, 0x0, 0xc9, 0x4, 0xa2, 0x0, 0xba, 0x5, 0x3f, 0x0, 0xc9, 0x4, 0xa2, 0x0, 0xba, 0x4, 0x75, 0x0, 0xc9, 0x2, 0x4d, 0x0, 0xc9, 0x4, 0x75, 0x0, 0x3, 0x2, 0x4d, 0xff, 0xfd, 0x4, 0x75, 0x0, 0xc9, 0x2, 0x39, 0xff, 0xf4, 0x4, 0x75, 0x0, 0xc9, 0x2, 0x39, 0xff, 0xde, 0x6, 0xe7, 0x0, 0xc9, 0x7, 0xcb, 0x0, 0xba, 0x6, 0xe7, 0x0, 0xc9, 0x7, 0xcb, 0x0, 0xba, 0x6, 0xe7, 0x0, 0xc9, 0x7, 0xcb, 0x0, 0xba, 0x5, 0xfc, 0x0, 0xc9, 0x5, 0x12, 0x0, 0xba, 0x5, 0xfc, 0x0, 0xc9, 0x5, 0x12, 0x0, 0xba, 0x5, 0xfc, 0x0, 0xc9, 0x5, 0x12, 0x0, 0xba, 0x5, 0xfc, 0x0, 0xc9, 0x5, 0x12, 0x0, 0xba, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x4, 0xd3, 0x0, 0xc9, 0x5, 0x14, 0x0, 0xba, 0x4, 0xd3, 0x0, 0xc9, 0x5, 0x14, 0x0, 0xba, 0x5, 0x8f, 0x0, 0xc9, 0x3, 0x4a, 0x0, 0xba, 0x5, 0x8f, 0x0, 0xc9, 0x3, 0x4a, 0x0, 0xba, 0x5, 0x8f, 0x0, 0xc9, 0x3, 0x4a, 0x0, 0xba, 0x5, 0x8f, 0x0, 0xc9, 0x3, 0x4a, 0x0, 0x54, 0x5, 0x14, 0x0, 0x87, 0x4, 0x2b, 0x0, 0x6f, 0x5, 0x14, 0x0, 0x87, 0x4, 0x2b, 0x0, 0x6f, 0x5, 0x14, 0x0, 0x87, 0x4, 0x2b, 0x0, 0x6f, 0x5, 0x14, 0x0, 0x87, 0x4, 0x2b, 0x0, 0x6f, 0x5, 0x14, 0x0, 0x87, 0x4, 0x2b, 0x0, 0x6f, 0x4, 0xe3, 0xff, 0xfa, 0x3, 0x23, 0x0, 0x37, 0x4, 0xe3, 0xff, 0xfa, 0x3, 0x23, 0x0, 0x37, 0x4, 0xe3, 0xff, 0xfa, 0x3, 0x23, 0x0, 0x37, 0x4, 0xe3, 0xff, 0xfa, 0x3, 0x23, 0x0, 0x37, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0x12, 0x0, 0xae, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0x12, 0x0, 0xae, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0x12, 0x0, 0xae, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0x12, 0x0, 0xae, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0x12, 0x0, 0xae, 0x5, 0x79, 0x0, 0x10, 0x4, 0xbc, 0x0, 0x3d, 0x5, 0x79, 0x0, 0x10, 0x4, 0xbc, 0x0, 0x3d, 0x7, 0xe9, 0x0, 0x44, 0x6, 0x8b, 0x0, 0x56, 0x7, 0xe9, 0x0, 0x44, 0x6, 0x8b, 0x0, 0x56, 0x7, 0xe9, 0x0, 0x44, 0x6, 0x8b, 0x0, 0x56, 0x7, 0xe9, 0x0, 0x44, 0x6, 0x8b, 0x0, 0x56, 0x7, 0xe9, 0x0, 0x44, 0x6, 0x8b, 0x0, 0x56, 0x5, 0x7b, 0x0, 0x3d, 0x4, 0xbc, 0x0, 0x3b, 0x5, 0x7b, 0x0, 0x3d, 0x4, 0xbc, 0x0, 0x3b, 0x4, 0xe3, 0xff, 0xfc, 0x4, 0xbc, 0x0, 0x3d, 0x5, 0x7b, 0x0, 0x5c, 0x4, 0x33, 0x0, 0x58, 0x5, 0x7b, 0x0, 0x5c, 0x4, 0x33, 0x0, 0x58, 0x5, 0x7b, 0x0, 0x5c, 0x4, 0x33, 0x0, 0x58, 0x5, 0x12, 0x0, 0xba, 0x3, 0x23, 0x0, 0x4, 0x6, 0x8b, 0x0, 0x56, 0x4, 0xbc, 0x0, 0x3d, 0x4, 0xe7, 0x0, 0x7b, 0x2, 0xd1, 0x0, 0x2f, 0x2, 0xd1, 0x0, 0x2, 0x2, 0xd1, 0x0, 0x2f, 0x6, 0x26, 0x0, 0xb2, 0x4, 0xe5, 0x0, 0x71, 0x5, 0x79, 0x0, 0x10, 0x4, 0xe7, 0x0, 0x7b, 0x5, 0x79, 0x0, 0x10, 0x4, 0xe7, 0x0, 0x7b, 0x5, 0x79, 0x0, 0x10, 0x4, 0xe7, 0x0, 0x7b, 0x5, 0x79, 0x0, 0x10, 0x4, 0xe7, 0x0, 0x7b, 0x5, 0x79, 0x0, 0x10, 0x4, 0xe7, 0x0, 0x7b, 0x5, 0x79, 0x0, 0x10, 0x4, 0xe7, 0x0, 0x7b, 0x5, 0x79, 0x0, 0x10, 0x4, 0xe7, 0x0, 0x7b, 0x5, 0x79, 0x0, 0x10, 0x4, 0xe7, 0x0, 0x7b, 0x5, 0x79, 0x0, 0x10, 0x4, 0xe7, 0x0, 0x7b, 0x5, 0x79, 0x0, 0x10, 0x4, 0xe7, 0x0, 0x7b, 0x5, 0x79, 0x0, 0x10, 0x4, 0xe7, 0x0, 0x7b, 0x5, 0x79, 0x0, 0x10, 0x4, 0xe7, 0x0, 0x7b, 0x5, 0xe, 0x0, 0xc9, 0x4, 0xec, 0x0, 0x71, 0x5, 0xe, 0x0, 0xc9, 0x4, 0xec, 0x0, 0x71, 0x5, 0xe, 0x0, 0xc9, 0x4, 0xec, 0x0, 0x71, 0x5, 0xe, 0x0, 0xc9, 0x4, 0xec, 0x0, 0x71, 0x5, 0xe, 0x0, 0xc9, 0x4, 0xec, 0x0, 0x71, 0x5, 0xe, 0x0, 0xc9, 0x4, 0xec, 0x0, 0x71, 0x5, 0xe, 0x0, 0xc9, 0x4, 0xec, 0x0, 0x71, 0x5, 0xe, 0x0, 0xc9, 0x4, 0xec, 0x0, 0x71, 0x2, 0x5c, 0x0, 0x5a, 0x2, 0x39, 0x0, 0x44, 0x2, 0x5c, 0x0, 0xc9, 0x2, 0x39, 0x0, 0xbf, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x7, 0x4e, 0x0, 0x67, 0x4, 0xe5, 0x0, 0x76, 0x7, 0x4e, 0x0, 0x67, 0x4, 0xe5, 0x0, 0x76, 0x7, 0x4e, 0x0, 0x67, 0x4, 0xe5, 0x0, 0x76, 0x7, 0x4e, 0x0, 0x67, 0x4, 0xe5, 0x0, 0x76, 0x7, 0x4e, 0x0, 0x67, 0x4, 0xe5, 0x0, 0x76, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0x12, 0x0, 0xae, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0x12, 0x0, 0xae, 0x6, 0xdd, 0x0, 0xad, 0x5, 0x12, 0x0, 0xb0, 0x6, 0xdd, 0x0, 0xad, 0x5, 0x12, 0x0, 0xb0, 0x6, 0xdd, 0x0, 0xad, 0x5, 0x12, 0x0, 0xb0, 0x6, 0xdd, 0x0, 0xad, 0x5, 0x12, 0x0, 0xb0, 0x6, 0xdd, 0x0, 0xad, 0x5, 0x12, 0x0, 0xb0, 0x4, 0xe3, 0xff, 0xfc, 0x4, 0xbc, 0x0, 0x3d, 0x4, 0xe3, 0xff, 0xfc, 0x4, 0xbc, 0x0, 0x3d, 0x4, 0xe3, 0xff, 0xfc, 0x4, 0xbc, 0x0, 0x3d, 0x4, 0xe3, 0xff, 0xfc, 0x4, 0xbc, 0x0, 0x3d, 0x6, 0x27, 0x0, 0xc9, 0x3, 0xd1, 0x0, 0x20, 0x5, 0x46, 0x0, 0x71, 0x5, 0x46, 0x0, 0x71, 0x5, 0x46, 0x0, 0x71, 0x5, 0x46, 0x0, 0x71, 0x5, 0x46, 0x0, 0x71, 0x5, 0x46, 0x0, 0x71, 0x5, 0x46, 0x0, 0x71, 0x5, 0x46, 0x0, 0x71, 0x5, 0x79, 0x0, 0x10, 0x5, 0x79, 0x0, 0x10, 0x7, 0x5, 0x0, 0x5, 0x7, 0x5, 0x0, 0x6, 0x6, 0x27, 0x0, 0x7, 0x6, 0x69, 0x0, 0x4, 0x5, 0xaa, 0x0, 0x7, 0x5, 0xf1, 0x0, 0x4, 0x4, 0x53, 0x0, 0x85, 0x4, 0x53, 0x0, 0x85, 0x4, 0x53, 0x0, 0x85, 0x4, 0x53, 0x0, 0x85, 0x4, 0x53, 0x0, 0x85, 0x4, 0x53, 0x0, 0x85, 0x5, 0xb0, 0x0, 0x7, 0x5, 0xb0, 0x0, 0x7, 0x7, 0xba, 0x0, 0x5, 0x7, 0xcc, 0x0, 0x6, 0x7, 0x30, 0x0, 0x7, 0x7, 0x6c, 0x0, 0x4, 0x5, 0x12, 0x0, 0xba, 0x5, 0x12, 0x0, 0xba, 0x5, 0x12, 0x0, 0xba, 0x5, 0x12, 0x0, 0xba, 0x5, 0x12, 0x0, 0xba, 0x5, 0x12, 0x0, 0xba, 0x5, 0x12, 0x0, 0xba, 0x5, 0x12, 0x0, 0xba, 0x6, 0xb2, 0x0, 0x7, 0x6, 0xaf, 0x0, 0x7, 0x8, 0xb0, 0x0, 0x5, 0x8, 0xb6, 0x0, 0x6, 0x8, 0x37, 0x0, 0x7, 0x8, 0x68, 0x0, 0x4, 0x7, 0x78, 0x0, 0x7, 0x7, 0x93, 0x0, 0x4, 0x2, 0xb5, 0x0, 0x9b, 0x2, 0xb5, 0x0, 0x91, 0x2, 0xb5, 0xff, 0xb1, 0x2, 0xb5, 0xff, 0xbb, 0x2, 0xb5, 0x0, 0x5, 0x2, 0xb5, 0xff, 0xd3, 0x2, 0xb5, 0xff, 0xcb, 0x2, 0xb5, 0xff, 0xc6, 0x3, 0xa, 0x0, 0x7, 0x2, 0xfe, 0x0, 0x7, 0x5, 0x14, 0x0, 0x5, 0x5, 0x14, 0x0, 0x6, 0x4, 0x90, 0x0, 0x7, 0x4, 0xcc, 0x0, 0x4, 0x3, 0xea, 0x0, 0x7, 0x3, 0xf1, 0x0, 0x4, 0x4, 0xe5, 0x0, 0x71, 0x4, 0xe5, 0x0, 0x71, 0x4, 0xe5, 0x0, 0x71, 0x4, 0xe5, 0x0, 0x71, 0x4, 0xe5, 0x0, 0x71, 0x4, 0xe5, 0x0, 0x71, 0x6, 0x6f, 0x0, 0x7, 0x6, 0xc9, 0x0, 0x7, 0x8, 0xc2, 0x0, 0x5, 0x8, 0xcc, 0x0, 0x6, 0x7, 0x82, 0x0, 0x7, 0x7, 0xc3, 0x0, 0x4, 0x4, 0xa1, 0x0, 0x95, 0x4, 0xa1, 0x0, 0x95, 0x4, 0xa1, 0x0, 0x95, 0x4, 0xa1, 0x0, 0x95, 0x4, 0xa1, 0x0, 0x95, 0x4, 0xa1, 0x0, 0x95, 0x4, 0xa1, 0x0, 0x95, 0x4, 0xa1, 0x0, 0x95, 0x6, 0x45, 0x0, 0x7, 0x7, 0xfb, 0x0, 0x6, 0x8, 0x19, 0x0, 0x4, 0x7, 0x2e, 0x0, 0x4, 0x6, 0xb3, 0x0, 0x87, 0x6, 0xb3, 0x0, 0x87, 0x6, 0xb3, 0x0, 0x87, 0x6, 0xb3, 0x0, 0x87, 0x6, 0xb3, 0x0, 0x87, 0x6, 0xb3, 0x0, 0x87, 0x6, 0xb3, 0x0, 0x87, 0x6, 0xb3, 0x0, 0x87, 0x6, 0x6b, 0x0, 0x7, 0x6, 0xbf, 0x0, 0x7, 0x8, 0xb7, 0x0, 0x5, 0x8, 0xc3, 0x0, 0x6, 0x7, 0x91, 0x0, 0x7, 0x7, 0xc7, 0x0, 0x4, 0x7, 0x5f, 0x0, 0x7, 0x7, 0x9e, 0x0, 0x4, 0x5, 0x46, 0x0, 0x71, 0x5, 0x46, 0x0, 0x71, 0x4, 0x53, 0x0, 0x85, 0x4, 0x63, 0x0, 0x85, 0x5, 0x12, 0x0, 0xba, 0x5, 0x3c, 0x0, 0xba, 0x2, 0xb5, 0xff, 0x8d, 0x2, 0xb5, 0x0, 0xa6, 0x4, 0xe5, 0x0, 0x71, 0x4, 0xe5, 0x0, 0x71, 0x4, 0xa1, 0x0, 0x95, 0x4, 0xa1, 0x0, 0x95, 0x6, 0xb3, 0x0, 0x87, 0x6, 0xb3, 0x0, 0x87, 0x5, 0x46, 0x0, 0x71, 0x5, 0x46, 0x0, 0x71, 0x5, 0x46, 0x0, 0x71, 0x5, 0x46, 0x0, 0x71, 0x5, 0x46, 0x0, 0x71, 0x5, 0x46, 0x0, 0x71, 0x5, 0x46, 0x0, 0x71, 0x5, 0x46, 0x0, 0x71, 0x5, 0x79, 0x0, 0x10, 0x5, 0x79, 0x0, 0x10, 0x7, 0x5, 0x0, 0x5, 0x7, 0x5, 0x0, 0x6, 0x6, 0x27, 0x0, 0x7, 0x6, 0x69, 0x0, 0x4, 0x5, 0xaa, 0x0, 0x7, 0x5, 0xf1, 0x0, 0x4, 0x5, 0x12, 0x0, 0xba, 0x5, 0x12, 0x0, 0xba, 0x5, 0x12, 0x0, 0xba, 0x5, 0x12, 0x0, 0xba, 0x5, 0x12, 0x0, 0xba, 0x5, 0x12, 0x0, 0xba, 0x5, 0x12, 0x0, 0xba, 0x5, 0x12, 0x0, 0xba, 0x6, 0xb2, 0x0, 0x7, 0x6, 0xaf, 0x0, 0x7, 0x8, 0xb0, 0x0, 0x5, 0x8, 0xb6, 0x0, 0x6, 0x8, 0x37, 0x0, 0x7, 0x8, 0x68, 0x0, 0x4, 0x7, 0x78, 0x0, 0x7, 0x7, 0x93, 0x0, 0x4, 0x6, 0xb3, 0x0, 0x87, 0x6, 0xb3, 0x0, 0x87, 0x6, 0xb3, 0x0, 0x87, 0x6, 0xb3, 0x0, 0x87, 0x6, 0xb3, 0x0, 0x87, 0x6, 0xb3, 0x0, 0x87, 0x6, 0xb3, 0x0, 0x87, 0x6, 0xb3, 0x0, 0x87, 0x6, 0x6b, 0x0, 0x7, 0x6, 0xbf, 0x0, 0x7, 0x8, 0xb7, 0x0, 0x5, 0x8, 0xc3, 0x0, 0x6, 0x7, 0x91, 0x0, 0x7, 0x7, 0xc7, 0x0, 0x4, 0x7, 0x5f, 0x0, 0x7, 0x7, 0x9e, 0x0, 0x4, 0x5, 0x46, 0x0, 0x71, 0x5, 0x46, 0x0, 0x71, 0x5, 0x46, 0x0, 0x71, 0x5, 0x46, 0x0, 0x71, 0x5, 0x46, 0x0, 0x71, 0x5, 0x46, 0x0, 0x71, 0x5, 0x46, 0x0, 0x71, 0x5, 0x79, 0x0, 0x10, 0x5, 0x79, 0x0, 0x10, 0x5, 0xbb, 0xff, 0xfc, 0x5, 0x8a, 0x0, 0x10, 0x5, 0x79, 0x0, 0x10, 0x4, 0x0, 0x1, 0x86, 0x4, 0x0, 0x1, 0xb6, 0x4, 0x0, 0x1, 0x86, 0x4, 0x0, 0x0, 0xb6, 0x4, 0x0, 0x0, 0xb6, 0x5, 0x12, 0x0, 0xba, 0x5, 0x12, 0x0, 0xba, 0x5, 0x3c, 0x0, 0xba, 0x5, 0x12, 0x0, 0xba, 0x5, 0x12, 0x0, 0xba, 0x6, 0x70, 0xff, 0xfc, 0x5, 0xf8, 0xff, 0xe7, 0x7, 0x72, 0xff, 0xfc, 0x6, 0xf8, 0xff, 0xf3, 0x6, 0x4, 0x0, 0xc9, 0x4, 0x0, 0x0, 0x89, 0x4, 0x0, 0x0, 0xb4, 0x4, 0x0, 0x0, 0xb6, 0x2, 0xb5, 0xff, 0xeb, 0x2, 0xb5, 0xff, 0xe3, 0x2, 0xb5, 0xff, 0xd8, 0x2, 0xb5, 0x0, 0x5, 0x2, 0xb5, 0xff, 0xe4, 0x2, 0xb5, 0xff, 0xe6, 0x2, 0x5c, 0xff, 0xf5, 0x2, 0x5c, 0x0, 0x3, 0x3, 0xcd, 0xff, 0xfc, 0x3, 0x44, 0xff, 0xed, 0x4, 0x0, 0x0, 0x7e, 0x4, 0x0, 0x0, 0x95, 0x4, 0x0, 0x0, 0xb6, 0x4, 0xa1, 0x0, 0x95, 0x4, 0xa1, 0x0, 0x95, 0x4, 0xa1, 0x0, 0x95, 0x4, 0xa1, 0x0, 0x95, 0x5, 0x14, 0x0, 0xba, 0x5, 0x14, 0x0, 0xba, 0x4, 0xa1, 0x0, 0x95, 0x4, 0xa1, 0x0, 0x95, 0x4, 0xe3, 0xff, 0xfc, 0x4, 0xe3, 0xff, 0xfc, 0x6, 0xc3, 0xff, 0xfc, 0x6, 0x99, 0xff, 0xe1, 0x5, 0x7b, 0x0, 0x7, 0x4, 0x0, 0x0, 0xaa, 0x4, 0x0, 0x0, 0xd7, 0x4, 0x0, 0x0, 0xaa, 0x6, 0xb3, 0x0, 0x87, 0x6, 0xb3, 0x0, 0x87, 0x6, 0xb3, 0x0, 0x87, 0x6, 0xb3, 0x0, 0x87, 0x6, 0xb3, 0x0, 0x87, 0x7, 0x87, 0xff, 0xfc, 0x6, 0x80, 0xff, 0xf2, 0x7, 0x61, 0xff, 0xfc, 0x6, 0x9b, 0xff, 0xdb, 0x6, 0x1d, 0x0, 0x4e, 0x4, 0x0, 0x1, 0x73, 0x4, 0x0, 0x1, 0x86, 0x4, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x2, 0xa3, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x1, 0x56, 0x0, 0x0, 0x5, 0x17, 0x0, 0x0, 0x2, 0x8b, 0x0, 0x0, 0x1, 0x99, 0x0, 0x0, 0x0, 0xcc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xe3, 0x0, 0x64, 0x2, 0xe3, 0x0, 0x64, 0x5, 0x17, 0x0, 0x64, 0x4, 0x0, 0x0, 0x64, 0x8, 0x0, 0x0, 0x64, 0x8, 0x0, 0x0, 0x0, 0x4, 0x0, 0x1, 0x4, 0x4, 0x0, 0xff, 0xec, 0x2, 0x8b, 0x0, 0xae, 0x2, 0x8b, 0x0, 0xb2, 0x2, 0x8b, 0x0, 0xae, 0x2, 0x8b, 0x0, 0xb2, 0x4, 0x25, 0x0, 0xae, 0x4, 0x25, 0x0, 0xae, 0x4, 0x25, 0x0, 0xae, 0x4, 0x25, 0x0, 0xae, 0x4, 0x0, 0x0, 0x39, 0x4, 0x0, 0x0, 0x39, 0x4, 0xb8, 0x1, 0x33, 0x4, 0xb8, 0x1, 0x33, 0x2, 0xad, 0x0, 0xec, 0x5, 0x57, 0x0, 0xec, 0x8, 0x0, 0x0, 0xec, 0x2, 0x8b, 0x0, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x99, 0x0, 0x0, 0xa, 0xbc, 0x0, 0x71, 0xd, 0xe2, 0x0, 0x71, 0x1, 0xd1, 0x0, 0x28, 0x2, 0xfd, 0x0, 0x28, 0x4, 0x29, 0x0, 0x28, 0x1, 0xd1, 0x0, 0x28, 0x2, 0xfd, 0x0, 0x28, 0x4, 0x29, 0x0, 0x28, 0x2, 0xb6, 0x0, 0xb, 0x3, 0x33, 0x0, 0x9e, 0x3, 0x33, 0x0, 0xc1, 0x6, 0xb4, 0x0, 0xc3, 0x3, 0xe2, 0x0, 0x93, 0x4, 0x3f, 0x0, 0x93, 0x4, 0x0, 0xff, 0xec, 0x6, 0x6e, 0xff, 0xa7, 0x6, 0x6e, 0xff, 0xa7, 0x2, 0x0, 0xff, 0xaa, 0x8, 0x0, 0x0, 0x3d, 0x4, 0x0, 0x0, 0xdd, 0x1, 0x56, 0xfe, 0x89, 0x3, 0x1f, 0x0, 0xb0, 0x3, 0x1f, 0x0, 0xb0, 0x7, 0x60, 0x0, 0x4a, 0x5, 0xdd, 0x0, 0x93, 0x5, 0xdd, 0x0, 0x93, 0x3, 0xfa, 0x0, 0x64, 0x5, 0x17, 0x0, 0xec, 0x4, 0x0, 0x0, 0xd8, 0x4, 0x0, 0x0, 0xd8, 0x4, 0x0, 0x0, 0x3d, 0x2, 0xb2, 0x1, 0x1d, 0x6, 0x6e, 0xff, 0xa7, 0x4, 0x0, 0x0, 0x3d, 0x3, 0x99, 0x0, 0x91, 0x8, 0x0, 0x0, 0x64, 0x6, 0x6e, 0xff, 0xa7, 0x6, 0xb4, 0x1, 0x38, 0x4, 0xb0, 0x0, 0xfa, 0x5, 0x4e, 0x0, 0x28, 0x6, 0xb4, 0x1, 0x66, 0x6, 0xb4, 0x1, 0x66, 0x2, 0x8b, 0x0, 0xdb, 0x6, 0x61, 0x0, 0x64, 0x6, 0xb4, 0x0, 0x70, 0x2, 0x8b, 0x0, 0xdb, 0x2, 0x8b, 0x0, 0xdb, 0x1, 0xc7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x35, 0x0, 0x57, 0x1, 0x6e, 0x0, 0x7a, 0x3, 0x35, 0x0, 0x3f, 0x3, 0x35, 0x0, 0x66, 0x3, 0x35, 0x0, 0x5c, 0x3, 0x35, 0x0, 0x6c, 0x3, 0x35, 0x0, 0x59, 0x3, 0x35, 0x0, 0x53, 0x4, 0x39, 0x0, 0x89, 0x4, 0x39, 0x0, 0x89, 0x4, 0x39, 0x0, 0x89, 0x1, 0xf7, 0x0, 0x6f, 0x1, 0xf7, 0x0, 0x67, 0x3, 0x30, 0x0, 0x75, 0x3, 0x35, 0x0, 0x57, 0x3, 0x35, 0x0, 0x89, 0x3, 0x35, 0x0, 0x5e, 0x3, 0x35, 0x0, 0x62, 0x3, 0x35, 0x0, 0x3f, 0x3, 0x35, 0x0, 0x66, 0x3, 0x35, 0x0, 0x5c, 0x3, 0x35, 0x0, 0x6c, 0x3, 0x35, 0x0, 0x59, 0x3, 0x35, 0x0, 0x53, 0x4, 0x39, 0x0, 0x89, 0x4, 0x39, 0x0, 0x89, 0x4, 0x39, 0x0, 0x89, 0x1, 0xf7, 0x0, 0x6f, 0x1, 0xf7, 0x0, 0x67, 0x3, 0x22, 0x0, 0x4d, 0x3, 0x56, 0x0, 0x47, 0x3, 0x4f, 0x0, 0x47, 0x3, 0x8d, 0x0, 0x75, 0x3, 0x56, 0x0, 0x47, 0x3, 0x3c, 0x0, 0x75, 0x3, 0x68, 0x0, 0x75, 0x1, 0x54, 0x0, 0x7a, 0x4, 0xfc, 0x0, 0x75, 0x3, 0x30, 0x0, 0x75, 0x3, 0x6d, 0x0, 0x75, 0x2, 0xfc, 0x0, 0x75, 0x2, 0x5c, 0x0, 0x23, 0x7, 0x4, 0x0, 0x56, 0x5, 0x17, 0x0, 0x73, 0x5, 0x17, 0x0, 0x60, 0x5, 0x17, 0x0, 0x85, 0x5, 0x17, 0x0, 0x81, 0x7, 0xcb, 0x0, 0xba, 0x5, 0xfc, 0x0, 0x75, 0xa, 0x2e, 0x0, 0xc9, 0x8, 0x97, 0x0, 0xc9, 0x7, 0xe9, 0x0, 0x3b, 0x6, 0x46, 0x0, 0x5f, 0x5, 0x17, 0x0, 0x71, 0x5, 0x17, 0x0, 0x0, 0x5, 0x17, 0x0, 0x28, 0x5, 0x17, 0x0, 0x14, 0xa, 0x2e, 0x0, 0xd0, 0x5, 0x17, 0x0, 0x2e, 0x5, 0x17, 0x0, 0x44, 0x5, 0x17, 0x0, 0x5d, 0x5, 0x17, 0x0, 0x10, 0x6, 0x31, 0x0, 0x75, 0x5, 0x17, 0x0, 0xa5, 0x5, 0x17, 0x0, 0x14, 0x5, 0x17, 0x0, 0x6a, 0x5, 0x6e, 0x0, 0xa, 0x0, 0x0, 0xfc, 0x13, 0x0, 0x0, 0xfc, 0x3d, 0x0, 0x0, 0xfc, 0x3d, 0x0, 0x0, 0xfc, 0x3d, 0x0, 0x0, 0xfc, 0x13, 0x0, 0x0, 0xfb, 0x50, 0x0, 0x0, 0xfc, 0x3d, 0x8, 0x26, 0x0, 0x43, 0x8, 0x26, 0x0, 0x43, 0x5, 0x96, 0x0, 0x73, 0x8, 0xfc, 0x0, 0xc3, 0x5, 0x23, 0xff, 0xd6, 0x8, 0x26, 0x0, 0x3c, 0x8, 0x89, 0x0, 0x3c, 0x4, 0xea, 0x0, 0xa4, 0x5, 0x96, 0x0, 0x6f, 0x7, 0x9d, 0x0, 0xc3, 0x7, 0xe8, 0x0, 0x49, 0x6, 0x9, 0x0, 0x2, 0x6, 0xcc, 0x0, 0xc9, 0x5, 0x12, 0x0, 0x48, 0x5, 0x12, 0x0, 0x5a, 0x3, 0xc2, 0x0, 0x3b, 0x5, 0x94, 0x0, 0x6a, 0x5, 0xc3, 0x0, 0x44, 0x3, 0x4e, 0xff, 0xe4, 0x6, 0x8b, 0x0, 0x20, 0x6, 0x68, 0x0, 0xc6, 0x8, 0x52, 0x0, 0x36, 0x8, 0x0, 0x1, 0x1b, 0x5, 0x94, 0x0, 0x6e, 0x5, 0x9c, 0x0, 0xc8, 0x6, 0x4c, 0x0, 0x73, 0x6, 0x62, 0x0, 0x42, 0x6, 0x83, 0x0, 0x53, 0x6, 0x56, 0x0, 0xc8, 0x7, 0x2c, 0x0, 0xa9, 0x5, 0x79, 0x0, 0xc9, 0x8, 0x28, 0x1, 0x3, 0x8, 0x98, 0xff, 0xfc, 0x8, 0x0, 0x1, 0x27, 0x5, 0x79, 0x0, 0x10, 0x5, 0xf5, 0x0, 0x5c, 0x4, 0x9f, 0x0, 0x58, 0x6, 0x1d, 0x0, 0x4e, 0x6, 0x1d, 0x0, 0x4e, 0x4, 0xee, 0x0, 0x18, 0x2, 0xb5, 0x0, 0x44, 0x5, 0x3f, 0x0, 0xc9, 0x5, 0x79, 0x0, 0x10, 0x6, 0x4a, 0x0, 0x5c, 0x5, 0xa0, 0x0, 0x82, 0x6, 0xd6, 0x0, 0x7d, 0x4, 0xbc, 0x0, 0x57, 0x4, 0xd8, 0x0, 0xa2, 0x6, 0x4a, 0x0, 0x54, 0x4, 0x9a, 0x0, 0xc9, 0x8, 0x8e, 0x0, 0x39, 0x3, 0xb2, 0x0, 0x68, 0x5, 0xf6, 0x0, 0x67, 0x5, 0x64, 0xff, 0xfb, 0x3, 0xba, 0x0, 0x1b, 0x5, 0x28, 0x0, 0x56, 0x3, 0xa, 0x0, 0x46, 0x7, 0x68, 0x0, 0x5a, 0x9, 0x8d, 0x0, 0x97, 0x5, 0x9e, 0x0, 0x24, 0x5, 0xd2, 0x0, 0x0, 0x5, 0x3c, 0x0, 0xc8, 0x6, 0xca, 0x0, 0xc9, 0x6, 0x7c, 0x0, 0x19, 0x6, 0x33, 0x0, 0xa3, 0x4, 0x75, 0x0, 0x8, 0x4, 0x75, 0x0, 0x7, 0x4, 0xe3, 0xff, 0xfc, 0x6, 0x8d, 0x0, 0x57, 0x5, 0xaa, 0x0, 0x5a, 0x4, 0xec, 0x0, 0x5b, 0x2, 0xcf, 0x0, 0x4f, 0x2, 0xcf, 0xff, 0x16, 0x6, 0x3d, 0x0, 0x3b, 0x4, 0x36, 0x0, 0x51, 0x7, 0xc1, 0x0, 0x89, 0x7, 0xc1, 0x0, 0x89, 0xa, 0xf6, 0x0, 0x89, 0x7, 0xc1, 0x0, 0x89, 0x7, 0xc1, 0x0, 0x5e, 0x7, 0xc1, 0x0, 0x89, 0x7, 0xc1, 0x0, 0x5e, 0x7, 0xc1, 0x0, 0x62, 0x7, 0xc1, 0x0, 0x3f, 0x7, 0xc1, 0x0, 0x89, 0x7, 0xc1, 0x0, 0x66, 0x7, 0xc1, 0x0, 0x89, 0x7, 0xc1, 0x0, 0x62, 0x7, 0xc1, 0x0, 0x66, 0x7, 0xc1, 0x0, 0x6c, 0x4, 0x8b, 0x0, 0x89, 0x2, 0x5c, 0x0, 0xc9, 0x3, 0xf0, 0x0, 0xc9, 0x5, 0x84, 0x0, 0xc9, 0x7, 0x62, 0x0, 0xc9, 0x5, 0x79, 0x0, 0x10, 0x7, 0x61, 0x0, 0x10, 0x8, 0xf5, 0x0, 0x10, 0xa, 0x89, 0x0, 0x10, 0x7, 0x57, 0x0, 0xc9, 0x5, 0x7b, 0x0, 0x3d, 0x7, 0x77, 0x0, 0x3d, 0x9, 0xd, 0x0, 0x3d, 0x4, 0x75, 0x0, 0xc9, 0x5, 0x96, 0x0, 0x73, 0x6, 0x29, 0x0, 0xc9, 0x6, 0xe7, 0x0, 0xc9, 0x2, 0x39, 0x0, 0xc1, 0x3, 0xa9, 0x0, 0xc1, 0x5, 0x19, 0x0, 0xc1, 0x6, 0x7e, 0x0, 0xc1, 0x4, 0xbc, 0x0, 0x3d, 0x6, 0x7d, 0x0, 0x3d, 0x7, 0xed, 0x0, 0x3d, 0x9, 0x5d, 0x0, 0x3d, 0x6, 0x8d, 0x0, 0xc1, 0x4, 0xbc, 0x0, 0x3b, 0x6, 0x94, 0x0, 0x3b, 0x8, 0x4, 0x0, 0x3b, 0x2, 0x39, 0x0, 0xc1, 0x4, 0x66, 0x0, 0x71, 0x5, 0x14, 0x0, 0x71, 0x7, 0xcb, 0x0, 0xba, 0x9, 0xf6, 0x0, 0x79, 0x6, 0x29, 0x0, 0xc9, 0x9, 0xf6, 0x0, 0x79, 0x5, 0xa0, 0x0, 0x73, 0x4, 0x65, 0x0, 0x7f, 0x5, 0x96, 0x0, 0x73, 0x7, 0xc1, 0x0, 0x57, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x1, 0xa3, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x1, 0xa3, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x1, 0xa3, 0x6, 0xb4, 0x1, 0x20, 0x6, 0xb4, 0x1, 0x20, 0x6, 0xb4, 0x1, 0x20, 0x6, 0xb4, 0x1, 0x20, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x0, 0x2c, 0x6, 0xb4, 0x0, 0x16, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x1, 0xa5, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x1, 0xa5, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x1, 0xa5, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x1, 0xa5, 0x6, 0xb4, 0x1, 0xa5, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x0, 0x76, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x0, 0x76, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x1, 0x2a, 0x6, 0xb4, 0x1, 0x5a, 0x6, 0xb4, 0x1, 0xac, 0x6, 0xb4, 0x1, 0x5a, 0x6, 0xb4, 0x1, 0xac, 0x6, 0xb4, 0x1, 0xdd, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x0, 0x2d, 0x6, 0xb4, 0x0, 0x4f, 0x6, 0xb4, 0x0, 0xde, 0x6, 0xb4, 0x0, 0x70, 0x6, 0xb4, 0x0, 0xd3, 0x6, 0xb4, 0x0, 0x9d, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x3, 0x5, 0x6, 0xb4, 0x1, 0xa3, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x3, 0x5, 0x6, 0xb4, 0x1, 0xa3, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x0, 0x77, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x0, 0x78, 0x6, 0xb4, 0x0, 0x76, 0x6, 0xb4, 0x0, 0x78, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x1, 0xa5, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x1, 0xa5, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x1, 0xa4, 0x6, 0xb4, 0x1, 0x20, 0x6, 0xb4, 0x0, 0xbc, 0x6, 0xb4, 0x0, 0xbc, 0x6, 0xb4, 0x1, 0x20, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x1, 0xa3, 0x6, 0xb4, 0x1, 0xa3, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x1, 0xa3, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x1, 0xa3, 0x6, 0xb4, 0x0, 0x6b, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x0, 0x37, 0x6, 0xb4, 0x1, 0x5e, 0x6, 0xb4, 0x0, 0x48, 0x6, 0xb4, 0x1, 0x5e, 0x6, 0xb4, 0x1, 0x5e, 0x6, 0xb4, 0x1, 0x5e, 0x6, 0xb4, 0x1, 0x40, 0x6, 0xb4, 0x1, 0x5e, 0x6, 0xb4, 0x1, 0x5e, 0x6, 0xb4, 0x1, 0x5e, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x0, 0x7a, 0x6, 0xb4, 0x0, 0x7a, 0x6, 0xb4, 0x1, 0x5e, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x0, 0x77, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x0, 0x37, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x0, 0x37, 0x5, 0x79, 0x0, 0x10, 0x5, 0x17, 0x0, 0x87, 0x4, 0x23, 0x0, 0x5f, 0x5, 0xe, 0x0, 0xc9, 0x5, 0xe, 0x0, 0xc9, 0x6, 0xf8, 0x0, 0x9b, 0x5, 0x5a, 0xff, 0xfa, 0x5, 0x5a, 0xff, 0xfa, 0x6, 0xf8, 0x0, 0xaf, 0x6, 0xf8, 0x0, 0xaf, 0x5, 0xbe, 0x0, 0xd9, 0x6, 0xf8, 0x0, 0xaf, 0x6, 0xf8, 0x0, 0xaf, 0x5, 0xbe, 0x0, 0xd9, 0x5, 0x17, 0x1, 0x2c, 0x6, 0xe, 0x0, 0x9c, 0x6, 0xe, 0x0, 0x9c, 0x5, 0x64, 0x0, 0x19, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x2, 0xb2, 0x0, 0x0, 0x5, 0x18, 0x1, 0x8a, 0x6, 0xb4, 0x1, 0x5, 0x5, 0x2, 0x1, 0x44, 0x5, 0x2, 0x1, 0x58, 0x5, 0x19, 0x0, 0x3d, 0x5, 0x19, 0x0, 0x3d, 0x5, 0x19, 0x0, 0x3d, 0x5, 0xb7, 0x0, 0xdc, 0x6, 0xaa, 0x0, 0xdc, 0x6, 0xb4, 0x1, 0x1b, 0x7, 0x2c, 0x0, 0xaf, 0x7, 0x2c, 0x0, 0xaf, 0x6, 0xb4, 0x0, 0xed, 0x4, 0x0, 0x1, 0xb0, 0x4, 0x0, 0x0, 0x66, 0x4, 0x0, 0x1, 0x10, 0x4, 0x0, 0x0, 0x66, 0x5, 0xdb, 0x1, 0x8, 0x5, 0xdb, 0x1, 0x8, 0x5, 0xdb, 0x1, 0x8, 0x5, 0xdb, 0x1, 0x8, 0x4, 0x2b, 0x0, 0x75, 0x6, 0x50, 0x0, 0x75, 0x8, 0x75, 0x0, 0x75, 0x4, 0x2b, 0x0, 0x75, 0x6, 0x50, 0x0, 0x75, 0x8, 0x75, 0x0, 0x75, 0x4, 0x2b, 0x0, 0x75, 0x4, 0x2b, 0x0, 0x75, 0x4, 0x2b, 0x0, 0x75, 0x5, 0x17, 0x0, 0x79, 0x5, 0x17, 0x0, 0x79, 0x2, 0x15, 0x0, 0xa1, 0x5, 0x17, 0x0, 0x79, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd8, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xa2, 0x6, 0xb4, 0x0, 0xd9, 0x3, 0x0, 0x0, 0xd0, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd8, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb6, 0x0, 0xd9, 0x6, 0xb6, 0x0, 0xd9, 0x8, 0x0, 0x0, 0xcf, 0x8, 0x0, 0x0, 0xcd, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xda, 0x6, 0xb4, 0x0, 0xda, 0x6, 0xb4, 0x0, 0xda, 0x6, 0xb4, 0x0, 0xda, 0x8, 0x60, 0x0, 0x94, 0x8, 0x60, 0x0, 0x94, 0x3, 0xb6, 0x0, 0xb0, 0x6, 0xb4, 0x0, 0xd8, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xda, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd0, 0x6, 0xb4, 0x0, 0xd0, 0x6, 0xb4, 0x0, 0xd0, 0x6, 0xb4, 0x0, 0xd0, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xcc, 0x6, 0xb4, 0x0, 0xcc, 0x6, 0xb4, 0x0, 0xcc, 0x6, 0xb4, 0x0, 0xcc, 0x6, 0xb4, 0x0, 0xbe, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xbe, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xbe, 0x6, 0xb4, 0x0, 0xbe, 0x5, 0xdb, 0x1, 0x8, 0x5, 0xdb, 0x1, 0x8, 0x5, 0xdb, 0x1, 0x8, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0x3e, 0x0, 0xd9, 0x6, 0x3e, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xbb, 0x6, 0xb4, 0x0, 0xbb, 0x6, 0xb4, 0x0, 0xbb, 0x6, 0xb4, 0x0, 0xbb, 0x6, 0xb4, 0x0, 0xbb, 0x6, 0xb4, 0x0, 0xbb, 0x6, 0xb4, 0x0, 0xbb, 0x6, 0xb4, 0x0, 0xbb, 0x6, 0xb4, 0x0, 0xbb, 0x6, 0xb4, 0x0, 0xbb, 0x6, 0xb4, 0x0, 0xbb, 0x6, 0xb4, 0x0, 0xbb, 0x6, 0xb4, 0x0, 0xbb, 0x6, 0xf8, 0x0, 0xaf, 0x6, 0xf8, 0x0, 0xaf, 0x6, 0xf8, 0x0, 0xaf, 0x6, 0xf8, 0x0, 0xaf, 0x4, 0x2a, 0x0, 0xaf, 0x4, 0x2a, 0x0, 0xaf, 0x6, 0xf8, 0x0, 0xaf, 0x6, 0xf8, 0x0, 0xaf, 0x6, 0xf8, 0x0, 0xaf, 0x6, 0xf8, 0x0, 0xaf, 0x6, 0xf8, 0x0, 0xaf, 0x6, 0xf8, 0x0, 0xaf, 0x6, 0xf8, 0x0, 0xaf, 0x6, 0xf8, 0x0, 0xaf, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x8, 0x0, 0x0, 0x79, 0x8, 0x0, 0x0, 0x79, 0x6, 0xb4, 0x0, 0x62, 0x6, 0xb4, 0x0, 0x79, 0x4, 0x2a, 0x0, 0xee, 0x5, 0xdb, 0x0, 0xc8, 0x5, 0xdb, 0x0, 0xc8, 0x5, 0xdb, 0x0, 0xc8, 0x6, 0xb4, 0x1, 0x1b, 0x6, 0xb4, 0x1, 0x1b, 0x6, 0x90, 0xff, 0xfa, 0x6, 0x90, 0xff, 0xfa, 0x6, 0x90, 0x0, 0x8c, 0x6, 0x90, 0x0, 0x8c, 0x3, 0xf4, 0x0, 0x6, 0x2, 0x8b, 0x0, 0xdb, 0x5, 0x2, 0x0, 0xf9, 0x6, 0xb4, 0x0, 0xd9, 0x8, 0x0, 0x0, 0xd9, 0x8, 0x0, 0x0, 0xd9, 0x8, 0x0, 0x0, 0xd9, 0x8, 0x0, 0x0, 0xd9, 0x8, 0x0, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x5, 0xdc, 0x0, 0x63, 0x5, 0xdc, 0x0, 0x63, 0x6, 0xb4, 0x0, 0xbe, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd2, 0x6, 0xb4, 0x0, 0xd2, 0x6, 0xb4, 0x1, 0x7c, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0xb, 0x61, 0x0, 0x94, 0xb, 0x61, 0x0, 0x94, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xe1, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd5, 0x8, 0x0, 0x3, 0x96, 0x8, 0x0, 0x0, 0xec, 0x8, 0x0, 0x0, 0xec, 0x8, 0x0, 0x0, 0xec, 0x8, 0x0, 0x0, 0x58, 0x6, 0xf8, 0x0, 0xaf, 0x5, 0xbe, 0x0, 0xd9, 0x6, 0xf8, 0x0, 0xaf, 0x6, 0xf8, 0x0, 0xaf, 0x5, 0xbe, 0x0, 0xd9, 0x6, 0xf8, 0x0, 0xaf, 0x6, 0xf8, 0x0, 0xaf, 0x8, 0x0, 0x0, 0x58, 0x6, 0xf8, 0x0, 0xaf, 0x5, 0xbe, 0x0, 0xd9, 0x6, 0xf8, 0x0, 0xaf, 0x5, 0xbe, 0x0, 0xd9, 0x6, 0xf8, 0x0, 0xd9, 0x4, 0xd1, 0x0, 0x4a, 0x4, 0xd1, 0x0, 0x72, 0x5, 0x14, 0x0, 0x92, 0x6, 0xb4, 0x1, 0xa3, 0x6, 0xb4, 0x1, 0xa3, 0x6, 0xb4, 0x1, 0xa3, 0x6, 0xb4, 0x1, 0xa3, 0x3, 0xe8, 0x1, 0x3b, 0x3, 0x1f, 0x0, 0xb0, 0x3, 0x1f, 0x0, 0xc7, 0x3, 0x1f, 0x0, 0xb0, 0x3, 0x1f, 0x0, 0xc7, 0x6, 0x78, 0x2, 0xf4, 0x6, 0x78, 0x0, 0x64, 0x6, 0x78, 0x2, 0xf4, 0x6, 0x78, 0x0, 0x64, 0x6, 0xb4, 0x0, 0xd9, 0x4, 0x1b, 0x0, 0x6, 0x8, 0x0, 0x0, 0xf7, 0x6, 0xb4, 0x0, 0xd9, 0x3, 0xc0, 0x0, 0xb0, 0x3, 0xc0, 0x0, 0x86, 0x3, 0xc0, 0x0, 0xb0, 0x3, 0xc0, 0x0, 0x86, 0x4, 0x2b, 0x1, 0xaf, 0x4, 0x2b, 0x0, 0x2a, 0x9, 0x38, 0x0, 0x9c, 0x9, 0x38, 0x0, 0x9c, 0xb, 0x50, 0x0, 0x9c, 0x9, 0x38, 0x0, 0x9c, 0xb, 0x8c, 0x0, 0x78, 0xb, 0x50, 0x0, 0x1, 0x6, 0xfc, 0x0, 0x96, 0x2, 0xb5, 0x0, 0xa6, 0x5, 0x14, 0x0, 0xba, 0x6, 0xb3, 0x0, 0x87, 0x5, 0x46, 0x0, 0x71, 0x6, 0xf, 0x0, 0x1a, 0x9, 0x38, 0x0, 0x9c, 0x6, 0xfc, 0x0, 0x23, 0x4, 0x0, 0x0, 0xb0, 0x4, 0x0, 0x0, 0xb0, 0x4, 0x0, 0x0, 0xb0, 0x4, 0x0, 0x0, 0xb0, 0x4, 0x0, 0x2, 0x8d, 0x4, 0x0, 0x0, 0xb0, 0x4, 0x0, 0x0, 0xb0, 0x4, 0x0, 0x0, 0xb0, 0x4, 0x0, 0x0, 0xb0, 0x4, 0x0, 0x0, 0xb0, 0x4, 0x0, 0x2, 0x8d, 0x4, 0x0, 0x0, 0xb0, 0x6, 0x0, 0x2, 0xa3, 0x6, 0x0, 0x0, 0xa8, 0x6, 0x0, 0x2, 0xa3, 0x6, 0x0, 0x2, 0xa3, 0x6, 0x0, 0x0, 0xa8, 0x6, 0x0, 0x2, 0xa3, 0x6, 0x0, 0x0, 0xa8, 0x4, 0x2b, 0x1, 0xaf, 0x6, 0xb4, 0x0, 0x37, 0x7, 0x8f, 0x0, 0xba, 0x6, 0xfc, 0x0, 0x96, 0x6, 0x27, 0x0, 0x6, 0x5, 0x17, 0x0, 0x59, 0x5, 0x14, 0xff, 0x83, 0x5, 0x14, 0x0, 0x92, 0x7, 0x2c, 0x0, 0x98, 0x7, 0x2c, 0x0, 0x98, 0x7, 0x2c, 0x0, 0x98, 0x7, 0x2c, 0x0, 0x98, 0x7, 0x2c, 0x0, 0x98, 0x7, 0x2c, 0x0, 0x98, 0x7, 0x2c, 0x0, 0x98, 0x7, 0x2c, 0x0, 0x98, 0x7, 0x2c, 0x0, 0x98, 0x7, 0x2c, 0x0, 0x98, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0x2, 0x18, 0x4, 0xd1, 0x1, 0xc8, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0x2, 0x18, 0x4, 0xd1, 0x1, 0xc8, 0x4, 0xd1, 0xff, 0xeb, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0x2, 0x18, 0x4, 0xd1, 0x1, 0xc8, 0x4, 0xd1, 0x2, 0x18, 0x4, 0xd1, 0x2, 0x18, 0x4, 0xd1, 0x1, 0xc8, 0x4, 0xd1, 0x1, 0xc8, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0x2, 0x18, 0x4, 0xd1, 0x2, 0x18, 0x4, 0xd1, 0x1, 0xc8, 0x4, 0xd1, 0x1, 0xc8, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0x2, 0x18, 0x4, 0xd1, 0x2, 0x18, 0x4, 0xd1, 0x1, 0xc8, 0x4, 0xd1, 0x1, 0xc8, 0x4, 0xd1, 0x1, 0xc8, 0x4, 0xd1, 0x1, 0xc8, 0x4, 0xd1, 0x1, 0xc8, 0x4, 0xd1, 0x1, 0xc8, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0x2, 0x18, 0x4, 0xd1, 0x1, 0xc8, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0x1, 0x78, 0x4, 0xd1, 0x2, 0x18, 0x4, 0xd1, 0x1, 0x78, 0x4, 0xd1, 0x1, 0x78, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0x2, 0x18, 0x4, 0xd1, 0x1, 0x78, 0x4, 0xd1, 0x1, 0x78, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0x2, 0x18, 0x4, 0xd1, 0x1, 0x78, 0x4, 0xd1, 0x1, 0x78, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0x2, 0x18, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0x2, 0x18, 0x4, 0xd1, 0xff, 0x93, 0x4, 0xd1, 0xff, 0x93, 0x4, 0xd1, 0xff, 0x93, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0x2, 0x18, 0x4, 0xd1, 0x2, 0x7c, 0x4, 0xd1, 0x2, 0x18, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0x1, 0xc8, 0x4, 0xd1, 0x2, 0x7c, 0x4, 0xd1, 0x1, 0xc8, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0x1, 0xc8, 0x4, 0xd1, 0xff, 0xec, 0x4, 0xd1, 0x1, 0xc8, 0x6, 0x27, 0xff, 0xec, 0x6, 0x27, 0xff, 0xec, 0x6, 0x27, 0xff, 0xec, 0x6, 0x27, 0xff, 0xec, 0x6, 0x27, 0xff, 0xec, 0x6, 0x27, 0xff, 0xec, 0x6, 0x27, 0xff, 0xec, 0x6, 0x27, 0xff, 0xec, 0x6, 0x27, 0xff, 0xec, 0x6, 0x27, 0xff, 0xec, 0x6, 0x27, 0xff, 0xec, 0x6, 0x27, 0xff, 0xec, 0x6, 0x27, 0xff, 0xec, 0x6, 0x27, 0xff, 0xec, 0x6, 0x27, 0xff, 0xec, 0x6, 0x27, 0xff, 0xec, 0x6, 0x27, 0x3, 0x13, 0x6, 0x27, 0xff, 0xec, 0x6, 0x27, 0xff, 0xec, 0x6, 0x27, 0xff, 0xec, 0x6, 0x27, 0xff, 0xec, 0x6, 0x27, 0x5, 0x71, 0x6, 0x27, 0xff, 0xec, 0x6, 0x27, 0x3, 0x13, 0x6, 0x27, 0xff, 0xec, 0x6, 0x27, 0xff, 0xec, 0x6, 0x27, 0xff, 0xec, 0x6, 0x27, 0xff, 0xec, 0x6, 0x27, 0xff, 0xec, 0x6, 0x27, 0x3, 0x13, 0x6, 0x27, 0xff, 0xec, 0x6, 0x27, 0xff, 0xec, 0x7, 0x8f, 0x0, 0xba, 0x7, 0x8f, 0x0, 0xba, 0x7, 0x8f, 0x0, 0xba, 0x7, 0x8f, 0x0, 0xba, 0x7, 0x8f, 0x0, 0xba, 0x7, 0x8f, 0x0, 0xba, 0x7, 0x8f, 0x0, 0xba, 0x7, 0x8f, 0x0, 0xba, 0x7, 0x8f, 0x0, 0xba, 0x7, 0x8f, 0x0, 0xba, 0x5, 0x6c, 0x0, 0xba, 0x5, 0x6c, 0x0, 0xba, 0x7, 0x8f, 0x0, 0xba, 0x7, 0x8f, 0x0, 0xba, 0x4, 0x67, 0x0, 0xba, 0x4, 0x67, 0x0, 0xba, 0x6, 0x27, 0x0, 0x6, 0x6, 0x27, 0x0, 0x6, 0x6, 0x27, 0x0, 0x6, 0x6, 0x27, 0x0, 0x6, 0x4, 0x4, 0x0, 0x6, 0x4, 0x4, 0x0, 0x6, 0x6, 0x27, 0x0, 0x6, 0x6, 0x27, 0x0, 0x6, 0x4, 0x4, 0x0, 0x6, 0x4, 0x4, 0x0, 0x6, 0x6, 0x27, 0x0, 0x6, 0x6, 0x27, 0x0, 0x6, 0x6, 0x27, 0x0, 0x6, 0x6, 0x27, 0x0, 0x6, 0x4, 0x4, 0x0, 0x6, 0x4, 0x4, 0x0, 0x6, 0x6, 0x27, 0x0, 0x6, 0x6, 0x27, 0x0, 0x6, 0x4, 0x4, 0x0, 0x6, 0x4, 0x4, 0x0, 0x6, 0x6, 0x27, 0x0, 0x6, 0x6, 0x27, 0x0, 0x6, 0x6, 0x27, 0x0, 0x6, 0x6, 0x27, 0x0, 0x6, 0x6, 0x27, 0x0, 0x6, 0x6, 0xfb, 0x0, 0x70, 0x3, 0xf4, 0x0, 0x6, 0x6, 0xfb, 0x0, 0x70, 0x6, 0xfb, 0x0, 0x72, 0x6, 0xfb, 0x0, 0x70, 0x6, 0xfb, 0x0, 0x70, 0x6, 0xfb, 0x0, 0x70, 0x6, 0xfb, 0x0, 0x70, 0x6, 0xfb, 0x0, 0x70, 0x6, 0xfb, 0x0, 0x70, 0x6, 0xfb, 0x0, 0x70, 0x6, 0xfb, 0x0, 0x70, 0x6, 0xfb, 0x0, 0x70, 0x4, 0x37, 0x0, 0x70, 0x4, 0x37, 0x0, 0xba, 0x6, 0x54, 0x0, 0xba, 0x7, 0xc3, 0x0, 0xba, 0x7, 0xc3, 0x0, 0xba, 0x7, 0xc3, 0x0, 0xba, 0x3, 0x19, 0x0, 0x6, 0x3, 0x19, 0x0, 0x6, 0x3, 0x19, 0x0, 0x6, 0x3, 0x19, 0x0, 0x6, 0x6, 0xfb, 0x0, 0x70, 0x6, 0xfb, 0x0, 0x70, 0x6, 0x27, 0x0, 0x6, 0x6, 0x27, 0x0, 0x6, 0x6, 0x27, 0x0, 0x6, 0x6, 0x27, 0x0, 0x6, 0x4, 0xb8, 0x1, 0x33, 0x7, 0x8f, 0x0, 0xba, 0x7, 0x8f, 0x0, 0xba, 0x7, 0x8f, 0x0, 0xba, 0x7, 0x8f, 0x0, 0xba, 0x7, 0x8f, 0x0, 0xba, 0x6, 0x27, 0x0, 0x6, 0x6, 0x27, 0x0, 0x6, 0x6, 0x27, 0x0, 0x6, 0x8, 0xf4, 0x0, 0x70, 0x7, 0x8f, 0x0, 0xba, 0x7, 0x8f, 0x0, 0xba, 0x7, 0x8f, 0x0, 0xba, 0x7, 0x8f, 0x0, 0xba, 0x6, 0xfb, 0x0, 0x70, 0x6, 0xfb, 0x0, 0x70, 0x6, 0xfb, 0x0, 0x70, 0x6, 0xfb, 0x0, 0x70, 0x6, 0x27, 0x0, 0x6, 0x6, 0x27, 0x0, 0x6, 0x6, 0x27, 0x0, 0x6, 0x6, 0xa4, 0x0, 0xba, 0x6, 0xa4, 0x0, 0xba, 0x5, 0xdc, 0x0, 0xba, 0x5, 0xdc, 0x0, 0xba, 0x6, 0x27, 0x0, 0x6, 0x7, 0x2c, 0x0, 0xab, 0x8, 0x0, 0x0, 0x68, 0x7, 0x2c, 0x0, 0x64, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0x83, 0x7, 0x2c, 0x0, 0x85, 0x7, 0x2c, 0x0, 0x85, 0x4, 0x95, 0x0, 0xaa, 0x7, 0x2b, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x1b, 0x0, 0x7d, 0x7, 0x1b, 0x0, 0x7d, 0x5, 0x5f, 0x0, 0x7d, 0x8, 0x1a, 0x0, 0x7d, 0x9, 0xf7, 0x0, 0x8c, 0xa, 0x1, 0x0, 0x91, 0x7, 0x2c, 0x0, 0xb8, 0x7, 0x2c, 0x0, 0xb7, 0x7, 0x2c, 0x0, 0xb7, 0x4, 0x42, 0x0, 0x9a, 0x7, 0x2c, 0x0, 0x64, 0x7, 0x2c, 0x0, 0x98, 0x7, 0x2c, 0x0, 0xac, 0x7, 0x2c, 0x0, 0xac, 0x7, 0x2c, 0x0, 0x9f, 0x7, 0x2c, 0x0, 0xab, 0x7, 0x2c, 0x0, 0xac, 0x7, 0x2c, 0x0, 0xac, 0x7, 0x2c, 0x0, 0xb2, 0x4, 0xdf, 0x0, 0x93, 0x7, 0x2c, 0x0, 0xb1, 0x4, 0xdf, 0x0, 0x93, 0x7, 0x2c, 0x0, 0x7d, 0x7, 0x2c, 0x0, 0xac, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0x64, 0x5, 0x5a, 0x0, 0x64, 0x5, 0xf8, 0x0, 0xaa, 0x5, 0x32, 0x0, 0xaa, 0x6, 0x45, 0x0, 0xaa, 0x4, 0x5c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xb2, 0x7, 0x2c, 0x0, 0xaa, 0x5, 0xaf, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xab, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0x87, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x2, 0xdd, 0x7, 0x2c, 0x0, 0xaa, 0x4, 0xe9, 0x0, 0xaf, 0x5, 0xdc, 0x0, 0xaf, 0x5, 0xdc, 0x0, 0xaf, 0x7, 0x2c, 0x0, 0xa2, 0x7, 0x2c, 0x1, 0x53, 0x7, 0x2c, 0x1, 0xc0, 0x7, 0x2c, 0x0, 0xf8, 0x7, 0x2c, 0x1, 0x4, 0x7, 0x2c, 0x1, 0xec, 0x7, 0x2c, 0x0, 0x5d, 0x7, 0x2c, 0x0, 0xb7, 0x7, 0x2c, 0x0, 0xc0, 0x7, 0x2c, 0x0, 0xe7, 0x7, 0x2c, 0x1, 0x1e, 0x7, 0x2c, 0x0, 0x6d, 0x7, 0x2c, 0x0, 0xab, 0x7, 0x2c, 0x0, 0x45, 0x7, 0x2c, 0x0, 0xa9, 0x7, 0x2c, 0x0, 0xc0, 0x7, 0x2c, 0x0, 0xb0, 0x7, 0x2c, 0x1, 0x41, 0x7, 0x2c, 0x0, 0xc9, 0x7, 0x2c, 0x0, 0xe2, 0x7, 0x2c, 0x1, 0x55, 0x7, 0x2c, 0x1, 0xb6, 0x7, 0x2c, 0x1, 0x51, 0x7, 0x2c, 0x1, 0x30, 0x7, 0x2c, 0x0, 0xc9, 0x7, 0x2c, 0x0, 0xe2, 0x7, 0x2c, 0x1, 0x55, 0x7, 0x2c, 0x1, 0xb6, 0x7, 0x2c, 0x1, 0x4c, 0x7, 0x2c, 0x1, 0x30, 0x7, 0x2c, 0x1, 0x43, 0x7, 0x2c, 0x0, 0xb9, 0x7, 0x2c, 0x1, 0x58, 0x7, 0x2c, 0x0, 0xe4, 0x7, 0x2c, 0x1, 0x42, 0x7, 0x2c, 0x0, 0xb6, 0x7, 0x2c, 0x1, 0x58, 0x7, 0x2c, 0x0, 0xe4, 0x7, 0x2c, 0x0, 0xd8, 0x3, 0xc6, 0x0, 0xac, 0x5, 0x1b, 0x0, 0xac, 0x7, 0x2c, 0x1, 0x78, 0x7, 0x2c, 0x0, 0xbc, 0x3, 0xc6, 0x0, 0xb5, 0x2, 0xdc, 0x0, 0xac, 0x3, 0xdf, 0x0, 0xad, 0x5, 0xfc, 0x0, 0xac, 0x6, 0x20, 0x0, 0x84, 0x7, 0x2c, 0x0, 0xac, 0x7, 0x2c, 0x0, 0x9c, 0x7, 0x2c, 0x0, 0x9c, 0x7, 0x2c, 0x0, 0x9c, 0x7, 0x2c, 0x0, 0x9c, 0x7, 0x2c, 0x0, 0x9c, 0x7, 0x2c, 0x0, 0x9c, 0x7, 0x2c, 0x0, 0x9c, 0x7, 0x2c, 0x0, 0x9c, 0x7, 0x2c, 0x0, 0xac, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x1, 0x31, 0x6, 0xf4, 0x0, 0x96, 0x6, 0xf4, 0x0, 0x96, 0x6, 0xf4, 0x0, 0x96, 0x6, 0xf4, 0x0, 0x96, 0x6, 0xf4, 0x0, 0x96, 0x6, 0xf4, 0x0, 0x96, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x1, 0x58, 0x7, 0x2c, 0x1, 0x58, 0x7, 0x2c, 0x0, 0x6a, 0x7, 0x2c, 0x0, 0xc6, 0x7, 0x2c, 0x1, 0xd, 0x4, 0x54, 0x0, 0x7d, 0x7, 0x2c, 0x0, 0x79, 0x7, 0x2c, 0x0, 0x7d, 0x7, 0x2c, 0x1, 0x29, 0x7, 0x2c, 0x0, 0xc2, 0x7, 0x2c, 0x1, 0x6, 0x7, 0x2c, 0x1, 0x5, 0x7, 0x2c, 0x1, 0x5, 0x7, 0x2c, 0x0, 0x64, 0x5, 0x9e, 0x0, 0xaa, 0x8, 0x9, 0x0, 0xaf, 0x8, 0xb7, 0x0, 0xa2, 0x9, 0x66, 0x0, 0xaf, 0x7, 0x39, 0x0, 0xaf, 0x6, 0xb4, 0x1, 0xd, 0x6, 0xb4, 0x0, 0xcf, 0x6, 0xb4, 0x1, 0x80, 0x6, 0xb4, 0x0, 0x9, 0x6, 0xb4, 0x1, 0x7f, 0x6, 0xb4, 0x1, 0x7f, 0x6, 0xb4, 0x1, 0xfa, 0x6, 0xb4, 0x1, 0x64, 0x6, 0xb4, 0x0, 0x54, 0x6, 0xb4, 0x0, 0xa, 0x6, 0xc0, 0x0, 0xd2, 0x6, 0xb4, 0x1, 0xb1, 0x5, 0xdc, 0x0, 0xaf, 0x5, 0xdc, 0x1, 0x59, 0x5, 0xdc, 0x0, 0xb0, 0x5, 0xdc, 0x0, 0xb0, 0x6, 0xcc, 0x0, 0x78, 0x5, 0xdc, 0x1, 0x8e, 0x5, 0xdc, 0x1, 0x44, 0x6, 0xb4, 0x0, 0x56, 0x6, 0xb4, 0x0, 0x56, 0x6, 0xb4, 0x0, 0x56, 0x6, 0xb4, 0x0, 0x56, 0x5, 0xdc, 0x0, 0xaf, 0x6, 0xb4, 0x0, 0x16, 0x6, 0xb4, 0x0, 0x56, 0x6, 0xb4, 0x0, 0x16, 0x6, 0xb4, 0x0, 0x49, 0x6, 0xb4, 0x0, 0x56, 0x6, 0xb4, 0x0, 0x56, 0x6, 0xb4, 0x0, 0x78, 0x6, 0xb4, 0x0, 0x84, 0x6, 0xb4, 0x1, 0xb3, 0x6, 0xb4, 0x0, 0x2b, 0x6, 0xb4, 0x0, 0xb6, 0x6, 0xb4, 0x0, 0x35, 0x6, 0xb4, 0x0, 0xb6, 0x6, 0xb4, 0x0, 0x58, 0x6, 0xb4, 0x0, 0x8a, 0x6, 0xb4, 0x1, 0x33, 0x6, 0xb4, 0x0, 0xed, 0x6, 0xb4, 0x1, 0x3, 0x6, 0xb4, 0x0, 0xaf, 0x6, 0xb4, 0x0, 0xf1, 0x6, 0xb4, 0x0, 0xfc, 0x6, 0xb4, 0x0, 0x70, 0x6, 0xb4, 0x0, 0x70, 0x6, 0xb4, 0x0, 0x70, 0x6, 0xb4, 0x0, 0x70, 0x6, 0xb4, 0x1, 0x52, 0x6, 0xb4, 0x1, 0xc, 0x6, 0xb4, 0x1, 0x3e, 0x6, 0xb4, 0x0, 0x70, 0x6, 0xb4, 0x0, 0xbb, 0x6, 0xb4, 0x0, 0x54, 0x6, 0xb4, 0x0, 0x56, 0x6, 0xb4, 0x0, 0x53, 0x6, 0xb4, 0x0, 0x54, 0x6, 0xb4, 0x0, 0x57, 0x6, 0xb4, 0x0, 0x57, 0x6, 0xb4, 0x0, 0x2f, 0x6, 0xb4, 0x0, 0x56, 0x6, 0xb4, 0x0, 0x30, 0x6, 0xb4, 0x0, 0x2f, 0x6, 0xb4, 0x0, 0x30, 0x6, 0xb4, 0x0, 0x30, 0x6, 0xb4, 0x0, 0x30, 0x6, 0xb4, 0x0, 0x32, 0x6, 0xb4, 0x0, 0x84, 0x6, 0xb4, 0x0, 0x98, 0x6, 0xb4, 0x0, 0x70, 0x6, 0xb4, 0x0, 0x40, 0x6, 0xb4, 0x0, 0x54, 0x6, 0xb4, 0x0, 0xbb, 0x6, 0xb4, 0x0, 0x54, 0x6, 0xb4, 0x0, 0x54, 0x6, 0xb4, 0x0, 0x54, 0x6, 0xb4, 0x0, 0x70, 0x6, 0xb4, 0x0, 0xa7, 0x6, 0xb4, 0x0, 0xa7, 0x6, 0xb4, 0x0, 0xa1, 0x6, 0xb4, 0x0, 0xa1, 0x6, 0xb4, 0x0, 0x6e, 0x6, 0xb4, 0x0, 0x6e, 0x6, 0xb4, 0x0, 0x54, 0x6, 0xb4, 0x0, 0x56, 0x6, 0xb4, 0x0, 0xa1, 0x6, 0xb4, 0x0, 0xb6, 0x6, 0xb4, 0x0, 0x9c, 0x6, 0xb4, 0x0, 0x82, 0x6, 0xb4, 0x0, 0xa1, 0x6, 0xb4, 0x0, 0x61, 0x6, 0xb4, 0x0, 0x61, 0x6, 0xb4, 0x0, 0x54, 0x6, 0xb4, 0x0, 0x54, 0x7, 0x2c, 0x0, 0x66, 0x7, 0x2c, 0x0, 0x7a, 0x7, 0x2c, 0x0, 0x7a, 0x7, 0x2c, 0x0, 0x7a, 0x7, 0x2c, 0x0, 0x7a, 0x7, 0x2c, 0x0, 0xaa, 0x6, 0xb4, 0x3, 0x5, 0x6, 0xb4, 0x2, 0xb0, 0x6, 0xb4, 0x2, 0x6, 0x2, 0x94, 0x0, 0xae, 0x2, 0x94, 0x0, 0x78, 0x4, 0x4e, 0x0, 0xae, 0x4, 0x4e, 0x0, 0x78, 0x6, 0xb4, 0x1, 0x3e, 0x6, 0xb4, 0x1, 0x9e, 0x6, 0xb4, 0x1, 0x4e, 0x6, 0xb4, 0x0, 0x6e, 0x6, 0xb4, 0x1, 0x58, 0x6, 0xb4, 0x0, 0x7e, 0x6, 0xb4, 0x0, 0xa0, 0x6, 0xb4, 0x1, 0x91, 0x6, 0xb4, 0x1, 0x91, 0x6, 0xb4, 0x2, 0x1d, 0x6, 0xb4, 0x2, 0x1d, 0x6, 0xb4, 0x1, 0xb9, 0x6, 0xb4, 0x1, 0xdb, 0x6, 0xb4, 0x1, 0x23, 0x6, 0xb4, 0x1, 0x39, 0x6, 0xb4, 0x1, 0x55, 0x6, 0xb4, 0x1, 0x77, 0x6, 0xb4, 0x2, 0xc4, 0x6, 0xb4, 0x2, 0x6c, 0x6, 0xb4, 0x1, 0x66, 0x6, 0xb4, 0x1, 0xa1, 0x7, 0x2c, 0x0, 0x98, 0x7, 0x2c, 0x0, 0x98, 0x7, 0x2c, 0x0, 0x98, 0x7, 0x2c, 0x0, 0x98, 0x7, 0x2c, 0x0, 0x98, 0x7, 0x2c, 0x0, 0x98, 0x7, 0x2c, 0x0, 0x98, 0x7, 0x2c, 0x0, 0x98, 0x7, 0x2c, 0x0, 0x98, 0x7, 0x2c, 0x0, 0x98, 0x6, 0xb4, 0x0, 0x9, 0x6, 0xb4, 0x0, 0x9, 0x6, 0xb4, 0x0, 0x9, 0x6, 0xb4, 0x0, 0x9, 0x6, 0xb4, 0x0, 0x9, 0x6, 0xb4, 0x0, 0x9, 0x6, 0xb4, 0x0, 0x9, 0x6, 0xb4, 0x0, 0x9, 0x6, 0xb4, 0x0, 0x9, 0x6, 0xb4, 0x0, 0x9, 0x6, 0xb4, 0x0, 0x9, 0x6, 0xb4, 0x0, 0x9, 0x6, 0xb4, 0x0, 0x9, 0x6, 0xb4, 0x0, 0x9, 0x6, 0xb4, 0x0, 0x9, 0x6, 0xb4, 0x0, 0x9, 0x6, 0xb4, 0x0, 0x9, 0x6, 0xb4, 0x0, 0x9, 0x6, 0xb4, 0x0, 0x9, 0x6, 0xb4, 0x0, 0x9, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x0, 0xfc, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x0, 0xfc, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x0, 0xe4, 0x6, 0xb4, 0x0, 0xe4, 0x6, 0xb4, 0x0, 0xe4, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x1, 0xec, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x0, 0x2b, 0x6, 0xb4, 0x0, 0x2b, 0x6, 0xb4, 0x1, 0x15, 0x6, 0xb4, 0x1, 0x15, 0x6, 0xb4, 0x0, 0x7f, 0x6, 0xb4, 0x0, 0x7f, 0x6, 0xb4, 0x1, 0x3c, 0x6, 0xb4, 0x0, 0x82, 0x6, 0xb4, 0x0, 0xa5, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x0, 0xa7, 0x6, 0xb4, 0x0, 0xa7, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x0, 0xa7, 0x6, 0xb4, 0x0, 0x73, 0x6, 0xb4, 0x0, 0x96, 0x6, 0xb4, 0x0, 0xa2, 0x6, 0xb4, 0x0, 0xa2, 0x6, 0xb4, 0x0, 0x75, 0x3, 0x1f, 0x0, 0x6e, 0x3, 0x1f, 0x0, 0x4f, 0x3, 0xf4, 0x0, 0x6, 0x3, 0xf6, 0x0, 0xb0, 0x3, 0xf6, 0x0, 0xaf, 0x3, 0x1f, 0x0, 0xb7, 0x3, 0x1f, 0x0, 0xa4, 0x4, 0x73, 0x0, 0xb7, 0x4, 0x73, 0x0, 0xa4, 0x6, 0xb4, 0x0, 0x5b, 0x6, 0xb4, 0x0, 0x59, 0x6, 0xb4, 0x0, 0x4f, 0x6, 0xb4, 0x0, 0x4f, 0x9, 0x42, 0x0, 0x75, 0xb, 0x78, 0x0, 0x64, 0xb, 0x78, 0x0, 0x75, 0xb, 0x78, 0x0, 0x64, 0xb, 0x78, 0x0, 0x64, 0xb, 0x78, 0x0, 0x75, 0xb, 0x78, 0x0, 0x64, 0xb, 0x78, 0x0, 0x64, 0xb, 0x78, 0x0, 0x75, 0xb, 0x78, 0x0, 0x64, 0xb, 0x78, 0x0, 0x75, 0xb, 0x78, 0x0, 0x75, 0x5, 0xdc, 0x0, 0x0, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x3, 0x84, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x3, 0x84, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x3, 0x84, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x3, 0x84, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x3, 0x84, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x3, 0x84, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x3, 0x84, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x3, 0x84, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x3, 0x84, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x3, 0x84, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x3, 0x84, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x3, 0x84, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x3, 0x84, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x3, 0x84, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x3, 0x84, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x5, 0xdc, 0x1, 0x2c, 0x6, 0xb4, 0x0, 0x64, 0x6, 0xb4, 0x0, 0x75, 0x6, 0xb4, 0x1, 0x0, 0x6, 0xb4, 0x1, 0x0, 0x5, 0x77, 0x0, 0x4f, 0x5, 0x77, 0x0, 0x4f, 0x5, 0xdf, 0x1, 0x0, 0x5, 0xdf, 0x1, 0x0, 0x6, 0xb4, 0x0, 0xd9, 0x8, 0x0, 0x0, 0xd9, 0x8, 0x0, 0x0, 0xd9, 0x8, 0x0, 0x0, 0xd9, 0x8, 0x0, 0x0, 0xd9, 0x8, 0x0, 0x0, 0xd9, 0x8, 0x0, 0x0, 0xd9, 0x8, 0x0, 0x0, 0xd9, 0x3, 0xf4, 0x0, 0x6, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x8, 0x0, 0x0, 0x3a, 0x8, 0x0, 0x0, 0x3a, 0x8, 0x0, 0x0, 0x3a, 0xa, 0x9a, 0x0, 0x75, 0x4, 0x2b, 0x0, 0x75, 0x4, 0x2b, 0x0, 0x75, 0x4, 0x2b, 0x0, 0x75, 0x4, 0x2b, 0x0, 0x75, 0x4, 0x2b, 0x0, 0x75, 0x4, 0x2b, 0x0, 0x75, 0x4, 0x2b, 0x0, 0x75, 0x4, 0x2b, 0x0, 0x75, 0x4, 0x2b, 0x0, 0x75, 0x4, 0x2b, 0x0, 0x75, 0x4, 0x2b, 0xff, 0xbe, 0x4, 0x2b, 0x0, 0x75, 0x4, 0x2b, 0x0, 0x75, 0x4, 0x2b, 0x0, 0x75, 0x4, 0x2b, 0x0, 0x75, 0x4, 0x2b, 0x0, 0x6b, 0x6, 0xb4, 0x1, 0x19, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xda, 0x6, 0xb4, 0x0, 0xda, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xd9, 0x6, 0xb4, 0x0, 0xb5, 0x6, 0xb4, 0x1, 0x20, 0x6, 0xb4, 0x0, 0xb5, 0x6, 0xb4, 0x1, 0x20, 0x6, 0xb4, 0x0, 0x37, 0x6, 0xb4, 0x0, 0x37, 0x6, 0xb4, 0x1, 0x5e, 0x6, 0xb4, 0x1, 0x5e, 0x6, 0xb4, 0x0, 0xb5, 0x6, 0xb4, 0x1, 0x20, 0x6, 0xb4, 0x0, 0xb5, 0x6, 0xb4, 0x1, 0x20, 0x6, 0xb4, 0x0, 0x37, 0x6, 0xb4, 0x1, 0x5e, 0x6, 0xb0, 0x0, 0x75, 0x6, 0xb0, 0x0, 0x75, 0x6, 0xb0, 0x0, 0x48, 0x6, 0xb0, 0x0, 0x48, 0x7, 0x8f, 0x0, 0xba, 0x7, 0x8f, 0x0, 0xba, 0x7, 0x8f, 0x0, 0xba, 0x7, 0x8f, 0x0, 0xba, 0x6, 0x27, 0x0, 0x6, 0x6, 0x27, 0x0, 0x6, 0x6, 0x27, 0x0, 0x6, 0x6, 0x27, 0x0, 0x6, 0x7, 0x8f, 0x0, 0xba, 0x6, 0xf4, 0x0, 0x24, 0x6, 0xf4, 0x0, 0x24, 0x6, 0xfc, 0x0, 0x96, 0x6, 0xfc, 0x0, 0x96, 0x6, 0xfc, 0x0, 0x22, 0x8, 0xf4, 0x0, 0x70, 0x6, 0xf4, 0x0, 0x4d, 0x6, 0xf4, 0x0, 0x4d, 0x4, 0x75, 0x0, 0xa, 0x2, 0x39, 0x0, 0xa, 0x4, 0x75, 0xff, 0xd7, 0x4, 0xd3, 0x0, 0xa, 0x5, 0x8f, 0x0, 0xc9, 0x4, 0xe7, 0x0, 0x48, 0x3, 0x23, 0xff, 0xe8, 0x6, 0x4, 0x0, 0xc9, 0x5, 0x12, 0x0, 0xba, 0x5, 0x3f, 0x0, 0xc9, 0x4, 0xa2, 0x0, 0xba, 0x5, 0x7b, 0x0, 0x5c, 0x4, 0x33, 0x0, 0x58, 0x6, 0x40, 0x0, 0x73, 0x6, 0xe7, 0x0, 0xc9, 0x5, 0x79, 0x0, 0x10, 0x6, 0x40, 0x0, 0x73, 0x5, 0xe0, 0x0, 0x3d, 0x9, 0x6, 0x0, 0x44, 0x7, 0xb1, 0x0, 0x56, 0x4, 0xbc, 0x0, 0x68, 0x5, 0x3c, 0x0, 0xc9, 0x4, 0x8b, 0x0, 0xc1, 0x5, 0x47, 0x0, 0x70, 0x3, 0x50, 0x0, 0x0, 0x4, 0xe5, 0x0, 0x71, 0x3, 0xed, 0x0, 0x62, 0x1, 0x66, 0xff, 0xe9, 0x3, 0x72, 0x0, 0xa, 0x5, 0x14, 0x0, 0x87, 0x5, 0x7b, 0x0, 0x5c, 0x4, 0xba, 0x0, 0x7b, 0x4, 0xc2, 0x0, 0x32, 0x4, 0x84, 0x0, 0x50, 0x4, 0xd0, 0x0, 0x7f, 0x4, 0xb3, 0x0, 0x69, 0x7, 0x49, 0x0, 0x50, 0x5, 0x3, 0x0, 0x0, 0x7, 0x9d, 0x0, 0x6c, 0x4, 0xc3, 0x0, 0x8e, 0x4, 0xdb, 0x0, 0x68, 0x7, 0xa1, 0x0, 0x50, 0x4, 0xf5, 0x0, 0x6d, 0x4, 0xc3, 0x0, 0x50, 0x7, 0x69, 0x0, 0x68, 0x4, 0xc2, 0x0, 0x68, 0x6, 0x73, 0x0, 0x8e, 0x7, 0x73, 0x0, 0x68, 0x4, 0xad, 0x0, 0x68, 0x4, 0xbd, 0x0, 0x66, 0x7, 0x63, 0x0, 0x68, 0x7, 0x9f, 0x0, 0x7b, 0x6, 0x9f, 0x0, 0x64, 0x4, 0xc4, 0x0, 0x50, 0x4, 0xc2, 0x0, 0x68, 0x4, 0xb8, 0x0, 0x68, 0x4, 0xbc, 0x0, 0x50, 0x4, 0xbc, 0x0, 0x56, 0x4, 0xf7, 0x0, 0x7a, 0x7, 0x5d, 0x0, 0x50, 0x4, 0xb7, 0x0, 0x3c, 0x4, 0xb1, 0x0, 0x60, 0x4, 0xa6, 0x0, 0x46, 0x7, 0x50, 0x0, 0x50, 0x4, 0xc4, 0x0, 0x64, 0x4, 0xc2, 0x0, 0x7a, 0x4, 0xbd, 0x0, 0x7c, 0x5, 0x22, 0x0, 0x68, 0x7, 0x35, 0x0, 0x7a, 0x5, 0x2c, 0x0, 0x71, 0x7, 0x1a, 0x0, 0x73, 0x7, 0x1a, 0x0, 0x73, 0x5, 0x75, 0x0, 0x40, 0x5, 0x78, 0x0, 0x43, 0x5, 0x15, 0x0, 0x40, 0x4, 0x7e, 0x0, 0x96, 0x5, 0x79, 0x0, 0x10, 0x5, 0x79, 0x0, 0x10, 0x5, 0xe, 0x0, 0xc9, 0x5, 0xe, 0x0, 0x83, 0x5, 0x76, 0x0, 0x96, 0x6, 0xff, 0x0, 0xdb, 0x5, 0x7b, 0x0, 0x5c, 0x3, 0xed, 0x0, 0x96, 0x5, 0x7b, 0x0, 0x5c, 0x7, 0x1a, 0x0, 0x73, 0x7, 0x1a, 0x0, 0x73, 0x2, 0x67, 0x0, 0x96, 0x5, 0x4, 0x0, 0x29, 0x6, 0x4, 0x0, 0xc9, 0x5, 0x3f, 0x0, 0x3e, 0x4, 0x38, 0x0, 0x96, 0x5, 0x7b, 0x0, 0x5c, 0x5, 0x28, 0x0, 0x96, 0x5, 0xe, 0x0, 0xc9, 0x4, 0x5, 0x0, 0x6f, 0x7, 0x9f, 0x0, 0x6f, 0x6, 0x3a, 0x0, 0x6f, 0x5, 0xfc, 0x0, 0xc9, 0x4, 0xf7, 0x0, 0xcc, 0x2, 0x5c, 0x0, 0xc9, 0x6, 0x3a, 0x0, 0x6f, 0x2, 0x5c, 0x0, 0xc9, 0x6, 0x4, 0x0, 0x9f, 0x5, 0x10, 0x0, 0x63, 0x7, 0x1a, 0x0, 0x73, 0x7, 0x1a, 0x0, 0x73, 0x6, 0x4, 0x0, 0xc9, 0x2, 0x90, 0x0, 0xc9, 0x5, 0xfe, 0x0, 0x96, 0x7, 0x1a, 0x0, 0x73, 0x7, 0x1a, 0x0, 0x73, 0x5, 0x96, 0x0, 0x73, 0x6, 0x24, 0x0, 0x64, 0x5, 0x7b, 0x0, 0x3d, 0x5, 0x96, 0x0, 0x73, 0x4, 0xfa, 0x0, 0xc9, 0x5, 0x79, 0x0, 0x10, 0x6, 0x4, 0x0, 0xc9, 0x5, 0xe, 0x0, 0xc9, 0x6, 0x4e, 0x0, 0x73, 0x4, 0x89, 0x0, 0xc9, 0x6, 0x4e, 0x0, 0x73, 0x4, 0x1f, 0x0, 0x36, 0x4, 0x3f, 0x0, 0x8f, 0x6, 0xb4, 0x0, 0xd9, 0x3, 0x1f, 0x0, 0xb0, 0x3, 0x1f, 0x0, 0xc7, 0x3, 0x1f, 0x0, 0xb0, 0x3, 0x1f, 0x0, 0xc7, 0x4, 0x3f, 0x0, 0x93, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x5, 0x7d, 0x0, 0xc9, 0x4, 0xd3, 0x0, 0xc9, 0x4, 0xd3, 0x0, 0x46, 0x6, 0x29, 0x0, 0xc9, 0x4, 0xe3, 0xff, 0xfa, 0x4, 0xe3, 0xff, 0xfa, 0x6, 0x33, 0x0, 0x73, 0x5, 0x3f, 0x0, 0xc9, 0x5, 0x3f, 0xff, 0xd5, 0x4, 0x18, 0x0, 0x0, 0x5, 0x96, 0x0, 0x73, 0x5, 0xa0, 0x0, 0x73, 0x5, 0x7b, 0x0, 0x5c, 0x4, 0x9a, 0x0, 0xc9, 0x4, 0x9a, 0x0, 0xc9, 0x6, 0xe7, 0x0, 0xc9, 0x5, 0xfc, 0x0, 0xc9, 0x4, 0x75, 0x0, 0xc9, 0x5, 0x14, 0x0, 0x87, 0x5, 0x8f, 0x0, 0xc9, 0x5, 0x8f, 0x0, 0x3b, 0x5, 0x79, 0x0, 0x10, 0x5, 0x79, 0x0, 0x10, 0x6, 0x4, 0x0, 0xc9, 0x6, 0x33, 0x0, 0xa3, 0x4, 0x18, 0x0, 0xc9, 0x7, 0xe9, 0x0, 0x44, 0x5, 0x7b, 0x0, 0x3d, 0x4, 0xe3, 0xff, 0xfc, 0x5, 0x7d, 0x0, 0x91, 0x5, 0x79, 0x0, 0x10, 0x5, 0x79, 0x0, 0x10, 0x5, 0xe, 0x0, 0xc9, 0x5, 0xe, 0x0, 0x83, 0x2, 0x5c, 0x0, 0xc9, 0x6, 0x4c, 0x0, 0x73, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0xdb, 0x0, 0xb2, 0x4, 0x75, 0x0, 0x8, 0x6, 0x23, 0x0, 0x73, 0x2, 0x66, 0x0, 0xaf, 0x2, 0x66, 0x0, 0x92, 0x4, 0xc5, 0x0, 0xaf, 0x4, 0xc5, 0x0, 0xaf, 0x2, 0x66, 0x0, 0x92, 0x2, 0x66, 0x0, 0xaf, 0x4, 0xb4, 0x0, 0xaf, 0x4, 0xb4, 0x0, 0xaf, 0x5, 0x14, 0x0, 0x72, 0x4, 0x2b, 0x0, 0x64, 0x2, 0xd4, 0x0, 0xc9, 0x2, 0xb5, 0x0, 0xa6, 0x9, 0x70, 0x0, 0x76, 0x8, 0x39, 0x0, 0x98, 0x8, 0x3b, 0x0, 0x3c, 0x7, 0x40, 0x0, 0x3e, 0x8, 0xa3, 0x0, 0x73, 0x6, 0xbc, 0x0, 0x70, 0x7, 0xd0, 0x0, 0xd3, 0x6, 0xbe, 0x0, 0xc1, 0x8, 0x7f, 0x0, 0x65, 0x7, 0x4b, 0x0, 0x6b, 0x8, 0x88, 0x0, 0x54, 0x7, 0x35, 0x0, 0x4c, 0x9, 0x6d, 0x0, 0xc9, 0x8, 0x10, 0x0, 0xba, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xe5, 0x0, 0x71, 0x6, 0xd8, 0x0, 0x73, 0x5, 0xb3, 0x0, 0x71, 0xa, 0xdd, 0x0, 0x73, 0x8, 0x26, 0x0, 0x71, 0x7, 0x8, 0x0, 0x3a, 0x6, 0x42, 0xff, 0xfa, 0x5, 0x7a, 0x0, 0x3c, 0x4, 0xe3, 0xff, 0xfa, 0x4, 0xa9, 0x0, 0x3c, 0x5, 0x7c, 0x0, 0xaf, 0x5, 0x12, 0x0, 0xba, 0x3, 0xf2, 0x0, 0xd6, 0x3, 0xf2, 0x0, 0xd6, 0x3, 0xf2, 0x0, 0xd6, 0x3, 0xf2, 0x0, 0xd6, 0x3, 0xf2, 0x0, 0xd6, 0x3, 0xf2, 0x0, 0xd6, 0x3, 0xf2, 0x0, 0xd6, 0x3, 0xf2, 0x0, 0xd6, 0x3, 0xf2, 0x0, 0xd6, 0x3, 0xf2, 0x0, 0xd6, 0x3, 0xf2, 0x0, 0xd6, 0x3, 0xf2, 0x0, 0xd6, 0x3, 0xf2, 0x0, 0xd6, 0x3, 0xf2, 0x0, 0xd6, 0x3, 0xf2, 0x0, 0xd6, 0x2, 0xf4, 0x0, 0x66, 0x2, 0xf4, 0x0, 0x66, 0x2, 0x5, 0x0, 0xc3, 0x2, 0x5, 0x0, 0xc3, 0x2, 0x5, 0x0, 0xc3, 0x3, 0x15, 0x0, 0x89, 0x2, 0xd9, 0x0, 0x89, 0x3, 0xc6, 0x0, 0x73, 0x3, 0xc6, 0x0, 0x73, 0x6, 0x4, 0x0, 0xc9, 0x5, 0x12, 0x0, 0xba, 0x7, 0x6, 0xff, 0xfa, 0x5, 0xad, 0x0, 0x37, 0x4, 0xea, 0x0, 0xa4, 0x4, 0x53, 0x0, 0x85, 0x3, 0xed, 0x0, 0xba, 0x4, 0x2b, 0x0, 0x6f, 0x9, 0xff, 0x0, 0x10, 0x7, 0xe1, 0x0, 0x7b, 0x9, 0xa0, 0x0, 0x10, 0x7, 0xeb, 0x0, 0x7b, 0x9, 0x23, 0x0, 0x10, 0x7, 0xd9, 0x0, 0x7b, 0x7, 0xc5, 0x0, 0x10, 0x6, 0x8b, 0x0, 0x7b, 0x7, 0xc5, 0x0, 0x10, 0x6, 0x8b, 0x0, 0x7b, 0x7, 0xac, 0x0, 0x10, 0x6, 0x8b, 0x0, 0x7b, 0x5, 0xa0, 0x0, 0x73, 0x4, 0x65, 0x0, 0x7f, 0x5, 0x3f, 0x0, 0xa, 0x4, 0xaa, 0x0, 0xe, 0x5, 0x71, 0x0, 0xc9, 0x3, 0x23, 0x0, 0xc1, 0x4, 0xa7, 0x0, 0x53, 0x3, 0x6a, 0x0, 0x78, 0x6, 0x74, 0x0, 0xa, 0x5, 0xa2, 0x0, 0xa, 0xa, 0xdd, 0x0, 0x73, 0x8, 0x26, 0x0, 0x71, 0x4, 0xd3, 0x0, 0xa, 0x5, 0x14, 0xff, 0xfb, 0x5, 0xdf, 0x0, 0x32, 0x6, 0x32, 0x0, 0x32, 0x6, 0x4c, 0x0, 0x73, 0x5, 0x14, 0x0, 0x71, 0x4, 0xd7, 0x0, 0xa, 0x5, 0x14, 0xff, 0xfb, 0x4, 0xd7, 0x0, 0xa, 0x5, 0x14, 0xff, 0xfb, 0x4, 0x75, 0x0, 0xb, 0x2, 0x39, 0x0, 0xc1, 0x5, 0xe2, 0x0, 0xc9, 0x5, 0x12, 0x0, 0xba, 0x2, 0xb2, 0x0, 0xf0, 0x3, 0x2, 0x0, 0xa0, 0x3, 0x35, 0x1, 0x35, 0x2, 0x33, 0x0, 0xc5, 0x5, 0x7c, 0x0, 0xaf, 0x3, 0xe6, 0x0, 0x4d, 0x6, 0x2e, 0x0, 0xc9, 0x5, 0x55, 0x0, 0xba, 0x6, 0x33, 0x0, 0x4, 0x5, 0x14, 0x0, 0x4, 0x5, 0x3f, 0x0, 0x4, 0x4, 0xa2, 0x0, 0x4, 0x5, 0xfc, 0x0, 0x4, 0x5, 0x12, 0x0, 0x4, 0x5, 0x8f, 0x0, 0x4, 0x3, 0x4a, 0x0, 0x4, 0x5, 0x14, 0x0, 0x4, 0x4, 0x2b, 0x0, 0x4, 0x6, 0x68, 0xff, 0x97, 0x7, 0x52, 0x0, 0xba, 0x4, 0x9a, 0x0, 0x77, 0x4, 0xd3, 0x0, 0x46, 0x6, 0xe7, 0x0, 0xc9, 0x2, 0x5c, 0x0, 0xc9, 0x9, 0x98, 0x0, 0x44, 0x1, 0xb5, 0x0, 0xc2, 0x1, 0xe7, 0x0, 0x8d, 0x2, 0xe, 0x0, 0x6e, 0x2, 0x1c, 0x0, 0x60, 0x2, 0x23, 0x0, 0x5a, 0x1, 0xe7, 0x0, 0x8d, 0x1, 0xb5, 0x0, 0xc2, 0x1, 0xe7, 0x0, 0x8d, 0x2, 0xe, 0x0, 0x6e, 0x2, 0x1c, 0x0, 0x60, 0x2, 0xe, 0x0, 0x6e, 0x1, 0xe7, 0x0, 0x8d, 0x1, 0xb5, 0x0, 0xc2, 0x1, 0xe7, 0x0, 0x8d, 0x2, 0xe, 0x0, 0x6e, 0x2, 0x1c, 0x0, 0x60, 0x2, 0xe, 0x0, 0x6e, 0x1, 0xe7, 0x0, 0x8d, 0x1, 0xb5, 0x0, 0xc2, 0x1, 0xe7, 0x0, 0x8d, 0x2, 0x23, 0x0, 0x5a, 0x2, 0x1c, 0x0, 0x60, 0x2, 0xe, 0x0, 0x6e, 0x1, 0xe7, 0x0, 0x8d, 0x1, 0xb5, 0x0, 0xc2, 0x2, 0x33, 0x0, 0xd6, 0x7, 0xd0, 0x0, 0x96, 0x7, 0xd0, 0x0, 0x96, 0x7, 0xd0, 0x0, 0x96, 0x7, 0xd0, 0x0, 0x96, 0x4, 0xa4, 0x0, 0x6e, 0x4, 0xa4, 0x0, 0x6e, 0x4, 0xfd, 0x0, 0x6e, 0x7, 0x1d, 0x0, 0x6e, 0x4, 0xae, 0x0, 0x6f, 0x4, 0xa4, 0x0, 0x6e, 0x5, 0x39, 0x0, 0x6e, 0x7, 0xe, 0x0, 0x6e, 0x4, 0x71, 0x0, 0x6e, 0x4, 0xa4, 0x0, 0x6e, 0x9, 0x59, 0x0, 0x6e, 0x4, 0xb6, 0x0, 0x6e, 0x4, 0xb8, 0x0, 0x82, 0x6, 0xf4, 0x0, 0x6e, 0x4, 0xa4, 0x0, 0x6e, 0x4, 0xb7, 0x0, 0x6e, 0x7, 0x4f, 0x0, 0x6e, 0x4, 0xb8, 0x0, 0x82, 0x5, 0xd9, 0x0, 0x6e, 0x4, 0xaa, 0x0, 0x32, 0x6, 0xfa, 0x0, 0x6e, 0x4, 0xb7, 0x0, 0x6e, 0x7, 0x29, 0x0, 0x6e, 0x4, 0xb6, 0x0, 0x6e, 0x4, 0xb6, 0x0, 0x6e, 0x4, 0xb9, 0x0, 0x83, 0x5, 0x31, 0x0, 0x70, 0x4, 0xb6, 0x0, 0x6e, 0x4, 0xb7, 0x0, 0x83, 0x4, 0xca, 0x0, 0x6e, 0x4, 0xb8, 0x0, 0x82, 0x4, 0x21, 0x0, 0x32, 0x4, 0xa3, 0x0, 0x6e, 0x4, 0xac, 0x0, 0x78, 0x4, 0xa4, 0x0, 0x6e, 0x4, 0xa4, 0x0, 0x6e, 0x4, 0xa5, 0x0, 0x6e, 0x5, 0x1b, 0x0, 0x6e, 0x7, 0xa4, 0x0, 0x6e, 0x7, 0x73, 0x0, 0x7a, 0x6, 0x77, 0x0, 0x64, 0x4, 0x10, 0x0, 0x64, 0x4, 0x10, 0x0, 0x64, 0x4, 0x10, 0x0, 0x64, 0x4, 0x10, 0x0, 0x64, 0x4, 0x10, 0x0, 0x64, 0x4, 0x10, 0x0, 0x64, 0x4, 0x10, 0x0, 0x64, 0x4, 0x10, 0x0, 0x64, 0x4, 0x10, 0x0, 0x64, 0x4, 0x10, 0x0, 0x64, 0x4, 0x24, 0x0, 0x64, 0x4, 0x24, 0x0, 0x64, 0x4, 0x24, 0x0, 0x64, 0x6, 0x4b, 0x0, 0x64, 0x6, 0x4b, 0x0, 0x64, 0x6, 0x4b, 0x0, 0x64, 0x6, 0x4b, 0x0, 0x64, 0x6, 0x4b, 0x0, 0x64, 0x4, 0x5f, 0x0, 0x3c, 0x4, 0x5f, 0x0, 0x3c, 0x4, 0x5f, 0x0, 0x3c, 0x4, 0x5f, 0x0, 0x3c, 0x4, 0x5f, 0x0, 0x3c, 0x4, 0x5f, 0x0, 0x3c, 0x4, 0xe5, 0x0, 0x71, 0x5, 0x83, 0x0, 0x2f, 0x5, 0xa, 0x0, 0x2f, 0x5, 0xa, 0x0, 0x2f, 0x7, 0xbc, 0x0, 0x2f, 0x7, 0xbc, 0x0, 0x2f, 0x5, 0x7d, 0x0, 0x2f, 0x6, 0xe3, 0x0, 0x6f, 0x9, 0x9d, 0x0, 0xab, 0x9, 0x9d, 0x0, 0xae, 0x9, 0x91, 0x0, 0xae, 0x9, 0x7d, 0x0, 0xae, 0xc, 0x3c, 0x0, 0xae, 0x1, 0xca, 0x0, 0x88, 0x0, 0x0, 0x1, 0x56, 0x2, 0xa5, 0x0, 0x4a, 0x5, 0x16, 0x0, 0x4e, 0x6, 0xd9, 0x0, 0xae, 0x6, 0x31, 0x0, 0x58, 0x7, 0x3f, 0x0, 0xba, 0x6, 0x2c, 0x0, 0x58, 0x6, 0xbf, 0x0, 0x58, 0x6, 0xd7, 0x0, 0xba, 0x6, 0x75, 0x0, 0x58, 0x7, 0x1, 0x0, 0x60, 0x6, 0xb4, 0x0, 0xd9, 0x5, 0xab, 0x0, 0x58, 0x5, 0xab, 0x0, 0x4e, 0x5, 0xab, 0x0, 0x58, 0x5, 0xab, 0x0, 0x58, 0x5, 0x59, 0x0, 0xba, 0x5, 0x59, 0x0, 0xba, 0x5, 0x59, 0x0, 0xba, 0x4, 0xa0, 0x0, 0x58, 0x3, 0x4c, 0x0, 0x58, 0x4, 0x5e, 0x0, 0x58, 0x5, 0x3a, 0x0, 0xba, 0x2, 0xd8, 0x0, 0x59, 0x3, 0x3f, 0x0, 0x59, 0x5, 0x30, 0x0, 0xb9, 0x2, 0xa4, 0x0, 0x59, 0x4, 0x4c, 0x0, 0x58, 0x4, 0x3b, 0x0, 0x58, 0x4, 0x8c, 0x0, 0x58, 0x5, 0x6f, 0x0, 0x58, 0x3, 0x32, 0x0, 0x58, 0x5, 0x31, 0x0, 0xb9, 0x5, 0x1e, 0x0, 0xba, 0x4, 0xff, 0x0, 0xba, 0x4, 0xbf, 0x0, 0x58, 0x5, 0xad, 0x0, 0xba, 0x4, 0x84, 0x0, 0x58, 0x5, 0xab, 0x0, 0x58, 0x5, 0x42, 0x0, 0x14, 0x2, 0x2e, 0x0, 0xba, 0x4, 0xa0, 0x0, 0x58, 0x4, 0x3b, 0x0, 0x58, 0x4, 0xff, 0x0, 0xba, 0x5, 0x8, 0x0, 0x58, 0x7, 0x88, 0x0, 0x82, 0x7, 0xdb, 0x0, 0x82, 0x2, 0x3a, 0xff, 0xec, 0x2, 0x6a, 0xff, 0xec, 0x7, 0x88, 0x0, 0x82, 0x7, 0xdb, 0x0, 0x82, 0x2, 0x3a, 0xff, 0xec, 0x2, 0x6a, 0xff, 0xec, 0x7, 0x88, 0x0, 0x82, 0x7, 0xdb, 0x0, 0x82, 0x2, 0x3a, 0xff, 0xec, 0x2, 0x6a, 0xff, 0xec, 0x7, 0x88, 0x0, 0x82, 0x7, 0xdb, 0x0, 0x82, 0x2, 0x3a, 0xff, 0xec, 0x2, 0x6a, 0xff, 0xec, 0x7, 0x88, 0x0, 0x82, 0x7, 0xdb, 0x0, 0x82, 0x2, 0x3a, 0xff, 0xec, 0x2, 0x6a, 0xff, 0xec, 0x7, 0x88, 0x0, 0x82, 0x7, 0xdb, 0x0, 0x82, 0x2, 0x3a, 0xff, 0xec, 0x2, 0x6a, 0xff, 0xec, 0x8, 0x4b, 0x0, 0x82, 0x8, 0x48, 0x0, 0x82, 0x3, 0xd3, 0xff, 0xec, 0x4, 0xc, 0xff, 0xec, 0x8, 0x4b, 0x0, 0x82, 0x8, 0x48, 0x0, 0x82, 0x3, 0xd3, 0xff, 0xec, 0x4, 0xc, 0xff, 0xec, 0x5, 0x2a, 0x0, 0x9d, 0x5, 0x2a, 0x0, 0x9d, 0x4, 0xf2, 0xff, 0xec, 0x5, 0x2a, 0xff, 0xec, 0x5, 0x2a, 0x0, 0x9d, 0x5, 0x2a, 0x0, 0x9d, 0x4, 0xf2, 0xff, 0xec, 0x5, 0x2a, 0xff, 0xec, 0x5, 0x2a, 0x0, 0x9d, 0x5, 0x2a, 0x0, 0x9d, 0x4, 0xf2, 0xff, 0xec, 0x5, 0x2a, 0xff, 0xec, 0x5, 0x2a, 0x0, 0x9d, 0x5, 0x2a, 0x0, 0x9d, 0x4, 0xf2, 0xff, 0xec, 0x5, 0x2a, 0xff, 0xec, 0x3, 0x90, 0x0, 0x7d, 0x4, 0x33, 0x0, 0x7d, 0x3, 0x90, 0x0, 0x7d, 0x4, 0x33, 0x0, 0x7d, 0x3, 0x90, 0x0, 0x7d, 0x4, 0x33, 0x0, 0x7d, 0x3, 0x90, 0x0, 0x7d, 0x4, 0x33, 0x0, 0x7d, 0x3, 0xdd, 0xff, 0xab, 0x4, 0x6a, 0xff, 0xab, 0x3, 0xdd, 0xff, 0xab, 0x4, 0x6a, 0xff, 0xab, 0x7, 0x29, 0x0, 0x82, 0x7, 0x29, 0x0, 0x82, 0x3, 0xcf, 0xff, 0xec, 0x4, 0x6b, 0xff, 0xec, 0x7, 0x29, 0x0, 0x82, 0x7, 0x29, 0x0, 0x82, 0x3, 0xcf, 0xff, 0xec, 0x4, 0x6b, 0xff, 0xec, 0x7, 0x29, 0x0, 0x82, 0x7, 0x29, 0x0, 0x82, 0x3, 0xcf, 0xff, 0xec, 0x4, 0x6b, 0xff, 0xec, 0x7, 0x29, 0x0, 0x82, 0x7, 0x29, 0x0, 0x82, 0x3, 0xcf, 0xff, 0xec, 0x4, 0x6b, 0xff, 0xec, 0x5, 0xe0, 0x0, 0x93, 0x6, 0x17, 0x0, 0x93, 0x5, 0xe0, 0x0, 0x93, 0x6, 0x17, 0x0, 0x93, 0x2, 0x3a, 0xff, 0xec, 0x2, 0x6a, 0xff, 0xec, 0x5, 0x96, 0x0, 0x90, 0x5, 0xe, 0x0, 0x90, 0x4, 0x38, 0xff, 0xec, 0x3, 0xb0, 0xff, 0xec, 0x6, 0x98, 0x0, 0x90, 0x6, 0xbe, 0x0, 0x90, 0x3, 0xcf, 0xff, 0xec, 0x4, 0x6b, 0xff, 0xec, 0x3, 0xdd, 0xff, 0xab, 0x4, 0x22, 0xff, 0xab, 0x2, 0x3a, 0xff, 0xec, 0x2, 0x6a, 0xff, 0xec, 0x6, 0x43, 0x0, 0x82, 0x6, 0xab, 0x0, 0x82, 0x2, 0x3a, 0xff, 0xec, 0x2, 0x6a, 0xff, 0xec, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfd, 0x2a, 0x0, 0x0, 0x0, 0x0, 0x2, 0x58, 0x0, 0x8, 0x2, 0x58, 0xff, 0xec, 0x2, 0x58, 0x0, 0x8, 0x2, 0x18, 0x0, 0x69, 0x2, 0x58, 0x0, 0x8, 0x2, 0x58, 0x0, 0x8, 0x2, 0x58, 0xff, 0xec, 0x2, 0x58, 0x0, 0x8, 0x2, 0x58, 0xff, 0xec, 0x2, 0x58, 0x0, 0x8, 0x2, 0x58, 0xff, 0xec, 0x2, 0x58, 0xff, 0xf4, 0x2, 0x58, 0xff, 0xec, 0x2, 0x58, 0x0, 0x18, 0x2, 0x58, 0xff, 0xec, 0x3, 0xc3, 0x0, 0xa3, 0x2, 0x39, 0xff, 0xb5, 0x2, 0x70, 0xff, 0xb5, 0x2, 0x39, 0x0, 0x6c, 0x2, 0x70, 0x0, 0x6c, 0x3, 0xdd, 0xff, 0xab, 0x4, 0x22, 0xff, 0xab, 0x2, 0x39, 0x0, 0x6c, 0x2, 0x70, 0x0, 0x6c, 0x6, 0x43, 0x0, 0x82, 0x6, 0xab, 0x0, 0x82, 0x2, 0x3a, 0xff, 0xec, 0x2, 0x6a, 0xff, 0xec, 0x2, 0x39, 0x0, 0xc1, 0x2, 0x70, 0x0, 0xc1, 0x7, 0x88, 0x0, 0x82, 0x7, 0xdb, 0x0, 0x82, 0x2, 0x3a, 0xff, 0xec, 0x2, 0x6a, 0xff, 0xec, 0x4, 0x31, 0x0, 0x8b, 0x4, 0x4a, 0x0, 0x91, 0x7, 0x88, 0x0, 0x82, 0x7, 0xdb, 0x0, 0x82, 0x2, 0x3a, 0xff, 0xec, 0x2, 0x6a, 0xff, 0xec, 0x7, 0x88, 0x0, 0x82, 0x7, 0xdb, 0x0, 0x82, 0x2, 0x3a, 0xff, 0xec, 0x2, 0x6a, 0xff, 0xec, 0x5, 0x2a, 0x0, 0x9d, 0x5, 0x2a, 0x0, 0x9d, 0x4, 0xf2, 0xff, 0xec, 0x5, 0x2a, 0xff, 0xec, 0x5, 0x2a, 0x0, 0x9d, 0x5, 0x2a, 0x0, 0x9d, 0x4, 0xf2, 0xff, 0xec, 0x5, 0x2a, 0xff, 0xec, 0x5, 0x2a, 0x0, 0x9d, 0x5, 0x2a, 0x0, 0x9d, 0x4, 0xf2, 0xff, 0xec, 0x5, 0x2a, 0xff, 0xec, 0x3, 0x90, 0x0, 0x7d, 0x4, 0x33, 0x0, 0x7d, 0x3, 0x90, 0x0, 0x7d, 0x4, 0x33, 0x0, 0x7d, 0x3, 0xdd, 0xff, 0xab, 0x4, 0x6a, 0xff, 0xab, 0x3, 0xdd, 0xff, 0xab, 0x4, 0x6a, 0xff, 0xab, 0x9, 0xc4, 0x0, 0x82, 0xa, 0x33, 0x0, 0x82, 0x6, 0xb4, 0xff, 0xec, 0x7, 0x23, 0xff, 0xec, 0x9, 0xc4, 0x0, 0x82, 0xa, 0x33, 0x0, 0x82, 0x6, 0xb4, 0xff, 0xec, 0x7, 0x23, 0xff, 0xec, 0x9, 0xac, 0x0, 0x82, 0x9, 0xcd, 0x0, 0x82, 0x6, 0xcb, 0xff, 0xec, 0x6, 0xf0, 0xff, 0xec, 0x9, 0xac, 0x0, 0x82, 0x9, 0xcd, 0x0, 0x82, 0x6, 0xcb, 0xff, 0xec, 0x6, 0xf0, 0xff, 0xec, 0x7, 0x66, 0x0, 0x90, 0x7, 0x98, 0x0, 0x90, 0x6, 0x5e, 0xff, 0xec, 0x6, 0x90, 0xff, 0xec, 0x7, 0x66, 0x0, 0x90, 0x7, 0x98, 0x0, 0x90, 0x6, 0x5e, 0xff, 0xec, 0x6, 0x90, 0xff, 0xec, 0x4, 0xc6, 0x0, 0x75, 0x4, 0x42, 0x0, 0x75, 0x4, 0xc6, 0xff, 0xec, 0x3, 0xdc, 0xff, 0xec, 0x4, 0xc6, 0x0, 0x75, 0x4, 0x42, 0x0, 0x75, 0x4, 0x2f, 0xff, 0xec, 0x3, 0xdc, 0xff, 0xec, 0x8, 0x4b, 0x0, 0x82, 0x8, 0x48, 0x0, 0x82, 0x3, 0xd3, 0xff, 0xec, 0x4, 0xc, 0xff, 0xec, 0x6, 0x35, 0x0, 0x6b, 0x6, 0xac, 0x0, 0x6b, 0x3, 0xd3, 0xff, 0xec, 0x4, 0xc, 0xff, 0xec, 0x6, 0x98, 0x0, 0x90, 0x6, 0xbe, 0x0, 0x90, 0x3, 0xcf, 0xff, 0xec, 0x4, 0x6b, 0xff, 0xec, 0x5, 0xd0, 0x0, 0x90, 0x6, 0xf, 0x0, 0x90, 0x2, 0x70, 0xff, 0xec, 0x2, 0xa6, 0xff, 0xec, 0x4, 0xf4, 0x0, 0x8c, 0x5, 0x53, 0x0, 0x8c, 0x4, 0x49, 0xff, 0xec, 0x4, 0xa0, 0xff, 0xec, 0x5, 0xe0, 0x0, 0x93, 0x6, 0x17, 0x0, 0x93, 0x2, 0x3a, 0xff, 0xec, 0x2, 0x6a, 0xff, 0xec, 0x4, 0x31, 0x0, 0x8b, 0x4, 0x4a, 0x0, 0x91, 0x4, 0x38, 0xff, 0xec, 0x3, 0xb0, 0xff, 0xec, 0x3, 0xdd, 0xff, 0xab, 0x4, 0x22, 0xff, 0xab, 0x6, 0x43, 0x0, 0x82, 0x6, 0xab, 0x0, 0x82, 0x6, 0x43, 0x0, 0x82, 0x6, 0xab, 0x0, 0x82, 0x2, 0x3a, 0xff, 0xec, 0x2, 0x6a, 0xff, 0xec, 0x4, 0x90, 0xff, 0x2e, 0x4, 0xc6, 0xff, 0x2e, 0x4, 0x90, 0xff, 0xe5, 0x4, 0xc6, 0xff, 0xe5, 0x4, 0x90, 0x0, 0x17, 0x4, 0xc6, 0x0, 0x17, 0x4, 0x90, 0x0, 0x54, 0x4, 0xc6, 0x0, 0x54, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x34, 0x0, 0x1e, 0x6, 0xe, 0x0, 0x64, 0x4, 0xdc, 0x0, 0xc8, 0x4, 0x80, 0x0, 0x64, 0x4, 0xce, 0x0, 0xc8, 0x4, 0x64, 0x0, 0xc8, 0x4, 0x64, 0x0, 0xc8, 0x3, 0x84, 0x0, 0x96, 0x5, 0x0, 0x0, 0xc8, 0x7, 0x3a, 0x0, 0x96, 0x2, 0x44, 0x0, 0xc8, 0x5, 0x19, 0x0, 0xc8, 0x4, 0x5f, 0x0, 0xc8, 0xb, 0x6a, 0x0, 0xc8, 0x7, 0xd, 0x0, 0xc8, 0x7, 0x64, 0x0, 0xc8, 0x7, 0x3a, 0x0, 0x96, 0x5, 0x7d, 0x0, 0xc8, 0x6, 0xf2, 0x0, 0xc8, 0x4, 0xb0, 0x0, 0x96, 0x4, 0xda, 0x0, 0xc8, 0x3, 0x88, 0x0, 0x96, 0x5, 0x92, 0x0, 0x64, 0x5, 0x18, 0x0, 0xc8, 0x5, 0x7d, 0x0, 0x96, 0x5, 0x78, 0x0, 0x96, 0x6, 0x7a, 0x0, 0x64, 0x4, 0x38, 0x0, 0x96, 0x4, 0x76, 0x0, 0xc8, 0x4, 0x76, 0x0, 0xc8, 0x3, 0x84, 0x0, 0x64, 0x6, 0xe, 0x0, 0x64, 0x2, 0x44, 0x0, 0xc8, 0x6, 0xe, 0x0, 0x64, 0x5, 0x7d, 0x0, 0x96, 0x6, 0x8b, 0x0, 0x64, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x5, 0xed, 0x0, 0x10, 0x5, 0xd9, 0x0, 0xc9, 0x6, 0x8d, 0x0, 0xe8, 0x5, 0xd6, 0x0, 0xc9, 0x5, 0x63, 0x0, 0xc9, 0x6, 0x33, 0x0, 0x73, 0x3, 0x24, 0x0, 0x66, 0x3, 0x22, 0xff, 0x96, 0x6, 0x5, 0x0, 0xc9, 0x5, 0x3d, 0x0, 0xc9, 0x8, 0x33, 0x0, 0xc4, 0x6, 0x4c, 0x0, 0x72, 0x5, 0x14, 0x0, 0x88, 0x5, 0xaa, 0xff, 0xfa, 0x6, 0xa4, 0x0, 0xb1, 0x5, 0xc8, 0x0, 0x10, 0x8, 0xdd, 0x0, 0x44, 0x6, 0x72, 0x0, 0x6c, 0x5, 0xa8, 0xff, 0xfc, 0x5, 0x4b, 0x0, 0x7b, 0x5, 0xaa, 0x0, 0x94, 0x4, 0x66, 0x0, 0x71, 0x5, 0xaa, 0x0, 0x94, 0x4, 0xec, 0x0, 0x6f, 0x3, 0xb9, 0x0, 0x2f, 0x5, 0xaa, 0x0, 0x71, 0x5, 0xe5, 0x0, 0xba, 0x2, 0xcf, 0x0, 0xe6, 0x2, 0xcf, 0xff, 0xd7, 0x5, 0x35, 0x0, 0xba, 0x2, 0xcf, 0x0, 0xe6, 0x9, 0x22, 0x0, 0xba, 0x5, 0xe5, 0x0, 0xba, 0x4, 0xe5, 0x0, 0x71, 0x5, 0xaa, 0x0, 0x71, 0x5, 0xaa, 0x0, 0x71, 0x3, 0xdf, 0x0, 0xba, 0x4, 0x2b, 0x0, 0x6f, 0x3, 0xb9, 0x0, 0x37, 0x5, 0xea, 0x0, 0xb1, 0x4, 0xdc, 0x0, 0x3d, 0x7, 0x48, 0x0, 0x56, 0x5, 0x68, 0x0, 0x4c, 0x4, 0xff, 0x0, 0x3d, 0x4, 0xb8, 0x0, 0x58, 0x5, 0x79, 0x0, 0x10, 0x5, 0x7d, 0x0, 0xc9, 0x5, 0x96, 0x0, 0x73, 0x6, 0x29, 0x0, 0xc9, 0x5, 0xe, 0x0, 0xc9, 0x4, 0x9a, 0x0, 0xc9, 0x6, 0x33, 0x0, 0x73, 0x6, 0x4, 0x0, 0xc9, 0x3, 0x8c, 0x0, 0x97, 0x2, 0x5c, 0xff, 0x96, 0x5, 0x3f, 0x0, 0xc9, 0x4, 0x75, 0x0, 0xc9, 0x6, 0xe7, 0x0, 0xc9, 0x5, 0xfc, 0x0, 0xc9, 0x6, 0x4c, 0x0, 0x73, 0x4, 0xd3, 0x0, 0xc9, 0x6, 0x4c, 0x0, 0x73, 0x5, 0x8f, 0x0, 0xc9, 0x5, 0x14, 0x0, 0x87, 0x4, 0xe3, 0xff, 0xfa, 0x5, 0xdb, 0x0, 0xb2, 0x5, 0x79, 0x0, 0x10, 0x7, 0xe9, 0x0, 0x44, 0x5, 0x7b, 0x0, 0x3d, 0x4, 0xe3, 0xff, 0xfc, 0x5, 0x7b, 0x0, 0x5c, 0x4, 0xe7, 0x0, 0x7b, 0x5, 0x14, 0x0, 0xba, 0x4, 0x66, 0x0, 0x71, 0x5, 0x14, 0x0, 0x71, 0x4, 0xec, 0x0, 0x71, 0x2, 0xd1, 0x0, 0x2f, 0x5, 0x14, 0x0, 0x71, 0x5, 0x12, 0x0, 0xba, 0x2, 0x39, 0x0, 0xc1, 0x2, 0x39, 0xff, 0xdb, 0x4, 0xa2, 0x0, 0xba, 0x2, 0x39, 0x0, 0xc1, 0x7, 0xcb, 0x0, 0xba, 0x5, 0x12, 0x0, 0xba, 0x4, 0xe5, 0x0, 0x71, 0x5, 0x14, 0x0, 0xba, 0x5, 0x14, 0x0, 0x71, 0x3, 0x4a, 0x0, 0xba, 0x4, 0x2b, 0x0, 0x6f, 0x3, 0x23, 0x0, 0x37, 0x5, 0x12, 0x0, 0xae, 0x4, 0xbc, 0x0, 0x3d, 0x6, 0x8b, 0x0, 0x56, 0x4, 0xbc, 0x0, 0x3b, 0x4, 0xbc, 0x0, 0x3d, 0x4, 0x33, 0x0, 0x58, 0x5, 0x17, 0x0, 0x88, 0x5, 0x17, 0x0, 0x6b, 0x5, 0x17, 0x0, 0x82, 0x5, 0x17, 0x0, 0x9c, 0x5, 0x17, 0x0, 0x5a, 0x5, 0x17, 0x0, 0x94, 0x5, 0x17, 0x0, 0x71, 0x5, 0x17, 0x0, 0x41, 0x5, 0x17, 0x0, 0x8b, 0x5, 0x14, 0x0, 0x6a, 0x5, 0x17, 0x0, 0x87, 0x5, 0x17, 0x0, 0xe1, 0x5, 0x17, 0x0, 0x96, 0x5, 0x17, 0x0, 0x9c, 0x5, 0x17, 0x0, 0x64, 0x5, 0x17, 0x0, 0x9e, 0x5, 0x17, 0x0, 0x8f, 0x5, 0x17, 0x0, 0xa8, 0x5, 0x17, 0x0, 0x8b, 0x5, 0x17, 0x0, 0x81, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0xa, 0xe9, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x6, 0x85, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x40, 0x0, 0xd9, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x2f, 0x0, 0xc8, 0x8, 0x58, 0x0, 0x99, 0x9, 0x78, 0x0, 0x4b, 0x8, 0x57, 0x0, 0x3d, 0x9, 0x40, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x9, 0x59, 0x0, 0x5f, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0x8f, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x9, 0x59, 0x0, 0x5f, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0x23, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0xc, 0xd5, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0xaa, 0x8, 0x57, 0x0, 0x3a, 0x9, 0x59, 0x0, 0x60, 0x8, 0x57, 0x0, 0x3a, 0x8, 0x57, 0x0, 0x3d, 0x8, 0x57, 0x0, 0x3d, 0x8, 0x57, 0x0, 0x3d, 0x8, 0x57, 0x0, 0x3d, 0x8, 0x57, 0x0, 0x3d, 0x8, 0x57, 0x0, 0x3d, 0x0, 0x0, 0xff, 0xb9, 0x0, 0x0, 0xfc, 0xd7, 0x0, 0x0, 0xfd, 0x73, 0x0, 0x0, 0xfc, 0xb6, 0x0, 0x0, 0xfd, 0xc, 0x0, 0x0, 0xfc, 0xcf, 0x0, 0x0, 0xfc, 0xcf, 0x0, 0x0, 0xfc, 0xc7, 0x0, 0x0, 0xfc, 0xc7, 0x0, 0x0, 0xfd, 0x9a, 0x0, 0x0, 0xfc, 0xe6, 0x0, 0x0, 0xfc, 0x4e, 0x0, 0x96, 0x0, 0x0, 0x1, 0x90, 0x0, 0x0, 0x1, 0x90, 0x0, 0x0, 0x1, 0x90, 0x0, 0x0, 0x0, 0x96, 0x0, 0x0, 0x1, 0x90, 0x0, 0x0, 0x7, 0xdb, 0x0, 0x82, 0x2, 0x3a, 0xff, 0xec, 0x2, 0x6a, 0xff, 0xec, 0x8, 0x48, 0x0, 0x82, 0x3, 0xd3, 0xff, 0xec, 0x4, 0xc, 0xff, 0xec, 0x6, 0xac, 0x0, 0x6b, 0x3, 0xd3, 0xff, 0xec, 0x4, 0xc, 0xff, 0xec, 0x2, 0x3a, 0xff, 0xec, 0x2, 0x6a, 0xff, 0xec, 0x1, 0xb6, 0x0, 0x0, 0x7, 0xdb, 0x0, 0x82, 0x2, 0x3a, 0xff, 0xec, 0x2, 0x6a, 0xff, 0xec, 0x7, 0xdb, 0x0, 0x82, 0x2, 0x3a, 0xff, 0xec, 0x2, 0x6a, 0xff, 0xec, 0x5, 0x2a, 0x0, 0x9d, 0x4, 0xf2, 0xff, 0xec, 0x5, 0x2a, 0xff, 0xec, 0x5, 0x2a, 0x0, 0x9d, 0x4, 0xf2, 0xff, 0xec, 0x5, 0x2a, 0xff, 0xec, 0x5, 0x2a, 0x0, 0x9d, 0x4, 0xf2, 0xff, 0xec, 0x5, 0x2a, 0xff, 0xec, 0x5, 0x2a, 0x0, 0x9d, 0x4, 0xf2, 0xff, 0xec, 0x5, 0x2a, 0xff, 0xec, 0x3, 0x5f, 0x0, 0x0, 0x5, 0xfc, 0x0, 0xd5, 0x2, 0x39, 0x0, 0xf, 0x2, 0xee, 0xfe, 0xf2, 0x5, 0x78, 0x1, 0x92, 0x5, 0x78, 0x1, 0x92, 0x5, 0x78, 0x1, 0x92, 0x5, 0x78, 0x1, 0x93, 0x5, 0x78, 0x1, 0x93, 0x5, 0x78, 0x1, 0x92, 0x5, 0x78, 0x1, 0x92, 0x5, 0x78, 0x1, 0x76, 0x5, 0x78, 0x1, 0x8b, 0x5, 0x78, 0x1, 0x76, 0x5, 0x78, 0x1, 0x8b, 0x5, 0x78, 0x1, 0x76, 0x5, 0x78, 0x1, 0x8b, 0x5, 0x78, 0x1, 0x8b, 0x5, 0x78, 0x1, 0x76, 0x5, 0x78, 0x1, 0x76, 0x5, 0x78, 0x1, 0x83, 0x5, 0x78, 0x1, 0x83, 0x5, 0x78, 0x1, 0x83, 0x5, 0x78, 0x1, 0x8b, 0x0, 0x0, 0xfc, 0x9a, 0x1, 0x2c, 0x0, 0x0, 0x4, 0x18, 0x0, 0x0, 0x4, 0xe2, 0xff, 0xab, 0x4, 0xe2, 0xff, 0xab, 0x6, 0xf, 0x0, 0x90, 0x2, 0x70, 0xff, 0xec, 0x2, 0xa6, 0xff, 0xec, 0x6, 0xab, 0x0, 0x82, 0x2, 0x3a, 0xff, 0xec, 0x2, 0x6a, 0xff, 0xec, 0x4, 0x6a, 0xff, 0xab, 0x2, 0x39, 0x0, 0xc1, 0x4, 0x4a, 0x0, 0x91, 0x5, 0x96, 0x0, 0x71, 0x4, 0xe2, 0x0, 0x71, 0x2, 0x39, 0x0, 0x96, 0x2, 0xcf, 0x0, 0x4f, 0x2, 0xcf, 0xff, 0x16, 0x2, 0x39, 0xff, 0xd3, 0x2, 0x39, 0x0, 0xbf, 0x2, 0xb2, 0x0, 0xf0, 0x3, 0x8c, 0x0, 0x97, 0x6, 0xb4, 0x1, 0xad, 0x0, 0x0, 0x0, 0xc8, 0x0, 0x0, 0x0, 0xc8, 0x0, 0x0, 0x0, 0xc8, 0x0, 0x0, 0x0, 0xc8, 0x0, 0x0, 0x0, 0xc8, 0x0, 0x0, 0x0, 0xc8, 0x0, 0x0, 0x0, 0xdc, 0x0, 0x0, 0x0, 0xdc, 0x2, 0x3a, 0x0, 0xc1, 0x2, 0x3a, 0xff, 0xec, 0x2, 0x3a, 0xff, 0xec, 0x4, 0x92, 0x0, 0x71, 0x4, 0x92, 0xff, 0xec, 0x4, 0x92, 0xff, 0xec, 0x3, 0x64, 0x0, 0x3d, 0x3, 0x64, 0xff, 0xec, 0x3, 0x64, 0xff, 0xec, 0x4, 0xbc, 0x0, 0x3d, 0x4, 0xbc, 0xff, 0xec, 0x4, 0xbc, 0xff, 0xec, 0x5, 0x3b, 0x0, 0xba, 0x5, 0x3b, 0xff, 0xec, 0x5, 0x3b, 0xff, 0xec, 0x5, 0x3b, 0x0, 0xba, 0x5, 0x3b, 0xff, 0xec, 0x5, 0x3b, 0xff, 0xec, 0x4, 0xc0, 0x0, 0x71, 0x4, 0xc0, 0xff, 0xec, 0x4, 0xc0, 0xff, 0xec, 0x5, 0x3b, 0x0, 0xba, 0x5, 0x3b, 0xff, 0xec, 0x5, 0x3b, 0xff, 0xec, 0x6, 0xa1, 0x0, 0x71, 0x6, 0xa1, 0xff, 0xec, 0x6, 0xa1, 0xff, 0xec, 0x3, 0x81, 0x0, 0xc1, 0x3, 0x81, 0xff, 0xec, 0x3, 0x81, 0xff, 0xec, 0x3, 0x81, 0x0, 0x3d, 0x3, 0x81, 0xff, 0xec, 0x3, 0x81, 0xff, 0xec, 0x4, 0x78, 0x0, 0xba, 0x4, 0x78, 0xff, 0xec, 0x4, 0x78, 0xff, 0xec, 0x4, 0xe5, 0x0, 0xc1, 0x4, 0xe5, 0xff, 0xec, 0x4, 0xe5, 0xff, 0xec, 0x2, 0xcd, 0x0, 0x3d, 0x2, 0xcd, 0xff, 0xec, 0x2, 0xcd, 0xff, 0xec, 0x7, 0xac, 0x0, 0xc1, 0x7, 0xac, 0xff, 0xec, 0x7, 0xac, 0xff, 0xec, 0x3, 0xc8, 0x0, 0x3d, 0x3, 0xc8, 0xff, 0xec, 0x3, 0xc8, 0xff, 0xec, 0x6, 0x44, 0x0, 0x3d, 0x6, 0x44, 0xff, 0xec, 0x6, 0x44, 0xff, 0xec, 0x5, 0x3b, 0x0, 0xba, 0x5, 0x3b, 0xff, 0xec, 0x5, 0x3b, 0xff, 0xec, 0x5, 0x0, 0x0, 0x3d, 0x5, 0x0, 0xff, 0xec, 0x5, 0x0, 0xff, 0xec, 0x5, 0xdf, 0x0, 0xc1, 0x5, 0xdf, 0xff, 0xec, 0x5, 0xdf, 0xff, 0xec, 0x4, 0x3d, 0x0, 0xc1, 0x4, 0x3d, 0xff, 0xec, 0x4, 0x3d, 0xff, 0xec, 0x5, 0xcb, 0x0, 0x70, 0x5, 0xcb, 0xff, 0xec, 0x5, 0xcb, 0xff, 0xec, 0x3, 0xc8, 0x0, 0x3d, 0x3, 0xc8, 0xff, 0xec, 0x3, 0xc8, 0xff, 0xec, 0x5, 0x0, 0x0, 0x3d, 0x5, 0x0, 0xff, 0xec, 0x5, 0x0, 0xff, 0xec, 0x4, 0xc0, 0x0, 0x71, 0x4, 0xc0, 0xff, 0xec, 0x4, 0xc0, 0xff, 0xec, 0x4, 0x3d, 0x0, 0xc1, 0x4, 0x3d, 0xff, 0xec, 0x4, 0x3d, 0xff, 0xec, 0x4, 0x3d, 0x0, 0xc1, 0x4, 0x3d, 0xff, 0xec, 0x4, 0x3d, 0xff, 0xec, 0x4, 0x2e, 0x0, 0xc1, 0x4, 0x2e, 0xff, 0xec, 0x4, 0x2e, 0xff, 0xec, 0x4, 0xc0, 0x0, 0x71, 0x4, 0xc0, 0xff, 0xec, 0x4, 0xc0, 0xff, 0xec, 0x4, 0xc0, 0x0, 0x71, 0x4, 0xc0, 0xff, 0xec, 0x4, 0xc0, 0xff, 0xec, 0x0, 0x0, 0xfc, 0xec, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x7, 0x2c, 0x0, 0xaa, 0x6, 0xb3, 0x1, 0x97, 0x6, 0x2e, 0x0, 0xc9, 0x5, 0x6a, 0x0, 0xc1, 0x5, 0x12, 0x0, 0xae, 0x4, 0x33, 0x0, 0x7d, 0x4, 0x33, 0x0, 0x7d, 0x4, 0x33, 0x0, 0x7d, 0x4, 0x33, 0x0, 0x7d, 0x4, 0x33, 0x0, 0x7d, 0x4, 0x6a, 0xff, 0xab, 0x4, 0x6a, 0xff, 0xab, 0x4, 0x6a, 0xff, 0xab, 0x4, 0x6a, 0xff, 0xab, 0x4, 0x6a, 0xff, 0xab, 0xa, 0x33, 0x0, 0x82, 0x6, 0xb4, 0xff, 0xec, 0x7, 0x23, 0xff, 0xec, 0xa, 0x33, 0x0, 0x82, 0x6, 0xb4, 0xff, 0xec, 0x7, 0x23, 0xff, 0xec, 0xa, 0x33, 0x0, 0x82, 0x6, 0xb4, 0xff, 0xec, 0x7, 0x23, 0xff, 0xec, 0x9, 0xcd, 0x0, 0x82, 0x6, 0xcb, 0xff, 0xec, 0x6, 0xf0, 0xff, 0xec, 0x9, 0xcd, 0x0, 0x82, 0x6, 0xcb, 0xff, 0xec, 0x6, 0xf0, 0xff, 0xec, 0x7, 0x98, 0x0, 0x90, 0x6, 0x5e, 0xff, 0xec, 0x6, 0x90, 0xff, 0xec, 0x4, 0x42, 0x0, 0x75, 0x4, 0xc6, 0xff, 0xec, 0x3, 0xdc, 0xff, 0xec, 0x8, 0x48, 0x0, 0x82, 0x3, 0xd3, 0xff, 0xec, 0x4, 0xc, 0xff, 0xec, 0x8, 0x48, 0x0, 0x82, 0x3, 0xd3, 0xff, 0xec, 0x4, 0xc, 0xff, 0xec, 0x8, 0x48, 0x0, 0x82, 0x3, 0xd3, 0xff, 0xec, 0x4, 0xc, 0xff, 0xec, 0x6, 0xac, 0x0, 0x6b, 0x3, 0xd3, 0xff, 0xec, 0x4, 0xc, 0xff, 0xec, 0x6, 0xac, 0x0, 0x6b, 0x3, 0xd3, 0xff, 0xec, 0x4, 0xc, 0xff, 0xec, 0x8, 0x6e, 0x0, 0x82, 0x6, 0xf2, 0xff, 0xec, 0x6, 0xf2, 0xff, 0xec, 0x7, 0x29, 0x0, 0x82, 0x3, 0xcf, 0xff, 0xec, 0x4, 0x6b, 0xff, 0xec, 0x6, 0xbe, 0x0, 0x90, 0x3, 0xcf, 0xff, 0xec, 0x4, 0x6b, 0xff, 0xec, 0x6, 0xbe, 0x0, 0x90, 0x3, 0xcf, 0xff, 0xec, 0x4, 0x6b, 0xff, 0xec, 0x7, 0x29, 0x0, 0x82, 0x3, 0xcf, 0xff, 0xec, 0x4, 0x6b, 0xff, 0xec, 0x7, 0x29, 0x0, 0x82, 0x3, 0xcf, 0xff, 0xec, 0x4, 0x6b, 0xff, 0xec, 0x7, 0x29, 0x0, 0x82, 0x3, 0xcf, 0xff, 0xec, 0x4, 0x6b, 0xff, 0xec, 0x6, 0xf, 0x0, 0x90, 0x2, 0x70, 0xff, 0xec, 0x2, 0xa6, 0xff, 0xec, 0x6, 0xf, 0x0, 0x90, 0x2, 0x70, 0xff, 0xec, 0x2, 0xa6, 0xff, 0xec, 0x6, 0xf, 0x0, 0x90, 0x2, 0x70, 0xff, 0xec, 0x2, 0xa6, 0xff, 0xec, 0x6, 0x17, 0x0, 0x93, 0x2, 0x3a, 0xff, 0xec, 0x2, 0x6a, 0xff, 0xec, 0x6, 0x17, 0x0, 0x93, 0x2, 0x3a, 0xff, 0xec, 0x2, 0x6a, 0xff, 0xec, 0x6, 0x17, 0x0, 0x93, 0x2, 0x3a, 0xff, 0xec, 0x2, 0x6a, 0xff, 0xec, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3f, 0xf8, 0x0, 0x1, 0xa, 0xa7, 0x30, 0x0, 0x0, 0xb, 0xf, 0xea, 0x0, 0x10, 0x0, 0x24, 0xff, 0xd3, 0x0, 0x10, 0x0, 0x25, 0xff, 0xb7, 0x0, 0x10, 0x0, 0x2a, 0x0, 0x4b, 0x0, 0x10, 0x0, 0x2d, 0x0, 0x72, 0x0, 0x10, 0x0, 0x32, 0x0, 0x39, 0x0, 0x10, 0x0, 0x34, 0x0, 0x4b, 0x0, 0x10, 0x0, 0x37, 0xff, 0x44, 0x0, 0x10, 0x0, 0x39, 0xff, 0x88, 0x0, 0x10, 0x0, 0x3a, 0xff, 0xad, 0x0, 0x10, 0x0, 0x3b, 0xff, 0x9a, 0x0, 0x10, 0x0, 0x3c, 0xff, 0xd, 0x0, 0x10, 0x0, 0x52, 0x0, 0x26, 0x0, 0x10, 0x0, 0x59, 0xff, 0xc9, 0x0, 0x10, 0x0, 0x5c, 0xff, 0xdc, 0x0, 0x10, 0x0, 0x82, 0xff, 0xd3, 0x0, 0x10, 0x0, 0x83, 0xff, 0xd3, 0x0, 0x10, 0x0, 0x84, 0xff, 0xd3, 0x0, 0x10, 0x0, 0x85, 0xff, 0xd3, 0x0, 0x10, 0x0, 0x86, 0xff, 0xd3, 0x0, 0x10, 0x0, 0x94, 0x0, 0x39, 0x0, 0x10, 0x0, 0x95, 0x0, 0x39, 0x0, 0x10, 0x0, 0x96, 0x0, 0x39, 0x0, 0x10, 0x0, 0x97, 0x0, 0x39, 0x0, 0x10, 0x0, 0x98, 0x0, 0x39, 0x0, 0x10, 0x0, 0x9f, 0xff, 0xd, 0x0, 0x10, 0x0, 0xb4, 0x0, 0x26, 0x0, 0x10, 0x0, 0xb5, 0x0, 0x26, 0x0, 0x10, 0x0, 0xb6, 0x0, 0x26, 0x0, 0x10, 0x0, 0xb7, 0x0, 0x26, 0x0, 0x10, 0x0, 0xb8, 0x0, 0x26, 0x0, 0x10, 0x0, 0xbf, 0xff, 0xdc, 0x0, 0x10, 0x0, 0xc1, 0xff, 0xdc, 0x0, 0x10, 0x0, 0xc2, 0xff, 0xd3, 0x0, 0x10, 0x0, 0xc4, 0xff, 0xd3, 0x0, 0x10, 0x0, 0xc6, 0xff, 0xd3, 0x0, 0x10, 0x0, 0xe0, 0x0, 0x4b, 0x0, 0x10, 0x1, 0x26, 0xff, 0x44, 0x0, 0x10, 0x1, 0x3a, 0xff, 0xd, 0x0, 0x24, 0x0, 0x10, 0xff, 0xd3, 0x0, 0x24, 0x0, 0x11, 0xff, 0xdc, 0x0, 0x24, 0x0, 0x1d, 0xff, 0xdc, 0x0, 0x24, 0x0, 0x24, 0x0, 0x39, 0x0, 0x24, 0x0, 0x26, 0xff, 0xdc, 0x0, 0x24, 0x0, 0x2a, 0xff, 0xdc, 0x0, 0x24, 0x0, 0x32, 0xff, 0xdc, 0x0, 0x24, 0x0, 0x34, 0xff, 0xdc, 0x0, 0x24, 0x0, 0x37, 0xff, 0x61, 0x0, 0x24, 0x0, 0x39, 0xff, 0x7d, 0x0, 0x24, 0x0, 0x3a, 0xff, 0x90, 0x0, 0x24, 0x0, 0x3c, 0xff, 0x61, 0x0, 0x24, 0x0, 0x46, 0xff, 0xdc, 0x0, 0x24, 0x0, 0x47, 0xff, 0xdc, 0x0, 0x24, 0x0, 0x48, 0xff, 0xdc, 0x0, 0x24, 0x0, 0x49, 0xff, 0xb7, 0x0, 0x24, 0x0, 0x52, 0xff, 0xdc, 0x0, 0x24, 0x0, 0x54, 0xff, 0xdc, 0x0, 0x24, 0x0, 0x57, 0xff, 0xdc, 0x0, 0x24, 0x0, 0x59, 0xff, 0x88, 0x0, 0x24, 0x0, 0x5a, 0xff, 0xad, 0x0, 0x24, 0x0, 0x5c, 0xff, 0x75, 0x0, 0x24, 0x0, 0x6d, 0xff, 0xb7, 0x0, 0x24, 0x0, 0x82, 0x0, 0x39, 0x0, 0x24, 0x0, 0x83, 0x0, 0x39, 0x0, 0x24, 0x0, 0x84, 0x0, 0x39, 0x0, 0x24, 0x0, 0x85, 0x0, 0x39, 0x0, 0x24, 0x0, 0x86, 0x0, 0x39, 0x0, 0x24, 0x0, 0x89, 0xff, 0xdc, 0x0, 0x24, 0x0, 0x94, 0xff, 0xdc, 0x0, 0x24, 0x0, 0x95, 0xff, 0xdc, 0x0, 0x24, 0x0, 0x96, 0xff, 0xdc, 0x0, 0x24, 0x0, 0x97, 0xff, 0xdc, 0x0, 0x24, 0x0, 0x98, 0xff, 0xdc, 0x0, 0x24, 0x0, 0x9f, 0xff, 0x61, 0x0, 0x24, 0x0, 0xa9, 0xff, 0xdc, 0x0, 0x24, 0x0, 0xaa, 0xff, 0xdc, 0x0, 0x24, 0x0, 0xab, 0xff, 0xdc, 0x0, 0x24, 0x0, 0xac, 0xff, 0xdc, 0x0, 0x24, 0x0, 0xad, 0xff, 0xdc, 0x0, 0x24, 0x0, 0xb4, 0xff, 0xdc, 0x0, 0x24, 0x0, 0xb5, 0xff, 0xdc, 0x0, 0x24, 0x0, 0xb6, 0xff, 0xdc, 0x0, 0x24, 0x0, 0xb7, 0xff, 0xdc, 0x0, 0x24, 0x0, 0xb8, 0xff, 0xdc, 0x0, 0x24, 0x0, 0xbf, 0xff, 0x75, 0x0, 0x24, 0x0, 0xc1, 0xff, 0x75, 0x0, 0x24, 0x0, 0xc2, 0x0, 0x39, 0x0, 0x24, 0x0, 0xc4, 0x0, 0x39, 0x0, 0x24, 0x0, 0xc6, 0x0, 0x39, 0x0, 0x24, 0x0, 0xc8, 0xff, 0xdc, 0x0, 0x24, 0x0, 0xc9, 0xff, 0xdc, 0x0, 0x24, 0x0, 0xca, 0xff, 0xdc, 0x0, 0x24, 0x0, 0xcb, 0xff, 0xdc, 0x0, 0x24, 0x0, 0xcc, 0xff, 0xdc, 0x0, 0x24, 0x0, 0xcd, 0xff, 0xdc, 0x0, 0x24, 0x0, 0xce, 0xff, 0xdc, 0x0, 0x24, 0x0, 0xcf, 0xff, 0xdc, 0x0, 0x24, 0x0, 0xd1, 0xff, 0xdc, 0x0, 0x24, 0x0, 0xd3, 0xff, 0xdc, 0x0, 0x24, 0x0, 0xd5, 0xff, 0xdc, 0x0, 0x24, 0x0, 0xd7, 0xff, 0xdc, 0x0, 0x24, 0x0, 0xd9, 0xff, 0xdc, 0x0, 0x24, 0x0, 0xdb, 0xff, 0xdc, 0x0, 0x24, 0x0, 0xdd, 0xff, 0xdc, 0x0, 0x24, 0x0, 0xde, 0xff, 0xdc, 0x0, 0x24, 0x0, 0xe0, 0xff, 0xdc, 0x0, 0x24, 0x0, 0xe2, 0xff, 0xdc, 0x0, 0x24, 0x1, 0xe, 0xff, 0xdc, 0x0, 0x24, 0x1, 0xf, 0xff, 0xdc, 0x0, 0x24, 0x1, 0x10, 0xff, 0xdc, 0x0, 0x24, 0x1, 0x11, 0xff, 0xdc, 0x0, 0x24, 0x1, 0x12, 0xff, 0xdc, 0x0, 0x24, 0x1, 0x13, 0xff, 0xdc, 0x0, 0x24, 0x1, 0x24, 0xff, 0x61, 0x0, 0x24, 0x1, 0x25, 0xff, 0xdc, 0x0, 0x24, 0x1, 0x26, 0xff, 0x61, 0x0, 0x24, 0x1, 0x27, 0xff, 0xdc, 0x0, 0x24, 0x1, 0x36, 0xff, 0x90, 0x0, 0x24, 0x1, 0x37, 0xff, 0xad, 0x0, 0x24, 0x1, 0x38, 0xff, 0x61, 0x0, 0x24, 0x1, 0x39, 0xff, 0x75, 0x0, 0x24, 0x1, 0x3a, 0xff, 0x61, 0x0, 0x24, 0x1, 0x88, 0xff, 0xdc, 0x0, 0x24, 0x1, 0xac, 0xff, 0xdc, 0x0, 0x24, 0x1, 0xad, 0xff, 0xdc, 0x0, 0x24, 0x1, 0xae, 0xff, 0xdc, 0x0, 0x24, 0x1, 0xaf, 0xff, 0xdc, 0x0, 0x24, 0x1, 0xdc, 0xff, 0x61, 0x0, 0x24, 0x1, 0xdd, 0xff, 0xdc, 0x0, 0x24, 0x1, 0xf0, 0xff, 0xdc, 0x0, 0x24, 0x1, 0xf3, 0xff, 0xdc, 0x0, 0x24, 0x1, 0xf4, 0xff, 0x61, 0x0, 0x24, 0x1, 0xf5, 0xff, 0x75, 0x0, 0x24, 0x9, 0x79, 0xff, 0x90, 0x0, 0x24, 0x9, 0x7a, 0xff, 0xad, 0x0, 0x24, 0x9, 0x7b, 0xff, 0x90, 0x0, 0x24, 0x9, 0x7c, 0xff, 0xad, 0x0, 0x24, 0x9, 0x7d, 0xff, 0x90, 0x0, 0x24, 0x9, 0x7e, 0xff, 0xad, 0x0, 0x24, 0x9, 0xeb, 0xff, 0x61, 0x0, 0x24, 0x9, 0xec, 0xff, 0x75, 0x0, 0x24, 0xa, 0xfa, 0xfe, 0xf8, 0x0, 0x24, 0xa, 0xfb, 0xff, 0x3, 0x0, 0x24, 0xa, 0xfc, 0x0, 0x2f, 0x0, 0x25, 0x0, 0x26, 0xff, 0xdc, 0x0, 0x25, 0x0, 0x2a, 0xff, 0xdc, 0x0, 0x25, 0x0, 0x32, 0xff, 0xdc, 0x0, 0x25, 0x0, 0x36, 0xff, 0xdc, 0x0, 0x25, 0x0, 0x39, 0xff, 0xc1, 0x0, 0x25, 0x0, 0x3a, 0xff, 0xb7, 0x0, 0x25, 0x0, 0x3c, 0xff, 0x90, 0x0, 0x25, 0x0, 0x6d, 0xff, 0xc1, 0x0, 0x25, 0x0, 0x7d, 0xff, 0xdc, 0x0, 0x25, 0x0, 0x89, 0xff, 0xdc, 0x0, 0x25, 0x0, 0x94, 0xff, 0xdc, 0x0, 0x25, 0x0, 0x95, 0xff, 0xdc, 0x0, 0x25, 0x0, 0x96, 0xff, 0xdc, 0x0, 0x25, 0x0, 0x97, 0xff, 0xdc, 0x0, 0x25, 0x0, 0x98, 0xff, 0xdc, 0x0, 0x25, 0x0, 0x9f, 0xff, 0x90, 0x0, 0x25, 0x0, 0xc8, 0xff, 0xdc, 0x0, 0x25, 0x0, 0xca, 0xff, 0xdc, 0x0, 0x25, 0x0, 0xcc, 0xff, 0xdc, 0x0, 0x25, 0x0, 0xce, 0xff, 0xdc, 0x0, 0x25, 0x0, 0xde, 0xff, 0xdc, 0x0, 0x25, 0x0, 0xe0, 0xff, 0xdc, 0x0, 0x25, 0x0, 0xe2, 0xff, 0xdc, 0x0, 0x25, 0x0, 0xe4, 0xff, 0xdc, 0x0, 0x25, 0x1, 0xe, 0xff, 0xdc, 0x0, 0x25, 0x1, 0x10, 0xff, 0xdc, 0x0, 0x25, 0x1, 0x12, 0xff, 0xdc, 0x0, 0x25, 0x1, 0x1c, 0xff, 0xdc, 0x0, 0x25, 0x1, 0x1e, 0xff, 0xdc, 0x0, 0x25, 0x1, 0x20, 0xff, 0xdc, 0x0, 0x25, 0x1, 0x22, 0xff, 0xdc, 0x0, 0x25, 0x1, 0x36, 0xff, 0xb7, 0x0, 0x25, 0x1, 0x38, 0xff, 0x90, 0x0, 0x25, 0x1, 0x3a, 0xff, 0x90, 0x0, 0x25, 0x1, 0xac, 0xff, 0xdc, 0x0, 0x25, 0x1, 0xae, 0xff, 0xdc, 0x0, 0x25, 0x1, 0xda, 0xff, 0xdc, 0x0, 0x25, 0x1, 0xf0, 0xff, 0xdc, 0x0, 0x25, 0x9, 0x79, 0xff, 0xb7, 0x0, 0x25, 0x9, 0x7b, 0xff, 0xb7, 0x0, 0x25, 0x9, 0x7d, 0xff, 0xb7, 0x0, 0x25, 0x9, 0xeb, 0xff, 0x90, 0x0, 0x25, 0xa, 0xfa, 0xff, 0x90, 0x0, 0x25, 0xa, 0xfb, 0xff, 0x90, 0x0, 0x25, 0xa, 0xfc, 0xff, 0xad, 0x0, 0x26, 0x0, 0x3c, 0xff, 0xdc, 0x0, 0x26, 0x0, 0x6d, 0xff, 0xdc, 0x0, 0x26, 0x0, 0x7d, 0xff, 0xdc, 0x0, 0x26, 0x0, 0x9f, 0xff, 0xdc, 0x0, 0x26, 0x1, 0x38, 0xff, 0xdc, 0x0, 0x26, 0x1, 0x3a, 0xff, 0xdc, 0x0, 0x26, 0x1, 0xf4, 0xff, 0xdc, 0x0, 0x26, 0x9, 0xeb, 0xff, 0xdc, 0x0, 0x26, 0xa, 0xfb, 0x0, 0x26, 0x0, 0x27, 0x0, 0x24, 0xff, 0xdc, 0x0, 0x27, 0x0, 0x39, 0xff, 0xdc, 0x0, 0x27, 0x0, 0x3c, 0xff, 0x90, 0x0, 0x27, 0x0, 0x6d, 0xff, 0xdc, 0x0, 0x27, 0x0, 0x7d, 0xff, 0xdc, 0x0, 0x27, 0x0, 0x82, 0xff, 0xdc, 0x0, 0x27, 0x0, 0x83, 0xff, 0xdc, 0x0, 0x27, 0x0, 0x84, 0xff, 0xdc, 0x0, 0x27, 0x0, 0x85, 0xff, 0xdc, 0x0, 0x27, 0x0, 0x86, 0xff, 0xdc, 0x0, 0x27, 0x0, 0x9f, 0xff, 0x90, 0x0, 0x27, 0x0, 0xc2, 0xff, 0xdc, 0x0, 0x27, 0x0, 0xc4, 0xff, 0xdc, 0x0, 0x27, 0x0, 0xc6, 0xff, 0xdc, 0x0, 0x27, 0x1, 0x38, 0xff, 0x90, 0x0, 0x27, 0x1, 0x3a, 0xff, 0x90, 0x0, 0x27, 0x1, 0xf4, 0xff, 0x90, 0x0, 0x27, 0x9, 0xeb, 0xff, 0x90, 0x0, 0x27, 0xa, 0xfa, 0xff, 0xd3, 0x0, 0x27, 0xa, 0xfb, 0xff, 0xc9, 0x0, 0x27, 0xa, 0xfc, 0xff, 0x44, 0x0, 0x29, 0x0, 0x11, 0xfe, 0xb7, 0x0, 0x29, 0x0, 0x1d, 0xff, 0x61, 0x0, 0x29, 0x0, 0x24, 0xff, 0x44, 0x0, 0x29, 0x0, 0x36, 0xff, 0xdc, 0x0, 0x29, 0x0, 0x37, 0xff, 0xdc, 0x0, 0x29, 0x0, 0x44, 0xff, 0x44, 0x0, 0x29, 0x0, 0x48, 0xff, 0x90, 0x0, 0x29, 0x0, 0x4c, 0xff, 0x6b, 0x0, 0x29, 0x0, 0x52, 0xff, 0xb7, 0x0, 0x29, 0x0, 0x55, 0xff, 0x6b, 0x0, 0x29, 0x0, 0x58, 0xff, 0x90, 0x0, 0x29, 0x0, 0x5c, 0xff, 0x44, 0x0, 0x29, 0x0, 0x82, 0xff, 0x44, 0x0, 0x29, 0x0, 0x83, 0xff, 0x44, 0x0, 0x29, 0x0, 0x84, 0xff, 0x44, 0x0, 0x29, 0x0, 0x85, 0xff, 0x44, 0x0, 0x29, 0x0, 0x86, 0xff, 0x44, 0x0, 0x29, 0x0, 0xa2, 0xff, 0x44, 0x0, 0x29, 0x0, 0xa3, 0xff, 0x44, 0x0, 0x29, 0x0, 0xa4, 0xff, 0x44, 0x0, 0x29, 0x0, 0xa5, 0xff, 0x44, 0x0, 0x29, 0x0, 0xa6, 0xff, 0x44, 0x0, 0x29, 0x0, 0xa7, 0xff, 0x44, 0x0, 0x29, 0x0, 0xaa, 0xff, 0x90, 0x0, 0x29, 0x0, 0xab, 0xff, 0x90, 0x0, 0x29, 0x0, 0xac, 0xff, 0x90, 0x0, 0x29, 0x0, 0xad, 0xff, 0x90, 0x0, 0x29, 0x0, 0xb4, 0xff, 0xb7, 0x0, 0x29, 0x0, 0xb5, 0xff, 0xb7, 0x0, 0x29, 0x0, 0xb6, 0xff, 0xb7, 0x0, 0x29, 0x0, 0xb7, 0xff, 0xb7, 0x0, 0x29, 0x0, 0xb8, 0xff, 0xb7, 0x0, 0x29, 0x0, 0xbb, 0xff, 0x90, 0x0, 0x29, 0x0, 0xbc, 0xff, 0x90, 0x0, 0x29, 0x0, 0xbd, 0xff, 0x90, 0x0, 0x29, 0x0, 0xbe, 0xff, 0x90, 0x0, 0x29, 0x0, 0xbf, 0xff, 0x44, 0x0, 0x29, 0x0, 0xc1, 0xff, 0x44, 0x0, 0x29, 0x0, 0xc2, 0xff, 0x44, 0x0, 0x29, 0x0, 0xc3, 0xff, 0x44, 0x0, 0x29, 0x0, 0xc4, 0xff, 0x44, 0x0, 0x29, 0x0, 0xc5, 0xff, 0x44, 0x0, 0x29, 0x0, 0xc6, 0xff, 0x44, 0x0, 0x29, 0x0, 0xc7, 0xff, 0x44, 0x0, 0x29, 0x0, 0xd5, 0xff, 0x90, 0x0, 0x29, 0x0, 0xd7, 0xff, 0x90, 0x0, 0x29, 0x0, 0xd9, 0xff, 0x90, 0x0, 0x29, 0x0, 0xdb, 0xff, 0x90, 0x0, 0x29, 0x0, 0xdd, 0xff, 0x90, 0x0, 0x29, 0x0, 0xf1, 0xff, 0x6b, 0x0, 0x29, 0x0, 0xf5, 0xff, 0x6b, 0x0, 0x29, 0x1, 0xf, 0xff, 0xb7, 0x0, 0x29, 0x1, 0x11, 0xff, 0xb7, 0x0, 0x29, 0x1, 0x13, 0xff, 0xb7, 0x0, 0x29, 0x1, 0x17, 0xff, 0x6b, 0x0, 0x29, 0x1, 0x19, 0xff, 0x6b, 0x0, 0x29, 0x1, 0x1b, 0xff, 0x6b, 0x0, 0x29, 0x1, 0x1c, 0xff, 0xdc, 0x0, 0x29, 0x1, 0x1e, 0xff, 0xdc, 0x0, 0x29, 0x1, 0x20, 0xff, 0xdc, 0x0, 0x29, 0x1, 0x22, 0xff, 0xdc, 0x0, 0x29, 0x1, 0x24, 0xff, 0xdc, 0x0, 0x29, 0x1, 0x26, 0xff, 0xdc, 0x0, 0x29, 0x1, 0x28, 0xff, 0xdc, 0x0, 0x29, 0x1, 0x2b, 0xff, 0x90, 0x0, 0x29, 0x1, 0x2d, 0xff, 0x90, 0x0, 0x29, 0x1, 0x2f, 0xff, 0x90, 0x0, 0x29, 0x1, 0x31, 0xff, 0x90, 0x0, 0x29, 0x1, 0x33, 0xff, 0x90, 0x0, 0x29, 0x1, 0x35, 0xff, 0x90, 0x0, 0x29, 0x1, 0x39, 0xff, 0x44, 0x0, 0x29, 0x1, 0xad, 0xff, 0xb7, 0x0, 0x29, 0x1, 0xaf, 0xff, 0xb7, 0x0, 0x29, 0x1, 0xda, 0xff, 0xdc, 0x0, 0x29, 0x1, 0xdc, 0xff, 0xdc, 0x0, 0x29, 0x1, 0xf1, 0xff, 0xb7, 0x0, 0x29, 0x1, 0xf5, 0xff, 0x44, 0x0, 0x29, 0x9, 0xec, 0xff, 0x44, 0x0, 0x29, 0xa, 0xfa, 0xff, 0xd3, 0x0, 0x29, 0xa, 0xfc, 0xfe, 0x88, 0x0, 0x2a, 0x0, 0x37, 0xff, 0xb7, 0x0, 0x2a, 0x0, 0x3c, 0xff, 0x9a, 0x0, 0x2a, 0x0, 0x6d, 0xff, 0xdc, 0x0, 0x2a, 0x0, 0x7d, 0xff, 0xdc, 0x0, 0x2a, 0x0, 0x9f, 0xff, 0x9a, 0x0, 0x2a, 0x1, 0x26, 0xff, 0xb7, 0x0, 0x2a, 0x1, 0x3a, 0xff, 0x9a, 0x0, 0x2a, 0xa, 0xfa, 0xff, 0xd3, 0x0, 0x2a, 0xa, 0xfb, 0xff, 0xd3, 0x0, 0x2a, 0xa, 0xfc, 0xff, 0xc9, 0x0, 0x2b, 0x0, 0x11, 0xff, 0xdc, 0x0, 0x2b, 0xa, 0xfa, 0xff, 0xb7, 0x0, 0x2b, 0xa, 0xfb, 0xff, 0xc1, 0x0, 0x2b, 0xa, 0xfc, 0xff, 0xb7, 0x0, 0x2d, 0x0, 0x10, 0xff, 0xb7, 0x0, 0x2d, 0x0, 0x24, 0xff, 0xdc, 0x0, 0x2d, 0x0, 0x6d, 0xff, 0xdc, 0x0, 0x2d, 0x0, 0x7d, 0xff, 0xdc, 0x0, 0x2d, 0x0, 0x82, 0xff, 0xdc, 0x0, 0x2d, 0x0, 0x83, 0xff, 0xdc, 0x0, 0x2d, 0x0, 0x84, 0xff, 0xdc, 0x0, 0x2d, 0x0, 0x85, 0xff, 0xdc, 0x0, 0x2d, 0x0, 0x86, 0xff, 0xdc, 0x0, 0x2d, 0xa, 0xfa, 0xff, 0xb7, 0x0, 0x2d, 0xa, 0xfb, 0xff, 0xc1, 0x0, 0x2d, 0xa, 0xfc, 0xff, 0x90, 0x0, 0x2e, 0x0, 0x10, 0xff, 0x29, 0x0, 0x2e, 0x0, 0x24, 0xff, 0xdc, 0x0, 0x2e, 0x0, 0x26, 0xff, 0x90, 0x0, 0x2e, 0x0, 0x32, 0xff, 0x90, 0x0, 0x2e, 0x0, 0x37, 0xff, 0x61, 0x0, 0x2e, 0x0, 0x38, 0xff, 0xc9, 0x0, 0x2e, 0x0, 0x3a, 0xff, 0xb7, 0x0, 0x2e, 0x0, 0x3c, 0xff, 0xb7, 0x0, 0x2e, 0x0, 0x44, 0xff, 0xdc, 0x0, 0x2e, 0x0, 0x48, 0xff, 0x9a, 0x0, 0x2e, 0x0, 0x52, 0xff, 0x9a, 0x0, 0x2e, 0x0, 0x58, 0xff, 0x9a, 0x0, 0x2e, 0x0, 0x5c, 0xff, 0x6b, 0x0, 0x2e, 0x0, 0x6d, 0xff, 0x7d, 0x0, 0x2e, 0x0, 0x82, 0xff, 0xdc, 0x0, 0x2e, 0x0, 0x83, 0xff, 0xdc, 0x0, 0x2e, 0x0, 0x84, 0xff, 0xdc, 0x0, 0x2e, 0x0, 0x85, 0xff, 0xdc, 0x0, 0x2e, 0x0, 0x86, 0xff, 0xdc, 0x0, 0x2e, 0x0, 0x89, 0xff, 0x90, 0x0, 0x2e, 0x0, 0x94, 0xff, 0x90, 0x0, 0x2e, 0x0, 0x95, 0xff, 0x90, 0x0, 0x2e, 0x0, 0x96, 0xff, 0x90, 0x0, 0x2e, 0x0, 0x97, 0xff, 0x90, 0x0, 0x2e, 0x0, 0x98, 0xff, 0x90, 0x0, 0x2e, 0x0, 0x9b, 0xff, 0xc9, 0x0, 0x2e, 0x0, 0x9c, 0xff, 0xc9, 0x0, 0x2e, 0x0, 0x9d, 0xff, 0xc9, 0x0, 0x2e, 0x0, 0x9e, 0xff, 0xc9, 0x0, 0x2e, 0x0, 0x9f, 0xff, 0xb7, 0x0, 0x2e, 0x0, 0xa2, 0xff, 0xdc, 0x0, 0x2e, 0x0, 0xa3, 0xff, 0xdc, 0x0, 0x2e, 0x0, 0xa4, 0xff, 0xdc, 0x0, 0x2e, 0x0, 0xa5, 0xff, 0xdc, 0x0, 0x2e, 0x0, 0xa6, 0xff, 0xdc, 0x0, 0x2e, 0x0, 0xa7, 0xff, 0xdc, 0x0, 0x2e, 0x0, 0xaa, 0xff, 0x9a, 0x0, 0x2e, 0x0, 0xab, 0xff, 0x9a, 0x0, 0x2e, 0x0, 0xac, 0xff, 0x9a, 0x0, 0x2e, 0x0, 0xad, 0xff, 0x9a, 0x0, 0x2e, 0x0, 0xb4, 0xff, 0x9a, 0x0, 0x2e, 0x0, 0xb5, 0xff, 0x9a, 0x0, 0x2e, 0x0, 0xb6, 0xff, 0x9a, 0x0, 0x2e, 0x0, 0xb7, 0xff, 0x9a, 0x0, 0x2e, 0x0, 0xb8, 0xff, 0x9a, 0x0, 0x2e, 0x0, 0xbb, 0xff, 0x9a, 0x0, 0x2e, 0x0, 0xbc, 0xff, 0x9a, 0x0, 0x2e, 0x0, 0xbd, 0xff, 0x9a, 0x0, 0x2e, 0x0, 0xbe, 0xff, 0x9a, 0x0, 0x2e, 0x0, 0xbf, 0xff, 0x6b, 0x0, 0x2e, 0x0, 0xc1, 0xff, 0x6b, 0x0, 0x2e, 0x0, 0xc8, 0xff, 0x90, 0x0, 0x2e, 0x0, 0xce, 0xff, 0x90, 0x0, 0x2e, 0x0, 0xdd, 0xff, 0x9a, 0x0, 0x2e, 0x1, 0x26, 0xff, 0x61, 0x0, 0x2e, 0x1, 0x30, 0xff, 0xc9, 0x0, 0x2e, 0x1, 0x31, 0xff, 0x9a, 0x0, 0x2e, 0x1, 0x3a, 0xff, 0xb7, 0x0, 0x2e, 0xa, 0xfa, 0xff, 0xc1, 0x0, 0x2e, 0xa, 0xfb, 0xff, 0xc1, 0x0, 0x2f, 0x0, 0x10, 0xff, 0xdc, 0x0, 0x2f, 0x0, 0x24, 0x0, 0x2f, 0x0, 0x2f, 0x0, 0x32, 0xff, 0xb7, 0x0, 0x2f, 0x0, 0x37, 0xfe, 0xe6, 0x0, 0x2f, 0x0, 0x38, 0xff, 0x9a, 0x0, 0x2f, 0x0, 0x39, 0xff, 0x1f, 0x0, 0x2f, 0x0, 0x3a, 0xff, 0x44, 0x0, 0x2f, 0x0, 0x3c, 0xfe, 0xf0, 0x0, 0x2f, 0x0, 0x48, 0xff, 0xdc, 0x0, 0x2f, 0x0, 0x52, 0xff, 0xdc, 0x0, 0x2f, 0x0, 0x58, 0xff, 0xdc, 0x0, 0x2f, 0x0, 0x5c, 0xff, 0x44, 0x0, 0x2f, 0x0, 0x82, 0x0, 0x2f, 0x0, 0x2f, 0x0, 0x83, 0x0, 0x2f, 0x0, 0x2f, 0x0, 0x84, 0x0, 0x2f, 0x0, 0x2f, 0x0, 0x85, 0x0, 0x2f, 0x0, 0x2f, 0x0, 0x86, 0x0, 0x2f, 0x0, 0x2f, 0x0, 0x94, 0xff, 0xb7, 0x0, 0x2f, 0x0, 0x95, 0xff, 0xb7, 0x0, 0x2f, 0x0, 0x96, 0xff, 0xb7, 0x0, 0x2f, 0x0, 0x97, 0xff, 0xb7, 0x0, 0x2f, 0x0, 0x98, 0xff, 0xb7, 0x0, 0x2f, 0x0, 0x9b, 0xff, 0x9a, 0x0, 0x2f, 0x0, 0x9c, 0xff, 0x9a, 0x0, 0x2f, 0x0, 0x9d, 0xff, 0x9a, 0x0, 0x2f, 0x0, 0x9e, 0xff, 0x9a, 0x0, 0x2f, 0x0, 0x9f, 0xfe, 0xf0, 0x0, 0x2f, 0x0, 0xaa, 0xff, 0xdc, 0x0, 0x2f, 0x0, 0xab, 0xff, 0xdc, 0x0, 0x2f, 0x0, 0xac, 0xff, 0xdc, 0x0, 0x2f, 0x0, 0xad, 0xff, 0xdc, 0x0, 0x2f, 0x0, 0xb4, 0xff, 0xdc, 0x0, 0x2f, 0x0, 0xb5, 0xff, 0xdc, 0x0, 0x2f, 0x0, 0xb6, 0xff, 0xdc, 0x0, 0x2f, 0x0, 0xb7, 0xff, 0xdc, 0x0, 0x2f, 0x0, 0xb8, 0xff, 0xdc, 0x0, 0x2f, 0x0, 0xbb, 0xff, 0xdc, 0x0, 0x2f, 0x0, 0xbc, 0xff, 0xdc, 0x0, 0x2f, 0x0, 0xbd, 0xff, 0xdc, 0x0, 0x2f, 0x0, 0xbe, 0xff, 0xdc, 0x0, 0x2f, 0x0, 0xbf, 0xff, 0x44, 0x0, 0x2f, 0x0, 0xc1, 0xff, 0x44, 0x0, 0x2f, 0x0, 0xdd, 0xff, 0xdc, 0x0, 0x2f, 0x1, 0x26, 0xfe, 0xe6, 0x0, 0x2f, 0x1, 0x30, 0xff, 0x9a, 0x0, 0x2f, 0x1, 0x31, 0xff, 0xdc, 0x0, 0x2f, 0x1, 0x3a, 0xfe, 0xf0, 0x0, 0x2f, 0xa, 0xfa, 0xfe, 0x61, 0x0, 0x2f, 0xa, 0xfb, 0xfd, 0xe6, 0x0, 0x32, 0x0, 0x10, 0x0, 0x39, 0x0, 0x32, 0x0, 0x11, 0xff, 0xad, 0x0, 0x32, 0x0, 0x1d, 0xff, 0xdc, 0x0, 0x32, 0x0, 0x24, 0xff, 0xdc, 0x0, 0x32, 0x0, 0x39, 0xff, 0xdc, 0x0, 0x32, 0x0, 0x3b, 0xff, 0x7d, 0x0, 0x32, 0x0, 0x3c, 0xff, 0x90, 0x0, 0x32, 0x0, 0x6d, 0xff, 0xdc, 0x0, 0x32, 0x0, 0x82, 0xff, 0xdc, 0x0, 0x32, 0x0, 0x83, 0xff, 0xdc, 0x0, 0x32, 0x0, 0x84, 0xff, 0xdc, 0x0, 0x32, 0x0, 0x85, 0xff, 0xdc, 0x0, 0x32, 0x0, 0x86, 0xff, 0xdc, 0x0, 0x32, 0x0, 0x9f, 0xff, 0x90, 0x0, 0x32, 0x1, 0x3a, 0xff, 0x90, 0x0, 0x32, 0xa, 0xfa, 0xff, 0xd3, 0x0, 0x32, 0xa, 0xfb, 0xff, 0xdc, 0x0, 0x32, 0xa, 0xfc, 0xff, 0x44, 0x0, 0x33, 0x0, 0x10, 0xff, 0xd3, 0x0, 0x33, 0x0, 0x11, 0xfe, 0xc1, 0x0, 0x33, 0x0, 0x24, 0xff, 0x7d, 0x0, 0x33, 0x0, 0x3c, 0xff, 0xd3, 0x0, 0x33, 0x0, 0x44, 0xff, 0xa4, 0x0, 0x33, 0x0, 0x48, 0xff, 0xb7, 0x0, 0x33, 0x0, 0x4c, 0xff, 0xd3, 0x0, 0x33, 0x0, 0x51, 0xff, 0xdc, 0x0, 0x33, 0x0, 0x52, 0xff, 0xb7, 0x0, 0x33, 0x0, 0x55, 0xff, 0xdc, 0x0, 0x33, 0x0, 0x56, 0xff, 0xdc, 0x0, 0x33, 0x0, 0x58, 0xff, 0xdc, 0x0, 0x33, 0x0, 0x6d, 0xff, 0xdc, 0x0, 0x33, 0x0, 0x82, 0xff, 0x7d, 0x0, 0x33, 0x0, 0x83, 0xff, 0x7d, 0x0, 0x33, 0x0, 0x84, 0xff, 0x7d, 0x0, 0x33, 0x0, 0x85, 0xff, 0x7d, 0x0, 0x33, 0x0, 0x86, 0xff, 0x7d, 0x0, 0x33, 0x0, 0x9f, 0xff, 0xd3, 0x0, 0x33, 0x0, 0xa2, 0xff, 0xa4, 0x0, 0x33, 0x0, 0xa3, 0xff, 0xa4, 0x0, 0x33, 0x0, 0xa4, 0xff, 0xa4, 0x0, 0x33, 0x0, 0xa5, 0xff, 0xa4, 0x0, 0x33, 0x0, 0xa6, 0xff, 0xa4, 0x0, 0x33, 0x0, 0xa7, 0xff, 0xa4, 0x0, 0x33, 0x0, 0xaa, 0xff, 0xb7, 0x0, 0x33, 0x0, 0xab, 0xff, 0xb7, 0x0, 0x33, 0x0, 0xac, 0xff, 0xb7, 0x0, 0x33, 0x0, 0xad, 0xff, 0xb7, 0x0, 0x33, 0x0, 0xb3, 0xff, 0xdc, 0x0, 0x33, 0x0, 0xb4, 0xff, 0xb7, 0x0, 0x33, 0x0, 0xb5, 0xff, 0xb7, 0x0, 0x33, 0x0, 0xb6, 0xff, 0xb7, 0x0, 0x33, 0x0, 0xb7, 0xff, 0xb7, 0x0, 0x33, 0x0, 0xb8, 0xff, 0xb7, 0x0, 0x33, 0x0, 0xbb, 0xff, 0xdc, 0x0, 0x33, 0x0, 0xbc, 0xff, 0xdc, 0x0, 0x33, 0x0, 0xbd, 0xff, 0xdc, 0x0, 0x33, 0x0, 0xbe, 0xff, 0xdc, 0x0, 0x33, 0x0, 0xdd, 0xff, 0xb7, 0x0, 0x33, 0x1, 0xa, 0xff, 0xdc, 0x0, 0x33, 0x1, 0x17, 0xff, 0xdc, 0x0, 0x33, 0x1, 0x1b, 0xff, 0xdc, 0x0, 0x33, 0x1, 0x21, 0xff, 0xdc, 0x0, 0x33, 0x1, 0x23, 0xff, 0xdc, 0x0, 0x33, 0x1, 0x31, 0xff, 0xdc, 0x0, 0x33, 0x1, 0x3a, 0xff, 0xd3, 0x0, 0x33, 0xa, 0xfa, 0x0, 0x26, 0x0, 0x33, 0xa, 0xfb, 0x0, 0x26, 0x0, 0x33, 0xa, 0xfc, 0xfe, 0xb7, 0x0, 0x34, 0x0, 0x10, 0x0, 0x39, 0x0, 0x34, 0xa, 0xfa, 0xff, 0xd3, 0x0, 0x34, 0xa, 0xfb, 0xff, 0xdc, 0x0, 0x34, 0xa, 0xfc, 0xff, 0x7d, 0x0, 0x35, 0x0, 0x10, 0xff, 0xad, 0x0, 0x35, 0x0, 0x11, 0xff, 0xb7, 0x0, 0x35, 0x0, 0x1d, 0xff, 0xc1, 0x0, 0x35, 0x0, 0x24, 0xff, 0xad, 0x0, 0x35, 0x0, 0x26, 0xff, 0x9a, 0x0, 0x35, 0x0, 0x37, 0xff, 0x6b, 0x0, 0x35, 0x0, 0x39, 0xff, 0x90, 0x0, 0x35, 0x0, 0x3a, 0xff, 0xad, 0x0, 0x35, 0x0, 0x3c, 0xff, 0x7d, 0x0, 0x35, 0x0, 0x44, 0xff, 0xd3, 0x0, 0x35, 0x0, 0x48, 0xff, 0xa4, 0x0, 0x35, 0x0, 0x52, 0xff, 0xa4, 0x0, 0x35, 0x0, 0x58, 0xff, 0xa4, 0x0, 0x35, 0x0, 0x5c, 0xff, 0x90, 0x0, 0x35, 0x0, 0x6d, 0xff, 0x90, 0x0, 0x35, 0x0, 0x7d, 0xff, 0xdc, 0x0, 0x35, 0x0, 0x82, 0xff, 0xad, 0x0, 0x35, 0x0, 0x83, 0xff, 0xad, 0x0, 0x35, 0x0, 0x84, 0xff, 0xad, 0x0, 0x35, 0x0, 0x85, 0xff, 0xad, 0x0, 0x35, 0x0, 0x86, 0xff, 0xad, 0x0, 0x35, 0x0, 0x89, 0xff, 0x9a, 0x0, 0x35, 0x0, 0x9f, 0xff, 0x7d, 0x0, 0x35, 0x0, 0xa2, 0xff, 0xd3, 0x0, 0x35, 0x0, 0xa3, 0xff, 0xd3, 0x0, 0x35, 0x0, 0xa4, 0xff, 0xd3, 0x0, 0x35, 0x0, 0xa5, 0xff, 0xd3, 0x0, 0x35, 0x0, 0xa6, 0xff, 0xd3, 0x0, 0x35, 0x0, 0xa7, 0xff, 0xd3, 0x0, 0x35, 0x0, 0xaa, 0xff, 0xa4, 0x0, 0x35, 0x0, 0xab, 0xff, 0xa4, 0x0, 0x35, 0x0, 0xac, 0xff, 0xa4, 0x0, 0x35, 0x0, 0xad, 0xff, 0xa4, 0x0, 0x35, 0x0, 0xb4, 0xff, 0xa4, 0x0, 0x35, 0x0, 0xb5, 0xff, 0xa4, 0x0, 0x35, 0x0, 0xb6, 0xff, 0xa4, 0x0, 0x35, 0x0, 0xb7, 0xff, 0xa4, 0x0, 0x35, 0x0, 0xb8, 0xff, 0xa4, 0x0, 0x35, 0x0, 0xbb, 0xff, 0xa4, 0x0, 0x35, 0x0, 0xbc, 0xff, 0xa4, 0x0, 0x35, 0x0, 0xbd, 0xff, 0xa4, 0x0, 0x35, 0x0, 0xbe, 0xff, 0xa4, 0x0, 0x35, 0x0, 0xbf, 0xff, 0x90, 0x0, 0x35, 0x0, 0xc1, 0xff, 0x90, 0x0, 0x35, 0x0, 0xc8, 0xff, 0x9a, 0x0, 0x35, 0x0, 0xce, 0xff, 0x9a, 0x0, 0x35, 0x0, 0xdd, 0xff, 0xa4, 0x0, 0x35, 0x1, 0x26, 0xff, 0x6b, 0x0, 0x35, 0x1, 0x31, 0xff, 0xa4, 0x0, 0x35, 0x1, 0x3a, 0xff, 0x7d, 0x0, 0x35, 0xa, 0xfa, 0xff, 0x6b, 0x0, 0x35, 0xa, 0xfb, 0xff, 0x7d, 0x0, 0x35, 0xa, 0xfc, 0xff, 0xdc, 0x0, 0x36, 0x0, 0x24, 0x0, 0x26, 0x0, 0x36, 0x0, 0x82, 0x0, 0x26, 0x0, 0x36, 0x0, 0x83, 0x0, 0x26, 0x0, 0x36, 0x0, 0x84, 0x0, 0x26, 0x0, 0x36, 0x0, 0x85, 0x0, 0x26, 0x0, 0x36, 0x0, 0x86, 0x0, 0x26, 0x0, 0x37, 0x0, 0x10, 0xff, 0x44, 0x0, 0x37, 0x0, 0x11, 0xff, 0xd, 0x0, 0x37, 0x0, 0x1d, 0xff, 0x1f, 0x0, 0x37, 0x0, 0x24, 0xff, 0x61, 0x0, 0x37, 0x0, 0x26, 0xff, 0x88, 0x0, 0x37, 0x0, 0x37, 0xff, 0xdc, 0x0, 0x37, 0x0, 0x44, 0xfe, 0xad, 0x0, 0x37, 0x0, 0x46, 0xfe, 0xa4, 0x0, 0x37, 0x0, 0x48, 0xfe, 0xa4, 0x0, 0x37, 0x0, 0x4c, 0xff, 0xc1, 0x0, 0x37, 0x0, 0x52, 0xfe, 0xa4, 0x0, 0x37, 0x0, 0x55, 0xfe, 0xd3, 0x0, 0x37, 0x0, 0x56, 0xfe, 0xad, 0x0, 0x37, 0x0, 0x58, 0xfe, 0xc9, 0x0, 0x37, 0x0, 0x5a, 0xfe, 0xad, 0x0, 0x37, 0x0, 0x5c, 0xfe, 0xc1, 0x0, 0x37, 0x0, 0x6d, 0xff, 0x44, 0x0, 0x37, 0x0, 0x7d, 0xff, 0x90, 0x0, 0x37, 0x0, 0x82, 0xff, 0x61, 0x0, 0x37, 0x0, 0x83, 0xff, 0x61, 0x0, 0x37, 0x0, 0x84, 0xff, 0x61, 0x0, 0x37, 0x0, 0x85, 0xff, 0x61, 0x0, 0x37, 0x0, 0x86, 0xff, 0x61, 0x0, 0x37, 0x0, 0x89, 0xff, 0x88, 0x0, 0x37, 0x0, 0xa2, 0xff, 0x11, 0x0, 0x37, 0x0, 0xa3, 0xfe, 0xad, 0x0, 0x37, 0x0, 0xa4, 0xff, 0x11, 0x0, 0x37, 0x0, 0xa5, 0xff, 0x11, 0x0, 0x37, 0x0, 0xa6, 0xff, 0x11, 0x0, 0x37, 0x0, 0xa7, 0xff, 0x11, 0x0, 0x37, 0x0, 0xa9, 0xfe, 0xa4, 0x0, 0x37, 0x0, 0xaa, 0xfe, 0xe0, 0x0, 0x37, 0x0, 0xab, 0xfe, 0xa4, 0x0, 0x37, 0x0, 0xac, 0xfe, 0xe0, 0x0, 0x37, 0x0, 0xad, 0xfe, 0xe0, 0x0, 0x37, 0x0, 0xb4, 0xfe, 0xf4, 0x0, 0x37, 0x0, 0xb5, 0xfe, 0xa4, 0x0, 0x37, 0x0, 0xb6, 0xfe, 0xf4, 0x0, 0x37, 0x0, 0xb7, 0xfe, 0xf4, 0x0, 0x37, 0x0, 0xb8, 0xfe, 0xf4, 0x0, 0x37, 0x0, 0xbb, 0xfe, 0xe7, 0x0, 0x37, 0x0, 0xbc, 0xfe, 0xc9, 0x0, 0x37, 0x0, 0xbd, 0xfe, 0xe7, 0x0, 0x37, 0x0, 0xbe, 0xfe, 0xe7, 0x0, 0x37, 0x0, 0xbf, 0xfe, 0xc1, 0x0, 0x37, 0x0, 0xc1, 0xfe, 0xc1, 0x0, 0x37, 0x0, 0xc8, 0xff, 0x88, 0x0, 0x37, 0x0, 0xc9, 0xfe, 0xa4, 0x0, 0x37, 0x0, 0xce, 0xff, 0x88, 0x0, 0x37, 0x0, 0xcf, 0xfe, 0xa4, 0x0, 0x37, 0x0, 0xdd, 0xfe, 0xa4, 0x0, 0x37, 0x1, 0x17, 0xfe, 0xd3, 0x0, 0x37, 0x1, 0x1b, 0xfe, 0xd3, 0x0, 0x37, 0x1, 0x21, 0xfe, 0xad, 0x0, 0x37, 0x1, 0x23, 0xfe, 0xad, 0x0, 0x37, 0x1, 0x26, 0xff, 0xdc, 0x0, 0x37, 0x1, 0x31, 0xfe, 0xc9, 0x0, 0x37, 0xa, 0xfb, 0xff, 0xd3, 0x0, 0x37, 0xa, 0xfc, 0xfe, 0xf8, 0x0, 0x38, 0x0, 0x3d, 0xff, 0xdc, 0x0, 0x38, 0x1, 0x3f, 0xff, 0xdc, 0x0, 0x39, 0x0, 0x10, 0xff, 0x88, 0x0, 0x39, 0x0, 0x11, 0xfe, 0xf8, 0x0, 0x39, 0x0, 0x1d, 0xff, 0x59, 0x0, 0x39, 0x0, 0x24, 0xff, 0x7d, 0x0, 0x39, 0x0, 0x32, 0xff, 0xdc, 0x0, 0x39, 0x0, 0x44, 0xff, 0x61, 0x0, 0x39, 0x0, 0x48, 0xff, 0x61, 0x0, 0x39, 0x0, 0x4c, 0xff, 0xd3, 0x0, 0x39, 0x0, 0x52, 0xff, 0x61, 0x0, 0x39, 0x0, 0x58, 0xff, 0x75, 0x0, 0x39, 0x0, 0x5c, 0xff, 0xc9, 0x0, 0x39, 0x0, 0x6d, 0xff, 0x4e, 0x0, 0x39, 0x0, 0x7d, 0xff, 0x90, 0x0, 0x39, 0x0, 0x82, 0xff, 0x7d, 0x0, 0x39, 0x0, 0x83, 0xff, 0x7d, 0x0, 0x39, 0x0, 0x84, 0xff, 0x7d, 0x0, 0x39, 0x0, 0x85, 0xff, 0x7d, 0x0, 0x39, 0x0, 0x86, 0xff, 0x7d, 0x0, 0x39, 0x0, 0x94, 0xff, 0xdc, 0x0, 0x39, 0x0, 0x95, 0xff, 0xdc, 0x0, 0x39, 0x0, 0x96, 0xff, 0xdc, 0x0, 0x39, 0x0, 0x97, 0xff, 0xdc, 0x0, 0x39, 0x0, 0x98, 0xff, 0xdc, 0x0, 0x39, 0x0, 0xa2, 0xff, 0x61, 0x0, 0x39, 0x0, 0xa3, 0xff, 0x61, 0x0, 0x39, 0x0, 0xa4, 0xff, 0x61, 0x0, 0x39, 0x0, 0xa5, 0xff, 0x61, 0x0, 0x39, 0x0, 0xa6, 0xff, 0x61, 0x0, 0x39, 0x0, 0xa7, 0xff, 0x61, 0x0, 0x39, 0x0, 0xaa, 0xff, 0x61, 0x0, 0x39, 0x0, 0xab, 0xff, 0x61, 0x0, 0x39, 0x0, 0xac, 0xff, 0x61, 0x0, 0x39, 0x0, 0xad, 0xff, 0x61, 0x0, 0x39, 0x0, 0xb4, 0xff, 0x61, 0x0, 0x39, 0x0, 0xb5, 0xff, 0x61, 0x0, 0x39, 0x0, 0xb6, 0xff, 0x61, 0x0, 0x39, 0x0, 0xb7, 0xff, 0x61, 0x0, 0x39, 0x0, 0xb8, 0xff, 0x61, 0x0, 0x39, 0x0, 0xbb, 0xff, 0x75, 0x0, 0x39, 0x0, 0xbc, 0xff, 0x75, 0x0, 0x39, 0x0, 0xbd, 0xff, 0x75, 0x0, 0x39, 0x0, 0xbe, 0xff, 0x75, 0x0, 0x39, 0x0, 0xbf, 0xff, 0xc9, 0x0, 0x39, 0x0, 0xc1, 0xff, 0xc9, 0x0, 0x39, 0x0, 0xdd, 0xff, 0x61, 0x0, 0x39, 0x1, 0x31, 0xff, 0x75, 0x0, 0x39, 0xa, 0xfc, 0xfe, 0xe6, 0x0, 0x3a, 0x0, 0x10, 0xff, 0xad, 0x0, 0x3a, 0x0, 0x11, 0xff, 0x15, 0x0, 0x3a, 0x0, 0x1d, 0xff, 0x88, 0x0, 0x3a, 0x0, 0x24, 0xff, 0x90, 0x0, 0x3a, 0x0, 0x44, 0xff, 0x7d, 0x0, 0x3a, 0x0, 0x48, 0xff, 0x88, 0x0, 0x3a, 0x0, 0x4c, 0xff, 0xd3, 0x0, 0x3a, 0x0, 0x52, 0xff, 0x88, 0x0, 0x3a, 0x0, 0x55, 0xff, 0xa4, 0x0, 0x3a, 0x0, 0x58, 0xff, 0xb7, 0x0, 0x3a, 0x0, 0x5c, 0xff, 0xdc, 0x0, 0x3a, 0x0, 0x6d, 0xff, 0x90, 0x0, 0x3a, 0x0, 0x7d, 0xff, 0xdc, 0x0, 0x3a, 0x0, 0x82, 0xff, 0x90, 0x0, 0x3a, 0x0, 0x83, 0xff, 0x90, 0x0, 0x3a, 0x0, 0x84, 0xff, 0x90, 0x0, 0x3a, 0x0, 0x85, 0xff, 0x90, 0x0, 0x3a, 0x0, 0x86, 0xff, 0x90, 0x0, 0x3a, 0x0, 0xa2, 0xff, 0x7d, 0x0, 0x3a, 0x0, 0xa3, 0xff, 0x7d, 0x0, 0x3a, 0x0, 0xa4, 0xff, 0x7d, 0x0, 0x3a, 0x0, 0xa5, 0xff, 0x7d, 0x0, 0x3a, 0x0, 0xa6, 0xff, 0x7d, 0x0, 0x3a, 0x0, 0xa7, 0xff, 0x7d, 0x0, 0x3a, 0x0, 0xaa, 0xff, 0x88, 0x0, 0x3a, 0x0, 0xab, 0xff, 0x88, 0x0, 0x3a, 0x0, 0xac, 0xff, 0x88, 0x0, 0x3a, 0x0, 0xad, 0xff, 0x88, 0x0, 0x3a, 0x0, 0xb4, 0xff, 0x88, 0x0, 0x3a, 0x0, 0xb5, 0xff, 0x88, 0x0, 0x3a, 0x0, 0xb6, 0xff, 0x88, 0x0, 0x3a, 0x0, 0xb7, 0xff, 0x88, 0x0, 0x3a, 0x0, 0xb8, 0xff, 0x88, 0x0, 0x3a, 0x0, 0xbb, 0xff, 0xb7, 0x0, 0x3a, 0x0, 0xbc, 0xff, 0xb7, 0x0, 0x3a, 0x0, 0xbd, 0xff, 0xb7, 0x0, 0x3a, 0x0, 0xbe, 0xff, 0xb7, 0x0, 0x3a, 0x0, 0xbf, 0xff, 0xdc, 0x0, 0x3a, 0x0, 0xc1, 0xff, 0xdc, 0x0, 0x3a, 0x0, 0xdd, 0xff, 0x88, 0x0, 0x3a, 0x1, 0x17, 0xff, 0xa4, 0x0, 0x3a, 0x1, 0x1b, 0xff, 0xa4, 0x0, 0x3a, 0x1, 0x31, 0xff, 0xb7, 0x0, 0x3a, 0xa, 0xfa, 0xff, 0xdc, 0x0, 0x3a, 0xa, 0xfc, 0xfe, 0xf8, 0x0, 0x3b, 0x0, 0x10, 0xff, 0x9a, 0x0, 0x3b, 0x0, 0x26, 0xff, 0x6b, 0x0, 0x3b, 0x0, 0x32, 0xff, 0x7d, 0x0, 0x3b, 0x0, 0x37, 0xff, 0xdc, 0x0, 0x3b, 0x0, 0x48, 0xff, 0xa4, 0x0, 0x3b, 0x0, 0x6d, 0xff, 0x90, 0x0, 0x3b, 0x0, 0x89, 0xff, 0x6b, 0x0, 0x3b, 0x0, 0x94, 0xff, 0x7d, 0x0, 0x3b, 0x0, 0x95, 0xff, 0x7d, 0x0, 0x3b, 0x0, 0x96, 0xff, 0x7d, 0x0, 0x3b, 0x0, 0x97, 0xff, 0x7d, 0x0, 0x3b, 0x0, 0x98, 0xff, 0x7d, 0x0, 0x3b, 0x0, 0xaa, 0xff, 0xa4, 0x0, 0x3b, 0x0, 0xab, 0xff, 0xa4, 0x0, 0x3b, 0x0, 0xac, 0xff, 0xa4, 0x0, 0x3b, 0x0, 0xad, 0xff, 0xa4, 0x0, 0x3b, 0x0, 0xc8, 0xff, 0x6b, 0x0, 0x3b, 0x0, 0xce, 0xff, 0x6b, 0x0, 0x3b, 0x0, 0xdd, 0xff, 0xa4, 0x0, 0x3b, 0x1, 0x26, 0xff, 0xdc, 0x0, 0x3b, 0xa, 0xfa, 0xff, 0x61, 0x0, 0x3b, 0xa, 0xfb, 0xff, 0xad, 0x0, 0x3b, 0xa, 0xfc, 0xff, 0xd3, 0x0, 0x3c, 0x0, 0x10, 0xff, 0xd, 0x0, 0x3c, 0x0, 0x11, 0xfe, 0x61, 0x0, 0x3c, 0x0, 0x1d, 0xfe, 0xf0, 0x0, 0x3c, 0x0, 0x24, 0xff, 0x61, 0x0, 0x3c, 0x0, 0x26, 0xff, 0x90, 0x0, 0x3c, 0x0, 0x32, 0xff, 0x90, 0x0, 0x3c, 0x0, 0x44, 0xfe, 0xe6, 0x0, 0x3c, 0x0, 0x48, 0xfe, 0xf0, 0x0, 0x3c, 0x0, 0x4c, 0xff, 0xb7, 0x0, 0x3c, 0x0, 0x52, 0xfe, 0xf0, 0x0, 0x3c, 0x0, 0x58, 0xff, 0x15, 0x0, 0x3c, 0x0, 0x6d, 0xff, 0x1f, 0x0, 0x3c, 0x0, 0x7d, 0xff, 0x6b, 0x0, 0x3c, 0x0, 0x82, 0xff, 0x61, 0x0, 0x3c, 0x0, 0x83, 0xff, 0x61, 0x0, 0x3c, 0x0, 0x84, 0xff, 0x61, 0x0, 0x3c, 0x0, 0x85, 0xff, 0x61, 0x0, 0x3c, 0x0, 0x86, 0xff, 0x61, 0x0, 0x3c, 0x0, 0x89, 0xff, 0x90, 0x0, 0x3c, 0x0, 0x94, 0xff, 0x90, 0x0, 0x3c, 0x0, 0x95, 0xff, 0x90, 0x0, 0x3c, 0x0, 0x96, 0xff, 0x90, 0x0, 0x3c, 0x0, 0x97, 0xff, 0x90, 0x0, 0x3c, 0x0, 0x98, 0xff, 0x90, 0x0, 0x3c, 0x0, 0xa2, 0xfe, 0xe6, 0x0, 0x3c, 0x0, 0xa3, 0xfe, 0xe6, 0x0, 0x3c, 0x0, 0xa4, 0xfe, 0xe6, 0x0, 0x3c, 0x0, 0xa5, 0xfe, 0xe6, 0x0, 0x3c, 0x0, 0xa6, 0xfe, 0xe6, 0x0, 0x3c, 0x0, 0xa7, 0xfe, 0xe6, 0x0, 0x3c, 0x0, 0xaa, 0xfe, 0xf0, 0x0, 0x3c, 0x0, 0xab, 0xfe, 0xf0, 0x0, 0x3c, 0x0, 0xac, 0xfe, 0xf0, 0x0, 0x3c, 0x0, 0xad, 0xfe, 0xf0, 0x0, 0x3c, 0x0, 0xb4, 0xfe, 0xf0, 0x0, 0x3c, 0x0, 0xb5, 0xfe, 0xf0, 0x0, 0x3c, 0x0, 0xb6, 0xfe, 0xf0, 0x0, 0x3c, 0x0, 0xb7, 0xfe, 0xf0, 0x0, 0x3c, 0x0, 0xb8, 0xfe, 0xf0, 0x0, 0x3c, 0x0, 0xbb, 0xff, 0x15, 0x0, 0x3c, 0x0, 0xbc, 0xff, 0x15, 0x0, 0x3c, 0x0, 0xbd, 0xff, 0x15, 0x0, 0x3c, 0x0, 0xbe, 0xff, 0x15, 0x0, 0x3c, 0x0, 0xc8, 0xff, 0x90, 0x0, 0x3c, 0x0, 0xce, 0xff, 0x90, 0x0, 0x3c, 0x0, 0xdd, 0xfe, 0xf0, 0x0, 0x3c, 0x1, 0x31, 0xff, 0x15, 0x0, 0x3c, 0xa, 0xfa, 0xff, 0x90, 0x0, 0x3c, 0xa, 0xfb, 0xff, 0xdc, 0x0, 0x3c, 0xa, 0xfc, 0xfe, 0xf8, 0x0, 0x3d, 0x0, 0x10, 0xff, 0xdc, 0x0, 0x3d, 0xa, 0xfa, 0xff, 0xdc, 0x0, 0x3d, 0xa, 0xfb, 0xff, 0xdc, 0x0, 0x3d, 0xa, 0xfc, 0xff, 0xdc, 0x0, 0x48, 0x0, 0x5b, 0xff, 0xdc, 0x0, 0x49, 0x0, 0x10, 0xff, 0x90, 0x0, 0x49, 0x0, 0x11, 0xff, 0x6b, 0x0, 0x49, 0x0, 0x1d, 0xff, 0xb7, 0x0, 0x49, 0x0, 0x57, 0xff, 0xdc, 0x0, 0x49, 0x0, 0x5a, 0xff, 0xdc, 0x0, 0x49, 0x0, 0x5c, 0xff, 0xdc, 0x0, 0x49, 0x0, 0x6d, 0xff, 0xb7, 0x0, 0x49, 0x0, 0x7d, 0xff, 0xdc, 0x0, 0x49, 0x0, 0xbf, 0xff, 0xdc, 0x0, 0x49, 0x0, 0xc1, 0xff, 0xdc, 0x0, 0x49, 0x1, 0x27, 0xff, 0xdc, 0x0, 0x49, 0xa, 0xfa, 0x0, 0x41, 0x0, 0x49, 0xa, 0xfc, 0xff, 0x15, 0x0, 0x4e, 0x0, 0x44, 0xff, 0xdc, 0x0, 0x4e, 0x0, 0x48, 0xff, 0xb7, 0x0, 0x4e, 0x0, 0x52, 0xff, 0xb7, 0x0, 0x4e, 0x0, 0x58, 0xff, 0xc1, 0x0, 0x4e, 0x0, 0x5c, 0xff, 0xb7, 0x0, 0x4e, 0x0, 0xa2, 0xff, 0xdc, 0x0, 0x4e, 0x0, 0xa3, 0xff, 0xdc, 0x0, 0x4e, 0x0, 0xa4, 0xff, 0xdc, 0x0, 0x4e, 0x0, 0xa5, 0xff, 0xdc, 0x0, 0x4e, 0x0, 0xa6, 0xff, 0xdc, 0x0, 0x4e, 0x0, 0xa7, 0xff, 0xdc, 0x0, 0x4e, 0x0, 0xaa, 0xff, 0xb7, 0x0, 0x4e, 0x0, 0xab, 0xff, 0xb7, 0x0, 0x4e, 0x0, 0xac, 0xff, 0xb7, 0x0, 0x4e, 0x0, 0xad, 0xff, 0xb7, 0x0, 0x4e, 0x0, 0xb4, 0xff, 0xb7, 0x0, 0x4e, 0x0, 0xb5, 0xff, 0xb7, 0x0, 0x4e, 0x0, 0xb6, 0xff, 0xb7, 0x0, 0x4e, 0x0, 0xb7, 0xff, 0xb7, 0x0, 0x4e, 0x0, 0xb8, 0xff, 0xb7, 0x0, 0x4e, 0x0, 0xbb, 0xff, 0xc1, 0x0, 0x4e, 0x0, 0xbc, 0xff, 0xc1, 0x0, 0x4e, 0x0, 0xbd, 0xff, 0xc1, 0x0, 0x4e, 0x0, 0xbe, 0xff, 0xc1, 0x0, 0x4e, 0x0, 0xbf, 0xff, 0xb7, 0x0, 0x4e, 0x0, 0xc1, 0xff, 0xb7, 0x0, 0x4e, 0x0, 0xdd, 0xff, 0xb7, 0x0, 0x4e, 0x1, 0x31, 0xff, 0xc1, 0x0, 0x51, 0xa, 0xfa, 0xff, 0x6b, 0x0, 0x51, 0xa, 0xfb, 0xff, 0x90, 0x0, 0x51, 0xa, 0xfc, 0xff, 0xa4, 0x0, 0x52, 0x0, 0x10, 0x0, 0x26, 0x0, 0x52, 0x0, 0x11, 0xff, 0xdc, 0x0, 0x52, 0x0, 0x5b, 0xff, 0xc1, 0x0, 0x52, 0xa, 0xfa, 0xff, 0x6b, 0x0, 0x52, 0xa, 0xfb, 0xff, 0xb7, 0x0, 0x52, 0xa, 0xfc, 0xff, 0x7d, 0x0, 0x55, 0x0, 0x10, 0xff, 0x7d, 0x0, 0x55, 0x0, 0x11, 0xff, 0x44, 0x0, 0x55, 0x0, 0x1d, 0xff, 0xdc, 0x0, 0x55, 0x0, 0x46, 0xff, 0xd3, 0x0, 0x55, 0x0, 0x47, 0xff, 0xdc, 0x0, 0x55, 0x0, 0x48, 0xff, 0xd3, 0x0, 0x55, 0x0, 0x4a, 0xff, 0xdc, 0x0, 0x55, 0x0, 0x4b, 0xff, 0xdc, 0x0, 0x55, 0x0, 0x50, 0xff, 0xdc, 0x0, 0x55, 0x0, 0x51, 0xff, 0xdc, 0x0, 0x55, 0x0, 0x52, 0xff, 0xd3, 0x0, 0x55, 0x0, 0x54, 0xff, 0xdc, 0x0, 0x55, 0x0, 0x55, 0xff, 0xdc, 0x0, 0x55, 0x0, 0x5b, 0xff, 0xc9, 0x0, 0x55, 0x0, 0x6d, 0xff, 0xb7, 0x0, 0x55, 0x0, 0xa9, 0xff, 0xd3, 0x0, 0x55, 0x0, 0xaa, 0xff, 0xd3, 0x0, 0x55, 0x0, 0xab, 0xff, 0xd3, 0x0, 0x55, 0x0, 0xac, 0xff, 0xd3, 0x0, 0x55, 0x0, 0xad, 0xff, 0xd3, 0x0, 0x55, 0x0, 0xb3, 0xff, 0xdc, 0x0, 0x55, 0x0, 0xb4, 0xff, 0xd3, 0x0, 0x55, 0x0, 0xb5, 0xff, 0xd3, 0x0, 0x55, 0x0, 0xb6, 0xff, 0xd3, 0x0, 0x55, 0x0, 0xb7, 0xff, 0xd3, 0x0, 0x55, 0x0, 0xb8, 0xff, 0xd3, 0x0, 0x55, 0x0, 0xc9, 0xff, 0xd3, 0x0, 0x55, 0x0, 0xcf, 0xff, 0xd3, 0x0, 0x55, 0x0, 0xd1, 0x0, 0x48, 0x0, 0x55, 0x0, 0xdd, 0xff, 0xd3, 0x0, 0x55, 0x0, 0xe1, 0xff, 0xdc, 0x0, 0x55, 0x1, 0xa, 0xff, 0xdc, 0x0, 0x55, 0x1, 0x17, 0xff, 0xdc, 0x0, 0x55, 0x1, 0x1b, 0xff, 0xdc, 0x0, 0x55, 0xa, 0xfb, 0x0, 0x56, 0x0, 0x55, 0xa, 0xfc, 0xfe, 0xc9, 0x0, 0x59, 0x0, 0x10, 0xff, 0xc9, 0x0, 0x59, 0x0, 0x11, 0xff, 0x61, 0x0, 0x59, 0x0, 0x1d, 0xff, 0x90, 0x0, 0x59, 0x0, 0x6d, 0xff, 0xdc, 0x0, 0x59, 0x0, 0x7d, 0xff, 0xdc, 0x0, 0x59, 0xa, 0xfb, 0xff, 0xdc, 0x0, 0x59, 0xa, 0xfc, 0xfe, 0xf0, 0x0, 0x5a, 0x0, 0x11, 0xff, 0x44, 0x0, 0x5a, 0x0, 0x1d, 0xff, 0x90, 0x0, 0x5a, 0x0, 0x6d, 0xff, 0xdc, 0x0, 0x5a, 0x0, 0x7d, 0xff, 0xdc, 0x0, 0x5a, 0xa, 0xfc, 0xff, 0x29, 0x0, 0x5b, 0x0, 0x46, 0xff, 0xdc, 0x0, 0x5b, 0x0, 0x48, 0xff, 0xc1, 0x0, 0x5b, 0x0, 0x52, 0xff, 0xc1, 0x0, 0x5b, 0x0, 0xa9, 0xff, 0xdc, 0x0, 0x5b, 0x0, 0xaa, 0xff, 0xc1, 0x0, 0x5b, 0x0, 0xab, 0xff, 0xc1, 0x0, 0x5b, 0x0, 0xac, 0xff, 0xc1, 0x0, 0x5b, 0x0, 0xad, 0xff, 0xc1, 0x0, 0x5b, 0x0, 0xb4, 0xff, 0xc1, 0x0, 0x5b, 0x0, 0xb5, 0xff, 0xc1, 0x0, 0x5b, 0x0, 0xb6, 0xff, 0xc1, 0x0, 0x5b, 0x0, 0xb7, 0xff, 0xc1, 0x0, 0x5b, 0x0, 0xb8, 0xff, 0xc1, 0x0, 0x5b, 0x0, 0xc9, 0xff, 0xdc, 0x0, 0x5b, 0x0, 0xcf, 0xff, 0xdc, 0x0, 0x5b, 0x0, 0xdd, 0xff, 0xc1, 0x0, 0x5c, 0x0, 0x10, 0xff, 0xdc, 0x0, 0x5c, 0x0, 0x11, 0xfe, 0xdc, 0x0, 0x5c, 0x0, 0x1d, 0xff, 0x6b, 0x0, 0x5c, 0x0, 0x6d, 0xff, 0xdc, 0x0, 0x5c, 0x0, 0x7d, 0xff, 0xdc, 0x0, 0x5c, 0xa, 0xfc, 0xfe, 0xd3, 0x0, 0x6d, 0x0, 0x25, 0xff, 0xdc, 0x0, 0x6d, 0x0, 0x26, 0xff, 0xdc, 0x0, 0x6d, 0x0, 0x27, 0xff, 0xdc, 0x0, 0x6d, 0x0, 0x2a, 0xff, 0xdc, 0x0, 0x6d, 0x0, 0x2d, 0xff, 0xdc, 0x0, 0x6d, 0x0, 0x37, 0xff, 0x90, 0x0, 0x6d, 0x0, 0x39, 0xff, 0x90, 0x0, 0x6d, 0x0, 0x3a, 0xff, 0xdc, 0x0, 0x6d, 0x0, 0x3c, 0xff, 0x6b, 0x0, 0x6d, 0x0, 0x59, 0xff, 0xdc, 0x0, 0x6d, 0x0, 0x5a, 0xff, 0xdc, 0x0, 0x6d, 0x0, 0x5c, 0xff, 0xdc, 0x0, 0x6d, 0x0, 0x88, 0x0, 0x97, 0x0, 0x6d, 0x0, 0x89, 0xff, 0xdc, 0x0, 0x6d, 0x0, 0x9f, 0xff, 0x6b, 0x0, 0x6d, 0x0, 0xbf, 0xff, 0xdc, 0x0, 0x6d, 0x0, 0xc1, 0xff, 0xdc, 0x0, 0x6d, 0x0, 0xc8, 0xff, 0xdc, 0x0, 0x6d, 0x0, 0xce, 0xff, 0xdc, 0x0, 0x6d, 0x0, 0xd0, 0xff, 0xdc, 0x0, 0x6d, 0x0, 0xe0, 0xff, 0xdc, 0x0, 0x6d, 0x1, 0x26, 0xff, 0x90, 0x0, 0x6d, 0x1, 0x3a, 0xff, 0x6b, 0x0, 0x7d, 0x0, 0x24, 0xff, 0xb7, 0x0, 0x7d, 0x0, 0x25, 0xff, 0xb7, 0x0, 0x7d, 0x0, 0x26, 0xff, 0xdc, 0x0, 0x7d, 0x0, 0x27, 0xff, 0xdc, 0x0, 0x7d, 0x0, 0x2d, 0xff, 0xdc, 0x0, 0x7d, 0x0, 0x32, 0xff, 0xdc, 0x0, 0x7d, 0x0, 0x37, 0xff, 0x44, 0x0, 0x7d, 0x0, 0x39, 0xff, 0x4e, 0x0, 0x7d, 0x0, 0x3a, 0xff, 0x90, 0x0, 0x7d, 0x0, 0x3b, 0xff, 0x90, 0x0, 0x7d, 0x0, 0x3c, 0xff, 0x1f, 0x0, 0x7d, 0x0, 0x59, 0xff, 0xdc, 0x0, 0x7d, 0x0, 0x5a, 0xff, 0xdc, 0x0, 0x7d, 0x0, 0x5c, 0xff, 0xdc, 0x0, 0x7d, 0x0, 0x82, 0xff, 0xb7, 0x0, 0x7d, 0x0, 0x83, 0xff, 0xb7, 0x0, 0x7d, 0x0, 0x84, 0xff, 0xb7, 0x0, 0x7d, 0x0, 0x85, 0xff, 0xb7, 0x0, 0x7d, 0x0, 0x86, 0xff, 0xb7, 0x0, 0x7d, 0x0, 0x89, 0xff, 0xdc, 0x0, 0x7d, 0x0, 0x94, 0xff, 0xdc, 0x0, 0x7d, 0x0, 0x95, 0xff, 0xdc, 0x0, 0x7d, 0x0, 0x96, 0xff, 0xdc, 0x0, 0x7d, 0x0, 0x97, 0xff, 0xdc, 0x0, 0x7d, 0x0, 0x98, 0xff, 0xdc, 0x0, 0x7d, 0x0, 0x9f, 0xff, 0x1f, 0x0, 0x7d, 0x0, 0xbf, 0xff, 0xdc, 0x0, 0x7d, 0x0, 0xc1, 0xff, 0xdc, 0x0, 0x7d, 0x0, 0xc8, 0xff, 0xdc, 0x0, 0x7d, 0x0, 0xce, 0xff, 0xdc, 0x0, 0x7d, 0x0, 0xd0, 0xff, 0xdc, 0x0, 0x7d, 0x1, 0x26, 0xff, 0x44, 0x0, 0x7d, 0x1, 0x3a, 0xff, 0x1f, 0x0, 0x82, 0x0, 0x10, 0xff, 0xd3, 0x0, 0x82, 0x0, 0x11, 0xff, 0xdc, 0x0, 0x82, 0x0, 0x1d, 0xff, 0xdc, 0x0, 0x82, 0x0, 0x24, 0x0, 0x39, 0x0, 0x82, 0x0, 0x26, 0xff, 0xdc, 0x0, 0x82, 0x0, 0x2a, 0xff, 0xdc, 0x0, 0x82, 0x0, 0x32, 0xff, 0xdc, 0x0, 0x82, 0x0, 0x34, 0xff, 0xdc, 0x0, 0x82, 0x0, 0x37, 0xff, 0x61, 0x0, 0x82, 0x0, 0x39, 0xff, 0x7d, 0x0, 0x82, 0x0, 0x3a, 0xff, 0x90, 0x0, 0x82, 0x0, 0x3c, 0xff, 0x61, 0x0, 0x82, 0x0, 0x46, 0xff, 0xdc, 0x0, 0x82, 0x0, 0x47, 0xff, 0xdc, 0x0, 0x82, 0x0, 0x48, 0xff, 0xdc, 0x0, 0x82, 0x0, 0x49, 0xff, 0xb7, 0x0, 0x82, 0x0, 0x52, 0xff, 0xdc, 0x0, 0x82, 0x0, 0x54, 0xff, 0xdc, 0x0, 0x82, 0x0, 0x57, 0xff, 0xdc, 0x0, 0x82, 0x0, 0x59, 0xff, 0x88, 0x0, 0x82, 0x0, 0x5a, 0xff, 0xad, 0x0, 0x82, 0x0, 0x5c, 0xff, 0x75, 0x0, 0x82, 0x0, 0x6d, 0xff, 0xb7, 0x0, 0x82, 0x0, 0x82, 0x0, 0x39, 0x0, 0x82, 0x0, 0x83, 0x0, 0x39, 0x0, 0x82, 0x0, 0x84, 0x0, 0x39, 0x0, 0x82, 0x0, 0x85, 0x0, 0x39, 0x0, 0x82, 0x0, 0x86, 0x0, 0x39, 0x0, 0x82, 0x0, 0x89, 0xff, 0xdc, 0x0, 0x82, 0x0, 0x94, 0xff, 0xdc, 0x0, 0x82, 0x0, 0x95, 0xff, 0xdc, 0x0, 0x82, 0x0, 0x96, 0xff, 0xdc, 0x0, 0x82, 0x0, 0x97, 0xff, 0xdc, 0x0, 0x82, 0x0, 0x98, 0xff, 0xdc, 0x0, 0x82, 0x0, 0x9f, 0xff, 0x61, 0x0, 0x82, 0x0, 0xa9, 0xff, 0xdc, 0x0, 0x82, 0x0, 0xaa, 0xff, 0xdc, 0x0, 0x82, 0x0, 0xab, 0xff, 0xdc, 0x0, 0x82, 0x0, 0xac, 0xff, 0xdc, 0x0, 0x82, 0x0, 0xad, 0xff, 0xdc, 0x0, 0x82, 0x0, 0xb4, 0xff, 0xdc, 0x0, 0x82, 0x0, 0xb5, 0xff, 0xdc, 0x0, 0x82, 0x0, 0xb6, 0xff, 0xdc, 0x0, 0x82, 0x0, 0xb7, 0xff, 0xdc, 0x0, 0x82, 0x0, 0xb8, 0xff, 0xdc, 0x0, 0x82, 0x0, 0xbf, 0xff, 0x75, 0x0, 0x82, 0x0, 0xc1, 0xff, 0x75, 0x0, 0x82, 0x0, 0xc2, 0x0, 0x39, 0x0, 0x82, 0x0, 0xc4, 0x0, 0x39, 0x0, 0x82, 0x0, 0xc6, 0x0, 0x39, 0x0, 0x82, 0x0, 0xc8, 0xff, 0xdc, 0x0, 0x82, 0x0, 0xc9, 0xff, 0xdc, 0x0, 0x82, 0x0, 0xca, 0xff, 0xdc, 0x0, 0x82, 0x0, 0xcc, 0xff, 0xdc, 0x0, 0x82, 0x0, 0xcd, 0xff, 0xdc, 0x0, 0x82, 0x0, 0xce, 0xff, 0xdc, 0x0, 0x82, 0x0, 0xcf, 0xff, 0xdc, 0x0, 0x82, 0x0, 0xd1, 0xff, 0xdc, 0x0, 0x82, 0x0, 0xd5, 0xff, 0xdc, 0x0, 0x82, 0x0, 0xd7, 0xff, 0xdc, 0x0, 0x82, 0x0, 0xd9, 0xff, 0xdc, 0x0, 0x82, 0x0, 0xdb, 0xff, 0xdc, 0x0, 0x82, 0x0, 0xdd, 0xff, 0xdc, 0x0, 0x82, 0x0, 0xde, 0xff, 0xdc, 0x0, 0x82, 0x0, 0xe0, 0xff, 0xdc, 0x0, 0x82, 0x0, 0xe2, 0xff, 0xdc, 0x0, 0x82, 0x1, 0xe, 0xff, 0xdc, 0x0, 0x82, 0x1, 0xf, 0xff, 0xdc, 0x0, 0x82, 0x1, 0x10, 0xff, 0xdc, 0x0, 0x82, 0x1, 0x11, 0xff, 0xdc, 0x0, 0x82, 0x1, 0x12, 0xff, 0xdc, 0x0, 0x82, 0x1, 0x13, 0xff, 0xdc, 0x0, 0x82, 0x1, 0x24, 0xff, 0x61, 0x0, 0x82, 0x1, 0x25, 0xff, 0xdc, 0x0, 0x82, 0x1, 0x26, 0xff, 0x61, 0x0, 0x82, 0x1, 0x27, 0xff, 0xdc, 0x0, 0x82, 0x1, 0x36, 0xff, 0x90, 0x0, 0x82, 0x1, 0x37, 0xff, 0xad, 0x0, 0x82, 0x1, 0x38, 0xff, 0x61, 0x0, 0x82, 0x1, 0x39, 0xff, 0x75, 0x0, 0x82, 0x1, 0x3a, 0xff, 0x61, 0x0, 0x82, 0x1, 0xf0, 0xff, 0xdc, 0x0, 0x82, 0x1, 0xf1, 0xff, 0xdc, 0x0, 0x82, 0x9, 0x79, 0xff, 0x90, 0x0, 0x82, 0x9, 0x7c, 0xff, 0xad, 0x0, 0x82, 0x9, 0x7d, 0xff, 0x90, 0x0, 0x82, 0x9, 0x7e, 0xff, 0xad, 0x0, 0x82, 0x9, 0xeb, 0xff, 0x61, 0x0, 0x82, 0x9, 0xec, 0xff, 0x75, 0x0, 0x82, 0xa, 0xfa, 0xfe, 0xf8, 0x0, 0x82, 0xa, 0xfb, 0xff, 0x3, 0x0, 0x82, 0xa, 0xfc, 0x0, 0x2f, 0x0, 0x83, 0x0, 0x10, 0xff, 0xd3, 0x0, 0x83, 0x0, 0x11, 0xff, 0xdc, 0x0, 0x83, 0x0, 0x1d, 0xff, 0xdc, 0x0, 0x83, 0x0, 0x24, 0x0, 0x39, 0x0, 0x83, 0x0, 0x26, 0xff, 0xdc, 0x0, 0x83, 0x0, 0x2a, 0xff, 0xdc, 0x0, 0x83, 0x0, 0x32, 0xff, 0xdc, 0x0, 0x83, 0x0, 0x34, 0xff, 0xdc, 0x0, 0x83, 0x0, 0x37, 0xff, 0x61, 0x0, 0x83, 0x0, 0x39, 0xff, 0x7d, 0x0, 0x83, 0x0, 0x3a, 0xff, 0x90, 0x0, 0x83, 0x0, 0x3c, 0xff, 0x61, 0x0, 0x83, 0x0, 0x46, 0xff, 0xdc, 0x0, 0x83, 0x0, 0x47, 0xff, 0xdc, 0x0, 0x83, 0x0, 0x48, 0xff, 0xdc, 0x0, 0x83, 0x0, 0x49, 0xff, 0xb7, 0x0, 0x83, 0x0, 0x52, 0xff, 0xdc, 0x0, 0x83, 0x0, 0x54, 0xff, 0xdc, 0x0, 0x83, 0x0, 0x57, 0xff, 0xdc, 0x0, 0x83, 0x0, 0x59, 0xff, 0x88, 0x0, 0x83, 0x0, 0x5a, 0xff, 0xad, 0x0, 0x83, 0x0, 0x5c, 0xff, 0x75, 0x0, 0x83, 0x0, 0x6d, 0xff, 0xb7, 0x0, 0x83, 0x0, 0x82, 0x0, 0x39, 0x0, 0x83, 0x0, 0x83, 0x0, 0x39, 0x0, 0x83, 0x0, 0x84, 0x0, 0x39, 0x0, 0x83, 0x0, 0x85, 0x0, 0x39, 0x0, 0x83, 0x0, 0x86, 0x0, 0x39, 0x0, 0x83, 0x0, 0x89, 0xff, 0xdc, 0x0, 0x83, 0x0, 0x94, 0xff, 0xdc, 0x0, 0x83, 0x0, 0x95, 0xff, 0xdc, 0x0, 0x83, 0x0, 0x96, 0xff, 0xdc, 0x0, 0x83, 0x0, 0x97, 0xff, 0xdc, 0x0, 0x83, 0x0, 0x98, 0xff, 0xdc, 0x0, 0x83, 0x0, 0x9f, 0xff, 0x61, 0x0, 0x83, 0x0, 0xa9, 0xff, 0xdc, 0x0, 0x83, 0x0, 0xaa, 0xff, 0xdc, 0x0, 0x83, 0x0, 0xab, 0xff, 0xdc, 0x0, 0x83, 0x0, 0xac, 0xff, 0xdc, 0x0, 0x83, 0x0, 0xad, 0xff, 0xdc, 0x0, 0x83, 0x0, 0xb4, 0xff, 0xdc, 0x0, 0x83, 0x0, 0xb5, 0xff, 0xdc, 0x0, 0x83, 0x0, 0xb6, 0xff, 0xdc, 0x0, 0x83, 0x0, 0xb7, 0xff, 0xdc, 0x0, 0x83, 0x0, 0xb8, 0xff, 0xdc, 0x0, 0x83, 0x0, 0xbf, 0xff, 0x75, 0x0, 0x83, 0x0, 0xc1, 0xff, 0x75, 0x0, 0x83, 0x0, 0xc2, 0x0, 0x39, 0x0, 0x83, 0x0, 0xc4, 0x0, 0x39, 0x0, 0x83, 0x0, 0xc6, 0x0, 0x39, 0x0, 0x83, 0x0, 0xc8, 0xff, 0xdc, 0x0, 0x83, 0x0, 0xc9, 0xff, 0xdc, 0x0, 0x83, 0x0, 0xca, 0xff, 0xdc, 0x0, 0x83, 0x0, 0xcc, 0xff, 0xdc, 0x0, 0x83, 0x0, 0xcd, 0xff, 0xdc, 0x0, 0x83, 0x0, 0xce, 0xff, 0xdc, 0x0, 0x83, 0x0, 0xcf, 0xff, 0xdc, 0x0, 0x83, 0x0, 0xd1, 0xff, 0xdc, 0x0, 0x83, 0x0, 0xd5, 0xff, 0xdc, 0x0, 0x83, 0x0, 0xd7, 0xff, 0xdc, 0x0, 0x83, 0x0, 0xd9, 0xff, 0xdc, 0x0, 0x83, 0x0, 0xdb, 0xff, 0xdc, 0x0, 0x83, 0x0, 0xdd, 0xff, 0xdc, 0x0, 0x83, 0x0, 0xde, 0xff, 0xdc, 0x0, 0x83, 0x0, 0xe0, 0xff, 0xdc, 0x0, 0x83, 0x0, 0xe2, 0xff, 0xdc, 0x0, 0x83, 0x1, 0xe, 0xff, 0xdc, 0x0, 0x83, 0x1, 0xf, 0xff, 0xdc, 0x0, 0x83, 0x1, 0x10, 0xff, 0xdc, 0x0, 0x83, 0x1, 0x11, 0xff, 0xdc, 0x0, 0x83, 0x1, 0x12, 0xff, 0xdc, 0x0, 0x83, 0x1, 0x13, 0xff, 0xdc, 0x0, 0x83, 0x1, 0x24, 0xff, 0x61, 0x0, 0x83, 0x1, 0x25, 0xff, 0xdc, 0x0, 0x83, 0x1, 0x26, 0xff, 0x61, 0x0, 0x83, 0x1, 0x27, 0xff, 0xdc, 0x0, 0x83, 0x1, 0x36, 0xff, 0x90, 0x0, 0x83, 0x1, 0x37, 0xff, 0xad, 0x0, 0x83, 0x1, 0x38, 0xff, 0x61, 0x0, 0x83, 0x1, 0x39, 0xff, 0x75, 0x0, 0x83, 0x1, 0x3a, 0xff, 0x61, 0x0, 0x83, 0x1, 0xf0, 0xff, 0xdc, 0x0, 0x83, 0x1, 0xf1, 0xff, 0xdc, 0x0, 0x83, 0x9, 0x79, 0xff, 0x90, 0x0, 0x83, 0x9, 0x7b, 0xff, 0x90, 0x0, 0x83, 0x9, 0x7c, 0xff, 0xad, 0x0, 0x83, 0x9, 0x7d, 0xff, 0x90, 0x0, 0x83, 0x9, 0x7e, 0xff, 0xad, 0x0, 0x83, 0x9, 0xeb, 0xff, 0x61, 0x0, 0x83, 0x9, 0xec, 0xff, 0x75, 0x0, 0x83, 0xa, 0xfa, 0xfe, 0xf8, 0x0, 0x83, 0xa, 0xfb, 0xff, 0x3, 0x0, 0x83, 0xa, 0xfc, 0x0, 0x2f, 0x0, 0x84, 0x0, 0x10, 0xff, 0xd3, 0x0, 0x84, 0x0, 0x11, 0xff, 0xdc, 0x0, 0x84, 0x0, 0x1d, 0xff, 0xdc, 0x0, 0x84, 0x0, 0x24, 0x0, 0x39, 0x0, 0x84, 0x0, 0x26, 0xff, 0xdc, 0x0, 0x84, 0x0, 0x2a, 0xff, 0xdc, 0x0, 0x84, 0x0, 0x32, 0xff, 0xdc, 0x0, 0x84, 0x0, 0x34, 0xff, 0xdc, 0x0, 0x84, 0x0, 0x37, 0xff, 0x61, 0x0, 0x84, 0x0, 0x39, 0xff, 0x7d, 0x0, 0x84, 0x0, 0x3a, 0xff, 0x90, 0x0, 0x84, 0x0, 0x3c, 0xff, 0x61, 0x0, 0x84, 0x0, 0x46, 0xff, 0xdc, 0x0, 0x84, 0x0, 0x47, 0xff, 0xdc, 0x0, 0x84, 0x0, 0x48, 0xff, 0xdc, 0x0, 0x84, 0x0, 0x49, 0xff, 0xb7, 0x0, 0x84, 0x0, 0x52, 0xff, 0xdc, 0x0, 0x84, 0x0, 0x54, 0xff, 0xdc, 0x0, 0x84, 0x0, 0x57, 0xff, 0xdc, 0x0, 0x84, 0x0, 0x59, 0xff, 0x88, 0x0, 0x84, 0x0, 0x5a, 0xff, 0xad, 0x0, 0x84, 0x0, 0x5c, 0xff, 0x75, 0x0, 0x84, 0x0, 0x6d, 0xff, 0xb7, 0x0, 0x84, 0x0, 0x82, 0x0, 0x39, 0x0, 0x84, 0x0, 0x83, 0x0, 0x39, 0x0, 0x84, 0x0, 0x84, 0x0, 0x39, 0x0, 0x84, 0x0, 0x85, 0x0, 0x39, 0x0, 0x84, 0x0, 0x86, 0x0, 0x39, 0x0, 0x84, 0x0, 0x89, 0xff, 0xdc, 0x0, 0x84, 0x0, 0x94, 0xff, 0xdc, 0x0, 0x84, 0x0, 0x95, 0xff, 0xdc, 0x0, 0x84, 0x0, 0x96, 0xff, 0xdc, 0x0, 0x84, 0x0, 0x97, 0xff, 0xdc, 0x0, 0x84, 0x0, 0x98, 0xff, 0xdc, 0x0, 0x84, 0x0, 0x9f, 0xff, 0x61, 0x0, 0x84, 0x0, 0xa9, 0xff, 0xdc, 0x0, 0x84, 0x0, 0xaa, 0xff, 0xdc, 0x0, 0x84, 0x0, 0xab, 0xff, 0xdc, 0x0, 0x84, 0x0, 0xac, 0xff, 0xdc, 0x0, 0x84, 0x0, 0xad, 0xff, 0xdc, 0x0, 0x84, 0x0, 0xb4, 0xff, 0xdc, 0x0, 0x84, 0x0, 0xb5, 0xff, 0xdc, 0x0, 0x84, 0x0, 0xb6, 0xff, 0xdc, 0x0, 0x84, 0x0, 0xb7, 0xff, 0xdc, 0x0, 0x84, 0x0, 0xb8, 0xff, 0xdc, 0x0, 0x84, 0x0, 0xbf, 0xff, 0x75, 0x0, 0x84, 0x0, 0xc1, 0xff, 0x75, 0x0, 0x84, 0x0, 0xc2, 0x0, 0x39, 0x0, 0x84, 0x0, 0xc4, 0x0, 0x39, 0x0, 0x84, 0x0, 0xc6, 0x0, 0x39, 0x0, 0x84, 0x0, 0xc8, 0xff, 0xdc, 0x0, 0x84, 0x0, 0xc9, 0xff, 0xdc, 0x0, 0x84, 0x0, 0xca, 0xff, 0xdc, 0x0, 0x84, 0x0, 0xcc, 0xff, 0xdc, 0x0, 0x84, 0x0, 0xcd, 0xff, 0xdc, 0x0, 0x84, 0x0, 0xce, 0xff, 0xdc, 0x0, 0x84, 0x0, 0xcf, 0xff, 0xdc, 0x0, 0x84, 0x0, 0xd1, 0xff, 0xdc, 0x0, 0x84, 0x0, 0xd5, 0xff, 0xdc, 0x0, 0x84, 0x0, 0xd7, 0xff, 0xdc, 0x0, 0x84, 0x0, 0xd9, 0xff, 0xdc, 0x0, 0x84, 0x0, 0xdb, 0xff, 0xdc, 0x0, 0x84, 0x0, 0xdd, 0xff, 0xdc, 0x0, 0x84, 0x0, 0xde, 0xff, 0xdc, 0x0, 0x84, 0x0, 0xe0, 0xff, 0xdc, 0x0, 0x84, 0x0, 0xe2, 0xff, 0xdc, 0x0, 0x84, 0x1, 0xe, 0xff, 0xdc, 0x0, 0x84, 0x1, 0xf, 0xff, 0xdc, 0x0, 0x84, 0x1, 0x10, 0xff, 0xdc, 0x0, 0x84, 0x1, 0x11, 0xff, 0xdc, 0x0, 0x84, 0x1, 0x12, 0xff, 0xdc, 0x0, 0x84, 0x1, 0x13, 0xff, 0xdc, 0x0, 0x84, 0x1, 0x24, 0xff, 0x61, 0x0, 0x84, 0x1, 0x25, 0xff, 0xdc, 0x0, 0x84, 0x1, 0x26, 0xff, 0x61, 0x0, 0x84, 0x1, 0x27, 0xff, 0xdc, 0x0, 0x84, 0x1, 0x36, 0xff, 0x90, 0x0, 0x84, 0x1, 0x37, 0xff, 0xad, 0x0, 0x84, 0x1, 0x38, 0xff, 0x61, 0x0, 0x84, 0x1, 0x39, 0xff, 0x75, 0x0, 0x84, 0x1, 0x3a, 0xff, 0x61, 0x0, 0x84, 0x1, 0xf0, 0xff, 0xdc, 0x0, 0x84, 0x1, 0xf1, 0xff, 0xdc, 0x0, 0x84, 0x9, 0x79, 0xff, 0x90, 0x0, 0x84, 0x9, 0x7b, 0xff, 0x90, 0x0, 0x84, 0x9, 0x7c, 0xff, 0xad, 0x0, 0x84, 0x9, 0x7d, 0xff, 0x90, 0x0, 0x84, 0x9, 0x7e, 0xff, 0xad, 0x0, 0x84, 0x9, 0xeb, 0xff, 0x61, 0x0, 0x84, 0x9, 0xec, 0xff, 0x75, 0x0, 0x84, 0xa, 0xfa, 0xfe, 0xf8, 0x0, 0x84, 0xa, 0xfb, 0xff, 0x3, 0x0, 0x84, 0xa, 0xfc, 0x0, 0x2f, 0x0, 0x85, 0x0, 0x10, 0xff, 0xd3, 0x0, 0x85, 0x0, 0x11, 0xff, 0xdc, 0x0, 0x85, 0x0, 0x1d, 0xff, 0xdc, 0x0, 0x85, 0x0, 0x24, 0x0, 0x39, 0x0, 0x85, 0x0, 0x26, 0xff, 0xdc, 0x0, 0x85, 0x0, 0x2a, 0xff, 0xdc, 0x0, 0x85, 0x0, 0x32, 0xff, 0xdc, 0x0, 0x85, 0x0, 0x34, 0xff, 0xdc, 0x0, 0x85, 0x0, 0x37, 0xff, 0x61, 0x0, 0x85, 0x0, 0x39, 0xff, 0x7d, 0x0, 0x85, 0x0, 0x3a, 0xff, 0x90, 0x0, 0x85, 0x0, 0x3c, 0xff, 0x61, 0x0, 0x85, 0x0, 0x46, 0xff, 0xdc, 0x0, 0x85, 0x0, 0x47, 0xff, 0xdc, 0x0, 0x85, 0x0, 0x48, 0xff, 0xdc, 0x0, 0x85, 0x0, 0x49, 0xff, 0xb7, 0x0, 0x85, 0x0, 0x52, 0xff, 0xdc, 0x0, 0x85, 0x0, 0x54, 0xff, 0xdc, 0x0, 0x85, 0x0, 0x57, 0xff, 0xdc, 0x0, 0x85, 0x0, 0x59, 0xff, 0x88, 0x0, 0x85, 0x0, 0x5a, 0xff, 0xad, 0x0, 0x85, 0x0, 0x5c, 0xff, 0x75, 0x0, 0x85, 0x0, 0x6d, 0xff, 0xb7, 0x0, 0x85, 0x0, 0x82, 0x0, 0x39, 0x0, 0x85, 0x0, 0x83, 0x0, 0x39, 0x0, 0x85, 0x0, 0x84, 0x0, 0x39, 0x0, 0x85, 0x0, 0x85, 0x0, 0x39, 0x0, 0x85, 0x0, 0x86, 0x0, 0x39, 0x0, 0x85, 0x0, 0x89, 0xff, 0xdc, 0x0, 0x85, 0x0, 0x94, 0xff, 0xdc, 0x0, 0x85, 0x0, 0x95, 0xff, 0xdc, 0x0, 0x85, 0x0, 0x96, 0xff, 0xdc, 0x0, 0x85, 0x0, 0x97, 0xff, 0xdc, 0x0, 0x85, 0x0, 0x98, 0xff, 0xdc, 0x0, 0x85, 0x0, 0x9f, 0xff, 0x61, 0x0, 0x85, 0x0, 0xa9, 0xff, 0xdc, 0x0, 0x85, 0x0, 0xaa, 0xff, 0xdc, 0x0, 0x85, 0x0, 0xab, 0xff, 0xdc, 0x0, 0x85, 0x0, 0xac, 0xff, 0xdc, 0x0, 0x85, 0x0, 0xad, 0xff, 0xdc, 0x0, 0x85, 0x0, 0xb4, 0xff, 0xdc, 0x0, 0x85, 0x0, 0xb5, 0xff, 0xdc, 0x0, 0x85, 0x0, 0xb6, 0xff, 0xdc, 0x0, 0x85, 0x0, 0xb7, 0xff, 0xdc, 0x0, 0x85, 0x0, 0xb8, 0xff, 0xdc, 0x0, 0x85, 0x0, 0xbf, 0xff, 0x75, 0x0, 0x85, 0x0, 0xc1, 0xff, 0x75, 0x0, 0x85, 0x0, 0xc2, 0x0, 0x39, 0x0, 0x85, 0x0, 0xc4, 0x0, 0x39, 0x0, 0x85, 0x0, 0xc6, 0x0, 0x39, 0x0, 0x85, 0x0, 0xc8, 0xff, 0xdc, 0x0, 0x85, 0x0, 0xc9, 0xff, 0xdc, 0x0, 0x85, 0x0, 0xca, 0xff, 0xdc, 0x0, 0x85, 0x0, 0xcc, 0xff, 0xdc, 0x0, 0x85, 0x0, 0xcd, 0xff, 0xdc, 0x0, 0x85, 0x0, 0xce, 0xff, 0xdc, 0x0, 0x85, 0x0, 0xcf, 0xff, 0xdc, 0x0, 0x85, 0x0, 0xd1, 0xff, 0xdc, 0x0, 0x85, 0x0, 0xd5, 0xff, 0xdc, 0x0, 0x85, 0x0, 0xd7, 0xff, 0xdc, 0x0, 0x85, 0x0, 0xd9, 0xff, 0xdc, 0x0, 0x85, 0x0, 0xdb, 0xff, 0xdc, 0x0, 0x85, 0x0, 0xdd, 0xff, 0xdc, 0x0, 0x85, 0x0, 0xde, 0xff, 0xdc, 0x0, 0x85, 0x0, 0xe0, 0xff, 0xdc, 0x0, 0x85, 0x0, 0xe2, 0xff, 0xdc, 0x0, 0x85, 0x1, 0xe, 0xff, 0xdc, 0x0, 0x85, 0x1, 0xf, 0xff, 0xdc, 0x0, 0x85, 0x1, 0x10, 0xff, 0xdc, 0x0, 0x85, 0x1, 0x11, 0xff, 0xdc, 0x0, 0x85, 0x1, 0x12, 0xff, 0xdc, 0x0, 0x85, 0x1, 0x13, 0xff, 0xdc, 0x0, 0x85, 0x1, 0x24, 0xff, 0x61, 0x0, 0x85, 0x1, 0x25, 0xff, 0xdc, 0x0, 0x85, 0x1, 0x26, 0xff, 0x61, 0x0, 0x85, 0x1, 0x27, 0xff, 0xdc, 0x0, 0x85, 0x1, 0x36, 0xff, 0x90, 0x0, 0x85, 0x1, 0x37, 0xff, 0xad, 0x0, 0x85, 0x1, 0x38, 0xff, 0x61, 0x0, 0x85, 0x1, 0x39, 0xff, 0x75, 0x0, 0x85, 0x1, 0x3a, 0xff, 0x61, 0x0, 0x85, 0x1, 0xf0, 0xff, 0xdc, 0x0, 0x85, 0x9, 0x79, 0xff, 0x90, 0x0, 0x85, 0x9, 0x7b, 0xff, 0x90, 0x0, 0x85, 0x9, 0x7c, 0xff, 0xad, 0x0, 0x85, 0x9, 0x7d, 0xff, 0x90, 0x0, 0x85, 0x9, 0x7e, 0xff, 0xad, 0x0, 0x85, 0x9, 0xeb, 0xff, 0x61, 0x0, 0x85, 0x9, 0xec, 0xff, 0x75, 0x0, 0x85, 0xa, 0xfa, 0xfe, 0xf8, 0x0, 0x85, 0xa, 0xfb, 0xff, 0x3, 0x0, 0x85, 0xa, 0xfc, 0x0, 0x2f, 0x0, 0x86, 0x0, 0x10, 0xff, 0xd3, 0x0, 0x86, 0x0, 0x11, 0xff, 0xdc, 0x0, 0x86, 0x0, 0x1d, 0xff, 0xdc, 0x0, 0x86, 0x0, 0x24, 0x0, 0x39, 0x0, 0x86, 0x0, 0x26, 0xff, 0xdc, 0x0, 0x86, 0x0, 0x2a, 0xff, 0xdc, 0x0, 0x86, 0x0, 0x32, 0xff, 0xdc, 0x0, 0x86, 0x0, 0x34, 0xff, 0xdc, 0x0, 0x86, 0x0, 0x37, 0xff, 0x61, 0x0, 0x86, 0x0, 0x39, 0xff, 0x7d, 0x0, 0x86, 0x0, 0x3a, 0xff, 0x90, 0x0, 0x86, 0x0, 0x3c, 0xff, 0x61, 0x0, 0x86, 0x0, 0x46, 0xff, 0xdc, 0x0, 0x86, 0x0, 0x47, 0xff, 0xdc, 0x0, 0x86, 0x0, 0x48, 0xff, 0xdc, 0x0, 0x86, 0x0, 0x49, 0xff, 0xb7, 0x0, 0x86, 0x0, 0x52, 0xff, 0xdc, 0x0, 0x86, 0x0, 0x54, 0xff, 0xdc, 0x0, 0x86, 0x0, 0x57, 0xff, 0xdc, 0x0, 0x86, 0x0, 0x59, 0xff, 0x88, 0x0, 0x86, 0x0, 0x5a, 0xff, 0xad, 0x0, 0x86, 0x0, 0x5c, 0xff, 0x75, 0x0, 0x86, 0x0, 0x6d, 0xff, 0xb7, 0x0, 0x86, 0x0, 0x82, 0x0, 0x39, 0x0, 0x86, 0x0, 0x83, 0x0, 0x39, 0x0, 0x86, 0x0, 0x84, 0x0, 0x39, 0x0, 0x86, 0x0, 0x85, 0x0, 0x39, 0x0, 0x86, 0x0, 0x86, 0x0, 0x39, 0x0, 0x86, 0x0, 0x89, 0xff, 0xdc, 0x0, 0x86, 0x0, 0x94, 0xff, 0xdc, 0x0, 0x86, 0x0, 0x95, 0xff, 0xdc, 0x0, 0x86, 0x0, 0x96, 0xff, 0xdc, 0x0, 0x86, 0x0, 0x97, 0xff, 0xdc, 0x0, 0x86, 0x0, 0x98, 0xff, 0xdc, 0x0, 0x86, 0x0, 0x9f, 0xff, 0x61, 0x0, 0x86, 0x0, 0xa9, 0xff, 0xdc, 0x0, 0x86, 0x0, 0xaa, 0xff, 0xdc, 0x0, 0x86, 0x0, 0xab, 0xff, 0xdc, 0x0, 0x86, 0x0, 0xac, 0xff, 0xdc, 0x0, 0x86, 0x0, 0xad, 0xff, 0xdc, 0x0, 0x86, 0x0, 0xb4, 0xff, 0xdc, 0x0, 0x86, 0x0, 0xb5, 0xff, 0xdc, 0x0, 0x86, 0x0, 0xb6, 0xff, 0xdc, 0x0, 0x86, 0x0, 0xb7, 0xff, 0xdc, 0x0, 0x86, 0x0, 0xb8, 0xff, 0xdc, 0x0, 0x86, 0x0, 0xbf, 0xff, 0x75, 0x0, 0x86, 0x0, 0xc1, 0xff, 0x75, 0x0, 0x86, 0x0, 0xc2, 0x0, 0x39, 0x0, 0x86, 0x0, 0xc4, 0x0, 0x39, 0x0, 0x86, 0x0, 0xc6, 0x0, 0x39, 0x0, 0x86, 0x0, 0xc8, 0xff, 0xdc, 0x0, 0x86, 0x0, 0xc9, 0xff, 0xdc, 0x0, 0x86, 0x0, 0xca, 0xff, 0xdc, 0x0, 0x86, 0x0, 0xcc, 0xff, 0xdc, 0x0, 0x86, 0x0, 0xcd, 0xff, 0xdc, 0x0, 0x86, 0x0, 0xce, 0xff, 0xdc, 0x0, 0x86, 0x0, 0xcf, 0xff, 0xdc, 0x0, 0x86, 0x0, 0xd1, 0xff, 0xdc, 0x0, 0x86, 0x0, 0xd5, 0xff, 0xdc, 0x0, 0x86, 0x0, 0xd7, 0xff, 0xdc, 0x0, 0x86, 0x0, 0xd9, 0xff, 0xdc, 0x0, 0x86, 0x0, 0xdb, 0xff, 0xdc, 0x0, 0x86, 0x0, 0xdd, 0xff, 0xdc, 0x0, 0x86, 0x0, 0xde, 0xff, 0xdc, 0x0, 0x86, 0x0, 0xe0, 0xff, 0xdc, 0x0, 0x86, 0x0, 0xe2, 0xff, 0xdc, 0x0, 0x86, 0x1, 0xe, 0xff, 0xdc, 0x0, 0x86, 0x1, 0xf, 0xff, 0xdc, 0x0, 0x86, 0x1, 0x10, 0xff, 0xdc, 0x0, 0x86, 0x1, 0x11, 0xff, 0xdc, 0x0, 0x86, 0x1, 0x12, 0xff, 0xdc, 0x0, 0x86, 0x1, 0x13, 0xff, 0xdc, 0x0, 0x86, 0x1, 0x24, 0xff, 0x61, 0x0, 0x86, 0x1, 0x25, 0xff, 0xdc, 0x0, 0x86, 0x1, 0x26, 0xff, 0x61, 0x0, 0x86, 0x1, 0x27, 0xff, 0xdc, 0x0, 0x86, 0x1, 0x36, 0xff, 0x90, 0x0, 0x86, 0x1, 0x37, 0xff, 0xad, 0x0, 0x86, 0x1, 0x38, 0xff, 0x61, 0x0, 0x86, 0x1, 0x39, 0xff, 0x75, 0x0, 0x86, 0x1, 0x3a, 0xff, 0x61, 0x0, 0x86, 0x1, 0xf0, 0xff, 0xdc, 0x0, 0x86, 0x1, 0xf1, 0xff, 0xdc, 0x0, 0x86, 0x9, 0x79, 0xff, 0x90, 0x0, 0x86, 0x9, 0x7b, 0xff, 0x90, 0x0, 0x86, 0x9, 0x7c, 0xff, 0xad, 0x0, 0x86, 0x9, 0x7d, 0xff, 0x90, 0x0, 0x86, 0x9, 0x7e, 0xff, 0xad, 0x0, 0x86, 0x9, 0xeb, 0xff, 0x61, 0x0, 0x86, 0x9, 0xec, 0xff, 0x75, 0x0, 0x86, 0xa, 0xfa, 0xfe, 0xf8, 0x0, 0x86, 0xa, 0xfb, 0xff, 0x3, 0x0, 0x86, 0xa, 0xfc, 0x0, 0x2f, 0x0, 0x88, 0xa, 0xfa, 0xff, 0xad, 0x0, 0x88, 0xa, 0xfb, 0xff, 0xa4, 0x0, 0x88, 0xa, 0xfc, 0xff, 0x90, 0x0, 0x89, 0x0, 0x3c, 0xff, 0xdc, 0x0, 0x89, 0x0, 0x6d, 0xff, 0xdc, 0x0, 0x89, 0x0, 0x7d, 0xff, 0xdc, 0x0, 0x89, 0x0, 0x9f, 0xff, 0xdc, 0x0, 0x89, 0x1, 0x3a, 0xff, 0xdc, 0x0, 0x89, 0xa, 0xfb, 0x0, 0x26, 0x0, 0x92, 0x0, 0x24, 0xff, 0xdc, 0x0, 0x92, 0x0, 0x39, 0xff, 0xdc, 0x0, 0x92, 0x0, 0x3c, 0xff, 0x90, 0x0, 0x92, 0x0, 0x6d, 0xff, 0xdc, 0x0, 0x92, 0x0, 0x7d, 0xff, 0xdc, 0x0, 0x92, 0x0, 0x82, 0xff, 0xdc, 0x0, 0x92, 0x0, 0x83, 0xff, 0xdc, 0x0, 0x92, 0x0, 0x84, 0xff, 0xdc, 0x0, 0x92, 0x0, 0x85, 0xff, 0xdc, 0x0, 0x92, 0x0, 0x86, 0xff, 0xdc, 0x0, 0x92, 0x0, 0x9f, 0xff, 0x90, 0x0, 0x92, 0x0, 0xc2, 0xff, 0xdc, 0x0, 0x92, 0x0, 0xc4, 0xff, 0xdc, 0x0, 0x92, 0x0, 0xc6, 0xff, 0xdc, 0x0, 0x92, 0x1, 0x38, 0xff, 0x90, 0x0, 0x92, 0x1, 0x3a, 0xff, 0x90, 0x0, 0x92, 0x1, 0xf4, 0xff, 0x90, 0x0, 0x92, 0x9, 0xeb, 0xff, 0x90, 0x0, 0x92, 0xa, 0xfa, 0xff, 0xd3, 0x0, 0x92, 0xa, 0xfb, 0xff, 0xc9, 0x0, 0x92, 0xa, 0xfc, 0xff, 0x44, 0x0, 0x94, 0x0, 0x10, 0x0, 0x39, 0x0, 0x94, 0x0, 0x11, 0xff, 0xad, 0x0, 0x94, 0x0, 0x1d, 0xff, 0xdc, 0x0, 0x94, 0x0, 0x24, 0xff, 0xdc, 0x0, 0x94, 0x0, 0x39, 0xff, 0xdc, 0x0, 0x94, 0x0, 0x3b, 0xff, 0x7d, 0x0, 0x94, 0x0, 0x3c, 0xff, 0x90, 0x0, 0x94, 0x0, 0x6d, 0xff, 0xdc, 0x0, 0x94, 0x0, 0x82, 0xff, 0xdc, 0x0, 0x94, 0x0, 0x83, 0xff, 0xdc, 0x0, 0x94, 0x0, 0x84, 0xff, 0xdc, 0x0, 0x94, 0x0, 0x85, 0xff, 0xdc, 0x0, 0x94, 0x0, 0x86, 0xff, 0xdc, 0x0, 0x94, 0x0, 0x9f, 0xff, 0x90, 0x0, 0x94, 0x1, 0x3a, 0xff, 0x90, 0x0, 0x94, 0xa, 0xfa, 0xff, 0xd3, 0x0, 0x94, 0xa, 0xfb, 0xff, 0xdc, 0x0, 0x94, 0xa, 0xfc, 0xff, 0x44, 0x0, 0x95, 0x0, 0x10, 0x0, 0x39, 0x0, 0x95, 0x0, 0x11, 0xff, 0xad, 0x0, 0x95, 0x0, 0x1d, 0xff, 0xdc, 0x0, 0x95, 0x0, 0x24, 0xff, 0xdc, 0x0, 0x95, 0x0, 0x39, 0xff, 0xdc, 0x0, 0x95, 0x0, 0x3b, 0xff, 0x7d, 0x0, 0x95, 0x0, 0x3c, 0xff, 0x90, 0x0, 0x95, 0x0, 0x6d, 0xff, 0xdc, 0x0, 0x95, 0x0, 0x82, 0xff, 0xdc, 0x0, 0x95, 0x0, 0x83, 0xff, 0xdc, 0x0, 0x95, 0x0, 0x84, 0xff, 0xdc, 0x0, 0x95, 0x0, 0x85, 0xff, 0xdc, 0x0, 0x95, 0x0, 0x86, 0xff, 0xdc, 0x0, 0x95, 0x0, 0x9f, 0xff, 0x90, 0x0, 0x95, 0x1, 0x3a, 0xff, 0x90, 0x0, 0x95, 0xa, 0xfa, 0xff, 0xd3, 0x0, 0x95, 0xa, 0xfb, 0xff, 0xdc, 0x0, 0x95, 0xa, 0xfc, 0xff, 0x44, 0x0, 0x96, 0x0, 0x10, 0x0, 0x39, 0x0, 0x96, 0x0, 0x11, 0xff, 0xad, 0x0, 0x96, 0x0, 0x1d, 0xff, 0xdc, 0x0, 0x96, 0x0, 0x24, 0xff, 0xdc, 0x0, 0x96, 0x0, 0x39, 0xff, 0xdc, 0x0, 0x96, 0x0, 0x3b, 0xff, 0x7d, 0x0, 0x96, 0x0, 0x3c, 0xff, 0x90, 0x0, 0x96, 0x0, 0x6d, 0xff, 0xdc, 0x0, 0x96, 0x0, 0x82, 0xff, 0xdc, 0x0, 0x96, 0x0, 0x83, 0xff, 0xdc, 0x0, 0x96, 0x0, 0x84, 0xff, 0xdc, 0x0, 0x96, 0x0, 0x85, 0xff, 0xdc, 0x0, 0x96, 0x0, 0x86, 0xff, 0xdc, 0x0, 0x96, 0x0, 0x9f, 0xff, 0x90, 0x0, 0x96, 0x1, 0x3a, 0xff, 0x90, 0x0, 0x96, 0xa, 0xfa, 0xff, 0xd3, 0x0, 0x96, 0xa, 0xfb, 0xff, 0xdc, 0x0, 0x96, 0xa, 0xfc, 0xff, 0x44, 0x0, 0x97, 0x0, 0x10, 0x0, 0x39, 0x0, 0x97, 0x0, 0x11, 0xff, 0xad, 0x0, 0x97, 0x0, 0x1d, 0xff, 0xdc, 0x0, 0x97, 0x0, 0x24, 0xff, 0xdc, 0x0, 0x97, 0x0, 0x39, 0xff, 0xdc, 0x0, 0x97, 0x0, 0x3b, 0xff, 0x7d, 0x0, 0x97, 0x0, 0x3c, 0xff, 0x90, 0x0, 0x97, 0x0, 0x6d, 0xff, 0xdc, 0x0, 0x97, 0x0, 0x82, 0xff, 0xdc, 0x0, 0x97, 0x0, 0x83, 0xff, 0xdc, 0x0, 0x97, 0x0, 0x84, 0xff, 0xdc, 0x0, 0x97, 0x0, 0x85, 0xff, 0xdc, 0x0, 0x97, 0x0, 0x86, 0xff, 0xdc, 0x0, 0x97, 0x0, 0x9f, 0xff, 0x90, 0x0, 0x97, 0x1, 0x3a, 0xff, 0x90, 0x0, 0x97, 0xa, 0xfa, 0xff, 0xd3, 0x0, 0x97, 0xa, 0xfb, 0xff, 0xdc, 0x0, 0x97, 0xa, 0xfc, 0xff, 0x44, 0x0, 0x98, 0x0, 0x10, 0x0, 0x39, 0x0, 0x98, 0x0, 0x11, 0xff, 0xad, 0x0, 0x98, 0x0, 0x1d, 0xff, 0xdc, 0x0, 0x98, 0x0, 0x24, 0xff, 0xdc, 0x0, 0x98, 0x0, 0x39, 0xff, 0xdc, 0x0, 0x98, 0x0, 0x3b, 0xff, 0x7d, 0x0, 0x98, 0x0, 0x3c, 0xff, 0x90, 0x0, 0x98, 0x0, 0x6d, 0xff, 0xdc, 0x0, 0x98, 0x0, 0x82, 0xff, 0xdc, 0x0, 0x98, 0x0, 0x83, 0xff, 0xdc, 0x0, 0x98, 0x0, 0x84, 0xff, 0xdc, 0x0, 0x98, 0x0, 0x85, 0xff, 0xdc, 0x0, 0x98, 0x0, 0x86, 0xff, 0xdc, 0x0, 0x98, 0x0, 0x9f, 0xff, 0x90, 0x0, 0x98, 0x1, 0x3a, 0xff, 0x90, 0x0, 0x98, 0xa, 0xfa, 0xff, 0xd3, 0x0, 0x98, 0xa, 0xfb, 0xff, 0xdc, 0x0, 0x98, 0xa, 0xfc, 0xff, 0x44, 0x0, 0x9b, 0x0, 0x3d, 0xff, 0xdc, 0x0, 0x9b, 0x1, 0x3f, 0xff, 0xdc, 0x0, 0x9c, 0x0, 0x3d, 0xff, 0xdc, 0x0, 0x9c, 0x1, 0x3f, 0xff, 0xdc, 0x0, 0x9d, 0x0, 0x3d, 0xff, 0xdc, 0x0, 0x9d, 0x1, 0x3f, 0xff, 0xdc, 0x0, 0x9e, 0x0, 0x3d, 0xff, 0xdc, 0x0, 0x9e, 0x1, 0x3f, 0xff, 0xdc, 0x0, 0x9f, 0x0, 0x10, 0xff, 0xd, 0x0, 0x9f, 0x0, 0x11, 0xfe, 0x61, 0x0, 0x9f, 0x0, 0x1d, 0xfe, 0xf0, 0x0, 0x9f, 0x0, 0x24, 0xff, 0x61, 0x0, 0x9f, 0x0, 0x26, 0xff, 0x90, 0x0, 0x9f, 0x0, 0x32, 0xff, 0x90, 0x0, 0x9f, 0x0, 0x44, 0xfe, 0xe6, 0x0, 0x9f, 0x0, 0x48, 0xfe, 0xf0, 0x0, 0x9f, 0x0, 0x4c, 0xff, 0xb7, 0x0, 0x9f, 0x0, 0x52, 0xfe, 0xf0, 0x0, 0x9f, 0x0, 0x58, 0xff, 0x15, 0x0, 0x9f, 0x0, 0x6d, 0xff, 0x1f, 0x0, 0x9f, 0x0, 0x7d, 0xff, 0x6b, 0x0, 0x9f, 0x0, 0x82, 0xff, 0x61, 0x0, 0x9f, 0x0, 0x83, 0xff, 0x61, 0x0, 0x9f, 0x0, 0x84, 0xff, 0x61, 0x0, 0x9f, 0x0, 0x85, 0xff, 0x61, 0x0, 0x9f, 0x0, 0x86, 0xff, 0x61, 0x0, 0x9f, 0x0, 0x89, 0xff, 0x90, 0x0, 0x9f, 0x0, 0x94, 0xff, 0x90, 0x0, 0x9f, 0x0, 0x95, 0xff, 0x90, 0x0, 0x9f, 0x0, 0x96, 0xff, 0x90, 0x0, 0x9f, 0x0, 0x97, 0xff, 0x90, 0x0, 0x9f, 0x0, 0x98, 0xff, 0x90, 0x0, 0x9f, 0x0, 0xa2, 0xfe, 0xe6, 0x0, 0x9f, 0x0, 0xa3, 0xfe, 0xe6, 0x0, 0x9f, 0x0, 0xa4, 0xfe, 0xe6, 0x0, 0x9f, 0x0, 0xa5, 0xfe, 0xe6, 0x0, 0x9f, 0x0, 0xa6, 0xfe, 0xe6, 0x0, 0x9f, 0x0, 0xa7, 0xfe, 0xe6, 0x0, 0x9f, 0x0, 0xaa, 0xfe, 0xf0, 0x0, 0x9f, 0x0, 0xab, 0xfe, 0xf0, 0x0, 0x9f, 0x0, 0xac, 0xfe, 0xf0, 0x0, 0x9f, 0x0, 0xad, 0xfe, 0xf0, 0x0, 0x9f, 0x0, 0xb4, 0xfe, 0xf0, 0x0, 0x9f, 0x0, 0xb5, 0xfe, 0xf0, 0x0, 0x9f, 0x0, 0xb6, 0xfe, 0xf0, 0x0, 0x9f, 0x0, 0xb7, 0xfe, 0xf0, 0x0, 0x9f, 0x0, 0xb8, 0xfe, 0xf0, 0x0, 0x9f, 0x0, 0xbb, 0xff, 0x15, 0x0, 0x9f, 0x0, 0xbc, 0xff, 0x15, 0x0, 0x9f, 0x0, 0xbd, 0xff, 0x15, 0x0, 0x9f, 0x0, 0xbe, 0xff, 0x15, 0x0, 0x9f, 0x0, 0xc8, 0xff, 0x90, 0x0, 0x9f, 0x0, 0xce, 0xff, 0x90, 0x0, 0x9f, 0x0, 0xdd, 0xfe, 0xf0, 0x0, 0x9f, 0x1, 0x31, 0xff, 0x15, 0x0, 0x9f, 0xa, 0xfa, 0xff, 0x90, 0x0, 0x9f, 0xa, 0xfb, 0xff, 0xdc, 0x0, 0x9f, 0xa, 0xfc, 0xfe, 0xf8, 0x0, 0xa0, 0x0, 0x11, 0xff, 0x6b, 0x0, 0xa0, 0x0, 0x1d, 0xff, 0xb7, 0x0, 0xa0, 0xa, 0xfa, 0xff, 0xdc, 0x0, 0xa0, 0xa, 0xfc, 0xff, 0x44, 0x0, 0xa1, 0x0, 0x10, 0x0, 0x26, 0x0, 0xa1, 0xa, 0xfa, 0xff, 0x90, 0x0, 0xa1, 0xa, 0xfb, 0xff, 0x90, 0x0, 0xa1, 0xa, 0xfc, 0xff, 0xad, 0x0, 0xaa, 0x0, 0x5b, 0xff, 0xdc, 0x0, 0xab, 0x0, 0x5b, 0xff, 0xdc, 0x0, 0xac, 0x0, 0x5b, 0xff, 0xdc, 0x0, 0xad, 0x0, 0x5b, 0xff, 0xdc, 0x0, 0xb2, 0xa, 0xfa, 0xff, 0xa4, 0x0, 0xb2, 0xa, 0xfb, 0xff, 0x90, 0x0, 0xb2, 0xa, 0xfc, 0xff, 0xb7, 0x0, 0xb3, 0xa, 0xfa, 0xff, 0x6b, 0x0, 0xb3, 0xa, 0xfb, 0xff, 0x90, 0x0, 0xb3, 0xa, 0xfc, 0xff, 0xa4, 0x0, 0xb4, 0x0, 0x10, 0x0, 0x26, 0x0, 0xb4, 0x0, 0x11, 0xff, 0xdc, 0x0, 0xb4, 0x0, 0x5b, 0xff, 0xc1, 0x0, 0xb4, 0xa, 0xfa, 0xff, 0x6b, 0x0, 0xb4, 0xa, 0xfb, 0xff, 0xb7, 0x0, 0xb4, 0xa, 0xfc, 0xff, 0x7d, 0x0, 0xb5, 0x0, 0x10, 0x0, 0x26, 0x0, 0xb5, 0x0, 0x11, 0xff, 0xdc, 0x0, 0xb5, 0x0, 0x5b, 0xff, 0xc1, 0x0, 0xb5, 0xa, 0xfa, 0xff, 0x6b, 0x0, 0xb5, 0xa, 0xfb, 0xff, 0xb7, 0x0, 0xb5, 0xa, 0xfc, 0xff, 0x7d, 0x0, 0xb6, 0x0, 0x10, 0x0, 0x26, 0x0, 0xb6, 0x0, 0x11, 0xff, 0xdc, 0x0, 0xb6, 0x0, 0x5b, 0xff, 0xc1, 0x0, 0xb6, 0xa, 0xfa, 0xff, 0x6b, 0x0, 0xb6, 0xa, 0xfb, 0xff, 0xb7, 0x0, 0xb6, 0xa, 0xfc, 0xff, 0x7d, 0x0, 0xb7, 0x0, 0x10, 0x0, 0x26, 0x0, 0xb7, 0x0, 0x11, 0xff, 0xdc, 0x0, 0xb7, 0x0, 0x5b, 0xff, 0xc1, 0x0, 0xb7, 0xa, 0xfa, 0xff, 0x6b, 0x0, 0xb7, 0xa, 0xfb, 0xff, 0xb7, 0x0, 0xb7, 0xa, 0xfc, 0xff, 0x7d, 0x0, 0xb8, 0x0, 0x10, 0x0, 0x26, 0x0, 0xb8, 0x0, 0x11, 0xff, 0xdc, 0x0, 0xb8, 0x0, 0x5b, 0xff, 0xc1, 0x0, 0xb8, 0xa, 0xfa, 0xff, 0x6b, 0x0, 0xb8, 0xa, 0xfb, 0xff, 0xb7, 0x0, 0xb8, 0xa, 0xfc, 0xff, 0x7d, 0x0, 0xbf, 0x0, 0x10, 0xff, 0xdc, 0x0, 0xbf, 0x0, 0x11, 0xfe, 0xdc, 0x0, 0xbf, 0x0, 0x1d, 0xff, 0x6b, 0x0, 0xbf, 0x0, 0x6d, 0xff, 0xdc, 0x0, 0xbf, 0x0, 0x7d, 0xff, 0xdc, 0x0, 0xbf, 0xa, 0xfc, 0xfe, 0xd3, 0x0, 0xc1, 0x0, 0x10, 0xff, 0xdc, 0x0, 0xc1, 0x0, 0x11, 0xfe, 0xdc, 0x0, 0xc1, 0x0, 0x1d, 0xff, 0x6b, 0x0, 0xc1, 0x0, 0x6d, 0xff, 0xdc, 0x0, 0xc1, 0x0, 0x7d, 0xff, 0xdc, 0x0, 0xc1, 0xa, 0xfc, 0xfe, 0xd3, 0x0, 0xc2, 0x0, 0x10, 0xff, 0xd3, 0x0, 0xc2, 0x0, 0x11, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0x1d, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0x24, 0x0, 0x39, 0x0, 0xc2, 0x0, 0x26, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0x2a, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0x32, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0x34, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0x37, 0xff, 0x61, 0x0, 0xc2, 0x0, 0x39, 0xff, 0x7d, 0x0, 0xc2, 0x0, 0x3a, 0xff, 0x90, 0x0, 0xc2, 0x0, 0x3c, 0xff, 0x61, 0x0, 0xc2, 0x0, 0x46, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0x47, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0x48, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0x49, 0xff, 0xb7, 0x0, 0xc2, 0x0, 0x52, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0x54, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0x57, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0x59, 0xff, 0x88, 0x0, 0xc2, 0x0, 0x5a, 0xff, 0xad, 0x0, 0xc2, 0x0, 0x5c, 0xff, 0x75, 0x0, 0xc2, 0x0, 0x6d, 0xff, 0xb7, 0x0, 0xc2, 0x0, 0x82, 0x0, 0x39, 0x0, 0xc2, 0x0, 0x83, 0x0, 0x39, 0x0, 0xc2, 0x0, 0x84, 0x0, 0x39, 0x0, 0xc2, 0x0, 0x85, 0x0, 0x39, 0x0, 0xc2, 0x0, 0x86, 0x0, 0x39, 0x0, 0xc2, 0x0, 0x94, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0x95, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0x96, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0x97, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0x98, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0x9f, 0xff, 0x61, 0x0, 0xc2, 0x0, 0xa9, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0xaa, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0xab, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0xac, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0xad, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0xb4, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0xb5, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0xb6, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0xb7, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0xb8, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0xbf, 0xff, 0x75, 0x0, 0xc2, 0x0, 0xc1, 0xff, 0x75, 0x0, 0xc2, 0x0, 0xc2, 0x0, 0x39, 0x0, 0xc2, 0x0, 0xc4, 0x0, 0x39, 0x0, 0xc2, 0x0, 0xc6, 0x0, 0x39, 0x0, 0xc2, 0x0, 0xc8, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0xca, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0xcc, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0xcd, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0xce, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0xd1, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0xd3, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0xd5, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0xd7, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0xd9, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0xdb, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0xdd, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0xde, 0xff, 0xdc, 0x0, 0xc2, 0x0, 0xe2, 0xff, 0xdc, 0x0, 0xc2, 0x1, 0xe, 0xff, 0xdc, 0x0, 0xc2, 0x1, 0xf, 0xff, 0xdc, 0x0, 0xc2, 0x1, 0x10, 0xff, 0xdc, 0x0, 0xc2, 0x1, 0x11, 0xff, 0xdc, 0x0, 0xc2, 0x1, 0x12, 0xff, 0xdc, 0x0, 0xc2, 0x1, 0x13, 0xff, 0xdc, 0x0, 0xc2, 0x1, 0x24, 0xff, 0x61, 0x0, 0xc2, 0x1, 0x25, 0xff, 0xdc, 0x0, 0xc2, 0x1, 0x26, 0xff, 0x61, 0x0, 0xc2, 0x1, 0x27, 0xff, 0xdc, 0x0, 0xc2, 0x1, 0x36, 0xff, 0x90, 0x0, 0xc2, 0x1, 0x37, 0xff, 0xad, 0x0, 0xc2, 0x1, 0x38, 0xff, 0x61, 0x0, 0xc2, 0x1, 0x39, 0xff, 0x75, 0x0, 0xc2, 0x1, 0x3a, 0xff, 0x61, 0x0, 0xc2, 0x1, 0xf0, 0xff, 0xdc, 0x0, 0xc2, 0x1, 0xf1, 0xff, 0xdc, 0x0, 0xc2, 0x9, 0x79, 0xff, 0x90, 0x0, 0xc2, 0x9, 0x7b, 0xff, 0x90, 0x0, 0xc2, 0x9, 0x7c, 0xff, 0xad, 0x0, 0xc2, 0x9, 0x7d, 0xff, 0x90, 0x0, 0xc2, 0x9, 0x7e, 0xff, 0xad, 0x0, 0xc2, 0x9, 0xeb, 0xff, 0x61, 0x0, 0xc2, 0x9, 0xec, 0xff, 0x75, 0x0, 0xc2, 0xa, 0xfa, 0xfe, 0xf8, 0x0, 0xc2, 0xa, 0xfb, 0xff, 0x2, 0x0, 0xc2, 0xa, 0xfc, 0x0, 0x2f, 0x0, 0xc4, 0x0, 0x10, 0xff, 0xd3, 0x0, 0xc4, 0x0, 0x11, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0x1d, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0x24, 0x0, 0x39, 0x0, 0xc4, 0x0, 0x26, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0x2a, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0x32, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0x34, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0x37, 0xff, 0x61, 0x0, 0xc4, 0x0, 0x39, 0xff, 0x7d, 0x0, 0xc4, 0x0, 0x3a, 0xff, 0x90, 0x0, 0xc4, 0x0, 0x3c, 0xff, 0x61, 0x0, 0xc4, 0x0, 0x46, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0x47, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0x48, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0x49, 0xff, 0xb7, 0x0, 0xc4, 0x0, 0x52, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0x54, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0x57, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0x59, 0xff, 0x88, 0x0, 0xc4, 0x0, 0x5a, 0xff, 0xad, 0x0, 0xc4, 0x0, 0x5c, 0xff, 0x75, 0x0, 0xc4, 0x0, 0x6d, 0xff, 0xb7, 0x0, 0xc4, 0x0, 0x82, 0x0, 0x39, 0x0, 0xc4, 0x0, 0x83, 0x0, 0x39, 0x0, 0xc4, 0x0, 0x84, 0x0, 0x39, 0x0, 0xc4, 0x0, 0x85, 0x0, 0x39, 0x0, 0xc4, 0x0, 0x86, 0x0, 0x39, 0x0, 0xc4, 0x0, 0x94, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0x95, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0x96, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0x97, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0x98, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0x9f, 0xff, 0x61, 0x0, 0xc4, 0x0, 0xa9, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0xaa, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0xab, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0xac, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0xad, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0xb4, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0xb5, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0xb6, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0xb7, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0xb8, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0xbf, 0xff, 0x75, 0x0, 0xc4, 0x0, 0xc1, 0xff, 0x75, 0x0, 0xc4, 0x0, 0xc2, 0x0, 0x39, 0x0, 0xc4, 0x0, 0xc4, 0x0, 0x39, 0x0, 0xc4, 0x0, 0xc6, 0x0, 0x39, 0x0, 0xc4, 0x0, 0xc8, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0xca, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0xcc, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0xcd, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0xce, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0xd1, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0xd3, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0xd5, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0xd7, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0xd9, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0xdb, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0xdd, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0xde, 0xff, 0xdc, 0x0, 0xc4, 0x0, 0xe2, 0xff, 0xdc, 0x0, 0xc4, 0x1, 0xe, 0xff, 0xdc, 0x0, 0xc4, 0x1, 0xf, 0xff, 0xdc, 0x0, 0xc4, 0x1, 0x10, 0xff, 0xdc, 0x0, 0xc4, 0x1, 0x11, 0xff, 0xdc, 0x0, 0xc4, 0x1, 0x12, 0xff, 0xdc, 0x0, 0xc4, 0x1, 0x13, 0xff, 0xdc, 0x0, 0xc4, 0x1, 0x24, 0xff, 0x61, 0x0, 0xc4, 0x1, 0x25, 0xff, 0xdc, 0x0, 0xc4, 0x1, 0x26, 0xff, 0x61, 0x0, 0xc4, 0x1, 0x27, 0xff, 0xdc, 0x0, 0xc4, 0x1, 0x36, 0xff, 0x90, 0x0, 0xc4, 0x1, 0x37, 0xff, 0xad, 0x0, 0xc4, 0x1, 0x38, 0xff, 0x61, 0x0, 0xc4, 0x1, 0x39, 0xff, 0x75, 0x0, 0xc4, 0x1, 0x3a, 0xff, 0x61, 0x0, 0xc4, 0x1, 0xf0, 0xff, 0xdc, 0x0, 0xc4, 0x1, 0xf1, 0xff, 0xdc, 0x0, 0xc4, 0x9, 0x79, 0xff, 0x90, 0x0, 0xc4, 0x9, 0x7b, 0xff, 0x90, 0x0, 0xc4, 0x9, 0x7c, 0xff, 0xad, 0x0, 0xc4, 0x9, 0x7d, 0xff, 0x90, 0x0, 0xc4, 0x9, 0x7e, 0xff, 0xad, 0x0, 0xc4, 0x9, 0xeb, 0xff, 0x61, 0x0, 0xc4, 0x9, 0xec, 0xff, 0x75, 0x0, 0xc4, 0xa, 0xfa, 0xfe, 0xf8, 0x0, 0xc4, 0xa, 0xfb, 0xff, 0x2, 0x0, 0xc4, 0xa, 0xfc, 0x0, 0x2f, 0x0, 0xc6, 0x0, 0x10, 0xff, 0xd3, 0x0, 0xc6, 0x0, 0x11, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0x1d, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0x24, 0x0, 0x39, 0x0, 0xc6, 0x0, 0x26, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0x2a, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0x32, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0x34, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0x37, 0xff, 0x61, 0x0, 0xc6, 0x0, 0x39, 0xff, 0x7d, 0x0, 0xc6, 0x0, 0x3a, 0xff, 0x90, 0x0, 0xc6, 0x0, 0x3c, 0xff, 0x61, 0x0, 0xc6, 0x0, 0x46, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0x47, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0x48, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0x49, 0xff, 0xb7, 0x0, 0xc6, 0x0, 0x52, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0x54, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0x57, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0x59, 0xff, 0x88, 0x0, 0xc6, 0x0, 0x5a, 0xff, 0xad, 0x0, 0xc6, 0x0, 0x6d, 0xff, 0xb7, 0x0, 0xc6, 0x0, 0x82, 0x0, 0x39, 0x0, 0xc6, 0x0, 0x83, 0x0, 0x39, 0x0, 0xc6, 0x0, 0x84, 0x0, 0x39, 0x0, 0xc6, 0x0, 0x85, 0x0, 0x39, 0x0, 0xc6, 0x0, 0x86, 0x0, 0x39, 0x0, 0xc6, 0x0, 0x94, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0x95, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0x96, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0x97, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0x98, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0x9f, 0xff, 0x61, 0x0, 0xc6, 0x0, 0xa9, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0xaa, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0xab, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0xac, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0xad, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0xb4, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0xb5, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0xb6, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0xb7, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0xb8, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0xc2, 0x0, 0x39, 0x0, 0xc6, 0x0, 0xc4, 0x0, 0x39, 0x0, 0xc6, 0x0, 0xc6, 0x0, 0x39, 0x0, 0xc6, 0x0, 0xc8, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0xca, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0xcc, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0xcd, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0xce, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0xd1, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0xd3, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0xd5, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0xd7, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0xd9, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0xdb, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0xdd, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0xde, 0xff, 0xdc, 0x0, 0xc6, 0x0, 0xe2, 0xff, 0xdc, 0x0, 0xc6, 0x1, 0xe, 0xff, 0xdc, 0x0, 0xc6, 0x1, 0xf, 0xff, 0xdc, 0x0, 0xc6, 0x1, 0x10, 0xff, 0xdc, 0x0, 0xc6, 0x1, 0x11, 0xff, 0xdc, 0x0, 0xc6, 0x1, 0x13, 0xff, 0xdc, 0x0, 0xc6, 0x1, 0x24, 0xff, 0x61, 0x0, 0xc6, 0x1, 0x25, 0xff, 0xdc, 0x0, 0xc6, 0x1, 0x26, 0xff, 0x61, 0x0, 0xc6, 0x1, 0x27, 0xff, 0xdc, 0x0, 0xc6, 0x1, 0x36, 0xff, 0x90, 0x0, 0xc6, 0x1, 0x37, 0xff, 0xad, 0x0, 0xc6, 0x1, 0x38, 0xff, 0x61, 0x0, 0xc6, 0x1, 0x3a, 0xff, 0x61, 0x0, 0xc6, 0x1, 0xf0, 0xff, 0xdc, 0x0, 0xc6, 0x1, 0xf1, 0xff, 0xdc, 0x0, 0xc6, 0x9, 0x79, 0xff, 0x90, 0x0, 0xc6, 0x9, 0x7b, 0xff, 0x90, 0x0, 0xc6, 0x9, 0x7c, 0xff, 0xad, 0x0, 0xc6, 0x9, 0x7d, 0xff, 0x90, 0x0, 0xc6, 0x9, 0x7e, 0xff, 0xad, 0x0, 0xc6, 0x9, 0xeb, 0xff, 0x61, 0x0, 0xc6, 0xa, 0xfa, 0xfe, 0xf8, 0x0, 0xc6, 0xa, 0xfb, 0xff, 0x2, 0x0, 0xc6, 0xa, 0xfc, 0x0, 0x2f, 0x0, 0xc8, 0x0, 0x3c, 0xff, 0xdc, 0x0, 0xc8, 0x0, 0x6d, 0xff, 0xdc, 0x0, 0xc8, 0x0, 0x7d, 0xff, 0xdc, 0x0, 0xc8, 0x0, 0x9f, 0xff, 0xdc, 0x0, 0xc8, 0x1, 0x3a, 0xff, 0xdc, 0x0, 0xc8, 0xa, 0xfb, 0x0, 0x26, 0x0, 0xce, 0x0, 0x3c, 0xff, 0xdc, 0x0, 0xce, 0x0, 0x6d, 0xff, 0xdc, 0x0, 0xce, 0x0, 0x7d, 0xff, 0xdc, 0x0, 0xce, 0x0, 0x9f, 0xff, 0xdc, 0x0, 0xce, 0x1, 0x3a, 0xff, 0xdc, 0x0, 0xce, 0xa, 0xfb, 0x0, 0x26, 0x0, 0xd0, 0x0, 0x24, 0xff, 0xdc, 0x0, 0xd0, 0x0, 0x39, 0xff, 0xdc, 0x0, 0xd0, 0x0, 0x3c, 0xff, 0x90, 0x0, 0xd0, 0x0, 0x6d, 0xff, 0xdc, 0x0, 0xd0, 0x0, 0x7d, 0xff, 0xdc, 0x0, 0xd0, 0x0, 0x82, 0xff, 0xdc, 0x0, 0xd0, 0x0, 0x83, 0xff, 0xdc, 0x0, 0xd0, 0x0, 0x84, 0xff, 0xdc, 0x0, 0xd0, 0x0, 0x85, 0xff, 0xdc, 0x0, 0xd0, 0x0, 0x86, 0xff, 0xdc, 0x0, 0xd0, 0x0, 0x9f, 0xff, 0x90, 0x0, 0xd0, 0x0, 0xc2, 0xff, 0xdc, 0x0, 0xd0, 0x0, 0xc4, 0xff, 0xdc, 0x0, 0xd0, 0x0, 0xc6, 0xff, 0xdc, 0x0, 0xd0, 0x1, 0x38, 0xff, 0x90, 0x0, 0xd0, 0x1, 0x3a, 0xff, 0x90, 0x0, 0xd0, 0x1, 0xf4, 0xff, 0x90, 0x0, 0xd0, 0x9, 0xeb, 0xff, 0x90, 0x0, 0xd0, 0xa, 0xfa, 0xff, 0xd3, 0x0, 0xd0, 0xa, 0xfb, 0xff, 0xc9, 0x0, 0xd0, 0xa, 0xfc, 0xff, 0x44, 0x0, 0xd2, 0x0, 0x24, 0xff, 0xdc, 0x0, 0xd2, 0x0, 0x39, 0xff, 0xdc, 0x0, 0xd2, 0x0, 0x3c, 0xff, 0x90, 0x0, 0xd2, 0x0, 0x6d, 0xff, 0xdc, 0x0, 0xd2, 0x0, 0x7d, 0xff, 0xdc, 0x0, 0xd2, 0x0, 0x82, 0xff, 0xdc, 0x0, 0xd2, 0x0, 0x83, 0xff, 0xdc, 0x0, 0xd2, 0x0, 0x84, 0xff, 0xdc, 0x0, 0xd2, 0x0, 0x85, 0xff, 0xdc, 0x0, 0xd2, 0x0, 0x86, 0xff, 0xdc, 0x0, 0xd2, 0x0, 0x9f, 0xff, 0x90, 0x0, 0xd2, 0x1, 0x3a, 0xff, 0x90, 0x0, 0xd2, 0xa, 0xfa, 0xff, 0xd3, 0x0, 0xd2, 0xa, 0xfb, 0xff, 0xc9, 0x0, 0xd2, 0xa, 0xfc, 0xff, 0x44, 0x0, 0xdd, 0x0, 0x5b, 0xff, 0xdc, 0x0, 0xe0, 0x0, 0x37, 0xff, 0xb7, 0x0, 0xe0, 0x0, 0x3c, 0xff, 0x9a, 0x0, 0xe0, 0x0, 0x6d, 0xff, 0xdc, 0x0, 0xe0, 0x0, 0x7d, 0xff, 0xdc, 0x0, 0xe0, 0x0, 0x9f, 0xff, 0x9a, 0x0, 0xe0, 0x1, 0x26, 0xff, 0xb7, 0x0, 0xe0, 0x1, 0x3a, 0xff, 0x9a, 0x0, 0xe0, 0xa, 0xfa, 0xff, 0xd3, 0x0, 0xe0, 0xa, 0xfb, 0xff, 0xd3, 0x0, 0xe0, 0xa, 0xfc, 0xff, 0xc9, 0x0, 0xfb, 0x0, 0x10, 0xff, 0xdc, 0x0, 0xfb, 0x0, 0x24, 0x0, 0x2f, 0x0, 0xfb, 0x0, 0x32, 0xff, 0xb7, 0x0, 0xfb, 0x0, 0x37, 0xfe, 0xe6, 0x0, 0xfb, 0x0, 0x38, 0xff, 0x9a, 0x0, 0xfb, 0x0, 0x39, 0xff, 0x1f, 0x0, 0xfb, 0x0, 0x3a, 0xff, 0x44, 0x0, 0xfb, 0x0, 0x3c, 0xfe, 0xf0, 0x0, 0xfb, 0x0, 0x48, 0xff, 0xdc, 0x0, 0xfb, 0x0, 0x52, 0xff, 0xdc, 0x0, 0xfb, 0x0, 0x58, 0xff, 0xdc, 0x0, 0xfb, 0x0, 0x5c, 0xff, 0x44, 0x0, 0xfb, 0x0, 0x82, 0x0, 0x2f, 0x0, 0xfb, 0x0, 0x83, 0x0, 0x2f, 0x0, 0xfb, 0x0, 0x84, 0x0, 0x2f, 0x0, 0xfb, 0x0, 0x85, 0x0, 0x2f, 0x0, 0xfb, 0x0, 0x86, 0x0, 0x2f, 0x0, 0xfb, 0x0, 0x94, 0xff, 0xb7, 0x0, 0xfb, 0x0, 0x95, 0xff, 0xb7, 0x0, 0xfb, 0x0, 0x96, 0xff, 0xb7, 0x0, 0xfb, 0x0, 0x97, 0xff, 0xb7, 0x0, 0xfb, 0x0, 0x98, 0xff, 0xb7, 0x0, 0xfb, 0x0, 0x9b, 0xff, 0x9a, 0x0, 0xfb, 0x0, 0x9c, 0xff, 0x9a, 0x0, 0xfb, 0x0, 0x9d, 0xff, 0x9a, 0x0, 0xfb, 0x0, 0x9e, 0xff, 0x9a, 0x0, 0xfb, 0x0, 0x9f, 0xfe, 0xf0, 0x0, 0xfb, 0x0, 0xaa, 0xff, 0xdc, 0x0, 0xfb, 0x0, 0xab, 0xff, 0xdc, 0x0, 0xfb, 0x0, 0xac, 0xff, 0xdc, 0x0, 0xfb, 0x0, 0xad, 0xff, 0xdc, 0x0, 0xfb, 0x0, 0xb4, 0xff, 0xdc, 0x0, 0xfb, 0x0, 0xb5, 0xff, 0xdc, 0x0, 0xfb, 0x0, 0xb6, 0xff, 0xdc, 0x0, 0xfb, 0x0, 0xb7, 0xff, 0xdc, 0x0, 0xfb, 0x0, 0xb8, 0xff, 0xdc, 0x0, 0xfb, 0x0, 0xbb, 0xff, 0xdc, 0x0, 0xfb, 0x0, 0xbc, 0xff, 0xdc, 0x0, 0xfb, 0x0, 0xbd, 0xff, 0xdc, 0x0, 0xfb, 0x0, 0xbe, 0xff, 0xdc, 0x0, 0xfb, 0x0, 0xbf, 0xff, 0x44, 0x0, 0xfb, 0x0, 0xc1, 0xff, 0x44, 0x0, 0xfb, 0x0, 0xdd, 0xff, 0xdc, 0x0, 0xfb, 0x1, 0x26, 0xfe, 0xe6, 0x0, 0xfb, 0x1, 0x30, 0xff, 0x9a, 0x0, 0xfb, 0x1, 0x31, 0xff, 0xdc, 0x0, 0xfb, 0x1, 0x3a, 0xfe, 0xf0, 0x0, 0xfb, 0xa, 0xfa, 0xfe, 0x61, 0x0, 0xfb, 0xa, 0xfb, 0xfd, 0xe6, 0x0, 0xff, 0x0, 0x10, 0xff, 0xdc, 0x0, 0xff, 0x0, 0x24, 0x0, 0x2f, 0x0, 0xff, 0x0, 0x32, 0xff, 0xb7, 0x0, 0xff, 0x0, 0x37, 0xfe, 0xe6, 0x0, 0xff, 0x0, 0x38, 0xff, 0x9a, 0x0, 0xff, 0x0, 0x39, 0xff, 0x1f, 0x0, 0xff, 0x0, 0x3a, 0xff, 0x44, 0x0, 0xff, 0x0, 0x3c, 0xfe, 0xf0, 0x0, 0xff, 0x0, 0x48, 0xff, 0xdc, 0x0, 0xff, 0x0, 0x52, 0xff, 0xdc, 0x0, 0xff, 0x0, 0x58, 0xff, 0xdc, 0x0, 0xff, 0x0, 0x5c, 0xff, 0x44, 0x0, 0xff, 0x0, 0x82, 0x0, 0x2f, 0x0, 0xff, 0x0, 0x83, 0x0, 0x2f, 0x0, 0xff, 0x0, 0x84, 0x0, 0x2f, 0x0, 0xff, 0x0, 0x85, 0x0, 0x2f, 0x0, 0xff, 0x0, 0x86, 0x0, 0x2f, 0x0, 0xff, 0x0, 0x94, 0xff, 0xb7, 0x0, 0xff, 0x0, 0x95, 0xff, 0xb7, 0x0, 0xff, 0x0, 0x96, 0xff, 0xb7, 0x0, 0xff, 0x0, 0x97, 0xff, 0xb7, 0x0, 0xff, 0x0, 0x98, 0xff, 0xb7, 0x0, 0xff, 0x0, 0x9b, 0xff, 0x9a, 0x0, 0xff, 0x0, 0x9c, 0xff, 0x9a, 0x0, 0xff, 0x0, 0x9d, 0xff, 0x9a, 0x0, 0xff, 0x0, 0x9e, 0xff, 0x9a, 0x0, 0xff, 0x0, 0x9f, 0xfe, 0xf0, 0x0, 0xff, 0x0, 0xaa, 0xff, 0xdc, 0x0, 0xff, 0x0, 0xab, 0xff, 0xdc, 0x0, 0xff, 0x0, 0xac, 0xff, 0xdc, 0x0, 0xff, 0x0, 0xad, 0xff, 0xdc, 0x0, 0xff, 0x0, 0xb4, 0xff, 0xdc, 0x0, 0xff, 0x0, 0xb5, 0xff, 0xdc, 0x0, 0xff, 0x0, 0xb6, 0xff, 0xdc, 0x0, 0xff, 0x0, 0xb7, 0xff, 0xdc, 0x0, 0xff, 0x0, 0xb8, 0xff, 0xdc, 0x0, 0xff, 0x0, 0xbb, 0xff, 0xdc, 0x0, 0xff, 0x0, 0xbc, 0xff, 0xdc, 0x0, 0xff, 0x0, 0xbd, 0xff, 0xdc, 0x0, 0xff, 0x0, 0xbe, 0xff, 0xdc, 0x0, 0xff, 0x0, 0xbf, 0xff, 0x44, 0x0, 0xff, 0x0, 0xc1, 0xff, 0x44, 0x0, 0xff, 0x0, 0xdd, 0xff, 0xdc, 0x0, 0xff, 0x1, 0x26, 0xfe, 0xe6, 0x0, 0xff, 0x1, 0x30, 0xff, 0x9a, 0x0, 0xff, 0x1, 0x31, 0xff, 0xdc, 0x0, 0xff, 0x1, 0x3a, 0xfe, 0xf0, 0x0, 0xff, 0xa, 0xfa, 0xfe, 0x61, 0x0, 0xff, 0xa, 0xfb, 0xfd, 0xe6, 0x1, 0x2, 0x0, 0x4f, 0xff, 0x3f, 0x1, 0xa, 0xa, 0xfa, 0xff, 0x6b, 0x1, 0xa, 0xa, 0xfb, 0xff, 0x90, 0x1, 0xa, 0xa, 0xfc, 0xff, 0xa4, 0x1, 0x16, 0x0, 0x10, 0xff, 0xad, 0x1, 0x16, 0x0, 0x11, 0xff, 0xb7, 0x1, 0x16, 0x0, 0x1d, 0xff, 0xc1, 0x1, 0x16, 0x0, 0x24, 0xff, 0xad, 0x1, 0x16, 0x0, 0x26, 0xff, 0x9a, 0x1, 0x16, 0x0, 0x37, 0xff, 0x6b, 0x1, 0x16, 0x0, 0x39, 0xff, 0x90, 0x1, 0x16, 0x0, 0x3a, 0xff, 0xad, 0x1, 0x16, 0x0, 0x3c, 0xff, 0x7d, 0x1, 0x16, 0x0, 0x44, 0xff, 0xd3, 0x1, 0x16, 0x0, 0x48, 0xff, 0xa4, 0x1, 0x16, 0x0, 0x52, 0xff, 0xa4, 0x1, 0x16, 0x0, 0x58, 0xff, 0xa4, 0x1, 0x16, 0x0, 0x5c, 0xff, 0x90, 0x1, 0x16, 0x0, 0x6d, 0xff, 0x90, 0x1, 0x16, 0x0, 0x7d, 0xff, 0xdc, 0x1, 0x16, 0x0, 0x82, 0xff, 0xad, 0x1, 0x16, 0x0, 0x83, 0xff, 0xad, 0x1, 0x16, 0x0, 0x84, 0xff, 0xad, 0x1, 0x16, 0x0, 0x85, 0xff, 0xad, 0x1, 0x16, 0x0, 0x86, 0xff, 0xad, 0x1, 0x16, 0x0, 0x89, 0xff, 0x9a, 0x1, 0x16, 0x0, 0x9f, 0xff, 0x7d, 0x1, 0x16, 0x0, 0xa2, 0xff, 0xd3, 0x1, 0x16, 0x0, 0xa3, 0xff, 0xd3, 0x1, 0x16, 0x0, 0xa4, 0xff, 0xd3, 0x1, 0x16, 0x0, 0xa5, 0xff, 0xd3, 0x1, 0x16, 0x0, 0xa6, 0xff, 0xd3, 0x1, 0x16, 0x0, 0xa7, 0xff, 0xd3, 0x1, 0x16, 0x0, 0xaa, 0xff, 0xa4, 0x1, 0x16, 0x0, 0xab, 0xff, 0xa4, 0x1, 0x16, 0x0, 0xac, 0xff, 0xa4, 0x1, 0x16, 0x0, 0xad, 0xff, 0xa4, 0x1, 0x16, 0x0, 0xb4, 0xff, 0xa4, 0x1, 0x16, 0x0, 0xb5, 0xff, 0xa4, 0x1, 0x16, 0x0, 0xb6, 0xff, 0xa4, 0x1, 0x16, 0x0, 0xb7, 0xff, 0xa4, 0x1, 0x16, 0x0, 0xb8, 0xff, 0xa4, 0x1, 0x16, 0x0, 0xbb, 0xff, 0xa4, 0x1, 0x16, 0x0, 0xbc, 0xff, 0xa4, 0x1, 0x16, 0x0, 0xbd, 0xff, 0xa4, 0x1, 0x16, 0x0, 0xbe, 0xff, 0xa4, 0x1, 0x16, 0x0, 0xbf, 0xff, 0x90, 0x1, 0x16, 0x0, 0xc1, 0xff, 0x90, 0x1, 0x16, 0x0, 0xc8, 0xff, 0x9a, 0x1, 0x16, 0x0, 0xce, 0xff, 0x9a, 0x1, 0x16, 0x0, 0xdd, 0xff, 0xa4, 0x1, 0x16, 0x1, 0x26, 0xff, 0x6b, 0x1, 0x16, 0x1, 0x31, 0xff, 0xa4, 0x1, 0x16, 0x1, 0x3a, 0xff, 0x7d, 0x1, 0x16, 0xa, 0xfa, 0xff, 0x6b, 0x1, 0x16, 0xa, 0xfb, 0xff, 0x7d, 0x1, 0x16, 0xa, 0xfc, 0xff, 0xdc, 0x1, 0x17, 0x0, 0x10, 0xff, 0x7d, 0x1, 0x17, 0x0, 0x11, 0xff, 0x44, 0x1, 0x17, 0x0, 0x1d, 0xff, 0xdc, 0x1, 0x17, 0x0, 0x46, 0xff, 0xd3, 0x1, 0x17, 0x0, 0x47, 0xff, 0xdc, 0x1, 0x17, 0x0, 0x48, 0xff, 0xd3, 0x1, 0x17, 0x0, 0x4a, 0xff, 0xdc, 0x1, 0x17, 0x0, 0x4b, 0xff, 0xdc, 0x1, 0x17, 0x0, 0x50, 0xff, 0xdc, 0x1, 0x17, 0x0, 0x51, 0xff, 0xdc, 0x1, 0x17, 0x0, 0x52, 0xff, 0xd3, 0x1, 0x17, 0x0, 0x54, 0xff, 0xdc, 0x1, 0x17, 0x0, 0x55, 0xff, 0xdc, 0x1, 0x17, 0x0, 0x5b, 0xff, 0xc9, 0x1, 0x17, 0x0, 0x6d, 0xff, 0xb7, 0x1, 0x17, 0x0, 0xa9, 0xff, 0xd3, 0x1, 0x17, 0x0, 0xaa, 0xff, 0xd3, 0x1, 0x17, 0x0, 0xab, 0xff, 0xd3, 0x1, 0x17, 0x0, 0xac, 0xff, 0xd3, 0x1, 0x17, 0x0, 0xad, 0xff, 0xd3, 0x1, 0x17, 0x0, 0xb3, 0xff, 0xdc, 0x1, 0x17, 0x0, 0xb4, 0xff, 0xd3, 0x1, 0x17, 0x0, 0xb5, 0xff, 0xd3, 0x1, 0x17, 0x0, 0xb6, 0xff, 0xd3, 0x1, 0x17, 0x0, 0xb7, 0xff, 0xd3, 0x1, 0x17, 0x0, 0xb8, 0xff, 0xd3, 0x1, 0x17, 0x0, 0xc9, 0xff, 0xd3, 0x1, 0x17, 0x0, 0xcf, 0xff, 0xd3, 0x1, 0x17, 0x0, 0xd1, 0x0, 0x48, 0x1, 0x17, 0x0, 0xdd, 0xff, 0xd3, 0x1, 0x17, 0x0, 0xe1, 0xff, 0xdc, 0x1, 0x17, 0x1, 0xa, 0xff, 0xdc, 0x1, 0x17, 0x1, 0x17, 0xff, 0xdc, 0x1, 0x17, 0x1, 0x1b, 0xff, 0xdc, 0x1, 0x17, 0xa, 0xfb, 0x0, 0x56, 0x1, 0x17, 0xa, 0xfc, 0xfe, 0xc9, 0x1, 0x1a, 0x0, 0x10, 0xff, 0xad, 0x1, 0x1a, 0x0, 0x11, 0xff, 0xb7, 0x1, 0x1a, 0x0, 0x1d, 0xff, 0xc1, 0x1, 0x1a, 0x0, 0x24, 0xff, 0xad, 0x1, 0x1a, 0x0, 0x26, 0xff, 0x9a, 0x1, 0x1a, 0x0, 0x37, 0xff, 0x6b, 0x1, 0x1a, 0x0, 0x39, 0xff, 0x90, 0x1, 0x1a, 0x0, 0x3a, 0xff, 0xad, 0x1, 0x1a, 0x0, 0x3c, 0xff, 0x7d, 0x1, 0x1a, 0x0, 0x44, 0xff, 0xd3, 0x1, 0x1a, 0x0, 0x48, 0xff, 0xa4, 0x1, 0x1a, 0x0, 0x52, 0xff, 0xa4, 0x1, 0x1a, 0x0, 0x58, 0xff, 0xa4, 0x1, 0x1a, 0x0, 0x5c, 0xff, 0x90, 0x1, 0x1a, 0x0, 0x6d, 0xff, 0x90, 0x1, 0x1a, 0x0, 0x7d, 0xff, 0xdc, 0x1, 0x1a, 0x0, 0x82, 0xff, 0xad, 0x1, 0x1a, 0x0, 0x83, 0xff, 0xad, 0x1, 0x1a, 0x0, 0x84, 0xff, 0xad, 0x1, 0x1a, 0x0, 0x85, 0xff, 0xad, 0x1, 0x1a, 0x0, 0x86, 0xff, 0xad, 0x1, 0x1a, 0x0, 0x89, 0xff, 0x9a, 0x1, 0x1a, 0x0, 0x9f, 0xff, 0x7d, 0x1, 0x1a, 0x0, 0xa2, 0xff, 0xd3, 0x1, 0x1a, 0x0, 0xa3, 0xff, 0xd3, 0x1, 0x1a, 0x0, 0xa4, 0xff, 0xd3, 0x1, 0x1a, 0x0, 0xa5, 0xff, 0xd3, 0x1, 0x1a, 0x0, 0xa6, 0xff, 0xd3, 0x1, 0x1a, 0x0, 0xa7, 0xff, 0xd3, 0x1, 0x1a, 0x0, 0xaa, 0xff, 0xa4, 0x1, 0x1a, 0x0, 0xab, 0xff, 0xa4, 0x1, 0x1a, 0x0, 0xac, 0xff, 0xa4, 0x1, 0x1a, 0x0, 0xad, 0xff, 0xa4, 0x1, 0x1a, 0x0, 0xb4, 0xff, 0xa4, 0x1, 0x1a, 0x0, 0xb5, 0xff, 0xa4, 0x1, 0x1a, 0x0, 0xb6, 0xff, 0xa4, 0x1, 0x1a, 0x0, 0xb7, 0xff, 0xa4, 0x1, 0x1a, 0x0, 0xb8, 0xff, 0xa4, 0x1, 0x1a, 0x0, 0xbb, 0xff, 0xa4, 0x1, 0x1a, 0x0, 0xbc, 0xff, 0xa4, 0x1, 0x1a, 0x0, 0xbd, 0xff, 0xa4, 0x1, 0x1a, 0x0, 0xbe, 0xff, 0xa4, 0x1, 0x1a, 0x0, 0xbf, 0xff, 0x90, 0x1, 0x1a, 0x0, 0xc1, 0xff, 0x90, 0x1, 0x1a, 0x0, 0xc8, 0xff, 0x9a, 0x1, 0x1a, 0x0, 0xce, 0xff, 0x9a, 0x1, 0x1a, 0x0, 0xdd, 0xff, 0xa4, 0x1, 0x1a, 0x1, 0x26, 0xff, 0x6b, 0x1, 0x1a, 0x1, 0x31, 0xff, 0xa4, 0x1, 0x1a, 0x1, 0x3a, 0xff, 0x7d, 0x1, 0x1a, 0xa, 0xfa, 0xff, 0x6b, 0x1, 0x1a, 0xa, 0xfb, 0xff, 0x7d, 0x1, 0x1a, 0xa, 0xfc, 0xff, 0xdc, 0x1, 0x1b, 0x0, 0x10, 0xff, 0x7d, 0x1, 0x1b, 0x0, 0x11, 0xff, 0x44, 0x1, 0x1b, 0x0, 0x1d, 0xff, 0xdc, 0x1, 0x1b, 0x0, 0x46, 0xff, 0xd3, 0x1, 0x1b, 0x0, 0x47, 0xff, 0xdc, 0x1, 0x1b, 0x0, 0x48, 0xff, 0xd3, 0x1, 0x1b, 0x0, 0x4a, 0xff, 0xdc, 0x1, 0x1b, 0x0, 0x4b, 0xff, 0xdc, 0x1, 0x1b, 0x0, 0x50, 0xff, 0xdc, 0x1, 0x1b, 0x0, 0x51, 0xff, 0xdc, 0x1, 0x1b, 0x0, 0x52, 0xff, 0xd3, 0x1, 0x1b, 0x0, 0x54, 0xff, 0xdc, 0x1, 0x1b, 0x0, 0x55, 0xff, 0xdc, 0x1, 0x1b, 0x0, 0x5b, 0xff, 0xc9, 0x1, 0x1b, 0x0, 0x6d, 0xff, 0xb7, 0x1, 0x1b, 0x0, 0xa9, 0xff, 0xd3, 0x1, 0x1b, 0x0, 0xaa, 0xff, 0xd3, 0x1, 0x1b, 0x0, 0xab, 0xff, 0xd3, 0x1, 0x1b, 0x0, 0xac, 0xff, 0xd3, 0x1, 0x1b, 0x0, 0xad, 0xff, 0xd3, 0x1, 0x1b, 0x0, 0xb3, 0xff, 0xdc, 0x1, 0x1b, 0x0, 0xb4, 0xff, 0xd3, 0x1, 0x1b, 0x0, 0xb5, 0xff, 0xd3, 0x1, 0x1b, 0x0, 0xb6, 0xff, 0xd3, 0x1, 0x1b, 0x0, 0xb7, 0xff, 0xd3, 0x1, 0x1b, 0x0, 0xb8, 0xff, 0xd3, 0x1, 0x1b, 0x0, 0xc9, 0xff, 0xd3, 0x1, 0x1b, 0x0, 0xcf, 0xff, 0xd3, 0x1, 0x1b, 0x0, 0xd1, 0xff, 0xdc, 0x1, 0x1b, 0x0, 0xdd, 0xff, 0xd3, 0x1, 0x1b, 0x0, 0xe1, 0xff, 0xdc, 0x1, 0x1b, 0x1, 0xa, 0xff, 0xdc, 0x1, 0x1b, 0x1, 0x17, 0xff, 0xdc, 0x1, 0x1b, 0x1, 0x1b, 0xff, 0xdc, 0x1, 0x1b, 0xa, 0xfb, 0x0, 0x56, 0x1, 0x1b, 0xa, 0xfc, 0xfe, 0xc9, 0x1, 0x20, 0x0, 0x24, 0x0, 0x26, 0x1, 0x20, 0x0, 0x82, 0x0, 0x26, 0x1, 0x20, 0x0, 0x83, 0x0, 0x26, 0x1, 0x20, 0x0, 0x84, 0x0, 0x26, 0x1, 0x20, 0x0, 0x85, 0x0, 0x26, 0x1, 0x20, 0x0, 0x86, 0x0, 0x26, 0x1, 0x22, 0x0, 0x24, 0x0, 0x26, 0x1, 0x22, 0x0, 0x82, 0x0, 0x26, 0x1, 0x22, 0x0, 0x83, 0x0, 0x26, 0x1, 0x22, 0x0, 0x84, 0x0, 0x26, 0x1, 0x22, 0x0, 0x85, 0x0, 0x26, 0x1, 0x22, 0x0, 0x86, 0x0, 0x26, 0x1, 0x26, 0x0, 0x10, 0xff, 0x44, 0x1, 0x26, 0x0, 0x11, 0xff, 0xd, 0x1, 0x26, 0x0, 0x1d, 0xff, 0x1f, 0x1, 0x26, 0x0, 0x24, 0xff, 0x61, 0x1, 0x26, 0x0, 0x26, 0xff, 0x88, 0x1, 0x26, 0x0, 0x37, 0xff, 0xdc, 0x1, 0x26, 0x0, 0x44, 0xfe, 0xad, 0x1, 0x26, 0x0, 0x46, 0xfe, 0xa4, 0x1, 0x26, 0x0, 0x48, 0xfe, 0xa4, 0x1, 0x26, 0x0, 0x4c, 0xff, 0xc1, 0x1, 0x26, 0x0, 0x52, 0xfe, 0xa4, 0x1, 0x26, 0x0, 0x55, 0xfe, 0xd3, 0x1, 0x26, 0x0, 0x56, 0xfe, 0xad, 0x1, 0x26, 0x0, 0x58, 0xfe, 0xc9, 0x1, 0x26, 0x0, 0x5a, 0xfe, 0xad, 0x1, 0x26, 0x0, 0x5c, 0xfe, 0xc1, 0x1, 0x26, 0x0, 0x6d, 0xff, 0x44, 0x1, 0x26, 0x0, 0x7d, 0xff, 0x90, 0x1, 0x26, 0x0, 0x82, 0xff, 0x61, 0x1, 0x26, 0x0, 0x83, 0xff, 0x61, 0x1, 0x26, 0x0, 0x84, 0xff, 0x61, 0x1, 0x26, 0x0, 0x85, 0xff, 0x61, 0x1, 0x26, 0x0, 0x86, 0xff, 0x61, 0x1, 0x26, 0x0, 0x89, 0xff, 0x88, 0x1, 0x26, 0x0, 0xa2, 0xfe, 0xad, 0x1, 0x26, 0x0, 0xa3, 0xfe, 0xad, 0x1, 0x26, 0x0, 0xa4, 0xfe, 0xad, 0x1, 0x26, 0x0, 0xa5, 0xfe, 0xad, 0x1, 0x26, 0x0, 0xa6, 0xfe, 0xad, 0x1, 0x26, 0x0, 0xa7, 0xfe, 0xad, 0x1, 0x26, 0x0, 0xa9, 0xfe, 0xa4, 0x1, 0x26, 0x0, 0xaa, 0xfe, 0xa4, 0x1, 0x26, 0x0, 0xab, 0xfe, 0xa4, 0x1, 0x26, 0x0, 0xac, 0xfe, 0xa4, 0x1, 0x26, 0x0, 0xad, 0xfe, 0xa4, 0x1, 0x26, 0x0, 0xb4, 0xfe, 0xa4, 0x1, 0x26, 0x0, 0xb5, 0xfe, 0xa4, 0x1, 0x26, 0x0, 0xb6, 0xfe, 0xa4, 0x1, 0x26, 0x0, 0xb7, 0xfe, 0xa4, 0x1, 0x26, 0x0, 0xb8, 0xfe, 0xa4, 0x1, 0x26, 0x0, 0xbb, 0xfe, 0xc9, 0x1, 0x26, 0x0, 0xbc, 0xfe, 0xc9, 0x1, 0x26, 0x0, 0xbd, 0xfe, 0xc9, 0x1, 0x26, 0x0, 0xbe, 0xfe, 0xc9, 0x1, 0x26, 0x0, 0xbf, 0xfe, 0xc1, 0x1, 0x26, 0x0, 0xc1, 0xfe, 0xc1, 0x1, 0x26, 0x0, 0xc8, 0xff, 0x88, 0x1, 0x26, 0x0, 0xc9, 0xfe, 0xa4, 0x1, 0x26, 0x0, 0xce, 0xff, 0x88, 0x1, 0x26, 0x0, 0xcf, 0xfe, 0xa4, 0x1, 0x26, 0x0, 0xdd, 0xfe, 0xa4, 0x1, 0x26, 0x1, 0x17, 0xfe, 0xd3, 0x1, 0x26, 0x1, 0x1b, 0xfe, 0xd3, 0x1, 0x26, 0x1, 0x21, 0xfe, 0xad, 0x1, 0x26, 0x1, 0x23, 0xfe, 0xad, 0x1, 0x26, 0x1, 0x26, 0xff, 0xdc, 0x1, 0x26, 0x1, 0x31, 0xfe, 0xc9, 0x1, 0x26, 0xa, 0xfb, 0xff, 0xd3, 0x1, 0x26, 0xa, 0xfc, 0xfe, 0xf8, 0x1, 0x30, 0x0, 0x3d, 0xff, 0xdc, 0x1, 0x30, 0x1, 0x3f, 0xff, 0xdc, 0x1, 0x3a, 0x0, 0x10, 0xff, 0xd, 0x1, 0x3a, 0x0, 0x11, 0xfe, 0x61, 0x1, 0x3a, 0x0, 0x1d, 0xfe, 0xf0, 0x1, 0x3a, 0x0, 0x24, 0xff, 0x61, 0x1, 0x3a, 0x0, 0x26, 0xff, 0x90, 0x1, 0x3a, 0x0, 0x32, 0xff, 0x90, 0x1, 0x3a, 0x0, 0x44, 0xfe, 0xe6, 0x1, 0x3a, 0x0, 0x48, 0xfe, 0xf0, 0x1, 0x3a, 0x0, 0x4c, 0xff, 0xb7, 0x1, 0x3a, 0x0, 0x52, 0xfe, 0xf0, 0x1, 0x3a, 0x0, 0x58, 0xff, 0x15, 0x1, 0x3a, 0x0, 0x6d, 0xff, 0x1f, 0x1, 0x3a, 0x0, 0x7d, 0xff, 0x6b, 0x1, 0x3a, 0x0, 0x82, 0xff, 0x61, 0x1, 0x3a, 0x0, 0x83, 0xff, 0x61, 0x1, 0x3a, 0x0, 0x84, 0xff, 0x61, 0x1, 0x3a, 0x0, 0x85, 0xff, 0x61, 0x1, 0x3a, 0x0, 0x86, 0xff, 0x61, 0x1, 0x3a, 0x0, 0x89, 0xff, 0x90, 0x1, 0x3a, 0x0, 0x94, 0xff, 0x90, 0x1, 0x3a, 0x0, 0x95, 0xff, 0x90, 0x1, 0x3a, 0x0, 0x96, 0xff, 0x90, 0x1, 0x3a, 0x0, 0x97, 0xff, 0x90, 0x1, 0x3a, 0x0, 0x98, 0xff, 0x90, 0x1, 0x3a, 0x0, 0xa2, 0xfe, 0xe6, 0x1, 0x3a, 0x0, 0xa3, 0xfe, 0xe6, 0x1, 0x3a, 0x0, 0xa4, 0xfe, 0xe6, 0x1, 0x3a, 0x0, 0xa5, 0xfe, 0xe6, 0x1, 0x3a, 0x0, 0xa6, 0xfe, 0xe6, 0x1, 0x3a, 0x0, 0xa7, 0xfe, 0xe6, 0x1, 0x3a, 0x0, 0xaa, 0xfe, 0xf0, 0x1, 0x3a, 0x0, 0xab, 0xfe, 0xf0, 0x1, 0x3a, 0x0, 0xac, 0xfe, 0xf0, 0x1, 0x3a, 0x0, 0xad, 0xfe, 0xf0, 0x1, 0x3a, 0x0, 0xb4, 0xfe, 0xf0, 0x1, 0x3a, 0x0, 0xb5, 0xfe, 0xf0, 0x1, 0x3a, 0x0, 0xb6, 0xfe, 0xf0, 0x1, 0x3a, 0x0, 0xb7, 0xfe, 0xf0, 0x1, 0x3a, 0x0, 0xb8, 0xfe, 0xf0, 0x1, 0x3a, 0x0, 0xbb, 0xff, 0x15, 0x1, 0x3a, 0x0, 0xbc, 0xff, 0x15, 0x1, 0x3a, 0x0, 0xbd, 0xff, 0x15, 0x1, 0x3a, 0x0, 0xbe, 0xff, 0x15, 0x1, 0x3a, 0x0, 0xc8, 0xff, 0x90, 0x1, 0x3a, 0x0, 0xce, 0xff, 0x90, 0x1, 0x3a, 0x0, 0xdd, 0xfe, 0xf0, 0x1, 0x3a, 0x1, 0x31, 0xff, 0x15, 0x1, 0x3a, 0xa, 0xfa, 0xff, 0x90, 0x1, 0x3a, 0xa, 0xfb, 0xff, 0xdc, 0x1, 0x3a, 0xa, 0xfc, 0xfe, 0xf8, 0x1, 0x3f, 0x0, 0x10, 0xff, 0xdc, 0x1, 0x3f, 0xa, 0xfa, 0xff, 0xdc, 0x1, 0x3f, 0xa, 0xfb, 0xff, 0xdc, 0x1, 0x3f, 0xa, 0xfc, 0xff, 0xdc, 0xa, 0xee, 0x0, 0x24, 0xff, 0xd3, 0xa, 0xee, 0x0, 0x25, 0xff, 0xb7, 0xa, 0xee, 0x0, 0x2a, 0x0, 0x4b, 0xa, 0xee, 0x0, 0x2d, 0x0, 0x72, 0xa, 0xee, 0x0, 0x32, 0x0, 0x39, 0xa, 0xee, 0x0, 0x34, 0x0, 0x4b, 0xa, 0xee, 0x0, 0x37, 0xff, 0x44, 0xa, 0xee, 0x0, 0x39, 0xff, 0x88, 0xa, 0xee, 0x0, 0x3a, 0xff, 0xad, 0xa, 0xee, 0x0, 0x3b, 0xff, 0x9a, 0xa, 0xee, 0x0, 0x3c, 0xff, 0xd, 0xa, 0xee, 0x0, 0x52, 0x0, 0x26, 0xa, 0xee, 0x0, 0x59, 0xff, 0xc9, 0xa, 0xee, 0x0, 0x5c, 0xff, 0xdc, 0xa, 0xee, 0x0, 0x82, 0xff, 0xd3, 0xa, 0xee, 0x0, 0x83, 0xff, 0xd3, 0xa, 0xee, 0x0, 0x84, 0xff, 0xd3, 0xa, 0xee, 0x0, 0x85, 0xff, 0xd3, 0xa, 0xee, 0x0, 0x86, 0xff, 0xd3, 0xa, 0xee, 0x0, 0x94, 0x0, 0x39, 0xa, 0xee, 0x0, 0x95, 0x0, 0x39, 0xa, 0xee, 0x0, 0x96, 0x0, 0x39, 0xa, 0xee, 0x0, 0x97, 0x0, 0x39, 0xa, 0xee, 0x0, 0x98, 0x0, 0x39, 0xa, 0xee, 0x0, 0x9f, 0xff, 0xd, 0xa, 0xee, 0x0, 0xb4, 0x0, 0x26, 0xa, 0xee, 0x0, 0xb5, 0x0, 0x26, 0xa, 0xee, 0x0, 0xb6, 0x0, 0x26, 0xa, 0xee, 0x0, 0xb7, 0x0, 0x26, 0xa, 0xee, 0x0, 0xb8, 0x0, 0x26, 0xa, 0xee, 0x0, 0xbf, 0xff, 0xdc, 0xa, 0xee, 0x0, 0xc1, 0xff, 0xdc, 0xa, 0xee, 0x0, 0xe0, 0x0, 0x4b, 0xa, 0xee, 0x1, 0x26, 0xff, 0x44, 0xa, 0xee, 0x1, 0x3a, 0xff, 0xd, 0xa, 0xfa, 0x0, 0x24, 0xfe, 0xf8, 0xa, 0xfa, 0x0, 0x25, 0xff, 0xc1, 0xa, 0xfa, 0x0, 0x26, 0xff, 0xb7, 0xa, 0xfa, 0x0, 0x27, 0xff, 0xc1, 0xa, 0xfa, 0x0, 0x29, 0xff, 0xc1, 0xa, 0xfa, 0x0, 0x2a, 0xff, 0xb7, 0xa, 0xfa, 0x0, 0x2b, 0xff, 0xc1, 0xa, 0xfa, 0x0, 0x2d, 0xff, 0xc1, 0xa, 0xfa, 0x0, 0x2e, 0xff, 0xc1, 0xa, 0xfa, 0x0, 0x2f, 0xff, 0xc1, 0xa, 0xfa, 0x0, 0x32, 0xff, 0xb7, 0xa, 0xfa, 0x0, 0x33, 0xff, 0xc1, 0xa, 0xfa, 0x0, 0x34, 0xff, 0xb7, 0xa, 0xfa, 0x0, 0x35, 0xff, 0xc1, 0xa, 0xfa, 0x0, 0x3b, 0xff, 0x88, 0xa, 0xfa, 0x0, 0x3d, 0xff, 0xdc, 0xa, 0xfa, 0x0, 0x49, 0xff, 0xb7, 0xa, 0xfa, 0x0, 0x51, 0xff, 0x90, 0xa, 0xfa, 0x0, 0x52, 0xff, 0x6b, 0xa, 0xfa, 0x0, 0x55, 0xff, 0x90, 0xa, 0xfa, 0x0, 0x59, 0xff, 0xb7, 0xa, 0xfa, 0x0, 0x5a, 0xff, 0xb7, 0xa, 0xfa, 0x0, 0x5c, 0xff, 0xb7, 0xa, 0xfa, 0x0, 0x82, 0xfe, 0xf8, 0xa, 0xfa, 0x0, 0x83, 0xfe, 0xf8, 0xa, 0xfa, 0x0, 0x84, 0xfe, 0xf8, 0xa, 0xfa, 0x0, 0x85, 0xfe, 0xf8, 0xa, 0xfa, 0x0, 0x86, 0xfe, 0xf8, 0xa, 0xfa, 0x0, 0x88, 0xfe, 0x7d, 0xa, 0xfa, 0x0, 0x89, 0xff, 0xb7, 0xa, 0xfa, 0x0, 0x94, 0xff, 0xb7, 0xa, 0xfa, 0x0, 0x95, 0xff, 0xb7, 0xa, 0xfa, 0x0, 0x96, 0xff, 0xb7, 0xa, 0xfa, 0x0, 0x97, 0xff, 0xb7, 0xa, 0xfa, 0x0, 0x98, 0xff, 0xb7, 0xa, 0xfa, 0x0, 0xa0, 0xff, 0xc1, 0xa, 0xfa, 0x0, 0xa1, 0xff, 0xc1, 0xa, 0xfa, 0x0, 0xb2, 0xff, 0xb7, 0xa, 0xfa, 0x0, 0xb3, 0xff, 0x90, 0xa, 0xfa, 0x0, 0xb4, 0xff, 0x6b, 0xa, 0xfa, 0x0, 0xb5, 0xff, 0x6b, 0xa, 0xfa, 0x0, 0xb6, 0xff, 0x6b, 0xa, 0xfa, 0x0, 0xb7, 0xff, 0x6b, 0xa, 0xfa, 0x0, 0xb8, 0xff, 0x6b, 0xa, 0xfa, 0x0, 0xbf, 0xff, 0xb7, 0xa, 0xfa, 0x0, 0xc1, 0xff, 0xb7, 0xa, 0xfa, 0x0, 0xc8, 0xff, 0xb7, 0xa, 0xfa, 0x0, 0xce, 0xff, 0xb7, 0xa, 0xfa, 0x0, 0xd0, 0xff, 0xc1, 0xa, 0xfa, 0x0, 0xe0, 0xff, 0xb7, 0xa, 0xfa, 0x0, 0xfb, 0xff, 0xc1, 0xa, 0xfa, 0x0, 0xff, 0xff, 0xc1, 0xa, 0xfa, 0x1, 0xa, 0xff, 0x90, 0xa, 0xfa, 0x1, 0x16, 0xff, 0xc1, 0xa, 0xfa, 0x1, 0x17, 0xff, 0x90, 0xa, 0xfa, 0x1, 0x1a, 0xff, 0xc1, 0xa, 0xfa, 0x1, 0x1b, 0xff, 0x90, 0xa, 0xfa, 0x1, 0x3f, 0xff, 0xdc, 0xa, 0xfa, 0x13, 0x14, 0xff, 0xc1, 0xa, 0xfc, 0x0, 0x24, 0x0, 0x26, 0xa, 0xfc, 0x0, 0x25, 0xff, 0xb7, 0xa, 0xfc, 0x0, 0x26, 0xff, 0x90, 0xa, 0xfc, 0x0, 0x27, 0xff, 0xb7, 0xa, 0xfc, 0x0, 0x29, 0xff, 0xb7, 0xa, 0xfc, 0x0, 0x2a, 0xff, 0xb7, 0xa, 0xfc, 0x0, 0x2b, 0xff, 0xb7, 0xa, 0xfc, 0x0, 0x2d, 0x0, 0x2f, 0xa, 0xfc, 0x0, 0x2e, 0xff, 0xb7, 0xa, 0xfc, 0x0, 0x2f, 0xff, 0xb7, 0xa, 0xfc, 0x0, 0x32, 0xff, 0x90, 0xa, 0xfc, 0x0, 0x33, 0xff, 0xb7, 0xa, 0xfc, 0x0, 0x34, 0xff, 0x90, 0xa, 0xfc, 0x0, 0x35, 0xff, 0xb7, 0xa, 0xfc, 0x0, 0x37, 0xfe, 0xe6, 0xa, 0xfc, 0x0, 0x39, 0xfe, 0x88, 0xa, 0xfc, 0x0, 0x3a, 0xff, 0x3, 0xa, 0xfc, 0x0, 0x3b, 0xff, 0xb7, 0xa, 0xfc, 0x0, 0x3c, 0xfe, 0x88, 0xa, 0xfc, 0x0, 0x49, 0xff, 0xdc, 0xa, 0xfc, 0x0, 0x51, 0xff, 0xb7, 0xa, 0xfc, 0x0, 0x52, 0xff, 0xb7, 0xa, 0xfc, 0x0, 0x55, 0xff, 0xb7, 0xa, 0xfc, 0x0, 0x59, 0xff, 0x15, 0xa, 0xfc, 0x0, 0x5a, 0xff, 0x3c, 0xa, 0xfc, 0x0, 0x5c, 0xff, 0x90, 0xa, 0xfc, 0x0, 0x82, 0x0, 0x26, 0xa, 0xfc, 0x0, 0x83, 0x0, 0x26, 0xa, 0xfc, 0x0, 0x84, 0x0, 0x26, 0xa, 0xfc, 0x0, 0x85, 0x0, 0x26, 0xa, 0xfc, 0x0, 0x86, 0x0, 0x26, 0xa, 0xfc, 0x0, 0x88, 0x0, 0x26, 0xa, 0xfc, 0x0, 0x89, 0xff, 0x90, 0xa, 0xfc, 0x0, 0x94, 0xff, 0x90, 0xa, 0xfc, 0x0, 0x95, 0xff, 0x90, 0xa, 0xfc, 0x0, 0x96, 0xff, 0x90, 0xa, 0xfc, 0x0, 0x97, 0xff, 0x90, 0xa, 0xfc, 0x0, 0x98, 0xff, 0x90, 0xa, 0xfc, 0x0, 0x9f, 0xfe, 0x88, 0xa, 0xfc, 0x0, 0xa0, 0xff, 0xb7, 0xa, 0xfc, 0x0, 0xa1, 0xff, 0xb7, 0xa, 0xfc, 0x0, 0xb2, 0xff, 0xb7, 0xa, 0xfc, 0x0, 0xb3, 0xff, 0xb7, 0xa, 0xfc, 0x0, 0xb4, 0xff, 0xb7, 0xa, 0xfc, 0x0, 0xb5, 0xff, 0xb7, 0xa, 0xfc, 0x0, 0xb6, 0xff, 0xb7, 0xa, 0xfc, 0x0, 0xb7, 0xff, 0xb7, 0xa, 0xfc, 0x0, 0xb8, 0xff, 0xb7, 0xa, 0xfc, 0x0, 0xbf, 0xff, 0x90, 0xa, 0xfc, 0x0, 0xc1, 0xff, 0x90, 0xa, 0xfc, 0x0, 0xc8, 0xff, 0x90, 0xa, 0xfc, 0x0, 0xce, 0xff, 0x90, 0xa, 0xfc, 0x0, 0xd0, 0xff, 0xb7, 0xa, 0xfc, 0x0, 0xe0, 0xff, 0xb7, 0xa, 0xfc, 0x0, 0xfb, 0xff, 0xb7, 0xa, 0xfc, 0x0, 0xff, 0xff, 0xb7, 0xa, 0xfc, 0x1, 0xa, 0xff, 0xb7, 0xa, 0xfc, 0x1, 0x16, 0xff, 0xb7, 0xa, 0xfc, 0x1, 0x17, 0xff, 0xb7, 0xa, 0xfc, 0x1, 0x1a, 0xff, 0xb7, 0xa, 0xfc, 0x1, 0x1b, 0xff, 0xb7, 0xa, 0xfc, 0x1, 0x26, 0xfe, 0xe6, 0xa, 0xfc, 0x1, 0x3a, 0xfe, 0x88, 0xa, 0xfc, 0x13, 0x14, 0xff, 0xb7, 0x12, 0xfc, 0x0, 0x10, 0xff, 0x44, 0x12, 0xfc, 0x0, 0x11, 0xff, 0xd, 0x12, 0xfc, 0x0, 0x1d, 0xff, 0x1f, 0x12, 0xfc, 0x0, 0x24, 0xff, 0x61, 0x12, 0xfc, 0x0, 0x26, 0xff, 0x88, 0x12, 0xfc, 0x0, 0x37, 0xff, 0xdc, 0x12, 0xfc, 0x0, 0x44, 0xfe, 0xad, 0x12, 0xfc, 0x0, 0x46, 0xfe, 0xa4, 0x12, 0xfc, 0x0, 0x48, 0xfe, 0xa4, 0x12, 0xfc, 0x0, 0x4c, 0xff, 0xc1, 0x12, 0xfc, 0x0, 0x52, 0xfe, 0xa4, 0x12, 0xfc, 0x0, 0x55, 0xfe, 0xd3, 0x12, 0xfc, 0x0, 0x56, 0xfe, 0xad, 0x12, 0xfc, 0x0, 0x58, 0xfe, 0xc9, 0x12, 0xfc, 0x0, 0x5a, 0xfe, 0xad, 0x12, 0xfc, 0x0, 0x5c, 0xfe, 0xc1, 0x12, 0xfc, 0x0, 0x6d, 0xff, 0x44, 0x12, 0xfc, 0x0, 0x7d, 0xff, 0x90, 0x12, 0xfc, 0x0, 0x82, 0xff, 0x61, 0x12, 0xfc, 0x0, 0x83, 0xff, 0x61, 0x12, 0xfc, 0x0, 0x84, 0xff, 0x61, 0x12, 0xfc, 0x0, 0x85, 0xff, 0x61, 0x12, 0xfc, 0x0, 0x86, 0xff, 0x61, 0x12, 0xfc, 0x0, 0x89, 0xff, 0x88, 0x12, 0xfc, 0x0, 0xa2, 0xff, 0x11, 0x12, 0xfc, 0x0, 0xa3, 0xfe, 0xad, 0x12, 0xfc, 0x0, 0xa4, 0xff, 0x11, 0x12, 0xfc, 0x0, 0xa5, 0xff, 0x11, 0x12, 0xfc, 0x0, 0xa6, 0xff, 0x11, 0x12, 0xfc, 0x0, 0xa7, 0xff, 0x11, 0x12, 0xfc, 0x0, 0xa9, 0xfe, 0xa4, 0x12, 0xfc, 0x0, 0xaa, 0xfe, 0xe0, 0x12, 0xfc, 0x0, 0xab, 0xfe, 0xa4, 0x12, 0xfc, 0x0, 0xac, 0xfe, 0xe0, 0x12, 0xfc, 0x0, 0xad, 0xfe, 0xe0, 0x12, 0xfc, 0x0, 0xb4, 0xfe, 0xf4, 0x12, 0xfc, 0x0, 0xb5, 0xfe, 0xa4, 0x12, 0xfc, 0x0, 0xb6, 0xfe, 0xf4, 0x12, 0xfc, 0x0, 0xb7, 0xfe, 0xf4, 0x12, 0xfc, 0x0, 0xb8, 0xfe, 0xf4, 0x12, 0xfc, 0x0, 0xbb, 0xfe, 0xe7, 0x12, 0xfc, 0x0, 0xbc, 0xfe, 0xc9, 0x12, 0xfc, 0x0, 0xbd, 0xfe, 0xe7, 0x12, 0xfc, 0x0, 0xbe, 0xfe, 0xe7, 0x12, 0xfc, 0x0, 0xbf, 0xfe, 0xc1, 0x12, 0xfc, 0x0, 0xc1, 0xfe, 0xc1, 0x12, 0xfc, 0x0, 0xc8, 0xff, 0x88, 0x12, 0xfc, 0x0, 0xc9, 0xfe, 0xa4, 0x12, 0xfc, 0x0, 0xce, 0xff, 0x88, 0x12, 0xfc, 0x0, 0xcf, 0xfe, 0xa4, 0x12, 0xfc, 0x0, 0xdd, 0xfe, 0xa4, 0x12, 0xfc, 0x1, 0x17, 0xfe, 0xd3, 0x12, 0xfc, 0x1, 0x1b, 0xfe, 0xd3, 0x12, 0xfc, 0x1, 0x21, 0xfe, 0xad, 0x12, 0xfc, 0x1, 0x23, 0xfe, 0xad, 0x12, 0xfc, 0x1, 0x26, 0xff, 0xdc, 0x12, 0xfc, 0x1, 0x31, 0xfe, 0xc9, 0x12, 0xfc, 0xa, 0xfb, 0xff, 0xd3, 0x12, 0xfc, 0xa, 0xfc, 0xfe, 0xf8, 0x13, 0x14, 0x0, 0x10, 0xff, 0x29, 0x13, 0x14, 0x0, 0x24, 0xff, 0xdc, 0x13, 0x14, 0x0, 0x26, 0xff, 0x90, 0x13, 0x14, 0x0, 0x32, 0xff, 0x90, 0x13, 0x14, 0x0, 0x37, 0xff, 0x61, 0x13, 0x14, 0x0, 0x38, 0xff, 0xc9, 0x13, 0x14, 0x0, 0x3a, 0xff, 0xb7, 0x13, 0x14, 0x0, 0x3c, 0xff, 0xb7, 0x13, 0x14, 0x0, 0x44, 0xff, 0xdc, 0x13, 0x14, 0x0, 0x48, 0xff, 0x9a, 0x13, 0x14, 0x0, 0x52, 0xff, 0x9a, 0x13, 0x14, 0x0, 0x58, 0xff, 0x9a, 0x13, 0x14, 0x0, 0x5c, 0xff, 0x6b, 0x13, 0x14, 0x0, 0x6d, 0xff, 0x7d, 0x13, 0x14, 0x0, 0x82, 0xff, 0xdc, 0x13, 0x14, 0x0, 0x83, 0xff, 0xdc, 0x13, 0x14, 0x0, 0x84, 0xff, 0xdc, 0x13, 0x14, 0x0, 0x85, 0xff, 0xdc, 0x13, 0x14, 0x0, 0x86, 0xff, 0xdc, 0x13, 0x14, 0x0, 0x89, 0xff, 0x90, 0x13, 0x14, 0x0, 0x94, 0xff, 0x90, 0x13, 0x14, 0x0, 0x95, 0xff, 0x90, 0x13, 0x14, 0x0, 0x96, 0xff, 0x90, 0x13, 0x14, 0x0, 0x97, 0xff, 0x90, 0x13, 0x14, 0x0, 0x98, 0xff, 0x90, 0x13, 0x14, 0x0, 0x9b, 0xff, 0xc9, 0x13, 0x14, 0x0, 0x9c, 0xff, 0xc9, 0x13, 0x14, 0x0, 0x9d, 0xff, 0xc9, 0x13, 0x14, 0x0, 0x9e, 0xff, 0xc9, 0x13, 0x14, 0x0, 0x9f, 0xff, 0xb7, 0x13, 0x14, 0x0, 0xa2, 0xff, 0xdc, 0x13, 0x14, 0x0, 0xa3, 0xff, 0xdc, 0x13, 0x14, 0x0, 0xa4, 0xff, 0xdc, 0x13, 0x14, 0x0, 0xa5, 0xff, 0xdc, 0x13, 0x14, 0x0, 0xa6, 0xff, 0xdc, 0x13, 0x14, 0x0, 0xa7, 0xff, 0xdc, 0x13, 0x14, 0x0, 0xaa, 0xff, 0x9a, 0x13, 0x14, 0x0, 0xab, 0xff, 0x9a, 0x13, 0x14, 0x0, 0xac, 0xff, 0x9a, 0x13, 0x14, 0x0, 0xad, 0xff, 0x9a, 0x13, 0x14, 0x0, 0xb4, 0xff, 0x9a, 0x13, 0x14, 0x0, 0xb5, 0xff, 0x9a, 0x13, 0x14, 0x0, 0xb6, 0xff, 0x9a, 0x13, 0x14, 0x0, 0xb7, 0xff, 0x9a, 0x13, 0x14, 0x0, 0xb8, 0xff, 0x9a, 0x13, 0x14, 0x0, 0xbb, 0xff, 0x9a, 0x13, 0x14, 0x0, 0xbc, 0xff, 0x9a, 0x13, 0x14, 0x0, 0xbd, 0xff, 0x9a, 0x13, 0x14, 0x0, 0xbe, 0xff, 0x9a, 0x13, 0x14, 0x0, 0xbf, 0xff, 0x6b, 0x13, 0x14, 0x0, 0xc1, 0xff, 0x6b, 0x13, 0x14, 0x0, 0xc8, 0xff, 0x90, 0x13, 0x14, 0x0, 0xce, 0xff, 0x90, 0x13, 0x14, 0x0, 0xdd, 0xff, 0x9a, 0x13, 0x14, 0x1, 0x26, 0xff, 0x61, 0x13, 0x14, 0x1, 0x30, 0xff, 0xc9, 0x13, 0x14, 0x1, 0x31, 0xff, 0x9a, 0x13, 0x14, 0x1, 0x3a, 0xff, 0xb7, 0x13, 0x14, 0xa, 0xfa, 0xff, 0xc1, 0x13, 0x14, 0xa, 0xfb, 0xff, 0xc1, 0x13, 0x15, 0x0, 0x44, 0xff, 0xdc, 0x13, 0x15, 0x0, 0x48, 0xff, 0xb7, 0x13, 0x15, 0x0, 0x52, 0xff, 0xb7, 0x13, 0x15, 0x0, 0x58, 0xff, 0xc1, 0x13, 0x15, 0x0, 0x5c, 0xff, 0xb7, 0x13, 0x15, 0x0, 0xa2, 0xff, 0xdc, 0x13, 0x15, 0x0, 0xa3, 0xff, 0xdc, 0x13, 0x15, 0x0, 0xa4, 0xff, 0xdc, 0x13, 0x15, 0x0, 0xa5, 0xff, 0xdc, 0x13, 0x15, 0x0, 0xa6, 0xff, 0xdc, 0x13, 0x15, 0x0, 0xa7, 0xff, 0xdc, 0x13, 0x15, 0x0, 0xaa, 0xff, 0xb7, 0x13, 0x15, 0x0, 0xab, 0xff, 0xb7, 0x13, 0x15, 0x0, 0xac, 0xff, 0xb7, 0x13, 0x15, 0x0, 0xad, 0xff, 0xb7, 0x13, 0x15, 0x0, 0xb4, 0xff, 0xb7, 0x13, 0x15, 0x0, 0xb5, 0xff, 0xb7, 0x13, 0x15, 0x0, 0xb6, 0xff, 0xb7, 0x13, 0x15, 0x0, 0xb7, 0xff, 0xb7, 0x13, 0x15, 0x0, 0xb8, 0xff, 0xb7, 0x13, 0x15, 0x0, 0xbb, 0xff, 0xc1, 0x13, 0x15, 0x0, 0xbc, 0xff, 0xc1, 0x13, 0x15, 0x0, 0xbd, 0xff, 0xc1, 0x13, 0x15, 0x0, 0xbe, 0xff, 0xc1, 0x13, 0x15, 0x0, 0xbf, 0xff, 0xb7, 0x13, 0x15, 0x0, 0xc1, 0xff, 0xb7, 0x13, 0x15, 0x0, 0xdd, 0xff, 0xb7, 0x13, 0x15, 0x1, 0x31, 0xff, 0xc1, 0x13, 0x46, 0x13, 0x5e, 0xff, 0xd8, 0x13, 0x47, 0x13, 0x5e, 0xff, 0xb1, 0x13, 0x48, 0x13, 0x5e, 0xff, 0xa3, 0x13, 0x49, 0x13, 0x5e, 0xff, 0x9c, 0x13, 0x4a, 0x13, 0x5e, 0xff, 0xd8, 0x13, 0x4c, 0x13, 0x5e, 0xff, 0xd8, 0x13, 0x4d, 0x13, 0x5e, 0xff, 0xb1, 0x13, 0x4e, 0x13, 0x5e, 0xff, 0xa3, 0x13, 0x4f, 0x13, 0x5e, 0xff, 0xb1, 0x13, 0x50, 0x13, 0x5e, 0xff, 0xd8, 0x13, 0x52, 0x13, 0x5e, 0xff, 0xd8, 0x13, 0x53, 0x13, 0x5e, 0xff, 0xb1, 0x13, 0x54, 0x13, 0x5e, 0xff, 0xa3, 0x13, 0x55, 0x13, 0x5e, 0xff, 0xb1, 0x13, 0x56, 0x13, 0x5e, 0xff, 0xd8, 0x13, 0x58, 0x13, 0x5e, 0xff, 0xd8, 0x13, 0x59, 0x13, 0x5e, 0xff, 0x9c, 0x13, 0x5a, 0x13, 0x5e, 0xff, 0xa3, 0x13, 0x5b, 0x13, 0x5e, 0xff, 0xb1, 0x13, 0x5c, 0x13, 0x5e, 0xff, 0xd8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x44, 0x0, 0x0, 0x0, 0x44, 0x0, 0x0, 0x0, 0x44, 0x0, 0x0, 0x0, 0x44, 0x0, 0x0, 0x0, 0xa8, 0x0, 0x0, 0x1, 0x14, 0x0, 0x0, 0x1, 0xec, 0x0, 0x0, 0x3, 0x44, 0x0, 0x0, 0x4, 0x6c, 0x0, 0x0, 0x6, 0xd4, 0x0, 0x0, 0x7, 0x28, 0x0, 0x0, 0x7, 0x98, 0x0, 0x0, 0x7, 0xf0, 0x0, 0x0, 0x8, 0x8c, 0x0, 0x0, 0x8, 0xe0, 0x0, 0x0, 0x9, 0x18, 0x0, 0x0, 0x9, 0x44, 0x0, 0x0, 0x9, 0x6c, 0x0, 0x0, 0x9, 0xb8, 0x0, 0x0, 0xa, 0x3c, 0x0, 0x0, 0xa, 0xac, 0x0, 0x0, 0xb, 0xac, 0x0, 0x0, 0xc, 0x94, 0x0, 0x0, 0xd, 0x50, 0x0, 0x0, 0xe, 0x10, 0x0, 0x0, 0xe, 0xe8, 0x0, 0x0, 0xf, 0x74, 0x0, 0x0, 0x10, 0x48, 0x0, 0x0, 0x11, 0x1c, 0x0, 0x0, 0x11, 0x5c, 0x0, 0x0, 0x11, 0xac, 0x0, 0x0, 0x12, 0x24, 0x0, 0x0, 0x12, 0x68, 0x0, 0x0, 0x12, 0xe0, 0x0, 0x0, 0x13, 0xb8, 0x0, 0x0, 0x15, 0x38, 0x0, 0x0, 0x16, 0x34, 0x0, 0x0, 0x16, 0xe4, 0x0, 0x0, 0x17, 0x7c, 0x0, 0x0, 0x17, 0xfc, 0x0, 0x0, 0x18, 0x5c, 0x0, 0x0, 0x18, 0xb0, 0x0, 0x0, 0x19, 0x58, 0x0, 0x0, 0x19, 0xb4, 0x0, 0x0, 0x19, 0xfc, 0x0, 0x0, 0x1a, 0x6c, 0x0, 0x0, 0x1b, 0x94, 0x0, 0x0, 0x1b, 0xd8, 0x0, 0x0, 0x1c, 0xd4, 0x0, 0x0, 0x1d, 0x7c, 0x0, 0x0, 0x1e, 0x8, 0x0, 0x0, 0x1e, 0x88, 0x0, 0x0, 0x1f, 0x54, 0x0, 0x0, 0x20, 0x68, 0x0, 0x0, 0x21, 0x60, 0x0, 0x0, 0x21, 0xd0, 0x0, 0x0, 0x22, 0x54, 0x0, 0x0, 0x23, 0x34, 0x0, 0x0, 0x24, 0xf0, 0x0, 0x0, 0x25, 0x94, 0x0, 0x0, 0x26, 0x58, 0x0, 0x0, 0x27, 0x18, 0x0, 0x0, 0x27, 0x78, 0x0, 0x0, 0x27, 0xc4, 0x0, 0x0, 0x28, 0x18, 0x0, 0x0, 0x28, 0x5c, 0x0, 0x0, 0x28, 0x88, 0x0, 0x0, 0x28, 0xd8, 0x0, 0x0, 0x2a, 0x4, 0x0, 0x0, 0x2a, 0x9c, 0x0, 0x0, 0x2b, 0x34, 0x0, 0x0, 0x2b, 0xcc, 0x0, 0x0, 0x2c, 0xa0, 0x0, 0x0, 0x2d, 0x38, 0x0, 0x0, 0x2e, 0x0, 0x0, 0x0, 0x2e, 0x78, 0x0, 0x0, 0x2e, 0xc8, 0x0, 0x0, 0x2f, 0x44, 0x0, 0x0, 0x30, 0x34, 0x0, 0x0, 0x30, 0x70, 0x0, 0x0, 0x31, 0x34, 0x0, 0x0, 0x31, 0xac, 0x0, 0x0, 0x32, 0x50, 0x0, 0x0, 0x32, 0xf0, 0x0, 0x0, 0x33, 0x90, 0x0, 0x0, 0x34, 0x0, 0x0, 0x0, 0x35, 0x60, 0x0, 0x0, 0x35, 0xdc, 0x0, 0x0, 0x36, 0x60, 0x0, 0x0, 0x37, 0x84, 0x0, 0x0, 0x39, 0xa8, 0x0, 0x0, 0x3b, 0x2c, 0x0, 0x0, 0x3c, 0xf8, 0x0, 0x0, 0x3d, 0xc4, 0x0, 0x0, 0x3e, 0xa0, 0x0, 0x0, 0x3e, 0xd0, 0x0, 0x0, 0x3f, 0xbc, 0x0, 0x0, 0x40, 0x40, 0x0, 0x0, 0x40, 0x40, 0x0, 0x0, 0x40, 0xd0, 0x0, 0x0, 0x41, 0x9c, 0x0, 0x0, 0x42, 0x54, 0x0, 0x0, 0x43, 0x6c, 0x0, 0x0, 0x44, 0x90, 0x0, 0x0, 0x44, 0xd8, 0x0, 0x0, 0x46, 0x20, 0x0, 0x0, 0x46, 0xd8, 0x0, 0x0, 0x47, 0xfc, 0x0, 0x0, 0x48, 0xd8, 0x0, 0x0, 0x49, 0xa4, 0x0, 0x0, 0x49, 0xdc, 0x0, 0x0, 0x4a, 0x8, 0x0, 0x0, 0x4b, 0x54, 0x0, 0x0, 0x4b, 0xa0, 0x0, 0x0, 0x4c, 0x18, 0x0, 0x0, 0x4c, 0x88, 0x0, 0x0, 0x4d, 0x28, 0x0, 0x0, 0x4d, 0xe4, 0x0, 0x0, 0x4e, 0x34, 0x0, 0x0, 0x4e, 0xe8, 0x0, 0x0, 0x4f, 0x44, 0x0, 0x0, 0x4f, 0x70, 0x0, 0x0, 0x4f, 0xd0, 0x0, 0x0, 0x50, 0x28, 0x0, 0x0, 0x50, 0xb0, 0x0, 0x0, 0x51, 0x80, 0x0, 0x0, 0x51, 0xa0, 0x0, 0x0, 0x51, 0xc0, 0x0, 0x0, 0x51, 0xe0, 0x0, 0x0, 0x52, 0xd8, 0x0, 0x0, 0x52, 0xf0, 0x0, 0x0, 0x53, 0x8, 0x0, 0x0, 0x53, 0x34, 0x0, 0x0, 0x53, 0x64, 0x0, 0x0, 0x53, 0x94, 0x0, 0x0, 0x54, 0xd4, 0x0, 0x0, 0x55, 0xac, 0x0, 0x0, 0x55, 0xc4, 0x0, 0x0, 0x55, 0xdc, 0x0, 0x0, 0x55, 0xf4, 0x0, 0x0, 0x56, 0x18, 0x0, 0x0, 0x56, 0x3c, 0x0, 0x0, 0x56, 0x54, 0x0, 0x0, 0x56, 0x6c, 0x0, 0x0, 0x56, 0x90, 0x0, 0x0, 0x56, 0xb4, 0x0, 0x0, 0x57, 0x80, 0x0, 0x0, 0x57, 0xb0, 0x0, 0x0, 0x57, 0xc8, 0x0, 0x0, 0x57, 0xe0, 0x0, 0x0, 0x58, 0xc, 0x0, 0x0, 0x58, 0x40, 0x0, 0x0, 0x58, 0x70, 0x0, 0x0, 0x59, 0x38, 0x0, 0x0, 0x5a, 0x70, 0x0, 0x0, 0x5a, 0x88, 0x0, 0x0, 0x5a, 0xa0, 0x0, 0x0, 0x5a, 0xd0, 0x0, 0x0, 0x5b, 0x8, 0x0, 0x0, 0x5b, 0x20, 0x0, 0x0, 0x5b, 0xa8, 0x0, 0x0, 0x5c, 0xd0, 0x0, 0x0, 0x5c, 0xf4, 0x0, 0x0, 0x5d, 0x18, 0x0, 0x0, 0x5d, 0x38, 0x0, 0x0, 0x5d, 0x64, 0x0, 0x0, 0x5d, 0x9c, 0x0, 0x0, 0x5d, 0xdc, 0x0, 0x0, 0x5f, 0x98, 0x0, 0x0, 0x5f, 0xb0, 0x0, 0x0, 0x5f, 0xc8, 0x0, 0x0, 0x5f, 0xe0, 0x0, 0x0, 0x60, 0x4, 0x0, 0x0, 0x60, 0x28, 0x0, 0x0, 0x60, 0x40, 0x0, 0x0, 0x60, 0x58, 0x0, 0x0, 0x60, 0x7c, 0x0, 0x0, 0x60, 0xa0, 0x0, 0x0, 0x62, 0x50, 0x0, 0x0, 0x62, 0x68, 0x0, 0x0, 0x62, 0x80, 0x0, 0x0, 0x62, 0x98, 0x0, 0x0, 0x62, 0xb8, 0x0, 0x0, 0x62, 0xe4, 0x0, 0x0, 0x63, 0x10, 0x0, 0x0, 0x63, 0x6c, 0x0, 0x0, 0x64, 0xe0, 0x0, 0x0, 0x64, 0xf8, 0x0, 0x0, 0x65, 0x10, 0x0, 0x0, 0x65, 0x30, 0x0, 0x0, 0x65, 0x60, 0x0, 0x0, 0x65, 0x78, 0x0, 0x0, 0x66, 0x18, 0x0, 0x0, 0x66, 0x48, 0x0, 0x0, 0x66, 0x74, 0x0, 0x0, 0x66, 0x9c, 0x0, 0x0, 0x66, 0xc8, 0x0, 0x0, 0x66, 0xe8, 0x0, 0x0, 0x67, 0x0, 0x0, 0x0, 0x67, 0x18, 0x0, 0x0, 0x67, 0x30, 0x0, 0x0, 0x67, 0x48, 0x0, 0x0, 0x67, 0x6c, 0x0, 0x0, 0x67, 0x84, 0x0, 0x0, 0x67, 0x9c, 0x0, 0x0, 0x67, 0xb4, 0x0, 0x0, 0x67, 0xd8, 0x0, 0x0, 0x67, 0xf0, 0x0, 0x0, 0x68, 0x8, 0x0, 0x0, 0x68, 0x30, 0x0, 0x0, 0x68, 0x40, 0x0, 0x0, 0x68, 0xfc, 0x0, 0x0, 0x69, 0x14, 0x0, 0x0, 0x69, 0x38, 0x0, 0x0, 0x69, 0x5c, 0x0, 0x0, 0x69, 0x80, 0x0, 0x0, 0x69, 0x98, 0x0, 0x0, 0x69, 0xb0, 0x0, 0x0, 0x69, 0xc8, 0x0, 0x0, 0x69, 0xe0, 0x0, 0x0, 0x6a, 0x4, 0x0, 0x0, 0x6a, 0x30, 0x0, 0x0, 0x6a, 0x54, 0x0, 0x0, 0x6a, 0x78, 0x0, 0x0, 0x6a, 0x90, 0x0, 0x0, 0x6a, 0xa8, 0x0, 0x0, 0x6a, 0xcc, 0x0, 0x0, 0x6a, 0xe4, 0x0, 0x0, 0x6a, 0xfc, 0x0, 0x0, 0x6b, 0x14, 0x0, 0x0, 0x6b, 0x44, 0x0, 0x0, 0x6b, 0x88, 0x0, 0x0, 0x6c, 0x10, 0x0, 0x0, 0x6c, 0xa4, 0x0, 0x0, 0x6c, 0xc8, 0x0, 0x0, 0x6c, 0xec, 0x0, 0x0, 0x6d, 0x10, 0x0, 0x0, 0x6d, 0x34, 0x0, 0x0, 0x6d, 0x58, 0x0, 0x0, 0x6d, 0x7c, 0x0, 0x0, 0x6d, 0x94, 0x0, 0x0, 0x6d, 0xac, 0x0, 0x0, 0x6d, 0xdc, 0x0, 0x0, 0x6e, 0x28, 0x0, 0x0, 0x6e, 0x4c, 0x0, 0x0, 0x6e, 0x70, 0x0, 0x0, 0x6e, 0x94, 0x0, 0x0, 0x6e, 0xb8, 0x0, 0x0, 0x6e, 0xd0, 0x0, 0x0, 0x6e, 0xe8, 0x0, 0x0, 0x6f, 0xd8, 0x0, 0x0, 0x6f, 0xf0, 0x0, 0x0, 0x70, 0x28, 0x0, 0x0, 0x70, 0x40, 0x0, 0x0, 0x70, 0x64, 0x0, 0x0, 0x70, 0x7c, 0x0, 0x0, 0x70, 0xa0, 0x0, 0x0, 0x70, 0xb8, 0x0, 0x0, 0x70, 0xec, 0x0, 0x0, 0x71, 0x68, 0x0, 0x0, 0x71, 0xf8, 0x0, 0x0, 0x72, 0x1c, 0x0, 0x0, 0x72, 0x40, 0x0, 0x0, 0x72, 0x58, 0x0, 0x0, 0x72, 0x70, 0x0, 0x0, 0x72, 0xa0, 0x0, 0x0, 0x72, 0xcc, 0x0, 0x0, 0x72, 0xe4, 0x0, 0x0, 0x73, 0x7c, 0x0, 0x0, 0x74, 0x18, 0x0, 0x0, 0x74, 0x44, 0x0, 0x0, 0x74, 0x64, 0x0, 0x0, 0x74, 0x90, 0x0, 0x0, 0x74, 0xb0, 0x0, 0x0, 0x74, 0xc8, 0x0, 0x0, 0x74, 0xe0, 0x0, 0x0, 0x75, 0x80, 0x0, 0x0, 0x76, 0xa8, 0x0, 0x0, 0x76, 0xc0, 0x0, 0x0, 0x76, 0xd8, 0x0, 0x0, 0x76, 0xf0, 0x0, 0x0, 0x77, 0x8, 0x0, 0x0, 0x77, 0x2c, 0x0, 0x0, 0x77, 0x54, 0x0, 0x0, 0x77, 0x6c, 0x0, 0x0, 0x77, 0x84, 0x0, 0x0, 0x77, 0xac, 0x0, 0x0, 0x77, 0xd0, 0x0, 0x0, 0x77, 0xe8, 0x0, 0x0, 0x78, 0x0, 0x0, 0x0, 0x78, 0x28, 0x0, 0x0, 0x78, 0x50, 0x0, 0x0, 0x78, 0x68, 0x0, 0x0, 0x78, 0x80, 0x0, 0x0, 0x78, 0xac, 0x0, 0x0, 0x78, 0xd0, 0x0, 0x0, 0x79, 0x54, 0x0, 0x0, 0x79, 0xf0, 0x0, 0x0, 0x7a, 0x1c, 0x0, 0x0, 0x7a, 0x40, 0x0, 0x0, 0x7a, 0x70, 0x0, 0x0, 0x7a, 0x94, 0x0, 0x0, 0x7a, 0xc0, 0x0, 0x0, 0x7a, 0xe4, 0x0, 0x0, 0x7a, 0xfc, 0x0, 0x0, 0x7b, 0x20, 0x0, 0x0, 0x7b, 0x38, 0x0, 0x0, 0x7b, 0x50, 0x0, 0x0, 0x7b, 0x68, 0x0, 0x0, 0x7b, 0x80, 0x0, 0x0, 0x7b, 0xa4, 0x0, 0x0, 0x7b, 0xc8, 0x0, 0x0, 0x7b, 0xec, 0x0, 0x0, 0x7c, 0xc, 0x0, 0x0, 0x7c, 0x30, 0x0, 0x0, 0x7c, 0x48, 0x0, 0x0, 0x7c, 0x60, 0x0, 0x0, 0x7c, 0x78, 0x0, 0x0, 0x7c, 0xa0, 0x0, 0x0, 0x7c, 0xb8, 0x0, 0x0, 0x7c, 0xe0, 0x0, 0x0, 0x7d, 0x38, 0x0, 0x0, 0x7e, 0x4, 0x0, 0x0, 0x7e, 0xcc, 0x0, 0x0, 0x7e, 0xdc, 0x0, 0x0, 0x7f, 0x90, 0x0, 0x0, 0x80, 0x1c, 0x0, 0x0, 0x80, 0xc4, 0x0, 0x0, 0x81, 0x54, 0x0, 0x0, 0x82, 0x14, 0x0, 0x0, 0x82, 0xd0, 0x0, 0x0, 0x82, 0xe0, 0x0, 0x0, 0x83, 0x74, 0x0, 0x0, 0x83, 0xf0, 0x0, 0x0, 0x84, 0x98, 0x0, 0x0, 0x85, 0x70, 0x0, 0x0, 0x85, 0xcc, 0x0, 0x0, 0x86, 0x7c, 0x0, 0x0, 0x87, 0x34, 0x0, 0x0, 0x87, 0xb4, 0x0, 0x0, 0x88, 0x6c, 0x0, 0x0, 0x89, 0x38, 0x0, 0x0, 0x8a, 0x4c, 0x0, 0x0, 0x8b, 0x1c, 0x0, 0x0, 0x8b, 0x78, 0x0, 0x0, 0x8b, 0xe8, 0x0, 0x0, 0x8c, 0xa4, 0x0, 0x0, 0x8d, 0xb8, 0x0, 0x0, 0x8e, 0x18, 0x0, 0x0, 0x8f, 0x0, 0x0, 0x0, 0x8f, 0xc0, 0x0, 0x0, 0x90, 0x90, 0x0, 0x0, 0x90, 0xa0, 0x0, 0x0, 0x91, 0x44, 0x0, 0x0, 0x91, 0x5c, 0x0, 0x0, 0x91, 0x74, 0x0, 0x0, 0x92, 0x1c, 0x0, 0x0, 0x92, 0xc8, 0x0, 0x0, 0x93, 0x60, 0x0, 0x0, 0x94, 0x20, 0x0, 0x0, 0x94, 0xdc, 0x0, 0x0, 0x95, 0xb0, 0x0, 0x0, 0x96, 0xf8, 0x0, 0x0, 0x97, 0x8, 0x0, 0x0, 0x97, 0xa4, 0x0, 0x0, 0x98, 0x3c, 0x0, 0x0, 0x98, 0xcc, 0x0, 0x0, 0x99, 0x68, 0x0, 0x0, 0x99, 0xf4, 0x0, 0x0, 0x9a, 0xc, 0x0, 0x0, 0x9a, 0x24, 0x0, 0x0, 0x9a, 0xd0, 0x0, 0x0, 0x9b, 0x5c, 0x0, 0x0, 0x9c, 0x18, 0x0, 0x0, 0x9d, 0xe8, 0x0, 0x0, 0x9e, 0xf0, 0x0, 0x0, 0x9f, 0xfc, 0x0, 0x0, 0xa0, 0xdc, 0x0, 0x0, 0xa1, 0xac, 0x0, 0x0, 0xa2, 0xbc, 0x0, 0x0, 0xa3, 0x28, 0x0, 0x0, 0xa3, 0x9c, 0x0, 0x0, 0xa4, 0x30, 0x0, 0x0, 0xa4, 0xbc, 0x0, 0x0, 0xa5, 0x30, 0x0, 0x0, 0xa5, 0xc4, 0x0, 0x0, 0xa6, 0x4, 0x0, 0x0, 0xa6, 0x1c, 0x0, 0x0, 0xa6, 0x9c, 0x0, 0x0, 0xa6, 0xac, 0x0, 0x0, 0xa6, 0xc4, 0x0, 0x0, 0xa6, 0xdc, 0x0, 0x0, 0xa6, 0xf4, 0x0, 0x0, 0xa7, 0xc, 0x0, 0x0, 0xa7, 0x24, 0x0, 0x0, 0xa7, 0x3c, 0x0, 0x0, 0xa7, 0x54, 0x0, 0x0, 0xa7, 0x6c, 0x0, 0x0, 0xa7, 0x84, 0x0, 0x0, 0xa7, 0xa4, 0x0, 0x0, 0xa7, 0xc4, 0x0, 0x0, 0xa7, 0xec, 0x0, 0x0, 0xa8, 0x14, 0x0, 0x0, 0xa8, 0x2c, 0x0, 0x0, 0xa8, 0x4c, 0x0, 0x0, 0xa8, 0x6c, 0x0, 0x0, 0xa8, 0x90, 0x0, 0x0, 0xa8, 0xa8, 0x0, 0x0, 0xa8, 0xc0, 0x0, 0x0, 0xa8, 0xd8, 0x0, 0x0, 0xa8, 0xf0, 0x0, 0x0, 0xa9, 0x8, 0x0, 0x0, 0xa9, 0x20, 0x0, 0x0, 0xa9, 0x38, 0x0, 0x0, 0xa9, 0x50, 0x0, 0x0, 0xa9, 0x60, 0x0, 0x0, 0xa9, 0x78, 0x0, 0x0, 0xa9, 0x90, 0x0, 0x0, 0xa9, 0xa8, 0x0, 0x0, 0xa9, 0xc0, 0x0, 0x0, 0xa9, 0xd8, 0x0, 0x0, 0xa9, 0xf0, 0x0, 0x0, 0xaa, 0xc4, 0x0, 0x0, 0xab, 0xb8, 0x0, 0x0, 0xab, 0xe4, 0x0, 0x0, 0xab, 0xfc, 0x0, 0x0, 0xac, 0x14, 0x0, 0x0, 0xac, 0x58, 0x0, 0x0, 0xac, 0x70, 0x0, 0x0, 0xac, 0x88, 0x0, 0x0, 0xac, 0xa0, 0x0, 0x0, 0xac, 0xb8, 0x0, 0x0, 0xac, 0xd0, 0x0, 0x0, 0xac, 0xe8, 0x0, 0x0, 0xad, 0x10, 0x0, 0x0, 0xad, 0x28, 0x0, 0x0, 0xad, 0x40, 0x0, 0x0, 0xad, 0x58, 0x0, 0x0, 0xad, 0x70, 0x0, 0x0, 0xad, 0x88, 0x0, 0x0, 0xae, 0x20, 0x0, 0x0, 0xae, 0xb8, 0x0, 0x0, 0xae, 0xd0, 0x0, 0x0, 0xae, 0xe8, 0x0, 0x0, 0xaf, 0x0, 0x0, 0x0, 0xaf, 0x18, 0x0, 0x0, 0xaf, 0x30, 0x0, 0x0, 0xaf, 0x48, 0x0, 0x0, 0xaf, 0x60, 0x0, 0x0, 0xaf, 0x78, 0x0, 0x0, 0xaf, 0x90, 0x0, 0x0, 0xaf, 0xa8, 0x0, 0x0, 0xaf, 0xc0, 0x0, 0x0, 0xaf, 0xd8, 0x0, 0x0, 0xaf, 0xf0, 0x0, 0x0, 0xb0, 0x8, 0x0, 0x0, 0xb0, 0x20, 0x0, 0x0, 0xb0, 0x38, 0x0, 0x0, 0xb0, 0x50, 0x0, 0x0, 0xb0, 0x68, 0x0, 0x0, 0xb0, 0x80, 0x0, 0x0, 0xb0, 0x98, 0x0, 0x0, 0xb0, 0xb0, 0x0, 0x0, 0xb0, 0xc8, 0x0, 0x0, 0xb0, 0xe0, 0x0, 0x0, 0xb0, 0xf8, 0x0, 0x0, 0xb1, 0x10, 0x0, 0x0, 0xb1, 0x28, 0x0, 0x0, 0xb1, 0x40, 0x0, 0x0, 0xb1, 0x58, 0x0, 0x0, 0xb1, 0x70, 0x0, 0x0, 0xb1, 0x88, 0x0, 0x0, 0xb1, 0xa0, 0x0, 0x0, 0xb1, 0xb8, 0x0, 0x0, 0xb1, 0xd0, 0x0, 0x0, 0xb1, 0xe8, 0x0, 0x0, 0xb2, 0x0, 0x0, 0x0, 0xb2, 0x18, 0x0, 0x0, 0xb2, 0xa4, 0x0, 0x0, 0xb3, 0x38, 0x0, 0x0, 0xb3, 0x50, 0x0, 0x0, 0xb3, 0x94, 0x0, 0x0, 0xb4, 0x8, 0x0, 0x0, 0xb4, 0xac, 0x0, 0x0, 0xb5, 0xb8, 0x0, 0x0, 0xb6, 0x9c, 0x0, 0x0, 0xb7, 0x88, 0x0, 0x0, 0xb8, 0x80, 0x0, 0x0, 0xb8, 0x98, 0x0, 0x0, 0xb8, 0xb0, 0x0, 0x0, 0xb8, 0xc8, 0x0, 0x0, 0xb8, 0xe0, 0x0, 0x0, 0xb8, 0xf8, 0x0, 0x0, 0xb9, 0x10, 0x0, 0x0, 0xb9, 0x28, 0x0, 0x0, 0xb9, 0x40, 0x0, 0x0, 0xb9, 0x58, 0x0, 0x0, 0xb9, 0x70, 0x0, 0x0, 0xb9, 0x88, 0x0, 0x0, 0xb9, 0xa0, 0x0, 0x0, 0xb9, 0xb8, 0x0, 0x0, 0xb9, 0xd0, 0x0, 0x0, 0xba, 0x24, 0x0, 0x0, 0xba, 0xa8, 0x0, 0x0, 0xbb, 0x10, 0x0, 0x0, 0xbb, 0x74, 0x0, 0x0, 0xbc, 0x54, 0x0, 0x0, 0xbd, 0x38, 0x0, 0x0, 0xbd, 0xa8, 0x0, 0x0, 0xbe, 0x40, 0x0, 0x0, 0xbe, 0xd0, 0x0, 0x0, 0xbf, 0x3c, 0x0, 0x0, 0xbf, 0x90, 0x0, 0x0, 0xc0, 0x48, 0x0, 0x0, 0xc0, 0xa0, 0x0, 0x0, 0xc1, 0x24, 0x0, 0x0, 0xc1, 0xac, 0x0, 0x0, 0xc2, 0x88, 0x0, 0x0, 0xc3, 0x48, 0x0, 0x0, 0xc3, 0x58, 0x0, 0x0, 0xc3, 0xc0, 0x0, 0x0, 0xc4, 0x6c, 0x0, 0x0, 0xc5, 0x8, 0x0, 0x0, 0xc5, 0xa4, 0x0, 0x0, 0xc6, 0x64, 0x0, 0x0, 0xc7, 0x20, 0x0, 0x0, 0xc8, 0x48, 0x0, 0x0, 0xc8, 0xd4, 0x0, 0x0, 0xc9, 0x24, 0x0, 0x0, 0xc9, 0x84, 0x0, 0x0, 0xca, 0xa8, 0x0, 0x0, 0xcb, 0x40, 0x0, 0x0, 0xcb, 0xd8, 0x0, 0x0, 0xcc, 0x90, 0x0, 0x0, 0xcd, 0x18, 0x0, 0x0, 0xcd, 0xf8, 0x0, 0x0, 0xce, 0xb8, 0x0, 0x0, 0xcf, 0x68, 0x0, 0x0, 0xd0, 0x4c, 0x0, 0x0, 0xd0, 0xf0, 0x0, 0x0, 0xd2, 0x10, 0x0, 0x0, 0xd2, 0x20, 0x0, 0x0, 0xd2, 0x30, 0x0, 0x0, 0xd3, 0x4c, 0x0, 0x0, 0xd4, 0x18, 0x0, 0x0, 0xd4, 0xa0, 0x0, 0x0, 0xd5, 0x84, 0x0, 0x0, 0xd6, 0x3c, 0x0, 0x0, 0xd6, 0xd8, 0x0, 0x0, 0xd7, 0xcc, 0x0, 0x0, 0xd8, 0xc0, 0x0, 0x0, 0xd9, 0x3c, 0x0, 0x0, 0xd9, 0xd4, 0x0, 0x0, 0xda, 0x80, 0x0, 0x0, 0xda, 0xf4, 0x0, 0x0, 0xdb, 0x4, 0x0, 0x0, 0xdb, 0x58, 0x0, 0x0, 0xdc, 0x4, 0x0, 0x0, 0xdc, 0x8c, 0x0, 0x0, 0xdc, 0xe4, 0x0, 0x0, 0xde, 0xc, 0x0, 0x0, 0xde, 0xdc, 0x0, 0x0, 0xdf, 0xb0, 0x0, 0x0, 0xe0, 0xa0, 0x0, 0x0, 0xe1, 0x48, 0x0, 0x0, 0xe1, 0xdc, 0x0, 0x0, 0xe2, 0x84, 0x0, 0x0, 0xe3, 0x18, 0x0, 0x0, 0xe3, 0xc4, 0x0, 0x0, 0xe4, 0x74, 0x0, 0x0, 0xe4, 0x84, 0x0, 0x0, 0xe4, 0xec, 0x0, 0x0, 0xe5, 0x54, 0x0, 0x0, 0xe5, 0xe0, 0x0, 0x0, 0xe6, 0x54, 0x0, 0x0, 0xe6, 0xe0, 0x0, 0x0, 0xe7, 0x3c, 0x0, 0x0, 0xe7, 0x98, 0x0, 0x0, 0xe8, 0xac, 0x0, 0x0, 0xe9, 0x50, 0x0, 0x0, 0xea, 0x5c, 0x0, 0x0, 0xea, 0xd0, 0x0, 0x0, 0xeb, 0x7c, 0x0, 0x0, 0xeb, 0xdc, 0x0, 0x0, 0xec, 0x70, 0x0, 0x0, 0xec, 0xe4, 0x0, 0x0, 0xed, 0x64, 0x0, 0x0, 0xee, 0x8, 0x0, 0x0, 0xee, 0xc0, 0x0, 0x0, 0xef, 0x50, 0x0, 0x0, 0xef, 0xe0, 0x0, 0x0, 0xf2, 0x8, 0x0, 0x0, 0xf2, 0x94, 0x0, 0x0, 0xf2, 0xfc, 0x0, 0x0, 0xf3, 0xec, 0x0, 0x0, 0xf5, 0xc, 0x0, 0x0, 0xf6, 0x20, 0x0, 0x0, 0xf6, 0xb0, 0x0, 0x0, 0xf7, 0x44, 0x0, 0x0, 0xf7, 0xd8, 0x0, 0x0, 0xf8, 0x70, 0x0, 0x0, 0xf9, 0xc, 0x0, 0x0, 0xf9, 0x98, 0x0, 0x0, 0xf9, 0xa8, 0x0, 0x0, 0xfa, 0x78, 0x0, 0x0, 0xfb, 0x38, 0x0, 0x0, 0xfb, 0x48, 0x0, 0x0, 0xfb, 0xd8, 0x0, 0x0, 0xfc, 0x10, 0x0, 0x0, 0xfc, 0x4c, 0x0, 0x0, 0xfd, 0x4, 0x0, 0x0, 0xfd, 0xc0, 0x0, 0x0, 0xfe, 0x7c, 0x0, 0x0, 0xff, 0xc, 0x0, 0x0, 0xff, 0xd4, 0x0, 0x1, 0x0, 0x90, 0x0, 0x1, 0x1, 0x34, 0x0, 0x1, 0x1, 0xc0, 0x0, 0x1, 0x2, 0x90, 0x0, 0x1, 0x3, 0x24, 0x0, 0x1, 0x3, 0x9c, 0x0, 0x1, 0x4, 0x68, 0x0, 0x1, 0x4, 0xcc, 0x0, 0x1, 0x5, 0x3c, 0x0, 0x1, 0x5, 0xc0, 0x0, 0x1, 0x6, 0x5c, 0x0, 0x1, 0x6, 0xd0, 0x0, 0x1, 0x7, 0x60, 0x0, 0x1, 0x7, 0xc0, 0x0, 0x1, 0x8, 0x20, 0x0, 0x1, 0x8, 0x78, 0x0, 0x1, 0x8, 0xf4, 0x0, 0x1, 0x9, 0x60, 0x0, 0x1, 0x9, 0x98, 0x0, 0x1, 0x9, 0xdc, 0x0, 0x1, 0x9, 0xec, 0x0, 0x1, 0xa, 0x4, 0x0, 0x1, 0xa, 0x14, 0x0, 0x1, 0xa, 0x24, 0x0, 0x1, 0xa, 0x5c, 0x0, 0x1, 0xa, 0xc4, 0x0, 0x1, 0xb, 0x2c, 0x0, 0x1, 0xb, 0xb4, 0x0, 0x1, 0xc, 0x40, 0x0, 0x1, 0xc, 0x68, 0x0, 0x1, 0xc, 0x90, 0x0, 0x1, 0xc, 0xf4, 0x0, 0x1, 0xd, 0x68, 0x0, 0x1, 0xd, 0xc4, 0x0, 0x1, 0xe, 0x20, 0x0, 0x1, 0xe, 0x50, 0x0, 0x1, 0xe, 0x60, 0x0, 0x1, 0xe, 0x7c, 0x0, 0x1, 0xe, 0x9c, 0x0, 0x1, 0xe, 0xcc, 0x0, 0x1, 0xe, 0xe0, 0x0, 0x1, 0xf, 0x0, 0x0, 0x1, 0xf, 0x1c, 0x0, 0x1, 0xf, 0x88, 0x0, 0x1, 0xf, 0xd8, 0x0, 0x1, 0xf, 0xec, 0x0, 0x1, 0x10, 0x0, 0x0, 0x1, 0x10, 0x24, 0x0, 0x1, 0x10, 0x48, 0x0, 0x1, 0x10, 0x74, 0x0, 0x1, 0x10, 0x90, 0x0, 0x1, 0x11, 0x1c, 0x0, 0x1, 0x11, 0x84, 0x0, 0x1, 0x11, 0xf0, 0x0, 0x1, 0x12, 0x50, 0x0, 0x1, 0x13, 0x10, 0x0, 0x1, 0x13, 0x7c, 0x0, 0x1, 0x13, 0xb4, 0x0, 0x1, 0x13, 0xe8, 0x0, 0x1, 0x14, 0x34, 0x0, 0x1, 0x14, 0x5c, 0x0, 0x1, 0x14, 0xf4, 0x0, 0x1, 0x15, 0x2c, 0x0, 0x1, 0x15, 0x3c, 0x0, 0x1, 0x15, 0x70, 0x0, 0x1, 0x15, 0xbc, 0x0, 0x1, 0x15, 0xfc, 0x0, 0x1, 0x16, 0x48, 0x0, 0x1, 0x16, 0x7c, 0x0, 0x1, 0x16, 0x90, 0x0, 0x1, 0x16, 0xa8, 0x0, 0x1, 0x16, 0xb8, 0x0, 0x1, 0x16, 0xcc, 0x0, 0x1, 0x17, 0x98, 0x0, 0x1, 0x17, 0xf4, 0x0, 0x1, 0x18, 0x4c, 0x0, 0x1, 0x18, 0xb4, 0x0, 0x1, 0x18, 0xc8, 0x0, 0x1, 0x18, 0xdc, 0x0, 0x1, 0x18, 0xf0, 0x0, 0x1, 0x19, 0x4, 0x0, 0x1, 0x19, 0x48, 0x0, 0x1, 0x19, 0xbc, 0x0, 0x1, 0x1a, 0x30, 0x0, 0x1, 0x1a, 0x44, 0x0, 0x1, 0x1a, 0x58, 0x0, 0x1, 0x1a, 0xc0, 0x0, 0x1, 0x1a, 0xec, 0x0, 0x1, 0x1b, 0x8, 0x0, 0x1, 0x1b, 0x78, 0x0, 0x1, 0x1b, 0x94, 0x0, 0x1, 0x1b, 0xe0, 0x0, 0x1, 0x1c, 0x8, 0x0, 0x1, 0x1c, 0x30, 0x0, 0x1, 0x1c, 0x54, 0x0, 0x1, 0x1c, 0x70, 0x0, 0x1, 0x1c, 0x84, 0x0, 0x1, 0x1c, 0x98, 0x0, 0x1, 0x1c, 0xbc, 0x0, 0x1, 0x1c, 0xdc, 0x0, 0x1, 0x1c, 0xfc, 0x0, 0x1, 0x1d, 0x70, 0x0, 0x1, 0x1d, 0xc0, 0x0, 0x1, 0x1d, 0xe4, 0x0, 0x1, 0x1e, 0x8, 0x0, 0x1, 0x1e, 0x34, 0x0, 0x1, 0x1e, 0x50, 0x0, 0x1, 0x1e, 0x80, 0x0, 0x1, 0x1e, 0xb0, 0x0, 0x1, 0x1e, 0xc8, 0x0, 0x1, 0x1e, 0xdc, 0x0, 0x1, 0x1f, 0x48, 0x0, 0x1, 0x1f, 0x6c, 0x0, 0x1, 0x1f, 0x80, 0x0, 0x1, 0x1f, 0x94, 0x0, 0x1, 0x1f, 0xbc, 0x0, 0x1, 0x1f, 0xe0, 0x0, 0x1, 0x20, 0x28, 0x0, 0x1, 0x20, 0x64, 0x0, 0x1, 0x20, 0xa0, 0x0, 0x1, 0x20, 0xb4, 0x0, 0x1, 0x20, 0xe8, 0x0, 0x1, 0x20, 0xfc, 0x0, 0x1, 0x21, 0x10, 0x0, 0x1, 0x21, 0x24, 0x0, 0x1, 0x21, 0x38, 0x0, 0x1, 0x21, 0x94, 0x0, 0x1, 0x21, 0xb0, 0x0, 0x1, 0x21, 0xcc, 0x0, 0x1, 0x21, 0xec, 0x0, 0x1, 0x22, 0xc, 0x0, 0x1, 0x22, 0x58, 0x0, 0x1, 0x22, 0x7c, 0x0, 0x1, 0x22, 0xa4, 0x0, 0x1, 0x22, 0xec, 0x0, 0x1, 0x23, 0x20, 0x0, 0x1, 0x23, 0x80, 0x0, 0x1, 0x23, 0x9c, 0x0, 0x1, 0x23, 0xb0, 0x0, 0x1, 0x23, 0xc4, 0x0, 0x1, 0x23, 0xd8, 0x0, 0x1, 0x23, 0xe8, 0x0, 0x1, 0x23, 0xfc, 0x0, 0x1, 0x24, 0x10, 0x0, 0x1, 0x24, 0x34, 0x0, 0x1, 0x24, 0x5c, 0x0, 0x1, 0x24, 0x84, 0x0, 0x1, 0x24, 0xa4, 0x0, 0x1, 0x25, 0x20, 0x0, 0x1, 0x25, 0x94, 0x0, 0x1, 0x25, 0xac, 0x0, 0x1, 0x25, 0xe4, 0x0, 0x1, 0x26, 0xc, 0x0, 0x1, 0x26, 0xc, 0x0, 0x1, 0x26, 0x4c, 0x0, 0x1, 0x26, 0x64, 0x0, 0x1, 0x26, 0x78, 0x0, 0x1, 0x26, 0xb8, 0x0, 0x1, 0x26, 0xcc, 0x0, 0x1, 0x27, 0x30, 0x0, 0x1, 0x27, 0x44, 0x0, 0x1, 0x27, 0x58, 0x0, 0x1, 0x27, 0x74, 0x0, 0x1, 0x27, 0x90, 0x0, 0x1, 0x28, 0x4, 0x0, 0x1, 0x28, 0x18, 0x0, 0x1, 0x28, 0x40, 0x0, 0x1, 0x28, 0x50, 0x0, 0x1, 0x28, 0x60, 0x0, 0x1, 0x28, 0x90, 0x0, 0x1, 0x28, 0xc0, 0x0, 0x1, 0x28, 0xf0, 0x0, 0x1, 0x29, 0x20, 0x0, 0x1, 0x29, 0x30, 0x0, 0x1, 0x29, 0x40, 0x0, 0x1, 0x29, 0x74, 0x0, 0x1, 0x29, 0x84, 0x0, 0x1, 0x29, 0x9c, 0x0, 0x1, 0x29, 0xb4, 0x0, 0x1, 0x29, 0xc4, 0x0, 0x1, 0x2a, 0x14, 0x0, 0x1, 0x2a, 0x44, 0x0, 0x1, 0x2a, 0x5c, 0x0, 0x1, 0x2a, 0x6c, 0x0, 0x1, 0x2a, 0x88, 0x0, 0x1, 0x2a, 0xa4, 0x0, 0x1, 0x2a, 0xc0, 0x0, 0x1, 0x2a, 0xd8, 0x0, 0x1, 0x2a, 0xf4, 0x0, 0x1, 0x2b, 0xc, 0x0, 0x1, 0x2b, 0x24, 0x0, 0x1, 0x2b, 0x34, 0x0, 0x1, 0x2b, 0x44, 0x0, 0x1, 0x2b, 0x7c, 0x0, 0x1, 0x2b, 0xe8, 0x0, 0x1, 0x2b, 0xf8, 0x0, 0x1, 0x2c, 0x8, 0x0, 0x1, 0x2c, 0x18, 0x0, 0x1, 0x2c, 0xc8, 0x0, 0x1, 0x2c, 0xd8, 0x0, 0x1, 0x2c, 0xe8, 0x0, 0x1, 0x2d, 0x4c, 0x0, 0x1, 0x2d, 0x5c, 0x0, 0x1, 0x2d, 0x6c, 0x0, 0x1, 0x2d, 0xcc, 0x0, 0x1, 0x2d, 0xdc, 0x0, 0x1, 0x2d, 0xec, 0x0, 0x1, 0x2d, 0xfc, 0x0, 0x1, 0x2e, 0x78, 0x0, 0x1, 0x2e, 0x88, 0x0, 0x1, 0x2e, 0x98, 0x0, 0x1, 0x2f, 0x58, 0x0, 0x1, 0x2f, 0x68, 0x0, 0x1, 0x2f, 0xfc, 0x0, 0x1, 0x30, 0xac, 0x0, 0x1, 0x30, 0xd0, 0x0, 0x1, 0x30, 0xf4, 0x0, 0x1, 0x31, 0xc, 0x0, 0x1, 0x31, 0x24, 0x0, 0x1, 0x31, 0x3c, 0x0, 0x1, 0x31, 0x54, 0x0, 0x1, 0x31, 0x6c, 0x0, 0x1, 0x32, 0xbc, 0x0, 0x1, 0x33, 0x58, 0x0, 0x1, 0x33, 0xd8, 0x0, 0x1, 0x34, 0xbc, 0x0, 0x1, 0x35, 0x8c, 0x0, 0x1, 0x36, 0x30, 0x0, 0x1, 0x36, 0xac, 0x0, 0x1, 0x37, 0x74, 0x0, 0x1, 0x37, 0xc4, 0x0, 0x1, 0x38, 0x44, 0x0, 0x1, 0x38, 0xc8, 0x0, 0x1, 0x38, 0xd8, 0x0, 0x1, 0x39, 0x68, 0x0, 0x1, 0x3a, 0x24, 0x0, 0x1, 0x3a, 0x34, 0x0, 0x1, 0x3a, 0xb0, 0x0, 0x1, 0x3b, 0x44, 0x0, 0x1, 0x3b, 0xf0, 0x0, 0x1, 0x3c, 0x84, 0x0, 0x1, 0x3c, 0xe4, 0x0, 0x1, 0x3d, 0x70, 0x0, 0x1, 0x3e, 0x30, 0x0, 0x1, 0x3f, 0x3c, 0x0, 0x1, 0x3f, 0xd0, 0x0, 0x1, 0x40, 0x64, 0x0, 0x1, 0x40, 0x7c, 0x0, 0x1, 0x40, 0x94, 0x0, 0x1, 0x40, 0xac, 0x0, 0x1, 0x40, 0xc4, 0x0, 0x1, 0x40, 0xdc, 0x0, 0x1, 0x41, 0x1c, 0x0, 0x1, 0x41, 0xec, 0x0, 0x1, 0x42, 0x94, 0x0, 0x1, 0x43, 0x4c, 0x0, 0x1, 0x43, 0x68, 0x0, 0x1, 0x43, 0x80, 0x0, 0x1, 0x44, 0x48, 0x0, 0x1, 0x44, 0xf8, 0x0, 0x1, 0x45, 0xa4, 0x0, 0x1, 0x46, 0x5c, 0x0, 0x1, 0x47, 0x8, 0x0, 0x1, 0x47, 0xac, 0x0, 0x1, 0x48, 0x48, 0x0, 0x1, 0x48, 0x58, 0x0, 0x1, 0x49, 0x8, 0x0, 0x1, 0x49, 0x64, 0x0, 0x1, 0x49, 0xd4, 0x0, 0x1, 0x4a, 0x4c, 0x0, 0x1, 0x4a, 0xa8, 0x0, 0x1, 0x4b, 0xc0, 0x0, 0x1, 0x4c, 0x98, 0x0, 0x1, 0x4d, 0x2c, 0x0, 0x1, 0x4d, 0xb8, 0x0, 0x1, 0x4e, 0x6c, 0x0, 0x1, 0x4f, 0x54, 0x0, 0x1, 0x4f, 0xcc, 0x0, 0x1, 0x50, 0x3c, 0x0, 0x1, 0x50, 0xf0, 0x0, 0x1, 0x51, 0xa0, 0x0, 0x1, 0x52, 0x34, 0x0, 0x1, 0x52, 0xcc, 0x0, 0x1, 0x53, 0x3c, 0x0, 0x1, 0x53, 0xa8, 0x0, 0x1, 0x54, 0x44, 0x0, 0x1, 0x54, 0xfc, 0x0, 0x1, 0x55, 0xc, 0x0, 0x1, 0x55, 0x1c, 0x0, 0x1, 0x55, 0x2c, 0x0, 0x1, 0x55, 0x9c, 0x0, 0x1, 0x56, 0x8, 0x0, 0x1, 0x56, 0x18, 0x0, 0x1, 0x56, 0x28, 0x0, 0x1, 0x56, 0x38, 0x0, 0x1, 0x57, 0x8, 0x0, 0x1, 0x57, 0x94, 0x0, 0x1, 0x58, 0x14, 0x0, 0x1, 0x58, 0x24, 0x0, 0x1, 0x58, 0x3c, 0x0, 0x1, 0x58, 0x54, 0x0, 0x1, 0x58, 0x6c, 0x0, 0x1, 0x59, 0xc, 0x0, 0x1, 0x59, 0x98, 0x0, 0x1, 0x59, 0xb0, 0x0, 0x1, 0x5a, 0x5c, 0x0, 0x1, 0x5a, 0x6c, 0x0, 0x1, 0x5a, 0x7c, 0x0, 0x1, 0x5a, 0x8c, 0x0, 0x1, 0x5a, 0x9c, 0x0, 0x1, 0x5b, 0x34, 0x0, 0x1, 0x5b, 0xc4, 0x0, 0x1, 0x5c, 0x34, 0x0, 0x1, 0x5c, 0x4c, 0x0, 0x1, 0x5c, 0x64, 0x0, 0x1, 0x5c, 0x7c, 0x0, 0x1, 0x5c, 0xd4, 0x0, 0x1, 0x5c, 0xe4, 0x0, 0x1, 0x5d, 0x64, 0x0, 0x1, 0x5d, 0x74, 0x0, 0x1, 0x5d, 0xac, 0x0, 0x1, 0x5e, 0x38, 0x0, 0x1, 0x5e, 0x48, 0x0, 0x1, 0x5f, 0x3c, 0x0, 0x1, 0x5f, 0xf4, 0x0, 0x1, 0x60, 0xa0, 0x0, 0x1, 0x60, 0xe0, 0x0, 0x1, 0x61, 0x74, 0x0, 0x1, 0x61, 0xd4, 0x0, 0x1, 0x61, 0xe4, 0x0, 0x1, 0x61, 0xf4, 0x0, 0x1, 0x62, 0x4, 0x0, 0x1, 0x62, 0x4c, 0x0, 0x1, 0x62, 0x5c, 0x0, 0x1, 0x62, 0x6c, 0x0, 0x1, 0x62, 0x7c, 0x0, 0x1, 0x63, 0x0, 0x0, 0x1, 0x63, 0xb4, 0x0, 0x1, 0x63, 0xc4, 0x0, 0x1, 0x64, 0x1c, 0x0, 0x1, 0x64, 0x78, 0x0, 0x1, 0x64, 0xd4, 0x0, 0x1, 0x65, 0x40, 0x0, 0x1, 0x65, 0xc0, 0x0, 0x1, 0x65, 0xd8, 0x0, 0x1, 0x66, 0x4c, 0x0, 0x1, 0x66, 0xf8, 0x0, 0x1, 0x67, 0xb8, 0x0, 0x1, 0x68, 0x54, 0x0, 0x1, 0x68, 0x64, 0x0, 0x1, 0x69, 0x2c, 0x0, 0x1, 0x69, 0xc8, 0x0, 0x1, 0x6a, 0x0, 0x0, 0x1, 0x6a, 0x88, 0x0, 0x1, 0x6a, 0x98, 0x0, 0x1, 0x6b, 0x88, 0x0, 0x1, 0x6c, 0x4c, 0x0, 0x1, 0x6c, 0xbc, 0x0, 0x1, 0x6c, 0xfc, 0x0, 0x1, 0x6d, 0x8c, 0x0, 0x1, 0x6d, 0xec, 0x0, 0x1, 0x6e, 0x74, 0x0, 0x1, 0x6e, 0xcc, 0x0, 0x1, 0x6e, 0xdc, 0x0, 0x1, 0x6f, 0x24, 0x0, 0x1, 0x6f, 0x34, 0x0, 0x1, 0x6f, 0x44, 0x0, 0x1, 0x6f, 0x88, 0x0, 0x1, 0x6f, 0x98, 0x0, 0x1, 0x70, 0x80, 0x0, 0x1, 0x70, 0x90, 0x0, 0x1, 0x70, 0xe8, 0x0, 0x1, 0x71, 0x64, 0x0, 0x1, 0x71, 0xc0, 0x0, 0x1, 0x72, 0x2c, 0x0, 0x1, 0x72, 0xa8, 0x0, 0x1, 0x72, 0xc0, 0x0, 0x1, 0x73, 0x30, 0x0, 0x1, 0x73, 0xd4, 0x0, 0x1, 0x74, 0x78, 0x0, 0x1, 0x75, 0x8, 0x0, 0x1, 0x75, 0x20, 0x0, 0x1, 0x75, 0xc0, 0x0, 0x1, 0x76, 0x64, 0x0, 0x1, 0x76, 0x7c, 0x0, 0x1, 0x77, 0x20, 0x0, 0x1, 0x77, 0x30, 0x0, 0x1, 0x77, 0x40, 0x0, 0x1, 0x77, 0x50, 0x0, 0x1, 0x77, 0x60, 0x0, 0x1, 0x77, 0xfc, 0x0, 0x1, 0x78, 0x90, 0x0, 0x1, 0x79, 0x20, 0x0, 0x1, 0x79, 0x38, 0x0, 0x1, 0x79, 0x50, 0x0, 0x1, 0x79, 0x68, 0x0, 0x1, 0x79, 0xc0, 0x0, 0x1, 0x7a, 0x98, 0x0, 0x1, 0x7a, 0xa8, 0x0, 0x1, 0x7b, 0x48, 0x0, 0x1, 0x7b, 0xdc, 0x0, 0x1, 0x7c, 0x6c, 0x0, 0x1, 0x7c, 0xdc, 0x0, 0x1, 0x7d, 0x20, 0x0, 0x1, 0x7d, 0x60, 0x0, 0x1, 0x7d, 0xbc, 0x0, 0x1, 0x7e, 0x14, 0x0, 0x1, 0x7e, 0xfc, 0x0, 0x1, 0x7f, 0xe0, 0x0, 0x1, 0x80, 0x5c, 0x0, 0x1, 0x80, 0xd4, 0x0, 0x1, 0x81, 0xc0, 0x0, 0x1, 0x82, 0x9c, 0x0, 0x1, 0x83, 0x0, 0x0, 0x1, 0x83, 0x64, 0x0, 0x1, 0x83, 0x74, 0x0, 0x1, 0x83, 0x84, 0x0, 0x1, 0x83, 0xd0, 0x0, 0x1, 0x84, 0x20, 0x0, 0x1, 0x84, 0x38, 0x0, 0x1, 0x84, 0x50, 0x0, 0x1, 0x84, 0xf4, 0x0, 0x1, 0x85, 0x78, 0x0, 0x1, 0x86, 0x70, 0x0, 0x1, 0x87, 0x5c, 0x0, 0x1, 0x87, 0x7c, 0x0, 0x1, 0x87, 0x9c, 0x0, 0x1, 0x87, 0xb4, 0x0, 0x1, 0x87, 0xcc, 0x0, 0x1, 0x88, 0x68, 0x0, 0x1, 0x89, 0x0, 0x0, 0x1, 0x89, 0x4c, 0x0, 0x1, 0x89, 0xe4, 0x0, 0x1, 0x8a, 0x18, 0x0, 0x1, 0x8a, 0x40, 0x0, 0x1, 0x8a, 0x68, 0x0, 0x1, 0x8a, 0xa8, 0x0, 0x1, 0x8b, 0xec, 0x0, 0x1, 0x8c, 0xa8, 0x0, 0x1, 0x8c, 0xc0, 0x0, 0x1, 0x8c, 0xd8, 0x0, 0x1, 0x8d, 0x74, 0x0, 0x1, 0x8e, 0x14, 0x0, 0x1, 0x8e, 0x74, 0x0, 0x1, 0x8e, 0xfc, 0x0, 0x1, 0x8f, 0x3c, 0x0, 0x1, 0x8f, 0x80, 0x0, 0x1, 0x8f, 0xe0, 0x0, 0x1, 0x90, 0x40, 0x0, 0x1, 0x90, 0xcc, 0x0, 0x1, 0x91, 0x5c, 0x0, 0x1, 0x91, 0xc0, 0x0, 0x1, 0x92, 0x20, 0x0, 0x1, 0x92, 0x38, 0x0, 0x1, 0x92, 0x50, 0x0, 0x1, 0x92, 0x94, 0x0, 0x1, 0x92, 0xd8, 0x0, 0x1, 0x93, 0x24, 0x0, 0x1, 0x93, 0x6c, 0x0, 0x1, 0x93, 0xb8, 0x0, 0x1, 0x94, 0x4, 0x0, 0x1, 0x94, 0xa4, 0x0, 0x1, 0x95, 0x44, 0x0, 0x1, 0x95, 0xb4, 0x0, 0x1, 0x96, 0x20, 0x0, 0x1, 0x96, 0x84, 0x0, 0x1, 0x96, 0xe4, 0x0, 0x1, 0x97, 0x7c, 0x0, 0x1, 0x98, 0x14, 0x0, 0x1, 0x99, 0x8, 0x0, 0x1, 0x99, 0xe4, 0x0, 0x1, 0x99, 0xfc, 0x0, 0x1, 0x9a, 0x14, 0x0, 0x1, 0x9a, 0x70, 0x0, 0x1, 0x9a, 0xc8, 0x0, 0x1, 0x9a, 0xd8, 0x0, 0x1, 0x9b, 0x74, 0x0, 0x1, 0x9b, 0xbc, 0x0, 0x1, 0x9c, 0x0, 0x0, 0x1, 0x9c, 0x48, 0x0, 0x1, 0x9c, 0x90, 0x0, 0x1, 0x9d, 0x0, 0x0, 0x1, 0x9d, 0x70, 0x0, 0x1, 0x9d, 0xe4, 0x0, 0x1, 0x9e, 0x70, 0x0, 0x1, 0x9e, 0xc0, 0x0, 0x1, 0x9f, 0xc, 0x0, 0x1, 0x9f, 0x6c, 0x0, 0x1, 0x9f, 0x7c, 0x0, 0x1, 0xa0, 0x58, 0x0, 0x1, 0xa1, 0x54, 0x0, 0x1, 0xa1, 0xf0, 0x0, 0x1, 0xa2, 0x88, 0x0, 0x1, 0xa2, 0x98, 0x0, 0x1, 0xa2, 0xb0, 0x0, 0x1, 0xa2, 0xc8, 0x0, 0x1, 0xa3, 0x24, 0x0, 0x1, 0xa3, 0x88, 0x0, 0x1, 0xa3, 0xd4, 0x0, 0x1, 0xa4, 0x20, 0x0, 0x1, 0xa4, 0x98, 0x0, 0x1, 0xa5, 0x10, 0x0, 0x1, 0xa5, 0x4c, 0x0, 0x1, 0xa5, 0x88, 0x0, 0x1, 0xa6, 0x0, 0x0, 0x1, 0xa6, 0x90, 0x0, 0x1, 0xa6, 0xdc, 0x0, 0x1, 0xa7, 0x28, 0x0, 0x1, 0xa7, 0x38, 0x0, 0x1, 0xa7, 0x64, 0x0, 0x1, 0xa7, 0x84, 0x0, 0x1, 0xa7, 0xb4, 0x0, 0x1, 0xa7, 0xec, 0x0, 0x1, 0xa7, 0xfc, 0x0, 0x1, 0xa8, 0xc, 0x0, 0x1, 0xa8, 0x30, 0x0, 0x1, 0xa8, 0x54, 0x0, 0x1, 0xa8, 0x64, 0x0, 0x1, 0xa8, 0x74, 0x0, 0x1, 0xa8, 0x8c, 0x0, 0x1, 0xa8, 0xa4, 0x0, 0x1, 0xa8, 0xbc, 0x0, 0x1, 0xa8, 0xd4, 0x0, 0x1, 0xa8, 0xec, 0x0, 0x1, 0xa9, 0x4, 0x0, 0x1, 0xa9, 0x14, 0x0, 0x1, 0xa9, 0x24, 0x0, 0x1, 0xa9, 0x3c, 0x0, 0x1, 0xa9, 0x54, 0x0, 0x1, 0xa9, 0x6c, 0x0, 0x1, 0xa9, 0x84, 0x0, 0x1, 0xa9, 0xb4, 0x0, 0x1, 0xa9, 0xe0, 0x0, 0x1, 0xa9, 0xf0, 0x0, 0x1, 0xaa, 0x0, 0x0, 0x1, 0xaa, 0x18, 0x0, 0x1, 0xaa, 0x30, 0x0, 0x1, 0xaa, 0x48, 0x0, 0x1, 0xaa, 0x60, 0x0, 0x1, 0xaa, 0x78, 0x0, 0x1, 0xaa, 0x90, 0x0, 0x1, 0xaa, 0xa8, 0x0, 0x1, 0xaa, 0xc0, 0x0, 0x1, 0xaa, 0xd8, 0x0, 0x1, 0xaa, 0xf0, 0x0, 0x1, 0xab, 0x8, 0x0, 0x1, 0xab, 0x20, 0x0, 0x1, 0xab, 0x6c, 0x0, 0x1, 0xab, 0xb8, 0x0, 0x1, 0xab, 0xd0, 0x0, 0x1, 0xab, 0xe8, 0x0, 0x1, 0xac, 0x74, 0x0, 0x1, 0xad, 0x0, 0x0, 0x1, 0xad, 0x60, 0x0, 0x1, 0xad, 0xc0, 0x0, 0x1, 0xae, 0x10, 0x0, 0x1, 0xae, 0x60, 0x0, 0x1, 0xae, 0xd8, 0x0, 0x1, 0xaf, 0x54, 0x0, 0x1, 0xb0, 0x24, 0x0, 0x1, 0xb0, 0xf0, 0x0, 0x1, 0xb1, 0xd0, 0x0, 0x1, 0xb2, 0xb4, 0x0, 0x1, 0xb3, 0x68, 0x0, 0x1, 0xb4, 0x24, 0x0, 0x1, 0xb4, 0xc8, 0x0, 0x1, 0xb5, 0x68, 0x0, 0x1, 0xb5, 0x78, 0x0, 0x1, 0xb6, 0xc, 0x0, 0x1, 0xb6, 0x9c, 0x0, 0x1, 0xb7, 0x24, 0x0, 0x1, 0xb7, 0xa8, 0x0, 0x1, 0xb8, 0x30, 0x0, 0x1, 0xb8, 0x40, 0x0, 0x1, 0xb8, 0x50, 0x0, 0x1, 0xb8, 0xd0, 0x0, 0x1, 0xb9, 0x50, 0x0, 0x1, 0xb9, 0xb4, 0x0, 0x1, 0xba, 0x1c, 0x0, 0x1, 0xba, 0x7c, 0x0, 0x1, 0xba, 0xf4, 0x0, 0x1, 0xbb, 0x60, 0x0, 0x1, 0xbb, 0xf8, 0x0, 0x1, 0xbc, 0x8, 0x0, 0x1, 0xbc, 0x18, 0x0, 0x1, 0xbc, 0x28, 0x0, 0x1, 0xbc, 0x38, 0x0, 0x1, 0xbc, 0x8c, 0x0, 0x1, 0xbc, 0xd8, 0x0, 0x1, 0xbd, 0x84, 0x0, 0x1, 0xbe, 0x34, 0x0, 0x1, 0xbe, 0xdc, 0x0, 0x1, 0xbf, 0x88, 0x0, 0x1, 0xbf, 0xb8, 0x0, 0x1, 0xbf, 0xe8, 0x0, 0x1, 0xc0, 0x60, 0x0, 0x1, 0xc0, 0xb8, 0x0, 0x1, 0xc1, 0x28, 0x0, 0x1, 0xc1, 0x7c, 0x0, 0x1, 0xc1, 0xd4, 0x0, 0x1, 0xc2, 0x4c, 0x0, 0x1, 0xc2, 0x78, 0x0, 0x1, 0xc2, 0xc8, 0x0, 0x1, 0xc3, 0x6c, 0x0, 0x1, 0xc3, 0xd8, 0x0, 0x1, 0xc4, 0x24, 0x0, 0x1, 0xc4, 0x48, 0x0, 0x1, 0xc4, 0xa8, 0x0, 0x1, 0xc5, 0x5c, 0x0, 0x1, 0xc5, 0xa8, 0x0, 0x1, 0xc6, 0x4, 0x0, 0x1, 0xc6, 0xc4, 0x0, 0x1, 0xc7, 0x14, 0x0, 0x1, 0xc7, 0x94, 0x0, 0x1, 0xc7, 0xe8, 0x0, 0x1, 0xc8, 0x84, 0x0, 0x1, 0xc8, 0xd8, 0x0, 0x1, 0xc9, 0x60, 0x0, 0x1, 0xc9, 0xac, 0x0, 0x1, 0xca, 0x1c, 0x0, 0x1, 0xca, 0x78, 0x0, 0x1, 0xcb, 0x24, 0x0, 0x1, 0xcb, 0x7c, 0x0, 0x1, 0xcb, 0x8c, 0x0, 0x1, 0xcb, 0xe0, 0x0, 0x1, 0xcc, 0x8c, 0x0, 0x1, 0xcc, 0xd8, 0x0, 0x1, 0xcd, 0x90, 0x0, 0x1, 0xcd, 0xb8, 0x0, 0x1, 0xce, 0x38, 0x0, 0x1, 0xce, 0xc0, 0x0, 0x1, 0xce, 0xd0, 0x0, 0x1, 0xcf, 0x70, 0x0, 0x1, 0xcf, 0xa8, 0x0, 0x1, 0xcf, 0xcc, 0x0, 0x1, 0xcf, 0xe8, 0x0, 0x1, 0xd0, 0x30, 0x0, 0x1, 0xd0, 0x44, 0x0, 0x1, 0xd0, 0xbc, 0x0, 0x1, 0xd0, 0xdc, 0x0, 0x1, 0xd1, 0x58, 0x0, 0x1, 0xd1, 0xa4, 0x0, 0x1, 0xd2, 0x20, 0x0, 0x1, 0xd2, 0x68, 0x0, 0x1, 0xd2, 0xbc, 0x0, 0x1, 0xd3, 0x44, 0x0, 0x1, 0xd3, 0x70, 0x0, 0x1, 0xd3, 0xb4, 0x0, 0x1, 0xd4, 0x5c, 0x0, 0x1, 0xd4, 0xd0, 0x0, 0x1, 0xd5, 0x14, 0x0, 0x1, 0xd5, 0x34, 0x0, 0x1, 0xd5, 0xb0, 0x0, 0x1, 0xd6, 0x3c, 0x0, 0x1, 0xd6, 0x80, 0x0, 0x1, 0xd6, 0x90, 0x0, 0x1, 0xd7, 0x54, 0x0, 0x1, 0xd7, 0x9c, 0x0, 0x1, 0xd8, 0x4c, 0x0, 0x1, 0xd8, 0x98, 0x0, 0x1, 0xd8, 0xc4, 0x0, 0x1, 0xd9, 0x10, 0x0, 0x1, 0xd9, 0x98, 0x0, 0x1, 0xd9, 0xa8, 0x0, 0x1, 0xda, 0x38, 0x0, 0x1, 0xda, 0xb4, 0x0, 0x1, 0xdb, 0x70, 0x0, 0x1, 0xdb, 0xdc, 0x0, 0x1, 0xdb, 0xec, 0x0, 0x1, 0xdc, 0x38, 0x0, 0x1, 0xdc, 0xac, 0x0, 0x1, 0xdc, 0xf4, 0x0, 0x1, 0xdd, 0x4, 0x0, 0x1, 0xdd, 0x24, 0x0, 0x1, 0xdd, 0x9c, 0x0, 0x1, 0xde, 0x20, 0x0, 0x1, 0xde, 0x30, 0x0, 0x1, 0xde, 0xd8, 0x0, 0x1, 0xdf, 0x24, 0x0, 0x1, 0xdf, 0x48, 0x0, 0x1, 0xdf, 0x70, 0x0, 0x1, 0xdf, 0xb0, 0x0, 0x1, 0xdf, 0xe0, 0x0, 0x1, 0xe0, 0x34, 0x0, 0x1, 0xe0, 0x98, 0x0, 0x1, 0xe0, 0xc0, 0x0, 0x1, 0xe0, 0xe8, 0x0, 0x1, 0xe1, 0x68, 0x0, 0x1, 0xe1, 0x94, 0x0, 0x1, 0xe1, 0xd0, 0x0, 0x1, 0xe1, 0xf8, 0x0, 0x1, 0xe2, 0x8, 0x0, 0x1, 0xe2, 0x68, 0x0, 0x1, 0xe2, 0x94, 0x0, 0x1, 0xe2, 0xc0, 0x0, 0x1, 0xe2, 0xdc, 0x0, 0x1, 0xe3, 0x8, 0x0, 0x1, 0xe3, 0x40, 0x0, 0x1, 0xe3, 0x6c, 0x0, 0x1, 0xe3, 0x94, 0x0, 0x1, 0xe3, 0xdc, 0x0, 0x1, 0xe4, 0x2c, 0x0, 0x1, 0xe4, 0x68, 0x0, 0x1, 0xe5, 0x50, 0x0, 0x1, 0xe5, 0xcc, 0x0, 0x1, 0xe6, 0x6c, 0x0, 0x1, 0xe6, 0xbc, 0x0, 0x1, 0xe7, 0x38, 0x0, 0x1, 0xe7, 0x74, 0x0, 0x1, 0xe7, 0xec, 0x0, 0x1, 0xe8, 0x5c, 0x0, 0x1, 0xe9, 0x1c, 0x0, 0x1, 0xe9, 0x5c, 0x0, 0x1, 0xe9, 0xd0, 0x0, 0x1, 0xea, 0x58, 0x0, 0x1, 0xea, 0xbc, 0x0, 0x1, 0xeb, 0x30, 0x0, 0x1, 0xec, 0xc, 0x0, 0x1, 0xec, 0x4c, 0x0, 0x1, 0xec, 0xb0, 0x0, 0x1, 0xed, 0x60, 0x0, 0x1, 0xed, 0xf8, 0x0, 0x1, 0xee, 0xa4, 0x0, 0x1, 0xef, 0x6c, 0x0, 0x1, 0xf0, 0x4, 0x0, 0x1, 0xf0, 0xc8, 0x0, 0x1, 0xf1, 0x54, 0x0, 0x1, 0xf1, 0xd4, 0x0, 0x1, 0xf2, 0xec, 0x0, 0x1, 0xf3, 0x94, 0x0, 0x1, 0xf3, 0xac, 0x0, 0x1, 0xf3, 0xc4, 0x0, 0x1, 0xf3, 0xdc, 0x0, 0x1, 0xf4, 0xc, 0x0, 0x1, 0xf4, 0x54, 0x0, 0x1, 0xf4, 0xf4, 0x0, 0x1, 0xf5, 0xa4, 0x0, 0x1, 0xf5, 0xe4, 0x0, 0x1, 0xf6, 0x30, 0x0, 0x1, 0xf6, 0x50, 0x0, 0x1, 0xf6, 0xac, 0x0, 0x1, 0xf6, 0xdc, 0x0, 0x1, 0xf7, 0x4c, 0x0, 0x1, 0xf7, 0xbc, 0x0, 0x1, 0xf7, 0xd4, 0x0, 0x1, 0xf7, 0xec, 0x0, 0x1, 0xf8, 0x4, 0x0, 0x1, 0xf8, 0x1c, 0x0, 0x1, 0xf8, 0x34, 0x0, 0x1, 0xf8, 0x50, 0x0, 0x1, 0xf8, 0x68, 0x0, 0x1, 0xf8, 0x80, 0x0, 0x1, 0xf8, 0x98, 0x0, 0x1, 0xf8, 0xb0, 0x0, 0x1, 0xf8, 0xc8, 0x0, 0x1, 0xf9, 0x30, 0x0, 0x1, 0xf9, 0x48, 0x0, 0x1, 0xf9, 0x9c, 0x0, 0x1, 0xf9, 0xb4, 0x0, 0x1, 0xf9, 0xf8, 0x0, 0x1, 0xfa, 0x10, 0x0, 0x1, 0xfa, 0xd0, 0x0, 0x1, 0xfa, 0xe8, 0x0, 0x1, 0xfb, 0xac, 0x0, 0x1, 0xfb, 0xc4, 0x0, 0x1, 0xfc, 0x30, 0x0, 0x1, 0xfc, 0x48, 0x0, 0x1, 0xfc, 0xc8, 0x0, 0x1, 0xfc, 0xe0, 0x0, 0x1, 0xfc, 0xf8, 0x0, 0x1, 0xfd, 0x10, 0x0, 0x1, 0xfd, 0x28, 0x0, 0x1, 0xfd, 0xe4, 0x0, 0x1, 0xfe, 0x44, 0x0, 0x1, 0xfe, 0xd0, 0x0, 0x1, 0xfe, 0xe8, 0x0, 0x1, 0xff, 0x50, 0x0, 0x1, 0xff, 0xd0, 0x0, 0x2, 0x0, 0x7c, 0x0, 0x2, 0x0, 0x94, 0x0, 0x2, 0x0, 0xc0, 0x0, 0x2, 0x1, 0x60, 0x0, 0x2, 0x1, 0x88, 0x0, 0x2, 0x1, 0xa4, 0x0, 0x2, 0x2, 0x30, 0x0, 0x2, 0x2, 0x4c, 0x0, 0x2, 0x2, 0xc8, 0x0, 0x2, 0x3, 0xc, 0x0, 0x2, 0x3, 0x54, 0x0, 0x2, 0x3, 0x68, 0x0, 0x2, 0x3, 0x7c, 0x0, 0x2, 0x4, 0x8, 0x0, 0x2, 0x4, 0x30, 0x0, 0x2, 0x4, 0x4c, 0x0, 0x2, 0x4, 0x7c, 0x0, 0x2, 0x4, 0xd4, 0x0, 0x2, 0x5, 0x50, 0x0, 0x2, 0x5, 0xd4, 0x0, 0x2, 0x6, 0x3c, 0x0, 0x2, 0x6, 0x84, 0x0, 0x2, 0x6, 0xd4, 0x0, 0x2, 0x7, 0x24, 0x0, 0x2, 0x7, 0x9c, 0x0, 0x2, 0x7, 0xd0, 0x0, 0x2, 0x8, 0x10, 0x0, 0x2, 0x8, 0x34, 0x0, 0x2, 0x8, 0x68, 0x0, 0x2, 0x8, 0xcc, 0x0, 0x2, 0x9, 0x7c, 0x0, 0x2, 0x9, 0x98, 0x0, 0x2, 0x9, 0xec, 0x0, 0x2, 0xa, 0x4, 0x0, 0x2, 0xa, 0x1c, 0x0, 0x2, 0xa, 0x34, 0x0, 0x2, 0xa, 0x54, 0x0, 0x2, 0xa, 0x6c, 0x0, 0x2, 0xa, 0x84, 0x0, 0x2, 0xa, 0x9c, 0x0, 0x2, 0xa, 0xb4, 0x0, 0x2, 0xa, 0xcc, 0x0, 0x2, 0xa, 0xe4, 0x0, 0x2, 0xa, 0xfc, 0x0, 0x2, 0xb, 0x14, 0x0, 0x2, 0xb, 0x2c, 0x0, 0x2, 0xb, 0x44, 0x0, 0x2, 0xb, 0x5c, 0x0, 0x2, 0xb, 0x74, 0x0, 0x2, 0xb, 0x8c, 0x0, 0x2, 0xb, 0xa4, 0x0, 0x2, 0xb, 0xc4, 0x0, 0x2, 0xb, 0xdc, 0x0, 0x2, 0xb, 0xf4, 0x0, 0x2, 0xc, 0xc, 0x0, 0x2, 0xc, 0x24, 0x0, 0x2, 0xc, 0x3c, 0x0, 0x2, 0xc, 0x54, 0x0, 0x2, 0xc, 0x6c, 0x0, 0x2, 0xc, 0x84, 0x0, 0x2, 0xc, 0x9c, 0x0, 0x2, 0xc, 0xb4, 0x0, 0x2, 0xc, 0xd4, 0x0, 0x2, 0xc, 0xec, 0x0, 0x2, 0xd, 0x4, 0x0, 0x2, 0xd, 0x1c, 0x0, 0x2, 0xd, 0x3c, 0x0, 0x2, 0xd, 0x54, 0x0, 0x2, 0xd, 0x74, 0x0, 0x2, 0xd, 0x8c, 0x0, 0x2, 0xd, 0xa4, 0x0, 0x2, 0xd, 0xbc, 0x0, 0x2, 0xd, 0xd4, 0x0, 0x2, 0xe, 0x90, 0x0, 0x2, 0xe, 0xa8, 0x0, 0x2, 0xe, 0xc8, 0x0, 0x2, 0xe, 0xe0, 0x0, 0x2, 0xe, 0xf8, 0x0, 0x2, 0xf, 0x10, 0x0, 0x2, 0xf, 0x28, 0x0, 0x2, 0xf, 0x40, 0x0, 0x2, 0xf, 0xd4, 0x0, 0x2, 0x10, 0x6c, 0x0, 0x2, 0x10, 0x84, 0x0, 0x2, 0x10, 0x9c, 0x0, 0x2, 0x10, 0xb4, 0x0, 0x2, 0x10, 0xcc, 0x0, 0x2, 0x10, 0xe4, 0x0, 0x2, 0x10, 0xfc, 0x0, 0x2, 0x11, 0x14, 0x0, 0x2, 0x11, 0x2c, 0x0, 0x2, 0x11, 0x44, 0x0, 0x2, 0x11, 0x5c, 0x0, 0x2, 0x11, 0x74, 0x0, 0x2, 0x11, 0x8c, 0x0, 0x2, 0x11, 0xa4, 0x0, 0x2, 0x11, 0xbc, 0x0, 0x2, 0x11, 0xdc, 0x0, 0x2, 0x12, 0x3c, 0x0, 0x2, 0x12, 0x54, 0x0, 0x2, 0x12, 0x74, 0x0, 0x2, 0x12, 0x8c, 0x0, 0x2, 0x13, 0x4c, 0x0, 0x2, 0x13, 0x6c, 0x0, 0x2, 0x13, 0x84, 0x0, 0x2, 0x13, 0x94, 0x0, 0x2, 0x13, 0xac, 0x0, 0x2, 0x13, 0xbc, 0x0, 0x2, 0x13, 0xcc, 0x0, 0x2, 0x13, 0xdc, 0x0, 0x2, 0x13, 0xec, 0x0, 0x2, 0x13, 0xfc, 0x0, 0x2, 0x14, 0x7c, 0x0, 0x2, 0x14, 0xfc, 0x0, 0x2, 0x15, 0x60, 0x0, 0x2, 0x15, 0x70, 0x0, 0x2, 0x15, 0x80, 0x0, 0x2, 0x15, 0x90, 0x0, 0x2, 0x16, 0x14, 0x0, 0x2, 0x16, 0x6c, 0x0, 0x2, 0x16, 0xb8, 0x0, 0x2, 0x17, 0x0, 0x0, 0x2, 0x17, 0x4c, 0x0, 0x2, 0x17, 0x90, 0x0, 0x2, 0x17, 0xd0, 0x0, 0x2, 0x18, 0x20, 0x0, 0x2, 0x18, 0x7c, 0x0, 0x2, 0x19, 0x18, 0x0, 0x2, 0x19, 0x48, 0x0, 0x2, 0x19, 0xc4, 0x0, 0x2, 0x1a, 0x1c, 0x0, 0x2, 0x1a, 0x44, 0x0, 0x2, 0x1a, 0x88, 0x0, 0x2, 0x1a, 0xd0, 0x0, 0x2, 0x1b, 0x80, 0x0, 0x2, 0x1b, 0xdc, 0x0, 0x2, 0x1c, 0x6c, 0x0, 0x2, 0x1c, 0xc0, 0x0, 0x2, 0x1d, 0x14, 0x0, 0x2, 0x1d, 0x8c, 0x0, 0x2, 0x1e, 0xc, 0x0, 0x2, 0x1e, 0x68, 0x0, 0x2, 0x1f, 0x4, 0x0, 0x2, 0x1f, 0x5c, 0x0, 0x2, 0x1f, 0xdc, 0x0, 0x2, 0x20, 0x28, 0x0, 0x2, 0x20, 0x94, 0x0, 0x2, 0x21, 0x30, 0x0, 0x2, 0x21, 0x88, 0x0, 0x2, 0x22, 0x14, 0x0, 0x2, 0x22, 0x58, 0x0, 0x2, 0x22, 0xc4, 0x0, 0x2, 0x23, 0x44, 0x0, 0x2, 0x23, 0x8c, 0x0, 0x2, 0x23, 0xdc, 0x0, 0x2, 0x24, 0x40, 0x0, 0x2, 0x24, 0xf8, 0x0, 0x2, 0x25, 0x80, 0x0, 0x2, 0x25, 0xac, 0x0, 0x2, 0x25, 0xf4, 0x0, 0x2, 0x26, 0x1c, 0x0, 0x2, 0x26, 0x78, 0x0, 0x2, 0x26, 0xe4, 0x0, 0x2, 0x27, 0x2c, 0x0, 0x2, 0x27, 0x94, 0x0, 0x2, 0x27, 0xbc, 0x0, 0x2, 0x27, 0xfc, 0x0, 0x2, 0x28, 0x40, 0x0, 0x2, 0x28, 0x80, 0x0, 0x2, 0x28, 0xc4, 0x0, 0x2, 0x29, 0x20, 0x0, 0x2, 0x29, 0x4c, 0x0, 0x2, 0x29, 0xec, 0x0, 0x2, 0x2a, 0xb0, 0x0, 0x2, 0x2b, 0x80, 0x0, 0x2, 0x2c, 0x28, 0x0, 0x2, 0x2c, 0xd0, 0x0, 0x2, 0x2d, 0x84, 0x0, 0x2, 0x2e, 0x60, 0x0, 0x2, 0x2f, 0x2c, 0x0, 0x2, 0x2f, 0xb8, 0x0, 0x2, 0x30, 0x7c, 0x0, 0x2, 0x31, 0x40, 0x0, 0x2, 0x32, 0x0, 0x0, 0x2, 0x32, 0xa8, 0x0, 0x2, 0x33, 0x44, 0x0, 0x2, 0x33, 0xe0, 0x0, 0x2, 0x34, 0xb0, 0x0, 0x2, 0x35, 0x60, 0x0, 0x2, 0x36, 0x24, 0x0, 0x2, 0x36, 0xe8, 0x0, 0x2, 0x37, 0x5c, 0x0, 0x2, 0x38, 0x28, 0x0, 0x2, 0x38, 0xe8, 0x0, 0x2, 0x39, 0xc8, 0x0, 0x2, 0x3a, 0x70, 0x0, 0x2, 0x3b, 0x38, 0x0, 0x2, 0x3b, 0xf4, 0x0, 0x2, 0x3c, 0xb0, 0x0, 0x2, 0x3d, 0x90, 0x0, 0x2, 0x3e, 0x18, 0x0, 0x2, 0x3e, 0x34, 0x0, 0x2, 0x3e, 0xc4, 0x0, 0x2, 0x3f, 0x40, 0x0, 0x2, 0x3f, 0x58, 0x0, 0x2, 0x3f, 0xbc, 0x0, 0x2, 0x40, 0x2c, 0x0, 0x2, 0x40, 0xa4, 0x0, 0x2, 0x41, 0x28, 0x0, 0x2, 0x41, 0x70, 0x0, 0x2, 0x41, 0xec, 0x0, 0x2, 0x42, 0x50, 0x0, 0x2, 0x42, 0xc8, 0x0, 0x2, 0x43, 0x64, 0x0, 0x2, 0x43, 0xf8, 0x0, 0x2, 0x44, 0x10, 0x0, 0x2, 0x44, 0x94, 0x0, 0x2, 0x45, 0x38, 0x0, 0x2, 0x45, 0xac, 0x0, 0x2, 0x46, 0x60, 0x0, 0x2, 0x46, 0x88, 0x0, 0x2, 0x47, 0x10, 0x0, 0x2, 0x47, 0xac, 0x0, 0x2, 0x47, 0xf8, 0x0, 0x2, 0x48, 0xc, 0x0, 0x2, 0x48, 0x58, 0x0, 0x2, 0x48, 0xbc, 0x0, 0x2, 0x49, 0x3c, 0x0, 0x2, 0x49, 0xb4, 0x0, 0x2, 0x4a, 0x40, 0x0, 0x2, 0x4a, 0xc4, 0x0, 0x2, 0x4b, 0x68, 0x0, 0x2, 0x4c, 0x28, 0x0, 0x2, 0x4c, 0x98, 0x0, 0x2, 0x4d, 0x9c, 0x0, 0x2, 0x4e, 0x8, 0x0, 0x2, 0x4e, 0xf0, 0x0, 0x2, 0x50, 0x0, 0x0, 0x2, 0x50, 0x68, 0x0, 0x2, 0x50, 0xb4, 0x0, 0x2, 0x51, 0x4, 0x0, 0x2, 0x51, 0x78, 0x0, 0x2, 0x51, 0xc0, 0x0, 0x2, 0x52, 0x14, 0x0, 0x2, 0x52, 0x78, 0x0, 0x2, 0x52, 0xdc, 0x0, 0x2, 0x53, 0x4, 0x0, 0x2, 0x53, 0x68, 0x0, 0x2, 0x53, 0xd8, 0x0, 0x2, 0x54, 0x4c, 0x0, 0x2, 0x54, 0xa0, 0x0, 0x2, 0x55, 0x28, 0x0, 0x2, 0x55, 0x70, 0x0, 0x2, 0x55, 0xc0, 0x0, 0x2, 0x56, 0x1c, 0x0, 0x2, 0x56, 0x68, 0x0, 0x2, 0x56, 0xc0, 0x0, 0x2, 0x57, 0x44, 0x0, 0x2, 0x57, 0xc8, 0x0, 0x2, 0x58, 0x8, 0x0, 0x2, 0x58, 0x4c, 0x0, 0x2, 0x58, 0x8c, 0x0, 0x2, 0x58, 0xf0, 0x0, 0x2, 0x59, 0x30, 0x0, 0x2, 0x59, 0x98, 0x0, 0x2, 0x5a, 0x4, 0x0, 0x2, 0x5a, 0x5c, 0x0, 0x2, 0x5a, 0xcc, 0x0, 0x2, 0x5b, 0x14, 0x0, 0x2, 0x5b, 0x5c, 0x0, 0x2, 0x5b, 0xac, 0x0, 0x2, 0x5b, 0xe8, 0x0, 0x2, 0x5c, 0x58, 0x0, 0x2, 0x5c, 0x98, 0x0, 0x2, 0x5c, 0xe8, 0x0, 0x2, 0x5d, 0x84, 0x0, 0x2, 0x5d, 0xcc, 0x0, 0x2, 0x5e, 0x30, 0x0, 0x2, 0x5e, 0xac, 0x0, 0x2, 0x5f, 0x38, 0x0, 0x2, 0x5f, 0x88, 0x0, 0x2, 0x5f, 0xf4, 0x0, 0x2, 0x60, 0x6c, 0x0, 0x2, 0x60, 0xd8, 0x0, 0x2, 0x61, 0x1c, 0x0, 0x2, 0x61, 0x7c, 0x0, 0x2, 0x62, 0x1c, 0x0, 0x2, 0x62, 0x84, 0x0, 0x2, 0x62, 0xe0, 0x0, 0x2, 0x63, 0x48, 0x0, 0x2, 0x63, 0xa4, 0x0, 0x2, 0x64, 0x0, 0x0, 0x2, 0x64, 0x80, 0x0, 0x2, 0x64, 0xcc, 0x0, 0x2, 0x65, 0x38, 0x0, 0x2, 0x65, 0xa0, 0x0, 0x2, 0x66, 0x4c, 0x0, 0x2, 0x66, 0xa4, 0x0, 0x2, 0x67, 0x20, 0x0, 0x2, 0x67, 0x7c, 0x0, 0x2, 0x67, 0xfc, 0x0, 0x2, 0x68, 0x58, 0x0, 0x2, 0x68, 0xc8, 0x0, 0x2, 0x69, 0x14, 0x0, 0x2, 0x69, 0x90, 0x0, 0x2, 0x6a, 0x8, 0x0, 0x2, 0x6a, 0x54, 0x0, 0x2, 0x6a, 0xcc, 0x0, 0x2, 0x6b, 0x40, 0x0, 0x2, 0x6b, 0xb4, 0x0, 0x2, 0x6c, 0x14, 0x0, 0x2, 0x6c, 0x78, 0x0, 0x2, 0x6c, 0xf0, 0x0, 0x2, 0x6d, 0x70, 0x0, 0x2, 0x6d, 0xe8, 0x0, 0x2, 0x6e, 0x54, 0x0, 0x2, 0x6e, 0xb0, 0x0, 0x2, 0x6f, 0x2c, 0x0, 0x2, 0x6f, 0x8c, 0x0, 0x2, 0x6f, 0xbc, 0x0, 0x2, 0x70, 0x8, 0x0, 0x2, 0x70, 0x74, 0x0, 0x2, 0x70, 0x8c, 0x0, 0x2, 0x70, 0x9c, 0x0, 0x2, 0x70, 0xb4, 0x0, 0x2, 0x71, 0x20, 0x0, 0x2, 0x71, 0x38, 0x0, 0x2, 0x71, 0x50, 0x0, 0x2, 0x71, 0x68, 0x0, 0x2, 0x71, 0xd8, 0x0, 0x2, 0x71, 0xf0, 0x0, 0x2, 0x72, 0x8, 0x0, 0x2, 0x72, 0x20, 0x0, 0x2, 0x72, 0x38, 0x0, 0x2, 0x72, 0x50, 0x0, 0x2, 0x72, 0x68, 0x0, 0x2, 0x72, 0x80, 0x0, 0x2, 0x72, 0x98, 0x0, 0x2, 0x72, 0xb0, 0x0, 0x2, 0x72, 0xc8, 0x0, 0x2, 0x72, 0xe0, 0x0, 0x2, 0x72, 0xf8, 0x0, 0x2, 0x73, 0x10, 0x0, 0x2, 0x73, 0x28, 0x0, 0x2, 0x73, 0x40, 0x0, 0x2, 0x73, 0x58, 0x0, 0x2, 0x73, 0x70, 0x0, 0x2, 0x73, 0x88, 0x0, 0x2, 0x73, 0xb4, 0x0, 0x2, 0x73, 0xd4, 0x0, 0x2, 0x73, 0xf4, 0x0, 0x2, 0x74, 0x30, 0x0, 0x2, 0x74, 0x6c, 0x0, 0x2, 0x74, 0xa8, 0x0, 0x2, 0x74, 0xec, 0x0, 0x2, 0x75, 0x20, 0x0, 0x2, 0x75, 0x68, 0x0, 0x2, 0x75, 0x80, 0x0, 0x2, 0x75, 0x9c, 0x0, 0x2, 0x75, 0xc8, 0x0, 0x2, 0x75, 0xec, 0x0, 0x2, 0x76, 0x4, 0x0, 0x2, 0x76, 0x1c, 0x0, 0x2, 0x76, 0x34, 0x0, 0x2, 0x76, 0x4c, 0x0, 0x2, 0x76, 0x5c, 0x0, 0x2, 0x76, 0x74, 0x0, 0x2, 0x76, 0x84, 0x0, 0x2, 0x76, 0x9c, 0x0, 0x2, 0x77, 0x0, 0x0, 0x2, 0x77, 0x18, 0x0, 0x2, 0x77, 0x30, 0x0, 0x2, 0x77, 0x48, 0x0, 0x2, 0x77, 0xac, 0x0, 0x2, 0x77, 0xc4, 0x0, 0x2, 0x77, 0xdc, 0x0, 0x2, 0x77, 0xf4, 0x0, 0x2, 0x78, 0xc, 0x0, 0x2, 0x78, 0x24, 0x0, 0x2, 0x78, 0x3c, 0x0, 0x2, 0x78, 0x54, 0x0, 0x2, 0x78, 0x6c, 0x0, 0x2, 0x78, 0x84, 0x0, 0x2, 0x78, 0x9c, 0x0, 0x2, 0x78, 0xb4, 0x0, 0x2, 0x78, 0xcc, 0x0, 0x2, 0x78, 0xe4, 0x0, 0x2, 0x78, 0xfc, 0x0, 0x2, 0x79, 0x14, 0x0, 0x2, 0x79, 0x2c, 0x0, 0x2, 0x79, 0x90, 0x0, 0x2, 0x79, 0xc0, 0x0, 0x2, 0x79, 0xd0, 0x0, 0x2, 0x79, 0xe8, 0x0, 0x2, 0x7a, 0x54, 0x0, 0x2, 0x7a, 0x6c, 0x0, 0x2, 0x7a, 0xd4, 0x0, 0x2, 0x7a, 0xec, 0x0, 0x2, 0x7b, 0x4, 0x0, 0x2, 0x7b, 0x1c, 0x0, 0x2, 0x7b, 0x84, 0x0, 0x2, 0x7b, 0x9c, 0x0, 0x2, 0x7b, 0xb4, 0x0, 0x2, 0x7b, 0xcc, 0x0, 0x2, 0x7b, 0xe4, 0x0, 0x2, 0x7b, 0xfc, 0x0, 0x2, 0x7c, 0x14, 0x0, 0x2, 0x7c, 0x2c, 0x0, 0x2, 0x7c, 0x44, 0x0, 0x2, 0x7c, 0x5c, 0x0, 0x2, 0x7c, 0x74, 0x0, 0x2, 0x7c, 0x8c, 0x0, 0x2, 0x7c, 0xa4, 0x0, 0x2, 0x7c, 0xbc, 0x0, 0x2, 0x7c, 0xd4, 0x0, 0x2, 0x7c, 0xec, 0x0, 0x2, 0x7d, 0x4, 0x0, 0x2, 0x7d, 0x60, 0x0, 0x2, 0x7d, 0x78, 0x0, 0x2, 0x7d, 0x90, 0x0, 0x2, 0x7d, 0xa8, 0x0, 0x2, 0x7d, 0xc0, 0x0, 0x2, 0x7e, 0x3c, 0x0, 0x2, 0x7e, 0x54, 0x0, 0x2, 0x7e, 0xd0, 0x0, 0x2, 0x7e, 0xe8, 0x0, 0x2, 0x7f, 0x68, 0x0, 0x2, 0x7f, 0x80, 0x0, 0x2, 0x7f, 0x98, 0x0, 0x2, 0x80, 0x18, 0x0, 0x2, 0x80, 0x30, 0x0, 0x2, 0x80, 0x48, 0x0, 0x2, 0x80, 0x60, 0x0, 0x2, 0x80, 0x78, 0x0, 0x2, 0x80, 0x90, 0x0, 0x2, 0x80, 0xa8, 0x0, 0x2, 0x80, 0xc0, 0x0, 0x2, 0x80, 0xd8, 0x0, 0x2, 0x80, 0xf0, 0x0, 0x2, 0x81, 0x8, 0x0, 0x2, 0x81, 0x20, 0x0, 0x2, 0x81, 0x38, 0x0, 0x2, 0x81, 0x50, 0x0, 0x2, 0x81, 0x68, 0x0, 0x2, 0x81, 0x80, 0x0, 0x2, 0x81, 0x98, 0x0, 0x2, 0x82, 0x10, 0x0, 0x2, 0x82, 0x64, 0x0, 0x2, 0x82, 0x7c, 0x0, 0x2, 0x82, 0x94, 0x0, 0x2, 0x82, 0xac, 0x0, 0x2, 0x82, 0xc4, 0x0, 0x2, 0x83, 0x18, 0x0, 0x2, 0x83, 0x30, 0x0, 0x2, 0x83, 0x88, 0x0, 0x2, 0x83, 0xa0, 0x0, 0x2, 0x83, 0xf8, 0x0, 0x2, 0x84, 0x10, 0x0, 0x2, 0x84, 0x28, 0x0, 0x2, 0x84, 0x80, 0x0, 0x2, 0x84, 0x98, 0x0, 0x2, 0x84, 0xb0, 0x0, 0x2, 0x84, 0xc8, 0x0, 0x2, 0x84, 0xe0, 0x0, 0x2, 0x84, 0xf8, 0x0, 0x2, 0x85, 0x10, 0x0, 0x2, 0x85, 0x28, 0x0, 0x2, 0x85, 0x40, 0x0, 0x2, 0x85, 0x58, 0x0, 0x2, 0x85, 0x70, 0x0, 0x2, 0x85, 0x88, 0x0, 0x2, 0x85, 0xa0, 0x0, 0x2, 0x85, 0xb8, 0x0, 0x2, 0x85, 0xd0, 0x0, 0x2, 0x85, 0xe8, 0x0, 0x2, 0x86, 0x0, 0x0, 0x2, 0x86, 0x58, 0x0, 0x2, 0x86, 0x90, 0x0, 0x2, 0x86, 0xc8, 0x0, 0x2, 0x86, 0xe0, 0x0, 0x2, 0x87, 0x18, 0x0, 0x2, 0x87, 0x30, 0x0, 0x2, 0x87, 0x68, 0x0, 0x2, 0x87, 0x80, 0x0, 0x2, 0x87, 0x98, 0x0, 0x2, 0x87, 0xa8, 0x0, 0x2, 0x87, 0xc0, 0x0, 0x2, 0x87, 0xd8, 0x0, 0x2, 0x87, 0xf0, 0x0, 0x2, 0x88, 0x8, 0x0, 0x2, 0x88, 0x20, 0x0, 0x2, 0x88, 0x38, 0x0, 0x2, 0x88, 0x50, 0x0, 0x2, 0x88, 0x68, 0x0, 0x2, 0x88, 0x80, 0x0, 0x2, 0x88, 0x98, 0x0, 0x2, 0x88, 0xb0, 0x0, 0x2, 0x88, 0xc8, 0x0, 0x2, 0x88, 0xe0, 0x0, 0x2, 0x88, 0xf8, 0x0, 0x2, 0x89, 0x10, 0x0, 0x2, 0x89, 0x28, 0x0, 0x2, 0x89, 0x64, 0x0, 0x2, 0x89, 0xc4, 0x0, 0x2, 0x89, 0xe4, 0x0, 0x2, 0x8a, 0x60, 0x0, 0x2, 0x8a, 0x78, 0x0, 0x2, 0x8a, 0xf8, 0x0, 0x2, 0x8b, 0x10, 0x0, 0x2, 0x8b, 0x88, 0x0, 0x2, 0x8b, 0xa0, 0x0, 0x2, 0x8b, 0xb8, 0x0, 0x2, 0x8c, 0x30, 0x0, 0x2, 0x8c, 0x48, 0x0, 0x2, 0x8c, 0x60, 0x0, 0x2, 0x8c, 0x78, 0x0, 0x2, 0x8c, 0x90, 0x0, 0x2, 0x8c, 0xa8, 0x0, 0x2, 0x8c, 0xc0, 0x0, 0x2, 0x8c, 0xd8, 0x0, 0x2, 0x8c, 0xf0, 0x0, 0x2, 0x8d, 0x40, 0x0, 0x2, 0x8d, 0x80, 0x0, 0x2, 0x8d, 0xd4, 0x0, 0x2, 0x8e, 0x28, 0x0, 0x2, 0x8e, 0x40, 0x0, 0x2, 0x8e, 0x94, 0x0, 0x2, 0x8e, 0xac, 0x0, 0x2, 0x8f, 0x0, 0x0, 0x2, 0x8f, 0x18, 0x0, 0x2, 0x8f, 0x30, 0x0, 0x2, 0x8f, 0x84, 0x0, 0x2, 0x8f, 0x9c, 0x0, 0x2, 0x8f, 0xb4, 0x0, 0x2, 0x8f, 0xcc, 0x0, 0x2, 0x8f, 0xe4, 0x0, 0x2, 0x8f, 0xfc, 0x0, 0x2, 0x90, 0x14, 0x0, 0x2, 0x90, 0x2c, 0x0, 0x2, 0x90, 0x44, 0x0, 0x2, 0x90, 0x5c, 0x0, 0x2, 0x90, 0x74, 0x0, 0x2, 0x90, 0x8c, 0x0, 0x2, 0x90, 0xa4, 0x0, 0x2, 0x90, 0xbc, 0x0, 0x2, 0x90, 0xd4, 0x0, 0x2, 0x90, 0xec, 0x0, 0x2, 0x91, 0x24, 0x0, 0x2, 0x91, 0x60, 0x0, 0x2, 0x91, 0xb4, 0x0, 0x2, 0x91, 0xcc, 0x0, 0x2, 0x92, 0x24, 0x0, 0x2, 0x92, 0x3c, 0x0, 0x2, 0x92, 0x90, 0x0, 0x2, 0x92, 0xa8, 0x0, 0x2, 0x92, 0xc0, 0x0, 0x2, 0x93, 0x18, 0x0, 0x2, 0x93, 0x30, 0x0, 0x2, 0x93, 0x48, 0x0, 0x2, 0x93, 0x60, 0x0, 0x2, 0x93, 0x78, 0x0, 0x2, 0x93, 0x90, 0x0, 0x2, 0x93, 0xa8, 0x0, 0x2, 0x93, 0xc0, 0x0, 0x2, 0x93, 0xd8, 0x0, 0x2, 0x93, 0xf0, 0x0, 0x2, 0x94, 0x8, 0x0, 0x2, 0x94, 0x20, 0x0, 0x2, 0x94, 0x38, 0x0, 0x2, 0x94, 0x50, 0x0, 0x2, 0x94, 0x68, 0x0, 0x2, 0x94, 0x80, 0x0, 0x2, 0x94, 0x98, 0x0, 0x2, 0x94, 0xe8, 0x0, 0x2, 0x95, 0x6c, 0x0, 0x2, 0x95, 0xa0, 0x0, 0x2, 0x95, 0xf8, 0x0, 0x2, 0x96, 0x50, 0x0, 0x2, 0x96, 0x68, 0x0, 0x2, 0x96, 0xe4, 0x0, 0x2, 0x96, 0xfc, 0x0, 0x2, 0x97, 0x7c, 0x0, 0x2, 0x97, 0x94, 0x0, 0x2, 0x97, 0xac, 0x0, 0x2, 0x97, 0xc4, 0x0, 0x2, 0x97, 0xdc, 0x0, 0x2, 0x97, 0xf4, 0x0, 0x2, 0x98, 0xc, 0x0, 0x2, 0x98, 0x24, 0x0, 0x2, 0x98, 0x3c, 0x0, 0x2, 0x98, 0x54, 0x0, 0x2, 0x98, 0x6c, 0x0, 0x2, 0x98, 0x84, 0x0, 0x2, 0x98, 0x9c, 0x0, 0x2, 0x98, 0xb4, 0x0, 0x2, 0x98, 0xcc, 0x0, 0x2, 0x98, 0xe4, 0x0, 0x2, 0x99, 0x58, 0x0, 0x2, 0x99, 0xb0, 0x0, 0x2, 0x99, 0xc8, 0x0, 0x2, 0x9a, 0x24, 0x0, 0x2, 0x9a, 0x3c, 0x0, 0x2, 0x9a, 0x98, 0x0, 0x2, 0x9a, 0xb0, 0x0, 0x2, 0x9a, 0xc8, 0x0, 0x2, 0x9b, 0x24, 0x0, 0x2, 0x9b, 0x3c, 0x0, 0x2, 0x9b, 0x54, 0x0, 0x2, 0x9b, 0x6c, 0x0, 0x2, 0x9b, 0x84, 0x0, 0x2, 0x9b, 0x9c, 0x0, 0x2, 0x9b, 0xb4, 0x0, 0x2, 0x9b, 0xcc, 0x0, 0x2, 0x9b, 0xe4, 0x0, 0x2, 0x9b, 0xfc, 0x0, 0x2, 0x9c, 0x14, 0x0, 0x2, 0x9c, 0x2c, 0x0, 0x2, 0x9c, 0x44, 0x0, 0x2, 0x9c, 0x5c, 0x0, 0x2, 0x9c, 0x74, 0x0, 0x2, 0x9c, 0x8c, 0x0, 0x2, 0x9c, 0xa4, 0x0, 0x2, 0x9d, 0x4, 0x0, 0x2, 0x9d, 0x14, 0x0, 0x2, 0x9d, 0x50, 0x0, 0x2, 0x9d, 0xbc, 0x0, 0x2, 0x9e, 0x28, 0x0, 0x2, 0x9e, 0x8c, 0x0, 0x2, 0x9e, 0xa4, 0x0, 0x2, 0x9f, 0x8, 0x0, 0x2, 0x9f, 0x20, 0x0, 0x2, 0x9f, 0x88, 0x0, 0x2, 0x9f, 0xa0, 0x0, 0x2, 0xa0, 0x8, 0x0, 0x2, 0xa0, 0x70, 0x0, 0x2, 0xa0, 0x88, 0x0, 0x2, 0xa0, 0xec, 0x0, 0x2, 0xa1, 0x4, 0x0, 0x2, 0xa1, 0x1c, 0x0, 0x2, 0xa1, 0x88, 0x0, 0x2, 0xa1, 0xc4, 0x0, 0x2, 0xa2, 0x78, 0x0, 0x2, 0xa2, 0x90, 0x0, 0x2, 0xa3, 0x44, 0x0, 0x2, 0xa3, 0x5c, 0x0, 0x2, 0xa4, 0x14, 0x0, 0x2, 0xa4, 0x2c, 0x0, 0x2, 0xa4, 0xe0, 0x0, 0x2, 0xa4, 0xf8, 0x0, 0x2, 0xa5, 0x10, 0x0, 0x2, 0xa5, 0x28, 0x0, 0x2, 0xa5, 0x94, 0x0, 0x2, 0xa6, 0x10, 0x0, 0x2, 0xa6, 0x8c, 0x0, 0x2, 0xa7, 0x8, 0x0, 0x2, 0xa7, 0x84, 0x0, 0x2, 0xa7, 0x9c, 0x0, 0x2, 0xa7, 0xb4, 0x0, 0x2, 0xa8, 0x30, 0x0, 0x2, 0xa8, 0x48, 0x0, 0x2, 0xa8, 0xc8, 0x0, 0x2, 0xa8, 0xe0, 0x0, 0x2, 0xa8, 0xf8, 0x0, 0x2, 0xa9, 0x10, 0x0, 0x2, 0xa9, 0x88, 0x0, 0x2, 0xa9, 0xec, 0x0, 0x2, 0xaa, 0x54, 0x0, 0x2, 0xaa, 0x6c, 0x0, 0x2, 0xaa, 0xd0, 0x0, 0x2, 0xaa, 0xe8, 0x0, 0x2, 0xab, 0x4c, 0x0, 0x2, 0xab, 0x64, 0x0, 0x2, 0xab, 0xc4, 0x0, 0x2, 0xab, 0xd4, 0x0, 0x2, 0xab, 0xe4, 0x0, 0x2, 0xab, 0xfc, 0x0, 0x2, 0xac, 0x14, 0x0, 0x2, 0xac, 0x2c, 0x0, 0x2, 0xac, 0x44, 0x0, 0x2, 0xac, 0x5c, 0x0, 0x2, 0xac, 0x74, 0x0, 0x2, 0xac, 0x8c, 0x0, 0x2, 0xac, 0xa4, 0x0, 0x2, 0xad, 0x24, 0x0, 0x2, 0xad, 0xa4, 0x0, 0x2, 0xae, 0x28, 0x0, 0x2, 0xae, 0xb0, 0x0, 0x2, 0xae, 0xc8, 0x0, 0x2, 0xae, 0xe0, 0x0, 0x2, 0xae, 0xf8, 0x0, 0x2, 0xaf, 0x10, 0x0, 0x2, 0xaf, 0x28, 0x0, 0x2, 0xaf, 0x40, 0x0, 0x2, 0xaf, 0x58, 0x0, 0x2, 0xaf, 0xcc, 0x0, 0x2, 0xb0, 0x78, 0x0, 0x2, 0xb0, 0xf8, 0x0, 0x2, 0xb1, 0x10, 0x0, 0x2, 0xb1, 0x8c, 0x0, 0x2, 0xb1, 0xa4, 0x0, 0x2, 0xb2, 0x24, 0x0, 0x2, 0xb2, 0x3c, 0x0, 0x2, 0xb2, 0x80, 0x0, 0x2, 0xb2, 0xbc, 0x0, 0x2, 0xb2, 0xf8, 0x0, 0x2, 0xb3, 0x10, 0x0, 0x2, 0xb3, 0x4c, 0x0, 0x2, 0xb3, 0x64, 0x0, 0x2, 0xb3, 0xa0, 0x0, 0x2, 0xb3, 0xb8, 0x0, 0x2, 0xb3, 0xf4, 0x0, 0x2, 0xb4, 0x78, 0x0, 0x2, 0xb4, 0x88, 0x0, 0x2, 0xb4, 0xf8, 0x0, 0x2, 0xb5, 0x28, 0x0, 0x2, 0xb5, 0x88, 0x0, 0x2, 0xb5, 0xc0, 0x0, 0x2, 0xb5, 0xd8, 0x0, 0x2, 0xb5, 0xf0, 0x0, 0x2, 0xb6, 0x8, 0x0, 0x2, 0xb6, 0x20, 0x0, 0x2, 0xb6, 0x38, 0x0, 0x2, 0xb6, 0x50, 0x0, 0x2, 0xb6, 0x68, 0x0, 0x2, 0xb6, 0x80, 0x0, 0x2, 0xb6, 0x9c, 0x0, 0x2, 0xb6, 0xc4, 0x0, 0x2, 0xb6, 0xf4, 0x0, 0x2, 0xb7, 0x30, 0x0, 0x2, 0xb7, 0x74, 0x0, 0x2, 0xb7, 0xc4, 0x0, 0x2, 0xb7, 0xec, 0x0, 0x2, 0xb8, 0x1c, 0x0, 0x2, 0xb8, 0x58, 0x0, 0x2, 0xb8, 0x9c, 0x0, 0x2, 0xb8, 0xec, 0x0, 0x2, 0xb9, 0x20, 0x0, 0x2, 0xb9, 0x6c, 0x0, 0x2, 0xb9, 0xd0, 0x0, 0x2, 0xba, 0x4c, 0x0, 0x2, 0xba, 0xe0, 0x0, 0x2, 0xbb, 0x10, 0x0, 0x2, 0xbb, 0x54, 0x0, 0x2, 0xbb, 0xac, 0x0, 0x2, 0xbc, 0x18, 0x0, 0x2, 0xbc, 0x98, 0x0, 0x2, 0xbc, 0xe0, 0x0, 0x2, 0xbd, 0x38, 0x0, 0x2, 0xbd, 0x70, 0x0, 0x2, 0xbe, 0x8, 0x0, 0x2, 0xbe, 0xe0, 0x0, 0x2, 0xbf, 0x8, 0x0, 0x2, 0xbf, 0x3c, 0x0, 0x2, 0xbf, 0x70, 0x0, 0x2, 0xbf, 0xa8, 0x0, 0x2, 0xbf, 0xf8, 0x0, 0x2, 0xc0, 0xd4, 0x0, 0x2, 0xc1, 0x40, 0x0, 0x2, 0xc1, 0x50, 0x0, 0x2, 0xc1, 0x98, 0x0, 0x2, 0xc1, 0xf0, 0x0, 0x2, 0xc2, 0x20, 0x0, 0x2, 0xc2, 0xb0, 0x0, 0x2, 0xc2, 0xd4, 0x0, 0x2, 0xc3, 0x10, 0x0, 0x2, 0xc3, 0x20, 0x0, 0x2, 0xc3, 0x58, 0x0, 0x2, 0xc3, 0x68, 0x0, 0x2, 0xc3, 0x78, 0x0, 0x2, 0xc3, 0x88, 0x0, 0x2, 0xc3, 0x98, 0x0, 0x2, 0xc3, 0xf0, 0x0, 0x2, 0xc4, 0x48, 0x0, 0x2, 0xc4, 0xd8, 0x0, 0x2, 0xc5, 0x94, 0x0, 0x2, 0xc5, 0xcc, 0x0, 0x2, 0xc6, 0x4, 0x0, 0x2, 0xc6, 0x48, 0x0, 0x2, 0xc6, 0xb8, 0x0, 0x2, 0xc7, 0x28, 0x0, 0x2, 0xc7, 0x38, 0x0, 0x2, 0xc7, 0x74, 0x0, 0x2, 0xc7, 0xb8, 0x0, 0x2, 0xc8, 0x14, 0x0, 0x2, 0xc8, 0x88, 0x0, 0x2, 0xc8, 0x98, 0x0, 0x2, 0xc8, 0xa8, 0x0, 0x2, 0xc8, 0xb8, 0x0, 0x2, 0xc9, 0x8, 0x0, 0x2, 0xc9, 0x28, 0x0, 0x2, 0xc9, 0x38, 0x0, 0x2, 0xc9, 0x60, 0x0, 0x2, 0xc9, 0x70, 0x0, 0x2, 0xc9, 0xcc, 0x0, 0x2, 0xc9, 0xdc, 0x0, 0x2, 0xca, 0x10, 0x0, 0x2, 0xca, 0x5c, 0x0, 0x2, 0xca, 0xd8, 0x0, 0x2, 0xcb, 0x28, 0x0, 0x2, 0xcb, 0x58, 0x0, 0x2, 0xcb, 0x88, 0x0, 0x2, 0xcb, 0xf8, 0x0, 0x2, 0xcc, 0x28, 0x0, 0x2, 0xcc, 0x44, 0x0, 0x2, 0xcc, 0x74, 0x0, 0x2, 0xcc, 0xa8, 0x0, 0x2, 0xcc, 0xc8, 0x0, 0x2, 0xcd, 0x0, 0x0, 0x2, 0xcd, 0x30, 0x0, 0x2, 0xcd, 0x60, 0x0, 0x2, 0xcd, 0xc0, 0x0, 0x2, 0xce, 0x7c, 0x0, 0x2, 0xce, 0xc8, 0x0, 0x2, 0xcf, 0x34, 0x0, 0x2, 0xcf, 0x5c, 0x0, 0x2, 0xcf, 0xa0, 0x0, 0x2, 0xcf, 0xd8, 0x0, 0x2, 0xd0, 0x58, 0x0, 0x2, 0xd0, 0xe0, 0x0, 0x2, 0xd1, 0x48, 0x0, 0x2, 0xd2, 0x20, 0x0, 0x2, 0xd2, 0x84, 0x0, 0x2, 0xd2, 0xec, 0x0, 0x2, 0xd3, 0x60, 0x0, 0x2, 0xd4, 0x8, 0x0, 0x2, 0xd4, 0x9c, 0x0, 0x2, 0xd5, 0x2c, 0x0, 0x2, 0xd5, 0xc0, 0x0, 0x2, 0xd5, 0xe4, 0x0, 0x2, 0xd6, 0x18, 0x0, 0x2, 0xd6, 0xb4, 0x0, 0x2, 0xd7, 0x48, 0x0, 0x2, 0xd7, 0xcc, 0x0, 0x2, 0xd8, 0x34, 0x0, 0x2, 0xd8, 0x70, 0x0, 0x2, 0xd8, 0xa8, 0x0, 0x2, 0xd9, 0xc, 0x0, 0x2, 0xd9, 0x4c, 0x0, 0x2, 0xd9, 0x98, 0x0, 0x2, 0xd9, 0xe4, 0x0, 0x2, 0xda, 0x60, 0x0, 0x2, 0xda, 0x88, 0x0, 0x2, 0xda, 0xe8, 0x0, 0x2, 0xdb, 0x20, 0x0, 0x2, 0xdb, 0xa8, 0x0, 0x2, 0xdc, 0x24, 0x0, 0x2, 0xdc, 0x7c, 0x0, 0x2, 0xdc, 0x90, 0x0, 0x2, 0xdc, 0xa4, 0x0, 0x2, 0xdc, 0xb8, 0x0, 0x2, 0xdc, 0xcc, 0x0, 0x2, 0xdc, 0xe0, 0x0, 0x2, 0xdc, 0xf4, 0x0, 0x2, 0xdd, 0x50, 0x0, 0x2, 0xdd, 0x64, 0x0, 0x2, 0xdd, 0x78, 0x0, 0x2, 0xdd, 0xf8, 0x0, 0x2, 0xde, 0x8, 0x0, 0x2, 0xde, 0x48, 0x0, 0x2, 0xde, 0xd4, 0x0, 0x2, 0xdf, 0x10, 0x0, 0x2, 0xdf, 0x78, 0x0, 0x2, 0xdf, 0xd8, 0x0, 0x2, 0xe0, 0x5c, 0x0, 0x2, 0xe0, 0xec, 0x0, 0x2, 0xe1, 0x7c, 0x0, 0x2, 0xe1, 0xc0, 0x0, 0x2, 0xe2, 0x4, 0x0, 0x2, 0xe2, 0x8c, 0x0, 0x2, 0xe2, 0xd8, 0x0, 0x2, 0xe3, 0x10, 0x0, 0x2, 0xe3, 0x40, 0x0, 0x2, 0xe3, 0x6c, 0x0, 0x2, 0xe3, 0xa8, 0x0, 0x2, 0xe4, 0x0, 0x0, 0x2, 0xe4, 0x34, 0x0, 0x2, 0xe4, 0x74, 0x0, 0x2, 0xe4, 0x94, 0x0, 0x2, 0xe5, 0x2c, 0x0, 0x2, 0xe5, 0xa8, 0x0, 0x2, 0xe6, 0x8, 0x0, 0x2, 0xe6, 0x6c, 0x0, 0x2, 0xe6, 0x9c, 0x0, 0x2, 0xe7, 0xc, 0x0, 0x2, 0xe7, 0x9c, 0x0, 0x2, 0xe8, 0x44, 0x0, 0x2, 0xe8, 0x94, 0x0, 0x2, 0xe8, 0xec, 0x0, 0x2, 0xe9, 0x54, 0x0, 0x2, 0xe9, 0xcc, 0x0, 0x2, 0xea, 0x10, 0x0, 0x2, 0xea, 0x74, 0x0, 0x2, 0xea, 0x9c, 0x0, 0x2, 0xea, 0xcc, 0x0, 0x2, 0xeb, 0x18, 0x0, 0x2, 0xeb, 0x74, 0x0, 0x2, 0xeb, 0xe0, 0x0, 0x2, 0xec, 0x4c, 0x0, 0x2, 0xec, 0x6c, 0x0, 0x2, 0xec, 0x90, 0x0, 0x2, 0xec, 0xb4, 0x0, 0x2, 0xec, 0xd4, 0x0, 0x2, 0xed, 0x0, 0x0, 0x2, 0xed, 0x30, 0x0, 0x2, 0xed, 0x48, 0x0, 0x2, 0xed, 0x60, 0x0, 0x2, 0xed, 0x78, 0x0, 0x2, 0xed, 0x90, 0x0, 0x2, 0xed, 0xa8, 0x0, 0x2, 0xed, 0xc0, 0x0, 0x2, 0xed, 0xd8, 0x0, 0x2, 0xed, 0xf0, 0x0, 0x2, 0xee, 0x8, 0x0, 0x2, 0xee, 0x20, 0x0, 0x2, 0xee, 0x38, 0x0, 0x2, 0xee, 0x50, 0x0, 0x2, 0xee, 0x68, 0x0, 0x2, 0xee, 0x80, 0x0, 0x2, 0xee, 0x98, 0x0, 0x2, 0xee, 0xb0, 0x0, 0x2, 0xee, 0xc8, 0x0, 0x2, 0xee, 0xe0, 0x0, 0x2, 0xee, 0xf8, 0x0, 0x2, 0xef, 0x10, 0x0, 0x2, 0xef, 0x28, 0x0, 0x2, 0xef, 0x40, 0x0, 0x2, 0xef, 0x58, 0x0, 0x2, 0xef, 0x70, 0x0, 0x2, 0xef, 0x88, 0x0, 0x2, 0xef, 0xa0, 0x0, 0x2, 0xef, 0xb8, 0x0, 0x2, 0xef, 0xd0, 0x0, 0x2, 0xef, 0xf0, 0x0, 0x2, 0xf0, 0x10, 0x0, 0x2, 0xf0, 0x28, 0x0, 0x2, 0xf0, 0x40, 0x0, 0x2, 0xf0, 0x58, 0x0, 0x2, 0xf0, 0x70, 0x0, 0x2, 0xf0, 0x88, 0x0, 0x2, 0xf0, 0xa0, 0x0, 0x2, 0xf0, 0xb8, 0x0, 0x2, 0xf0, 0xd0, 0x0, 0x2, 0xf0, 0xe8, 0x0, 0x2, 0xf1, 0x0, 0x0, 0x2, 0xf1, 0x18, 0x0, 0x2, 0xf1, 0x30, 0x0, 0x2, 0xf1, 0x48, 0x0, 0x2, 0xf1, 0x60, 0x0, 0x2, 0xf1, 0x78, 0x0, 0x2, 0xf1, 0x90, 0x0, 0x2, 0xf1, 0xa8, 0x0, 0x2, 0xf1, 0xc0, 0x0, 0x2, 0xf1, 0xd8, 0x0, 0x2, 0xf1, 0xf0, 0x0, 0x2, 0xf2, 0x8, 0x0, 0x2, 0xf2, 0x20, 0x0, 0x2, 0xf2, 0x38, 0x0, 0x2, 0xf2, 0x50, 0x0, 0x2, 0xf2, 0x68, 0x0, 0x2, 0xf2, 0x80, 0x0, 0x2, 0xf2, 0xa0, 0x0, 0x2, 0xf2, 0xb8, 0x0, 0x2, 0xf2, 0xd0, 0x0, 0x2, 0xf2, 0xe8, 0x0, 0x2, 0xf3, 0x0, 0x0, 0x2, 0xf3, 0x18, 0x0, 0x2, 0xf3, 0x30, 0x0, 0x2, 0xf3, 0x48, 0x0, 0x2, 0xf3, 0x60, 0x0, 0x2, 0xf3, 0x78, 0x0, 0x2, 0xf3, 0x90, 0x0, 0x2, 0xf3, 0xa8, 0x0, 0x2, 0xf3, 0xc0, 0x0, 0x2, 0xf3, 0xd8, 0x0, 0x2, 0xf3, 0xf0, 0x0, 0x2, 0xf4, 0x8, 0x0, 0x2, 0xf4, 0x20, 0x0, 0x2, 0xf4, 0x38, 0x0, 0x2, 0xf4, 0x50, 0x0, 0x2, 0xf4, 0x68, 0x0, 0x2, 0xf4, 0x80, 0x0, 0x2, 0xf4, 0x98, 0x0, 0x2, 0xf4, 0xb0, 0x0, 0x2, 0xf4, 0xd0, 0x0, 0x2, 0xf4, 0xe8, 0x0, 0x2, 0xf5, 0x0, 0x0, 0x2, 0xf5, 0x18, 0x0, 0x2, 0xf5, 0x30, 0x0, 0x2, 0xf5, 0x48, 0x0, 0x2, 0xf5, 0x60, 0x0, 0x2, 0xf5, 0x78, 0x0, 0x2, 0xf5, 0x90, 0x0, 0x2, 0xf5, 0xa8, 0x0, 0x2, 0xf5, 0xc0, 0x0, 0x2, 0xf5, 0xd8, 0x0, 0x2, 0xf5, 0xf0, 0x0, 0x2, 0xf6, 0x8, 0x0, 0x2, 0xf6, 0x20, 0x0, 0x2, 0xf6, 0x38, 0x0, 0x2, 0xf6, 0x50, 0x0, 0x2, 0xf6, 0x68, 0x0, 0x2, 0xf6, 0x80, 0x0, 0x2, 0xf6, 0x98, 0x0, 0x2, 0xf6, 0xb0, 0x0, 0x2, 0xf6, 0xd0, 0x0, 0x2, 0xf6, 0xf0, 0x0, 0x2, 0xf7, 0x8, 0x0, 0x2, 0xf7, 0x20, 0x0, 0x2, 0xf7, 0x38, 0x0, 0x2, 0xf7, 0x50, 0x0, 0x2, 0xf7, 0x68, 0x0, 0x2, 0xf7, 0x80, 0x0, 0x2, 0xf7, 0x98, 0x0, 0x2, 0xf7, 0xb0, 0x0, 0x2, 0xf7, 0xc8, 0x0, 0x2, 0xf7, 0xe0, 0x0, 0x2, 0xf7, 0xf8, 0x0, 0x2, 0xf8, 0x10, 0x0, 0x2, 0xf8, 0x28, 0x0, 0x2, 0xf8, 0x40, 0x0, 0x2, 0xf8, 0x58, 0x0, 0x2, 0xf8, 0x70, 0x0, 0x2, 0xf8, 0x88, 0x0, 0x2, 0xf8, 0xa0, 0x0, 0x2, 0xf8, 0xb8, 0x0, 0x2, 0xf8, 0xd0, 0x0, 0x2, 0xf8, 0xe8, 0x0, 0x2, 0xf9, 0x0, 0x0, 0x2, 0xf9, 0x18, 0x0, 0x2, 0xf9, 0x30, 0x0, 0x2, 0xf9, 0x48, 0x0, 0x2, 0xf9, 0x60, 0x0, 0x2, 0xf9, 0x78, 0x0, 0x2, 0xf9, 0x90, 0x0, 0x2, 0xf9, 0xa8, 0x0, 0x2, 0xf9, 0xc0, 0x0, 0x2, 0xf9, 0xd8, 0x0, 0x2, 0xf9, 0xf0, 0x0, 0x2, 0xfa, 0x8, 0x0, 0x2, 0xfa, 0x20, 0x0, 0x2, 0xfa, 0x38, 0x0, 0x2, 0xfa, 0x50, 0x0, 0x2, 0xfa, 0x68, 0x0, 0x2, 0xfa, 0x80, 0x0, 0x2, 0xfa, 0x98, 0x0, 0x2, 0xfa, 0xb0, 0x0, 0x2, 0xfa, 0xc8, 0x0, 0x2, 0xfa, 0xe0, 0x0, 0x2, 0xfa, 0xf8, 0x0, 0x2, 0xfb, 0x10, 0x0, 0x2, 0xfb, 0x28, 0x0, 0x2, 0xfb, 0x40, 0x0, 0x2, 0xfb, 0x58, 0x0, 0x2, 0xfb, 0x70, 0x0, 0x2, 0xfb, 0x88, 0x0, 0x2, 0xfb, 0xa0, 0x0, 0x2, 0xfb, 0xb8, 0x0, 0x2, 0xfb, 0xd0, 0x0, 0x2, 0xfb, 0xe8, 0x0, 0x2, 0xfc, 0x0, 0x0, 0x2, 0xfc, 0x50, 0x0, 0x2, 0xfc, 0x98, 0x0, 0x2, 0xfd, 0x30, 0x0, 0x2, 0xfd, 0x40, 0x0, 0x2, 0xfd, 0x58, 0x0, 0x2, 0xfd, 0x70, 0x0, 0x2, 0xfd, 0x88, 0x0, 0x2, 0xfd, 0xa0, 0x0, 0x2, 0xfd, 0xb8, 0x0, 0x2, 0xfd, 0xd0, 0x0, 0x2, 0xfd, 0xe8, 0x0, 0x2, 0xfe, 0x0, 0x0, 0x2, 0xfe, 0x18, 0x0, 0x2, 0xfe, 0x30, 0x0, 0x2, 0xfe, 0x48, 0x0, 0x2, 0xfe, 0x60, 0x0, 0x2, 0xfe, 0x78, 0x0, 0x2, 0xfe, 0x90, 0x0, 0x2, 0xfe, 0xa8, 0x0, 0x2, 0xfe, 0xc0, 0x0, 0x2, 0xfe, 0xd8, 0x0, 0x2, 0xfe, 0xf0, 0x0, 0x2, 0xff, 0x8, 0x0, 0x2, 0xff, 0x20, 0x0, 0x2, 0xff, 0x38, 0x0, 0x2, 0xff, 0x50, 0x0, 0x2, 0xff, 0x68, 0x0, 0x2, 0xff, 0x80, 0x0, 0x2, 0xff, 0x98, 0x0, 0x2, 0xff, 0xb0, 0x0, 0x2, 0xff, 0xc8, 0x0, 0x2, 0xff, 0xe0, 0x0, 0x2, 0xff, 0xf8, 0x0, 0x3, 0x0, 0x10, 0x0, 0x3, 0x0, 0x28, 0x0, 0x3, 0x0, 0x40, 0x0, 0x3, 0x0, 0x58, 0x0, 0x3, 0x0, 0x70, 0x0, 0x3, 0x0, 0x88, 0x0, 0x3, 0x0, 0xa0, 0x0, 0x3, 0x0, 0xb8, 0x0, 0x3, 0x0, 0xd0, 0x0, 0x3, 0x0, 0xe8, 0x0, 0x3, 0x1, 0x8, 0x0, 0x3, 0x1, 0x20, 0x0, 0x3, 0x1, 0x38, 0x0, 0x3, 0x1, 0x50, 0x0, 0x3, 0x1, 0x68, 0x0, 0x3, 0x1, 0x80, 0x0, 0x3, 0x1, 0x98, 0x0, 0x3, 0x1, 0xb0, 0x0, 0x3, 0x1, 0xc8, 0x0, 0x3, 0x1, 0xe0, 0x0, 0x3, 0x1, 0xf8, 0x0, 0x3, 0x2, 0x10, 0x0, 0x3, 0x2, 0x28, 0x0, 0x3, 0x2, 0x40, 0x0, 0x3, 0x2, 0x58, 0x0, 0x3, 0x2, 0x70, 0x0, 0x3, 0x2, 0x88, 0x0, 0x3, 0x2, 0xa0, 0x0, 0x3, 0x2, 0xc0, 0x0, 0x3, 0x2, 0xd8, 0x0, 0x3, 0x2, 0xf0, 0x0, 0x3, 0x3, 0x8, 0x0, 0x3, 0x3, 0x20, 0x0, 0x3, 0x3, 0x38, 0x0, 0x3, 0x3, 0x50, 0x0, 0x3, 0x3, 0x68, 0x0, 0x3, 0x3, 0x80, 0x0, 0x3, 0x3, 0x98, 0x0, 0x3, 0x3, 0xb0, 0x0, 0x3, 0x3, 0xc8, 0x0, 0x3, 0x3, 0xe0, 0x0, 0x3, 0x3, 0xf8, 0x0, 0x3, 0x4, 0x10, 0x0, 0x3, 0x4, 0x28, 0x0, 0x3, 0x4, 0x40, 0x0, 0x3, 0x4, 0x58, 0x0, 0x3, 0x4, 0x70, 0x0, 0x3, 0x4, 0x88, 0x0, 0x3, 0x4, 0xa0, 0x0, 0x3, 0x4, 0xb8, 0x0, 0x3, 0x4, 0xd0, 0x0, 0x3, 0x4, 0xe8, 0x0, 0x3, 0x5, 0x0, 0x0, 0x3, 0x5, 0x18, 0x0, 0x3, 0x5, 0x30, 0x0, 0x3, 0x5, 0x48, 0x0, 0x3, 0x5, 0x60, 0x0, 0x3, 0x5, 0x78, 0x0, 0x3, 0x5, 0x90, 0x0, 0x3, 0x5, 0xa8, 0x0, 0x3, 0x5, 0xc0, 0x0, 0x3, 0x5, 0xec, 0x0, 0x3, 0x6, 0x28, 0x0, 0x3, 0x6, 0x40, 0x0, 0x3, 0x6, 0x58, 0x0, 0x3, 0x6, 0x70, 0x0, 0x3, 0x6, 0x88, 0x0, 0x3, 0x6, 0xa0, 0x0, 0x3, 0x6, 0xb8, 0x0, 0x3, 0x6, 0xd0, 0x0, 0x3, 0x6, 0xe8, 0x0, 0x3, 0x7, 0x0, 0x0, 0x3, 0x7, 0x18, 0x0, 0x3, 0x7, 0x34, 0x0, 0x3, 0x7, 0x4c, 0x0, 0x3, 0x7, 0x68, 0x0, 0x3, 0x7, 0x84, 0x0, 0x3, 0x7, 0x9c, 0x0, 0x3, 0x7, 0xb4, 0x0, 0x3, 0x7, 0xcc, 0x0, 0x3, 0x7, 0xe4, 0x0, 0x3, 0x7, 0xfc, 0x0, 0x3, 0x8, 0x14, 0x0, 0x3, 0x8, 0x2c, 0x0, 0x3, 0x8, 0x44, 0x0, 0x3, 0x8, 0x60, 0x0, 0x3, 0x8, 0x7c, 0x0, 0x3, 0x8, 0x98, 0x0, 0x3, 0x8, 0xb0, 0x0, 0x3, 0x8, 0xcc, 0x0, 0x3, 0x8, 0xe8, 0x0, 0x3, 0x9, 0x0, 0x0, 0x3, 0x9, 0x18, 0x0, 0x3, 0x9, 0x30, 0x0, 0x3, 0x9, 0x48, 0x0, 0x3, 0x9, 0x60, 0x0, 0x3, 0x9, 0x78, 0x0, 0x3, 0x9, 0x90, 0x0, 0x3, 0x9, 0xa8, 0x0, 0x3, 0x9, 0xc4, 0x0, 0x3, 0x9, 0xe0, 0x0, 0x3, 0x9, 0xfc, 0x0, 0x3, 0xa, 0x14, 0x0, 0x3, 0xa, 0x30, 0x0, 0x3, 0xa, 0x4c, 0x0, 0x3, 0xa, 0x68, 0x0, 0x3, 0xa, 0x84, 0x0, 0x3, 0xa, 0x9c, 0x0, 0x3, 0xa, 0xb4, 0x0, 0x3, 0xa, 0xcc, 0x0, 0x3, 0xa, 0xe4, 0x0, 0x3, 0xa, 0xfc, 0x0, 0x3, 0xb, 0x14, 0x0, 0x3, 0xb, 0x2c, 0x0, 0x3, 0xb, 0x44, 0x0, 0x3, 0xb, 0x60, 0x0, 0x3, 0xb, 0x7c, 0x0, 0x3, 0xb, 0x98, 0x0, 0x3, 0xb, 0xb0, 0x0, 0x3, 0xb, 0xcc, 0x0, 0x3, 0xb, 0xe8, 0x0, 0x3, 0xc, 0x4, 0x0, 0x3, 0xc, 0x20, 0x0, 0x3, 0xc, 0x38, 0x0, 0x3, 0xc, 0x50, 0x0, 0x3, 0xc, 0x68, 0x0, 0x3, 0xc, 0x80, 0x0, 0x3, 0xc, 0x98, 0x0, 0x3, 0xc, 0xb0, 0x0, 0x3, 0xc, 0xc8, 0x0, 0x3, 0xc, 0xe0, 0x0, 0x3, 0xc, 0xfc, 0x0, 0x3, 0xd, 0x14, 0x0, 0x3, 0xd, 0x30, 0x0, 0x3, 0xd, 0x4c, 0x0, 0x3, 0xd, 0x64, 0x0, 0x3, 0xd, 0x7c, 0x0, 0x3, 0xd, 0x94, 0x0, 0x3, 0xd, 0xac, 0x0, 0x3, 0xd, 0xc4, 0x0, 0x3, 0xd, 0xdc, 0x0, 0x3, 0xd, 0xf4, 0x0, 0x3, 0xe, 0xc, 0x0, 0x3, 0xe, 0x28, 0x0, 0x3, 0xe, 0x40, 0x0, 0x3, 0xe, 0x5c, 0x0, 0x3, 0xe, 0x78, 0x0, 0x3, 0xe, 0x90, 0x0, 0x3, 0xe, 0xa8, 0x0, 0x3, 0xe, 0xc0, 0x0, 0x3, 0xe, 0xd8, 0x0, 0x3, 0xe, 0xf0, 0x0, 0x3, 0xf, 0x8, 0x0, 0x3, 0xf, 0x20, 0x0, 0x3, 0xf, 0x38, 0x0, 0x3, 0xf, 0x50, 0x0, 0x3, 0xf, 0x6c, 0x0, 0x3, 0xf, 0x88, 0x0, 0x3, 0xf, 0xa0, 0x0, 0x3, 0xf, 0xbc, 0x0, 0x3, 0xf, 0xd8, 0x0, 0x3, 0xf, 0xf4, 0x0, 0x3, 0x10, 0x10, 0x0, 0x3, 0x10, 0x28, 0x0, 0x3, 0x10, 0x38, 0x0, 0x3, 0x10, 0x50, 0x0, 0x3, 0x10, 0x60, 0x0, 0x3, 0x10, 0x78, 0x0, 0x3, 0x10, 0x88, 0x0, 0x3, 0x10, 0xa0, 0x0, 0x3, 0x10, 0xb0, 0x0, 0x3, 0x10, 0xc8, 0x0, 0x3, 0x10, 0xd8, 0x0, 0x3, 0x10, 0xf0, 0x0, 0x3, 0x11, 0x0, 0x0, 0x3, 0x11, 0x18, 0x0, 0x3, 0x11, 0x28, 0x0, 0x3, 0x11, 0x40, 0x0, 0x3, 0x11, 0x58, 0x0, 0x3, 0x11, 0x70, 0x0, 0x3, 0x11, 0x88, 0x0, 0x3, 0x11, 0xa0, 0x0, 0x3, 0x11, 0xb8, 0x0, 0x3, 0x11, 0xd0, 0x0, 0x3, 0x11, 0xe8, 0x0, 0x3, 0x12, 0x0, 0x0, 0x3, 0x12, 0x18, 0x0, 0x3, 0x12, 0x30, 0x0, 0x3, 0x12, 0x48, 0x0, 0x3, 0x12, 0x60, 0x0, 0x3, 0x12, 0x78, 0x0, 0x3, 0x12, 0x90, 0x0, 0x3, 0x12, 0xa8, 0x0, 0x3, 0x12, 0xc0, 0x0, 0x3, 0x12, 0xd8, 0x0, 0x3, 0x12, 0xf0, 0x0, 0x3, 0x13, 0x8, 0x0, 0x3, 0x13, 0x20, 0x0, 0x3, 0x13, 0x38, 0x0, 0x3, 0x13, 0x50, 0x0, 0x3, 0x13, 0x68, 0x0, 0x3, 0x13, 0x80, 0x0, 0x3, 0x13, 0x98, 0x0, 0x3, 0x13, 0xb0, 0x0, 0x3, 0x13, 0xc8, 0x0, 0x3, 0x13, 0xe0, 0x0, 0x3, 0x13, 0xf8, 0x0, 0x3, 0x14, 0x10, 0x0, 0x3, 0x14, 0x28, 0x0, 0x3, 0x14, 0x40, 0x0, 0x3, 0x14, 0x58, 0x0, 0x3, 0x14, 0x70, 0x0, 0x3, 0x14, 0x88, 0x0, 0x3, 0x14, 0xa0, 0x0, 0x3, 0x14, 0xb8, 0x0, 0x3, 0x14, 0xd0, 0x0, 0x3, 0x14, 0xe8, 0x0, 0x3, 0x15, 0x0, 0x0, 0x3, 0x15, 0x18, 0x0, 0x3, 0x15, 0x30, 0x0, 0x3, 0x15, 0x48, 0x0, 0x3, 0x15, 0x60, 0x0, 0x3, 0x15, 0x78, 0x0, 0x3, 0x15, 0x90, 0x0, 0x3, 0x15, 0xa8, 0x0, 0x3, 0x15, 0xc0, 0x0, 0x3, 0x15, 0xd8, 0x0, 0x3, 0x15, 0xf0, 0x0, 0x3, 0x16, 0x8, 0x0, 0x3, 0x16, 0x20, 0x0, 0x3, 0x16, 0x38, 0x0, 0x3, 0x16, 0x50, 0x0, 0x3, 0x16, 0x68, 0x0, 0x3, 0x16, 0x80, 0x0, 0x3, 0x16, 0x98, 0x0, 0x3, 0x16, 0xa8, 0x0, 0x3, 0x16, 0xc0, 0x0, 0x3, 0x16, 0xd0, 0x0, 0x3, 0x16, 0xe0, 0x0, 0x3, 0x17, 0x50, 0x0, 0x3, 0x17, 0x60, 0x0, 0x3, 0x17, 0x78, 0x0, 0x3, 0x17, 0x90, 0x0, 0x3, 0x17, 0xa8, 0x0, 0x3, 0x17, 0xc0, 0x0, 0x3, 0x17, 0xd8, 0x0, 0x3, 0x17, 0xf0, 0x0, 0x3, 0x18, 0xc, 0x0, 0x3, 0x18, 0x1c, 0x0, 0x3, 0x18, 0x38, 0x0, 0x3, 0x18, 0x48, 0x0, 0x3, 0x18, 0x60, 0x0, 0x3, 0x18, 0x7c, 0x0, 0x3, 0x18, 0x94, 0x0, 0x3, 0x18, 0xac, 0x0, 0x3, 0x18, 0xc4, 0x0, 0x3, 0x18, 0xdc, 0x0, 0x3, 0x18, 0xf4, 0x0, 0x3, 0x19, 0x4, 0x0, 0x3, 0x19, 0x1c, 0x0, 0x3, 0x19, 0x34, 0x0, 0x3, 0x19, 0x4c, 0x0, 0x3, 0x19, 0x64, 0x0, 0x3, 0x19, 0x80, 0x0, 0x3, 0x19, 0x90, 0x0, 0x3, 0x19, 0xac, 0x0, 0x3, 0x19, 0xc4, 0x0, 0x3, 0x19, 0xdc, 0x0, 0x3, 0x19, 0xf4, 0x0, 0x3, 0x1a, 0xc, 0x0, 0x3, 0x1a, 0x24, 0x0, 0x3, 0x1a, 0x34, 0x0, 0x3, 0x1a, 0x4c, 0x0, 0x3, 0x1a, 0x64, 0x0, 0x3, 0x1a, 0x7c, 0x0, 0x3, 0x1a, 0x94, 0x0, 0x3, 0x1a, 0xac, 0x0, 0x3, 0x1a, 0xc4, 0x0, 0x3, 0x1a, 0xe0, 0x0, 0x3, 0x1a, 0xf0, 0x0, 0x3, 0x1b, 0xc, 0x0, 0x3, 0x1b, 0x24, 0x0, 0x3, 0x1b, 0x34, 0x0, 0x3, 0x1b, 0x44, 0x0, 0x3, 0x1b, 0x5c, 0x0, 0x3, 0x1b, 0x74, 0x0, 0x3, 0x1b, 0x8c, 0x0, 0x3, 0x1b, 0xa4, 0x0, 0x3, 0x1b, 0xbc, 0x0, 0x3, 0x1b, 0xd8, 0x0, 0x3, 0x1b, 0xe8, 0x0, 0x3, 0x1c, 0x4, 0x0, 0x3, 0x1c, 0x14, 0x0, 0x3, 0x1c, 0x2c, 0x0, 0x3, 0x1c, 0x3c, 0x0, 0x3, 0x1c, 0xa8, 0x0, 0x3, 0x1c, 0xa8, 0x0, 0x3, 0x1c, 0xa8, 0x0, 0x3, 0x1c, 0xa8, 0x0, 0x3, 0x1c, 0xa8, 0x0, 0x3, 0x1c, 0xa8, 0x0, 0x3, 0x1c, 0xa8, 0x0, 0x3, 0x1c, 0xa8, 0x0, 0x3, 0x1c, 0xa8, 0x0, 0x3, 0x1c, 0xa8, 0x0, 0x3, 0x1c, 0xa8, 0x0, 0x3, 0x1c, 0xa8, 0x0, 0x3, 0x1c, 0xa8, 0x0, 0x3, 0x1c, 0xa8, 0x0, 0x3, 0x1c, 0xa8, 0x0, 0x3, 0x1c, 0xa8, 0x0, 0x3, 0x1c, 0xa8, 0x0, 0x3, 0x1c, 0xd4, 0x0, 0x3, 0x1c, 0xe4, 0x0, 0x3, 0x1d, 0x10, 0x0, 0x3, 0x1d, 0x3c, 0x0, 0x3, 0x1d, 0x68, 0x0, 0x3, 0x1d, 0x90, 0x0, 0x3, 0x1d, 0xa8, 0x0, 0x3, 0x1d, 0xc0, 0x0, 0x3, 0x1d, 0xfc, 0x0, 0x3, 0x1e, 0x38, 0x0, 0x3, 0x1e, 0x70, 0x0, 0x3, 0x1e, 0x94, 0x0, 0x3, 0x1e, 0xf0, 0x0, 0x3, 0x1f, 0x4c, 0x0, 0x3, 0x1f, 0xa8, 0x0, 0x3, 0x1f, 0xdc, 0x0, 0x3, 0x20, 0x34, 0x0, 0x3, 0x20, 0xb8, 0x0, 0x3, 0x20, 0xf8, 0x0, 0x3, 0x21, 0x14, 0x0, 0x3, 0x21, 0x3c, 0x0, 0x3, 0x21, 0x7c, 0x0, 0x3, 0x21, 0xd0, 0x0, 0x3, 0x21, 0xe8, 0x0, 0x3, 0x21, 0xe8, 0x0, 0x3, 0x21, 0xe8, 0x0, 0x3, 0x21, 0xe8, 0x0, 0x3, 0x21, 0xe8, 0x0, 0x3, 0x21, 0xe8, 0x0, 0x3, 0x21, 0xe8, 0x0, 0x3, 0x21, 0xe8, 0x0, 0x3, 0x21, 0xe8, 0x0, 0x3, 0x23, 0x74, 0x0, 0x3, 0x24, 0x84, 0x0, 0x3, 0x24, 0xa4, 0x0, 0x3, 0x24, 0xbc, 0x0, 0x3, 0x24, 0xdc, 0x0, 0x3, 0x24, 0xf8, 0x0, 0x3, 0x25, 0x10, 0x0, 0x3, 0x25, 0x30, 0x0, 0x3, 0x25, 0x54, 0x0, 0x3, 0x25, 0xc4, 0x0, 0x3, 0x26, 0x38, 0x0, 0x3, 0x26, 0x68, 0x0, 0x3, 0x26, 0x84, 0x0, 0x3, 0x27, 0x0, 0x0, 0x3, 0x27, 0x14, 0x0, 0x3, 0x27, 0x74, 0x0, 0x3, 0x27, 0xd4, 0x0, 0x3, 0x28, 0x0, 0x0, 0x3, 0x28, 0x24, 0x0, 0x3, 0x28, 0x40, 0x0, 0x3, 0x28, 0x88, 0x0, 0x3, 0x28, 0xb8, 0x0, 0x3, 0x28, 0xe8, 0x0, 0x3, 0x29, 0x0, 0x0, 0x3, 0x29, 0x18, 0x0, 0x3, 0x29, 0x34, 0x0, 0x3, 0x29, 0xa0, 0x0, 0x3, 0x29, 0xd8, 0x0, 0x3, 0x2a, 0x8, 0x0, 0x3, 0x2a, 0x38, 0x0, 0x3, 0x2a, 0x4c, 0x0, 0x3, 0x2a, 0x7c, 0x0, 0x3, 0x2a, 0x94, 0x0, 0x3, 0x2a, 0xb0, 0x0, 0x3, 0x2a, 0xd4, 0x0, 0x3, 0x2b, 0x34, 0x0, 0x3, 0x2b, 0x48, 0x0, 0x3, 0x2b, 0x9c, 0x0, 0x3, 0x2b, 0xd0, 0x0, 0x3, 0x2b, 0xf8, 0x0, 0x3, 0x2c, 0x38, 0x0, 0x3, 0x2c, 0x84, 0x0, 0x3, 0x2c, 0xa8, 0x0, 0x3, 0x2c, 0xe4, 0x0, 0x3, 0x2d, 0x48, 0x0, 0x3, 0x2d, 0x78, 0x0, 0x3, 0x2d, 0xb4, 0x0, 0x3, 0x2d, 0xb4, 0x0, 0x3, 0x2d, 0xb4, 0x0, 0x3, 0x2d, 0xb4, 0x0, 0x3, 0x2d, 0xb4, 0x0, 0x3, 0x2d, 0xb4, 0x0, 0x3, 0x2d, 0xb4, 0x0, 0x3, 0x2d, 0xb4, 0x0, 0x3, 0x2d, 0xb4, 0x0, 0x3, 0x2d, 0xb4, 0x0, 0x3, 0x2d, 0xb4, 0x0, 0x3, 0x2d, 0xb4, 0x0, 0x3, 0x2d, 0xb4, 0x0, 0x3, 0x2e, 0x8, 0x0, 0x3, 0x2e, 0x4c, 0x0, 0x3, 0x2f, 0x58, 0x0, 0x3, 0x2f, 0xbc, 0x0, 0x3, 0x30, 0x4c, 0x0, 0x3, 0x30, 0x74, 0x0, 0x3, 0x31, 0x24, 0x0, 0x3, 0x31, 0xb0, 0x0, 0x3, 0x31, 0xe4, 0x0, 0x3, 0x32, 0x0, 0x0, 0x3, 0x32, 0x28, 0x0, 0x3, 0x32, 0x60, 0x0, 0x3, 0x32, 0x9c, 0x0, 0x3, 0x33, 0x10, 0x0, 0x3, 0x33, 0x24, 0x0, 0x3, 0x33, 0x38, 0x0, 0x3, 0x33, 0x4c, 0x0, 0x3, 0x33, 0x60, 0x0, 0x3, 0x33, 0x74, 0x0, 0x3, 0x33, 0x88, 0x0, 0x3, 0x33, 0x9c, 0x0, 0x3, 0x33, 0xb0, 0x0, 0x3, 0x33, 0xc4, 0x0, 0x3, 0x33, 0xd8, 0x0, 0x3, 0x33, 0xec, 0x0, 0x3, 0x34, 0x0, 0x0, 0x3, 0x34, 0x14, 0x0, 0x3, 0x34, 0x28, 0x0, 0x3, 0x34, 0x3c, 0x0, 0x3, 0x34, 0x50, 0x0, 0x3, 0x34, 0x64, 0x0, 0x3, 0x34, 0x78, 0x0, 0x3, 0x34, 0x8c, 0x0, 0x3, 0x34, 0xa0, 0x0, 0x3, 0x34, 0xb4, 0x0, 0x3, 0x34, 0xc8, 0x0, 0x3, 0x34, 0xdc, 0x0, 0x3, 0x34, 0xf0, 0x0, 0x3, 0x35, 0x4, 0x0, 0x3, 0x35, 0x18, 0x0, 0x3, 0x35, 0x2c, 0x0, 0x3, 0x35, 0x40, 0x0, 0x3, 0x35, 0xb4, 0x0, 0x3, 0x36, 0x64, 0x0, 0x3, 0x36, 0xf4, 0x0, 0x3, 0x37, 0x34, 0x0, 0x3, 0x37, 0x9c, 0x0, 0x3, 0x38, 0x20, 0x0, 0x3, 0x38, 0xa4, 0x0, 0x3, 0x39, 0x88, 0x0, 0x3, 0x3a, 0x58, 0x0, 0x3, 0x3b, 0x4, 0x0, 0x3, 0x3b, 0x68, 0x0, 0x3, 0x3b, 0x80, 0x0, 0x3, 0x3d, 0x34, 0x0, 0x3, 0x3d, 0x7c, 0x0, 0x3, 0x3d, 0xd4, 0x0, 0x3, 0x3f, 0x60, 0x0, 0x3, 0x3f, 0xfc, 0x0, 0x3, 0x40, 0x94, 0x0, 0x3, 0x41, 0x28, 0x0, 0x3, 0x41, 0x94, 0x0, 0x3, 0x42, 0x34, 0x0, 0x3, 0x42, 0xc4, 0x0, 0x3, 0x42, 0xf8, 0x0, 0x3, 0x43, 0x78, 0x0, 0x3, 0x43, 0xe0, 0x0, 0x3, 0x44, 0x4, 0x0, 0x3, 0x44, 0x24, 0x0, 0x3, 0x44, 0x4c, 0x0, 0x3, 0x44, 0x74, 0x0, 0x3, 0x44, 0xac, 0x0, 0x3, 0x44, 0xf0, 0x0, 0x3, 0x45, 0x28, 0x0, 0x3, 0x45, 0xe8, 0x0, 0x3, 0x46, 0xc0, 0x0, 0x3, 0x47, 0x38, 0x0, 0x3, 0x47, 0x50, 0x0, 0x3, 0x48, 0x78, 0x0, 0x3, 0x49, 0x14, 0x0, 0x3, 0x49, 0xac, 0x0, 0x3, 0x49, 0xbc, 0x0, 0x3, 0x49, 0xd0, 0x0, 0x3, 0x49, 0xe8, 0x0, 0x3, 0x4b, 0x28, 0x0, 0x3, 0x4c, 0x18, 0x0, 0x3, 0x4c, 0x68, 0x0, 0x3, 0x4c, 0xc4, 0x0, 0x3, 0x4d, 0x24, 0x0, 0x3, 0x4d, 0xd0, 0x0, 0x3, 0x4e, 0x64, 0x0, 0x3, 0x4f, 0x44, 0x0, 0x3, 0x4f, 0xc4, 0x0, 0x3, 0x50, 0x40, 0x0, 0x3, 0x50, 0x84, 0x0, 0x3, 0x53, 0x2c, 0x0, 0x3, 0x53, 0xd4, 0x0, 0x3, 0x54, 0x88, 0x0, 0x3, 0x54, 0xf8, 0x0, 0x3, 0x55, 0x98, 0x0, 0x3, 0x56, 0xb0, 0x0, 0x3, 0x57, 0xac, 0x0, 0x3, 0x58, 0x5c, 0x0, 0x3, 0x59, 0x74, 0x0, 0x3, 0x5a, 0x1c, 0x0, 0x3, 0x5a, 0xbc, 0x0, 0x3, 0x5b, 0x1c, 0x0, 0x3, 0x5b, 0xa8, 0x0, 0x3, 0x5b, 0xfc, 0x0, 0x3, 0x5c, 0x3c, 0x0, 0x3, 0x5c, 0xa8, 0x0, 0x3, 0x5c, 0xb8, 0x0, 0x3, 0x5c, 0xc8, 0x0, 0x3, 0x5d, 0xbc, 0x0, 0x3, 0x5d, 0xf0, 0x0, 0x3, 0x5e, 0x0, 0x0, 0x3, 0x5e, 0x10, 0x0, 0x3, 0x5f, 0x8, 0x0, 0x3, 0x5f, 0xcc, 0x0, 0x3, 0x60, 0x54, 0x0, 0x3, 0x60, 0xd0, 0x0, 0x3, 0x61, 0x98, 0x0, 0x3, 0x62, 0x78, 0x0, 0x3, 0x62, 0xa4, 0x0, 0x3, 0x63, 0xe8, 0x0, 0x3, 0x64, 0x3c, 0x0, 0x3, 0x64, 0xe0, 0x0, 0x3, 0x65, 0x70, 0x0, 0x3, 0x65, 0xfc, 0x0, 0x3, 0x66, 0x74, 0x0, 0x3, 0x66, 0xbc, 0x0, 0x3, 0x67, 0x30, 0x0, 0x3, 0x67, 0xb4, 0x0, 0x3, 0x68, 0x48, 0x0, 0x3, 0x68, 0xbc, 0x0, 0x3, 0x68, 0xec, 0x0, 0x3, 0x69, 0x30, 0x0, 0x3, 0x69, 0x84, 0x0, 0x3, 0x69, 0xf4, 0x0, 0x3, 0x6a, 0x2c, 0x0, 0x3, 0x6a, 0x64, 0x0, 0x3, 0x6a, 0x90, 0x0, 0x3, 0x6b, 0x14, 0x0, 0x3, 0x6b, 0xc4, 0x0, 0x3, 0x6c, 0x64, 0x0, 0x3, 0x6c, 0x9c, 0x0, 0x3, 0x6d, 0x4, 0x0, 0x3, 0x6d, 0x9c, 0x0, 0x3, 0x6d, 0xec, 0x0, 0x3, 0x6e, 0xc, 0x0, 0x3, 0x6e, 0x2c, 0x0, 0x3, 0x6e, 0x54, 0x0, 0x3, 0x6e, 0x74, 0x0, 0x3, 0x6e, 0x94, 0x0, 0x3, 0x6e, 0xb4, 0x0, 0x3, 0x6e, 0xd4, 0x0, 0x3, 0x6e, 0xf4, 0x0, 0x3, 0x6f, 0x14, 0x0, 0x3, 0x6f, 0x34, 0x0, 0x3, 0x6f, 0x54, 0x0, 0x3, 0x6f, 0x74, 0x0, 0x3, 0x6f, 0x94, 0x0, 0x3, 0x6f, 0xb4, 0x0, 0x3, 0x6f, 0xd4, 0x0, 0x3, 0x6f, 0xec, 0x0, 0x3, 0x6f, 0xfc, 0x0, 0x3, 0x70, 0x14, 0x0, 0x3, 0x70, 0x34, 0x0, 0x3, 0x70, 0x4c, 0x0, 0x3, 0x70, 0x5c, 0x0, 0x3, 0x70, 0x74, 0x0, 0x3, 0x70, 0x94, 0x0, 0x3, 0x70, 0xbc, 0x0, 0x3, 0x70, 0xd4, 0x0, 0x3, 0x70, 0xe4, 0x0, 0x3, 0x70, 0xfc, 0x0, 0x3, 0x71, 0x1c, 0x0, 0x3, 0x71, 0x2c, 0x0, 0x3, 0x71, 0x3c, 0x0, 0x3, 0x71, 0x4c, 0x0, 0x3, 0x71, 0x5c, 0x0, 0x3, 0x71, 0x6c, 0x0, 0x3, 0x71, 0x84, 0x0, 0x3, 0x71, 0xa4, 0x0, 0x3, 0x71, 0xbc, 0x0, 0x3, 0x71, 0xcc, 0x0, 0x3, 0x71, 0xe4, 0x0, 0x3, 0x72, 0x4, 0x0, 0x3, 0x72, 0x2c, 0x0, 0x3, 0x72, 0x44, 0x0, 0x3, 0x72, 0x54, 0x0, 0x3, 0x72, 0x6c, 0x0, 0x3, 0x72, 0x8c, 0x0, 0x3, 0x72, 0x9c, 0x0, 0x3, 0x72, 0xac, 0x0, 0x3, 0x72, 0xbc, 0x0, 0x3, 0x72, 0xcc, 0x0, 0x3, 0x73, 0x50, 0x0, 0x3, 0x74, 0xcc, 0x0, 0x3, 0x75, 0xac, 0x0, 0x3, 0x75, 0xbc, 0x0, 0x3, 0x75, 0xcc, 0x0, 0x3, 0x76, 0x38, 0x0, 0x3, 0x76, 0x58, 0x0, 0x3, 0x77, 0x8, 0x0, 0x3, 0x77, 0xb8, 0x0, 0x3, 0x78, 0x68, 0x0, 0x3, 0x79, 0x18, 0x0, 0x3, 0x7a, 0x38, 0x0, 0x3, 0x7b, 0x5c, 0x0, 0x3, 0x7b, 0x8c, 0x0, 0x3, 0x7b, 0xbc, 0x0, 0x3, 0x7b, 0xec, 0x0, 0x3, 0x7c, 0x1c, 0x0, 0x3, 0x7c, 0x68, 0x0, 0x3, 0x7c, 0xb4, 0x0, 0x3, 0x7d, 0x5c, 0x0, 0x3, 0x7e, 0x4, 0x0, 0x3, 0x7e, 0x50, 0x0, 0x3, 0x7e, 0x9c, 0x0, 0x3, 0x7e, 0xe8, 0x0, 0x3, 0x7f, 0x34, 0x0, 0x3, 0x7f, 0x7c, 0x0, 0x3, 0x7f, 0xc8, 0x0, 0x3, 0x80, 0x4, 0x0, 0x3, 0x80, 0x40, 0x0, 0x3, 0x81, 0x4, 0x0, 0x3, 0x81, 0x40, 0x0, 0x3, 0x81, 0x94, 0x0, 0x3, 0x82, 0x14, 0x0, 0x3, 0x82, 0xa0, 0x0, 0x3, 0x83, 0x64, 0x0, 0x3, 0x84, 0x28, 0x0, 0x3, 0x85, 0x3c, 0x0, 0x3, 0x85, 0x9c, 0x0, 0x3, 0x85, 0xe4, 0x0, 0x3, 0x86, 0x1c, 0x0, 0x3, 0x86, 0x54, 0x0, 0x3, 0x86, 0x8c, 0x0, 0x3, 0x86, 0xc4, 0x0, 0x3, 0x86, 0xfc, 0x0, 0x3, 0x87, 0x34, 0x0, 0x3, 0x87, 0xb8, 0x0, 0x3, 0x88, 0x38, 0x0, 0x3, 0x88, 0x74, 0x0, 0x3, 0x88, 0xe0, 0x0, 0x3, 0x89, 0x88, 0x0, 0x3, 0x8a, 0x30, 0x0, 0x3, 0x8a, 0xa0, 0x0, 0x3, 0x8b, 0x10, 0x0, 0x3, 0x8b, 0x38, 0x0, 0x3, 0x8b, 0x60, 0x0, 0x3, 0x8b, 0xd4, 0x0, 0x3, 0x8c, 0x44, 0x0, 0x3, 0x8c, 0x68, 0x0, 0x3, 0x8c, 0x8c, 0x0, 0x3, 0x8c, 0xa8, 0x0, 0x3, 0x8c, 0xc4, 0x0, 0x3, 0x8c, 0xe0, 0x0, 0x3, 0x8d, 0x28, 0x0, 0x3, 0x8d, 0x70, 0x0, 0x3, 0x8d, 0xb8, 0x0, 0x3, 0x8e, 0x0, 0x0, 0x3, 0x8e, 0x1c, 0x0, 0x3, 0x8e, 0x38, 0x0, 0x3, 0x8e, 0xa0, 0x0, 0x3, 0x8f, 0x20, 0x0, 0x3, 0x8f, 0x88, 0x0, 0x3, 0x8f, 0xc8, 0x0, 0x3, 0x90, 0x8, 0x0, 0x3, 0x90, 0x48, 0x0, 0x3, 0x90, 0x88, 0x0, 0x3, 0x90, 0xe4, 0x0, 0x3, 0x91, 0x40, 0x0, 0x3, 0x91, 0x80, 0x0, 0x3, 0x91, 0xc0, 0x0, 0x3, 0x92, 0x0, 0x0, 0x3, 0x92, 0x40, 0x0, 0x3, 0x92, 0x80, 0x0, 0x3, 0x92, 0xc0, 0x0, 0x3, 0x93, 0x1c, 0x0, 0x3, 0x93, 0x78, 0x0, 0x3, 0x93, 0xd0, 0x0, 0x3, 0x94, 0x28, 0x0, 0x3, 0x94, 0x70, 0x0, 0x3, 0x94, 0xb8, 0x0, 0x3, 0x95, 0x4, 0x0, 0x3, 0x95, 0x50, 0x0, 0x3, 0x95, 0x8c, 0x0, 0x3, 0x95, 0xc8, 0x0, 0x3, 0x96, 0xc, 0x0, 0x3, 0x96, 0x50, 0x0, 0x3, 0x96, 0x90, 0x0, 0x3, 0x96, 0xd0, 0x0, 0x3, 0x97, 0x34, 0x0, 0x3, 0x97, 0x88, 0x0, 0x3, 0x97, 0xe8, 0x0, 0x3, 0x98, 0x48, 0x0, 0x3, 0x98, 0xb4, 0x0, 0x3, 0x99, 0x34, 0x0, 0x3, 0x99, 0x88, 0x0, 0x3, 0x99, 0xcc, 0x0, 0x3, 0x9a, 0x10, 0x0, 0x3, 0x9a, 0x6c, 0x0, 0x3, 0x9b, 0x48, 0x0, 0x3, 0x9b, 0x64, 0x0, 0x3, 0x9b, 0xc4, 0x0, 0x3, 0x9c, 0x8, 0x0, 0x3, 0x9c, 0x50, 0x0, 0x3, 0x9c, 0xac, 0x0, 0x3, 0x9d, 0x4, 0x0, 0x3, 0x9d, 0x60, 0x0, 0x3, 0x9d, 0xd0, 0x0, 0x3, 0x9e, 0x4, 0x0, 0x3, 0x9e, 0x38, 0x0, 0x3, 0x9e, 0x88, 0x0, 0x3, 0x9e, 0xc4, 0x0, 0x3, 0x9f, 0x98, 0x0, 0x3, 0xa0, 0x30, 0x0, 0x3, 0xa0, 0x64, 0x0, 0x3, 0xa0, 0xcc, 0x0, 0x3, 0xa1, 0x8c, 0x0, 0x3, 0xa1, 0xf0, 0x0, 0x3, 0xa2, 0x20, 0x0, 0x3, 0xa2, 0x84, 0x0, 0x3, 0xa3, 0x28, 0x0, 0x3, 0xa3, 0x7c, 0x0, 0x3, 0xa3, 0xe0, 0x0, 0x3, 0xa4, 0x84, 0x0, 0x3, 0xa4, 0xd8, 0x0, 0x3, 0xa5, 0x0, 0x0, 0x3, 0xa5, 0x44, 0x0, 0x3, 0xa5, 0x88, 0x0, 0x3, 0xa6, 0x20, 0x0, 0x3, 0xa6, 0x4c, 0x0, 0x3, 0xa6, 0x88, 0x0, 0x3, 0xa7, 0x1c, 0x0, 0x3, 0xa7, 0x2c, 0x0, 0x3, 0xa7, 0x40, 0x0, 0x3, 0xa7, 0x8c, 0x0, 0x3, 0xa7, 0xa0, 0x0, 0x3, 0xa7, 0xb0, 0x0, 0x3, 0xa8, 0x10, 0x0, 0x3, 0xa8, 0x28, 0x0, 0x3, 0xa8, 0x40, 0x0, 0x3, 0xa8, 0xd8, 0x0, 0x3, 0xa9, 0x90, 0x0, 0x3, 0xa9, 0xb0, 0x0, 0x3, 0xa9, 0xd4, 0x0, 0x3, 0xaa, 0x80, 0x0, 0x3, 0xab, 0x2c, 0x0, 0x3, 0xab, 0x48, 0x0, 0x3, 0xab, 0xb4, 0x0, 0x3, 0xab, 0xdc, 0x0, 0x3, 0xac, 0xa0, 0x0, 0x3, 0xac, 0xcc, 0x0, 0x3, 0xac, 0xf4, 0x0, 0x3, 0xad, 0x34, 0x0, 0x3, 0xad, 0x74, 0x0, 0x3, 0xad, 0xc4, 0x0, 0x3, 0xad, 0xdc, 0x0, 0x3, 0xad, 0xfc, 0x0, 0x3, 0xae, 0xc8, 0x0, 0x3, 0xb0, 0x0, 0x0, 0x3, 0xb1, 0xa8, 0x0, 0x3, 0xb2, 0x48, 0x0, 0x3, 0xb3, 0x10, 0x0, 0x3, 0xb3, 0xd8, 0x0, 0x3, 0xb3, 0xfc, 0x0, 0x3, 0xb4, 0x20, 0x0, 0x3, 0xb4, 0x3c, 0x0, 0x3, 0xb4, 0x68, 0x0, 0x3, 0xb4, 0x80, 0x0, 0x3, 0xb4, 0xb4, 0x0, 0x3, 0xb4, 0xe4, 0x0, 0x3, 0xb5, 0x4, 0x0, 0x3, 0xb5, 0x64, 0x0, 0x3, 0xb5, 0xc4, 0x0, 0x3, 0xb6, 0x40, 0x0, 0x3, 0xb6, 0x88, 0x0, 0x3, 0xb6, 0xe8, 0x0, 0x3, 0xb7, 0x48, 0x0, 0x3, 0xb7, 0xb4, 0x0, 0x3, 0xb8, 0x1c, 0x0, 0x3, 0xb8, 0x9c, 0x0, 0x3, 0xb9, 0x10, 0x0, 0x3, 0xb9, 0xa4, 0x0, 0x3, 0xba, 0x34, 0x0, 0x3, 0xbb, 0x28, 0x0, 0x3, 0xbb, 0xc8, 0x0, 0x3, 0xbc, 0x78, 0x0, 0x3, 0xbd, 0x60, 0x0, 0x3, 0xbd, 0xd4, 0x0, 0x3, 0xbe, 0x2c, 0x0, 0x3, 0xbe, 0xe8, 0x0, 0x3, 0xbf, 0x5c, 0x0, 0x3, 0xbf, 0x74, 0x0, 0x3, 0xbf, 0x94, 0x0, 0x3, 0xbf, 0xb4, 0x0, 0x3, 0xbf, 0xd4, 0x0, 0x3, 0xbf, 0xf8, 0x0, 0x3, 0xc0, 0x18, 0x0, 0x3, 0xc0, 0x74, 0x0, 0x3, 0xc0, 0xe0, 0x0, 0x3, 0xc1, 0x28, 0x0, 0x3, 0xc1, 0x6c, 0x0, 0x3, 0xc1, 0xac, 0x0, 0x3, 0xc1, 0xf8, 0x0, 0x3, 0xc2, 0x3c, 0x0, 0x3, 0xc3, 0x1c, 0x0, 0x3, 0xc3, 0xa0, 0x0, 0x3, 0xc4, 0x2c, 0x0, 0x3, 0xc4, 0xb8, 0x0, 0x3, 0xc5, 0x10, 0x0, 0x3, 0xc5, 0x70, 0x0, 0x3, 0xc5, 0xdc, 0x0, 0x3, 0xc6, 0x6c, 0x0, 0x3, 0xc6, 0xf8, 0x0, 0x3, 0xc7, 0x40, 0x0, 0x3, 0xc7, 0x80, 0x0, 0x3, 0xc7, 0xe8, 0x0, 0x3, 0xc8, 0x4c, 0x0, 0x3, 0xc8, 0x94, 0x0, 0x3, 0xc8, 0xd8, 0x0, 0x3, 0xc9, 0x60, 0x0, 0x3, 0xc9, 0xcc, 0x0, 0x3, 0xca, 0x20, 0x0, 0x3, 0xca, 0x74, 0x0, 0x3, 0xca, 0xe0, 0x0, 0x3, 0xcb, 0x4c, 0x0, 0x3, 0xcb, 0xcc, 0x0, 0x3, 0xcc, 0x44, 0x0, 0x3, 0xcc, 0xf8, 0x0, 0x3, 0xcd, 0xac, 0x0, 0x3, 0xcd, 0xf0, 0x0, 0x3, 0xce, 0x38, 0x0, 0x3, 0xce, 0xc4, 0x0, 0x3, 0xcf, 0x4c, 0x0, 0x3, 0xcf, 0x88, 0x0, 0x3, 0xcf, 0xc0, 0x0, 0x3, 0xd0, 0x14, 0x0, 0x3, 0xd0, 0x64, 0x0, 0x3, 0xd0, 0xf4, 0x0, 0x3, 0xd1, 0x80, 0x0, 0x3, 0xd1, 0xf0, 0x0, 0x3, 0xd2, 0x60, 0x0, 0x3, 0xd2, 0xa4, 0x0, 0x3, 0xd2, 0xe8, 0x0, 0x3, 0xd3, 0x54, 0x0, 0x3, 0xd3, 0xc0, 0x0, 0x3, 0xd4, 0x14, 0x0, 0x3, 0xd4, 0x64, 0x0, 0x3, 0xd4, 0xe0, 0x0, 0x3, 0xd5, 0x60, 0x0, 0x3, 0xd5, 0xcc, 0x0, 0x3, 0xd6, 0x38, 0x0, 0x3, 0xd6, 0x98, 0x0, 0x3, 0xd6, 0xb0, 0x0, 0x3, 0xd7, 0x10, 0x0, 0x3, 0xd7, 0x50, 0x0, 0x3, 0xd7, 0x94, 0x0, 0x3, 0xd7, 0xc8, 0x0, 0x3, 0xd7, 0xfc, 0x0, 0x3, 0xd8, 0x24, 0x0, 0x3, 0xd8, 0x48, 0x0, 0x3, 0xd9, 0x14, 0x0, 0x3, 0xd9, 0xc8, 0x0, 0x3, 0xda, 0x98, 0x0, 0x3, 0xdb, 0x54, 0x0, 0x3, 0xdc, 0x8, 0x0, 0x3, 0xdc, 0xf0, 0x0, 0x3, 0xdd, 0xd4, 0x0, 0x3, 0xde, 0x94, 0x0, 0x3, 0xdf, 0x48, 0x0, 0x3, 0xdf, 0x98, 0x0, 0x3, 0xdf, 0xd4, 0x0, 0x3, 0xe0, 0x38, 0x0, 0x3, 0xe0, 0x70, 0x0, 0x3, 0xe0, 0xac, 0x0, 0x3, 0xe0, 0xd0, 0x0, 0x3, 0xe0, 0xf8, 0x0, 0x3, 0xe1, 0x1c, 0x0, 0x3, 0xe1, 0x40, 0x0, 0x3, 0xe1, 0x70, 0x0, 0x3, 0xe1, 0xa0, 0x0, 0x3, 0xe1, 0xd0, 0x0, 0x3, 0xe2, 0x10, 0x0, 0x3, 0xe2, 0x4c, 0x0, 0x3, 0xe2, 0x90, 0x0, 0x3, 0xe2, 0xec, 0x0, 0x3, 0xe3, 0x40, 0x0, 0x3, 0xe3, 0xac, 0x0, 0x3, 0xe4, 0x30, 0x0, 0x3, 0xe4, 0xb8, 0x0, 0x3, 0xe4, 0xe8, 0x0, 0x3, 0xe5, 0x14, 0x0, 0x3, 0xe5, 0x4c, 0x0, 0x3, 0xe5, 0x84, 0x0, 0x3, 0xe5, 0xf0, 0x0, 0x3, 0xe6, 0x5c, 0x0, 0x3, 0xe6, 0xac, 0x0, 0x3, 0xe6, 0xf0, 0x0, 0x3, 0xe7, 0x14, 0x0, 0x3, 0xe7, 0x48, 0x0, 0x3, 0xe7, 0x80, 0x0, 0x3, 0xe7, 0xb4, 0x0, 0x3, 0xe8, 0x8, 0x0, 0x3, 0xe8, 0x38, 0x0, 0x3, 0xe8, 0x64, 0x0, 0x3, 0xe8, 0x90, 0x0, 0x3, 0xe8, 0xf4, 0x0, 0x3, 0xe9, 0x54, 0x0, 0x3, 0xe9, 0x64, 0x0, 0x3, 0xe9, 0x90, 0x0, 0x3, 0xe9, 0xc4, 0x0, 0x3, 0xea, 0x30, 0x0, 0x3, 0xea, 0x74, 0x0, 0x3, 0xea, 0xb4, 0x0, 0x3, 0xea, 0xf4, 0x0, 0x3, 0xeb, 0x20, 0x0, 0x3, 0xeb, 0x50, 0x0, 0x3, 0xeb, 0xb4, 0x0, 0x3, 0xeb, 0xec, 0x0, 0x3, 0xec, 0x24, 0x0, 0x3, 0xec, 0xa8, 0x0, 0x3, 0xed, 0x2c, 0x0, 0x3, 0xed, 0xa4, 0x0, 0x3, 0xee, 0x1c, 0x0, 0x3, 0xee, 0x78, 0x0, 0x3, 0xee, 0xdc, 0x0, 0x3, 0xef, 0x14, 0x0, 0x3, 0xef, 0x48, 0x0, 0x3, 0xef, 0xb0, 0x0, 0x3, 0xf0, 0x10, 0x0, 0x3, 0xf0, 0x68, 0x0, 0x3, 0xf0, 0xbc, 0x0, 0x3, 0xf0, 0xf4, 0x0, 0x3, 0xf1, 0x2c, 0x0, 0x3, 0xf1, 0x80, 0x0, 0x3, 0xf1, 0xd4, 0x0, 0x3, 0xf2, 0x68, 0x0, 0x3, 0xf2, 0xfc, 0x0, 0x3, 0xf3, 0x64, 0x0, 0x3, 0xf3, 0xcc, 0x0, 0x3, 0xf4, 0x18, 0x0, 0x3, 0xf4, 0x64, 0x0, 0x3, 0xf4, 0xdc, 0x0, 0x3, 0xf5, 0x54, 0x0, 0x3, 0xf5, 0xdc, 0x0, 0x3, 0xf6, 0x64, 0x0, 0x3, 0xf6, 0xbc, 0x0, 0x3, 0xf7, 0x14, 0x0, 0x3, 0xf7, 0x88, 0x0, 0x3, 0xf7, 0xf8, 0x0, 0x3, 0xf8, 0x1c, 0x0, 0x3, 0xf8, 0x3c, 0x0, 0x3, 0xf8, 0x60, 0x0, 0x3, 0xf8, 0x84, 0x0, 0x3, 0xf8, 0xf8, 0x0, 0x3, 0xf9, 0x60, 0x0, 0x3, 0xf9, 0xb8, 0x0, 0x3, 0xf9, 0xd0, 0x0, 0x3, 0xfa, 0x44, 0x0, 0x3, 0xfa, 0xa4, 0x0, 0x3, 0xfb, 0x18, 0x0, 0x3, 0xfb, 0x84, 0x0, 0x3, 0xfb, 0xf8, 0x0, 0x3, 0xfc, 0x60, 0x0, 0x3, 0xfc, 0xbc, 0x0, 0x3, 0xfd, 0x30, 0x0, 0x3, 0xfd, 0x94, 0x0, 0x3, 0xfd, 0xc8, 0x0, 0x3, 0xfe, 0x40, 0x0, 0x3, 0xfe, 0x6c, 0x0, 0x3, 0xfe, 0xa4, 0x0, 0x3, 0xfe, 0xd4, 0x0, 0x3, 0xff, 0x0, 0x0, 0x3, 0xff, 0x18, 0x0, 0x3, 0xff, 0x38, 0x0, 0x3, 0xff, 0x90, 0x0, 0x3, 0xff, 0xb0, 0x0, 0x3, 0xff, 0xd0, 0x0, 0x3, 0xff, 0xf0, 0x0, 0x4, 0x0, 0x10, 0x0, 0x4, 0x0, 0x38, 0x0, 0x4, 0x0, 0x60, 0x0, 0x4, 0x0, 0x88, 0x0, 0x4, 0x0, 0xb0, 0x0, 0x4, 0x0, 0xd0, 0x0, 0x4, 0x1, 0x24, 0x0, 0x4, 0x2, 0x20, 0x0, 0x4, 0x2, 0x44, 0x0, 0x4, 0x2, 0x68, 0x0, 0x4, 0x2, 0x88, 0x0, 0x4, 0x2, 0xa8, 0x0, 0x4, 0x2, 0xc8, 0x0, 0x4, 0x3, 0x20, 0x0, 0x4, 0x3, 0x78, 0x0, 0x4, 0x3, 0xc4, 0x0, 0x4, 0x3, 0xfc, 0x0, 0x4, 0x4, 0x68, 0x0, 0x4, 0x4, 0xc8, 0x0, 0x4, 0x9, 0x80, 0x0, 0x4, 0x9, 0xec, 0x0, 0x4, 0xa, 0x60, 0x0, 0x4, 0xa, 0x70, 0x0, 0x4, 0xa, 0x80, 0x0, 0x4, 0xa, 0x90, 0x0, 0x4, 0xa, 0xa0, 0x0, 0x4, 0xa, 0xd0, 0x0, 0x4, 0xb, 0x1c, 0x0, 0x4, 0xb, 0x60, 0x0, 0x4, 0xb, 0x98, 0x0, 0x4, 0xb, 0xb4, 0x0, 0x4, 0xb, 0xec, 0x0, 0x4, 0xc, 0x24, 0x0, 0x4, 0xc, 0x40, 0x0, 0x4, 0xc, 0x78, 0x0, 0x4, 0xc, 0x98, 0x0, 0x4, 0xc, 0xb4, 0x0, 0x4, 0xc, 0xd8, 0x0, 0x4, 0xc, 0xfc, 0x0, 0x4, 0xd, 0x18, 0x0, 0x4, 0xd, 0x38, 0x0, 0x4, 0xd, 0x6c, 0x0, 0x4, 0xd, 0xc4, 0x0, 0x4, 0xd, 0xfc, 0x0, 0x4, 0xe, 0x18, 0x0, 0x4, 0xe, 0x50, 0x0, 0x4, 0xe, 0xa8, 0x0, 0x4, 0xe, 0xdc, 0x0, 0x4, 0xe, 0xf8, 0x0, 0x4, 0xf, 0x4c, 0x0, 0x4, 0xf, 0x78, 0x0, 0x4, 0x10, 0x20, 0x0, 0x4, 0x10, 0x30, 0x0, 0x4, 0x10, 0x9c, 0x0, 0x4, 0x11, 0x10, 0x0, 0x4, 0x11, 0x38, 0x0, 0x4, 0x12, 0xa8, 0x0, 0x4, 0x14, 0xac, 0x0, 0x4, 0x17, 0x3c, 0x0, 0x4, 0x18, 0xcc, 0x0, 0x4, 0x1a, 0xd8, 0x0, 0x4, 0x1d, 0x3c, 0x0, 0x4, 0x1e, 0xb4, 0x0, 0x4, 0x21, 0xb0, 0x0, 0x4, 0x24, 0x18, 0x0, 0x4, 0x26, 0x84, 0x0, 0x4, 0x26, 0xa0, 0x0, 0x4, 0x26, 0xbc, 0x0, 0x4, 0x26, 0xd8, 0x0, 0x4, 0x26, 0xf4, 0x0, 0x4, 0x27, 0x28, 0x0, 0x4, 0x27, 0x60, 0x0, 0x4, 0x27, 0x98, 0x0, 0x4, 0x27, 0xd4, 0x0, 0x4, 0x28, 0xc, 0x0, 0x4, 0x28, 0x4c, 0x0, 0x4, 0x28, 0x94, 0x0, 0x4, 0x28, 0xe0, 0x0, 0x4, 0x29, 0x4, 0x0, 0x4, 0x29, 0x28, 0x0, 0x4, 0x29, 0x4c, 0x0, 0x4, 0x29, 0x70, 0x0, 0x4, 0x29, 0x94, 0x0, 0x4, 0x29, 0xb8, 0x0, 0x4, 0x29, 0xdc, 0x0, 0x4, 0x2a, 0x0, 0x0, 0x4, 0x2a, 0x20, 0x0, 0x4, 0x2a, 0x44, 0x0, 0x4, 0x2a, 0x68, 0x0, 0x4, 0x2a, 0x8c, 0x0, 0x4, 0x2a, 0xac, 0x0, 0x4, 0x2a, 0xcc, 0x0, 0x4, 0x2a, 0xec, 0x0, 0x4, 0x2b, 0x10, 0x0, 0x4, 0x2b, 0x38, 0x0, 0x4, 0x2b, 0x60, 0x0, 0x4, 0x2b, 0x8c, 0x0, 0x4, 0x2b, 0xb8, 0x0, 0x4, 0x2b, 0xe0, 0x0, 0x4, 0x2c, 0x10, 0x0, 0x4, 0x2c, 0x3c, 0x0, 0x4, 0x2c, 0x64, 0x0, 0x4, 0x2c, 0x8c, 0x0, 0x4, 0x2c, 0xb4, 0x0, 0x4, 0x2c, 0xe0, 0x0, 0x4, 0x2d, 0xc, 0x0, 0x4, 0x2d, 0x34, 0x0, 0x4, 0x2d, 0x64, 0x0, 0x4, 0x2d, 0x90, 0x0, 0x4, 0x2d, 0xb8, 0x0, 0x4, 0x2d, 0xe0, 0x0, 0x4, 0x2e, 0xc, 0x0, 0x4, 0x2e, 0x38, 0x0, 0x4, 0x2e, 0x60, 0x0, 0x4, 0x2e, 0x88, 0x0, 0x4, 0x2e, 0xb4, 0x0, 0x4, 0x2e, 0xe0, 0x0, 0x4, 0x2f, 0x8, 0x0, 0x4, 0x2f, 0x2c, 0x0, 0x4, 0x2f, 0x58, 0x0, 0x4, 0x2f, 0x84, 0x0, 0x4, 0x2f, 0xac, 0x0, 0x4, 0x2f, 0xd4, 0x0, 0x4, 0x30, 0x0, 0x0, 0x4, 0x30, 0x2c, 0x0, 0x4, 0x30, 0x54, 0x0, 0x4, 0x30, 0x84, 0x0, 0x4, 0x30, 0xb8, 0x0, 0x4, 0x30, 0xec, 0x0, 0x4, 0x31, 0x20, 0x0, 0x4, 0x31, 0x54, 0x0, 0x4, 0x31, 0x88, 0x0, 0x4, 0x31, 0xbc, 0x0, 0x4, 0x31, 0xf4, 0x0, 0x4, 0x32, 0x2c, 0x0, 0x4, 0x32, 0x64, 0x0, 0x4, 0x32, 0x9c, 0x0, 0x4, 0x32, 0xd0, 0x0, 0x4, 0x33, 0x4, 0x0, 0x4, 0x33, 0x38, 0x0, 0x4, 0x33, 0x6c, 0x0, 0x4, 0x33, 0xa0, 0x0, 0x4, 0x33, 0xc4, 0x0, 0x4, 0x33, 0xf0, 0x0, 0x4, 0x34, 0x1c, 0x0, 0x4, 0x34, 0x48, 0x0, 0x4, 0x34, 0x70, 0x0, 0x4, 0x34, 0x98, 0x0, 0x4, 0x34, 0xc4, 0x0, 0x4, 0x34, 0xf0, 0x0, 0x4, 0x35, 0x24, 0x0, 0x4, 0x35, 0x50, 0x0, 0x4, 0x35, 0x7c, 0x0, 0x4, 0x35, 0xb0, 0x0, 0x4, 0x35, 0xdc, 0x0, 0x4, 0x36, 0x8, 0x0, 0x4, 0x36, 0x3c, 0x0, 0x4, 0x36, 0x68, 0x0, 0x4, 0x36, 0x94, 0x0, 0x4, 0x36, 0xc8, 0x0, 0x4, 0x36, 0xf8, 0x0, 0x4, 0x37, 0x2c, 0x0, 0x4, 0x37, 0x70, 0x0, 0x4, 0x37, 0xa0, 0x0, 0x4, 0x37, 0xd4, 0x0, 0x4, 0x38, 0x14, 0x0, 0x4, 0x38, 0x48, 0x0, 0x4, 0x38, 0x78, 0x0, 0x4, 0x38, 0xb8, 0x0, 0x4, 0x38, 0xec, 0x0, 0x4, 0x39, 0x1c, 0x0, 0x4, 0x39, 0x5c, 0x0, 0x4, 0x39, 0xa4, 0x0, 0x4, 0x39, 0xe8, 0x0, 0x4, 0x3a, 0x44, 0x0, 0x4, 0x3a, 0x78, 0x0, 0x4, 0x3a, 0xb0, 0x0, 0x4, 0x3a, 0xe0, 0x0, 0x4, 0x3b, 0x14, 0x0, 0x4, 0x3b, 0x34, 0x0, 0x4, 0x3b, 0x50, 0x0, 0x4, 0x3b, 0x90, 0x0, 0x4, 0x3b, 0xac, 0x0, 0x4, 0x3b, 0xc8, 0x0, 0x4, 0x3b, 0xe4, 0x0, 0x4, 0x3c, 0x0, 0x0, 0x4, 0x3c, 0x1c, 0x0, 0x4, 0x3c, 0x38, 0x0, 0x4, 0x3c, 0x54, 0x0, 0x4, 0x3c, 0x70, 0x0, 0x4, 0x3c, 0x94, 0x0, 0x4, 0x3c, 0xbc, 0x0, 0x4, 0x3c, 0xe0, 0x0, 0x4, 0x3d, 0x8, 0x0, 0x4, 0x3d, 0x1c, 0x0, 0x4, 0x3d, 0x38, 0x0, 0x4, 0x3d, 0x54, 0x0, 0x4, 0x3d, 0x70, 0x0, 0x4, 0x3d, 0x8c, 0x0, 0x4, 0x3d, 0xa8, 0x0, 0x4, 0x3d, 0xc4, 0x0, 0x4, 0x3d, 0xe0, 0x0, 0x4, 0x3d, 0xfc, 0x0, 0x4, 0x3e, 0x18, 0x0, 0x4, 0x3e, 0x34, 0x0, 0x4, 0x3e, 0x50, 0x0, 0x4, 0x3e, 0x6c, 0x0, 0x4, 0x3e, 0x88, 0x0, 0x4, 0x3e, 0xa4, 0x0, 0x4, 0x3e, 0xc0, 0x0, 0x4, 0x3e, 0xd4, 0x0, 0x4, 0x3f, 0x88, 0x0, 0x4, 0x42, 0x9c, 0x0, 0x4, 0x43, 0x44, 0x0, 0x4, 0x43, 0x58, 0x0, 0x4, 0x43, 0x6c, 0x0, 0x4, 0x43, 0x88, 0x0, 0x4, 0x43, 0xa4, 0x0, 0x4, 0x43, 0xc0, 0x0, 0x4, 0x43, 0xe4, 0x0, 0x4, 0x44, 0xc, 0x0, 0x4, 0x44, 0x30, 0x0, 0x4, 0x44, 0x54, 0x0, 0x4, 0x44, 0x70, 0x0, 0x4, 0x44, 0x98, 0x0, 0x4, 0x44, 0xbc, 0x0, 0x4, 0x44, 0xd8, 0x0, 0x4, 0x45, 0x4, 0x0, 0x4, 0x45, 0x58, 0x0, 0x4, 0x45, 0x70, 0x0, 0x4, 0x45, 0xc8, 0x0, 0x4, 0x46, 0x28, 0x0, 0x4, 0x47, 0x64, 0x0, 0x4, 0x47, 0xec, 0x0, 0x4, 0x48, 0x74, 0x0, 0x4, 0x4a, 0x34, 0x0, 0x4, 0x4a, 0x50, 0x0, 0x4, 0x4a, 0x7c, 0x0, 0x4, 0x4a, 0x98, 0x0, 0x4, 0x4a, 0xc4, 0x0, 0x4, 0x4a, 0xe0, 0x0, 0x4, 0x4b, 0xc, 0x0, 0x4, 0x4b, 0x2c, 0x0, 0x4, 0x4b, 0x60, 0x0, 0x4, 0x4b, 0x7c, 0x0, 0x4, 0x4b, 0xa4, 0x0, 0x4, 0x4b, 0xc0, 0x0, 0x4, 0x4b, 0xe8, 0x0, 0x4, 0x4c, 0x4, 0x0, 0x4, 0x4c, 0x30, 0x0, 0x4, 0x4c, 0x4c, 0x0, 0x4, 0x4c, 0x78, 0x0, 0x4, 0x4c, 0x94, 0x0, 0x4, 0x4c, 0xc0, 0x0, 0x4, 0x4c, 0xdc, 0x0, 0x4, 0x4d, 0x8, 0x0, 0x4, 0x4d, 0x24, 0x0, 0x4, 0x4d, 0x50, 0x0, 0x4, 0x4d, 0x6c, 0x0, 0x4, 0x4d, 0x98, 0x0, 0x4, 0x4d, 0xb4, 0x0, 0x4, 0x4d, 0xe0, 0x0, 0x4, 0x4d, 0xfc, 0x0, 0x4, 0x4e, 0x28, 0x0, 0x4, 0x4e, 0x48, 0x0, 0x4, 0x4e, 0x7c, 0x0, 0x4, 0x4e, 0xc0, 0x0, 0x4, 0x4f, 0x50, 0x0, 0x4, 0x4f, 0xa4, 0x0, 0x4, 0x50, 0xc, 0x0, 0x4, 0x51, 0x4, 0x0, 0x4, 0x51, 0xb8, 0x0, 0x4, 0x52, 0x74, 0x0, 0x4, 0x52, 0xd8, 0x0, 0x4, 0x53, 0x30, 0x0, 0x4, 0x53, 0x88, 0x0, 0x4, 0x53, 0xe4, 0x0, 0x4, 0x54, 0x40, 0x0, 0x4, 0x54, 0xa8, 0x0, 0x4, 0x54, 0xf8, 0x0, 0x4, 0x55, 0x20, 0x0, 0x4, 0x55, 0x48, 0x0, 0x4, 0x55, 0x84, 0x0, 0x4, 0x55, 0xfc, 0x0, 0x4, 0x56, 0x50, 0x0, 0x4, 0x56, 0xa4, 0x0, 0x4, 0x56, 0xd0, 0x0, 0x4, 0x56, 0xfc, 0x0, 0x4, 0x57, 0x28, 0x0, 0x4, 0x57, 0x58, 0x0, 0x4, 0x57, 0x9c, 0x0, 0x4, 0x57, 0xe0, 0x0, 0x4, 0x57, 0xfc, 0x0, 0x4, 0x58, 0x18, 0x0, 0x4, 0x58, 0x30, 0x0, 0x4, 0x58, 0x48, 0x0, 0x4, 0x58, 0x90, 0x0, 0x4, 0x58, 0xbc, 0x0, 0x4, 0x58, 0xe8, 0x0, 0x4, 0x59, 0x10, 0x0, 0x4, 0x59, 0x38, 0x0, 0x4, 0x59, 0x74, 0x0, 0x4, 0x59, 0xb8, 0x0, 0x4, 0x59, 0xe4, 0x0, 0x4, 0x5a, 0xc, 0x0, 0x4, 0x5a, 0x78, 0x0, 0x4, 0x5a, 0xb8, 0x0, 0x4, 0x5a, 0xf8, 0x0, 0x4, 0x5b, 0x38, 0x0, 0x4, 0x5b, 0x78, 0x0, 0x4, 0x5b, 0xf8, 0x0, 0x4, 0x5c, 0x78, 0x0, 0x4, 0x5c, 0xf8, 0x0, 0x4, 0x5d, 0x78, 0x0, 0x4, 0x5d, 0xa0, 0x0, 0x4, 0x5d, 0xc8, 0x0, 0x4, 0x5d, 0xf0, 0x0, 0x4, 0x5e, 0x1c, 0x0, 0x4, 0x5e, 0x38, 0x0, 0x4, 0x5e, 0x64, 0x0, 0x4, 0x5e, 0x80, 0x0, 0x4, 0x5e, 0xa8, 0x0, 0x4, 0x5f, 0x98, 0x0, 0x4, 0x60, 0x4, 0x0, 0x4, 0x60, 0xbc, 0x0, 0x4, 0x69, 0xa0, 0x0, 0x4, 0x6c, 0x84, 0x0, 0x4, 0x6c, 0xbc, 0x0, 0x4, 0x6d, 0x20, 0x0, 0x4, 0x6d, 0x70, 0x0, 0x4, 0x6d, 0xd4, 0x0, 0x4, 0x6e, 0x68, 0x0, 0x4, 0x6f, 0x34, 0x0, 0x4, 0x70, 0x0, 0x0, 0x4, 0x70, 0x64, 0x0, 0x4, 0x71, 0x8, 0x0, 0x4, 0x73, 0x8c, 0x0, 0x4, 0x76, 0x6c, 0x0, 0x4, 0x76, 0xa4, 0x0, 0x4, 0x77, 0x1c, 0x0, 0x4, 0x77, 0x90, 0x0, 0x4, 0x77, 0xe8, 0x0, 0x4, 0x79, 0x48, 0x0, 0x4, 0x7a, 0xf4, 0x0, 0x4, 0x7b, 0x3c, 0x0, 0x4, 0x7b, 0x70, 0x0, 0x4, 0x7c, 0x64, 0x0, 0x4, 0x7d, 0x38, 0x0, 0x4, 0x7d, 0xd0, 0x0, 0x4, 0x7e, 0x68, 0x0, 0x4, 0x7f, 0x2c, 0x0, 0x4, 0x7f, 0xf4, 0x0, 0x4, 0x80, 0xb8, 0x0, 0x4, 0x81, 0x7c, 0x0, 0x4, 0x85, 0x4, 0x0, 0x4, 0x85, 0x80, 0x0, 0x4, 0x86, 0xa4, 0x0, 0x4, 0x88, 0x44, 0x0, 0x4, 0x8b, 0xac, 0x0, 0x4, 0x8c, 0x2c, 0x0, 0x4, 0x8c, 0xb4, 0x0, 0x4, 0x8d, 0x28, 0x0, 0x4, 0x8d, 0x8c, 0x0, 0x4, 0x8e, 0x10, 0x0, 0x4, 0x8e, 0xa0, 0x0, 0x4, 0x8f, 0xe8, 0x0, 0x4, 0x91, 0x18, 0x0, 0x4, 0x91, 0xb4, 0x0, 0x4, 0x92, 0x48, 0x0, 0x4, 0x92, 0xfc, 0x0, 0x4, 0x93, 0x1c, 0x0, 0x4, 0x93, 0x3c, 0x0, 0x4, 0x93, 0x5c, 0x0, 0x4, 0x93, 0x7c, 0x0, 0x4, 0x93, 0x9c, 0x0, 0x4, 0x93, 0xbc, 0x0, 0x4, 0x93, 0xdc, 0x0, 0x4, 0x93, 0xfc, 0x0, 0x4, 0x95, 0x70, 0x0, 0x4, 0x96, 0x4c, 0x0, 0x4, 0x97, 0x28, 0x0, 0x4, 0x97, 0xd4, 0x0, 0x4, 0x98, 0xf0, 0x0, 0x4, 0x99, 0x84, 0x0, 0x4, 0x9a, 0x14, 0x0, 0x4, 0x9a, 0xcc, 0x0, 0x4, 0x9b, 0x44, 0x0, 0x4, 0x9b, 0xbc, 0x0, 0x4, 0x9c, 0x30, 0x0, 0x4, 0x9c, 0x88, 0x0, 0x4, 0x9c, 0xe4, 0x0, 0x4, 0x9d, 0x78, 0x0, 0x4, 0x9e, 0x24, 0x0, 0x4, 0x9e, 0x8c, 0x0, 0x4, 0x9f, 0x0, 0x0, 0x4, 0x9f, 0x98, 0x0, 0x4, 0x9f, 0xfc, 0x0, 0x4, 0xa0, 0xbc, 0x0, 0x4, 0xa1, 0x9c, 0x0, 0x4, 0xa2, 0x6c, 0x0, 0x4, 0xa2, 0xe0, 0x0, 0x4, 0xa3, 0x84, 0x0, 0x4, 0xa3, 0xe0, 0x0, 0x4, 0xa4, 0x7c, 0x0, 0x4, 0xa5, 0x68, 0x0, 0x4, 0xa5, 0xe8, 0x0, 0x4, 0xa7, 0x10, 0x0, 0x4, 0xa9, 0x3c, 0x0, 0x4, 0xa9, 0xd8, 0x0, 0x4, 0xaa, 0xf4, 0x0, 0x4, 0xac, 0x3c, 0x0, 0x4, 0xad, 0x50, 0x0, 0x4, 0xae, 0xe4, 0x0, 0x4, 0xaf, 0xdc, 0x0, 0x4, 0xb0, 0x5c, 0x0, 0x4, 0xb1, 0x24, 0x0, 0x4, 0xb2, 0xc, 0x0, 0x4, 0xb2, 0xa0, 0x0, 0x4, 0xb3, 0x14, 0x0, 0x4, 0xb3, 0xb8, 0x0, 0x4, 0xb4, 0x0, 0x0, 0x4, 0xb4, 0xa0, 0x0, 0x4, 0xb5, 0x68, 0x0, 0x4, 0xb5, 0xbc, 0x0, 0x4, 0xb5, 0xec, 0x0, 0x4, 0xb7, 0x10, 0x0, 0x4, 0xb7, 0xfc, 0x0, 0x4, 0xb8, 0x3c, 0x0, 0x4, 0xb8, 0x98, 0x0, 0x4, 0xb8, 0xfc, 0x0, 0x4, 0xb9, 0x5c, 0x0, 0x4, 0xb9, 0xb0, 0x0, 0x4, 0xb9, 0xfc, 0x0, 0x4, 0xba, 0x90, 0x0, 0x4, 0xbb, 0x50, 0x0, 0x4, 0xbc, 0x38, 0x0, 0x4, 0xbe, 0x44, 0x0, 0x4, 0xbf, 0x38, 0x0, 0x4, 0xc0, 0x5c, 0x0, 0x4, 0xc1, 0x98, 0x0, 0x4, 0xc2, 0x98, 0x0, 0x4, 0xc3, 0xbc, 0x0, 0x4, 0xc4, 0xf0, 0x0, 0x4, 0xc5, 0xe0, 0x0, 0x4, 0xc6, 0xb4, 0x0, 0x4, 0xc7, 0xc0, 0x0, 0x4, 0xc8, 0xf8, 0x0, 0x4, 0xca, 0x50, 0x0, 0x4, 0xcb, 0x54, 0x0, 0x4, 0xcb, 0xf0, 0x0, 0x4, 0xcc, 0x60, 0x0, 0x4, 0xcd, 0x14, 0x0, 0x4, 0xce, 0x8, 0x0, 0x4, 0xcf, 0x40, 0x0, 0x4, 0xd0, 0xbc, 0x0, 0x4, 0xd2, 0x7c, 0x0, 0x4, 0xd3, 0x18, 0x0, 0x4, 0xd3, 0xd8, 0x0, 0x4, 0xd4, 0x40, 0x0, 0x4, 0xd4, 0xcc, 0x0, 0x4, 0xd4, 0xe8, 0x0, 0x4, 0xd5, 0x10, 0x0, 0x4, 0xd5, 0x28, 0x0, 0x4, 0xd5, 0x40, 0x0, 0x4, 0xd5, 0x58, 0x0, 0x4, 0xd5, 0x70, 0x0, 0x4, 0xd5, 0xf0, 0x0, 0x4, 0xd6, 0x40, 0x0, 0x4, 0xd6, 0xc4, 0x0, 0x4, 0xd7, 0xbc, 0x0, 0x4, 0xd8, 0x68, 0x0, 0x4, 0xd9, 0x8c, 0x0, 0x4, 0xda, 0x48, 0x0, 0x4, 0xda, 0xd0, 0x0, 0x4, 0xdb, 0x74, 0x0, 0x4, 0xdc, 0x7c, 0x0, 0x4, 0xde, 0x64, 0x0, 0x4, 0xe1, 0x28, 0x0, 0x4, 0xe2, 0xe8, 0x0, 0x4, 0xe3, 0x6c, 0x0, 0x4, 0xe3, 0xb8, 0x0, 0x4, 0xe4, 0x98, 0x0, 0x4, 0xe5, 0x80, 0x0, 0x4, 0xe6, 0x68, 0x0, 0x4, 0xe6, 0xf8, 0x0, 0x4, 0xe7, 0xd8, 0x0, 0x4, 0xe8, 0xec, 0x0, 0x4, 0xe9, 0xc8, 0x0, 0x4, 0xea, 0xa4, 0x0, 0x4, 0xeb, 0x18, 0x0, 0x4, 0xeb, 0x60, 0x0, 0x4, 0xeb, 0xd8, 0x0, 0x4, 0xec, 0xdc, 0x0, 0x4, 0xee, 0x28, 0x0, 0x4, 0xef, 0x6c, 0x0, 0x4, 0xef, 0xa8, 0x0, 0x4, 0xf0, 0x2c, 0x0, 0x4, 0xf0, 0x84, 0x0, 0x4, 0xf0, 0xe0, 0x0, 0x4, 0xf1, 0x38, 0x0, 0x4, 0xf1, 0xa8, 0x0, 0x4, 0xf2, 0x10, 0x0, 0x4, 0xf2, 0x78, 0x0, 0x4, 0xf2, 0xe0, 0x0, 0x4, 0xf3, 0x88, 0x0, 0x4, 0xf4, 0x68, 0x0, 0x4, 0xf5, 0x7c, 0x0, 0x4, 0xf6, 0xec, 0x0, 0x4, 0xf7, 0x84, 0x0, 0x4, 0xf9, 0x14, 0x0, 0x4, 0xfa, 0x78, 0x0, 0x4, 0xfc, 0x4, 0x0, 0x4, 0xff, 0xc4, 0x0, 0x5, 0x1, 0x50, 0x0, 0x5, 0x2, 0xc8, 0x0, 0x5, 0x3, 0x54, 0x0, 0x5, 0x4, 0x4, 0x0, 0x5, 0x6, 0xbc, 0x0, 0x5, 0x8, 0x5c, 0x0, 0x5, 0x9, 0x74, 0x0, 0x5, 0xa, 0x60, 0x0, 0x5, 0xb, 0x74, 0x0, 0x5, 0xc, 0x5c, 0x0, 0x5, 0xc, 0xe4, 0x0, 0x5, 0xd, 0x48, 0x0, 0x5, 0xd, 0xb0, 0x0, 0x5, 0xd, 0xf4, 0x0, 0x5, 0xe, 0x34, 0x0, 0x5, 0xf, 0x0, 0x0, 0x5, 0xf, 0xf8, 0x0, 0x5, 0x10, 0x78, 0x0, 0x5, 0x10, 0xac, 0x0, 0x5, 0x10, 0xe8, 0x0, 0x5, 0x11, 0x2c, 0x0, 0x5, 0x11, 0x5c, 0x0, 0x5, 0x11, 0xbc, 0x0, 0x5, 0x12, 0x3c, 0x0, 0x5, 0x13, 0x20, 0x0, 0x5, 0x13, 0xb8, 0x0, 0x5, 0x14, 0x74, 0x0, 0x5, 0x15, 0xf4, 0x0, 0x5, 0x17, 0x78, 0x0, 0x5, 0x1a, 0xd8, 0x0, 0x5, 0x1b, 0x38, 0x0, 0x5, 0x1b, 0xe8, 0x0, 0x5, 0x1c, 0x50, 0x0, 0x5, 0x1c, 0xdc, 0x0, 0x5, 0x1d, 0x6c, 0x0, 0x5, 0x1e, 0x2c, 0x0, 0x5, 0x1e, 0xb8, 0x0, 0x5, 0x1f, 0x38, 0x0, 0x5, 0x1f, 0xb4, 0x0, 0x5, 0x20, 0x24, 0x0, 0x5, 0x20, 0x78, 0x0, 0x5, 0x20, 0xe0, 0x0, 0x5, 0x21, 0x44, 0x0, 0x5, 0x21, 0x9c, 0x0, 0x5, 0x22, 0x60, 0x0, 0x5, 0x22, 0xa4, 0x0, 0x5, 0x22, 0xfc, 0x0, 0x5, 0x23, 0x4c, 0x0, 0x5, 0x23, 0xbc, 0x0, 0x5, 0x24, 0x78, 0x0, 0x5, 0x26, 0x24, 0x0, 0x5, 0x28, 0x18, 0x0, 0x5, 0x29, 0x44, 0x0, 0x5, 0x2b, 0x74, 0x0, 0x5, 0x2c, 0xd4, 0x0, 0x5, 0x2f, 0x4c, 0x0, 0x5, 0x34, 0xa0, 0x0, 0x5, 0x35, 0xd8, 0x0, 0x5, 0x38, 0x28, 0x0, 0x5, 0x38, 0xec, 0x0, 0x5, 0x39, 0xb4, 0x0, 0x5, 0x3a, 0x88, 0x0, 0x5, 0x3c, 0xc, 0x0, 0x5, 0x3d, 0x8c, 0x0, 0x5, 0x3e, 0xec, 0x0, 0x5, 0x40, 0x4c, 0x0, 0x5, 0x41, 0x98, 0x0, 0x5, 0x43, 0x4, 0x0, 0x5, 0x43, 0x70, 0x0, 0x5, 0x43, 0xdc, 0x0, 0x5, 0x44, 0x44, 0x0, 0x5, 0x44, 0xac, 0x0, 0x5, 0x45, 0x10, 0x0, 0x5, 0x45, 0x2c, 0x0, 0x5, 0x45, 0x48, 0x0, 0x5, 0x45, 0x64, 0x0, 0x5, 0x45, 0xa4, 0x0, 0x5, 0x45, 0xf0, 0x0, 0x5, 0x46, 0x8, 0x0, 0x5, 0x46, 0x20, 0x0, 0x5, 0x46, 0xfc, 0x0, 0x5, 0x47, 0x94, 0x0, 0x5, 0x48, 0x50, 0x0, 0x5, 0x48, 0xc0, 0x0, 0x5, 0x49, 0x34, 0x0, 0x5, 0x4a, 0x54, 0x0, 0x5, 0x4b, 0x3c, 0x0, 0x5, 0x4b, 0xa8, 0x0, 0x5, 0x4c, 0x18, 0x0, 0x5, 0x4c, 0x54, 0x0, 0x5, 0x4c, 0x90, 0x0, 0x5, 0x4c, 0xb8, 0x0, 0x5, 0x4c, 0xe4, 0x0, 0x5, 0x4d, 0xc, 0x0, 0x5, 0x4d, 0x38, 0x0, 0x5, 0x4d, 0x60, 0x0, 0x5, 0x4d, 0x8c, 0x0, 0x5, 0x4d, 0xb8, 0x0, 0x5, 0x4d, 0xe4, 0x0, 0x5, 0x4e, 0x48, 0x0, 0x5, 0x4e, 0xac, 0x0, 0x5, 0x4f, 0x28, 0x0, 0x5, 0x4f, 0xd4, 0x0, 0x5, 0x51, 0x14, 0x0, 0x5, 0x51, 0x9c, 0x0, 0x5, 0x52, 0xb4, 0x0, 0x5, 0x54, 0x48, 0x0, 0x5, 0x54, 0xbc, 0x0, 0x5, 0x57, 0x8, 0x0, 0x5, 0x58, 0x94, 0x0, 0x5, 0x5a, 0x8, 0x0, 0x5, 0x5a, 0xdc, 0x0, 0x5, 0x5b, 0xe0, 0x0, 0x5, 0x5c, 0xf8, 0x0, 0x5, 0x5d, 0xd4, 0x0, 0x5, 0x5e, 0xd4, 0x0, 0x5, 0x5f, 0xec, 0x0, 0x5, 0x60, 0xb8, 0x0, 0x5, 0x61, 0xe4, 0x0, 0x5, 0x62, 0xfc, 0x0, 0x5, 0x64, 0x2c, 0x0, 0x5, 0x64, 0xac, 0x0, 0x5, 0x65, 0x5c, 0x0, 0x5, 0x66, 0x24, 0x0, 0x5, 0x66, 0xb0, 0x0, 0x5, 0x67, 0x60, 0x0, 0x5, 0x68, 0x28, 0x0, 0x5, 0x68, 0xa0, 0x0, 0x5, 0x69, 0x78, 0x0, 0x5, 0x6a, 0x40, 0x0, 0x5, 0x6b, 0x4, 0x0, 0x5, 0x6b, 0x34, 0x0, 0x5, 0x6b, 0x60, 0x0, 0x5, 0x6b, 0x8c, 0x0, 0x5, 0x6b, 0xb8, 0x0, 0x5, 0x6b, 0xe8, 0x0, 0x5, 0x6c, 0x74, 0x0, 0x5, 0x6c, 0x9c, 0x0, 0x5, 0x6c, 0xc4, 0x0, 0x5, 0x6d, 0x18, 0x0, 0x5, 0x6d, 0x6c, 0x0, 0x5, 0x6d, 0x94, 0x0, 0x5, 0x6d, 0xc4, 0x0, 0x5, 0x6d, 0xf4, 0x0, 0x5, 0x6e, 0x14, 0x0, 0x5, 0x6e, 0x64, 0x0, 0x5, 0x6e, 0xb4, 0x0, 0x5, 0x6e, 0xe0, 0x0, 0x5, 0x6f, 0x10, 0x0, 0x5, 0x6f, 0x58, 0x0, 0x5, 0x6f, 0xa0, 0x0, 0x5, 0x6f, 0xf4, 0x0, 0x5, 0x70, 0x44, 0x0, 0x5, 0x70, 0x90, 0x0, 0x5, 0x70, 0xe0, 0x0, 0x5, 0x71, 0x38, 0x0, 0x5, 0x71, 0x90, 0x0, 0x5, 0x71, 0xfc, 0x0, 0x5, 0x72, 0xa0, 0x0, 0x5, 0x72, 0xf8, 0x0, 0x5, 0x73, 0x40, 0x0, 0x5, 0x73, 0x98, 0x0, 0x5, 0x74, 0x24, 0x0, 0x5, 0x74, 0xa4, 0x0, 0x5, 0x75, 0x30, 0x0, 0x5, 0x76, 0x0, 0x0, 0x5, 0x76, 0x90, 0x0, 0x5, 0x77, 0xb8, 0x0, 0x5, 0x78, 0xe4, 0x0, 0x5, 0x79, 0x70, 0x0, 0x5, 0x79, 0xd0, 0x0, 0x5, 0x7a, 0x30, 0x0, 0x5, 0x7a, 0x6c, 0x0, 0x5, 0x7a, 0xa0, 0x0, 0x5, 0x7a, 0xd4, 0x0, 0x5, 0x7a, 0xfc, 0x0, 0x5, 0x7b, 0x24, 0x0, 0x5, 0x7b, 0x3c, 0x0, 0x5, 0x7b, 0x54, 0x0, 0x5, 0x7b, 0xac, 0x0, 0x5, 0x7c, 0x0, 0x0, 0x5, 0x7c, 0xc4, 0x0, 0x5, 0x7d, 0x84, 0x0, 0x5, 0x7e, 0x80, 0x0, 0x5, 0x7f, 0x30, 0x0, 0x5, 0x7f, 0xe0, 0x0, 0x5, 0x81, 0x0, 0x0, 0x5, 0x81, 0x40, 0x0, 0x5, 0x81, 0x80, 0x0, 0x5, 0x81, 0xdc, 0x0, 0x5, 0x82, 0x18, 0x0, 0x5, 0x82, 0x54, 0x0, 0x5, 0x82, 0xa0, 0x0, 0x5, 0x82, 0xec, 0x0, 0x5, 0x83, 0x70, 0x0, 0x5, 0x83, 0x70, 0x0, 0x5, 0x83, 0x84, 0x0, 0x5, 0x83, 0x98, 0x0, 0x5, 0x83, 0xb4, 0x0, 0x5, 0x83, 0xc8, 0x0, 0x5, 0x83, 0xe4, 0x0, 0x5, 0x84, 0x0, 0x0, 0x5, 0x84, 0x24, 0x0, 0x5, 0x84, 0x38, 0x0, 0x5, 0x84, 0x54, 0x0, 0x5, 0x84, 0x70, 0x0, 0x5, 0x84, 0x94, 0x0, 0x5, 0x84, 0xb0, 0x0, 0x5, 0x84, 0xd4, 0x0, 0x5, 0x84, 0xf8, 0x0, 0x5, 0x85, 0x24, 0x0, 0x5, 0x85, 0x38, 0x0, 0x5, 0x85, 0x54, 0x0, 0x5, 0x85, 0x70, 0x0, 0x5, 0x85, 0x94, 0x0, 0x5, 0x85, 0xb0, 0x0, 0x5, 0x85, 0xd4, 0x0, 0x5, 0x85, 0xf8, 0x0, 0x5, 0x86, 0x24, 0x0, 0x5, 0x86, 0x40, 0x0, 0x5, 0x86, 0x64, 0x0, 0x5, 0x86, 0x88, 0x0, 0x5, 0x86, 0xb4, 0x0, 0x5, 0x86, 0xd8, 0x0, 0x5, 0x87, 0x4, 0x0, 0x5, 0x87, 0x30, 0x0, 0x5, 0x87, 0x64, 0x0, 0x5, 0x87, 0x78, 0x0, 0x5, 0x87, 0x94, 0x0, 0x5, 0x87, 0xb0, 0x0, 0x5, 0x87, 0xd4, 0x0, 0x5, 0x87, 0xf0, 0x0, 0x5, 0x88, 0x14, 0x0, 0x5, 0x88, 0x38, 0x0, 0x5, 0x88, 0x64, 0x0, 0x5, 0x88, 0x80, 0x0, 0x5, 0x88, 0xa4, 0x0, 0x5, 0x88, 0xc8, 0x0, 0x5, 0x88, 0xf4, 0x0, 0x5, 0x89, 0x18, 0x0, 0x5, 0x89, 0x44, 0x0, 0x5, 0x89, 0x70, 0x0, 0x5, 0x89, 0xa4, 0x0, 0x5, 0x89, 0xc0, 0x0, 0x5, 0x89, 0xe4, 0x0, 0x5, 0x8a, 0x8, 0x0, 0x5, 0x8a, 0x34, 0x0, 0x5, 0x8a, 0x58, 0x0, 0x5, 0x8a, 0x84, 0x0, 0x5, 0x8a, 0xb0, 0x0, 0x5, 0x8a, 0xe4, 0x0, 0x5, 0x8b, 0x8, 0x0, 0x5, 0x8b, 0x34, 0x0, 0x5, 0x8b, 0x60, 0x0, 0x5, 0x8b, 0x94, 0x0, 0x5, 0x8b, 0xc0, 0x0, 0x5, 0x8b, 0xf4, 0x0, 0x5, 0x8c, 0x28, 0x0, 0x5, 0x8c, 0x64, 0x0, 0x5, 0x8c, 0x78, 0x0, 0x5, 0x8c, 0x94, 0x0, 0x5, 0x8c, 0xb0, 0x0, 0x5, 0x8c, 0xd4, 0x0, 0x5, 0x8c, 0xf0, 0x0, 0x5, 0x8d, 0x14, 0x0, 0x5, 0x8d, 0x38, 0x0, 0x5, 0x8d, 0x64, 0x0, 0x5, 0x8d, 0x80, 0x0, 0x5, 0x8d, 0xa4, 0x0, 0x5, 0x8d, 0xc8, 0x0, 0x5, 0x8d, 0xf4, 0x0, 0x5, 0x8e, 0x18, 0x0, 0x5, 0x8e, 0x44, 0x0, 0x5, 0x8e, 0x70, 0x0, 0x5, 0x8e, 0xa4, 0x0, 0x5, 0x8e, 0xc0, 0x0, 0x5, 0x8e, 0xe4, 0x0, 0x5, 0x8f, 0x8, 0x0, 0x5, 0x8f, 0x34, 0x0, 0x5, 0x8f, 0x58, 0x0, 0x5, 0x8f, 0x84, 0x0, 0x5, 0x8f, 0xb0, 0x0, 0x5, 0x8f, 0xe4, 0x0, 0x5, 0x90, 0x8, 0x0, 0x5, 0x90, 0x34, 0x0, 0x5, 0x90, 0x60, 0x0, 0x5, 0x90, 0x94, 0x0, 0x5, 0x90, 0xc0, 0x0, 0x5, 0x90, 0xf4, 0x0, 0x5, 0x91, 0x28, 0x0, 0x5, 0x91, 0x64, 0x0, 0x5, 0x91, 0x80, 0x0, 0x5, 0x91, 0xa4, 0x0, 0x5, 0x91, 0xc8, 0x0, 0x5, 0x91, 0xf4, 0x0, 0x5, 0x92, 0x18, 0x0, 0x5, 0x92, 0x44, 0x0, 0x5, 0x92, 0x70, 0x0, 0x5, 0x92, 0xa4, 0x0, 0x5, 0x92, 0xc8, 0x0, 0x5, 0x92, 0xf4, 0x0, 0x5, 0x93, 0x20, 0x0, 0x5, 0x93, 0x54, 0x0, 0x5, 0x93, 0x80, 0x0, 0x5, 0x93, 0xb4, 0x0, 0x5, 0x93, 0xe8, 0x0, 0x5, 0x94, 0x24, 0x0, 0x5, 0x94, 0x48, 0x0, 0x5, 0x94, 0x74, 0x0, 0x5, 0x94, 0xa0, 0x0, 0x5, 0x94, 0xd4, 0x0, 0x5, 0x95, 0x0, 0x0, 0x5, 0x95, 0x34, 0x0, 0x5, 0x95, 0x68, 0x0, 0x5, 0x95, 0xa4, 0x0, 0x5, 0x95, 0xd0, 0x0, 0x5, 0x96, 0x4, 0x0, 0x5, 0x96, 0x38, 0x0, 0x5, 0x96, 0x74, 0x0, 0x5, 0x96, 0xa8, 0x0, 0x5, 0x96, 0xe4, 0x0, 0x5, 0x97, 0x20, 0x0, 0x5, 0x97, 0x64, 0x0, 0x5, 0x97, 0x78, 0x0, 0x5, 0x97, 0x94, 0x0, 0x5, 0x97, 0xb0, 0x0, 0x5, 0x97, 0xd4, 0x0, 0x5, 0x97, 0xf0, 0x0, 0x5, 0x98, 0x14, 0x0, 0x5, 0x98, 0x38, 0x0, 0x5, 0x98, 0x64, 0x0, 0x5, 0x98, 0x80, 0x0, 0x5, 0x98, 0xa4, 0x0, 0x5, 0x98, 0xc8, 0x0, 0x5, 0x98, 0xf4, 0x0, 0x5, 0x99, 0x18, 0x0, 0x5, 0x99, 0x44, 0x0, 0x5, 0x99, 0x70, 0x0, 0x5, 0x99, 0xa4, 0x0, 0x5, 0x99, 0xc0, 0x0, 0x5, 0x99, 0xe4, 0x0, 0x5, 0x9a, 0x8, 0x0, 0x5, 0x9a, 0x34, 0x0, 0x5, 0x9a, 0x58, 0x0, 0x5, 0x9a, 0x84, 0x0, 0x5, 0x9a, 0xb0, 0x0, 0x5, 0x9a, 0xe4, 0x0, 0x5, 0x9b, 0x8, 0x0, 0x5, 0x9b, 0x34, 0x0, 0x5, 0x9b, 0x60, 0x0, 0x5, 0x9b, 0x94, 0x0, 0x5, 0x9b, 0xc0, 0x0, 0x5, 0x9b, 0xf4, 0x0, 0x5, 0x9c, 0x28, 0x0, 0x5, 0x9c, 0x64, 0x0, 0x5, 0x9c, 0x80, 0x0, 0x5, 0x9c, 0xa4, 0x0, 0x5, 0x9c, 0xc8, 0x0, 0x5, 0x9c, 0xf4, 0x0, 0x5, 0x9d, 0x18, 0x0, 0x5, 0x9d, 0x44, 0x0, 0x5, 0x9d, 0x70, 0x0, 0x5, 0x9d, 0xa4, 0x0, 0x5, 0x9d, 0xc8, 0x0, 0x5, 0x9d, 0xf4, 0x0, 0x5, 0x9e, 0x20, 0x0, 0x5, 0x9e, 0x54, 0x0, 0x5, 0x9e, 0x80, 0x0, 0x5, 0x9e, 0xb4, 0x0, 0x5, 0x9e, 0xe8, 0x0, 0x5, 0x9f, 0x24, 0x0, 0x5, 0x9f, 0x48, 0x0, 0x5, 0x9f, 0x74, 0x0, 0x5, 0x9f, 0xa0, 0x0, 0x5, 0x9f, 0xd4, 0x0, 0x5, 0xa0, 0x0, 0x0, 0x5, 0xa0, 0x34, 0x0, 0x5, 0xa0, 0x68, 0x0, 0x5, 0xa0, 0xa4, 0x0, 0x5, 0xa0, 0xd0, 0x0, 0x5, 0xa1, 0x4, 0x0, 0x5, 0xa1, 0x38, 0x0, 0x5, 0xa1, 0x74, 0x0, 0x5, 0xa1, 0xa8, 0x0, 0x5, 0xa1, 0xe4, 0x0, 0x5, 0xa2, 0x20, 0x0, 0x5, 0xa2, 0x64, 0x0, 0x5, 0xa2, 0x80, 0x0, 0x5, 0xa2, 0xa4, 0x0, 0x5, 0xa2, 0xc8, 0x0, 0x5, 0xa2, 0xf4, 0x0, 0x5, 0xa3, 0x18, 0x0, 0x5, 0xa3, 0x44, 0x0, 0x5, 0xa3, 0x70, 0x0, 0x5, 0xa3, 0xa4, 0x0, 0x5, 0xa3, 0xc8, 0x0, 0x5, 0xa3, 0xf4, 0x0, 0x5, 0xa4, 0x20, 0x0, 0x5, 0xa4, 0x54, 0x0, 0x5, 0xa4, 0x80, 0x0, 0x5, 0xa4, 0xb4, 0x0, 0x5, 0xa4, 0xe8, 0x0, 0x5, 0xa5, 0x24, 0x0, 0x5, 0xa5, 0x48, 0x0, 0x5, 0xa5, 0x74, 0x0, 0x5, 0xa5, 0xa0, 0x0, 0x5, 0xa5, 0xd4, 0x0, 0x5, 0xa6, 0x0, 0x0, 0x5, 0xa6, 0x34, 0x0, 0x5, 0xa6, 0x68, 0x0, 0x5, 0xa6, 0xa4, 0x0, 0x5, 0xa6, 0xd0, 0x0, 0x5, 0xa7, 0x4, 0x0, 0x5, 0xa7, 0x38, 0x0, 0x5, 0xa7, 0x74, 0x0, 0x5, 0xa7, 0xa8, 0x0, 0x5, 0xa7, 0xe4, 0x0, 0x5, 0xa8, 0x20, 0x0, 0x5, 0xa8, 0x64, 0x0, 0x5, 0xa8, 0x88, 0x0, 0x5, 0xa8, 0xb4, 0x0, 0x5, 0xa8, 0xe0, 0x0, 0x5, 0xa9, 0x14, 0x0, 0x5, 0xa9, 0x40, 0x0, 0x5, 0xa9, 0x74, 0x0, 0x5, 0xa9, 0xa8, 0x0, 0x5, 0xa9, 0xe4, 0x0, 0x5, 0xaa, 0x10, 0x0, 0x5, 0xaa, 0x44, 0x0, 0x5, 0xaa, 0x78, 0x0, 0x5, 0xaa, 0xb4, 0x0, 0x5, 0xaa, 0xe8, 0x0, 0x5, 0xab, 0x24, 0x0, 0x5, 0xab, 0x60, 0x0, 0x5, 0xab, 0xa4, 0x0, 0x5, 0xab, 0xd0, 0x0, 0x5, 0xac, 0x4, 0x0, 0x5, 0xac, 0x38, 0x0, 0x5, 0xac, 0x74, 0x0, 0x5, 0xac, 0xa8, 0x0, 0x5, 0xac, 0xe4, 0x0, 0x5, 0xad, 0x20, 0x0, 0x5, 0xad, 0x64, 0x0, 0x5, 0xad, 0x98, 0x0, 0x5, 0xad, 0xd4, 0x0, 0x5, 0xae, 0x10, 0x0, 0x5, 0xae, 0x54, 0x0, 0x5, 0xae, 0x90, 0x0, 0x5, 0xae, 0xd4, 0x0, 0x5, 0xaf, 0x18, 0x0, 0x5, 0xaf, 0x64, 0x0, 0x5, 0xaf, 0xb0, 0x0, 0x5, 0xaf, 0xfc, 0x0, 0x5, 0xb0, 0x44, 0x0, 0x5, 0xb0, 0x88, 0x0, 0x5, 0xb1, 0x54, 0x0, 0x5, 0xb2, 0x1c, 0x0, 0x5, 0xb3, 0x0, 0x0, 0x5, 0xb3, 0xe0, 0x0, 0x5, 0xb4, 0x2c, 0x0, 0x5, 0xb4, 0x68, 0x0, 0x5, 0xb4, 0xa4, 0x0, 0x5, 0xb4, 0xd8, 0x0, 0x5, 0xb5, 0xc, 0x0, 0x5, 0xb5, 0x34, 0x0, 0x5, 0xb5, 0x68, 0x0, 0x5, 0xb5, 0x9c, 0x0, 0x5, 0xb5, 0xbc, 0x0, 0x5, 0xb6, 0x4, 0x0, 0x5, 0xb6, 0x5c, 0x0, 0x5, 0xb7, 0x1c, 0x0, 0x5, 0xb7, 0xf0, 0x0, 0x5, 0xb8, 0xd4, 0x0, 0x5, 0xb8, 0xfc, 0x0, 0x5, 0xb9, 0x64, 0x0, 0x5, 0xb9, 0xe0, 0x0, 0x5, 0xba, 0x4c, 0x0, 0x5, 0xba, 0xf8, 0x0, 0x5, 0xbb, 0x98, 0x0, 0x5, 0xbc, 0xc, 0x0, 0x5, 0xbc, 0x9c, 0x0, 0x5, 0xbd, 0x30, 0x0, 0x5, 0xbd, 0xd4, 0x0, 0x5, 0xbe, 0x58, 0x0, 0x5, 0xbe, 0xf0, 0x0, 0x5, 0xbf, 0x6c, 0x0, 0x5, 0xbf, 0xf4, 0x0, 0x5, 0xc0, 0x78, 0x0, 0x5, 0xc0, 0xd8, 0x0, 0x5, 0xc1, 0x38, 0x0, 0x5, 0xc1, 0x48, 0x0, 0x5, 0xc1, 0x60, 0x0, 0x5, 0xc1, 0x80, 0x0, 0x5, 0xc1, 0xbc, 0x0, 0x5, 0xc1, 0xf4, 0x0, 0x5, 0xc2, 0xc, 0x0, 0x5, 0xc2, 0x24, 0x0, 0x5, 0xc2, 0x3c, 0x0, 0x5, 0xc2, 0x54, 0x0, 0x5, 0xc2, 0x6c, 0x0, 0x5, 0xc2, 0x84, 0x0, 0x5, 0xc3, 0x54, 0x0, 0x5, 0xc4, 0x20, 0x0, 0x5, 0xc4, 0x70, 0x0, 0x5, 0xc4, 0xc0, 0x0, 0x5, 0xc5, 0x84, 0x0, 0x5, 0xc6, 0x40, 0x0, 0x5, 0xc6, 0xa4, 0x0, 0x5, 0xc7, 0x0, 0x0, 0x5, 0xc7, 0x84, 0x0, 0x5, 0xc8, 0x4, 0x0, 0x5, 0xc8, 0x94, 0x0, 0x5, 0xc9, 0x24, 0x0, 0x5, 0xc9, 0x80, 0x0, 0x5, 0xc9, 0xe4, 0x0, 0x5, 0xca, 0x4c, 0x0, 0x5, 0xca, 0xb0, 0x0, 0x5, 0xca, 0xec, 0x0, 0x5, 0xcb, 0x28, 0x0, 0x5, 0xcb, 0x40, 0x0, 0x5, 0xcb, 0x58, 0x0, 0x5, 0xcb, 0x9c, 0x0, 0x5, 0xcb, 0xe4, 0x0, 0x5, 0xcc, 0x2c, 0x0, 0x5, 0xcc, 0x7c, 0x0, 0x5, 0xcc, 0xf4, 0x0, 0x5, 0xcd, 0x70, 0x0, 0x5, 0xce, 0x4, 0x0, 0x5, 0xce, 0x9c, 0x0, 0x5, 0xcf, 0x20, 0x0, 0x5, 0xcf, 0x68, 0x0, 0x5, 0xcf, 0xac, 0x0, 0x5, 0xd0, 0x10, 0x0, 0x5, 0xd0, 0x70, 0x0, 0x5, 0xd0, 0xc4, 0x0, 0x5, 0xd1, 0x18, 0x0, 0x5, 0xd1, 0x90, 0x0, 0x5, 0xd2, 0x4, 0x0, 0x5, 0xd2, 0xe4, 0x0, 0x5, 0xd3, 0xc4, 0x0, 0x5, 0xd4, 0x94, 0x0, 0x5, 0xd5, 0x64, 0x0, 0x5, 0xd5, 0xb0, 0x0, 0x5, 0xd5, 0xf8, 0x0, 0x5, 0xd6, 0x40, 0x0, 0x5, 0xd6, 0x88, 0x0, 0x5, 0xd6, 0xd0, 0x0, 0x5, 0xd7, 0x18, 0x0, 0x5, 0xd7, 0x74, 0x0, 0x5, 0xd7, 0x9c, 0x0, 0x5, 0xd7, 0xc4, 0x0, 0x5, 0xd7, 0xec, 0x0, 0x5, 0xd8, 0x18, 0x0, 0x5, 0xd8, 0x44, 0x0, 0x5, 0xd8, 0x70, 0x0, 0x5, 0xd8, 0x9c, 0x0, 0x5, 0xd8, 0xd4, 0x0, 0x5, 0xd9, 0xc, 0x0, 0x5, 0xd9, 0x40, 0x0, 0x5, 0xd9, 0x78, 0x0, 0x5, 0xd9, 0xb0, 0x0, 0x5, 0xd9, 0xe4, 0x0, 0x5, 0xda, 0x10, 0x0, 0x5, 0xda, 0x3c, 0x0, 0x5, 0xda, 0x68, 0x0, 0x5, 0xda, 0x90, 0x0, 0x5, 0xda, 0xc0, 0x0, 0x5, 0xda, 0xf0, 0x0, 0x5, 0xdb, 0x20, 0x0, 0x5, 0xdb, 0x50, 0x0, 0x5, 0xdb, 0xfc, 0x0, 0x5, 0xdc, 0x20, 0x0, 0x5, 0xdc, 0x5c, 0x0, 0x5, 0xdc, 0xa0, 0x0, 0x5, 0xdc, 0xc8, 0x0, 0x5, 0xdc, 0xf4, 0x0, 0x5, 0xdd, 0x30, 0x0, 0x5, 0xdd, 0x54, 0x0, 0x5, 0xdd, 0x90, 0x0, 0x5, 0xdd, 0xd8, 0x0, 0x5, 0xde, 0x18, 0x0, 0x5, 0xde, 0x88, 0x0, 0x5, 0xde, 0xe4, 0x0, 0x5, 0xe0, 0x20, 0x0, 0x5, 0xe0, 0xd0, 0x0, 0x5, 0xe1, 0x2c, 0x0, 0x5, 0xe1, 0x3c, 0x0, 0x5, 0xe1, 0x8c, 0x0, 0x5, 0xe1, 0xcc, 0x0, 0x5, 0xe2, 0xc, 0x0, 0x5, 0xe2, 0x40, 0x0, 0x5, 0xe2, 0x74, 0x0, 0x5, 0xe3, 0xc, 0x0, 0x5, 0xe3, 0x5c, 0x0, 0x5, 0xe3, 0x94, 0x0, 0x5, 0xe3, 0xf4, 0x0, 0x5, 0xe4, 0x40, 0x0, 0x5, 0xe4, 0xb0, 0x0, 0x5, 0xe5, 0x10, 0x0, 0x5, 0xe5, 0x70, 0x0, 0x5, 0xe5, 0x98, 0x0, 0x5, 0xe5, 0xc0, 0x0, 0x5, 0xe6, 0x40, 0x0, 0x5, 0xe6, 0x8c, 0x0, 0x5, 0xe7, 0x8, 0x0, 0x5, 0xe7, 0x3c, 0x0, 0x5, 0xe7, 0x50, 0x0, 0x5, 0xe7, 0x7c, 0x0, 0x5, 0xe8, 0x28, 0x0, 0x5, 0xe8, 0x80, 0x0, 0x5, 0xe8, 0xe8, 0x0, 0x5, 0xe9, 0x5c, 0x0, 0x5, 0xe9, 0xd0, 0x0, 0x5, 0xea, 0x6c, 0x0, 0x5, 0xea, 0xb4, 0x0, 0x5, 0xeb, 0x1c, 0x0, 0x5, 0xeb, 0x98, 0x0, 0x5, 0xec, 0x14, 0x0, 0x5, 0xec, 0x50, 0x0, 0x5, 0xec, 0xb4, 0x0, 0x5, 0xed, 0x30, 0x0, 0x5, 0xed, 0xbc, 0x0, 0x5, 0xee, 0x1c, 0x0, 0x5, 0xee, 0x7c, 0x0, 0x5, 0xee, 0xbc, 0x0, 0x5, 0xef, 0x2c, 0x0, 0x5, 0xef, 0x98, 0x0, 0x5, 0xef, 0xe0, 0x0, 0x5, 0xf0, 0x4c, 0x0, 0x5, 0xf0, 0xb8, 0x0, 0x5, 0xf1, 0x5c, 0x0, 0x5, 0xf1, 0xbc, 0x0, 0x5, 0xf1, 0xfc, 0x0, 0x5, 0xf2, 0x40, 0x0, 0x5, 0xf2, 0x94, 0x0, 0x5, 0xf2, 0xe4, 0x0, 0x5, 0xf3, 0x44, 0x0, 0x5, 0xf3, 0xa4, 0x0, 0x5, 0xf4, 0xc, 0x0, 0x5, 0xf4, 0x80, 0x0, 0x5, 0xf4, 0xc4, 0x0, 0x5, 0xf5, 0x38, 0x0, 0x5, 0xf5, 0x98, 0x0, 0x5, 0xf5, 0xf4, 0x0, 0x5, 0xf6, 0x50, 0x0, 0x5, 0xf6, 0xa0, 0x0, 0x5, 0xf6, 0xec, 0x0, 0x5, 0xf7, 0x78, 0x0, 0x5, 0xf7, 0xec, 0x0, 0x5, 0xf8, 0xb4, 0x0, 0x5, 0xf9, 0x98, 0x0, 0x5, 0xfa, 0x40, 0x0, 0x5, 0xfa, 0xe8, 0x0, 0x5, 0xfb, 0xa0, 0x0, 0x5, 0xfb, 0xf8, 0x0, 0x5, 0xfc, 0x8, 0x0, 0x5, 0xfc, 0x18, 0x0, 0x5, 0xfc, 0x28, 0x0, 0x5, 0xfc, 0x38, 0x0, 0x5, 0xfd, 0x24, 0x0, 0x5, 0xfd, 0xa8, 0x0, 0x5, 0xfe, 0x38, 0x0, 0x5, 0xfe, 0x98, 0x0, 0x5, 0xff, 0x28, 0x0, 0x5, 0xff, 0xf8, 0x0, 0x6, 0x1, 0x0, 0x0, 0x6, 0x1, 0x64, 0x0, 0x6, 0x1, 0xcc, 0x0, 0x6, 0x2, 0x2c, 0x0, 0x6, 0x2, 0xf4, 0x0, 0x6, 0x3, 0x60, 0x0, 0x6, 0x3, 0xcc, 0x0, 0x6, 0x4, 0x28, 0x0, 0x6, 0x4, 0x38, 0x0, 0x6, 0x4, 0x8c, 0x0, 0x6, 0x5, 0x54, 0x0, 0x6, 0x6, 0x10, 0x0, 0x6, 0x6, 0x20, 0x0, 0x6, 0x6, 0x60, 0x0, 0x6, 0x6, 0x70, 0x0, 0x6, 0x6, 0xf0, 0x0, 0x6, 0x7, 0x4c, 0x0, 0x6, 0x7, 0xec, 0x0, 0x6, 0x8, 0xb8, 0x0, 0x6, 0x9, 0x60, 0x0, 0x6, 0xa, 0x44, 0x0, 0x6, 0xa, 0xa4, 0x0, 0x6, 0xa, 0xfc, 0x0, 0x6, 0xb, 0x84, 0x0, 0x6, 0xc, 0x50, 0x0, 0x6, 0xd, 0x34, 0x0, 0x6, 0xe, 0x38, 0x0, 0x6, 0xe, 0x8c, 0x0, 0x6, 0xe, 0x9c, 0x0, 0x6, 0xf, 0xd8, 0x0, 0x6, 0x10, 0x58, 0x0, 0x6, 0x10, 0x68, 0x0, 0x6, 0x10, 0xac, 0x0, 0x6, 0x11, 0x18, 0x0, 0x6, 0x11, 0xdc, 0x0, 0x6, 0x12, 0x30, 0x0, 0x6, 0x13, 0x1c, 0x0, 0x6, 0x13, 0x5c, 0x0, 0x6, 0x13, 0xd8, 0x0, 0x6, 0x13, 0xf0, 0x0, 0x6, 0x14, 0x10, 0x0, 0x6, 0x14, 0x30, 0x0, 0x6, 0x14, 0x50, 0x0, 0x6, 0x14, 0x70, 0x0, 0x6, 0x14, 0x80, 0x0, 0x6, 0x14, 0x98, 0x0, 0x6, 0x14, 0xb0, 0x0, 0x6, 0x14, 0xc8, 0x0, 0x6, 0x14, 0xe0, 0x0, 0x6, 0x14, 0xf8, 0x0, 0x6, 0x15, 0x10, 0x0, 0x6, 0x15, 0x28, 0x0, 0x6, 0x15, 0x40, 0x0, 0x6, 0x15, 0x58, 0x0, 0x6, 0x15, 0x70, 0x0, 0x6, 0x15, 0x88, 0x0, 0x6, 0x15, 0xa0, 0x0, 0x6, 0x15, 0xb8, 0x0, 0x6, 0x15, 0xd0, 0x0, 0x6, 0x15, 0xe8, 0x0, 0x6, 0x16, 0x0, 0x0, 0x6, 0x16, 0x18, 0x0, 0x6, 0x16, 0x30, 0x0, 0x6, 0x16, 0x48, 0x0, 0x6, 0x16, 0x60, 0x0, 0x6, 0x16, 0x78, 0x0, 0x6, 0x16, 0x90, 0x0, 0x6, 0x16, 0xa8, 0x0, 0x6, 0x16, 0xc0, 0x0, 0x6, 0x16, 0xd8, 0x0, 0x6, 0x16, 0xf0, 0x0, 0x6, 0x17, 0x8, 0x0, 0x6, 0x17, 0x20, 0x0, 0x6, 0x17, 0x38, 0x0, 0x6, 0x17, 0x50, 0x0, 0x6, 0x17, 0x68, 0x0, 0x6, 0x17, 0x80, 0x0, 0x6, 0x17, 0x98, 0x0, 0x6, 0x17, 0xb0, 0x0, 0x6, 0x17, 0xc8, 0x0, 0x6, 0x17, 0xe0, 0x0, 0x6, 0x17, 0xf8, 0x0, 0x6, 0x18, 0x10, 0x0, 0x6, 0x18, 0x28, 0x0, 0x6, 0x18, 0x40, 0x0, 0x6, 0x18, 0x58, 0x0, 0x6, 0x18, 0x70, 0x0, 0x6, 0x18, 0x88, 0x0, 0x6, 0x18, 0xa0, 0x0, 0x6, 0x18, 0xb8, 0x0, 0x6, 0x18, 0xd0, 0x0, 0x6, 0x18, 0xe8, 0x0, 0x6, 0x19, 0x0, 0x0, 0x6, 0x19, 0x18, 0x0, 0x6, 0x19, 0x30, 0x0, 0x6, 0x19, 0x48, 0x0, 0x6, 0x19, 0x60, 0x0, 0x6, 0x19, 0x78, 0x0, 0x6, 0x19, 0x90, 0x0, 0x6, 0x19, 0xa8, 0x0, 0x6, 0x19, 0xc0, 0x0, 0x6, 0x19, 0xd8, 0x0, 0x6, 0x19, 0xf0, 0x0, 0x6, 0x1a, 0x8, 0x0, 0x6, 0x1a, 0x20, 0x0, 0x6, 0x1a, 0x38, 0x0, 0x6, 0x1a, 0x50, 0x0, 0x6, 0x1a, 0x68, 0x0, 0x6, 0x1a, 0x80, 0x0, 0x6, 0x1a, 0x90, 0x0, 0x6, 0x1a, 0xa0, 0x0, 0x6, 0x1a, 0xe8, 0x0, 0x6, 0x1a, 0xf8, 0x0, 0x6, 0x1b, 0x8, 0x0, 0x6, 0x1b, 0x2c, 0x0, 0x6, 0x1b, 0x3c, 0x0, 0x6, 0x1b, 0x4c, 0x0, 0x6, 0x1b, 0x84, 0x0, 0x6, 0x1b, 0x94, 0x0, 0x6, 0x1b, 0xa4, 0x0, 0x6, 0x1b, 0xb4, 0x0, 0x6, 0x1b, 0xc4, 0x0, 0x6, 0x1b, 0xd4, 0x0, 0x6, 0x1b, 0xe4, 0x0, 0x6, 0x1b, 0xf4, 0x0, 0x6, 0x1c, 0x4, 0x0, 0x6, 0x1c, 0x14, 0x0, 0x6, 0x1c, 0x24, 0x0, 0x6, 0x1c, 0x34, 0x0, 0x6, 0x1c, 0x98, 0x0, 0x6, 0x1c, 0xa8, 0x0, 0x6, 0x1c, 0xb8, 0x0, 0x6, 0x1c, 0xc8, 0x0, 0x6, 0x1c, 0xd8, 0x0, 0x6, 0x1d, 0x14, 0x0, 0x6, 0x1d, 0x24, 0x0, 0x6, 0x1d, 0x34, 0x0, 0x6, 0x1d, 0x44, 0x0, 0x6, 0x1d, 0xb4, 0x0, 0x6, 0x1d, 0xc4, 0x0, 0x6, 0x1d, 0xd4, 0x0, 0x6, 0x1d, 0xe4, 0x0, 0x6, 0x1e, 0x14, 0x0, 0x6, 0x1e, 0x24, 0x0, 0x6, 0x1e, 0x34, 0x0, 0x6, 0x1e, 0x44, 0x0, 0x6, 0x1e, 0xb0, 0x0, 0x6, 0x1e, 0xc0, 0x0, 0x6, 0x1f, 0x30, 0x0, 0x6, 0x1f, 0x4c, 0x0, 0x6, 0x1f, 0x70, 0x0, 0x6, 0x1f, 0x88, 0x0, 0x6, 0x1f, 0xa0, 0x0, 0x6, 0x1f, 0xd4, 0x0, 0x6, 0x20, 0x0, 0x0, 0x6, 0x20, 0x2c, 0x0, 0x6, 0x20, 0x54, 0x0, 0x6, 0x20, 0x64, 0x0, 0x6, 0x20, 0x74, 0x0, 0x6, 0x20, 0x84, 0x0, 0x6, 0x20, 0x94, 0x0, 0x6, 0x21, 0x70, 0x0, 0x6, 0x22, 0x20, 0x0, 0x6, 0x22, 0x38, 0x0, 0x6, 0x22, 0x50, 0x0, 0x6, 0x22, 0xc8, 0x0, 0x6, 0x23, 0x30, 0x0, 0x6, 0x23, 0x80, 0x0, 0x6, 0x24, 0x8, 0x0, 0x6, 0x24, 0x68, 0x0, 0x6, 0x24, 0xc4, 0x0, 0x6, 0x25, 0x4, 0x0, 0x6, 0x25, 0x44, 0x0, 0x6, 0x25, 0x88, 0x0, 0x6, 0x25, 0xc8, 0x0, 0x6, 0x25, 0xe0, 0x0, 0x6, 0x25, 0xf8, 0x0, 0x6, 0x26, 0x6c, 0x0, 0x6, 0x26, 0xe0, 0x0, 0x6, 0x27, 0x0, 0x0, 0x6, 0x27, 0x20, 0x0, 0x6, 0x28, 0xa8, 0x0, 0x6, 0x29, 0x8, 0x0, 0x6, 0x29, 0x6c, 0x0, 0x6, 0x29, 0xa4, 0x0, 0x6, 0x29, 0xe4, 0x0, 0x6, 0x2a, 0x5c, 0x0, 0x6, 0x2a, 0x6c, 0x0, 0x6, 0x2a, 0x94, 0x0, 0x6, 0x2a, 0xbc, 0x0, 0x6, 0x2a, 0xe4, 0x0, 0x6, 0x2b, 0xc, 0x0, 0x6, 0x2b, 0x34, 0x0, 0x6, 0x2b, 0x5c, 0x0, 0x6, 0x2b, 0x84, 0x0, 0x6, 0x2b, 0xac, 0x0, 0x6, 0x2b, 0xd4, 0x0, 0x6, 0x2b, 0xf8, 0x0, 0x6, 0x2c, 0x18, 0x0, 0x6, 0x2c, 0x3c, 0x0, 0x6, 0x2c, 0x60, 0x0, 0x6, 0x2c, 0x84, 0x0, 0x6, 0x2c, 0xa4, 0x0, 0x6, 0x2c, 0xd0, 0x0, 0x6, 0x2c, 0xfc, 0x0, 0x6, 0x2d, 0x28, 0x0, 0x6, 0x2d, 0x54, 0x0, 0x6, 0x2d, 0x68, 0x0, 0x6, 0x2d, 0xac, 0x0, 0x6, 0x2d, 0xf0, 0x0, 0x6, 0x2e, 0x20, 0x0, 0x6, 0x2e, 0x50, 0x0, 0x6, 0x2e, 0x94, 0x0, 0x6, 0x2e, 0xec, 0x0, 0x6, 0x2f, 0x70, 0x0, 0x6, 0x30, 0x0, 0x0, 0x6, 0x30, 0x10, 0x0, 0x6, 0x30, 0xa0, 0x0, 0x6, 0x30, 0xcc, 0x0, 0x6, 0x30, 0xdc, 0x0, 0x6, 0x31, 0x40, 0x0, 0x6, 0x32, 0x1c, 0x0, 0x6, 0x32, 0xa4, 0x0, 0x6, 0x33, 0x54, 0x0, 0x6, 0x33, 0xb0, 0x0, 0x6, 0x34, 0x44, 0x0, 0x6, 0x34, 0x8c, 0x0, 0x6, 0x35, 0x8, 0x0, 0x6, 0x35, 0x64, 0x0, 0x6, 0x35, 0xf4, 0x0, 0x6, 0x36, 0x58, 0x0, 0x6, 0x36, 0xf0, 0x0, 0x6, 0x37, 0x0, 0x0, 0x6, 0x37, 0x10, 0x0, 0x6, 0x37, 0x58, 0x0, 0x6, 0x37, 0xa0, 0x0, 0x6, 0x37, 0xcc, 0x0, 0x6, 0x37, 0xf4, 0x0, 0x6, 0x38, 0x24, 0x0, 0x6, 0x38, 0x50, 0x0, 0x6, 0x38, 0xd8, 0x0, 0x6, 0x39, 0x5c, 0x0, 0x6, 0x3a, 0x14, 0x0, 0x6, 0x3a, 0xb8, 0x0, 0x6, 0x3b, 0x14, 0x0, 0x6, 0x3b, 0x80, 0x0, 0x6, 0x3b, 0xf8, 0x0, 0x6, 0x3c, 0x90, 0x0, 0x6, 0x3d, 0x1c, 0x0, 0x6, 0x3d, 0x84, 0x0, 0x6, 0x3d, 0xe0, 0x0, 0x6, 0x3e, 0x48, 0x0, 0x6, 0x3e, 0xa0, 0x0, 0x6, 0x3f, 0xc, 0x0, 0x6, 0x3f, 0x2c, 0x0, 0x6, 0x3f, 0x4c, 0x0, 0x6, 0x3f, 0x94, 0x0, 0x6, 0x3f, 0xd8, 0x0, 0x6, 0x3f, 0xe8, 0x0, 0x6, 0x40, 0x10, 0x0, 0x6, 0x40, 0x6c, 0x0, 0x6, 0x40, 0xc0, 0x0, 0x6, 0x40, 0xd0, 0x0, 0x6, 0x41, 0x30, 0x0, 0x6, 0x41, 0x6c, 0x0, 0x6, 0x41, 0xb8, 0x0, 0x6, 0x42, 0x48, 0x0, 0x6, 0x42, 0xfc, 0x0, 0x6, 0x43, 0x5c, 0x0, 0x6, 0x43, 0xb8, 0x0, 0x6, 0x44, 0x24, 0x0, 0x6, 0x44, 0x94, 0x0, 0x6, 0x45, 0x28, 0x0, 0x6, 0x45, 0x80, 0x0, 0x6, 0x46, 0x18, 0x0, 0x6, 0x46, 0xac, 0x0, 0x6, 0x46, 0xf4, 0x0, 0x6, 0x47, 0x4, 0x0, 0x6, 0x47, 0x30, 0x0, 0x6, 0x47, 0x78, 0x0, 0x6, 0x47, 0xb4, 0x0, 0x6, 0x47, 0xd0, 0x0, 0x6, 0x48, 0x1c, 0x0, 0x6, 0x48, 0x48, 0x0, 0x6, 0x48, 0x68, 0x0, 0x6, 0x48, 0x8c, 0x0, 0x6, 0x48, 0xb0, 0x0, 0x6, 0x48, 0xd4, 0x0, 0x6, 0x48, 0xf4, 0x0, 0x6, 0x49, 0x8, 0x0, 0x6, 0x49, 0x1c, 0x0, 0x6, 0x49, 0x30, 0x0, 0x6, 0x49, 0x44, 0x0, 0x6, 0x49, 0x68, 0x0, 0x6, 0x49, 0x7c, 0x0, 0x6, 0x49, 0x90, 0x0, 0x6, 0x49, 0xa4, 0x0, 0x6, 0x49, 0xb8, 0x0, 0x6, 0x49, 0xdc, 0x0, 0x6, 0x49, 0xf0, 0x0, 0x6, 0x4a, 0x4, 0x0, 0x6, 0x4a, 0x18, 0x0, 0x6, 0x4a, 0x2c, 0x0, 0x6, 0x4a, 0x50, 0x0, 0x6, 0x4a, 0x64, 0x0, 0x6, 0x4a, 0x78, 0x0, 0x6, 0x4a, 0x8c, 0x0, 0x6, 0x4a, 0xa8, 0x0, 0x6, 0x4a, 0xd0, 0x0, 0x6, 0x4d, 0x7c, 0x0, 0x6, 0x50, 0x2c, 0x0, 0x6, 0x52, 0xd8, 0x0, 0x6, 0x55, 0x88, 0x0, 0x6, 0x55, 0xdc, 0x0, 0x6, 0x56, 0x44, 0x0, 0x6, 0x56, 0xb8, 0x0, 0x6, 0x57, 0x60, 0x0, 0x6, 0x57, 0xbc, 0x0, 0x6, 0x58, 0x2c, 0x0, 0x6, 0x58, 0xb0, 0x0, 0x6, 0x59, 0x30, 0x0, 0x6, 0x59, 0x84, 0x0, 0x6, 0x59, 0xe8, 0x0, 0x6, 0x5a, 0x98, 0x0, 0x6, 0x5b, 0x4, 0x0, 0x6, 0x5b, 0x64, 0x0, 0x6, 0x5b, 0xd8, 0x0, 0x6, 0x5c, 0x3c, 0x0, 0x6, 0x5c, 0x94, 0x0, 0x6, 0x5d, 0x20, 0x0, 0x6, 0x5d, 0x70, 0x0, 0x6, 0x5d, 0xf0, 0x0, 0x6, 0x5e, 0x58, 0x0, 0x6, 0x5f, 0x8, 0x0, 0x6, 0x5f, 0x68, 0x0, 0x6, 0x5f, 0xfc, 0x0, 0x6, 0x60, 0x64, 0x0, 0x6, 0x60, 0xd8, 0x0, 0x6, 0x61, 0x40, 0x0, 0x6, 0x61, 0xc0, 0x0, 0x6, 0x62, 0x14, 0x0, 0x6, 0x62, 0x88, 0x0, 0x6, 0x63, 0x0, 0x0, 0x6, 0x63, 0x54, 0x0, 0x6, 0x63, 0xcc, 0x0, 0x6, 0x64, 0x3c, 0x0, 0x6, 0x64, 0xb4, 0x0, 0x6, 0x65, 0x2c, 0x0, 0x6, 0x65, 0x90, 0x0, 0x6, 0x66, 0x0, 0x0, 0x6, 0x66, 0x84, 0x0, 0x6, 0x67, 0x18, 0x0, 0x6, 0x67, 0xa4, 0x0, 0x6, 0x68, 0x74, 0x0, 0x6, 0x68, 0xc8, 0x0, 0x6, 0x69, 0x28, 0x0, 0x6, 0x69, 0x98, 0x0, 0x6, 0x69, 0xf0, 0x0, 0x6, 0x6a, 0x54, 0x0, 0x6, 0x6a, 0xb8, 0x0, 0x6, 0x6b, 0x18, 0x0, 0x6, 0x6b, 0x7c, 0x0, 0x6, 0x6b, 0xec, 0x0, 0x6, 0x6c, 0x5c, 0x0, 0x6, 0x6c, 0xb4, 0x0, 0x6, 0x6d, 0xc, 0x0, 0x6, 0x6d, 0x70, 0x0, 0x6, 0x6d, 0xe8, 0x0, 0x6, 0x6e, 0x68, 0x0, 0x6, 0x6e, 0xf8, 0x0, 0x6, 0x6f, 0x70, 0x0, 0x6, 0x6f, 0xf8, 0x0, 0x6, 0x70, 0x70, 0x0, 0x6, 0x70, 0xf4, 0x0, 0x6, 0x71, 0x84, 0x0, 0x6, 0x71, 0xfc, 0x0, 0x6, 0x72, 0x84, 0x0, 0x6, 0x73, 0x8, 0x0, 0x6, 0x73, 0x7c, 0x0, 0x6, 0x74, 0x2c, 0x0, 0x6, 0x74, 0xd0, 0x0, 0x6, 0x75, 0x50, 0x0, 0x6, 0x76, 0x30, 0x0, 0x6, 0x76, 0xf0, 0x0, 0x6, 0x77, 0x70, 0x0, 0x6, 0x78, 0x68, 0x0, 0x6, 0x79, 0x34, 0x0, 0x6, 0x79, 0xdc, 0x0, 0x6, 0x7a, 0x78, 0x0, 0x6, 0x7b, 0x28, 0x0, 0x6, 0x7b, 0xf0, 0x0, 0x6, 0x7c, 0x8, 0x0, 0x6, 0x7c, 0x3c, 0x0, 0x6, 0x7c, 0x54, 0x0, 0x6, 0x7c, 0xa0, 0x0, 0x6, 0x7d, 0xc, 0x0, 0x6, 0x7d, 0x34, 0x0, 0x6, 0x7d, 0x84, 0x0, 0x6, 0x7d, 0xd8, 0x0, 0x6, 0x7e, 0x4, 0x0, 0x6, 0x7e, 0x4c, 0x0, 0x6, 0x7e, 0x88, 0x0, 0x6, 0x7e, 0xe8, 0x0, 0x6, 0x7f, 0x10, 0x0, 0x6, 0x7f, 0x28, 0x0, 0x6, 0x7f, 0x40, 0x0, 0x6, 0x7f, 0x60, 0x0, 0x6, 0x7f, 0x80, 0x0, 0x6, 0x7f, 0x98, 0x0, 0x6, 0x7f, 0xb0, 0x0, 0x6, 0x7f, 0xc8, 0x0, 0x6, 0x7f, 0xe0, 0x0, 0x6, 0x7f, 0xf8, 0x0, 0x6, 0x80, 0x10, 0x0, 0x6, 0x80, 0x28, 0x0, 0x6, 0x80, 0x44, 0x0, 0x6, 0x80, 0x5c, 0x0, 0x6, 0x80, 0x74, 0x0, 0x6, 0x80, 0x90, 0x0, 0x6, 0x80, 0xa8, 0x0, 0x6, 0x80, 0xc0, 0x0, 0x6, 0x80, 0xd8, 0x0, 0x6, 0x80, 0xf0, 0x0, 0x6, 0x81, 0x8, 0x0, 0x6, 0x81, 0x20, 0x0, 0x6, 0x81, 0x38, 0x0, 0x6, 0x81, 0x50, 0x0, 0x6, 0x81, 0x68, 0x0, 0x6, 0x81, 0x80, 0x0, 0x6, 0x81, 0x98, 0x0, 0x6, 0x81, 0xb0, 0x0, 0x6, 0x81, 0xc8, 0x0, 0x6, 0x81, 0xe0, 0x0, 0x6, 0x81, 0xf8, 0x0, 0x6, 0x82, 0x10, 0x0, 0x6, 0x82, 0x28, 0x0, 0x6, 0x82, 0xac, 0x0, 0x6, 0x82, 0xc4, 0x0, 0x6, 0x82, 0xdc, 0x0, 0x6, 0x82, 0xf4, 0x0, 0x6, 0x83, 0xc, 0x0, 0x6, 0x83, 0x24, 0x0, 0x6, 0x83, 0x3c, 0x0, 0x6, 0x83, 0x54, 0x0, 0x6, 0x83, 0x6c, 0x0, 0x6, 0x83, 0x84, 0x0, 0x6, 0x83, 0x9c, 0x0, 0x6, 0x83, 0xb4, 0x0, 0x6, 0x83, 0xcc, 0x0, 0x6, 0x83, 0xe4, 0x0, 0x6, 0x83, 0xfc, 0x0, 0x6, 0x84, 0x14, 0x0, 0x6, 0x84, 0x2c, 0x0, 0x6, 0x84, 0x44, 0x0, 0x6, 0x84, 0x5c, 0x0, 0x6, 0x84, 0x74, 0x0, 0x6, 0x84, 0x8c, 0x0, 0x6, 0x84, 0xa4, 0x0, 0x6, 0x84, 0xbc, 0x0, 0x6, 0x84, 0xd4, 0x0, 0x6, 0x84, 0xec, 0x0, 0x6, 0x85, 0x4, 0x0, 0x6, 0x85, 0x1c, 0x0, 0x6, 0x85, 0x34, 0x0, 0x6, 0x85, 0x4c, 0x0, 0x6, 0x85, 0x64, 0x0, 0x6, 0x85, 0x7c, 0x0, 0x6, 0x85, 0x94, 0x0, 0x6, 0x85, 0xac, 0x0, 0x6, 0x85, 0xc4, 0x0, 0x6, 0x85, 0xdc, 0x0, 0x6, 0x85, 0xf4, 0x0, 0x6, 0x86, 0xc, 0x0, 0x6, 0x86, 0x24, 0x0, 0x6, 0x86, 0x3c, 0x0, 0x6, 0x86, 0x54, 0x0, 0x6, 0x86, 0x6c, 0x0, 0x6, 0x86, 0x84, 0x0, 0x6, 0x86, 0x9c, 0x0, 0x6, 0x86, 0xb4, 0x0, 0x6, 0x86, 0xcc, 0x0, 0x6, 0x86, 0xe4, 0x0, 0x6, 0x86, 0xfc, 0x0, 0x6, 0x87, 0x14, 0x0, 0x6, 0x87, 0x2c, 0x0, 0x6, 0x87, 0x44, 0x0, 0x6, 0x87, 0x5c, 0x0, 0x6, 0x87, 0x74, 0x0, 0x6, 0x87, 0x8c, 0x0, 0x6, 0x87, 0xa4, 0x0, 0x6, 0x87, 0xbc, 0x0, 0x6, 0x87, 0xd4, 0x0, 0x6, 0x87, 0xec, 0x0, 0x6, 0x88, 0x4, 0x0, 0x6, 0x88, 0x1c, 0x0, 0x6, 0x88, 0x34, 0x0, 0x6, 0x88, 0x4c, 0x0, 0x6, 0x88, 0x5c, 0x0, 0x6, 0x89, 0x8, 0x0, 0x6, 0x89, 0x18, 0x0, 0x6, 0x89, 0x28, 0x0, 0x6, 0x89, 0x40, 0x0, 0x6, 0x89, 0x58, 0x0, 0x6, 0x89, 0x70, 0x0, 0x6, 0x89, 0x88, 0x0, 0x6, 0x89, 0xa0, 0x0, 0x6, 0x89, 0xb8, 0x0, 0x6, 0x89, 0xd0, 0x0, 0x6, 0x89, 0xe8, 0x0, 0x6, 0x8a, 0x0, 0x0, 0x6, 0x8a, 0x18, 0x0, 0x6, 0x8a, 0x30, 0x0, 0x6, 0x8a, 0x48, 0x0, 0x6, 0x8a, 0x58, 0x0, 0x6, 0x8a, 0xd0, 0x0, 0x6, 0x8a, 0xe8, 0x0, 0x6, 0x8b, 0x0, 0x0, 0x6, 0x8b, 0x18, 0x0, 0x6, 0x8b, 0x30, 0x0, 0x6, 0x8b, 0x40, 0x0, 0x6, 0x8b, 0xe4, 0x0, 0x6, 0x8b, 0xf4, 0x0, 0x6, 0x8c, 0x4, 0x0, 0x6, 0x8c, 0x1c, 0x0, 0x6, 0x8c, 0x34, 0x0, 0x6, 0x8c, 0x4c, 0x0, 0x6, 0x8c, 0x64, 0x0, 0x6, 0x8c, 0x7c, 0x0, 0x6, 0x8c, 0x94, 0x0, 0x6, 0x8c, 0xc4, 0x0, 0x6, 0x8d, 0x4, 0x0, 0x6, 0x8d, 0x14, 0x0, 0x6, 0x8d, 0x24, 0x0, 0x6, 0x8d, 0x3c, 0x0, 0x6, 0x8d, 0x54, 0x0, 0x6, 0x8d, 0x54, 0x0, 0x6, 0x8d, 0x54, 0x0, 0x6, 0x8d, 0x54, 0x0, 0x6, 0x8d, 0x54, 0x0, 0x6, 0x8d, 0x54, 0x0, 0x6, 0x8d, 0x54, 0x0, 0x6, 0x8d, 0x54, 0x0, 0x6, 0x8d, 0x54, 0x0, 0x6, 0x8d, 0x54, 0x0, 0x6, 0x8d, 0x54, 0x0, 0x6, 0x8d, 0x54, 0x0, 0x6, 0x8d, 0x54, 0x0, 0x6, 0x8d, 0x54, 0x0, 0x6, 0x8d, 0x54, 0x0, 0x6, 0x8d, 0x54, 0x0, 0x6, 0x8d, 0x54, 0x0, 0x6, 0x8d, 0x7c, 0x0, 0x6, 0x8d, 0xa4, 0x0, 0x6, 0x8d, 0xec, 0x0, 0x6, 0x8e, 0x34, 0x0, 0x6, 0x8e, 0x48, 0x0, 0x6, 0x8e, 0x60, 0x0, 0x6, 0x8e, 0x74, 0x0, 0x6, 0x8e, 0xa8, 0x0, 0x6, 0x8e, 0xbc, 0x0, 0x6, 0x8e, 0xd0, 0x0, 0x6, 0x8e, 0xe8, 0x0, 0x6, 0x8e, 0xfc, 0x0, 0x6, 0x8f, 0x14, 0x0, 0x6, 0x8f, 0x28, 0x0, 0x6, 0x8f, 0x40, 0x0, 0x6, 0x8f, 0x54, 0x0, 0x6, 0x8f, 0x6c, 0x0, 0x6, 0x8f, 0x80, 0x0, 0x6, 0x8f, 0x98, 0x0, 0x6, 0x8f, 0xa8, 0x0, 0x6, 0x8f, 0xc0, 0x0, 0x6, 0x8f, 0xd8, 0x0, 0x6, 0x8f, 0xf0, 0x0, 0x6, 0x90, 0x8, 0x0, 0x6, 0x90, 0x20, 0x0, 0x6, 0x90, 0x38, 0x0, 0x6, 0x90, 0x50, 0x0, 0x6, 0x90, 0x68, 0x0, 0x6, 0x90, 0x80, 0x0, 0x6, 0x90, 0x98, 0x0, 0x6, 0x90, 0xb0, 0x0, 0x6, 0x90, 0xc8, 0x0, 0x6, 0x90, 0xd8, 0x0, 0x6, 0x91, 0xc, 0x0, 0x6, 0x91, 0x24, 0x0, 0x6, 0x91, 0x3c, 0x0, 0x6, 0x91, 0x54, 0x0, 0x6, 0x91, 0x6c, 0x0, 0x6, 0x91, 0x84, 0x0, 0x6, 0x91, 0x9c, 0x0, 0x6, 0x91, 0xb4, 0x0, 0x6, 0x91, 0xcc, 0x0, 0x6, 0x91, 0xe4, 0x0, 0x6, 0x91, 0xfc, 0x0, 0x6, 0x92, 0x14, 0x0, 0x6, 0x92, 0x2c, 0x0, 0x6, 0x92, 0x44, 0x0, 0x6, 0x92, 0x5c, 0x0, 0x6, 0x92, 0x74, 0x0, 0x6, 0x92, 0x8c, 0x0, 0x6, 0x92, 0xa4, 0x0, 0x6, 0x92, 0xbc, 0x0, 0x6, 0x92, 0xcc, 0x0, 0x6, 0x93, 0x60, 0x0, 0x6, 0x93, 0xc8, 0x0, 0x6, 0x94, 0x4c, 0x0, 0x6, 0x94, 0x64, 0x0, 0x6, 0x94, 0x7c, 0x0, 0x6, 0x94, 0x94, 0x0, 0x6, 0x94, 0xac, 0x0, 0x6, 0x94, 0xbc, 0x0, 0x6, 0x95, 0x20, 0x0, 0x6, 0x95, 0x38, 0x0, 0x6, 0x95, 0x50, 0x0, 0x6, 0x95, 0x60, 0x0, 0x6, 0x95, 0xb4, 0x0, 0x6, 0x95, 0xcc, 0x0, 0x6, 0x95, 0xe4, 0x0, 0x6, 0x95, 0xf4, 0x0, 0x6, 0x96, 0xc8, 0x0, 0x6, 0x97, 0x58, 0x0, 0x6, 0x97, 0xf8, 0x0, 0x6, 0x98, 0x10, 0x0, 0x6, 0x98, 0x28, 0x0, 0x6, 0x98, 0x40, 0x0, 0x6, 0x98, 0x58, 0x0, 0x6, 0x98, 0x68, 0x0, 0x6, 0x99, 0x44, 0x0, 0x6, 0x99, 0xd0, 0x0, 0x6, 0x9a, 0x74, 0x0, 0x6, 0x9a, 0x8c, 0x0, 0x6, 0x9a, 0xa4, 0x0, 0x6, 0x9a, 0xbc, 0x0, 0x6, 0x9a, 0xd4, 0x0, 0x6, 0x9a, 0xe4, 0x0, 0x6, 0x9b, 0x68, 0x0, 0x6, 0x9b, 0xd4, 0x0, 0x6, 0x9c, 0x58, 0x0, 0x6, 0x9c, 0x70, 0x0, 0x6, 0x9c, 0x88, 0x0, 0x6, 0x9c, 0xa0, 0x0, 0x6, 0x9c, 0xb8, 0x0, 0x6, 0x9c, 0xc8, 0x0, 0x6, 0x9d, 0x50, 0x0, 0x6, 0x9d, 0xa8, 0x0, 0x6, 0x9e, 0x38, 0x0, 0x6, 0x9e, 0x50, 0x0, 0x6, 0x9e, 0x68, 0x0, 0x6, 0x9e, 0x80, 0x0, 0x6, 0x9e, 0x98, 0x0, 0x6, 0x9e, 0xb0, 0x0, 0x6, 0x9e, 0xc8, 0x0, 0x6, 0x9e, 0xe0, 0x0, 0x6, 0x9e, 0xf8, 0x0, 0x6, 0x9f, 0x10, 0x0, 0x6, 0x9f, 0x28, 0x0, 0x6, 0x9f, 0x40, 0x0, 0x6, 0x9f, 0x58, 0x0, 0x6, 0x9f, 0x68, 0x0, 0x6, 0xa0, 0x34, 0x0, 0x6, 0xa0, 0xa0, 0x0, 0x6, 0xa1, 0x28, 0x0, 0x6, 0xa1, 0x38, 0x0, 0x6, 0xa1, 0xac, 0x0, 0x6, 0xa1, 0xe0, 0x0, 0x6, 0xa2, 0x24, 0x0, 0x6, 0xa2, 0x34, 0x0, 0x6, 0xa2, 0xd4, 0x0, 0x6, 0xa3, 0x44, 0x0, 0x6, 0xa3, 0xd4, 0x0, 0x6, 0xa3, 0xec, 0x0, 0x6, 0xa4, 0x4, 0x0, 0x6, 0xa4, 0x1c, 0x0, 0x6, 0xa4, 0x34, 0x0, 0x6, 0xa4, 0x44, 0x0, 0x6, 0xa4, 0xbc, 0x0, 0x6, 0xa5, 0x78, 0x0, 0x6, 0xa6, 0x8, 0x0, 0x6, 0xa6, 0x18, 0x0, 0x6, 0xa6, 0xac, 0x0, 0x6, 0xa6, 0xbc, 0x0, 0x6, 0xa7, 0x60, 0x0, 0x6, 0xa7, 0x78, 0x0, 0x6, 0xa7, 0x90, 0x0, 0x6, 0xa7, 0xa8, 0x0, 0x6, 0xa7, 0xc0, 0x0, 0x6, 0xa7, 0xd8, 0x0, 0x6, 0xa7, 0xf0, 0x0, 0x6, 0xa8, 0x8, 0x0, 0x6, 0xa8, 0x20, 0x0, 0x6, 0xa8, 0x38, 0x0, 0x6, 0xa8, 0x50, 0x0, 0x6, 0xa8, 0xa4, 0x0, 0x6, 0xa9, 0xc, 0x0, 0x6, 0xa9, 0xc, 0x0, 0x6, 0xa9, 0xc, 0x0, 0x6, 0xa9, 0xc, 0x0, 0x6, 0xa9, 0xc, 0x0, 0x6, 0xa9, 0xc, 0x0, 0x6, 0xa9, 0x98, 0x0, 0x6, 0xa9, 0xd4, 0x0, 0x6, 0xaa, 0x4c, 0x0, 0x6, 0xaa, 0x78, 0x0, 0x6, 0xaa, 0xc8, 0x0, 0x6, 0xab, 0x8, 0x0, 0x6, 0xab, 0x38, 0x0, 0x6, 0xab, 0x64, 0x0, 0x6, 0xab, 0xa0, 0x0, 0x6, 0xac, 0x3c, 0x0, 0x6, 0xac, 0x58, 0x0, 0x6, 0xac, 0x90, 0x0, 0x6, 0xac, 0xb8, 0x0, 0x6, 0xac, 0xf8, 0x0, 0x6, 0xad, 0x28, 0x0, 0x6, 0xad, 0x84, 0x0, 0x6, 0xae, 0x14, 0x0, 0x6, 0xae, 0x5c, 0x0, 0x6, 0xae, 0x94, 0x0, 0x6, 0xae, 0xfc, 0x0, 0x6, 0xaf, 0x54, 0x0, 0x6, 0xaf, 0x8c, 0x0, 0x6, 0xaf, 0xb8, 0x0, 0x6, 0xaf, 0xe0, 0x0, 0x6, 0xb0, 0x24, 0x0, 0x6, 0xb0, 0xa0, 0x0, 0x6, 0xb0, 0xd8, 0x0, 0x6, 0xb1, 0x58, 0x0, 0x6, 0xb1, 0x9c, 0x0, 0x6, 0xb1, 0xe4, 0x0, 0x6, 0xb2, 0x8, 0x0, 0x6, 0xb2, 0x50, 0x0, 0x6, 0xb2, 0x60, 0x0, 0x6, 0xb2, 0x8c, 0x0, 0x6, 0xb2, 0x9c, 0x0, 0x6, 0xb2, 0xd0, 0x0, 0x6, 0xb3, 0x8, 0x0, 0x6, 0xb3, 0x24, 0x0, 0x6, 0xb3, 0x40, 0x0, 0x6, 0xb3, 0x5c, 0x0, 0x6, 0xb3, 0x78, 0x0, 0x6, 0xb3, 0x94, 0x0, 0x6, 0xb3, 0xbc, 0x0, 0x6, 0xb3, 0xe4, 0x0, 0x6, 0xb4, 0x10, 0x0, 0x6, 0xb4, 0x38, 0x0, 0x6, 0xb4, 0x60, 0x0, 0x6, 0xb4, 0x8c, 0x0, 0x6, 0xb4, 0xb4, 0x0, 0x6, 0xb4, 0xdc, 0x0, 0x6, 0xb5, 0x4, 0x0, 0x6, 0xb5, 0x2c, 0x0, 0x6, 0xb5, 0x54, 0x0, 0x6, 0xb5, 0x80, 0x0, 0x6, 0xb5, 0xa8, 0x0, 0x6, 0xb5, 0xd0, 0x0, 0x6, 0xb5, 0xfc, 0x0, 0x6, 0xb6, 0x24, 0x0, 0x6, 0xb6, 0x4c, 0x0, 0x6, 0xb6, 0x74, 0x0, 0x6, 0xb6, 0x9c, 0x0, 0x6, 0xb6, 0xc4, 0x0, 0x6, 0xb6, 0xf0, 0x0, 0x6, 0xb7, 0x18, 0x0, 0x6, 0xb7, 0x40, 0x0, 0x6, 0xb7, 0x6c, 0x0, 0x6, 0xb7, 0x94, 0x0, 0x6, 0xb7, 0xbc, 0x0, 0x6, 0xb7, 0xe4, 0x0, 0x6, 0xb8, 0xc, 0x0, 0x6, 0xb8, 0x34, 0x0, 0x6, 0xb8, 0x60, 0x0, 0x6, 0xb8, 0x88, 0x0, 0x6, 0xb8, 0xb0, 0x0, 0x6, 0xb8, 0xdc, 0x0, 0x6, 0xb9, 0x4, 0x0, 0x6, 0xb9, 0x2c, 0x0, 0x6, 0xb9, 0x54, 0x0, 0x6, 0xb9, 0x7c, 0x0, 0x6, 0xb9, 0xa4, 0x0, 0x6, 0xb9, 0xd0, 0x0, 0x6, 0xb9, 0xf8, 0x0, 0x6, 0xba, 0x20, 0x0, 0x6, 0xba, 0x4c, 0x0, 0x6, 0xba, 0x74, 0x0, 0x6, 0xba, 0x9c, 0x0, 0x6, 0xba, 0xc4, 0x0, 0x6, 0xba, 0xec, 0x0, 0x6, 0xbb, 0x14, 0x0, 0x6, 0xbb, 0x40, 0x0, 0x6, 0xbb, 0x68, 0x0, 0x6, 0xbb, 0x90, 0x0, 0x6, 0xbb, 0xbc, 0x0, 0x6, 0xbb, 0xe4, 0x0, 0x6, 0xbc, 0xc, 0x0, 0x6, 0xbc, 0x34, 0x0, 0x6, 0xbc, 0x5c, 0x0, 0x6, 0xbc, 0x84, 0x0, 0x6, 0xbc, 0xb0, 0x0, 0x6, 0xbc, 0xd8, 0x0, 0x6, 0xbd, 0x0, 0x0, 0x6, 0xbd, 0x2c, 0x0, 0x6, 0xbd, 0x54, 0x0, 0x6, 0xbd, 0x7c, 0x0, 0x6, 0xbd, 0xa4, 0x0, 0x6, 0xbd, 0xcc, 0x0, 0x6, 0xbd, 0xf4, 0x0, 0x6, 0xbe, 0x20, 0x0, 0x6, 0xbe, 0x48, 0x0, 0x6, 0xbe, 0x70, 0x0, 0x6, 0xbe, 0x9c, 0x0, 0x6, 0xbe, 0xc4, 0x0, 0x6, 0xbe, 0xec, 0x0, 0x6, 0xbf, 0x14, 0x0, 0x6, 0xbf, 0x3c, 0x0, 0x6, 0xbf, 0x64, 0x0, 0x6, 0xbf, 0x90, 0x0, 0x6, 0xbf, 0xb8, 0x0, 0x6, 0xbf, 0xe0, 0x0, 0x6, 0xc0, 0xc, 0x0, 0x6, 0xc0, 0x34, 0x0, 0x6, 0xc0, 0x5c, 0x0, 0x6, 0xc0, 0x84, 0x0, 0x6, 0xc0, 0xd0, 0x0, 0x6, 0xc1, 0x60, 0x0, 0x6, 0xc1, 0xcc, 0x0, 0x6, 0xc2, 0xc, 0x0, 0x6, 0xc2, 0x48, 0x0, 0x6, 0xc2, 0xd4, 0x0, 0x6, 0xc3, 0x10, 0x0, 0x6, 0xc3, 0x5c, 0x0, 0x6, 0xc3, 0xa0, 0x0, 0x6, 0xc3, 0xd0, 0x0, 0x6, 0xc4, 0x2c, 0x0, 0x6, 0xc4, 0xc8, 0x0, 0x6, 0xc5, 0x64, 0x0, 0x6, 0xc5, 0x9c, 0x0, 0x6, 0xc6, 0x10, 0x0, 0x6, 0xc6, 0x4c, 0x0, 0x6, 0xc6, 0xb4, 0x0, 0x6, 0xc7, 0x8, 0x0, 0x6, 0xc7, 0x50, 0x0, 0x6, 0xc7, 0xf4, 0x0, 0x6, 0xc8, 0x90, 0x0, 0x6, 0xc9, 0x8, 0x0, 0x6, 0xc9, 0xa4, 0x0, 0x6, 0xca, 0x1c, 0x0, 0x6, 0xca, 0x84, 0x0, 0x6, 0xcb, 0x4c, 0x0, 0x6, 0xcb, 0xc0, 0x0, 0x6, 0xcb, 0xf8, 0x0, 0x6, 0xcc, 0x54, 0x0, 0x6, 0xcc, 0x98, 0x0, 0x6, 0xcc, 0xe4, 0x0, 0x6, 0xcd, 0xa0, 0x0, 0x6, 0xce, 0x14, 0x0, 0x6, 0xce, 0xa0, 0x0, 0x6, 0xcf, 0x3c, 0x0, 0x6, 0xcf, 0xd8, 0x0, 0x6, 0xd0, 0x24, 0x0, 0x6, 0xd0, 0xf0, 0x0, 0x6, 0xd1, 0x4c, 0x0, 0x6, 0xd1, 0xc0, 0x0, 0x6, 0xd1, 0xfc, 0x0, 0x6, 0xd2, 0x5c, 0x0, 0x6, 0xd2, 0xb0, 0x0, 0x6, 0xd3, 0x0, 0x0, 0x6, 0xd3, 0x44, 0x0, 0x6, 0xd3, 0x54, 0x0, 0x6, 0xd3, 0x64, 0x0, 0x6, 0xd3, 0x74, 0x0, 0x6, 0xd3, 0x84, 0x0, 0x6, 0xd3, 0x94, 0x0, 0x6, 0xd3, 0xa4, 0x0, 0x6, 0xd3, 0xb4, 0x0, 0x6, 0xd3, 0xc4, 0x0, 0x6, 0xd3, 0xd4, 0x0, 0x6, 0xd3, 0xe4, 0x0, 0x6, 0xd3, 0xf4, 0x0, 0x6, 0xd4, 0x4, 0x0, 0x6, 0xd4, 0x14, 0x0, 0x6, 0xd4, 0x24, 0x0, 0x6, 0xd4, 0x34, 0x0, 0x6, 0xd4, 0x44, 0x0, 0x6, 0xd4, 0x54, 0x0, 0x6, 0xd4, 0x64, 0x0, 0x6, 0xd4, 0x74, 0x0, 0x6, 0xd4, 0x84, 0x0, 0x6, 0xd4, 0x94, 0x0, 0x6, 0xd4, 0xa4, 0x0, 0x6, 0xd4, 0xb4, 0x0, 0x6, 0xd4, 0xc4, 0x0, 0x6, 0xd4, 0xd4, 0x0, 0x6, 0xd4, 0xe4, 0x0, 0x6, 0xd4, 0xf4, 0x0, 0x6, 0xd5, 0x4, 0x0, 0x6, 0xd5, 0x14, 0x0, 0x6, 0xd5, 0x24, 0x0, 0x6, 0xd5, 0x34, 0x0, 0x6, 0xd5, 0x44, 0x0, 0x6, 0xd5, 0x54, 0x0, 0x6, 0xd5, 0x64, 0x0, 0x6, 0xd5, 0x74, 0x0, 0x6, 0xd5, 0x84, 0x0, 0x6, 0xd5, 0x94, 0x0, 0x6, 0xd5, 0xa4, 0x0, 0x6, 0xd5, 0xb4, 0x0, 0x6, 0xd5, 0xc4, 0x0, 0x6, 0xd5, 0xd4, 0x0, 0x6, 0xd5, 0xe4, 0x0, 0x6, 0xd5, 0xf4, 0x0, 0x6, 0xd6, 0x4, 0x0, 0x6, 0xd6, 0x14, 0x0, 0x6, 0xd6, 0x24, 0x0, 0x6, 0xd6, 0x34, 0x0, 0x6, 0xd6, 0x44, 0x0, 0x6, 0xd6, 0x54, 0x0, 0x6, 0xd6, 0x64, 0x0, 0x6, 0xd6, 0x74, 0x0, 0x6, 0xd6, 0x84, 0x0, 0x6, 0xd6, 0xf0, 0x0, 0x6, 0xd7, 0x30, 0x0, 0x6, 0xd7, 0xc0, 0x0, 0x6, 0xd8, 0x54, 0x0, 0x6, 0xd8, 0xa0, 0x0, 0x6, 0xd9, 0x10, 0x0, 0x6, 0xd9, 0x9c, 0x0, 0x6, 0xd9, 0xd8, 0x0, 0x6, 0xda, 0xb4, 0x0, 0x6, 0xdb, 0x40, 0x0, 0x6, 0xdb, 0x50, 0x0, 0x6, 0xdb, 0x60, 0x0, 0x6, 0xdb, 0x70, 0x0, 0x6, 0xdb, 0x80, 0x0, 0x6, 0xdb, 0x90, 0x0, 0x6, 0xdb, 0xa0, 0x0, 0x6, 0xdb, 0xb0, 0x0, 0x6, 0xdb, 0xc0, 0x0, 0x6, 0xdb, 0xd0, 0x0, 0x6, 0xdb, 0xe0, 0x0, 0x6, 0xdc, 0xc, 0x0, 0x6, 0xdc, 0x44, 0x0, 0x6, 0xdc, 0xc0, 0x0, 0x6, 0xdd, 0x7c, 0x0, 0x6, 0xde, 0x78, 0x0, 0x6, 0xdf, 0xb4, 0x0, 0x6, 0xe1, 0x30, 0x0, 0x6, 0xe2, 0xe4, 0x0, 0x6, 0xe3, 0x60, 0x0, 0x6, 0xe4, 0x1c, 0x0, 0x6, 0xe5, 0x1c, 0x0, 0x6, 0xe6, 0x58, 0x0, 0x6, 0xe7, 0xd4, 0x0, 0x6, 0xe9, 0x90, 0x0, 0x6, 0xeb, 0x84, 0x0, 0x6, 0xec, 0x40, 0x0, 0x6, 0xed, 0x3c, 0x0, 0x6, 0xee, 0x78, 0x0, 0x6, 0xef, 0xf4, 0x0, 0x6, 0xf1, 0xa4, 0x0, 0x6, 0xf3, 0xa0, 0x0, 0x6, 0xf5, 0xd4, 0x0, 0x6, 0xf6, 0xd0, 0x0, 0x6, 0xf8, 0xc, 0x0, 0x6, 0xf9, 0x8c, 0x0, 0x6, 0xfb, 0x48, 0x0, 0x6, 0xfd, 0x44, 0x0, 0x6, 0xff, 0x80, 0x0, 0x7, 0x1, 0xf4, 0x0, 0x7, 0x3, 0x28, 0x0, 0x7, 0x4, 0x9c, 0x0, 0x7, 0x6, 0x5c, 0x0, 0x7, 0x8, 0x58, 0x0, 0x7, 0xa, 0x94, 0x0, 0x7, 0xd, 0x10, 0x0, 0x7, 0xf, 0xc4, 0x0, 0x7, 0x11, 0x3c, 0x0, 0x7, 0x12, 0xf8, 0x0, 0x7, 0x14, 0xf8, 0x0, 0x7, 0x17, 0x34, 0x0, 0x7, 0x19, 0xb0, 0x0, 0x7, 0x1c, 0x6c, 0x0, 0x7, 0x1f, 0x60, 0x0, 0x7, 0x21, 0x20, 0x0, 0x7, 0x23, 0x28, 0x0, 0x7, 0x25, 0x70, 0x0, 0x7, 0x27, 0xf8, 0x0, 0x7, 0x2a, 0xbc, 0x0, 0x7, 0x2d, 0xc4, 0x0, 0x7, 0x30, 0xf4, 0x0, 0x7, 0x31, 0x20, 0x0, 0x7, 0x31, 0x58, 0x0, 0x7, 0x31, 0xd4, 0x0, 0x7, 0x32, 0x90, 0x0, 0x7, 0x33, 0x8c, 0x0, 0x7, 0x34, 0xc8, 0x0, 0x7, 0x36, 0x44, 0x0, 0x7, 0x37, 0xf8, 0x0, 0x7, 0x38, 0x74, 0x0, 0x7, 0x39, 0x30, 0x0, 0x7, 0x3a, 0x30, 0x0, 0x7, 0x3b, 0x6c, 0x0, 0x7, 0x3c, 0xe8, 0x0, 0x7, 0x3e, 0xa4, 0x0, 0x7, 0x40, 0x98, 0x0, 0x7, 0x41, 0x54, 0x0, 0x7, 0x42, 0x50, 0x0, 0x7, 0x43, 0x8c, 0x0, 0x7, 0x45, 0x8, 0x0, 0x7, 0x46, 0xc4, 0x0, 0x7, 0x48, 0xc0, 0x0, 0x7, 0x4a, 0xf4, 0x0, 0x7, 0x4b, 0xf0, 0x0, 0x7, 0x4d, 0x2c, 0x0, 0x7, 0x4e, 0xac, 0x0, 0x7, 0x50, 0x68, 0x0, 0x7, 0x52, 0x64, 0x0, 0x7, 0x54, 0xa0, 0x0, 0x7, 0x57, 0x14, 0x0, 0x7, 0x58, 0x48, 0x0, 0x7, 0x59, 0xbc, 0x0, 0x7, 0x5b, 0x78, 0x0, 0x7, 0x5d, 0x74, 0x0, 0x7, 0x5f, 0xb0, 0x0, 0x7, 0x62, 0x1c, 0x0, 0x7, 0x64, 0xd0, 0x0, 0x7, 0x66, 0x48, 0x0, 0x7, 0x68, 0x4, 0x0, 0x7, 0x69, 0xf4, 0x0, 0x7, 0x6c, 0x30, 0x0, 0x7, 0x6e, 0xac, 0x0, 0x7, 0x71, 0x68, 0x0, 0x7, 0x74, 0x5c, 0x0, 0x7, 0x76, 0x20, 0x0, 0x7, 0x78, 0x28, 0x0, 0x7, 0x7a, 0x70, 0x0, 0x7, 0x7c, 0xf4, 0x0, 0x7, 0x7f, 0xb8, 0x0, 0x7, 0x82, 0xa8, 0x0, 0x7, 0x85, 0xd8, 0x0, 0x7, 0x86, 0x34, 0x0, 0x7, 0x86, 0xf0, 0x0, 0x7, 0x87, 0xcc, 0x0, 0x7, 0x88, 0xc8, 0x0, 0x7, 0x89, 0x88, 0x0, 0x7, 0x8a, 0x74, 0x0, 0x7, 0x8b, 0x8c, 0x0, 0x7, 0x8c, 0x38, 0x0, 0x7, 0x8d, 0x6c, 0x0, 0x7, 0x8e, 0x80, 0x0, 0x7, 0x8f, 0x70, 0x0, 0x7, 0x90, 0x24, 0x0, 0x7, 0x90, 0xfc, 0x0, 0x7, 0x91, 0xdc, 0x0, 0x7, 0x92, 0x98, 0x0, 0x7, 0x93, 0x50, 0x0, 0x7, 0x94, 0x28, 0x0, 0x7, 0x95, 0x20, 0x0, 0x7, 0x95, 0xdc, 0x0, 0x7, 0x96, 0xc4, 0x0, 0x7, 0x97, 0xd8, 0x0, 0x7, 0x98, 0x80, 0x0, 0x7, 0x99, 0xb0, 0x0, 0x7, 0x9a, 0xc0, 0x0, 0x7, 0x9b, 0xac, 0x0, 0x7, 0x9c, 0x5c, 0x0, 0x7, 0x9d, 0x30, 0x0, 0x7, 0x9e, 0xc, 0x0, 0x7, 0x9e, 0xc4, 0x0, 0x7, 0x9f, 0x54, 0x0, 0x7, 0xa0, 0x4, 0x0, 0x7, 0xa0, 0xd4, 0x0, 0x7, 0xa1, 0x64, 0x0, 0x7, 0xa2, 0x24, 0x0, 0x7, 0xa3, 0xc, 0x0, 0x7, 0xa3, 0x8c, 0x0, 0x7, 0xa4, 0x94, 0x0, 0x7, 0xa5, 0x7c, 0x0, 0x7, 0xa6, 0x40, 0x0, 0x7, 0xa6, 0xc8, 0x0, 0x7, 0xa7, 0x74, 0x0, 0x7, 0xa8, 0x28, 0x0, 0x7, 0xa8, 0xb4, 0x0, 0x7, 0xa9, 0x30, 0x0, 0x7, 0xaa, 0x8, 0x0, 0x7, 0xab, 0x0, 0x0, 0x7, 0xac, 0x18, 0x0, 0x7, 0xac, 0xf0, 0x0, 0x7, 0xad, 0xf8, 0x0, 0x7, 0xaf, 0x28, 0x0, 0x7, 0xaf, 0xf0, 0x0, 0x7, 0xb1, 0x40, 0x0, 0x7, 0xb2, 0x70, 0x0, 0x7, 0xb3, 0x7c, 0x0, 0x7, 0xb4, 0x4c, 0x0, 0x7, 0xb5, 0x40, 0x0, 0x7, 0xb6, 0x3c, 0x0, 0x7, 0xb7, 0x10, 0x0, 0x7, 0xb7, 0xb4, 0x0, 0x7, 0xb9, 0xbc, 0x0, 0x7, 0xbc, 0xa4, 0x0, 0x7, 0xbe, 0xcc, 0x0, 0x7, 0xc0, 0xec, 0x0, 0x7, 0xc1, 0xec, 0x0, 0x7, 0xc2, 0xec, 0x0, 0x7, 0xc4, 0x84, 0x0, 0x7, 0xc5, 0x64, 0x0, 0x7, 0xc6, 0x44, 0x0, 0x7, 0xc7, 0x48, 0x0, 0x7, 0xc8, 0x1c, 0x0, 0x7, 0xc9, 0x58, 0x0, 0x7, 0xca, 0x64, 0x0, 0x7, 0xcb, 0x3c, 0x0, 0x7, 0xcc, 0x1c, 0x0, 0x7, 0xcd, 0x28, 0x0, 0x7, 0xce, 0x8, 0x0, 0x7, 0xcf, 0x30, 0x0, 0x7, 0xd0, 0x4, 0x0, 0x7, 0xd0, 0xac, 0x0, 0x7, 0xd1, 0x64, 0x0, 0x7, 0xd1, 0xf8, 0x0, 0x7, 0xd2, 0xb8, 0x0, 0x7, 0xd3, 0xac, 0x0, 0x7, 0xd4, 0x64, 0x0, 0x7, 0xd5, 0x1c, 0x0, 0x7, 0xd6, 0x14, 0x0, 0x7, 0xd6, 0xe8, 0x0, 0x7, 0xd7, 0xfc, 0x0, 0x7, 0xd8, 0xd4, 0x0, 0x7, 0xd9, 0xac, 0x0, 0x7, 0xda, 0x84, 0x0, 0x7, 0xdb, 0x54, 0x0, 0x7, 0xdc, 0x20, 0x0, 0x7, 0xdd, 0x20, 0x0, 0x7, 0xde, 0x50, 0x0, 0x7, 0xdf, 0x50, 0x0, 0x7, 0xe0, 0x84, 0x0, 0x7, 0xe1, 0x94, 0x0, 0x7, 0xe2, 0x68, 0x0, 0x7, 0xe3, 0x4c, 0x0, 0x7, 0xe4, 0x2c, 0x0, 0x7, 0xe5, 0x2c, 0x0, 0x7, 0xe7, 0x28, 0x0, 0x7, 0xe8, 0x14, 0x0, 0x7, 0xe9, 0x28, 0x0, 0x7, 0xe9, 0xfc, 0x0, 0x7, 0xeb, 0x48, 0x0, 0x7, 0xec, 0xc, 0x0, 0x7, 0xec, 0xf0, 0x0, 0x7, 0xed, 0xf0, 0x0, 0x7, 0xef, 0xbc, 0x0, 0x7, 0xf0, 0xfc, 0x0, 0x7, 0xf2, 0x7c, 0x0, 0x7, 0xf3, 0x9c, 0x0, 0x7, 0xf4, 0x70, 0x0, 0x7, 0xf5, 0x18, 0x0, 0x7, 0xf5, 0xf8, 0x0, 0x7, 0xf8, 0x40, 0x0, 0x7, 0xfa, 0xc4, 0x0, 0x7, 0xfd, 0x34, 0x0, 0x7, 0xff, 0x3c, 0x0, 0x8, 0x1, 0x74, 0x0, 0x8, 0x3, 0xb4, 0x0, 0x8, 0x6, 0x4, 0x0, 0x8, 0x7, 0xc4, 0x0, 0x8, 0x9, 0x84, 0x0, 0x8, 0x9, 0xa8, 0x0, 0x8, 0xa, 0x74, 0x0, 0x8, 0xb, 0x10, 0x0, 0x8, 0xb, 0xe0, 0x0, 0x8, 0xc, 0x88, 0x0, 0x8, 0xd, 0x24, 0x0, 0x8, 0xd, 0xd0, 0x0, 0x8, 0xe, 0x4, 0x0, 0x8, 0xe, 0xa4, 0x0, 0x8, 0xf, 0x4, 0x0, 0x8, 0xf, 0x40, 0x0, 0x8, 0xf, 0x6c, 0x0, 0x8, 0xf, 0x84, 0x0, 0x8, 0xf, 0xa8, 0x0, 0x8, 0xf, 0xd8, 0x0, 0x8, 0x10, 0x8, 0x0, 0x8, 0x10, 0x2c, 0x0, 0x8, 0x10, 0x64, 0x0, 0x8, 0x10, 0xe0, 0x0, 0x8, 0x10, 0xf0, 0x0, 0x8, 0x11, 0x0, 0x0, 0x8, 0x11, 0xc0, 0x0, 0x8, 0x12, 0x5c, 0x0, 0x8, 0x12, 0xfc, 0x0, 0x8, 0x13, 0xc4, 0x0, 0x8, 0x13, 0xd4, 0x0, 0x8, 0x13, 0xe4, 0x0, 0x8, 0x13, 0xfc, 0x0, 0x8, 0x14, 0x14, 0x0, 0x8, 0x14, 0x64, 0x0, 0x8, 0x14, 0x84, 0x0, 0x8, 0x14, 0xa4, 0x0, 0x8, 0x14, 0xc4, 0x0, 0x8, 0x14, 0xdc, 0x0, 0x8, 0x14, 0xf4, 0x0, 0x8, 0x15, 0xc, 0x0, 0x8, 0x15, 0x24, 0x0, 0x8, 0x15, 0x3c, 0x0, 0x8, 0x15, 0x54, 0x0, 0x8, 0x15, 0x6c, 0x0, 0x8, 0x15, 0x84, 0x0, 0x8, 0x15, 0x9c, 0x0, 0x8, 0x15, 0xb4, 0x0, 0x8, 0x15, 0xcc, 0x0, 0x8, 0x15, 0xe4, 0x0, 0x8, 0x16, 0x4, 0x0, 0x8, 0x16, 0x24, 0x0, 0x8, 0x16, 0x44, 0x0, 0x8, 0x16, 0x64, 0x0, 0x8, 0x16, 0xf4, 0x0, 0x8, 0x17, 0x54, 0x0, 0x8, 0x17, 0xa4, 0x0, 0x8, 0x17, 0xc0, 0x0, 0x8, 0x17, 0xdc, 0x0, 0x8, 0x17, 0xf8, 0x0, 0x8, 0x18, 0x14, 0x0, 0x8, 0x18, 0x30, 0x0, 0x8, 0x18, 0x4c, 0x0, 0x8, 0x18, 0x68, 0x0, 0x8, 0x18, 0x84, 0x0, 0x8, 0x18, 0xa0, 0x0, 0x8, 0x18, 0xbc, 0x0, 0x8, 0x18, 0xd8, 0x0, 0x8, 0x18, 0xf4, 0x0, 0x8, 0x19, 0x10, 0x0, 0x8, 0x19, 0x2c, 0x0, 0x8, 0x19, 0x48, 0x0, 0x8, 0x19, 0x64, 0x0, 0x8, 0x19, 0x80, 0x0, 0x8, 0x19, 0x9c, 0x0, 0x8, 0x19, 0xb8, 0x0, 0x8, 0x19, 0xd4, 0x0, 0x8, 0x19, 0xec, 0x0, 0x8, 0x1a, 0x8, 0x0, 0x8, 0x1a, 0x40, 0x0, 0x8, 0x1a, 0x58, 0x0, 0x8, 0x1a, 0xac, 0x0, 0x8, 0x1a, 0xc4, 0x0, 0x8, 0x1a, 0xdc, 0x0, 0x8, 0x1a, 0xf4, 0x0, 0x8, 0x1b, 0xc, 0x0, 0x8, 0x1b, 0x2c, 0x0, 0x8, 0x1b, 0x4c, 0x0, 0x8, 0x1b, 0x64, 0x0, 0x8, 0x1b, 0xc8, 0x0, 0x8, 0x1b, 0xd8, 0x0, 0x8, 0x1b, 0xe8, 0x0, 0x8, 0x1b, 0xf8, 0x0, 0x8, 0x1c, 0x10, 0x0, 0x8, 0x1c, 0x3c, 0x0, 0x8, 0x1c, 0x94, 0x0, 0x8, 0x1c, 0xac, 0x0, 0x8, 0x1c, 0xc4, 0x0, 0x8, 0x1c, 0xe8, 0x0, 0x8, 0x1d, 0x40, 0x0, 0x8, 0x1d, 0x5c, 0x0, 0x8, 0x1d, 0x74, 0x0, 0x8, 0x1d, 0x8c, 0x0, 0x8, 0x1d, 0xa4, 0x0, 0x8, 0x1d, 0xbc, 0x0, 0x8, 0x1d, 0xd4, 0x0, 0x8, 0x1d, 0xec, 0x0, 0x8, 0x1e, 0x4, 0x0, 0x8, 0x1e, 0x1c, 0x0, 0x8, 0x1e, 0x54, 0x0, 0x8, 0x1e, 0x94, 0x0, 0x8, 0x1e, 0xcc, 0x0, 0x8, 0x1f, 0x5c, 0x0, 0x8, 0x1f, 0xfc, 0x0, 0x8, 0x20, 0x8c, 0x0, 0x8, 0x20, 0xf4, 0x0, 0x8, 0x21, 0x64, 0x0, 0x8, 0x21, 0xcc, 0x0, 0x8, 0x21, 0xfc, 0x0, 0x8, 0x22, 0x2c, 0x0, 0x8, 0x22, 0x58, 0x0, 0x8, 0x22, 0xa8, 0x0, 0x8, 0x23, 0x0, 0x0, 0x8, 0x23, 0x4c, 0x0, 0x8, 0x23, 0x98, 0x0, 0x8, 0x23, 0xe4, 0x0, 0x8, 0x24, 0x2c, 0x0, 0x8, 0x24, 0xd4, 0x0, 0x8, 0x25, 0x84, 0x0, 0x8, 0x26, 0x28, 0x0, 0x8, 0x26, 0x84, 0x0, 0x8, 0x26, 0xdc, 0x0, 0x8, 0x27, 0x34, 0x0, 0x8, 0x27, 0xcc, 0x0, 0x8, 0x28, 0x70, 0x0, 0x8, 0x29, 0xc, 0x0, 0x8, 0x29, 0x68, 0x0, 0x8, 0x29, 0xcc, 0x0, 0x8, 0x2a, 0x28, 0x0, 0x8, 0x2a, 0x84, 0x0, 0x8, 0x2a, 0xe8, 0x0, 0x8, 0x2b, 0x44, 0x0, 0x8, 0x2b, 0xc4, 0x0, 0x8, 0x2c, 0x48, 0x0, 0x8, 0x2c, 0xcc, 0x0, 0x8, 0x2d, 0x58, 0x0, 0x8, 0x2d, 0xf0, 0x0, 0x8, 0x2e, 0x7c, 0x0, 0x8, 0x2e, 0xe0, 0x0, 0x8, 0x2f, 0x4c, 0x0, 0x8, 0x2f, 0xb0, 0x0, 0x8, 0x30, 0x54, 0x0, 0x8, 0x31, 0x0, 0x0, 0x8, 0x31, 0xa4, 0x0, 0x8, 0x32, 0x8, 0x0, 0x8, 0x32, 0x74, 0x0, 0x8, 0x32, 0xd8, 0x0, 0x8, 0x33, 0x64, 0x0, 0x8, 0x33, 0xf8, 0x0, 0x8, 0x34, 0x84, 0x0, 0x8, 0x34, 0xd8, 0x0, 0x8, 0x35, 0x34, 0x0, 0x8, 0x35, 0x88, 0x0, 0x8, 0x36, 0x0, 0x0, 0x8, 0x36, 0x80, 0x0, 0x8, 0x36, 0xf8, 0x0, 0x8, 0x37, 0xa0, 0x0, 0x8, 0x38, 0x50, 0x0, 0x8, 0x38, 0xf8, 0x0, 0x8, 0x39, 0x5c, 0x0, 0x8, 0x39, 0xc8, 0x0, 0x8, 0x3a, 0x2c, 0x0, 0x8, 0x3a, 0xc4, 0x0, 0x8, 0x3b, 0x68, 0x0, 0x8, 0x3c, 0x0, 0x0, 0x8, 0x3c, 0x50, 0x0, 0x8, 0x3c, 0xa8, 0x0, 0x8, 0x3c, 0xf8, 0x0, 0x8, 0x3d, 0x6c, 0x0, 0x8, 0x3d, 0xe4, 0x0, 0x8, 0x3e, 0x58, 0x0, 0x8, 0x3e, 0xdc, 0x0, 0x8, 0x3f, 0x64, 0x0, 0x8, 0x3f, 0xe8, 0x0, 0x8, 0x40, 0x38, 0x0, 0x8, 0x40, 0x90, 0x0, 0x8, 0x40, 0xe0, 0x0, 0x8, 0x41, 0x38, 0x0, 0x8, 0x41, 0x98, 0x0, 0x8, 0x41, 0xf0, 0x0, 0x8, 0x42, 0x5c, 0x0, 0x8, 0x42, 0xd0, 0x0, 0x8, 0x43, 0x3c, 0x0, 0x8, 0x44, 0x0, 0x0, 0x8, 0x44, 0xcc, 0x0, 0x8, 0x45, 0x90, 0x0, 0x8, 0x46, 0x18, 0x0, 0x8, 0x46, 0xa4, 0x0, 0x8, 0x47, 0x2c, 0x0, 0x8, 0x47, 0x40, 0x0, 0x8, 0x47, 0x64, 0x0, 0x8, 0x47, 0x88, 0x0, 0x8, 0x47, 0xac, 0x0, 0x8, 0x47, 0xd0, 0x0, 0x8, 0x47, 0xf4, 0x0, 0x8, 0x48, 0x18, 0x0, 0x8, 0x48, 0x3c, 0x0, 0x8, 0x48, 0x60, 0x0, 0x8, 0x48, 0xcc, 0x0, 0x8, 0x49, 0x8, 0x0, 0x8, 0x49, 0x44, 0x0, 0x8, 0x49, 0xb0, 0x0, 0x8, 0x49, 0xc8, 0x0, 0x8, 0x49, 0xe0, 0x0, 0x8, 0x4a, 0x0, 0x0, 0x8, 0x4a, 0x18, 0x0, 0x8, 0x4a, 0x30, 0x0, 0x8, 0x4a, 0x48, 0x0, 0x8, 0x4a, 0x60, 0x0, 0x8, 0x4a, 0x80, 0x0, 0x8, 0x4a, 0x98, 0x0, 0x8, 0x4a, 0xb0, 0x0, 0x8, 0x4a, 0xd0, 0x0, 0x8, 0x4a, 0xf0, 0x0, 0x8, 0x4b, 0x10, 0x0, 0x8, 0x4b, 0x28, 0x0, 0x8, 0x4b, 0x40, 0x0, 0x8, 0x4b, 0x58, 0x0, 0x8, 0x4b, 0x78, 0x0, 0x8, 0x4b, 0x98, 0x0, 0x8, 0x4b, 0xb8, 0x0, 0x8, 0x4b, 0xd0, 0x0, 0x8, 0x4b, 0xe8, 0x0, 0x8, 0x4c, 0x0, 0x0, 0x8, 0x4c, 0x18, 0x0, 0x8, 0x4c, 0x30, 0x0, 0x8, 0x4c, 0x48, 0x0, 0x8, 0x4c, 0x60, 0x0, 0x8, 0x4c, 0x78, 0x0, 0x8, 0x4c, 0x90, 0x0, 0x8, 0x4c, 0xa8, 0x0, 0x8, 0x4c, 0xc0, 0x0, 0x8, 0x4c, 0xd8, 0x0, 0x8, 0x4c, 0xf0, 0x0, 0x8, 0x4d, 0x8, 0x0, 0x8, 0x4d, 0x20, 0x0, 0x8, 0x4d, 0x40, 0x0, 0x8, 0x4d, 0x60, 0x0, 0x8, 0x4d, 0x80, 0x0, 0x8, 0x4d, 0x98, 0x0, 0x8, 0x4d, 0xb0, 0x0, 0x8, 0x4d, 0xc8, 0x0, 0x8, 0x4d, 0xe0, 0x0, 0x8, 0x4d, 0xf8, 0x0, 0x8, 0x4e, 0x10, 0x0, 0x8, 0x4e, 0x28, 0x0, 0x8, 0x4e, 0x40, 0x0, 0x8, 0x4e, 0x58, 0x0, 0x8, 0x4f, 0x4, 0x0, 0x8, 0x4f, 0x74, 0x0, 0x8, 0x4f, 0xf8, 0x0, 0x8, 0x50, 0x10, 0x0, 0x8, 0x50, 0x28, 0x0, 0x8, 0x50, 0x40, 0x0, 0x8, 0x50, 0x58, 0x0, 0x8, 0x50, 0x70, 0x0, 0x8, 0x50, 0x88, 0x0, 0x8, 0x50, 0xa0, 0x0, 0x8, 0x50, 0xb8, 0x0, 0x8, 0x50, 0xd0, 0x0, 0x8, 0x50, 0xe8, 0x0, 0x8, 0x51, 0x0, 0x0, 0x8, 0x51, 0x18, 0x0, 0x8, 0x51, 0x30, 0x0, 0x8, 0x51, 0x48, 0x0, 0x8, 0x51, 0x60, 0x0, 0x8, 0x51, 0x78, 0x0, 0x8, 0x51, 0x90, 0x0, 0x8, 0x51, 0xa8, 0x0, 0x8, 0x51, 0xc0, 0x0, 0x8, 0x51, 0xd8, 0x0, 0x8, 0x51, 0xf0, 0x0, 0x8, 0x52, 0x8, 0x0, 0x8, 0x52, 0x20, 0x0, 0x8, 0x52, 0x38, 0x0, 0x8, 0x52, 0x50, 0x0, 0x8, 0x52, 0x68, 0x0, 0x8, 0x52, 0x80, 0x0, 0x8, 0x52, 0xa0, 0x0, 0x8, 0x52, 0xc0, 0x0, 0x8, 0x52, 0xe0, 0x0, 0x8, 0x53, 0x0, 0x0, 0x8, 0x53, 0x20, 0x0, 0x8, 0x53, 0x40, 0x0, 0x8, 0x53, 0x58, 0x0, 0x8, 0x53, 0x70, 0x0, 0x8, 0x53, 0x88, 0x0, 0x1, 0x0, 0x0, 0x17, 0xdc, 0x3, 0x54, 0x0, 0x2b, 0x0, 0x68, 0x0, 0xc, 0x0, 0x2, 0x0, 0x10, 0x0, 0x99, 0x0, 0x8, 0x0, 0x0, 0x4, 0x15, 0x2, 0x16, 0x0, 0x8, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1a, 0x1, 0x3e, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x98, 0x1, 0x32, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0xb, 0x1, 0xe3, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x4, 0x1, 0xf9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xb, 0x2, 0x16, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0xb, 0x2, 0x3a, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0xc, 0x2, 0x60, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0xa, 0x2, 0x83, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x11, 0x2, 0xb2, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0x0, 0x1d, 0x3, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x12, 0x9d, 0x28, 0x5a, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0, 0x34, 0x3b, 0x62, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0, 0xb, 0x3b, 0xaf, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x11, 0x0, 0x4, 0x3b, 0xc5, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x0, 0x1, 0x30, 0x0, 0x0, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x1, 0x0, 0x16, 0x1, 0xcb, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x2, 0x0, 0x8, 0x1, 0xef, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x3, 0x0, 0x16, 0x1, 0xfe, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x4, 0x0, 0x16, 0x2, 0x22, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x5, 0x0, 0x18, 0x2, 0x46, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x6, 0x0, 0x14, 0x2, 0x6d, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x8, 0x0, 0x22, 0x2, 0x8e, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0xb, 0x0, 0x3a, 0x2, 0xc4, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0xd, 0x25, 0x3a, 0x3, 0x1e, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0xe, 0x0, 0x68, 0x3a, 0xf8, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x10, 0x0, 0x16, 0x3b, 0x97, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x11, 0x0, 0x8, 0x3b, 0xbb, 0x0, 0x43, 0x0, 0x6f, 0x0, 0x70, 0x0, 0x79, 0x0, 0x72, 0x0, 0x69, 0x0, 0x67, 0x0, 0x68, 0x0, 0x74, 0x0, 0x20, 0x0, 0x28, 0x0, 0x63, 0x0, 0x29, 0x0, 0x20, 0x0, 0x32, 0x0, 0x30, 0x0, 0x30, 0x0, 0x33, 0x0, 0x20, 0x0, 0x62, 0x0, 0x79, 0x0, 0x20, 0x0, 0x42, 0x0, 0x69, 0x0, 0x74, 0x0, 0x73, 0x0, 0x74, 0x0, 0x72, 0x0, 0x65, 0x0, 0x61, 0x0, 0x6d, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x49, 0x0, 0x6e, 0x0, 0x63, 0x0, 0x2e, 0x0, 0x20, 0x0, 0x41, 0x0, 0x6c, 0x0, 0x6c, 0x0, 0x20, 0x0, 0x52, 0x0, 0x69, 0x0, 0x67, 0x0, 0x68, 0x0, 0x74, 0x0, 0x73, 0x0, 0x20, 0x0, 0x52, 0x0, 0x65, 0x0, 0x73, 0x0, 0x65, 0x0, 0x72, 0x0, 0x76, 0x0, 0x65, 0x0, 0x64, 0x0, 0x2e, 0x0, 0xa, 0x0, 0x43, 0x0, 0x6f, 0x0, 0x70, 0x0, 0x79, 0x0, 0x72, 0x0, 0x69, 0x0, 0x67, 0x0, 0x68, 0x0, 0x74, 0x0, 0x20, 0x0, 0x28, 0x0, 0x63, 0x0, 0x29, 0x0, 0x20, 0x0, 0x32, 0x0, 0x30, 0x0, 0x30, 0x0, 0x36, 0x0, 0x20, 0x0, 0x62, 0x0, 0x79, 0x0, 0x20, 0x0, 0x54, 0x0, 0x61, 0x0, 0x76, 0x0, 0x6d, 0x0, 0x6a, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x67, 0x0, 0x20, 0x0, 0x42, 0x0, 0x61, 0x0, 0x68, 0x0, 0x2e, 0x0, 0x20, 0x0, 0x41, 0x0, 0x6c, 0x0, 0x6c, 0x0, 0x20, 0x0, 0x52, 0x0, 0x69, 0x0, 0x67, 0x0, 0x68, 0x0, 0x74, 0x0, 0x73, 0x0, 0x20, 0x0, 0x52, 0x0, 0x65, 0x0, 0x73, 0x0, 0x65, 0x0, 0x72, 0x0, 0x76, 0x0, 0x65, 0x0, 0x64, 0x0, 0x2e, 0x0, 0xa, 0x0, 0x44, 0x0, 0x65, 0x0, 0x6a, 0x0, 0x61, 0x0, 0x56, 0x0, 0x75, 0x0, 0x20, 0x0, 0x63, 0x0, 0x68, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x67, 0x0, 0x65, 0x0, 0x73, 0x0, 0x20, 0x0, 0x61, 0x0, 0x72, 0x0, 0x65, 0x0, 0x20, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x70, 0x0, 0x75, 0x0, 0x62, 0x0, 0x6c, 0x0, 0x69, 0x0, 0x63, 0x0, 0x20, 0x0, 0x64, 0x0, 0x6f, 0x0, 0x6d, 0x0, 0x61, 0x0, 0x69, 0x0, 0x6e, 0x0, 0xa, 0x0, 0x0, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, 0x33, 0x20, 0x62, 0x79, 0x20, 0x42, 0x69, 0x74, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x20, 0x41, 0x6c, 0x6c, 0x20, 0x52, 0x69, 0x67, 0x68, 0x74, 0x73, 0x20, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x2e, 0xa, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, 0x36, 0x20, 0x62, 0x79, 0x20, 0x54, 0x61, 0x76, 0x6d, 0x6a, 0x6f, 0x6e, 0x67, 0x20, 0x42, 0x61, 0x68, 0x2e, 0x20, 0x41, 0x6c, 0x6c, 0x20, 0x52, 0x69, 0x67, 0x68, 0x74, 0x73, 0x20, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x2e, 0xa, 0x44, 0x65, 0x6a, 0x61, 0x56, 0x75, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0xa, 0x0, 0x0, 0x44, 0x0, 0x65, 0x0, 0x6a, 0x0, 0x61, 0x0, 0x56, 0x0, 0x75, 0x0, 0x20, 0x0, 0x53, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x73, 0x0, 0x0, 0x44, 0x65, 0x6a, 0x61, 0x56, 0x75, 0x20, 0x53, 0x61, 0x6e, 0x73, 0x0, 0x0, 0x42, 0x0, 0x6f, 0x0, 0x6f, 0x0, 0x6b, 0x0, 0x0, 0x42, 0x6f, 0x6f, 0x6b, 0x0, 0x0, 0x44, 0x0, 0x65, 0x0, 0x6a, 0x0, 0x61, 0x0, 0x56, 0x0, 0x75, 0x0, 0x20, 0x0, 0x53, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x73, 0x0, 0x0, 0x44, 0x65, 0x6a, 0x61, 0x56, 0x75, 0x20, 0x53, 0x61, 0x6e, 0x73, 0x0, 0x0, 0x44, 0x0, 0x65, 0x0, 0x6a, 0x0, 0x61, 0x0, 0x56, 0x0, 0x75, 0x0, 0x20, 0x0, 0x53, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x73, 0x0, 0x0, 0x44, 0x65, 0x6a, 0x61, 0x56, 0x75, 0x20, 0x53, 0x61, 0x6e, 0x73, 0x0, 0x0, 0x56, 0x0, 0x65, 0x0, 0x72, 0x0, 0x73, 0x0, 0x69, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x32, 0x0, 0x2e, 0x0, 0x33, 0x0, 0x34, 0x0, 0x0, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x32, 0x2e, 0x33, 0x34, 0x0, 0x0, 0x44, 0x0, 0x65, 0x0, 0x6a, 0x0, 0x61, 0x0, 0x56, 0x0, 0x75, 0x0, 0x53, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x73, 0x0, 0x0, 0x44, 0x65, 0x6a, 0x61, 0x56, 0x75, 0x53, 0x61, 0x6e, 0x73, 0x0, 0x0, 0x44, 0x0, 0x65, 0x0, 0x6a, 0x0, 0x61, 0x0, 0x56, 0x0, 0x75, 0x0, 0x20, 0x0, 0x66, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x73, 0x0, 0x20, 0x0, 0x74, 0x0, 0x65, 0x0, 0x61, 0x0, 0x6d, 0x0, 0x0, 0x44, 0x65, 0x6a, 0x61, 0x56, 0x75, 0x20, 0x66, 0x6f, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x65, 0x61, 0x6d, 0x0, 0x0, 0x68, 0x0, 0x74, 0x0, 0x74, 0x0, 0x70, 0x0, 0x3a, 0x0, 0x2f, 0x0, 0x2f, 0x0, 0x64, 0x0, 0x65, 0x0, 0x6a, 0x0, 0x61, 0x0, 0x76, 0x0, 0x75, 0x0, 0x2e, 0x0, 0x73, 0x0, 0x6f, 0x0, 0x75, 0x0, 0x72, 0x0, 0x63, 0x0, 0x65, 0x0, 0x66, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x67, 0x0, 0x65, 0x0, 0x2e, 0x0, 0x6e, 0x0, 0x65, 0x0, 0x74, 0x0, 0x0, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x64, 0x65, 0x6a, 0x61, 0x76, 0x75, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x66, 0x6f, 0x72, 0x67, 0x65, 0x2e, 0x6e, 0x65, 0x74, 0x0, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x73, 0x0, 0x20, 0x0, 0x61, 0x0, 0x72, 0x0, 0x65, 0x0, 0x20, 0x0, 0x28, 0x0, 0x63, 0x0, 0x29, 0x0, 0x20, 0x0, 0x42, 0x0, 0x69, 0x0, 0x74, 0x0, 0x73, 0x0, 0x74, 0x0, 0x72, 0x0, 0x65, 0x0, 0x61, 0x0, 0x6d, 0x0, 0x20, 0x0, 0x28, 0x0, 0x73, 0x0, 0x65, 0x0, 0x65, 0x0, 0x20, 0x0, 0x62, 0x0, 0x65, 0x0, 0x6c, 0x0, 0x6f, 0x0, 0x77, 0x0, 0x29, 0x0, 0x2e, 0x0, 0x20, 0x0, 0x44, 0x0, 0x65, 0x0, 0x6a, 0x0, 0x61, 0x0, 0x56, 0x0, 0x75, 0x0, 0x20, 0x0, 0x63, 0x0, 0x68, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x67, 0x0, 0x65, 0x0, 0x73, 0x0, 0x20, 0x0, 0x61, 0x0, 0x72, 0x0, 0x65, 0x0, 0x20, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x70, 0x0, 0x75, 0x0, 0x62, 0x0, 0x6c, 0x0, 0x69, 0x0, 0x63, 0x0, 0x20, 0x0, 0x64, 0x0, 0x6f, 0x0, 0x6d, 0x0, 0x61, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x2e, 0x0, 0x20, 0x0, 0x47, 0x0, 0x6c, 0x0, 0x79, 0x0, 0x70, 0x0, 0x68, 0x0, 0x73, 0x0, 0x20, 0x0, 0x69, 0x0, 0x6d, 0x0, 0x70, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x74, 0x0, 0x65, 0x0, 0x64, 0x0, 0x20, 0x0, 0x66, 0x0, 0x72, 0x0, 0x6f, 0x0, 0x6d, 0x0, 0x20, 0x0, 0x41, 0x0, 0x72, 0x0, 0x65, 0x0, 0x76, 0x0, 0x20, 0x0, 0x66, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x73, 0x0, 0x20, 0x0, 0x61, 0x0, 0x72, 0x0, 0x65, 0x0, 0x20, 0x0, 0x28, 0x0, 0x63, 0x0, 0x29, 0x0, 0x20, 0x0, 0x54, 0x0, 0x61, 0x0, 0x76, 0x0, 0x6d, 0x0, 0x6a, 0x0, 0x75, 0x0, 0x6e, 0x0, 0x67, 0x0, 0x20, 0x0, 0x42, 0x0, 0x61, 0x0, 0x68, 0x0, 0x20, 0x0, 0x28, 0x0, 0x73, 0x0, 0x65, 0x0, 0x65, 0x0, 0x20, 0x0, 0x62, 0x0, 0x65, 0x0, 0x6c, 0x0, 0x6f, 0x0, 0x77, 0x0, 0x29, 0x0, 0xa, 0x0, 0xa, 0x0, 0x42, 0x0, 0x69, 0x0, 0x74, 0x0, 0x73, 0x0, 0x74, 0x0, 0x72, 0x0, 0x65, 0x0, 0x61, 0x0, 0x6d, 0x0, 0x20, 0x0, 0x56, 0x0, 0x65, 0x0, 0x72, 0x0, 0x61, 0x0, 0x20, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x73, 0x0, 0x20, 0x0, 0x43, 0x0, 0x6f, 0x0, 0x70, 0x0, 0x79, 0x0, 0x72, 0x0, 0x69, 0x0, 0x67, 0x0, 0x68, 0x0, 0x74, 0x0, 0xa, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0xa, 0x0, 0xa, 0x0, 0x43, 0x0, 0x6f, 0x0, 0x70, 0x0, 0x79, 0x0, 0x72, 0x0, 0x69, 0x0, 0x67, 0x0, 0x68, 0x0, 0x74, 0x0, 0x20, 0x0, 0x28, 0x0, 0x63, 0x0, 0x29, 0x0, 0x20, 0x0, 0x32, 0x0, 0x30, 0x0, 0x30, 0x0, 0x33, 0x0, 0x20, 0x0, 0x62, 0x0, 0x79, 0x0, 0x20, 0x0, 0x42, 0x0, 0x69, 0x0, 0x74, 0x0, 0x73, 0x0, 0x74, 0x0, 0x72, 0x0, 0x65, 0x0, 0x61, 0x0, 0x6d, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x49, 0x0, 0x6e, 0x0, 0x63, 0x0, 0x2e, 0x0, 0x20, 0x0, 0x41, 0x0, 0x6c, 0x0, 0x6c, 0x0, 0x20, 0x0, 0x52, 0x0, 0x69, 0x0, 0x67, 0x0, 0x68, 0x0, 0x74, 0x0, 0x73, 0x0, 0x20, 0x0, 0x52, 0x0, 0x65, 0x0, 0x73, 0x0, 0x65, 0x0, 0x72, 0x0, 0x76, 0x0, 0x65, 0x0, 0x64, 0x0, 0x2e, 0x0, 0x20, 0x0, 0x42, 0x0, 0x69, 0x0, 0x74, 0x0, 0x73, 0x0, 0x74, 0x0, 0x72, 0x0, 0x65, 0x0, 0x61, 0x0, 0x6d, 0x0, 0x20, 0x0, 0x56, 0x0, 0x65, 0x0, 0x72, 0x0, 0x61, 0x0, 0x20, 0x0, 0x69, 0x0, 0x73, 0x0, 0xa, 0x0, 0x61, 0x0, 0x20, 0x0, 0x74, 0x0, 0x72, 0x0, 0x61, 0x0, 0x64, 0x0, 0x65, 0x0, 0x6d, 0x0, 0x61, 0x0, 0x72, 0x0, 0x6b, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x20, 0x0, 0x42, 0x0, 0x69, 0x0, 0x74, 0x0, 0x73, 0x0, 0x74, 0x0, 0x72, 0x0, 0x65, 0x0, 0x61, 0x0, 0x6d, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x49, 0x0, 0x6e, 0x0, 0x63, 0x0, 0x2e, 0x0, 0xa, 0x0, 0xa, 0x0, 0x50, 0x0, 0x65, 0x0, 0x72, 0x0, 0x6d, 0x0, 0x69, 0x0, 0x73, 0x0, 0x73, 0x0, 0x69, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x69, 0x0, 0x73, 0x0, 0x20, 0x0, 0x68, 0x0, 0x65, 0x0, 0x72, 0x0, 0x65, 0x0, 0x62, 0x0, 0x79, 0x0, 0x20, 0x0, 0x67, 0x0, 0x72, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x65, 0x0, 0x64, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x66, 0x0, 0x72, 0x0, 0x65, 0x0, 0x65, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x20, 0x0, 0x63, 0x0, 0x68, 0x0, 0x61, 0x0, 0x72, 0x0, 0x67, 0x0, 0x65, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x74, 0x0, 0x6f, 0x0, 0x20, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x79, 0x0, 0x20, 0x0, 0x70, 0x0, 0x65, 0x0, 0x72, 0x0, 0x73, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x62, 0x0, 0x74, 0x0, 0x61, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x67, 0x0, 0x20, 0x0, 0x61, 0x0, 0x20, 0x0, 0x63, 0x0, 0x6f, 0x0, 0x70, 0x0, 0x79, 0x0, 0xa, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x66, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x73, 0x0, 0x20, 0x0, 0x61, 0x0, 0x63, 0x0, 0x63, 0x0, 0x6f, 0x0, 0x6d, 0x0, 0x70, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x79, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x67, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x69, 0x0, 0x73, 0x0, 0x20, 0x0, 0x6c, 0x0, 0x69, 0x0, 0x63, 0x0, 0x65, 0x0, 0x6e, 0x0, 0x73, 0x0, 0x65, 0x0, 0x20, 0x0, 0x28, 0x0, 0x22, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x73, 0x0, 0x22, 0x0, 0x29, 0x0, 0x20, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x64, 0x0, 0x20, 0x0, 0x61, 0x0, 0x73, 0x0, 0x73, 0x0, 0x6f, 0x0, 0x63, 0x0, 0x69, 0x0, 0x61, 0x0, 0x74, 0x0, 0x65, 0x0, 0x64, 0x0, 0xa, 0x0, 0x64, 0x0, 0x6f, 0x0, 0x63, 0x0, 0x75, 0x0, 0x6d, 0x0, 0x65, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x61, 0x0, 0x74, 0x0, 0x69, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x66, 0x0, 0x69, 0x0, 0x6c, 0x0, 0x65, 0x0, 0x73, 0x0, 0x20, 0x0, 0x28, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x22, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x20, 0x0, 0x53, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x74, 0x0, 0x77, 0x0, 0x61, 0x0, 0x72, 0x0, 0x65, 0x0, 0x22, 0x0, 0x29, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x74, 0x0, 0x6f, 0x0, 0x20, 0x0, 0x72, 0x0, 0x65, 0x0, 0x70, 0x0, 0x72, 0x0, 0x6f, 0x0, 0x64, 0x0, 0x75, 0x0, 0x63, 0x0, 0x65, 0x0, 0x20, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x64, 0x0, 0x20, 0x0, 0x64, 0x0, 0x69, 0x0, 0x73, 0x0, 0x74, 0x0, 0x72, 0x0, 0x69, 0x0, 0x62, 0x0, 0x75, 0x0, 0x74, 0x0, 0x65, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0xa, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x20, 0x0, 0x53, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x74, 0x0, 0x77, 0x0, 0x61, 0x0, 0x72, 0x0, 0x65, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x63, 0x0, 0x6c, 0x0, 0x75, 0x0, 0x64, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x67, 0x0, 0x20, 0x0, 0x77, 0x0, 0x69, 0x0, 0x74, 0x0, 0x68, 0x0, 0x6f, 0x0, 0x75, 0x0, 0x74, 0x0, 0x20, 0x0, 0x6c, 0x0, 0x69, 0x0, 0x6d, 0x0, 0x69, 0x0, 0x74, 0x0, 0x61, 0x0, 0x74, 0x0, 0x69, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x72, 0x0, 0x69, 0x0, 0x67, 0x0, 0x68, 0x0, 0x74, 0x0, 0x73, 0x0, 0x20, 0x0, 0x74, 0x0, 0x6f, 0x0, 0x20, 0x0, 0x75, 0x0, 0x73, 0x0, 0x65, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x63, 0x0, 0x6f, 0x0, 0x70, 0x0, 0x79, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x6d, 0x0, 0x65, 0x0, 0x72, 0x0, 0x67, 0x0, 0x65, 0x0, 0x2c, 0x0, 0xa, 0x0, 0x70, 0x0, 0x75, 0x0, 0x62, 0x0, 0x6c, 0x0, 0x69, 0x0, 0x73, 0x0, 0x68, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x64, 0x0, 0x69, 0x0, 0x73, 0x0, 0x74, 0x0, 0x72, 0x0, 0x69, 0x0, 0x62, 0x0, 0x75, 0x0, 0x74, 0x0, 0x65, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x64, 0x0, 0x2f, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x20, 0x0, 0x73, 0x0, 0x65, 0x0, 0x6c, 0x0, 0x6c, 0x0, 0x20, 0x0, 0x63, 0x0, 0x6f, 0x0, 0x70, 0x0, 0x69, 0x0, 0x65, 0x0, 0x73, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x20, 0x0, 0x53, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x74, 0x0, 0x77, 0x0, 0x61, 0x0, 0x72, 0x0, 0x65, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x64, 0x0, 0x20, 0x0, 0x74, 0x0, 0x6f, 0x0, 0x20, 0x0, 0x70, 0x0, 0x65, 0x0, 0x72, 0x0, 0x6d, 0x0, 0x69, 0x0, 0x74, 0x0, 0xa, 0x0, 0x70, 0x0, 0x65, 0x0, 0x72, 0x0, 0x73, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x73, 0x0, 0x20, 0x0, 0x74, 0x0, 0x6f, 0x0, 0x20, 0x0, 0x77, 0x0, 0x68, 0x0, 0x6f, 0x0, 0x6d, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x20, 0x0, 0x53, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x74, 0x0, 0x77, 0x0, 0x61, 0x0, 0x72, 0x0, 0x65, 0x0, 0x20, 0x0, 0x69, 0x0, 0x73, 0x0, 0x20, 0x0, 0x66, 0x0, 0x75, 0x0, 0x72, 0x0, 0x6e, 0x0, 0x69, 0x0, 0x73, 0x0, 0x68, 0x0, 0x65, 0x0, 0x64, 0x0, 0x20, 0x0, 0x74, 0x0, 0x6f, 0x0, 0x20, 0x0, 0x64, 0x0, 0x6f, 0x0, 0x20, 0x0, 0x73, 0x0, 0x6f, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x73, 0x0, 0x75, 0x0, 0x62, 0x0, 0x6a, 0x0, 0x65, 0x0, 0x63, 0x0, 0x74, 0x0, 0x20, 0x0, 0x74, 0x0, 0x6f, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0xa, 0x0, 0x66, 0x0, 0x6f, 0x0, 0x6c, 0x0, 0x6c, 0x0, 0x6f, 0x0, 0x77, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x67, 0x0, 0x20, 0x0, 0x63, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x64, 0x0, 0x69, 0x0, 0x74, 0x0, 0x69, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x73, 0x0, 0x3a, 0x0, 0xa, 0x0, 0xa, 0x0, 0x54, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x61, 0x0, 0x62, 0x0, 0x6f, 0x0, 0x76, 0x0, 0x65, 0x0, 0x20, 0x0, 0x63, 0x0, 0x6f, 0x0, 0x70, 0x0, 0x79, 0x0, 0x72, 0x0, 0x69, 0x0, 0x67, 0x0, 0x68, 0x0, 0x74, 0x0, 0x20, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x64, 0x0, 0x20, 0x0, 0x74, 0x0, 0x72, 0x0, 0x61, 0x0, 0x64, 0x0, 0x65, 0x0, 0x6d, 0x0, 0x61, 0x0, 0x72, 0x0, 0x6b, 0x0, 0x20, 0x0, 0x6e, 0x0, 0x6f, 0x0, 0x74, 0x0, 0x69, 0x0, 0x63, 0x0, 0x65, 0x0, 0x73, 0x0, 0x20, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x64, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x69, 0x0, 0x73, 0x0, 0x20, 0x0, 0x70, 0x0, 0x65, 0x0, 0x72, 0x0, 0x6d, 0x0, 0x69, 0x0, 0x73, 0x0, 0x73, 0x0, 0x69, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x6e, 0x0, 0x6f, 0x0, 0x74, 0x0, 0x69, 0x0, 0x63, 0x0, 0x65, 0x0, 0x20, 0x0, 0x73, 0x0, 0x68, 0x0, 0x61, 0x0, 0x6c, 0x0, 0x6c, 0x0, 0xa, 0x0, 0x62, 0x0, 0x65, 0x0, 0x20, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x63, 0x0, 0x6c, 0x0, 0x75, 0x0, 0x64, 0x0, 0x65, 0x0, 0x64, 0x0, 0x20, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x61, 0x0, 0x6c, 0x0, 0x6c, 0x0, 0x20, 0x0, 0x63, 0x0, 0x6f, 0x0, 0x70, 0x0, 0x69, 0x0, 0x65, 0x0, 0x73, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x65, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x20, 0x0, 0x6d, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x65, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x20, 0x0, 0x53, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x74, 0x0, 0x77, 0x0, 0x61, 0x0, 0x72, 0x0, 0x65, 0x0, 0x20, 0x0, 0x74, 0x0, 0x79, 0x0, 0x70, 0x0, 0x65, 0x0, 0x66, 0x0, 0x61, 0x0, 0x63, 0x0, 0x65, 0x0, 0x73, 0x0, 0x2e, 0x0, 0xa, 0x0, 0xa, 0x0, 0x54, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x20, 0x0, 0x53, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x74, 0x0, 0x77, 0x0, 0x61, 0x0, 0x72, 0x0, 0x65, 0x0, 0x20, 0x0, 0x6d, 0x0, 0x61, 0x0, 0x79, 0x0, 0x20, 0x0, 0x62, 0x0, 0x65, 0x0, 0x20, 0x0, 0x6d, 0x0, 0x6f, 0x0, 0x64, 0x0, 0x69, 0x0, 0x66, 0x0, 0x69, 0x0, 0x65, 0x0, 0x64, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x61, 0x0, 0x6c, 0x0, 0x74, 0x0, 0x65, 0x0, 0x72, 0x0, 0x65, 0x0, 0x64, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x20, 0x0, 0x61, 0x0, 0x64, 0x0, 0x64, 0x0, 0x65, 0x0, 0x64, 0x0, 0x20, 0x0, 0x74, 0x0, 0x6f, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x64, 0x0, 0x20, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x70, 0x0, 0x61, 0x0, 0x72, 0x0, 0x74, 0x0, 0x69, 0x0, 0x63, 0x0, 0x75, 0x0, 0x6c, 0x0, 0x61, 0x0, 0x72, 0x0, 0xa, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x64, 0x0, 0x65, 0x0, 0x73, 0x0, 0x69, 0x0, 0x67, 0x0, 0x6e, 0x0, 0x73, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x20, 0x0, 0x67, 0x0, 0x6c, 0x0, 0x79, 0x0, 0x70, 0x0, 0x68, 0x0, 0x73, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x20, 0x0, 0x63, 0x0, 0x68, 0x0, 0x61, 0x0, 0x72, 0x0, 0x61, 0x0, 0x63, 0x0, 0x74, 0x0, 0x65, 0x0, 0x72, 0x0, 0x73, 0x0, 0x20, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x73, 0x0, 0x20, 0x0, 0x6d, 0x0, 0x61, 0x0, 0x79, 0x0, 0x20, 0x0, 0x62, 0x0, 0x65, 0x0, 0x20, 0x0, 0x6d, 0x0, 0x6f, 0x0, 0x64, 0x0, 0x69, 0x0, 0x66, 0x0, 0x69, 0x0, 0x65, 0x0, 0x64, 0x0, 0x20, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x64, 0x0, 0xa, 0x0, 0x61, 0x0, 0x64, 0x0, 0x64, 0x0, 0x69, 0x0, 0x74, 0x0, 0x69, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x61, 0x0, 0x6c, 0x0, 0x20, 0x0, 0x67, 0x0, 0x6c, 0x0, 0x79, 0x0, 0x70, 0x0, 0x68, 0x0, 0x73, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x20, 0x0, 0x63, 0x0, 0x68, 0x0, 0x61, 0x0, 0x72, 0x0, 0x61, 0x0, 0x63, 0x0, 0x74, 0x0, 0x65, 0x0, 0x72, 0x0, 0x73, 0x0, 0x20, 0x0, 0x6d, 0x0, 0x61, 0x0, 0x79, 0x0, 0x20, 0x0, 0x62, 0x0, 0x65, 0x0, 0x20, 0x0, 0x61, 0x0, 0x64, 0x0, 0x64, 0x0, 0x65, 0x0, 0x64, 0x0, 0x20, 0x0, 0x74, 0x0, 0x6f, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x73, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x6c, 0x0, 0x79, 0x0, 0x20, 0x0, 0x69, 0x0, 0x66, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x66, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x73, 0x0, 0xa, 0x0, 0x61, 0x0, 0x72, 0x0, 0x65, 0x0, 0x20, 0x0, 0x72, 0x0, 0x65, 0x0, 0x6e, 0x0, 0x61, 0x0, 0x6d, 0x0, 0x65, 0x0, 0x64, 0x0, 0x20, 0x0, 0x74, 0x0, 0x6f, 0x0, 0x20, 0x0, 0x6e, 0x0, 0x61, 0x0, 0x6d, 0x0, 0x65, 0x0, 0x73, 0x0, 0x20, 0x0, 0x6e, 0x0, 0x6f, 0x0, 0x74, 0x0, 0x20, 0x0, 0x63, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x61, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x67, 0x0, 0x20, 0x0, 0x65, 0x0, 0x69, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x72, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x77, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x64, 0x0, 0x73, 0x0, 0x20, 0x0, 0x22, 0x0, 0x42, 0x0, 0x69, 0x0, 0x74, 0x0, 0x73, 0x0, 0x74, 0x0, 0x72, 0x0, 0x65, 0x0, 0x61, 0x0, 0x6d, 0x0, 0x22, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x77, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x64, 0x0, 0xa, 0x0, 0x22, 0x0, 0x56, 0x0, 0x65, 0x0, 0x72, 0x0, 0x61, 0x0, 0x22, 0x0, 0x2e, 0x0, 0xa, 0x0, 0xa, 0x0, 0x54, 0x0, 0x68, 0x0, 0x69, 0x0, 0x73, 0x0, 0x20, 0x0, 0x4c, 0x0, 0x69, 0x0, 0x63, 0x0, 0x65, 0x0, 0x6e, 0x0, 0x73, 0x0, 0x65, 0x0, 0x20, 0x0, 0x62, 0x0, 0x65, 0x0, 0x63, 0x0, 0x6f, 0x0, 0x6d, 0x0, 0x65, 0x0, 0x73, 0x0, 0x20, 0x0, 0x6e, 0x0, 0x75, 0x0, 0x6c, 0x0, 0x6c, 0x0, 0x20, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x64, 0x0, 0x20, 0x0, 0x76, 0x0, 0x6f, 0x0, 0x69, 0x0, 0x64, 0x0, 0x20, 0x0, 0x74, 0x0, 0x6f, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x65, 0x0, 0x78, 0x0, 0x74, 0x0, 0x65, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x20, 0x0, 0x61, 0x0, 0x70, 0x0, 0x70, 0x0, 0x6c, 0x0, 0x69, 0x0, 0x63, 0x0, 0x61, 0x0, 0x62, 0x0, 0x6c, 0x0, 0x65, 0x0, 0x20, 0x0, 0x74, 0x0, 0x6f, 0x0, 0x20, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x73, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x20, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0xa, 0x0, 0x53, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x74, 0x0, 0x77, 0x0, 0x61, 0x0, 0x72, 0x0, 0x65, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x61, 0x0, 0x74, 0x0, 0x20, 0x0, 0x68, 0x0, 0x61, 0x0, 0x73, 0x0, 0x20, 0x0, 0x62, 0x0, 0x65, 0x0, 0x65, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x6d, 0x0, 0x6f, 0x0, 0x64, 0x0, 0x69, 0x0, 0x66, 0x0, 0x69, 0x0, 0x65, 0x0, 0x64, 0x0, 0x20, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x64, 0x0, 0x20, 0x0, 0x69, 0x0, 0x73, 0x0, 0x20, 0x0, 0x64, 0x0, 0x69, 0x0, 0x73, 0x0, 0x74, 0x0, 0x72, 0x0, 0x69, 0x0, 0x62, 0x0, 0x75, 0x0, 0x74, 0x0, 0x65, 0x0, 0x64, 0x0, 0x20, 0x0, 0x75, 0x0, 0x6e, 0x0, 0x64, 0x0, 0x65, 0x0, 0x72, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x22, 0x0, 0x42, 0x0, 0x69, 0x0, 0x74, 0x0, 0x73, 0x0, 0x74, 0x0, 0x72, 0x0, 0x65, 0x0, 0x61, 0x0, 0x6d, 0x0, 0xa, 0x0, 0x56, 0x0, 0x65, 0x0, 0x72, 0x0, 0x61, 0x0, 0x22, 0x0, 0x20, 0x0, 0x6e, 0x0, 0x61, 0x0, 0x6d, 0x0, 0x65, 0x0, 0x73, 0x0, 0x2e, 0x0, 0xa, 0x0, 0xa, 0x0, 0x54, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x20, 0x0, 0x53, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x74, 0x0, 0x77, 0x0, 0x61, 0x0, 0x72, 0x0, 0x65, 0x0, 0x20, 0x0, 0x6d, 0x0, 0x61, 0x0, 0x79, 0x0, 0x20, 0x0, 0x62, 0x0, 0x65, 0x0, 0x20, 0x0, 0x73, 0x0, 0x6f, 0x0, 0x6c, 0x0, 0x64, 0x0, 0x20, 0x0, 0x61, 0x0, 0x73, 0x0, 0x20, 0x0, 0x70, 0x0, 0x61, 0x0, 0x72, 0x0, 0x74, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x20, 0x0, 0x61, 0x0, 0x20, 0x0, 0x6c, 0x0, 0x61, 0x0, 0x72, 0x0, 0x67, 0x0, 0x65, 0x0, 0x72, 0x0, 0x20, 0x0, 0x73, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x74, 0x0, 0x77, 0x0, 0x61, 0x0, 0x72, 0x0, 0x65, 0x0, 0x20, 0x0, 0x70, 0x0, 0x61, 0x0, 0x63, 0x0, 0x6b, 0x0, 0x61, 0x0, 0x67, 0x0, 0x65, 0x0, 0x20, 0x0, 0x62, 0x0, 0x75, 0x0, 0x74, 0x0, 0x20, 0x0, 0x6e, 0x0, 0x6f, 0x0, 0xa, 0x0, 0x63, 0x0, 0x6f, 0x0, 0x70, 0x0, 0x79, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x65, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x20, 0x0, 0x6d, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x65, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x20, 0x0, 0x53, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x74, 0x0, 0x77, 0x0, 0x61, 0x0, 0x72, 0x0, 0x65, 0x0, 0x20, 0x0, 0x74, 0x0, 0x79, 0x0, 0x70, 0x0, 0x65, 0x0, 0x66, 0x0, 0x61, 0x0, 0x63, 0x0, 0x65, 0x0, 0x73, 0x0, 0x20, 0x0, 0x6d, 0x0, 0x61, 0x0, 0x79, 0x0, 0x20, 0x0, 0x62, 0x0, 0x65, 0x0, 0x20, 0x0, 0x73, 0x0, 0x6f, 0x0, 0x6c, 0x0, 0x64, 0x0, 0x20, 0x0, 0x62, 0x0, 0x79, 0x0, 0x20, 0x0, 0x69, 0x0, 0x74, 0x0, 0x73, 0x0, 0x65, 0x0, 0x6c, 0x0, 0x66, 0x0, 0x2e, 0x0, 0xa, 0x0, 0xa, 0x0, 0x54, 0x0, 0x48, 0x0, 0x45, 0x0, 0x20, 0x0, 0x46, 0x0, 0x4f, 0x0, 0x4e, 0x0, 0x54, 0x0, 0x20, 0x0, 0x53, 0x0, 0x4f, 0x0, 0x46, 0x0, 0x54, 0x0, 0x57, 0x0, 0x41, 0x0, 0x52, 0x0, 0x45, 0x0, 0x20, 0x0, 0x49, 0x0, 0x53, 0x0, 0x20, 0x0, 0x50, 0x0, 0x52, 0x0, 0x4f, 0x0, 0x56, 0x0, 0x49, 0x0, 0x44, 0x0, 0x45, 0x0, 0x44, 0x0, 0x20, 0x0, 0x22, 0x0, 0x41, 0x0, 0x53, 0x0, 0x20, 0x0, 0x49, 0x0, 0x53, 0x0, 0x22, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x57, 0x0, 0x49, 0x0, 0x54, 0x0, 0x48, 0x0, 0x4f, 0x0, 0x55, 0x0, 0x54, 0x0, 0x20, 0x0, 0x57, 0x0, 0x41, 0x0, 0x52, 0x0, 0x52, 0x0, 0x41, 0x0, 0x4e, 0x0, 0x54, 0x0, 0x59, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x46, 0x0, 0x20, 0x0, 0x41, 0x0, 0x4e, 0x0, 0x59, 0x0, 0x20, 0x0, 0x4b, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x44, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x45, 0x0, 0x58, 0x0, 0x50, 0x0, 0x52, 0x0, 0x45, 0x0, 0x53, 0x0, 0x53, 0x0, 0xa, 0x0, 0x4f, 0x0, 0x52, 0x0, 0x20, 0x0, 0x49, 0x0, 0x4d, 0x0, 0x50, 0x0, 0x4c, 0x0, 0x49, 0x0, 0x45, 0x0, 0x44, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x43, 0x0, 0x4c, 0x0, 0x55, 0x0, 0x44, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x47, 0x0, 0x20, 0x0, 0x42, 0x0, 0x55, 0x0, 0x54, 0x0, 0x20, 0x0, 0x4e, 0x0, 0x4f, 0x0, 0x54, 0x0, 0x20, 0x0, 0x4c, 0x0, 0x49, 0x0, 0x4d, 0x0, 0x49, 0x0, 0x54, 0x0, 0x45, 0x0, 0x44, 0x0, 0x20, 0x0, 0x54, 0x0, 0x4f, 0x0, 0x20, 0x0, 0x41, 0x0, 0x4e, 0x0, 0x59, 0x0, 0x20, 0x0, 0x57, 0x0, 0x41, 0x0, 0x52, 0x0, 0x52, 0x0, 0x41, 0x0, 0x4e, 0x0, 0x54, 0x0, 0x49, 0x0, 0x45, 0x0, 0x53, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x46, 0x0, 0x20, 0x0, 0x4d, 0x0, 0x45, 0x0, 0x52, 0x0, 0x43, 0x0, 0x48, 0x0, 0x41, 0x0, 0x4e, 0x0, 0x54, 0x0, 0x41, 0x0, 0x42, 0x0, 0x49, 0x0, 0x4c, 0x0, 0x49, 0x0, 0x54, 0x0, 0x59, 0x0, 0x2c, 0x0, 0xa, 0x0, 0x46, 0x0, 0x49, 0x0, 0x54, 0x0, 0x4e, 0x0, 0x45, 0x0, 0x53, 0x0, 0x53, 0x0, 0x20, 0x0, 0x46, 0x0, 0x4f, 0x0, 0x52, 0x0, 0x20, 0x0, 0x41, 0x0, 0x20, 0x0, 0x50, 0x0, 0x41, 0x0, 0x52, 0x0, 0x54, 0x0, 0x49, 0x0, 0x43, 0x0, 0x55, 0x0, 0x4c, 0x0, 0x41, 0x0, 0x52, 0x0, 0x20, 0x0, 0x50, 0x0, 0x55, 0x0, 0x52, 0x0, 0x50, 0x0, 0x4f, 0x0, 0x53, 0x0, 0x45, 0x0, 0x20, 0x0, 0x41, 0x0, 0x4e, 0x0, 0x44, 0x0, 0x20, 0x0, 0x4e, 0x0, 0x4f, 0x0, 0x4e, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x46, 0x0, 0x52, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x47, 0x0, 0x45, 0x0, 0x4d, 0x0, 0x45, 0x0, 0x4e, 0x0, 0x54, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x46, 0x0, 0x20, 0x0, 0x43, 0x0, 0x4f, 0x0, 0x50, 0x0, 0x59, 0x0, 0x52, 0x0, 0x49, 0x0, 0x47, 0x0, 0x48, 0x0, 0x54, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x50, 0x0, 0x41, 0x0, 0x54, 0x0, 0x45, 0x0, 0x4e, 0x0, 0x54, 0x0, 0x2c, 0x0, 0xa, 0x0, 0x54, 0x0, 0x52, 0x0, 0x41, 0x0, 0x44, 0x0, 0x45, 0x0, 0x4d, 0x0, 0x41, 0x0, 0x52, 0x0, 0x4b, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x52, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x54, 0x0, 0x48, 0x0, 0x45, 0x0, 0x52, 0x0, 0x20, 0x0, 0x52, 0x0, 0x49, 0x0, 0x47, 0x0, 0x48, 0x0, 0x54, 0x0, 0x2e, 0x0, 0x20, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x20, 0x0, 0x4e, 0x0, 0x4f, 0x0, 0x20, 0x0, 0x45, 0x0, 0x56, 0x0, 0x45, 0x0, 0x4e, 0x0, 0x54, 0x0, 0x20, 0x0, 0x53, 0x0, 0x48, 0x0, 0x41, 0x0, 0x4c, 0x0, 0x4c, 0x0, 0x20, 0x0, 0x42, 0x0, 0x49, 0x0, 0x54, 0x0, 0x53, 0x0, 0x54, 0x0, 0x52, 0x0, 0x45, 0x0, 0x41, 0x0, 0x4d, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x52, 0x0, 0x20, 0x0, 0x54, 0x0, 0x48, 0x0, 0x45, 0x0, 0x20, 0x0, 0x47, 0x0, 0x4e, 0x0, 0x4f, 0x0, 0x4d, 0x0, 0x45, 0x0, 0xa, 0x0, 0x46, 0x0, 0x4f, 0x0, 0x55, 0x0, 0x4e, 0x0, 0x44, 0x0, 0x41, 0x0, 0x54, 0x0, 0x49, 0x0, 0x4f, 0x0, 0x4e, 0x0, 0x20, 0x0, 0x42, 0x0, 0x45, 0x0, 0x20, 0x0, 0x4c, 0x0, 0x49, 0x0, 0x41, 0x0, 0x42, 0x0, 0x4c, 0x0, 0x45, 0x0, 0x20, 0x0, 0x46, 0x0, 0x4f, 0x0, 0x52, 0x0, 0x20, 0x0, 0x41, 0x0, 0x4e, 0x0, 0x59, 0x0, 0x20, 0x0, 0x43, 0x0, 0x4c, 0x0, 0x41, 0x0, 0x49, 0x0, 0x4d, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x44, 0x0, 0x41, 0x0, 0x4d, 0x0, 0x41, 0x0, 0x47, 0x0, 0x45, 0x0, 0x53, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x52, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x54, 0x0, 0x48, 0x0, 0x45, 0x0, 0x52, 0x0, 0x20, 0x0, 0x4c, 0x0, 0x49, 0x0, 0x41, 0x0, 0x42, 0x0, 0x49, 0x0, 0x4c, 0x0, 0x49, 0x0, 0x54, 0x0, 0x59, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x43, 0x0, 0x4c, 0x0, 0x55, 0x0, 0x44, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x47, 0x0, 0xa, 0x0, 0x41, 0x0, 0x4e, 0x0, 0x59, 0x0, 0x20, 0x0, 0x47, 0x0, 0x45, 0x0, 0x4e, 0x0, 0x45, 0x0, 0x52, 0x0, 0x41, 0x0, 0x4c, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x53, 0x0, 0x50, 0x0, 0x45, 0x0, 0x43, 0x0, 0x49, 0x0, 0x41, 0x0, 0x4c, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x44, 0x0, 0x49, 0x0, 0x52, 0x0, 0x45, 0x0, 0x43, 0x0, 0x54, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x43, 0x0, 0x49, 0x0, 0x44, 0x0, 0x45, 0x0, 0x4e, 0x0, 0x54, 0x0, 0x41, 0x0, 0x4c, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x52, 0x0, 0x20, 0x0, 0x43, 0x0, 0x4f, 0x0, 0x4e, 0x0, 0x53, 0x0, 0x45, 0x0, 0x51, 0x0, 0x55, 0x0, 0x45, 0x0, 0x4e, 0x0, 0x54, 0x0, 0x49, 0x0, 0x41, 0x0, 0x4c, 0x0, 0x20, 0x0, 0x44, 0x0, 0x41, 0x0, 0x4d, 0x0, 0x41, 0x0, 0x47, 0x0, 0x45, 0x0, 0x53, 0x0, 0x2c, 0x0, 0xa, 0x0, 0x57, 0x0, 0x48, 0x0, 0x45, 0x0, 0x54, 0x0, 0x48, 0x0, 0x45, 0x0, 0x52, 0x0, 0x20, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x20, 0x0, 0x41, 0x0, 0x4e, 0x0, 0x20, 0x0, 0x41, 0x0, 0x43, 0x0, 0x54, 0x0, 0x49, 0x0, 0x4f, 0x0, 0x4e, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x46, 0x0, 0x20, 0x0, 0x43, 0x0, 0x4f, 0x0, 0x4e, 0x0, 0x54, 0x0, 0x52, 0x0, 0x41, 0x0, 0x43, 0x0, 0x54, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x54, 0x0, 0x4f, 0x0, 0x52, 0x0, 0x54, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x52, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x54, 0x0, 0x48, 0x0, 0x45, 0x0, 0x52, 0x0, 0x57, 0x0, 0x49, 0x0, 0x53, 0x0, 0x45, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x41, 0x0, 0x52, 0x0, 0x49, 0x0, 0x53, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x47, 0x0, 0x20, 0x0, 0x46, 0x0, 0x52, 0x0, 0x4f, 0x0, 0x4d, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x55, 0x0, 0x54, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x46, 0x0, 0xa, 0x0, 0x54, 0x0, 0x48, 0x0, 0x45, 0x0, 0x20, 0x0, 0x55, 0x0, 0x53, 0x0, 0x45, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x52, 0x0, 0x20, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x41, 0x0, 0x42, 0x0, 0x49, 0x0, 0x4c, 0x0, 0x49, 0x0, 0x54, 0x0, 0x59, 0x0, 0x20, 0x0, 0x54, 0x0, 0x4f, 0x0, 0x20, 0x0, 0x55, 0x0, 0x53, 0x0, 0x45, 0x0, 0x20, 0x0, 0x54, 0x0, 0x48, 0x0, 0x45, 0x0, 0x20, 0x0, 0x46, 0x0, 0x4f, 0x0, 0x4e, 0x0, 0x54, 0x0, 0x20, 0x0, 0x53, 0x0, 0x4f, 0x0, 0x46, 0x0, 0x54, 0x0, 0x57, 0x0, 0x41, 0x0, 0x52, 0x0, 0x45, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x52, 0x0, 0x20, 0x0, 0x46, 0x0, 0x52, 0x0, 0x4f, 0x0, 0x4d, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x54, 0x0, 0x48, 0x0, 0x45, 0x0, 0x52, 0x0, 0x20, 0x0, 0x44, 0x0, 0x45, 0x0, 0x41, 0x0, 0x4c, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x47, 0x0, 0x53, 0x0, 0x20, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x20, 0x0, 0x54, 0x0, 0x48, 0x0, 0x45, 0x0, 0xa, 0x0, 0x46, 0x0, 0x4f, 0x0, 0x4e, 0x0, 0x54, 0x0, 0x20, 0x0, 0x53, 0x0, 0x4f, 0x0, 0x46, 0x0, 0x54, 0x0, 0x57, 0x0, 0x41, 0x0, 0x52, 0x0, 0x45, 0x0, 0x2e, 0x0, 0xa, 0x0, 0xa, 0x0, 0x45, 0x0, 0x78, 0x0, 0x63, 0x0, 0x65, 0x0, 0x70, 0x0, 0x74, 0x0, 0x20, 0x0, 0x61, 0x0, 0x73, 0x0, 0x20, 0x0, 0x63, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x61, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x65, 0x0, 0x64, 0x0, 0x20, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x69, 0x0, 0x73, 0x0, 0x20, 0x0, 0x6e, 0x0, 0x6f, 0x0, 0x74, 0x0, 0x69, 0x0, 0x63, 0x0, 0x65, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x6e, 0x0, 0x61, 0x0, 0x6d, 0x0, 0x65, 0x0, 0x73, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x20, 0x0, 0x47, 0x0, 0x6e, 0x0, 0x6f, 0x0, 0x6d, 0x0, 0x65, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x47, 0x0, 0x6e, 0x0, 0x6f, 0x0, 0x6d, 0x0, 0x65, 0x0, 0xa, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x75, 0x0, 0x6e, 0x0, 0x64, 0x0, 0x61, 0x0, 0x74, 0x0, 0x69, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x64, 0x0, 0x20, 0x0, 0x42, 0x0, 0x69, 0x0, 0x74, 0x0, 0x73, 0x0, 0x74, 0x0, 0x72, 0x0, 0x65, 0x0, 0x61, 0x0, 0x6d, 0x0, 0x20, 0x0, 0x49, 0x0, 0x6e, 0x0, 0x63, 0x0, 0x2e, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x73, 0x0, 0x68, 0x0, 0x61, 0x0, 0x6c, 0x0, 0x6c, 0x0, 0x20, 0x0, 0x6e, 0x0, 0x6f, 0x0, 0x74, 0x0, 0x20, 0x0, 0x62, 0x0, 0x65, 0x0, 0x20, 0x0, 0x75, 0x0, 0x73, 0x0, 0x65, 0x0, 0x64, 0x0, 0x20, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x61, 0x0, 0x64, 0x0, 0x76, 0x0, 0x65, 0x0, 0x72, 0x0, 0x74, 0x0, 0x69, 0x0, 0x73, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x67, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x72, 0x0, 0xa, 0x0, 0x6f, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x72, 0x0, 0x77, 0x0, 0x69, 0x0, 0x73, 0x0, 0x65, 0x0, 0x20, 0x0, 0x74, 0x0, 0x6f, 0x0, 0x20, 0x0, 0x70, 0x0, 0x72, 0x0, 0x6f, 0x0, 0x6d, 0x0, 0x6f, 0x0, 0x74, 0x0, 0x65, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x73, 0x0, 0x61, 0x0, 0x6c, 0x0, 0x65, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x75, 0x0, 0x73, 0x0, 0x65, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x72, 0x0, 0x20, 0x0, 0x64, 0x0, 0x65, 0x0, 0x61, 0x0, 0x6c, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x67, 0x0, 0x73, 0x0, 0x20, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x69, 0x0, 0x73, 0x0, 0x20, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x20, 0x0, 0x53, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x74, 0x0, 0x77, 0x0, 0x61, 0x0, 0x72, 0x0, 0x65, 0x0, 0xa, 0x0, 0x77, 0x0, 0x69, 0x0, 0x74, 0x0, 0x68, 0x0, 0x6f, 0x0, 0x75, 0x0, 0x74, 0x0, 0x20, 0x0, 0x70, 0x0, 0x72, 0x0, 0x69, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x20, 0x0, 0x77, 0x0, 0x72, 0x0, 0x69, 0x0, 0x74, 0x0, 0x74, 0x0, 0x65, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x61, 0x0, 0x75, 0x0, 0x74, 0x0, 0x68, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x69, 0x0, 0x7a, 0x0, 0x61, 0x0, 0x74, 0x0, 0x69, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x66, 0x0, 0x72, 0x0, 0x6f, 0x0, 0x6d, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x47, 0x0, 0x6e, 0x0, 0x6f, 0x0, 0x6d, 0x0, 0x65, 0x0, 0x20, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x75, 0x0, 0x6e, 0x0, 0x64, 0x0, 0x61, 0x0, 0x74, 0x0, 0x69, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x20, 0x0, 0x42, 0x0, 0x69, 0x0, 0x74, 0x0, 0x73, 0x0, 0x74, 0x0, 0x72, 0x0, 0x65, 0x0, 0x61, 0x0, 0x6d, 0x0, 0xa, 0x0, 0x49, 0x0, 0x6e, 0x0, 0x63, 0x0, 0x2e, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x72, 0x0, 0x65, 0x0, 0x73, 0x0, 0x70, 0x0, 0x65, 0x0, 0x63, 0x0, 0x74, 0x0, 0x69, 0x0, 0x76, 0x0, 0x65, 0x0, 0x6c, 0x0, 0x79, 0x0, 0x2e, 0x0, 0x20, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x20, 0x0, 0x66, 0x0, 0x75, 0x0, 0x72, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x72, 0x0, 0x20, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x66, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x6d, 0x0, 0x61, 0x0, 0x74, 0x0, 0x69, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x63, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x61, 0x0, 0x63, 0x0, 0x74, 0x0, 0x3a, 0x0, 0x20, 0x0, 0x66, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x73, 0x0, 0x20, 0x0, 0x61, 0x0, 0x74, 0x0, 0x20, 0x0, 0x67, 0x0, 0x6e, 0x0, 0x6f, 0x0, 0x6d, 0x0, 0x65, 0x0, 0x20, 0x0, 0x64, 0x0, 0x6f, 0x0, 0x74, 0x0, 0xa, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x67, 0x0, 0x2e, 0x0, 0x20, 0x0, 0xa, 0x0, 0xa, 0x0, 0x41, 0x0, 0x72, 0x0, 0x65, 0x0, 0x76, 0x0, 0x20, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x73, 0x0, 0x20, 0x0, 0x43, 0x0, 0x6f, 0x0, 0x70, 0x0, 0x79, 0x0, 0x72, 0x0, 0x69, 0x0, 0x67, 0x0, 0x68, 0x0, 0x74, 0x0, 0xa, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0x2d, 0x0, 0xa, 0x0, 0xa, 0x0, 0x43, 0x0, 0x6f, 0x0, 0x70, 0x0, 0x79, 0x0, 0x72, 0x0, 0x69, 0x0, 0x67, 0x0, 0x68, 0x0, 0x74, 0x0, 0x20, 0x0, 0x28, 0x0, 0x63, 0x0, 0x29, 0x0, 0x20, 0x0, 0x32, 0x0, 0x30, 0x0, 0x30, 0x0, 0x36, 0x0, 0x20, 0x0, 0x62, 0x0, 0x79, 0x0, 0x20, 0x0, 0x54, 0x0, 0x61, 0x0, 0x76, 0x0, 0x6d, 0x0, 0x6a, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x67, 0x0, 0x20, 0x0, 0x42, 0x0, 0x61, 0x0, 0x68, 0x0, 0x2e, 0x0, 0x20, 0x0, 0x41, 0x0, 0x6c, 0x0, 0x6c, 0x0, 0x20, 0x0, 0x52, 0x0, 0x69, 0x0, 0x67, 0x0, 0x68, 0x0, 0x74, 0x0, 0x73, 0x0, 0x20, 0x0, 0x52, 0x0, 0x65, 0x0, 0x73, 0x0, 0x65, 0x0, 0x72, 0x0, 0x76, 0x0, 0x65, 0x0, 0x64, 0x0, 0x2e, 0x0, 0xa, 0x0, 0xa, 0x0, 0x50, 0x0, 0x65, 0x0, 0x72, 0x0, 0x6d, 0x0, 0x69, 0x0, 0x73, 0x0, 0x73, 0x0, 0x69, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x69, 0x0, 0x73, 0x0, 0x20, 0x0, 0x68, 0x0, 0x65, 0x0, 0x72, 0x0, 0x65, 0x0, 0x62, 0x0, 0x79, 0x0, 0x20, 0x0, 0x67, 0x0, 0x72, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x65, 0x0, 0x64, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x66, 0x0, 0x72, 0x0, 0x65, 0x0, 0x65, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x20, 0x0, 0x63, 0x0, 0x68, 0x0, 0x61, 0x0, 0x72, 0x0, 0x67, 0x0, 0x65, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x74, 0x0, 0x6f, 0x0, 0x20, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x79, 0x0, 0x20, 0x0, 0x70, 0x0, 0x65, 0x0, 0x72, 0x0, 0x73, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x62, 0x0, 0x74, 0x0, 0x61, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x67, 0x0, 0xa, 0x0, 0x61, 0x0, 0x20, 0x0, 0x63, 0x0, 0x6f, 0x0, 0x70, 0x0, 0x79, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x66, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x73, 0x0, 0x20, 0x0, 0x61, 0x0, 0x63, 0x0, 0x63, 0x0, 0x6f, 0x0, 0x6d, 0x0, 0x70, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x79, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x67, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x69, 0x0, 0x73, 0x0, 0x20, 0x0, 0x6c, 0x0, 0x69, 0x0, 0x63, 0x0, 0x65, 0x0, 0x6e, 0x0, 0x73, 0x0, 0x65, 0x0, 0x20, 0x0, 0x28, 0x0, 0x22, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x73, 0x0, 0x22, 0x0, 0x29, 0x0, 0x20, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x64, 0x0, 0xa, 0x0, 0x61, 0x0, 0x73, 0x0, 0x73, 0x0, 0x6f, 0x0, 0x63, 0x0, 0x69, 0x0, 0x61, 0x0, 0x74, 0x0, 0x65, 0x0, 0x64, 0x0, 0x20, 0x0, 0x64, 0x0, 0x6f, 0x0, 0x63, 0x0, 0x75, 0x0, 0x6d, 0x0, 0x65, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x61, 0x0, 0x74, 0x0, 0x69, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x66, 0x0, 0x69, 0x0, 0x6c, 0x0, 0x65, 0x0, 0x73, 0x0, 0x20, 0x0, 0x28, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x22, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x20, 0x0, 0x53, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x74, 0x0, 0x77, 0x0, 0x61, 0x0, 0x72, 0x0, 0x65, 0x0, 0x22, 0x0, 0x29, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x74, 0x0, 0x6f, 0x0, 0x20, 0x0, 0x72, 0x0, 0x65, 0x0, 0x70, 0x0, 0x72, 0x0, 0x6f, 0x0, 0x64, 0x0, 0x75, 0x0, 0x63, 0x0, 0x65, 0x0, 0xa, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x64, 0x0, 0x20, 0x0, 0x64, 0x0, 0x69, 0x0, 0x73, 0x0, 0x74, 0x0, 0x72, 0x0, 0x69, 0x0, 0x62, 0x0, 0x75, 0x0, 0x74, 0x0, 0x65, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x6d, 0x0, 0x6f, 0x0, 0x64, 0x0, 0x69, 0x0, 0x66, 0x0, 0x69, 0x0, 0x63, 0x0, 0x61, 0x0, 0x74, 0x0, 0x69, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x73, 0x0, 0x20, 0x0, 0x74, 0x0, 0x6f, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x42, 0x0, 0x69, 0x0, 0x74, 0x0, 0x73, 0x0, 0x74, 0x0, 0x72, 0x0, 0x65, 0x0, 0x61, 0x0, 0x6d, 0x0, 0x20, 0x0, 0x56, 0x0, 0x65, 0x0, 0x72, 0x0, 0x61, 0x0, 0x20, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x20, 0x0, 0x53, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x74, 0x0, 0x77, 0x0, 0x61, 0x0, 0x72, 0x0, 0x65, 0x0, 0x2c, 0x0, 0xa, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x63, 0x0, 0x6c, 0x0, 0x75, 0x0, 0x64, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x67, 0x0, 0x20, 0x0, 0x77, 0x0, 0x69, 0x0, 0x74, 0x0, 0x68, 0x0, 0x6f, 0x0, 0x75, 0x0, 0x74, 0x0, 0x20, 0x0, 0x6c, 0x0, 0x69, 0x0, 0x6d, 0x0, 0x69, 0x0, 0x74, 0x0, 0x61, 0x0, 0x74, 0x0, 0x69, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x72, 0x0, 0x69, 0x0, 0x67, 0x0, 0x68, 0x0, 0x74, 0x0, 0x73, 0x0, 0x20, 0x0, 0x74, 0x0, 0x6f, 0x0, 0x20, 0x0, 0x75, 0x0, 0x73, 0x0, 0x65, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x63, 0x0, 0x6f, 0x0, 0x70, 0x0, 0x79, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x6d, 0x0, 0x65, 0x0, 0x72, 0x0, 0x67, 0x0, 0x65, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x70, 0x0, 0x75, 0x0, 0x62, 0x0, 0x6c, 0x0, 0x69, 0x0, 0x73, 0x0, 0x68, 0x0, 0x2c, 0x0, 0xa, 0x0, 0x64, 0x0, 0x69, 0x0, 0x73, 0x0, 0x74, 0x0, 0x72, 0x0, 0x69, 0x0, 0x62, 0x0, 0x75, 0x0, 0x74, 0x0, 0x65, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x64, 0x0, 0x2f, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x20, 0x0, 0x73, 0x0, 0x65, 0x0, 0x6c, 0x0, 0x6c, 0x0, 0x20, 0x0, 0x63, 0x0, 0x6f, 0x0, 0x70, 0x0, 0x69, 0x0, 0x65, 0x0, 0x73, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x20, 0x0, 0x53, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x74, 0x0, 0x77, 0x0, 0x61, 0x0, 0x72, 0x0, 0x65, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x64, 0x0, 0x20, 0x0, 0x74, 0x0, 0x6f, 0x0, 0x20, 0x0, 0x70, 0x0, 0x65, 0x0, 0x72, 0x0, 0x6d, 0x0, 0x69, 0x0, 0x74, 0x0, 0xa, 0x0, 0x70, 0x0, 0x65, 0x0, 0x72, 0x0, 0x73, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x73, 0x0, 0x20, 0x0, 0x74, 0x0, 0x6f, 0x0, 0x20, 0x0, 0x77, 0x0, 0x68, 0x0, 0x6f, 0x0, 0x6d, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x20, 0x0, 0x53, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x74, 0x0, 0x77, 0x0, 0x61, 0x0, 0x72, 0x0, 0x65, 0x0, 0x20, 0x0, 0x69, 0x0, 0x73, 0x0, 0x20, 0x0, 0x66, 0x0, 0x75, 0x0, 0x72, 0x0, 0x6e, 0x0, 0x69, 0x0, 0x73, 0x0, 0x68, 0x0, 0x65, 0x0, 0x64, 0x0, 0x20, 0x0, 0x74, 0x0, 0x6f, 0x0, 0x20, 0x0, 0x64, 0x0, 0x6f, 0x0, 0x20, 0x0, 0x73, 0x0, 0x6f, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x73, 0x0, 0x75, 0x0, 0x62, 0x0, 0x6a, 0x0, 0x65, 0x0, 0x63, 0x0, 0x74, 0x0, 0x20, 0x0, 0x74, 0x0, 0x6f, 0x0, 0xa, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x66, 0x0, 0x6f, 0x0, 0x6c, 0x0, 0x6c, 0x0, 0x6f, 0x0, 0x77, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x67, 0x0, 0x20, 0x0, 0x63, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x64, 0x0, 0x69, 0x0, 0x74, 0x0, 0x69, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x73, 0x0, 0x3a, 0x0, 0xa, 0x0, 0xa, 0x0, 0x54, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x61, 0x0, 0x62, 0x0, 0x6f, 0x0, 0x76, 0x0, 0x65, 0x0, 0x20, 0x0, 0x63, 0x0, 0x6f, 0x0, 0x70, 0x0, 0x79, 0x0, 0x72, 0x0, 0x69, 0x0, 0x67, 0x0, 0x68, 0x0, 0x74, 0x0, 0x20, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x64, 0x0, 0x20, 0x0, 0x74, 0x0, 0x72, 0x0, 0x61, 0x0, 0x64, 0x0, 0x65, 0x0, 0x6d, 0x0, 0x61, 0x0, 0x72, 0x0, 0x6b, 0x0, 0x20, 0x0, 0x6e, 0x0, 0x6f, 0x0, 0x74, 0x0, 0x69, 0x0, 0x63, 0x0, 0x65, 0x0, 0x73, 0x0, 0x20, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x64, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x69, 0x0, 0x73, 0x0, 0x20, 0x0, 0x70, 0x0, 0x65, 0x0, 0x72, 0x0, 0x6d, 0x0, 0x69, 0x0, 0x73, 0x0, 0x73, 0x0, 0x69, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x6e, 0x0, 0x6f, 0x0, 0x74, 0x0, 0x69, 0x0, 0x63, 0x0, 0x65, 0x0, 0xa, 0x0, 0x73, 0x0, 0x68, 0x0, 0x61, 0x0, 0x6c, 0x0, 0x6c, 0x0, 0x20, 0x0, 0x62, 0x0, 0x65, 0x0, 0x20, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x63, 0x0, 0x6c, 0x0, 0x75, 0x0, 0x64, 0x0, 0x65, 0x0, 0x64, 0x0, 0x20, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x61, 0x0, 0x6c, 0x0, 0x6c, 0x0, 0x20, 0x0, 0x63, 0x0, 0x6f, 0x0, 0x70, 0x0, 0x69, 0x0, 0x65, 0x0, 0x73, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x65, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x20, 0x0, 0x6d, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x65, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x20, 0x0, 0x53, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x74, 0x0, 0x77, 0x0, 0x61, 0x0, 0x72, 0x0, 0x65, 0x0, 0xa, 0x0, 0x74, 0x0, 0x79, 0x0, 0x70, 0x0, 0x65, 0x0, 0x66, 0x0, 0x61, 0x0, 0x63, 0x0, 0x65, 0x0, 0x73, 0x0, 0x2e, 0x0, 0xa, 0x0, 0xa, 0x0, 0x54, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x20, 0x0, 0x53, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x74, 0x0, 0x77, 0x0, 0x61, 0x0, 0x72, 0x0, 0x65, 0x0, 0x20, 0x0, 0x6d, 0x0, 0x61, 0x0, 0x79, 0x0, 0x20, 0x0, 0x62, 0x0, 0x65, 0x0, 0x20, 0x0, 0x6d, 0x0, 0x6f, 0x0, 0x64, 0x0, 0x69, 0x0, 0x66, 0x0, 0x69, 0x0, 0x65, 0x0, 0x64, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x61, 0x0, 0x6c, 0x0, 0x74, 0x0, 0x65, 0x0, 0x72, 0x0, 0x65, 0x0, 0x64, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x20, 0x0, 0x61, 0x0, 0x64, 0x0, 0x64, 0x0, 0x65, 0x0, 0x64, 0x0, 0x20, 0x0, 0x74, 0x0, 0x6f, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x64, 0x0, 0x20, 0x0, 0x69, 0x0, 0x6e, 0x0, 0xa, 0x0, 0x70, 0x0, 0x61, 0x0, 0x72, 0x0, 0x74, 0x0, 0x69, 0x0, 0x63, 0x0, 0x75, 0x0, 0x6c, 0x0, 0x61, 0x0, 0x72, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x64, 0x0, 0x65, 0x0, 0x73, 0x0, 0x69, 0x0, 0x67, 0x0, 0x6e, 0x0, 0x73, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x20, 0x0, 0x67, 0x0, 0x6c, 0x0, 0x79, 0x0, 0x70, 0x0, 0x68, 0x0, 0x73, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x20, 0x0, 0x63, 0x0, 0x68, 0x0, 0x61, 0x0, 0x72, 0x0, 0x61, 0x0, 0x63, 0x0, 0x74, 0x0, 0x65, 0x0, 0x72, 0x0, 0x73, 0x0, 0x20, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x73, 0x0, 0x20, 0x0, 0x6d, 0x0, 0x61, 0x0, 0x79, 0x0, 0x20, 0x0, 0x62, 0x0, 0x65, 0x0, 0xa, 0x0, 0x6d, 0x0, 0x6f, 0x0, 0x64, 0x0, 0x69, 0x0, 0x66, 0x0, 0x69, 0x0, 0x65, 0x0, 0x64, 0x0, 0x20, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x64, 0x0, 0x20, 0x0, 0x61, 0x0, 0x64, 0x0, 0x64, 0x0, 0x69, 0x0, 0x74, 0x0, 0x69, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x61, 0x0, 0x6c, 0x0, 0x20, 0x0, 0x67, 0x0, 0x6c, 0x0, 0x79, 0x0, 0x70, 0x0, 0x68, 0x0, 0x73, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x20, 0x0, 0x63, 0x0, 0x68, 0x0, 0x61, 0x0, 0x72, 0x0, 0x61, 0x0, 0x63, 0x0, 0x74, 0x0, 0x65, 0x0, 0x72, 0x0, 0x73, 0x0, 0x20, 0x0, 0x6d, 0x0, 0x61, 0x0, 0x79, 0x0, 0x20, 0x0, 0x62, 0x0, 0x65, 0x0, 0x20, 0x0, 0x61, 0x0, 0x64, 0x0, 0x64, 0x0, 0x65, 0x0, 0x64, 0x0, 0x20, 0x0, 0x74, 0x0, 0x6f, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0xa, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x73, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x6c, 0x0, 0x79, 0x0, 0x20, 0x0, 0x69, 0x0, 0x66, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x66, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x73, 0x0, 0x20, 0x0, 0x61, 0x0, 0x72, 0x0, 0x65, 0x0, 0x20, 0x0, 0x72, 0x0, 0x65, 0x0, 0x6e, 0x0, 0x61, 0x0, 0x6d, 0x0, 0x65, 0x0, 0x64, 0x0, 0x20, 0x0, 0x74, 0x0, 0x6f, 0x0, 0x20, 0x0, 0x6e, 0x0, 0x61, 0x0, 0x6d, 0x0, 0x65, 0x0, 0x73, 0x0, 0x20, 0x0, 0x6e, 0x0, 0x6f, 0x0, 0x74, 0x0, 0x20, 0x0, 0x63, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x61, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x67, 0x0, 0x20, 0x0, 0x65, 0x0, 0x69, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x72, 0x0, 0xa, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x77, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x64, 0x0, 0x73, 0x0, 0x20, 0x0, 0x22, 0x0, 0x54, 0x0, 0x61, 0x0, 0x76, 0x0, 0x6d, 0x0, 0x6a, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x67, 0x0, 0x20, 0x0, 0x42, 0x0, 0x61, 0x0, 0x68, 0x0, 0x22, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x77, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x64, 0x0, 0x20, 0x0, 0x22, 0x0, 0x41, 0x0, 0x72, 0x0, 0x65, 0x0, 0x76, 0x0, 0x22, 0x0, 0x2e, 0x0, 0xa, 0x0, 0xa, 0x0, 0x54, 0x0, 0x68, 0x0, 0x69, 0x0, 0x73, 0x0, 0x20, 0x0, 0x4c, 0x0, 0x69, 0x0, 0x63, 0x0, 0x65, 0x0, 0x6e, 0x0, 0x73, 0x0, 0x65, 0x0, 0x20, 0x0, 0x62, 0x0, 0x65, 0x0, 0x63, 0x0, 0x6f, 0x0, 0x6d, 0x0, 0x65, 0x0, 0x73, 0x0, 0x20, 0x0, 0x6e, 0x0, 0x75, 0x0, 0x6c, 0x0, 0x6c, 0x0, 0x20, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x64, 0x0, 0x20, 0x0, 0x76, 0x0, 0x6f, 0x0, 0x69, 0x0, 0x64, 0x0, 0x20, 0x0, 0x74, 0x0, 0x6f, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x65, 0x0, 0x78, 0x0, 0x74, 0x0, 0x65, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x20, 0x0, 0x61, 0x0, 0x70, 0x0, 0x70, 0x0, 0x6c, 0x0, 0x69, 0x0, 0x63, 0x0, 0x61, 0x0, 0x62, 0x0, 0x6c, 0x0, 0x65, 0x0, 0x20, 0x0, 0x74, 0x0, 0x6f, 0x0, 0x20, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x73, 0x0, 0xa, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x20, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x20, 0x0, 0x53, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x74, 0x0, 0x77, 0x0, 0x61, 0x0, 0x72, 0x0, 0x65, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x61, 0x0, 0x74, 0x0, 0x20, 0x0, 0x68, 0x0, 0x61, 0x0, 0x73, 0x0, 0x20, 0x0, 0x62, 0x0, 0x65, 0x0, 0x65, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x6d, 0x0, 0x6f, 0x0, 0x64, 0x0, 0x69, 0x0, 0x66, 0x0, 0x69, 0x0, 0x65, 0x0, 0x64, 0x0, 0x20, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x64, 0x0, 0x20, 0x0, 0x69, 0x0, 0x73, 0x0, 0x20, 0x0, 0x64, 0x0, 0x69, 0x0, 0x73, 0x0, 0x74, 0x0, 0x72, 0x0, 0x69, 0x0, 0x62, 0x0, 0x75, 0x0, 0x74, 0x0, 0x65, 0x0, 0x64, 0x0, 0x20, 0x0, 0x75, 0x0, 0x6e, 0x0, 0x64, 0x0, 0x65, 0x0, 0x72, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0xa, 0x0, 0x22, 0x0, 0x54, 0x0, 0x61, 0x0, 0x76, 0x0, 0x6d, 0x0, 0x6a, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x67, 0x0, 0x20, 0x0, 0x42, 0x0, 0x61, 0x0, 0x68, 0x0, 0x20, 0x0, 0x41, 0x0, 0x72, 0x0, 0x65, 0x0, 0x76, 0x0, 0x22, 0x0, 0x20, 0x0, 0x6e, 0x0, 0x61, 0x0, 0x6d, 0x0, 0x65, 0x0, 0x73, 0x0, 0x2e, 0x0, 0xa, 0x0, 0xa, 0x0, 0x54, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x20, 0x0, 0x53, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x74, 0x0, 0x77, 0x0, 0x61, 0x0, 0x72, 0x0, 0x65, 0x0, 0x20, 0x0, 0x6d, 0x0, 0x61, 0x0, 0x79, 0x0, 0x20, 0x0, 0x62, 0x0, 0x65, 0x0, 0x20, 0x0, 0x73, 0x0, 0x6f, 0x0, 0x6c, 0x0, 0x64, 0x0, 0x20, 0x0, 0x61, 0x0, 0x73, 0x0, 0x20, 0x0, 0x70, 0x0, 0x61, 0x0, 0x72, 0x0, 0x74, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x20, 0x0, 0x61, 0x0, 0x20, 0x0, 0x6c, 0x0, 0x61, 0x0, 0x72, 0x0, 0x67, 0x0, 0x65, 0x0, 0x72, 0x0, 0x20, 0x0, 0x73, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x74, 0x0, 0x77, 0x0, 0x61, 0x0, 0x72, 0x0, 0x65, 0x0, 0x20, 0x0, 0x70, 0x0, 0x61, 0x0, 0x63, 0x0, 0x6b, 0x0, 0x61, 0x0, 0x67, 0x0, 0x65, 0x0, 0x20, 0x0, 0x62, 0x0, 0x75, 0x0, 0x74, 0x0, 0xa, 0x0, 0x6e, 0x0, 0x6f, 0x0, 0x20, 0x0, 0x63, 0x0, 0x6f, 0x0, 0x70, 0x0, 0x79, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x65, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x20, 0x0, 0x6d, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x65, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x20, 0x0, 0x53, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x74, 0x0, 0x77, 0x0, 0x61, 0x0, 0x72, 0x0, 0x65, 0x0, 0x20, 0x0, 0x74, 0x0, 0x79, 0x0, 0x70, 0x0, 0x65, 0x0, 0x66, 0x0, 0x61, 0x0, 0x63, 0x0, 0x65, 0x0, 0x73, 0x0, 0x20, 0x0, 0x6d, 0x0, 0x61, 0x0, 0x79, 0x0, 0x20, 0x0, 0x62, 0x0, 0x65, 0x0, 0x20, 0x0, 0x73, 0x0, 0x6f, 0x0, 0x6c, 0x0, 0x64, 0x0, 0x20, 0x0, 0x62, 0x0, 0x79, 0x0, 0xa, 0x0, 0x69, 0x0, 0x74, 0x0, 0x73, 0x0, 0x65, 0x0, 0x6c, 0x0, 0x66, 0x0, 0x2e, 0x0, 0xa, 0x0, 0xa, 0x0, 0x54, 0x0, 0x48, 0x0, 0x45, 0x0, 0x20, 0x0, 0x46, 0x0, 0x4f, 0x0, 0x4e, 0x0, 0x54, 0x0, 0x20, 0x0, 0x53, 0x0, 0x4f, 0x0, 0x46, 0x0, 0x54, 0x0, 0x57, 0x0, 0x41, 0x0, 0x52, 0x0, 0x45, 0x0, 0x20, 0x0, 0x49, 0x0, 0x53, 0x0, 0x20, 0x0, 0x50, 0x0, 0x52, 0x0, 0x4f, 0x0, 0x56, 0x0, 0x49, 0x0, 0x44, 0x0, 0x45, 0x0, 0x44, 0x0, 0x20, 0x0, 0x22, 0x0, 0x41, 0x0, 0x53, 0x0, 0x20, 0x0, 0x49, 0x0, 0x53, 0x0, 0x22, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x57, 0x0, 0x49, 0x0, 0x54, 0x0, 0x48, 0x0, 0x4f, 0x0, 0x55, 0x0, 0x54, 0x0, 0x20, 0x0, 0x57, 0x0, 0x41, 0x0, 0x52, 0x0, 0x52, 0x0, 0x41, 0x0, 0x4e, 0x0, 0x54, 0x0, 0x59, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x46, 0x0, 0x20, 0x0, 0x41, 0x0, 0x4e, 0x0, 0x59, 0x0, 0x20, 0x0, 0x4b, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x44, 0x0, 0x2c, 0x0, 0xa, 0x0, 0x45, 0x0, 0x58, 0x0, 0x50, 0x0, 0x52, 0x0, 0x45, 0x0, 0x53, 0x0, 0x53, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x52, 0x0, 0x20, 0x0, 0x49, 0x0, 0x4d, 0x0, 0x50, 0x0, 0x4c, 0x0, 0x49, 0x0, 0x45, 0x0, 0x44, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x43, 0x0, 0x4c, 0x0, 0x55, 0x0, 0x44, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x47, 0x0, 0x20, 0x0, 0x42, 0x0, 0x55, 0x0, 0x54, 0x0, 0x20, 0x0, 0x4e, 0x0, 0x4f, 0x0, 0x54, 0x0, 0x20, 0x0, 0x4c, 0x0, 0x49, 0x0, 0x4d, 0x0, 0x49, 0x0, 0x54, 0x0, 0x45, 0x0, 0x44, 0x0, 0x20, 0x0, 0x54, 0x0, 0x4f, 0x0, 0x20, 0x0, 0x41, 0x0, 0x4e, 0x0, 0x59, 0x0, 0x20, 0x0, 0x57, 0x0, 0x41, 0x0, 0x52, 0x0, 0x52, 0x0, 0x41, 0x0, 0x4e, 0x0, 0x54, 0x0, 0x49, 0x0, 0x45, 0x0, 0x53, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x46, 0x0, 0xa, 0x0, 0x4d, 0x0, 0x45, 0x0, 0x52, 0x0, 0x43, 0x0, 0x48, 0x0, 0x41, 0x0, 0x4e, 0x0, 0x54, 0x0, 0x41, 0x0, 0x42, 0x0, 0x49, 0x0, 0x4c, 0x0, 0x49, 0x0, 0x54, 0x0, 0x59, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x46, 0x0, 0x49, 0x0, 0x54, 0x0, 0x4e, 0x0, 0x45, 0x0, 0x53, 0x0, 0x53, 0x0, 0x20, 0x0, 0x46, 0x0, 0x4f, 0x0, 0x52, 0x0, 0x20, 0x0, 0x41, 0x0, 0x20, 0x0, 0x50, 0x0, 0x41, 0x0, 0x52, 0x0, 0x54, 0x0, 0x49, 0x0, 0x43, 0x0, 0x55, 0x0, 0x4c, 0x0, 0x41, 0x0, 0x52, 0x0, 0x20, 0x0, 0x50, 0x0, 0x55, 0x0, 0x52, 0x0, 0x50, 0x0, 0x4f, 0x0, 0x53, 0x0, 0x45, 0x0, 0x20, 0x0, 0x41, 0x0, 0x4e, 0x0, 0x44, 0x0, 0x20, 0x0, 0x4e, 0x0, 0x4f, 0x0, 0x4e, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x46, 0x0, 0x52, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x47, 0x0, 0x45, 0x0, 0x4d, 0x0, 0x45, 0x0, 0x4e, 0x0, 0x54, 0x0, 0xa, 0x0, 0x4f, 0x0, 0x46, 0x0, 0x20, 0x0, 0x43, 0x0, 0x4f, 0x0, 0x50, 0x0, 0x59, 0x0, 0x52, 0x0, 0x49, 0x0, 0x47, 0x0, 0x48, 0x0, 0x54, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x50, 0x0, 0x41, 0x0, 0x54, 0x0, 0x45, 0x0, 0x4e, 0x0, 0x54, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x54, 0x0, 0x52, 0x0, 0x41, 0x0, 0x44, 0x0, 0x45, 0x0, 0x4d, 0x0, 0x41, 0x0, 0x52, 0x0, 0x4b, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x52, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x54, 0x0, 0x48, 0x0, 0x45, 0x0, 0x52, 0x0, 0x20, 0x0, 0x52, 0x0, 0x49, 0x0, 0x47, 0x0, 0x48, 0x0, 0x54, 0x0, 0x2e, 0x0, 0x20, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x20, 0x0, 0x4e, 0x0, 0x4f, 0x0, 0x20, 0x0, 0x45, 0x0, 0x56, 0x0, 0x45, 0x0, 0x4e, 0x0, 0x54, 0x0, 0x20, 0x0, 0x53, 0x0, 0x48, 0x0, 0x41, 0x0, 0x4c, 0x0, 0x4c, 0x0, 0xa, 0x0, 0x54, 0x0, 0x41, 0x0, 0x56, 0x0, 0x4d, 0x0, 0x4a, 0x0, 0x4f, 0x0, 0x4e, 0x0, 0x47, 0x0, 0x20, 0x0, 0x42, 0x0, 0x41, 0x0, 0x48, 0x0, 0x20, 0x0, 0x42, 0x0, 0x45, 0x0, 0x20, 0x0, 0x4c, 0x0, 0x49, 0x0, 0x41, 0x0, 0x42, 0x0, 0x4c, 0x0, 0x45, 0x0, 0x20, 0x0, 0x46, 0x0, 0x4f, 0x0, 0x52, 0x0, 0x20, 0x0, 0x41, 0x0, 0x4e, 0x0, 0x59, 0x0, 0x20, 0x0, 0x43, 0x0, 0x4c, 0x0, 0x41, 0x0, 0x49, 0x0, 0x4d, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x44, 0x0, 0x41, 0x0, 0x4d, 0x0, 0x41, 0x0, 0x47, 0x0, 0x45, 0x0, 0x53, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x52, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x54, 0x0, 0x48, 0x0, 0x45, 0x0, 0x52, 0x0, 0x20, 0x0, 0x4c, 0x0, 0x49, 0x0, 0x41, 0x0, 0x42, 0x0, 0x49, 0x0, 0x4c, 0x0, 0x49, 0x0, 0x54, 0x0, 0x59, 0x0, 0x2c, 0x0, 0xa, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x43, 0x0, 0x4c, 0x0, 0x55, 0x0, 0x44, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x47, 0x0, 0x20, 0x0, 0x41, 0x0, 0x4e, 0x0, 0x59, 0x0, 0x20, 0x0, 0x47, 0x0, 0x45, 0x0, 0x4e, 0x0, 0x45, 0x0, 0x52, 0x0, 0x41, 0x0, 0x4c, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x53, 0x0, 0x50, 0x0, 0x45, 0x0, 0x43, 0x0, 0x49, 0x0, 0x41, 0x0, 0x4c, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x44, 0x0, 0x49, 0x0, 0x52, 0x0, 0x45, 0x0, 0x43, 0x0, 0x54, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x43, 0x0, 0x49, 0x0, 0x44, 0x0, 0x45, 0x0, 0x4e, 0x0, 0x54, 0x0, 0x41, 0x0, 0x4c, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x52, 0x0, 0x20, 0x0, 0x43, 0x0, 0x4f, 0x0, 0x4e, 0x0, 0x53, 0x0, 0x45, 0x0, 0x51, 0x0, 0x55, 0x0, 0x45, 0x0, 0x4e, 0x0, 0x54, 0x0, 0x49, 0x0, 0x41, 0x0, 0x4c, 0x0, 0xa, 0x0, 0x44, 0x0, 0x41, 0x0, 0x4d, 0x0, 0x41, 0x0, 0x47, 0x0, 0x45, 0x0, 0x53, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x57, 0x0, 0x48, 0x0, 0x45, 0x0, 0x54, 0x0, 0x48, 0x0, 0x45, 0x0, 0x52, 0x0, 0x20, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x20, 0x0, 0x41, 0x0, 0x4e, 0x0, 0x20, 0x0, 0x41, 0x0, 0x43, 0x0, 0x54, 0x0, 0x49, 0x0, 0x4f, 0x0, 0x4e, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x46, 0x0, 0x20, 0x0, 0x43, 0x0, 0x4f, 0x0, 0x4e, 0x0, 0x54, 0x0, 0x52, 0x0, 0x41, 0x0, 0x43, 0x0, 0x54, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x54, 0x0, 0x4f, 0x0, 0x52, 0x0, 0x54, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x52, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x54, 0x0, 0x48, 0x0, 0x45, 0x0, 0x52, 0x0, 0x57, 0x0, 0x49, 0x0, 0x53, 0x0, 0x45, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x41, 0x0, 0x52, 0x0, 0x49, 0x0, 0x53, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x47, 0x0, 0xa, 0x0, 0x46, 0x0, 0x52, 0x0, 0x4f, 0x0, 0x4d, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x55, 0x0, 0x54, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x46, 0x0, 0x20, 0x0, 0x54, 0x0, 0x48, 0x0, 0x45, 0x0, 0x20, 0x0, 0x55, 0x0, 0x53, 0x0, 0x45, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x52, 0x0, 0x20, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x41, 0x0, 0x42, 0x0, 0x49, 0x0, 0x4c, 0x0, 0x49, 0x0, 0x54, 0x0, 0x59, 0x0, 0x20, 0x0, 0x54, 0x0, 0x4f, 0x0, 0x20, 0x0, 0x55, 0x0, 0x53, 0x0, 0x45, 0x0, 0x20, 0x0, 0x54, 0x0, 0x48, 0x0, 0x45, 0x0, 0x20, 0x0, 0x46, 0x0, 0x4f, 0x0, 0x4e, 0x0, 0x54, 0x0, 0x20, 0x0, 0x53, 0x0, 0x4f, 0x0, 0x46, 0x0, 0x54, 0x0, 0x57, 0x0, 0x41, 0x0, 0x52, 0x0, 0x45, 0x0, 0x20, 0x0, 0x4f, 0x0, 0x52, 0x0, 0x20, 0x0, 0x46, 0x0, 0x52, 0x0, 0x4f, 0x0, 0x4d, 0x0, 0xa, 0x0, 0x4f, 0x0, 0x54, 0x0, 0x48, 0x0, 0x45, 0x0, 0x52, 0x0, 0x20, 0x0, 0x44, 0x0, 0x45, 0x0, 0x41, 0x0, 0x4c, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x47, 0x0, 0x53, 0x0, 0x20, 0x0, 0x49, 0x0, 0x4e, 0x0, 0x20, 0x0, 0x54, 0x0, 0x48, 0x0, 0x45, 0x0, 0x20, 0x0, 0x46, 0x0, 0x4f, 0x0, 0x4e, 0x0, 0x54, 0x0, 0x20, 0x0, 0x53, 0x0, 0x4f, 0x0, 0x46, 0x0, 0x54, 0x0, 0x57, 0x0, 0x41, 0x0, 0x52, 0x0, 0x45, 0x0, 0x2e, 0x0, 0xa, 0x0, 0xa, 0x0, 0x45, 0x0, 0x78, 0x0, 0x63, 0x0, 0x65, 0x0, 0x70, 0x0, 0x74, 0x0, 0x20, 0x0, 0x61, 0x0, 0x73, 0x0, 0x20, 0x0, 0x63, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x61, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x65, 0x0, 0x64, 0x0, 0x20, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x69, 0x0, 0x73, 0x0, 0x20, 0x0, 0x6e, 0x0, 0x6f, 0x0, 0x74, 0x0, 0x69, 0x0, 0x63, 0x0, 0x65, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x6e, 0x0, 0x61, 0x0, 0x6d, 0x0, 0x65, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x20, 0x0, 0x54, 0x0, 0x61, 0x0, 0x76, 0x0, 0x6d, 0x0, 0x6a, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x67, 0x0, 0x20, 0x0, 0x42, 0x0, 0x61, 0x0, 0x68, 0x0, 0x20, 0x0, 0x73, 0x0, 0x68, 0x0, 0x61, 0x0, 0x6c, 0x0, 0x6c, 0x0, 0x20, 0x0, 0x6e, 0x0, 0x6f, 0x0, 0x74, 0x0, 0xa, 0x0, 0x62, 0x0, 0x65, 0x0, 0x20, 0x0, 0x75, 0x0, 0x73, 0x0, 0x65, 0x0, 0x64, 0x0, 0x20, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x61, 0x0, 0x64, 0x0, 0x76, 0x0, 0x65, 0x0, 0x72, 0x0, 0x74, 0x0, 0x69, 0x0, 0x73, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x67, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x72, 0x0, 0x77, 0x0, 0x69, 0x0, 0x73, 0x0, 0x65, 0x0, 0x20, 0x0, 0x74, 0x0, 0x6f, 0x0, 0x20, 0x0, 0x70, 0x0, 0x72, 0x0, 0x6f, 0x0, 0x6d, 0x0, 0x6f, 0x0, 0x74, 0x0, 0x65, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x73, 0x0, 0x61, 0x0, 0x6c, 0x0, 0x65, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x75, 0x0, 0x73, 0x0, 0x65, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x20, 0x0, 0x6f, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x72, 0x0, 0xa, 0x0, 0x64, 0x0, 0x65, 0x0, 0x61, 0x0, 0x6c, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x67, 0x0, 0x73, 0x0, 0x20, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x69, 0x0, 0x73, 0x0, 0x20, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x20, 0x0, 0x53, 0x0, 0x6f, 0x0, 0x66, 0x0, 0x74, 0x0, 0x77, 0x0, 0x61, 0x0, 0x72, 0x0, 0x65, 0x0, 0x20, 0x0, 0x77, 0x0, 0x69, 0x0, 0x74, 0x0, 0x68, 0x0, 0x6f, 0x0, 0x75, 0x0, 0x74, 0x0, 0x20, 0x0, 0x70, 0x0, 0x72, 0x0, 0x69, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x20, 0x0, 0x77, 0x0, 0x72, 0x0, 0x69, 0x0, 0x74, 0x0, 0x74, 0x0, 0x65, 0x0, 0x6e, 0x0, 0x20, 0x0, 0x61, 0x0, 0x75, 0x0, 0x74, 0x0, 0x68, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x69, 0x0, 0x7a, 0x0, 0x61, 0x0, 0x74, 0x0, 0x69, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0xa, 0x0, 0x66, 0x0, 0x72, 0x0, 0x6f, 0x0, 0x6d, 0x0, 0x20, 0x0, 0x54, 0x0, 0x61, 0x0, 0x76, 0x0, 0x6d, 0x0, 0x6a, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x67, 0x0, 0x20, 0x0, 0x42, 0x0, 0x61, 0x0, 0x68, 0x0, 0x2e, 0x0, 0x20, 0x0, 0x46, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x20, 0x0, 0x66, 0x0, 0x75, 0x0, 0x72, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x72, 0x0, 0x20, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x66, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x6d, 0x0, 0x61, 0x0, 0x74, 0x0, 0x69, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x2c, 0x0, 0x20, 0x0, 0x63, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x74, 0x0, 0x61, 0x0, 0x63, 0x0, 0x74, 0x0, 0x3a, 0x0, 0x20, 0x0, 0x74, 0x0, 0x61, 0x0, 0x76, 0x0, 0x6d, 0x0, 0x6a, 0x0, 0x6f, 0x0, 0x6e, 0x0, 0x67, 0x0, 0x20, 0x0, 0x40, 0x0, 0x20, 0x0, 0x66, 0x0, 0x72, 0x0, 0x65, 0x0, 0x65, 0x0, 0xa, 0x0, 0x2e, 0x0, 0x20, 0x0, 0x66, 0x0, 0x72, 0x0, 0x2e, 0x0, 0x0, 0x46, 0x6f, 0x6e, 0x74, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x28, 0x63, 0x29, 0x20, 0x42, 0x69, 0x74, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x28, 0x73, 0x65, 0x65, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x77, 0x29, 0x2e, 0x20, 0x44, 0x65, 0x6a, 0x61, 0x56, 0x75, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x20, 0x47, 0x6c, 0x79, 0x70, 0x68, 0x73, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x41, 0x72, 0x65, 0x76, 0x20, 0x66, 0x6f, 0x6e, 0x74, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x28, 0x63, 0x29, 0x20, 0x54, 0x61, 0x76, 0x6d, 0x6a, 0x75, 0x6e, 0x67, 0x20, 0x42, 0x61, 0x68, 0x20, 0x28, 0x73, 0x65, 0x65, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x77, 0x29, 0xa, 0xa, 0x42, 0x69, 0x74, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x56, 0x65, 0x72, 0x61, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x73, 0x20, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0xa, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0xa, 0xa, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, 0x33, 0x20, 0x62, 0x79, 0x20, 0x42, 0x69, 0x74, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x20, 0x41, 0x6c, 0x6c, 0x20, 0x52, 0x69, 0x67, 0x68, 0x74, 0x73, 0x20, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x2e, 0x20, 0x42, 0x69, 0x74, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x56, 0x65, 0x72, 0x61, 0x20, 0x69, 0x73, 0xa, 0x61, 0x20, 0x74, 0x72, 0x61, 0x64, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x20, 0x6f, 0x66, 0x20, 0x42, 0x69, 0x74, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0xa, 0xa, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x68, 0x65, 0x72, 0x65, 0x62, 0x79, 0x20, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x2c, 0x20, 0x66, 0x72, 0x65, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x2c, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x20, 0x6f, 0x62, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x70, 0x79, 0xa, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x6e, 0x74, 0x73, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x20, 0x28, 0x22, 0x46, 0x6f, 0x6e, 0x74, 0x73, 0x22, 0x29, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0xa, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x20, 0x28, 0x74, 0x68, 0x65, 0x20, 0x22, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x22, 0x29, 0x2c, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0xa, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x2c, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x20, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x2c, 0x20, 0x63, 0x6f, 0x70, 0x79, 0x2c, 0x20, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x2c, 0xa, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x2c, 0x20, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x2f, 0x6f, 0x72, 0x20, 0x73, 0x65, 0x6c, 0x6c, 0x20, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x74, 0xa, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x77, 0x68, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x20, 0x69, 0x73, 0x20, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x6f, 0x20, 0x73, 0x6f, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0xa, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0xa, 0xa, 0x54, 0x68, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x20, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x72, 0x61, 0x64, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x20, 0x6e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x20, 0x73, 0x68, 0x61, 0x6c, 0x6c, 0xa, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x66, 0x61, 0x63, 0x65, 0x73, 0x2e, 0xa, 0xa, 0x54, 0x68, 0x65, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x61, 0x64, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c, 0x61, 0x72, 0xa, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x67, 0x6c, 0x79, 0x70, 0x68, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x73, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x61, 0x6e, 0x64, 0xa, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x67, 0x6c, 0x79, 0x70, 0x68, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x61, 0x64, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x73, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x6e, 0x74, 0x73, 0xa, 0x61, 0x72, 0x65, 0x20, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x20, 0x22, 0x42, 0x69, 0x74, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0x20, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x6f, 0x72, 0x64, 0xa, 0x22, 0x56, 0x65, 0x72, 0x61, 0x22, 0x2e, 0xa, 0xa, 0x54, 0x68, 0x69, 0x73, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x20, 0x62, 0x65, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x20, 0x6e, 0x75, 0x6c, 0x6c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0xa, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x73, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x69, 0x73, 0x20, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x22, 0x42, 0x69, 0x74, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0xa, 0x56, 0x65, 0x72, 0x61, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0xa, 0xa, 0x54, 0x68, 0x65, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x73, 0x6f, 0x6c, 0x64, 0x20, 0x61, 0x73, 0x20, 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x20, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x20, 0x62, 0x75, 0x74, 0x20, 0x6e, 0x6f, 0xa, 0x63, 0x6f, 0x70, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x66, 0x61, 0x63, 0x65, 0x73, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x73, 0x6f, 0x6c, 0x64, 0x20, 0x62, 0x79, 0x20, 0x69, 0x74, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0xa, 0xa, 0x54, 0x48, 0x45, 0x20, 0x46, 0x4f, 0x4e, 0x54, 0x20, 0x53, 0x4f, 0x46, 0x54, 0x57, 0x41, 0x52, 0x45, 0x20, 0x49, 0x53, 0x20, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x44, 0x20, 0x22, 0x41, 0x53, 0x20, 0x49, 0x53, 0x22, 0x2c, 0x20, 0x57, 0x49, 0x54, 0x48, 0x4f, 0x55, 0x54, 0x20, 0x57, 0x41, 0x52, 0x52, 0x41, 0x4e, 0x54, 0x59, 0x20, 0x4f, 0x46, 0x20, 0x41, 0x4e, 0x59, 0x20, 0x4b, 0x49, 0x4e, 0x44, 0x2c, 0x20, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0xa, 0x4f, 0x52, 0x20, 0x49, 0x4d, 0x50, 0x4c, 0x49, 0x45, 0x44, 0x2c, 0x20, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x49, 0x4e, 0x47, 0x20, 0x42, 0x55, 0x54, 0x20, 0x4e, 0x4f, 0x54, 0x20, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x45, 0x44, 0x20, 0x54, 0x4f, 0x20, 0x41, 0x4e, 0x59, 0x20, 0x57, 0x41, 0x52, 0x52, 0x41, 0x4e, 0x54, 0x49, 0x45, 0x53, 0x20, 0x4f, 0x46, 0x20, 0x4d, 0x45, 0x52, 0x43, 0x48, 0x41, 0x4e, 0x54, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x2c, 0xa, 0x46, 0x49, 0x54, 0x4e, 0x45, 0x53, 0x53, 0x20, 0x46, 0x4f, 0x52, 0x20, 0x41, 0x20, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x55, 0x4c, 0x41, 0x52, 0x20, 0x50, 0x55, 0x52, 0x50, 0x4f, 0x53, 0x45, 0x20, 0x41, 0x4e, 0x44, 0x20, 0x4e, 0x4f, 0x4e, 0x49, 0x4e, 0x46, 0x52, 0x49, 0x4e, 0x47, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x20, 0x4f, 0x46, 0x20, 0x43, 0x4f, 0x50, 0x59, 0x52, 0x49, 0x47, 0x48, 0x54, 0x2c, 0x20, 0x50, 0x41, 0x54, 0x45, 0x4e, 0x54, 0x2c, 0xa, 0x54, 0x52, 0x41, 0x44, 0x45, 0x4d, 0x41, 0x52, 0x4b, 0x2c, 0x20, 0x4f, 0x52, 0x20, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x20, 0x52, 0x49, 0x47, 0x48, 0x54, 0x2e, 0x20, 0x49, 0x4e, 0x20, 0x4e, 0x4f, 0x20, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x20, 0x53, 0x48, 0x41, 0x4c, 0x4c, 0x20, 0x42, 0x49, 0x54, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x20, 0x4f, 0x52, 0x20, 0x54, 0x48, 0x45, 0x20, 0x47, 0x4e, 0x4f, 0x4d, 0x45, 0xa, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x20, 0x42, 0x45, 0x20, 0x4c, 0x49, 0x41, 0x42, 0x4c, 0x45, 0x20, 0x46, 0x4f, 0x52, 0x20, 0x41, 0x4e, 0x59, 0x20, 0x43, 0x4c, 0x41, 0x49, 0x4d, 0x2c, 0x20, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x53, 0x20, 0x4f, 0x52, 0x20, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x20, 0x4c, 0x49, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x2c, 0x20, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x49, 0x4e, 0x47, 0xa, 0x41, 0x4e, 0x59, 0x20, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x4c, 0x2c, 0x20, 0x53, 0x50, 0x45, 0x43, 0x49, 0x41, 0x4c, 0x2c, 0x20, 0x49, 0x4e, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x2c, 0x20, 0x49, 0x4e, 0x43, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x41, 0x4c, 0x2c, 0x20, 0x4f, 0x52, 0x20, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x20, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x53, 0x2c, 0xa, 0x57, 0x48, 0x45, 0x54, 0x48, 0x45, 0x52, 0x20, 0x49, 0x4e, 0x20, 0x41, 0x4e, 0x20, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x20, 0x4f, 0x46, 0x20, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x41, 0x43, 0x54, 0x2c, 0x20, 0x54, 0x4f, 0x52, 0x54, 0x20, 0x4f, 0x52, 0x20, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x57, 0x49, 0x53, 0x45, 0x2c, 0x20, 0x41, 0x52, 0x49, 0x53, 0x49, 0x4e, 0x47, 0x20, 0x46, 0x52, 0x4f, 0x4d, 0x2c, 0x20, 0x4f, 0x55, 0x54, 0x20, 0x4f, 0x46, 0xa, 0x54, 0x48, 0x45, 0x20, 0x55, 0x53, 0x45, 0x20, 0x4f, 0x52, 0x20, 0x49, 0x4e, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x20, 0x54, 0x4f, 0x20, 0x55, 0x53, 0x45, 0x20, 0x54, 0x48, 0x45, 0x20, 0x46, 0x4f, 0x4e, 0x54, 0x20, 0x53, 0x4f, 0x46, 0x54, 0x57, 0x41, 0x52, 0x45, 0x20, 0x4f, 0x52, 0x20, 0x46, 0x52, 0x4f, 0x4d, 0x20, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x20, 0x44, 0x45, 0x41, 0x4c, 0x49, 0x4e, 0x47, 0x53, 0x20, 0x49, 0x4e, 0x20, 0x54, 0x48, 0x45, 0xa, 0x46, 0x4f, 0x4e, 0x54, 0x20, 0x53, 0x4f, 0x46, 0x54, 0x57, 0x41, 0x52, 0x45, 0x2e, 0xa, 0xa, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x61, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x47, 0x6e, 0x6f, 0x6d, 0x65, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x47, 0x6e, 0x6f, 0x6d, 0x65, 0xa, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x42, 0x69, 0x74, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x2c, 0x20, 0x73, 0x68, 0x61, 0x6c, 0x6c, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x72, 0xa, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x77, 0x69, 0x73, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6c, 0x65, 0x2c, 0x20, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x64, 0x65, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0xa, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x20, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x20, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x47, 0x6e, 0x6f, 0x6d, 0x65, 0x20, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x42, 0x69, 0x74, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0xa, 0x49, 0x6e, 0x63, 0x2e, 0x2c, 0x20, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x66, 0x75, 0x72, 0x74, 0x68, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x3a, 0x20, 0x66, 0x6f, 0x6e, 0x74, 0x73, 0x20, 0x61, 0x74, 0x20, 0x67, 0x6e, 0x6f, 0x6d, 0x65, 0x20, 0x64, 0x6f, 0x74, 0xa, 0x6f, 0x72, 0x67, 0x2e, 0x20, 0xa, 0xa, 0x41, 0x72, 0x65, 0x76, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x73, 0x20, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0xa, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0xa, 0xa, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, 0x36, 0x20, 0x62, 0x79, 0x20, 0x54, 0x61, 0x76, 0x6d, 0x6a, 0x6f, 0x6e, 0x67, 0x20, 0x42, 0x61, 0x68, 0x2e, 0x20, 0x41, 0x6c, 0x6c, 0x20, 0x52, 0x69, 0x67, 0x68, 0x74, 0x73, 0x20, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x2e, 0xa, 0xa, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x68, 0x65, 0x72, 0x65, 0x62, 0x79, 0x20, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x2c, 0x20, 0x66, 0x72, 0x65, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x2c, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x20, 0x6f, 0x62, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0xa, 0x61, 0x20, 0x63, 0x6f, 0x70, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x6e, 0x74, 0x73, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x20, 0x28, 0x22, 0x46, 0x6f, 0x6e, 0x74, 0x73, 0x22, 0x29, 0x20, 0x61, 0x6e, 0x64, 0xa, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x20, 0x28, 0x74, 0x68, 0x65, 0x20, 0x22, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x22, 0x29, 0x2c, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0xa, 0x61, 0x6e, 0x64, 0x20, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x42, 0x69, 0x74, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x56, 0x65, 0x72, 0x61, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x2c, 0xa, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x20, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x2c, 0x20, 0x63, 0x6f, 0x70, 0x79, 0x2c, 0x20, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x2c, 0x20, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x2c, 0xa, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x2f, 0x6f, 0x72, 0x20, 0x73, 0x65, 0x6c, 0x6c, 0x20, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x74, 0xa, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x77, 0x68, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x20, 0x69, 0x73, 0x20, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x6f, 0x20, 0x73, 0x6f, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x74, 0x6f, 0xa, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0xa, 0xa, 0x54, 0x68, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x20, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x72, 0x61, 0x64, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x20, 0x6e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0xa, 0x73, 0x68, 0x61, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0xa, 0x74, 0x79, 0x70, 0x65, 0x66, 0x61, 0x63, 0x65, 0x73, 0x2e, 0xa, 0xa, 0x54, 0x68, 0x65, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x61, 0x64, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x69, 0x6e, 0xa, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x67, 0x6c, 0x79, 0x70, 0x68, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x73, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0xa, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x67, 0x6c, 0x79, 0x70, 0x68, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x61, 0x64, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0xa, 0x46, 0x6f, 0x6e, 0x74, 0x73, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x6e, 0x74, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0xa, 0x74, 0x68, 0x65, 0x20, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x20, 0x22, 0x54, 0x61, 0x76, 0x6d, 0x6a, 0x6f, 0x6e, 0x67, 0x20, 0x42, 0x61, 0x68, 0x22, 0x20, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x6f, 0x72, 0x64, 0x20, 0x22, 0x41, 0x72, 0x65, 0x76, 0x22, 0x2e, 0xa, 0xa, 0x54, 0x68, 0x69, 0x73, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x20, 0x62, 0x65, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x20, 0x6e, 0x75, 0x6c, 0x6c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x73, 0xa, 0x6f, 0x72, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x73, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x69, 0x73, 0x20, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0xa, 0x22, 0x54, 0x61, 0x76, 0x6d, 0x6a, 0x6f, 0x6e, 0x67, 0x20, 0x42, 0x61, 0x68, 0x20, 0x41, 0x72, 0x65, 0x76, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0xa, 0xa, 0x54, 0x68, 0x65, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x73, 0x6f, 0x6c, 0x64, 0x20, 0x61, 0x73, 0x20, 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x20, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x20, 0x62, 0x75, 0x74, 0xa, 0x6e, 0x6f, 0x20, 0x63, 0x6f, 0x70, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x66, 0x61, 0x63, 0x65, 0x73, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x73, 0x6f, 0x6c, 0x64, 0x20, 0x62, 0x79, 0xa, 0x69, 0x74, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0xa, 0xa, 0x54, 0x48, 0x45, 0x20, 0x46, 0x4f, 0x4e, 0x54, 0x20, 0x53, 0x4f, 0x46, 0x54, 0x57, 0x41, 0x52, 0x45, 0x20, 0x49, 0x53, 0x20, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x44, 0x20, 0x22, 0x41, 0x53, 0x20, 0x49, 0x53, 0x22, 0x2c, 0x20, 0x57, 0x49, 0x54, 0x48, 0x4f, 0x55, 0x54, 0x20, 0x57, 0x41, 0x52, 0x52, 0x41, 0x4e, 0x54, 0x59, 0x20, 0x4f, 0x46, 0x20, 0x41, 0x4e, 0x59, 0x20, 0x4b, 0x49, 0x4e, 0x44, 0x2c, 0xa, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x20, 0x4f, 0x52, 0x20, 0x49, 0x4d, 0x50, 0x4c, 0x49, 0x45, 0x44, 0x2c, 0x20, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x49, 0x4e, 0x47, 0x20, 0x42, 0x55, 0x54, 0x20, 0x4e, 0x4f, 0x54, 0x20, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x45, 0x44, 0x20, 0x54, 0x4f, 0x20, 0x41, 0x4e, 0x59, 0x20, 0x57, 0x41, 0x52, 0x52, 0x41, 0x4e, 0x54, 0x49, 0x45, 0x53, 0x20, 0x4f, 0x46, 0xa, 0x4d, 0x45, 0x52, 0x43, 0x48, 0x41, 0x4e, 0x54, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x2c, 0x20, 0x46, 0x49, 0x54, 0x4e, 0x45, 0x53, 0x53, 0x20, 0x46, 0x4f, 0x52, 0x20, 0x41, 0x20, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x55, 0x4c, 0x41, 0x52, 0x20, 0x50, 0x55, 0x52, 0x50, 0x4f, 0x53, 0x45, 0x20, 0x41, 0x4e, 0x44, 0x20, 0x4e, 0x4f, 0x4e, 0x49, 0x4e, 0x46, 0x52, 0x49, 0x4e, 0x47, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0xa, 0x4f, 0x46, 0x20, 0x43, 0x4f, 0x50, 0x59, 0x52, 0x49, 0x47, 0x48, 0x54, 0x2c, 0x20, 0x50, 0x41, 0x54, 0x45, 0x4e, 0x54, 0x2c, 0x20, 0x54, 0x52, 0x41, 0x44, 0x45, 0x4d, 0x41, 0x52, 0x4b, 0x2c, 0x20, 0x4f, 0x52, 0x20, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x20, 0x52, 0x49, 0x47, 0x48, 0x54, 0x2e, 0x20, 0x49, 0x4e, 0x20, 0x4e, 0x4f, 0x20, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x20, 0x53, 0x48, 0x41, 0x4c, 0x4c, 0xa, 0x54, 0x41, 0x56, 0x4d, 0x4a, 0x4f, 0x4e, 0x47, 0x20, 0x42, 0x41, 0x48, 0x20, 0x42, 0x45, 0x20, 0x4c, 0x49, 0x41, 0x42, 0x4c, 0x45, 0x20, 0x46, 0x4f, 0x52, 0x20, 0x41, 0x4e, 0x59, 0x20, 0x43, 0x4c, 0x41, 0x49, 0x4d, 0x2c, 0x20, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x53, 0x20, 0x4f, 0x52, 0x20, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x20, 0x4c, 0x49, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x2c, 0xa, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x49, 0x4e, 0x47, 0x20, 0x41, 0x4e, 0x59, 0x20, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x4c, 0x2c, 0x20, 0x53, 0x50, 0x45, 0x43, 0x49, 0x41, 0x4c, 0x2c, 0x20, 0x49, 0x4e, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x2c, 0x20, 0x49, 0x4e, 0x43, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x41, 0x4c, 0x2c, 0x20, 0x4f, 0x52, 0x20, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0xa, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x53, 0x2c, 0x20, 0x57, 0x48, 0x45, 0x54, 0x48, 0x45, 0x52, 0x20, 0x49, 0x4e, 0x20, 0x41, 0x4e, 0x20, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x20, 0x4f, 0x46, 0x20, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x41, 0x43, 0x54, 0x2c, 0x20, 0x54, 0x4f, 0x52, 0x54, 0x20, 0x4f, 0x52, 0x20, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x57, 0x49, 0x53, 0x45, 0x2c, 0x20, 0x41, 0x52, 0x49, 0x53, 0x49, 0x4e, 0x47, 0xa, 0x46, 0x52, 0x4f, 0x4d, 0x2c, 0x20, 0x4f, 0x55, 0x54, 0x20, 0x4f, 0x46, 0x20, 0x54, 0x48, 0x45, 0x20, 0x55, 0x53, 0x45, 0x20, 0x4f, 0x52, 0x20, 0x49, 0x4e, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x20, 0x54, 0x4f, 0x20, 0x55, 0x53, 0x45, 0x20, 0x54, 0x48, 0x45, 0x20, 0x46, 0x4f, 0x4e, 0x54, 0x20, 0x53, 0x4f, 0x46, 0x54, 0x57, 0x41, 0x52, 0x45, 0x20, 0x4f, 0x52, 0x20, 0x46, 0x52, 0x4f, 0x4d, 0xa, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x20, 0x44, 0x45, 0x41, 0x4c, 0x49, 0x4e, 0x47, 0x53, 0x20, 0x49, 0x4e, 0x20, 0x54, 0x48, 0x45, 0x20, 0x46, 0x4f, 0x4e, 0x54, 0x20, 0x53, 0x4f, 0x46, 0x54, 0x57, 0x41, 0x52, 0x45, 0x2e, 0xa, 0xa, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x61, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x54, 0x61, 0x76, 0x6d, 0x6a, 0x6f, 0x6e, 0x67, 0x20, 0x42, 0x61, 0x68, 0x20, 0x73, 0x68, 0x61, 0x6c, 0x6c, 0x20, 0x6e, 0x6f, 0x74, 0xa, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x72, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x77, 0x69, 0x73, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6c, 0x65, 0x2c, 0x20, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0xa, 0x64, 0x65, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x20, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x20, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0xa, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x54, 0x61, 0x76, 0x6d, 0x6a, 0x6f, 0x6e, 0x67, 0x20, 0x42, 0x61, 0x68, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x66, 0x75, 0x72, 0x74, 0x68, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x3a, 0x20, 0x74, 0x61, 0x76, 0x6d, 0x6a, 0x6f, 0x6e, 0x67, 0x20, 0x40, 0x20, 0x66, 0x72, 0x65, 0x65, 0xa, 0x2e, 0x20, 0x66, 0x72, 0x2e, 0x0, 0x0, 0x68, 0x0, 0x74, 0x0, 0x74, 0x0, 0x70, 0x0, 0x3a, 0x0, 0x2f, 0x0, 0x2f, 0x0, 0x64, 0x0, 0x65, 0x0, 0x6a, 0x0, 0x61, 0x0, 0x76, 0x0, 0x75, 0x0, 0x2e, 0x0, 0x73, 0x0, 0x6f, 0x0, 0x75, 0x0, 0x72, 0x0, 0x63, 0x0, 0x65, 0x0, 0x66, 0x0, 0x6f, 0x0, 0x72, 0x0, 0x67, 0x0, 0x65, 0x0, 0x2e, 0x0, 0x6e, 0x0, 0x65, 0x0, 0x74, 0x0, 0x2f, 0x0, 0x77, 0x0, 0x69, 0x0, 0x6b, 0x0, 0x69, 0x0, 0x2f, 0x0, 0x69, 0x0, 0x6e, 0x0, 0x64, 0x0, 0x65, 0x0, 0x78, 0x0, 0x2e, 0x0, 0x70, 0x0, 0x68, 0x0, 0x70, 0x0, 0x2f, 0x0, 0x4c, 0x0, 0x69, 0x0, 0x63, 0x0, 0x65, 0x0, 0x6e, 0x0, 0x73, 0x0, 0x65, 0x0, 0x0, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x64, 0x65, 0x6a, 0x61, 0x76, 0x75, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x66, 0x6f, 0x72, 0x67, 0x65, 0x2e, 0x6e, 0x65, 0x74, 0x2f, 0x77, 0x69, 0x6b, 0x69, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x70, 0x68, 0x70, 0x2f, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x0, 0x0, 0x44, 0x0, 0x65, 0x0, 0x6a, 0x0, 0x61, 0x0, 0x56, 0x0, 0x75, 0x0, 0x20, 0x0, 0x53, 0x0, 0x61, 0x0, 0x6e, 0x0, 0x73, 0x0, 0x0, 0x44, 0x65, 0x6a, 0x61, 0x56, 0x75, 0x20, 0x53, 0x61, 0x6e, 0x73, 0x0, 0x0, 0x42, 0x0, 0x6f, 0x0, 0x6f, 0x0, 0x6b, 0x0, 0x0, 0x42, 0x6f, 0x6f, 0x6b, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x7e, 0x0, 0x5a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x17, 0xdc, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2, 0x0, 0x3, 0x0, 0x4, 0x0, 0x5, 0x0, 0x6, 0x0, 0x7, 0x0, 0x8, 0x0, 0x9, 0x0, 0xa, 0x0, 0xb, 0x0, 0xc, 0x0, 0xd, 0x0, 0xe, 0x0, 0xf, 0x0, 0x10, 0x0, 0x11, 0x0, 0x12, 0x0, 0x13, 0x0, 0x14, 0x0, 0x15, 0x0, 0x16, 0x0, 0x17, 0x0, 0x18, 0x0, 0x19, 0x0, 0x1a, 0x0, 0x1b, 0x0, 0x1c, 0x0, 0x1d, 0x0, 0x1e, 0x0, 0x1f, 0x0, 0x20, 0x0, 0x21, 0x0, 0x22, 0x0, 0x23, 0x0, 0x24, 0x0, 0x25, 0x0, 0x26, 0x0, 0x27, 0x0, 0x28, 0x0, 0x29, 0x0, 0x2a, 0x0, 0x2b, 0x0, 0x2c, 0x0, 0x2d, 0x0, 0x2e, 0x0, 0x2f, 0x0, 0x30, 0x0, 0x31, 0x0, 0x32, 0x0, 0x33, 0x0, 0x34, 0x0, 0x35, 0x0, 0x36, 0x0, 0x37, 0x0, 0x38, 0x0, 0x39, 0x0, 0x3a, 0x0, 0x3b, 0x0, 0x3c, 0x0, 0x3d, 0x0, 0x3e, 0x0, 0x3f, 0x0, 0x40, 0x0, 0x41, 0x0, 0x42, 0x0, 0x43, 0x0, 0x44, 0x0, 0x45, 0x0, 0x46, 0x0, 0x47, 0x0, 0x48, 0x0, 0x49, 0x0, 0x4a, 0x0, 0x4b, 0x0, 0x4c, 0x0, 0x4d, 0x0, 0x4e, 0x0, 0x4f, 0x0, 0x50, 0x0, 0x51, 0x0, 0x52, 0x0, 0x53, 0x0, 0x54, 0x0, 0x55, 0x0, 0x56, 0x0, 0x57, 0x0, 0x58, 0x0, 0x59, 0x0, 0x5a, 0x0, 0x5b, 0x0, 0x5c, 0x0, 0x5d, 0x0, 0x5e, 0x0, 0x5f, 0x0, 0x60, 0x0, 0x61, 0x0, 0xac, 0x0, 0xa3, 0x0, 0x84, 0x0, 0x85, 0x0, 0xbd, 0x0, 0x96, 0x0, 0xe8, 0x0, 0x86, 0x0, 0x8e, 0x0, 0x8b, 0x0, 0x9d, 0x0, 0xa9, 0x0, 0xa4, 0x1, 0x2, 0x0, 0x8a, 0x0, 0xda, 0x0, 0x83, 0x0, 0x93, 0x0, 0xf2, 0x0, 0xf3, 0x0, 0x8d, 0x0, 0x97, 0x0, 0x88, 0x0, 0xc3, 0x0, 0xde, 0x0, 0xf1, 0x0, 0x9e, 0x0, 0xaa, 0x0, 0xf5, 0x0, 0xf4, 0x0, 0xf6, 0x0, 0xa2, 0x0, 0xad, 0x0, 0xc9, 0x0, 0xc7, 0x0, 0xae, 0x0, 0x62, 0x0, 0x63, 0x0, 0x90, 0x0, 0x64, 0x0, 0xcb, 0x0, 0x65, 0x0, 0xc8, 0x0, 0xca, 0x0, 0xcf, 0x0, 0xcc, 0x0, 0xcd, 0x0, 0xce, 0x0, 0xe9, 0x0, 0x66, 0x0, 0xd3, 0x0, 0xd0, 0x0, 0xd1, 0x0, 0xaf, 0x0, 0x67, 0x0, 0xf0, 0x0, 0x91, 0x0, 0xd6, 0x0, 0xd4, 0x0, 0xd5, 0x0, 0x68, 0x0, 0xeb, 0x0, 0xed, 0x0, 0x89, 0x0, 0x6a, 0x0, 0x69, 0x0, 0x6b, 0x0, 0x6d, 0x0, 0x6c, 0x0, 0x6e, 0x0, 0xa0, 0x0, 0x6f, 0x0, 0x71, 0x0, 0x70, 0x0, 0x72, 0x0, 0x73, 0x0, 0x75, 0x0, 0x74, 0x0, 0x76, 0x0, 0x77, 0x0, 0xea, 0x0, 0x78, 0x0, 0x7a, 0x0, 0x79, 0x0, 0x7b, 0x0, 0x7d, 0x0, 0x7c, 0x0, 0xb8, 0x0, 0xa1, 0x0, 0x7f, 0x0, 0x7e, 0x0, 0x80, 0x0, 0x81, 0x0, 0xec, 0x0, 0xee, 0x0, 0xba, 0x1, 0x3, 0x1, 0x4, 0x1, 0x5, 0x1, 0x6, 0x1, 0x7, 0x1, 0x8, 0x0, 0xfd, 0x0, 0xfe, 0x1, 0x9, 0x1, 0xa, 0x1, 0xb, 0x1, 0xc, 0x0, 0xff, 0x1, 0x0, 0x1, 0xd, 0x1, 0xe, 0x1, 0xf, 0x1, 0x1, 0x1, 0x10, 0x1, 0x11, 0x1, 0x12, 0x1, 0x13, 0x1, 0x14, 0x1, 0x15, 0x1, 0x16, 0x1, 0x17, 0x1, 0x18, 0x1, 0x19, 0x1, 0x1a, 0x1, 0x1b, 0x0, 0xf8, 0x0, 0xf9, 0x1, 0x1c, 0x1, 0x1d, 0x1, 0x1e, 0x1, 0x1f, 0x1, 0x20, 0x1, 0x21, 0x1, 0x22, 0x1, 0x23, 0x1, 0x24, 0x1, 0x25, 0x1, 0x26, 0x1, 0x27, 0x1, 0x28, 0x1, 0x29, 0x1, 0x2a, 0x1, 0x2b, 0x0, 0xfa, 0x0, 0xd7, 0x1, 0x2c, 0x1, 0x2d, 0x1, 0x2e, 0x1, 0x2f, 0x1, 0x30, 0x1, 0x31, 0x1, 0x32, 0x1, 0x33, 0x1, 0x34, 0x1, 0x35, 0x1, 0x36, 0x1, 0x37, 0x1, 0x38, 0x1, 0x39, 0x1, 0x3a, 0x0, 0xe2, 0x0, 0xe3, 0x1, 0x3b, 0x1, 0x3c, 0x1, 0x3d, 0x1, 0x3e, 0x1, 0x3f, 0x1, 0x40, 0x1, 0x41, 0x1, 0x42, 0x1, 0x43, 0x1, 0x44, 0x1, 0x45, 0x1, 0x46, 0x1, 0x47, 0x1, 0x48, 0x1, 0x49, 0x0, 0xb0, 0x0, 0xb1, 0x1, 0x4a, 0x1, 0x4b, 0x1, 0x4c, 0x1, 0x4d, 0x1, 0x4e, 0x1, 0x4f, 0x1, 0x50, 0x1, 0x51, 0x1, 0x52, 0x1, 0x53, 0x0, 0xfb, 0x0, 0xfc, 0x0, 0xe4, 0x0, 0xe5, 0x1, 0x54, 0x1, 0x55, 0x1, 0x56, 0x1, 0x57, 0x1, 0x58, 0x1, 0x59, 0x1, 0x5a, 0x1, 0x5b, 0x1, 0x5c, 0x1, 0x5d, 0x1, 0x5e, 0x1, 0x5f, 0x1, 0x60, 0x1, 0x61, 0x1, 0x62, 0x1, 0x63, 0x1, 0x64, 0x1, 0x65, 0x1, 0x66, 0x1, 0x67, 0x1, 0x68, 0x1, 0x69, 0x0, 0xbb, 0x1, 0x6a, 0x1, 0x6b, 0x1, 0x6c, 0x1, 0x6d, 0x0, 0xe6, 0x0, 0xe7, 0x1, 0x6e, 0x1, 0x6f, 0x1, 0x70, 0x1, 0x71, 0x1, 0x72, 0x1, 0x73, 0x1, 0x74, 0x1, 0x75, 0x1, 0x76, 0x1, 0x77, 0x1, 0x78, 0x1, 0x79, 0x1, 0x7a, 0x1, 0x7b, 0x1, 0x7c, 0x1, 0x7d, 0x1, 0x7e, 0x1, 0x7f, 0x1, 0x80, 0x0, 0xa6, 0x1, 0x81, 0x1, 0x82, 0x1, 0x83, 0x1, 0x84, 0x1, 0x85, 0x1, 0x86, 0x1, 0x87, 0x1, 0x88, 0x1, 0x89, 0x1, 0x8a, 0x1, 0x8b, 0x1, 0x8c, 0x1, 0x8d, 0x1, 0x8e, 0x1, 0x8f, 0x1, 0x90, 0x1, 0x91, 0x1, 0x92, 0x1, 0x93, 0x1, 0x94, 0x1, 0x95, 0x1, 0x96, 0x1, 0x97, 0x1, 0x98, 0x1, 0x99, 0x1, 0x9a, 0x1, 0x9b, 0x1, 0x9c, 0x1, 0x9d, 0x1, 0x9e, 0x1, 0x9f, 0x1, 0xa0, 0x1, 0xa1, 0x1, 0xa2, 0x1, 0xa3, 0x1, 0xa4, 0x1, 0xa5, 0x1, 0xa6, 0x1, 0xa7, 0x1, 0xa8, 0x1, 0xa9, 0x1, 0xaa, 0x1, 0xab, 0x1, 0xac, 0x1, 0xad, 0x1, 0xae, 0x1, 0xaf, 0x1, 0xb0, 0x1, 0xb1, 0x1, 0xb2, 0x1, 0xb3, 0x1, 0xb4, 0x1, 0xb5, 0x1, 0xb6, 0x1, 0xb7, 0x1, 0xb8, 0x1, 0xb9, 0x1, 0xba, 0x1, 0xbb, 0x1, 0xbc, 0x1, 0xbd, 0x1, 0xbe, 0x1, 0xbf, 0x1, 0xc0, 0x1, 0xc1, 0x1, 0xc2, 0x1, 0xc3, 0x1, 0xc4, 0x1, 0xc5, 0x1, 0xc6, 0x1, 0xc7, 0x1, 0xc8, 0x1, 0xc9, 0x1, 0xca, 0x1, 0xcb, 0x1, 0xcc, 0x1, 0xcd, 0x1, 0xce, 0x1, 0xcf, 0x1, 0xd0, 0x1, 0xd1, 0x1, 0xd2, 0x1, 0xd3, 0x1, 0xd4, 0x1, 0xd5, 0x1, 0xd6, 0x1, 0xd7, 0x1, 0xd8, 0x1, 0xd9, 0x1, 0xda, 0x1, 0xdb, 0x1, 0xdc, 0x1, 0xdd, 0x1, 0xde, 0x1, 0xdf, 0x1, 0xe0, 0x1, 0xe1, 0x1, 0xe2, 0x1, 0xe3, 0x1, 0xe4, 0x1, 0xe5, 0x1, 0xe6, 0x1, 0xe7, 0x1, 0xe8, 0x1, 0xe9, 0x1, 0xea, 0x1, 0xeb, 0x1, 0xec, 0x1, 0xed, 0x1, 0xee, 0x1, 0xef, 0x1, 0xf0, 0x1, 0xf1, 0x1, 0xf2, 0x1, 0xf3, 0x1, 0xf4, 0x1, 0xf5, 0x1, 0xf6, 0x1, 0xf7, 0x1, 0xf8, 0x1, 0xf9, 0x1, 0xfa, 0x1, 0xfb, 0x1, 0xfc, 0x1, 0xfd, 0x1, 0xfe, 0x1, 0xff, 0x2, 0x0, 0x2, 0x1, 0x2, 0x2, 0x2, 0x3, 0x2, 0x4, 0x2, 0x5, 0x2, 0x6, 0x2, 0x7, 0x2, 0x8, 0x2, 0x9, 0x2, 0xa, 0x2, 0xb, 0x2, 0xc, 0x2, 0xd, 0x2, 0xe, 0x2, 0xf, 0x2, 0x10, 0x2, 0x11, 0x2, 0x12, 0x2, 0x13, 0x2, 0x14, 0x2, 0x15, 0x2, 0x16, 0x2, 0x17, 0x2, 0x18, 0x2, 0x19, 0x2, 0x1a, 0x2, 0x1b, 0x2, 0x1c, 0x2, 0x1d, 0x2, 0x1e, 0x2, 0x1f, 0x2, 0x20, 0x2, 0x21, 0x2, 0x22, 0x2, 0x23, 0x2, 0x24, 0x2, 0x25, 0x2, 0x26, 0x2, 0x27, 0x2, 0x28, 0x2, 0x29, 0x2, 0x2a, 0x2, 0x2b, 0x2, 0x2c, 0x2, 0x2d, 0x2, 0x2e, 0x2, 0x2f, 0x2, 0x30, 0x2, 0x31, 0x2, 0x32, 0x2, 0x33, 0x2, 0x34, 0x2, 0x35, 0x2, 0x36, 0x2, 0x37, 0x2, 0x38, 0x2, 0x39, 0x2, 0x3a, 0x2, 0x3b, 0x2, 0x3c, 0x2, 0x3d, 0x2, 0x3e, 0x2, 0x3f, 0x2, 0x40, 0x2, 0x41, 0x2, 0x42, 0x2, 0x43, 0x2, 0x44, 0x2, 0x45, 0x2, 0x46, 0x2, 0x47, 0x2, 0x48, 0x2, 0x49, 0x2, 0x4a, 0x2, 0x4b, 0x2, 0x4c, 0x2, 0x4d, 0x2, 0x4e, 0x2, 0x4f, 0x2, 0x50, 0x2, 0x51, 0x2, 0x52, 0x2, 0x53, 0x2, 0x54, 0x2, 0x55, 0x2, 0x56, 0x2, 0x57, 0x2, 0x58, 0x2, 0x59, 0x2, 0x5a, 0x2, 0x5b, 0x2, 0x5c, 0x2, 0x5d, 0x2, 0x5e, 0x2, 0x5f, 0x2, 0x60, 0x2, 0x61, 0x2, 0x62, 0x2, 0x63, 0x2, 0x64, 0x2, 0x65, 0x2, 0x66, 0x2, 0x67, 0x2, 0x68, 0x2, 0x69, 0x2, 0x6a, 0x2, 0x6b, 0x2, 0x6c, 0x2, 0x6d, 0x2, 0x6e, 0x2, 0x6f, 0x2, 0x70, 0x2, 0x71, 0x2, 0x72, 0x2, 0x73, 0x2, 0x74, 0x2, 0x75, 0x2, 0x76, 0x2, 0x77, 0x2, 0x78, 0x2, 0x79, 0x2, 0x7a, 0x2, 0x7b, 0x2, 0x7c, 0x2, 0x7d, 0x2, 0x7e, 0x2, 0x7f, 0x2, 0x80, 0x2, 0x81, 0x2, 0x82, 0x2, 0x83, 0x2, 0x84, 0x2, 0x85, 0x2, 0x86, 0x2, 0x87, 0x2, 0x88, 0x2, 0x89, 0x2, 0x8a, 0x2, 0x8b, 0x2, 0x8c, 0x2, 0x8d, 0x2, 0x8e, 0x2, 0x8f, 0x2, 0x90, 0x2, 0x91, 0x2, 0x92, 0x2, 0x93, 0x2, 0x94, 0x2, 0x95, 0x2, 0x96, 0x2, 0x97, 0x2, 0x98, 0x2, 0x99, 0x2, 0x9a, 0x2, 0x9b, 0x2, 0x9c, 0x2, 0x9d, 0x2, 0x9e, 0x2, 0x9f, 0x2, 0xa0, 0x2, 0xa1, 0x2, 0xa2, 0x2, 0xa3, 0x2, 0xa4, 0x2, 0xa5, 0x2, 0xa6, 0x2, 0xa7, 0x2, 0xa8, 0x2, 0xa9, 0x2, 0xaa, 0x2, 0xab, 0x2, 0xac, 0x2, 0xad, 0x2, 0xae, 0x2, 0xaf, 0x2, 0xb0, 0x2, 0xb1, 0x2, 0xb2, 0x2, 0xb3, 0x0, 0xd8, 0x0, 0xe1, 0x2, 0xb4, 0x2, 0xb5, 0x2, 0xb6, 0x2, 0xb7, 0x2, 0xb8, 0x2, 0xb9, 0x2, 0xba, 0x2, 0xbb, 0x2, 0xbc, 0x2, 0xbd, 0x2, 0xbe, 0x2, 0xbf, 0x2, 0xc0, 0x2, 0xc1, 0x2, 0xc2, 0x2, 0xc3, 0x0, 0xdb, 0x0, 0xdc, 0x0, 0xdd, 0x0, 0xe0, 0x0, 0xd9, 0x0, 0xdf, 0x2, 0xc4, 0x2, 0xc5, 0x2, 0xc6, 0x2, 0xc7, 0x2, 0xc8, 0x2, 0xc9, 0x2, 0xca, 0x2, 0xcb, 0x2, 0xcc, 0x2, 0xcd, 0x2, 0xce, 0x2, 0xcf, 0x2, 0xd0, 0x2, 0xd1, 0x2, 0xd2, 0x2, 0xd3, 0x2, 0xd4, 0x2, 0xd5, 0x2, 0xd6, 0x2, 0xd7, 0x2, 0xd8, 0x2, 0xd9, 0x2, 0xda, 0x2, 0xdb, 0x2, 0xdc, 0x2, 0xdd, 0x2, 0xde, 0x2, 0xdf, 0x2, 0xe0, 0x2, 0xe1, 0x2, 0xe2, 0x2, 0xe3, 0x2, 0xe4, 0x2, 0xe5, 0x2, 0xe6, 0x2, 0xe7, 0x2, 0xe8, 0x2, 0xe9, 0x2, 0xea, 0x2, 0xeb, 0x2, 0xec, 0x2, 0xed, 0x2, 0xee, 0x2, 0xef, 0x2, 0xf0, 0x2, 0xf1, 0x2, 0xf2, 0x2, 0xf3, 0x2, 0xf4, 0x2, 0xf5, 0x2, 0xf6, 0x2, 0xf7, 0x2, 0xf8, 0x2, 0xf9, 0x2, 0xfa, 0x2, 0xfb, 0x2, 0xfc, 0x2, 0xfd, 0x2, 0xfe, 0x2, 0xff, 0x3, 0x0, 0x3, 0x1, 0x3, 0x2, 0x3, 0x3, 0x3, 0x4, 0x3, 0x5, 0x3, 0x6, 0x3, 0x7, 0x3, 0x8, 0x3, 0x9, 0x3, 0xa, 0x3, 0xb, 0x3, 0xc, 0x3, 0xd, 0x3, 0xe, 0x3, 0xf, 0x3, 0x10, 0x3, 0x11, 0x3, 0x12, 0x3, 0x13, 0x3, 0x14, 0x3, 0x15, 0x3, 0x16, 0x3, 0x17, 0x3, 0x18, 0x3, 0x19, 0x3, 0x1a, 0x3, 0x1b, 0x3, 0x1c, 0x3, 0x1d, 0x3, 0x1e, 0x3, 0x1f, 0x3, 0x20, 0x3, 0x21, 0x3, 0x22, 0x3, 0x23, 0x3, 0x24, 0x3, 0x25, 0x3, 0x26, 0x3, 0x27, 0x3, 0x28, 0x3, 0x29, 0x3, 0x2a, 0x3, 0x2b, 0x3, 0x2c, 0x3, 0x2d, 0x3, 0x2e, 0x3, 0x2f, 0x3, 0x30, 0x3, 0x31, 0x3, 0x32, 0x3, 0x33, 0x3, 0x34, 0x3, 0x35, 0x3, 0x36, 0x3, 0x37, 0x3, 0x38, 0x3, 0x39, 0x3, 0x3a, 0x3, 0x3b, 0x3, 0x3c, 0x3, 0x3d, 0x3, 0x3e, 0x3, 0x3f, 0x3, 0x40, 0x3, 0x41, 0x3, 0x42, 0x3, 0x43, 0x3, 0x44, 0x3, 0x45, 0x3, 0x46, 0x3, 0x47, 0x3, 0x48, 0x3, 0x49, 0x3, 0x4a, 0x3, 0x4b, 0x3, 0x4c, 0x3, 0x4d, 0x3, 0x4e, 0x3, 0x4f, 0x3, 0x50, 0x3, 0x51, 0x3, 0x52, 0x3, 0x53, 0x3, 0x54, 0x3, 0x55, 0x3, 0x56, 0x3, 0x57, 0x3, 0x58, 0x3, 0x59, 0x3, 0x5a, 0x3, 0x5b, 0x3, 0x5c, 0x3, 0x5d, 0x3, 0x5e, 0x3, 0x5f, 0x3, 0x60, 0x0, 0x9f, 0x3, 0x61, 0x3, 0x62, 0x3, 0x63, 0x3, 0x64, 0x3, 0x65, 0x3, 0x66, 0x3, 0x67, 0x3, 0x68, 0x3, 0x69, 0x3, 0x6a, 0x3, 0x6b, 0x3, 0x6c, 0x3, 0x6d, 0x3, 0x6e, 0x3, 0x6f, 0x3, 0x70, 0x3, 0x71, 0x3, 0x72, 0x3, 0x73, 0x3, 0x74, 0x3, 0x75, 0x3, 0x76, 0x0, 0x9b, 0x3, 0x77, 0x3, 0x78, 0x3, 0x79, 0x3, 0x7a, 0x3, 0x7b, 0x3, 0x7c, 0x3, 0x7d, 0x3, 0x7e, 0x3, 0x7f, 0x3, 0x80, 0x3, 0x81, 0x3, 0x82, 0x3, 0x83, 0x3, 0x84, 0x3, 0x85, 0x3, 0x86, 0x3, 0x87, 0x3, 0x88, 0x3, 0x89, 0x3, 0x8a, 0x3, 0x8b, 0x3, 0x8c, 0x3, 0x8d, 0x3, 0x8e, 0x3, 0x8f, 0x3, 0x90, 0x3, 0x91, 0x3, 0x92, 0x3, 0x93, 0x3, 0x94, 0x3, 0x95, 0x3, 0x96, 0x3, 0x97, 0x3, 0x98, 0x3, 0x99, 0x3, 0x9a, 0x3, 0x9b, 0x3, 0x9c, 0x3, 0x9d, 0x3, 0x9e, 0x3, 0x9f, 0x3, 0xa0, 0x3, 0xa1, 0x3, 0xa2, 0x3, 0xa3, 0x3, 0xa4, 0x3, 0xa5, 0x3, 0xa6, 0x3, 0xa7, 0x3, 0xa8, 0x3, 0xa9, 0x3, 0xaa, 0x3, 0xab, 0x3, 0xac, 0x3, 0xad, 0x3, 0xae, 0x3, 0xaf, 0x3, 0xb0, 0x3, 0xb1, 0x3, 0xb2, 0x3, 0xb3, 0x3, 0xb4, 0x3, 0xb5, 0x3, 0xb6, 0x3, 0xb7, 0x3, 0xb8, 0x3, 0xb9, 0x3, 0xba, 0x3, 0xbb, 0x3, 0xbc, 0x3, 0xbd, 0x3, 0xbe, 0x3, 0xbf, 0x3, 0xc0, 0x3, 0xc1, 0x3, 0xc2, 0x3, 0xc3, 0x3, 0xc4, 0x3, 0xc5, 0x3, 0xc6, 0x3, 0xc7, 0x3, 0xc8, 0x3, 0xc9, 0x3, 0xca, 0x3, 0xcb, 0x3, 0xcc, 0x3, 0xcd, 0x3, 0xce, 0x3, 0xcf, 0x3, 0xd0, 0x3, 0xd1, 0x3, 0xd2, 0x3, 0xd3, 0x3, 0xd4, 0x3, 0xd5, 0x3, 0xd6, 0x3, 0xd7, 0x3, 0xd8, 0x3, 0xd9, 0x3, 0xda, 0x3, 0xdb, 0x3, 0xdc, 0x3, 0xdd, 0x3, 0xde, 0x3, 0xdf, 0x3, 0xe0, 0x3, 0xe1, 0x3, 0xe2, 0x3, 0xe3, 0x3, 0xe4, 0x3, 0xe5, 0x3, 0xe6, 0x3, 0xe7, 0x3, 0xe8, 0x3, 0xe9, 0x3, 0xea, 0x3, 0xeb, 0x3, 0xec, 0x3, 0xed, 0x3, 0xee, 0x3, 0xef, 0x3, 0xf0, 0x3, 0xf1, 0x3, 0xf2, 0x3, 0xf3, 0x3, 0xf4, 0x3, 0xf5, 0x3, 0xf6, 0x3, 0xf7, 0x3, 0xf8, 0x3, 0xf9, 0x3, 0xfa, 0x3, 0xfb, 0x3, 0xfc, 0x3, 0xfd, 0x3, 0xfe, 0x3, 0xff, 0x4, 0x0, 0x4, 0x1, 0x4, 0x2, 0x4, 0x3, 0x4, 0x4, 0x4, 0x5, 0x4, 0x6, 0x4, 0x7, 0x4, 0x8, 0x4, 0x9, 0x4, 0xa, 0x4, 0xb, 0x4, 0xc, 0x4, 0xd, 0x4, 0xe, 0x4, 0xf, 0x4, 0x10, 0x4, 0x11, 0x4, 0x12, 0x4, 0x13, 0x4, 0x14, 0x4, 0x15, 0x4, 0x16, 0x4, 0x17, 0x4, 0x18, 0x4, 0x19, 0x4, 0x1a, 0x4, 0x1b, 0x4, 0x1c, 0x4, 0x1d, 0x4, 0x1e, 0x4, 0x1f, 0x4, 0x20, 0x4, 0x21, 0x4, 0x22, 0x4, 0x23, 0x4, 0x24, 0x4, 0x25, 0x4, 0x26, 0x4, 0x27, 0x4, 0x28, 0x4, 0x29, 0x4, 0x2a, 0x4, 0x2b, 0x4, 0x2c, 0x4, 0x2d, 0x4, 0x2e, 0x4, 0x2f, 0x4, 0x30, 0x4, 0x31, 0x4, 0x32, 0x4, 0x33, 0x4, 0x34, 0x4, 0x35, 0x4, 0x36, 0x4, 0x37, 0x4, 0x38, 0x4, 0x39, 0x4, 0x3a, 0x4, 0x3b, 0x4, 0x3c, 0x4, 0x3d, 0x4, 0x3e, 0x4, 0x3f, 0x4, 0x40, 0x4, 0x41, 0x4, 0x42, 0x4, 0x43, 0x4, 0x44, 0x4, 0x45, 0x4, 0x46, 0x4, 0x47, 0x4, 0x48, 0x4, 0x49, 0x4, 0x4a, 0x4, 0x4b, 0x4, 0x4c, 0x4, 0x4d, 0x4, 0x4e, 0x4, 0x4f, 0x4, 0x50, 0x4, 0x51, 0x4, 0x52, 0x4, 0x53, 0x4, 0x54, 0x4, 0x55, 0x4, 0x56, 0x4, 0x57, 0x4, 0x58, 0x4, 0x59, 0x4, 0x5a, 0x4, 0x5b, 0x4, 0x5c, 0x4, 0x5d, 0x4, 0x5e, 0x4, 0x5f, 0x4, 0x60, 0x4, 0x61, 0x4, 0x62, 0x4, 0x63, 0x4, 0x64, 0x4, 0x65, 0x4, 0x66, 0x4, 0x67, 0x4, 0x68, 0x4, 0x69, 0x4, 0x6a, 0x4, 0x6b, 0x4, 0x6c, 0x4, 0x6d, 0x4, 0x6e, 0x4, 0x6f, 0x4, 0x70, 0x4, 0x71, 0x4, 0x72, 0x4, 0x73, 0x4, 0x74, 0x4, 0x75, 0x4, 0x76, 0x4, 0x77, 0x4, 0x78, 0x4, 0x79, 0x4, 0x7a, 0x4, 0x7b, 0x4, 0x7c, 0x4, 0x7d, 0x4, 0x7e, 0x4, 0x7f, 0x4, 0x80, 0x4, 0x81, 0x4, 0x82, 0x4, 0x83, 0x4, 0x84, 0x4, 0x85, 0x4, 0x86, 0x4, 0x87, 0x4, 0x88, 0x4, 0x89, 0x4, 0x8a, 0x4, 0x8b, 0x4, 0x8c, 0x4, 0x8d, 0x4, 0x8e, 0x4, 0x8f, 0x4, 0x90, 0x4, 0x91, 0x4, 0x92, 0x4, 0x93, 0x4, 0x94, 0x4, 0x95, 0x4, 0x96, 0x4, 0x97, 0x4, 0x98, 0x4, 0x99, 0x4, 0x9a, 0x4, 0x9b, 0x4, 0x9c, 0x4, 0x9d, 0x4, 0x9e, 0x4, 0x9f, 0x4, 0xa0, 0x4, 0xa1, 0x4, 0xa2, 0x4, 0xa3, 0x4, 0xa4, 0x4, 0xa5, 0x4, 0xa6, 0x4, 0xa7, 0x4, 0xa8, 0x4, 0xa9, 0x4, 0xaa, 0x4, 0xab, 0x4, 0xac, 0x4, 0xad, 0x4, 0xae, 0x4, 0xaf, 0x4, 0xb0, 0x4, 0xb1, 0x4, 0xb2, 0x4, 0xb3, 0x4, 0xb4, 0x4, 0xb5, 0x4, 0xb6, 0x4, 0xb7, 0x4, 0xb8, 0x4, 0xb9, 0x4, 0xba, 0x4, 0xbb, 0x4, 0xbc, 0x4, 0xbd, 0x4, 0xbe, 0x4, 0xbf, 0x4, 0xc0, 0x4, 0xc1, 0x4, 0xc2, 0x4, 0xc3, 0x4, 0xc4, 0x4, 0xc5, 0x4, 0xc6, 0x4, 0xc7, 0x4, 0xc8, 0x4, 0xc9, 0x4, 0xca, 0x4, 0xcb, 0x4, 0xcc, 0x4, 0xcd, 0x4, 0xce, 0x4, 0xcf, 0x4, 0xd0, 0x4, 0xd1, 0x4, 0xd2, 0x4, 0xd3, 0x4, 0xd4, 0x4, 0xd5, 0x4, 0xd6, 0x4, 0xd7, 0x4, 0xd8, 0x4, 0xd9, 0x4, 0xda, 0x4, 0xdb, 0x4, 0xdc, 0x4, 0xdd, 0x4, 0xde, 0x4, 0xdf, 0x4, 0xe0, 0x4, 0xe1, 0x4, 0xe2, 0x4, 0xe3, 0x4, 0xe4, 0x4, 0xe5, 0x4, 0xe6, 0x4, 0xe7, 0x4, 0xe8, 0x4, 0xe9, 0x4, 0xea, 0x4, 0xeb, 0x4, 0xec, 0x4, 0xed, 0x4, 0xee, 0x4, 0xef, 0x4, 0xf0, 0x4, 0xf1, 0x4, 0xf2, 0x4, 0xf3, 0x4, 0xf4, 0x4, 0xf5, 0x4, 0xf6, 0x4, 0xf7, 0x4, 0xf8, 0x4, 0xf9, 0x4, 0xfa, 0x4, 0xfb, 0x4, 0xfc, 0x4, 0xfd, 0x4, 0xfe, 0x4, 0xff, 0x5, 0x0, 0x5, 0x1, 0x5, 0x2, 0x5, 0x3, 0x5, 0x4, 0x5, 0x5, 0x5, 0x6, 0x5, 0x7, 0x5, 0x8, 0x5, 0x9, 0x5, 0xa, 0x5, 0xb, 0x5, 0xc, 0x5, 0xd, 0x5, 0xe, 0x5, 0xf, 0x5, 0x10, 0x5, 0x11, 0x5, 0x12, 0x5, 0x13, 0x5, 0x14, 0x5, 0x15, 0x5, 0x16, 0x5, 0x17, 0x5, 0x18, 0x5, 0x19, 0x5, 0x1a, 0x5, 0x1b, 0x5, 0x1c, 0x5, 0x1d, 0x5, 0x1e, 0x5, 0x1f, 0x5, 0x20, 0x5, 0x21, 0x5, 0x22, 0x5, 0x23, 0x5, 0x24, 0x5, 0x25, 0x5, 0x26, 0x5, 0x27, 0x5, 0x28, 0x5, 0x29, 0x5, 0x2a, 0x5, 0x2b, 0x5, 0x2c, 0x5, 0x2d, 0x5, 0x2e, 0x5, 0x2f, 0x5, 0x30, 0x5, 0x31, 0x5, 0x32, 0x5, 0x33, 0x5, 0x34, 0x5, 0x35, 0x5, 0x36, 0x5, 0x37, 0x5, 0x38, 0x5, 0x39, 0x5, 0x3a, 0x5, 0x3b, 0x5, 0x3c, 0x5, 0x3d, 0x5, 0x3e, 0x5, 0x3f, 0x5, 0x40, 0x5, 0x41, 0x5, 0x42, 0x5, 0x43, 0x5, 0x44, 0x5, 0x45, 0x5, 0x46, 0x5, 0x47, 0x5, 0x48, 0x5, 0x49, 0x5, 0x4a, 0x5, 0x4b, 0x5, 0x4c, 0x5, 0x4d, 0x5, 0x4e, 0x5, 0x4f, 0x5, 0x50, 0x5, 0x51, 0x5, 0x52, 0x5, 0x53, 0x5, 0x54, 0x5, 0x55, 0x5, 0x56, 0x5, 0x57, 0x5, 0x58, 0x5, 0x59, 0x5, 0x5a, 0x5, 0x5b, 0x5, 0x5c, 0x5, 0x5d, 0x5, 0x5e, 0x5, 0x5f, 0x5, 0x60, 0x5, 0x61, 0x5, 0x62, 0x5, 0x63, 0x5, 0x64, 0x5, 0x65, 0x5, 0x66, 0x5, 0x67, 0x5, 0x68, 0x5, 0x69, 0x5, 0x6a, 0x5, 0x6b, 0x5, 0x6c, 0x5, 0x6d, 0x5, 0x6e, 0x5, 0x6f, 0x5, 0x70, 0x5, 0x71, 0x5, 0x72, 0x5, 0x73, 0x5, 0x74, 0x5, 0x75, 0x5, 0x76, 0x5, 0x77, 0x5, 0x78, 0x5, 0x79, 0x5, 0x7a, 0x5, 0x7b, 0x5, 0x7c, 0x5, 0x7d, 0x5, 0x7e, 0x5, 0x7f, 0x5, 0x80, 0x5, 0x81, 0x5, 0x82, 0x5, 0x83, 0x5, 0x84, 0x5, 0x85, 0x5, 0x86, 0x5, 0x87, 0x5, 0x88, 0x5, 0x89, 0x5, 0x8a, 0x5, 0x8b, 0x5, 0x8c, 0x5, 0x8d, 0x5, 0x8e, 0x5, 0x8f, 0x5, 0x90, 0x5, 0x91, 0x5, 0x92, 0x5, 0x93, 0x5, 0x94, 0x5, 0x95, 0x5, 0x96, 0x5, 0x97, 0x5, 0x98, 0x5, 0x99, 0x5, 0x9a, 0x5, 0x9b, 0x5, 0x9c, 0x5, 0x9d, 0x5, 0x9e, 0x5, 0x9f, 0x5, 0xa0, 0x5, 0xa1, 0x5, 0xa2, 0x5, 0xa3, 0x5, 0xa4, 0x5, 0xa5, 0x5, 0xa6, 0x5, 0xa7, 0x5, 0xa8, 0x5, 0xa9, 0x5, 0xaa, 0x5, 0xab, 0x5, 0xac, 0x5, 0xad, 0x5, 0xae, 0x5, 0xaf, 0x5, 0xb0, 0x5, 0xb1, 0x5, 0xb2, 0x5, 0xb3, 0x5, 0xb4, 0x5, 0xb5, 0x5, 0xb6, 0x5, 0xb7, 0x5, 0xb8, 0x5, 0xb9, 0x5, 0xba, 0x5, 0xbb, 0x5, 0xbc, 0x5, 0xbd, 0x5, 0xbe, 0x5, 0xbf, 0x5, 0xc0, 0x5, 0xc1, 0x5, 0xc2, 0x5, 0xc3, 0x5, 0xc4, 0x5, 0xc5, 0x5, 0xc6, 0x5, 0xc7, 0x5, 0xc8, 0x5, 0xc9, 0x5, 0xca, 0x5, 0xcb, 0x5, 0xcc, 0x5, 0xcd, 0x5, 0xce, 0x5, 0xcf, 0x5, 0xd0, 0x5, 0xd1, 0x5, 0xd2, 0x5, 0xd3, 0x5, 0xd4, 0x5, 0xd5, 0x5, 0xd6, 0x5, 0xd7, 0x5, 0xd8, 0x5, 0xd9, 0x5, 0xda, 0x5, 0xdb, 0x5, 0xdc, 0x5, 0xdd, 0x5, 0xde, 0x5, 0xdf, 0x5, 0xe0, 0x5, 0xe1, 0x5, 0xe2, 0x5, 0xe3, 0x5, 0xe4, 0x5, 0xe5, 0x5, 0xe6, 0x5, 0xe7, 0x5, 0xe8, 0x5, 0xe9, 0x5, 0xea, 0x5, 0xeb, 0x5, 0xec, 0x5, 0xed, 0x5, 0xee, 0x5, 0xef, 0x5, 0xf0, 0x5, 0xf1, 0x5, 0xf2, 0x5, 0xf3, 0x5, 0xf4, 0x5, 0xf5, 0x5, 0xf6, 0x5, 0xf7, 0x5, 0xf8, 0x5, 0xf9, 0x5, 0xfa, 0x5, 0xfb, 0x5, 0xfc, 0x5, 0xfd, 0x5, 0xfe, 0x5, 0xff, 0x6, 0x0, 0x6, 0x1, 0x6, 0x2, 0x6, 0x3, 0x6, 0x4, 0x6, 0x5, 0x6, 0x6, 0x6, 0x7, 0x6, 0x8, 0x6, 0x9, 0x6, 0xa, 0x6, 0xb, 0x6, 0xc, 0x6, 0xd, 0x6, 0xe, 0x6, 0xf, 0x6, 0x10, 0x6, 0x11, 0x6, 0x12, 0x6, 0x13, 0x6, 0x14, 0x6, 0x15, 0x6, 0x16, 0x6, 0x17, 0x6, 0x18, 0x6, 0x19, 0x6, 0x1a, 0x6, 0x1b, 0x6, 0x1c, 0x6, 0x1d, 0x6, 0x1e, 0x6, 0x1f, 0x6, 0x20, 0x6, 0x21, 0x6, 0x22, 0x6, 0x23, 0x6, 0x24, 0x6, 0x25, 0x6, 0x26, 0x6, 0x27, 0x6, 0x28, 0x6, 0x29, 0x6, 0x2a, 0x6, 0x2b, 0x6, 0x2c, 0x6, 0x2d, 0x6, 0x2e, 0x6, 0x2f, 0x6, 0x30, 0x6, 0x31, 0x6, 0x32, 0x6, 0x33, 0x6, 0x34, 0x6, 0x35, 0x6, 0x36, 0x6, 0x37, 0x6, 0x38, 0x6, 0x39, 0x6, 0x3a, 0x6, 0x3b, 0x6, 0x3c, 0x6, 0x3d, 0x6, 0x3e, 0x6, 0x3f, 0x6, 0x40, 0x6, 0x41, 0x6, 0x42, 0x6, 0x43, 0x6, 0x44, 0x6, 0x45, 0x6, 0x46, 0x6, 0x47, 0x6, 0x48, 0x6, 0x49, 0x6, 0x4a, 0x6, 0x4b, 0x6, 0x4c, 0x6, 0x4d, 0x6, 0x4e, 0x6, 0x4f, 0x6, 0x50, 0x6, 0x51, 0x6, 0x52, 0x6, 0x53, 0x6, 0x54, 0x6, 0x55, 0x6, 0x56, 0x6, 0x57, 0x6, 0x58, 0x6, 0x59, 0x6, 0x5a, 0x6, 0x5b, 0x6, 0x5c, 0x6, 0x5d, 0x6, 0x5e, 0x6, 0x5f, 0x6, 0x60, 0x6, 0x61, 0x6, 0x62, 0x6, 0x63, 0x6, 0x64, 0x6, 0x65, 0x6, 0x66, 0x6, 0x67, 0x6, 0x68, 0x6, 0x69, 0x6, 0x6a, 0x6, 0x6b, 0x6, 0x6c, 0x6, 0x6d, 0x6, 0x6e, 0x6, 0x6f, 0x6, 0x70, 0x6, 0x71, 0x6, 0x72, 0x6, 0x73, 0x6, 0x74, 0x6, 0x75, 0x6, 0x76, 0x6, 0x77, 0x6, 0x78, 0x6, 0x79, 0x6, 0x7a, 0x6, 0x7b, 0x6, 0x7c, 0x6, 0x7d, 0x6, 0x7e, 0x6, 0x7f, 0x6, 0x80, 0x6, 0x81, 0x6, 0x82, 0x6, 0x83, 0x6, 0x84, 0x6, 0x85, 0x6, 0x86, 0x6, 0x87, 0x6, 0x88, 0x6, 0x89, 0x6, 0x8a, 0x6, 0x8b, 0x6, 0x8c, 0x6, 0x8d, 0x6, 0x8e, 0x6, 0x8f, 0x6, 0x90, 0x6, 0x91, 0x6, 0x92, 0x6, 0x93, 0x6, 0x94, 0x6, 0x95, 0x6, 0x96, 0x6, 0x97, 0x6, 0x98, 0x6, 0x99, 0x6, 0x9a, 0x6, 0x9b, 0x6, 0x9c, 0x6, 0x9d, 0x6, 0x9e, 0x6, 0x9f, 0x6, 0xa0, 0x6, 0xa1, 0x6, 0xa2, 0x6, 0xa3, 0x6, 0xa4, 0x6, 0xa5, 0x6, 0xa6, 0x6, 0xa7, 0x6, 0xa8, 0x6, 0xa9, 0x6, 0xaa, 0x6, 0xab, 0x6, 0xac, 0x6, 0xad, 0x6, 0xae, 0x6, 0xaf, 0x6, 0xb0, 0x6, 0xb1, 0x6, 0xb2, 0x6, 0xb3, 0x6, 0xb4, 0x6, 0xb5, 0x6, 0xb6, 0x6, 0xb7, 0x6, 0xb8, 0x6, 0xb9, 0x6, 0xba, 0x6, 0xbb, 0x6, 0xbc, 0x6, 0xbd, 0x6, 0xbe, 0x6, 0xbf, 0x6, 0xc0, 0x6, 0xc1, 0x6, 0xc2, 0x6, 0xc3, 0x6, 0xc4, 0x6, 0xc5, 0x6, 0xc6, 0x6, 0xc7, 0x6, 0xc8, 0x6, 0xc9, 0x6, 0xca, 0x6, 0xcb, 0x6, 0xcc, 0x6, 0xcd, 0x6, 0xce, 0x6, 0xcf, 0x6, 0xd0, 0x6, 0xd1, 0x6, 0xd2, 0x6, 0xd3, 0x6, 0xd4, 0x6, 0xd5, 0x6, 0xd6, 0x6, 0xd7, 0x6, 0xd8, 0x6, 0xd9, 0x6, 0xda, 0x6, 0xdb, 0x6, 0xdc, 0x6, 0xdd, 0x6, 0xde, 0x6, 0xdf, 0x6, 0xe0, 0x6, 0xe1, 0x6, 0xe2, 0x6, 0xe3, 0x6, 0xe4, 0x6, 0xe5, 0x6, 0xe6, 0x6, 0xe7, 0x6, 0xe8, 0x6, 0xe9, 0x6, 0xea, 0x6, 0xeb, 0x6, 0xec, 0x6, 0xed, 0x6, 0xee, 0x6, 0xef, 0x6, 0xf0, 0x6, 0xf1, 0x6, 0xf2, 0x6, 0xf3, 0x6, 0xf4, 0x6, 0xf5, 0x6, 0xf6, 0x6, 0xf7, 0x6, 0xf8, 0x6, 0xf9, 0x6, 0xfa, 0x6, 0xfb, 0x6, 0xfc, 0x6, 0xfd, 0x6, 0xfe, 0x6, 0xff, 0x7, 0x0, 0x7, 0x1, 0x7, 0x2, 0x7, 0x3, 0x7, 0x4, 0x7, 0x5, 0x7, 0x6, 0x7, 0x7, 0x7, 0x8, 0x7, 0x9, 0x7, 0xa, 0x7, 0xb, 0x7, 0xc, 0x7, 0xd, 0x7, 0xe, 0x7, 0xf, 0x7, 0x10, 0x7, 0x11, 0x7, 0x12, 0x7, 0x13, 0x7, 0x14, 0x7, 0x15, 0x7, 0x16, 0x7, 0x17, 0x7, 0x18, 0x7, 0x19, 0x7, 0x1a, 0x7, 0x1b, 0x7, 0x1c, 0x7, 0x1d, 0x7, 0x1e, 0x7, 0x1f, 0x7, 0x20, 0x7, 0x21, 0x7, 0x22, 0x7, 0x23, 0x7, 0x24, 0x7, 0x25, 0x7, 0x26, 0x7, 0x27, 0x7, 0x28, 0x7, 0x29, 0x7, 0x2a, 0x7, 0x2b, 0x7, 0x2c, 0x7, 0x2d, 0x7, 0x2e, 0x7, 0x2f, 0x7, 0x30, 0x7, 0x31, 0x7, 0x32, 0x7, 0x33, 0x7, 0x34, 0x7, 0x35, 0x7, 0x36, 0x7, 0x37, 0x7, 0x38, 0x7, 0x39, 0x7, 0x3a, 0x7, 0x3b, 0x7, 0x3c, 0x7, 0x3d, 0x7, 0x3e, 0x7, 0x3f, 0x7, 0x40, 0x7, 0x41, 0x7, 0x42, 0x7, 0x43, 0x7, 0x44, 0x7, 0x45, 0x7, 0x46, 0x7, 0x47, 0x7, 0x48, 0x7, 0x49, 0x7, 0x4a, 0x7, 0x4b, 0x7, 0x4c, 0x7, 0x4d, 0x7, 0x4e, 0x7, 0x4f, 0x7, 0x50, 0x7, 0x51, 0x7, 0x52, 0x7, 0x53, 0x7, 0x54, 0x7, 0x55, 0x7, 0x56, 0x7, 0x57, 0x7, 0x58, 0x7, 0x59, 0x7, 0x5a, 0x7, 0x5b, 0x7, 0x5c, 0x7, 0x5d, 0x7, 0x5e, 0x7, 0x5f, 0x7, 0x60, 0x7, 0x61, 0x7, 0x62, 0x7, 0x63, 0x7, 0x64, 0x7, 0x65, 0x7, 0x66, 0x7, 0x67, 0x7, 0x68, 0x7, 0x69, 0x7, 0x6a, 0x7, 0x6b, 0x7, 0x6c, 0x7, 0x6d, 0x7, 0x6e, 0x7, 0x6f, 0x7, 0x70, 0x7, 0x71, 0x7, 0x72, 0x7, 0x73, 0x7, 0x74, 0x7, 0x75, 0x7, 0x76, 0x7, 0x77, 0x7, 0x78, 0x7, 0x79, 0x7, 0x7a, 0x7, 0x7b, 0x7, 0x7c, 0x7, 0x7d, 0x7, 0x7e, 0x7, 0x7f, 0x7, 0x80, 0x7, 0x81, 0x7, 0x82, 0x7, 0x83, 0x7, 0x84, 0x7, 0x85, 0x7, 0x86, 0x7, 0x87, 0x7, 0x88, 0x7, 0x89, 0x7, 0x8a, 0x7, 0x8b, 0x7, 0x8c, 0x7, 0x8d, 0x7, 0x8e, 0x7, 0x8f, 0x7, 0x90, 0x7, 0x91, 0x7, 0x92, 0x7, 0x93, 0x7, 0x94, 0x7, 0x95, 0x7, 0x96, 0x7, 0x97, 0x7, 0x98, 0x7, 0x99, 0x7, 0x9a, 0x7, 0x9b, 0x7, 0x9c, 0x7, 0x9d, 0x7, 0x9e, 0x7, 0x9f, 0x7, 0xa0, 0x7, 0xa1, 0x7, 0xa2, 0x7, 0xa3, 0x7, 0xa4, 0x7, 0xa5, 0x7, 0xa6, 0x7, 0xa7, 0x7, 0xa8, 0x7, 0xa9, 0x7, 0xaa, 0x7, 0xab, 0x7, 0xac, 0x7, 0xad, 0x7, 0xae, 0x7, 0xaf, 0x7, 0xb0, 0x7, 0xb1, 0x7, 0xb2, 0x7, 0xb3, 0x7, 0xb4, 0x7, 0xb5, 0x7, 0xb6, 0x7, 0xb7, 0x7, 0xb8, 0x7, 0xb9, 0x7, 0xba, 0x7, 0xbb, 0x7, 0xbc, 0x7, 0xbd, 0x7, 0xbe, 0x7, 0xbf, 0x7, 0xc0, 0x7, 0xc1, 0x7, 0xc2, 0x7, 0xc3, 0x7, 0xc4, 0x7, 0xc5, 0x7, 0xc6, 0x7, 0xc7, 0x7, 0xc8, 0x7, 0xc9, 0x7, 0xca, 0x7, 0xcb, 0x7, 0xcc, 0x7, 0xcd, 0x7, 0xce, 0x7, 0xcf, 0x7, 0xd0, 0x7, 0xd1, 0x7, 0xd2, 0x7, 0xd3, 0x7, 0xd4, 0x7, 0xd5, 0x7, 0xd6, 0x7, 0xd7, 0x7, 0xd8, 0x7, 0xd9, 0x7, 0xda, 0x7, 0xdb, 0x7, 0xdc, 0x7, 0xdd, 0x7, 0xde, 0x7, 0xdf, 0x7, 0xe0, 0x7, 0xe1, 0x7, 0xe2, 0x7, 0xe3, 0x7, 0xe4, 0x7, 0xe5, 0x7, 0xe6, 0x7, 0xe7, 0x7, 0xe8, 0x7, 0xe9, 0x7, 0xea, 0x7, 0xeb, 0x7, 0xec, 0x7, 0xed, 0x7, 0xee, 0x7, 0xef, 0x7, 0xf0, 0x7, 0xf1, 0x7, 0xf2, 0x7, 0xf3, 0x7, 0xf4, 0x7, 0xf5, 0x7, 0xf6, 0x7, 0xf7, 0x7, 0xf8, 0x7, 0xf9, 0x7, 0xfa, 0x7, 0xfb, 0x7, 0xfc, 0x7, 0xfd, 0x7, 0xfe, 0x7, 0xff, 0x8, 0x0, 0x8, 0x1, 0x8, 0x2, 0x8, 0x3, 0x8, 0x4, 0x8, 0x5, 0x8, 0x6, 0x8, 0x7, 0x8, 0x8, 0x8, 0x9, 0x8, 0xa, 0x8, 0xb, 0x8, 0xc, 0x8, 0xd, 0x8, 0xe, 0x8, 0xf, 0x8, 0x10, 0x8, 0x11, 0x8, 0x12, 0x8, 0x13, 0x8, 0x14, 0x8, 0x15, 0x8, 0x16, 0x8, 0x17, 0x8, 0x18, 0x8, 0x19, 0x8, 0x1a, 0x8, 0x1b, 0x8, 0x1c, 0x8, 0x1d, 0x8, 0x1e, 0x8, 0x1f, 0x8, 0x20, 0x8, 0x21, 0x8, 0x22, 0x8, 0x23, 0x8, 0x24, 0x8, 0x25, 0x8, 0x26, 0x8, 0x27, 0x8, 0x28, 0x8, 0x29, 0x8, 0x2a, 0x8, 0x2b, 0x8, 0x2c, 0x8, 0x2d, 0x8, 0x2e, 0x8, 0x2f, 0x8, 0x30, 0x8, 0x31, 0x8, 0x32, 0x8, 0x33, 0x8, 0x34, 0x8, 0x35, 0x8, 0x36, 0x8, 0x37, 0x8, 0x38, 0x8, 0x39, 0x8, 0x3a, 0x8, 0x3b, 0x8, 0x3c, 0x8, 0x3d, 0x8, 0x3e, 0x8, 0x3f, 0x8, 0x40, 0x8, 0x41, 0x8, 0x42, 0x8, 0x43, 0x8, 0x44, 0x8, 0x45, 0x8, 0x46, 0x8, 0x47, 0x8, 0x48, 0x8, 0x49, 0x8, 0x4a, 0x8, 0x4b, 0x8, 0x4c, 0x8, 0x4d, 0x8, 0x4e, 0x8, 0x4f, 0x8, 0x50, 0x8, 0x51, 0x8, 0x52, 0x8, 0x53, 0x8, 0x54, 0x8, 0x55, 0x8, 0x56, 0x8, 0x57, 0x8, 0x58, 0x8, 0x59, 0x8, 0x5a, 0x8, 0x5b, 0x8, 0x5c, 0x8, 0x5d, 0x8, 0x5e, 0x8, 0x5f, 0x8, 0x60, 0x8, 0x61, 0x8, 0x62, 0x8, 0x63, 0x8, 0x64, 0x8, 0x65, 0x8, 0x66, 0x8, 0x67, 0x8, 0x68, 0x8, 0x69, 0x8, 0x6a, 0x8, 0x6b, 0x8, 0x6c, 0x8, 0x6d, 0x8, 0x6e, 0x8, 0x6f, 0x8, 0x70, 0x8, 0x71, 0x8, 0x72, 0x8, 0x73, 0x8, 0x74, 0x8, 0x75, 0x8, 0x76, 0x8, 0x77, 0x8, 0x78, 0x8, 0x79, 0x8, 0x7a, 0x8, 0x7b, 0x8, 0x7c, 0x8, 0x7d, 0x8, 0x7e, 0x8, 0x7f, 0x8, 0x80, 0x8, 0x81, 0x8, 0x82, 0x8, 0x83, 0x8, 0x84, 0x8, 0x85, 0x8, 0x86, 0x8, 0x87, 0x8, 0x88, 0x8, 0x89, 0x8, 0x8a, 0x8, 0x8b, 0x8, 0x8c, 0x8, 0x8d, 0x8, 0x8e, 0x8, 0x8f, 0x8, 0x90, 0x8, 0x91, 0x8, 0x92, 0x8, 0x93, 0x8, 0x94, 0x8, 0x95, 0x8, 0x96, 0x8, 0x97, 0x8, 0x98, 0x8, 0x99, 0x8, 0x9a, 0x8, 0x9b, 0x8, 0x9c, 0x8, 0x9d, 0x8, 0x9e, 0x8, 0x9f, 0x8, 0xa0, 0x8, 0xa1, 0x8, 0xa2, 0x8, 0xa3, 0x8, 0xa4, 0x8, 0xa5, 0x8, 0xa6, 0x8, 0xa7, 0x8, 0xa8, 0x8, 0xa9, 0x8, 0xaa, 0x8, 0xab, 0x8, 0xac, 0x8, 0xad, 0x8, 0xae, 0x8, 0xaf, 0x8, 0xb0, 0x8, 0xb1, 0x8, 0xb2, 0x8, 0xb3, 0x8, 0xb4, 0x8, 0xb5, 0x8, 0xb6, 0x8, 0xb7, 0x8, 0xb8, 0x8, 0xb9, 0x8, 0xba, 0x8, 0xbb, 0x8, 0xbc, 0x8, 0xbd, 0x8, 0xbe, 0x8, 0xbf, 0x8, 0xc0, 0x8, 0xc1, 0x8, 0xc2, 0x8, 0xc3, 0x8, 0xc4, 0x8, 0xc5, 0x8, 0xc6, 0x8, 0xc7, 0x8, 0xc8, 0x8, 0xc9, 0x8, 0xca, 0x8, 0xcb, 0x8, 0xcc, 0x8, 0xcd, 0x8, 0xce, 0x8, 0xcf, 0x8, 0xd0, 0x8, 0xd1, 0x8, 0xd2, 0x8, 0xd3, 0x8, 0xd4, 0x8, 0xd5, 0x8, 0xd6, 0x8, 0xd7, 0x8, 0xd8, 0x8, 0xd9, 0x8, 0xda, 0x8, 0xdb, 0x8, 0xdc, 0x8, 0xdd, 0x8, 0xde, 0x8, 0xdf, 0x8, 0xe0, 0x8, 0xe1, 0x8, 0xe2, 0x8, 0xe3, 0x8, 0xe4, 0x8, 0xe5, 0x8, 0xe6, 0x8, 0xe7, 0x8, 0xe8, 0x8, 0xe9, 0x8, 0xea, 0x8, 0xeb, 0x8, 0xec, 0x8, 0xed, 0x8, 0xee, 0x8, 0xef, 0x8, 0xf0, 0x8, 0xf1, 0x8, 0xf2, 0x8, 0xf3, 0x8, 0xf4, 0x8, 0xf5, 0x8, 0xf6, 0x8, 0xf7, 0x8, 0xf8, 0x8, 0xf9, 0x8, 0xfa, 0x8, 0xfb, 0x8, 0xfc, 0x8, 0xfd, 0x8, 0xfe, 0x8, 0xff, 0x9, 0x0, 0x9, 0x1, 0x9, 0x2, 0x9, 0x3, 0x9, 0x4, 0x9, 0x5, 0x9, 0x6, 0x9, 0x7, 0x9, 0x8, 0x9, 0x9, 0x9, 0xa, 0x9, 0xb, 0x9, 0xc, 0x9, 0xd, 0x9, 0xe, 0x9, 0xf, 0x9, 0x10, 0x9, 0x11, 0x9, 0x12, 0x9, 0x13, 0x9, 0x14, 0x9, 0x15, 0x9, 0x16, 0x9, 0x17, 0x9, 0x18, 0x9, 0x19, 0x9, 0x1a, 0x9, 0x1b, 0x9, 0x1c, 0x9, 0x1d, 0x9, 0x1e, 0x9, 0x1f, 0x9, 0x20, 0x9, 0x21, 0x9, 0x22, 0x9, 0x23, 0x9, 0x24, 0x9, 0x25, 0x9, 0x26, 0x9, 0x27, 0x9, 0x28, 0x9, 0x29, 0x9, 0x2a, 0x9, 0x2b, 0x9, 0x2c, 0x9, 0x2d, 0x9, 0x2e, 0x9, 0x2f, 0x9, 0x30, 0x9, 0x31, 0x9, 0x32, 0x9, 0x33, 0x9, 0x34, 0x9, 0x35, 0x9, 0x36, 0x9, 0x37, 0x9, 0x38, 0x9, 0x39, 0x9, 0x3a, 0x9, 0x3b, 0x9, 0x3c, 0x9, 0x3d, 0x9, 0x3e, 0x9, 0x3f, 0x9, 0x40, 0x9, 0x41, 0x9, 0x42, 0x9, 0x43, 0x9, 0x44, 0x9, 0x45, 0x9, 0x46, 0x9, 0x47, 0x9, 0x48, 0x9, 0x49, 0x9, 0x4a, 0x9, 0x4b, 0x9, 0x4c, 0x9, 0x4d, 0x9, 0x4e, 0x9, 0x4f, 0x9, 0x50, 0x9, 0x51, 0x9, 0x52, 0x9, 0x53, 0x9, 0x54, 0x9, 0x55, 0x9, 0x56, 0x9, 0x57, 0x9, 0x58, 0x9, 0x59, 0x9, 0x5a, 0x9, 0x5b, 0x9, 0x5c, 0x9, 0x5d, 0x9, 0x5e, 0x9, 0x5f, 0x9, 0x60, 0x9, 0x61, 0x9, 0x62, 0x9, 0x63, 0x9, 0x64, 0x9, 0x65, 0x9, 0x66, 0x9, 0x67, 0x9, 0x68, 0x9, 0x69, 0x9, 0x6a, 0x9, 0x6b, 0x9, 0x6c, 0x9, 0x6d, 0x9, 0x6e, 0x9, 0x6f, 0x9, 0x70, 0x9, 0x71, 0x9, 0x72, 0x9, 0x73, 0x9, 0x74, 0x9, 0x75, 0x9, 0x76, 0x9, 0x77, 0x9, 0x78, 0x9, 0x79, 0x9, 0x7a, 0x9, 0x7b, 0x9, 0x7c, 0x9, 0x7d, 0x9, 0x7e, 0x9, 0x7f, 0x9, 0x80, 0x9, 0x81, 0x9, 0x82, 0x9, 0x83, 0x9, 0x84, 0x9, 0x85, 0x9, 0x86, 0x9, 0x87, 0x9, 0x88, 0x9, 0x89, 0x9, 0x8a, 0x9, 0x8b, 0x9, 0x8c, 0x9, 0x8d, 0x9, 0x8e, 0x9, 0x8f, 0x9, 0x90, 0x9, 0x91, 0x9, 0x92, 0x9, 0x93, 0x9, 0x94, 0x9, 0x95, 0x9, 0x96, 0x9, 0x97, 0x9, 0x98, 0x9, 0x99, 0x9, 0x9a, 0x9, 0x9b, 0x9, 0x9c, 0x9, 0x9d, 0x9, 0x9e, 0x9, 0x9f, 0x9, 0xa0, 0x9, 0xa1, 0x9, 0xa2, 0x9, 0xa3, 0x9, 0xa4, 0x9, 0xa5, 0x9, 0xa6, 0x9, 0xa7, 0x9, 0xa8, 0x9, 0xa9, 0x9, 0xaa, 0x9, 0xab, 0x9, 0xac, 0x9, 0xad, 0x9, 0xae, 0x9, 0xaf, 0x9, 0xb0, 0x9, 0xb1, 0x9, 0xb2, 0x9, 0xb3, 0x9, 0xb4, 0x9, 0xb5, 0x9, 0xb6, 0x9, 0xb7, 0x9, 0xb8, 0x9, 0xb9, 0x9, 0xba, 0x9, 0xbb, 0x9, 0xbc, 0x9, 0xbd, 0x9, 0xbe, 0x9, 0xbf, 0x9, 0xc0, 0x9, 0xc1, 0x9, 0xc2, 0x9, 0xc3, 0x9, 0xc4, 0x9, 0xc5, 0x9, 0xc6, 0x9, 0xc7, 0x9, 0xc8, 0x9, 0xc9, 0x9, 0xca, 0x9, 0xcb, 0x9, 0xcc, 0x9, 0xcd, 0x9, 0xce, 0x9, 0xcf, 0x9, 0xd0, 0x9, 0xd1, 0x9, 0xd2, 0x9, 0xd3, 0x9, 0xd4, 0x9, 0xd5, 0x9, 0xd6, 0x9, 0xd7, 0x9, 0xd8, 0x9, 0xd9, 0x9, 0xda, 0x9, 0xdb, 0x9, 0xdc, 0x9, 0xdd, 0x9, 0xde, 0x9, 0xdf, 0x9, 0xe0, 0x9, 0xe1, 0x9, 0xe2, 0x9, 0xe3, 0x9, 0xe4, 0x9, 0xe5, 0x9, 0xe6, 0x9, 0xe7, 0x9, 0xe8, 0x9, 0xe9, 0x9, 0xea, 0x9, 0xeb, 0x9, 0xec, 0x9, 0xed, 0x9, 0xee, 0x9, 0xef, 0x9, 0xf0, 0x9, 0xf1, 0x9, 0xf2, 0x9, 0xf3, 0x9, 0xf4, 0x9, 0xf5, 0x9, 0xf6, 0x9, 0xf7, 0x9, 0xf8, 0x9, 0xf9, 0x9, 0xfa, 0x9, 0xfb, 0x9, 0xfc, 0x9, 0xfd, 0x9, 0xfe, 0x9, 0xff, 0xa, 0x0, 0xa, 0x1, 0xa, 0x2, 0xa, 0x3, 0xa, 0x4, 0xa, 0x5, 0xa, 0x6, 0xa, 0x7, 0xa, 0x8, 0xa, 0x9, 0xa, 0xa, 0xa, 0xb, 0xa, 0xc, 0xa, 0xd, 0xa, 0xe, 0xa, 0xf, 0xa, 0x10, 0xa, 0x11, 0xa, 0x12, 0xa, 0x13, 0xa, 0x14, 0xa, 0x15, 0xa, 0x16, 0xa, 0x17, 0xa, 0x18, 0xa, 0x19, 0xa, 0x1a, 0xa, 0x1b, 0xa, 0x1c, 0xa, 0x1d, 0xa, 0x1e, 0xa, 0x1f, 0xa, 0x20, 0xa, 0x21, 0xa, 0x22, 0xa, 0x23, 0xa, 0x24, 0xa, 0x25, 0xa, 0x26, 0xa, 0x27, 0xa, 0x28, 0xa, 0x29, 0xa, 0x2a, 0xa, 0x2b, 0xa, 0x2c, 0xa, 0x2d, 0xa, 0x2e, 0xa, 0x2f, 0xa, 0x30, 0xa, 0x31, 0xa, 0x32, 0xa, 0x33, 0xa, 0x34, 0xa, 0x35, 0xa, 0x36, 0xa, 0x37, 0xa, 0x38, 0xa, 0x39, 0xa, 0x3a, 0xa, 0x3b, 0xa, 0x3c, 0xa, 0x3d, 0xa, 0x3e, 0xa, 0x3f, 0xa, 0x40, 0xa, 0x41, 0xa, 0x42, 0xa, 0x43, 0xa, 0x44, 0xa, 0x45, 0xa, 0x46, 0xa, 0x47, 0xa, 0x48, 0xa, 0x49, 0xa, 0x4a, 0xa, 0x4b, 0xa, 0x4c, 0xa, 0x4d, 0xa, 0x4e, 0xa, 0x4f, 0xa, 0x50, 0xa, 0x51, 0xa, 0x52, 0xa, 0x53, 0xa, 0x54, 0xa, 0x55, 0xa, 0x56, 0xa, 0x57, 0xa, 0x58, 0xa, 0x59, 0xa, 0x5a, 0xa, 0x5b, 0xa, 0x5c, 0xa, 0x5d, 0xa, 0x5e, 0xa, 0x5f, 0xa, 0x60, 0xa, 0x61, 0xa, 0x62, 0xa, 0x63, 0xa, 0x64, 0xa, 0x65, 0xa, 0x66, 0xa, 0x67, 0xa, 0x68, 0xa, 0x69, 0xa, 0x6a, 0xa, 0x6b, 0xa, 0x6c, 0xa, 0x6d, 0xa, 0x6e, 0xa, 0x6f, 0xa, 0x70, 0xa, 0x71, 0xa, 0x72, 0xa, 0x73, 0xa, 0x74, 0xa, 0x75, 0xa, 0x76, 0xa, 0x77, 0xa, 0x78, 0xa, 0x79, 0xa, 0x7a, 0xa, 0x7b, 0xa, 0x7c, 0xa, 0x7d, 0xa, 0x7e, 0xa, 0x7f, 0xa, 0x80, 0xa, 0x81, 0xa, 0x82, 0xa, 0x83, 0xa, 0x84, 0xa, 0x85, 0xa, 0x86, 0xa, 0x87, 0xa, 0x88, 0xa, 0x89, 0xa, 0x8a, 0xa, 0x8b, 0xa, 0x8c, 0xa, 0x8d, 0xa, 0x8e, 0xa, 0x8f, 0xa, 0x90, 0xa, 0x91, 0xa, 0x92, 0xa, 0x93, 0xa, 0x94, 0xa, 0x95, 0xa, 0x96, 0xa, 0x97, 0xa, 0x98, 0xa, 0x99, 0xa, 0x9a, 0xa, 0x9b, 0xa, 0x9c, 0xa, 0x9d, 0xa, 0x9e, 0xa, 0x9f, 0xa, 0xa0, 0xa, 0xa1, 0xa, 0xa2, 0xa, 0xa3, 0xa, 0xa4, 0xa, 0xa5, 0xa, 0xa6, 0xa, 0xa7, 0xa, 0xa8, 0xa, 0xa9, 0xa, 0xaa, 0xa, 0xab, 0xa, 0xac, 0xa, 0xad, 0xa, 0xae, 0xa, 0xaf, 0xa, 0xb0, 0xa, 0xb1, 0xa, 0xb2, 0xa, 0xb3, 0xa, 0xb4, 0xa, 0xb5, 0xa, 0xb6, 0xa, 0xb7, 0xa, 0xb8, 0xa, 0xb9, 0xa, 0xba, 0xa, 0xbb, 0xa, 0xbc, 0xa, 0xbd, 0xa, 0xbe, 0xa, 0xbf, 0xa, 0xc0, 0xa, 0xc1, 0xa, 0xc2, 0xa, 0xc3, 0xa, 0xc4, 0xa, 0xc5, 0xa, 0xc6, 0xa, 0xc7, 0xa, 0xc8, 0xa, 0xc9, 0xa, 0xca, 0xa, 0xcb, 0xa, 0xcc, 0xa, 0xcd, 0xa, 0xce, 0xa, 0xcf, 0xa, 0xd0, 0xa, 0xd1, 0xa, 0xd2, 0xa, 0xd3, 0xa, 0xd4, 0xa, 0xd5, 0xa, 0xd6, 0xa, 0xd7, 0xa, 0xd8, 0xa, 0xd9, 0xa, 0xda, 0xa, 0xdb, 0xa, 0xdc, 0xa, 0xdd, 0xa, 0xde, 0xa, 0xdf, 0xa, 0xe0, 0xa, 0xe1, 0xa, 0xe2, 0xa, 0xe3, 0xa, 0xe4, 0xa, 0xe5, 0xa, 0xe6, 0xa, 0xe7, 0xa, 0xe8, 0xa, 0xe9, 0xa, 0xea, 0xa, 0xeb, 0xa, 0xec, 0xa, 0xed, 0xa, 0xee, 0xa, 0xef, 0xa, 0xf0, 0xa, 0xf1, 0xa, 0xf2, 0xa, 0xf3, 0xa, 0xf4, 0xa, 0xf5, 0xa, 0xf6, 0xa, 0xf7, 0xa, 0xf8, 0xa, 0xf9, 0xa, 0xfa, 0xa, 0xfb, 0xa, 0xfc, 0xa, 0xfd, 0xa, 0xfe, 0xa, 0xff, 0xb, 0x0, 0xb, 0x1, 0xb, 0x2, 0xb, 0x3, 0xb, 0x4, 0xb, 0x5, 0xb, 0x6, 0xb, 0x7, 0xb, 0x8, 0xb, 0x9, 0xb, 0xa, 0xb, 0xb, 0xb, 0xc, 0xb, 0xd, 0xb, 0xe, 0xb, 0xf, 0xb, 0x10, 0xb, 0x11, 0xb, 0x12, 0x0, 0xb2, 0x0, 0xb3, 0xb, 0x13, 0xb, 0x14, 0xb, 0x15, 0x0, 0xb6, 0x0, 0xb7, 0x0, 0xc4, 0xb, 0x16, 0x0, 0xb4, 0x0, 0xb5, 0x0, 0xc5, 0xb, 0x17, 0x0, 0x82, 0x0, 0xc2, 0x0, 0x87, 0xb, 0x18, 0xb, 0x19, 0xb, 0x1a, 0x0, 0xab, 0xb, 0x1b, 0xb, 0x1c, 0xb, 0x1d, 0xb, 0x1e, 0xb, 0x1f, 0xb, 0x20, 0xb, 0x21, 0xb, 0x22, 0xb, 0x23, 0x0, 0xc6, 0xb, 0x24, 0xb, 0x25, 0xb, 0x26, 0xb, 0x27, 0xb, 0x28, 0xb, 0x29, 0xb, 0x2a, 0xb, 0x2b, 0x0, 0xbe, 0x0, 0xbf, 0xb, 0x2c, 0xb, 0x2d, 0xb, 0x2e, 0xb, 0x2f, 0xb, 0x30, 0xb, 0x31, 0xb, 0x32, 0xb, 0x33, 0xb, 0x34, 0x0, 0xbc, 0xb, 0x35, 0xb, 0x36, 0xb, 0x37, 0xb, 0x38, 0xb, 0x39, 0xb, 0x3a, 0xb, 0x3b, 0xb, 0x3c, 0xb, 0x3d, 0xb, 0x3e, 0xb, 0x3f, 0xb, 0x40, 0xb, 0x41, 0xb, 0x42, 0xb, 0x43, 0xb, 0x44, 0xb, 0x45, 0xb, 0x46, 0xb, 0x47, 0xb, 0x48, 0xb, 0x49, 0xb, 0x4a, 0xb, 0x4b, 0xb, 0x4c, 0xb, 0x4d, 0xb, 0x4e, 0xb, 0x4f, 0xb, 0x50, 0xb, 0x51, 0xb, 0x52, 0xb, 0x53, 0xb, 0x54, 0xb, 0x55, 0xb, 0x56, 0xb, 0x57, 0xb, 0x58, 0xb, 0x59, 0xb, 0x5a, 0xb, 0x5b, 0xb, 0x5c, 0xb, 0x5d, 0xb, 0x5e, 0xb, 0x5f, 0xb, 0x60, 0xb, 0x61, 0xb, 0x62, 0xb, 0x63, 0xb, 0x64, 0xb, 0x65, 0xb, 0x66, 0xb, 0x67, 0xb, 0x68, 0xb, 0x69, 0xb, 0x6a, 0xb, 0x6b, 0xb, 0x6c, 0xb, 0x6d, 0xb, 0x6e, 0xb, 0x6f, 0xb, 0x70, 0xb, 0x71, 0xb, 0x72, 0xb, 0x73, 0xb, 0x74, 0xb, 0x75, 0xb, 0x76, 0xb, 0x77, 0xb, 0x78, 0xb, 0x79, 0xb, 0x7a, 0xb, 0x7b, 0xb, 0x7c, 0xb, 0x7d, 0xb, 0x7e, 0xb, 0x7f, 0xb, 0x80, 0xb, 0x81, 0xb, 0x82, 0xb, 0x83, 0xb, 0x84, 0xb, 0x85, 0xb, 0x86, 0xb, 0x87, 0x0, 0xf7, 0xb, 0x88, 0xb, 0x89, 0xb, 0x8a, 0xb, 0x8b, 0xb, 0x8c, 0xb, 0x8d, 0xb, 0x8e, 0xb, 0x8f, 0xb, 0x90, 0xb, 0x91, 0xb, 0x92, 0xb, 0x93, 0xb, 0x94, 0xb, 0x95, 0xb, 0x96, 0xb, 0x97, 0xb, 0x98, 0xb, 0x99, 0xb, 0x9a, 0xb, 0x9b, 0xb, 0x9c, 0xb, 0x9d, 0xb, 0x9e, 0xb, 0x9f, 0xb, 0xa0, 0xb, 0xa1, 0xb, 0xa2, 0xb, 0xa3, 0xb, 0xa4, 0xb, 0xa5, 0xb, 0xa6, 0xb, 0xa7, 0xb, 0xa8, 0xb, 0xa9, 0xb, 0xaa, 0xb, 0xab, 0xb, 0xac, 0xb, 0xad, 0xb, 0xae, 0xb, 0xaf, 0xb, 0xb0, 0xb, 0xb1, 0xb, 0xb2, 0xb, 0xb3, 0xb, 0xb4, 0xb, 0xb5, 0xb, 0xb6, 0xb, 0xb7, 0xb, 0xb8, 0xb, 0xb9, 0xb, 0xba, 0xb, 0xbb, 0xb, 0xbc, 0xb, 0xbd, 0xb, 0xbe, 0xb, 0xbf, 0xb, 0xc0, 0xb, 0xc1, 0xb, 0xc2, 0xb, 0xc3, 0xb, 0xc4, 0x0, 0x8c, 0xb, 0xc5, 0xb, 0xc6, 0xb, 0xc7, 0xb, 0xc8, 0xb, 0xc9, 0xb, 0xca, 0xb, 0xcb, 0xb, 0xcc, 0xb, 0xcd, 0xb, 0xce, 0xb, 0xcf, 0xb, 0xd0, 0xb, 0xd1, 0xb, 0xd2, 0xb, 0xd3, 0xb, 0xd4, 0xb, 0xd5, 0xb, 0xd6, 0xb, 0xd7, 0xb, 0xd8, 0xb, 0xd9, 0xb, 0xda, 0xb, 0xdb, 0xb, 0xdc, 0xb, 0xdd, 0xb, 0xde, 0xb, 0xdf, 0xb, 0xe0, 0xb, 0xe1, 0xb, 0xe2, 0xb, 0xe3, 0xb, 0xe4, 0xb, 0xe5, 0xb, 0xe6, 0xb, 0xe7, 0xb, 0xe8, 0xb, 0xe9, 0xb, 0xea, 0xb, 0xeb, 0xb, 0xec, 0xb, 0xed, 0xb, 0xee, 0xb, 0xef, 0xb, 0xf0, 0xb, 0xf1, 0xb, 0xf2, 0xb, 0xf3, 0xb, 0xf4, 0xb, 0xf5, 0xb, 0xf6, 0xb, 0xf7, 0xb, 0xf8, 0xb, 0xf9, 0xb, 0xfa, 0xb, 0xfb, 0xb, 0xfc, 0xb, 0xfd, 0xb, 0xfe, 0xb, 0xff, 0xc, 0x0, 0xc, 0x1, 0xc, 0x2, 0xc, 0x3, 0xc, 0x4, 0xc, 0x5, 0xc, 0x6, 0xc, 0x7, 0xc, 0x8, 0xc, 0x9, 0xc, 0xa, 0xc, 0xb, 0xc, 0xc, 0xc, 0xd, 0xc, 0xe, 0xc, 0xf, 0xc, 0x10, 0xc, 0x11, 0xc, 0x12, 0xc, 0x13, 0xc, 0x14, 0xc, 0x15, 0xc, 0x16, 0xc, 0x17, 0xc, 0x18, 0xc, 0x19, 0xc, 0x1a, 0xc, 0x1b, 0xc, 0x1c, 0xc, 0x1d, 0xc, 0x1e, 0xc, 0x1f, 0xc, 0x20, 0xc, 0x21, 0xc, 0x22, 0xc, 0x23, 0xc, 0x24, 0xc, 0x25, 0xc, 0x26, 0xc, 0x27, 0xc, 0x28, 0xc, 0x29, 0xc, 0x2a, 0xc, 0x2b, 0xc, 0x2c, 0xc, 0x2d, 0xc, 0x2e, 0xc, 0x2f, 0xc, 0x30, 0xc, 0x31, 0xc, 0x32, 0xc, 0x33, 0xc, 0x34, 0xc, 0x35, 0xc, 0x36, 0xc, 0x37, 0xc, 0x38, 0xc, 0x39, 0xc, 0x3a, 0xc, 0x3b, 0xc, 0x3c, 0xc, 0x3d, 0xc, 0x3e, 0xc, 0x3f, 0xc, 0x40, 0xc, 0x41, 0xc, 0x42, 0xc, 0x43, 0xc, 0x44, 0xc, 0x45, 0xc, 0x46, 0xc, 0x47, 0xc, 0x48, 0xc, 0x49, 0xc, 0x4a, 0xc, 0x4b, 0xc, 0x4c, 0xc, 0x4d, 0xc, 0x4e, 0xc, 0x4f, 0xc, 0x50, 0xc, 0x51, 0xc, 0x52, 0xc, 0x53, 0xc, 0x54, 0xc, 0x55, 0xc, 0x56, 0xc, 0x57, 0xc, 0x58, 0xc, 0x59, 0xc, 0x5a, 0xc, 0x5b, 0xc, 0x5c, 0xc, 0x5d, 0xc, 0x5e, 0xc, 0x5f, 0xc, 0x60, 0xc, 0x61, 0xc, 0x62, 0xc, 0x63, 0xc, 0x64, 0xc, 0x65, 0xc, 0x66, 0xc, 0x67, 0xc, 0x68, 0xc, 0x69, 0xc, 0x6a, 0xc, 0x6b, 0xc, 0x6c, 0xc, 0x6d, 0xc, 0x6e, 0xc, 0x6f, 0xc, 0x70, 0xc, 0x71, 0xc, 0x72, 0xc, 0x73, 0xc, 0x74, 0xc, 0x75, 0xc, 0x76, 0xc, 0x77, 0xc, 0x78, 0xc, 0x79, 0xc, 0x7a, 0xc, 0x7b, 0xc, 0x7c, 0xc, 0x7d, 0xc, 0x7e, 0xc, 0x7f, 0xc, 0x80, 0xc, 0x81, 0xc, 0x82, 0xc, 0x83, 0xc, 0x84, 0xc, 0x85, 0xc, 0x86, 0xc, 0x87, 0xc, 0x88, 0xc, 0x89, 0xc, 0x8a, 0xc, 0x8b, 0xc, 0x8c, 0xc, 0x8d, 0xc, 0x8e, 0xc, 0x8f, 0xc, 0x90, 0xc, 0x91, 0xc, 0x92, 0xc, 0x93, 0xc, 0x94, 0xc, 0x95, 0xc, 0x96, 0x0, 0x98, 0xc, 0x97, 0xc, 0x98, 0xc, 0x99, 0x0, 0xa8, 0xc, 0x9a, 0xc, 0x9b, 0xc, 0x9c, 0xc, 0x9d, 0xc, 0x9e, 0xc, 0x9f, 0xc, 0xa0, 0xc, 0xa1, 0x0, 0x9a, 0xc, 0xa2, 0x0, 0x99, 0x0, 0xef, 0xc, 0xa3, 0xc, 0xa4, 0xc, 0xa5, 0xc, 0xa6, 0xc, 0xa7, 0xc, 0xa8, 0xc, 0xa9, 0x0, 0xa5, 0xc, 0xaa, 0xc, 0xab, 0xc, 0xac, 0x0, 0x92, 0xc, 0xad, 0xc, 0xae, 0xc, 0xaf, 0xc, 0xb0, 0xc, 0xb1, 0xc, 0xb2, 0xc, 0xb3, 0xc, 0xb4, 0xc, 0xb5, 0xc, 0xb6, 0xc, 0xb7, 0xc, 0xb8, 0x0, 0x9c, 0xc, 0xb9, 0xc, 0xba, 0xc, 0xbb, 0xc, 0xbc, 0xc, 0xbd, 0xc, 0xbe, 0xc, 0xbf, 0xc, 0xc0, 0xc, 0xc1, 0xc, 0xc2, 0xc, 0xc3, 0xc, 0xc4, 0xc, 0xc5, 0xc, 0xc6, 0xc, 0xc7, 0xc, 0xc8, 0xc, 0xc9, 0xc, 0xca, 0xc, 0xcb, 0xc, 0xcc, 0xc, 0xcd, 0xc, 0xce, 0xc, 0xcf, 0xc, 0xd0, 0xc, 0xd1, 0xc, 0xd2, 0xc, 0xd3, 0xc, 0xd4, 0x0, 0xa7, 0xc, 0xd5, 0xc, 0xd6, 0xc, 0xd7, 0xc, 0xd8, 0xc, 0xd9, 0xc, 0xda, 0xc, 0xdb, 0xc, 0xdc, 0xc, 0xdd, 0xc, 0xde, 0xc, 0xdf, 0xc, 0xe0, 0xc, 0xe1, 0xc, 0xe2, 0xc, 0xe3, 0xc, 0xe4, 0xc, 0xe5, 0xc, 0xe6, 0xc, 0xe7, 0xc, 0xe8, 0xc, 0xe9, 0xc, 0xea, 0xc, 0xeb, 0x0, 0x8f, 0xc, 0xec, 0xc, 0xed, 0xc, 0xee, 0x0, 0x94, 0x0, 0x95, 0xc, 0xef, 0xc, 0xf0, 0xc, 0xf1, 0xc, 0xf2, 0xc, 0xf3, 0xc, 0xf4, 0xc, 0xf5, 0xc, 0xf6, 0xc, 0xf7, 0xc, 0xf8, 0xc, 0xf9, 0xc, 0xfa, 0xc, 0xfb, 0xc, 0xfc, 0xc, 0xfd, 0xc, 0xfe, 0xc, 0xff, 0xd, 0x0, 0xd, 0x1, 0xd, 0x2, 0xd, 0x3, 0xd, 0x4, 0xd, 0x5, 0xd, 0x6, 0xd, 0x7, 0xd, 0x8, 0xd, 0x9, 0xd, 0xa, 0xd, 0xb, 0xd, 0xc, 0xd, 0xd, 0xd, 0xe, 0xd, 0xf, 0xd, 0x10, 0xd, 0x11, 0xd, 0x12, 0xd, 0x13, 0xd, 0x14, 0xd, 0x15, 0xd, 0x16, 0xd, 0x17, 0xd, 0x18, 0xd, 0x19, 0xd, 0x1a, 0xd, 0x1b, 0xd, 0x1c, 0xd, 0x1d, 0xd, 0x1e, 0xd, 0x1f, 0xd, 0x20, 0xd, 0x21, 0xd, 0x22, 0xd, 0x23, 0xd, 0x24, 0xd, 0x25, 0xd, 0x26, 0xd, 0x27, 0xd, 0x28, 0xd, 0x29, 0xd, 0x2a, 0xd, 0x2b, 0xd, 0x2c, 0xd, 0x2d, 0xd, 0x2e, 0xd, 0x2f, 0xd, 0x30, 0xd, 0x31, 0xd, 0x32, 0xd, 0x33, 0xd, 0x34, 0xd, 0x35, 0xd, 0x36, 0xd, 0x37, 0xd, 0x38, 0xd, 0x39, 0xd, 0x3a, 0xd, 0x3b, 0xd, 0x3c, 0xd, 0x3d, 0xd, 0x3e, 0xd, 0x3f, 0xd, 0x40, 0xd, 0x41, 0xd, 0x42, 0xd, 0x43, 0xd, 0x44, 0xd, 0x45, 0xd, 0x46, 0xd, 0x47, 0xd, 0x48, 0xd, 0x49, 0xd, 0x4a, 0xd, 0x4b, 0xd, 0x4c, 0xd, 0x4d, 0xd, 0x4e, 0xd, 0x4f, 0xd, 0x50, 0xd, 0x51, 0xd, 0x52, 0xd, 0x53, 0xd, 0x54, 0xd, 0x55, 0xd, 0x56, 0xd, 0x57, 0xd, 0x58, 0xd, 0x59, 0xd, 0x5a, 0xd, 0x5b, 0xd, 0x5c, 0xd, 0x5d, 0xd, 0x5e, 0xd, 0x5f, 0xd, 0x60, 0xd, 0x61, 0xd, 0x62, 0xd, 0x63, 0xd, 0x64, 0xd, 0x65, 0xd, 0x66, 0xd, 0x67, 0xd, 0x68, 0xd, 0x69, 0xd, 0x6a, 0xd, 0x6b, 0xd, 0x6c, 0xd, 0x6d, 0xd, 0x6e, 0xd, 0x6f, 0xd, 0x70, 0xd, 0x71, 0xd, 0x72, 0xd, 0x73, 0xd, 0x74, 0xd, 0x75, 0xd, 0x76, 0xd, 0x77, 0xd, 0x78, 0xd, 0x79, 0xd, 0x7a, 0xd, 0x7b, 0xd, 0x7c, 0xd, 0x7d, 0xd, 0x7e, 0xd, 0x7f, 0xd, 0x80, 0xd, 0x81, 0xd, 0x82, 0xd, 0x83, 0xd, 0x84, 0xd, 0x85, 0xd, 0x86, 0xd, 0x87, 0xd, 0x88, 0xd, 0x89, 0xd, 0x8a, 0xd, 0x8b, 0xd, 0x8c, 0xd, 0x8d, 0xd, 0x8e, 0xd, 0x8f, 0xd, 0x90, 0xd, 0x91, 0xd, 0x92, 0xd, 0x93, 0xd, 0x94, 0xd, 0x95, 0xd, 0x96, 0xd, 0x97, 0xd, 0x98, 0xd, 0x99, 0xd, 0x9a, 0xd, 0x9b, 0xd, 0x9c, 0xd, 0x9d, 0xd, 0x9e, 0xd, 0x9f, 0xd, 0xa0, 0xd, 0xa1, 0xd, 0xa2, 0xd, 0xa3, 0xd, 0xa4, 0xd, 0xa5, 0xd, 0xa6, 0xd, 0xa7, 0xd, 0xa8, 0xd, 0xa9, 0xd, 0xaa, 0xd, 0xab, 0xd, 0xac, 0xd, 0xad, 0xd, 0xae, 0xd, 0xaf, 0xd, 0xb0, 0xd, 0xb1, 0xd, 0xb2, 0xd, 0xb3, 0xd, 0xb4, 0xd, 0xb5, 0xd, 0xb6, 0xd, 0xb7, 0xd, 0xb8, 0xd, 0xb9, 0xd, 0xba, 0xd, 0xbb, 0xd, 0xbc, 0xd, 0xbd, 0xd, 0xbe, 0xd, 0xbf, 0xd, 0xc0, 0xd, 0xc1, 0xd, 0xc2, 0xd, 0xc3, 0xd, 0xc4, 0xd, 0xc5, 0xd, 0xc6, 0xd, 0xc7, 0xd, 0xc8, 0xd, 0xc9, 0xd, 0xca, 0xd, 0xcb, 0xd, 0xcc, 0xd, 0xcd, 0xd, 0xce, 0xd, 0xcf, 0xd, 0xd0, 0xd, 0xd1, 0xd, 0xd2, 0xd, 0xd3, 0xd, 0xd4, 0xd, 0xd5, 0xd, 0xd6, 0xd, 0xd7, 0xd, 0xd8, 0xd, 0xd9, 0xd, 0xda, 0xd, 0xdb, 0xd, 0xdc, 0xd, 0xdd, 0xd, 0xde, 0xd, 0xdf, 0xd, 0xe0, 0xd, 0xe1, 0xd, 0xe2, 0xd, 0xe3, 0xd, 0xe4, 0xd, 0xe5, 0xd, 0xe6, 0xd, 0xe7, 0xd, 0xe8, 0xd, 0xe9, 0xd, 0xea, 0xd, 0xeb, 0xd, 0xec, 0xd, 0xed, 0xd, 0xee, 0xd, 0xef, 0xd, 0xf0, 0xd, 0xf1, 0xd, 0xf2, 0xd, 0xf3, 0xd, 0xf4, 0xd, 0xf5, 0xd, 0xf6, 0xd, 0xf7, 0xd, 0xf8, 0xd, 0xf9, 0xd, 0xfa, 0xd, 0xfb, 0xd, 0xfc, 0xd, 0xfd, 0xd, 0xfe, 0xd, 0xff, 0xe, 0x0, 0xe, 0x1, 0xe, 0x2, 0xe, 0x3, 0xe, 0x4, 0xe, 0x5, 0xe, 0x6, 0xe, 0x7, 0xe, 0x8, 0xe, 0x9, 0xe, 0xa, 0xe, 0xb, 0xe, 0xc, 0xe, 0xd, 0xe, 0xe, 0xe, 0xf, 0xe, 0x10, 0xe, 0x11, 0xe, 0x12, 0xe, 0x13, 0xe, 0x14, 0xe, 0x15, 0xe, 0x16, 0xe, 0x17, 0xe, 0x18, 0xe, 0x19, 0xe, 0x1a, 0xe, 0x1b, 0xe, 0x1c, 0xe, 0x1d, 0xe, 0x1e, 0xe, 0x1f, 0xe, 0x20, 0xe, 0x21, 0xe, 0x22, 0xe, 0x23, 0xe, 0x24, 0xe, 0x25, 0xe, 0x26, 0xe, 0x27, 0xe, 0x28, 0xe, 0x29, 0xe, 0x2a, 0xe, 0x2b, 0xe, 0x2c, 0xe, 0x2d, 0xe, 0x2e, 0xe, 0x2f, 0xe, 0x30, 0xe, 0x31, 0xe, 0x32, 0xe, 0x33, 0xe, 0x34, 0xe, 0x35, 0xe, 0x36, 0xe, 0x37, 0xe, 0x38, 0xe, 0x39, 0xe, 0x3a, 0xe, 0x3b, 0xe, 0x3c, 0xe, 0x3d, 0xe, 0x3e, 0xe, 0x3f, 0xe, 0x40, 0xe, 0x41, 0xe, 0x42, 0xe, 0x43, 0xe, 0x44, 0xe, 0x45, 0xe, 0x46, 0xe, 0x47, 0xe, 0x48, 0xe, 0x49, 0xe, 0x4a, 0xe, 0x4b, 0xe, 0x4c, 0xe, 0x4d, 0xe, 0x4e, 0xe, 0x4f, 0xe, 0x50, 0xe, 0x51, 0xe, 0x52, 0xe, 0x53, 0xe, 0x54, 0xe, 0x55, 0xe, 0x56, 0xe, 0x57, 0xe, 0x58, 0xe, 0x59, 0xe, 0x5a, 0xe, 0x5b, 0xe, 0x5c, 0xe, 0x5d, 0xe, 0x5e, 0xe, 0x5f, 0xe, 0x60, 0xe, 0x61, 0xe, 0x62, 0xe, 0x63, 0xe, 0x64, 0xe, 0x65, 0xe, 0x66, 0xe, 0x67, 0xe, 0x68, 0xe, 0x69, 0xe, 0x6a, 0xe, 0x6b, 0xe, 0x6c, 0xe, 0x6d, 0xe, 0x6e, 0xe, 0x6f, 0xe, 0x70, 0xe, 0x71, 0xe, 0x72, 0xe, 0x73, 0xe, 0x74, 0xe, 0x75, 0xe, 0x76, 0xe, 0x77, 0xe, 0x78, 0xe, 0x79, 0xe, 0x7a, 0xe, 0x7b, 0xe, 0x7c, 0xe, 0x7d, 0xe, 0x7e, 0xe, 0x7f, 0xe, 0x80, 0xe, 0x81, 0xe, 0x82, 0xe, 0x83, 0xe, 0x84, 0xe, 0x85, 0xe, 0x86, 0xe, 0x87, 0xe, 0x88, 0xe, 0x89, 0xe, 0x8a, 0xe, 0x8b, 0xe, 0x8c, 0xe, 0x8d, 0xe, 0x8e, 0xe, 0x8f, 0xe, 0x90, 0xe, 0x91, 0xe, 0x92, 0xe, 0x93, 0xe, 0x94, 0xe, 0x95, 0xe, 0x96, 0xe, 0x97, 0xe, 0x98, 0xe, 0x99, 0xe, 0x9a, 0xe, 0x9b, 0xe, 0x9c, 0xe, 0x9d, 0xe, 0x9e, 0xe, 0x9f, 0x0, 0xb9, 0xe, 0xa0, 0xe, 0xa1, 0xe, 0xa2, 0xe, 0xa3, 0xe, 0xa4, 0xe, 0xa5, 0xe, 0xa6, 0xe, 0xa7, 0xe, 0xa8, 0xe, 0xa9, 0xe, 0xaa, 0xe, 0xab, 0xe, 0xac, 0xe, 0xad, 0xe, 0xae, 0xe, 0xaf, 0xe, 0xb0, 0xe, 0xb1, 0xe, 0xb2, 0xe, 0xb3, 0xe, 0xb4, 0xe, 0xb5, 0xe, 0xb6, 0xe, 0xb7, 0xe, 0xb8, 0xe, 0xb9, 0xe, 0xba, 0xe, 0xbb, 0xe, 0xbc, 0xe, 0xbd, 0xe, 0xbe, 0xe, 0xbf, 0xe, 0xc0, 0xe, 0xc1, 0xe, 0xc2, 0xe, 0xc3, 0xe, 0xc4, 0xe, 0xc5, 0xe, 0xc6, 0xe, 0xc7, 0xe, 0xc8, 0xe, 0xc9, 0xe, 0xca, 0xe, 0xcb, 0xe, 0xcc, 0xe, 0xcd, 0xe, 0xce, 0xe, 0xcf, 0xe, 0xd0, 0xe, 0xd1, 0xe, 0xd2, 0xe, 0xd3, 0xe, 0xd4, 0xe, 0xd5, 0xe, 0xd6, 0xe, 0xd7, 0xe, 0xd8, 0xe, 0xd9, 0xe, 0xda, 0xe, 0xdb, 0xe, 0xdc, 0xe, 0xdd, 0xe, 0xde, 0xe, 0xdf, 0xe, 0xe0, 0xe, 0xe1, 0xe, 0xe2, 0xe, 0xe3, 0xe, 0xe4, 0xe, 0xe5, 0xe, 0xe6, 0xe, 0xe7, 0xe, 0xe8, 0xe, 0xe9, 0xe, 0xea, 0xe, 0xeb, 0xe, 0xec, 0xe, 0xed, 0xe, 0xee, 0xe, 0xef, 0xe, 0xf0, 0xe, 0xf1, 0xe, 0xf2, 0xe, 0xf3, 0xe, 0xf4, 0xe, 0xf5, 0xe, 0xf6, 0xe, 0xf7, 0xe, 0xf8, 0xe, 0xf9, 0xe, 0xfa, 0xe, 0xfb, 0xe, 0xfc, 0xe, 0xfd, 0xe, 0xfe, 0xe, 0xff, 0xf, 0x0, 0xf, 0x1, 0xf, 0x2, 0xf, 0x3, 0xf, 0x4, 0xf, 0x5, 0xf, 0x6, 0xf, 0x7, 0xf, 0x8, 0xf, 0x9, 0xf, 0xa, 0xf, 0xb, 0xf, 0xc, 0xf, 0xd, 0xf, 0xe, 0xf, 0xf, 0xf, 0x10, 0xf, 0x11, 0xf, 0x12, 0xf, 0x13, 0xf, 0x14, 0xf, 0x15, 0xf, 0x16, 0xf, 0x17, 0xf, 0x18, 0xf, 0x19, 0xf, 0x1a, 0xf, 0x1b, 0xf, 0x1c, 0xf, 0x1d, 0xf, 0x1e, 0xf, 0x1f, 0xf, 0x20, 0xf, 0x21, 0xf, 0x22, 0xf, 0x23, 0xf, 0x24, 0xf, 0x25, 0xf, 0x26, 0xf, 0x27, 0xf, 0x28, 0xf, 0x29, 0xf, 0x2a, 0xf, 0x2b, 0xf, 0x2c, 0xf, 0x2d, 0xf, 0x2e, 0xf, 0x2f, 0xf, 0x30, 0xf, 0x31, 0xf, 0x32, 0xf, 0x33, 0xf, 0x34, 0xf, 0x35, 0xf, 0x36, 0xf, 0x37, 0xf, 0x38, 0xf, 0x39, 0xf, 0x3a, 0xf, 0x3b, 0xf, 0x3c, 0xf, 0x3d, 0xf, 0x3e, 0xf, 0x3f, 0xf, 0x40, 0xf, 0x41, 0xf, 0x42, 0xf, 0x43, 0xf, 0x44, 0xf, 0x45, 0xf, 0x46, 0xf, 0x47, 0xf, 0x48, 0xf, 0x49, 0xf, 0x4a, 0xf, 0x4b, 0xf, 0x4c, 0xf, 0x4d, 0xf, 0x4e, 0xf, 0x4f, 0xf, 0x50, 0xf, 0x51, 0xf, 0x52, 0xf, 0x53, 0xf, 0x54, 0xf, 0x55, 0xf, 0x56, 0xf, 0x57, 0xf, 0x58, 0xf, 0x59, 0xf, 0x5a, 0xf, 0x5b, 0xf, 0x5c, 0xf, 0x5d, 0xf, 0x5e, 0xf, 0x5f, 0xf, 0x60, 0xf, 0x61, 0xf, 0x62, 0xf, 0x63, 0xf, 0x64, 0xf, 0x65, 0xf, 0x66, 0xf, 0x67, 0xf, 0x68, 0xf, 0x69, 0xf, 0x6a, 0xf, 0x6b, 0xf, 0x6c, 0xf, 0x6d, 0xf, 0x6e, 0xf, 0x6f, 0xf, 0x70, 0xf, 0x71, 0xf, 0x72, 0xf, 0x73, 0xf, 0x74, 0xf, 0x75, 0xf, 0x76, 0xf, 0x77, 0xf, 0x78, 0xf, 0x79, 0xf, 0x7a, 0xf, 0x7b, 0xf, 0x7c, 0xf, 0x7d, 0xf, 0x7e, 0xf, 0x7f, 0xf, 0x80, 0xf, 0x81, 0xf, 0x82, 0xf, 0x83, 0xf, 0x84, 0xf, 0x85, 0xf, 0x86, 0xf, 0x87, 0xf, 0x88, 0xf, 0x89, 0xf, 0x8a, 0xf, 0x8b, 0xf, 0x8c, 0xf, 0x8d, 0xf, 0x8e, 0xf, 0x8f, 0xf, 0x90, 0xf, 0x91, 0xf, 0x92, 0xf, 0x93, 0xf, 0x94, 0xf, 0x95, 0xf, 0x96, 0xf, 0x97, 0xf, 0x98, 0xf, 0x99, 0xf, 0x9a, 0xf, 0x9b, 0xf, 0x9c, 0xf, 0x9d, 0xf, 0x9e, 0xf, 0x9f, 0xf, 0xa0, 0xf, 0xa1, 0xf, 0xa2, 0xf, 0xa3, 0xf, 0xa4, 0xf, 0xa5, 0xf, 0xa6, 0xf, 0xa7, 0xf, 0xa8, 0xf, 0xa9, 0xf, 0xaa, 0xf, 0xab, 0xf, 0xac, 0xf, 0xad, 0xf, 0xae, 0xf, 0xaf, 0xf, 0xb0, 0xf, 0xb1, 0xf, 0xb2, 0xf, 0xb3, 0xf, 0xb4, 0xf, 0xb5, 0xf, 0xb6, 0xf, 0xb7, 0xf, 0xb8, 0xf, 0xb9, 0xf, 0xba, 0xf, 0xbb, 0xf, 0xbc, 0xf, 0xbd, 0xf, 0xbe, 0xf, 0xbf, 0xf, 0xc0, 0xf, 0xc1, 0xf, 0xc2, 0xf, 0xc3, 0xf, 0xc4, 0xf, 0xc5, 0xf, 0xc6, 0xf, 0xc7, 0xf, 0xc8, 0xf, 0xc9, 0xf, 0xca, 0xf, 0xcb, 0xf, 0xcc, 0xf, 0xcd, 0xf, 0xce, 0xf, 0xcf, 0xf, 0xd0, 0xf, 0xd1, 0xf, 0xd2, 0xf, 0xd3, 0xf, 0xd4, 0xf, 0xd5, 0xf, 0xd6, 0xf, 0xd7, 0xf, 0xd8, 0xf, 0xd9, 0xf, 0xda, 0xf, 0xdb, 0xf, 0xdc, 0xf, 0xdd, 0xf, 0xde, 0xf, 0xdf, 0xf, 0xe0, 0xf, 0xe1, 0xf, 0xe2, 0xf, 0xe3, 0xf, 0xe4, 0xf, 0xe5, 0xf, 0xe6, 0xf, 0xe7, 0xf, 0xe8, 0xf, 0xe9, 0xf, 0xea, 0xf, 0xeb, 0xf, 0xec, 0xf, 0xed, 0xf, 0xee, 0xf, 0xef, 0xf, 0xf0, 0xf, 0xf1, 0xf, 0xf2, 0xf, 0xf3, 0xf, 0xf4, 0xf, 0xf5, 0xf, 0xf6, 0xf, 0xf7, 0xf, 0xf8, 0xf, 0xf9, 0xf, 0xfa, 0xf, 0xfb, 0xf, 0xfc, 0xf, 0xfd, 0xf, 0xfe, 0xf, 0xff, 0x10, 0x0, 0x10, 0x1, 0x10, 0x2, 0x10, 0x3, 0x10, 0x4, 0x10, 0x5, 0x10, 0x6, 0x10, 0x7, 0x10, 0x8, 0x10, 0x9, 0x10, 0xa, 0x10, 0xb, 0x10, 0xc, 0x10, 0xd, 0x10, 0xe, 0x10, 0xf, 0x10, 0x10, 0x10, 0x11, 0x10, 0x12, 0x10, 0x13, 0x10, 0x14, 0x10, 0x15, 0x10, 0x16, 0x10, 0x17, 0x10, 0x18, 0x10, 0x19, 0x10, 0x1a, 0x10, 0x1b, 0x10, 0x1c, 0x10, 0x1d, 0x10, 0x1e, 0x10, 0x1f, 0x10, 0x20, 0x10, 0x21, 0x10, 0x22, 0x10, 0x23, 0x10, 0x24, 0x10, 0x25, 0x10, 0x26, 0x10, 0x27, 0x10, 0x28, 0x10, 0x29, 0x10, 0x2a, 0x10, 0x2b, 0x10, 0x2c, 0x10, 0x2d, 0x10, 0x2e, 0x10, 0x2f, 0x10, 0x30, 0x10, 0x31, 0x10, 0x32, 0x10, 0x33, 0x10, 0x34, 0x10, 0x35, 0x10, 0x36, 0x10, 0x37, 0x10, 0x38, 0x10, 0x39, 0x10, 0x3a, 0x10, 0x3b, 0x10, 0x3c, 0x10, 0x3d, 0x10, 0x3e, 0x10, 0x3f, 0x10, 0x40, 0x10, 0x41, 0x10, 0x42, 0x10, 0x43, 0x10, 0x44, 0x10, 0x45, 0x10, 0x46, 0x10, 0x47, 0x10, 0x48, 0x10, 0x49, 0x10, 0x4a, 0x10, 0x4b, 0x10, 0x4c, 0x10, 0x4d, 0x10, 0x4e, 0x10, 0x4f, 0x10, 0x50, 0x10, 0x51, 0x10, 0x52, 0x10, 0x53, 0x10, 0x54, 0x10, 0x55, 0x10, 0x56, 0x10, 0x57, 0x10, 0x58, 0x10, 0x59, 0x10, 0x5a, 0x10, 0x5b, 0x10, 0x5c, 0x10, 0x5d, 0x10, 0x5e, 0x10, 0x5f, 0x10, 0x60, 0x10, 0x61, 0x10, 0x62, 0x10, 0x63, 0x10, 0x64, 0x10, 0x65, 0x10, 0x66, 0x10, 0x67, 0x10, 0x68, 0x10, 0x69, 0x10, 0x6a, 0x10, 0x6b, 0x10, 0x6c, 0x10, 0x6d, 0x10, 0x6e, 0x10, 0x6f, 0x10, 0x70, 0x10, 0x71, 0x10, 0x72, 0x10, 0x73, 0x10, 0x74, 0x10, 0x75, 0x10, 0x76, 0x10, 0x77, 0x10, 0x78, 0x10, 0x79, 0x10, 0x7a, 0x10, 0x7b, 0x10, 0x7c, 0x10, 0x7d, 0x10, 0x7e, 0x10, 0x7f, 0x10, 0x80, 0x10, 0x81, 0x10, 0x82, 0x10, 0x83, 0x10, 0x84, 0x10, 0x85, 0x10, 0x86, 0x10, 0x87, 0x10, 0x88, 0x10, 0x89, 0x10, 0x8a, 0x10, 0x8b, 0x10, 0x8c, 0x10, 0x8d, 0x10, 0x8e, 0x10, 0x8f, 0x10, 0x90, 0x10, 0x91, 0x10, 0x92, 0x10, 0x93, 0x10, 0x94, 0x10, 0x95, 0x10, 0x96, 0x10, 0x97, 0x10, 0x98, 0x10, 0x99, 0x10, 0x9a, 0x10, 0x9b, 0x10, 0x9c, 0x10, 0x9d, 0x10, 0x9e, 0x10, 0x9f, 0x10, 0xa0, 0x10, 0xa1, 0x10, 0xa2, 0x10, 0xa3, 0x10, 0xa4, 0x10, 0xa5, 0x10, 0xa6, 0x10, 0xa7, 0x10, 0xa8, 0x10, 0xa9, 0x10, 0xaa, 0x10, 0xab, 0x10, 0xac, 0x10, 0xad, 0x10, 0xae, 0x10, 0xaf, 0x10, 0xb0, 0x10, 0xb1, 0x10, 0xb2, 0x10, 0xb3, 0x10, 0xb4, 0x10, 0xb5, 0x10, 0xb6, 0x10, 0xb7, 0x10, 0xb8, 0x10, 0xb9, 0x10, 0xba, 0x10, 0xbb, 0x10, 0xbc, 0x10, 0xbd, 0x10, 0xbe, 0x10, 0xbf, 0x10, 0xc0, 0x10, 0xc1, 0x10, 0xc2, 0x10, 0xc3, 0x10, 0xc4, 0x10, 0xc5, 0x10, 0xc6, 0x10, 0xc7, 0x10, 0xc8, 0x10, 0xc9, 0x10, 0xca, 0x10, 0xcb, 0x10, 0xcc, 0x10, 0xcd, 0x10, 0xce, 0x10, 0xcf, 0x10, 0xd0, 0x10, 0xd1, 0x10, 0xd2, 0x10, 0xd3, 0x10, 0xd4, 0x10, 0xd5, 0x10, 0xd6, 0x10, 0xd7, 0x10, 0xd8, 0x10, 0xd9, 0x10, 0xda, 0x10, 0xdb, 0x10, 0xdc, 0x10, 0xdd, 0x10, 0xde, 0x10, 0xdf, 0x10, 0xe0, 0x10, 0xe1, 0x10, 0xe2, 0x10, 0xe3, 0x10, 0xe4, 0x10, 0xe5, 0x10, 0xe6, 0x10, 0xe7, 0x10, 0xe8, 0x10, 0xe9, 0x10, 0xea, 0x10, 0xeb, 0x10, 0xec, 0x10, 0xed, 0x10, 0xee, 0x10, 0xef, 0x10, 0xf0, 0x10, 0xf1, 0x10, 0xf2, 0x10, 0xf3, 0x10, 0xf4, 0x10, 0xf5, 0x10, 0xf6, 0x10, 0xf7, 0x10, 0xf8, 0x10, 0xf9, 0x10, 0xfa, 0x10, 0xfb, 0x10, 0xfc, 0x10, 0xfd, 0x10, 0xfe, 0x10, 0xff, 0x11, 0x0, 0x11, 0x1, 0x11, 0x2, 0x11, 0x3, 0x11, 0x4, 0x11, 0x5, 0x11, 0x6, 0x11, 0x7, 0x11, 0x8, 0x11, 0x9, 0x11, 0xa, 0x11, 0xb, 0x11, 0xc, 0x11, 0xd, 0x11, 0xe, 0x11, 0xf, 0x11, 0x10, 0x11, 0x11, 0x11, 0x12, 0x11, 0x13, 0x11, 0x14, 0x11, 0x15, 0x11, 0x16, 0x11, 0x17, 0x11, 0x18, 0x11, 0x19, 0x11, 0x1a, 0x11, 0x1b, 0x11, 0x1c, 0x11, 0x1d, 0x11, 0x1e, 0x11, 0x1f, 0x11, 0x20, 0x11, 0x21, 0x11, 0x22, 0x11, 0x23, 0x11, 0x24, 0x11, 0x25, 0x11, 0x26, 0x11, 0x27, 0x11, 0x28, 0x11, 0x29, 0x11, 0x2a, 0x11, 0x2b, 0x11, 0x2c, 0x11, 0x2d, 0x11, 0x2e, 0x11, 0x2f, 0x11, 0x30, 0x11, 0x31, 0x11, 0x32, 0x11, 0x33, 0x11, 0x34, 0x11, 0x35, 0x11, 0x36, 0x11, 0x37, 0x11, 0x38, 0x11, 0x39, 0x11, 0x3a, 0x11, 0x3b, 0x11, 0x3c, 0x11, 0x3d, 0x11, 0x3e, 0x11, 0x3f, 0x11, 0x40, 0x11, 0x41, 0x11, 0x42, 0x11, 0x43, 0x11, 0x44, 0x11, 0x45, 0x11, 0x46, 0x11, 0x47, 0x11, 0x48, 0x11, 0x49, 0x11, 0x4a, 0x11, 0x4b, 0x11, 0x4c, 0x11, 0x4d, 0x11, 0x4e, 0x11, 0x4f, 0x11, 0x50, 0x11, 0x51, 0x11, 0x52, 0x11, 0x53, 0x11, 0x54, 0x11, 0x55, 0x11, 0x56, 0x11, 0x57, 0x11, 0x58, 0x11, 0x59, 0x11, 0x5a, 0x11, 0x5b, 0x11, 0x5c, 0x11, 0x5d, 0x11, 0x5e, 0x11, 0x5f, 0x11, 0x60, 0x11, 0x61, 0x11, 0x62, 0x11, 0x63, 0x11, 0x64, 0x11, 0x65, 0x11, 0x66, 0x11, 0x67, 0x11, 0x68, 0x11, 0x69, 0x11, 0x6a, 0x11, 0x6b, 0x11, 0x6c, 0x11, 0x6d, 0x11, 0x6e, 0x11, 0x6f, 0x11, 0x70, 0x11, 0x71, 0x11, 0x72, 0x11, 0x73, 0x11, 0x74, 0x11, 0x75, 0x11, 0x76, 0x11, 0x77, 0x11, 0x78, 0x11, 0x79, 0x11, 0x7a, 0x11, 0x7b, 0x11, 0x7c, 0x11, 0x7d, 0x11, 0x7e, 0x11, 0x7f, 0x11, 0x80, 0x11, 0x81, 0x11, 0x82, 0x11, 0x83, 0x11, 0x84, 0x11, 0x85, 0x11, 0x86, 0x11, 0x87, 0x11, 0x88, 0x11, 0x89, 0x11, 0x8a, 0x11, 0x8b, 0x11, 0x8c, 0x11, 0x8d, 0x11, 0x8e, 0x11, 0x8f, 0x11, 0x90, 0x11, 0x91, 0x11, 0x92, 0x11, 0x93, 0x11, 0x94, 0x11, 0x95, 0x11, 0x96, 0x11, 0x97, 0x11, 0x98, 0x11, 0x99, 0x11, 0x9a, 0x11, 0x9b, 0x11, 0x9c, 0x11, 0x9d, 0x11, 0x9e, 0x11, 0x9f, 0x11, 0xa0, 0x11, 0xa1, 0x11, 0xa2, 0x11, 0xa3, 0x11, 0xa4, 0x11, 0xa5, 0x11, 0xa6, 0x11, 0xa7, 0x11, 0xa8, 0x11, 0xa9, 0x11, 0xaa, 0x11, 0xab, 0x11, 0xac, 0x11, 0xad, 0x11, 0xae, 0x11, 0xaf, 0x11, 0xb0, 0x11, 0xb1, 0x11, 0xb2, 0x11, 0xb3, 0x11, 0xb4, 0x11, 0xb5, 0x11, 0xb6, 0x11, 0xb7, 0x11, 0xb8, 0x11, 0xb9, 0x11, 0xba, 0x11, 0xbb, 0x11, 0xbc, 0x11, 0xbd, 0x11, 0xbe, 0x11, 0xbf, 0x11, 0xc0, 0x11, 0xc1, 0x11, 0xc2, 0x11, 0xc3, 0x11, 0xc4, 0x11, 0xc5, 0x11, 0xc6, 0x11, 0xc7, 0x11, 0xc8, 0x11, 0xc9, 0x11, 0xca, 0x11, 0xcb, 0x11, 0xcc, 0x11, 0xcd, 0x11, 0xce, 0x11, 0xcf, 0x11, 0xd0, 0x11, 0xd1, 0x11, 0xd2, 0x11, 0xd3, 0x11, 0xd4, 0x11, 0xd5, 0x11, 0xd6, 0x11, 0xd7, 0x11, 0xd8, 0x11, 0xd9, 0x11, 0xda, 0x11, 0xdb, 0x11, 0xdc, 0x11, 0xdd, 0x11, 0xde, 0x11, 0xdf, 0x11, 0xe0, 0x11, 0xe1, 0x11, 0xe2, 0x11, 0xe3, 0x11, 0xe4, 0x11, 0xe5, 0x11, 0xe6, 0x11, 0xe7, 0x11, 0xe8, 0x11, 0xe9, 0x11, 0xea, 0x11, 0xeb, 0x11, 0xec, 0x11, 0xed, 0x11, 0xee, 0x11, 0xef, 0x11, 0xf0, 0x11, 0xf1, 0x11, 0xf2, 0x11, 0xf3, 0x11, 0xf4, 0x11, 0xf5, 0x11, 0xf6, 0x11, 0xf7, 0x11, 0xf8, 0x11, 0xf9, 0x11, 0xfa, 0x11, 0xfb, 0x11, 0xfc, 0x11, 0xfd, 0x11, 0xfe, 0x11, 0xff, 0x12, 0x0, 0x12, 0x1, 0x12, 0x2, 0x12, 0x3, 0x12, 0x4, 0x12, 0x5, 0x12, 0x6, 0x12, 0x7, 0x12, 0x8, 0x12, 0x9, 0x12, 0xa, 0x12, 0xb, 0x12, 0xc, 0x12, 0xd, 0x12, 0xe, 0x12, 0xf, 0x12, 0x10, 0x12, 0x11, 0x12, 0x12, 0x12, 0x13, 0x12, 0x14, 0x12, 0x15, 0x12, 0x16, 0x12, 0x17, 0x12, 0x18, 0x12, 0x19, 0x12, 0x1a, 0x12, 0x1b, 0x12, 0x1c, 0x12, 0x1d, 0x12, 0x1e, 0x12, 0x1f, 0x12, 0x20, 0x12, 0x21, 0x12, 0x22, 0x12, 0x23, 0x12, 0x24, 0x12, 0x25, 0x12, 0x26, 0x12, 0x27, 0x12, 0x28, 0x12, 0x29, 0x12, 0x2a, 0x12, 0x2b, 0x12, 0x2c, 0x12, 0x2d, 0x12, 0x2e, 0x12, 0x2f, 0x12, 0x30, 0x12, 0x31, 0x12, 0x32, 0x12, 0x33, 0x12, 0x34, 0x12, 0x35, 0x12, 0x36, 0x12, 0x37, 0x12, 0x38, 0x12, 0x39, 0x12, 0x3a, 0x12, 0x3b, 0x12, 0x3c, 0x12, 0x3d, 0x12, 0x3e, 0x12, 0x3f, 0x12, 0x40, 0x12, 0x41, 0x12, 0x42, 0x12, 0x43, 0x12, 0x44, 0x12, 0x45, 0x12, 0x46, 0x12, 0x47, 0x12, 0x48, 0x12, 0x49, 0x12, 0x4a, 0x12, 0x4b, 0x12, 0x4c, 0x12, 0x4d, 0x12, 0x4e, 0x12, 0x4f, 0x12, 0x50, 0x12, 0x51, 0x12, 0x52, 0x12, 0x53, 0x12, 0x54, 0x12, 0x55, 0x12, 0x56, 0x12, 0x57, 0x12, 0x58, 0x12, 0x59, 0x12, 0x5a, 0x12, 0x5b, 0x12, 0x5c, 0x12, 0x5d, 0x12, 0x5e, 0x12, 0x5f, 0x12, 0x60, 0x12, 0x61, 0x12, 0x62, 0x12, 0x63, 0x12, 0x64, 0x12, 0x65, 0x12, 0x66, 0x12, 0x67, 0x12, 0x68, 0x12, 0x69, 0x12, 0x6a, 0x12, 0x6b, 0x12, 0x6c, 0x12, 0x6d, 0x12, 0x6e, 0x12, 0x6f, 0x12, 0x70, 0x12, 0x71, 0x12, 0x72, 0x12, 0x73, 0x12, 0x74, 0x12, 0x75, 0x12, 0x76, 0x12, 0x77, 0x12, 0x78, 0x12, 0x79, 0x12, 0x7a, 0x12, 0x7b, 0x12, 0x7c, 0x12, 0x7d, 0x12, 0x7e, 0x12, 0x7f, 0x12, 0x80, 0x12, 0x81, 0x12, 0x82, 0x12, 0x83, 0x12, 0x84, 0x12, 0x85, 0x12, 0x86, 0x12, 0x87, 0x12, 0x88, 0x12, 0x89, 0x12, 0x8a, 0x12, 0x8b, 0x12, 0x8c, 0x12, 0x8d, 0x12, 0x8e, 0x12, 0x8f, 0x12, 0x90, 0x12, 0x91, 0x12, 0x92, 0x12, 0x93, 0x12, 0x94, 0x12, 0x95, 0x12, 0x96, 0x12, 0x97, 0x12, 0x98, 0x12, 0x99, 0x12, 0x9a, 0x12, 0x9b, 0x12, 0x9c, 0x12, 0x9d, 0x12, 0x9e, 0x12, 0x9f, 0x12, 0xa0, 0x12, 0xa1, 0x12, 0xa2, 0x12, 0xa3, 0x12, 0xa4, 0x12, 0xa5, 0x12, 0xa6, 0x12, 0xa7, 0x12, 0xa8, 0x12, 0xa9, 0x12, 0xaa, 0x12, 0xab, 0x12, 0xac, 0x12, 0xad, 0x12, 0xae, 0x12, 0xaf, 0x12, 0xb0, 0x12, 0xb1, 0x12, 0xb2, 0x12, 0xb3, 0x12, 0xb4, 0x12, 0xb5, 0x12, 0xb6, 0x12, 0xb7, 0x12, 0xb8, 0x12, 0xb9, 0x12, 0xba, 0x12, 0xbb, 0x12, 0xbc, 0x12, 0xbd, 0x12, 0xbe, 0x12, 0xbf, 0x12, 0xc0, 0x12, 0xc1, 0x12, 0xc2, 0x12, 0xc3, 0x12, 0xc4, 0x12, 0xc5, 0x12, 0xc6, 0x12, 0xc7, 0x12, 0xc8, 0x12, 0xc9, 0x12, 0xca, 0x12, 0xcb, 0x12, 0xcc, 0x12, 0xcd, 0x12, 0xce, 0x12, 0xcf, 0x12, 0xd0, 0x12, 0xd1, 0x12, 0xd2, 0x12, 0xd3, 0x12, 0xd4, 0x12, 0xd5, 0x12, 0xd6, 0x12, 0xd7, 0x12, 0xd8, 0x12, 0xd9, 0x12, 0xda, 0x12, 0xdb, 0x12, 0xdc, 0x12, 0xdd, 0x12, 0xde, 0x12, 0xdf, 0x12, 0xe0, 0x12, 0xe1, 0x12, 0xe2, 0x12, 0xe3, 0x12, 0xe4, 0x12, 0xe5, 0x12, 0xe6, 0x12, 0xe7, 0x12, 0xe8, 0x12, 0xe9, 0x12, 0xea, 0x12, 0xeb, 0x12, 0xec, 0x12, 0xed, 0x12, 0xee, 0x12, 0xef, 0x12, 0xf0, 0x12, 0xf1, 0x12, 0xf2, 0x12, 0xf3, 0x12, 0xf4, 0x12, 0xf5, 0x12, 0xf6, 0x12, 0xf7, 0x12, 0xf8, 0x12, 0xf9, 0x12, 0xfa, 0x12, 0xfb, 0x12, 0xfc, 0x12, 0xfd, 0x12, 0xfe, 0x12, 0xff, 0x13, 0x0, 0x13, 0x1, 0x13, 0x2, 0x13, 0x3, 0x13, 0x4, 0x13, 0x5, 0x13, 0x6, 0x13, 0x7, 0x13, 0x8, 0x13, 0x9, 0x13, 0xa, 0x13, 0xb, 0x13, 0xc, 0x13, 0xd, 0x13, 0xe, 0x13, 0xf, 0x13, 0x10, 0x13, 0x11, 0x13, 0x12, 0x13, 0x13, 0x13, 0x14, 0x13, 0x15, 0x13, 0x16, 0x13, 0x17, 0x13, 0x18, 0x13, 0x19, 0x13, 0x1a, 0x13, 0x1b, 0x13, 0x1c, 0x13, 0x1d, 0x13, 0x1e, 0x13, 0x1f, 0x13, 0x20, 0x13, 0x21, 0x13, 0x22, 0x13, 0x23, 0x13, 0x24, 0x13, 0x25, 0x13, 0x26, 0x13, 0x27, 0x13, 0x28, 0x13, 0x29, 0x13, 0x2a, 0x13, 0x2b, 0x13, 0x2c, 0x13, 0x2d, 0x13, 0x2e, 0x13, 0x2f, 0x13, 0x30, 0x13, 0x31, 0x13, 0x32, 0x13, 0x33, 0x13, 0x34, 0x13, 0x35, 0x13, 0x36, 0x13, 0x37, 0x13, 0x38, 0x13, 0x39, 0x13, 0x3a, 0x13, 0x3b, 0x13, 0x3c, 0x13, 0x3d, 0x13, 0x3e, 0x13, 0x3f, 0x13, 0x40, 0x13, 0x41, 0x13, 0x42, 0x13, 0x43, 0x13, 0x44, 0x13, 0x45, 0x13, 0x46, 0x13, 0x47, 0x13, 0x48, 0x13, 0x49, 0x13, 0x4a, 0x13, 0x4b, 0x13, 0x4c, 0x13, 0x4d, 0x13, 0x4e, 0x13, 0x4f, 0x13, 0x50, 0x13, 0x51, 0x13, 0x52, 0x13, 0x53, 0x13, 0x54, 0x13, 0x55, 0x13, 0x56, 0x13, 0x57, 0x13, 0x58, 0x13, 0x59, 0x13, 0x5a, 0x13, 0x5b, 0x13, 0x5c, 0x13, 0x5d, 0x13, 0x5e, 0x13, 0x5f, 0x13, 0x60, 0x13, 0x61, 0x13, 0x62, 0x13, 0x63, 0x13, 0x64, 0x13, 0x65, 0x13, 0x66, 0x13, 0x67, 0x13, 0x68, 0x13, 0x69, 0x13, 0x6a, 0x13, 0x6b, 0x13, 0x6c, 0x13, 0x6d, 0x13, 0x6e, 0x13, 0x6f, 0x13, 0x70, 0x13, 0x71, 0x13, 0x72, 0x13, 0x73, 0x13, 0x74, 0x13, 0x75, 0x13, 0x76, 0x13, 0x77, 0x13, 0x78, 0x13, 0x79, 0x13, 0x7a, 0x13, 0x7b, 0x13, 0x7c, 0x13, 0x7d, 0x13, 0x7e, 0x13, 0x7f, 0x13, 0x80, 0x13, 0x81, 0x13, 0x82, 0x13, 0x83, 0x13, 0x84, 0x13, 0x85, 0x13, 0x86, 0x13, 0x87, 0x13, 0x88, 0x13, 0x89, 0x13, 0x8a, 0x13, 0x8b, 0x13, 0x8c, 0x13, 0x8d, 0x13, 0x8e, 0x13, 0x8f, 0x13, 0x90, 0x13, 0x91, 0x13, 0x92, 0x13, 0x93, 0x13, 0x94, 0x13, 0x95, 0x13, 0x96, 0x13, 0x97, 0x13, 0x98, 0x13, 0x99, 0x13, 0x9a, 0x13, 0x9b, 0x13, 0x9c, 0x13, 0x9d, 0x13, 0x9e, 0x13, 0x9f, 0x13, 0xa0, 0x13, 0xa1, 0x13, 0xa2, 0x13, 0xa3, 0x13, 0xa4, 0x13, 0xa5, 0x13, 0xa6, 0x13, 0xa7, 0x13, 0xa8, 0x0, 0xc0, 0x0, 0xc1, 0x13, 0xa9, 0x13, 0xaa, 0x13, 0xab, 0x13, 0xac, 0x13, 0xad, 0x13, 0xae, 0x13, 0xaf, 0x13, 0xb0, 0x13, 0xb1, 0x13, 0xb2, 0x13, 0xb3, 0x13, 0xb4, 0x13, 0xb5, 0x13, 0xb6, 0x13, 0xb7, 0x13, 0xb8, 0x13, 0xb9, 0x13, 0xba, 0x13, 0xbb, 0x13, 0xbc, 0x13, 0xbd, 0x13, 0xbe, 0x13, 0xbf, 0x13, 0xc0, 0x13, 0xc1, 0x13, 0xc2, 0x13, 0xc3, 0x13, 0xc4, 0x13, 0xc5, 0x13, 0xc6, 0x13, 0xc7, 0x13, 0xc8, 0x13, 0xc9, 0x13, 0xca, 0x13, 0xcb, 0x13, 0xcc, 0x13, 0xcd, 0x13, 0xce, 0x13, 0xcf, 0x13, 0xd0, 0x13, 0xd1, 0x13, 0xd2, 0x13, 0xd3, 0x13, 0xd4, 0x13, 0xd5, 0x13, 0xd6, 0x13, 0xd7, 0x13, 0xd8, 0x13, 0xd9, 0x13, 0xda, 0x13, 0xdb, 0x13, 0xdc, 0x13, 0xdd, 0x13, 0xde, 0x13, 0xdf, 0x13, 0xe0, 0x13, 0xe1, 0x13, 0xe2, 0x13, 0xe3, 0x13, 0xe4, 0x13, 0xe5, 0x13, 0xe6, 0x13, 0xe7, 0x13, 0xe8, 0x13, 0xe9, 0x13, 0xea, 0x13, 0xeb, 0x13, 0xec, 0x13, 0xed, 0x13, 0xee, 0x13, 0xef, 0x13, 0xf0, 0x13, 0xf1, 0x13, 0xf2, 0x13, 0xf3, 0x13, 0xf4, 0x13, 0xf5, 0x13, 0xf6, 0x13, 0xf7, 0x13, 0xf8, 0x13, 0xf9, 0x13, 0xfa, 0x13, 0xfb, 0x13, 0xfc, 0x13, 0xfd, 0x13, 0xfe, 0x13, 0xff, 0x14, 0x0, 0x14, 0x1, 0x14, 0x2, 0x14, 0x3, 0x14, 0x4, 0x14, 0x5, 0x14, 0x6, 0x14, 0x7, 0x14, 0x8, 0x14, 0x9, 0x14, 0xa, 0x14, 0xb, 0x14, 0xc, 0x14, 0xd, 0x14, 0xe, 0x14, 0xf, 0x14, 0x10, 0x14, 0x11, 0x14, 0x12, 0x14, 0x13, 0x14, 0x14, 0x14, 0x15, 0x14, 0x16, 0x14, 0x17, 0x14, 0x18, 0x14, 0x19, 0x14, 0x1a, 0x14, 0x1b, 0x14, 0x1c, 0x14, 0x1d, 0x14, 0x1e, 0x14, 0x1f, 0x14, 0x20, 0x14, 0x21, 0x14, 0x22, 0x14, 0x23, 0x14, 0x24, 0x14, 0x25, 0x14, 0x26, 0x14, 0x27, 0x14, 0x28, 0x14, 0x29, 0x14, 0x2a, 0x14, 0x2b, 0x14, 0x2c, 0x14, 0x2d, 0x14, 0x2e, 0x14, 0x2f, 0x14, 0x30, 0x14, 0x31, 0x14, 0x32, 0x14, 0x33, 0x14, 0x34, 0x14, 0x35, 0x14, 0x36, 0x14, 0x37, 0x14, 0x38, 0x14, 0x39, 0x14, 0x3a, 0x14, 0x3b, 0x14, 0x3c, 0x14, 0x3d, 0x14, 0x3e, 0x14, 0x3f, 0x14, 0x40, 0x14, 0x41, 0x14, 0x42, 0x14, 0x43, 0x14, 0x44, 0x14, 0x45, 0x14, 0x46, 0x14, 0x47, 0x14, 0x48, 0x14, 0x49, 0x14, 0x4a, 0x14, 0x4b, 0x14, 0x4c, 0x14, 0x4d, 0x14, 0x4e, 0x14, 0x4f, 0x14, 0x50, 0x14, 0x51, 0x14, 0x52, 0x14, 0x53, 0x14, 0x54, 0x14, 0x55, 0x14, 0x56, 0x14, 0x57, 0x14, 0x58, 0x14, 0x59, 0x14, 0x5a, 0x14, 0x5b, 0x14, 0x5c, 0x14, 0x5d, 0x14, 0x5e, 0x14, 0x5f, 0x14, 0x60, 0x14, 0x61, 0x14, 0x62, 0x14, 0x63, 0x14, 0x64, 0x14, 0x65, 0x14, 0x66, 0x14, 0x67, 0x14, 0x68, 0x14, 0x69, 0x14, 0x6a, 0x14, 0x6b, 0x14, 0x6c, 0x14, 0x6d, 0x14, 0x6e, 0x14, 0x6f, 0x14, 0x70, 0x14, 0x71, 0x14, 0x72, 0x14, 0x73, 0x14, 0x74, 0x14, 0x75, 0x14, 0x76, 0x14, 0x77, 0x14, 0x78, 0x14, 0x79, 0x14, 0x7a, 0x14, 0x7b, 0x14, 0x7c, 0x14, 0x7d, 0x14, 0x7e, 0x14, 0x7f, 0x14, 0x80, 0x14, 0x81, 0x14, 0x82, 0x14, 0x83, 0x14, 0x84, 0x14, 0x85, 0x14, 0x86, 0x14, 0x87, 0x14, 0x88, 0x14, 0x89, 0x14, 0x8a, 0x14, 0x8b, 0x14, 0x8c, 0x14, 0x8d, 0x14, 0x8e, 0x14, 0x8f, 0x14, 0x90, 0x14, 0x91, 0x14, 0x92, 0x14, 0x93, 0x14, 0x94, 0x14, 0x95, 0x14, 0x96, 0x14, 0x97, 0x14, 0x98, 0x14, 0x99, 0x14, 0x9a, 0x14, 0x9b, 0x14, 0x9c, 0x14, 0x9d, 0x14, 0x9e, 0x14, 0x9f, 0x14, 0xa0, 0x14, 0xa1, 0x14, 0xa2, 0x14, 0xa3, 0x14, 0xa4, 0x14, 0xa5, 0x14, 0xa6, 0x14, 0xa7, 0x14, 0xa8, 0x14, 0xa9, 0x14, 0xaa, 0x14, 0xab, 0x14, 0xac, 0x14, 0xad, 0x14, 0xae, 0x14, 0xaf, 0x14, 0xb0, 0x14, 0xb1, 0x14, 0xb2, 0x14, 0xb3, 0x14, 0xb4, 0x14, 0xb5, 0x14, 0xb6, 0x14, 0xb7, 0x14, 0xb8, 0x14, 0xb9, 0x14, 0xba, 0x14, 0xbb, 0x14, 0xbc, 0x14, 0xbd, 0x14, 0xbe, 0x14, 0xbf, 0x14, 0xc0, 0x14, 0xc1, 0x14, 0xc2, 0x14, 0xc3, 0x14, 0xc4, 0x14, 0xc5, 0x14, 0xc6, 0x14, 0xc7, 0x14, 0xc8, 0x14, 0xc9, 0x14, 0xca, 0x14, 0xcb, 0x14, 0xcc, 0x14, 0xcd, 0x14, 0xce, 0x14, 0xcf, 0x14, 0xd0, 0x14, 0xd1, 0x14, 0xd2, 0x14, 0xd3, 0x14, 0xd4, 0x14, 0xd5, 0x14, 0xd6, 0x14, 0xd7, 0x14, 0xd8, 0x14, 0xd9, 0x14, 0xda, 0x14, 0xdb, 0x14, 0xdc, 0x14, 0xdd, 0x14, 0xde, 0x14, 0xdf, 0x14, 0xe0, 0x14, 0xe1, 0x14, 0xe2, 0x14, 0xe3, 0x14, 0xe4, 0x14, 0xe5, 0x14, 0xe6, 0x14, 0xe7, 0x14, 0xe8, 0x14, 0xe9, 0x14, 0xea, 0x14, 0xeb, 0x14, 0xec, 0x14, 0xed, 0x14, 0xee, 0x14, 0xef, 0x14, 0xf0, 0x14, 0xf1, 0x14, 0xf2, 0x14, 0xf3, 0x14, 0xf4, 0x14, 0xf5, 0x14, 0xf6, 0x14, 0xf7, 0x14, 0xf8, 0x14, 0xf9, 0x14, 0xfa, 0x14, 0xfb, 0x14, 0xfc, 0x14, 0xfd, 0x14, 0xfe, 0x14, 0xff, 0x15, 0x0, 0x15, 0x1, 0x15, 0x2, 0x15, 0x3, 0x15, 0x4, 0x15, 0x5, 0x15, 0x6, 0x15, 0x7, 0x15, 0x8, 0x15, 0x9, 0x15, 0xa, 0x15, 0xb, 0x15, 0xc, 0x15, 0xd, 0x15, 0xe, 0x15, 0xf, 0x15, 0x10, 0x15, 0x11, 0x15, 0x12, 0x15, 0x13, 0x15, 0x14, 0x15, 0x15, 0x15, 0x16, 0x15, 0x17, 0x15, 0x18, 0x15, 0x19, 0x15, 0x1a, 0x15, 0x1b, 0x15, 0x1c, 0x15, 0x1d, 0x15, 0x1e, 0x15, 0x1f, 0x15, 0x20, 0x15, 0x21, 0x15, 0x22, 0x15, 0x23, 0x15, 0x24, 0x15, 0x25, 0x15, 0x26, 0x15, 0x27, 0x15, 0x28, 0x15, 0x29, 0x15, 0x2a, 0x15, 0x2b, 0x15, 0x2c, 0x15, 0x2d, 0x15, 0x2e, 0x15, 0x2f, 0x15, 0x30, 0x15, 0x31, 0x15, 0x32, 0x15, 0x33, 0x15, 0x34, 0x15, 0x35, 0x15, 0x36, 0x15, 0x37, 0x15, 0x38, 0x15, 0x39, 0x15, 0x3a, 0x15, 0x3b, 0x15, 0x3c, 0x15, 0x3d, 0x15, 0x3e, 0x15, 0x3f, 0x15, 0x40, 0x15, 0x41, 0x15, 0x42, 0x15, 0x43, 0x15, 0x44, 0x15, 0x45, 0x15, 0x46, 0x15, 0x47, 0x15, 0x48, 0x15, 0x49, 0x15, 0x4a, 0x15, 0x4b, 0x15, 0x4c, 0x15, 0x4d, 0x15, 0x4e, 0x15, 0x4f, 0x15, 0x50, 0x15, 0x51, 0x15, 0x52, 0x15, 0x53, 0x15, 0x54, 0x15, 0x55, 0x15, 0x56, 0x15, 0x57, 0x15, 0x58, 0x15, 0x59, 0x15, 0x5a, 0x15, 0x5b, 0x15, 0x5c, 0x15, 0x5d, 0x15, 0x5e, 0x15, 0x5f, 0x15, 0x60, 0x15, 0x61, 0x15, 0x62, 0x15, 0x63, 0x15, 0x64, 0x15, 0x65, 0x15, 0x66, 0x15, 0x67, 0x15, 0x68, 0x15, 0x69, 0x15, 0x6a, 0x15, 0x6b, 0x15, 0x6c, 0x15, 0x6d, 0x15, 0x6e, 0x15, 0x6f, 0x15, 0x70, 0x15, 0x71, 0x15, 0x72, 0x15, 0x73, 0x15, 0x74, 0x15, 0x75, 0x15, 0x76, 0x15, 0x77, 0x15, 0x78, 0x15, 0x79, 0x15, 0x7a, 0x15, 0x7b, 0x15, 0x7c, 0x15, 0x7d, 0x15, 0x7e, 0x15, 0x7f, 0x15, 0x80, 0x15, 0x81, 0x15, 0x82, 0x15, 0x83, 0x15, 0x84, 0x15, 0x85, 0x15, 0x86, 0x15, 0x87, 0x15, 0x88, 0x15, 0x89, 0x15, 0x8a, 0x15, 0x8b, 0x15, 0x8c, 0x15, 0x8d, 0x15, 0x8e, 0x15, 0x8f, 0x15, 0x90, 0x15, 0x91, 0x15, 0x92, 0x15, 0x93, 0x15, 0x94, 0x15, 0x95, 0x15, 0x96, 0x15, 0x97, 0x15, 0x98, 0x15, 0x99, 0x15, 0x9a, 0x15, 0x9b, 0x15, 0x9c, 0x15, 0x9d, 0x15, 0x9e, 0x15, 0x9f, 0x15, 0xa0, 0x15, 0xa1, 0x15, 0xa2, 0x15, 0xa3, 0x15, 0xa4, 0x15, 0xa5, 0x15, 0xa6, 0x15, 0xa7, 0x15, 0xa8, 0x15, 0xa9, 0x15, 0xaa, 0x15, 0xab, 0x15, 0xac, 0x15, 0xad, 0x15, 0xae, 0x15, 0xaf, 0x15, 0xb0, 0x15, 0xb1, 0x15, 0xb2, 0x15, 0xb3, 0x15, 0xb4, 0x15, 0xb5, 0x15, 0xb6, 0x15, 0xb7, 0x15, 0xb8, 0x15, 0xb9, 0x15, 0xba, 0x15, 0xbb, 0x15, 0xbc, 0x15, 0xbd, 0x15, 0xbe, 0x15, 0xbf, 0x15, 0xc0, 0x15, 0xc1, 0x15, 0xc2, 0x15, 0xc3, 0x15, 0xc4, 0x15, 0xc5, 0x15, 0xc6, 0x15, 0xc7, 0x15, 0xc8, 0x15, 0xc9, 0x15, 0xca, 0x15, 0xcb, 0x15, 0xcc, 0x15, 0xcd, 0x15, 0xce, 0x15, 0xcf, 0x15, 0xd0, 0x15, 0xd1, 0x15, 0xd2, 0x15, 0xd3, 0x15, 0xd4, 0x15, 0xd5, 0x15, 0xd6, 0x15, 0xd7, 0x15, 0xd8, 0x15, 0xd9, 0x15, 0xda, 0x15, 0xdb, 0x15, 0xdc, 0x15, 0xdd, 0x15, 0xde, 0x15, 0xdf, 0x15, 0xe0, 0x15, 0xe1, 0x15, 0xe2, 0x15, 0xe3, 0x15, 0xe4, 0x15, 0xe5, 0x15, 0xe6, 0x15, 0xe7, 0x15, 0xe8, 0x15, 0xe9, 0x15, 0xea, 0x15, 0xeb, 0x15, 0xec, 0x15, 0xed, 0x15, 0xee, 0x15, 0xef, 0x15, 0xf0, 0x15, 0xf1, 0x15, 0xf2, 0x15, 0xf3, 0x15, 0xf4, 0x15, 0xf5, 0x15, 0xf6, 0x15, 0xf7, 0x15, 0xf8, 0x15, 0xf9, 0x15, 0xfa, 0x15, 0xfb, 0x15, 0xfc, 0x15, 0xfd, 0x15, 0xfe, 0x15, 0xff, 0x16, 0x0, 0x16, 0x1, 0x16, 0x2, 0x16, 0x3, 0x16, 0x4, 0x16, 0x5, 0x16, 0x6, 0x16, 0x7, 0x16, 0x8, 0x16, 0x9, 0x16, 0xa, 0x16, 0xb, 0x16, 0xc, 0x16, 0xd, 0x16, 0xe, 0x16, 0xf, 0x16, 0x10, 0x16, 0x11, 0x16, 0x12, 0x16, 0x13, 0x16, 0x14, 0x16, 0x15, 0x16, 0x16, 0x16, 0x17, 0x16, 0x18, 0x16, 0x19, 0x16, 0x1a, 0x16, 0x1b, 0x16, 0x1c, 0x16, 0x1d, 0x16, 0x1e, 0x16, 0x1f, 0x16, 0x20, 0x16, 0x21, 0x16, 0x22, 0x16, 0x23, 0x16, 0x24, 0x16, 0x25, 0x16, 0x26, 0x16, 0x27, 0x16, 0x28, 0x16, 0x29, 0x16, 0x2a, 0x16, 0x2b, 0x16, 0x2c, 0x16, 0x2d, 0x16, 0x2e, 0x16, 0x2f, 0x16, 0x30, 0x16, 0x31, 0x16, 0x32, 0x16, 0x33, 0x16, 0x34, 0x16, 0x35, 0x16, 0x36, 0x16, 0x37, 0x16, 0x38, 0x16, 0x39, 0x16, 0x3a, 0x16, 0x3b, 0x16, 0x3c, 0x16, 0x3d, 0x16, 0x3e, 0x16, 0x3f, 0x16, 0x40, 0x16, 0x41, 0x16, 0x42, 0x16, 0x43, 0x16, 0x44, 0x16, 0x45, 0x16, 0x46, 0x16, 0x47, 0x16, 0x48, 0x16, 0x49, 0x16, 0x4a, 0x16, 0x4b, 0x16, 0x4c, 0x16, 0x4d, 0x16, 0x4e, 0x16, 0x4f, 0x16, 0x50, 0x16, 0x51, 0x16, 0x52, 0x16, 0x53, 0x16, 0x54, 0x16, 0x55, 0x16, 0x56, 0x16, 0x57, 0x16, 0x58, 0x16, 0x59, 0x16, 0x5a, 0x16, 0x5b, 0x16, 0x5c, 0x16, 0x5d, 0x16, 0x5e, 0x16, 0x5f, 0x16, 0x60, 0x16, 0x61, 0x16, 0x62, 0x16, 0x63, 0x16, 0x64, 0x16, 0x65, 0x16, 0x66, 0x16, 0x67, 0x16, 0x68, 0x16, 0x69, 0x16, 0x6a, 0x16, 0x6b, 0x16, 0x6c, 0x16, 0x6d, 0x16, 0x6e, 0x16, 0x6f, 0x16, 0x70, 0x16, 0x71, 0x16, 0x72, 0x16, 0x73, 0x16, 0x74, 0x16, 0x75, 0x16, 0x76, 0x16, 0x77, 0x16, 0x78, 0x16, 0x79, 0x16, 0x7a, 0x16, 0x7b, 0x16, 0x7c, 0x16, 0x7d, 0x16, 0x7e, 0x16, 0x7f, 0x16, 0x80, 0x16, 0x81, 0x16, 0x82, 0x16, 0x83, 0x16, 0x84, 0x16, 0x85, 0x16, 0x86, 0x16, 0x87, 0x16, 0x88, 0x16, 0x89, 0x16, 0x8a, 0x16, 0x8b, 0x16, 0x8c, 0x16, 0x8d, 0x16, 0x8e, 0x16, 0x8f, 0x16, 0x90, 0x16, 0x91, 0x16, 0x92, 0x16, 0x93, 0x16, 0x94, 0x16, 0x95, 0x16, 0x96, 0x16, 0x97, 0x16, 0x98, 0x16, 0x99, 0x16, 0x9a, 0x16, 0x9b, 0x16, 0x9c, 0x16, 0x9d, 0x16, 0x9e, 0x16, 0x9f, 0x16, 0xa0, 0x16, 0xa1, 0x16, 0xa2, 0x16, 0xa3, 0x16, 0xa4, 0x16, 0xa5, 0x16, 0xa6, 0x16, 0xa7, 0x16, 0xa8, 0x16, 0xa9, 0x16, 0xaa, 0x16, 0xab, 0x16, 0xac, 0x16, 0xad, 0x16, 0xae, 0x16, 0xaf, 0x16, 0xb0, 0x16, 0xb1, 0x16, 0xb2, 0x16, 0xb3, 0x16, 0xb4, 0x16, 0xb5, 0x16, 0xb6, 0x16, 0xb7, 0x16, 0xb8, 0x16, 0xb9, 0x16, 0xba, 0x16, 0xbb, 0x16, 0xbc, 0x16, 0xbd, 0x16, 0xbe, 0x16, 0xbf, 0x16, 0xc0, 0x16, 0xc1, 0x16, 0xc2, 0x16, 0xc3, 0x16, 0xc4, 0x16, 0xc5, 0x16, 0xc6, 0x16, 0xc7, 0x16, 0xc8, 0x16, 0xc9, 0x16, 0xca, 0x16, 0xcb, 0x16, 0xcc, 0x16, 0xcd, 0x16, 0xce, 0x16, 0xcf, 0x16, 0xd0, 0x16, 0xd1, 0x16, 0xd2, 0x16, 0xd3, 0x16, 0xd4, 0x16, 0xd5, 0x16, 0xd6, 0x16, 0xd7, 0x16, 0xd8, 0x16, 0xd9, 0x16, 0xda, 0x16, 0xdb, 0x16, 0xdc, 0x16, 0xdd, 0x16, 0xde, 0x16, 0xdf, 0x16, 0xe0, 0x16, 0xe1, 0x16, 0xe2, 0x16, 0xe3, 0x16, 0xe4, 0x16, 0xe5, 0x16, 0xe6, 0x16, 0xe7, 0x16, 0xe8, 0x16, 0xe9, 0x16, 0xea, 0x16, 0xeb, 0x16, 0xec, 0x16, 0xed, 0x16, 0xee, 0x16, 0xef, 0x16, 0xf0, 0x16, 0xf1, 0x16, 0xf2, 0x16, 0xf3, 0x16, 0xf4, 0x16, 0xf5, 0x16, 0xf6, 0x16, 0xf7, 0x16, 0xf8, 0x16, 0xf9, 0x16, 0xfa, 0x16, 0xfb, 0x16, 0xfc, 0x16, 0xfd, 0x16, 0xfe, 0x16, 0xff, 0x17, 0x0, 0x17, 0x1, 0x17, 0x2, 0x17, 0x3, 0x17, 0x4, 0x17, 0x5, 0x17, 0x6, 0x17, 0x7, 0x17, 0x8, 0x17, 0x9, 0x17, 0xa, 0x17, 0xb, 0x17, 0xc, 0x17, 0xd, 0x17, 0xe, 0x17, 0xf, 0x17, 0x10, 0x17, 0x11, 0x17, 0x12, 0x17, 0x13, 0x17, 0x14, 0x17, 0x15, 0x17, 0x16, 0x17, 0x17, 0x17, 0x18, 0x17, 0x19, 0x17, 0x1a, 0x17, 0x1b, 0x17, 0x1c, 0x17, 0x1d, 0x17, 0x1e, 0x17, 0x1f, 0x17, 0x20, 0x17, 0x21, 0x17, 0x22, 0x17, 0x23, 0x17, 0x24, 0x17, 0x25, 0x17, 0x26, 0x17, 0x27, 0x17, 0x28, 0x17, 0x29, 0x17, 0x2a, 0x17, 0x2b, 0x17, 0x2c, 0x17, 0x2d, 0x17, 0x2e, 0x17, 0x2f, 0x17, 0x30, 0x17, 0x31, 0x17, 0x32, 0x17, 0x33, 0x17, 0x34, 0x17, 0x35, 0x17, 0x36, 0x17, 0x37, 0x17, 0x38, 0x17, 0x39, 0x17, 0x3a, 0x17, 0x3b, 0x17, 0x3c, 0x17, 0x3d, 0x17, 0x3e, 0x17, 0x3f, 0x17, 0x40, 0x17, 0x41, 0x17, 0x42, 0x17, 0x43, 0x17, 0x44, 0x17, 0x45, 0x17, 0x46, 0x17, 0x47, 0x17, 0x48, 0x17, 0x49, 0x17, 0x4a, 0x17, 0x4b, 0x17, 0x4c, 0x17, 0x4d, 0x17, 0x4e, 0x17, 0x4f, 0x17, 0x50, 0x17, 0x51, 0x17, 0x52, 0x17, 0x53, 0x17, 0x54, 0x17, 0x55, 0x17, 0x56, 0x17, 0x57, 0x17, 0x58, 0x17, 0x59, 0x17, 0x5a, 0x17, 0x5b, 0x17, 0x5c, 0x17, 0x5d, 0x17, 0x5e, 0x17, 0x5f, 0x17, 0x60, 0x17, 0x61, 0x17, 0x62, 0x17, 0x63, 0x17, 0x64, 0x17, 0x65, 0x17, 0x66, 0x17, 0x67, 0x17, 0x68, 0x17, 0x69, 0x17, 0x6a, 0x17, 0x6b, 0x17, 0x6c, 0x17, 0x6d, 0x17, 0x6e, 0x17, 0x6f, 0x17, 0x70, 0x17, 0x71, 0x17, 0x72, 0x17, 0x73, 0x17, 0x74, 0x17, 0x75, 0x17, 0x76, 0x17, 0x77, 0x17, 0x78, 0x17, 0x79, 0x17, 0x7a, 0x17, 0x7b, 0x17, 0x7c, 0x17, 0x7d, 0x17, 0x7e, 0x17, 0x7f, 0x17, 0x80, 0x17, 0x81, 0x17, 0x82, 0x17, 0x83, 0x17, 0x84, 0x17, 0x85, 0x17, 0x86, 0x17, 0x87, 0x17, 0x88, 0x17, 0x89, 0x17, 0x8a, 0x17, 0x8b, 0x17, 0x8c, 0x17, 0x8d, 0x17, 0x8e, 0x17, 0x8f, 0x17, 0x90, 0x17, 0x91, 0x17, 0x92, 0x17, 0x93, 0x17, 0x94, 0x17, 0x95, 0x17, 0x96, 0x17, 0x97, 0x17, 0x98, 0x17, 0x99, 0x17, 0x9a, 0x17, 0x9b, 0x17, 0x9c, 0x17, 0x9d, 0x17, 0x9e, 0x17, 0x9f, 0x17, 0xa0, 0x17, 0xa1, 0x17, 0xa2, 0x17, 0xa3, 0x17, 0xa4, 0x17, 0xa5, 0x17, 0xa6, 0x17, 0xa7, 0x17, 0xa8, 0x17, 0xa9, 0x17, 0xaa, 0x17, 0xab, 0x17, 0xac, 0x17, 0xad, 0x17, 0xae, 0x17, 0xaf, 0x17, 0xb0, 0x17, 0xb1, 0x17, 0xb2, 0x17, 0xb3, 0x17, 0xb4, 0x17, 0xb5, 0x17, 0xb6, 0x17, 0xb7, 0x17, 0xb8, 0x17, 0xb9, 0x17, 0xba, 0x17, 0xbb, 0x17, 0xbc, 0x17, 0xbd, 0x17, 0xbe, 0x17, 0xbf, 0x17, 0xc0, 0x17, 0xc1, 0x17, 0xc2, 0x17, 0xc3, 0x17, 0xc4, 0x17, 0xc5, 0x17, 0xc6, 0x17, 0xc7, 0x17, 0xc8, 0x17, 0xc9, 0x17, 0xca, 0x17, 0xcb, 0x17, 0xcc, 0x17, 0xcd, 0x17, 0xce, 0x17, 0xcf, 0x17, 0xd0, 0x17, 0xd1, 0x17, 0xd2, 0x17, 0xd3, 0x17, 0xd4, 0x17, 0xd5, 0x17, 0xd6, 0x17, 0xd7, 0x17, 0xd8, 0x17, 0xd9, 0x17, 0xda, 0x17, 0xdb, 0x17, 0xdc, 0x9, 0x73, 0x66, 0x74, 0x68, 0x79, 0x70, 0x68, 0x65, 0x6e, 0x7, 0x41, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x7, 0x61, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x6, 0x41, 0x62, 0x72, 0x65, 0x76, 0x65, 0x6, 0x61, 0x62, 0x72, 0x65, 0x76, 0x65, 0x7, 0x41, 0x6f, 0x67, 0x6f, 0x6e, 0x65, 0x6b, 0x7, 0x61, 0x6f, 0x67, 0x6f, 0x6e, 0x65, 0x6b, 0xb, 0x43, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0xb, 0x63, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0xa, 0x43, 0x64, 0x6f, 0x74, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0xa, 0x63, 0x64, 0x6f, 0x74, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x6, 0x44, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x6, 0x64, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x6, 0x44, 0x63, 0x72, 0x6f, 0x61, 0x74, 0x7, 0x45, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x7, 0x65, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x6, 0x45, 0x62, 0x72, 0x65, 0x76, 0x65, 0x6, 0x65, 0x62, 0x72, 0x65, 0x76, 0x65, 0xa, 0x45, 0x64, 0x6f, 0x74, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0xa, 0x65, 0x64, 0x6f, 0x74, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x7, 0x45, 0x6f, 0x67, 0x6f, 0x6e, 0x65, 0x6b, 0x7, 0x65, 0x6f, 0x67, 0x6f, 0x6e, 0x65, 0x6b, 0x6, 0x45, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x6, 0x65, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0xb, 0x47, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0xb, 0x67, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0xa, 0x47, 0x64, 0x6f, 0x74, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0xa, 0x67, 0x64, 0x6f, 0x74, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0xc, 0x47, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0xc, 0x67, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0xb, 0x48, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0xb, 0x68, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x4, 0x48, 0x62, 0x61, 0x72, 0x4, 0x68, 0x62, 0x61, 0x72, 0x6, 0x49, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x6, 0x69, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x7, 0x49, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x7, 0x69, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x6, 0x49, 0x62, 0x72, 0x65, 0x76, 0x65, 0x6, 0x69, 0x62, 0x72, 0x65, 0x76, 0x65, 0x7, 0x49, 0x6f, 0x67, 0x6f, 0x6e, 0x65, 0x6b, 0x7, 0x69, 0x6f, 0x67, 0x6f, 0x6e, 0x65, 0x6b, 0x2, 0x49, 0x4a, 0x2, 0x69, 0x6a, 0xb, 0x4a, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0xb, 0x6a, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0xc, 0x4b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0xc, 0x6b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0xc, 0x6b, 0x67, 0x72, 0x65, 0x65, 0x6e, 0x6c, 0x61, 0x6e, 0x64, 0x69, 0x63, 0x6, 0x4c, 0x61, 0x63, 0x75, 0x74, 0x65, 0x6, 0x6c, 0x61, 0x63, 0x75, 0x74, 0x65, 0xc, 0x4c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0xc, 0x6c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x6, 0x4c, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x6, 0x6c, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x4, 0x4c, 0x64, 0x6f, 0x74, 0x4, 0x6c, 0x64, 0x6f, 0x74, 0x6, 0x4e, 0x61, 0x63, 0x75, 0x74, 0x65, 0x6, 0x6e, 0x61, 0x63, 0x75, 0x74, 0x65, 0xc, 0x4e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0xc, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x6, 0x4e, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x6, 0x6e, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0xb, 0x6e, 0x61, 0x70, 0x6f, 0x73, 0x74, 0x72, 0x6f, 0x70, 0x68, 0x65, 0x3, 0x45, 0x6e, 0x67, 0x3, 0x65, 0x6e, 0x67, 0x7, 0x4f, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x7, 0x6f, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x6, 0x4f, 0x62, 0x72, 0x65, 0x76, 0x65, 0x6, 0x6f, 0x62, 0x72, 0x65, 0x76, 0x65, 0xd, 0x4f, 0x68, 0x75, 0x6e, 0x67, 0x61, 0x72, 0x75, 0x6d, 0x6c, 0x61, 0x75, 0x74, 0xd, 0x6f, 0x68, 0x75, 0x6e, 0x67, 0x61, 0x72, 0x75, 0x6d, 0x6c, 0x61, 0x75, 0x74, 0x6, 0x52, 0x61, 0x63, 0x75, 0x74, 0x65, 0x6, 0x72, 0x61, 0x63, 0x75, 0x74, 0x65, 0xc, 0x52, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0xc, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x6, 0x52, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x6, 0x72, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x6, 0x53, 0x61, 0x63, 0x75, 0x74, 0x65, 0x6, 0x73, 0x61, 0x63, 0x75, 0x74, 0x65, 0xb, 0x53, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0xb, 0x73, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0xc, 0x54, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0xc, 0x74, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x6, 0x54, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x6, 0x74, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x4, 0x54, 0x62, 0x61, 0x72, 0x4, 0x74, 0x62, 0x61, 0x72, 0x6, 0x55, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x6, 0x75, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x7, 0x55, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x7, 0x75, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x6, 0x55, 0x62, 0x72, 0x65, 0x76, 0x65, 0x6, 0x75, 0x62, 0x72, 0x65, 0x76, 0x65, 0x5, 0x55, 0x72, 0x69, 0x6e, 0x67, 0x5, 0x75, 0x72, 0x69, 0x6e, 0x67, 0xd, 0x55, 0x68, 0x75, 0x6e, 0x67, 0x61, 0x72, 0x75, 0x6d, 0x6c, 0x61, 0x75, 0x74, 0xd, 0x75, 0x68, 0x75, 0x6e, 0x67, 0x61, 0x72, 0x75, 0x6d, 0x6c, 0x61, 0x75, 0x74, 0x7, 0x55, 0x6f, 0x67, 0x6f, 0x6e, 0x65, 0x6b, 0x7, 0x75, 0x6f, 0x67, 0x6f, 0x6e, 0x65, 0x6b, 0xb, 0x57, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0xb, 0x77, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0xb, 0x59, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0xb, 0x79, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x6, 0x5a, 0x61, 0x63, 0x75, 0x74, 0x65, 0x6, 0x7a, 0x61, 0x63, 0x75, 0x74, 0x65, 0xa, 0x5a, 0x64, 0x6f, 0x74, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0xa, 0x7a, 0x64, 0x6f, 0x74, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x5, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x38, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x38, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x38, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x38, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x38, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x38, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x38, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x38, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x38, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x38, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x38, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x38, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x38, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x38, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x38, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x38, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x39, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x39, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x39, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x39, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x39, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x39, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x39, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x39, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x39, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x39, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x39, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x39, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x39, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x39, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x39, 0x46, 0x5, 0x4f, 0x68, 0x6f, 0x72, 0x6e, 0x5, 0x6f, 0x68, 0x6f, 0x72, 0x6e, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x41, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x41, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x41, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x41, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x41, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x41, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x41, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x41, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x41, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x41, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x41, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x41, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x41, 0x45, 0x5, 0x55, 0x68, 0x6f, 0x72, 0x6e, 0x5, 0x75, 0x68, 0x6f, 0x72, 0x6e, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x42, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x42, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x42, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x42, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x42, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x42, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x42, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x42, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x42, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x42, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x42, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x42, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x42, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x42, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x42, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x43, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x43, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x43, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x43, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x43, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x43, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x43, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x43, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x43, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x43, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x43, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x43, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x43, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x43, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x43, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x43, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x44, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x44, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x44, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x44, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x44, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x44, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x44, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x44, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x44, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x44, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x44, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x44, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x44, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x44, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x44, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x44, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x45, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x45, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x45, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x45, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x45, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x45, 0x35, 0x6, 0x47, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x6, 0x67, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x45, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x45, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x45, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x45, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x45, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x45, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x45, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x45, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x46, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x46, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x46, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x46, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x46, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x46, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x46, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x46, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x46, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x46, 0x39, 0xa, 0x41, 0x72, 0x69, 0x6e, 0x67, 0x61, 0x63, 0x75, 0x74, 0x65, 0xa, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x61, 0x63, 0x75, 0x74, 0x65, 0x7, 0x41, 0x45, 0x61, 0x63, 0x75, 0x74, 0x65, 0x7, 0x61, 0x65, 0x61, 0x63, 0x75, 0x74, 0x65, 0xb, 0x4f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x61, 0x63, 0x75, 0x74, 0x65, 0xb, 0x6f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x61, 0x63, 0x75, 0x74, 0x65, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x30, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x30, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x30, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x30, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x30, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x30, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x30, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x30, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x30, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x30, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x30, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x30, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x30, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x30, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x30, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x31, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x31, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x31, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x31, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x31, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x31, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x31, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x31, 0x37, 0xc, 0x53, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0xc, 0x73, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x31, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x31, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x31, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x31, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x31, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x31, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x32, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x32, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x32, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x32, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x32, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x32, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x32, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x32, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x32, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x32, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x32, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x32, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x32, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x32, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x32, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x32, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x33, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x33, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x33, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x33, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x33, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x33, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x33, 0x36, 0x8, 0x64, 0x6f, 0x74, 0x6c, 0x65, 0x73, 0x73, 0x6a, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x33, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x33, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x33, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x33, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x33, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x33, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x33, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x33, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x34, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x34, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x34, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x34, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x34, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x34, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x34, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x34, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x34, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x34, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x34, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x34, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x34, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x34, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x34, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x34, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x35, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x35, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x35, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x35, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x35, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x35, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x35, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x35, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x35, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x35, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x35, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x35, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x35, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x35, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x35, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x35, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x36, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x36, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x36, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x36, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x36, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x36, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x36, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x36, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x36, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x36, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x36, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x36, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x36, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x36, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x36, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x36, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x37, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x37, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x37, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x37, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x37, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x37, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x37, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x37, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x37, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x37, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x37, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x37, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x37, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x37, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x37, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x37, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x38, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x38, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x38, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x38, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x38, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x38, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x38, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x38, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x38, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x38, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x38, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x38, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x38, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x38, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x38, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x38, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x39, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x39, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x39, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x39, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x39, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x39, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x39, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x39, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x39, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x39, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x39, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x39, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x39, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x39, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x39, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x39, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x41, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x41, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x41, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x41, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x41, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x41, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x41, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x41, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x41, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x41, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x41, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x41, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x41, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x41, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x41, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x41, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x42, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x42, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x42, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x42, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x42, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x42, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x42, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x42, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x42, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x42, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x42, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x42, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x42, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x42, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x42, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x42, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x43, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x43, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x43, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x43, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x43, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x43, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x43, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x43, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x43, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x43, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x43, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x43, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x43, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x43, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x44, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x44, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x44, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x44, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x44, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x44, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x44, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x44, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x44, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x44, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x46, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x46, 0x37, 0x9, 0x67, 0x72, 0x61, 0x76, 0x65, 0x63, 0x6f, 0x6d, 0x62, 0x9, 0x61, 0x63, 0x75, 0x74, 0x65, 0x63, 0x6f, 0x6d, 0x62, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x32, 0x9, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x62, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x38, 0xd, 0x68, 0x6f, 0x6f, 0x6b, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x63, 0x6f, 0x6d, 0x62, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x31, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x31, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x31, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x31, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x31, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x31, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x31, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x31, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x31, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x31, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x31, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x31, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x31, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x31, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x31, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x31, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x32, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x32, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x32, 0x32, 0xc, 0x64, 0x6f, 0x74, 0x62, 0x65, 0x6c, 0x6f, 0x77, 0x63, 0x6f, 0x6d, 0x62, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x32, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x32, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x32, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x32, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x32, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x32, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x32, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x32, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x32, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x32, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x32, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x32, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x33, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x33, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x33, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x33, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x33, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x33, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x33, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x33, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x33, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x33, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x33, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x33, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x33, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x33, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x33, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x33, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x34, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x34, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x34, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x34, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x34, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x34, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x34, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x34, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x34, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x34, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x34, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x34, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x34, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x34, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x34, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x34, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x35, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x35, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x35, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x35, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x35, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x35, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x35, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x35, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x35, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x35, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x36, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x36, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x36, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x37, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x37, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x37, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x37, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x37, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x37, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x37, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x37, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x37, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x37, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x37, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x37, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x37, 0x45, 0x5, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0xd, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0xa, 0x41, 0x6c, 0x70, 0x68, 0x61, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x9, 0x61, 0x6e, 0x6f, 0x74, 0x65, 0x6c, 0x65, 0x69, 0x61, 0xc, 0x45, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x8, 0x45, 0x74, 0x61, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x9, 0x49, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0xc, 0x4f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x6e, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0xc, 0x55, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0xa, 0x4f, 0x6d, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x11, 0x69, 0x6f, 0x74, 0x61, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x5, 0x41, 0x6c, 0x70, 0x68, 0x61, 0x4, 0x42, 0x65, 0x74, 0x61, 0x5, 0x47, 0x61, 0x6d, 0x6d, 0x61, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x39, 0x34, 0x7, 0x45, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x4, 0x5a, 0x65, 0x74, 0x61, 0x3, 0x45, 0x74, 0x61, 0x5, 0x54, 0x68, 0x65, 0x74, 0x61, 0x4, 0x49, 0x6f, 0x74, 0x61, 0x5, 0x4b, 0x61, 0x70, 0x70, 0x61, 0x6, 0x4c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2, 0x4d, 0x75, 0x2, 0x4e, 0x75, 0x2, 0x58, 0x69, 0x7, 0x4f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x6e, 0x2, 0x50, 0x69, 0x3, 0x52, 0x68, 0x6f, 0x5, 0x53, 0x69, 0x67, 0x6d, 0x61, 0x3, 0x54, 0x61, 0x75, 0x7, 0x55, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x3, 0x50, 0x68, 0x69, 0x3, 0x43, 0x68, 0x69, 0x3, 0x50, 0x73, 0x69, 0xc, 0x49, 0x6f, 0x74, 0x61, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0xf, 0x55, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0xa, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0xc, 0x65, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x8, 0x65, 0x74, 0x61, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x9, 0x69, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x14, 0x75, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x5, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x4, 0x62, 0x65, 0x74, 0x61, 0x5, 0x67, 0x61, 0x6d, 0x6d, 0x61, 0x5, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x7, 0x65, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x4, 0x7a, 0x65, 0x74, 0x61, 0x3, 0x65, 0x74, 0x61, 0x5, 0x74, 0x68, 0x65, 0x74, 0x61, 0x4, 0x69, 0x6f, 0x74, 0x61, 0x5, 0x6b, 0x61, 0x70, 0x70, 0x61, 0x6, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x42, 0x43, 0x2, 0x6e, 0x75, 0x2, 0x78, 0x69, 0x7, 0x6f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x6e, 0x3, 0x72, 0x68, 0x6f, 0x6, 0x73, 0x69, 0x67, 0x6d, 0x61, 0x31, 0x5, 0x73, 0x69, 0x67, 0x6d, 0x61, 0x3, 0x74, 0x61, 0x75, 0x7, 0x75, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x3, 0x70, 0x68, 0x69, 0x3, 0x63, 0x68, 0x69, 0x3, 0x70, 0x73, 0x69, 0x5, 0x6f, 0x6d, 0x65, 0x67, 0x61, 0xc, 0x69, 0x6f, 0x74, 0x61, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0xf, 0x75, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0xc, 0x6f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x6e, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0xc, 0x75, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0xa, 0x6f, 0x6d, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x43, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x44, 0x30, 0x6, 0x74, 0x68, 0x65, 0x74, 0x61, 0x31, 0x8, 0x55, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x44, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x44, 0x34, 0x4, 0x70, 0x68, 0x69, 0x31, 0x6, 0x6f, 0x6d, 0x65, 0x67, 0x61, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x44, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x44, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x44, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x44, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x44, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x44, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x44, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x44, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x44, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x45, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x45, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x45, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x45, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x45, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x45, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x45, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x45, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x45, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x45, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x45, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x45, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x45, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x45, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x45, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x45, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x46, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x46, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x46, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x46, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x46, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x46, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x46, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x46, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x46, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x46, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x46, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x46, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x46, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x46, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x46, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x46, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x31, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x31, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x31, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x31, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x31, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x31, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x31, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x31, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x31, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x31, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x31, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x31, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x31, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x31, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x31, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x31, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x32, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x32, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x32, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x32, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x32, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x32, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x33, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x33, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x33, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x33, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x33, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x33, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x33, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x33, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x33, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x33, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x33, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x33, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x33, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x33, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x33, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x34, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x34, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x34, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x34, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x34, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x34, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x34, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x34, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x34, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x34, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x34, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x34, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x34, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x34, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x34, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x34, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x35, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x35, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x35, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x35, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x35, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x35, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x35, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x35, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x35, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x35, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x35, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x35, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x35, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x35, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x36, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x36, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x36, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x36, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x36, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x36, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x36, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x36, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x36, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x36, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x36, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x36, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x36, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x36, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x36, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x37, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x37, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x37, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x37, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x37, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x37, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x37, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x37, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x37, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x37, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x37, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x37, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x37, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x37, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x37, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x37, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x38, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x38, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x38, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x38, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x38, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x38, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x38, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x38, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x38, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x38, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x42, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x42, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x42, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x42, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x42, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x42, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x42, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x42, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x42, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x42, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x42, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x42, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x42, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x42, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x42, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x42, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x43, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x43, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x43, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x43, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x43, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x43, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x44, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x44, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x44, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x44, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x44, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x44, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x44, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x44, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x44, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x44, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x44, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x44, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x44, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x44, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x44, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x44, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x45, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x45, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x45, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x45, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x45, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x45, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x45, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x45, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x45, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x45, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x45, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x46, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x46, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x46, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x46, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x46, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x30, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x30, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x30, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x30, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x30, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x31, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x31, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x31, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x32, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x32, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x32, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x32, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x32, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x32, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x32, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x32, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x32, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x32, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x32, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x32, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x32, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x32, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x32, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x33, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x33, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x33, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x33, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x33, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x33, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x33, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x33, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x33, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x33, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x33, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x34, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x34, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x34, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x34, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x34, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x34, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x34, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x34, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x34, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x34, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x34, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x34, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x34, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x34, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x34, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x34, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x35, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x35, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x35, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x35, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x35, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x35, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x35, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x35, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x36, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x36, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x36, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x36, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x36, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x36, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x36, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x36, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x36, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x36, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x36, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x36, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x36, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x36, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x36, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x36, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x37, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x37, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x37, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x37, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x37, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x37, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x37, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x37, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x37, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x38, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x38, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x38, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x38, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x38, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x38, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x38, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x38, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x38, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x38, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x38, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x38, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x38, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x38, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x38, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x38, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x43, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x43, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x43, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x44, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x46, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x46, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x46, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x46, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x46, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x46, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x46, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x46, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x46, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x46, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x46, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x46, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x46, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x46, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x46, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x46, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x46, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x46, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x46, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x33, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x38, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x38, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x38, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x38, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x38, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x38, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x38, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x39, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x39, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x39, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x39, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x39, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x39, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x39, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x39, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x39, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x39, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x39, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x41, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x41, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x41, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x41, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x41, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x41, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x41, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x41, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x41, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x41, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x42, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x42, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x42, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x42, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x42, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x42, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x42, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x42, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x42, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x42, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x42, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x42, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x42, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x43, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x43, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x43, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x43, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x43, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x43, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x43, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x43, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x43, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x43, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x43, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x43, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x44, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x44, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x44, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x44, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x44, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x44, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x44, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x44, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x44, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x44, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x44, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x30, 0x45, 0x44, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x41, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x41, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x41, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x41, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x41, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x41, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x41, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x41, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x41, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x41, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x41, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x41, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x41, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x41, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x41, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x41, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x42, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x42, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x42, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x42, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x42, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x42, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x42, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x42, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x42, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x42, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x42, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x42, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x42, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x42, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x42, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x42, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x43, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x43, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x43, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x43, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x43, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x43, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x44, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x44, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x44, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x44, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x44, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x44, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x44, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x44, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x44, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x44, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x44, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x44, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x44, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x44, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x44, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x44, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x45, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x45, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x45, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x45, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x45, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x45, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x45, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x45, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x45, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x45, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x45, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x45, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x45, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x45, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x45, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x45, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x46, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x46, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x46, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x46, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x46, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x46, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x46, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x46, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x46, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x46, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x46, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x46, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x30, 0x46, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x30, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x30, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x30, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x30, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x30, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x30, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x30, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x30, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x30, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x30, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x30, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x30, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x30, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x30, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x31, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x31, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x31, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x31, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x31, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x31, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x31, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x31, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x31, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x31, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x31, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x31, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x31, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x31, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x31, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x32, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x32, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x32, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x32, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x32, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x32, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x32, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x32, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x32, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x32, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x32, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x32, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x32, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x32, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x32, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x32, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x33, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x33, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x33, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x33, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x33, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x33, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x33, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x33, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x33, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x33, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x33, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x33, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x33, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x33, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x33, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x34, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x34, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x34, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x34, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x34, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x34, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x34, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x34, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x34, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x34, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x34, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x34, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x34, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x34, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x34, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x35, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x35, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x35, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x35, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x35, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x35, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x35, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x35, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x35, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x35, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x35, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x35, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x35, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x35, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x35, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x36, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x36, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x36, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x36, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x36, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x36, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x36, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x36, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x36, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x36, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x36, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x36, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x36, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x36, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x36, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x36, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x37, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x37, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x37, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x37, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x37, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x37, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x37, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x37, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x37, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x37, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x37, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x37, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x37, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x37, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x37, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x37, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x38, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x38, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x38, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x38, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x38, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x38, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x38, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x38, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x38, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x38, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x38, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x38, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x38, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x38, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x38, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x38, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x39, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x39, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x39, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x39, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x39, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x39, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x39, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x39, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x39, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x39, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x39, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x39, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x39, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x39, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x39, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x39, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x41, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x41, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x41, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x41, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x41, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x41, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x41, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x41, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x41, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x41, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x41, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x41, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x41, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x41, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x41, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x41, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x42, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x42, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x42, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x42, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x42, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x42, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x42, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x42, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x42, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x42, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x42, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x42, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x42, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x42, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x43, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x43, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x43, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x43, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x43, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x43, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x43, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x43, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x43, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x43, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x43, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x43, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x43, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x43, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x43, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x43, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x44, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x44, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x44, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x44, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x44, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x44, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x44, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x44, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x44, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x44, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x44, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x44, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x44, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x44, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x44, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x44, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x45, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x45, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x45, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x45, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x45, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x45, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x45, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x45, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x45, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x45, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x45, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x45, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x45, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x45, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x45, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x46, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x46, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x46, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x46, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x46, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x46, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x46, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x46, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x46, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x46, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x46, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x46, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x46, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x46, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x46, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x34, 0x46, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x30, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x30, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x30, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x30, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x30, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x30, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x30, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x31, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x31, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x31, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x31, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x31, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x31, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x31, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x31, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x31, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x31, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x31, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x31, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x31, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x31, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x31, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x31, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x32, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x32, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x32, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x32, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x32, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x32, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x32, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x32, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x32, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x32, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x32, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x32, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x32, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x32, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x32, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x32, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x33, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x33, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x33, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x33, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x33, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x33, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x33, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x33, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x33, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x33, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x33, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x33, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x33, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x33, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x33, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x34, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x34, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x34, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x34, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x34, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x34, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x34, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x34, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x34, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x34, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x34, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x34, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x34, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x34, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x34, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x34, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x35, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x35, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x35, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x35, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x35, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x35, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x35, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x35, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x35, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x35, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x35, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x35, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x35, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x35, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x35, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x36, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x36, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x36, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x36, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x36, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x36, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x36, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x36, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x36, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x36, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x36, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x37, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x37, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x37, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x37, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x37, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x37, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x37, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x37, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x37, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x37, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x37, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x37, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x38, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x38, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x38, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x38, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x38, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x38, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x38, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x38, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x38, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x38, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x38, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x38, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x39, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x39, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x39, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x39, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x39, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x39, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x39, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x41, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x41, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x41, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x41, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x41, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x41, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x41, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x41, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x41, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x41, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x41, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x41, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x41, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x41, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x41, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x41, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x44, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x35, 0x45, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x34, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x34, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x36, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x36, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x37, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x37, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x37, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x37, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x37, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x37, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x37, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x38, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x38, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x38, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x38, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x38, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x38, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x38, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x38, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x38, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x38, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x38, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x38, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x38, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x38, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x38, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x38, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x39, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x39, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x39, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x39, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x39, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x39, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x39, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x39, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x39, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x39, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x39, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x39, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x36, 0x39, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x30, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x30, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x30, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x30, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x30, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x30, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x30, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x30, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x30, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x30, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x30, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x30, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x30, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x30, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x30, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x31, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x31, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x31, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x31, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x31, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x31, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x31, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x31, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x31, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x31, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x31, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x31, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x31, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x31, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x31, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x32, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x32, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x32, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x32, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x32, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x32, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x32, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x32, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x32, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x32, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x32, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x32, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x32, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x33, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x33, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x33, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x33, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x33, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x33, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x33, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x33, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x33, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x33, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x33, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x33, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x33, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x33, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x33, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x33, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x34, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x34, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x34, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x34, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x34, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x34, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x34, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x34, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x34, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x34, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x34, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x34, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x34, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x34, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x34, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x34, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x35, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x35, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x35, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x35, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x35, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x35, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x35, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x35, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x35, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x35, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x35, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x35, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x35, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x35, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x35, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x36, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x36, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x36, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x36, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x36, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x36, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x36, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x36, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x36, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x36, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x36, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x37, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x37, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x37, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x37, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x38, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x39, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x39, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x39, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x39, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x39, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x41, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x41, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x41, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x41, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x41, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x41, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x41, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x41, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x41, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x41, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x41, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x41, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x41, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x41, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x41, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x41, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x42, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x42, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x42, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x42, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x42, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x42, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x42, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x42, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x42, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x42, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x42, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x42, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x42, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x42, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x42, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x42, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x43, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x43, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x43, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x43, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x43, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x43, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x30, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x30, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x30, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x30, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x30, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x30, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x30, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x30, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x30, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x30, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x30, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x30, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x30, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x30, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x30, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x31, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x31, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x31, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x31, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x31, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x31, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x31, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x31, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x31, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x31, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x31, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x31, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x31, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x31, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x31, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x31, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x32, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x32, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x32, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x32, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x32, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x32, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x32, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x32, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x32, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x32, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x32, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x32, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x32, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x32, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x32, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x32, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x33, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x33, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x33, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x33, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x33, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x33, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x33, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x33, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x33, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x33, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x33, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x33, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x33, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x33, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x33, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x33, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x34, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x34, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x34, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x34, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x34, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x34, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x34, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x34, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x34, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x34, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x34, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x34, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x34, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x34, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x34, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x34, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x35, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x35, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x35, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x35, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x35, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x35, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x35, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x35, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x35, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x35, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x35, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x35, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x35, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x35, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x35, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x35, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x36, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x36, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x36, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x36, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x36, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x36, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x36, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x36, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x36, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x36, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x36, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x36, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x36, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x36, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x36, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x36, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x37, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x37, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x37, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x37, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x37, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x37, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x37, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x37, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x37, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x37, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x37, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x37, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x37, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x37, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x37, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x37, 0x46, 0x6, 0x57, 0x67, 0x72, 0x61, 0x76, 0x65, 0x6, 0x77, 0x67, 0x72, 0x61, 0x76, 0x65, 0x6, 0x57, 0x61, 0x63, 0x75, 0x74, 0x65, 0x6, 0x77, 0x61, 0x63, 0x75, 0x74, 0x65, 0x9, 0x57, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x9, 0x77, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x38, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x38, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x38, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x38, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x38, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x38, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x38, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x38, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x38, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x38, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x39, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x39, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x39, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x39, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x39, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x39, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x39, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x39, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x39, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x39, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x39, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x39, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x39, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x39, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x39, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x39, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x46, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x46, 0x31, 0x6, 0x59, 0x67, 0x72, 0x61, 0x76, 0x65, 0x6, 0x79, 0x67, 0x72, 0x61, 0x76, 0x65, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x46, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x46, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x46, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x46, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x46, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x46, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x46, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x46, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x30, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x30, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x30, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x30, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x30, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x30, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x30, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x30, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x30, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x30, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x30, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x30, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x30, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x30, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x30, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x31, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x31, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x31, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x31, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x31, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x31, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x31, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x31, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x31, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x31, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x31, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x31, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x32, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x32, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x32, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x32, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x32, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x32, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x32, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x32, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x32, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x32, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x32, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x32, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x32, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x32, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x32, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x32, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x33, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x33, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x33, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x33, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x33, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x33, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x33, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x33, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x33, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x33, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x33, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x33, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x33, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x33, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x33, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x33, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x34, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x34, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x34, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x34, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x34, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x34, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x34, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x34, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x34, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x34, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x34, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x34, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x35, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x35, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x35, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x35, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x35, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x35, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x35, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x35, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x35, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x35, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x35, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x35, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x36, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x36, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x36, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x36, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x36, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x36, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x36, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x36, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x36, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x36, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x36, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x36, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x36, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x36, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x36, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x36, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x37, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x37, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x37, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x37, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x37, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x37, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x37, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x37, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x37, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x37, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x37, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x37, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x37, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x37, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x38, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x38, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x38, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x38, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x38, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x38, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x38, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x38, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x38, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x38, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x38, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x38, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x38, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x38, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x38, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x38, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x39, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x39, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x39, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x39, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x39, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x39, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x39, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x39, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x39, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x39, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x39, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x39, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x39, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x39, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x39, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x39, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x41, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x41, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x41, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x41, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x41, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x41, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x41, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x41, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x41, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x41, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x41, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x41, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x41, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x41, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x41, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x41, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x42, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x42, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x42, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x42, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x42, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x42, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x42, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x42, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x42, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x42, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x42, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x42, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x42, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x42, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x42, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x43, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x43, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x43, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x43, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x43, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x43, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x43, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x43, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x43, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x43, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x43, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x43, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x43, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x43, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x43, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x44, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x44, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x44, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x44, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x44, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x44, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x44, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x44, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x44, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x44, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x44, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x44, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x44, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x45, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x45, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x45, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x45, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x45, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x45, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x45, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x45, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x45, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x45, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x45, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x45, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x45, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x45, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x45, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x45, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x46, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x46, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x46, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x46, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x46, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x46, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x46, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x46, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x46, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x46, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x46, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x46, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x31, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x31, 0x31, 0xa, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x61, 0x73, 0x68, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x31, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x31, 0x36, 0xd, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x64, 0x62, 0x6c, 0xd, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x31, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x32, 0x33, 0xe, 0x6f, 0x6e, 0x65, 0x64, 0x6f, 0x74, 0x65, 0x6e, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0xe, 0x74, 0x77, 0x6f, 0x64, 0x6f, 0x74, 0x65, 0x6e, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x32, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x32, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x32, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x32, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x32, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x32, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x32, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x32, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x32, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x33, 0x31, 0x6, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x6, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x33, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x33, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x33, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x33, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x33, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x33, 0x42, 0x9, 0x65, 0x78, 0x63, 0x6c, 0x61, 0x6d, 0x64, 0x62, 0x6c, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x33, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x33, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x33, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x34, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x34, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x34, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x34, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x34, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x34, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x34, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x34, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x34, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x34, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x34, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x34, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x34, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x34, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x34, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x35, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x35, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x35, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x35, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x35, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x35, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x35, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x35, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x35, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x35, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x35, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x35, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x35, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x35, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x35, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x35, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x36, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x36, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x36, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x36, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x36, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x36, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x36, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x36, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x36, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x36, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x36, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x37, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x37, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x37, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x37, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x37, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x37, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x37, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x37, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x37, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x37, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x37, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x37, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x37, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x37, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x38, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x38, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x38, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x38, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x38, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x38, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x38, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x38, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x38, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x38, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x38, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x38, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x38, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x38, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x38, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x39, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x39, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x39, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x39, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x39, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x39, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x39, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x39, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x39, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x39, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x39, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x39, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x39, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x41, 0x30, 0xd, 0x63, 0x6f, 0x6c, 0x6f, 0x6e, 0x6d, 0x6f, 0x6e, 0x65, 0x74, 0x61, 0x72, 0x79, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x41, 0x32, 0x4, 0x6c, 0x69, 0x72, 0x61, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x41, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x41, 0x36, 0x6, 0x70, 0x65, 0x73, 0x65, 0x74, 0x61, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x41, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x41, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x41, 0x41, 0x4, 0x64, 0x6f, 0x6e, 0x67, 0x4, 0x45, 0x75, 0x72, 0x6f, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x41, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x41, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x41, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x42, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x42, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x42, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x42, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x42, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x42, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x42, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x42, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x42, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x44, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x44, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x44, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x44, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x44, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x44, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x45, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x30, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x30, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x30, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x30, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x30, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x30, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x30, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x30, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x30, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x30, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x30, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x30, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x30, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x30, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x31, 0x30, 0x8, 0x49, 0x66, 0x72, 0x61, 0x6b, 0x74, 0x75, 0x72, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x31, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x31, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x31, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x31, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x31, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x31, 0x37, 0xb, 0x77, 0x65, 0x69, 0x65, 0x72, 0x73, 0x74, 0x72, 0x61, 0x73, 0x73, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x31, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x31, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x31, 0x42, 0x8, 0x52, 0x66, 0x72, 0x61, 0x6b, 0x74, 0x75, 0x72, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x31, 0x44, 0xc, 0x70, 0x72, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x31, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x32, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x32, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x32, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x32, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x32, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x32, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x32, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x32, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x32, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x32, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x32, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x32, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x32, 0x44, 0x9, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x32, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x33, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x33, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x33, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x33, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x33, 0x34, 0x5, 0x61, 0x6c, 0x65, 0x70, 0x68, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x33, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x33, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x33, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x33, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x33, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x33, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x33, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x33, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x33, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x33, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x34, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x34, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x34, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x34, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x34, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x34, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x34, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x34, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x34, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x34, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x34, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x34, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x35, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x35, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x35, 0x32, 0x8, 0x6f, 0x6e, 0x65, 0x74, 0x68, 0x69, 0x72, 0x64, 0x9, 0x74, 0x77, 0x6f, 0x74, 0x68, 0x69, 0x72, 0x64, 0x73, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x35, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x35, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x35, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x35, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x35, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x35, 0x41, 0x9, 0x6f, 0x6e, 0x65, 0x65, 0x69, 0x67, 0x68, 0x74, 0x68, 0xc, 0x74, 0x68, 0x72, 0x65, 0x65, 0x65, 0x69, 0x67, 0x68, 0x74, 0x68, 0x73, 0xb, 0x66, 0x69, 0x76, 0x65, 0x65, 0x69, 0x67, 0x68, 0x74, 0x68, 0x73, 0xc, 0x73, 0x65, 0x76, 0x65, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x74, 0x68, 0x73, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x35, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x36, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x36, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x36, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x36, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x36, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x36, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x36, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x36, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x36, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x36, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x36, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x36, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x36, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x36, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x36, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x36, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x37, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x37, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x37, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x37, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x37, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x37, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x37, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x37, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x37, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x37, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x37, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x37, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x37, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x37, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x37, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x37, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x38, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x38, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x38, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x38, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x38, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x38, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x38, 0x39, 0x9, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x6c, 0x65, 0x66, 0x74, 0x7, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x75, 0x70, 0xa, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x72, 0x69, 0x67, 0x68, 0x74, 0x9, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x9, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x62, 0x6f, 0x74, 0x68, 0x9, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x75, 0x70, 0x64, 0x6e, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x39, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x39, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x39, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x39, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x39, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x39, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x39, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x39, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x39, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x39, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x41, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x41, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x41, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x41, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x41, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x41, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x41, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x41, 0x37, 0xc, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x75, 0x70, 0x64, 0x6e, 0x62, 0x73, 0x65, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x41, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x41, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x41, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x41, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x41, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x41, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x41, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x42, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x42, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x42, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x42, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x42, 0x34, 0xe, 0x63, 0x61, 0x72, 0x72, 0x69, 0x61, 0x67, 0x65, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x42, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x42, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x42, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x42, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x42, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x42, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x42, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x42, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x42, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x42, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x43, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x43, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x43, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x43, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x43, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x43, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x43, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x43, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x43, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x43, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x43, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x43, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x43, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x43, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x43, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x43, 0x46, 0xc, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x64, 0x62, 0x6c, 0x6c, 0x65, 0x66, 0x74, 0xa, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x64, 0x62, 0x6c, 0x75, 0x70, 0xd, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x64, 0x62, 0x6c, 0x72, 0x69, 0x67, 0x68, 0x74, 0xc, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x64, 0x62, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0xc, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x64, 0x62, 0x6c, 0x62, 0x6f, 0x74, 0x68, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x44, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x44, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x44, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x44, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x44, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x44, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x44, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x44, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x44, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x44, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x44, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x45, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x45, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x45, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x45, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x45, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x45, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x45, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x45, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x45, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x45, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x45, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x45, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x45, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x45, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x45, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x45, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x46, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x46, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x46, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x46, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x46, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x46, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x46, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x46, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x46, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x46, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x46, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x46, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x46, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x46, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x46, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x46, 0x46, 0x9, 0x75, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x61, 0x6c, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x30, 0x31, 0xb, 0x65, 0x78, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x30, 0x34, 0x8, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x73, 0x65, 0x74, 0x8, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x7, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0xa, 0x6e, 0x6f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x30, 0x41, 0x8, 0x73, 0x75, 0x63, 0x68, 0x74, 0x68, 0x61, 0x74, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x30, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x30, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x30, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x31, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x31, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x31, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x31, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x31, 0x36, 0xc, 0x61, 0x73, 0x74, 0x65, 0x72, 0x69, 0x73, 0x6b, 0x6d, 0x61, 0x74, 0x68, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x31, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x31, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x31, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x31, 0x43, 0xc, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0xa, 0x6f, 0x72, 0x74, 0x68, 0x6f, 0x67, 0x6f, 0x6e, 0x61, 0x6c, 0x5, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x32, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x32, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x32, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x32, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x32, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x32, 0x36, 0xa, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x61, 0x6e, 0x64, 0x9, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x6f, 0x72, 0xc, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x32, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x32, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x32, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x32, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x33, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x33, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x33, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x33, 0x33, 0x9, 0x74, 0x68, 0x65, 0x72, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x33, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x33, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x33, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x33, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x33, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x33, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x33, 0x42, 0x7, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x33, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x33, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x33, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x34, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x34, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x34, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x34, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x34, 0x34, 0x9, 0x63, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x65, 0x6e, 0x74, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x34, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x34, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x34, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x34, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x34, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x34, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x34, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x34, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x34, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x35, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x35, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x35, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x35, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x35, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x35, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x35, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x35, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x35, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x35, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x35, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x35, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x35, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x35, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x35, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x35, 0x46, 0xb, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x36, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x36, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x36, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x36, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x36, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x36, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x36, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x36, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x36, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x36, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x36, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x36, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x37, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x37, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x37, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x37, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x37, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x37, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x37, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x37, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x37, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x37, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x37, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x37, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x37, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x37, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x37, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x37, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x38, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x38, 0x31, 0xc, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0xe, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x73, 0x75, 0x70, 0x65, 0x72, 0x73, 0x65, 0x74, 0x9, 0x6e, 0x6f, 0x74, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x38, 0x35, 0xc, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x78, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0xe, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x78, 0x73, 0x75, 0x70, 0x65, 0x72, 0x73, 0x65, 0x74, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x38, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x38, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x38, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x38, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x38, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x38, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x38, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x38, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x39, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x39, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x39, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x39, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x39, 0x34, 0xa, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x70, 0x6c, 0x75, 0x73, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x39, 0x36, 0xe, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x79, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x39, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x39, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x39, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x39, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x39, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x39, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x39, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x39, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x41, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x41, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x41, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x41, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x41, 0x34, 0xd, 0x70, 0x65, 0x72, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x41, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x41, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x41, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x41, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x41, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x41, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x41, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x41, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x41, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x41, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x42, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x42, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x42, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x42, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x42, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x42, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x42, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x42, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x42, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x42, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x42, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x42, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x42, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x42, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x42, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x42, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x43, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x43, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x43, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x43, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x43, 0x34, 0x7, 0x64, 0x6f, 0x74, 0x6d, 0x61, 0x74, 0x68, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x43, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x43, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x43, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x43, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x43, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x43, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x43, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x43, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x43, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x43, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x44, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x44, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x44, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x44, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x44, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x44, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x44, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x44, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x44, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x44, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x44, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x44, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x44, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x44, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x44, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x44, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x45, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x45, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x45, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x45, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x45, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x45, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x45, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x45, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x45, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x45, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x45, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x45, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x45, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x45, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x45, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x45, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x46, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x46, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x46, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x46, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x46, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x46, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x46, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x46, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x46, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x46, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x46, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x46, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x46, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x46, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x46, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x46, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x30, 0x31, 0x5, 0x68, 0x6f, 0x75, 0x73, 0x65, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x30, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x30, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x30, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x30, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x30, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x30, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x30, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x30, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x30, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x30, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x30, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x30, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x30, 0x46, 0xd, 0x72, 0x65, 0x76, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x6e, 0x6f, 0x74, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x31, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x31, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x31, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x31, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x31, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x31, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x31, 0x46, 0xa, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x74, 0x70, 0xa, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x62, 0x74, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x32, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x32, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x32, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x32, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x32, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x32, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x32, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x37, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x37, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x37, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x37, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x37, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x38, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x39, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x39, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x39, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x39, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x39, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x39, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x41, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x41, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x41, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x41, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x41, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x41, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x41, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x41, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x41, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x41, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x41, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x41, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x41, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x41, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x41, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x43, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x43, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x45, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x45, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x33, 0x45, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x34, 0x32, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x34, 0x32, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x34, 0x36, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x34, 0x36, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x34, 0x36, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x34, 0x36, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x34, 0x36, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x34, 0x36, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x34, 0x36, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x34, 0x36, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x34, 0x36, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x34, 0x36, 0x39, 0x8, 0x53, 0x46, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x30, 0x31, 0x8, 0x53, 0x46, 0x31, 0x31, 0x30, 0x30, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x30, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x30, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x30, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x30, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x30, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x30, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x30, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x30, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x30, 0x42, 0x8, 0x53, 0x46, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x30, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x30, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x30, 0x46, 0x8, 0x53, 0x46, 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x31, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x31, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x31, 0x33, 0x8, 0x53, 0x46, 0x30, 0x32, 0x30, 0x30, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x31, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x31, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x31, 0x37, 0x8, 0x53, 0x46, 0x30, 0x34, 0x30, 0x30, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x31, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x31, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x31, 0x42, 0x8, 0x53, 0x46, 0x30, 0x38, 0x30, 0x30, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x31, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x31, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x31, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x32, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x32, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x32, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x32, 0x33, 0x8, 0x53, 0x46, 0x30, 0x39, 0x30, 0x30, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x32, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x32, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x32, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x32, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x32, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x32, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x32, 0x42, 0x8, 0x53, 0x46, 0x30, 0x36, 0x30, 0x30, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x32, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x32, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x32, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x33, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x33, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x33, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x33, 0x33, 0x8, 0x53, 0x46, 0x30, 0x37, 0x30, 0x30, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x33, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x33, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x33, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x33, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x33, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x33, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x33, 0x42, 0x8, 0x53, 0x46, 0x30, 0x35, 0x30, 0x30, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x33, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x33, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x33, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x34, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x34, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x34, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x34, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x34, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x34, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x34, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x34, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x34, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x34, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x34, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x34, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x34, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x34, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x34, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x34, 0x46, 0x8, 0x53, 0x46, 0x34, 0x33, 0x30, 0x30, 0x30, 0x30, 0x8, 0x53, 0x46, 0x32, 0x34, 0x30, 0x30, 0x30, 0x30, 0x8, 0x53, 0x46, 0x35, 0x31, 0x30, 0x30, 0x30, 0x30, 0x8, 0x53, 0x46, 0x35, 0x32, 0x30, 0x30, 0x30, 0x30, 0x8, 0x53, 0x46, 0x33, 0x39, 0x30, 0x30, 0x30, 0x30, 0x8, 0x53, 0x46, 0x32, 0x32, 0x30, 0x30, 0x30, 0x30, 0x8, 0x53, 0x46, 0x32, 0x31, 0x30, 0x30, 0x30, 0x30, 0x8, 0x53, 0x46, 0x32, 0x35, 0x30, 0x30, 0x30, 0x30, 0x8, 0x53, 0x46, 0x35, 0x30, 0x30, 0x30, 0x30, 0x30, 0x8, 0x53, 0x46, 0x34, 0x39, 0x30, 0x30, 0x30, 0x30, 0x8, 0x53, 0x46, 0x33, 0x38, 0x30, 0x30, 0x30, 0x30, 0x8, 0x53, 0x46, 0x32, 0x38, 0x30, 0x30, 0x30, 0x30, 0x8, 0x53, 0x46, 0x32, 0x37, 0x30, 0x30, 0x30, 0x30, 0x8, 0x53, 0x46, 0x32, 0x36, 0x30, 0x30, 0x30, 0x30, 0x8, 0x53, 0x46, 0x33, 0x36, 0x30, 0x30, 0x30, 0x30, 0x8, 0x53, 0x46, 0x33, 0x37, 0x30, 0x30, 0x30, 0x30, 0x8, 0x53, 0x46, 0x34, 0x32, 0x30, 0x30, 0x30, 0x30, 0x8, 0x53, 0x46, 0x31, 0x39, 0x30, 0x30, 0x30, 0x30, 0x8, 0x53, 0x46, 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, 0x8, 0x53, 0x46, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x8, 0x53, 0x46, 0x34, 0x37, 0x30, 0x30, 0x30, 0x30, 0x8, 0x53, 0x46, 0x34, 0x38, 0x30, 0x30, 0x30, 0x30, 0x8, 0x53, 0x46, 0x34, 0x31, 0x30, 0x30, 0x30, 0x30, 0x8, 0x53, 0x46, 0x34, 0x35, 0x30, 0x30, 0x30, 0x30, 0x8, 0x53, 0x46, 0x34, 0x36, 0x30, 0x30, 0x30, 0x30, 0x8, 0x53, 0x46, 0x34, 0x30, 0x30, 0x30, 0x30, 0x30, 0x8, 0x53, 0x46, 0x35, 0x34, 0x30, 0x30, 0x30, 0x30, 0x8, 0x53, 0x46, 0x35, 0x33, 0x30, 0x30, 0x30, 0x30, 0x8, 0x53, 0x46, 0x34, 0x34, 0x30, 0x30, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x36, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x36, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x36, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x37, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x37, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x37, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x37, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x37, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x37, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x37, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x37, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x37, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x37, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x37, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x37, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x37, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x37, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x37, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x37, 0x46, 0x7, 0x75, 0x70, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x38, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x38, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x38, 0x33, 0x7, 0x64, 0x6e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x38, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x38, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x38, 0x37, 0x5, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x38, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x38, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x38, 0x42, 0x7, 0x6c, 0x66, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x38, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x38, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x38, 0x46, 0x7, 0x72, 0x74, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x7, 0x6c, 0x74, 0x73, 0x68, 0x61, 0x64, 0x65, 0x5, 0x73, 0x68, 0x61, 0x64, 0x65, 0x7, 0x64, 0x6b, 0x73, 0x68, 0x61, 0x64, 0x65, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x39, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x39, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x39, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x39, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x39, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x39, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x39, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x39, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x39, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x39, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x39, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x39, 0x46, 0x9, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x62, 0x6f, 0x78, 0x6, 0x48, 0x32, 0x32, 0x30, 0x37, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x41, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x41, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x41, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x41, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x41, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x41, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x41, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x41, 0x39, 0x6, 0x48, 0x31, 0x38, 0x35, 0x34, 0x33, 0x6, 0x48, 0x31, 0x38, 0x35, 0x35, 0x31, 0xa, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x72, 0x65, 0x63, 0x74, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x41, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x41, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x41, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x42, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x42, 0x31, 0x7, 0x74, 0x72, 0x69, 0x61, 0x67, 0x75, 0x70, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x42, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x42, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x42, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x42, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x42, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x42, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x42, 0x39, 0x7, 0x74, 0x72, 0x69, 0x61, 0x67, 0x72, 0x74, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x42, 0x42, 0x7, 0x74, 0x72, 0x69, 0x61, 0x67, 0x64, 0x6e, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x42, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x42, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x42, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x43, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x43, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x43, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x43, 0x33, 0x7, 0x74, 0x72, 0x69, 0x61, 0x67, 0x6c, 0x66, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x43, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x43, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x43, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x43, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x43, 0x39, 0x6, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x43, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x43, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x43, 0x45, 0x6, 0x48, 0x31, 0x38, 0x35, 0x33, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x44, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x44, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x44, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x44, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x44, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x44, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x44, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x44, 0x37, 0x9, 0x69, 0x6e, 0x76, 0x62, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x9, 0x69, 0x6e, 0x76, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x44, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x44, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x44, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x44, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x44, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x44, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x45, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x45, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x45, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x45, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x45, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x45, 0x35, 0xa, 0x6f, 0x70, 0x65, 0x6e, 0x62, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x45, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x45, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x45, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x45, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x45, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x45, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x45, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x45, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x45, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x46, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x46, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x46, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x46, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x46, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x46, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x46, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x46, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x46, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x46, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x46, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x46, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x46, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x46, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x46, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x46, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x30, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x30, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x30, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x30, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x30, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x30, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x30, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x30, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x30, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x30, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x30, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x30, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x30, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x30, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x30, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x31, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x31, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x31, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x31, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x31, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x31, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x31, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x31, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x31, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x31, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x31, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x31, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x31, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x31, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x31, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x31, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x32, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x32, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x32, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x32, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x32, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x32, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x32, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x32, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x32, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x32, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x32, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x32, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x32, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x32, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x32, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x32, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x33, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x33, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x33, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x33, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x33, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x33, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x33, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x33, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x33, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x33, 0x39, 0x9, 0x73, 0x6d, 0x69, 0x6c, 0x65, 0x66, 0x61, 0x63, 0x65, 0xc, 0x69, 0x6e, 0x76, 0x73, 0x6d, 0x69, 0x6c, 0x65, 0x66, 0x61, 0x63, 0x65, 0x3, 0x73, 0x75, 0x6e, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x33, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x33, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x33, 0x46, 0x6, 0x66, 0x65, 0x6d, 0x61, 0x6c, 0x65, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x34, 0x31, 0x4, 0x6d, 0x61, 0x6c, 0x65, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x34, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x34, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x34, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x34, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x34, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x34, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x34, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x34, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x34, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x34, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x34, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x34, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x34, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x35, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x35, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x35, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x35, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x35, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x35, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x35, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x35, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x35, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x35, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x35, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x35, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x35, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x35, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x35, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x35, 0x46, 0x5, 0x73, 0x70, 0x61, 0x64, 0x65, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x36, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x36, 0x32, 0x4, 0x63, 0x6c, 0x75, 0x62, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x36, 0x34, 0x5, 0x68, 0x65, 0x61, 0x72, 0x74, 0x7, 0x64, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x36, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x36, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x36, 0x39, 0xb, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x6e, 0x6f, 0x74, 0x65, 0xe, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x6e, 0x6f, 0x74, 0x65, 0x64, 0x62, 0x6c, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x36, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x36, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x36, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x36, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x37, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x37, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x37, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x37, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x37, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x37, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x37, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x37, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x37, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x37, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x37, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x37, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x37, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x37, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x37, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x37, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x38, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x38, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x38, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x38, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x38, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x38, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x38, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x38, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x38, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x38, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x38, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x38, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x38, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x38, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x38, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x38, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x39, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x39, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x39, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x39, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x39, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x39, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x39, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x39, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x39, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x39, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x39, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x39, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x39, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x41, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x41, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x41, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x41, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x41, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x41, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x41, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x41, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x41, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x41, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x41, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x41, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x41, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x41, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x41, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x41, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x42, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x42, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x42, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x42, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x42, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x42, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x42, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x42, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x42, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x43, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x43, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x43, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x43, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x45, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x30, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x30, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x30, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x30, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x30, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x30, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x30, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x30, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x30, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x30, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x30, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x30, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x31, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x31, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x31, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x31, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x31, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x31, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x31, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x31, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x31, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x31, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x31, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x31, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x31, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x31, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x31, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x31, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x32, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x32, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x32, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x32, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x32, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x32, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x32, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x32, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x32, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x32, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x32, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x32, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x32, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x32, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x32, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x33, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x33, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x33, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x33, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x33, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x33, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x33, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x33, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x33, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x33, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x33, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x33, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x33, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x33, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x33, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x33, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x34, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x34, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x34, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x34, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x34, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x34, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x34, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x34, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x34, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x34, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x34, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x34, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x34, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x34, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x35, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x35, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x35, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x35, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x35, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x35, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x35, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x35, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x35, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x35, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x35, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x36, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x36, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x36, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x36, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x36, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x36, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x36, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x36, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x36, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x36, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x36, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x36, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x36, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x36, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x36, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x37, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x37, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x37, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x37, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x37, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x37, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x37, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x37, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x37, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x37, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x37, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x37, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x37, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x37, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x37, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x37, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x38, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x38, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x38, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x38, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x38, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x38, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x38, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x38, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x38, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x38, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x38, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x38, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x38, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x38, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x38, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x38, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x39, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x39, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x39, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x39, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x39, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x39, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x39, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x39, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x39, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x39, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x39, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x39, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x39, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x41, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x41, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x41, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x41, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x41, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x41, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x41, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x41, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x41, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x41, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x41, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x41, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x41, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x41, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x41, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x41, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x42, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x42, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x42, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x42, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x42, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x42, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x42, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x42, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x42, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x42, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x42, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x42, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x42, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x42, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x43, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x43, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x45, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x45, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x45, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x45, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x45, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x45, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x45, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x46, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x46, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x46, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x46, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x46, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x46, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x46, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x46, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x46, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x46, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x46, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x46, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x46, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x46, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x46, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x37, 0x46, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x30, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x30, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x30, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x30, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x30, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x30, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x30, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x30, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x30, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x30, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x30, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x30, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x30, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x30, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x30, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x31, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x31, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x31, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x31, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x31, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x31, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x31, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x31, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x31, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x31, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x31, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x31, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x31, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x31, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x31, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x31, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x32, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x32, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x32, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x32, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x32, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x32, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x32, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x32, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x32, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x32, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x32, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x32, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x32, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x32, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x32, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x32, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x33, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x33, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x33, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x33, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x33, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x33, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x33, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x33, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x33, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x33, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x33, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x33, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x33, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x33, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x33, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x33, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x34, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x34, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x34, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x34, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x34, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x34, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x34, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x34, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x34, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x34, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x34, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x34, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x34, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x34, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x34, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x34, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x35, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x35, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x35, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x35, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x35, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x35, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x35, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x35, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x35, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x35, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x35, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x35, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x35, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x35, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x35, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x35, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x36, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x36, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x36, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x36, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x36, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x36, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x36, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x36, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x36, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x36, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x36, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x36, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x36, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x36, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x36, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x36, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x37, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x37, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x37, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x37, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x37, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x37, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x37, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x37, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x37, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x37, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x37, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x37, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x37, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x37, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x37, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x37, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x38, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x38, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x38, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x38, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x38, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x38, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x38, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x38, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x38, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x38, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x38, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x38, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x38, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x38, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x38, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x38, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x39, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x39, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x39, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x39, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x39, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x39, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x39, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x39, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x39, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x39, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x39, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x39, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x39, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x39, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x39, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x39, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x41, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x41, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x41, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x41, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x41, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x41, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x41, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x41, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x41, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x41, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x41, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x41, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x41, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x41, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x41, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x41, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x42, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x42, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x42, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x42, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x42, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x42, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x42, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x42, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x42, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x42, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x42, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x42, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x42, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x42, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x42, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x42, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x43, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x43, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x43, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x43, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x43, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x43, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x43, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x43, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x43, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x43, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x43, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x43, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x43, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x43, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x43, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x43, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x44, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x44, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x44, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x44, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x44, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x44, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x44, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x44, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x44, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x44, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x44, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x44, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x44, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x44, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x44, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x44, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x45, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x45, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x45, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x45, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x45, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x45, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x45, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x45, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x45, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x45, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x45, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x45, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x45, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x45, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x45, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x45, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x46, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x46, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x46, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x46, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x46, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x46, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x46, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x46, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x46, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x46, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x46, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x46, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x46, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x46, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x46, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x38, 0x46, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x39, 0x30, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x39, 0x30, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x39, 0x30, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x39, 0x30, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x39, 0x34, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x39, 0x34, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x39, 0x38, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x39, 0x38, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x39, 0x43, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x39, 0x43, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x39, 0x44, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x39, 0x44, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x39, 0x44, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x39, 0x44, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x39, 0x44, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x39, 0x44, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x39, 0x45, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x39, 0x46, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x39, 0x46, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x30, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x30, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x30, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x30, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x30, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x30, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x31, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x31, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x31, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x31, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x31, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x31, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x31, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x31, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x31, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x31, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x31, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x31, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x31, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x32, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x36, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x36, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x37, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x37, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x37, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x38, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x38, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x38, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x38, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x38, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x38, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x38, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x38, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x38, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x38, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x38, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x38, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x38, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x38, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x38, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x38, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x39, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x39, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x39, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x39, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x39, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x39, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x39, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x39, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x39, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x39, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x39, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x39, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x39, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x39, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x39, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x39, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x41, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x41, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x41, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x42, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x42, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x42, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x42, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x42, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x42, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x42, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x42, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x42, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x42, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x42, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x46, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x41, 0x46, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x30, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x30, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x30, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x30, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x30, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x30, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x30, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x30, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x30, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x30, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x30, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x30, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x30, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x30, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x30, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x31, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x31, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x31, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x31, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x31, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x31, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x31, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x31, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x31, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x31, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x31, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x31, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x32, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x32, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x32, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x32, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x32, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x35, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x42, 0x35, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x36, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x36, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x36, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x36, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x36, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x36, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x36, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x36, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x36, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x36, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x36, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x36, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x36, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x36, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x36, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x36, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x37, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x37, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x37, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x37, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x37, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x37, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x37, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x37, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x37, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x37, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x37, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x37, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x37, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x37, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x37, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x30, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x30, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x30, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x30, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x30, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x30, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x30, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x30, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x30, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x30, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x30, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x30, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x30, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x30, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x30, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x31, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x31, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x31, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x31, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x31, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x31, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x31, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x31, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x31, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x31, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x31, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x31, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x31, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x31, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x31, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x31, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x32, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x32, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x32, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x32, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x32, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x32, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x33, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x33, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x33, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x33, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x33, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x33, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x33, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x33, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x33, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x33, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x33, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x33, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x33, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x33, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x33, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x33, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x34, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x34, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x34, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x34, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x34, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x34, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x34, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x34, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x34, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x34, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x34, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x34, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x34, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x34, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x34, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x34, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x35, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x35, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x35, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x35, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x35, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x35, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x35, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x35, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x35, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x35, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x35, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x35, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x35, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x35, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x35, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x35, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x36, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x36, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x36, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x36, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x36, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x36, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x44, 0x36, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x45, 0x31, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x45, 0x31, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x45, 0x32, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x45, 0x32, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x45, 0x32, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x45, 0x32, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x32, 0x45, 0x32, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x43, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x43, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x43, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x43, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x43, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x43, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x43, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x43, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x43, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x43, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x43, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x43, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x43, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x43, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x43, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x43, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x44, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x44, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x44, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x44, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x44, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x44, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x44, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x44, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x44, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x44, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x44, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x44, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x44, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x44, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x44, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x44, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x45, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x45, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x45, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x45, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x45, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x45, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x45, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x45, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x45, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x45, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x45, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x45, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x45, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x45, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x45, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x45, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x46, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x46, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x46, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x46, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x46, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x46, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x46, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x46, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x46, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x46, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x46, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x46, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x46, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x46, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x46, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x34, 0x44, 0x46, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x44, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x44, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x44, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x44, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x44, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x44, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x44, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x44, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x44, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x44, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x44, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x44, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x44, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x44, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x44, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x44, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x45, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x45, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x45, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x45, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x45, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x45, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x45, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x45, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x45, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x45, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x45, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x45, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x45, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x45, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x45, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x45, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x46, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x46, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x46, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x46, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x46, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x46, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x46, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x46, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x46, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x46, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x46, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x46, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x46, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x46, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x46, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x34, 0x46, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x34, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x34, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x34, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x34, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x34, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x34, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x35, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x35, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x35, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x35, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x35, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x35, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x36, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x36, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x36, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x36, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x36, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x36, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x36, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x36, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x36, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x36, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x36, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x36, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x36, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x38, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x38, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x38, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x38, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x39, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x36, 0x39, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x30, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x30, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x30, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x30, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x30, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x30, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x30, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x30, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x31, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x31, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x31, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x31, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x31, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x31, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x31, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x31, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x31, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x31, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x31, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x31, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x32, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x32, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x32, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x32, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x32, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x32, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x32, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x32, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x32, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x32, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x33, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x33, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x33, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x33, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x33, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x33, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x33, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x33, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x33, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x33, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x33, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x33, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x33, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x33, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x33, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x33, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x34, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x34, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x34, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x34, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x34, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x34, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x34, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x34, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x34, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x34, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x35, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x35, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x35, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x35, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x35, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x35, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x36, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x36, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x36, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x36, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x38, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x38, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x38, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x38, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x38, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x38, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x38, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x38, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x38, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x38, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x39, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x39, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x41, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x41, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x41, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x41, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x41, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x41, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x41, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x41, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x41, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x41, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x41, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x46, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x46, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x46, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x46, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x46, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x46, 0x46, 0x9, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x35, 0x2e, 0x35, 0x9, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x36, 0x2e, 0x35, 0x9, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x37, 0x2e, 0x35, 0x9, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x38, 0x2e, 0x35, 0x9, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x39, 0x2e, 0x35, 0x9, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x35, 0x2e, 0x34, 0x9, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x36, 0x2e, 0x34, 0x9, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x37, 0x2e, 0x34, 0x9, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x38, 0x2e, 0x34, 0x9, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x39, 0x2e, 0x34, 0x9, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x35, 0x2e, 0x33, 0x9, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x36, 0x2e, 0x33, 0x9, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x37, 0x2e, 0x33, 0x9, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x38, 0x2e, 0x33, 0x9, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x39, 0x2e, 0x33, 0x9, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x35, 0x2e, 0x32, 0x9, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x36, 0x2e, 0x32, 0x9, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x37, 0x2e, 0x32, 0x9, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x38, 0x2e, 0x32, 0x9, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x39, 0x2e, 0x32, 0x9, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x35, 0x2e, 0x31, 0x9, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x36, 0x2e, 0x31, 0x9, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x37, 0x2e, 0x31, 0x9, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x38, 0x2e, 0x31, 0x9, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x39, 0x2e, 0x31, 0x4, 0x73, 0x74, 0x65, 0x6d, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x30, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x30, 0x30, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x30, 0x30, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x30, 0x30, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x30, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x30, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x30, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x30, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x30, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x30, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x30, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x30, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x30, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x30, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x30, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x30, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x30, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x30, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x30, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x31, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x31, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x31, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x31, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x31, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x31, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x31, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x31, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x31, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x31, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x31, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x31, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x31, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x31, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x31, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x31, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x32, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x32, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x32, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x32, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x32, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x32, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x32, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x32, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x32, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x32, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x32, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x32, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x32, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x32, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x32, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x33, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x33, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x33, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x33, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x33, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x33, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x33, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x33, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x33, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x33, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x33, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x33, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x33, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x33, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x33, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x33, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x34, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x34, 0x34, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x36, 0x43, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x30, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x30, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x30, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x30, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x31, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x31, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x31, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x31, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x31, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x31, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x31, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x31, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x32, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x32, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x32, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x32, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x32, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x32, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x32, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x32, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x32, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x32, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x32, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x32, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x32, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x32, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x32, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x32, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x33, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x33, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x33, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x33, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x33, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x33, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x33, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x33, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x33, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x33, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x33, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x33, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x33, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x34, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x34, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x34, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x34, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x34, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x34, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x34, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x34, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x34, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x34, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x34, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x34, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x34, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x34, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x35, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x35, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x35, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x35, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x35, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x35, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x35, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x35, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x35, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x35, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x35, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x35, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x35, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x35, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x36, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x36, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x36, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x36, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x36, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x36, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x36, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x36, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x36, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x36, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x36, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x36, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x36, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x36, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x36, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x36, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x37, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x37, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x37, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x37, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x37, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x37, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x37, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x37, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x37, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x37, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x37, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x37, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x37, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x37, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x37, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x37, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x38, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x38, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x38, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x38, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x38, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x38, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x38, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x38, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x38, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x38, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x38, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x38, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x38, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x38, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x38, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x38, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x39, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x39, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x39, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x39, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x39, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x39, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x39, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x39, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x39, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x39, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x39, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x39, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x39, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x39, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x39, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x39, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x41, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x41, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x41, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x41, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x41, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x41, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x41, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x41, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x44, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x44, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x44, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x44, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x44, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x44, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x45, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x45, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x46, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x46, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x46, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x46, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x30, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x30, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x30, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x30, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x30, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x30, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x30, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x30, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x30, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x30, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x30, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x30, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x30, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x30, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x30, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x30, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x32, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x32, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x32, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x32, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x37, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x37, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x37, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x37, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x37, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x37, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x37, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x37, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x37, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x37, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x37, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x37, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x37, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x37, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x37, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x38, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x38, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x38, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x38, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x38, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x38, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x38, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x38, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x38, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x38, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x38, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x38, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x38, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x38, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x38, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x38, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x39, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x39, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x39, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x39, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x39, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x39, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x39, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x39, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x39, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x39, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x39, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x39, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x39, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x39, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x39, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x39, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x41, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x41, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x41, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x41, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x41, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x41, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x41, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x41, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x41, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x41, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x41, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x41, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x41, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x41, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x41, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x41, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x42, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x42, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x42, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x42, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x42, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x42, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x42, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x42, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x42, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x42, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x42, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x42, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x42, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x42, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x42, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x42, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x43, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x43, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x43, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x43, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x43, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x43, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x43, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x43, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x43, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x43, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x43, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x43, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x43, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x43, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x43, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x43, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x44, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x44, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x44, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x44, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x44, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x44, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x44, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x44, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x44, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x44, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x44, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x44, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x44, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x44, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x44, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x44, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x45, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x45, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x45, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x45, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x45, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x45, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x45, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x45, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x45, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x45, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x45, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x45, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x45, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x45, 0x44, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x45, 0x45, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x45, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x46, 0x30, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x46, 0x31, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x46, 0x32, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x46, 0x33, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x46, 0x34, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x46, 0x35, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x46, 0x36, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x46, 0x37, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x46, 0x38, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x46, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x46, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x46, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x46, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x46, 0x46, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x46, 0x46, 0x39, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x46, 0x46, 0x41, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x46, 0x46, 0x42, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x46, 0x46, 0x43, 0x7, 0x75, 0x6e, 0x69, 0x46, 0x46, 0x46, 0x44, 0x6, 0x75, 0x31, 0x30, 0x33, 0x30, 0x30, 0x6, 0x75, 0x31, 0x30, 0x33, 0x30, 0x31, 0x6, 0x75, 0x31, 0x30, 0x33, 0x30, 0x32, 0x6, 0x75, 0x31, 0x30, 0x33, 0x30, 0x33, 0x6, 0x75, 0x31, 0x30, 0x33, 0x30, 0x34, 0x6, 0x75, 0x31, 0x30, 0x33, 0x30, 0x35, 0x6, 0x75, 0x31, 0x30, 0x33, 0x30, 0x36, 0x6, 0x75, 0x31, 0x30, 0x33, 0x30, 0x37, 0x6, 0x75, 0x31, 0x30, 0x33, 0x30, 0x38, 0x6, 0x75, 0x31, 0x30, 0x33, 0x30, 0x39, 0x6, 0x75, 0x31, 0x30, 0x33, 0x30, 0x41, 0x6, 0x75, 0x31, 0x30, 0x33, 0x30, 0x42, 0x6, 0x75, 0x31, 0x30, 0x33, 0x30, 0x43, 0x6, 0x75, 0x31, 0x30, 0x33, 0x30, 0x44, 0x6, 0x75, 0x31, 0x30, 0x33, 0x30, 0x45, 0x6, 0x75, 0x31, 0x30, 0x33, 0x30, 0x46, 0x6, 0x75, 0x31, 0x30, 0x33, 0x31, 0x30, 0x6, 0x75, 0x31, 0x30, 0x33, 0x31, 0x31, 0x6, 0x75, 0x31, 0x30, 0x33, 0x31, 0x32, 0x6, 0x75, 0x31, 0x30, 0x33, 0x31, 0x33, 0x6, 0x75, 0x31, 0x30, 0x33, 0x31, 0x34, 0x6, 0x75, 0x31, 0x30, 0x33, 0x31, 0x35, 0x6, 0x75, 0x31, 0x30, 0x33, 0x31, 0x36, 0x6, 0x75, 0x31, 0x30, 0x33, 0x31, 0x37, 0x6, 0x75, 0x31, 0x30, 0x33, 0x31, 0x38, 0x6, 0x75, 0x31, 0x30, 0x33, 0x31, 0x39, 0x6, 0x75, 0x31, 0x30, 0x33, 0x31, 0x41, 0x6, 0x75, 0x31, 0x30, 0x33, 0x31, 0x42, 0x6, 0x75, 0x31, 0x30, 0x33, 0x31, 0x43, 0x6, 0x75, 0x31, 0x30, 0x33, 0x31, 0x44, 0x6, 0x75, 0x31, 0x30, 0x33, 0x31, 0x45, 0x6, 0x75, 0x31, 0x30, 0x33, 0x32, 0x30, 0x6, 0x75, 0x31, 0x30, 0x33, 0x32, 0x31, 0x6, 0x75, 0x31, 0x30, 0x33, 0x32, 0x32, 0x6, 0x75, 0x31, 0x30, 0x33, 0x32, 0x33, 0x6, 0x75, 0x31, 0x44, 0x33, 0x30, 0x30, 0x6, 0x75, 0x31, 0x44, 0x33, 0x30, 0x31, 0x6, 0x75, 0x31, 0x44, 0x33, 0x30, 0x32, 0x6, 0x75, 0x31, 0x44, 0x33, 0x30, 0x33, 0x6, 0x75, 0x31, 0x44, 0x33, 0x30, 0x34, 0x6, 0x75, 0x31, 0x44, 0x33, 0x30, 0x35, 0x6, 0x75, 0x31, 0x44, 0x33, 0x30, 0x36, 0x6, 0x75, 0x31, 0x44, 0x33, 0x30, 0x37, 0x6, 0x75, 0x31, 0x44, 0x33, 0x30, 0x38, 0x6, 0x75, 0x31, 0x44, 0x33, 0x30, 0x39, 0x6, 0x75, 0x31, 0x44, 0x33, 0x30, 0x41, 0x6, 0x75, 0x31, 0x44, 0x33, 0x30, 0x42, 0x6, 0x75, 0x31, 0x44, 0x33, 0x30, 0x43, 0x6, 0x75, 0x31, 0x44, 0x33, 0x30, 0x44, 0x6, 0x75, 0x31, 0x44, 0x33, 0x30, 0x45, 0x6, 0x75, 0x31, 0x44, 0x33, 0x30, 0x46, 0x6, 0x75, 0x31, 0x44, 0x33, 0x31, 0x30, 0x6, 0x75, 0x31, 0x44, 0x33, 0x31, 0x31, 0x6, 0x75, 0x31, 0x44, 0x33, 0x31, 0x32, 0x6, 0x75, 0x31, 0x44, 0x33, 0x31, 0x33, 0x6, 0x75, 0x31, 0x44, 0x33, 0x31, 0x34, 0x6, 0x75, 0x31, 0x44, 0x33, 0x31, 0x35, 0x6, 0x75, 0x31, 0x44, 0x33, 0x31, 0x36, 0x6, 0x75, 0x31, 0x44, 0x33, 0x31, 0x37, 0x6, 0x75, 0x31, 0x44, 0x33, 0x31, 0x38, 0x6, 0x75, 0x31, 0x44, 0x33, 0x31, 0x39, 0x6, 0x75, 0x31, 0x44, 0x33, 0x31, 0x41, 0x6, 0x75, 0x31, 0x44, 0x33, 0x31, 0x42, 0x6, 0x75, 0x31, 0x44, 0x33, 0x31, 0x43, 0x6, 0x75, 0x31, 0x44, 0x33, 0x31, 0x44, 0x6, 0x75, 0x31, 0x44, 0x33, 0x31, 0x45, 0x6, 0x75, 0x31, 0x44, 0x33, 0x31, 0x46, 0x6, 0x75, 0x31, 0x44, 0x33, 0x32, 0x30, 0x6, 0x75, 0x31, 0x44, 0x33, 0x32, 0x31, 0x6, 0x75, 0x31, 0x44, 0x33, 0x32, 0x32, 0x6, 0x75, 0x31, 0x44, 0x33, 0x32, 0x33, 0x6, 0x75, 0x31, 0x44, 0x33, 0x32, 0x34, 0x6, 0x75, 0x31, 0x44, 0x33, 0x32, 0x35, 0x6, 0x75, 0x31, 0x44, 0x33, 0x32, 0x36, 0x6, 0x75, 0x31, 0x44, 0x33, 0x32, 0x37, 0x6, 0x75, 0x31, 0x44, 0x33, 0x32, 0x38, 0x6, 0x75, 0x31, 0x44, 0x33, 0x32, 0x39, 0x6, 0x75, 0x31, 0x44, 0x33, 0x32, 0x41, 0x6, 0x75, 0x31, 0x44, 0x33, 0x32, 0x42, 0x6, 0x75, 0x31, 0x44, 0x33, 0x32, 0x43, 0x6, 0x75, 0x31, 0x44, 0x33, 0x32, 0x44, 0x6, 0x75, 0x31, 0x44, 0x33, 0x32, 0x45, 0x6, 0x75, 0x31, 0x44, 0x33, 0x32, 0x46, 0x6, 0x75, 0x31, 0x44, 0x33, 0x33, 0x30, 0x6, 0x75, 0x31, 0x44, 0x33, 0x33, 0x31, 0x6, 0x75, 0x31, 0x44, 0x33, 0x33, 0x32, 0x6, 0x75, 0x31, 0x44, 0x33, 0x33, 0x33, 0x6, 0x75, 0x31, 0x44, 0x33, 0x33, 0x34, 0x6, 0x75, 0x31, 0x44, 0x33, 0x33, 0x35, 0x6, 0x75, 0x31, 0x44, 0x33, 0x33, 0x36, 0x6, 0x75, 0x31, 0x44, 0x33, 0x33, 0x37, 0x6, 0x75, 0x31, 0x44, 0x33, 0x33, 0x38, 0x6, 0x75, 0x31, 0x44, 0x33, 0x33, 0x39, 0x6, 0x75, 0x31, 0x44, 0x33, 0x33, 0x41, 0x6, 0x75, 0x31, 0x44, 0x33, 0x33, 0x42, 0x6, 0x75, 0x31, 0x44, 0x33, 0x33, 0x43, 0x6, 0x75, 0x31, 0x44, 0x33, 0x33, 0x44, 0x6, 0x75, 0x31, 0x44, 0x33, 0x33, 0x45, 0x6, 0x75, 0x31, 0x44, 0x33, 0x33, 0x46, 0x6, 0x75, 0x31, 0x44, 0x33, 0x34, 0x30, 0x6, 0x75, 0x31, 0x44, 0x33, 0x34, 0x31, 0x6, 0x75, 0x31, 0x44, 0x33, 0x34, 0x32, 0x6, 0x75, 0x31, 0x44, 0x33, 0x34, 0x33, 0x6, 0x75, 0x31, 0x44, 0x33, 0x34, 0x34, 0x6, 0x75, 0x31, 0x44, 0x33, 0x34, 0x35, 0x6, 0x75, 0x31, 0x44, 0x33, 0x34, 0x36, 0x6, 0x75, 0x31, 0x44, 0x33, 0x34, 0x37, 0x6, 0x75, 0x31, 0x44, 0x33, 0x34, 0x38, 0x6, 0x75, 0x31, 0x44, 0x33, 0x34, 0x39, 0x6, 0x75, 0x31, 0x44, 0x33, 0x34, 0x41, 0x6, 0x75, 0x31, 0x44, 0x33, 0x34, 0x42, 0x6, 0x75, 0x31, 0x44, 0x33, 0x34, 0x43, 0x6, 0x75, 0x31, 0x44, 0x33, 0x34, 0x44, 0x6, 0x75, 0x31, 0x44, 0x33, 0x34, 0x45, 0x6, 0x75, 0x31, 0x44, 0x33, 0x34, 0x46, 0x6, 0x75, 0x31, 0x44, 0x33, 0x35, 0x30, 0x6, 0x75, 0x31, 0x44, 0x33, 0x35, 0x31, 0x6, 0x75, 0x31, 0x44, 0x33, 0x35, 0x32, 0x6, 0x75, 0x31, 0x44, 0x33, 0x35, 0x33, 0x6, 0x75, 0x31, 0x44, 0x33, 0x35, 0x34, 0x6, 0x75, 0x31, 0x44, 0x33, 0x35, 0x35, 0x6, 0x75, 0x31, 0x44, 0x33, 0x35, 0x36, 0x6, 0x75, 0x31, 0x44, 0x35, 0x33, 0x38, 0x6, 0x75, 0x31, 0x44, 0x35, 0x33, 0x39, 0x6, 0x75, 0x31, 0x44, 0x35, 0x33, 0x42, 0x6, 0x75, 0x31, 0x44, 0x35, 0x33, 0x43, 0x6, 0x75, 0x31, 0x44, 0x35, 0x33, 0x44, 0x6, 0x75, 0x31, 0x44, 0x35, 0x33, 0x45, 0x6, 0x75, 0x31, 0x44, 0x35, 0x34, 0x30, 0x6, 0x75, 0x31, 0x44, 0x35, 0x34, 0x31, 0x6, 0x75, 0x31, 0x44, 0x35, 0x34, 0x32, 0x6, 0x75, 0x31, 0x44, 0x35, 0x34, 0x33, 0x6, 0x75, 0x31, 0x44, 0x35, 0x34, 0x34, 0x6, 0x75, 0x31, 0x44, 0x35, 0x34, 0x36, 0x6, 0x75, 0x31, 0x44, 0x35, 0x34, 0x41, 0x6, 0x75, 0x31, 0x44, 0x35, 0x34, 0x42, 0x6, 0x75, 0x31, 0x44, 0x35, 0x34, 0x43, 0x6, 0x75, 0x31, 0x44, 0x35, 0x34, 0x44, 0x6, 0x75, 0x31, 0x44, 0x35, 0x34, 0x45, 0x6, 0x75, 0x31, 0x44, 0x35, 0x34, 0x46, 0x6, 0x75, 0x31, 0x44, 0x35, 0x35, 0x30, 0x6, 0x75, 0x31, 0x44, 0x35, 0x35, 0x32, 0x6, 0x75, 0x31, 0x44, 0x35, 0x35, 0x33, 0x6, 0x75, 0x31, 0x44, 0x35, 0x35, 0x34, 0x6, 0x75, 0x31, 0x44, 0x35, 0x35, 0x35, 0x6, 0x75, 0x31, 0x44, 0x35, 0x35, 0x36, 0x6, 0x75, 0x31, 0x44, 0x35, 0x35, 0x37, 0x6, 0x75, 0x31, 0x44, 0x35, 0x35, 0x38, 0x6, 0x75, 0x31, 0x44, 0x35, 0x35, 0x39, 0x6, 0x75, 0x31, 0x44, 0x35, 0x35, 0x41, 0x6, 0x75, 0x31, 0x44, 0x35, 0x35, 0x42, 0x6, 0x75, 0x31, 0x44, 0x35, 0x35, 0x43, 0x6, 0x75, 0x31, 0x44, 0x35, 0x35, 0x44, 0x6, 0x75, 0x31, 0x44, 0x35, 0x35, 0x45, 0x6, 0x75, 0x31, 0x44, 0x35, 0x35, 0x46, 0x6, 0x75, 0x31, 0x44, 0x35, 0x36, 0x30, 0x6, 0x75, 0x31, 0x44, 0x35, 0x36, 0x31, 0x6, 0x75, 0x31, 0x44, 0x35, 0x36, 0x32, 0x6, 0x75, 0x31, 0x44, 0x35, 0x36, 0x33, 0x6, 0x75, 0x31, 0x44, 0x35, 0x36, 0x34, 0x6, 0x75, 0x31, 0x44, 0x35, 0x36, 0x35, 0x6, 0x75, 0x31, 0x44, 0x35, 0x36, 0x36, 0x6, 0x75, 0x31, 0x44, 0x35, 0x36, 0x37, 0x6, 0x75, 0x31, 0x44, 0x35, 0x36, 0x38, 0x6, 0x75, 0x31, 0x44, 0x35, 0x36, 0x39, 0x6, 0x75, 0x31, 0x44, 0x35, 0x36, 0x41, 0x6, 0x75, 0x31, 0x44, 0x35, 0x36, 0x42, 0x6, 0x75, 0x31, 0x44, 0x35, 0x41, 0x30, 0x6, 0x75, 0x31, 0x44, 0x35, 0x41, 0x31, 0x6, 0x75, 0x31, 0x44, 0x35, 0x41, 0x32, 0x6, 0x75, 0x31, 0x44, 0x35, 0x41, 0x33, 0x6, 0x75, 0x31, 0x44, 0x35, 0x41, 0x34, 0x6, 0x75, 0x31, 0x44, 0x35, 0x41, 0x35, 0x6, 0x75, 0x31, 0x44, 0x35, 0x41, 0x36, 0x6, 0x75, 0x31, 0x44, 0x35, 0x41, 0x37, 0x6, 0x75, 0x31, 0x44, 0x35, 0x41, 0x38, 0x6, 0x75, 0x31, 0x44, 0x35, 0x41, 0x39, 0x6, 0x75, 0x31, 0x44, 0x35, 0x41, 0x41, 0x6, 0x75, 0x31, 0x44, 0x35, 0x41, 0x42, 0x6, 0x75, 0x31, 0x44, 0x35, 0x41, 0x43, 0x6, 0x75, 0x31, 0x44, 0x35, 0x41, 0x44, 0x6, 0x75, 0x31, 0x44, 0x35, 0x41, 0x45, 0x6, 0x75, 0x31, 0x44, 0x35, 0x41, 0x46, 0x6, 0x75, 0x31, 0x44, 0x35, 0x42, 0x30, 0x6, 0x75, 0x31, 0x44, 0x35, 0x42, 0x31, 0x6, 0x75, 0x31, 0x44, 0x35, 0x42, 0x32, 0x6, 0x75, 0x31, 0x44, 0x35, 0x42, 0x33, 0x6, 0x75, 0x31, 0x44, 0x35, 0x42, 0x34, 0x6, 0x75, 0x31, 0x44, 0x35, 0x42, 0x35, 0x6, 0x75, 0x31, 0x44, 0x35, 0x42, 0x36, 0x6, 0x75, 0x31, 0x44, 0x35, 0x42, 0x37, 0x6, 0x75, 0x31, 0x44, 0x35, 0x42, 0x38, 0x6, 0x75, 0x31, 0x44, 0x35, 0x42, 0x39, 0x6, 0x75, 0x31, 0x44, 0x35, 0x42, 0x41, 0x6, 0x75, 0x31, 0x44, 0x35, 0x42, 0x42, 0x6, 0x75, 0x31, 0x44, 0x35, 0x42, 0x43, 0x6, 0x75, 0x31, 0x44, 0x35, 0x42, 0x44, 0x6, 0x75, 0x31, 0x44, 0x35, 0x42, 0x45, 0x6, 0x75, 0x31, 0x44, 0x35, 0x42, 0x46, 0x6, 0x75, 0x31, 0x44, 0x35, 0x43, 0x30, 0x6, 0x75, 0x31, 0x44, 0x35, 0x43, 0x31, 0x6, 0x75, 0x31, 0x44, 0x35, 0x43, 0x32, 0x6, 0x75, 0x31, 0x44, 0x35, 0x43, 0x33, 0x6, 0x75, 0x31, 0x44, 0x35, 0x43, 0x34, 0x6, 0x75, 0x31, 0x44, 0x35, 0x43, 0x35, 0x6, 0x75, 0x31, 0x44, 0x35, 0x43, 0x36, 0x6, 0x75, 0x31, 0x44, 0x35, 0x43, 0x37, 0x6, 0x75, 0x31, 0x44, 0x35, 0x43, 0x38, 0x6, 0x75, 0x31, 0x44, 0x35, 0x43, 0x39, 0x6, 0x75, 0x31, 0x44, 0x35, 0x43, 0x41, 0x6, 0x75, 0x31, 0x44, 0x35, 0x43, 0x42, 0x6, 0x75, 0x31, 0x44, 0x35, 0x43, 0x43, 0x6, 0x75, 0x31, 0x44, 0x35, 0x43, 0x44, 0x6, 0x75, 0x31, 0x44, 0x35, 0x43, 0x45, 0x6, 0x75, 0x31, 0x44, 0x35, 0x43, 0x46, 0x6, 0x75, 0x31, 0x44, 0x35, 0x44, 0x30, 0x6, 0x75, 0x31, 0x44, 0x35, 0x44, 0x31, 0x6, 0x75, 0x31, 0x44, 0x35, 0x44, 0x32, 0x6, 0x75, 0x31, 0x44, 0x35, 0x44, 0x33, 0x6, 0x75, 0x31, 0x44, 0x37, 0x44, 0x38, 0x6, 0x75, 0x31, 0x44, 0x37, 0x44, 0x39, 0x6, 0x75, 0x31, 0x44, 0x37, 0x44, 0x41, 0x6, 0x75, 0x31, 0x44, 0x37, 0x44, 0x42, 0x6, 0x75, 0x31, 0x44, 0x37, 0x44, 0x43, 0x6, 0x75, 0x31, 0x44, 0x37, 0x44, 0x44, 0x6, 0x75, 0x31, 0x44, 0x37, 0x44, 0x45, 0x6, 0x75, 0x31, 0x44, 0x37, 0x44, 0x46, 0x6, 0x75, 0x31, 0x44, 0x37, 0x45, 0x30, 0x6, 0x75, 0x31, 0x44, 0x37, 0x45, 0x31, 0x6, 0x75, 0x31, 0x44, 0x37, 0x45, 0x32, 0x6, 0x75, 0x31, 0x44, 0x37, 0x45, 0x33, 0x6, 0x75, 0x31, 0x44, 0x37, 0x45, 0x34, 0x6, 0x75, 0x31, 0x44, 0x37, 0x45, 0x35, 0x6, 0x75, 0x31, 0x44, 0x37, 0x45, 0x36, 0x6, 0x75, 0x31, 0x44, 0x37, 0x45, 0x37, 0x6, 0x75, 0x31, 0x44, 0x37, 0x45, 0x38, 0x6, 0x75, 0x31, 0x44, 0x37, 0x45, 0x39, 0x6, 0x75, 0x31, 0x44, 0x37, 0x45, 0x41, 0x6, 0x75, 0x31, 0x44, 0x37, 0x45, 0x42, 0x6, 0x75, 0x31, 0x46, 0x30, 0x33, 0x30, 0x6, 0x75, 0x31, 0x46, 0x30, 0x33, 0x31, 0x6, 0x75, 0x31, 0x46, 0x30, 0x33, 0x32, 0x6, 0x75, 0x31, 0x46, 0x30, 0x33, 0x33, 0x6, 0x75, 0x31, 0x46, 0x30, 0x33, 0x34, 0x6, 0x75, 0x31, 0x46, 0x30, 0x33, 0x35, 0x6, 0x75, 0x31, 0x46, 0x30, 0x33, 0x36, 0x6, 0x75, 0x31, 0x46, 0x30, 0x33, 0x37, 0x6, 0x75, 0x31, 0x46, 0x30, 0x33, 0x38, 0x6, 0x75, 0x31, 0x46, 0x30, 0x33, 0x39, 0x6, 0x75, 0x31, 0x46, 0x30, 0x33, 0x41, 0x6, 0x75, 0x31, 0x46, 0x30, 0x33, 0x42, 0x6, 0x75, 0x31, 0x46, 0x30, 0x33, 0x43, 0x6, 0x75, 0x31, 0x46, 0x30, 0x33, 0x44, 0x6, 0x75, 0x31, 0x46, 0x30, 0x33, 0x45, 0x6, 0x75, 0x31, 0x46, 0x30, 0x33, 0x46, 0x6, 0x75, 0x31, 0x46, 0x30, 0x34, 0x30, 0x6, 0x75, 0x31, 0x46, 0x30, 0x34, 0x31, 0x6, 0x75, 0x31, 0x46, 0x30, 0x34, 0x32, 0x6, 0x75, 0x31, 0x46, 0x30, 0x34, 0x33, 0x6, 0x75, 0x31, 0x46, 0x30, 0x34, 0x34, 0x6, 0x75, 0x31, 0x46, 0x30, 0x34, 0x35, 0x6, 0x75, 0x31, 0x46, 0x30, 0x34, 0x36, 0x6, 0x75, 0x31, 0x46, 0x30, 0x34, 0x37, 0x6, 0x75, 0x31, 0x46, 0x30, 0x34, 0x38, 0x6, 0x75, 0x31, 0x46, 0x30, 0x34, 0x39, 0x6, 0x75, 0x31, 0x46, 0x30, 0x34, 0x41, 0x6, 0x75, 0x31, 0x46, 0x30, 0x34, 0x42, 0x6, 0x75, 0x31, 0x46, 0x30, 0x34, 0x43, 0x6, 0x75, 0x31, 0x46, 0x30, 0x34, 0x44, 0x6, 0x75, 0x31, 0x46, 0x30, 0x34, 0x45, 0x6, 0x75, 0x31, 0x46, 0x30, 0x34, 0x46, 0x6, 0x75, 0x31, 0x46, 0x30, 0x35, 0x30, 0x6, 0x75, 0x31, 0x46, 0x30, 0x35, 0x31, 0x6, 0x75, 0x31, 0x46, 0x30, 0x35, 0x32, 0x6, 0x75, 0x31, 0x46, 0x30, 0x35, 0x33, 0x6, 0x75, 0x31, 0x46, 0x30, 0x35, 0x34, 0x6, 0x75, 0x31, 0x46, 0x30, 0x35, 0x35, 0x6, 0x75, 0x31, 0x46, 0x30, 0x35, 0x36, 0x6, 0x75, 0x31, 0x46, 0x30, 0x35, 0x37, 0x6, 0x75, 0x31, 0x46, 0x30, 0x35, 0x38, 0x6, 0x75, 0x31, 0x46, 0x30, 0x35, 0x39, 0x6, 0x75, 0x31, 0x46, 0x30, 0x35, 0x41, 0x6, 0x75, 0x31, 0x46, 0x30, 0x35, 0x42, 0x6, 0x75, 0x31, 0x46, 0x30, 0x35, 0x43, 0x6, 0x75, 0x31, 0x46, 0x30, 0x35, 0x44, 0x6, 0x75, 0x31, 0x46, 0x30, 0x35, 0x45, 0x6, 0x75, 0x31, 0x46, 0x30, 0x35, 0x46, 0x6, 0x75, 0x31, 0x46, 0x30, 0x36, 0x30, 0x6, 0x75, 0x31, 0x46, 0x30, 0x36, 0x31, 0x6, 0x75, 0x31, 0x46, 0x30, 0x36, 0x32, 0x6, 0x75, 0x31, 0x46, 0x30, 0x36, 0x33, 0x6, 0x75, 0x31, 0x46, 0x30, 0x36, 0x34, 0x6, 0x75, 0x31, 0x46, 0x30, 0x36, 0x35, 0x6, 0x75, 0x31, 0x46, 0x30, 0x36, 0x36, 0x6, 0x75, 0x31, 0x46, 0x30, 0x36, 0x37, 0x6, 0x75, 0x31, 0x46, 0x30, 0x36, 0x38, 0x6, 0x75, 0x31, 0x46, 0x30, 0x36, 0x39, 0x6, 0x75, 0x31, 0x46, 0x30, 0x36, 0x41, 0x6, 0x75, 0x31, 0x46, 0x30, 0x36, 0x42, 0x6, 0x75, 0x31, 0x46, 0x30, 0x36, 0x43, 0x6, 0x75, 0x31, 0x46, 0x30, 0x36, 0x44, 0x6, 0x75, 0x31, 0x46, 0x30, 0x36, 0x45, 0x6, 0x75, 0x31, 0x46, 0x30, 0x36, 0x46, 0x6, 0x75, 0x31, 0x46, 0x30, 0x37, 0x30, 0x6, 0x75, 0x31, 0x46, 0x30, 0x37, 0x31, 0x6, 0x75, 0x31, 0x46, 0x30, 0x37, 0x32, 0x6, 0x75, 0x31, 0x46, 0x30, 0x37, 0x33, 0x6, 0x75, 0x31, 0x46, 0x30, 0x37, 0x34, 0x6, 0x75, 0x31, 0x46, 0x30, 0x37, 0x35, 0x6, 0x75, 0x31, 0x46, 0x30, 0x37, 0x36, 0x6, 0x75, 0x31, 0x46, 0x30, 0x37, 0x37, 0x6, 0x75, 0x31, 0x46, 0x30, 0x37, 0x38, 0x6, 0x75, 0x31, 0x46, 0x30, 0x37, 0x39, 0x6, 0x75, 0x31, 0x46, 0x30, 0x37, 0x41, 0x6, 0x75, 0x31, 0x46, 0x30, 0x37, 0x42, 0x6, 0x75, 0x31, 0x46, 0x30, 0x37, 0x43, 0x6, 0x75, 0x31, 0x46, 0x30, 0x37, 0x44, 0x6, 0x75, 0x31, 0x46, 0x30, 0x37, 0x45, 0x6, 0x75, 0x31, 0x46, 0x30, 0x37, 0x46, 0x6, 0x75, 0x31, 0x46, 0x30, 0x38, 0x30, 0x6, 0x75, 0x31, 0x46, 0x30, 0x38, 0x31, 0x6, 0x75, 0x31, 0x46, 0x30, 0x38, 0x32, 0x6, 0x75, 0x31, 0x46, 0x30, 0x38, 0x33, 0x6, 0x75, 0x31, 0x46, 0x30, 0x38, 0x34, 0x6, 0x75, 0x31, 0x46, 0x30, 0x38, 0x35, 0x6, 0x75, 0x31, 0x46, 0x30, 0x38, 0x36, 0x6, 0x75, 0x31, 0x46, 0x30, 0x38, 0x37, 0x6, 0x75, 0x31, 0x46, 0x30, 0x38, 0x38, 0x6, 0x75, 0x31, 0x46, 0x30, 0x38, 0x39, 0x6, 0x75, 0x31, 0x46, 0x30, 0x38, 0x41, 0x6, 0x75, 0x31, 0x46, 0x30, 0x38, 0x42, 0x6, 0x75, 0x31, 0x46, 0x30, 0x38, 0x43, 0x6, 0x75, 0x31, 0x46, 0x30, 0x38, 0x44, 0x6, 0x75, 0x31, 0x46, 0x30, 0x38, 0x45, 0x6, 0x75, 0x31, 0x46, 0x30, 0x38, 0x46, 0x6, 0x75, 0x31, 0x46, 0x30, 0x39, 0x30, 0x6, 0x75, 0x31, 0x46, 0x30, 0x39, 0x31, 0x6, 0x75, 0x31, 0x46, 0x30, 0x39, 0x32, 0x6, 0x75, 0x31, 0x46, 0x30, 0x39, 0x33, 0x6, 0x75, 0x31, 0x46, 0x30, 0x41, 0x30, 0x6, 0x75, 0x31, 0x46, 0x30, 0x41, 0x31, 0x6, 0x75, 0x31, 0x46, 0x30, 0x41, 0x32, 0x6, 0x75, 0x31, 0x46, 0x30, 0x41, 0x33, 0x6, 0x75, 0x31, 0x46, 0x30, 0x41, 0x34, 0x6, 0x75, 0x31, 0x46, 0x30, 0x41, 0x35, 0x6, 0x75, 0x31, 0x46, 0x30, 0x41, 0x36, 0x6, 0x75, 0x31, 0x46, 0x30, 0x41, 0x37, 0x6, 0x75, 0x31, 0x46, 0x30, 0x41, 0x38, 0x6, 0x75, 0x31, 0x46, 0x30, 0x41, 0x39, 0x6, 0x75, 0x31, 0x46, 0x30, 0x41, 0x41, 0x6, 0x75, 0x31, 0x46, 0x30, 0x41, 0x42, 0x6, 0x75, 0x31, 0x46, 0x30, 0x41, 0x43, 0x6, 0x75, 0x31, 0x46, 0x30, 0x41, 0x44, 0x6, 0x75, 0x31, 0x46, 0x30, 0x41, 0x45, 0x6, 0x75, 0x31, 0x46, 0x30, 0x42, 0x31, 0x6, 0x75, 0x31, 0x46, 0x30, 0x42, 0x32, 0x6, 0x75, 0x31, 0x46, 0x30, 0x42, 0x33, 0x6, 0x75, 0x31, 0x46, 0x30, 0x42, 0x34, 0x6, 0x75, 0x31, 0x46, 0x30, 0x42, 0x35, 0x6, 0x75, 0x31, 0x46, 0x30, 0x42, 0x36, 0x6, 0x75, 0x31, 0x46, 0x30, 0x42, 0x37, 0x6, 0x75, 0x31, 0x46, 0x30, 0x42, 0x38, 0x6, 0x75, 0x31, 0x46, 0x30, 0x42, 0x39, 0x6, 0x75, 0x31, 0x46, 0x30, 0x42, 0x41, 0x6, 0x75, 0x31, 0x46, 0x30, 0x42, 0x42, 0x6, 0x75, 0x31, 0x46, 0x30, 0x42, 0x43, 0x6, 0x75, 0x31, 0x46, 0x30, 0x42, 0x44, 0x6, 0x75, 0x31, 0x46, 0x30, 0x42, 0x45, 0x6, 0x75, 0x31, 0x46, 0x30, 0x43, 0x31, 0x6, 0x75, 0x31, 0x46, 0x30, 0x43, 0x32, 0x6, 0x75, 0x31, 0x46, 0x30, 0x43, 0x33, 0x6, 0x75, 0x31, 0x46, 0x30, 0x43, 0x34, 0x6, 0x75, 0x31, 0x46, 0x30, 0x43, 0x35, 0x6, 0x75, 0x31, 0x46, 0x30, 0x43, 0x36, 0x6, 0x75, 0x31, 0x46, 0x30, 0x43, 0x37, 0x6, 0x75, 0x31, 0x46, 0x30, 0x43, 0x38, 0x6, 0x75, 0x31, 0x46, 0x30, 0x43, 0x39, 0x6, 0x75, 0x31, 0x46, 0x30, 0x43, 0x41, 0x6, 0x75, 0x31, 0x46, 0x30, 0x43, 0x42, 0x6, 0x75, 0x31, 0x46, 0x30, 0x43, 0x43, 0x6, 0x75, 0x31, 0x46, 0x30, 0x43, 0x44, 0x6, 0x75, 0x31, 0x46, 0x30, 0x43, 0x45, 0x6, 0x75, 0x31, 0x46, 0x30, 0x43, 0x46, 0x6, 0x75, 0x31, 0x46, 0x30, 0x44, 0x31, 0x6, 0x75, 0x31, 0x46, 0x30, 0x44, 0x32, 0x6, 0x75, 0x31, 0x46, 0x30, 0x44, 0x33, 0x6, 0x75, 0x31, 0x46, 0x30, 0x44, 0x34, 0x6, 0x75, 0x31, 0x46, 0x30, 0x44, 0x35, 0x6, 0x75, 0x31, 0x46, 0x30, 0x44, 0x36, 0x6, 0x75, 0x31, 0x46, 0x30, 0x44, 0x37, 0x6, 0x75, 0x31, 0x46, 0x30, 0x44, 0x38, 0x6, 0x75, 0x31, 0x46, 0x30, 0x44, 0x39, 0x6, 0x75, 0x31, 0x46, 0x30, 0x44, 0x41, 0x6, 0x75, 0x31, 0x46, 0x30, 0x44, 0x42, 0x6, 0x75, 0x31, 0x46, 0x30, 0x44, 0x43, 0x6, 0x75, 0x31, 0x46, 0x30, 0x44, 0x44, 0x6, 0x75, 0x31, 0x46, 0x30, 0x44, 0x45, 0x6, 0x75, 0x31, 0x46, 0x30, 0x44, 0x46, 0x6, 0x75, 0x31, 0x46, 0x34, 0x32, 0x44, 0x6, 0x75, 0x31, 0x46, 0x34, 0x32, 0x45, 0x6, 0x75, 0x31, 0x46, 0x34, 0x33, 0x31, 0x6, 0x75, 0x31, 0x46, 0x34, 0x33, 0x35, 0x6, 0x75, 0x31, 0x46, 0x36, 0x30, 0x30, 0x6, 0x75, 0x31, 0x46, 0x36, 0x30, 0x31, 0x6, 0x75, 0x31, 0x46, 0x36, 0x30, 0x32, 0x6, 0x75, 0x31, 0x46, 0x36, 0x30, 0x33, 0x6, 0x75, 0x31, 0x46, 0x36, 0x30, 0x34, 0x6, 0x75, 0x31, 0x46, 0x36, 0x30, 0x35, 0x6, 0x75, 0x31, 0x46, 0x36, 0x30, 0x36, 0x6, 0x75, 0x31, 0x46, 0x36, 0x30, 0x37, 0x6, 0x75, 0x31, 0x46, 0x36, 0x30, 0x38, 0x6, 0x75, 0x31, 0x46, 0x36, 0x30, 0x39, 0x6, 0x75, 0x31, 0x46, 0x36, 0x30, 0x41, 0x6, 0x75, 0x31, 0x46, 0x36, 0x30, 0x42, 0x6, 0x75, 0x31, 0x46, 0x36, 0x30, 0x43, 0x6, 0x75, 0x31, 0x46, 0x36, 0x30, 0x44, 0x6, 0x75, 0x31, 0x46, 0x36, 0x30, 0x45, 0x6, 0x75, 0x31, 0x46, 0x36, 0x30, 0x46, 0x6, 0x75, 0x31, 0x46, 0x36, 0x31, 0x30, 0x6, 0x75, 0x31, 0x46, 0x36, 0x31, 0x31, 0x6, 0x75, 0x31, 0x46, 0x36, 0x31, 0x32, 0x6, 0x75, 0x31, 0x46, 0x36, 0x31, 0x33, 0x6, 0x75, 0x31, 0x46, 0x36, 0x31, 0x34, 0x6, 0x75, 0x31, 0x46, 0x36, 0x31, 0x35, 0x6, 0x75, 0x31, 0x46, 0x36, 0x31, 0x36, 0x6, 0x75, 0x31, 0x46, 0x36, 0x31, 0x37, 0x6, 0x75, 0x31, 0x46, 0x36, 0x31, 0x38, 0x6, 0x75, 0x31, 0x46, 0x36, 0x31, 0x39, 0x6, 0x75, 0x31, 0x46, 0x36, 0x31, 0x41, 0x6, 0x75, 0x31, 0x46, 0x36, 0x31, 0x42, 0x6, 0x75, 0x31, 0x46, 0x36, 0x31, 0x43, 0x6, 0x75, 0x31, 0x46, 0x36, 0x31, 0x44, 0x6, 0x75, 0x31, 0x46, 0x36, 0x31, 0x45, 0x6, 0x75, 0x31, 0x46, 0x36, 0x31, 0x46, 0x6, 0x75, 0x31, 0x46, 0x36, 0x32, 0x30, 0x6, 0x75, 0x31, 0x46, 0x36, 0x32, 0x31, 0x6, 0x75, 0x31, 0x46, 0x36, 0x32, 0x32, 0x6, 0x75, 0x31, 0x46, 0x36, 0x32, 0x33, 0x6, 0x75, 0x31, 0x46, 0x36, 0x32, 0x35, 0x6, 0x75, 0x31, 0x46, 0x36, 0x32, 0x36, 0x6, 0x75, 0x31, 0x46, 0x36, 0x32, 0x37, 0x6, 0x75, 0x31, 0x46, 0x36, 0x32, 0x38, 0x6, 0x75, 0x31, 0x46, 0x36, 0x32, 0x39, 0x6, 0x75, 0x31, 0x46, 0x36, 0x32, 0x41, 0x6, 0x75, 0x31, 0x46, 0x36, 0x32, 0x42, 0x6, 0x75, 0x31, 0x46, 0x36, 0x32, 0x44, 0x6, 0x75, 0x31, 0x46, 0x36, 0x32, 0x45, 0x6, 0x75, 0x31, 0x46, 0x36, 0x32, 0x46, 0x6, 0x75, 0x31, 0x46, 0x36, 0x33, 0x30, 0x6, 0x75, 0x31, 0x46, 0x36, 0x33, 0x31, 0x6, 0x75, 0x31, 0x46, 0x36, 0x33, 0x32, 0x6, 0x75, 0x31, 0x46, 0x36, 0x33, 0x33, 0x6, 0x75, 0x31, 0x46, 0x36, 0x33, 0x34, 0x6, 0x75, 0x31, 0x46, 0x36, 0x33, 0x35, 0x6, 0x75, 0x31, 0x46, 0x36, 0x33, 0x36, 0x6, 0x75, 0x31, 0x46, 0x36, 0x33, 0x37, 0x6, 0x75, 0x31, 0x46, 0x36, 0x33, 0x38, 0x6, 0x75, 0x31, 0x46, 0x36, 0x33, 0x39, 0x6, 0x75, 0x31, 0x46, 0x36, 0x33, 0x41, 0x6, 0x75, 0x31, 0x46, 0x36, 0x33, 0x42, 0x6, 0x75, 0x31, 0x46, 0x36, 0x33, 0x43, 0x6, 0x75, 0x31, 0x46, 0x36, 0x33, 0x44, 0x6, 0x75, 0x31, 0x46, 0x36, 0x33, 0x45, 0x6, 0x75, 0x31, 0x46, 0x36, 0x33, 0x46, 0x6, 0x75, 0x31, 0x46, 0x36, 0x34, 0x30, 0x9, 0x64, 0x6c, 0x4c, 0x74, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x8, 0x44, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x5, 0x41, 0x63, 0x75, 0x74, 0x65, 0x5, 0x54, 0x69, 0x6c, 0x64, 0x65, 0x5, 0x47, 0x72, 0x61, 0x76, 0x65, 0xa, 0x43, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x5, 0x43, 0x61, 0x72, 0x6f, 0x6e, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x31, 0x31, 0x2e, 0x63, 0x61, 0x73, 0x65, 0x5, 0x42, 0x72, 0x65, 0x76, 0x65, 0x9, 0x44, 0x6f, 0x74, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0xc, 0x48, 0x75, 0x6e, 0x67, 0x61, 0x72, 0x75, 0x6d, 0x6c, 0x61, 0x75, 0x74, 0xb, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x67, 0x72, 0x61, 0x76, 0x65, 0xa, 0x61, 0x72, 0x61, 0x62, 0x69, 0x63, 0x5f, 0x64, 0x6f, 0x74, 0xc, 0x61, 0x72, 0x61, 0x62, 0x69, 0x63, 0x5f, 0x32, 0x64, 0x6f, 0x74, 0x73, 0xc, 0x61, 0x72, 0x61, 0x62, 0x69, 0x63, 0x5f, 0x33, 0x64, 0x6f, 0x74, 0x73, 0xe, 0x61, 0x72, 0x61, 0x62, 0x69, 0x63, 0x5f, 0x33, 0x64, 0x6f, 0x74, 0x73, 0x5f, 0x61, 0xe, 0x61, 0x72, 0x61, 0x62, 0x69, 0x63, 0x5f, 0x32, 0x64, 0x6f, 0x74, 0x73, 0x5f, 0x61, 0xc, 0x61, 0x72, 0x61, 0x62, 0x69, 0x63, 0x5f, 0x34, 0x64, 0x6f, 0x74, 0x73, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x36, 0x45, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x36, 0x45, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x36, 0x45, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x31, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x31, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x31, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x36, 0x46, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x36, 0x46, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x36, 0x46, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x41, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x41, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xb, 0x61, 0x72, 0x61, 0x62, 0x69, 0x63, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x37, 0x43, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x37, 0x43, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x37, 0x43, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x37, 0x44, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x37, 0x44, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x37, 0x44, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x38, 0x31, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x38, 0x31, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x38, 0x31, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x38, 0x32, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x38, 0x32, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x38, 0x32, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x38, 0x35, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x38, 0x35, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x38, 0x35, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x46, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x46, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x46, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xe, 0x61, 0x72, 0x61, 0x62, 0x69, 0x63, 0x5f, 0x67, 0x61, 0x66, 0x5f, 0x62, 0x61, 0x72, 0x7, 0x45, 0x6e, 0x67, 0x2e, 0x61, 0x6c, 0x74, 0xf, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x36, 0x38, 0x2e, 0x64, 0x6f, 0x74, 0x6c, 0x65, 0x73, 0x73, 0xf, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x39, 0x44, 0x2e, 0x64, 0x6f, 0x74, 0x6c, 0x65, 0x73, 0x73, 0xb, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x38, 0x30, 0x33, 0x30, 0x34, 0xb, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x34, 0x30, 0x33, 0x30, 0x38, 0xb, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x37, 0x30, 0x33, 0x30, 0x34, 0xb, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x38, 0x30, 0x33, 0x30, 0x31, 0xb, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x38, 0x30, 0x33, 0x30, 0x30, 0xb, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x34, 0x30, 0x33, 0x30, 0x31, 0xb, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x34, 0x30, 0x33, 0x30, 0x30, 0xb, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x34, 0xb, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x38, 0x30, 0x33, 0x30, 0x43, 0xb, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x38, 0xb, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x43, 0x30, 0x33, 0x30, 0x37, 0xb, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x31, 0xb, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x32, 0x30, 0x33, 0x30, 0x31, 0xb, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x32, 0x30, 0x33, 0x30, 0x30, 0xb, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x32, 0x30, 0x33, 0x30, 0x33, 0xb, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x36, 0x30, 0x33, 0x30, 0x33, 0xb, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x36, 0x30, 0x33, 0x30, 0x31, 0xb, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x36, 0x30, 0x33, 0x30, 0x30, 0xb, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x36, 0x30, 0x33, 0x30, 0x39, 0xb, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x32, 0x30, 0x33, 0x30, 0x39, 0xb, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x31, 0x30, 0x33, 0x30, 0x37, 0xa, 0x62, 0x72, 0x61, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x6f, 0x74, 0x5, 0x4a, 0x2e, 0x61, 0x6c, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x35, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0x16, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x41, 0x45, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x74, 0x61, 0x72, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x35, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x35, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x35, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x43, 0x45, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x43, 0x45, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x43, 0x45, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x32, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0x5, 0x6c, 0x2e, 0x61, 0x6c, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x44, 0x35, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0x11, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x38, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x11, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x39, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0xf, 0x69, 0x6f, 0x67, 0x6f, 0x6e, 0x65, 0x6b, 0x2e, 0x64, 0x6f, 0x74, 0x6c, 0x65, 0x73, 0x73, 0xf, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x34, 0x38, 0x2e, 0x64, 0x6f, 0x74, 0x6c, 0x65, 0x73, 0x73, 0xf, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x34, 0x39, 0x2e, 0x64, 0x6f, 0x74, 0x6c, 0x65, 0x73, 0x73, 0xf, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x32, 0x44, 0x2e, 0x64, 0x6f, 0x74, 0x6c, 0x65, 0x73, 0x73, 0xf, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 0x42, 0x2e, 0x64, 0x6f, 0x74, 0x6c, 0x65, 0x73, 0x73, 0x3, 0x64, 0x63, 0x6f, 0x5, 0x49, 0x2e, 0x61, 0x6c, 0x74, 0xa, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x2e, 0x62, 0x61, 0x73, 0x65, 0xb, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x35, 0x31, 0x30, 0x36, 0x34, 0x42, 0xb, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x35, 0x31, 0x30, 0x36, 0x34, 0x43, 0xb, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x34, 0x42, 0x30, 0x36, 0x35, 0x31, 0xb, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x35, 0x31, 0x30, 0x36, 0x34, 0x45, 0xb, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x35, 0x31, 0x30, 0x36, 0x34, 0x46, 0xb, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x34, 0x45, 0x30, 0x36, 0x35, 0x31, 0xb, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x35, 0x34, 0x30, 0x36, 0x34, 0x45, 0xb, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x35, 0x34, 0x30, 0x36, 0x34, 0x46, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x41, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x41, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x41, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x42, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x42, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x42, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x43, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x43, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x43, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x44, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x44, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x44, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x45, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x45, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x45, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x46, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x46, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x43, 0x46, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x30, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x30, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x30, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x31, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x31, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x31, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x32, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x32, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x32, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x33, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x33, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x33, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x34, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x34, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x34, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x35, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x35, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x35, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x36, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x36, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x36, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x37, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x37, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x37, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x38, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x38, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x38, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x39, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x39, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x39, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x41, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x41, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x41, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x42, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x42, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x42, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x43, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x43, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x43, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x44, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x44, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x44, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x45, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x45, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x45, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x46, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x46, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x44, 0x46, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x30, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x30, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x30, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x31, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x31, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x31, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x32, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x32, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x32, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x33, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x33, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x33, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x34, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x34, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x34, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x35, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x35, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x35, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x36, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x36, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x36, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x37, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x37, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x37, 0x45, 0x37, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0x9, 0x52, 0x69, 0x6e, 0x67, 0x61, 0x62, 0x6f, 0x76, 0x65, 0xb, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x33, 0x30, 0x2e, 0x61, 0x6c, 0x74, 0xb, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x33, 0x31, 0x2e, 0x61, 0x6c, 0x74, 0xb, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x33, 0x32, 0x2e, 0x61, 0x6c, 0x74, 0xb, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x33, 0x33, 0x2e, 0x61, 0x6c, 0x74, 0xb, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x33, 0x34, 0x2e, 0x61, 0x6c, 0x74, 0xb, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x33, 0x35, 0x2e, 0x61, 0x6c, 0x74, 0xb, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x33, 0x36, 0x2e, 0x61, 0x6c, 0x74, 0xb, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x33, 0x37, 0x2e, 0x61, 0x6c, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x45, 0x2e, 0x64, 0x69, 0x61, 0x63, 0x11, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x41, 0x2e, 0x62, 0x72, 0x65, 0x76, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x11, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x42, 0x2e, 0x62, 0x72, 0x65, 0x76, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x5, 0x79, 0x2e, 0x61, 0x6c, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x38, 0x39, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x38, 0x41, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x38, 0x42, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x38, 0x46, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x30, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x33, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x34, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x36, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x37, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x39, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x41, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x41, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x41, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x42, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x42, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x42, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x43, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x43, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x43, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x44, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x44, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x44, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x45, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x45, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x45, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x46, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x46, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x39, 0x46, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x30, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x30, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x30, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x32, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x32, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x32, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x33, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x33, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x33, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x35, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x35, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x35, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x37, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x37, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x37, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x38, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x38, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x38, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x41, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x41, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x41, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x42, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x42, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x42, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x43, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x43, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x43, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x45, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x45, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x41, 0x45, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x30, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x30, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x30, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x32, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x32, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x32, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x34, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x34, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x34, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x36, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x36, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x36, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x37, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x37, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x37, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x38, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x38, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x38, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x39, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x39, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x39, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x43, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x43, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x43, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x44, 0x2e, 0x66, 0x69, 0x6e, 0x61, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x44, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0xc, 0x75, 0x6e, 0x69, 0x30, 0x36, 0x42, 0x44, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0x0, 0x0, 0x0, 0xb8, 0x2, 0x80, 0x40, 0xff, 0xfb, 0xfe, 0x3, 0xfa, 0x14, 0x3, 0xf9, 0x25, 0x3, 0xf8, 0x32, 0x3, 0xf7, 0x96, 0x3, 0xf6, 0xe, 0x3, 0xf5, 0xfe, 0x3, 0xf4, 0xfe, 0x3, 0xf3, 0x25, 0x3, 0xf2, 0xe, 0x3, 0xf1, 0x96, 0x3, 0xf0, 0x25, 0x3, 0xef, 0x8a, 0x41, 0x5, 0xef, 0xfe, 0x3, 0xee, 0x96, 0x3, 0xed, 0x96, 0x3, 0xec, 0xfa, 0x3, 0xeb, 0xfa, 0x3, 0xea, 0xfe, 0x3, 0xe9, 0x3a, 0x3, 0xe8, 0x42, 0x3, 0xe7, 0xfe, 0x3, 0xe6, 0x32, 0x3, 0xe5, 0xe4, 0x53, 0x5, 0xe5, 0x96, 0x3, 0xe4, 0x8a, 0x41, 0x5, 0xe4, 0x53, 0x3, 0xe3, 0xe2, 0x2f, 0x5, 0xe3, 0xfa, 0x3, 0xe2, 0x2f, 0x3, 0xe1, 0xfe, 0x3, 0xe0, 0xfe, 0x3, 0xdf, 0x32, 0x3, 0xde, 0x14, 0x3, 0xdd, 0x96, 0x3, 0xdc, 0xfe, 0x3, 0xdb, 0x12, 0x3, 0xda, 0x7d, 0x3, 0xd9, 0xbb, 0x3, 0xd8, 0xfe, 0x3, 0xd6, 0x8a, 0x41, 0x5, 0xd6, 0x7d, 0x3, 0xd5, 0xd4, 0x47, 0x5, 0xd5, 0x7d, 0x3, 0xd4, 0x47, 0x3, 0xd3, 0xd2, 0x1b, 0x5, 0xd3, 0xfe, 0x3, 0xd2, 0x1b, 0x3, 0xd1, 0xfe, 0x3, 0xd0, 0xfe, 0x3, 0xcf, 0xfe, 0x3, 0xce, 0xfe, 0x3, 0xcd, 0x96, 0x3, 0xcc, 0xcb, 0x1e, 0x5, 0xcc, 0xfe, 0x3, 0xcb, 0x1e, 0x3, 0xca, 0x32, 0x3, 0xc9, 0xfe, 0x3, 0xc6, 0x85, 0x11, 0x5, 0xc6, 0x1c, 0x3, 0xc5, 0x16, 0x3, 0xc4, 0xfe, 0x3, 0xc3, 0xfe, 0x3, 0xc2, 0xfe, 0x3, 0xc1, 0xfe, 0x3, 0xc0, 0xfe, 0x3, 0xbf, 0xfe, 0x3, 0xbe, 0xfe, 0x3, 0xbd, 0xfe, 0x3, 0xbc, 0xfe, 0x3, 0xbb, 0xfe, 0x3, 0xba, 0x11, 0x3, 0xb9, 0x86, 0x25, 0x5, 0xb9, 0xfe, 0x3, 0xb8, 0xb7, 0xbb, 0x5, 0xb8, 0xfe, 0x3, 0xb7, 0xb6, 0x5d, 0x5, 0xb7, 0xbb, 0x3, 0xb7, 0x80, 0x4, 0xb6, 0xb5, 0x25, 0x5, 0xb6, 0x5d, 0x40, 0xff, 0x3, 0xb6, 0x40, 0x4, 0xb5, 0x25, 0x3, 0xb4, 0xfe, 0x3, 0xb3, 0x96, 0x3, 0xb2, 0xfe, 0x3, 0xb1, 0xfe, 0x3, 0xb0, 0xfe, 0x3, 0xaf, 0xfe, 0x3, 0xae, 0x64, 0x3, 0xad, 0xe, 0x3, 0xac, 0xab, 0x25, 0x5, 0xac, 0x64, 0x3, 0xab, 0xaa, 0x12, 0x5, 0xab, 0x25, 0x3, 0xaa, 0x12, 0x3, 0xa9, 0x8a, 0x41, 0x5, 0xa9, 0xfa, 0x3, 0xa8, 0xfe, 0x3, 0xa7, 0xfe, 0x3, 0xa6, 0xfe, 0x3, 0xa5, 0x12, 0x3, 0xa4, 0xfe, 0x3, 0xa3, 0xa2, 0xe, 0x5, 0xa3, 0x32, 0x3, 0xa2, 0xe, 0x3, 0xa1, 0x64, 0x3, 0xa0, 0x8a, 0x41, 0x5, 0xa0, 0x96, 0x3, 0x9f, 0xfe, 0x3, 0x9e, 0x9d, 0xc, 0x5, 0x9e, 0xfe, 0x3, 0x9d, 0xc, 0x3, 0x9c, 0x9b, 0x19, 0x5, 0x9c, 0x64, 0x3, 0x9b, 0x9a, 0x10, 0x5, 0x9b, 0x19, 0x3, 0x9a, 0x10, 0x3, 0x99, 0xa, 0x3, 0x98, 0xfe, 0x3, 0x97, 0x96, 0xd, 0x5, 0x97, 0xfe, 0x3, 0x96, 0xd, 0x3, 0x95, 0x8a, 0x41, 0x5, 0x95, 0x96, 0x3, 0x94, 0x93, 0xe, 0x5, 0x94, 0x28, 0x3, 0x93, 0xe, 0x3, 0x92, 0xfa, 0x3, 0x91, 0x90, 0xbb, 0x5, 0x91, 0xfe, 0x3, 0x90, 0x8f, 0x5d, 0x5, 0x90, 0xbb, 0x3, 0x90, 0x80, 0x4, 0x8f, 0x8e, 0x25, 0x5, 0x8f, 0x5d, 0x3, 0x8f, 0x40, 0x4, 0x8e, 0x25, 0x3, 0x8d, 0xfe, 0x3, 0x8c, 0x8b, 0x2e, 0x5, 0x8c, 0xfe, 0x3, 0x8b, 0x2e, 0x3, 0x8a, 0x86, 0x25, 0x5, 0x8a, 0x41, 0x3, 0x89, 0x88, 0xb, 0x5, 0x89, 0x14, 0x3, 0x88, 0xb, 0x3, 0x87, 0x86, 0x25, 0x5, 0x87, 0x64, 0x3, 0x86, 0x85, 0x11, 0x5, 0x86, 0x25, 0x3, 0x85, 0x11, 0x3, 0x84, 0xfe, 0x3, 0x83, 0x82, 0x11, 0x5, 0x83, 0xfe, 0x3, 0x82, 0x11, 0x3, 0x81, 0xfe, 0x3, 0x80, 0xfe, 0x3, 0x7f, 0xfe, 0x3, 0x40, 0xff, 0x7e, 0x7d, 0x7d, 0x5, 0x7e, 0xfe, 0x3, 0x7d, 0x7d, 0x3, 0x7c, 0x64, 0x3, 0x7b, 0x54, 0x15, 0x5, 0x7b, 0x25, 0x3, 0x7a, 0xfe, 0x3, 0x79, 0xfe, 0x3, 0x78, 0xe, 0x3, 0x77, 0xc, 0x3, 0x76, 0xa, 0x3, 0x75, 0xfe, 0x3, 0x74, 0xfa, 0x3, 0x73, 0xfa, 0x3, 0x72, 0xfa, 0x3, 0x71, 0xfa, 0x3, 0x70, 0xfe, 0x3, 0x6f, 0xfe, 0x3, 0x6e, 0xfe, 0x3, 0x6c, 0x21, 0x3, 0x6b, 0xfe, 0x3, 0x6a, 0x11, 0x42, 0x5, 0x6a, 0x53, 0x3, 0x69, 0xfe, 0x3, 0x68, 0x7d, 0x3, 0x67, 0x11, 0x42, 0x5, 0x66, 0xfe, 0x3, 0x65, 0xfe, 0x3, 0x64, 0xfe, 0x3, 0x63, 0xfe, 0x3, 0x62, 0xfe, 0x3, 0x61, 0x3a, 0x3, 0x60, 0xfa, 0x3, 0x5e, 0xc, 0x3, 0x5d, 0xfe, 0x3, 0x5b, 0xfe, 0x3, 0x5a, 0xfe, 0x3, 0x59, 0x58, 0xa, 0x5, 0x59, 0xfa, 0x3, 0x58, 0xa, 0x3, 0x57, 0x16, 0x19, 0x5, 0x57, 0x32, 0x3, 0x56, 0xfe, 0x3, 0x55, 0x54, 0x15, 0x5, 0x55, 0x42, 0x3, 0x54, 0x15, 0x3, 0x53, 0x1, 0x10, 0x5, 0x53, 0x18, 0x3, 0x52, 0x14, 0x3, 0x51, 0x4a, 0x13, 0x5, 0x51, 0xfe, 0x3, 0x50, 0xb, 0x3, 0x4f, 0xfe, 0x3, 0x4e, 0x4d, 0x10, 0x5, 0x4e, 0xfe, 0x3, 0x4d, 0x10, 0x3, 0x4c, 0xfe, 0x3, 0x4b, 0x4a, 0x13, 0x5, 0x4b, 0xfe, 0x3, 0x4a, 0x49, 0x10, 0x5, 0x4a, 0x13, 0x3, 0x49, 0x1d, 0xd, 0x5, 0x49, 0x10, 0x3, 0x48, 0xd, 0x3, 0x47, 0xfe, 0x3, 0x46, 0x96, 0x3, 0x45, 0x96, 0x3, 0x44, 0xfe, 0x3, 0x43, 0x2, 0x2d, 0x5, 0x43, 0xfa, 0x3, 0x42, 0xbb, 0x3, 0x41, 0x4b, 0x3, 0x40, 0xfe, 0x3, 0x3f, 0xfe, 0x3, 0x3e, 0x3d, 0x12, 0x5, 0x3e, 0x14, 0x3, 0x3d, 0x3c, 0xf, 0x5, 0x3d, 0x12, 0x3, 0x3c, 0x3b, 0xd, 0x5, 0x3c, 0x40, 0xff, 0xf, 0x3, 0x3b, 0xd, 0x3, 0x3a, 0xfe, 0x3, 0x39, 0xfe, 0x3, 0x38, 0x37, 0x14, 0x5, 0x38, 0xfa, 0x3, 0x37, 0x36, 0x10, 0x5, 0x37, 0x14, 0x3, 0x36, 0x35, 0xb, 0x5, 0x36, 0x10, 0x3, 0x35, 0xb, 0x3, 0x34, 0x1e, 0x3, 0x33, 0xd, 0x3, 0x32, 0x31, 0xb, 0x5, 0x32, 0xfe, 0x3, 0x31, 0xb, 0x3, 0x30, 0x2f, 0xb, 0x5, 0x30, 0xd, 0x3, 0x2f, 0xb, 0x3, 0x2e, 0x2d, 0x9, 0x5, 0x2e, 0x10, 0x3, 0x2d, 0x9, 0x3, 0x2c, 0x32, 0x3, 0x2b, 0x2a, 0x25, 0x5, 0x2b, 0x64, 0x3, 0x2a, 0x29, 0x12, 0x5, 0x2a, 0x25, 0x3, 0x29, 0x12, 0x3, 0x28, 0x27, 0x25, 0x5, 0x28, 0x41, 0x3, 0x27, 0x25, 0x3, 0x26, 0x25, 0xb, 0x5, 0x26, 0xf, 0x3, 0x25, 0xb, 0x3, 0x24, 0xfe, 0x3, 0x23, 0xfe, 0x3, 0x22, 0xf, 0x3, 0x21, 0x1, 0x10, 0x5, 0x21, 0x12, 0x3, 0x20, 0x64, 0x3, 0x1f, 0xfa, 0x3, 0x1e, 0x1d, 0xd, 0x5, 0x1e, 0x64, 0x3, 0x1d, 0xd, 0x3, 0x1c, 0x11, 0x42, 0x5, 0x1c, 0xfe, 0x3, 0x1b, 0xfa, 0x3, 0x1a, 0x42, 0x3, 0x19, 0x11, 0x42, 0x5, 0x19, 0xfe, 0x3, 0x18, 0x64, 0x3, 0x17, 0x16, 0x19, 0x5, 0x17, 0xfe, 0x3, 0x16, 0x1, 0x10, 0x5, 0x16, 0x19, 0x3, 0x15, 0xfe, 0x3, 0x14, 0xfe, 0x3, 0x13, 0xfe, 0x3, 0x12, 0x11, 0x42, 0x5, 0x12, 0xfe, 0x3, 0x11, 0x2, 0x2d, 0x5, 0x11, 0x42, 0x3, 0x10, 0x7d, 0x3, 0xf, 0x64, 0x3, 0xe, 0xfe, 0x3, 0xd, 0xc, 0x16, 0x5, 0xd, 0xfe, 0x3, 0xc, 0x1, 0x10, 0x5, 0xc, 0x16, 0x3, 0xb, 0xfe, 0x3, 0xa, 0x10, 0x3, 0x9, 0xfe, 0x3, 0x8, 0x2, 0x2d, 0x5, 0x8, 0xfe, 0x3, 0x7, 0x14, 0x3, 0x6, 0x64, 0x3, 0x4, 0x1, 0x10, 0x5, 0x4, 0xfe, 0x3, 0x40, 0x15, 0x3, 0x2, 0x2d, 0x5, 0x3, 0xfe, 0x3, 0x2, 0x1, 0x10, 0x5, 0x2, 0x2d, 0x3, 0x1, 0x10, 0x3, 0x0, 0xfe, 0x3, 0x1, 0xb8, 0x1, 0x64, 0x85, 0x8d, 0x1, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x0, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x1d} diff --git a/plotting/fonts/ttftogofile/ttf2gofile.go b/plotting/fonts/ttftogofile/ttf2gofile.go index 90b4930f4..4f6c94422 100644 --- a/plotting/fonts/ttftogofile/ttf2gofile.go +++ b/plotting/fonts/ttftogofile/ttf2gofile.go @@ -1,4 +1,4 @@ -// convert file to byte array and write to variable go file +// convert file to byte array and write to variable go file. package main import ( @@ -13,7 +13,7 @@ func usage() { fmt.Println("> ttf2GoFile ") } -// reade file to byte array +// reade file to byte array. func fileBytes(filePath string) ([]byte, error) { var err error f, err := os.Open(filePath) @@ -24,7 +24,7 @@ func fileBytes(filePath string) ([]byte, error) { return io.ReadAll(f) } -// write to variable go file +// write to variable go file. func createGoFile(fileName string, dataTTF []byte) error { f, err := os.Create(strings.ToLower(fileName) + ".go") if err != nil { @@ -43,6 +43,7 @@ func main() { usage() os.Exit(1) } + file := os.Args[1] fmt.Println(file[len(file)-5:]) @@ -54,7 +55,6 @@ func main() { fmt.Printf("Reading %s\n", file) dataTTF, err := fileBytes(file) - if err != nil { fmt.Printf("Error opening file: %v\n", err) os.Exit(1) diff --git a/plotting/helpers.go b/plotting/helpers.go index 93aba74a2..8d1674c27 100644 --- a/plotting/helpers.go +++ b/plotting/helpers.go @@ -11,22 +11,7 @@ import ( "github.com/moira-alert/go-chart" ) -// sortedByLen represents string array to be sorted by length -type sortedByLen []string - -func (initial sortedByLen) Len() int { - return len(initial) -} - -func (initial sortedByLen) Less(i int, j int) bool { - return len(initial[i]) < len(initial[j]) -} - -func (initial sortedByLen) Swap(i int, j int) { - initial[i], initial[j] = initial[j], initial[i] -} - -// sanitizeLabelName shortens label names to max length +// sanitizeLabelName shortens label names to max length. func sanitizeLabelName(label string, maxLabelLength int) string { labelLength := utf8.RuneCountInString(label) if labelLength > maxLabelLength { @@ -36,13 +21,13 @@ func sanitizeLabelName(label string, maxLabelLength int) string { return label } -// percentsOfRange results expected percents of range by given min and max values +// percentsOfRange results expected percents of range by given min and max values. func percentsOfRange(min, max, percent float64) float64 { delta := math.Abs(max - min) return percent * (delta / 100) } -// getTimeValueFormatter returns a time formatter with a given format and timezone +// getTimeValueFormatter returns a time formatter with a given format and timezone. func getTimeValueFormatter(location *time.Location, format string) chart.ValueFormatter { return func(v interface{}) string { storage := &locationStorage{location: location} @@ -51,7 +36,7 @@ func getTimeValueFormatter(location *time.Location, format string) chart.ValueFo } // locationStorage is a container to store -// timezone and provide time value formatter +// timezone and provide time value formatter. type locationStorage struct { location *time.Location } @@ -71,7 +56,7 @@ func (storage locationStorage) formatTimeWithLocation(v interface{}, dateFormat } // getYAxisValuesFormatter returns value formatter -// for values on yaxis and resolved maximal formatted value length +// for values on yaxis and resolved maximal formatted value length. func getYAxisValuesFormatter(limits plotLimits) (func(v interface{}) string, int) { var formatter func(v interface{}) string deltaLimits := int64(limits.highest) - int64(limits.lowest) @@ -88,7 +73,7 @@ func getYAxisValuesFormatter(limits plotLimits) (func(v interface{}) string, int return formatter, highestLen } -// floatToHumanizedValueFormatter converts floats into humanized strings on y axis of plot +// floatToHumanizedValueFormatter converts floats into humanized strings on y axis of plot. func floatToHumanizedValueFormatter(v interface{}) string { if typed, isTyped := v.(float64); isTyped { if math.Abs(typed) < 1000 { //nolint diff --git a/plotting/helpers_test.go b/plotting/helpers_test.go index 446e75124..a7bf508bc 100644 --- a/plotting/helpers_test.go +++ b/plotting/helpers_test.go @@ -2,7 +2,6 @@ package plotting import ( "fmt" - "sort" "strconv" "strings" "testing" @@ -13,34 +12,7 @@ import ( "github.com/moira-alert/moira" ) -// TestSortByLen tests simple string array sorting by length -func TestSortByLen(t *testing.T) { - labelsUnsorted := []string{ - "CategoryName.CategoryCounterName.CategoryCounterType.MetricName", - "ServiceName.HostName.CategoryName.CategoryCounterName.CategoryCounterType.MetricName", - "MetricPrefix.ServiceName.HostName.CategoryName.CategoryCounterName.CategoryCounterType.MetricName", - "CategoryCounterType.MetricName", - "MetricName", - "CategoryCounterName.CategoryCounterType.MetricName", - "HostName.CategoryName.CategoryCounterName.CategoryCounterType.MetricName", - } - labelsSorted := []string{ - "MetricName", - "CategoryCounterType.MetricName", - "CategoryCounterName.CategoryCounterType.MetricName", - "CategoryName.CategoryCounterName.CategoryCounterType.MetricName", - "HostName.CategoryName.CategoryCounterName.CategoryCounterType.MetricName", - "ServiceName.HostName.CategoryName.CategoryCounterName.CategoryCounterType.MetricName", - "MetricPrefix.ServiceName.HostName.CategoryName.CategoryCounterName.CategoryCounterType.MetricName", - } - Convey("Sort initial unsorted string array", t, func() { - sort.Sort(sortedByLen(labelsUnsorted)) - So(len(labelsUnsorted), ShouldEqual, len(labelsSorted)) - So(labelsUnsorted, ShouldResemble, labelsSorted) - }) -} - -// TestSanitizeLabelName tests simple label names shortener +// TestSanitizeLabelName tests simple label names shortener. func TestSanitizeLabelName(t *testing.T) { labelsCompleteForm := []string{ "MetricName", @@ -78,7 +50,7 @@ func TestSanitizeLabelName(t *testing.T) { }) } -// TestPercentsOfRange is a simple test of percentsOfRange method +// TestPercentsOfRange is a simple test of percentsOfRange method. func TestPercentsOfRange(t *testing.T) { Convey("Test nth percent is calculated correctly", t, func() { for i := 0; i < 100; i++ { @@ -89,7 +61,7 @@ func TestPercentsOfRange(t *testing.T) { }) } -// TestTimeValueFormatter tests time.Time to formatted string converter +// TestTimeValueFormatter tests time.Time to formatted string converter. func TestTimeValueFormatter(t *testing.T) { dateTimeFormat, separator := "15:04", ":" timeValue := moira.Int64ToTime(int64(1527330278)) @@ -113,7 +85,7 @@ func TestTimeValueFormatter(t *testing.T) { }) } -// TestFloatToHumanizedValueFormatter tests custom value formatter based on go-humanize library +// TestFloatToHumanizedValueFormatter tests custom value formatter based on go-humanize library. func TestFloatToHumanizedValueFormatter(t *testing.T) { metricValues := []float64{ 999, @@ -140,7 +112,7 @@ func TestFloatToHumanizedValueFormatter(t *testing.T) { }) } -// TestGetYAxisValuesFormatter tests all metric values will be formatted respectively with resolved plot limits +// TestGetYAxisValuesFormatter tests all metric values will be formatted respectively with resolved plot limits. func TestGetYAxisValuesFormatter(t *testing.T) { lowLimits := plotLimits{ lowest: 0, diff --git a/plotting/legend.go b/plotting/legend.go index a1a1445a6..5a51f5f30 100644 --- a/plotting/legend.go +++ b/plotting/legend.go @@ -18,7 +18,7 @@ type plotLine struct { style chart.Style } -// getPlotLegend returns plot legend +// getPlotLegend returns plot legend. func getPlotLegend(c *chart.Chart, legendStyle chart.Style, plotWidth int) chart.Renderable { // TODO: Simplify this method return func(r chart.Renderer, cb chart.Box, chartDefaults chart.Style) { @@ -89,7 +89,7 @@ func getPlotLegend(c *chart.Chart, legendStyle chart.Style, plotWidth int) chart } } -// inheritFrom inherits style from initial to make sure marker will be added +// inheritFrom inherits style from initial to make sure marker will be added. func inheritFrom(initial chart.Style) chart.Style { if initial.StrokeColor.IsZero() { initial.StrokeColor = initial.DotColor diff --git a/plotting/limits.go b/plotting/limits.go index c1f975f25..28aa370e7 100644 --- a/plotting/limits.go +++ b/plotting/limits.go @@ -11,15 +11,15 @@ import ( const ( // defaultRangeDelta is an additional value to - // cover cases with equal highest/lowest limits values + // cover cases with equal highest/lowest limits values. defaultRangeDelta = 10 // defaultYAxisRangePercent is a default percent value to // generate plotLimits lowest/highest additional increment - // used in plot-prettifying purposes only + // used in plot-prettifying purposes only. defaultYAxisRangePercent = 10 ) -// plotLimits is a set of limits for given metricsData +// plotLimits is a set of limits for given metricsData. type plotLimits struct { from time.Time to time.Time @@ -27,7 +27,7 @@ type plotLimits struct { highest float64 } -// resolveLimits returns common plot limits +// resolveLimits returns common plot limits. func resolveLimits(metricsData []metricSource.MetricData) plotLimits { allValues := make([]float64, 0) allTimes := make([]time.Time, 0) @@ -43,15 +43,15 @@ func resolveLimits(metricsData []metricSource.MetricData) plotLimits { from, to := util.Time.StartAndEnd(allTimes...) lowest, highest := util.Math.MinAndMax(allValues...) if highest == lowest { - highest = highest + (defaultRangeDelta / 2) - lowest = lowest - (defaultRangeDelta / 2) + highest += defaultRangeDelta / 2 + lowest -= defaultRangeDelta / 2 } yAxisIncrement := percentsOfRange(lowest, highest, defaultYAxisRangePercent) if highest > 0 { - highest = highest + yAxisIncrement + highest += yAxisIncrement } if lowest < 0 { - lowest = lowest - yAxisIncrement + lowest -= yAxisIncrement } return plotLimits{ from: from, @@ -61,7 +61,7 @@ func resolveLimits(metricsData []metricSource.MetricData) plotLimits { } } -// getThresholdAxisRange returns threshold axis range +// getThresholdAxisRange returns threshold axis range. func (limits *plotLimits) getThresholdAxisRange(triggerType string) chart.ContinuousRange { if triggerType == moira.RisingTrigger { return chart.ContinuousRange{ @@ -77,7 +77,7 @@ func (limits *plotLimits) getThresholdAxisRange(triggerType string) chart.Contin } } -// formsSetContaining returns true if dot can belong to a set formed from limit values +// formsSetContaining returns true if dot can belong to a set formed from limit values. func (limits plotLimits) formsSetContaining(dot float64) bool { if (dot >= limits.lowest) && (dot <= limits.highest) { return true diff --git a/plotting/limits_test.go b/plotting/limits_test.go index 4e01c9b3b..43040d3d5 100644 --- a/plotting/limits_test.go +++ b/plotting/limits_test.go @@ -12,10 +12,10 @@ import ( . "github.com/smartystreets/goconvey/convey" ) -// TestResolveLimits tests plot limits will be calculated correctly for any metricData array +// TestResolveLimits tests plot limits will be calculated correctly for any metricData array. func TestResolveLimits(t *testing.T) { - var minValue = -1 - var maxValue = 10000 + minValue := -1 + maxValue := 10000 stepTime := 60 elementsToUse := 10 startTime := time.Now().UTC().Unix() @@ -81,7 +81,7 @@ func TestResolveLimits(t *testing.T) { }) } -// TestGetThresholdAxisRange tests getThresholdAxisRange returns correct axis range +// TestGetThresholdAxisRange tests getThresholdAxisRange returns correct axis range. func TestGetThresholdAxisRange(t *testing.T) { testLimits := plotLimits{highest: 100, lowest: -100} Convey("Revert area between threshold line and x axis if necessary", t, func() { @@ -103,7 +103,7 @@ func TestGetThresholdAxisRange(t *testing.T) { }) } -// TestFormsSetContaining tests formsSetContaining checks points correctly +// TestFormsSetContaining tests formsSetContaining checks points correctly. func TestFormsSetContaining(t *testing.T) { Convey("check if point belongs to a given set", t, func() { testLimits := plotLimits{highest: 100, lowest: -100} diff --git a/plotting/plot.go b/plotting/plot.go index aaf418856..fa58e9517 100644 --- a/plotting/plot.go +++ b/plotting/plot.go @@ -13,17 +13,17 @@ const ( plotNameLen = 40 ) -// ErrNoPointsToRender is used to prevent unnecessary render calls +// ErrNoPointsToRender is used to prevent unnecessary render calls. type ErrNoPointsToRender struct { triggerID string } -// ErrNoPointsToRender implementation with detailed error message +// ErrNoPointsToRender implementation with detailed error message. func (err ErrNoPointsToRender) Error() string { return fmt.Sprintf("no points found to render trigger: %s", err.triggerID) } -// Plot represents plot structure to render +// Plot represents plot structure to render. type Plot struct { theme moira.PlotTheme location *time.Location @@ -31,7 +31,7 @@ type Plot struct { height int } -// GetPlotTemplate returns plot template +// GetPlotTemplate returns plot template. func GetPlotTemplate(theme string, location *time.Location) (*Plot, error) { plotTheme, err := getPlotTheme(theme) if err != nil { @@ -48,7 +48,7 @@ func GetPlotTemplate(theme string, location *time.Location) (*Plot, error) { }, nil } -// GetRenderable returns go-chart to render +// GetRenderable returns go-chart to render. func (plot *Plot) GetRenderable(targetName string, trigger *moira.Trigger, metricsData []metricSource.MetricData) (chart.Chart, error) { var renderable chart.Chart @@ -75,7 +75,6 @@ func (plot *Plot) GetRenderable(targetName string, trigger *moira.Trigger, metri name := fmt.Sprintf("%s - %s", targetName, trigger.Name) renderable = chart.Chart{ - Title: sanitizeLabelName(name, plotNameLen), TitleStyle: plot.theme.GetTitleStyle(), diff --git a/plotting/plot_test.go b/plotting/plot_test.go index 440561c65..13efc58f7 100644 --- a/plotting/plot_test.go +++ b/plotting/plot_test.go @@ -35,7 +35,7 @@ var ( plotTestFallingErrorThreshold = plotTestRisingWarnThreshold ) -// plotsHashDistancesTestCase is a single plot test case +// plotsHashDistancesTestCase is a single plot test case. type plotsHashDistancesTestCase struct { useHumanizedValues bool stateOk bool @@ -47,7 +47,7 @@ type plotsHashDistancesTestCase struct { expected int } -// getFilePath returns path to original or rendered plot file +// getFilePath returns path to original or rendered plot file. func (testCase *plotsHashDistancesTestCase) getFilePath(toOriginal bool) (string, error) { examplesPath, err := filepath.Abs(plottingExamplesPath) if err != nil { @@ -74,7 +74,7 @@ func (testCase *plotsHashDistancesTestCase) getFilePath(toOriginal bool) (string return fmt.Sprintf("%s.png", filePrefix.String()), nil } -// getTriggerName returns test trigger name using plot test case parameters +// getTriggerName returns test trigger name using plot test case parameters. func (testCase *plotsHashDistancesTestCase) getTriggerName() string { triggerName := bytes.NewBuffer([]byte("Test trigger ☺ ЁёЙй (")) triggerName.WriteString(strings.ToUpper(string(testCase.plotTheme[0]))) @@ -103,7 +103,7 @@ func (testCase *plotsHashDistancesTestCase) getTriggerName() string { return triggerName.String() } -// plotsHashDistancesTestCases is a collection of plot test cases +// plotsHashDistancesTestCases is a collection of plot test cases. var plotsHashDistancesTestCases = []plotsHashDistancesTestCase{ { name: "DARK | EXPRESSION | No thresholds | Humanized values", @@ -439,7 +439,7 @@ var plotsHashDistancesTestCases = []plotsHashDistancesTestCase{ }, } -// generateTestMetricsData generates metricData array for tests +// generateTestMetricsData generates metricData array for tests. func generateTestMetricsData(useHumanizedValues bool) []metricSource.MetricData { metricsData := []metricSource.MetricData{ { @@ -513,9 +513,13 @@ func generateTestMetricsData(useHumanizedValues bool) []metricSource.MetricData return metricsData } -// renderTestMetricsDataToPNG renders and saves rendered plots to PNG -func renderTestMetricsDataToPNG(trigger moira.Trigger, plotTheme string, - metricsData []metricSource.MetricData, filePath string) error { +// renderTestMetricsDataToPNG renders and saves rendered plots to PNG. +func renderTestMetricsDataToPNG( + trigger moira.Trigger, + plotTheme string, + metricsData []metricSource.MetricData, + filePath string, +) error { location, _ := time.LoadLocation("UTC") plotTemplate, err := GetPlotTemplate(plotTheme, location) if err != nil { @@ -537,7 +541,7 @@ func renderTestMetricsDataToPNG(trigger moira.Trigger, plotTheme string, return nil } -// calculateHashDistance returns calculated hash distance of two given pictures +// calculateHashDistance returns calculated hash distance of two given pictures. func calculateHashDistance(pathToOriginal, pathToRendered string) (*int, error) { hash := ipare.NewHash() original, err := util.Open(pathToOriginal) @@ -552,7 +556,7 @@ func calculateHashDistance(pathToOriginal, pathToRendered string) (*int, error) return &distance, nil } -// generateRandomTestMetricsData returns random test MetricsData by given numbers of values +// generateRandomTestMetricsData returns random test MetricsData by given numbers of values. func generateRandomTestMetricsData(numTotal int, numEmpty int) []metricSource.MetricData { startTime := int64(0) stepTime := int64(10) @@ -576,7 +580,7 @@ func generateRandomTestMetricsData(numTotal int, numEmpty int) []metricSource.Me } } -// TestGetRenderable renders plots based on test data and compares test plots hashes with plot examples hashes +// TestGetRenderable renders plots based on test data and compares test plots hashes with plot examples hashes. func TestGetRenderable(t *testing.T) { Convey("Test plots hash distances", t, func() { for _, testCase := range plotsHashDistancesTestCases { @@ -588,14 +592,14 @@ func TestGetRenderable(t *testing.T) { if testCase.errorValue != nil { errorValue := testCase.errorValue.(float64) if !testCase.useHumanizedValues { - errorValue = errorValue * plotTestOuterPointMultiplier + errorValue *= plotTestOuterPointMultiplier } trigger.ErrorValue = &errorValue } if testCase.warnValue != nil { warnValue := testCase.warnValue.(float64) if !testCase.useHumanizedValues { - warnValue = warnValue * plotTestOuterPointMultiplier + warnValue *= plotTestOuterPointMultiplier } trigger.WarnValue = &warnValue } @@ -623,7 +627,7 @@ func TestGetRenderable(t *testing.T) { }) } -// TestErrNoPointsToRender_Error asserts conditions which leads to ErrNoPointsToRender +// TestErrNoPointsToRender_Error asserts conditions which leads to ErrNoPointsToRender. func TestErrNoPointsToRender_Error(t *testing.T) { location, _ := time.LoadLocation("UTC") plotTemplate, err := GetPlotTemplate("", location) diff --git a/plotting/theme.go b/plotting/theme.go index 0d5dd2f8e..632b0ce20 100644 --- a/plotting/theme.go +++ b/plotting/theme.go @@ -14,7 +14,7 @@ const ( lightPlotTheme = "light" ) -// getPlotTheme returns plot theme +// getPlotTheme returns plot theme. func getPlotTheme(plotTheme string) (moira.PlotTheme, error) { // TODO: rewrite light theme var err error @@ -40,7 +40,7 @@ func getPlotTheme(plotTheme string) (moira.PlotTheme, error) { return theme, nil } -// getDefaultFont returns default font +// getDefaultFont returns default font. func getDefaultFont() (*truetype.Font, error) { ttf, err := truetype.Parse(fonts.DejaVuSans) if err != nil { diff --git a/plotting/themes/dark/dark.go b/plotting/themes/dark/dark.go index 002316e32..2a7dfd85f 100644 --- a/plotting/themes/dark/dark.go +++ b/plotting/themes/dark/dark.go @@ -6,7 +6,7 @@ import ( "github.com/moira-alert/go-chart/drawing" ) -// PlotTheme implements moira.PlotTheme interface +// PlotTheme implements moira.PlotTheme interface. type PlotTheme struct { font *truetype.Font fontSizePrimary float64 @@ -15,7 +15,7 @@ type PlotTheme struct { curveColors []string } -// NewTheme returns dark theme +// NewTheme returns dark theme. func NewTheme(themeFont *truetype.Font) (*PlotTheme, error) { return &PlotTheme{ font: themeFont, @@ -29,7 +29,7 @@ func NewTheme(themeFont *truetype.Font) (*PlotTheme, error) { }, nil } -// GetTitleStyle returns title style +// GetTitleStyle returns title style. func (theme *PlotTheme) GetTitleStyle() chart.Style { return chart.Style{ Show: true, @@ -41,7 +41,7 @@ func (theme *PlotTheme) GetTitleStyle() chart.Style { } } -// GetGridStyle returns grid style +// GetGridStyle returns grid style. func (theme *PlotTheme) GetGridStyle() chart.Style { return chart.Style{ Show: true, @@ -50,14 +50,14 @@ func (theme *PlotTheme) GetGridStyle() chart.Style { } } -// GetCanvasStyle returns canvas style +// GetCanvasStyle returns canvas style. func (theme *PlotTheme) GetCanvasStyle() chart.Style { return chart.Style{ FillColor: drawing.ColorFromHex(theme.bgColor), } } -// GetBackgroundStyle returns background style +// GetBackgroundStyle returns background style. func (theme *PlotTheme) GetBackgroundStyle(maxMarkLen int) chart.Style { verticalShift := 40 horizontalShift := 20 @@ -75,7 +75,7 @@ func (theme *PlotTheme) GetBackgroundStyle(maxMarkLen int) chart.Style { } } -// GetThresholdStyle returns threshold style +// GetThresholdStyle returns threshold style. func (theme *PlotTheme) GetThresholdStyle(thresholdType string) chart.Style { var thresholdColor string switch thresholdType { @@ -92,7 +92,7 @@ func (theme *PlotTheme) GetThresholdStyle(thresholdType string) chart.Style { } } -// GetAnnotationStyle returns annotation style +// GetAnnotationStyle returns annotation style. func (theme *PlotTheme) GetAnnotationStyle(thresholdType string) chart.Style { var rightBoxDimension int var annotationColor string @@ -114,7 +114,7 @@ func (theme *PlotTheme) GetAnnotationStyle(thresholdType string) chart.Style { } } -// GetSerieStyles returns curve and single point styles +// GetSerieStyles returns curve and single point styles. func (theme *PlotTheme) GetSerieStyles(curveInd int) (chart.Style, chart.Style) { var curveColor drawing.Color if curveInd >= len(theme.curveColors)-1 { @@ -138,7 +138,7 @@ func (theme *PlotTheme) GetSerieStyles(curveInd int) (chart.Style, chart.Style) return curveStyle, pointStyle } -// GetLegendStyle returns legend style +// GetLegendStyle returns legend style. func (theme *PlotTheme) GetLegendStyle() chart.Style { return chart.Style{ Font: theme.font, @@ -149,7 +149,7 @@ func (theme *PlotTheme) GetLegendStyle() chart.Style { } } -// GetXAxisStyle returns x axis style +// GetXAxisStyle returns x axis style. func (theme *PlotTheme) GetXAxisStyle() chart.Style { return chart.Style{ Show: true, @@ -160,7 +160,7 @@ func (theme *PlotTheme) GetXAxisStyle() chart.Style { } } -// GetYAxisStyle returns y axis style +// GetYAxisStyle returns y axis style. func (theme *PlotTheme) GetYAxisStyle() chart.Style { return chart.Style{ Show: true, diff --git a/plotting/themes/light/light.go b/plotting/themes/light/light.go index 03a9c6c9f..fce979895 100644 --- a/plotting/themes/light/light.go +++ b/plotting/themes/light/light.go @@ -6,7 +6,7 @@ import ( "github.com/moira-alert/go-chart/drawing" ) -// PlotTheme implements moira.PlotTheme interface +// PlotTheme implements moira.PlotTheme interface. type PlotTheme struct { font *truetype.Font fontSizePrimary float64 @@ -15,7 +15,7 @@ type PlotTheme struct { curveColors []string } -// NewTheme returns light theme +// NewTheme returns light theme. func NewTheme(themeFont *truetype.Font) (*PlotTheme, error) { return &PlotTheme{ font: themeFont, @@ -29,7 +29,7 @@ func NewTheme(themeFont *truetype.Font) (*PlotTheme, error) { }, nil } -// GetTitleStyle returns title style +// GetTitleStyle returns title style. func (theme *PlotTheme) GetTitleStyle() chart.Style { return chart.Style{ Show: true, @@ -41,7 +41,7 @@ func (theme *PlotTheme) GetTitleStyle() chart.Style { } } -// GetGridStyle returns grid style +// GetGridStyle returns grid style. func (theme *PlotTheme) GetGridStyle() chart.Style { return chart.Style{ Show: true, @@ -50,14 +50,14 @@ func (theme *PlotTheme) GetGridStyle() chart.Style { } } -// GetCanvasStyle returns canvas style +// GetCanvasStyle returns canvas style. func (theme *PlotTheme) GetCanvasStyle() chart.Style { return chart.Style{ FillColor: drawing.ColorFromHex(theme.bgColor), } } -// GetBackgroundStyle returns background style +// GetBackgroundStyle returns background style. func (theme *PlotTheme) GetBackgroundStyle(maxMarkLen int) chart.Style { verticalShift := 40 horizontalShift := 20 @@ -75,7 +75,7 @@ func (theme *PlotTheme) GetBackgroundStyle(maxMarkLen int) chart.Style { } } -// GetThresholdStyle returns threshold style +// GetThresholdStyle returns threshold style. func (theme *PlotTheme) GetThresholdStyle(thresholdType string) chart.Style { var thresholdColor string switch thresholdType { @@ -92,7 +92,7 @@ func (theme *PlotTheme) GetThresholdStyle(thresholdType string) chart.Style { } } -// GetAnnotationStyle returns annotation style +// GetAnnotationStyle returns annotation style. func (theme *PlotTheme) GetAnnotationStyle(thresholdType string) chart.Style { var rightBoxDimension int var annotationColor string @@ -114,7 +114,7 @@ func (theme *PlotTheme) GetAnnotationStyle(thresholdType string) chart.Style { } } -// GetSerieStyles returns curve and single point styles +// GetSerieStyles returns curve and single point styles. func (theme *PlotTheme) GetSerieStyles(curveInd int) (chart.Style, chart.Style) { var curveColor drawing.Color if curveInd >= len(theme.curveColors)-1 { @@ -138,7 +138,7 @@ func (theme *PlotTheme) GetSerieStyles(curveInd int) (chart.Style, chart.Style) return curveStyle, pointStyle } -// GetLegendStyle returns legend style +// GetLegendStyle returns legend style. func (theme *PlotTheme) GetLegendStyle() chart.Style { return chart.Style{ Font: theme.font, @@ -149,7 +149,7 @@ func (theme *PlotTheme) GetLegendStyle() chart.Style { } } -// GetXAxisStyle returns x axis style +// GetXAxisStyle returns x axis style. func (theme *PlotTheme) GetXAxisStyle() chart.Style { return chart.Style{ Show: true, @@ -160,7 +160,7 @@ func (theme *PlotTheme) GetXAxisStyle() chart.Style { } } -// GetYAxisStyle returns y axis style +// GetYAxisStyle returns y axis style. func (theme *PlotTheme) GetYAxisStyle() chart.Style { return chart.Style{ Show: true, diff --git a/plotting/threshold.go b/plotting/threshold.go index 3af3dfbc9..86b1a1228 100644 --- a/plotting/threshold.go +++ b/plotting/threshold.go @@ -8,20 +8,22 @@ import ( ) const ( - // thresholdSerie is a name that indicates threshold + // thresholdSerie is a name that indicates threshold. thresholdSerie = "threshold" - //// thresholdGapCoefficient is max allowed area - //// between thresholds as percentage of limits delta - // thresholdGapCoefficient = 0.25 + /* + // thresholdGapCoefficient is max allowed area. + // between thresholds as percentage of limits delta. + thresholdGapCoefficient = 0.25 + */ ) -// threshold represents threshold parameters +// threshold represents threshold parameters. type threshold struct { thresholdType string yCoordinate float64 } -// newThreshold returns described threshold item +// newThreshold returns described threshold item. func newThreshold(triggerType, thresholdType string, thresholdValue, higherLimit float64) *threshold { var yCoordinate float64 if triggerType == moira.RisingTrigger { @@ -35,7 +37,7 @@ func newThreshold(triggerType, thresholdType string, thresholdValue, higherLimit } } -// getThresholdSeriesList returns collection of thresholds and annotations +// getThresholdSeriesList returns collection of thresholds and annotations. func getThresholdSeriesList(trigger *moira.Trigger, theme moira.PlotTheme, limits plotLimits) []chart.Series { thresholdSeriesList := make([]chart.Series, 0) if trigger.TriggerType == moira.ExpressionTrigger { @@ -45,12 +47,12 @@ func getThresholdSeriesList(trigger *moira.Trigger, theme moira.PlotTheme, limit for _, plotThreshold := range plotThresholds { thresholdSeriesList = append(thresholdSeriesList, plotThreshold.generateThresholdSeries(theme, limits)) // TODO: uncomment to use annotations if necessary, remove otherwise - //thresholdSeriesList = append(thresholdSeriesList, plotThreshold.generateAnnotationSeries(theme, limits)) + // thresholdSeriesList = append(thresholdSeriesList, plotThreshold.generateAnnotationSeries(theme, limits)) } return thresholdSeriesList } -// generateThresholds returns thresholds available for plot +// generateThresholds returns thresholds available for plot. func generateThresholds(trigger *moira.Trigger, limits plotLimits) []*threshold { thresholds := make([]*threshold, 0) // No thresholds required @@ -67,33 +69,35 @@ func generateThresholds(trigger *moira.Trigger, limits plotLimits) []*threshold thresholds = append(thresholds, newThreshold( trigger.TriggerType, "WARN", *trigger.WarnValue, limits.highest)) } - //// Trigger has ERROR value and threshold can be drawn - //errThresholdRequied := trigger.ErrorValue != nil && limits.formsSetContaining(*trigger.ErrorValue) - //if errThresholdRequied { - // thresholds = append(thresholds, newThreshold( - // trigger.TriggerType, "ERROR", *trigger.ErrorValue, limits.highest)) - //} - //// Trigger has WARN value and threshold can be drawn when: - //warnThresholdRequired := trigger.WarnValue != nil && limits.formsSetContaining(*trigger.WarnValue) - //if warnThresholdRequired { - // if errThresholdRequied { - // deltaLimits := math.Abs(limits.highest - limits.lowest) - // deltaThresholds := math.Abs(*trigger.ErrorValue - *trigger.WarnValue) - // if deltaThresholds > thresholdGapCoefficient*deltaLimits { - // //// there is enough place to draw both of ERROR and WARN thresholds - // thresholds = append(thresholds, newThreshold( - // trigger.TriggerType, "WARN", *trigger.WarnValue, limits.highest)) - // } - // } else { - // //// there is no ERROR threshold required - // thresholds = append(thresholds, newThreshold( - // trigger.TriggerType, "WARN", *trigger.WarnValue, limits.highest)) - // } - //} + /** + // Trigger has ERROR value and threshold can be drawn + errThresholdRequied := trigger.ErrorValue != nil && limits.formsSetContaining(*trigger.ErrorValue) + if errThresholdRequied { + thresholds = append(thresholds, newThreshold( + trigger.TriggerType, "ERROR", *trigger.ErrorValue, limits.highest)) + } + // Trigger has WARN value and threshold can be drawn when: + warnThresholdRequired := trigger.WarnValue != nil && limits.formsSetContaining(*trigger.WarnValue) + if warnThresholdRequired { + if errThresholdRequied { + deltaLimits := math.Abs(limits.highest - limits.lowest) + deltaThresholds := math.Abs(*trigger.ErrorValue - *trigger.WarnValue) + if deltaThresholds > thresholdGapCoefficient*deltaLimits { + //// there is enough place to draw both of ERROR and WARN thresholds + thresholds = append(thresholds, newThreshold( + trigger.TriggerType, "WARN", *trigger.WarnValue, limits.highest)) + } + } else { + //// there is no ERROR threshold required + thresholds = append(thresholds, newThreshold( + trigger.TriggerType, "WARN", *trigger.WarnValue, limits.highest)) + } + } + */ return thresholds } -// generateThresholdSeries returns threshold series +// generateThresholdSeries returns threshold series. func (threshold *threshold) generateThresholdSeries(theme moira.PlotTheme, limits plotLimits) chart.TimeSeries { thresholdSeries := chart.TimeSeries{ Name: thresholdSerie, @@ -107,17 +111,19 @@ func (threshold *threshold) generateThresholdSeries(theme moira.PlotTheme, limit return thresholdSeries } -//// generateAnnotationSeries returns threshold annotation series -//func (threshold *threshold) generateAnnotationSeries(theme moira.PlotTheme, limits plotLimits) chart.AnnotationSeries { -// annotationSeries := chart.AnnotationSeries{ -// Annotations: []chart.Value2{ -// { -// Label: threshold.thresholdType, -// XValue: float64(limits.to.UnixNano()), -// YValue: threshold.yCoordinate, -// Style: theme.GetAnnotationStyle(threshold.thresholdType), -// }, -// }, -// } -// return annotationSeries -//} +/** +// generateAnnotationSeries returns threshold annotation series. +func (threshold *threshold) generateAnnotationSeries(theme moira.PlotTheme, limits plotLimits) chart.AnnotationSeries { + annotationSeries := chart.AnnotationSeries{ + Annotations: []chart.Value2{ + { + Label: threshold.thresholdType, + XValue: float64(limits.to.UnixNano()), + YValue: threshold.yCoordinate, + Style: theme.GetAnnotationStyle(threshold.thresholdType), + }, + }, + } + return annotationSeries +} +*/ diff --git a/plotting/threshold_test.go b/plotting/threshold_test.go index bfeed2175..d220cf3a1 100644 --- a/plotting/threshold_test.go +++ b/plotting/threshold_test.go @@ -11,7 +11,7 @@ import ( ) const ( - //thresholdTestValueIncrement = float64(10) + // thresholdTestValueIncrement = float64(10). thresholdNegativeTestRisingWarnValue = float64(-100) thresholdNegativeTestRisingErrorValue = float64(0) thresholdNegativeTestFallingWarnValue = thresholdNegativeTestRisingErrorValue @@ -41,7 +41,7 @@ var ( } ) -// thresholdTestCase is a single threshold test case +// thresholdTestCase is a single threshold test case. type thresholdTestCase struct { name string triggerType string @@ -78,7 +78,7 @@ func (testCase *thresholdTestCase) getCaseMessage() string { return caseMessage.String() } -// thresholdNegativeTestCases is a collection of negative threshold test cases +// thresholdNegativeTestCases is a collection of negative threshold test cases. var thresholdNegativeTestCases = []thresholdTestCase{ { name: "Negative | RISING | {limits.lowest ..limits.highest}, warn", @@ -242,7 +242,7 @@ var thresholdNegativeTestCases = []thresholdTestCase{ //}, } -// thresholdNonNegativeTestCases is a collection of non-negative threshold test cases +// thresholdNonNegativeTestCases is a collection of non-negative threshold test cases. var thresholdNonNegativeTestCases = []thresholdTestCase{ { name: "Non-negative | RISING | {limits.lowest ..limits.highest}, warn", @@ -406,7 +406,7 @@ var thresholdNonNegativeTestCases = []thresholdTestCase{ //}, } -// TestGenerateThresholds tests thresholds will be generated correctly +// TestGenerateThresholds tests thresholds will be generated correctly. func TestGenerateThresholds(t *testing.T) { thresholdTestCases := append(thresholdNegativeTestCases, thresholdNonNegativeTestCases...) diff --git a/senders/calc_message_parts.go b/senders/calc_message_parts.go index 8032046b1..bebb2c928 100644 --- a/senders/calc_message_parts.go +++ b/senders/calc_message_parts.go @@ -1,7 +1,7 @@ package senders // CalculateMessagePartsLength calculates and returns the length of the -// description and events string in order to fit the max chars limit +// description and events string in order to fit the max chars limit. func CalculateMessagePartsLength(maxChars, descLen, eventsLen int) (descNewLen int, eventsNewLen int) { if descLen+eventsLen <= maxChars { return descLen, eventsLen diff --git a/senders/discord/init.go b/senders/discord/init.go index 6461c1761..e991d089f 100644 --- a/senders/discord/init.go +++ b/senders/discord/init.go @@ -11,19 +11,20 @@ import ( ) const ( - messenger = "discord" - discordLockName = "moira-discord-users:moira-bot-host" - discordLockTTL = 30 * time.Second - workerName = "DiscordBot" + messenger = "discord" + discordLockPrefix = "moira-discord-users:moira-bot-host:" + discordLockTTL = 30 * time.Second + workerName = "DiscordBot" ) -// Structure that represents the Discord configuration in the YAML file +// Structure that represents the Discord configuration in the YAML file. type config struct { - Token string `mapstructure:"token"` - FrontURI string `mapstructure:"front_uri"` + ContactType string `mapstructure:"contact_type"` + Token string `mapstructure:"token"` + FrontURI string `mapstructure:"front_uri"` } -// Sender implements moira sender interface for discord +// Sender implements moira sender interface for discord. type Sender struct { DataBase moira.Database logger moira.Logger @@ -33,7 +34,7 @@ type Sender struct { botUserID string } -// Init reads the yaml config +// Init reads the yaml config. func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, location *time.Location, dateTimeFormat string) error { var cfg config err := mapstructure.Decode(senderSettings, &cfg) @@ -46,8 +47,9 @@ func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, loca } sender.session, err = discordgo.New("Bot " + cfg.Token) if err != nil { - return fmt.Errorf("error creating discord session: %s", err) + return fmt.Errorf("error creating discord session: %w", err) } + sender.logger = logger sender.frontURI = cfg.FrontURI sender.location = location @@ -70,20 +72,22 @@ func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, loca } sender.session.AddHandler(handleMsg) - go sender.runBot() + sender.runBot(cfg.ContactType) + return nil } -func (sender *Sender) runBot() { +func (sender *Sender) runBot(contactType string) { + err := sender.session.Open() + if err != nil { + sender.logger.Error(). + Error(err). + Msg("error creating a connection to discord") + return + } + sender.botUserID = sender.session.State.User.ID + workerAction := func(stop <-chan struct{}) error { - err := sender.session.Open() - if err != nil { - sender.logger.Error(). - Error(err). - Msg("error creating a connection to discord") - return nil - } - sender.botUserID = sender.session.State.User.ID defer sender.session.Close() <-stop return nil @@ -92,7 +96,11 @@ func (sender *Sender) runBot() { worker.NewWorker( workerName, sender.logger, - sender.DataBase.NewLock(discordLockName, discordLockTTL), + sender.DataBase.NewLock(discordLockKey(contactType), discordLockTTL), workerAction, ).Run(nil) } + +func discordLockKey(contactType string) string { + return discordLockPrefix + contactType +} diff --git a/senders/discord/init_test.go b/senders/discord/init_test.go index a63596285..73c2609af 100644 --- a/senders/discord/init_test.go +++ b/senders/discord/init_test.go @@ -21,6 +21,7 @@ type MockLock struct { func (lock *MockLock) Acquire(stop <-chan struct{}) (lost <-chan struct{}, error error) { return lost, nil } + func (db *MockDB) NewLock(name string, ttl time.Duration) moira.Lock { return &MockLock{} } diff --git a/senders/discord/response.go b/senders/discord/response.go index 41eac699d..fc585e22c 100644 --- a/senders/discord/response.go +++ b/senders/discord/response.go @@ -16,16 +16,16 @@ func (sender *Sender) getResponse(m *discordgo.MessageCreate, channel *discordgo if m.Content == "!start" { //nolint switch channel.Type { case discordgo.ChannelTypeDM: - err := sender.DataBase.SetUsernameID(messenger, "@"+m.Author.Username, channel.ID) + err := sender.DataBase.SetUsernameChat(messenger, "@"+m.Author.Username, channel.ID) if err != nil { - return "", fmt.Errorf("error while setting the channel ID for user: %s", err) + return "", fmt.Errorf("error while setting the channel ID for user: %w", err) } msg := fmt.Sprintf("Okay, %s, your id is %s", m.Author.Username, channel.ID) return msg, nil case discordgo.ChannelTypeGuildText: - err := sender.DataBase.SetUsernameID(messenger, channel.Name, channel.ID) + err := sender.DataBase.SetUsernameChat(messenger, channel.Name, channel.ID) if err != nil { - return "", fmt.Errorf("error while setting the channel ID for text channel: %s", err) + return "", fmt.Errorf("error while setting the channel ID for text channel: %w", err) } msg := fmt.Sprintf("Hi, all!\nI will send alerts in this group (%s).", channel.Name) return msg, nil diff --git a/senders/discord/response_test.go b/senders/discord/response_test.go index 7ff93b235..a25a80853 100644 --- a/senders/discord/response_test.go +++ b/senders/discord/response_test.go @@ -6,9 +6,9 @@ import ( "github.com/bwmarrin/discordgo" - "github.com/golang/mock/gomock" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func TestGetResponseMessage(t *testing.T) { @@ -42,7 +42,7 @@ func TestGetResponseMessage(t *testing.T) { }) Convey("DM channel", func() { - dataBase.EXPECT().SetUsernameID(messenger, "@User", "456").Return(nil) + dataBase.EXPECT().SetUsernameChat(messenger, "@User", "456").Return(nil) channel.Type = discordgo.ChannelTypeDM channel.ID = "456" message.Content = "!start" @@ -54,7 +54,7 @@ func TestGetResponseMessage(t *testing.T) { }) Convey("Guild Text channel", func() { - dataBase.EXPECT().SetUsernameID(messenger, "testchan", "456").Return(nil) + dataBase.EXPECT().SetUsernameChat(messenger, "testchan", "456").Return(nil) channel.Type = discordgo.ChannelTypeGuildText channel.ID = "456" channel.Name = "testchan" diff --git a/senders/discord/send.go b/senders/discord/send.go index e52f88937..8e3b81f4b 100644 --- a/senders/discord/send.go +++ b/senders/discord/send.go @@ -16,11 +16,9 @@ const ( messageMaxCharacters = 2000 ) -var ( - mdHeaderRegex = regexp.MustCompile(`(?m)^\s*#{1,}\s*(?P[^#\n]+)$`) -) +var mdHeaderRegex = regexp.MustCompile(`(?m)^\s*#{1,}\s*(?P[^#\n]+)$`) -// SendEvents implements pushover build and send message functionality +// SendEvents implements pushover build and send message functionality. func (sender *Sender) SendEvents(events moira.NotificationEvents, contact moira.ContactData, trigger moira.TriggerData, plots [][]byte, throttled bool) error { data := &discordgo.MessageSend{} data.Content = sender.buildMessage(events, trigger, throttled) @@ -38,7 +36,7 @@ func (sender *Sender) SendEvents(events moira.NotificationEvents, contact moira. channelID, err := sender.getChannelID(contact.Value) if err != nil { - return fmt.Errorf("failed to get the channel ID: %s", err) + return fmt.Errorf("failed to get the channel ID: %w", err) } _, err = sender.session.ChannelMessageSendComplex(channelID, data) if err != nil { @@ -48,10 +46,11 @@ func (sender *Sender) SendEvents(events moira.NotificationEvents, contact moira. } func (sender *Sender) getChannelID(username string) (string, error) { - chid, err := sender.DataBase.GetIDByUsername(messenger, username) + chid, err := sender.DataBase.GetChatByUsername(messenger, username) if err != nil { return "", fmt.Errorf("failed to get channel ID: %s", err.Error()) } + return chid, nil } @@ -97,8 +96,8 @@ func (sender *Sender) buildDescription(trigger moira.TriggerData) string { return desc } -// buildEventsString builds the string from moira events and limits it to charsForEvents. -// if n is negative buildEventsString does not limit the events string +// buildEventsString builds the string from moira events and limits it to charsForEvents +// if n is negative buildEventsString does not limit the events string. func (sender *Sender) buildEventsString(events moira.NotificationEvents, charsForEvents int, throttled bool, trigger moira.TriggerData) string { charsForThrottleMsg := 0 throttleMsg := "\nPlease, fix your system or tune this trigger to generate less events." diff --git a/senders/emoji_provider/provider.go b/senders/emoji_provider/provider.go new file mode 100644 index 000000000..614408941 --- /dev/null +++ b/senders/emoji_provider/provider.go @@ -0,0 +1,55 @@ +package emoji_provider + +import ( + "fmt" + "maps" + + "github.com/moira-alert/moira" +) + +var defaultStateEmoji = map[moira.State]string{ + moira.StateOK: ":moira-state-ok:", + moira.StateWARN: ":moira-state-warn:", + moira.StateERROR: ":moira-state-error:", + moira.StateNODATA: ":moira-state-nodata:", + moira.StateEXCEPTION: ":moira-state-exception:", + moira.StateTEST: ":moira-state-test:", +} + +// emojiProvider is struct for get emoji by trigger State. +type emojiProvider struct { + defaultValue string + stateEmojiMap map[moira.State]string +} + +// StateEmojiGetter is interface for emojiProvider. +type StateEmojiGetter interface { + GetStateEmoji(subjectState moira.State) string +} + +// NewEmojiProvider is construct for emojiProvider. +func NewEmojiProvider(defaultValue string, stateEmojiMap map[string]string) (StateEmojiGetter, error) { + emojiMap := maps.Clone(defaultStateEmoji) + + for state, emoji := range stateEmojiMap { + converted := moira.State(state) + if _, ok := emojiMap[converted]; !ok { + return nil, fmt.Errorf("undefined Moira's state: %s", state) + } + emojiMap[converted] = emoji + } + + return &emojiProvider{ + defaultValue: defaultValue, + stateEmojiMap: emojiMap, + }, nil +} + +// GetStateEmoji returns corresponding state emoji. +func (em *emojiProvider) GetStateEmoji(subjectState moira.State) string { + if emoji, ok := em.stateEmojiMap[subjectState]; ok { + return emoji + } + + return em.defaultValue +} diff --git a/senders/emoji_provider/provider_test.go b/senders/emoji_provider/provider_test.go new file mode 100644 index 000000000..f4e83e75e --- /dev/null +++ b/senders/emoji_provider/provider_test.go @@ -0,0 +1,67 @@ +package emoji_provider + +import ( + "testing" + + "github.com/moira-alert/moira" + + . "github.com/smartystreets/goconvey/convey" +) + +func TestNewEmojiProvider(t *testing.T) { + Convey("Successful creation, no errors", t, func() { + em, err := NewEmojiProvider( + "default", + map[string]string{ + "OK": "super_ok", + "WARN": "super_warn", + "ERROR": "super_error", + "TEST": "super_test", + "EXCEPTION": "super_exception", + "NODATA": "super_nodata", + }, + ) + So(err, ShouldBeNil) + expected := &emojiProvider{ + defaultValue: "default", + stateEmojiMap: map[moira.State]string{ + "OK": "super_ok", + "WARN": "super_warn", + "ERROR": "super_error", + "TEST": "super_test", + "EXCEPTION": "super_exception", + "NODATA": "super_nodata", + }, + } + So(em, ShouldResemble, expected) + }) + + Convey("Unsuccessful creation, has error", t, func() { + em, err := NewEmojiProvider( + "default", + map[string]string{ + "OK": "super_ok", + "dfgdf": "super_warn", + "ERROR": "super_error", + "TEST": "super_test", + "EXCEPTION": "super_exception", + "NODATA": "super_nodata", + }, + ) + So(err.Error(), ShouldResemble, "undefined Moira's state: dfgdf") + So(em, ShouldBeNil) + }) +} + +func TestEmojiProvider_GetStateEmoji(t *testing.T) { + Convey("Check state emoji", t, func() { + em := &emojiProvider{stateEmojiMap: defaultStateEmoji, defaultValue: "default_value"} + So(em.GetStateEmoji(moira.StateOK), ShouldResemble, ":moira-state-ok:") + So(em.GetStateEmoji(moira.StateWARN), ShouldResemble, ":moira-state-warn:") + So(em.GetStateEmoji(moira.StateERROR), ShouldResemble, ":moira-state-error:") + So(em.GetStateEmoji(moira.StateNODATA), ShouldResemble, ":moira-state-nodata:") + So(em.GetStateEmoji(moira.StateEXCEPTION), ShouldResemble, ":moira-state-exception:") + So(em.GetStateEmoji(moira.StateTEST), ShouldResemble, ":moira-state-test:") + So(em.GetStateEmoji("dfdfdf"), ShouldResemble, "default_value") + }) +} diff --git a/senders/mail/mail.go b/senders/mail/mail.go index 478eff39e..39ce73344 100644 --- a/senders/mail/mail.go +++ b/senders/mail/mail.go @@ -12,7 +12,7 @@ import ( "github.com/moira-alert/moira" ) -// Structure that represents the Mail configuration in the YAML file +// Structure that represents the Mail configuration in the YAML file. type config struct { MailFrom string `mapstructure:"mail_from"` SMTPHello string `mapstructure:"smtp_hello"` @@ -25,7 +25,7 @@ type config struct { TemplateFile string `mapstructure:"template_file"` } -// Sender implements moira sender interface via pushover +// Sender implements moira sender interface via pushover. type Sender struct { From string SMTPHello string @@ -43,7 +43,7 @@ type Sender struct { dateTimeFormat string } -// Init read yaml config +// Init read yaml config. func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, location *time.Location, dateTimeFormat string) error { err := sender.fillSettings(senderSettings, logger, location, dateTimeFormat) if err != nil { diff --git a/senders/mail/send.go b/senders/mail/send.go index dc65ab1a6..821ed3b88 100644 --- a/senders/mail/send.go +++ b/senders/mail/send.go @@ -37,7 +37,7 @@ type triggerData struct { PlotCID string } -// SendEvents implements Sender interface Send +// SendEvents implements Sender interface Send. func (sender *Sender) SendEvents(events moira.NotificationEvents, contact moira.ContactData, trigger moira.TriggerData, plots [][]byte, throttled bool) error { message := sender.makeMessage(events, contact, trigger, plots, throttled) return sender.dialAndSend(message) @@ -98,7 +98,7 @@ func (sender *Sender) makeMessage(events moira.NotificationEvents, contact moira func formatDescription(desc string) template.HTML { htmlDesc := blackfriday.Run([]byte(desc)) - htmlDescWithbr := strings.Replace(string(htmlDesc), "\n", "
", -1) + htmlDescWithbr := strings.ReplaceAll(string(htmlDesc), "\n", "
") return template.HTML(htmlDescWithbr) } diff --git a/senders/mail/send_test.go b/senders/mail/send_test.go index 99ab2ddfd..2c1a4895e 100644 --- a/senders/mail/send_test.go +++ b/senders/mail/send_test.go @@ -58,7 +58,6 @@ some other text _italics text_`, So(messageStr.String(), ShouldContainSubstring, "http://localhost/trigger/triggerID-0000000000001") So(messageStr.String(), ShouldContainSubstring, "italics text") So(messageStr.String(), ShouldContainSubstring, "bold text") - //fmt.Println(messageStr.String()) }) } diff --git a/senders/mattermost/sender.go b/senders/mattermost/sender.go index 0b514069f..d83dbf6c7 100644 --- a/senders/mattermost/sender.go +++ b/senders/mattermost/sender.go @@ -5,34 +5,46 @@ import ( "crypto/tls" "fmt" "net/http" - "strings" "time" + "github.com/moira-alert/moira/senders/msgformat" + "github.com/moira-alert/moira" - "github.com/moira-alert/moira/senders" + "github.com/moira-alert/moira/senders/emoji_provider" "github.com/mattermost/mattermost/server/public/model" "github.com/mitchellh/mapstructure" ) -// Structure that represents the Mattermost configuration in the YAML file +// Structure that represents the Mattermost configuration in the YAML file. type config struct { - Url string `mapstructure:"url"` - InsecureTLS bool `mapstructure:"insecure_tls"` - APIToken string `mapstructure:"api_token"` - FrontURI string `mapstructure:"front_uri"` + Url string `mapstructure:"url"` + InsecureTLS bool `mapstructure:"insecure_tls"` + APIToken string `mapstructure:"api_token"` + FrontURI string `mapstructure:"front_uri"` + UseEmoji bool `mapstructure:"use_emoji"` + DefaultEmoji string `mapstructure:"default_emoji"` + EmojiMap map[string]string `mapstructure:"emoji_map"` } // Sender posts messages to Mattermost chat. // It implements moira.Sender. // You must call Init method before SendEvents method. type Sender struct { - frontURI string - logger moira.Logger - location *time.Location - client Client + logger moira.Logger + client Client + formatter msgformat.MessageFormatter } +const ( + messageMaxCharacters = 4_000 +) + +var ( + codeBlockStart = "```" + codeBlockEnd = "```" +) + // Init configures Sender. func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, location *time.Location, _ string) error { var cfg config @@ -44,11 +56,9 @@ func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, loca if cfg.Url == "" { return fmt.Errorf("can not read Mattermost url from config") } + client := model.NewAPIv4Client(cfg.Url) - if err != nil { - return fmt.Errorf("can not parse insecure_tls: %v", err) - } client.HTTPClient = &http.Client{ Transport: &http.Transport{ TLSClientConfig: &tls.Config{ @@ -56,6 +66,7 @@ func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, loca }, }, } + sender.client = client if cfg.APIToken == "" { @@ -66,13 +77,53 @@ func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, loca if cfg.FrontURI == "" { return fmt.Errorf("can not read Mattermost front_uri from config") } - sender.frontURI = cfg.FrontURI - sender.location = location + + emojiProvider, err := emoji_provider.NewEmojiProvider(cfg.DefaultEmoji, cfg.EmojiMap) + if err != nil { + return fmt.Errorf("cannot initialize mattermost sender, err: %w", err) + } sender.logger = logger + sender.formatter = msgformat.NewHighlightSyntaxFormatter( + emojiProvider, + cfg.UseEmoji, + cfg.FrontURI, + location, + uriFormatter, + descriptionFormatter, + boldFormatter, + eventStringFormatter, + codeBlockStart, + codeBlockEnd) return nil } +func uriFormatter(triggerURI, triggerName string) string { + return fmt.Sprintf("[%s](%s)", triggerName, triggerURI) +} + +func descriptionFormatter(trigger moira.TriggerData) string { + desc := trigger.Desc + if trigger.Desc != "" { + desc += "\n" + } + return desc +} + +func boldFormatter(str string) string { + return fmt.Sprintf("**%s**", str) +} + +func eventStringFormatter(event moira.NotificationEvent, loc *time.Location) string { + return fmt.Sprintf( + "%s: %s = %s (%s to %s)", + event.FormatTimestamp(loc, moira.DefaultTimeFormat), + event.Metric, + event.GetMetricsValues(moira.DefaultNotificationSettings), + event.OldState, + event.State) +} + // SendEvents implements moira.Sender interface. func (sender *Sender) SendEvents(events moira.NotificationEvents, contact moira.ContactData, trigger moira.TriggerData, plots [][]byte, throttled bool) error { message := sender.buildMessage(events, trigger, throttled) @@ -96,105 +147,12 @@ func (sender *Sender) SendEvents(events moira.NotificationEvents, contact moira. } func (sender *Sender) buildMessage(events moira.NotificationEvents, trigger moira.TriggerData, throttled bool) string { - const messageMaxCharacters = 4_000 - - var message strings.Builder - - title := sender.buildTitle(events, trigger, throttled) - titleLen := len([]rune(title)) - - desc := sender.buildDescription(trigger) - descLen := len([]rune(desc)) - - eventsString := sender.buildEventsString(events, -1, throttled) - eventsStringLen := len([]rune(eventsString)) - - charsLeftAfterTitle := messageMaxCharacters - titleLen - - descNewLen, eventsNewLen := senders.CalculateMessagePartsLength(charsLeftAfterTitle, descLen, eventsStringLen) - - if descLen != descNewLen { - desc = desc[:descNewLen] + "...\n" - } - if eventsNewLen != eventsStringLen { - eventsString = sender.buildEventsString(events, eventsNewLen, throttled) - } - - message.WriteString(title) - message.WriteString(desc) - message.WriteString(eventsString) - return message.String() -} - -func (sender *Sender) buildDescription(trigger moira.TriggerData) string { - desc := trigger.Desc - if trigger.Desc != "" { - desc += "\n" - } - return desc -} - -func (sender *Sender) buildTitle(events moira.NotificationEvents, trigger moira.TriggerData, throttled bool) string { - state := events.GetCurrentState(throttled) - title := fmt.Sprintf("**%s**", state) - triggerURI := trigger.GetTriggerURI(sender.frontURI) - if triggerURI != "" { - title += fmt.Sprintf(" [%s](%s)", trigger.Name, triggerURI) - } else if trigger.Name != "" { - title += " " + trigger.Name - } - - tags := trigger.GetTags() - if tags != "" { - title += " " + tags - } - - title += "\n" - return title -} - -// buildEventsString builds the string from moira events and limits it to charsForEvents. -// if n is negative buildEventsString does not limit the events string -func (sender *Sender) buildEventsString(events moira.NotificationEvents, charsForEvents int, throttled bool) string { - charsForThrottleMsg := 0 - throttleMsg := "\nPlease, *fix your system or tune this trigger* to generate less events." - if throttled { - charsForThrottleMsg = len([]rune(throttleMsg)) - } - charsLeftForEvents := charsForEvents - charsForThrottleMsg - - var eventsString = "```" - var tailString string - - eventsLenLimitReached := false - eventsPrinted := 0 - for _, event := range events { - line := fmt.Sprintf("\n%s: %s = %s (%s to %s)", event.FormatTimestamp(sender.location, moira.DefaultTimeFormat), event.Metric, event.GetMetricsValues(moira.DefaultNotificationSettings), event.OldState, event.State) - if msg := event.CreateMessage(sender.location); len(msg) > 0 { - line += fmt.Sprintf(". %s", msg) - } - - tailString = fmt.Sprintf("\n...and %d more events.", len(events)-eventsPrinted) - tailStringLen := len([]rune("```")) + len([]rune(tailString)) - if !(charsForEvents < 0) && (len([]rune(eventsString))+len([]rune(line)) > charsLeftForEvents-tailStringLen) { - eventsLenLimitReached = true - break - } - - eventsString += line - eventsPrinted++ - } - eventsString += "```" - - if eventsLenLimitReached { - eventsString += tailString - } - - if throttled { - eventsString += throttleMsg - } - - return eventsString + return sender.formatter.Format(msgformat.MessageFormatterParams{ + Events: events, + Trigger: trigger, + MessageMaxChars: messageMaxCharacters, + Throttled: throttled, + }) } func (sender *Sender) sendMessage(ctx context.Context, message string, contact string, triggerID string) (*model.Post, error) { @@ -205,7 +163,7 @@ func (sender *Sender) sendMessage(ctx context.Context, message string, contact s sentPost, _, err := sender.client.CreatePost(ctx, &post) if err != nil { - return nil, fmt.Errorf("failed to send %s event message to Mattermost [%s]: %s", triggerID, contact, err) + return nil, fmt.Errorf("failed to send %s event message to Mattermost [%s]: %w", triggerID, contact, err) } return sentPost, nil diff --git a/senders/mattermost/sender_internal_test.go b/senders/mattermost/sender_internal_test.go index ffc0d4299..1ae3da0a2 100644 --- a/senders/mattermost/sender_internal_test.go +++ b/senders/mattermost/sender_internal_test.go @@ -3,18 +3,16 @@ package mattermost import ( "context" "errors" - "strings" "testing" - "time" "github.com/mattermost/mattermost/server/public/model" "github.com/moira-alert/moira" - "github.com/golang/mock/gomock" logging "github.com/moira-alert/moira/logging/zerolog_adapter" mock "github.com/moira-alert/moira/mock/notifier/mattermost" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func TestSendEvents(t *testing.T) { @@ -72,127 +70,3 @@ func TestSendEvents(t *testing.T) { }) }) } - -func TestBuildMessage(t *testing.T) { - logger, _ := logging.ConfigureLog("stdout", "debug", "test", true) - sender := &Sender{} - - Convey("Given configured sender", t, func() { - senderSettings := map[string]interface{}{ - "url": "qwerty", "api_token": "qwerty", // redundant, but necessary config - "front_uri": "http://moira.url", - "insecure_tls": true, - } - location, _ := time.LoadLocation("UTC") - err := sender.Init(senderSettings, logger, location, "") - So(err, ShouldBeNil) - - event := moira.NotificationEvent{ - TriggerID: "TriggerID", - Values: map[string]float64{"t1": 123}, - Timestamp: 150000000, - Metric: "Metric", - OldState: moira.StateOK, - State: moira.StateNODATA, - } - - const shortDesc = `My description` - trigger := moira.TriggerData{ - Tags: []string{"tag1", "tag2"}, - Name: "Name", - ID: "TriggerID", - Desc: shortDesc, - } - - Convey("Message with one event", func() { - events, throttled := moira.NotificationEvents{event}, false - msg := sender.buildMessage(events, trigger, throttled) - - expected := "**NODATA** [Name](http://moira.url/trigger/TriggerID) [tag1][tag2]\n" + - shortDesc + "\n" + - "```\n" + - "02:40 (GMT+00:00): Metric = 123 (OK to NODATA)```" - So(msg, ShouldEqual, expected) - }) - - Convey("Message with one event and throttled", func() { - events, throttled := moira.NotificationEvents{event}, true - msg := sender.buildMessage(events, trigger, throttled) - - expected := "**NODATA** [Name](http://moira.url/trigger/TriggerID) [tag1][tag2]\n" + - shortDesc + "\n" + - "```\n" + - "02:40 (GMT+00:00): Metric = 123 (OK to NODATA)```" + "\n" + - "Please, *fix your system or tune this trigger* to generate less events." - So(msg, ShouldEqual, expected) - }) - - Convey("Moira message with 3 events", func() { - actual := sender.buildMessage([]moira.NotificationEvent{event, event, event}, trigger, false) - expected := "**NODATA** [Name](http://moira.url/trigger/TriggerID) [tag1][tag2]\n" + - shortDesc + "\n" + - "```\n" + - "02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n" + - "02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n" + - "02:40 (GMT+00:00): Metric = 123 (OK to NODATA)```" - So(actual, ShouldResemble, expected) - }) - - Convey("Long message parts", func() { - const ( - msgLimit = 4_000 - halfLimit = msgLimit / 2 - greaterThanHalf = halfLimit + 100 - lessThanHalf = halfLimit - 100 - ) - - const eventLine = "\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)" - oneEventLineLen := len([]rune(eventLine)) - - longDesc := strings.Repeat("a", greaterThanHalf) - - // Events list with chars greater than half of the message limit - var longEvents moira.NotificationEvents - for i := 0; i < greaterThanHalf/oneEventLineLen; i++ { - longEvents = append(longEvents, event) - } - - Convey("Long description. desc > msgLimit/2", func() { - var events moira.NotificationEvents - for i := 0; i < lessThanHalf/oneEventLineLen; i++ { - events = append(events, event) - } - - actual := sender.buildMessage(events, moira.TriggerData{Desc: longDesc}, false) - expected := "**NODATA**\n" + - strings.Repeat("a", 2100) + "\n" + - "```\n" + - strings.Repeat("02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n", 39) + - "02:40 (GMT+00:00): Metric = 123 (OK to NODATA)```" - So(actual, ShouldResemble, expected) - }) - - Convey("Many events. eventString > msgLimit/2", func() { - desc := strings.Repeat("a", lessThanHalf) - actual := sender.buildMessage(longEvents, moira.TriggerData{Desc: desc}, false) - expected := "**NODATA**\n" + - desc + "\n" + - "```\n" + - strings.Repeat("02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n", 43) + - "02:40 (GMT+00:00): Metric = 123 (OK to NODATA)```" - So(actual, ShouldResemble, expected) - }) - - Convey("Long description and many events. both desc and events > msgLimit/2", func() { - actual := sender.buildMessage(longEvents, moira.TriggerData{Desc: longDesc}, false) - expected := "**NODATA**\n" + - strings.Repeat("a", 1984) + "...\n" + - "```\n" + - strings.Repeat("02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n", 40) + - "02:40 (GMT+00:00): Metric = 123 (OK to NODATA)```\n" + - "...and 3 more events." - So(actual, ShouldResemble, expected) - }) - }) - }) -} diff --git a/senders/mattermost/sender_test.go b/senders/mattermost/sender_test.go index 75e12c909..c47baa562 100644 --- a/senders/mattermost/sender_test.go +++ b/senders/mattermost/sender_test.go @@ -1,10 +1,8 @@ -package mattermost_test +package mattermost import ( "testing" - "github.com/moira-alert/moira/senders/mattermost" - logging "github.com/moira-alert/moira/logging/zerolog_adapter" . "github.com/smartystreets/goconvey/convey" ) @@ -12,7 +10,7 @@ import ( func TestInit(t *testing.T) { logger, _ := logging.ConfigureLog("stdout", "debug", "test", true) Convey("Init tests", t, func() { - sender := &mattermost.Sender{} + sender := &Sender{} Convey("No url", func() { senderSettings := map[string]interface{}{ diff --git a/senders/msgformat/highlighter.go b/senders/msgformat/highlighter.go new file mode 100644 index 000000000..156609957 --- /dev/null +++ b/senders/msgformat/highlighter.go @@ -0,0 +1,167 @@ +package msgformat + +import ( + "fmt" + "strings" + "time" + + "github.com/moira-alert/moira" + "github.com/moira-alert/moira/senders" + "github.com/moira-alert/moira/senders/emoji_provider" +) + +// UriFormatter is used for formatting uris, for example for Markdown use something like +// fmt.Sprintf("[%s](%s)", triggerName, triggerURI). +type UriFormatter func(triggerURI, triggerName string) string + +// DescriptionFormatter is used to format trigger description to supported description. +type DescriptionFormatter func(trigger moira.TriggerData) string + +// BoldFormatter makes str bold. For example in Markdown it should return **str**. +type BoldFormatter func(str string) string + +// EventStringFormatter formats single event string. +type EventStringFormatter func(event moira.NotificationEvent, location *time.Location) string + +// HighlightSyntaxFormatter formats message by using functions, emojis and some other highlight patterns. +type HighlightSyntaxFormatter struct { + // emojiGetter used in titles for better description. + emojiGetter emoji_provider.StateEmojiGetter + frontURI string + location *time.Location + useEmoji bool + uriFormatter UriFormatter + descriptionFormatter DescriptionFormatter + boldFormatter BoldFormatter + eventsStringFormatter EventStringFormatter + codeBlockStart string + codeBlockEnd string +} + +// NewHighlightSyntaxFormatter creates new HighlightSyntaxFormatter with given arguments. +func NewHighlightSyntaxFormatter( + emojiGetter emoji_provider.StateEmojiGetter, + useEmoji bool, + frontURI string, + location *time.Location, + uriFormatter UriFormatter, + descriptionFormatter DescriptionFormatter, + boldFormatter BoldFormatter, + eventsStringFormatter EventStringFormatter, + codeBlockStart string, + codeBlockEnd string, +) MessageFormatter { + return &HighlightSyntaxFormatter{ + emojiGetter: emojiGetter, + frontURI: frontURI, + location: location, + useEmoji: useEmoji, + uriFormatter: uriFormatter, + descriptionFormatter: descriptionFormatter, + boldFormatter: boldFormatter, + eventsStringFormatter: eventsStringFormatter, + codeBlockStart: codeBlockStart, + codeBlockEnd: codeBlockEnd, + } +} + +// Format formats message using given params and formatter functions. +func (formatter *HighlightSyntaxFormatter) Format(params MessageFormatterParams) string { + var message strings.Builder + state := params.Events.GetCurrentState(params.Throttled) + emoji := formatter.emojiGetter.GetStateEmoji(state) + + title := formatter.buildTitle(params.Events, params.Trigger, emoji, params.Throttled) + titleLen := len([]rune(title)) + + desc := formatter.descriptionFormatter(params.Trigger) + descLen := len([]rune(desc)) + + eventsString := formatter.buildEventsString(params.Events, -1, params.Throttled) + eventsStringLen := len([]rune(eventsString)) + + charsLeftAfterTitle := params.MessageMaxChars - titleLen + + descNewLen, eventsNewLen := senders.CalculateMessagePartsLength(charsLeftAfterTitle, descLen, eventsStringLen) + if descLen != descNewLen { + desc = desc[:descNewLen] + "...\n" + } + if eventsNewLen != eventsStringLen { + eventsString = formatter.buildEventsString(params.Events, eventsNewLen, params.Throttled) + } + + message.WriteString(title) + message.WriteString(desc) + message.WriteString(eventsString) + return message.String() +} + +func (formatter *HighlightSyntaxFormatter) buildTitle(events moira.NotificationEvents, trigger moira.TriggerData, emoji string, throttled bool) string { + state := events.GetCurrentState(throttled) + title := "" + if formatter.useEmoji { + title += emoji + " " + } + + title += formatter.boldFormatter(string(state)) + triggerURI := trigger.GetTriggerURI(formatter.frontURI) + if triggerURI != "" { + title += fmt.Sprintf(" %s", formatter.uriFormatter(triggerURI, trigger.Name)) + } else if trigger.Name != "" { + title += " " + trigger.Name + } + + tags := trigger.GetTags() + if tags != "" { + title += " " + tags + } + + title += "\n" + return title +} + +// buildEventsString builds the string from moira events and limits it to charsForEvents. +// if charsForEvents is negative buildEventsString does not limit the events string. +func (formatter *HighlightSyntaxFormatter) buildEventsString(events moira.NotificationEvents, charsForEvents int, throttled bool) string { + charsForThrottleMsg := 0 + throttleMsg := fmt.Sprintf("\nPlease, %s to generate less events.", formatter.boldFormatter(changeRecommendation)) + if throttled { + charsForThrottleMsg = len([]rune(throttleMsg)) + } + charsLeftForEvents := charsForEvents - charsForThrottleMsg + + var eventsString string + eventsString += formatter.codeBlockStart + var tailString string + + eventsLenLimitReached := false + eventsPrinted := 0 + for _, event := range events { + line := fmt.Sprintf("\n%s", formatter.eventsStringFormatter(event, formatter.location)) + if msg := event.CreateMessage(formatter.location); len(msg) > 0 { + line += fmt.Sprintf(". %s", msg) + } + + tailString = fmt.Sprintf("\n...and %d more events.", len(events)-eventsPrinted) + tailStringLen := len([]rune(formatter.codeBlockEnd)) + len("\n") + len([]rune(tailString)) + if !(charsForEvents < 0) && (len([]rune(eventsString))+len([]rune(line)) > charsLeftForEvents-tailStringLen) { + eventsLenLimitReached = true + break + } + + eventsString += line + eventsPrinted++ + } + eventsString += "\n" + eventsString += formatter.codeBlockEnd + + if eventsLenLimitReached { + eventsString += tailString + } + + if throttled { + eventsString += throttleMsg + } + + return eventsString +} diff --git a/senders/msgformat/highlighter_test.go b/senders/msgformat/highlighter_test.go new file mode 100644 index 000000000..79bfaf85b --- /dev/null +++ b/senders/msgformat/highlighter_test.go @@ -0,0 +1,182 @@ +package msgformat + +import ( + "fmt" + "strings" + "testing" + "time" + + "github.com/moira-alert/moira" + "github.com/moira-alert/moira/senders/emoji_provider" + + . "github.com/smartystreets/goconvey/convey" +) + +const ( + testMaxChars = 4_000 +) + +func TestFormat(t *testing.T) { + Convey("Given configured formatter", t, func() { + location, locationErr := time.LoadLocation("UTC") + So(locationErr, ShouldBeNil) + + provider, err := emoji_provider.NewEmojiProvider("", nil) + So(err, ShouldBeNil) + formatter := NewHighlightSyntaxFormatter( + provider, + false, + "http://moira.url", + location, + testUriFormatter, + testDescriptionFormatter, + testBoldFormatter, + testEventStringFormatter, + "```", + "```", + ) + + event := moira.NotificationEvent{ + TriggerID: "TriggerID", + Values: map[string]float64{"t1": 123}, + Timestamp: 150000000, + Metric: "Metric", + OldState: moira.StateOK, + State: moira.StateNODATA, + } + + const shortDesc = `My description` + trigger := moira.TriggerData{ + Tags: []string{"tag1", "tag2"}, + Name: "Name", + ID: "TriggerID", + Desc: shortDesc, + } + + Convey("Message with one event", func() { + events, throttled := moira.NotificationEvents{event}, false + msg := formatter.Format(getParams(events, trigger, throttled)) + + expected := "**NODATA** [Name](http://moira.url/trigger/TriggerID) [tag1][tag2]\n" + + shortDesc + "\n" + + "```\n" + + "02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n```" + So(msg, ShouldEqual, expected) + }) + + Convey("Message with one event and throttled", func() { + events, throttled := moira.NotificationEvents{event}, true + msg := formatter.Format(getParams(events, trigger, throttled)) + + expected := "**NODATA** [Name](http://moira.url/trigger/TriggerID) [tag1][tag2]\n" + + shortDesc + "\n" + + "```\n" + + "02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n```" + "\n" + + "Please, **fix your system or tune this trigger** to generate less events." + So(msg, ShouldEqual, expected) + }) + + Convey("Moira message with 3 events", func() { + actual := formatter.Format(getParams([]moira.NotificationEvent{event, event, event}, trigger, false)) + expected := "**NODATA** [Name](http://moira.url/trigger/TriggerID) [tag1][tag2]\n" + + shortDesc + "\n" + + "```\n" + + "02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n" + + "02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n" + + "02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n```" + So(actual, ShouldResemble, expected) + }) + + Convey("Long message parts", func() { + const ( + msgLimit = 4_000 + halfLimit = msgLimit / 2 + greaterThanHalf = halfLimit + 100 + lessThanHalf = halfLimit - 100 + ) + + const eventLine = "\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)" + oneEventLineLen := len([]rune(eventLine)) + + longDesc := strings.Repeat("a", greaterThanHalf) + + // Events list with chars greater than half of the message limit + var longEvents moira.NotificationEvents + for i := 0; i < greaterThanHalf/oneEventLineLen; i++ { + longEvents = append(longEvents, event) + } + + Convey("Long description. desc > msgLimit/2", func() { + var events moira.NotificationEvents + for i := 0; i < lessThanHalf/oneEventLineLen; i++ { + events = append(events, event) + } + + actual := formatter.Format(getParams(events, moira.TriggerData{Desc: longDesc}, false)) + expected := "**NODATA**\n" + + strings.Repeat("a", 2100) + "\n" + + "```\n" + + strings.Repeat("02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n", 39) + + "02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n```" + So(actual, ShouldResemble, expected) + }) + + Convey("Many events. eventString > msgLimit/2", func() { + desc := strings.Repeat("a", lessThanHalf) + actual := formatter.Format(getParams(longEvents, moira.TriggerData{Desc: desc}, false)) + expected := "**NODATA**\n" + + desc + "\n" + + "```\n" + + strings.Repeat("02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n", 43) + + "02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n```" + So(actual, ShouldResemble, expected) + }) + + Convey("Long description and many events. both desc and events > msgLimit/2", func() { + actual := formatter.Format(getParams(longEvents, moira.TriggerData{Desc: longDesc}, false)) + expected := "**NODATA**\n" + + strings.Repeat("a", 1984) + "...\n" + + "```\n" + + strings.Repeat("02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n", 40) + + "02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n```\n" + + "...and 3 more events." + So(actual, ShouldResemble, expected) + }) + }) + }) +} + +func testBoldFormatter(str string) string { + return fmt.Sprintf("**%s**", str) +} + +func testDescriptionFormatter(trigger moira.TriggerData) string { + desc := trigger.Desc + if trigger.Desc != "" { + desc += "\n" + } + return desc +} + +func testUriFormatter(triggerURI, triggerName string) string { + return fmt.Sprintf("[%s](%s)", triggerName, triggerURI) +} + +func testEventStringFormatter(event moira.NotificationEvent, location *time.Location) string { + return fmt.Sprintf( + "%s: %s = %s (%s to %s)", + event.FormatTimestamp(location, moira.DefaultTimeFormat), + event.Metric, + event.GetMetricsValues(moira.DefaultNotificationSettings), + event.OldState, + event.State) +} + +func getParams(events moira.NotificationEvents, trigger moira.TriggerData, throttled bool) MessageFormatterParams { + return MessageFormatterParams{ + Events: events, + Trigger: trigger, + MessageMaxChars: testMaxChars, + Throttled: throttled, + } +} diff --git a/senders/msgformat/msgformat.go b/senders/msgformat/msgformat.go new file mode 100644 index 000000000..5d00724b2 --- /dev/null +++ b/senders/msgformat/msgformat.go @@ -0,0 +1,23 @@ +// Package msgformat provides MessageFormatter interface which may be used for formatting messages. +// Also, it contains some realizations such as HighlightSyntaxFormatter. +package msgformat + +import ( + "github.com/moira-alert/moira" +) + +const changeRecommendation = "fix your system or tune this trigger" + +// MessageFormatter is used for formatting messages to send via telegram, mattermost, etc. +type MessageFormatter interface { + Format(params MessageFormatterParams) string +} + +// MessageFormatterParams is the parameters for MessageFormatter. +type MessageFormatterParams struct { + Events moira.NotificationEvents + Trigger moira.TriggerData + // MessageMaxChars is a limit for future message. If -1 then no limit is set. + MessageMaxChars int + Throttled bool +} diff --git a/senders/msteams/datatypes.go b/senders/msteams/datatypes.go index 90d7cb304..9e8ef80e9 100644 --- a/senders/msteams/datatypes.go +++ b/senders/msteams/datatypes.go @@ -1,12 +1,14 @@ package msteams -const Green = "008000" -const Orange = "ffa500" -const Red = "ff0000" -const Black = "000000" -const White = "ffffff" +const ( + Green = "008000" + Orange = "ffa500" + Red = "ff0000" + Black = "000000" + White = "ffffff" +) -// Fact models a fact in a MessageCard, contains a timestamp and trigger data +// Fact models a fact in a MessageCard, contains a timestamp and trigger data. // // { // "name": "10:45", diff --git a/senders/msteams/msteams.go b/senders/msteams/msteams.go index bf91c2f1b..4bfd282f8 100644 --- a/senders/msteams/msteams.go +++ b/senders/msteams/msteams.go @@ -2,6 +2,7 @@ package msteams import ( "bytes" + "context" "encoding/json" "fmt" "io" @@ -15,15 +16,18 @@ import ( "github.com/russross/blackfriday/v2" ) -const context = "http://schema.org/extensions" -const messageType = "MessageCard" -const summary = "Moira Alert" -const teamsBaseURL = "https://outlook.office.com/webhook/" -const teamsOKResponse = "1" -const openURI = "OpenUri" -const openURIMessage = "View in Moira" -const openURIOsDefault = "default" -const activityTitleText = "Description" +const ( + extensions = "http://schema.org/extensions" + messageType = "MessageCard" + summary = "Moira Alert" + teamsBaseURL = "https://outlook.office.com/webhook/" + teamsOKResponse = "1" + openURI = "OpenUri" + openURIMessage = "View in Moira" + openURIOsDefault = "default" + activityTitleText = "Description" + quotes = "```" +) var throttleWarningFact = Fact{ Name: "Warning", @@ -35,13 +39,13 @@ var headers = map[string]string{ "Content-Type": "application/json", } -// Structure that represents the MSTeams configuration in the YAML file +// Structure that represents the MSTeams configuration in the YAML file. type config struct { FrontURI string `mapstructure:"front_uri"` MaxEvents int `mapstructure:"max_events"` } -// Sender implements moira sender interface via MS Teams +// Sender implements moira sender interface via MS Teams. type Sender struct { frontURI string maxEvents int @@ -50,7 +54,7 @@ type Sender struct { client *http.Client } -// Init initialises settings required for full functionality +// Init initialises settings required for full functionality. func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, location *time.Location, dateTimeFormat string) error { var cfg config err := mapstructure.Decode(senderSettings, &cfg) @@ -68,7 +72,7 @@ func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, loca return nil } -// SendEvents implements Sender interface Send +// SendEvents implements Sender interface Send. func (sender *Sender) SendEvents(events moira.NotificationEvents, contact moira.ContactData, trigger moira.TriggerData, plots [][]byte, throttled bool) error { err := sender.isValidWebhookURL(contact.Value) if err != nil { @@ -76,13 +80,11 @@ func (sender *Sender) SendEvents(events moira.NotificationEvents, contact moira. } request, err := sender.buildRequest(events, contact, trigger, throttled) - if err != nil { return fmt.Errorf("failed to build request: %w", err) } response, err := sender.client.Do(request) - if err != nil { return fmt.Errorf("failed to perform request: %w", err) } @@ -94,7 +96,7 @@ func (sender *Sender) SendEvents(events moira.NotificationEvents, contact moira. return fmt.Errorf("failed to decode response: %w", err) } - //handle non 2xx responses + // handle non 2xx responses if response.StatusCode >= http.StatusBadRequest && response.StatusCode <= http.StatusNetworkAuthenticationRequired { return fmt.Errorf("server responded with a non 2xx code: %d", response.StatusCode) } @@ -131,7 +133,7 @@ func (sender *Sender) buildMessage(events moira.NotificationEvents, trigger moir state := events.GetCurrentState(throttled) return MessageCard{ - Context: context, + Context: extensions, MessageType: messageType, Summary: summary, ThemeColor: getColourForState(state), @@ -155,7 +157,7 @@ func (sender *Sender) buildRequest(events moira.NotificationEvents, contact moir return nil, err } - request, err := http.NewRequest(http.MethodPost, requestURL, bytes.NewBuffer(requestBody)) + request, err := http.NewRequestWithContext(context.Background(), http.MethodPost, requestURL, bytes.NewBuffer(requestBody)) if err != nil { return request, err } @@ -190,7 +192,7 @@ func (sender *Sender) buildTitleAndURI(events moira.NotificationEvents, trigger } // buildEventsFacts builds Facts from moira events -// if n is negative buildEventsFacts does not limit the Facts array +// if n is negative buildEventsFacts does not limit the Facts array. func (sender *Sender) buildEventsFacts(events moira.NotificationEvents, maxEvents int, throttled bool) []Fact { var facts []Fact //nolint @@ -202,13 +204,13 @@ func (sender *Sender) buildEventsFacts(events moira.NotificationEvents, maxEvent } facts = append(facts, Fact{ Name: event.FormatTimestamp(sender.location, moira.DefaultTimeFormat), - Value: "```" + line + "```", + Value: quotes + line + quotes, }) if maxEvents != -1 && len(facts) > maxEvents { facts = append(facts, Fact{ Name: "Info", - Value: "```" + fmt.Sprintf("\n...and %d more events.", len(events)-eventsPrinted) + "```", + Value: quotes + fmt.Sprintf("\n...and %d more events.", len(events)-eventsPrinted) + quotes, }) break } @@ -246,6 +248,6 @@ func getColourForState(state moira.State) string { case moira.StateNODATA: return Black default: - return White //unhandled state + return White // unhandled state } } diff --git a/senders/opsgenie/init.go b/senders/opsgenie/init.go index 5b627c6f1..83c205165 100644 --- a/senders/opsgenie/init.go +++ b/senders/opsgenie/init.go @@ -11,13 +11,13 @@ import ( "github.com/opsgenie/opsgenie-go-sdk-v2/client" ) -// Structure that represents the OpsGenie configuration in the YAML file +// Structure that represents the OpsGenie configuration in the YAML file. type config struct { APIKey string `mapstructure:"api_key"` FrontURI string `mapstructure:"front_uri"` } -// Sender implements the Sender interface for opsgenie +// Sender implements the Sender interface for opsgenie. type Sender struct { apiKey string client *alert.Client @@ -30,7 +30,7 @@ type Sender struct { frontURI string } -// Init initializes the opsgenie sender +// Init initializes the opsgenie sender. func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, location *time.Location, dateTimeFormat string) error { var cfg config @@ -44,14 +44,13 @@ func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, loca return fmt.Errorf("cannot read the api_key from the sender settings") } - sender.imageStoreID, sender.imageStore, sender.imageStoreConfigured = - senders.ReadImageStoreConfig(senderSettings, sender.ImageStores, logger) + sender.imageStoreID, sender.imageStore, sender.imageStoreConfigured = senders.ReadImageStoreConfig(senderSettings, sender.ImageStores, logger) sender.client, err = alert.NewClient(&client.Config{ ApiKey: sender.apiKey, }) if err != nil { - return fmt.Errorf("error while creating opsgenie client: %s", err) + return fmt.Errorf("error while creating opsgenie client: %w", err) } sender.frontURI = cfg.FrontURI diff --git a/senders/opsgenie/init_test.go b/senders/opsgenie/init_test.go index 2733071a1..e39702834 100644 --- a/senders/opsgenie/init_test.go +++ b/senders/opsgenie/init_test.go @@ -5,8 +5,8 @@ import ( "testing" "time" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" + "go.uber.org/mock/gomock" logging "github.com/moira-alert/moira/logging/zerolog_adapter" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" @@ -31,7 +31,8 @@ func TestInit(t *testing.T) { So(sender, ShouldResemble, Sender{ ImageStores: map[string]moira.ImageStore{ "s3": imageStore, - }}) + }, + }) }) Convey("Has settings", func() { diff --git a/senders/opsgenie/send.go b/senders/opsgenie/send.go index 0f52272ae..38fc5065c 100644 --- a/senders/opsgenie/send.go +++ b/senders/opsgenie/send.go @@ -17,7 +17,7 @@ const ( msgLimit = 15000 ) -// SendEvents sends the events as an alert to opsgenie +// SendEvents sends the events as an alert to opsgenie. func (sender *Sender) SendEvents(events moira.NotificationEvents, contact moira.ContactData, trigger moira.TriggerData, plots [][]byte, throttled bool) error { createAlertRequest := sender.makeCreateAlertRequest(events, contact, trigger, plots, throttled) _, err := sender.client.Create(context.Background(), createAlertRequest) @@ -82,8 +82,8 @@ func (sender *Sender) buildMessage(events moira.NotificationEvents, throttled bo return message.String() } -// buildEventsString builds the string from moira events and limits it to charsForEvents. -// if n is negative buildEventsString does not limit the events string +// buildEventsString builds the string from moira events and limits it to charsForEvents +// if n is negative buildEventsString does not limit the events string. func (sender *Sender) buildEventsString(events moira.NotificationEvents, charsForEvents int, throttled bool) string { charsForThrottleMsg := 0 throttleMsg := "\nPlease, fix your system or tune this trigger to generate less events." diff --git a/senders/opsgenie/send_test.go b/senders/opsgenie/send_test.go index 528a9c877..db81c15a2 100644 --- a/senders/opsgenie/send_test.go +++ b/senders/opsgenie/send_test.go @@ -4,12 +4,12 @@ import ( "testing" "time" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" logging "github.com/moira-alert/moira/logging/zerolog_adapter" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" "github.com/opsgenie/opsgenie-go-sdk-v2/alert" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func TestGetPushoverPriority(t *testing.T) { @@ -123,7 +123,7 @@ func TestBuildTitle(t *testing.T) { Convey("Build title that exceeds the title limit", t, func() { var reallyLongTag string for i := 0; i < 30; i++ { - reallyLongTag = reallyLongTag + "randomstring" + reallyLongTag += "randomstring" } Convey("without throttling", func() { @@ -154,13 +154,14 @@ func TestMakeCreateAlertRequest(t *testing.T) { } imageStore.EXPECT().StoreImage([]byte(`test`)).Return("testlink", nil) Convey("Build CreateAlertRequest", t, func() { - event := []moira.NotificationEvent{{ - Values: map[string]float64{"t1": 123}, - Timestamp: 150000000, - Metric: "Metric", - OldState: moira.StateOK, - State: moira.StateERROR, - }, + event := []moira.NotificationEvent{ + { + Values: map[string]float64{"t1": 123}, + Timestamp: 150000000, + Metric: "Metric", + OldState: moira.StateOK, + State: moira.StateERROR, + }, } trigger := moira.TriggerData{ ID: "SomeID", diff --git a/senders/pagerduty/init.go b/senders/pagerduty/init.go index 0679511df..0e58afc2c 100644 --- a/senders/pagerduty/init.go +++ b/senders/pagerduty/init.go @@ -9,12 +9,12 @@ import ( "github.com/moira-alert/moira/senders" ) -// Structure that represents the PagerDuty configuration in the YAML file +// Structure that represents the PagerDuty configuration in the YAML file. type config struct { FrontURI string `mapstructure:"front_uri"` } -// Sender implements moira sender interface for pagerduty +// Sender implements moira sender interface for pagerduty. type Sender struct { ImageStores map[string]moira.ImageStore imageStoreID string @@ -25,7 +25,7 @@ type Sender struct { location *time.Location } -// Init loads yaml config, configures the pagerduty client +// Init loads yaml config, configures the pagerduty client. func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, location *time.Location, dateTimeFormat string) error { var cfg config err := mapstructure.Decode(senderSettings, &cfg) @@ -35,8 +35,7 @@ func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, loca sender.frontURI = cfg.FrontURI - sender.imageStoreID, sender.imageStore, sender.imageStoreConfigured = - senders.ReadImageStoreConfig(senderSettings, sender.ImageStores, logger) + sender.imageStoreID, sender.imageStore, sender.imageStoreConfigured = senders.ReadImageStoreConfig(senderSettings, sender.ImageStores, logger) sender.logger = logger sender.location = location diff --git a/senders/pagerduty/init_test.go b/senders/pagerduty/init_test.go index 6d79d1053..df0ecbbe7 100644 --- a/senders/pagerduty/init_test.go +++ b/senders/pagerduty/init_test.go @@ -4,9 +4,9 @@ import ( "testing" "time" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" + "go.uber.org/mock/gomock" logging "github.com/moira-alert/moira/logging/zerolog_adapter" . "github.com/smartystreets/goconvey/convey" diff --git a/senders/pagerduty/send.go b/senders/pagerduty/send.go index 315eb4664..b5a971b77 100644 --- a/senders/pagerduty/send.go +++ b/senders/pagerduty/send.go @@ -15,12 +15,12 @@ import ( const summaryMaxChars = 1024 -// SendEvents implements Sender interface Send +// SendEvents implements Sender interface Send. func (sender *Sender) SendEvents(events moira.NotificationEvents, contact moira.ContactData, trigger moira.TriggerData, plots [][]byte, throttled bool) error { event := sender.buildEvent(events, contact, trigger, plots, throttled) _, err := pagerduty.ManageEventWithContext(context.Background(), event) if err != nil { - return fmt.Errorf("failed to post the event to the pagerduty contact %s : %s. ", contact.Value, err) + return fmt.Errorf("failed to post the event to the pagerduty contact %s : %w. ", contact.Value, err) } return nil } diff --git a/senders/pagerduty/send_test.go b/senders/pagerduty/send_test.go index 337369893..e9cd39ba4 100644 --- a/senders/pagerduty/send_test.go +++ b/senders/pagerduty/send_test.go @@ -5,8 +5,8 @@ import ( "time" "github.com/PagerDuty/go-pagerduty" - "github.com/golang/mock/gomock" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" + "go.uber.org/mock/gomock" "github.com/moira-alert/moira" . "github.com/smartystreets/goconvey/convey" diff --git a/senders/pushover/pushover.go b/senders/pushover/pushover.go index 8e87c1e15..d8f0c4b69 100644 --- a/senders/pushover/pushover.go +++ b/senders/pushover/pushover.go @@ -11,17 +11,19 @@ import ( "github.com/mitchellh/mapstructure" ) -const printEventsCount int = 5 -const titleLimit = 250 -const urlLimit = 512 +const ( + printEventsCount = 5 + titleLimit = 250 + urlLimit = 512 +) -// Structure that represents the Pushover configuration in the YAML file +// Structure that represents the Pushover configuration in the YAML file. type config struct { APIToken string `mapstructure:"api_token"` FrontURI string `mapstructure:"front_uri"` } -// Sender implements moira sender interface via pushover +// Sender implements moira sender interface via pushover. type Sender struct { logger moira.Logger location *time.Location @@ -31,7 +33,7 @@ type Sender struct { frontURI string } -// Init read yaml config +// Init read yaml config. func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, location *time.Location, dateTimeFormat string) error { var cfg config err := mapstructure.Decode(senderSettings, &cfg) @@ -50,7 +52,7 @@ func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, loca return nil } -// SendEvents implements pushover build and send message functionality +// SendEvents implements pushover build and send message functionality. func (sender *Sender) SendEvents(events moira.NotificationEvents, contact moira.ContactData, trigger moira.TriggerData, plots [][]byte, throttled bool) error { pushoverMessage := sender.makePushoverMessage(events, trigger, plots, throttled) diff --git a/senders/pushover/pushover_test.go b/senders/pushover/pushover_test.go index 96ea0b894..a25b6ccdd 100644 --- a/senders/pushover/pushover_test.go +++ b/senders/pushover/pushover_test.go @@ -149,7 +149,7 @@ func TestBuildTitle(t *testing.T) { Convey("Build title that exceeds the title limit", t, func() { var reallyLongTag string for i := 0; i < 30; i++ { - reallyLongTag = reallyLongTag + "randomstring" + reallyLongTag += "randomstring" } Convey("without throttling", func() { @@ -174,13 +174,14 @@ func TestMakePushoverMessage(t *testing.T) { logger: logger, } Convey("Just build PushoverMessage", t, func() { - event := []moira.NotificationEvent{{ - Values: map[string]float64{"t1": 123}, - Timestamp: 150000000, - Metric: "Metric", - OldState: moira.StateOK, - State: moira.StateERROR, - }, + event := []moira.NotificationEvent{ + { + Values: map[string]float64{"t1": 123}, + Timestamp: 150000000, + Metric: "Metric", + OldState: moira.StateOK, + State: moira.StateERROR, + }, } trigger := moira.TriggerData{ ID: "SomeID", diff --git a/senders/read_image_store_config.go b/senders/read_image_store_config.go index 8fcd97724..512256de5 100644 --- a/senders/read_image_store_config.go +++ b/senders/read_image_store_config.go @@ -6,7 +6,7 @@ import ( // ReadImageStoreConfig reads the image store config for a sender // from its settings and confirms whether that image store -// is configured +// is configured. func ReadImageStoreConfig(senderSettings interface{}, imageStores map[string]moira.ImageStore, logger moira.Logger) (string, moira.ImageStore, bool) { settings, ok := senderSettings.(map[string]interface{}) if !ok { diff --git a/senders/read_image_store_config_test.go b/senders/read_image_store_config_test.go index f749fbb54..5e2f7ce33 100644 --- a/senders/read_image_store_config_test.go +++ b/senders/read_image_store_config_test.go @@ -3,10 +3,10 @@ package senders import ( "testing" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) func TestReadImageStoreConfig(t *testing.T) { @@ -24,8 +24,7 @@ func TestReadImageStoreConfig(t *testing.T) { logger.EXPECT().Warning().Return(eventBuilder) eventBuilder.EXPECT().Msg("Cannot read image_store from the config, will not be able to attach plot images to alerts") - imageStoreID, imageStore, imageStoreConfigured := - ReadImageStoreConfig(map[string]interface{}{}, imageStores, logger) + imageStoreID, imageStore, imageStoreConfigured := ReadImageStoreConfig(map[string]interface{}{}, imageStores, logger) So(imageStoreConfigured, ShouldResemble, false) So(imageStoreID, ShouldResemble, "") So(imageStore, ShouldResemble, nil) @@ -36,8 +35,7 @@ func TestReadImageStoreConfig(t *testing.T) { eventBuilder.EXPECT().String("image_store_id", "s4").Return(eventBuilder) eventBuilder.EXPECT().Msg("Image store specified has not been configured") - imageStoreID, imageStore, imageStoreConfigured := - ReadImageStoreConfig(map[string]interface{}{"image_store": "s4"}, imageStores, logger) + imageStoreID, imageStore, imageStoreConfigured := ReadImageStoreConfig(map[string]interface{}{"image_store": "s4"}, imageStores, logger) So(imageStoreConfigured, ShouldResemble, false) So(imageStoreID, ShouldResemble, "") So(imageStore, ShouldResemble, nil) @@ -49,8 +47,7 @@ func TestReadImageStoreConfig(t *testing.T) { eventBuilder.EXPECT().Msg("Image store specified has not been configured") mockimageStore.EXPECT().IsEnabled().Return(false) - imageStoreID, imageStore, imageStoreConfigured := - ReadImageStoreConfig(map[string]interface{}{"image_store": "s3"}, imageStores, logger) + imageStoreID, imageStore, imageStoreConfigured := ReadImageStoreConfig(map[string]interface{}{"image_store": "s3"}, imageStores, logger) So(imageStoreConfigured, ShouldResemble, false) So(imageStoreID, ShouldResemble, "") So(imageStore, ShouldResemble, nil) @@ -58,8 +55,7 @@ func TestReadImageStoreConfig(t *testing.T) { Convey("image store is configured", func() { mockimageStore.EXPECT().IsEnabled().Return(true) - imageStoreID, imageStore, imageStoreConfigured := - ReadImageStoreConfig(map[string]interface{}{"image_store": "s3"}, imageStores, logger) + imageStoreID, imageStore, imageStoreConfigured := ReadImageStoreConfig(map[string]interface{}{"image_store": "s3"}, imageStores, logger) So(imageStoreConfigured, ShouldResemble, true) So(imageStoreID, ShouldResemble, "s3") So(imageStore, ShouldResemble, mockimageStore) diff --git a/senders/script/script.go b/senders/script/script.go index 6d55e09ad..c78e37dde 100644 --- a/senders/script/script.go +++ b/senders/script/script.go @@ -13,13 +13,12 @@ import ( "github.com/moira-alert/moira" ) -// Structure that represents the Script configuration in the YAML file +// Structure that represents the Script configuration in the YAML file. type config struct { - Name string `mapstructure:"name"` Exec string `mapstructure:"exec"` } -// Sender implements moira sender interface via script execution +// Sender implements moira sender interface via script execution. type Sender struct { exec string logger moira.Logger @@ -33,7 +32,7 @@ type scriptNotification struct { Timestamp int64 `json:"timestamp"` } -// Init read yaml config +// Init read yaml config. func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, location *time.Location, dateTimeFormat string) error { var cfg config err := mapstructure.Decode(senderSettings, &cfg) @@ -41,19 +40,18 @@ func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, loca return fmt.Errorf("failed to decode senderSettings to script config: %w", err) } - if cfg.Name == "" { - return fmt.Errorf("required name for sender type script") - } _, _, err = parseExec(cfg.Exec) if err != nil { return err } + sender.exec = cfg.Exec sender.logger = logger + return nil } -// SendEvents implements Sender interface Send +// SendEvents implements Sender interface Send. func (sender *Sender) SendEvents(events moira.NotificationEvents, contact moira.ContactData, trigger moira.TriggerData, plots [][]byte, throttled bool) error { scriptFile, args, scriptBody, err := sender.buildCommandData(events, contact, trigger, throttled) if err != nil { @@ -125,7 +123,7 @@ func buildExecString(template string, trigger moira.TriggerData, contact moira.C moira.VariableTriggerName: trigger.Name, } for k, v := range templateVariables { - template = strings.Replace(template, k, v, -1) + template = strings.ReplaceAll(template, k, v) } return template } diff --git a/senders/script/script_test.go b/senders/script/script_test.go index 05564e0a2..0c2d5cb67 100644 --- a/senders/script/script_test.go +++ b/senders/script/script_test.go @@ -49,13 +49,7 @@ func TestInit(t *testing.T) { Convey("Init tests", t, func() { sender := Sender{} settings := map[string]interface{}{} - Convey("Empty map", func() { - err := sender.Init(settings, logger, nil, "") - So(err, ShouldResemble, fmt.Errorf("required name for sender type script")) - So(sender, ShouldResemble, Sender{}) - }) - settings["name"] = "script_name" Convey("Empty exec", func() { err := sender.Init(settings, logger, nil, "") So(err, ShouldResemble, fmt.Errorf("file not found")) diff --git a/senders/selfstate/selfstate.go b/senders/selfstate/selfstate.go index 04f86bc92..4e69197dd 100644 --- a/senders/selfstate/selfstate.go +++ b/senders/selfstate/selfstate.go @@ -7,19 +7,19 @@ import ( "github.com/moira-alert/moira" ) -// Sender implements moira sender interface via selfstate +// Sender implements moira sender interface via selfstate. type Sender struct { Database moira.Database logger moira.Logger } -// Init read yaml config +// Init read yaml config. func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, location *time.Location, dateTimeFormat string) error { sender.logger = logger return nil } -// SendEvents implements Sender interface Send +// SendEvents implements Sender interface Send. func (sender *Sender) SendEvents(events moira.NotificationEvents, contact moira.ContactData, trigger moira.TriggerData, plots [][]byte, throttled bool) error { selfState, err := sender.Database.GetNotifierState() if err != nil { diff --git a/senders/selfstate/selfstate_test.go b/senders/selfstate/selfstate_test.go index d64e13462..dece53d94 100644 --- a/senders/selfstate/selfstate_test.go +++ b/senders/selfstate/selfstate_test.go @@ -4,8 +4,8 @@ import ( "fmt" "testing" - "github.com/golang/mock/gomock" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" "github.com/moira-alert/moira" logging "github.com/moira-alert/moira/logging/zerolog_adapter" diff --git a/senders/slack/slack.go b/senders/slack/slack.go index bdb43f899..54f960c90 100644 --- a/senders/slack/slack.go +++ b/senders/slack/slack.go @@ -3,60 +3,50 @@ package slack import ( "bytes" "fmt" - "strings" "time" - slackdown "github.com/karriereat/blackfriday-slack" + "github.com/moira-alert/moira/senders/msgformat" + "github.com/mitchellh/mapstructure" + slackdown "github.com/moira-alert/blackfriday-slack" "github.com/moira-alert/moira" - "github.com/moira-alert/moira/senders" - blackfriday "github.com/russross/blackfriday/v2" + "github.com/moira-alert/moira/senders/emoji_provider" slack_client "github.com/slack-go/slack" ) const ( - okEmoji = ":moira-state-ok:" - warnEmoji = ":moira-state-warn:" - errorEmoji = ":moira-state-error:" - nodataEmoji = ":moira-state-nodata:" - exceptionEmoji = ":moira-state-exception:" - testEmoji = ":moira-state-test:" - messageMaxCharacters = 4000 - //see errors https://api.slack.com/methods/chat.postMessage + // see errors https://api.slack.com/methods/chat.postMessage ErrorTextChannelArchived = "is_archived" ErrorTextChannelNotFound = "channel_not_found" ErrorTextNotInChannel = "not_in_channel" ) -var stateEmoji = map[moira.State]string{ - moira.StateOK: okEmoji, - moira.StateWARN: warnEmoji, - moira.StateERROR: errorEmoji, - moira.StateNODATA: nodataEmoji, - moira.StateEXCEPTION: exceptionEmoji, - moira.StateTEST: testEmoji, -} +var ( + codeBlockStart = "```" + codeBlockEnd = "```" +) -// Structure that represents the Slack configuration in the YAML file +// Structure that represents the Slack configuration in the YAML file. type config struct { - APIToken string `mapstructure:"api_token"` - UseEmoji bool `mapstructure:"use_emoji"` - FrontURI string `mapstructure:"front_uri"` + APIToken string `mapstructure:"api_token"` + UseEmoji bool `mapstructure:"use_emoji"` + FrontURI string `mapstructure:"front_uri"` + DefaultEmoji string `mapstructure:"default_emoji"` + EmojiMap map[string]string `mapstructure:"emoji_map"` } -// Sender implements moira sender interface via slack +// Sender implements moira sender interface via slack. type Sender struct { - frontURI string - useEmoji bool - logger moira.Logger - location *time.Location - client *slack_client.Client + emojiProvider emoji_provider.StateEmojiGetter + logger moira.Logger + client *slack_client.Client + formatter msgformat.MessageFormatter } -// Init read yaml config +// Init read yaml config. func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, location *time.Location, dateTimeFormat string) error { var cfg config err := mapstructure.Decode(senderSettings, &cfg) @@ -67,21 +57,34 @@ func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, loca if cfg.APIToken == "" { return fmt.Errorf("can not read slack api_token from config") } - sender.useEmoji = cfg.UseEmoji + emojiProvider, err := emoji_provider.NewEmojiProvider(cfg.DefaultEmoji, cfg.EmojiMap) + if err != nil { + return fmt.Errorf("cannot initialize slack sender, err: %w", err) + } sender.logger = logger - sender.frontURI = cfg.FrontURI - sender.location = location + sender.emojiProvider = emojiProvider + sender.formatter = msgformat.NewHighlightSyntaxFormatter( + emojiProvider, + cfg.UseEmoji, + cfg.FrontURI, + location, + uriFormatter, + descriptionFormatter, + boldFormatter, + eventStringFormatter, + codeBlockStart, + codeBlockEnd) sender.client = slack_client.New(cfg.APIToken) return nil } -// SendEvents implements Sender interface Send +// SendEvents implements Sender interface Send. func (sender *Sender) SendEvents(events moira.NotificationEvents, contact moira.ContactData, trigger moira.TriggerData, plots [][]byte, throttled bool) error { message := sender.buildMessage(events, trigger, throttled) useDirectMessaging := useDirectMessaging(contact.Value) state := events.GetCurrentState(throttled) - emoji := sender.getStateEmoji(state) + emoji := sender.emojiProvider.GetStateEmoji(state) channelID, threadTimestamp, err := sender.sendMessage(message, contact.Value, trigger.ID, useDirectMessaging, emoji) if err != nil { @@ -103,106 +106,39 @@ func (sender *Sender) SendEvents(events moira.NotificationEvents, contact moira. } func (sender *Sender) buildMessage(events moira.NotificationEvents, trigger moira.TriggerData, throttled bool) string { - var message strings.Builder - - title := sender.buildTitle(events, trigger, throttled) - titleLen := len([]rune(title)) - - desc := sender.buildDescription(trigger) - descLen := len([]rune(desc)) - - eventsString := sender.buildEventsString(events, -1, throttled) - eventsStringLen := len([]rune(eventsString)) - - charsLeftAfterTitle := messageMaxCharacters - titleLen - - descNewLen, eventsNewLen := senders.CalculateMessagePartsLength(charsLeftAfterTitle, descLen, eventsStringLen) - - if descLen != descNewLen { - desc = desc[:descNewLen] + "...\n" - } - if eventsNewLen != eventsStringLen { - eventsString = sender.buildEventsString(events, eventsNewLen, throttled) - } + return sender.formatter.Format(msgformat.MessageFormatterParams{ + Events: events, + Trigger: trigger, + MessageMaxChars: messageMaxCharacters, + Throttled: throttled, + }) +} - message.WriteString(title) - message.WriteString(desc) - message.WriteString(eventsString) - return message.String() +func uriFormatter(triggerURI, triggerName string) string { + return fmt.Sprintf("<%s|%s>", triggerURI, triggerName) } -func (sender *Sender) buildDescription(trigger moira.TriggerData) string { +func descriptionFormatter(trigger moira.TriggerData) string { desc := trigger.Desc if trigger.Desc != "" { - desc = string(blackfriday.Run([]byte(desc), blackfriday.WithRenderer(&slackdown.Renderer{}))) + desc = string(slackdown.Run([]byte(desc))) desc += "\n" } return desc } -func (sender *Sender) buildTitle(events moira.NotificationEvents, trigger moira.TriggerData, throttled bool) string { - state := events.GetCurrentState(throttled) - title := fmt.Sprintf("*%s*", state) - triggerURI := trigger.GetTriggerURI(sender.frontURI) - - if triggerURI != "" { - title += fmt.Sprintf(" <%s|%s>", triggerURI, trigger.Name) - } else if trigger.Name != "" { - title += " " + trigger.Name - } - - tags := trigger.GetTags() - if tags != "" { - title += " " + tags - } - - title += "\n" - return title +func boldFormatter(str string) string { + return fmt.Sprintf("*%s*", str) } -// buildEventsString builds the string from moira events and limits it to charsForEvents. -// if n is negative buildEventsString does not limit the events string -func (sender *Sender) buildEventsString(events moira.NotificationEvents, charsForEvents int, throttled bool) string { - charsForThrottleMsg := 0 - throttleMsg := "\nPlease, *fix your system or tune this trigger* to generate less events." - if throttled { - charsForThrottleMsg = len([]rune(throttleMsg)) - } - charsLeftForEvents := charsForEvents - charsForThrottleMsg - - var eventsString string - eventsString += "```" - var tailString string - - eventsLenLimitReached := false - eventsPrinted := 0 - for _, event := range events { - line := fmt.Sprintf("\n%s: %s = %s (%s to %s)", event.FormatTimestamp(sender.location, moira.DefaultTimeFormat), event.Metric, event.GetMetricsValues(moira.DefaultNotificationSettings), event.OldState, event.State) - if msg := event.CreateMessage(sender.location); len(msg) > 0 { - line += fmt.Sprintf(". %s", msg) - } - - tailString = fmt.Sprintf("\n...and %d more events.", len(events)-eventsPrinted) - tailStringLen := len([]rune("```")) + len([]rune(tailString)) - if !(charsForEvents < 0) && (len([]rune(eventsString))+len([]rune(line)) > charsLeftForEvents-tailStringLen) { - eventsLenLimitReached = true - break - } - - eventsString += line - eventsPrinted++ - } - eventsString += "```" - - if eventsLenLimitReached { - eventsString += tailString - } - - if throttled { - eventsString += throttleMsg - } - - return eventsString +func eventStringFormatter(event moira.NotificationEvent, loc *time.Location) string { + return fmt.Sprintf( + "%s: %s = %s (%s to %s)", + event.FormatTimestamp(loc, moira.DefaultTimeFormat), + event.Metric, + event.GetMetricsValues(moira.DefaultNotificationSettings), + event.OldState, + event.State) } func (sender *Sender) sendMessage(message string, contact string, triggerID string, useDirectMessaging bool, emoji string) (string, string, error) { @@ -252,17 +188,7 @@ func (sender *Sender) sendPlots(plots [][]byte, channelID, threadTimestamp, trig return nil } -// getStateEmoji returns corresponding state emoji -func (sender *Sender) getStateEmoji(subjectState moira.State) string { - if sender.useEmoji { - if emoji, ok := stateEmoji[subjectState]; ok { - return emoji - } - } - return slack_client.DEFAULT_MESSAGE_ICON_EMOJI -} - -// useDirectMessaging returns true if user contact is provided +// useDirectMessaging returns true if user contact is provided. func useDirectMessaging(contactValue string) bool { return len(contactValue) > 0 && contactValue[0:1] == "@" } diff --git a/senders/slack/slack_test.go b/senders/slack/slack_test.go index c368d178e..ac58d2f68 100644 --- a/senders/slack/slack_test.go +++ b/senders/slack/slack_test.go @@ -1,14 +1,12 @@ package slack import ( - "fmt" "strings" "testing" "time" "github.com/moira-alert/moira" logging "github.com/moira-alert/moira/logging/zerolog_adapter" - slack_client "github.com/slack-go/slack" . "github.com/smartystreets/goconvey/convey" ) @@ -19,33 +17,17 @@ func TestInit(t *testing.T) { senderSettings := map[string]interface{}{} Convey("Empty map", func() { err := sender.Init(senderSettings, logger, nil, "") - So(err, ShouldResemble, fmt.Errorf("can not read slack api_token from config")) - So(sender, ShouldResemble, Sender{}) + So(err, ShouldNotBeNil) + }) + + Convey("has empty api_token", func() { + senderSettings["api_token"] = "" + err := sender.Init(senderSettings, logger, nil, "") + So(err, ShouldNotBeNil) }) Convey("has api_token", func() { senderSettings["api_token"] = "123" - client := slack_client.New("123") - - Convey("use_emoji not set", func() { - err := sender.Init(senderSettings, logger, nil, "") - So(err, ShouldBeNil) - So(sender, ShouldResemble, Sender{logger: logger, client: client}) - }) - - Convey("use_emoji set to false", func() { - senderSettings["use_emoji"] = false - err := sender.Init(senderSettings, logger, nil, "") - So(err, ShouldBeNil) - So(sender, ShouldResemble, Sender{logger: logger, client: client}) - }) - - Convey("use_emoji set to true", func() { - senderSettings["use_emoji"] = true - err := sender.Init(senderSettings, logger, nil, "") - So(err, ShouldBeNil) - So(sender, ShouldResemble, Sender{logger: logger, useEmoji: true, client: client}) - }) Convey("use_emoji set to something wrong", func() { senderSettings["use_emoji"] = 123 @@ -65,28 +47,20 @@ func TestUseDirectMessaging(t *testing.T) { }) } -func TestGetStateEmoji(t *testing.T) { - sender := Sender{} - Convey("Use emoji is false", t, func() { - So(sender.getStateEmoji(moira.StateERROR), ShouldResemble, "") - }) - - Convey("Use emoji is true", t, func() { - sender := Sender{useEmoji: true} - So(sender.getStateEmoji(moira.StateOK), ShouldResemble, okEmoji) - So(sender.getStateEmoji(moira.StateWARN), ShouldResemble, warnEmoji) - So(sender.getStateEmoji(moira.StateERROR), ShouldResemble, errorEmoji) - So(sender.getStateEmoji(moira.StateNODATA), ShouldResemble, nodataEmoji) - So(sender.getStateEmoji(moira.StateEXCEPTION), ShouldResemble, exceptionEmoji) - So(sender.getStateEmoji(moira.StateTEST), ShouldResemble, testEmoji) - }) -} - func TestBuildMessage(t *testing.T) { + logger, _ := logging.ConfigureLog("stdout", "debug", "test", true) location, _ := time.LoadLocation("UTC") - sender := Sender{location: location, frontURI: "http://moira.url"} Convey("Build Moira Message tests", t, func() { + sender := &Sender{} + senderSettings := map[string]interface{}{ + "use_emoji": false, + "front_uri": "http://moira.url", + "api_token": "qwerty", + } + initErr := sender.Init(senderSettings, logger, location, moira.DefaultDateTimeFormat) + So(initErr, ShouldBeNil) + event := moira.NotificationEvent{ TriggerID: "TriggerID", Values: map[string]float64{"t1": 123}, @@ -116,13 +90,13 @@ some other text italic text Convey("Print moira message with one event", func() { actual := sender.buildMessage([]moira.NotificationEvent{event}, trigger, false) expected := "*NODATA* [tag1][tag2]\n" + slackCompatibleMD + - "\n\n```\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)```" + "\n\n```\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n```" So(actual, ShouldResemble, expected) }) Convey("Print moira message with empty trigger", func() { actual := sender.buildMessage([]moira.NotificationEvent{event}, moira.TriggerData{}, false) - expected := "*NODATA*\n```\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)```" + expected := "*NODATA*\n```\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n```" So(actual, ShouldResemble, expected) }) @@ -131,27 +105,27 @@ some other text italic text event.MessageEventInfo = &moira.EventInfo{Interval: &interval} actual := sender.buildMessage([]moira.NotificationEvent{event}, trigger, false) expected := "*NODATA* [tag1][tag2]\n" + slackCompatibleMD + - "\n\n```\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA). This metric has been in bad state for more than 24 hours - please, fix.```" + "\n\n```\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA). This metric has been in bad state for more than 24 hours - please, fix.\n```" So(actual, ShouldResemble, expected) }) Convey("Print moira message with one event and throttled", func() { actual := sender.buildMessage([]moira.NotificationEvent{event}, trigger, true) expected := "*NODATA* [tag1][tag2]\n" + slackCompatibleMD + - "\n\n```\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)```\nPlease, *fix your system or tune this trigger* to generate less events." + "\n\n```\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n```\nPlease, *fix your system or tune this trigger* to generate less events." So(actual, ShouldResemble, expected) }) Convey("Print moira message with 6 events", func() { actual := sender.buildMessage([]moira.NotificationEvent{event, event, event, event, event, event}, trigger, false) expected := "*NODATA* [tag1][tag2]\n" + slackCompatibleMD + - "\n\n```\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)```" + "\n\n```\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n```" So(actual, ShouldResemble, expected) }) Convey("Print moira message with empty triggerID, but with trigger name", func() { actual := sender.buildMessage([]moira.NotificationEvent{event}, moira.TriggerData{Name: "Name"}, false) - expected := "*NODATA* Name\n```\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)```" + expected := "*NODATA* Name\n```\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n```" So(actual, ShouldResemble, expected) }) @@ -175,7 +149,7 @@ some other text italic text Convey("Print moira message with desc + events < msgLimit", func() { actual := sender.buildMessage(shortEvents, moira.TriggerData{Desc: longDesc}, false) - expected := "*NODATA*\n" + longDesc + "\n```" + shortEventsString + "```" + expected := "*NODATA*\n" + longDesc + "\n```" + shortEventsString + "\n```" So(actual, ShouldResemble, expected) }) @@ -187,28 +161,26 @@ some other text italic text eventsString += eventLine } actual := sender.buildMessage(events, moira.TriggerData{Desc: longDesc}, false) - expected := "*NODATA*\naaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...\n```\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)```" + expected := "*NODATA*\naaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...\n```\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n```" So(actual, ShouldResemble, expected) }) Convey("Print moira message events string > msgLimit/2", func() { desc := strings.Repeat("a", messageMaxCharacters/2-100) actual := sender.buildMessage(longEvents, moira.TriggerData{Desc: desc}, false) - expected := "*NODATA*\naaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n```\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)```\n...and 3 more events." + expected := "*NODATA*\naaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n```\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n```\n...and 3 more events." So(actual, ShouldResemble, expected) }) Convey("Print moira message with both desc and events > msgLimit/2", func() { actual := sender.buildMessage(longEvents, moira.TriggerData{Desc: longDesc}, false) - expected := "*NODATA*\naaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...\n```\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)```\n...and 5 more events." + expected := "*NODATA*\naaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...\n```\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n02:40 (GMT+00:00): Metric = 123 (OK to NODATA)\n```\n...and 5 more events." So(actual, ShouldResemble, expected) }) }) } func TestBuildDescription(t *testing.T) { - location, _ := time.LoadLocation("UTC") - sender := Sender{location: location, frontURI: "http://moira.url"} Convey("Build desc tests", t, func() { trigger := moira.TriggerData{ Desc: `# header1 @@ -225,15 +197,34 @@ some other text italic text ` Convey("Build empty desc", func() { - actual := sender.buildDescription(moira.TriggerData{Desc: ""}) + actual := descriptionFormatter(moira.TriggerData{Desc: ""}) expected := "" So(actual, ShouldResemble, expected) }) Convey("Build desc with headers and bold", func() { - actual := sender.buildDescription(trigger) + actual := descriptionFormatter(trigger) expected := slackCompatibleMD + "\n\n" So(actual, ShouldResemble, expected) }) }) + + Convey("Build desc with lists", t, func() { + trigger := moira.TriggerData{ + Desc: ` +1. a +`, + } + + expected := ` 1. a + + +` + + Convey("Expect descriptionFormatter not to panic", func() { + actual := descriptionFormatter(trigger) + + So(actual, ShouldEqual, expected) + }) + }) } diff --git a/senders/telegram/emoji_provider.go b/senders/telegram/emoji_provider.go new file mode 100644 index 000000000..05bd63431 --- /dev/null +++ b/senders/telegram/emoji_provider.go @@ -0,0 +1,18 @@ +package telegram + +import "github.com/moira-alert/moira" + +var emojiStates = map[moira.State]string{ + moira.StateOK: "\xe2\x9c\x85", + moira.StateWARN: "\xe2\x9a\xa0", + moira.StateERROR: "\xe2\xad\x95", + moira.StateNODATA: "\xf0\x9f\x92\xa3", + moira.StateTEST: "\xf0\x9f\x98\x8a", +} + +type telegramEmojiProvider struct{} + +// GetStateEmoji returns emoji suitable for moira.State. +func (_ telegramEmojiProvider) GetStateEmoji(subjectState moira.State) string { + return emojiStates[subjectState] +} diff --git a/senders/telegram/handle_message.go b/senders/telegram/handle_message.go index ba24a2c99..86de1644b 100644 --- a/senders/telegram/handle_message.go +++ b/senders/telegram/handle_message.go @@ -5,20 +5,22 @@ import ( "strconv" "strings" - "gopkg.in/tucnak/telebot.v2" + "gopkg.in/telebot.v3" ) -// handleMessage handles incoming messages to start sending events to subscribers chats +// handleMessage handles incoming messages to start sending events to subscribers chats. func (sender *Sender) handleMessage(message *telebot.Message) error { responseMessage, err := sender.getResponseMessage(message) if err != nil { return err } + if responseMessage != "" { - if _, err = sender.bot.Send(message.Chat, responseMessage); err != nil { - return removeTokenFromError(err, sender.bot) + if _, err = sender.bot.Reply(message, responseMessage); err != nil { + return sender.removeTokenFromError(err) } } + return nil } @@ -29,20 +31,28 @@ func (sender *Sender) getResponseMessage(message *telebot.Message) (string, erro if message.Chat.Username == "" { return "Username is empty. Please add username in Telegram.", nil } - err := sender.DataBase.SetUsernameID(messenger, "@"+message.Chat.Username, chatID) - if err != nil { + + if err := sender.setChat(message); err != nil { return "", err } + return fmt.Sprintf("Okay, %s, your id is %s", strings.Trim(fmt.Sprintf("%s %s", message.Sender.FirstName, message.Sender.LastName), " "), chatID), nil - case message.Chat.Type == telebot.ChatSuperGroup || message.Chat.Type == telebot.ChatGroup: - err := sender.DataBase.SetUsernameID(messenger, message.Chat.Title, chatID) + case (message.Chat.Type == telebot.ChatSuperGroup || message.Chat.Type == telebot.ChatGroup): + contactValue, err := sender.getContactValueByMessage(message) if err != nil { + return "", fmt.Errorf("failed to get contact value from message: %w", err) + } + + if err = sender.setChat(message); err != nil { return "", err } + if strings.HasPrefix(message.Text, "/start") { - return fmt.Sprintf("Hi, all!\nI will send alerts in this group (%s).", message.Chat.Title), nil + return fmt.Sprintf("Hi, all!\nI will send alerts in this group (%s).", contactValue), nil } + return "", nil } + return "I don't understand you :(", nil } diff --git a/senders/telegram/handle_message_test.go b/senders/telegram/handle_message_test.go index d5f74ea1d..2a853a872 100644 --- a/senders/telegram/handle_message_test.go +++ b/senders/telegram/handle_message_test.go @@ -4,20 +4,21 @@ import ( "fmt" "testing" - "github.com/golang/mock/gomock" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" + mock_telegram "github.com/moira-alert/moira/mock/notifier/telegram" . "github.com/smartystreets/goconvey/convey" - "gopkg.in/tucnak/telebot.v2" + "go.uber.org/mock/gomock" + "gopkg.in/telebot.v3" ) func TestGetResponseMessage(t *testing.T) { mockCtrl := gomock.NewController(t) defer mockCtrl.Finish() dataBase := mock_moira_alert.NewMockDatabase(mockCtrl) - bot := telebot.Bot{Me: &telebot.User{Username: "MoiraBot"}} + bot := mock_telegram.NewMockBot(mockCtrl) Convey("Test get response message", t, func() { - sender := Sender{DataBase: dataBase, bot: &bot} + sender := Sender{DataBase: dataBase, bot: bot} Convey("Private chat and bad message", func() { message := &telebot.Message{ Chat: &telebot.Chat{ @@ -63,14 +64,14 @@ func TestGetResponseMessage(t *testing.T) { Convey("has username", func() { message.Chat.Username = "User" Convey("error while save username", func() { - dataBase.EXPECT().SetUsernameID(messenger, "@User", "123").Return(fmt.Errorf("error =(")) + dataBase.EXPECT().SetUsernameChat(messenger, "@User", `{"chat_id":123}`).Return(fmt.Errorf("error =(")) response, err := sender.getResponseMessage(message) - So(err, ShouldResemble, fmt.Errorf("error =(")) + So(err.Error(), ShouldResemble, "failed to set username chat: error =(") So(response, ShouldBeEmpty) }) Convey("success send", func() { - dataBase.EXPECT().SetUsernameID(messenger, "@User", "123").Return(nil) + dataBase.EXPECT().SetUsernameChat(messenger, "@User", `{"chat_id":123}`).Return(nil) response, err := sender.getResponseMessage(message) So(err, ShouldBeNil) So(response, ShouldResemble, "Okay, FirstName LastName, your id is 123") @@ -97,18 +98,18 @@ func TestGetResponseMessage(t *testing.T) { } messages := []*telebot.Message{groupMessage, superGroupMessage} - Convey("SetUsernameID returns error", func() { + Convey("SetUsernameChat returns error", func() { for _, message := range messages { - dataBase.EXPECT().SetUsernameID(messenger, message.Chat.Title, fmt.Sprint(message.Chat.ID)).Return(fmt.Errorf("error")) + dataBase.EXPECT().SetUsernameChat(messenger, message.Chat.Title, fmt.Sprintf(`{"chat_id":%d}`, message.Chat.ID)).Return(fmt.Errorf("error")) response, err := sender.getResponseMessage(message) - So(err, ShouldResemble, fmt.Errorf("error")) + So(err.Error(), ShouldResemble, "failed to set username chat: error") So(response, ShouldBeEmpty) } }) - Convey("SetUsernameID returns empty error", func() { + Convey("SetUsernameChat returns empty error", func() { for _, message := range messages { - dataBase.EXPECT().SetUsernameID(messenger, message.Chat.Title, fmt.Sprint(message.Chat.ID)).Return(nil) + dataBase.EXPECT().SetUsernameChat(messenger, message.Chat.Title, fmt.Sprintf(`{"chat_id":%d}`, message.Chat.ID)).Return(nil) response, err := sender.getResponseMessage(message) So(err, ShouldBeNil) So(response, ShouldResemble, fmt.Sprintf("Hi, all!\nI will send alerts in this group (%s).", message.Chat.Title)) @@ -134,7 +135,7 @@ func TestGetResponseMessage(t *testing.T) { } wrongMessages := []*telebot.Message{wrongGroupMessage, wrongSuperGroupMessage} for _, message := range wrongMessages { - dataBase.EXPECT().SetUsernameID(messenger, message.Chat.Title, fmt.Sprint(message.Chat.ID)).Return(nil) + dataBase.EXPECT().SetUsernameChat(messenger, message.Chat.Title, fmt.Sprintf(`{"chat_id":%d}`, message.Chat.ID)).Return(nil) response, err := sender.getResponseMessage(message) So(err, ShouldBeNil) So(response, ShouldResemble, "") diff --git a/senders/telegram/init.go b/senders/telegram/init.go index e477f3e4d..7815437e8 100644 --- a/senders/telegram/init.go +++ b/senders/telegram/init.go @@ -3,62 +3,68 @@ package telegram import ( "errors" "fmt" + "html" "strings" "time" + "github.com/moira-alert/moira/senders/msgformat" + "github.com/mitchellh/mapstructure" "github.com/moira-alert/moira" "github.com/moira-alert/moira/worker" - "gopkg.in/tucnak/telebot.v2" + "gopkg.in/telebot.v3" ) const ( - telegramLockName = "moira-telegram-users:moira-bot-host" - workerName = "Telebot" - messenger = "telegram" - telegramLockTTL = 30 * time.Second - hidden = "[DATA DELETED]" + telegramLockPrefix = "moira-telegram-users:moira-bot-host:" + workerName = "Telebot" + messenger = "telegram" + telegramLockTTL = 30 * time.Second + hidden = "[DATA DELETED]" ) var ( - pollerTimeout = 10 * time.Second - emojiStates = map[moira.State]string{ - moira.StateOK: "\xe2\x9c\x85", - moira.StateWARN: "\xe2\x9a\xa0", - moira.StateERROR: "\xe2\xad\x95", - moira.StateNODATA: "\xf0\x9f\x92\xa3", - moira.StateTEST: "\xf0\x9f\x98\x8a", - } + codeBlockStart = "
" + codeBlockEnd = "
" ) -// Structure that represents the Telegram configuration in the YAML file +var pollerTimeout = 10 * time.Second + +// Structure that represents the Telegram configuration in the YAML file. type config struct { - APIToken string `mapstructure:"api_token"` - FrontURI string `mapstructure:"front_uri"` + ContactType string `mapstructure:"contact_type"` + APIToken string `mapstructure:"api_token"` + FrontURI string `mapstructure:"front_uri"` } -// Sender implements moira sender interface via telegram +// Bot is abstraction over gopkg.in/telebot.v3#Bot. +type Bot interface { + Handle(endpoint interface{}, h telebot.HandlerFunc, m ...telebot.MiddlewareFunc) + Start() + Stop() + Send(to telebot.Recipient, what interface{}, opts ...interface{}) (*telebot.Message, error) + SendAlbum(to telebot.Recipient, a telebot.Album, opts ...interface{}) ([]telebot.Message, error) + Reply(to *telebot.Message, what interface{}, opts ...interface{}) (*telebot.Message, error) + ChatByUsername(name string) (*telebot.Chat, error) +} + +// Sender implements moira sender interface via telegram. type Sender struct { - DataBase moira.Database - logger moira.Logger - apiToken string - frontURI string - bot *telebot.Bot - location *time.Location + DataBase moira.Database + logger moira.Logger + bot Bot + formatter msgformat.MessageFormatter + apiToken string } -func removeTokenFromError(err error, bot *telebot.Bot) error { - url := telebot.DefaultApiURL - if bot != nil { - url = bot.URL - } - if err != nil && strings.Contains(err.Error(), url) { - return errors.New(moira.ReplaceSubstring(err.Error(), "/bot", "/", hidden)) +func (sender *Sender) removeTokenFromError(err error) error { + if err != nil && strings.Contains(err.Error(), sender.apiToken) { + return errors.New(strings.Replace(err.Error(), sender.apiToken, hidden, -1)) } return err } -// Init loads yaml config, configures and starts telegram bot +// Init loads yaml config, configures and starts telegram bot. func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, location *time.Location, dateTimeFormat string) error { var cfg config err := mapstructure.Decode(senderSettings, &cfg) @@ -70,31 +76,47 @@ func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, loca return fmt.Errorf("can not read telegram api_token from config") } sender.apiToken = cfg.APIToken - sender.frontURI = cfg.FrontURI + + emojiProvider := telegramEmojiProvider{} + sender.formatter = msgformat.NewHighlightSyntaxFormatter( + emojiProvider, + true, + cfg.FrontURI, + location, + urlFormatter, + emptyDescriptionFormatter, + boldFormatter, + eventStringFormatter, + codeBlockStart, + codeBlockEnd) + sender.logger = logger - sender.location = location sender.bot, err = telebot.NewBot(telebot.Settings{ - Token: sender.apiToken, + Token: cfg.APIToken, Poller: &telebot.LongPoller{Timeout: pollerTimeout}, }) if err != nil { - return removeTokenFromError(err, sender.bot) + return sender.removeTokenFromError(err) } - sender.bot.Handle(telebot.OnText, func(message *telebot.Message) { - if err = sender.handleMessage(message); err != nil { + sender.bot.Handle(telebot.OnText, func(ctx telebot.Context) error { + if err = sender.handleMessage(ctx.Message()); err != nil { sender.logger.Error(). Error(err). - Msg("Error handling incoming message: %s") + Msg("Error handling incoming message") + return err } + return nil }) - go sender.runTelebot() + + go sender.runTelebot(cfg.ContactType) + return nil } // runTelebot starts telegram bot and manages bot subscriptions -// to make sure there is always only one working Poller -func (sender *Sender) runTelebot() { +// to make sure there is always only one working Poller. +func (sender *Sender) runTelebot(contactType string) { workerAction := func(stop <-chan struct{}) error { sender.bot.Start() <-stop @@ -105,7 +127,33 @@ func (sender *Sender) runTelebot() { worker.NewWorker( workerName, sender.logger, - sender.DataBase.NewLock(telegramLockName, telegramLockTTL), + sender.DataBase.NewLock(telegramLockKey(contactType), telegramLockTTL), workerAction, ).Run(nil) } + +func telegramLockKey(contactType string) string { + return telegramLockPrefix + contactType +} + +func urlFormatter(triggerURI, triggerName string) string { + return fmt.Sprintf("%s", triggerURI, html.EscapeString(triggerName)) +} + +func emptyDescriptionFormatter(trigger moira.TriggerData) string { + return "" +} + +func boldFormatter(str string) string { + return fmt.Sprintf("%s", html.EscapeString(str)) +} + +func eventStringFormatter(event moira.NotificationEvent, loc *time.Location) string { + return fmt.Sprintf( + "%s: %s = %s (%s to %s)", + event.FormatTimestamp(loc, moira.DefaultTimeFormat), + html.EscapeString(event.Metric), + html.EscapeString(event.GetMetricsValues(moira.DefaultNotificationSettings)), + event.OldState, + event.State) +} diff --git a/senders/telegram/init_test.go b/senders/telegram/init_test.go index 3542fc13f..f55cdfcd0 100644 --- a/senders/telegram/init_test.go +++ b/senders/telegram/init_test.go @@ -26,10 +26,8 @@ func TestInit(t *testing.T) { "front_uri": "http://moira.uri", } sender.Init(senderSettings, logger, location, "15:04") //nolint - So(sender.apiToken, ShouldResemble, "123") - So(sender.frontURI, ShouldResemble, "http://moira.uri") So(sender.logger, ShouldResemble, logger) - So(sender.location, ShouldResemble, location) + So(sender.apiToken, ShouldResemble, "123") }) }) } diff --git a/senders/telegram/send.go b/senders/telegram/send.go index 9e557a58a..59ba82ba7 100644 --- a/senders/telegram/send.go +++ b/senders/telegram/send.go @@ -2,10 +2,14 @@ package telegram import ( "bytes" + "encoding/json" + "errors" "fmt" + "strconv" "strings" - "gopkg.in/tucnak/telebot.v2" + "github.com/moira-alert/moira/senders/msgformat" + "gopkg.in/telebot.v3" "github.com/moira-alert/moira" ) @@ -13,16 +17,15 @@ import ( type messageType string const ( - // Album type used if notification has plots + // Album type used if notification has plots. Album messageType = "album" - // Message type used if notification has not plot + // Message type used if notification has no plot. Message messageType = "message" ) const ( - albumCaptionMaxCharacters = 1024 - messageMaxCharacters = 4096 - additionalInfoCharactersCount = 400 + albumCaptionMaxCharacters = 1024 + messageMaxCharacters = 4096 ) var characterLimits = map[messageType]int{ @@ -30,7 +33,36 @@ var characterLimits = map[messageType]int{ Album: albumCaptionMaxCharacters, } -// SendEvents implements Sender interface Send +const telegramParseMode = telebot.ModeHTML + +var unmarshalTypeError *json.UnmarshalTypeError + +// Chat is a structure that represents chat metadata required to send message to recipient. +// It implements gopkg.in/telebot.v3#Recipient interface and thus might be passed to telebot methods directly. +type Chat struct { + ID int64 `json:"chat_id" example:"-1001234567890"` + ThreadID int `json:"thread_id,omitempty" example:"10"` +} + +var brokenContactAPIErrors = map[*telebot.Error]struct{}{ + telebot.ErrUnauthorized: {}, + telebot.ErrUserIsDeactivated: {}, + telebot.ErrNoRightsToSendPhoto: {}, + telebot.ErrChatNotFound: {}, + telebot.ErrNoRightsToSend: {}, + telebot.ErrKickedFromGroup: {}, + telebot.ErrBlockedByUser: {}, + telebot.ErrKickedFromSuperGroup: {}, + telebot.ErrKickedFromChannel: {}, + telebot.ErrNotStartedByUser: {}, +} + +// Recipient allow Chat implements gopkg.in/telebot.v3#Recipient interface. +func (c *Chat) Recipient() string { + return strconv.FormatInt(c.ID, 10) +} + +// SendEvents implements Sender interface Send. func (sender *Sender) SendEvents(events moira.NotificationEvents, contact moira.ContactData, trigger moira.TriggerData, plots [][]byte, throttled bool) error { msgType := getMessageType(plots) message := sender.buildMessage(events, trigger, throttled, characterLimits[msgType]) @@ -43,101 +75,157 @@ func (sender *Sender) SendEvents(events moira.NotificationEvents, contact moira. if err != nil { return checkBrokenContactError(sender.logger, err) } + if err := sender.talk(chat, message, plots, msgType); err != nil { return checkBrokenContactError(sender.logger, err) } + return nil } func (sender *Sender) buildMessage(events moira.NotificationEvents, trigger moira.TriggerData, throttled bool, maxChars int) string { - var buffer bytes.Buffer - state := events.GetCurrentState(throttled) - tags := trigger.GetTags() - emoji := emojiStates[state] - - title := fmt.Sprintf("%s%s %s %s (%d)\n", emoji, state, trigger.Name, tags, len(events)) - buffer.WriteString(title) - - var messageCharsCount, printEventsCount int - messageCharsCount += len([]rune(title)) - messageLimitReached := false - - for _, event := range events { - line := fmt.Sprintf("\n%s: %s = %s (%s to %s)", event.FormatTimestamp(sender.location, moira.DefaultTimeFormat), event.Metric, event.GetMetricsValues(moira.DefaultNotificationSettings), event.OldState, event.State) - if msg := event.CreateMessage(sender.location); len(msg) > 0 { - line += fmt.Sprintf(". %s", msg) - } - lineCharsCount := len([]rune(line)) - if messageCharsCount+lineCharsCount > maxChars-additionalInfoCharactersCount { - messageLimitReached = true - break - } - buffer.WriteString(line) - messageCharsCount += lineCharsCount - printEventsCount++ - } + return sender.formatter.Format(msgformat.MessageFormatterParams{ + Events: events, + Trigger: trigger, + MessageMaxChars: maxChars, + Throttled: throttled, + }) +} - if messageLimitReached { - buffer.WriteString(fmt.Sprintf("\n\n...and %d more events.", len(events)-printEventsCount)) +func (sender *Sender) getChat(contactValue string) (*Chat, error) { + var chat *Chat + var err error + + switch { + // For private channel contactValue is transformed to be able to fetch it from telegram + case strings.HasPrefix(contactValue, "%"): + contactValue = "-100" + contactValue[1:] + chat, err = sender.getChatFromTelegram(contactValue) + // For public channel contactValue is transformed to be able to fetch it from telegram + case strings.HasPrefix(contactValue, "#"): + contactValue = "@" + contactValue[1:] + chat, err = sender.getChatFromTelegram(contactValue) + // For the rest of the cases (private chats, groups, supergroups), Chat data is stored in DB + default: + chat, err = sender.getChatFromDb(contactValue) } - url := trigger.GetTriggerURI(sender.frontURI) - if url != "" { - buffer.WriteString(fmt.Sprintf("\n\n%s\n", url)) + + return chat, err +} + +func (sender *Sender) getChatFromDb(contactValue string) (*Chat, error) { + chatRaw, err := sender.DataBase.GetChatByUsername(messenger, contactValue) + if err != nil { + return nil, fmt.Errorf("failed to get username chat: %w", err) } - if throttled { - buffer.WriteString("\nPlease, fix your system or tune this trigger to generate less events.") + chat := &Chat{} + if err := json.Unmarshal([]byte(chatRaw), chat); err != nil { + // For Moira < 2.12.0 compatibility + // Before 2.12.0 `moira-telegram-users:user` only stored telegram channel IDs + // After 2.12.0 `moira-telegram-users:user` stores Chat structure + if errors.As(err, &unmarshalTypeError) { + chatID, parseErr := strconv.ParseInt(chatRaw, 10, 64) + if parseErr != nil { + return nil, fmt.Errorf("failed to parse chatRaw: %s as int64: %w", chatRaw, parseErr) + } + + return &Chat{ + ID: chatID, + }, nil + } + + return nil, fmt.Errorf("failed to unmarshal chat data %s: %w", chatRaw, err) } - return buffer.String() + + return chat, nil } -func (sender *Sender) getChatUID(username string) (string, error) { - var uid string - if strings.HasPrefix(username, "%") { - uid = "-100" + username[1:] - } else { - var err error - uid, err = sender.DataBase.GetIDByUsername(messenger, username) - if err != nil { - return "", fmt.Errorf("failed to get username uuid: %s", err.Error()) - } +func (sender *Sender) getChatFromTelegram(username string) (*Chat, error) { + telegramChat, err := sender.bot.ChatByUsername(username) + if err != nil { + err = sender.removeTokenFromError(err) + return nil, fmt.Errorf("can't find recipient %s: %w", username, err) } - return uid, nil + + chat := Chat{ + ID: telegramChat.ID, + } + + return &chat, nil } -func (sender *Sender) getChat(username string) (*telebot.Chat, error) { - uid, err := sender.getChatUID(username) +func (sender *Sender) setChat(message *telebot.Message) error { + contactValue, err := sender.getContactValueByMessage(message) if err != nil { - return nil, err + return fmt.Errorf("failed to get contact value from message: %w", err) + } + + chat := &Chat{ + ID: message.Chat.ID, + ThreadID: message.ThreadID, } - chat, err := sender.bot.ChatByID(uid) + + chatRaw, err := json.Marshal(chat) if err != nil { - err = removeTokenFromError(err, sender.bot) - return nil, fmt.Errorf("can't find recipient %s: %s", uid, err.Error()) + return fmt.Errorf("failed to marshal chat: %w", err) } - return chat, nil + + if err = sender.DataBase.SetUsernameChat(messenger, contactValue, string(chatRaw)); err != nil { + return fmt.Errorf("failed to set username chat: %w", err) + } + + return nil +} + +func (sender *Sender) getContactValueByMessage(message *telebot.Message) (string, error) { + var contactValue string + var err error + + switch { + case message.Chat.Type == telebot.ChatPrivate: + contactValue = "@" + message.Chat.Username + case message.Chat.Type == telebot.ChatSuperGroup && message.ThreadID != 0: + contactValue = fmt.Sprintf("%d/%d", message.Chat.ID, message.ThreadID) + case message.Chat.Type == telebot.ChatSuperGroup || message.Chat.Type == telebot.ChatGroup: + contactValue = message.Chat.Title + case message.Chat.Type == telebot.ChatChannel: + contactValue = "#" + message.Chat.Username + case message.Chat.Type == telebot.ChatChannelPrivate: + contactValue = strings.Replace(message.Chat.Recipient(), "-100", "%", -1) + default: + err = fmt.Errorf("unknown chat type") + } + + return contactValue, err } -// talk processes one talk -func (sender *Sender) talk(chat *telebot.Chat, message string, plots [][]byte, messageType messageType) error { +// talk processes one talk. +func (sender *Sender) talk(chat *Chat, message string, plots [][]byte, messageType messageType) error { if messageType == Album { sender.logger.Debug().Msg("talk as album") return sender.sendAsAlbum(chat, plots, message) } + sender.logger.Debug().Msg("talk as send message") return sender.sendAsMessage(chat, message) } -func (sender *Sender) sendAsMessage(chat *telebot.Chat, message string) error { - _, err := sender.bot.Send(chat, message) +func (sender *Sender) sendAsMessage(chat *Chat, message string) error { + _, err := sender.bot.Send(chat, message, &telebot.SendOptions{ + ThreadID: chat.ThreadID, + ParseMode: telegramParseMode, + DisableWebPagePreview: true, + }) if err != nil { - err = removeTokenFromError(err, sender.bot) + err = sender.removeTokenFromError(err) sender.logger.Debug(). String("message", message). Int64("chat_id", chat.ID). Error(err). Msg("Can't send event message to telegram") } + return err } @@ -146,7 +234,9 @@ func checkBrokenContactError(logger moira.Logger, err error) error { if err == nil { return nil } - if e, ok := err.(*telebot.APIError); ok { + + var e *telebot.Error + if ok := errors.As(err, &e); ok { logger.Debug(). Int("code", e.Code). String("msg", e.Message). @@ -157,31 +247,20 @@ func checkBrokenContactError(logger moira.Logger, err error) error { return moira.NewSenderBrokenContactError(err) } } + if strings.HasPrefix(err.Error(), "failed to get username uuid") { logger.Debug(). Error(err). Msg("It's error from getChat()") return moira.NewSenderBrokenContactError(err) } + return err } -func isBrokenContactAPIError(err *telebot.APIError) bool { - if err.Code == telebot.ErrUnauthorized.Code { - return true - } - if err.Code == telebot.ErrNoRightsToSendPhoto.Code && - (err.Description == telebot.ErrNoRightsToSendPhoto.Description || - err.Description == telebot.ErrChatNotFound.Description || - err.Description == telebot.ErrNoRightsToSend.Description) { - return true - } - if err.Code == telebot.ErrBotKickedFromGroup.Code && - (err.Description == telebot.ErrBotKickedFromGroup.Description || - err.Description == telebot.ErrBotKickedFromSuperGroup.Description) { - return true - } - return false +func isBrokenContactAPIError(err *telebot.Error) bool { + _, exists := brokenContactAPIErrors[err] + return exists } func prepareAlbum(plots [][]byte, caption string) telebot.Album { @@ -191,20 +270,26 @@ func prepareAlbum(plots [][]byte, caption string) telebot.Album { album = append(album, photo) caption = "" // Caption should be defined only for first photo } + return album } -func (sender *Sender) sendAsAlbum(chat *telebot.Chat, plots [][]byte, caption string) error { +func (sender *Sender) sendAsAlbum(chat *Chat, plots [][]byte, caption string) error { album := prepareAlbum(plots, caption) - _, err := sender.bot.SendAlbum(chat, album) + _, err := sender.bot.SendAlbum(chat, album, &telebot.SendOptions{ + ThreadID: chat.ThreadID, + ParseMode: telegramParseMode, + DisableWebPagePreview: true, + }) if err != nil { - err = removeTokenFromError(err, sender.bot) + err = sender.removeTokenFromError(err) sender.logger.Debug(). Int64("chat_id", chat.ID). Error(err). Msg("Can't send event plots to telegram chat") } + return err } @@ -212,5 +297,6 @@ func getMessageType(plots [][]byte) messageType { if len(plots) > 0 { return Album } + return Message } diff --git a/senders/telegram/send_test.go b/senders/telegram/send_test.go index 3a77029ee..e7413021b 100644 --- a/senders/telegram/send_test.go +++ b/senders/telegram/send_test.go @@ -2,147 +2,165 @@ package telegram import ( "fmt" + "strconv" "testing" - "time" - logging "github.com/moira-alert/moira/logging/zerolog_adapter" + "github.com/pkg/errors" + "go.uber.org/mock/gomock" - "github.com/golang/mock/gomock" - "github.com/moira-alert/moira" "github.com/moira-alert/moira/database" + logging "github.com/moira-alert/moira/logging/zerolog_adapter" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" + mock_telegram "github.com/moira-alert/moira/mock/notifier/telegram" + + "github.com/moira-alert/moira" . "github.com/smartystreets/goconvey/convey" - "gopkg.in/tucnak/telebot.v2" + "gopkg.in/telebot.v3" ) -func TestBuildMessage(t *testing.T) { - location, _ := time.LoadLocation("UTC") - sender := Sender{location: location, frontURI: "http://moira.url"} - - Convey("Build Moira Message tests", t, func() { - event := moira.NotificationEvent{ - TriggerID: "TriggerID", - Values: map[string]float64{"t1": 97.4458331200185}, - Timestamp: 150000000, - Metric: "Metric name", - OldState: moira.StateOK, - State: moira.StateNODATA, - } - - trigger := moira.TriggerData{ - Tags: []string{"tag1", "tag2"}, - Name: "Trigger Name", - ID: "TriggerID", - } - - Convey("Print moira message with one event", func() { - actual := sender.buildMessage([]moira.NotificationEvent{event}, trigger, false, messageMaxCharacters) - expected := `💣NODATA Trigger Name [tag1][tag2] (1) - -02:40 (GMT+00:00): Metric name = 97.4458331200185 (OK to NODATA) - -http://moira.url/trigger/TriggerID -` - So(actual, ShouldResemble, expected) - }) +func TestGetChat(t *testing.T) { + mockCtrl := gomock.NewController(t) + defer mockCtrl.Finish() + dataBase := mock_moira_alert.NewMockDatabase(mockCtrl) - Convey("Print moira message with empty triggerID, but with trigger Name", func() { - actual := sender.buildMessage([]moira.NotificationEvent{event}, moira.TriggerData{Name: "Name"}, false, messageMaxCharacters) - expected := `💣NODATA Name (1) + bot := mock_telegram.NewMockBot(mockCtrl) + sender := Sender{DataBase: dataBase, bot: bot} -02:40 (GMT+00:00): Metric name = 97.4458331200185 (OK to NODATA)` - So(actual, ShouldResemble, expected) - }) + Convey("Get Telegram Chat From DB", t, func() { + Convey("Compatibility with Moira < 2.12.0", func() { + Convey("For private chat should fetch from DB", func() { + idStr := "7824728482" + dataBase.EXPECT().GetChatByUsername(messenger, "@durov").Return("7824728482", nil) - Convey("Print moira message with empty trigger", func() { - actual := sender.buildMessage([]moira.NotificationEvent{event}, moira.TriggerData{}, false, messageMaxCharacters) - expected := `💣NODATA (1) + id, err := strconv.ParseInt(idStr, 10, 64) + So(err, ShouldBeNil) -02:40 (GMT+00:00): Metric name = 97.4458331200185 (OK to NODATA)` - So(actual, ShouldResemble, expected) - }) + expected := &Chat{ + ID: id, + } - Convey("Print moira message with one event and message", func() { - event.TriggerID = "" - trigger.ID = "" - var interval int64 = 24 - event.MessageEventInfo = &moira.EventInfo{Interval: &interval} - actual := sender.buildMessage([]moira.NotificationEvent{event}, trigger, false, messageMaxCharacters) - expected := `💣NODATA Trigger Name [tag1][tag2] (1) + actual, err := sender.getChat("@durov") + So(actual, ShouldResemble, expected) + So(err, ShouldBeNil) + }) -02:40 (GMT+00:00): Metric name = 97.4458331200185 (OK to NODATA). This metric has been in bad state for more than 24 hours - please, fix.` - So(actual, ShouldResemble, expected) - }) + Convey("For supergroup's main thread should fetch from DB", func() { + idStr := "-1001494975744" + dataBase.EXPECT().GetChatByUsername(messenger, "somesupergroup / moira").Return(idStr, nil) - Convey("Print moira message with one event and throttled", func() { - actual := sender.buildMessage([]moira.NotificationEvent{event}, trigger, true, messageMaxCharacters) - expected := `💣NODATA Trigger Name [tag1][tag2] (1) + id, err := strconv.ParseInt(idStr, 10, 64) + So(err, ShouldBeNil) -02:40 (GMT+00:00): Metric name = 97.4458331200185 (OK to NODATA) + expected := &Chat{ + ID: id, + } -http://moira.url/trigger/TriggerID + actual, err := sender.getChat("somesupergroup / moira") + So(actual, ShouldResemble, expected) + So(err, ShouldBeNil) + }) -Please, fix your system or tune this trigger to generate less events.` - So(actual, ShouldResemble, expected) - }) + Convey("If no UID exists in database for this username", func() { + dataBase.EXPECT().GetChatByUsername(messenger, "@durov").Return("", database.ErrNil) - events := make([]moira.NotificationEvent, 0) - Convey("Print moira message with 6 events and photo message length", func() { - for i := 0; i < 18; i++ { - events = append(events, event) - } - actual := sender.buildMessage(events, trigger, false, albumCaptionMaxCharacters) - expected := `💣NODATA Trigger Name [tag1][tag2] (18) - -02:40 (GMT+00:00): Metric name = 97.4458331200185 (OK to NODATA) -02:40 (GMT+00:00): Metric name = 97.4458331200185 (OK to NODATA) -02:40 (GMT+00:00): Metric name = 97.4458331200185 (OK to NODATA) -02:40 (GMT+00:00): Metric name = 97.4458331200185 (OK to NODATA) -02:40 (GMT+00:00): Metric name = 97.4458331200185 (OK to NODATA) -02:40 (GMT+00:00): Metric name = 97.4458331200185 (OK to NODATA) -02:40 (GMT+00:00): Metric name = 97.4458331200185 (OK to NODATA) -02:40 (GMT+00:00): Metric name = 97.4458331200185 (OK to NODATA) -02:40 (GMT+00:00): Metric name = 97.4458331200185 (OK to NODATA) - -...and 9 more events. - -http://moira.url/trigger/TriggerID -` - fmt.Printf("Bytes: %v\n", len(expected)) - fmt.Printf("Symbols: %v\n", len([]rune(expected))) - So(actual, ShouldResemble, expected) + actual, err := sender.getChat("@durov") + So(err, ShouldResemble, fmt.Errorf("failed to get username chat: %w", database.ErrNil)) + So(actual, ShouldBeNil) + }) }) - }) -} -func TestGetChatUID(t *testing.T) { - location, _ := time.LoadLocation("UTC") - mockCtrl := gomock.NewController(t) - defer mockCtrl.Finish() - dataBase := mock_moira_alert.NewMockDatabase(mockCtrl) - sender := Sender{location: location, frontURI: "http://moira.url", DataBase: dataBase} + Convey("Moira >= 2.12.0", func() { + Convey(`For private channel with % prefix should fetch info from Telegram`, func() { + expectedChat := &telebot.Chat{ + ID: -1001494975744, + Type: telebot.ChatPrivate, + } - Convey("Get Telegram chat's UID", t, func() { - Convey("For private channel with % prefix should return with -100 prefix", func() { - actual, err := sender.getChatUID("%1494975744") - expected := "-1001494975744" - So(actual, ShouldResemble, expected) - So(err, ShouldBeNil) - }) + bot.EXPECT().ChatByUsername("-1001494975744").Return(expectedChat, nil) - Convey("For public channel with # prefix should return with @ prefix", func() { - dataBase.EXPECT().GetIDByUsername(messenger, "#MyPublicChannel").Return("@MyPublicChannel", nil) - actual, err := sender.getChatUID("#MyPublicChannel") - expected := "@MyPublicChannel" - So(actual, ShouldResemble, expected) - So(err, ShouldBeNil) - }) + actual, err := sender.getChat("%1494975744") + expected := &Chat{ + ID: -1001494975744, + } - Convey("If no UID exists in database for this username", func() { - dataBase.EXPECT().GetIDByUsername(messenger, "@durov").Return("", database.ErrNil) - actual, err := sender.getChatUID("@durov") - So(err, ShouldResemble, fmt.Errorf("failed to get username uuid: nil returned")) - So(actual, ShouldBeEmpty) + So(actual, ShouldResemble, expected) + So(err, ShouldBeNil) + }) + + Convey("For public channel with # prefix should fetch info from Telegram", func() { + expectedChat := &telebot.Chat{ + ID: -1001494975744, + Type: telebot.ChatChannel, + Username: "MyPublicChannel", + } + + bot.EXPECT().ChatByUsername("@MyPublicChannel").Return(expectedChat, nil) + + actual, err := sender.getChat("#MyPublicChannel") + expected := &Chat{ + ID: -1001494975744, + } + + So(actual, ShouldResemble, expected) + So(err, ShouldBeNil) + }) + + Convey("For private chat should fetch from DB", func() { + dataBase.EXPECT().GetChatByUsername(messenger, "@durov").Return(`{"chat_id":1}`, nil) + + actual, err := sender.getChat("@durov") + expected := &Chat{ + ID: 1, + } + + So(actual, ShouldResemble, expected) + So(err, ShouldBeNil) + }) + + Convey("For group should fetch from DB", func() { + dataBase.EXPECT().GetChatByUsername(messenger, "somegroup / moira").Return(`{"chat_id":-1001494975744}`, nil) + + actual, err := sender.getChat("somegroup / moira") + expected := &Chat{ + ID: -1001494975744, + } + + So(actual, ShouldResemble, expected) + So(err, ShouldBeNil) + }) + + Convey("For supergroup's main thread should fetch from DB", func() { + dataBase.EXPECT().GetChatByUsername(messenger, "somesupergroup / moira").Return(`{"chat_id":-1001494975744}`, nil) + + actual, err := sender.getChat("somesupergroup / moira") + expected := &Chat{ + ID: -1001494975744, + } + + So(actual, ShouldResemble, expected) + So(err, ShouldBeNil) + }) + + Convey("For supergroup's thread should fetch from DB", func() { + dataBase.EXPECT().GetChatByUsername(messenger, "-1001494975744/10").Return(`{"chat_id":-1001494975744,"thread_id":10}`, nil) + + actual, err := sender.getChat("-1001494975744/10") + expected := &Chat{ + ID: -1001494975744, + ThreadID: 10, + } + + So(actual, ShouldResemble, expected) + So(err, ShouldBeNil) + }) + + Convey("If no record exists in database for this contactValue", func() { + dataBase.EXPECT().GetChatByUsername(messenger, "-1001494975744/20").Return("", database.ErrNil) + + actual, err := sender.getChat("-1001494975744/20") + So(err, ShouldResemble, fmt.Errorf("failed to get username chat: %w", database.ErrNil)) + So(actual, ShouldBeNil) + }) }) }) } @@ -177,30 +195,22 @@ func TestCheckBrokenContactError(t *testing.T) { So(err, ShouldBeNil) }) Convey("Broken contact error is properly recognized", func() { - brokenContactErrorsList := []*telebot.APIError{ - telebot.ErrNoRightsToSendPhoto, - telebot.ErrChatNotFound, - telebot.ErrNoRightsToSend, - telebot.ErrUnauthorized, - telebot.ErrBlockedByUser, - telebot.ErrUserIsDeactivated, - telebot.ErrBotKickedFromGroup, - telebot.ErrBotKickedFromSuperGroup, - } - for _, brokenContactError := range brokenContactErrorsList { + for brokenContactError := range brokenContactAPIErrors { err := checkBrokenContactError(logger, brokenContactError) So(err, ShouldHaveSameTypeAs, moira.SenderBrokenContactError{}) - So(err.(moira.SenderBrokenContactError).SenderError, ShouldEqual, brokenContactError) + var convertedErr moira.SenderBrokenContactError + errors.As(err, &convertedErr) + So(convertedErr.SenderError, ShouldEqual, brokenContactError) } }) Convey("Other errors are returned as is", func() { - otherTelebotErrors := []*telebot.APIError{ + otherTelebotErrors := []*telebot.Error{ telebot.ErrInternal, telebot.ErrTooLarge, telebot.ErrEmptyMessage, telebot.ErrWrongFileID, telebot.ErrNoRightsToDelete, - telebot.ErrKickingChatOwner, + telebot.ErrCantRemoveOwner, } for _, otherError := range otherTelebotErrors { err := checkBrokenContactError(logger, otherError) @@ -211,7 +221,9 @@ func TestCheckBrokenContactError(t *testing.T) { userNotFoundError := fmt.Errorf("failed to get username uuid: nil returned") err := checkBrokenContactError(logger, userNotFoundError) So(err, ShouldHaveSameTypeAs, moira.SenderBrokenContactError{}) - So(err.(moira.SenderBrokenContactError).SenderError, ShouldEqual, userNotFoundError) + var convertedErr moira.SenderBrokenContactError + errors.As(err, &convertedErr) + So(convertedErr.SenderError, ShouldEqual, userNotFoundError) }) }) } diff --git a/senders/twilio/sms.go b/senders/twilio/sms.go index 8595041b3..b3badc53c 100644 --- a/senders/twilio/sms.go +++ b/senders/twilio/sms.go @@ -22,9 +22,8 @@ func (sender *twilioSenderSms) SendEvents(events moira.NotificationEvents, conta Msg("Calling twilio sms api to phone %s and message body %s") twilioMessage, err := twilio_client.NewMessage(sender.client, sender.APIFromPhone, contact.Value, twilio_client.Body(message)) - if err != nil { - return fmt.Errorf("failed to send message to contact %s: %s", contact.Value, err) + return fmt.Errorf("failed to send message to contact %s: %w", contact.Value, err) } sender.logger.Debug(). diff --git a/senders/twilio/sms_test.go b/senders/twilio/sms_test.go index 51936e0b5..169ea1f89 100644 --- a/senders/twilio/sms_test.go +++ b/senders/twilio/sms_test.go @@ -15,7 +15,8 @@ func TestBuildMoiraMessage(t *testing.T) { sender := twilioSenderSms{ twilioSender: twilioSender{ location: location, - }} + }, + } Convey("Build Moira Message tests", t, func() { event := moira.NotificationEvent{ diff --git a/senders/twilio/twilio.go b/senders/twilio/twilio.go index ef51f0970..d8fc8a77a 100644 --- a/senders/twilio/twilio.go +++ b/senders/twilio/twilio.go @@ -9,9 +9,9 @@ import ( "github.com/moira-alert/moira" ) -// Structure that represents the Twilio configuration in the YAML file +// Structure that represents the Twilio configuration in the YAML file. type config struct { - Type string `mapstructure:"type"` + Type string `mapstructure:"sender_type"` APIAsid string `mapstructure:"api_asid"` APIAuthToken string `mapstructure:"api_authtoken"` APIFromPhone string `mapstructure:"api_fromphone"` @@ -20,7 +20,7 @@ type config struct { AppendMessage bool `mapstructure:"append_message"` } -// Sender implements moira sender interface via twilio +// Sender implements moira sender interface via twilio. type Sender struct { sender sendEventsTwilio } @@ -36,7 +36,7 @@ type twilioSender struct { location *time.Location } -// Init read yaml config +// Init read yaml config. func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, location *time.Location, dateTimeFormat string) error { var cfg config err := mapstructure.Decode(senderSettings, &cfg) @@ -90,7 +90,7 @@ func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, loca return nil } -// SendEvents implements Sender interface Send +// SendEvents implements Sender interface Send. func (sender *Sender) SendEvents(events moira.NotificationEvents, contact moira.ContactData, trigger moira.TriggerData, plots [][]byte, throttled bool) error { return sender.sender.SendEvents(events, contact, trigger, plots, throttled) } diff --git a/senders/twilio/twilio_test.go b/senders/twilio/twilio_test.go index 98fb01689..11b8715e3 100644 --- a/senders/twilio/twilio_test.go +++ b/senders/twilio/twilio_test.go @@ -47,7 +47,7 @@ func TestInit(t *testing.T) { }) Convey("config sms", func() { - settings["type"] = "twilio sms" + settings["sender_type"] = "twilio sms" err := sender.Init(settings, logger, location, "15:04") So(err, ShouldBeNil) So(sender, ShouldResemble, Sender{sender: &twilioSenderSms{ @@ -61,7 +61,7 @@ func TestInit(t *testing.T) { }) Convey("config voice", func() { - settings["type"] = "twilio voice" + settings["sender_type"] = "twilio voice" Convey("no voice url", func() { err := sender.Init(settings, logger, location, "15:04") So(err, ShouldResemble, fmt.Errorf("can not read [%s] voiceurl param from config", "twilio voice")) diff --git a/senders/twilio/voice_test.go b/senders/twilio/voice_test.go index 6557e3340..ae3c3d52a 100644 --- a/senders/twilio/voice_test.go +++ b/senders/twilio/voice_test.go @@ -1,14 +1,13 @@ package twilio import ( + "testing" "time" twilio_client "github.com/carlosdp/twiliogo" "github.com/moira-alert/moira" logging "github.com/moira-alert/moira/logging/zerolog_adapter" . "github.com/smartystreets/goconvey/convey" - - "testing" ) func TestTwilioSenderVoice_SendEvents(t *testing.T) { diff --git a/senders/victorops/api/alert.go b/senders/victorops/api/alert.go index 78e3a4e40..c396ae017 100644 --- a/senders/victorops/api/alert.go +++ b/senders/victorops/api/alert.go @@ -2,6 +2,7 @@ package api import ( "bytes" + "context" "encoding/json" "fmt" "io" @@ -9,7 +10,7 @@ import ( ) // CreateAlertRequest the API request to be made to -// create a victorops alert +// create a victorops alert. type CreateAlertRequest struct { MessageType MessageType `json:"message_type,omitempty"` EntityID string `json:"entity_id,omitempty"` @@ -22,10 +23,10 @@ type CreateAlertRequest struct { MonitoringTool string `json:"monitoring_tool,omitempty"` } -// MessageType is the type of a victorops alert +// MessageType is the type of a victorops alert. type MessageType string -// Various possible MessageTypes +// Various possible MessageTypes. const ( Critical MessageType = "CRITICAL" Warning MessageType = "WARNING" @@ -34,7 +35,7 @@ const ( Recovery MessageType = "RECOVERY" ) -// CreateAlert creates a new alert in the victorops timeline +// CreateAlert creates a new alert in the victorops timeline. func (client *Client) CreateAlert(routingKey string, alert CreateAlertRequest) error { if alert.MessageType == "" { return fmt.Errorf("field MessageType cannot be empty") @@ -42,9 +43,9 @@ func (client *Client) CreateAlert(routingKey string, alert CreateAlertRequest) e body, err := json.Marshal(alert) if err != nil { - return fmt.Errorf("error while encoding json: %s", err) + return fmt.Errorf("error while encoding json: %w", err) } - req, err := http.NewRequest("POST", fmt.Sprintf("%s/%s", client.routingURL, routingKey), bytes.NewReader(body)) + req, err := http.NewRequestWithContext(context.Background(), http.MethodPost, fmt.Sprintf("%s/%s", client.routingURL, routingKey), bytes.NewReader(body)) if err != nil { return err } @@ -54,7 +55,7 @@ func (client *Client) CreateAlert(routingKey string, alert CreateAlertRequest) e resp, err := client.httpClient.Do(req) if err != nil { - return fmt.Errorf("error while making the request to victorops: %s", err) + return fmt.Errorf("error while making the request to victorops: %w", err) } defer resp.Body.Close() if resp.StatusCode != http.StatusOK { diff --git a/senders/victorops/api/client.go b/senders/victorops/api/client.go index 644394493..709e3a496 100644 --- a/senders/victorops/api/client.go +++ b/senders/victorops/api/client.go @@ -2,14 +2,14 @@ package api import "net/http" -// Client for the victorops API +// Client for the victorops API. type Client struct { httpClient *http.Client routingURL string } // NewClient returns a new victorops API client for the given routing URL -// and http client (Uses http.DefaultClient if httpClient is nil) +// and http client (Uses http.DefaultClient if httpClient is nil). func NewClient(routingURL string, httpClient *http.Client) *Client { if httpClient == nil { httpClient = http.DefaultClient diff --git a/senders/victorops/init.go b/senders/victorops/init.go index f9462f91c..e47e53485 100644 --- a/senders/victorops/init.go +++ b/senders/victorops/init.go @@ -10,14 +10,14 @@ import ( "github.com/moira-alert/moira" ) -// Structure that represents the VictorOps configuration in the YAML file +// Structure that represents the VictorOps configuration in the YAML file. type config struct { RoutingURL string `mapstructure:"routing_url"` ImageStore string `mapstructure:"image_store"` FrontURI string `mapstructure:"front_uri"` } -// Sender implements moira sender interface for victorops +// Sender implements moira sender interface for victorops. type Sender struct { DataBase moira.Database ImageStores map[string]moira.ImageStore @@ -32,7 +32,7 @@ type Sender struct { client *api.Client } -// Init loads yaml config, configures the victorops sender +// Init loads yaml config, configures the victorops sender. func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, location *time.Location, dateTimeFormat string) error { var cfg config err := mapstructure.Decode(senderSettings, &cfg) diff --git a/senders/victorops/init_test.go b/senders/victorops/init_test.go index 7bff013ec..05c2111a0 100644 --- a/senders/victorops/init_test.go +++ b/senders/victorops/init_test.go @@ -5,9 +5,9 @@ import ( "testing" "time" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" "github.com/moira-alert/moira/senders/victorops/api" + "go.uber.org/mock/gomock" logging "github.com/moira-alert/moira/logging/zerolog_adapter" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" @@ -31,7 +31,8 @@ func TestInit(t *testing.T) { So(sender, ShouldResemble, Sender{ ImageStores: map[string]moira.ImageStore{ "s3": imageStore, - }}) + }, + }) }) Convey("Has settings", func() { diff --git a/senders/victorops/send.go b/senders/victorops/send.go index 74af129c0..5252d4d25 100644 --- a/senders/victorops/send.go +++ b/senders/victorops/send.go @@ -11,12 +11,12 @@ import ( "github.com/moira-alert/moira/senders/victorops/api" ) -// SendEvents implements Sender interface Send +// SendEvents implements Sender interface Send. func (sender *Sender) SendEvents(events moira.NotificationEvents, contact moira.ContactData, trigger moira.TriggerData, plots [][]byte, throttled bool) error { createAlertRequest := sender.buildCreateAlertRequest(events, trigger, throttled, plots, time.Now().Unix()) err := sender.client.CreateAlert(contact.Value, createAlertRequest) if err != nil { - return fmt.Errorf("error while sending alert to victorops: %s", err) + return fmt.Errorf("error while sending alert to victorops: %w", err) } return nil } @@ -85,8 +85,8 @@ func (sender *Sender) buildTitle(events moira.NotificationEvents, trigger moira. return title } -// buildEventsString builds the string from moira events and limits it to charsForEvents. -// if n is negative buildEventsString does not limit the events string +// buildEventsString builds the string from moira events and limits it to charsForEvents +// if n is negative buildEventsString does not limit the events string. func (sender *Sender) buildEventsString(events moira.NotificationEvents, charsForEvents int, throttled bool) string { charsForThrottleMsg := 0 throttleMsg := "\nPlease, fix your system or tune this trigger to generate less events." diff --git a/senders/victorops/send_test.go b/senders/victorops/send_test.go index b7e444385..efa8aeef3 100644 --- a/senders/victorops/send_test.go +++ b/senders/victorops/send_test.go @@ -4,8 +4,8 @@ import ( "testing" "time" - "github.com/golang/mock/gomock" "github.com/moira-alert/moira/senders/victorops/api" + "go.uber.org/mock/gomock" "github.com/moira-alert/moira" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" diff --git a/senders/webhook/payload.go b/senders/webhook/payload.go index 641c02241..792c1fe50 100644 --- a/senders/webhook/payload.go +++ b/senders/webhook/payload.go @@ -39,7 +39,7 @@ type contactData struct { Team string `json:"team"` } -// toTriggerData returns correct triggerData structure to marshall JSON +// toTriggerData returns correct triggerData structure to marshall JSON. func toTriggerData(trigger moira.TriggerData) triggerData { result := triggerData{ ID: trigger.ID, @@ -51,7 +51,7 @@ func toTriggerData(trigger moira.TriggerData) triggerData { return result } -// toEventsData returns correct eventData structure collection to marshall JSON +// toEventsData returns correct eventData structure collection to marshall JSON. func toEventsData(events moira.NotificationEvents) []eventData { result := make([]eventData, 0, len(events)) for _, event := range events { @@ -67,7 +67,7 @@ func toEventsData(events moira.NotificationEvents) []eventData { return result } -// bytesToBase64 converts given bytes slice to base64 string +// bytesToBase64 converts given bytes slice to base64 string. func bytesToBase64(data []byte) string { return base64.StdEncoding.EncodeToString(data) } diff --git a/senders/webhook/request.go b/senders/webhook/request.go index a7f8d73ca..07a8a17f0 100644 --- a/senders/webhook/request.go +++ b/senders/webhook/request.go @@ -2,12 +2,15 @@ package webhook import ( "bytes" + "context" "encoding/json" + "html" "net/http" "net/url" "strings" "github.com/moira-alert/moira" + "github.com/moira-alert/moira/templating" ) func (sender *Sender) buildRequest(events moira.NotificationEvents, contact moira.ContactData, trigger moira.TriggerData, plots [][]byte, throttled bool) (*http.Request, error) { @@ -16,21 +19,26 @@ func (sender *Sender) buildRequest(events moira.NotificationEvents, contact moir String("potentially_dangerous_url", sender.url). Msg("Found potentially dangerous url template, api contact validation is advised") } + requestURL := buildRequestURL(sender.url, trigger, contact) - requestBody, err := buildRequestBody(events, contact, trigger, plots, throttled) + requestBody, err := sender.buildRequestBody(events, contact, trigger, plots, throttled) if err != nil { return nil, err } - request, err := http.NewRequest("POST", requestURL, bytes.NewBuffer(requestBody)) + + request, err := http.NewRequestWithContext(context.Background(), http.MethodPost, requestURL, bytes.NewBuffer(requestBody)) if err != nil { return request, err } + if sender.user != "" && sender.password != "" { request.SetBasicAuth(sender.user, sender.password) } + for k, v := range sender.headers { request.Header.Set(k, v) } + sender.log.Debug(). String("method", request.Method). String("url", request.URL.String()). @@ -40,7 +48,33 @@ func (sender *Sender) buildRequest(events moira.NotificationEvents, contact moir return request, nil } -func buildRequestBody(events moira.NotificationEvents, contact moira.ContactData, trigger moira.TriggerData, plots [][]byte, throttled bool) ([]byte, error) { +func (sender *Sender) buildRequestBody( + events moira.NotificationEvents, + contact moira.ContactData, + trigger moira.TriggerData, + plots [][]byte, + throttled bool, +) ([]byte, error) { + if sender.body == "" { + return buildDefaultRequestBody(events, contact, trigger, plots, throttled) + } + + webhookBodyPopulater := templating.NewWebhookBodyPopulater(contact.ToTemplateContact()) + populatedBody, err := webhookBodyPopulater.Populate(sender.body) + if err != nil { + return nil, err + } + + return []byte(html.UnescapeString(populatedBody)), nil +} + +func buildDefaultRequestBody( + events moira.NotificationEvents, + contact moira.ContactData, + trigger moira.TriggerData, + plots [][]byte, + throttled bool, +) ([]byte, error) { encodedFirstPlot := "" encodedPlots := make([]string, 0, len(plots)) for i, plot := range plots { @@ -50,6 +84,7 @@ func buildRequestBody(events moira.NotificationEvents, contact moira.ContactData encodedFirstPlot = encodedPlot } } + requestPayload := payload{ Trigger: toTriggerData(trigger), Events: toEventsData(events), @@ -64,6 +99,7 @@ func buildRequestBody(events moira.NotificationEvents, contact moira.ContactData Plots: encodedPlots, Throttled: throttled, } + return json.Marshal(requestPayload) } @@ -74,13 +110,15 @@ func buildRequestURL(template string, trigger moira.TriggerData, contact moira.C moira.VariableContactType: contact.Type, moira.VariableTriggerID: trigger.ID, } + for k, v := range templateVariables { value := url.PathEscape(v) if k == moira.VariableContactValue && (strings.HasPrefix(v, "http://") || strings.HasPrefix(v, "https://")) { value = v } - template = strings.Replace(template, k, value, -1) + template = strings.ReplaceAll(template, k, value) } + return template } diff --git a/senders/webhook/request_test.go b/senders/webhook/request_test.go index 5dbe46341..81fbb57da 100644 --- a/senders/webhook/request_test.go +++ b/senders/webhook/request_test.go @@ -10,7 +10,11 @@ import ( "github.com/moira-alert/moira" ) -const testBadID = "!@#$" +const ( + testBadID = "!@#$" + testContactType = "testType" + testContactValue = "testValue" +) var ( testHost = "https://hostname.domain" @@ -183,23 +187,64 @@ var requestURLTestCases = []requestURLTestCase{ } func TestBuildRequestBody(t *testing.T) { - Convey("Payload should be valid", t, func() { + sender := Sender{} + + Convey("Test building default request body", t, func() { Convey("Trigger state change", func() { events, contact, trigger, plot, throttled := testEvents, testContact, testTrigger, testPlot, testThrottled - requestBody, err := buildRequestBody(events, contact, trigger, plot, throttled) + requestBody, err := sender.buildRequestBody(events, contact, trigger, plot, throttled) actual, expected := prepareStrings(string(requestBody), expectedStateChangePayload) So(actual, ShouldEqual, expected) So(err, ShouldBeNil) }) + Convey("Empty notification", func() { events, contact, trigger, plots, throttled := moira.NotificationEvents{}, moira.ContactData{}, moira.TriggerData{}, make([][]byte, 0), false - requestBody, err := buildRequestBody(events, contact, trigger, plots, throttled) + requestBody, err := sender.buildRequestBody(events, contact, trigger, plots, throttled) actual, expected := prepareStrings(string(requestBody), expectedEmptyPayload) So(actual, ShouldEqual, expected) So(actual, ShouldNotContainSubstring, "null") So(err, ShouldBeNil) }) }) + + Convey("Test building custom request body with webhook populater", t, func() { + sender.body = "" + + "Contact.Type: {{ .Contact.Type }}\n" + + "Contact.Value: {{ .Contact.Value }}" + + Convey("With empty contact", func() { + events, contact, trigger, plots, throttled := moira.NotificationEvents{}, moira.ContactData{}, moira.TriggerData{}, make([][]byte, 0), false + + requestBody, err := sender.buildRequestBody(events, contact, trigger, plots, throttled) + So(err, ShouldBeNil) + So(string(requestBody), ShouldResemble, "Contact.Type: \nContact.Value:") + }) + + Convey("With only contact type", func() { + events, contact, trigger, plots, throttled := moira.NotificationEvents{}, moira.ContactData{Type: testContactType}, moira.TriggerData{}, make([][]byte, 0), false + + requestBody, err := sender.buildRequestBody(events, contact, trigger, plots, throttled) + So(err, ShouldBeNil) + So(string(requestBody), ShouldResemble, fmt.Sprintf("Contact.Type: %s\nContact.Value:", testContactType)) + }) + + Convey("With only contact value", func() { + events, contact, trigger, plots, throttled := moira.NotificationEvents{}, moira.ContactData{Value: testContactValue}, moira.TriggerData{}, make([][]byte, 0), false + + requestBody, err := sender.buildRequestBody(events, contact, trigger, plots, throttled) + So(err, ShouldBeNil) + So(string(requestBody), ShouldResemble, fmt.Sprintf("Contact.Type: \nContact.Value: %s", testContactValue)) + }) + + Convey("With full provided data", func() { + events, contact, trigger, plots, throttled := moira.NotificationEvents{}, moira.ContactData{Value: testContactValue, Type: testContactType}, moira.TriggerData{}, make([][]byte, 0), false + + requestBody, err := sender.buildRequestBody(events, contact, trigger, plots, throttled) + So(err, ShouldBeNil) + So(string(requestBody), ShouldResemble, fmt.Sprintf("Contact.Type: %s\nContact.Value: %s", testContactType, testContactValue)) + }) + }) } func TestBuildRequestURL(t *testing.T) { diff --git a/senders/webhook/webhook.go b/senders/webhook/webhook.go index 7bbfe44f0..3812a8799 100644 --- a/senders/webhook/webhook.go +++ b/senders/webhook/webhook.go @@ -1,6 +1,7 @@ package webhook import ( + "errors" "fmt" "io" "net/http" @@ -10,18 +11,22 @@ import ( "github.com/moira-alert/moira" ) -// Structure that represents the Webhook configuration in the YAML file +var ErrMissingURL = errors.New("can not read url from config") + +// Structure that represents the Webhook configuration in the YAML file. type config struct { - Name string `mapstructure:"name"` - URL string `mapstructure:"url"` - User string `mapstructure:"user"` - Password string `mapstructure:"password"` - Timeout int `mapstructure:"timeout"` + URL string `mapstructure:"url"` + Body string `mapstructure:"body"` + Headers map[string]string `mapstructure:"headers"` + User string `mapstructure:"user"` + Password string `mapstructure:"password"` + Timeout int `mapstructure:"timeout"` } -// Sender implements moira sender interface via webhook +// Sender implements moira sender interface via webhook. type Sender struct { url string + body string user string password string headers map[string]string @@ -29,7 +34,7 @@ type Sender struct { log moira.Logger } -// Init read yaml config +// Init read yaml config. func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, location *time.Location, dateTimeFormat string) error { var cfg config err := mapstructure.Decode(senderSettings, &cfg) @@ -37,15 +42,13 @@ func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, loca return fmt.Errorf("failed to decode senderSettings to webhook config: %w", err) } - if cfg.Name == "" { - return fmt.Errorf("required name for sender type webhook") - } - sender.url = cfg.URL if sender.url == "" { - return fmt.Errorf("can not read url from config") + return ErrMissingURL } + sender.body = cfg.Body + sender.user, sender.password = cfg.User, cfg.Password sender.headers = map[string]string{ @@ -53,6 +56,10 @@ func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, loca "Content-Type": "application/json", } + for header, value := range cfg.Headers { + sender.headers[header] = value + } + var timeout int if cfg.Timeout != 0 { timeout = cfg.Timeout @@ -65,10 +72,11 @@ func (sender *Sender) Init(senderSettings interface{}, logger moira.Logger, loca Timeout: time.Duration(timeout) * time.Second, Transport: &http.Transport{DisableKeepAlives: true}, } + return nil } -// SendEvents implements Sender interface Send +// SendEvents implements Sender interface Send. func (sender *Sender) SendEvents(events moira.NotificationEvents, contact moira.ContactData, trigger moira.TriggerData, plots [][]byte, throttled bool) error { request, err := sender.buildRequest(events, contact, trigger, plots, throttled) if request != nil { @@ -76,7 +84,7 @@ func (sender *Sender) SendEvents(events moira.NotificationEvents, contact moira. } if err != nil { - return fmt.Errorf("failed to build request: %s", err.Error()) + return fmt.Errorf("failed to build request: %w", err) } response, err := sender.client.Do(request) @@ -85,7 +93,7 @@ func (sender *Sender) SendEvents(events moira.NotificationEvents, contact moira. } if err != nil { - return fmt.Errorf("failed to perform request: %s", err.Error()) + return fmt.Errorf("failed to perform request: %w", err) } if !isAllowedResponseCode(response.StatusCode) { diff --git a/senders/webhook/webhook_test.go b/senders/webhook/webhook_test.go index 6908632bf..07369f11c 100644 --- a/senders/webhook/webhook_test.go +++ b/senders/webhook/webhook_test.go @@ -21,9 +21,82 @@ import ( const ( testUser = "testUser" testPass = "testPass" + testURL = "http://localhost:8080" + testBody = "testBody" + + dateTimeFormat = "15:04 02.01.2006" +) + +var ( + logger, _ = logging.GetLogger("webhook") + location, _ = time.LoadLocation("UTC") + defaultHeaders = map[string]string{ + "User-Agent": "Moira", + "Content-Type": "application/json", + } ) -var logger, _ = logging.GetLogger("webhook") +func TestSender_Init(t *testing.T) { + Convey("Test Init function", t, func() { + Convey("With empty settings", func() { + settings := map[string]interface{}{} + sender := Sender{} + + err := sender.Init(settings, logger, location, dateTimeFormat) + So(err, ShouldResemble, ErrMissingURL) + }) + + Convey("With only url", func() { + settings := map[string]interface{}{ + "url": testURL, + } + sender := Sender{} + + err := sender.Init(settings, logger, location, dateTimeFormat) + So(err, ShouldBeNil) + So(sender, ShouldResemble, Sender{ + url: testURL, + headers: defaultHeaders, + client: &http.Client{ + Timeout: 30 * time.Second, + Transport: &http.Transport{DisableKeepAlives: true}, + }, + log: logger, + }) + }) + + Convey("With full provided data", func() { + settings := map[string]interface{}{ + "url": testURL, + "body": testBody, + "user": testUser, + "password": testPass, + "headers": map[string]string{ + "testHeader": "test", + }, + "timeout": 120, + } + sender := Sender{} + expectedHeaders := defaultHeaders + expectedHeaders["testHeader"] = "test" + + err := sender.Init(settings, logger, location, dateTimeFormat) + So(err, ShouldBeNil) + So(sender, ShouldResemble, Sender{ + url: testURL, + body: testBody, + user: testUser, + password: testPass, + headers: expectedHeaders, + client: &http.Client{ + Timeout: 120 * time.Second, + Transport: &http.Transport{DisableKeepAlives: true}, + }, + log: logger, + }) + }) + }) +} func TestSender_SendEvents(t *testing.T) { Convey("Receive test webhook", t, func() { @@ -52,7 +125,6 @@ func TestSender_SendEvents(t *testing.T) { defer ts.Close() senderSettings := map[string]interface{}{ - "name": "testWebhook", "url": fmt.Sprintf("%s/%s", ts.URL, moira.VariableTriggerID), "user": testUser, "password": testPass, diff --git a/state.go b/state.go index b0ba26120..8f00e8fb7 100644 --- a/state.go +++ b/state.go @@ -1,18 +1,18 @@ package moira -// State type describe all default moira triggers or metrics states +// State type describe all default moira triggers or metrics states. type State string -// TTLState declares all ttl (NODATA) states, used if metric has no values for given interval (ttl) +// TTLState declares all ttl (NODATA) states, used if metric has no values for given interval (ttl). type TTLState string -// Moira notifier self-states +// Moira notifier self-states. const ( SelfStateOK = "OK" // OK means notifier is healthy SelfStateERROR = "ERROR" // ERROR means notifier is stopped, admin intervention is required ) -// Moira trigger and metric states +// Moira trigger and metric states. var ( StateOK State = "OK" StateWARN State = "WARN" @@ -22,7 +22,7 @@ var ( StateTEST State = "TEST" // Use this only for test notifications ) -// Moira ttl states +// Moira ttl states. var ( TTLStateOK TTLState = "OK" TTLStateWARN TTLState = "WARN" @@ -48,12 +48,12 @@ var ( } ) -// String is a simple Stringer implementation for State +// String is a simple Stringer implementation for State. func (state State) String() string { return string(state) } -// ToSelfState converts State to corresponding SelfState +// ToSelfState converts State to corresponding SelfState. func (state State) ToSelfState() string { if state != StateOK { return SelfStateERROR diff --git a/support/trigger.go b/support/trigger.go index 782df7344..0dba834f3 100644 --- a/support/trigger.go +++ b/support/trigger.go @@ -134,10 +134,10 @@ func HandlePushTriggerLastCheck( database moira.Database, triggerID string, lastCheck *moira.CheckData, - triggerSource moira.TriggerSource, + clusterKey moira.ClusterKey, ) error { logger.Info().Msg("Save trigger last check") - if err := database.SetTriggerLastCheck(triggerID, lastCheck, triggerSource); err != nil { + if err := database.SetTriggerLastCheck(triggerID, lastCheck, clusterKey); err != nil { return fmt.Errorf("cannot set trigger last check: %w", err) } logger.Info().Msg("Trigger last check was saved") diff --git a/templating/templating.go b/templating/templating.go index 890540706..d59c88177 100644 --- a/templating/templating.go +++ b/templating/templating.go @@ -12,19 +12,6 @@ import ( const eventTimeFormat = "2006-01-02 15:04:05" -type notification struct { - Trigger trigger - Events []Event -} - -type Event struct { - Metric string - MetricElements []string - Timestamp int64 - Value *float64 - State string -} - func date(unixTime int64) string { return time.Unix(unixTime, 0).Format(eventTimeFormat) } @@ -33,18 +20,6 @@ func formatDate(unixTime int64, format string) string { return time.Unix(unixTime, 0).Format(format) } -func (event Event) TimestampDecrease(second int64) int64 { - return event.Timestamp - second -} - -func (event Event) TimestampIncrease(second int64) int64 { - return event.Timestamp + second -} - -type trigger struct { - Name string `json:"name"` -} - func filterKeys(source template.FuncMap, keys []string) template.FuncMap { result := template.FuncMap{} for _, key := range keys { @@ -250,33 +225,34 @@ var sprigFuncMap = filterKeys(sprig.FuncMap(), []string{ "regexSplit", "mustRegexSplit", "regexQuoteMeta", + + // Advanced functions + "uuidv4", }) -func Populate(name, description string, events []Event) (desc string, err error) { +// Populater represents an interface for populating a template with data. +type Populater interface { + Populate(template string) (string, error) +} + +func populate(tmpl string, data any) (populatedTemplate string, err error) { defer func() { if errRecover := recover(); errRecover != nil { - desc = description - err = fmt.Errorf("PANIC in populate: %v, Trigger name: %s, desc: %s, events:%#v", - err, name, description, events) + populatedTemplate = tmpl + err = fmt.Errorf("PANIC in populate: %v, tmpl: %s, provided data: %#v", errRecover, tmpl, data) } }() buffer := bytes.Buffer{} - dataToExecute := notification{ - Trigger: trigger{Name: name}, - Events: events, - } + template := template.New("populate-template").Funcs(sprigFuncMap).Funcs(funcMap) - triggerTemplate := template.New("populate-description").Funcs(sprigFuncMap).Funcs(funcMap) - triggerTemplate, err = triggerTemplate.Parse(description) - if err != nil { - return description, err + if template, err = template.Parse(tmpl); err != nil { + return tmpl, err } - err = triggerTemplate.Execute(&buffer, dataToExecute) - if err != nil { - return description, err + if err = template.Execute(&buffer, data); err != nil { + return tmpl, err } return strings.TrimSpace(buffer.String()), nil diff --git a/templating/templating_test.go b/templating/templating_test.go index cdc3fe0a5..02b4497a9 100644 --- a/templating/templating_test.go +++ b/templating/templating_test.go @@ -1,206 +1,114 @@ package templating import ( - "fmt" "testing" - "time" + "github.com/google/uuid" . "github.com/smartystreets/goconvey/convey" ) -func Test_TemplateDescription(t *testing.T) { - Convey("Test templates", t, func() { - var Name = "TestName" - var Desc = "" + - "Trigger name: {{.Trigger.Name}}\n" + - "{{range $v := .Events }}\n" + - "Metric: {{$v.Metric}}\n" + - "MetricElements: {{$v.MetricElements}}\n" + - "Timestamp: {{$v.Timestamp}}\n" + - "Value: {{$v.Value}}\n" + - "State: {{$v.State}}\n" + - "{{end}}\n" + - "https://grafana.yourhost.com/some-dashboard" + - "{{ range $i, $v := .Events }}{{ if ne $i 0 }}&{{ else }}?" + - "{{ end }}var-host={{ $v.Metric }}{{ end }}" - - var testUnixTime = time.Now().Unix() - var events = []Event{{Metric: "1", Timestamp: testUnixTime}, {Metric: "2", Timestamp: testUnixTime}} - - Convey("Test nil data", func() { - expected, err := Populate(Name, Desc, nil) - if err != nil { - println("Error:", err.Error()) - } - So(err, ShouldBeNil) - So(`Trigger name: TestName - -https://grafana.yourhost.com/some-dashboard`, - ShouldResemble, expected) - }) - - Convey("Test data", func() { - expected, err := Populate(Name, Desc, events) - So(err, ShouldBeNil) - So(fmt.Sprintf("Trigger name: TestName\n\nMetric: 1\nMetricElements: []\nTimestamp: %d\nValue: <nil>"+ - "\nState: \n\nMetric: 2\nMetricElements: []\nTimestamp: %d\nValue: <nil>"+ - "\nState: \n\nhttps://grafana.yourhost.com/some-dashboard?var-host=1&var-host=2", testUnixTime, testUnixTime), - ShouldResemble, expected) - }) - - Convey("Test description without templates", func() { - anotherText := "Another text" - Desc = anotherText +type testPopulater struct{} - expected, err := Populate(Name, Desc, events) - So(err, ShouldBeNil) - So(anotherText, ShouldEqual, expected) - }) - - Convey("Test method Date", func() { - formatDate := time.Unix(testUnixTime, 0).Format(eventTimeFormat) - actual := fmt.Sprintf("%s | %s |", formatDate, formatDate) - Desc = "{{ range .Events }}{{ date .Timestamp }} | {{ end }}" - - expected, err := Populate(Name, Desc, events) - So(err, ShouldBeNil) - So(actual, ShouldEqual, expected) - }) - - Convey("Test method formatted Date", func() { - formatedDate := time.Unix(testUnixTime, 0).Format("2006-01-02 15:04:05") - actual := fmt.Sprintf("%s | %s |", formatedDate, formatedDate) - Desc = "{{ range .Events }}{{ formatDate .Timestamp \"2006-01-02 15:04:05\" }} | {{ end }}" - - expected, err := Populate(Name, Desc, events) - So(err, ShouldBeNil) - So(actual, ShouldEqual, expected) - }) +func (testData *testPopulater) Populate(tmpl string) (string, error) { + return populate(tmpl, testData) +} - Convey("Test method decrease and increase Date", func() { - var timeOffset int64 = 300 +func Test_populate(t *testing.T) { + Convey("Test populate function", t, func() { + populater := testPopulater{} - Convey("Date increase", func() { - increase := testUnixTime + timeOffset - actual := fmt.Sprintf("%d | %d |", increase, increase) - Desc = fmt.Sprintf("{{ range .Events }}{{ .TimestampIncrease %d }} | {{ end }}", timeOffset) + Convey("Test strings functions", func() { + Convey("Test replace", func() { + template := "{{ stringsReplace \"my.metrics.path\" \".\" \"_\" -1 }} " + expected := "my_metrics_path" - expected, err := Populate(Name, Desc, events) + actual, err := populater.Populate(template) So(err, ShouldBeNil) So(actual, ShouldEqual, expected) }) - Convey("Date decrease", func() { - increase := testUnixTime - timeOffset - actual := fmt.Sprintf("%d | %d |", increase, increase) - Desc = fmt.Sprintf("{{ range .Events }}{{ .TimestampDecrease %d }} | {{ end }}", timeOffset) + Convey("Test replace limited to 1", func() { + template := "{{ stringsReplace \"my.metrics.path\" \".\" \"_\" 1 }} " + expected := "my_metrics.path" - expected, err := Populate(Name, Desc, events) + actual, err := populater.Populate(template) So(err, ShouldBeNil) So(actual, ShouldEqual, expected) }) - }) - - Convey("Bad functions", func() { - var timeOffset int64 = 300 - Convey("Non-existent function", func() { - Desc = fmt.Sprintf("{{ range .Events }}{{ decrease %d }} | {{ end }}", timeOffset) + Convey("Test trim suffix", func() { + template := "{{ stringsTrimSuffix \"my.metrics.path\" \".path\" }} " + expected := "my.metrics" - expected, err := Populate(Name, Desc, events) - So(err, ShouldNotBeNil) - So(Desc, ShouldEqual, expected) + actual, err := populater.Populate(template) + So(err, ShouldBeNil) + So(actual, ShouldEqual, expected) }) - Convey("Non-existent method", func() { - Desc = fmt.Sprintf("{{ range .Events }}{{ .Decrease %d }} | {{ end }}", timeOffset) + Convey("Test trim prefix", func() { + template := "{{ stringsTrimPrefix \"my.metrics.path\" \"my.\" }} " + expected := "metrics.path" - expected, err := Populate(Name, Desc, events) - So(err, ShouldNotBeNil) - So(Desc, ShouldEqual, expected) + actual, err := populater.Populate(template) + So(err, ShouldBeNil) + So(actual, ShouldEqual, expected) }) - Convey("Bad parameters", func() { - Desc = "{{ date \"bad\" }} " + Convey("Test lower case", func() { + template := "{{ stringsToLower \"MY.PATH\" }} " + expected := "my.path" - expected, err := Populate(Name, Desc, events) - So(err, ShouldNotBeNil) - So(Desc, ShouldEqual, expected) + actual, err := populater.Populate(template) + So(err, ShouldBeNil) + So(actual, ShouldEqual, expected) }) - Convey("No parameters", func() { - Desc = "{{ date }} " + Convey("Test upper case", func() { + template := "{{ stringsToUpper \"my.path\" }} " + expected := "MY.PATH" - expected, err := Populate(Name, Desc, events) - So(err, ShouldNotBeNil) - So(Desc, ShouldEqual, expected) + actual, err := populater.Populate(template) + So(err, ShouldBeNil) + So(actual, ShouldEqual, expected) }) }) - Convey("Test strings functions", func() { - Convey("Test replace", func() { - Desc = "{{ stringsReplace \"my.metrics.path\" \".\" \"_\" -1 }} " - expected, err := Populate(Name, Desc, events) - So(err, ShouldBeNil) - So("my_metrics_path", ShouldEqual, expected) - }) + Convey("Test some sprig functions", func() { + Convey("Test upper", func() { + template := "{{ \"hello!\" | upper}} " + expected := "HELLO!" - Convey("Test replace limited to 1", func() { - Desc = "{{ stringsReplace \"my.metrics.path\" \".\" \"_\" 1 }} " - expected, err := Populate(Name, Desc, events) + actual, err := populater.Populate(template) So(err, ShouldBeNil) - So("my_metrics.path", ShouldEqual, expected) + So(actual, ShouldEqual, expected) }) - Convey("Test trim suffix", func() { - Desc = "{{ stringsTrimSuffix \"my.metrics.path\" \".path\" }} " - expected, err := Populate(Name, Desc, events) - So(err, ShouldBeNil) - So("my.metrics", ShouldEqual, expected) - }) + Convey("Test upper repeat", func() { + template := "{{ \"hello!\" | upper | repeat 5 }} " + expected := "HELLO!HELLO!HELLO!HELLO!HELLO!" - Convey("Test trim prefix", func() { - Desc = "{{ stringsTrimPrefix \"my.metrics.path\" \"my.\" }} " - expected, err := Populate(Name, Desc, events) + actual, err := populater.Populate(template) So(err, ShouldBeNil) - So("metrics.path", ShouldEqual, expected) + So(actual, ShouldEqual, expected) }) - Convey("Test lower case", func() { - Desc = "{{ stringsToLower \"MY.PATH\" }} " - expected, err := Populate(Name, Desc, events) - So(err, ShouldBeNil) - So("my.path", ShouldEqual, expected) - }) + Convey("Test list uniq without", func() { + template := "{{ without (list 1 3 3 2 2 2 4 4 4 4 1 | uniq) 4 }} " + expected := "[1 3 2]" - Convey("Test upper case", func() { - Desc = "{{ stringsToUpper \"my.path\" }} " - expected, err := Populate(Name, Desc, events) + actual, err := populater.Populate(template) So(err, ShouldBeNil) - So("MY.PATH", ShouldEqual, expected) + So(actual, ShouldEqual, expected) }) - }) - Convey("Test some sprig functions", func() { - Convey("Test upper", func() { - Desc = "{{ \"hello!\" | upper}} " - expected, err := Populate(Name, Desc, events) - So(err, ShouldBeNil) - So("HELLO!", ShouldEqual, expected) - }) + Convey("Test uuidv4 function", func() { + template := "{{ uuidv4 }}" - Convey("Test upper repeat", func() { - Desc = "{{ \"hello!\" | upper | repeat 5 }} " - expected, err := Populate(Name, Desc, events) + actual, err := populater.Populate(template) So(err, ShouldBeNil) - So("HELLO!HELLO!HELLO!HELLO!HELLO!", ShouldEqual, expected) - }) - Convey("Test list uniq without", func() { - Desc = "{{ without (list 1 3 3 2 2 2 4 4 4 4 1 | uniq) 4 }} " - expected, err := Populate(Name, Desc, events) + _, err = uuid.Parse(actual) So(err, ShouldBeNil) - So("[1 3 2]", ShouldEqual, expected) }) }) }) diff --git a/templating/trigger.go b/templating/trigger.go new file mode 100644 index 000000000..dc7f485e5 --- /dev/null +++ b/templating/trigger.go @@ -0,0 +1,44 @@ +package templating + +type trigger struct { + Name string +} + +// Event represents a template event with fields allowed for use in templates. +type Event struct { + Metric string + MetricElements []string + Timestamp int64 + Value *float64 + State string +} + +// TimestampDecrease decreases the timestamp of the event by the given number of seconds. +func (event Event) TimestampDecrease(second int64) int64 { + return event.Timestamp - second +} + +// TimestampIncrease increases the timestamp of the event by the given number of seconds. +func (event Event) TimestampIncrease(second int64) int64 { + return event.Timestamp + second +} + +type triggerDescriptionPopulater struct { + Trigger *trigger + Events []Event +} + +// NewTriggerDescriptionPopulater creates a new trigger description populater with the given trigger name and template events. +func NewTriggerDescriptionPopulater(triggerName string, events []Event) *triggerDescriptionPopulater { + return &triggerDescriptionPopulater{ + Trigger: &trigger{ + Name: triggerName, + }, + Events: events, + } +} + +// Populate populates the given template with trigger description data. +func (templateData *triggerDescriptionPopulater) Populate(tmpl string) (string, error) { + return populate(tmpl, templateData) +} diff --git a/templating/trigger_test.go b/templating/trigger_test.go new file mode 100644 index 000000000..386851e95 --- /dev/null +++ b/templating/trigger_test.go @@ -0,0 +1,139 @@ +package templating + +import ( + "fmt" + "testing" + "time" + + . "github.com/smartystreets/goconvey/convey" +) + +func Test_TemplateDescription(t *testing.T) { + Convey("Test templates", t, func() { + triggerName := "TestName" + template := "" + + "Trigger name: {{.Trigger.Name}}\n" + + "{{range $v := .Events }}\n" + + "Metric: {{$v.Metric}}\n" + + "MetricElements: {{$v.MetricElements}}\n" + + "Timestamp: {{$v.Timestamp}}\n" + + "Value: {{$v.Value}}\n" + + "State: {{$v.State}}\n" + + "{{end}}\n" + + "https://grafana.yourhost.com/some-dashboard" + + "{{ range $i, $v := .Events }}{{ if ne $i 0 }}&{{ else }}?" + + "{{ end }}var-host={{ $v.Metric }}{{ end }}" + + testUnixTime := time.Now().Unix() + events := []Event{ + {Metric: "1", Timestamp: testUnixTime}, + {Metric: "2", Timestamp: testUnixTime}, + } + triggerDescriptionPopulater := NewTriggerDescriptionPopulater(triggerName, events) + + Convey("Test nil data", func() { + triggerDescriptionPopulater = NewTriggerDescriptionPopulater(triggerName, nil) + actual, err := triggerDescriptionPopulater.Populate(template) + So(err, ShouldBeNil) + So(actual, ShouldResemble, `Trigger name: TestName + +https://grafana.yourhost.com/some-dashboard`) + }) + + Convey("Test data", func() { + actual, err := triggerDescriptionPopulater.Populate(template) + So(err, ShouldBeNil) + So(actual, ShouldResemble, fmt.Sprintf("Trigger name: TestName\n\nMetric: 1\nMetricElements: []\nTimestamp: %d\nValue: <nil>"+ + "\nState: \n\nMetric: 2\nMetricElements: []\nTimestamp: %d\nValue: <nil>"+ + "\nState: \n\nhttps://grafana.yourhost.com/some-dashboard?var-host=1&var-host=2", testUnixTime, testUnixTime)) + }) + + Convey("Test description without templates", func() { + template = "Another text" + + actual, err := triggerDescriptionPopulater.Populate(template) + So(err, ShouldBeNil) + So(actual, ShouldEqual, template) + }) + + Convey("Test method Date", func() { + formatDate := time.Unix(testUnixTime, 0).Format(eventTimeFormat) + expected := fmt.Sprintf("%s | %s |", formatDate, formatDate) + template = "{{ range .Events }}{{ date .Timestamp }} | {{ end }}" + + actual, err := triggerDescriptionPopulater.Populate(template) + So(err, ShouldBeNil) + So(actual, ShouldEqual, expected) + }) + + Convey("Test method formatted Date", func() { + formatedDate := time.Unix(testUnixTime, 0).Format("2006-01-02 15:04:05") + expected := fmt.Sprintf("%s | %s |", formatedDate, formatedDate) + template = "{{ range .Events }}{{ formatDate .Timestamp \"2006-01-02 15:04:05\" }} | {{ end }}" + + actual, err := triggerDescriptionPopulater.Populate(template) + So(err, ShouldBeNil) + So(actual, ShouldEqual, expected) + }) + + Convey("Test method decrease and increase Date", func() { + var timeOffset int64 = 300 + + Convey("Date increase", func() { + increase := testUnixTime + timeOffset + expected := fmt.Sprintf("%d | %d |", increase, increase) + template = fmt.Sprintf("{{ range .Events }}{{ .TimestampIncrease %d }} | {{ end }}", timeOffset) + + actual, err := triggerDescriptionPopulater.Populate(template) + So(err, ShouldBeNil) + So(actual, ShouldEqual, expected) + }) + + Convey("Date decrease", func() { + increase := testUnixTime - timeOffset + expected := fmt.Sprintf("%d | %d |", increase, increase) + template = fmt.Sprintf("{{ range .Events }}{{ .TimestampDecrease %d }} | {{ end }}", timeOffset) + + actual, err := triggerDescriptionPopulater.Populate(template) + So(err, ShouldBeNil) + So(actual, ShouldEqual, expected) + }) + }) + + Convey("Bad functions", func() { + var timeOffset int64 = 300 + + Convey("Non-existent function", func() { + template = fmt.Sprintf("{{ range .Events }}{{ decrease %d }} | {{ end }}", timeOffset) + + actual, err := triggerDescriptionPopulater.Populate(template) + So(err, ShouldNotBeNil) + So(actual, ShouldEqual, template) + }) + + Convey("Non-existent method", func() { + template = fmt.Sprintf("{{ range .Events }}{{ .Decrease %d }} | {{ end }}", timeOffset) + + actual, err := triggerDescriptionPopulater.Populate(template) + So(err, ShouldNotBeNil) + So(actual, ShouldEqual, template) + }) + + Convey("Bad parameters", func() { + template = "{{ date \"bad\" }} " + + actual, err := triggerDescriptionPopulater.Populate(template) + So(err, ShouldNotBeNil) + So(actual, ShouldEqual, template) + }) + + Convey("No parameters", func() { + template = "{{ date }} " + + actual, err := triggerDescriptionPopulater.Populate(template) + So(err, ShouldNotBeNil) + So(actual, ShouldEqual, template) + }) + }) + }) +} diff --git a/templating/webhook.go b/templating/webhook.go new file mode 100644 index 000000000..1e955f1aa --- /dev/null +++ b/templating/webhook.go @@ -0,0 +1,23 @@ +package templating + +// Contact represents a template contact with fields allowed for use in templates. +type Contact struct { + Type string + Value string +} + +type webhookBodyPopulater struct { + Contact *Contact +} + +// NewWebhookBodyPopulater creates a new webhook body populater with provided template contact. +func NewWebhookBodyPopulater(contact *Contact) *webhookBodyPopulater { + return &webhookBodyPopulater{ + Contact: contact, + } +} + +// Populate populates the given template with contact data. +func (templateData *webhookBodyPopulater) Populate(tmpl string) (string, error) { + return populate(tmpl, templateData) +} diff --git a/templating/webhook_test.go b/templating/webhook_test.go new file mode 100644 index 000000000..f176a7c3f --- /dev/null +++ b/templating/webhook_test.go @@ -0,0 +1,74 @@ +package templating + +import ( + "testing" + + . "github.com/smartystreets/goconvey/convey" +) + +func Test_TemplateWebhookBody(t *testing.T) { + Convey("Test webhook body populater", t, func() { + template := "" + + "Contact Type: {{ .Contact.Type }}\n" + + "Contact Value: {{ .Contact.Value }}" + + Convey("Test with nil data", func() { + webhookPopulater := NewWebhookBodyPopulater(nil) + + actual, err := webhookPopulater.Populate(template) + So(err, ShouldNotBeNil) + So(actual, ShouldResemble, template) + }) + + Convey("Test with empty data", func() { + webhookPopulater := NewWebhookBodyPopulater(&Contact{}) + expected := "" + + "Contact Type: \n" + + "Contact Value:" + + actual, err := webhookPopulater.Populate(template) + So(err, ShouldBeNil) + So(actual, ShouldResemble, expected) + }) + + Convey("Test with empty value", func() { + webhookPopulater := NewWebhookBodyPopulater(&Contact{ + Type: "slack", + }) + expected := "" + + "Contact Type: slack\n" + + "Contact Value:" + + actual, err := webhookPopulater.Populate(template) + So(err, ShouldBeNil) + So(actual, ShouldResemble, expected) + }) + + Convey("Test with empty type", func() { + webhookPopulater := NewWebhookBodyPopulater(&Contact{ + Value: "#test_channel", + }) + expected := "" + + "Contact Type: \n" + + "Contact Value: #test_channel" + + actual, err := webhookPopulater.Populate(template) + So(err, ShouldBeNil) + So(actual, ShouldResemble, expected) + }) + + Convey("Test with full template contact info", func() { + webhookPopulater := NewWebhookBodyPopulater(&Contact{ + Type: "slack", + Value: "#test_channel", + }) + expected := "" + + "Contact Type: slack\n" + + "Contact Value: #test_channel" + + actual, err := webhookPopulater.Populate(template) + So(err, ShouldBeNil) + So(actual, ShouldResemble, expected) + }) + }) +} diff --git a/unsafe.go b/unsafe.go index d71792441..0330eadd8 100644 --- a/unsafe.go +++ b/unsafe.go @@ -1,22 +1,15 @@ package moira import ( - "reflect" "unsafe" ) -// UnsafeBytesToString converts source to string without copying +// UnsafeBytesToString converts source to string without copying. func UnsafeBytesToString(b []byte) string { - return *(*string)(unsafe.Pointer(&b)) + return unsafe.String(unsafe.SliceData(b), len(b)) } -// UnsafeStringToBytes converts string to source without copying +// UnsafeStringToBytes converts string to source without copying. func UnsafeStringToBytes(s string) []byte { - var b []byte - bh := (*reflect.SliceHeader)(unsafe.Pointer(&b)) - bh.Data = (*reflect.StringHeader)(unsafe.Pointer(&s)).Data - bh.Len = len(s) - bh.Cap = len(s) - - return b + return unsafe.Slice(unsafe.StringData(s), len(s)) } diff --git a/worker/worker.go b/worker/worker.go index 811941749..85786ca44 100644 --- a/worker/worker.go +++ b/worker/worker.go @@ -9,20 +9,20 @@ import ( const lockRetryDelay = time.Second * 5 -// Action is the shorthand to `func(stop <-chan struct{}) error` +// Action is the shorthand to `func(stop <-chan struct{}) error`. type Action func(stop <-chan struct{}) error -// NewWorker creates Worker +// NewWorker creates Worker. func NewWorker(name string, logger moira.Logger, lock moira.Lock, action Action) *Worker { return &Worker{name: name, logger: logger, lock: lock, action: action, lockRetryDelay: lockRetryDelay} } -// SetLockRetryDelay changes the delay between unsuccessful acquire attempts of the lock +// SetLockRetryDelay changes the delay between unsuccessful acquire attempts of the lock. func (worker *Worker) SetLockRetryDelay(lockRetryDelay time.Duration) { worker.lockRetryDelay = lockRetryDelay } -// Worker simplifies usage of the lock +// Worker simplifies usage of the lock. type Worker struct { name string logger moira.Logger @@ -31,7 +31,7 @@ type Worker struct { lockRetryDelay time.Duration } -// Run the worker +// Run the worker. func (worker *Worker) Run(stop <-chan struct{}) { for { worker.logger.Info(). @@ -39,7 +39,7 @@ func (worker *Worker) Run(stop <-chan struct{}) { Msg("Worker tries to acquire the lock...") lost, err := worker.lock.Acquire(stop) if err != nil { - switch err { + switch err { // nolint:errorlint case database.ErrLockAcquireInterrupted: return default: diff --git a/worker/worker_test.go b/worker/worker_test.go index f4b8dab79..ffe07f142 100644 --- a/worker/worker_test.go +++ b/worker/worker_test.go @@ -1,17 +1,16 @@ package worker import ( + "errors" "testing" "time" - "errors" - - "github.com/golang/mock/gomock" "github.com/moira-alert/moira" "github.com/moira-alert/moira/database" logging "github.com/moira-alert/moira/logging/zerolog_adapter" mock_moira_alert "github.com/moira-alert/moira/mock/moira-alert" . "github.com/smartystreets/goconvey/convey" + "go.uber.org/mock/gomock" ) const testLockRetryDelay = time.Millisecond * 100